tyrell-components 1.0.0-RC13 → 1.0.0-RC14
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/README.md +1 -1
- package/css/tyrell-theme.css +167 -178
- package/css/tyrell.css +19 -0
- package/dist/tyrell-theme.css +167 -178
- package/dist/tyrell.css +19 -0
- package/dist/tyrell.js +1 -1
- package/lib/base/ty-component.d.ts +20 -10
- package/lib/base/ty-component.js +21 -144
- package/lib/components/button.d.ts +2 -16
- package/lib/components/button.js +0 -36
- package/lib/components/calendar-month.d.ts +2 -48
- package/lib/components/calendar-month.js +4 -166
- package/lib/components/calendar-navigation.d.ts +3 -48
- package/lib/components/calendar-navigation.js +3 -126
- package/lib/components/calendar.d.ts +3 -80
- package/lib/components/calendar.js +8 -230
- package/lib/components/checkbox.d.ts +4 -71
- package/lib/components/checkbox.js +7 -151
- package/lib/components/copy.d.ts +3 -56
- package/lib/components/copy.js +1 -120
- package/lib/components/date-picker.d.ts +13 -162
- package/lib/components/date-picker.js +41 -592
- package/lib/components/file-upload.d.ts +9 -15
- package/lib/components/file-upload.js +19 -41
- package/lib/components/icon.d.ts +3 -24
- package/lib/components/icon.js +1 -90
- package/lib/components/input.d.ts +7 -107
- package/lib/components/input.js +5 -193
- package/lib/components/modal.d.ts +17 -26
- package/lib/components/modal.js +57 -201
- package/lib/components/option.d.ts +2 -9
- package/lib/components/option.js +0 -48
- package/lib/components/popup.d.ts +2 -17
- package/lib/components/popup.js +8 -139
- package/lib/components/radio.d.ts +3 -23
- package/lib/components/radio.js +10 -65
- package/lib/components/resize-observer.d.ts +3 -30
- package/lib/components/resize-observer.js +12 -46
- package/lib/components/scroll-container.d.ts +2 -12
- package/lib/components/scroll-container.js +3 -46
- package/lib/components/select.d.ts +22 -153
- package/lib/components/select.js +33 -590
- package/lib/components/selected-tags.d.ts +4 -47
- package/lib/components/selected-tags.js +1 -95
- package/lib/components/step.d.ts +1 -6
- package/lib/components/step.js +0 -6
- package/lib/components/switch.d.ts +0 -11
- package/lib/components/switch.js +2 -36
- package/lib/components/tab.d.ts +1 -6
- package/lib/components/tab.js +0 -7
- package/lib/components/tabs.d.ts +5 -63
- package/lib/components/tabs.js +20 -283
- package/lib/components/tag.d.ts +2 -36
- package/lib/components/tag.js +5 -105
- package/lib/components/textarea.d.ts +6 -86
- package/lib/components/textarea.js +2 -173
- package/lib/components/tooltip.d.ts +3 -11
- package/lib/components/tooltip.js +24 -160
- package/lib/components/wizard.d.ts +6 -54
- package/lib/components/wizard.js +15 -228
- package/lib/icons/fontawesome/brands.d.ts +0 -1
- package/lib/icons/fontawesome/brands.js +0 -8
- package/lib/icons/fontawesome/regular.d.ts +0 -1
- package/lib/icons/fontawesome/regular.js +0 -8
- package/lib/icons/fontawesome/solid.d.ts +0 -1
- package/lib/icons/fontawesome/solid.js +0 -8
- package/lib/icons/heroicons/micro.d.ts +0 -1
- package/lib/icons/heroicons/micro.js +0 -8
- package/lib/icons/heroicons/mini.d.ts +0 -1
- package/lib/icons/heroicons/mini.js +0 -8
- package/lib/icons/heroicons/outline.d.ts +0 -1
- package/lib/icons/heroicons/outline.js +0 -8
- package/lib/icons/heroicons/solid.d.ts +0 -1
- package/lib/icons/heroicons/solid.js +0 -8
- package/lib/icons/lucide.d.ts +0 -1
- package/lib/icons/lucide.js +0 -1872
- package/lib/icons/material/filled.d.ts +0 -1
- package/lib/icons/material/filled.js +0 -10
- package/lib/icons/material/outlined.d.ts +0 -1
- package/lib/icons/material/outlined.js +0 -10
- package/lib/icons/material/round.d.ts +0 -1
- package/lib/icons/material/round.js +0 -10
- package/lib/icons/material/sharp.d.ts +0 -1
- package/lib/icons/material/sharp.js +0 -10
- package/lib/icons/material/two-tone.d.ts +0 -1
- package/lib/icons/material/two-tone.js +0 -10
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -20
- package/lib/styles/button.d.ts +2 -20
- package/lib/styles/button.js +22 -122
- package/lib/styles/calendar-month.d.ts +1 -5
- package/lib/styles/calendar-month.js +4 -61
- package/lib/styles/calendar-navigation.d.ts +2 -6
- package/lib/styles/calendar-navigation.js +2 -27
- package/lib/styles/calendar.d.ts +1 -2
- package/lib/styles/calendar.js +1 -14
- package/lib/styles/checkbox.d.ts +0 -1
- package/lib/styles/checkbox.js +1 -23
- package/lib/styles/copy.d.ts +0 -1
- package/lib/styles/copy.js +2 -17
- package/lib/styles/custom-scrollbar.d.ts +1 -2
- package/lib/styles/custom-scrollbar.js +3 -18
- package/lib/styles/date-picker.d.ts +1 -5
- package/lib/styles/date-picker.js +35 -39
- package/lib/styles/file-upload.d.ts +1 -2
- package/lib/styles/file-upload.js +1 -16
- package/lib/styles/icon.d.ts +2 -6
- package/lib/styles/icon.js +7 -21
- package/lib/styles/input.d.ts +1 -6
- package/lib/styles/input.js +5 -54
- package/lib/styles/modal.d.ts +1 -2
- package/lib/styles/modal.js +21 -23
- package/lib/styles/option.d.ts +2 -6
- package/lib/styles/option.js +17 -12
- package/lib/styles/popup.d.ts +1 -2
- package/lib/styles/popup.js +26 -30
- package/lib/styles/radio.d.ts +0 -1
- package/lib/styles/radio.js +2 -16
- package/lib/styles/resize-observer.d.ts +1 -2
- package/lib/styles/resize-observer.js +0 -7
- package/lib/styles/scroll-container.d.ts +1 -2
- package/lib/styles/scroll-container.js +0 -19
- package/lib/styles/select-base.d.ts +0 -1
- package/lib/styles/select-base.js +68 -79
- package/lib/styles/select.d.ts +1 -2
- package/lib/styles/select.js +7 -15
- package/lib/styles/step.d.ts +1 -2
- package/lib/styles/step.js +0 -4
- package/lib/styles/switch.d.ts +0 -1
- package/lib/styles/switch.js +2 -20
- package/lib/styles/tab.d.ts +1 -2
- package/lib/styles/tab.js +0 -5
- package/lib/styles/tabs.d.ts +3 -11
- package/lib/styles/tabs.js +10 -48
- package/lib/styles/tag.d.ts +1 -5
- package/lib/styles/tag.js +2 -31
- package/lib/styles/textarea.d.ts +1 -2
- package/lib/styles/textarea.js +2 -45
- package/lib/styles/tooltip.d.ts +0 -1
- package/lib/styles/tooltip.js +0 -10
- package/lib/styles/wizard.d.ts +5 -21
- package/lib/styles/wizard.js +8 -88
- package/lib/types/common.d.ts +0 -2
- package/lib/types/common.js +0 -12
- package/lib/utils/calendar-utils.d.ts +4 -21
- package/lib/utils/calendar-utils.js +4 -177
- package/lib/utils/custom-scrollbar.d.ts +6 -20
- package/lib/utils/custom-scrollbar.js +1 -45
- package/lib/utils/flavor-sheet.d.ts +0 -1
- package/lib/utils/flavor-sheet.js +0 -23
- package/lib/utils/icon-registry.d.ts +0 -2
- package/lib/utils/icon-registry.js +1 -107
- package/lib/utils/icons.d.ts +0 -1
- package/lib/utils/icons.js +0 -9
- package/lib/utils/loader-registry.d.ts +0 -1
- package/lib/utils/loader-registry.js +0 -32
- package/lib/utils/locale.d.ts +2 -23
- package/lib/utils/locale.js +0 -86
- package/lib/utils/mobile.d.ts +0 -1
- package/lib/utils/mobile.js +0 -17
- package/lib/utils/number-format.d.ts +6 -3
- package/lib/utils/number-format.js +11 -67
- package/lib/utils/positioning.d.ts +50 -7
- package/lib/utils/positioning.js +52 -62
- package/lib/utils/property-capture.d.ts +5 -27
- package/lib/utils/property-capture.js +0 -108
- package/lib/utils/property-manager.d.ts +0 -1
- package/lib/utils/property-manager.js +0 -70
- package/lib/utils/resize-observer.d.ts +0 -1
- package/lib/utils/resize-observer.js +0 -36
- package/lib/utils/scroll-lock.d.ts +4 -11
- package/lib/utils/scroll-lock.js +0 -107
- package/lib/utils/styles.d.ts +0 -1
- package/lib/utils/styles.js +0 -24
- package/lib/version.d.ts +1 -2
- package/lib/version.js +1 -11
- package/package.json +2 -2
- package/lib/base/ty-component.d.ts.map +0 -1
- package/lib/base/ty-component.js.map +0 -1
- package/lib/components/button.d.ts.map +0 -1
- package/lib/components/button.js.map +0 -1
- package/lib/components/calendar-month.d.ts.map +0 -1
- package/lib/components/calendar-month.js.map +0 -1
- package/lib/components/calendar-navigation.d.ts.map +0 -1
- package/lib/components/calendar-navigation.js.map +0 -1
- package/lib/components/calendar.d.ts.map +0 -1
- package/lib/components/calendar.js.map +0 -1
- package/lib/components/checkbox.d.ts.map +0 -1
- package/lib/components/checkbox.js.map +0 -1
- package/lib/components/copy.d.ts.map +0 -1
- package/lib/components/copy.js.map +0 -1
- package/lib/components/date-picker.d.ts.map +0 -1
- package/lib/components/date-picker.js.map +0 -1
- package/lib/components/file-upload.d.ts.map +0 -1
- package/lib/components/file-upload.js.map +0 -1
- package/lib/components/icon.d.ts.map +0 -1
- package/lib/components/icon.js.map +0 -1
- package/lib/components/input.d.ts.map +0 -1
- package/lib/components/input.js.map +0 -1
- package/lib/components/modal.d.ts.map +0 -1
- package/lib/components/modal.js.map +0 -1
- package/lib/components/option.d.ts.map +0 -1
- package/lib/components/option.js.map +0 -1
- package/lib/components/popup.d.ts.map +0 -1
- package/lib/components/popup.js.map +0 -1
- package/lib/components/radio.d.ts.map +0 -1
- package/lib/components/radio.js.map +0 -1
- package/lib/components/resize-observer.d.ts.map +0 -1
- package/lib/components/resize-observer.js.map +0 -1
- package/lib/components/scroll-container.d.ts.map +0 -1
- package/lib/components/scroll-container.js.map +0 -1
- package/lib/components/select.d.ts.map +0 -1
- package/lib/components/select.js.map +0 -1
- package/lib/components/selected-tags.d.ts.map +0 -1
- package/lib/components/selected-tags.js.map +0 -1
- package/lib/components/step.d.ts.map +0 -1
- package/lib/components/step.js.map +0 -1
- package/lib/components/switch.d.ts.map +0 -1
- package/lib/components/switch.js.map +0 -1
- package/lib/components/tab.d.ts.map +0 -1
- package/lib/components/tab.js.map +0 -1
- package/lib/components/tabs.d.ts.map +0 -1
- package/lib/components/tabs.js.map +0 -1
- package/lib/components/tag.d.ts.map +0 -1
- package/lib/components/tag.js.map +0 -1
- package/lib/components/textarea.d.ts.map +0 -1
- package/lib/components/textarea.js.map +0 -1
- package/lib/components/tooltip.d.ts.map +0 -1
- package/lib/components/tooltip.js.map +0 -1
- package/lib/components/wizard.d.ts.map +0 -1
- package/lib/components/wizard.js.map +0 -1
- package/lib/icons/fontawesome/brands.d.ts.map +0 -1
- package/lib/icons/fontawesome/brands.js.map +0 -1
- package/lib/icons/fontawesome/regular.d.ts.map +0 -1
- package/lib/icons/fontawesome/regular.js.map +0 -1
- package/lib/icons/fontawesome/solid.d.ts.map +0 -1
- package/lib/icons/fontawesome/solid.js.map +0 -1
- package/lib/icons/heroicons/micro.d.ts.map +0 -1
- package/lib/icons/heroicons/micro.js.map +0 -1
- package/lib/icons/heroicons/mini.d.ts.map +0 -1
- package/lib/icons/heroicons/mini.js.map +0 -1
- package/lib/icons/heroicons/outline.d.ts.map +0 -1
- package/lib/icons/heroicons/outline.js.map +0 -1
- package/lib/icons/heroicons/solid.d.ts.map +0 -1
- package/lib/icons/heroicons/solid.js.map +0 -1
- package/lib/icons/lucide.d.ts.map +0 -1
- package/lib/icons/lucide.js.map +0 -1
- package/lib/icons/material/filled.d.ts.map +0 -1
- package/lib/icons/material/filled.js.map +0 -1
- package/lib/icons/material/outlined.d.ts.map +0 -1
- package/lib/icons/material/outlined.js.map +0 -1
- package/lib/icons/material/round.d.ts.map +0 -1
- package/lib/icons/material/round.js.map +0 -1
- package/lib/icons/material/sharp.d.ts.map +0 -1
- package/lib/icons/material/sharp.js.map +0 -1
- package/lib/icons/material/two-tone.d.ts.map +0 -1
- package/lib/icons/material/two-tone.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/styles/button.d.ts.map +0 -1
- package/lib/styles/button.js.map +0 -1
- package/lib/styles/calendar-month.d.ts.map +0 -1
- package/lib/styles/calendar-month.js.map +0 -1
- package/lib/styles/calendar-navigation.d.ts.map +0 -1
- package/lib/styles/calendar-navigation.js.map +0 -1
- package/lib/styles/calendar.d.ts.map +0 -1
- package/lib/styles/calendar.js.map +0 -1
- package/lib/styles/checkbox.d.ts.map +0 -1
- package/lib/styles/checkbox.js.map +0 -1
- package/lib/styles/copy.d.ts.map +0 -1
- package/lib/styles/copy.js.map +0 -1
- package/lib/styles/custom-scrollbar.d.ts.map +0 -1
- package/lib/styles/custom-scrollbar.js.map +0 -1
- package/lib/styles/date-picker.d.ts.map +0 -1
- package/lib/styles/date-picker.js.map +0 -1
- package/lib/styles/file-upload.d.ts.map +0 -1
- package/lib/styles/file-upload.js.map +0 -1
- package/lib/styles/icon.d.ts.map +0 -1
- package/lib/styles/icon.js.map +0 -1
- package/lib/styles/input.d.ts.map +0 -1
- package/lib/styles/input.js.map +0 -1
- package/lib/styles/modal.d.ts.map +0 -1
- package/lib/styles/modal.js.map +0 -1
- package/lib/styles/multiselect.d.ts +0 -8
- package/lib/styles/multiselect.d.ts.map +0 -1
- package/lib/styles/multiselect.js +0 -849
- package/lib/styles/multiselect.js.map +0 -1
- package/lib/styles/option.d.ts.map +0 -1
- package/lib/styles/option.js.map +0 -1
- package/lib/styles/popup.d.ts.map +0 -1
- package/lib/styles/popup.js.map +0 -1
- package/lib/styles/radio.d.ts.map +0 -1
- package/lib/styles/radio.js.map +0 -1
- package/lib/styles/resize-observer.d.ts.map +0 -1
- package/lib/styles/resize-observer.js.map +0 -1
- package/lib/styles/scroll-container.d.ts.map +0 -1
- package/lib/styles/scroll-container.js.map +0 -1
- package/lib/styles/select-base.d.ts.map +0 -1
- package/lib/styles/select-base.js.map +0 -1
- package/lib/styles/select.d.ts.map +0 -1
- package/lib/styles/select.js.map +0 -1
- package/lib/styles/step.d.ts.map +0 -1
- package/lib/styles/step.js.map +0 -1
- package/lib/styles/switch.d.ts.map +0 -1
- package/lib/styles/switch.js.map +0 -1
- package/lib/styles/tab.d.ts.map +0 -1
- package/lib/styles/tab.js.map +0 -1
- package/lib/styles/tabs.d.ts.map +0 -1
- package/lib/styles/tabs.js.map +0 -1
- package/lib/styles/tag.d.ts.map +0 -1
- package/lib/styles/tag.js.map +0 -1
- package/lib/styles/textarea.d.ts.map +0 -1
- package/lib/styles/textarea.js.map +0 -1
- package/lib/styles/tooltip.d.ts.map +0 -1
- package/lib/styles/tooltip.js.map +0 -1
- package/lib/styles/wizard.d.ts.map +0 -1
- package/lib/styles/wizard.js.map +0 -1
- package/lib/types/common.d.ts.map +0 -1
- package/lib/types/common.js.map +0 -1
- package/lib/utils/calendar-utils.d.ts.map +0 -1
- package/lib/utils/calendar-utils.js.map +0 -1
- package/lib/utils/custom-scrollbar.d.ts.map +0 -1
- package/lib/utils/custom-scrollbar.js.map +0 -1
- package/lib/utils/flavor-sheet.d.ts.map +0 -1
- package/lib/utils/flavor-sheet.js.map +0 -1
- package/lib/utils/icon-registry.d.ts.map +0 -1
- package/lib/utils/icon-registry.js.map +0 -1
- package/lib/utils/icons.d.ts.map +0 -1
- package/lib/utils/icons.js.map +0 -1
- package/lib/utils/loader-registry.d.ts.map +0 -1
- package/lib/utils/loader-registry.js.map +0 -1
- package/lib/utils/locale.d.ts.map +0 -1
- package/lib/utils/locale.js.map +0 -1
- package/lib/utils/mobile.d.ts.map +0 -1
- package/lib/utils/mobile.js.map +0 -1
- package/lib/utils/number-format.d.ts.map +0 -1
- package/lib/utils/number-format.js.map +0 -1
- package/lib/utils/parse-boolean.d.ts +0 -39
- package/lib/utils/parse-boolean.d.ts.map +0 -1
- package/lib/utils/parse-boolean.js +0 -58
- package/lib/utils/parse-boolean.js.map +0 -1
- package/lib/utils/positioning.d.ts.map +0 -1
- package/lib/utils/positioning.js.map +0 -1
- package/lib/utils/property-capture.d.ts.map +0 -1
- package/lib/utils/property-capture.js.map +0 -1
- package/lib/utils/property-manager.d.ts.map +0 -1
- package/lib/utils/property-manager.js.map +0 -1
- package/lib/utils/resize-observer.d.ts.map +0 -1
- package/lib/utils/resize-observer.js.map +0 -1
- package/lib/utils/scroll-lock.d.ts.map +0 -1
- package/lib/utils/scroll-lock.js.map +0 -1
- package/lib/utils/styles.d.ts.map +0 -1
- package/lib/utils/styles.js.map +0 -1
- package/lib/version.d.ts.map +0 -1
- package/lib/version.js.map +0 -1
|
@@ -2177,4 +2177,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
|
|
|
2177
2177
|
export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <g>\n <g>\n <path d=\"M0,0h24v24H0V0z\" fill=\"none\"/>\n </g>\n </g>\n <g>\n <path d=\"M12,8.89L12.94,12h2.82l-2.27,1.62l0.93,3.01L12,14.79l-2.42,1.84l0.93-3.01L8.24,12h2.82L12,8.89 M12,2l-2.42,8H2 l6.17,4.41L5.83,22L12,17.31L18.18,22l-2.35-7.59L22,10h-7.58L12,2L12,2z\"/>\n </g>\n</svg>";
|
|
2178
2178
|
export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
|
|
2179
2179
|
export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
|
|
2180
|
-
//# sourceMappingURL=filled.d.ts.map
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Material Design Icons FILLED - Auto-generated
|
|
3
|
-
* DO NOT EDIT THIS FILE MANUALLY
|
|
4
|
-
* Generated from: https://github.com/google/material-design-icons
|
|
5
|
-
* Style: filled
|
|
6
|
-
* Total icons: 2170
|
|
7
|
-
*
|
|
8
|
-
* Note: Material icons have currentColor attributes added
|
|
9
|
-
*/
|
|
10
1
|
export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
|
|
11
2
|
<g>
|
|
12
3
|
<rect fill="none" height="24" width="24"/>
|
|
@@ -14000,4 +13991,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
|
|
|
14000
13991
|
<path d="M0 0h24v24H0z" fill="none"/>
|
|
14001
13992
|
<path d="M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/>
|
|
14002
13993
|
</svg>`;
|
|
14003
|
-
//# sourceMappingURL=filled.js.map
|
|
@@ -2139,4 +2139,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
|
|
|
2139
2139
|
export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27z\"/>\n</svg>";
|
|
2140
2140
|
export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
|
|
2141
2141
|
export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
|
|
2142
|
-
//# sourceMappingURL=outlined.d.ts.map
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Material Design Icons OUTLINED - Auto-generated
|
|
3
|
-
* DO NOT EDIT THIS FILE MANUALLY
|
|
4
|
-
* Generated from: https://github.com/google/material-design-icons
|
|
5
|
-
* Style: outlined
|
|
6
|
-
* Total icons: 2132
|
|
7
|
-
*
|
|
8
|
-
* Note: Material icons have currentColor attributes added
|
|
9
|
-
*/
|
|
10
1
|
export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
|
|
11
2
|
<g>
|
|
12
3
|
<rect fill="none" height="24" width="24"/>
|
|
@@ -14542,4 +14533,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
|
|
|
14542
14533
|
<path d="M0 0h24v24H0z" fill="none"/>
|
|
14543
14534
|
<path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/>
|
|
14544
14535
|
</svg>`;
|
|
14545
|
-
//# sourceMappingURL=outlined.js.map
|
|
@@ -2144,4 +2144,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
|
|
|
2144
2144
|
export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <g>\n <g>\n <path d=\"M0,0h24v24H0V0z\" fill=\"none\"/>\n </g>\n </g>\n <g>\n <path d=\"M12,8.89L12.94,12h2.82l-2.27,1.62l0.93,3.01L12,14.79l-2.42,1.84l0.93-3.01L8.24,12h2.82L12,8.89 M9.58,10H5.12 c-0.97,0-1.37,1.25-0.58,1.81l3.64,2.6l-1.43,4.61c-0.29,0.93,0.79,1.68,1.56,1.09L12,17.31l3.69,2.81 c0.77,0.59,1.85-0.16,1.56-1.09l-1.43-4.61l3.64-2.6c0.79-0.57,0.39-1.81-0.58-1.81h-4.46l-1.47-4.84c-0.29-0.95-1.63-0.95-1.91,0 L9.58,10z\"/>\n </g>\n</svg>";
|
|
2145
2145
|
export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
|
|
2146
2146
|
export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
|
|
2147
|
-
//# sourceMappingURL=round.d.ts.map
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Material Design Icons ROUND - Auto-generated
|
|
3
|
-
* DO NOT EDIT THIS FILE MANUALLY
|
|
4
|
-
* Generated from: https://github.com/google/material-design-icons
|
|
5
|
-
* Style: round
|
|
6
|
-
* Total icons: 2137
|
|
7
|
-
*
|
|
8
|
-
* Note: Material icons have currentColor attributes added
|
|
9
|
-
*/
|
|
10
1
|
export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
|
|
11
2
|
<g>
|
|
12
3
|
<rect fill="none" height="24" width="24"/>
|
|
@@ -14776,4 +14767,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
|
|
|
14776
14767
|
<path d="M0 0h24v24H0z" fill="none"/>
|
|
14777
14768
|
<path d="M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/>
|
|
14778
14769
|
</svg>`;
|
|
14779
|
-
//# sourceMappingURL=round.js.map
|
|
@@ -2144,4 +2144,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
|
|
|
2144
2144
|
export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27z\"/>\n</svg>";
|
|
2145
2145
|
export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
|
|
2146
2146
|
export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
|
|
2147
|
-
//# sourceMappingURL=sharp.d.ts.map
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Material Design Icons SHARP - Auto-generated
|
|
3
|
-
* DO NOT EDIT THIS FILE MANUALLY
|
|
4
|
-
* Generated from: https://github.com/google/material-design-icons
|
|
5
|
-
* Style: sharp
|
|
6
|
-
* Total icons: 2137
|
|
7
|
-
*
|
|
8
|
-
* Note: Material icons have currentColor attributes added
|
|
9
|
-
*/
|
|
10
1
|
export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
|
|
11
2
|
<g>
|
|
12
3
|
<rect fill="none" height="24" width="24"/>
|
|
@@ -14186,4 +14177,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
|
|
|
14186
14177
|
<path d="M0 0h24v24H0z" fill="none"/>
|
|
14187
14178
|
<path d="M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/>
|
|
14188
14179
|
</svg>`;
|
|
14189
|
-
//# sourceMappingURL=sharp.js.map
|
|
@@ -2182,4 +2182,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
|
|
|
2182
2182
|
export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <g>\n <g>\n <path d=\"M0,0h24v24H0V0z\" fill=\"none\"/>\n </g>\n </g>\n <g>\n <path d=\"M12,8.89L12.94,12h2.82l-2.27,1.62l0.93,3.01L12,14.79l-2.42,1.84l0.93-3.01L8.24,12h2.82L12,8.89 M12,2l-2.42,8H2 l6.17,4.41L5.83,22L12,17.31L18.18,22l-2.35-7.59L22,10h-7.58L12,2L12,2z\"/>\n </g>\n</svg>";
|
|
2183
2183
|
export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 8H7c-2.21 0-4 1.79-4 4s1.79 4 4 4h10c2.21 0 4-1.79 4-4s-1.79-4-4-4zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\" opacity=\".3\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
|
|
2184
2184
|
export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 8H7c-2.21 0-4 1.79-4 4s1.79 4 4 4h10c2.21 0 4-1.79 4-4s-1.79-4-4-4zm0 7c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\" opacity=\".3\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
|
|
2185
|
-
//# sourceMappingURL=two-tone.d.ts.map
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Material Design Icons TWO-TONE - Auto-generated
|
|
3
|
-
* DO NOT EDIT THIS FILE MANUALLY
|
|
4
|
-
* Generated from: https://github.com/google/material-design-icons
|
|
5
|
-
* Style: two-tone
|
|
6
|
-
* Total icons: 2175
|
|
7
|
-
*
|
|
8
|
-
* Note: Material icons have currentColor attributes added
|
|
9
|
-
*/
|
|
10
1
|
export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
|
|
11
2
|
<g>
|
|
12
3
|
<rect fill="none" height="24" width="24"/>
|
|
@@ -17149,4 +17140,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
|
|
|
17149
17140
|
<path d="M17 8H7c-2.21 0-4 1.79-4 4s1.79 4 4 4h10c2.21 0 4-1.79 4-4s-1.79-4-4-4zm0 7c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z" opacity=".3"/>
|
|
17150
17141
|
<path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/>
|
|
17151
17142
|
</svg>`;
|
|
17152
|
-
//# sourceMappingURL=two-tone.js.map
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// Ty TypeScript Components
|
|
2
|
-
// Modern, zero-dependency web components
|
|
3
1
|
export { TyButton } from './components/button.js';
|
|
4
2
|
export { TyIcon, IconRegistry } from './components/icon.js';
|
|
5
3
|
export { TyTag } from './components/tag.js';
|
|
@@ -28,37 +26,21 @@ export { TyDatePicker } from './components/date-picker.js';
|
|
|
28
26
|
export { TyResizeObserver } from './components/resize-observer.js';
|
|
29
27
|
export { TyScrollContainer } from './components/scroll-container.js';
|
|
30
28
|
export { CustomScrollbar, isCustomScrollbarEnabled } from './utils/custom-scrollbar.js';
|
|
31
|
-
// Resize Observer
|
|
32
29
|
export { getSize, onResize, getAllSizes } from './utils/resize-observer.js';
|
|
33
|
-
// Loader registry — global override for the spinner SVG used by loading-aware components
|
|
34
30
|
export { setLoaderSvg, getLoaderSvg, resetLoaderSvg } from './utils/loader-registry.js';
|
|
35
|
-
// Property capture utilities for React/Reagent compatibility
|
|
36
31
|
export { capturePreSetProperties, getCapturedValues, applyPreSetProperties, captureAndApplyProperties } from './utils/property-capture.js';
|
|
37
|
-
// Utilities
|
|
38
32
|
export { lockScroll, unlockScroll, forceUnlockAll, isLocked, isLockedBy, getActiveLocks, getLockState, enableDebug as enableScrollLockDebug, disableDebug as disableScrollLockDebug } from './utils/scroll-lock.js';
|
|
39
|
-
// Icons
|
|
40
|
-
// Note: Icon libraries moved to separate tyrell-icons package
|
|
41
|
-
// Icon registry utility remains in core for registering custom icons
|
|
42
|
-
// Version (auto-generated from package.json)
|
|
43
33
|
import { VERSION } from './version.js';
|
|
44
|
-
// Global API
|
|
45
|
-
// Expose window.tyIcons for script tag usage
|
|
46
34
|
import { registerIcons, getIcon, hasIcon, getIconNames, getCacheInfo, clearIcons, getCachedIcon } from './utils/icon-registry.js';
|
|
47
|
-
// Export icon registry functions for advanced use
|
|
48
35
|
export { registerIcons, getIcon, hasIcon, getIconNames, getCacheInfo, clearIcons, getCachedIcon };
|
|
49
|
-
// Import resize observer utilities for window API
|
|
50
36
|
import { getSize as getResizeSize, onResize as subscribeResize, getAllSizes } from './utils/resize-observer.js';
|
|
51
37
|
if (typeof window !== 'undefined') {
|
|
52
38
|
window.tyVersion = VERSION;
|
|
53
|
-
// One-time load banner — helps consumers confirm which version of the
|
|
54
|
-
// library their page is actually running. Filter in DevTools with
|
|
55
|
-
// "tyrell-components" if it's noisy.
|
|
56
39
|
console.log(`%c[tyrell-components]%c v${VERSION}`, 'color:#06b6d4;font-weight:600', 'color:inherit;font-weight:400');
|
|
57
40
|
window.tyIcons = {
|
|
58
41
|
register: (icons) => {
|
|
59
42
|
const count = Object.keys(icons).length;
|
|
60
43
|
registerIcons(icons);
|
|
61
|
-
// Defer logging to not block registration
|
|
62
44
|
setTimeout(() => {
|
|
63
45
|
console.log(`✅ Registered ${count} icons (cached for instant reload)`);
|
|
64
46
|
}, 0);
|
|
@@ -69,11 +51,9 @@ if (typeof window !== 'undefined') {
|
|
|
69
51
|
cacheInfo: () => getCacheInfo(),
|
|
70
52
|
clearCache: () => clearIcons()
|
|
71
53
|
};
|
|
72
|
-
// Resize Observer API
|
|
73
54
|
window.tyResizeObserver = {
|
|
74
55
|
getSize: (id) => getResizeSize(id),
|
|
75
56
|
onResize: (id, callback) => subscribeResize(id, callback),
|
|
76
57
|
get sizes() { return getAllSizes(); }
|
|
77
58
|
};
|
|
78
59
|
}
|
|
79
|
-
//# sourceMappingURL=index.js.map
|
package/lib/styles/button.d.ts
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* 3 axes (color / hover-active / theme chroma-hue); literal in
|
|
10
10
|
* tyrell.css. The component does no color math for the fill.
|
|
11
11
|
* Depth chrome (border + drop shadow) IS computed here, from
|
|
12
|
-
* the fill, via relative color — see
|
|
12
|
+
* the fill, via relative color — see the button.solid rule.
|
|
13
13
|
* - outlined → --ty-color-{flavor}-{strong|base|soft} (text === border at
|
|
14
14
|
* rest); hover/active/focus always resolve to -strong,
|
|
15
|
-
* whatever the resting tone was — see
|
|
15
|
+
* whatever the resting tone was — see outlinedFlavor().
|
|
16
16
|
* - ghost → same as outlined, text only (no border), --ty-bg-{flavor}-soft
|
|
17
17
|
* background on hover.
|
|
18
18
|
*
|
|
@@ -22,23 +22,6 @@
|
|
|
22
22
|
* generic --ty-color-neutral-strong text-emphasis token. Base/soft neutral
|
|
23
23
|
* stay on the generic token like every other flavor.
|
|
24
24
|
*
|
|
25
|
-
* Depth chrome (solid only): a 1px border + soft drop shadow, both derived
|
|
26
|
-
* from the fill via oklch(from …), scaled by --ty-button-depth (0–1). The
|
|
27
|
-
* border reads the TONE'S RESTING fill (not the current/hover one) so it
|
|
28
|
-
* stays stationary while the fill rises toward it on interaction. Offset
|
|
29
|
-
* direction/magnitude is --ty-button-border-l (mode-flipped: no border at
|
|
30
|
-
* all for colored solids in dark, a lit edge in light) with its own
|
|
31
|
-
* stronger dial for neutral, --ty-button-border-l-neutral (ink has no hue
|
|
32
|
-
* to separate it from the canvas). Escape hatches --ty-solid-border-color
|
|
33
|
-
* / --ty-solid-border-width outrank the derivation entirely.
|
|
34
|
-
*
|
|
35
|
-
* Hover escalation (outlined/ghost): :hover/:active/:focus-visible always
|
|
36
|
-
* resolve to the -strong tier regardless of starting tone — soft and base
|
|
37
|
-
* both rise to the same peak on interaction. Composes with `muted` rather
|
|
38
|
-
* than fighting it (see the escalation rules themselves for the exact
|
|
39
|
-
* split) — a pressed muted button lands on the same color as a pressed
|
|
40
|
-
* plain one of the same flavor.
|
|
41
|
-
*
|
|
42
25
|
* Per-instance overrides via host CSS variables:
|
|
43
26
|
* --ty-button-bg, --ty-button-bg-hover, --ty-button-color, --ty-button-border,
|
|
44
27
|
* --ty-solid-border-color, --ty-solid-border-width
|
|
@@ -46,4 +29,3 @@
|
|
|
46
29
|
/** Rules for one custom (non-built-in) flavor across all three appearances. */
|
|
47
30
|
export declare const buttonCustomFlavorCss: (base: string) => string;
|
|
48
31
|
export declare const buttonStyles: string;
|
|
49
|
-
//# sourceMappingURL=button.d.ts.map
|
package/lib/styles/button.js
CHANGED
|
@@ -1,91 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Button Component Styles
|
|
3
|
-
*
|
|
4
|
-
* Three appearance variants × five semantic flavors × three tones (+/base/-).
|
|
5
|
-
* Each variant uses ONE token system:
|
|
6
|
-
*
|
|
7
|
-
* - solid → flat per-segment tokens --ty-solid-{flavor}{,-hover,-active,
|
|
8
|
-
* -strong,-soft,-fg}. Derived in tyrell-theme.css via OKLCH on
|
|
9
|
-
* 3 axes (color / hover-active / theme chroma-hue); literal in
|
|
10
|
-
* tyrell.css. The component does no color math for the fill.
|
|
11
|
-
* Depth chrome (border + drop shadow) IS computed here, from
|
|
12
|
-
* the fill, via relative color — see "Depth chrome" below.
|
|
13
|
-
* - outlined → --ty-color-{flavor}-{strong|base|soft} (text === border at
|
|
14
|
-
* rest); hover/active/focus always resolve to -strong,
|
|
15
|
-
* whatever the resting tone was — see "Hover escalation".
|
|
16
|
-
* - ghost → same as outlined, text only (no border), --ty-bg-{flavor}-soft
|
|
17
|
-
* background on hover.
|
|
18
|
-
*
|
|
19
|
-
* Neutral is the exception in both outlined and ghost: its `+` tone reads
|
|
20
|
-
* --ty-solid-neutral-strong (the ink dial solid buttons use — the only
|
|
21
|
-
* value that actually inverts light↔dark for full contrast) instead of the
|
|
22
|
-
* generic --ty-color-neutral-strong text-emphasis token. Base/soft neutral
|
|
23
|
-
* stay on the generic token like every other flavor.
|
|
24
|
-
*
|
|
25
|
-
* Depth chrome (solid only): a 1px border + soft drop shadow, both derived
|
|
26
|
-
* from the fill via oklch(from …), scaled by --ty-button-depth (0–1). The
|
|
27
|
-
* border reads the TONE'S RESTING fill (not the current/hover one) so it
|
|
28
|
-
* stays stationary while the fill rises toward it on interaction. Offset
|
|
29
|
-
* direction/magnitude is --ty-button-border-l (mode-flipped: no border at
|
|
30
|
-
* all for colored solids in dark, a lit edge in light) with its own
|
|
31
|
-
* stronger dial for neutral, --ty-button-border-l-neutral (ink has no hue
|
|
32
|
-
* to separate it from the canvas). Escape hatches --ty-solid-border-color
|
|
33
|
-
* / --ty-solid-border-width outrank the derivation entirely.
|
|
34
|
-
*
|
|
35
|
-
* Hover escalation (outlined/ghost): :hover/:active/:focus-visible always
|
|
36
|
-
* resolve to the -strong tier regardless of starting tone — soft and base
|
|
37
|
-
* both rise to the same peak on interaction. Composes with `muted` rather
|
|
38
|
-
* than fighting it (see the escalation rules themselves for the exact
|
|
39
|
-
* split) — a pressed muted button lands on the same color as a pressed
|
|
40
|
-
* plain one of the same flavor.
|
|
41
|
-
*
|
|
42
|
-
* Per-instance overrides via host CSS variables:
|
|
43
|
-
* --ty-button-bg, --ty-button-bg-hover, --ty-button-color, --ty-button-border,
|
|
44
|
-
* --ty-solid-border-color, --ty-solid-border-width
|
|
45
|
-
*/
|
|
46
1
|
import { FLAVORS } from '../types/common.js';
|
|
47
|
-
/* One block per flavor, per appearance. Selectors and tokens are formulaic —
|
|
48
|
-
see the section comments below for which token system each appearance uses.
|
|
49
|
-
|
|
50
|
-
Each generator takes an optional fallback flavor `fb`: token references
|
|
51
|
-
then become var(--ty-*-f, var(--ty-*-fb)). Built-ins pass no fallback
|
|
52
|
-
(their tokens always exist); buttonCustomFlavorCss() passes 'neutral' so a
|
|
53
|
-
custom flavor with missing tokens degrades to neutral instead of an
|
|
54
|
-
invisible button. */
|
|
55
2
|
const tokenRef = (prefix, f, suffix, fb) => fb
|
|
56
3
|
? `var(${prefix}-${f}${suffix}, var(${prefix}-${fb}${suffix}))`
|
|
57
4
|
: `var(${prefix}-${f}${suffix})`;
|
|
58
|
-
/* Nudge a fill by an interaction offset (hover/active), tone-aware: each
|
|
59
|
-
tone's states derive from the TONE's own fill, not the base fill —
|
|
60
|
-
otherwise tone- hover jumps from the soft fill to near-base darkness.
|
|
61
|
-
States deliberately do NOT re-derive the text color: fg is decided by
|
|
62
|
-
the tone's REST fill and stays stable through interaction — the ±0.04/
|
|
63
|
-
0.08 L nudges keep AA for any rest-passing fill, and re-deriving would
|
|
64
|
-
flicker black↔white whenever a nudge crosses the fg threshold. */
|
|
65
5
|
const nudged = (fillExpr, offsetDial) => `oklch(from ${fillExpr} calc(l + var(--ty-${offsetDial})) c h)`;
|
|
66
|
-
/* Fill-relative nudge: moves TOWARD mid-lightness by the dial's magnitude,
|
|
67
|
-
whatever the fill. Needed for neutral+ — full-contrast ink sits at an L
|
|
68
|
-
extreme in both modes (near-black light / near-white dark), where the
|
|
69
|
-
MODE-directional dials clip into the L ceiling/floor and vanish. */
|
|
70
6
|
const nudgedMid = (fillExpr, offsetDial) => `oklch(from ${fillExpr} calc(l + sign(0.5 - l) * abs(var(--ty-${offsetDial}))) c h)`;
|
|
71
|
-
/* Solid rules assign --_solid-bg (the CURRENT fill — swapped by hover/
|
|
72
|
-
active) and --_solid-rest (the tone's RESTING fill — set only by rest/
|
|
73
|
-
tone rules, never by state rules). The base button.solid rule holds the
|
|
74
|
-
single set of formulas that consume them: background follows --_solid-bg;
|
|
75
|
-
the depth border derives from --_solid-rest so it stays STATIONARY while
|
|
76
|
-
the fill steps up on hover — the fill rises toward the lit edge instead
|
|
77
|
-
of dragging the edge along with it. */
|
|
78
7
|
const solidFlavor = (f, fb) => {
|
|
79
8
|
const solid = (suffix) => tokenRef('--ty-solid', f, suffix, fb);
|
|
80
|
-
// Neutral reads its own, stronger border offset (no hue separates ink
|
|
81
|
-
// from the canvas — see --ty-button-border-l-neutral in tyrell.css).
|
|
82
|
-
// Colored flavors must RESET to the plain dial: the bare button.solid
|
|
83
|
-
// rule (which matches every solid button) sets the neutral chain.
|
|
84
9
|
const borderL = f === 'neutral'
|
|
85
10
|
? ' --_border-l: var(--ty-button-border-l-neutral, var(--ty-button-border-l, -0.15));'
|
|
86
|
-
: ' --_border-l: var(--ty-button-border-l, -0.15);';
|
|
87
|
-
// Neutral+ is full-contrast ink at an L extreme — its hover/active must
|
|
88
|
-
// move toward mid (fill-relative), not in the mode's direction.
|
|
11
|
+
: ' --_border-l: var(--_muted-border-l, var(--ty-button-border-l, -0.15));';
|
|
89
12
|
const plusNudge = f === 'neutral' ? nudgedMid : nudged;
|
|
90
13
|
return `
|
|
91
14
|
button.solid.${f} { --_ring: ${tokenRef('--ty-color', f, '', fb)}; --_solid-bg: var(--ty-button-bg, var(--_muted-solid-bg, ${solid('')})); --_solid-rest: var(--ty-button-bg, var(--_muted-solid-bg, ${solid('')}));${borderL} color: var(--ty-button-color, var(--_muted-solid-fg, ${solid('-fg')})); }
|
|
@@ -101,12 +24,6 @@ button.solid.${f}.tone-minus:active:not(:disabled) { --_solid-bg: ${nudged(solid
|
|
|
101
24
|
};
|
|
102
25
|
const outlinedFlavor = (f, fb) => {
|
|
103
26
|
const color = (suffix) => tokenRef('--ty-color', f, suffix, fb);
|
|
104
|
-
// Neutral+ only: bare text/border need page contrast, which the
|
|
105
|
-
// per-flavor ladder is FOR (it deliberately inverts per mode) — pointing
|
|
106
|
-
// base/soft at the solid ink ramp was a real bug (dark-mode contrast
|
|
107
|
-
// against the canvas measured 1.01/1.20 — invisible; WCAG minimum is
|
|
108
|
-
// 4.5). Strong stays on ink: at 0.93 dark / 0.15 light it's still 16.5:1,
|
|
109
|
-
// and matches solid's "+" for the loud-CTA identity that was the ask.
|
|
110
27
|
const textInk = (suffix) => (f === 'neutral' && suffix === '-strong' ? `var(--ty-solid-neutral${suffix})` : color(suffix));
|
|
111
28
|
return `
|
|
112
29
|
button.outlined.${f} {
|
|
@@ -144,15 +61,6 @@ button.outlined.${f}:focus-visible {
|
|
|
144
61
|
};
|
|
145
62
|
const ghostFlavor = (f, fb) => {
|
|
146
63
|
const color = (suffix) => tokenRef('--ty-color', f, suffix, fb);
|
|
147
|
-
// Neutral+ only: bare text needs page contrast, which is what the
|
|
148
|
-
// per-flavor text ladder is FOR (it deliberately inverts per mode) — the
|
|
149
|
-
// solid ink ramp doesn't need to invert for readability, a fill reads as
|
|
150
|
-
// a shape regardless of its own lightness. Pointing base/soft neutral
|
|
151
|
-
// text at ink was a real bug: dark-mode contrast against the canvas
|
|
152
|
-
// measured 1.01/1.20 (WCAG minimum is 4.5), i.e. invisible. Strong stays
|
|
153
|
-
// on ink — at 0.93 dark / 0.15 light it's still far above threshold
|
|
154
|
-
// (16.5:1), and matches solid's "+" for the loud-CTA identity that was
|
|
155
|
-
// the actual ask.
|
|
156
64
|
const ink = (suffix) => (f === 'neutral' && suffix === '-strong' ? `var(--ty-solid-neutral${suffix})` : color(suffix));
|
|
157
65
|
return `
|
|
158
66
|
button.ghost.${f} { color: var(--ty-button-color, var(--_muted-ghost-fg, ${ink('')})); }
|
|
@@ -170,12 +78,11 @@ button.ghost.${f}:focus-visible {
|
|
|
170
78
|
}
|
|
171
79
|
`;
|
|
172
80
|
};
|
|
173
|
-
/** Rules for one custom (non-built-in) flavor across all three appearances. */
|
|
174
81
|
export const buttonCustomFlavorCss = (base) => solidFlavor(base, 'neutral') + outlinedFlavor(base, 'neutral') + ghostFlavor(base, 'neutral');
|
|
175
82
|
export const buttonStyles = `
|
|
176
83
|
:host {
|
|
177
84
|
display: inline-block;
|
|
178
|
-
font-family:
|
|
85
|
+
font-family: inherit;
|
|
179
86
|
}
|
|
180
87
|
|
|
181
88
|
:host([wide]) {
|
|
@@ -184,6 +91,10 @@ export const buttonStyles = `
|
|
|
184
91
|
}
|
|
185
92
|
|
|
186
93
|
button {
|
|
94
|
+
/* Native form controls do NOT inherit font from the shadow host — the UA
|
|
95
|
+
stylesheet sets one on them, which beats inheritance. Must be explicit
|
|
96
|
+
here or the button silently falls back to the system font. */
|
|
97
|
+
font-family: inherit;
|
|
187
98
|
position: relative;
|
|
188
99
|
display: flex;
|
|
189
100
|
align-items: center;
|
|
@@ -228,10 +139,8 @@ button:disabled {
|
|
|
228
139
|
opacity: 0.6;
|
|
229
140
|
}
|
|
230
141
|
|
|
231
|
-
/*
|
|
232
|
-
|
|
233
|
-
hidden via visibility so width/height are preserved (no layout shift).
|
|
234
|
-
*/
|
|
142
|
+
/* Spinner overlays the button center; original content kept in flow but
|
|
143
|
+
hidden via visibility so width/height are preserved (no layout shift). */
|
|
235
144
|
.loader-icon {
|
|
236
145
|
display: none;
|
|
237
146
|
align-items: center;
|
|
@@ -282,8 +191,7 @@ button.loading > .loader-icon {
|
|
|
282
191
|
flex-grow: 1;
|
|
283
192
|
}
|
|
284
193
|
|
|
285
|
-
/*
|
|
286
|
-
Buttons run a 4px ladder (24-40px). Shared scale with fields
|
|
194
|
+
/* Buttons run a 4px ladder (24-40px). Shared scale with fields
|
|
287
195
|
(--ty-size-sm/md/lg — see tyrell.css): field sm = button md (32px),
|
|
288
196
|
field md = button lg (36px), field lg = button xl (40px) — a button
|
|
289
197
|
and a field of the paired size sit flush, same height, in a row. */
|
|
@@ -333,8 +241,7 @@ button.xl {
|
|
|
333
241
|
height: 2.5rem; /* 40px — matches field lg */
|
|
334
242
|
}
|
|
335
243
|
|
|
336
|
-
/*
|
|
337
|
-
|
|
244
|
+
/* Action = icon-only square */
|
|
338
245
|
button.action {
|
|
339
246
|
gap: 0px !important;
|
|
340
247
|
height: 2rem;
|
|
@@ -359,8 +266,7 @@ button.action.lg ::slotted(ty-icon) { height: 1.125rem; width: 1.125rem; }
|
|
|
359
266
|
button.action.xl { height: 2.5rem; width: 2.5rem; }
|
|
360
267
|
button.action.xl ::slotted(ty-icon) { height: 1.25rem; width: 1.25rem; }
|
|
361
268
|
|
|
362
|
-
/*
|
|
363
|
-
Show the neutral tokens at rest instead of the flavor color; reveal the
|
|
269
|
+
/* MUTED: show the neutral tokens at rest instead of the flavor color; reveal the
|
|
364
270
|
real flavor on interaction. Implemented as a fallback tier the flavor
|
|
365
271
|
rules above already read (--_muted-*), which sits behind the public
|
|
366
272
|
--ty-button-{bg,color,border} override slots and ahead of the flavor's
|
|
@@ -382,6 +288,7 @@ button.muted {
|
|
|
382
288
|
--_muted-solid-fg: var(--ty-solid-neutral-fg);
|
|
383
289
|
--_muted-outlined-line: var(--ty-color-neutral);
|
|
384
290
|
--_muted-ghost-fg: var(--ty-color-neutral);
|
|
291
|
+
--_muted-border-l: var(--ty-button-border-l-neutral, var(--ty-button-border-l, -0.15));
|
|
385
292
|
}
|
|
386
293
|
button.muted.tone-plus {
|
|
387
294
|
--_muted-solid-bg: var(--ty-solid-neutral-strong);
|
|
@@ -404,6 +311,7 @@ button.muted.tone-minus {
|
|
|
404
311
|
--_muted-solid-fg: unset;
|
|
405
312
|
--_muted-outlined-line: unset;
|
|
406
313
|
--_muted-ghost-fg: unset;
|
|
314
|
+
--_muted-border-l: unset;
|
|
407
315
|
}
|
|
408
316
|
}
|
|
409
317
|
button.muted:active:not(:disabled),
|
|
@@ -412,10 +320,9 @@ button.muted:focus-visible:not(:disabled) {
|
|
|
412
320
|
--_muted-solid-fg: unset;
|
|
413
321
|
--_muted-outlined-line: unset;
|
|
414
322
|
--_muted-ghost-fg: unset;
|
|
323
|
+
--_muted-border-l: unset;
|
|
415
324
|
}
|
|
416
325
|
|
|
417
|
-
/* ===== PILL ===== */
|
|
418
|
-
|
|
419
326
|
button.pill {
|
|
420
327
|
border-radius: 9999px;
|
|
421
328
|
padding-left: 1.25em;
|
|
@@ -441,13 +348,11 @@ button.pill.md:has(ty-icon:only-child) { min-width: 2rem; min-height: 2rem; }
|
|
|
441
348
|
button.pill.lg:has(ty-icon:only-child) { min-width: 2.25rem; min-height: 2.25rem; }
|
|
442
349
|
button.pill.xl:has(ty-icon:only-child) { min-width: 2.5rem; min-height: 2.5rem; }
|
|
443
350
|
|
|
444
|
-
/*
|
|
445
|
-
SOLID — flat: one variable per segment. No color math here; all the
|
|
351
|
+
/* SOLID — flat: one variable per segment. No color math here; all the
|
|
446
352
|
--ty-solid-{flavor}-{hover,active,strong,soft} tokens are DERIVED in
|
|
447
353
|
tyrell-theme.css (OKLCH) or set literally in tyrell.css. Override any
|
|
448
354
|
single token to recolor that one segment. Bare .solid = custom-flavor
|
|
449
|
-
fallback, themable via --ty-button-{bg,bg-hover,color}.
|
|
450
|
-
============================================================ */
|
|
355
|
+
fallback, themable via --ty-button-{bg,bg-hover,color}. */
|
|
451
356
|
|
|
452
357
|
button.solid {
|
|
453
358
|
--_ring: var(--ty-color-neutral);
|
|
@@ -502,12 +407,10 @@ button.solid:focus-visible {
|
|
|
502
407
|
box-shadow: 0 0 0 2px var(--ty-focus-ring-gap), 0 0 0 4px var(--_ring);
|
|
503
408
|
}
|
|
504
409
|
|
|
505
|
-
/*
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
fallback chain prefers --ty-button-border, then --ty-button-color.
|
|
510
|
-
============================================================ */
|
|
410
|
+
/* OUTLINED — transparent bg, text === border (uses --ty-color-*).
|
|
411
|
+
Bare .outlined rule = fallback for custom flavors. Text is bound to
|
|
412
|
+
border color, so the fallback chain prefers --ty-button-border, then
|
|
413
|
+
--ty-button-color. */
|
|
511
414
|
|
|
512
415
|
button.outlined {
|
|
513
416
|
background: transparent;
|
|
@@ -520,10 +423,8 @@ button.outlined:hover:not(:disabled) {
|
|
|
520
423
|
|
|
521
424
|
${FLAVORS.map((f) => outlinedFlavor(f)).join('')}
|
|
522
425
|
|
|
523
|
-
/*
|
|
524
|
-
|
|
525
|
-
Bare .ghost rule = fallback for custom flavors.
|
|
526
|
-
============================================================ */
|
|
426
|
+
/* GHOST — text only, hover bg (uses --ty-color-* + --ty-bg-*-soft).
|
|
427
|
+
Bare .ghost rule = fallback for custom flavors. */
|
|
527
428
|
|
|
528
429
|
button.ghost {
|
|
529
430
|
background: transparent;
|
|
@@ -535,4 +436,3 @@ button.ghost:hover:not(:disabled) {
|
|
|
535
436
|
}
|
|
536
437
|
|
|
537
438
|
${FLAVORS.map((f) => ghostFlavor(f)).join('')}`;
|
|
538
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calendar Month Styles
|
|
3
|
-
* Improved design with better visual hierarchy and size variants
|
|
4
|
-
*/
|
|
1
|
+
/** Calendar Month Styles */
|
|
5
2
|
/** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
|
|
6
3
|
export declare const calendarMonthCustomFlavorCss: (base: string) => string;
|
|
7
4
|
export declare const calendarMonthStyles: string;
|
|
8
|
-
//# sourceMappingURL=calendar-month.d.ts.map
|