Version 5.0.6

This commit is contained in:
Neo committed 2025-12-19 18:55:49 -08:00
1 parent a3a4a9ccbd
commit b89858b2ff
1214 files changed
+92828 -14859

No files matched your search

+115 -75
View File
@@ -81,84 +81,107 @@ IPSCONTENT;
if ( $category->hasSettings() and $category->hasColors() ):
$return .= <<<IPSCONTENT
<editor-tabs>
<button type='button' aria-controls='
<i-tabs class="ipsTabs ipsTabs--stretch" id="ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__settings' aria-expanded='true' data-ipscontrols><i class='fa-solid fa-sliders'></i>
" data-ipsTabBar data-ipsTabBar-contentarea="#ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
-content">
<div role='tablist'>
<button type="button" class="ipsTabs__tab" id="ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_settings" role="tab" aria-controls="ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_settings_panel" aria-selected="true"><i class='fa-solid fa-sliders'></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_panel_settings', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
<button type='button' aria-controls='
<button type="button" class="ipsTabs__tab" id='ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__colors' aria-expanded='false' data-ipscontrols><i class='fa-solid fa-palette'></i>
_colors' role="tab" aria-controls="ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
_colors_panel" aria-selected="false"><i class='fa-solid fa-palette'></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_panel_colors', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</editor-tabs>
</div>
</i-tabs>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
<div id='ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
-content'>
IPSCONTENT;
if ( $category->hasSettings() ):
$return .= <<<IPSCONTENT
<editor-tab-content id='
<editor-tab-content id='ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__settings' data-ips-hidden-group='
_settings_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'>
_settings">
IPSCONTENT;
foreach ( $category->settings() as $setting ):
$return .= <<<IPSCONTENT
{$setting->editorHtml()}
{$setting->editorHtml()}
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</editor-tab-content>
</editor-tab-content>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
IPSCONTENT;
if ( $category->hasColors() ):
$return .= <<<IPSCONTENT
<editor-tab-content id='
<editor-tab-content id='ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
__colors' data-ips-hidden-group='
_colors_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs-
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $category->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
'
_colors"
IPSCONTENT;
if ( $category->hasSettings() ):
@@ -169,26 +192,27 @@ IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
>
IPSCONTENT;
foreach ( $category->colors() as $color ):
$return .= <<<IPSCONTENT
{$color->editorHtml()}
{$color->editorHtml()}
IPSCONTENT;
endforeach;
$return .= <<<IPSCONTENT
</editor-tab-content>
</editor-tab-content>
IPSCONTENT;
endif;
$return .= <<<IPSCONTENT
</div>
</div>
</editor-panel>
@@ -1447,30 +1471,33 @@ $return .= <<<IPSCONTENT
</h2>
</div>
</header>
<editor-tabs>
<button type='button' aria-controls='content__colorSelector__swatches' aria-expanded='true' data-ipscontrols><i class="fa-solid fa-swatchbook"></i>
<i-tabs class="ipsTabs ipsTabs--stretch" id="content__colorSelector" data-ipsTabBar data-ipsTabBar-contentarea="#content__colorSelector-content">
<div role='tablist'>
<button type="button" class="ipsTabs__tab" id="content__colorSelector__swatches" role="tab" aria-controls="content__colorSelector__swatches_panel" aria-selected="true"><i class="fa-solid fa-swatchbook"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_swatches', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
<button type='button' aria-controls='content__colorSelector__colorPicker' aria-expanded='false' data-ipscontrols><i class="fa-solid fa-eye-dropper"></i>
<button type="button" class="ipsTabs__tab" id='content__colorSelector__colorPicker' role="tab" aria-controls="content__colorSelector__colorPicker_panel" aria-selected="false"><i class="fa-solid fa-eye-dropper"></i>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_color_picker', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button>
</editor-tabs>
<editor-tab-content id='content__colorSelector__swatches' data-ips-hidden-group='swatch-color-picker'>
<div data-swatches>
<ul class='theme-editor__swatches' data-swatch-category='base'>
</div>
</i-tabs>
<div id='content__colorSelector-content'>
<editor-tab-content id='content__colorSelector__swatches_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="content__colorSelector__swatches">
<div data-swatches>
<ul class='theme-editor__swatches' data-swatch-category='base'>
IPSCONTENT;
for ( $i=1; $i<=6; $i++ ):
$return .= <<<IPSCONTENT
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-base_
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-base_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -1488,21 +1515,21 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</button></li>
IPSCONTENT;
endfor;
$return .= <<<IPSCONTENT
</ul>
<ul class='theme-editor__swatches' data-swatch-category='contrast'>
</ul>
<ul class='theme-editor__swatches' data-swatch-category='contrast'>
IPSCONTENT;
for ( $i=1; $i<=6; $i++ ):
$return .= <<<IPSCONTENT
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-base-contrast_
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-base-contrast_
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
@@ -1520,85 +1547,86 @@ IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<<IPSCONTENT
</button></li>
IPSCONTENT;
endfor;
$return .= <<<IPSCONTENT
</ul>
<ul class='theme-editor__swatches' data-swatch-category='brand'>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary)' style='--swatch:var(--i-primary);' data-on-click="swatchClick">
</ul>
<ul class='theme-editor__swatches' data-swatch-category='brand'>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary)' style='--swatch:var(--i-primary);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_primary', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary-light)' style='--swatch:var(--i-primary-light);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary-light)' style='--swatch:var(--i-primary-light);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_primary_light', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary-dark)' style='--swatch:var(--i-primary-dark);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary-dark)' style='--swatch:var(--i-primary-dark);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_primary_dark', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-color_primary)' style='--swatch:var(--i-color_primary);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-color_primary)' style='--swatch:var(--i-color_primary);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_primary_text', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary-contrast)' style='--swatch:var(--i-primary-contrast);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-primary-contrast)' style='--swatch:var(--i-primary-contrast);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_primary_contrast', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
</ul>
<ul class='theme-editor__swatches' data-swatch-category='brand'>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary)' style='--swatch:var(--i-secondary);' data-on-click="swatchClick">
</ul>
<ul class='theme-editor__swatches' data-swatch-category='brand'>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary)' style='--swatch:var(--i-secondary);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_secondary', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary-light)' style='--swatch:var(--i-secondary-light);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary-light)' style='--swatch:var(--i-secondary-light);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_secondary_light', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary-dark)' style='--swatch:var(--i-secondary-dark);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary-dark)' style='--swatch:var(--i-secondary-dark);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_secondary_dark', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-color_secondary)' style='--swatch:var(--i-color_secondary);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-color_secondary)' style='--swatch:var(--i-color_secondary);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_secondary_text', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary-contrast)' style='--swatch:var(--i-secondary-contrast);' data-on-click="swatchClick">
<li><button class="theme-editor__swatch" type="button" data-swatch value='var(--i-secondary-contrast)' style='--swatch:var(--i-secondary-contrast);' data-on-click="swatchClick">
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_secondary_contrast', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</button></li>
</ul>
</div>
</editor-tab-content>
<editor-tab-content id='content__colorSelector__colorPicker' data-ips-hidden-group='swatch-color-picker' hidden>
<div data-color-picker>
<color-picker></color-picker>
<input type='text' id="color-picker-text" data-color-picker-text data-on-change="colorPickerTextBlur">
</div>
</editor-tab-content>
</ul>
</div>
</editor-tab-content>
<editor-tab-content id='content__colorSelector__colorPicker_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="content__colorSelector__colorPicker" hidden>
<div data-color-picker>
<color-picker></color-picker>
<input type='text' id="color-picker-text" data-color-picker-text data-on-change="colorPickerTextBlur">
</div>
</editor-tab-content>
</div>
</div>
</editor-panel>
@@ -1624,18 +1652,20 @@ $return .= <<<IPSCONTENT
<editor-tab-content>
<theme-setting data-setting='light__i-base-h' data-type='number'>
<label for='light__i-base-h__num'>
<div class="theme-editor__align-setting">
<label for='light__i-base-h__num'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_hue', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<input type='number' inputmode='numeric' data-range-output='light__i-base-h' id='light__i-base-h__num' value='
<input type='number' inputmode='numeric' data-range-output='light__i-base-h' id='light__i-base-h__num' value='
IPSCONTENT;
$return .= \IPS\Theme::i()->getParsedCssVariableFromKey( 'light__i-base-h' );
$return .= <<<IPSCONTENT
' min="0" max="360" data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='light__i-base-h' name='light__i-base-h' value='
IPSCONTENT;
@@ -1644,18 +1674,20 @@ $return .= <<<IPSCONTENT
' min="0" max="360" data-on-input="changingRangeInput" data-on-change="settingHasBeenChanged">
</theme-setting>
<theme-setting data-setting='light__i-base-c' data-type='number'>
<label for='light__i-base-c__num'>
<div class="theme-editor__align-setting">
<label for='light__i-base-c__num'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_chroma', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<input type='number' inputmode='numeric' data-range-output='light__i-base-c' id='light__i-base-c__num' value='
<input type='number' inputmode='numeric' data-range-output='light__i-base-c' id='light__i-base-c__num' value='
IPSCONTENT;
$return .= \IPS\Theme::i()->getParsedCssVariableFromKey( 'light__i-base-c' );
$return .= <<<IPSCONTENT
' min="0" max="100" data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='light__i-base-c' name='light__i-base-c' value='
IPSCONTENT;
@@ -1664,18 +1696,20 @@ $return .= <<<IPSCONTENT
' min="0" max="100" data-on-input="changingRangeInput" data-on-change="settingHasBeenChanged">
</theme-setting>
<theme-setting data-setting='light__i-base-l' data-type='number'>
<label for='light__i-base-l__num'>
<div class="theme-editor__align-setting">
<label for='light__i-base-l__num'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_lightness', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<input type='number' inputmode='numeric' data-range-output='light__i-base-l' id='light__i-base-l__num' value='
<input type='number' inputmode='numeric' data-range-output='light__i-base-l' id='light__i-base-l__num' value='
IPSCONTENT;
$return .= \IPS\Theme::i()->getParsedCssVariableFromKey( 'light__i-base-l' );
$return .= <<<IPSCONTENT
' min="0" max="100" data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='light__i-base-l' name='light__i-base-l' value='
IPSCONTENT;
@@ -1685,18 +1719,20 @@ $return .= <<<IPSCONTENT
</theme-setting>
<theme-setting data-setting='dark__i-base-h' data-type='number'>
<label for='dark__i-base-h__num'>
<div class="theme-editor__align-setting">
<label for='dark__i-base-h__num'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_hue', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<input type='number' inputmode='numeric' data-range-output='dark__i-base-h' id='dark__i-base-h__num' value='
<input type='number' inputmode='numeric' data-range-output='dark__i-base-h' id='dark__i-base-h__num' value='
IPSCONTENT;
$return .= \IPS\Theme::i()->getParsedCssVariableFromKey( 'dark__i-base-h' );
$return .= <<<IPSCONTENT
' min="0" max="360" data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='dark__i-base-h' name='dark__i-base-h' value='
IPSCONTENT;
@@ -1705,18 +1741,20 @@ $return .= <<<IPSCONTENT
' min="0" max="360" data-on-input="changingRangeInput" data-on-change="settingHasBeenChanged">
</theme-setting>
<theme-setting data-setting='dark__i-base-c' data-type='number'>
<label for='dark__i-base-c__num'>
<div class="theme-editor__align-setting">
<label for='dark__i-base-c__num'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_chroma', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<input type='number' inputmode='numeric' data-range-output='dark__i-base-c' id='dark__i-base-c__num' value='
<input type='number' inputmode='numeric' data-range-output='dark__i-base-c' id='dark__i-base-c__num' value='
IPSCONTENT;
$return .= \IPS\Theme::i()->getParsedCssVariableFromKey( 'dark__i-base-c' );
$return .= <<<IPSCONTENT
' min="0" max="100" data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='dark__i-base-c' name='dark__i-base-c' value='
IPSCONTENT;
@@ -1725,18 +1763,20 @@ $return .= <<<IPSCONTENT
' min="0" max="100" data-on-input="changingRangeInput" data-on-change="settingHasBeenChanged">
</theme-setting>
<theme-setting data-setting='dark__i-base-l' data-type='number'>
<label for='dark__i-base-l__num'>
<div class="theme-editor__align-setting">
<label for='dark__i-base-l__num'>
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_editor_lightness', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<<IPSCONTENT
</label>
<input type='number' inputmode='numeric' data-range-output='dark__i-base-l' id='dark__i-base-l__num' value='
<input type='number' inputmode='numeric' data-range-output='dark__i-base-l' id='dark__i-base-l__num' value='
IPSCONTENT;
$return .= \IPS\Theme::i()->getParsedCssVariableFromKey( 'dark__i-base-l' );
$return .= <<<IPSCONTENT
' min="0" max="100" data-on-change="syncInputsWithPseudo">
</div>
<input type='range' id='dark__i-base-l' name='dark__i-base-l' value='
IPSCONTENT;
@@ -1806,7 +1846,7 @@ $return .= <<<IPSCONTENT
<textarea data-ipscodebox data-ipscodebox-allowed-languages="[&quot;ipscss&quot;]" class='theme-editor__customCSS' wrap="off" placeholder='/* Enter custom CSS here */' name="set__customCSS" id="customCSS" spellcheck="false" autocorrect="off" autocapitalize="off" translate="no" aria-label="Custom CSS">
IPSCONTENT;
$return .= \IPS\Theme::i()->custom_css;
$return .= \IPS\Theme::i()->getCustomCssForThemeEditorCodebox();
$return .= <<<IPSCONTENT
</textarea>
</ips-code-editor>