@studious-creative/yumekit 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var variablesCSS = "/* Colors */\n:root {\n --neutral--: #7f8286ff;\n --neutral-white: #ffffffff;\n --neutral-black: #000000ff;\n --neutral-light-0: #f7f7faff;\n --neutral-light-1: #f0f0f2ff;\n --neutral-light-2: #dfe0e3ff;\n --neutral-light-3: #cacbcfff;\n --neutral-light-4: #bbbdc0ff;\n --neutral-light-5: #acaeb2ff;\n --neutral-light-6: #9d9fa3ff;\n --neutral-light-7: #8e9195ff;\n --neutral-dark-0: #0c0c0dff;\n --neutral-dark-1: #151617ff;\n --neutral-dark-2: #292a2bff;\n --neutral-dark-3: #37383aff;\n --neutral-dark-4: #46474aff;\n --neutral-dark-5: #545659ff;\n --neutral-dark-6: #626568ff;\n --neutral-dark-7: #717377ff;\n --neutral-black-translucent: #0000001f;\n --neutral-white-translucent: #1111111f;\n --red--: #b80421ff;\n --red-light-0: #f2e6e8ff;\n --red-light-1: #ebcacfff;\n --red-light-2: #e4aeb6ff;\n --red-light-3: #dc919dff;\n --red-light-4: #d57585ff;\n --red-light-5: #ce596cff;\n --red-light-6: #c73d53ff;\n --red-light-7: #bf203aff;\n --red-dark-0: #0d0103ff;\n --red-dark-1: #220107ff;\n --red-dark-2: #38020bff;\n --red-dark-3: #4d020eff;\n --red-dark-4: #630312ff;\n --red-dark-5: #780316ff;\n --red-dark-6: #8d031aff;\n --red-dark-7: #a3041dff;\n --red-translucent: #b804211f;\n --orange--: #d13704ff;\n --orange-light-0: #f2e9e6ff;\n --orange-light-1: #eed3caff;\n --orange-light-2: #eabdaeff;\n --orange-light-3: #e6a691ff;\n --orange-light-4: #e29075ff;\n --orange-light-5: #dd7a59ff;\n --orange-light-6: #d9643dff;\n --orange-light-7: #d54d20ff;\n --orange-dark-0: #0d0300ff;\n --orange-dark-1: #260a01ff;\n --orange-dark-2: #3e1001ff;\n --orange-dark-3: #571702ff;\n --orange-dark-4: #6f1d02ff;\n --orange-dark-5: #882403ff;\n --orange-dark-6: #a02a03ff;\n --orange-dark-7: #b93104ff;\n --orange-translucent: #d137041f;\n --amber--: #d16004ff;\n --amber-light-0: #f2ece6ff;\n --amber-light-1: #eedbcaff;\n --amber-light-2: #eac9aeff;\n --amber-light-3: #e6b891ff;\n --amber-light-4: #e2a675ff;\n --amber-light-5: #dd9559ff;\n --amber-light-6: #d9833dff;\n --amber-light-7: #d57220ff;\n --amber-dark-0: #0d0c0cff;\n --amber-dark-1: #26170bff;\n --amber-dark-2: #3e210aff;\n --amber-dark-3: #572c09ff;\n --amber-dark-4: #6f3608ff;\n --amber-dark-5: #884107ff;\n --amber-dark-6: #a04b06ff;\n --amber-dark-7: #b95605ff;\n --amber-translucent: #d160041f;\n --yellow--: #d17f04ff;\n --yellow-light-0: #f2eadfff;\n --yellow-light-1: #eeddc4ff;\n --yellow-light-2: #eacfa8ff;\n --yellow-light-3: #e6c28dff;\n --yellow-light-4: #e2b572ff;\n --yellow-light-5: #dda756ff;\n --yellow-light-6: #d99a3bff;\n --yellow-light-7: #d58c1fff;\n --yellow-dark-0: #0d0c0cff;\n --yellow-dark-1: #261a0bff;\n --yellow-dark-2: #3e290aff;\n --yellow-dark-3: #573709ff;\n --yellow-dark-4: #6f4608ff;\n --yellow-dark-5: #885407ff;\n --yellow-dark-6: #a06206ff;\n --yellow-dark-7: #b97105ff;\n --yellow-translucent: #d17f041f;\n --lime--: #cad104ff;\n --lime-light-0: #f2f2dfff;\n --lime-light-1: #edeec4ff;\n --lime-light-2: #e8eaa8ff;\n --lime-light-3: #e3e68dff;\n --lime-light-4: #dee272ff;\n --lime-light-5: #d9dd56ff;\n --lime-light-6: #d4d93bff;\n --lime-light-7: #cfd51fff;\n --lime-dark-0: #0d0d0cff;\n --lime-dark-1: #25260bff;\n --lime-dark-2: #3c3e0aff;\n --lime-dark-3: #545709ff;\n --lime-dark-4: #6c6f08ff;\n --lime-dark-5: #838807ff;\n --lime-dark-6: #9ba006ff;\n --lime-dark-7: #b2b905ff;\n --lime-translucent: #cad1041f;\n --green--: #2dba73ff;\n --green-light-0: #e6f2ecff;\n --green-light-1: #cfebddff;\n --green-light-2: #b8e4ceff;\n --green-light-3: #a1ddbfff;\n --green-light-4: #8ad6b0ff;\n --green-light-5: #72cfa0ff;\n --green-light-6: #5bc891ff;\n --green-light-7: #44c182ff;\n --green-dark-0: #030d08ff;\n --green-dark-1: #082315ff;\n --green-dark-2: #0e3823ff;\n --green-dark-3: #134e30ff;\n --green-dark-4: #18643eff;\n --green-dark-5: #1d794bff;\n --green-dark-6: #238f58ff;\n --green-dark-7: #28a466ff;\n --green-translucent: #2dba731f;\n --teal--: #04b8b8ff;\n --teal-light-0: #f2fffeff;\n --teal-light-1: #d4f6f5ff;\n --teal-light-2: #b7ededff;\n --teal-light-3: #99e4e4ff;\n --teal-light-4: #7bdcdbff;\n --teal-light-5: #5dd3d2ff;\n --teal-light-6: #40cacaff;\n --teal-light-7: #22c1c1ff;\n --teal-dark-0: #0c0d0dff;\n --teal-dark-1: #0b2624ff;\n --teal-dark-2: #0a3e3cff;\n --teal-dark-3: #095753ff;\n --teal-dark-4: #086f6aff;\n --teal-dark-5: #078881ff;\n --teal-dark-6: #06a099ff;\n --teal-dark-7: #05b9b0ff;\n --teal-translucent: #04b8b81f;\n --blue--: #0576ffff;\n --blue-light-0: #ebf5ffff;\n --blue-light-1: #cee5ffff;\n --blue-light-2: #b2d5ffff;\n --blue-light-3: #95c5ffff;\n --blue-light-4: #78b6ffff;\n --blue-light-5: #5ba6ffff;\n --blue-light-6: #3f96ffff;\n --blue-light-7: #2286ffff;\n --blue-dark-0: #0c0c0dff;\n --blue-dark-1: #0b192bff;\n --blue-dark-2: #0a274aff;\n --blue-dark-3: #093468ff;\n --blue-dark-4: #094186ff;\n --blue-dark-5: #084ea4ff;\n --blue-dark-6: #075cc3ff;\n --blue-dark-7: #0669e1ff;\n --blue-translucent: #0576ff1f;\n --indigo--: #5405ffff;\n --indigo-light-0: #f6f2ffff;\n --indigo-light-1: #e2d4ffff;\n --indigo-light-2: #ceb7ffff;\n --indigo-light-3: #b999ffff;\n --indigo-light-4: #a57cffff;\n --indigo-light-5: #915effff;\n --indigo-light-6: #7d40ffff;\n --indigo-light-7: #6823ffff;\n --indigo-dark-0: #0d0c0cff;\n --indigo-dark-1: #160b2aff;\n --indigo-dark-2: #1f0a49ff;\n --indigo-dark-3: #280967ff;\n --indigo-dark-4: #310986ff;\n --indigo-dark-5: #3908a4ff;\n --indigo-dark-6: #4207c2ff;\n --indigo-dark-7: #4b06e1ff;\n --indigo-translucent: #5405ff1f;\n --purple--: #8a05ffff;\n --purple-light-0: #f9f2ffff;\n --purple-light-1: #ebd4ffff;\n --purple-light-2: #ddb7ffff;\n --purple-light-3: #cf99ffff;\n --purple-light-4: #c27cffff;\n --purple-light-5: #b45effff;\n --purple-light-6: #a640ffff;\n --purple-light-7: #9823ffff;\n --purple-dark-0: #0c0c0dff;\n --purple-dark-1: #1c0b2bff;\n --purple-dark-2: #2c0a4aff;\n --purple-dark-3: #3b0968ff;\n --purple-dark-4: #4b0986ff;\n --purple-dark-5: #5b08a4ff;\n --purple-dark-6: #6b07c3ff;\n --purple-dark-7: #7a06e1ff;\n --purple-translucent: #8a05ff1f;\n --pink--: #ff05a8ff;\n --pink-light-0: #f9f2ffff;\n --pink-light-1: #fad4f4ff;\n --pink-light-2: #fbb7e9ff;\n --pink-light-3: #fb99deff;\n --pink-light-4: #fc7cd4ff;\n --pink-light-5: #fd5ec9ff;\n --pink-light-6: #fe40beff;\n --pink-light-7: #fe23b3ff;\n --pink-dark-0: #0c0c0dff;\n --pink-dark-1: #2a0b20ff;\n --pink-dark-2: #490a34ff;\n --pink-dark-3: #670947ff;\n --pink-dark-4: #86095bff;\n --pink-dark-5: #a4086eff;\n --pink-dark-6: #c20781ff;\n --pink-dark-7: #e10695ff;\n --pink-translucent: #ff05a81f;\n --brown--: #ab642eff;\n --brown-light-0: #f2dfdfff;\n --brown-light-1: #e9d0c9ff;\n --brown-light-2: #e0c0b3ff;\n --brown-light-3: #d7b19dff;\n --brown-light-4: #cfa287ff;\n --brown-light-5: #c69270ff;\n --brown-light-6: #bd835aff;\n --brown-light-7: #b47344ff;\n --brown-dark-0: #0d0c0cff;\n --brown-dark-1: #211710ff;\n --brown-dark-2: #352215ff;\n --brown-dark-3: #482d19ff;\n --brown-dark-4: #5c381dff;\n --brown-dark-5: #704321ff;\n --brown-dark-6: #844e26ff;\n --brown-dark-7: #97592aff;\n --brown-translucent: #ab642e1f;\n}\n\n/* Numerics */\n:root {\n --border-none: 0px;\n --border-x-thin: 1px;\n --border-thin: 2px;\n --border-medium: 4px;\n --border-thick: 8px;\n --border-x-thick: 10px;\n --spacing-none: 0px;\n --spacing-4x-small: 1px;\n --spacing-2x-small: 2px;\n --spacing-x-small: 4px;\n --spacing-small: 6px;\n --spacing-medium: 8px;\n --spacing-large: 12px;\n --spacing-x-large: 16px;\n --spacing-2x-large: 24px;\n --spacing-4x-large: 32px;\n --font-size-display-1: 6em;\n --font-size-display-2: 5.5em;\n --font-size-display-3: 4.5em;\n --font-size-display-4: 3.5em;\n --font-size-h1: 2em;\n --font-size-h2: 1.5em;\n --font-size-h3: 1.17em;\n --font-size-h4: 1em;\n --font-size-h5: 0.83em;\n --font-size-paragraph: 1em;\n --font-size-small: 0.8em;\n --font-size-label: 0.83em;\n --font-size-button: 1em;\n --font-size-quote: 1.17em;\n --radii-none: 0px;\n --radii-x-small: 0.125em;\n --radii-small: 0.25em;\n --radii-medium: 0.375em;\n --radii-large: 0.5px;\n --radii-x-large: 1em;\n --radii-full: 9999px;\n --sizing-2x-small: 16px;\n --sizing-x-small: 19px;\n --sizing-small: 32px;\n --sizing-medium: 40px;\n --sizing-large: 56px;\n}\n\n/* Components */\n\n:root {\n --component-appbar-collapsed-width: 48px;\n --component-appbar-padding: var(--spacing-medium);\n --component-appbar-width: 240px;\n --component-avatar-border-radius-circle: var(--radii-full);\n --component-avatar-border-radius-square: var(--radii-small);\n --component-avatar-size-large: var(--sizing-large);\n --component-avatar-size-medium: var(--sizing-medium);\n --component-avatar-size-small: var(--sizing-small);\n --component-badge-border-radius-circle: var(--radii-full);\n --component-badge-border-radius-square: var(--radii-small);\n --component-badge-padding-large: var(--spacing-small);\n --component-badge-padding-medium: var(--spacing-x-small);\n --component-badge-padding-small: var(--spacing-2x-small);\n --component-badge-size-large: var(--sizing-medium);\n --component-badge-size-medium: var(--sizing-small);\n --component-badge-size-small: var(--sizing-2x-small);\n --component-button-border-radius-inner: var(--radii-x-small);\n --component-button-border-radius-outer: var(--radii-small);\n --component-button-border-width: var(--border-thin);\n --component-button-border-width-2: var(--border-x-thin);\n --component-button-border-width-2: var(--border-x-thin);\n --component-button-padding-large: var(--spacing-x-large);\n --component-button-padding-medium: var(--spacing-medium);\n --component-button-padding-small: var(--spacing-x-small);\n --component-card-border-radius-inner: var(--radii-small);\n --component-card-border-radius-outer: var(--radii-medium);\n --component-card-border-width: var(--border-x-thin);\n --component-card-inner-border-width: var(--border-x-thin);\n --component-card-padding-inner: var(--spacing-medium);\n --component-card-padding-outer: var(--spacing-x-large);\n --component-checkbox-icon-size: var(--sizing-2x-small);\n --component-checkbox-size: var(--sizing-x-small);\n --component-dialog-border-radius-inner: var(--radii-x-small);\n --component-dialog-border-radius-outer: var(--radii-small);\n --component-dialog-border-width: var(--border-x-thin);\n --component-dialog-inner-border-width: var(--border-x-thin);\n --component-dialog-padding: var(--spacing-medium);\n --component-drawer-border-radius: var(--radii-small);\n --component-drawer-border-width: var(--border-x-thin);\n --component-drawer-handle-padding: var(--spacing-x-small);\n --component-drawer-handle-width: var(--spacing-x-small);\n --component-drawer-padding: var(--spacing-medium);\n --component-inputs-border-radius-inner: var(--radii-x-small);\n --component-inputs-border-radius-outer: var(--radii-small);\n --component-inputs-border-width: var(--border-thin);\n --component-inputs-padding-large: var(--spacing-x-large);\n --component-inputs-padding-medium: var(--spacing-medium);\n --component-inputs-padding-small: var(--spacing-x-small);\n --component-menu-border-radius: var(--radii-x-small);\n --component-menu-border-width: var(--border-x-thin);\n --component-menu-padding-horizontal: var(--spacing-small);\n --component-menu-padding-vertical: var(--spacing-x-small);\n --component-panelbar-border-radius: var(--radii-x-small);\n --component-panelbar-border-width: var(--border-x-thin);\n --component-panelbar-border-width: var(--border-x-thin);\n --component-panelbar-padding: var(--spacing-medium);\n --component-progress-border-radius-inner: var(--radii-small);\n --component-progress-border-radius-outer: calc(var(--radii-small) + 4px);\n --component-progress-border-width: var(--border-x-thin);\n --component-progress-padding: var(--spacing-x-small);\n --component-progress-size-large: var(--sizing-large);\n --component-progress-size-medium: var(--sizing-medium);\n --component-progress-size-small: var(--sizing-small);\n --component-radio-dot-offset: var(--spacing-2x-small);\n --component-radio-dot-size: var(--spacing-medium);\n --component-radio-size: var(--sizing-2x-small);\n --component-sidebar-border-radius: var(--radii-small);\n --component-sidebar-border-width: var(--border-x-thin);\n --component-slider-border-radius-inner: var(--radii-small);\n --component-slider-border-radius-outer: calc(var(--radii-small) + 4px);\n --component-slider-border-width: var(--border-x-thin);\n --component-slider-padding: var(--spacing-x-small);\n --component-slider-thumb-border-radius: var(--radii-x-small);\n --component-switch-border-radius: var(--radii-full);\n --component-switch-border-width: var(--border-x-thin);\n --component-switch-padding: var(--spacing-2x-small);\n --component-tab-border-radius-inner: var(--radii-x-small);\n --component-tab-border-radius-outer: var(--radii-small);\n --component-tab-border-width: var(--border-x-thin);\n --component-tab-gap-large: var(--spacing-large);\n --component-tab-gap-medium: var(--spacing-small);\n --component-tab-gap-small: var(--spacing-2x-small);\n --component-tab-content-padding: var(--spacing-large);\n --component-tab-padding-large: var(--spacing-2x-large);\n --component-tab-padding-medium: var(--spacing-large);\n --component-tab-padding-small: var(--spacing-small);\n --component-table-border-radius: var(--radii-small);\n --component-table-border-width: var(--border-x-thin);\n --component-table-border-width-header: var(--border-thin);\n --component-table-padding-large: var(--spacing-large);\n --component-table-padding-medium: var(--spacing-medium);\n --component-table-padding-small: var(--spacing-small);\n --component-tag-border-radius-circle: var(--radii-full);\n --component-tag-border-radius-square: var(--radii-small);\n --component-tag-padding-large: var(--spacing-small);\n --component-tag-padding-medium: var(--spacing-x-small);\n --component-tag-padding-small: var(--spacing-2x-small);\n --component-tag-size-large: var(--sizing-large);\n --component-tag-size-medium: var(--sizing-medium);\n --component-tag-size-small: var(--sizing-small);\n --component-toast-border-radius: var(--radii-small);\n --component-toast-offset: var(--spacing-x-large);\n --component-toast-padding: var(--spacing-medium);\n --component-toast-padding-h: var(--spacing-x-large);\n --component-tooltip-border-radius: var(--radii-small);\n --component-tooltip-padding: var(--spacing-x-small);\n --component-tooltip-padding-h: var(--spacing-medium);\n}\n";
1
+ var variablesCSS = "/* Colors */\n:root {\n --neutral--: #7f8286ff;\n --neutral-white: #ffffffff;\n --neutral-black: #000000ff;\n --neutral-light-0: #f7f7faff;\n --neutral-light-1: #f0f0f2ff;\n --neutral-light-2: #dfe0e3ff;\n --neutral-light-3: #cacbcfff;\n --neutral-light-4: #bbbdc0ff;\n --neutral-light-5: #acaeb2ff;\n --neutral-light-6: #9d9fa3ff;\n --neutral-light-7: #8e9195ff;\n --neutral-dark-0: #0c0c0dff;\n --neutral-dark-1: #151617ff;\n --neutral-dark-2: #292a2bff;\n --neutral-dark-3: #37383aff;\n --neutral-dark-4: #46474aff;\n --neutral-dark-5: #545659ff;\n --neutral-dark-6: #626568ff;\n --neutral-dark-7: #717377ff;\n --neutral-black-translucent: #0000001f;\n --neutral-white-translucent: #1111111f;\n --red--: #b80421ff;\n --red-light-0: #f2e6e8ff;\n --red-light-1: #ebcacfff;\n --red-light-2: #e4aeb6ff;\n --red-light-3: #dc919dff;\n --red-light-4: #d57585ff;\n --red-light-5: #ce596cff;\n --red-light-6: #c73d53ff;\n --red-light-7: #bf203aff;\n --red-dark-0: #0d0103ff;\n --red-dark-1: #220107ff;\n --red-dark-2: #38020bff;\n --red-dark-3: #4d020eff;\n --red-dark-4: #630312ff;\n --red-dark-5: #780316ff;\n --red-dark-6: #8d031aff;\n --red-dark-7: #a3041dff;\n --red-translucent: #b804211f;\n --orange--: #d13704ff;\n --orange-light-0: #f2e9e6ff;\n --orange-light-1: #eed3caff;\n --orange-light-2: #eabdaeff;\n --orange-light-3: #e6a691ff;\n --orange-light-4: #e29075ff;\n --orange-light-5: #dd7a59ff;\n --orange-light-6: #d9643dff;\n --orange-light-7: #d54d20ff;\n --orange-dark-0: #0d0300ff;\n --orange-dark-1: #260a01ff;\n --orange-dark-2: #3e1001ff;\n --orange-dark-3: #571702ff;\n --orange-dark-4: #6f1d02ff;\n --orange-dark-5: #882403ff;\n --orange-dark-6: #a02a03ff;\n --orange-dark-7: #b93104ff;\n --orange-translucent: #d137041f;\n --amber--: #d16004ff;\n --amber-light-0: #f2ece6ff;\n --amber-light-1: #eedbcaff;\n --amber-light-2: #eac9aeff;\n --amber-light-3: #e6b891ff;\n --amber-light-4: #e2a675ff;\n --amber-light-5: #dd9559ff;\n --amber-light-6: #d9833dff;\n --amber-light-7: #d57220ff;\n --amber-dark-0: #0d0c0cff;\n --amber-dark-1: #26170bff;\n --amber-dark-2: #3e210aff;\n --amber-dark-3: #572c09ff;\n --amber-dark-4: #6f3608ff;\n --amber-dark-5: #884107ff;\n --amber-dark-6: #a04b06ff;\n --amber-dark-7: #b95605ff;\n --amber-translucent: #d160041f;\n --yellow--: #d17f04ff;\n --yellow-light-0: #f2eadfff;\n --yellow-light-1: #eeddc4ff;\n --yellow-light-2: #eacfa8ff;\n --yellow-light-3: #e6c28dff;\n --yellow-light-4: #e2b572ff;\n --yellow-light-5: #dda756ff;\n --yellow-light-6: #d99a3bff;\n --yellow-light-7: #d58c1fff;\n --yellow-dark-0: #0d0c0cff;\n --yellow-dark-1: #261a0bff;\n --yellow-dark-2: #3e290aff;\n --yellow-dark-3: #573709ff;\n --yellow-dark-4: #6f4608ff;\n --yellow-dark-5: #885407ff;\n --yellow-dark-6: #a06206ff;\n --yellow-dark-7: #b97105ff;\n --yellow-translucent: #d17f041f;\n --lime--: #cad104ff;\n --lime-light-0: #f2f2dfff;\n --lime-light-1: #edeec4ff;\n --lime-light-2: #e8eaa8ff;\n --lime-light-3: #e3e68dff;\n --lime-light-4: #dee272ff;\n --lime-light-5: #d9dd56ff;\n --lime-light-6: #d4d93bff;\n --lime-light-7: #cfd51fff;\n --lime-dark-0: #0d0d0cff;\n --lime-dark-1: #25260bff;\n --lime-dark-2: #3c3e0aff;\n --lime-dark-3: #545709ff;\n --lime-dark-4: #6c6f08ff;\n --lime-dark-5: #838807ff;\n --lime-dark-6: #9ba006ff;\n --lime-dark-7: #b2b905ff;\n --lime-translucent: #cad1041f;\n --green--: #2dba73ff;\n --green-light-0: #e6f2ecff;\n --green-light-1: #cfebddff;\n --green-light-2: #b8e4ceff;\n --green-light-3: #a1ddbfff;\n --green-light-4: #8ad6b0ff;\n --green-light-5: #72cfa0ff;\n --green-light-6: #5bc891ff;\n --green-light-7: #44c182ff;\n --green-dark-0: #030d08ff;\n --green-dark-1: #082315ff;\n --green-dark-2: #0e3823ff;\n --green-dark-3: #134e30ff;\n --green-dark-4: #18643eff;\n --green-dark-5: #1d794bff;\n --green-dark-6: #238f58ff;\n --green-dark-7: #28a466ff;\n --green-translucent: #2dba731f;\n --teal--: #04b8b8ff;\n --teal-light-0: #f2fffeff;\n --teal-light-1: #d4f6f5ff;\n --teal-light-2: #b7ededff;\n --teal-light-3: #99e4e4ff;\n --teal-light-4: #7bdcdbff;\n --teal-light-5: #5dd3d2ff;\n --teal-light-6: #40cacaff;\n --teal-light-7: #22c1c1ff;\n --teal-dark-0: #0c0d0dff;\n --teal-dark-1: #0b2624ff;\n --teal-dark-2: #0a3e3cff;\n --teal-dark-3: #095753ff;\n --teal-dark-4: #086f6aff;\n --teal-dark-5: #078881ff;\n --teal-dark-6: #06a099ff;\n --teal-dark-7: #05b9b0ff;\n --teal-translucent: #04b8b81f;\n --blue--: #0576ffff;\n --blue-light-0: #ebf5ffff;\n --blue-light-1: #cee5ffff;\n --blue-light-2: #b2d5ffff;\n --blue-light-3: #95c5ffff;\n --blue-light-4: #78b6ffff;\n --blue-light-5: #5ba6ffff;\n --blue-light-6: #3f96ffff;\n --blue-light-7: #2286ffff;\n --blue-dark-0: #0c0c0dff;\n --blue-dark-1: #0b192bff;\n --blue-dark-2: #0a274aff;\n --blue-dark-3: #093468ff;\n --blue-dark-4: #094186ff;\n --blue-dark-5: #084ea4ff;\n --blue-dark-6: #075cc3ff;\n --blue-dark-7: #0669e1ff;\n --blue-translucent: #0576ff1f;\n --indigo--: #5405ffff;\n --indigo-light-0: #f6f2ffff;\n --indigo-light-1: #e2d4ffff;\n --indigo-light-2: #ceb7ffff;\n --indigo-light-3: #b999ffff;\n --indigo-light-4: #a57cffff;\n --indigo-light-5: #915effff;\n --indigo-light-6: #7d40ffff;\n --indigo-light-7: #6823ffff;\n --indigo-dark-0: #0d0c0cff;\n --indigo-dark-1: #160b2aff;\n --indigo-dark-2: #1f0a49ff;\n --indigo-dark-3: #280967ff;\n --indigo-dark-4: #310986ff;\n --indigo-dark-5: #3908a4ff;\n --indigo-dark-6: #4207c2ff;\n --indigo-dark-7: #4b06e1ff;\n --indigo-translucent: #5405ff1f;\n --purple--: #8a05ffff;\n --purple-light-0: #f9f2ffff;\n --purple-light-1: #ebd4ffff;\n --purple-light-2: #ddb7ffff;\n --purple-light-3: #cf99ffff;\n --purple-light-4: #c27cffff;\n --purple-light-5: #b45effff;\n --purple-light-6: #a640ffff;\n --purple-light-7: #9823ffff;\n --purple-dark-0: #0c0c0dff;\n --purple-dark-1: #1c0b2bff;\n --purple-dark-2: #2c0a4aff;\n --purple-dark-3: #3b0968ff;\n --purple-dark-4: #4b0986ff;\n --purple-dark-5: #5b08a4ff;\n --purple-dark-6: #6b07c3ff;\n --purple-dark-7: #7a06e1ff;\n --purple-translucent: #8a05ff1f;\n --pink--: #ff05a8ff;\n --pink-light-0: #f9f2ffff;\n --pink-light-1: #fad4f4ff;\n --pink-light-2: #fbb7e9ff;\n --pink-light-3: #fb99deff;\n --pink-light-4: #fc7cd4ff;\n --pink-light-5: #fd5ec9ff;\n --pink-light-6: #fe40beff;\n --pink-light-7: #fe23b3ff;\n --pink-dark-0: #0c0c0dff;\n --pink-dark-1: #2a0b20ff;\n --pink-dark-2: #490a34ff;\n --pink-dark-3: #670947ff;\n --pink-dark-4: #86095bff;\n --pink-dark-5: #a4086eff;\n --pink-dark-6: #c20781ff;\n --pink-dark-7: #e10695ff;\n --pink-translucent: #ff05a81f;\n --brown--: #ab642eff;\n --brown-light-0: #f2dfdfff;\n --brown-light-1: #e9d0c9ff;\n --brown-light-2: #e0c0b3ff;\n --brown-light-3: #d7b19dff;\n --brown-light-4: #cfa287ff;\n --brown-light-5: #c69270ff;\n --brown-light-6: #bd835aff;\n --brown-light-7: #b47344ff;\n --brown-dark-0: #0d0c0cff;\n --brown-dark-1: #211710ff;\n --brown-dark-2: #352215ff;\n --brown-dark-3: #482d19ff;\n --brown-dark-4: #5c381dff;\n --brown-dark-5: #704321ff;\n --brown-dark-6: #844e26ff;\n --brown-dark-7: #97592aff;\n --brown-translucent: #ab642e1f;\n}\n\n/* Numerics */\n:root {\n --border-none: 0px;\n --border-x-thin: 1px;\n --border-thin: 2px;\n --border-medium: 4px;\n --border-thick: 8px;\n --border-x-thick: 10px;\n --spacing-none: 0px;\n --spacing-4x-small: 1px;\n --spacing-2x-small: 2px;\n --spacing-x-small: 4px;\n --spacing-small: 6px;\n --spacing-medium: 8px;\n --spacing-large: 12px;\n --spacing-x-large: 16px;\n --spacing-2x-large: 24px;\n --spacing-4x-large: 32px;\n --font-size-display-1: 6em;\n --font-size-display-2: 5.5em;\n --font-size-display-3: 4.5em;\n --font-size-display-4: 3.5em;\n --font-size-h1: 2em;\n --font-size-h2: 1.5em;\n --font-size-h3: 1.17em;\n --font-size-h4: 1em;\n --font-size-h5: 0.83em;\n --font-size-paragraph: 1em;\n --font-size-small: 0.8em;\n --font-size-label: 0.83em;\n --font-size-button: 1em;\n --font-size-quote: 1.17em;\n --radii-none: 0px;\n --radii-x-small: 0.125em;\n --radii-small: 0.25em;\n --radii-medium: 0.375em;\n --radii-large: 0.5px;\n --radii-x-large: 1em;\n --radii-full: 9999px;\n --sizing-2x-small: 16px;\n --sizing-x-small: 19px;\n --sizing-small: 32px;\n --sizing-medium: 40px;\n --sizing-large: 56px;\n}\n\n/* Components */\n\n:root {\n /* appbar */\n --component-appbar-collapsed-width: 48px;\n --component-appbar-padding: var(--spacing-medium);\n --component-appbar-width: 240px;\n --component-appbar-z-index: 100;\n\n /* avatar */\n --component-avatar-border-radius-circle: var(--radii-full);\n --component-avatar-border-radius-square: var(--radii-small);\n --component-avatar-size-large: var(--sizing-large);\n --component-avatar-size-medium: var(--sizing-medium);\n --component-avatar-size-small: var(--sizing-small);\n\n /* badge */\n --component-badge-border-radius-circle: var(--radii-full);\n --component-badge-border-radius-square: var(--radii-small);\n --component-badge-padding-large: var(--spacing-small);\n --component-badge-padding-medium: var(--spacing-x-small);\n --component-badge-padding-small: var(--spacing-2x-small);\n --component-badge-size-large: var(--sizing-medium);\n --component-badge-size-medium: var(--sizing-small);\n --component-badge-size-small: var(--sizing-2x-small);\n\n /* button */\n --component-button-border-radius-inner: var(--radii-x-small);\n --component-button-border-radius-outer: var(--radii-small);\n --component-button-border-width: var(--border-thin);\n --component-button-border-width-2: var(--border-x-thin);\n --component-button-padding-large: var(--spacing-x-large);\n --component-button-padding-medium: var(--spacing-medium);\n --component-button-padding-small: var(--spacing-x-small);\n\n /* card */\n --component-card-border-radius-inner: var(--radii-small);\n --component-card-border-radius-outer: var(--radii-medium);\n --component-card-border-width: var(--border-x-thin);\n --component-card-inner-border-width: var(--border-x-thin);\n --component-card-padding-inner: var(--spacing-medium);\n --component-card-padding-outer: var(--spacing-x-large);\n\n /* checkbox */\n --component-checkbox-icon-size: var(--sizing-2x-small);\n --component-checkbox-size: var(--sizing-x-small);\n\n /* dialog */\n --component-dialog-border-radius-inner: var(--radii-x-small);\n --component-dialog-border-radius-outer: var(--radii-small);\n --component-dialog-border-width: var(--border-x-thin);\n --component-dialog-inner-border-width: var(--border-x-thin);\n --component-dialog-padding: var(--spacing-medium);\n --component-dialog-z-index: 1000;\n\n /* drawer */\n --component-drawer-border-radius: var(--radii-small);\n --component-drawer-border-width: var(--border-x-thin);\n --component-drawer-handle-padding: var(--spacing-x-small);\n --component-drawer-handle-width: var(--spacing-x-small);\n --component-drawer-padding: var(--spacing-medium);\n --component-drawer-z-index: 5000;\n\n /* icon */\n --component-icon-size-large: var(--spacing-4x-large);\n --component-icon-size-medium: var(--spacing-2x-large);\n --component-icon-size-small: var(--spacing-x-large);\n\n /* inputs */\n --component-inputs-border-radius-inner: var(--radii-x-small);\n --component-inputs-border-radius-outer: var(--radii-small);\n --component-inputs-border-width: var(--border-thin);\n --component-inputs-padding-large: var(--spacing-x-large);\n --component-inputs-padding-medium: var(--spacing-medium);\n --component-inputs-padding-small: var(--spacing-x-small);\n\n /* menu */\n --component-menu-border-radius: var(--radii-x-small);\n --component-menu-border-width: var(--border-x-thin);\n --component-menu-padding-horizontal: var(--spacing-small);\n --component-menu-padding-vertical: var(--spacing-x-small);\n --component-menu-z-index: 1001;\n\n /* panelbar */\n --component-panelbar-border-radius: var(--radii-x-small);\n --component-panelbar-border-width: var(--border-x-thin);\n --component-panelbar-indent: var(--spacing-x-large);\n --component-panelbar-padding: var(--spacing-medium);\n\n /* progress */\n --component-progress-border-radius-inner: var(--radii-small);\n --component-progress-border-radius-outer: calc(var(--radii-small) + 4px);\n --component-progress-border-width: var(--border-x-thin);\n --component-progress-padding: var(--spacing-x-small);\n --component-progress-size-large: var(--sizing-large);\n --component-progress-size-medium: var(--sizing-medium);\n --component-progress-size-small: var(--sizing-small);\n\n /* radio */\n --component-radio-dot-offset: var(--spacing-2x-small);\n --component-radio-dot-size: var(--spacing-medium);\n --component-radio-size: var(--sizing-2x-small);\n\n /* select */\n --component-select-z-index: 6000;\n\n /* sidebar */\n --component-sidebar-border-radius: var(--radii-small);\n --component-sidebar-border-width: var(--border-x-thin);\n\n /* slider */\n --component-slider-border-radius-inner: var(--radii-small);\n --component-slider-border-radius-outer: calc(var(--radii-small) + 4px);\n --component-slider-border-width: var(--border-x-thin);\n --component-slider-padding: var(--spacing-x-small);\n --component-slider-thumb-border-radius: var(--radii-x-small);\n\n /* switch */\n --component-switch-border-radius: var(--radii-full);\n --component-switch-border-width: var(--border-x-thin);\n --component-switch-padding: var(--spacing-2x-small);\n\n /* tab */\n --component-tab-border-radius-inner: var(--radii-x-small);\n --component-tab-border-radius-outer: var(--radii-small);\n --component-tab-border-width: var(--border-x-thin);\n --component-tab-content-padding: var(--spacing-large);\n --component-tab-gap-large: var(--spacing-large);\n --component-tab-gap-medium: var(--spacing-small);\n --component-tab-gap-small: var(--spacing-2x-small);\n --component-tab-padding-large: var(--spacing-2x-large);\n --component-tab-padding-medium: var(--spacing-large);\n --component-tab-padding-small: var(--spacing-small);\n\n /* table */\n --component-table-border-radius: var(--radii-small);\n --component-table-border-width: var(--border-x-thin);\n --component-table-border-width-header: var(--border-thin);\n --component-table-padding-large: var(--spacing-large);\n --component-table-padding-medium: var(--spacing-medium);\n --component-table-padding-small: var(--spacing-small);\n\n /* tag */\n --component-tag-border-radius-circle: var(--radii-full);\n --component-tag-border-radius-square: var(--radii-small);\n --component-tag-padding-large: var(--spacing-small);\n --component-tag-padding-medium: var(--spacing-x-small);\n --component-tag-padding-small: var(--spacing-2x-small);\n --component-tag-size-large: var(--sizing-large);\n --component-tag-size-medium: var(--sizing-medium);\n --component-tag-size-small: var(--sizing-small);\n\n /* toast */\n --component-toast-border-radius: var(--radii-small);\n --component-toast-offset: var(--spacing-x-large);\n --component-toast-padding: var(--spacing-medium);\n --component-toast-padding-h: var(--spacing-x-large);\n --component-toast-z-index: 9000;\n\n /* tooltip */\n --component-tooltip-border-radius: var(--radii-small);\n --component-tooltip-padding: var(--spacing-x-small);\n --component-tooltip-padding-h: var(--spacing-medium);\n --component-tooltip-z-index: 7000;\n}\n\n/* Default Theme (Blue Light) */\n:root {\n --base-background-app: var(--neutral-light-1);\n --base-background-component: var(--neutral-light-0);\n --base-background-hover: var(--neutral-light-2);\n --base-background-border: var(--neutral-light-3);\n --base-background-active: var(--neutral-light-4);\n --base-content--: var(--neutral-dark-0);\n --base-content-inverse: var(--neutral-white);\n --base-content-light: var(--neutral-dark-1);\n --base-content-lighter: var(--neutral-dark-3);\n --base-content-lightest: var(--neutral-dark-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--blue-light-1);\n --primary-background-component: var(--blue-light-0);\n --primary-background-hover: var(--blue-light-2);\n --primary-background-active: var(--blue-light-3);\n --primary-background-border: var(--blue-light-4);\n --primary-content--: var(--blue--);\n --primary-content-inverse: var(--neutral-white);\n --primary-content-hover: var(--blue-dark-7);\n --primary-content-active: var(--blue-dark-6);\n --secondary-background-app: var(--teal-light-1);\n --secondary-background-component: var(--teal-light-0);\n --secondary-background-hover: var(--teal-light-2);\n --secondary-background-border: var(--teal-light-3);\n --secondary-background-active: var(--teal-light-4);\n --secondary-content--: var(--teal--);\n --secondary-content-inverse: var(--neutral-black);\n --secondary-content-hover: var(--teal-dark-7);\n --secondary-content-active: var(--teal-dark-6);\n --success-background-app: var(--green-light-1);\n --success-background-component: var(--green-light-0);\n --success-background-hover: var(--green-light-2);\n --success-background-border: var(--green-light-3);\n --success-background-active: var(--green-light-4);\n --success-content--: var(--green--);\n --success-content-inverse: var(--neutral-black);\n --success-content-hover: var(--green-dark-7);\n --success-content-active: var(--green-dark-6);\n --warning-background-app: var(--yellow-light-1);\n --warning-background-component: var(--yellow-light-0);\n --warning-background-hover: var(--yellow-light-2);\n --warning-background-border: var(--yellow-light-3);\n --warning-background-active: var(--yellow-light-4);\n --warning-content--: var(--yellow--);\n --warning-content-inverse: var(--neutral-black);\n --warning-content-hover: var(--yellow-dark-7);\n --warning-content-active: var(--yellow-dark-6);\n --error-background-app: var(--red-light-1);\n --error-background-component: var(--red-light-0);\n --error-background-hover: var(--red-light-2);\n --error-background-border: var(--red-light-3);\n --error-background-active: var(--red-light-4);\n --error-content--: var(--red--);\n --error-content-inverse: var(--neutral-white);\n --error-content-hover: var(--red-dark-7);\n --error-content-active: var(--red-dark-6);\n --help-background-app: var(--indigo-light-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-light-2);\n --help-background-active: var(--indigo-light-3);\n --help-background-border: var(--indigo-light-4);\n --help-content--: var(--indigo--);\n --help-content-inverse: var(--neutral-white);\n --help-content-hover: var(--indigo-dark-7);\n --help-content-active: var(--indigo-dark-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-appbar-border-width: var(--component-sidebar-border-width);\n --component-appbar-border-radius: var(--component-sidebar-border-radius);\n --component-appbar-inner-border-width: var(\n --component-sidebar-border-width\n );\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-dialog-shadow: var(--base-shadow);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --component-tabs-font-family: var(--font-family-body);\n --component-slider-width: 129px;\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
2
2
 
3
3
  class YumeButton extends HTMLElement {
4
4
  static get observedAttributes() {
@@ -225,8 +225,8 @@ class YumeButton extends HTMLElement {
225
225
  position: relative;
226
226
  overflow: hidden;
227
227
  border-radius: var(--component-button-border-radius-outer, 4px);
228
- border: var(--component-button-border-width, 1px) solid var(--border-color, var(--base-content--, #1D1D1D));
229
- background: var(--background-color, #F1F6FA);
228
+ border: var(--component-button-border-width, 1px) solid var(--border-color, var(--base-content--, #f7f7fa));
229
+ background: var(--background-color, #0c0c0d);
230
230
  transition: background-color 0.1s, color 0.1s, border-color 0.1s;
231
231
  cursor: pointer;
232
232
  color: var(--text-color);
@@ -333,6 +333,7 @@ class YumeButton extends HTMLElement {
333
333
  "--primary-background-component",
334
334
  "--primary-background-hover",
335
335
  "--primary-background-active",
336
+ "--primary-content-inverse",
336
337
  ],
337
338
  secondary: [
338
339
  "--secondary-content--",
@@ -341,6 +342,7 @@ class YumeButton extends HTMLElement {
341
342
  "--secondary-background-component",
342
343
  "--secondary-background-hover",
343
344
  "--secondary-background-active",
345
+ "--secondary-content-inverse",
344
346
  ],
345
347
  base: [
346
348
  "--base-content--",
@@ -349,6 +351,7 @@ class YumeButton extends HTMLElement {
349
351
  "--base-background-component",
350
352
  "--base-background-hover",
351
353
  "--base-background-active",
354
+ "--base-content-inverse",
352
355
  ],
353
356
  success: [
354
357
  "--success-content--",
@@ -357,6 +360,7 @@ class YumeButton extends HTMLElement {
357
360
  "--success-background-component",
358
361
  "--success-background-hover",
359
362
  "--success-background-active",
363
+ "--success-content-inverse",
360
364
  ],
361
365
  error: [
362
366
  "--error-content--",
@@ -365,6 +369,7 @@ class YumeButton extends HTMLElement {
365
369
  "--error-background-component",
366
370
  "--error-background-hover",
367
371
  "--error-background-active",
372
+ "--error-content-inverse",
368
373
  ],
369
374
  warning: [
370
375
  "--warning-content--",
@@ -373,6 +378,7 @@ class YumeButton extends HTMLElement {
373
378
  "--warning-background-component",
374
379
  "--warning-background-hover",
375
380
  "--warning-background-active",
381
+ "--warning-content-inverse",
376
382
  ],
377
383
  help: [
378
384
  "--help-content--",
@@ -381,6 +387,7 @@ class YumeButton extends HTMLElement {
381
387
  "--help-background-component",
382
388
  "--help-background-hover",
383
389
  "--help-background-active",
390
+ "--help-content-inverse",
384
391
  ],
385
392
  };
386
393
 
@@ -401,19 +408,19 @@ class YumeButton extends HTMLElement {
401
408
 
402
409
  const styleVars = {
403
410
  outlined: {
404
- "--background-color": `var(${colorVars[color][3]}, rgba(241,246,250,1))`,
405
- "--border-color": `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
406
- "--text-color": `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
411
+ "--background-color": `var(${colorVars[color][3]}, #0c0c0d)`,
412
+ "--border-color": `var(${colorVars[color][0]}, #f7f7fa)`,
413
+ "--text-color": `var(${colorVars[color][0]}, #f7f7fa)`,
407
414
  },
408
415
  filled: {
409
- "--background-color": `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
410
- "--border-color": `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
411
- "--text-color": `var(${colorVars[color][3]}, rgba(241,246,250,1))`,
416
+ "--background-color": `var(${colorVars[color][0]}, #f7f7fa)`,
417
+ "--border-color": `var(${colorVars[color][0]}, #f7f7fa)`,
418
+ "--text-color": `var(${colorVars[color][6]}, #0c0c0d)`,
412
419
  },
413
420
  flat: {
414
- "--background-color": `var(${colorVars[color][3]},rgba(241,246,250,1))`,
415
- "--border-color": `var(${colorVars[color][3]},rgba(241,246,250,1))`,
416
- "--text-color": `var(${colorVars[color][0]},rgba(29,29,29,1))`,
421
+ "--background-color": `var(${colorVars[color][3]},#0c0c0d)`,
422
+ "--border-color": `var(${colorVars[color][3]},#0c0c0d)`,
423
+ "--text-color": `var(${colorVars[color][0]},#f7f7fa)`,
417
424
  },
418
425
  };
419
426
 
@@ -425,66 +432,66 @@ class YumeButton extends HTMLElement {
425
432
  if (styleType === "filled") {
426
433
  this.button.style.setProperty(
427
434
  "--hover-background-color",
428
- `var(${colorVars[color][1]}, rgba(215,219,222,1))`,
435
+ `var(${colorVars[color][1]}, #292a2b)`,
429
436
  );
430
437
  this.button.style.setProperty(
431
438
  "--hover-text-color",
432
- `var(${colorVars[color][3]}, rgba(241,246,250,1))`,
439
+ `var(${colorVars[color][6]}, #0c0c0d)`,
433
440
  );
434
441
  this.button.style.setProperty(
435
442
  "--hover-border-color",
436
- `var(${colorVars[color][1]}, rgba(215,219,222,1))`,
443
+ `var(${colorVars[color][1]}, #292a2b)`,
437
444
  );
438
445
  this.button.style.setProperty(
439
446
  "--focus-background-color",
440
- `var(${colorVars[color][2]}, rgba(188,192,195,1))`,
447
+ `var(${colorVars[color][2]}, #46474a)`,
441
448
  );
442
449
  this.button.style.setProperty(
443
450
  "--focus-text-color",
444
- `var(${colorVars[color][3]}, rgba(241,246,250,1))`,
451
+ `var(${colorVars[color][6]}, #0c0c0d)`,
445
452
  );
446
453
  this.button.style.setProperty(
447
454
  "--focus-border-color",
448
- `var(${colorVars[color][2]}, rgba(188,192,195,1))`,
455
+ `var(${colorVars[color][2]}, #46474a)`,
449
456
  );
450
457
  this.button.style.setProperty(
451
458
  "--active-background-color",
452
- `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
459
+ `var(${colorVars[color][0]}, #f7f7fa)`,
453
460
  );
454
461
  this.button.style.setProperty(
455
462
  "--active-text-color",
456
- `var(${colorVars[color][3]}, rgba(241,246,250,1))`,
463
+ `var(${colorVars[color][6]}, #0c0c0d)`,
457
464
  );
458
465
  this.button.style.setProperty(
459
466
  "--active-border-color",
460
- `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
467
+ `var(${colorVars[color][0]}, #f7f7fa)`,
461
468
  );
462
469
  } else {
463
- const borderColor = `var(${colorVars[color][0]}, rgba(29,29,29,1))`;
470
+ const borderColor = `var(${colorVars[color][0]}, #f7f7fa)`;
464
471
 
465
472
  this.button.style.setProperty(
466
473
  "--hover-background-color",
467
- `var(${colorVars[color][4]}, rgba(215,219,222,1))`,
474
+ `var(${colorVars[color][4]}, #292a2b)`,
468
475
  );
469
476
  this.button.style.setProperty(
470
477
  "--hover-text-color",
471
- `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
478
+ `var(${colorVars[color][0]}, #f7f7fa)`,
472
479
  );
473
480
  this.button.style.setProperty(
474
481
  "--focus-background-color",
475
- `var(${colorVars[color][5]}, rgba(188,192,195,1))`,
482
+ `var(${colorVars[color][5]}, #46474a)`,
476
483
  );
477
484
  this.button.style.setProperty(
478
485
  "--focus-text-color",
479
- `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
486
+ `var(${colorVars[color][0]}, #f7f7fa)`,
480
487
  );
481
488
  this.button.style.setProperty(
482
489
  "--active-background-color",
483
- `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
490
+ `var(${colorVars[color][0]}, #f7f7fa)`,
484
491
  );
485
492
  this.button.style.setProperty(
486
493
  "--active-text-color",
487
- `var(${colorVars[color][3]}, rgba(241,246,250,1))`,
494
+ `var(${colorVars[color][6]}, #0c0c0d)`,
488
495
  );
489
496
 
490
497
  if (styleType === "outlined") {
@@ -505,15 +512,15 @@ class YumeButton extends HTMLElement {
505
512
  // Flat buttons match border to background
506
513
  this.button.style.setProperty(
507
514
  "--hover-border-color",
508
- `var(${colorVars[color][4]}, rgba(215,219,222,1))`,
515
+ `var(${colorVars[color][4]}, #292a2b)`,
509
516
  );
510
517
  this.button.style.setProperty(
511
518
  "--focus-border-color",
512
- `var(${colorVars[color][5]}, rgba(188,192,195,1))`,
519
+ `var(${colorVars[color][5]}, #46474a)`,
513
520
  );
514
521
  this.button.style.setProperty(
515
522
  "--active-border-color",
516
- `var(${colorVars[color][0]}, rgba(29,29,29,1))`,
523
+ `var(${colorVars[color][0]}, #f7f7fa)`,
517
524
  );
518
525
  }
519
526
  }
@@ -757,9 +764,30 @@ class YumeMenu extends HTMLElement {
757
764
  left = anchorRect.left - menuRect.width;
758
765
  }
759
766
  if (top + menuRect.height > vh) {
760
- top = vh - menuRect.height - 10;
767
+ top = anchorRect.top - menuRect.height;
768
+ }
769
+ } else if (this.direction === "up") {
770
+ top = anchorRect.top - menuRect.height;
771
+ left = anchorRect.left;
772
+
773
+ if (top < 0) {
774
+ top = anchorRect.bottom;
775
+ }
776
+ if (left + menuRect.width > vw) {
777
+ left = vw - menuRect.width - 10;
778
+ }
779
+ } else if (this.direction === "left") {
780
+ top = anchorRect.top;
781
+ left = anchorRect.left - menuRect.width;
782
+
783
+ if (left < 0) {
784
+ left = anchorRect.right;
785
+ }
786
+ if (top + menuRect.height > vh) {
787
+ top = anchorRect.top - menuRect.height;
761
788
  }
762
789
  } else {
790
+ // "down" (default)
763
791
  top = anchorRect.bottom;
764
792
  left = anchorRect.left;
765
793
 
@@ -771,8 +799,8 @@ class YumeMenu extends HTMLElement {
771
799
  }
772
800
  }
773
801
 
774
- top = Math.max(10, Math.min(top, vh - menuRect.height - 10));
775
- left = Math.max(10, Math.min(left, vw - menuRect.width - 10));
802
+ top = Math.max(0, Math.min(top, vh - menuRect.height));
803
+ left = Math.max(0, Math.min(left, vw - menuRect.width));
776
804
 
777
805
  this.style.top = `${top}px`;
778
806
  this.style.left = `${left}px`;
@@ -791,8 +819,8 @@ class YumeMenu extends HTMLElement {
791
819
  list-style: none;
792
820
  margin: 0;
793
821
  padding: 0;
794
- background: var(--component-menu-background, #fff);
795
- border: var(--component-menu-border-width, 1px) solid var(--component-menu-border-color, #ccc);
822
+ background: var(--component-menu-background, #0c0c0d);
823
+ border: var(--component-menu-border-width, 1px) solid var(--component-menu-border-color, #37383a);
796
824
  border-radius: var(--component-menu-border-radius, 4px);
797
825
  box-shadow: var(--component-menu-shadow, 0 2px 8px rgba(0, 0, 0, 0.15));
798
826
  min-width: 150px;
@@ -807,12 +835,12 @@ class YumeMenu extends HTMLElement {
807
835
  align-items: center;
808
836
  justify-content: space-between;
809
837
  white-space: nowrap;
810
- color: var(--component-menu-color, #000);
838
+ color: var(--component-menu-color, #f7f7fa);
811
839
  font-size: var(--font-size-button, 1em);
812
840
  }
813
841
 
814
842
  li.menuitem:hover {
815
- background: var(--component-menu-hover-background, #eee);
843
+ background: var(--component-menu-hover-background, #292a2b);
816
844
  }
817
845
 
818
846
  ul.submenu {
@@ -820,7 +848,7 @@ class YumeMenu extends HTMLElement {
820
848
  top: 0;
821
849
  left: 100%;
822
850
  display: none;
823
- z-index: 1001;
851
+ z-index: var(--component-menu-z-index, 1001);
824
852
  }
825
853
 
826
854
  li.menuitem:hover > ul.submenu {
@@ -1058,12 +1086,12 @@ class YumeAppbar extends HTMLElement {
1058
1086
  :host {
1059
1087
  display: block;
1060
1088
  font-family: var(--font-family-body, sans-serif);
1061
- color: var(--component-appbar-color, #fff);
1089
+ color: var(--component-appbar-color, #f7f7fa);
1062
1090
  }
1063
1091
 
1064
1092
  :host([sticky]) {
1065
1093
  position: sticky;
1066
- z-index: 100;
1094
+ z-index: var(--component-appbar-z-index, 100);
1067
1095
  }
1068
1096
  :host([orientation="vertical"][sticky="start"]),
1069
1097
  :host(:not([orientation])[sticky="start"]) {
@@ -1094,23 +1122,23 @@ class YumeAppbar extends HTMLElement {
1094
1122
  }
1095
1123
  :host([orientation="vertical"][sticky="start"]) .appbar,
1096
1124
  :host(:not([orientation])[sticky="start"]) .appbar {
1097
- border-right: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1125
+ border-right: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1098
1126
  }
1099
1127
  :host([orientation="vertical"][sticky="end"]) .appbar,
1100
1128
  :host(:not([orientation])[sticky="end"]) .appbar {
1101
- border-left: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1129
+ border-left: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1102
1130
  }
1103
1131
  :host([orientation="horizontal"][sticky="start"]) .appbar {
1104
- border-bottom: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1132
+ border-bottom: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1105
1133
  }
1106
1134
  :host([orientation="horizontal"][sticky="end"]) .appbar {
1107
- border-top: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1135
+ border-top: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1108
1136
  }
1109
1137
 
1110
1138
  .appbar {
1111
1139
  display: flex;
1112
- background: var(--component-appbar-background, #111);
1113
- border: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1140
+ background: var(--component-appbar-background, #0c0c0d);
1141
+ border: var(--component-appbar-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1114
1142
  border-radius: var(--component-appbar-border-radius, var(--component-sidebar-border-radius, 4px));
1115
1143
  overflow: visible;
1116
1144
  padding: var(--_appbar-padding);
@@ -1159,23 +1187,23 @@ class YumeAppbar extends HTMLElement {
1159
1187
  }
1160
1188
 
1161
1189
  .appbar.vertical .appbar-header {
1162
- border-bottom: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1190
+ border-bottom: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1163
1191
  padding-bottom: var(--_appbar-padding);
1164
1192
  margin-bottom: var(--_appbar-padding);
1165
1193
  }
1166
1194
  .appbar.vertical .appbar-footer {
1167
- border-top: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1195
+ border-top: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1168
1196
  padding-top: var(--_appbar-padding);
1169
1197
  margin-top: var(--_appbar-padding);
1170
1198
  }
1171
1199
 
1172
1200
  .appbar.horizontal .appbar-header {
1173
- border-right: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1201
+ border-right: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1174
1202
  padding-right: var(--_appbar-padding);
1175
1203
  margin-right: var(--_appbar-padding);
1176
1204
  }
1177
1205
  .appbar.horizontal .appbar-footer {
1178
- border-left: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #333);
1206
+ border-left: var(--component-appbar-inner-border-width, var(--component-sidebar-border-width, 2px)) solid var(--component-appbar-border-color, #37383a);
1179
1207
  padding-left: var(--_appbar-padding);
1180
1208
  margin-left: var(--_appbar-padding);
1181
1209
  }
@@ -1288,6 +1316,7 @@ class YumeAppbar extends HTMLElement {
1288
1316
 
1289
1317
  const bar = document.createElement("div");
1290
1318
  bar.className = `appbar ${isVertical ? "vertical" : "horizontal"}`;
1319
+
1291
1320
  if (isCollapsed) bar.classList.add("collapsed");
1292
1321
  bar.setAttribute("role", "navigation");
1293
1322
  bar.style.setProperty("--_appbar-padding", cfg.padding);
@@ -1308,6 +1337,7 @@ class YumeAppbar extends HTMLElement {
1308
1337
 
1309
1338
  const logoWrapper = document.createElement("div");
1310
1339
  logoWrapper.className = "logo-wrapper";
1340
+
1311
1341
  const logoSlot = document.createElement("slot");
1312
1342
  logoSlot.name = "logo";
1313
1343
  logoWrapper.appendChild(logoSlot);
@@ -1315,6 +1345,7 @@ class YumeAppbar extends HTMLElement {
1315
1345
 
1316
1346
  const titleWrapper = document.createElement("div");
1317
1347
  titleWrapper.className = "header-title";
1348
+
1318
1349
  const titleSlot = document.createElement("slot");
1319
1350
  titleSlot.name = "title";
1320
1351
  titleWrapper.appendChild(titleSlot);
@@ -1496,8 +1527,8 @@ class YumeAvatar extends HTMLElement {
1496
1527
  width: 100%;
1497
1528
  height: 100%;
1498
1529
  border-radius: ${borderRadius};
1499
- background-color: var(--primary-content--, rgba(4, 134, 209, 1));
1500
- color: var(--primary-background-component, rgba(245, 250, 250, 1));
1530
+ background-color: var(--primary-content--, #0576ff);
1531
+ color: var(--primary-background-component, #0c0c0d);
1501
1532
  display: flex;
1502
1533
  align-items: center;
1503
1534
  justify-content: center;
@@ -1570,17 +1601,17 @@ class YumeBadge extends HTMLElement {
1570
1601
  return this.getAttribute("value") || "";
1571
1602
  }
1572
1603
 
1573
- getBadgeColor(color) {
1604
+ getBadgeColors(color) {
1574
1605
  const colorMap = {
1575
- primary: "var(--primary-content--)",
1576
- secondary: "var(--secondary-content--)",
1577
- base: "var(--base-content--)",
1578
- success: "var(--success-content--)",
1579
- warning: "var(--warning-content--)",
1580
- error: "var(--error-content--)",
1581
- help: "var(--help-content--)",
1606
+ primary: ["var(--primary-content--)", "var(--primary-content-inverse)"],
1607
+ secondary: ["var(--secondary-content--)", "var(--secondary-content-inverse)"],
1608
+ base: ["var(--base-content--)", "var(--base-content-inverse)"],
1609
+ success: ["var(--success-content--)", "var(--success-content-inverse)"],
1610
+ warning: ["var(--warning-content--)", "var(--warning-content-inverse)"],
1611
+ error: ["var(--error-content--)", "var(--error-content-inverse)"],
1612
+ help: ["var(--help-content--)", "var(--help-content-inverse)"],
1582
1613
  };
1583
- return colorMap[color] || color;
1614
+ return colorMap[color] || [color, "var(--neutral-white, #fff)"];
1584
1615
  }
1585
1616
 
1586
1617
  getBadgePosition(position, alignment) {
@@ -1628,7 +1659,7 @@ class YumeBadge extends HTMLElement {
1628
1659
  }
1629
1660
 
1630
1661
  render() {
1631
- const badgeColor = this.getBadgeColor(this.color);
1662
+ const [badgeColor, badgeTextColor] = this.getBadgeColors(this.color);
1632
1663
  const { fontSize, padding, minSize } = this.getSizeAttributes(
1633
1664
  this.size,
1634
1665
  );
@@ -1649,7 +1680,7 @@ class YumeBadge extends HTMLElement {
1649
1680
  position: ${hasTarget ? "absolute" : "static"};
1650
1681
  ${hasTarget ? positionStyles : ""}
1651
1682
  background: ${badgeColor};
1652
- color: var(--base-background-component, #fff);
1683
+ color: ${badgeTextColor};
1653
1684
  font-size: ${fontSize};
1654
1685
  font-weight: bold;
1655
1686
  padding: ${padding};
@@ -2096,6 +2127,16 @@ class YumeCheckbox extends HTMLElement {
2096
2127
  line-height: 0;
2097
2128
  }
2098
2129
 
2130
+ :host([disabled]) .checkbox {
2131
+ border-color: var(--component-checkbox-border-color);
2132
+ background: var(--component-checkbox-disabled-background, var(--component-checkbox-background));
2133
+ cursor: not-allowed;
2134
+ }
2135
+
2136
+ :host([disabled]) .checkbox:hover {
2137
+ border-color: var(--component-checkbox-border-color);
2138
+ }
2139
+
2099
2140
  .checkbox:hover {
2100
2141
  border-color: var(--component-checkbox-accent);
2101
2142
  }
@@ -2107,7 +2148,7 @@ class YumeCheckbox extends HTMLElement {
2107
2148
  display: block;
2108
2149
  }
2109
2150
 
2110
- .label {
2151
+ [part="label"] {
2111
2152
  display: inline-flex;
2112
2153
  align-items: center;
2113
2154
  font-size: 0.9em;
@@ -2265,7 +2306,7 @@ class YumeDialog extends HTMLElement {
2265
2306
  align-items: center;
2266
2307
  justify-content: center;
2267
2308
  background: rgba(0,0,0,0.5);
2268
- z-index: 1000;
2309
+ z-index: var(--component-dialog-z-index, 1000);
2269
2310
  }
2270
2311
  :host([visible]) { display: flex; }
2271
2312
  .dialog {
@@ -2295,7 +2336,7 @@ class YumeDialog extends HTMLElement {
2295
2336
  border: none;
2296
2337
  cursor: pointer;
2297
2338
  padding: var(--spacing-x-small, 4px);
2298
- color: var(--component-dialog-color, #000);
2339
+ color: var(--component-dialog-color, #f7f7fa);
2299
2340
  font-size: 1.25em;
2300
2341
  line-height: 1;
2301
2342
  border-radius: var(--component-button-border-radius-outer, 4px);
@@ -2304,7 +2345,7 @@ class YumeDialog extends HTMLElement {
2304
2345
  justify-content: center;
2305
2346
  }
2306
2347
  .close-btn:hover {
2307
- background: var(--component-dialog-hover-background, #eee);
2348
+ background: var(--component-dialog-hover-background, #292a2b);
2308
2349
  }
2309
2350
  .close-btn:focus-visible {
2310
2351
  outline: 2px solid var(--component-dialog-accent);
@@ -2609,7 +2650,7 @@ class YumeDrawer extends HTMLElement {
2609
2650
  position: fixed;
2610
2651
  top: 0; left: 0; right: 0; bottom: 0;
2611
2652
  display: none;
2612
- z-index: 1000;
2653
+ z-index: var(--component-drawer-z-index, 5000);
2613
2654
  }
2614
2655
  :host([visible]) {
2615
2656
  display: block;
@@ -2627,8 +2668,8 @@ class YumeDrawer extends HTMLElement {
2627
2668
 
2628
2669
  .drawer-panel {
2629
2670
  position: absolute;
2630
- background: var(--component-drawer-background, #fff);
2631
- color: var(--component-drawer-color, #000);
2671
+ background: var(--component-drawer-background, #0c0c0d);
2672
+ color: var(--component-drawer-color, #f7f7fa);
2632
2673
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
2633
2674
  overflow: hidden;
2634
2675
  outline: none;
@@ -2649,12 +2690,12 @@ class YumeDrawer extends HTMLElement {
2649
2690
  .drawer-panel[data-position="left"] {
2650
2691
  left: 0;
2651
2692
  transform: translateX(-100%);
2652
- border-right: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #ccc);
2693
+ border-right: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #37383a);
2653
2694
  }
2654
2695
  .drawer-panel[data-position="right"] {
2655
2696
  right: 0;
2656
2697
  transform: translateX(100%);
2657
- border-left: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #ccc);
2698
+ border-left: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #37383a);
2658
2699
  }
2659
2700
 
2660
2701
  .drawer-panel[data-position="top"],
@@ -2666,12 +2707,12 @@ class YumeDrawer extends HTMLElement {
2666
2707
  .drawer-panel[data-position="top"] {
2667
2708
  top: 0;
2668
2709
  transform: translateY(-100%);
2669
- border-bottom: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #ccc);
2710
+ border-bottom: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #37383a);
2670
2711
  }
2671
2712
  .drawer-panel[data-position="bottom"] {
2672
2713
  bottom: 0;
2673
2714
  transform: translateY(100%);
2674
- border-top: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #ccc);
2715
+ border-top: var(--component-drawer-border-width, 2px) solid var(--component-drawer-border-color, #37383a);
2675
2716
  }
2676
2717
 
2677
2718
  .drawer-panel.open { transform: translate(0, 0); }
@@ -2708,7 +2749,7 @@ class YumeDrawer extends HTMLElement {
2708
2749
  flex-shrink: 0;
2709
2750
  align-items: center;
2710
2751
  justify-content: center;
2711
- color: var(--component-drawer-color, #999);
2752
+ color: var(--component-drawer-color, #f7f7fa);
2712
2753
  opacity: 0.6;
2713
2754
  touch-action: none; /* needed for pointer events */
2714
2755
  user-select: none;
@@ -2717,7 +2758,7 @@ class YumeDrawer extends HTMLElement {
2717
2758
  .resize-handle:hover,
2718
2759
  .resize-handle:active {
2719
2760
  opacity: 1;
2720
- background: var(--component-drawer-hover-background, rgba(128,128,128,0.15));
2761
+ background: var(--component-drawer-hover-background, #292a2b);
2721
2762
  }
2722
2763
 
2723
2764
  .drawer-panel[data-position="left"] > .resize-handle,
@@ -2806,6 +2847,277 @@ if (!customElements.get("y-drawer")) {
2806
2847
  customElements.define("y-drawer", YumeDrawer);
2807
2848
  }
2808
2849
 
2850
+ /**
2851
+ * Icon registry — a runtime map of icon names to SVG markup strings.
2852
+ *
2853
+ * Register only the icons you need for tree-shaking:
2854
+ *
2855
+ * import { registerIcon } from "@studious-creative/yumekit";
2856
+ * registerIcon("home", homeSvgString);
2857
+ *
2858
+ * Or register all bundled icons at once (separate import):
2859
+ *
2860
+ * import "@studious-creative/yumekit/icons/all.js";
2861
+ */
2862
+
2863
+ const icons = new Map();
2864
+
2865
+ function registerIcon(name, svg) {
2866
+ icons.set(name, svg);
2867
+ }
2868
+
2869
+ function registerIcons(entries) {
2870
+ for (const [name, svg] of Object.entries(entries)) {
2871
+ icons.set(name, svg);
2872
+ }
2873
+ }
2874
+
2875
+ function getIcon(name) {
2876
+ return icons.get(name) || "";
2877
+ }
2878
+
2879
+ // Allowlist-based SVG sanitizer — only known-safe elements and attributes are kept.
2880
+ const ALLOWED_ELEMENTS = new Set([
2881
+ "svg",
2882
+ "g",
2883
+ "path",
2884
+ "circle",
2885
+ "ellipse",
2886
+ "rect",
2887
+ "line",
2888
+ "polyline",
2889
+ "polygon",
2890
+ "text",
2891
+ "tspan",
2892
+ "defs",
2893
+ "clippath",
2894
+ "mask",
2895
+ "lineargradient",
2896
+ "radialgradient",
2897
+ "stop",
2898
+ "symbol",
2899
+ "title",
2900
+ "desc",
2901
+ "metadata",
2902
+ ]);
2903
+
2904
+ const ALLOWED_ATTRS = new Set([
2905
+ "viewbox",
2906
+ "xmlns",
2907
+ "fill",
2908
+ "stroke",
2909
+ "stroke-width",
2910
+ "stroke-linecap",
2911
+ "stroke-linejoin",
2912
+ "stroke-dasharray",
2913
+ "stroke-dashoffset",
2914
+ "stroke-miterlimit",
2915
+ "stroke-opacity",
2916
+ "fill-opacity",
2917
+ "fill-rule",
2918
+ "clip-rule",
2919
+ "opacity",
2920
+ "d",
2921
+ "cx",
2922
+ "cy",
2923
+ "r",
2924
+ "rx",
2925
+ "ry",
2926
+ "x",
2927
+ "x1",
2928
+ "x2",
2929
+ "y",
2930
+ "y1",
2931
+ "y2",
2932
+ "width",
2933
+ "height",
2934
+ "points",
2935
+ "transform",
2936
+ "id",
2937
+ "class",
2938
+ "clip-path",
2939
+ "mask",
2940
+ "offset",
2941
+ "stop-color",
2942
+ "stop-opacity",
2943
+ "gradient-units",
2944
+ "gradienttransform",
2945
+ "gradientunits",
2946
+ "spreadmethod",
2947
+ "patternunits",
2948
+ "patterntransform",
2949
+ "font-size",
2950
+ "font-family",
2951
+ "font-weight",
2952
+ "text-anchor",
2953
+ "dominant-baseline",
2954
+ "alignment-baseline",
2955
+ "dx",
2956
+ "dy",
2957
+ "rotate",
2958
+ "textlength",
2959
+ "lengthadjust",
2960
+ "display",
2961
+ "visibility",
2962
+ "color",
2963
+ "vector-effect",
2964
+ ]);
2965
+
2966
+ function sanitizeSvg(raw) {
2967
+ if (!raw) return "";
2968
+ const doc = new DOMParser().parseFromString(raw, "image/svg+xml");
2969
+ const svg = doc.querySelector("svg");
2970
+ if (!svg) return "";
2971
+
2972
+ const walk = (el) => {
2973
+ for (const child of [...el.children]) {
2974
+ if (!ALLOWED_ELEMENTS.has(child.tagName.toLowerCase())) {
2975
+ child.remove();
2976
+ continue;
2977
+ }
2978
+ for (const attr of [...child.attributes]) {
2979
+ if (!ALLOWED_ATTRS.has(attr.name.toLowerCase())) {
2980
+ child.removeAttribute(attr.name);
2981
+ }
2982
+ }
2983
+ walk(child);
2984
+ }
2985
+ };
2986
+
2987
+ // Sanitize the <svg> element's own attributes
2988
+ for (const attr of [...svg.attributes]) {
2989
+ if (!ALLOWED_ATTRS.has(attr.name.toLowerCase())) {
2990
+ svg.removeAttribute(attr.name);
2991
+ }
2992
+ }
2993
+ walk(svg);
2994
+ return svg.outerHTML;
2995
+ }
2996
+
2997
+ // Cache sanitized SVG markup per icon name to avoid repeated DOMParser + DOM-walk
2998
+ // on every render. The cache is naturally bounded by the number of registered icons.
2999
+ const sanitizedSvgCache = new Map();
3000
+
3001
+ function getCachedSvg(name) {
3002
+ if (sanitizedSvgCache.has(name)) {
3003
+ return sanitizedSvgCache.get(name);
3004
+ }
3005
+ const result = sanitizeSvg(getIcon(name));
3006
+ sanitizedSvgCache.set(name, result);
3007
+ return result;
3008
+ }
3009
+
3010
+ class YumeIcon extends HTMLElement {
3011
+ static get observedAttributes() {
3012
+ return ["name", "size", "color", "label"];
3013
+ }
3014
+
3015
+ constructor() {
3016
+ super();
3017
+ this.attachShadow({ mode: "open" });
3018
+ }
3019
+
3020
+ connectedCallback() {
3021
+ this.render();
3022
+ }
3023
+
3024
+ attributeChangedCallback(name, oldVal, newVal) {
3025
+ if (oldVal === newVal) return;
3026
+ this.render();
3027
+ }
3028
+
3029
+ get name() {
3030
+ return this.getAttribute("name") || "";
3031
+ }
3032
+ set name(val) {
3033
+ this.setAttribute("name", val);
3034
+ }
3035
+
3036
+ get size() {
3037
+ return this.getAttribute("size") || "medium";
3038
+ }
3039
+ set size(val) {
3040
+ this.setAttribute("size", val);
3041
+ }
3042
+
3043
+ get color() {
3044
+ return this.getAttribute("color") || "base";
3045
+ }
3046
+ set color(val) {
3047
+ this.setAttribute("color", val);
3048
+ }
3049
+
3050
+ get label() {
3051
+ return this.getAttribute("label") || "";
3052
+ }
3053
+ set label(val) {
3054
+ if (val) this.setAttribute("label", val);
3055
+ else this.removeAttribute("label");
3056
+ }
3057
+
3058
+ _getColor(color) {
3059
+ const map = {
3060
+ base: "var(--base-content--, #f7f7fa)",
3061
+ primary: "var(--primary-content--, #0576ff)",
3062
+ secondary: "var(--secondary-content--, #04b8b8)",
3063
+ success: "var(--success-content--, #2dba73)",
3064
+ warning: "var(--warning-content--, #d17f04)",
3065
+ error: "var(--error-content--, #b80421)",
3066
+ help: "var(--help-content--, #5405ff)",
3067
+ };
3068
+ return map[color] || map.base;
3069
+ }
3070
+
3071
+ _getSize(size) {
3072
+ const map = {
3073
+ small: "var(--component-icon-size-small, 16px)",
3074
+ medium: "var(--component-icon-size-medium, 24px)",
3075
+ large: "var(--component-icon-size-large, 32px)",
3076
+ };
3077
+ return map[size] || map.medium;
3078
+ }
3079
+
3080
+ render() {
3081
+ const svg = getCachedSvg(this.name);
3082
+ const sizeVal = this._getSize(this.size);
3083
+ const colorVal = this._getColor(this.color);
3084
+ const label = this.label;
3085
+
3086
+ if (label) {
3087
+ this.setAttribute("role", "img");
3088
+ this.setAttribute("aria-label", label);
3089
+ this.removeAttribute("aria-hidden");
3090
+ } else {
3091
+ this.setAttribute("aria-hidden", "true");
3092
+ this.removeAttribute("role");
3093
+ this.removeAttribute("aria-label");
3094
+ }
3095
+
3096
+ this.shadowRoot.innerHTML = `
3097
+ <style>
3098
+ :host {
3099
+ display: inline-flex;
3100
+ align-items: center;
3101
+ justify-content: center;
3102
+ width: ${sizeVal};
3103
+ height: ${sizeVal};
3104
+ color: ${colorVal};
3105
+ line-height: 0;
3106
+ }
3107
+ .icon-wrapper svg {
3108
+ width: 100%;
3109
+ height: 100%;
3110
+ }
3111
+ </style>
3112
+ <span class="icon-wrapper" part="icon">${svg}</span>
3113
+ `;
3114
+ }
3115
+ }
3116
+
3117
+ if (!customElements.get("y-icon")) {
3118
+ customElements.define("y-icon", YumeIcon);
3119
+ }
3120
+
2809
3121
  class YumeInput extends HTMLElement {
2810
3122
  static formAssociated = true;
2811
3123
 
@@ -3101,7 +3413,12 @@ class YumePanel extends HTMLElement {
3101
3413
  if (!this._expanded) {
3102
3414
  const parentBar = this.closest("y-panelbar");
3103
3415
  if (parentBar && parentBar.hasAttribute("exclusive")) {
3104
- const siblingPanels = parentBar.querySelectorAll("y-panel");
3416
+ const parent = this.parentElement;
3417
+ const siblingPanels = parent
3418
+ ? Array.from(parent.children).filter(
3419
+ (el) => el.tagName === "Y-PANEL",
3420
+ )
3421
+ : [];
3105
3422
  siblingPanels.forEach((panel) => {
3106
3423
  if (panel !== this && panel.expanded) {
3107
3424
  panel.collapse();
@@ -3153,9 +3470,19 @@ class YumePanel extends HTMLElement {
3153
3470
  }
3154
3471
 
3155
3472
  updateChildState() {
3156
- const parentPanel = this.parentElement?.closest("y-panel");
3157
- const isChild = Boolean(parentPanel && parentPanel !== this);
3158
- this.setAttribute("data-is-child", isChild ? "true" : "false");
3473
+ let depth = 0;
3474
+ let el = this.parentElement;
3475
+ while (el) {
3476
+ const parent = el.closest("y-panel");
3477
+ if (parent && parent !== this) {
3478
+ depth++;
3479
+ el = parent.parentElement;
3480
+ } else {
3481
+ break;
3482
+ }
3483
+ }
3484
+ this.setAttribute("data-is-child", depth > 0 ? "true" : "false");
3485
+ this.style.setProperty("--panel-depth", depth);
3159
3486
  }
3160
3487
 
3161
3488
  checkRouteMatch() {
@@ -3171,7 +3498,8 @@ class YumePanel extends HTMLElement {
3171
3498
  const header = this.shadowRoot.querySelector(".header");
3172
3499
  if (!header) return;
3173
3500
 
3174
- header.addEventListener("click", () => {
3501
+ header.addEventListener("click", (e) => {
3502
+ e.stopPropagation();
3175
3503
  if (this.hasAttribute("href")) {
3176
3504
  const href = this.getAttribute("href");
3177
3505
  if (this.getAttribute("history") !== "false") {
@@ -3281,7 +3609,7 @@ class YumePanel extends HTMLElement {
3281
3609
  }
3282
3610
 
3283
3611
  :host([data-is-child="true"]) .header {
3284
- padding-left: calc(var(--component-panelbar-padding, 4px) * 2);
3612
+ padding-left: calc(var(--component-panelbar-padding, 4px) + (var(--panel-depth, 1) * var(--component-panelbar-indent, 16px)));
3285
3613
  }
3286
3614
 
3287
3615
  .header {
@@ -3924,6 +4252,7 @@ class YumeSelect extends HTMLElement {
3924
4252
  "placeholder",
3925
4253
  "options",
3926
4254
  "display-mode",
4255
+ "close-on-click-outside",
3927
4256
  ];
3928
4257
  }
3929
4258
 
@@ -3932,6 +4261,7 @@ class YumeSelect extends HTMLElement {
3932
4261
  this._internals = this.attachInternals();
3933
4262
  this.attachShadow({ mode: "open" });
3934
4263
  this.selectedValues = new Set();
4264
+ this._onDocumentClick = this._onDocumentClick.bind(this);
3935
4265
  this.render();
3936
4266
  }
3937
4267
 
@@ -3943,6 +4273,18 @@ class YumeSelect extends HTMLElement {
3943
4273
  this._internals.setFormValue(this.value);
3944
4274
  }
3945
4275
 
4276
+ disconnectedCallback() {
4277
+ this.closeDropdown();
4278
+ }
4279
+
4280
+ _onDocumentClick(e) {
4281
+ if (this.getAttribute("close-on-click-outside") === "false") return;
4282
+ const path = e.composedPath();
4283
+ if (!path.includes(this) && this.dropdown?.classList.contains("open")) {
4284
+ this.closeDropdown();
4285
+ }
4286
+ }
4287
+
3946
4288
  attributeChangedCallback(name, oldValue, newValue) {
3947
4289
  if (oldValue === newValue) return;
3948
4290
 
@@ -4041,15 +4383,18 @@ class YumeSelect extends HTMLElement {
4041
4383
  this._onScrollOrResize = this._positionDropdown.bind(this);
4042
4384
  window.addEventListener("scroll", this._onScrollOrResize, true);
4043
4385
  window.addEventListener("resize", this._onScrollOrResize);
4386
+ document.addEventListener("click", this._onDocumentClick, true);
4044
4387
  }
4045
4388
  }
4046
4389
 
4047
4390
  closeDropdown() {
4048
- this.dropdown.classList.remove("open");
4049
- this.selectContainer.classList.remove("open");
4391
+ this.dropdown?.classList.remove("open");
4392
+ this.selectContainer?.classList.remove("open");
4393
+ document.removeEventListener("click", this._onDocumentClick, true);
4050
4394
  if (this._onScrollOrResize) {
4051
4395
  window.removeEventListener("scroll", this._onScrollOrResize, true);
4052
4396
  window.removeEventListener("resize", this._onScrollOrResize);
4397
+ this._onScrollOrResize = null;
4053
4398
  }
4054
4399
  }
4055
4400
 
@@ -4209,6 +4554,7 @@ class YumeSelect extends HTMLElement {
4209
4554
  }
4210
4555
 
4211
4556
  render() {
4557
+ this.closeDropdown();
4212
4558
  this.applyStyles();
4213
4559
  this.shadowRoot.innerHTML = this.generateTemplate();
4214
4560
  this.queryRefs();
@@ -4282,7 +4628,7 @@ class YumeSelect extends HTMLElement {
4282
4628
 
4283
4629
  .dropdown {
4284
4630
  position: fixed;
4285
- z-index: 9999;
4631
+ z-index: var(--component-select-z-index, 6000);
4286
4632
  background: var(--component-select-background);
4287
4633
  border: var(--component-inputs-border-width) solid var(--component-select-border-color);
4288
4634
  border-radius: var(--component-inputs-border-radius-outer);
@@ -5251,12 +5597,12 @@ class YumeTable extends HTMLElement {
5251
5597
 
5252
5598
  const topColor =
5253
5599
  dir === "asc"
5254
- ? "var(--component-table-color, #333)"
5255
- : "var(--component-table-color-light, #bbb)";
5600
+ ? "var(--component-table-color, #f7f7fa)"
5601
+ : "var(--component-table-color-light, #acaeb2)";
5256
5602
  const bottomColor =
5257
5603
  dir === "desc"
5258
- ? "var(--component-table-color, #333)"
5259
- : "var(--component-table-color-light, #bbb)";
5604
+ ? "var(--component-table-color, #f7f7fa)"
5605
+ : "var(--component-table-color-light, #acaeb2)";
5260
5606
 
5261
5607
  return sortArrows(topColor, bottomColor);
5262
5608
  }
@@ -5276,7 +5622,7 @@ class YumeTable extends HTMLElement {
5276
5622
  :host {
5277
5623
  display: block;
5278
5624
  font-family: var(--font-family-body, sans-serif);
5279
- color: var(--component-table-color, #000);
5625
+ color: var(--component-table-color, #f7f7fa);
5280
5626
  }
5281
5627
 
5282
5628
  .table-wrapper {
@@ -5297,7 +5643,7 @@ class YumeTable extends HTMLElement {
5297
5643
  font-size: var(--font-size-paragraph, 1em);
5298
5644
  white-space: nowrap;
5299
5645
  background: transparent;
5300
- border-bottom: var(--component-table-border-width-header, 2px) solid var(--component-table-border-color, #ccc);
5646
+ border-bottom: var(--component-table-border-width-header, 2px) solid var(--component-table-border-color, #37383a);
5301
5647
  user-select: none;
5302
5648
  }
5303
5649
 
@@ -5306,7 +5652,7 @@ class YumeTable extends HTMLElement {
5306
5652
  }
5307
5653
 
5308
5654
  thead th.sortable:hover {
5309
- background: var(--component-table-hover-background, #f5f5f5);
5655
+ background: var(--component-table-hover-background, #292a2b);
5310
5656
  }
5311
5657
 
5312
5658
  .th-content {
@@ -5323,7 +5669,7 @@ class YumeTable extends HTMLElement {
5323
5669
  tbody td {
5324
5670
  padding: ${paddingVar};
5325
5671
  font-size: var(--font-size-paragraph, 1em);
5326
- border-bottom: var(--component-table-border-width, 2px) solid var(--component-table-border-color, #ccc);
5672
+ border-bottom: var(--component-table-border-width, 2px) solid var(--component-table-border-color, #37383a);
5327
5673
  }
5328
5674
 
5329
5675
  tbody tr:last-child td {
@@ -5337,13 +5683,13 @@ class YumeTable extends HTMLElement {
5337
5683
  ${
5338
5684
  striped
5339
5685
  ? `tbody tr:nth-child(even) {
5340
- background: var(--component-table-hover-background, #f9f9f9);
5686
+ background: var(--component-table-hover-background, #292a2b);
5341
5687
  }`
5342
5688
  : ""
5343
5689
  }
5344
5690
 
5345
5691
  tbody tr:hover {
5346
- background: var(--component-table-active-background, #eee);
5692
+ background: var(--component-table-active-background, #46474a);
5347
5693
  }
5348
5694
  `;
5349
5695
  this.shadowRoot.appendChild(style);
@@ -5491,40 +5837,47 @@ class YumeTag extends HTMLElement {
5491
5837
  "--primary-content--",
5492
5838
  "--primary-content-hover",
5493
5839
  "--primary-background-component",
5840
+ "--primary-content-inverse",
5494
5841
  ],
5495
5842
  secondary: [
5496
5843
  "--secondary-content--",
5497
5844
  "--secondary-content-hover",
5498
5845
  "--secondary-background-component",
5846
+ "--secondary-content-inverse",
5499
5847
  ],
5500
5848
  base: [
5501
5849
  "--base-content--",
5502
5850
  "--base-content-lighter",
5503
5851
  "--base-background-component",
5852
+ "--base-content-inverse",
5504
5853
  ],
5505
5854
  success: [
5506
5855
  "--success-content--",
5507
5856
  "--success-content-hover",
5508
5857
  "--success-background-component",
5858
+ "--success-content-inverse",
5509
5859
  ],
5510
5860
  error: [
5511
5861
  "--error-content--",
5512
5862
  "--error-content-hover",
5513
5863
  "--error-background-component",
5864
+ "--error-content-inverse",
5514
5865
  ],
5515
5866
  warning: [
5516
5867
  "--warning-content--",
5517
5868
  "--warning-content-hover",
5518
5869
  "--warning-background-component",
5870
+ "--warning-content-inverse",
5519
5871
  ],
5520
5872
  help: [
5521
5873
  "--help-content--",
5522
5874
  "--help-content-hover",
5523
5875
  "--help-background-component",
5876
+ "--help-content-inverse",
5524
5877
  ],
5525
5878
  };
5526
5879
 
5527
- const [content, hover, background] = vars[color] || vars.base;
5880
+ const [content, hover, background, inverse] = vars[color] || vars.base;
5528
5881
 
5529
5882
  const borderRadius =
5530
5883
  shape === "round"
@@ -5561,10 +5914,10 @@ class YumeTag extends HTMLElement {
5561
5914
  filled: `
5562
5915
  .tag {
5563
5916
  background: var(${content});
5564
- color: var(${background});
5917
+ color: var(${inverse});
5565
5918
  }
5566
5919
  .remove {
5567
- color: var(${background});
5920
+ color: var(${inverse});
5568
5921
  }
5569
5922
  `,
5570
5923
  outlined: `
@@ -6041,7 +6394,7 @@ class YumeToast extends HTMLElement {
6041
6394
 
6042
6395
  _getPositionStyles() {
6043
6396
  const pos = this.position;
6044
- const base = `position: fixed; z-index: 10000; display: flex; flex-direction: column; gap: var(--spacing-small, 6px); pointer-events: none; max-width: 420px; min-width: 280px;`;
6397
+ const base = `position: fixed; z-index: var(--component-toast-z-index, 9000); display: flex; flex-direction: column; gap: var(--spacing-small, 6px); pointer-events: none; max-width: 420px; min-width: 280px;`;
6045
6398
  const pad = `var(--component-toast-offset, var(--spacing-x-large, 16px))`;
6046
6399
 
6047
6400
  const map = {
@@ -6282,7 +6635,7 @@ class YumeTooltip extends HTMLElement {
6282
6635
 
6283
6636
  .tooltip {
6284
6637
  position: absolute;
6285
- z-index: 9999;
6638
+ z-index: var(--component-tooltip-z-index, 7000);
6286
6639
  white-space: nowrap;
6287
6640
  pointer-events: none;
6288
6641
  opacity: 0;
@@ -6381,13 +6734,13 @@ if (!customElements.get("y-tooltip")) {
6381
6734
  customElements.define("y-tooltip", YumeTooltip);
6382
6735
  }
6383
6736
 
6384
- var blueLightCSS = "/* Themes - Blue Light */\n:root {\n --base-background-app: var(--neutral-light-1);\n --base-background-component: var(--neutral-light-0);\n --base-background-hover: var(--neutral-light-2);\n --base-background-border: var(--neutral-light-3);\n --base-background-active: var(--neutral-light-4);\n --base-content--: var(--neutral-dark-0);\n --base-content-light: var(--neutral-dark-1);\n --base-content-lighter: var(--neutral-dark-3);\n --base-content-lightest: var(--neutral-dark-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--blue-light-1);\n --primary-background-component: var(--blue-light-0);\n --primary-background-hover: var(--blue-light-2);\n --primary-background-active: var(--blue-light-3);\n --primary-background-border: var(--blue-light-4);\n --primary-content--: var(--blue--);\n --primary-content-hover: var(--blue-dark-7);\n --primary-content-active: var(--blue-dark-6);\n --secondary-background-app: var(--teal-light-1);\n --secondary-background-component: var(--teal-light-0);\n --secondary-background-hover: var(--teal-light-2);\n --secondary-background-border: var(--teal-light-3);\n --secondary-background-active: var(--teal-light-4);\n --secondary-content--: var(--teal--);\n --secondary-content-hover: var(--teal-dark-7);\n --secondary-content-active: var(--teal-dark-6);\n --success-background-app: var(--green-light-1);\n --success-background-component: var(--green-light-0);\n --success-background-hover: var(--green-light-2);\n --success-background-border: var(--green-light-3);\n --success-background-active: var(--green-light-4);\n --success-content--: var(--green--);\n --success-content-hover: var(--green-dark-7);\n --success-content-active: var(--green-dark-6);\n --warning-background-app: var(--yellow-light-1);\n --warning-background-component: var(--yellow-light-0);\n --warning-background-hover: var(--yellow-light-2);\n --warning-background-border: var(--yellow-light-3);\n --warning-background-active: var(--yellow-light-4);\n --warning-content--: var(--yellow--);\n --warning-content-hover: var(--yellow-dark-7);\n --warning-content-active: var(--yellow-dark-6);\n --error-background-app: var(--red-light-1);\n --error-background-component: var(--red-light-0);\n --error-background-hover: var(--red-light-2);\n --error-background-border: var(--red-light-3);\n --error-background-active: var(--red-light-4);\n --error-content--: var(--red--);\n --error-content-hover: var(--red-dark-7);\n --error-content-active: var(--red-dark-6);\n --help-background-app: var(--indigo-light-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-light-2);\n --help-background-active: var(--indigo-light-3);\n --help-background-border: var(--indigo-light-4);\n --help-content--: var(--indigo--);\n --help-content-hover: var(--indigo-dark-7);\n --help-content-active: var(--indigo-dark-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6737
+ var blueLightCSS = "/* Themes - Blue Light */\n:root {\n --base-background-app: var(--neutral-light-1);\n --base-background-component: var(--neutral-light-0);\n --base-background-hover: var(--neutral-light-2);\n --base-background-border: var(--neutral-light-3);\n --base-background-active: var(--neutral-light-4);\n --base-content--: var(--neutral-dark-0);\n --base-content-inverse: var(--neutral-white);\n --base-content-light: var(--neutral-dark-1);\n --base-content-lighter: var(--neutral-dark-3);\n --base-content-lightest: var(--neutral-dark-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--blue-light-1);\n --primary-background-component: var(--blue-light-0);\n --primary-background-hover: var(--blue-light-2);\n --primary-background-active: var(--blue-light-3);\n --primary-background-border: var(--blue-light-4);\n --primary-content--: var(--blue--);\n --primary-content-inverse: var(--neutral-white);\n --primary-content-hover: var(--blue-dark-7);\n --primary-content-active: var(--blue-dark-6);\n --secondary-background-app: var(--teal-light-1);\n --secondary-background-component: var(--teal-light-0);\n --secondary-background-hover: var(--teal-light-2);\n --secondary-background-border: var(--teal-light-3);\n --secondary-background-active: var(--teal-light-4);\n --secondary-content--: var(--teal--);\n --secondary-content-inverse: var(--neutral-black);\n --secondary-content-hover: var(--teal-dark-7);\n --secondary-content-active: var(--teal-dark-6);\n --success-background-app: var(--green-light-1);\n --success-background-component: var(--green-light-0);\n --success-background-hover: var(--green-light-2);\n --success-background-border: var(--green-light-3);\n --success-background-active: var(--green-light-4);\n --success-content--: var(--green--);\n --success-content-inverse: var(--neutral-black);\n --success-content-hover: var(--green-dark-7);\n --success-content-active: var(--green-dark-6);\n --warning-background-app: var(--yellow-light-1);\n --warning-background-component: var(--yellow-light-0);\n --warning-background-hover: var(--yellow-light-2);\n --warning-background-border: var(--yellow-light-3);\n --warning-background-active: var(--yellow-light-4);\n --warning-content--: var(--yellow--);\n --warning-content-inverse: var(--neutral-black);\n --warning-content-hover: var(--yellow-dark-7);\n --warning-content-active: var(--yellow-dark-6);\n --error-background-app: var(--red-light-1);\n --error-background-component: var(--red-light-0);\n --error-background-hover: var(--red-light-2);\n --error-background-border: var(--red-light-3);\n --error-background-active: var(--red-light-4);\n --error-content--: var(--red--);\n --error-content-inverse: var(--neutral-white);\n --error-content-hover: var(--red-dark-7);\n --error-content-active: var(--red-dark-6);\n --help-background-app: var(--indigo-light-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-light-2);\n --help-background-active: var(--indigo-light-3);\n --help-background-border: var(--indigo-light-4);\n --help-content--: var(--indigo--);\n --help-content-inverse: var(--neutral-white);\n --help-content-hover: var(--indigo-dark-7);\n --help-content-active: var(--indigo-dark-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-appbar-border-width: var(--component-sidebar-border-width);\n --component-appbar-border-radius: var(--component-sidebar-border-radius);\n --component-appbar-inner-border-width: var(\n --component-sidebar-border-width\n );\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-dialog-shadow: var(--base-shadow);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --component-tabs-font-family: var(--font-family-body);\n --component-slider-width: 129px;\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6385
6738
 
6386
- var blueDarkCSS = "/* Themes - Blue Dark */\n:root {\n --base-background-app: var(--neutral-dark-1);\n --base-background-component: var(--neutral-dark-0);\n --base-background-hover: var(--neutral-dark-2);\n --base-background-border: var(--neutral-dark-3);\n --base-background-active: var(--neutral-dark-4);\n --base-content--: var(--neutral-light-0);\n --base-content-light: var(--neutral-light-1);\n --base-content-lighter: var(--neutral-light-3);\n --base-content-lightest: var(--neutral-light-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--blue-dark-1);\n --primary-background-component: var(--blue-dark-0);\n --primary-background-hover: var(--blue-dark-2);\n --primary-background-active: var(--blue-dark-3);\n --primary-background-border: var(--blue-dark-4);\n --primary-content--: var(--blue--);\n --primary-content-hover: var(--blue-light-7);\n --primary-content-active: var(--blue-light-6);\n --secondary-background-app: var(--teal-dark-1);\n --secondary-background-component: var(--teal-dark-0);\n --secondary-background-hover: var(--teal-dark-2);\n --secondary-background-border: var(--teal-dark-3);\n --secondary-background-active: var(--teal-dark-4);\n --secondary-content--: var(--teal--);\n --secondary-content-hover: var(--teal-light-7);\n --secondary-content-active: var(--teal-light-6);\n --success-background-app: var(--green-dark-1);\n --success-background-component: var(--green-dark-0);\n --success-background-hover: var(--green-dark-2);\n --success-background-border: var(--green-dark-3);\n --success-background-active: var(--green-dark-4);\n --success-content--: var(--green--);\n --success-content-hover: var(--green-light-7);\n --success-content-active: var(--green-light-6);\n --warning-background-app: var(--yellow-dark-1);\n --warning-background-component: var(--yellow-dark-0);\n --warning-background-hover: var(--yellow-dark-2);\n --warning-background-border: var(--yellow-dark-3);\n --warning-background-active: var(--yellow-dark-4);\n --warning-content--: var(--yellow--);\n --warning-content-hover: var(--yellow-light-7);\n --warning-content-active: var(--yellow-light-6);\n --error-background-app: var(--red-dark-1);\n --error-background-component: var(--red-dark-0);\n --error-background-hover: var(--red-dark-2);\n --error-background-border: var(--red-dark-3);\n --error-background-active: var(--red-dark-4);\n --error-content--: var(--red--);\n --error-content-hover: var(--red-light-7);\n --error-content-active: var(--red-light-6);\n --help-background-app: var(--indigo-dark-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-dark-2);\n --help-background-active: var(--indigo-dark-3);\n --help-background-border: var(--indigo-dark-4);\n --help-content--: var(--indigo--);\n --help-content-hover: var(--indigo-light-7);\n --help-content-active: var(--indigo-light-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6739
+ var blueDarkCSS = "/* Themes - Blue Dark */\n:root {\n --base-background-app: var(--neutral-dark-1);\n --base-background-component: var(--neutral-dark-0);\n --base-background-hover: var(--neutral-dark-2);\n --base-background-border: var(--neutral-dark-3);\n --base-background-active: var(--neutral-dark-4);\n --base-content--: var(--neutral-light-0);\n --base-content-inverse: var(--neutral-black);\n --base-content-light: var(--neutral-light-1);\n --base-content-lighter: var(--neutral-light-3);\n --base-content-lightest: var(--neutral-light-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--blue-dark-1);\n --primary-background-component: var(--blue-dark-0);\n --primary-background-hover: var(--blue-dark-2);\n --primary-background-active: var(--blue-dark-3);\n --primary-background-border: var(--blue-dark-4);\n --primary-content--: var(--blue--);\n --primary-content-inverse: var(--neutral-white);\n --primary-content-hover: var(--blue-light-7);\n --primary-content-active: var(--blue-light-6);\n --secondary-background-app: var(--teal-dark-1);\n --secondary-background-component: var(--teal-dark-0);\n --secondary-background-hover: var(--teal-dark-2);\n --secondary-background-border: var(--teal-dark-3);\n --secondary-background-active: var(--teal-dark-4);\n --secondary-content--: var(--teal--);\n --secondary-content-inverse: var(--neutral-black);\n --secondary-content-hover: var(--teal-light-7);\n --secondary-content-active: var(--teal-light-6);\n --success-background-app: var(--green-dark-1);\n --success-background-component: var(--green-dark-0);\n --success-background-hover: var(--green-dark-2);\n --success-background-border: var(--green-dark-3);\n --success-background-active: var(--green-dark-4);\n --success-content--: var(--green--);\n --success-content-inverse: var(--neutral-black);\n --success-content-hover: var(--green-light-7);\n --success-content-active: var(--green-light-6);\n --warning-background-app: var(--yellow-dark-1);\n --warning-background-component: var(--yellow-dark-0);\n --warning-background-hover: var(--yellow-dark-2);\n --warning-background-border: var(--yellow-dark-3);\n --warning-background-active: var(--yellow-dark-4);\n --warning-content--: var(--yellow--);\n --warning-content-inverse: var(--neutral-black);\n --warning-content-hover: var(--yellow-light-7);\n --warning-content-active: var(--yellow-light-6);\n --error-background-app: var(--red-dark-1);\n --error-background-component: var(--red-dark-0);\n --error-background-hover: var(--red-dark-2);\n --error-background-border: var(--red-dark-3);\n --error-background-active: var(--red-dark-4);\n --error-content--: var(--red--);\n --error-content-inverse: var(--neutral-white);\n --error-content-hover: var(--red-light-7);\n --error-content-active: var(--red-light-6);\n --help-background-app: var(--indigo-dark-1);\n --help-background-component: var(--indigo-dark-0);\n --help-background-hover: var(--indigo-dark-2);\n --help-background-active: var(--indigo-dark-3);\n --help-background-border: var(--indigo-dark-4);\n --help-content--: var(--indigo--);\n --help-content-inverse: var(--neutral-white);\n --help-content-hover: var(--indigo-light-7);\n --help-content-active: var(--indigo-light-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-appbar-border-width: var(--component-sidebar-border-width);\n --component-appbar-border-radius: var(--component-sidebar-border-radius);\n --component-appbar-inner-border-width: var(\n --component-sidebar-border-width\n );\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-dialog-shadow: var(--base-shadow);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --component-tabs-font-family: var(--font-family-body);\n --component-slider-width: 129px;\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6387
6740
 
6388
- var orangeLightCSS = "/* Themes - Orange Light */\n:root {\n --base-background-app: var(--neutral-light-1);\n --base-background-component: var(--neutral-light-0);\n --base-background-hover: var(--neutral-light-2);\n --base-background-border: var(--neutral-light-3);\n --base-background-active: var(--neutral-light-4);\n --base-content--: var(--neutral-dark-0);\n --base-content-light: var(--neutral-dark-1);\n --base-content-lighter: var(--neutral-dark-3);\n --base-content-lightest: var(--neutral-dark-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--orange-light-1);\n --primary-background-component: var(--orange-light-0);\n --primary-background-hover: var(--orange-light-2);\n --primary-background-active: var(--orange-light-3);\n --primary-background-border: var(--orange-light-4);\n --primary-content--: var(--orange--);\n --primary-content-hover: var(--orange-dark-7);\n --primary-content-active: var(--orange-dark-6);\n --secondary-background-app: var(--amber-light-1);\n --secondary-background-component: var(--amber-light-0);\n --secondary-background-hover: var(--amber-light-2);\n --secondary-background-border: var(--amber-light-3);\n --secondary-background-active: var(--amber-light-4);\n --secondary-content--: var(--amber--);\n --secondary-content-hover: var(--amber-dark-7);\n --secondary-content-active: var(--amber-dark-6);\n --success-background-app: var(--green-light-1);\n --success-background-component: var(--green-light-0);\n --success-background-hover: var(--green-light-2);\n --success-background-border: var(--green-light-3);\n --success-background-active: var(--green-light-4);\n --success-content--: var(--green--);\n --success-content-hover: var(--green-dark-7);\n --success-content-active: var(--green-dark-6);\n --warning-background-app: var(--yellow-light-1);\n --warning-background-component: var(--yellow-light-0);\n --warning-background-hover: var(--yellow-light-2);\n --warning-background-border: var(--yellow-light-3);\n --warning-background-active: var(--yellow-light-4);\n --warning-content--: var(--yellow--);\n --warning-content-hover: var(--yellow-dark-7);\n --warning-content-active: var(--yellow-dark-6);\n --error-background-app: var(--red-light-1);\n --error-background-component: var(--red-light-0);\n --error-background-hover: var(--red-light-2);\n --error-background-border: var(--red-light-3);\n --error-background-active: var(--red-light-4);\n --error-content--: var(--red--);\n --error-content-hover: var(--red-dark-7);\n --error-content-active: var(--red-dark-6);\n --help-background-app: var(--indigo-light-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-light-2);\n --help-background-active: var(--indigo-light-3);\n --help-background-border: var(--indigo-light-4);\n --help-content--: var(--indigo--);\n --help-content-hover: var(--indigo-dark-7);\n --help-content-active: var(--indigo-dark-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6741
+ var orangeLightCSS = "/* Themes - Orange Light */\n:root {\n --base-background-app: var(--neutral-light-1);\n --base-background-component: var(--neutral-light-0);\n --base-background-hover: var(--neutral-light-2);\n --base-background-border: var(--neutral-light-3);\n --base-background-active: var(--neutral-light-4);\n --base-content--: var(--neutral-dark-0);\n --base-content-inverse: var(--neutral-white);\n --base-content-light: var(--neutral-dark-1);\n --base-content-lighter: var(--neutral-dark-3);\n --base-content-lightest: var(--neutral-dark-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--orange-light-1);\n --primary-background-component: var(--orange-light-0);\n --primary-background-hover: var(--orange-light-2);\n --primary-background-active: var(--orange-light-3);\n --primary-background-border: var(--orange-light-4);\n --primary-content--: var(--orange--);\n --primary-content-inverse: var(--neutral-white);\n --primary-content-hover: var(--orange-dark-7);\n --primary-content-active: var(--orange-dark-6);\n --secondary-background-app: var(--amber-light-1);\n --secondary-background-component: var(--amber-light-0);\n --secondary-background-hover: var(--amber-light-2);\n --secondary-background-border: var(--amber-light-3);\n --secondary-background-active: var(--amber-light-4);\n --secondary-content--: var(--amber--);\n --secondary-content-inverse: var(--neutral-white);\n --secondary-content-hover: var(--amber-dark-7);\n --secondary-content-active: var(--amber-dark-6);\n --success-background-app: var(--green-light-1);\n --success-background-component: var(--green-light-0);\n --success-background-hover: var(--green-light-2);\n --success-background-border: var(--green-light-3);\n --success-background-active: var(--green-light-4);\n --success-content--: var(--green--);\n --success-content-inverse: var(--neutral-black);\n --success-content-hover: var(--green-dark-7);\n --success-content-active: var(--green-dark-6);\n --warning-background-app: var(--yellow-light-1);\n --warning-background-component: var(--yellow-light-0);\n --warning-background-hover: var(--yellow-light-2);\n --warning-background-border: var(--yellow-light-3);\n --warning-background-active: var(--yellow-light-4);\n --warning-content--: var(--yellow--);\n --warning-content-inverse: var(--neutral-black);\n --warning-content-hover: var(--yellow-dark-7);\n --warning-content-active: var(--yellow-dark-6);\n --error-background-app: var(--red-light-1);\n --error-background-component: var(--red-light-0);\n --error-background-hover: var(--red-light-2);\n --error-background-border: var(--red-light-3);\n --error-background-active: var(--red-light-4);\n --error-content--: var(--red--);\n --error-content-inverse: var(--neutral-white);\n --error-content-hover: var(--red-dark-7);\n --error-content-active: var(--red-dark-6);\n --help-background-app: var(--indigo-light-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-light-2);\n --help-background-active: var(--indigo-light-3);\n --help-background-border: var(--indigo-light-4);\n --help-content--: var(--indigo--);\n --help-content-inverse: var(--neutral-white);\n --help-content-hover: var(--indigo-dark-7);\n --help-content-active: var(--indigo-dark-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-appbar-border-width: var(--component-sidebar-border-width);\n --component-appbar-border-radius: var(--component-sidebar-border-radius);\n --component-appbar-inner-border-width: var(\n --component-sidebar-border-width\n );\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-dialog-shadow: var(--base-shadow);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --component-tabs-font-family: var(--font-family-body);\n --component-slider-width: 129px;\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6389
6742
 
6390
- var orangeDarkCSS = "/* Themes - Orange Dark */\n:root {\n --base-background-app: var(--neutral-dark-1);\n --base-background-component: var(--neutral-dark-0);\n --base-background-hover: var(--neutral-dark-2);\n --base-background-border: var(--neutral-dark-3);\n --base-background-active: var(--neutral-dark-4);\n --base-content--: var(--neutral-light-0);\n --base-content-light: var(--neutral-light-1);\n --base-content-lighter: var(--neutral-light-3);\n --base-content-lightest: var(--neutral-light-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--orange-dark-1);\n --primary-background-component: var(--orange-dark-0);\n --primary-background-hover: var(--orange-dark-2);\n --primary-background-active: var(--orange-dark-3);\n --primary-background-border: var(--orange-dark-4);\n --primary-content--: var(--orange--);\n --primary-content-hover: var(--orange-light-7);\n --primary-content-active: var(--orange-light-6);\n --secondary-background-app: var(--amber-dark-1);\n --secondary-background-component: var(--amber-light-0);\n --secondary-background-hover: var(--amber-dark-2);\n --secondary-background-border: var(--amber-dark-3);\n --secondary-background-active: var(--amber-dark-4);\n --secondary-content--: var(--amber--);\n --secondary-content-hover: var(--amber-light-7);\n --secondary-content-active: var(--amber-light-6);\n --success-background-app: var(--green-dark-1);\n --success-background-component: var(--green-dark-0);\n --success-background-hover: var(--green-dark-2);\n --success-background-border: var(--green-dark-3);\n --success-background-active: var(--green-dark-4);\n --success-content--: var(--green--);\n --success-content-hover: var(--green-light-7);\n --success-content-active: var(--green-light-6);\n --warning-background-app: var(--yellow-dark-1);\n --warning-background-component: var(--yellow-dark-0);\n --warning-background-hover: var(--yellow-dark-2);\n --warning-background-border: var(--yellow-dark-3);\n --warning-background-active: var(--yellow-dark-4);\n --warning-content--: var(--yellow--);\n --warning-content-hover: var(--yellow-light-7);\n --warning-content-active: var(--yellow-light-6);\n --error-background-app: var(--red-dark-1);\n --error-background-component: var(--red-dark-0);\n --error-background-hover: var(--red-dark-2);\n --error-background-border: var(--red-dark-3);\n --error-background-active: var(--red-dark-4);\n --error-content--: var(--red--);\n --error-content-hover: var(--red-light-7);\n --error-content-active: var(--red-light-6);\n --help-background-app: var(--indigo-dark-1);\n --help-background-component: var(--indigo-light-0);\n --help-background-hover: var(--indigo-dark-2);\n --help-background-active: var(--indigo-dark-3);\n --help-background-border: var(--indigo-dark-4);\n --help-content--: var(--indigo--);\n --help-content-hover: var(--indigo-light-7);\n --help-content-active: var(--indigo-light-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6743
+ var orangeDarkCSS = "/* Themes - Orange Dark */\n:root {\n --base-background-app: var(--neutral-dark-1);\n --base-background-component: var(--neutral-dark-0);\n --base-background-hover: var(--neutral-dark-2);\n --base-background-border: var(--neutral-dark-3);\n --base-background-active: var(--neutral-dark-4);\n --base-content--: var(--neutral-light-0);\n --base-content-inverse: var(--neutral-black);\n --base-content-light: var(--neutral-light-1);\n --base-content-lighter: var(--neutral-light-3);\n --base-content-lightest: var(--neutral-light-5);\n --base-shadow: 0 2px 6px var(--neutral-black-translucent);\n --primary-background-app: var(--orange-dark-1);\n --primary-background-component: var(--orange-dark-0);\n --primary-background-hover: var(--orange-dark-2);\n --primary-background-active: var(--orange-dark-3);\n --primary-background-border: var(--orange-dark-4);\n --primary-content--: var(--orange--);\n --primary-content-inverse: var(--neutral-white);\n --primary-content-hover: var(--orange-light-7);\n --primary-content-active: var(--orange-light-6);\n --secondary-background-app: var(--amber-dark-1);\n --secondary-background-component: var(--amber-dark-0);\n --secondary-background-hover: var(--amber-dark-2);\n --secondary-background-border: var(--amber-dark-3);\n --secondary-background-active: var(--amber-dark-4);\n --secondary-content--: var(--amber--);\n --secondary-content-inverse: var(--neutral-white);\n --secondary-content-hover: var(--amber-light-7);\n --secondary-content-active: var(--amber-light-6);\n --success-background-app: var(--green-dark-1);\n --success-background-component: var(--green-dark-0);\n --success-background-hover: var(--green-dark-2);\n --success-background-border: var(--green-dark-3);\n --success-background-active: var(--green-dark-4);\n --success-content--: var(--green--);\n --success-content-inverse: var(--neutral-black);\n --success-content-hover: var(--green-light-7);\n --success-content-active: var(--green-light-6);\n --warning-background-app: var(--yellow-dark-1);\n --warning-background-component: var(--yellow-dark-0);\n --warning-background-hover: var(--yellow-dark-2);\n --warning-background-border: var(--yellow-dark-3);\n --warning-background-active: var(--yellow-dark-4);\n --warning-content--: var(--yellow--);\n --warning-content-inverse: var(--neutral-black);\n --warning-content-hover: var(--yellow-light-7);\n --warning-content-active: var(--yellow-light-6);\n --error-background-app: var(--red-dark-1);\n --error-background-component: var(--red-dark-0);\n --error-background-hover: var(--red-dark-2);\n --error-background-border: var(--red-dark-3);\n --error-background-active: var(--red-dark-4);\n --error-content--: var(--red--);\n --error-content-inverse: var(--neutral-white);\n --error-content-hover: var(--red-light-7);\n --error-content-active: var(--red-light-6);\n --help-background-app: var(--indigo-dark-1);\n --help-background-component: var(--indigo-dark-0);\n --help-background-hover: var(--indigo-dark-2);\n --help-background-active: var(--indigo-dark-3);\n --help-background-border: var(--indigo-dark-4);\n --help-content--: var(--indigo--);\n --help-content-inverse: var(--neutral-white);\n --help-content-hover: var(--indigo-light-7);\n --help-content-active: var(--indigo-light-6);\n --component-appbar-background: var(--base-background-component);\n --component-appbar-color: var(--base-content--);\n --component-appbar-border-color: var(--base-background-border);\n --component-appbar-border-width: var(--component-sidebar-border-width);\n --component-appbar-border-radius: var(--component-sidebar-border-radius);\n --component-appbar-inner-border-width: var(\n --component-sidebar-border-width\n );\n --component-checkbox-background: var(--base-background-component);\n --component-checkbox-color: var(--base-content--);\n --component-checkbox-border-color: var(--base-content--);\n --component-checkbox-accent: var(--primary-content--);\n --component-dialog-background: var(--base-background-component);\n --component-dialog-color: var(--base-content--);\n --component-dialog-border-color: var(--base-background-border);\n --component-dialog-hover-background: var(--base-background-hover);\n --component-dialog-accent: var(--primary-content--);\n --component-dialog-shadow: var(--base-shadow);\n --component-drawer-background: var(--base-background-component);\n --component-drawer-color: var(--base-content--);\n --component-drawer-border-color: var(--base-background-border);\n --component-drawer-hover-background: var(--base-background-hover);\n --component-input-background: var(--base-background-app);\n --component-input-background-disabled: var(--base-background-component);\n --component-input-color: var(--base-content--);\n --component-input-border-color: var(--base-background-border);\n --component-input-accent: var(--primary-content--);\n --component-input-label-color: var(--base-content-light);\n --component-input-icon-color: var(--base-content-lighter);\n --component-input-error-color: var(--error-content--);\n --component-input-error-background: var(--error-background-component);\n --component-input-error-border-color: var(--error-background-border);\n --component-menu-background: var(--base-background-component);\n --component-menu-color: var(--base-content--);\n --component-menu-border-color: var(--base-background-border);\n --component-menu-hover-background: var(--base-background-hover);\n --component-menu-shadow: var(--base-shadow);\n --component-panel-background: var(--base-background-component);\n --component-panel-color: var(--base-content--);\n --component-panel-expanded-background: var(--base-background-app);\n --component-panel-accent: var(--primary-content--);\n --component-panel-active-border: var(--base-background-active);\n --component-panel-accent-hover-background: var(--primary-background-active);\n --component-panel-hover-background: var(--base-background-hover);\n --component-radio-color: var(--base-content--);\n --component-radio-accent: var(--primary-content--);\n --component-select-background: var(--base-background-app);\n --component-select-color: var(--base-content--);\n --component-select-border-color: var(--base-background-border);\n --component-select-accent: var(--primary-content--);\n --component-select-accent-contrast: var(--base-background-component);\n --component-select-label-color: var(--base-content-light);\n --component-select-hover-background: var(--base-background-hover);\n --component-select-shadow: var(--base-shadow);\n --component-select-error-color: var(--error-content--);\n --component-select-error-background: var(--error-background-component);\n --component-select-error-border-color: var(--error-background-border);\n --component-table-color: var(--base-content--);\n --component-table-border-color: var(--base-background-border);\n --component-table-hover-background: var(--base-background-hover);\n --component-table-active-background: var(--base-background-active);\n --component-table-color-light: var(--base-content-lightest);\n --component-tabs-background: var(--base-background-component);\n --component-tabs-color: var(--base-content--);\n --component-tabs-border-color: var(--base-background-border);\n --component-tabs-accent: var(--primary-content--);\n --component-tabs-font-family: var(--font-family-body);\n --component-slider-width: 129px;\n --font-family-header: \"Lexend\", sans-serif;\n --font-family-body: \"Lexend\", sans-serif;\n}\n";
6391
6744
 
6392
6745
  const THEMES = {
6393
6746
  "blue-light": blueLightCSS,
@@ -6404,6 +6757,7 @@ class YumeTheme extends HTMLElement {
6404
6757
  constructor() {
6405
6758
  super();
6406
6759
  this.attachShadow({ mode: "open" });
6760
+ this.shadowRoot.innerHTML = "<slot></slot>";
6407
6761
  }
6408
6762
 
6409
6763
  connectedCallback() {
@@ -6447,10 +6801,22 @@ class YumeTheme extends HTMLElement {
6447
6801
  applyVariablesToHost(cssText) {
6448
6802
  const regex = /--([\w-]+):\s*([^;]+);/g;
6449
6803
  let match;
6804
+ this._themeProps = [];
6450
6805
 
6451
6806
  while ((match = regex.exec(cssText)) !== null) {
6452
- this.style.setProperty(`--${match[1]}`, match[2].trim());
6807
+ const prop = `--${match[1]}`;
6808
+ this.style.setProperty(prop, match[2].trim());
6809
+ this._themeProps.push(prop);
6810
+ }
6811
+ }
6812
+
6813
+ clearThemeProperties() {
6814
+ if (this._themeProps) {
6815
+ for (const prop of this._themeProps) {
6816
+ this.style.removeProperty(prop);
6817
+ }
6453
6818
  }
6819
+ this._themeProps = [];
6454
6820
  }
6455
6821
  }
6456
6822
 
@@ -6458,11 +6824,14 @@ if (!customElements.get("y-theme")) {
6458
6824
  customElements.define("y-theme", YumeTheme);
6459
6825
  }
6460
6826
 
6461
- if (typeof document !== "undefined" && !document.querySelector("[data-yumekit-vars]")) {
6827
+ if (
6828
+ typeof document !== "undefined" &&
6829
+ !document.querySelector("[data-yumekit-vars]")
6830
+ ) {
6462
6831
  const style = document.createElement("style");
6463
6832
  style.setAttribute("data-yumekit-vars", "");
6464
6833
  style.textContent = variablesCSS;
6465
6834
  document.head.appendChild(style);
6466
6835
  }
6467
6836
 
6468
- export { YumeAppbar, YumeAvatar, YumeBadge, YumeButton, YumeCard, YumeCheckbox, YumeInput, YumePanel, YumePanelBar, YumeProgress, YumeRadio, YumeSelect, YumeSlider, YumeTable, YumeTabs, YumeTag, YumeTheme, YumeToast, YumeTooltip };
6837
+ export { YumeAppbar, YumeAvatar, YumeBadge, YumeButton, YumeCard, YumeCheckbox, YumeIcon, YumeInput, YumePanel, YumePanelBar, YumeProgress, YumeRadio, YumeSelect, YumeSlider, YumeTable, YumeTabs, YumeTag, YumeTheme, YumeToast, YumeTooltip, getIcon, registerIcon, registerIcons };