tyrell-components 1.0.0-RC11 → 1.0.0-RC13
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 -0
- package/css/tyrell-colors-static.css +316 -0
- package/css/tyrell-theme.css +1454 -0
- package/css/tyrell.css +112 -420
- package/dist/tyrell-colors-static.css +316 -0
- package/dist/tyrell-theme.css +1454 -0
- package/dist/tyrell.css +112 -420
- package/dist/tyrell.js +1 -1
- package/lib/base/ty-component.d.ts +7 -0
- package/lib/base/ty-component.d.ts.map +1 -1
- package/lib/base/ty-component.js +27 -0
- package/lib/base/ty-component.js.map +1 -1
- package/lib/components/button.d.ts +16 -1
- package/lib/components/button.d.ts.map +1 -1
- package/lib/components/button.js +34 -4
- package/lib/components/button.js.map +1 -1
- package/lib/components/calendar-month.d.ts +23 -0
- package/lib/components/calendar-month.d.ts.map +1 -1
- package/lib/components/calendar-month.js +168 -11
- package/lib/components/calendar-month.js.map +1 -1
- package/lib/components/calendar-navigation.d.ts +31 -5
- package/lib/components/calendar-navigation.d.ts.map +1 -1
- package/lib/components/calendar-navigation.js +71 -31
- package/lib/components/calendar-navigation.js.map +1 -1
- package/lib/components/calendar.d.ts +17 -2
- package/lib/components/calendar.d.ts.map +1 -1
- package/lib/components/calendar.js +83 -12
- package/lib/components/calendar.js.map +1 -1
- package/lib/components/checkbox.d.ts +14 -3
- package/lib/components/checkbox.d.ts.map +1 -1
- package/lib/components/checkbox.js +86 -57
- package/lib/components/checkbox.js.map +1 -1
- package/lib/components/copy.d.ts +14 -3
- package/lib/components/copy.d.ts.map +1 -1
- package/lib/components/copy.js +47 -25
- package/lib/components/copy.js.map +1 -1
- package/lib/components/date-picker.d.ts +26 -1
- package/lib/components/date-picker.d.ts.map +1 -1
- package/lib/components/date-picker.js +151 -32
- package/lib/components/date-picker.js.map +1 -1
- package/lib/components/input.d.ts +17 -2
- package/lib/components/input.d.ts.map +1 -1
- package/lib/components/input.js +104 -25
- package/lib/components/input.js.map +1 -1
- package/lib/components/modal.d.ts.map +1 -1
- package/lib/components/modal.js +28 -3
- package/lib/components/modal.js.map +1 -1
- package/lib/components/option.d.ts +0 -27
- package/lib/components/option.d.ts.map +1 -1
- package/lib/components/option.js +11 -102
- package/lib/components/option.js.map +1 -1
- package/lib/components/popup.d.ts.map +1 -1
- package/lib/components/popup.js +36 -2
- package/lib/components/popup.js.map +1 -1
- package/lib/components/radio.d.ts +6 -2
- package/lib/components/radio.d.ts.map +1 -1
- package/lib/components/radio.js +55 -13
- package/lib/components/radio.js.map +1 -1
- package/lib/components/scroll-container.d.ts +16 -0
- package/lib/components/scroll-container.d.ts.map +1 -1
- package/lib/components/scroll-container.js +105 -1
- package/lib/components/scroll-container.js.map +1 -1
- package/lib/components/select.d.ts +550 -0
- package/lib/components/select.d.ts.map +1 -0
- package/lib/components/select.js +2115 -0
- package/lib/components/select.js.map +1 -0
- package/lib/components/selected-tags.d.ts +93 -0
- package/lib/components/selected-tags.d.ts.map +1 -0
- package/lib/components/selected-tags.js +286 -0
- package/lib/components/selected-tags.js.map +1 -0
- package/lib/components/switch.d.ts +6 -3
- package/lib/components/switch.d.ts.map +1 -1
- package/lib/components/switch.js +54 -36
- package/lib/components/switch.js.map +1 -1
- package/lib/components/tabs.d.ts.map +1 -1
- package/lib/components/tabs.js +190 -25
- package/lib/components/tabs.js.map +1 -1
- package/lib/components/tag.d.ts +9 -1
- package/lib/components/tag.d.ts.map +1 -1
- package/lib/components/tag.js +41 -5
- package/lib/components/tag.js.map +1 -1
- package/lib/components/textarea.d.ts +3 -0
- package/lib/components/textarea.d.ts.map +1 -1
- package/lib/components/textarea.js +61 -6
- package/lib/components/textarea.js.map +1 -1
- package/lib/components/tooltip.d.ts +4 -2
- package/lib/components/tooltip.d.ts.map +1 -1
- package/lib/components/tooltip.js +109 -70
- package/lib/components/tooltip.js.map +1 -1
- package/lib/components/wizard.d.ts.map +1 -1
- package/lib/components/wizard.js +22 -3
- package/lib/components/wizard.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/styles/button.d.ts +41 -6
- package/lib/styles/button.d.ts.map +1 -1
- package/lib/styles/button.js +294 -254
- package/lib/styles/button.js.map +1 -1
- package/lib/styles/calendar-month.d.ts +3 -1
- package/lib/styles/calendar-month.d.ts.map +1 -1
- package/lib/styles/calendar-month.js +100 -67
- package/lib/styles/calendar-month.js.map +1 -1
- package/lib/styles/calendar-navigation.d.ts +1 -1
- package/lib/styles/calendar-navigation.d.ts.map +1 -1
- package/lib/styles/calendar-navigation.js +20 -28
- package/lib/styles/calendar-navigation.js.map +1 -1
- package/lib/styles/checkbox.d.ts +7 -5
- package/lib/styles/checkbox.d.ts.map +1 -1
- package/lib/styles/checkbox.js +125 -8
- package/lib/styles/checkbox.js.map +1 -1
- package/lib/styles/copy.d.ts +3 -1
- package/lib/styles/copy.d.ts.map +1 -1
- package/lib/styles/copy.js +61 -6
- package/lib/styles/copy.js.map +1 -1
- package/lib/styles/custom-scrollbar.d.ts +1 -1
- package/lib/styles/custom-scrollbar.d.ts.map +1 -1
- package/lib/styles/custom-scrollbar.js +2 -2
- package/lib/styles/date-picker.d.ts +3 -1
- package/lib/styles/date-picker.d.ts.map +1 -1
- package/lib/styles/date-picker.js +65 -103
- package/lib/styles/date-picker.js.map +1 -1
- package/lib/styles/file-upload.d.ts +1 -1
- package/lib/styles/file-upload.d.ts.map +1 -1
- package/lib/styles/file-upload.js +3 -3
- package/lib/styles/input.d.ts +3 -1
- package/lib/styles/input.d.ts.map +1 -1
- package/lib/styles/input.js +93 -419
- package/lib/styles/input.js.map +1 -1
- package/lib/styles/multiselect.d.ts +3 -1
- package/lib/styles/multiselect.d.ts.map +1 -1
- package/lib/styles/multiselect.js +26 -2
- package/lib/styles/multiselect.js.map +1 -1
- package/lib/styles/option.d.ts +1 -1
- package/lib/styles/option.d.ts.map +1 -1
- package/lib/styles/option.js +20 -47
- package/lib/styles/option.js.map +1 -1
- package/lib/styles/radio.d.ts +3 -1
- package/lib/styles/radio.d.ts.map +1 -1
- package/lib/styles/radio.js +24 -21
- package/lib/styles/radio.js.map +1 -1
- package/lib/styles/scroll-container.d.ts +1 -1
- package/lib/styles/scroll-container.d.ts.map +1 -1
- package/lib/styles/scroll-container.js +6 -0
- package/lib/styles/scroll-container.js.map +1 -1
- package/lib/styles/select-base.d.ts +9 -0
- package/lib/styles/select-base.d.ts.map +1 -0
- package/lib/styles/select-base.js +973 -0
- package/lib/styles/select-base.js.map +1 -0
- package/lib/styles/select.d.ts +12 -0
- package/lib/styles/select.d.ts.map +1 -0
- package/lib/styles/select.js +308 -0
- package/lib/styles/select.js.map +1 -0
- package/lib/styles/step.d.ts +1 -1
- package/lib/styles/step.d.ts.map +1 -1
- package/lib/styles/switch.d.ts +3 -1
- package/lib/styles/switch.d.ts.map +1 -1
- package/lib/styles/switch.js +25 -10
- package/lib/styles/switch.js.map +1 -1
- package/lib/styles/tab.d.ts +1 -1
- package/lib/styles/tab.d.ts.map +1 -1
- package/lib/styles/tabs.d.ts +1 -1
- package/lib/styles/tabs.d.ts.map +1 -1
- package/lib/styles/tabs.js +71 -1
- package/lib/styles/tabs.js.map +1 -1
- package/lib/styles/tag.d.ts +1 -1
- package/lib/styles/tag.d.ts.map +1 -1
- package/lib/styles/tag.js +40 -141
- package/lib/styles/tag.js.map +1 -1
- package/lib/styles/textarea.d.ts +1 -1
- package/lib/styles/textarea.d.ts.map +1 -1
- package/lib/styles/textarea.js +71 -37
- package/lib/styles/textarea.js.map +1 -1
- package/lib/styles/tooltip.d.ts +4 -2
- package/lib/styles/tooltip.d.ts.map +1 -1
- package/lib/styles/tooltip.js +4 -119
- package/lib/styles/tooltip.js.map +1 -1
- package/lib/styles/wizard.d.ts +1 -1
- package/lib/styles/wizard.d.ts.map +1 -1
- package/lib/styles/wizard.js +18 -6
- package/lib/styles/wizard.js.map +1 -1
- package/lib/types/common.d.ts +2 -1
- package/lib/types/common.d.ts.map +1 -1
- package/lib/types/common.js +15 -1
- package/lib/types/common.js.map +1 -1
- package/lib/utils/calendar-utils.d.ts +0 -48
- package/lib/utils/calendar-utils.d.ts.map +1 -1
- package/lib/utils/calendar-utils.js +0 -69
- package/lib/utils/calendar-utils.js.map +1 -1
- package/lib/utils/flavor-sheet.d.ts +32 -0
- package/lib/utils/flavor-sheet.d.ts.map +1 -0
- package/lib/utils/flavor-sheet.js +40 -0
- package/lib/utils/flavor-sheet.js.map +1 -0
- package/lib/utils/icon-registry.d.ts +0 -13
- package/lib/utils/icon-registry.d.ts.map +1 -1
- package/lib/utils/icon-registry.js +0 -35
- package/lib/utils/icon-registry.js.map +1 -1
- package/lib/utils/icons.d.ts +10 -0
- package/lib/utils/icons.d.ts.map +1 -0
- package/lib/utils/icons.js +10 -0
- package/lib/utils/icons.js.map +1 -0
- package/lib/utils/loader-registry.d.ts +2 -2
- package/lib/utils/loader-registry.js +2 -2
- package/lib/utils/locale.d.ts +0 -57
- package/lib/utils/locale.d.ts.map +1 -1
- package/lib/utils/locale.js +0 -89
- package/lib/utils/locale.js.map +1 -1
- package/lib/utils/number-format.d.ts +0 -21
- package/lib/utils/number-format.d.ts.map +1 -1
- package/lib/utils/number-format.js +0 -27
- package/lib/utils/number-format.js.map +1 -1
- package/lib/utils/positioning.d.ts +29 -22
- package/lib/utils/positioning.d.ts.map +1 -1
- package/lib/utils/positioning.js +23 -87
- package/lib/utils/positioning.js.map +1 -1
- package/lib/utils/scroll-lock.d.ts.map +1 -1
- package/lib/utils/scroll-lock.js +0 -1
- package/lib/utils/scroll-lock.js.map +1 -1
- package/lib/utils/styles.d.ts +0 -5
- package/lib/utils/styles.d.ts.map +1 -1
- package/lib/utils/styles.js +0 -7
- package/lib/utils/styles.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +22 -11
- package/css/tyrell-brand.css +0 -913
- package/dist/tyrell-brand.css +0 -913
- package/lib/components/dropdown.d.ts +0 -424
- package/lib/components/dropdown.d.ts.map +0 -1
- package/lib/components/dropdown.js +0 -1640
- package/lib/components/dropdown.js.map +0 -1
- package/lib/components/multiselect.d.ts +0 -397
- package/lib/components/multiselect.d.ts.map +0 -1
- package/lib/components/multiselect.js +0 -1595
- package/lib/components/multiselect.js.map +0 -1
- package/lib/styles/dropdown.d.ts +0 -12
- package/lib/styles/dropdown.d.ts.map +0 -1
- package/lib/styles/dropdown.js +0 -1081
- package/lib/styles/dropdown.js.map +0 -1
package/lib/styles/tooltip.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tooltip Styles
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* The tooltip popover is created in document.body (top-layer Popover API)
|
|
5
|
+
* and styled inline by the component — see applyFlavorStyles() in
|
|
6
|
+
* components/tooltip.ts. The shadow root only needs the host to not affect
|
|
7
|
+
* layout.
|
|
6
8
|
*/
|
|
7
9
|
export const tooltipStyles = {
|
|
8
10
|
id: 'ty-tooltip',
|
|
@@ -11,123 +13,6 @@ export const tooltipStyles = {
|
|
|
11
13
|
:host {
|
|
12
14
|
display: contents;
|
|
13
15
|
}
|
|
14
|
-
|
|
15
|
-
/* Tooltip container - positioned element */
|
|
16
|
-
#tooltip-container {
|
|
17
|
-
position: fixed;
|
|
18
|
-
top: var(--y, 0px);
|
|
19
|
-
left: var(--x, 0px);
|
|
20
|
-
z-index: var(--ty-z-tooltip, 9999);
|
|
21
|
-
|
|
22
|
-
/* Hidden by default */
|
|
23
|
-
visibility: hidden;
|
|
24
|
-
opacity: 0;
|
|
25
|
-
transition: opacity 200ms, visibility 200ms;
|
|
26
|
-
|
|
27
|
-
/* Prevent interaction */
|
|
28
|
-
pointer-events: none;
|
|
29
|
-
user-select: none;
|
|
30
|
-
-webkit-user-select: none;
|
|
31
|
-
|
|
32
|
-
/* Bold shadow for depth */
|
|
33
|
-
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2),
|
|
34
|
-
0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/* When open */
|
|
38
|
-
#tooltip-container.open {
|
|
39
|
-
visibility: visible;
|
|
40
|
-
opacity: 1;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/* Base tooltip styling - Dark inverted style (like buttons) */
|
|
44
|
-
#tooltip-container {
|
|
45
|
-
/* Bold, high-contrast styling. Defaults route through the neutral ramp
|
|
46
|
-
* so the tooltip inverts cleanly: dark in light mode, light in dark mode.
|
|
47
|
-
* Consumers can pin it to a fixed look via --ty-tooltip-bg/-color. */
|
|
48
|
-
background: var(--ty-tooltip-bg, var(--ty-color-neutral-strong));
|
|
49
|
-
color: var(--ty-tooltip-color, var(--ty-color-neutral-faint));
|
|
50
|
-
|
|
51
|
-
/* Comfortable padding */
|
|
52
|
-
padding: var(--ty-tooltip-padding, 8px 12px);
|
|
53
|
-
border-radius: var(--ty-tooltip-radius, 6px);
|
|
54
|
-
|
|
55
|
-
/* No border - solid color provides contrast */
|
|
56
|
-
border: none;
|
|
57
|
-
|
|
58
|
-
/* Sizing */
|
|
59
|
-
max-width: var(--ty-tooltip-max-width, 250px);
|
|
60
|
-
|
|
61
|
-
/* Typography - clear and readable */
|
|
62
|
-
font-size: var(--ty-font-sm, 14px);
|
|
63
|
-
font-weight: var(--ty-font-semibold, 600);
|
|
64
|
-
line-height: 1.5;
|
|
65
|
-
text-align: center;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/* Content slot */
|
|
69
|
-
#tooltip-container ::slotted(*) {
|
|
70
|
-
/* Ensure slotted content inherits styles */
|
|
71
|
-
color: inherit;
|
|
72
|
-
font-size: inherit;
|
|
73
|
-
line-height: inherit;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/* ============================================ */
|
|
77
|
-
/* Flavor Variants - Bold, Button-like Colors */
|
|
78
|
-
/* ============================================ */
|
|
79
|
-
|
|
80
|
-
/* Primary - Bold blue (like primary button) */
|
|
81
|
-
#tooltip-container[data-flavor="primary"] {
|
|
82
|
-
background: var(--ty-color-primary, #3b82f6);
|
|
83
|
-
color: #ffffff;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* Success - Bold green */
|
|
87
|
-
#tooltip-container[data-flavor="success"] {
|
|
88
|
-
background: var(--ty-color-success, #10b981);
|
|
89
|
-
color: #ffffff;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/* Danger - Bold red */
|
|
93
|
-
#tooltip-container[data-flavor="danger"] {
|
|
94
|
-
background: var(--ty-color-danger, #ef4444);
|
|
95
|
-
color: #ffffff;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/* Warning - Bold orange/amber */
|
|
99
|
-
#tooltip-container[data-flavor="warning"] {
|
|
100
|
-
background: var(--ty-color-warning, #f59e0b);
|
|
101
|
-
color: #ffffff;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/* Neutral - Medium gray (default alternative) */
|
|
105
|
-
#tooltip-container[data-flavor="neutral"] {
|
|
106
|
-
background: var(--ty-color-neutral, #6b7280);
|
|
107
|
-
color: #ffffff;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/* Light - For dark backgrounds */
|
|
111
|
-
#tooltip-container[data-flavor="light"] {
|
|
112
|
-
background: var(--ty-surface-floating, var(--ty-surface-elevated, #ffffff));
|
|
113
|
-
color: var(--ty-color-neutral-strong, #111827);
|
|
114
|
-
box-shadow: var(--ty-shadow-lg,
|
|
115
|
-
0 10px 15px -3px rgba(0, 0, 0, 0.15),
|
|
116
|
-
0 4px 6px -4px rgba(0, 0, 0, 0.1),
|
|
117
|
-
0 0 0 1px rgba(0, 0, 0, 0.05));
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/* Dark - Inverted style (default) */
|
|
121
|
-
#tooltip-container[data-flavor="dark"] {
|
|
122
|
-
background: var(--ty-tooltip-bg, var(--ty-color-neutral-strong));
|
|
123
|
-
color: var(--ty-color-neutral-faint);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/* Secondary - Purple/indigo */
|
|
127
|
-
#tooltip-container[data-flavor="secondary"] {
|
|
128
|
-
background: var(--ty-color-secondary, #8b5cf6);
|
|
129
|
-
color: #ffffff;
|
|
130
|
-
}
|
|
131
16
|
`,
|
|
132
17
|
};
|
|
133
18
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/styles/tooltip.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/styles/tooltip.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,EAAE,EAAE,YAAY;IAChB,GAAG,EAAE;;;;;CAKN;CACA,CAAC"}
|
package/lib/styles/wizard.d.ts
CHANGED
|
@@ -21,5 +21,5 @@
|
|
|
21
21
|
* (--ty-color-primary, --ty-color-success-strong, etc.) — they cascade
|
|
22
22
|
* through here.
|
|
23
23
|
*/
|
|
24
|
-
export declare const wizardStyles = "\n/* ============================================================================\n Theming Tokens \u2014 see file header for the override surface.\n Every default chains back to the brand layer / global scale tokens.\n ============================================================================ */\n\n:host {\n display: block;\n width: var(--ty-wizard-width, 100%); /* set by width attribute \u2014 not a public token */\n height: var(--ty-wizard-height, 700px); /* set by height attribute \u2014 not a public token */\n box-sizing: border-box;\n\n /* State accents \u2014 the primary override surface. One variable retints the\n * matching circle background, border, and glow. */\n --ty-wizard-active-accent: var(--ty-color-primary);\n --ty-wizard-completed-accent: var(--ty-color-success);\n --ty-wizard-error-accent: var(--ty-color-danger);\n --ty-wizard-pending-accent: var(--ty-color-neutral);\n\n /* Container chrome \u2014 routes through global scales. Override --ty-radius-lg\n * or --ty-shadow-md app-wide and the wizard follows; override these locally\n * to give the wizard a distinct look. */\n --ty-wizard-bg: var(--ty-surface-floating);\n --ty-wizard-border: var(--ty-border);\n --ty-wizard-radius: var(--ty-radius-lg, 12px);\n --ty-wizard-shadow: var(--ty-shadow-md, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1));\n\n /* Header strip */\n --ty-wizard-header-bg: var(--ty-surface-content);\n --ty-wizard-header-border: var(--ty-border-soft, var(--ty-border));\n --ty-wizard-header-padding: 24px 24px 16px;\n\n /* Progress line */\n --ty-wizard-progress-track: var(--ty-border);\n --ty-wizard-progress-fill: var(--ty-wizard-completed-accent);\n --ty-wizard-progress-height: 2px;\n\n /* Motion \u2014 routes through global motion tokens if defined. */\n --ty-wizard-transition-duration: var(--ty-transition-duration, 300ms);\n --ty-wizard-transition-easing: var(--ty-transition-easing, ease-in-out);\n\n /* Circle geometry */\n --ty-wizard-circle-size: 32px;\n --ty-wizard-circle-border-width: 2px;\n\n /* Panels viewport */\n --ty-wizard-panels-bg: var(--ty-surface-elevated);\n\n /* Focus */\n --ty-wizard-focus-outline: var(--ty-wizard-active-accent);\n}\n\n.wizard-container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n box-sizing: border-box;\n border-radius: var(--ty-wizard-radius);\n border: 1px solid var(--ty-wizard-border);\n background: var(--ty-wizard-bg);\n box-shadow: var(--ty-wizard-shadow);\n overflow: hidden;\n}\n\n/* ===================================== */\n/* Step Indicators Wrapper */\n/* ===================================== */\n\n.step-indicators-wrapper {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n position: relative;\n padding: var(--ty-wizard-header-padding);\n border-bottom: 1px solid var(--ty-wizard-header-border);\n background: var(--ty-wizard-header-bg);\n}\n\n/* ===================================== */\n/* Progress Line (behind step circles) */\n/* ===================================== */\n\n.progress-line {\n position: absolute;\n /*\n * With equal-width indicators (flex: 1), each takes 100%/N of the width.\n * Circle centers sit at 50%/N from the left edge of each indicator.\n * Inset = 50% / step-count from each side keeps the line between circle centres.\n */\n left: calc(50% / var(--ty-wizard-step-count, 4));\n right: calc(50% / var(--ty-wizard-step-count, 4));\n top: calc(var(--ty-wizard-circle-size, 32px) / 2 - 1px);\n height: var(--ty-wizard-progress-height);\n background: var(--ty-wizard-progress-track);\n z-index: 0;\n pointer-events: none;\n transition: opacity var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n}\n\n.progress-overlay {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n background: var(--ty-wizard-progress-fill);\n transition: width var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n will-change: width;\n}\n\n/* ===================================== */\n/* Step Indicators Container */\n/* ===================================== */\n\n.step-indicators {\n display: flex;\n align-items: flex-start;\n position: relative;\n}\n\n/* ===================================== */\n/* Individual Step Indicator */\n/* ===================================== */\n\n.step-indicator {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n font: inherit;\n transition: opacity 200ms;\n flex: 1;\n min-width: 0;\n}\n\n.step-indicator[aria-disabled=\"true\"] {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.step-indicator:focus-visible {\n outline: 2px solid var(--ty-wizard-focus-outline);\n outline-offset: 4px;\n border-radius: 50%;\n}\n\n/* ===================================== */\n/* Step Circle */\n/* ===================================== */\n\n.step-circle {\n width: var(--ty-wizard-circle-size);\n height: var(--ty-wizard-circle-size);\n border-radius: 50%;\n border: var(--ty-wizard-circle-border-width) solid;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n z-index: 10;\n transition: all var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n box-sizing: border-box;\n flex-shrink: 0;\n}\n\n.step-circle[data-state=\"completed\"] {\n background: var(--ty-wizard-completed-accent);\n border-color: var(--ty-color-success-strong);\n color: var(--ty-solid-success-fg, white);\n box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-completed-accent) 12%, transparent);\n}\n\n.step-circle[data-state=\"active\"] {\n background: var(--ty-wizard-active-accent);\n border-color: var(--ty-color-primary-strong);\n color: var(--ty-solid-primary-fg, white);\n box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-active-accent) 12%, transparent);\n}\n\n.step-circle[data-state=\"pending\"] {\n background: var(--ty-surface-elevated);\n border-color: var(--ty-border);\n color: var(--ty-color-neutral);\n}\n\n.step-circle[data-state=\"error\"] {\n background: var(--ty-wizard-error-accent);\n border-color: var(--ty-color-danger-strong);\n color: var(--ty-solid-danger-fg, white);\n box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-error-accent) 12%, transparent);\n}\n\n/* ===================================== */\n/* Step Text Container */\n/* ===================================== */\n\n.step-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: center;\n}\n\n/* ===================================== */\n/* Step Label */\n/* ===================================== */\n\n.step-label {\n font-size: var(--ty-font-sm, 14px);\n font-weight: var(--ty-font-semibold, 600);\n color: var(--ty-color-neutral);\n transition: color 200ms;\n}\n\n.step-indicator[aria-selected=\"true\"] .step-label {\n color: var(--ty-color-neutral-strong);\n}\n\n.step-indicator[aria-selected=\"false\"] .step-label {\n color: var(--ty-color-neutral);\n}\n\n/* ===================================== */\n/* Step Description */\n/* ===================================== */\n\n.step-description {\n font-size: var(--ty-font-xs, 12px);\n font-weight: var(--ty-font-normal, 400);\n color: var(--ty-color-neutral);\n transition: color 200ms;\n text-align: center;\n max-width: 120px;\n}\n\n.step-indicator[aria-selected=\"true\"] .step-description {\n color: var(--ty-color-neutral-bold);\n}\n\n/* ===================================== */\n/* Custom Indicator Content via Slots */\n/* ===================================== */\n\n::slotted([slot^=\"indicator-\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n/* ===================================== */\n/* Panels Viewport */\n/* ===================================== */\n\n.panels-viewport {\n position: relative;\n flex: 1;\n overflow: hidden;\n min-height: 0;\n background: var(--ty-wizard-panels-bg);\n}\n\n/* ===================================== */\n/* Panels Wrapper (slides horizontally) */\n/* ===================================== */\n\n.panels-wrapper {\n display: flex;\n height: 100%;\n transition: transform var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n will-change: transform;\n}\n\n/* ===================================== */\n/* Slotted Step Panels */\n/* ===================================== */\n\n::slotted(ty-step) {\n width: var(--ty-wizard-width, 100%);\n height: 100%;\n flex-shrink: 0;\n}\n\n/* ===================================== */\n/* Accessibility & Motion Preferences */\n/* ===================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .panels-wrapper {\n transition-duration: 0ms !important;\n }\n\n .progress-overlay {\n transition-duration: 0ms !important;\n }\n\n .step-circle {\n transition-duration: 0ms !important;\n }\n\n .progress-line {\n transition-duration: 0ms !important;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n";
|
|
24
|
+
export declare const wizardStyles = "\n/* ============================================================================\n Theming Tokens \u2014 see file header for the override surface.\n Every default chains back to the brand layer / global scale tokens.\n ============================================================================ */\n\n:host {\n display: block;\n width: var(--ty-wizard-width, 100%); /* set by width attribute \u2014 not a public token */\n height: var(--ty-wizard-height, 700px); /* set by height attribute \u2014 not a public token */\n box-sizing: border-box;\n\n /* State accents \u2014 the primary override surface. One variable retints the\n * matching circle background, border, and glow. */\n --ty-wizard-active-accent: var(--ty-color-primary);\n --ty-wizard-completed-accent: var(--ty-color-success);\n --ty-wizard-error-accent: var(--ty-color-danger);\n --ty-wizard-pending-accent: var(--ty-color-neutral);\n\n /* Container chrome \u2014 routes through global scales. Override --ty-radius-lg\n * or --ty-shadow-md app-wide and the wizard follows; override these locally\n * to give the wizard a distinct look. */\n --ty-wizard-bg: var(--ty-surface-floating);\n --ty-wizard-border: var(--ty-border);\n --ty-wizard-radius: var(--ty-radius-lg, 12px);\n --ty-wizard-shadow: var(--ty-shadow-md, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1));\n\n /* Header strip */\n --ty-wizard-header-bg: var(--ty-surface-content);\n --ty-wizard-header-border: var(--ty-border-soft, var(--ty-border));\n --ty-wizard-header-padding: 24px 24px 16px;\n\n /* Progress line */\n --ty-wizard-progress-track: var(--ty-border);\n --ty-wizard-progress-fill: var(--ty-wizard-completed-accent);\n --ty-wizard-progress-height: 2px;\n\n /* Motion \u2014 routes through global motion tokens if defined. */\n --ty-wizard-transition-duration: var(--ty-transition-duration, 300ms);\n --ty-wizard-transition-easing: var(--ty-transition-easing, ease-in-out);\n\n /* Circle geometry */\n --ty-wizard-circle-size: 32px;\n --ty-wizard-circle-border-width: 2px;\n\n /* Panels viewport */\n --ty-wizard-panels-bg: var(--ty-surface-elevated);\n\n /* Focus */\n --ty-wizard-focus-outline: var(--ty-wizard-active-accent);\n}\n\n.wizard-container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n box-sizing: border-box;\n border-radius: var(--ty-wizard-radius);\n border: 1px solid var(--ty-wizard-border);\n background: var(--ty-wizard-bg);\n box-shadow: var(--ty-wizard-shadow);\n overflow: hidden;\n}\n\n/* ===================================== */\n/* Step Indicators Wrapper */\n/* ===================================== */\n\n.step-indicators-wrapper {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n position: relative;\n padding: var(--ty-wizard-header-padding);\n border-bottom: 1px solid var(--ty-wizard-header-border);\n background: var(--ty-wizard-header-bg);\n}\n\n/* ===================================== */\n/* Progress Line (behind step circles) */\n/* ===================================== */\n\n.progress-line {\n position: absolute;\n /*\n * With equal-width indicators (flex: 1), each takes 100%/N of the width.\n * Circle centers sit at 50%/N from the left edge of each indicator.\n * Inset = 50% / step-count from each side keeps the line between circle centres.\n */\n left: calc(50% / var(--ty-wizard-step-count, 4));\n right: calc(50% / var(--ty-wizard-step-count, 4));\n top: calc(var(--ty-wizard-circle-size, 32px) / 2 - 1px);\n height: var(--ty-wizard-progress-height);\n background: var(--ty-wizard-progress-track);\n z-index: 0;\n pointer-events: none;\n transition: opacity var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n}\n\n.progress-overlay {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n background: var(--ty-wizard-progress-fill);\n transition: width var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n will-change: width;\n}\n\n/* ===================================== */\n/* Step Indicators Container */\n/* ===================================== */\n\n.step-indicators {\n display: flex;\n align-items: flex-start;\n position: relative;\n}\n\n/* ===================================== */\n/* Individual Step Indicator */\n/* ===================================== */\n\n.step-indicator {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n font: inherit;\n transition: opacity 200ms;\n flex: 1;\n min-width: 0;\n}\n\n.step-indicator[aria-disabled=\"true\"] {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.step-indicator:focus-visible {\n outline: 2px solid var(--ty-wizard-focus-outline);\n outline-offset: 4px;\n border-radius: 50%;\n}\n\n/* ===================================== */\n/* Step Circle */\n/* ===================================== */\n\n.step-circle {\n width: var(--ty-wizard-circle-size);\n height: var(--ty-wizard-circle-size);\n border-radius: 50%;\n border: var(--ty-wizard-circle-border-width) solid;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n z-index: 10;\n transition: var(--ty-local-transition, all var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing));\n box-sizing: border-box;\n flex-shrink: 0;\n}\n\n.step-circle[data-state=\"completed\"] {\n background: var(--ty-wizard-completed-accent);\n border-color: var(--ty-color-success-strong);\n /* Derived from the accent this circle actually paints, not from\n --ty-solid-success-fg: the two diverge in dark mode (--ty-solid-l\n dims solid fills by 0.25 L), which stranded white text at 3.5:1. */\n color: oklch(\n from var(--ty-wizard-completed-accent)\n clamp(0, (var(--ty-solid-fg-threshold, 0.6) - l) * 1000, 1) 0 0\n );\n box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-completed-accent) 12%, transparent);\n}\n\n.step-circle[data-state=\"active\"] {\n background: var(--ty-wizard-active-accent);\n border-color: var(--ty-color-primary-strong);\n color: oklch(\n from var(--ty-wizard-active-accent)\n clamp(0, (var(--ty-solid-fg-threshold, 0.6) - l) * 1000, 1) 0 0\n );\n box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-active-accent) 12%, transparent);\n}\n\n.step-circle[data-state=\"pending\"] {\n background: var(--ty-surface-elevated);\n border-color: var(--ty-border);\n color: var(--ty-color-neutral);\n}\n\n.step-circle[data-state=\"error\"] {\n background: var(--ty-wizard-error-accent);\n border-color: var(--ty-color-danger-strong);\n color: oklch(\n from var(--ty-wizard-error-accent)\n clamp(0, (var(--ty-solid-fg-threshold, 0.6) - l) * 1000, 1) 0 0\n );\n box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-error-accent) 12%, transparent);\n}\n\n/* ===================================== */\n/* Step Text Container */\n/* ===================================== */\n\n.step-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: center;\n}\n\n/* ===================================== */\n/* Step Label */\n/* ===================================== */\n\n.step-label {\n font-size: var(--ty-font-sm, 14px);\n font-weight: var(--ty-font-semibold, 600);\n color: var(--ty-color-neutral);\n transition: var(--ty-local-transition, color 200ms);\n}\n\n.step-indicator[aria-selected=\"true\"] .step-label {\n color: var(--ty-color-neutral-strong);\n}\n\n.step-indicator[aria-selected=\"false\"] .step-label {\n color: var(--ty-color-neutral);\n}\n\n/* ===================================== */\n/* Step Description */\n/* ===================================== */\n\n.step-description {\n font-size: var(--ty-font-xs, 12px);\n font-weight: var(--ty-font-normal, 400);\n color: var(--ty-color-neutral);\n transition: var(--ty-local-transition, color 200ms);\n text-align: center;\n max-width: 120px;\n}\n\n.step-indicator[aria-selected=\"true\"] .step-description {\n color: var(--ty-color-neutral-bold);\n}\n\n/* ===================================== */\n/* Custom Indicator Content via Slots */\n/* ===================================== */\n\n::slotted([slot^=\"indicator-\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n/* ===================================== */\n/* Panels Viewport */\n/* ===================================== */\n\n.panels-viewport {\n position: relative;\n flex: 1;\n overflow: hidden;\n min-height: 0;\n background: var(--ty-wizard-panels-bg);\n}\n\n/* ===================================== */\n/* Panels Wrapper (slides horizontally) */\n/* ===================================== */\n\n.panels-wrapper {\n display: flex;\n height: 100%;\n transition: transform var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);\n will-change: transform;\n}\n\n/* ===================================== */\n/* Slotted Step Panels */\n/* ===================================== */\n\n::slotted(ty-step) {\n width: var(--ty-wizard-width, 100%);\n height: 100%;\n flex-shrink: 0;\n}\n\n/* ===================================== */\n/* Accessibility & Motion Preferences */\n/* ===================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .panels-wrapper {\n transition-duration: 0ms !important;\n }\n\n .progress-overlay {\n transition-duration: 0ms !important;\n }\n\n .step-circle {\n transition-duration: 0ms !important;\n }\n\n .progress-line {\n transition-duration: 0ms !important;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n";
|
|
25
25
|
//# sourceMappingURL=wizard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/styles/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/styles/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,eAAO,MAAM,YAAY,o3TA+UxB,CAAC"}
|
package/lib/styles/wizard.js
CHANGED
|
@@ -187,7 +187,7 @@ export const wizardStyles = `
|
|
|
187
187
|
justify-content: center;
|
|
188
188
|
position: relative;
|
|
189
189
|
z-index: 10;
|
|
190
|
-
transition: all var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing);
|
|
190
|
+
transition: var(--ty-local-transition, all var(--ty-wizard-transition-duration) var(--ty-wizard-transition-easing));
|
|
191
191
|
box-sizing: border-box;
|
|
192
192
|
flex-shrink: 0;
|
|
193
193
|
}
|
|
@@ -195,14 +195,23 @@ export const wizardStyles = `
|
|
|
195
195
|
.step-circle[data-state="completed"] {
|
|
196
196
|
background: var(--ty-wizard-completed-accent);
|
|
197
197
|
border-color: var(--ty-color-success-strong);
|
|
198
|
-
|
|
198
|
+
/* Derived from the accent this circle actually paints, not from
|
|
199
|
+
--ty-solid-success-fg: the two diverge in dark mode (--ty-solid-l
|
|
200
|
+
dims solid fills by 0.25 L), which stranded white text at 3.5:1. */
|
|
201
|
+
color: oklch(
|
|
202
|
+
from var(--ty-wizard-completed-accent)
|
|
203
|
+
clamp(0, (var(--ty-solid-fg-threshold, 0.6) - l) * 1000, 1) 0 0
|
|
204
|
+
);
|
|
199
205
|
box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-completed-accent) 12%, transparent);
|
|
200
206
|
}
|
|
201
207
|
|
|
202
208
|
.step-circle[data-state="active"] {
|
|
203
209
|
background: var(--ty-wizard-active-accent);
|
|
204
210
|
border-color: var(--ty-color-primary-strong);
|
|
205
|
-
color:
|
|
211
|
+
color: oklch(
|
|
212
|
+
from var(--ty-wizard-active-accent)
|
|
213
|
+
clamp(0, (var(--ty-solid-fg-threshold, 0.6) - l) * 1000, 1) 0 0
|
|
214
|
+
);
|
|
206
215
|
box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-active-accent) 12%, transparent);
|
|
207
216
|
}
|
|
208
217
|
|
|
@@ -215,7 +224,10 @@ export const wizardStyles = `
|
|
|
215
224
|
.step-circle[data-state="error"] {
|
|
216
225
|
background: var(--ty-wizard-error-accent);
|
|
217
226
|
border-color: var(--ty-color-danger-strong);
|
|
218
|
-
color:
|
|
227
|
+
color: oklch(
|
|
228
|
+
from var(--ty-wizard-error-accent)
|
|
229
|
+
clamp(0, (var(--ty-solid-fg-threshold, 0.6) - l) * 1000, 1) 0 0
|
|
230
|
+
);
|
|
219
231
|
box-shadow: 0 0 0 4px color-mix(in oklab, var(--ty-wizard-error-accent) 12%, transparent);
|
|
220
232
|
}
|
|
221
233
|
|
|
@@ -238,7 +250,7 @@ export const wizardStyles = `
|
|
|
238
250
|
font-size: var(--ty-font-sm, 14px);
|
|
239
251
|
font-weight: var(--ty-font-semibold, 600);
|
|
240
252
|
color: var(--ty-color-neutral);
|
|
241
|
-
transition: color 200ms;
|
|
253
|
+
transition: var(--ty-local-transition, color 200ms);
|
|
242
254
|
}
|
|
243
255
|
|
|
244
256
|
.step-indicator[aria-selected="true"] .step-label {
|
|
@@ -257,7 +269,7 @@ export const wizardStyles = `
|
|
|
257
269
|
font-size: var(--ty-font-xs, 12px);
|
|
258
270
|
font-weight: var(--ty-font-normal, 400);
|
|
259
271
|
color: var(--ty-color-neutral);
|
|
260
|
-
transition: color 200ms;
|
|
272
|
+
transition: var(--ty-local-transition, color 200ms);
|
|
261
273
|
text-align: center;
|
|
262
274
|
max-width: 120px;
|
|
263
275
|
}
|
package/lib/styles/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/styles/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/styles/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+U3B,CAAC"}
|
package/lib/types/common.d.ts
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* for a softer shade — e.g. `primary`, `primary+`, `primary-`. Matches the
|
|
7
7
|
* design system's `ty-bg-primary+` / `ty-text-primary-` class convention.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export declare const FLAVORS: readonly ["primary", "success", "danger", "warning", "neutral"];
|
|
10
|
+
export type FlavorBase = (typeof FLAVORS)[number];
|
|
10
11
|
/**
|
|
11
12
|
* A flavor with optional shade suffix: `primary | primary+ | primary-`.
|
|
12
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
|
package/lib/types/common.js
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ty Component Common Types
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Built-in semantic color flavor names. Append `+` for a stronger shade or `-`
|
|
6
|
+
* for a softer shade — e.g. `primary`, `primary+`, `primary-`. Matches the
|
|
7
|
+
* design system's `ty-bg-primary+` / `ty-text-primary-` class convention.
|
|
8
|
+
*/
|
|
9
|
+
/* `secondary` was removed in TC37 — the built-in set is semantic-only.
|
|
10
|
+
* An aesthetic second accent is one flavor-pack away (see CSS_GUIDE →
|
|
11
|
+
* Custom Flavors); markup using flavor="secondary" degrades to neutral. */
|
|
12
|
+
export const FLAVORS = [
|
|
13
|
+
'primary',
|
|
14
|
+
'success',
|
|
15
|
+
'danger',
|
|
16
|
+
'warning',
|
|
17
|
+
'neutral',
|
|
18
|
+
];
|
|
5
19
|
//# sourceMappingURL=common.js.map
|
package/lib/types/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;CACD,CAAA"}
|
|
@@ -110,30 +110,6 @@ export declare function getLocalizedWeekdays(locale: string, style?: 'long' | 's
|
|
|
110
110
|
* @throws {RangeError} If month is invalid
|
|
111
111
|
*/
|
|
112
112
|
export declare function getMonthName(month: number, locale?: string, style?: 'long' | 'short' | 'narrow'): string;
|
|
113
|
-
/**
|
|
114
|
-
* Format a day context as an ISO date string
|
|
115
|
-
*
|
|
116
|
-
* @param dayContext - Day context to format
|
|
117
|
-
* @returns ISO date string (YYYY-MM-DD)
|
|
118
|
-
*
|
|
119
|
-
* @example
|
|
120
|
-
* formatDayContext({ year: 2025, month: 10, dayInMonth: 13, ... })
|
|
121
|
-
* // Returns: "2025-10-13"
|
|
122
|
-
*/
|
|
123
|
-
export declare function formatDayContext(dayContext: DayContext): string;
|
|
124
|
-
/**
|
|
125
|
-
* Check if a day context matches a specific date
|
|
126
|
-
*
|
|
127
|
-
* @param dayContext - Day context to check
|
|
128
|
-
* @param year - Target year
|
|
129
|
-
* @param month - Target month (1-12)
|
|
130
|
-
* @param day - Target day
|
|
131
|
-
* @returns True if the day context matches
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* isDayContext(dayCtx, 2025, 10, 13) // true if context is Oct 13, 2025
|
|
135
|
-
*/
|
|
136
|
-
export declare function isDayContext(dayContext: DayContext, year: number, month: number, day: number): boolean;
|
|
137
113
|
/**
|
|
138
114
|
* Parse an ISO date string (YYYY-MM-DD) into year, month, day components
|
|
139
115
|
*
|
|
@@ -149,28 +125,4 @@ export declare function parseISODate(isoString: string): {
|
|
|
149
125
|
month: number;
|
|
150
126
|
day: number;
|
|
151
127
|
} | null;
|
|
152
|
-
/**
|
|
153
|
-
* Convert a UTC timestamp to an ISO date string
|
|
154
|
-
* Interprets the timestamp as UTC midnight and returns the date
|
|
155
|
-
*
|
|
156
|
-
* @param utcTimestamp - UTC timestamp in milliseconds
|
|
157
|
-
* @returns ISO date string (YYYY-MM-DD)
|
|
158
|
-
*
|
|
159
|
-
* @example
|
|
160
|
-
* const ctx = getCalendarMonthDays(2025, 10)[0];
|
|
161
|
-
* utcTimestampToISO(ctx.value) // "2025-10-13"
|
|
162
|
-
*/
|
|
163
|
-
export declare function utcTimestampToISO(utcTimestamp: number): string;
|
|
164
|
-
/**
|
|
165
|
-
* Convert a local timestamp to an ISO date string
|
|
166
|
-
* Interprets the timestamp in local timezone and returns the date
|
|
167
|
-
*
|
|
168
|
-
* @param localTimestamp - Local timestamp in milliseconds
|
|
169
|
-
* @returns ISO date string (YYYY-MM-DD)
|
|
170
|
-
*
|
|
171
|
-
* @example
|
|
172
|
-
* const ctx = getCalendarMonthDays(2025, 10)[0];
|
|
173
|
-
* localTimestampToISO(ctx.localValue) // "2025-10-13"
|
|
174
|
-
*/
|
|
175
|
-
export declare function localTimestampToISO(localTimestamp: number): string;
|
|
176
128
|
//# sourceMappingURL=calendar-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-utils.d.ts","sourceRoot":"","sources":["../../src/utils/calendar-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IAEd,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IAEjB,0CAA0C;IAC1C,UAAU,EAAE,OAAO,CAAC;IAEpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiND;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,UAAU,EAAE,CAOd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAkB,GAC3C,MAAM,EAAE,CAeV;AAMD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAgB,EACxB,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC1C,MAAM,CAMR;AAED;;;;;;;;;GASG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"calendar-utils.d.ts","sourceRoot":"","sources":["../../src/utils/calendar-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAC;IAEd,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IAEjB,0CAA0C;IAC1C,UAAU,EAAE,OAAO,CAAC;IAEpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiND;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,UAAU,EAAE,CAOd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAkB,GAC3C,MAAM,EAAE,CAeV;AAMD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAgB,EACxB,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC1C,MAAM,CAMR;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoBnG"}
|
|
@@ -267,39 +267,6 @@ export function getMonthName(month, locale = 'en-US', style = 'long') {
|
|
|
267
267
|
const formatter = new Intl.DateTimeFormat(locale, { month: style });
|
|
268
268
|
return formatter.format(date);
|
|
269
269
|
}
|
|
270
|
-
/**
|
|
271
|
-
* Format a day context as an ISO date string
|
|
272
|
-
*
|
|
273
|
-
* @param dayContext - Day context to format
|
|
274
|
-
* @returns ISO date string (YYYY-MM-DD)
|
|
275
|
-
*
|
|
276
|
-
* @example
|
|
277
|
-
* formatDayContext({ year: 2025, month: 10, dayInMonth: 13, ... })
|
|
278
|
-
* // Returns: "2025-10-13"
|
|
279
|
-
*/
|
|
280
|
-
export function formatDayContext(dayContext) {
|
|
281
|
-
const { year, month, dayInMonth } = dayContext;
|
|
282
|
-
const monthStr = month.toString().padStart(2, '0');
|
|
283
|
-
const dayStr = dayInMonth.toString().padStart(2, '0');
|
|
284
|
-
return `${year}-${monthStr}-${dayStr}`;
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Check if a day context matches a specific date
|
|
288
|
-
*
|
|
289
|
-
* @param dayContext - Day context to check
|
|
290
|
-
* @param year - Target year
|
|
291
|
-
* @param month - Target month (1-12)
|
|
292
|
-
* @param day - Target day
|
|
293
|
-
* @returns True if the day context matches
|
|
294
|
-
*
|
|
295
|
-
* @example
|
|
296
|
-
* isDayContext(dayCtx, 2025, 10, 13) // true if context is Oct 13, 2025
|
|
297
|
-
*/
|
|
298
|
-
export function isDayContext(dayContext, year, month, day) {
|
|
299
|
-
return dayContext.year === year
|
|
300
|
-
&& dayContext.month === month
|
|
301
|
-
&& dayContext.dayInMonth === day;
|
|
302
|
-
}
|
|
303
270
|
/**
|
|
304
271
|
* Parse an ISO date string (YYYY-MM-DD) into year, month, day components
|
|
305
272
|
*
|
|
@@ -331,40 +298,4 @@ export function parseISODate(isoString) {
|
|
|
331
298
|
}
|
|
332
299
|
return { year, month, day };
|
|
333
300
|
}
|
|
334
|
-
/**
|
|
335
|
-
* Convert a UTC timestamp to an ISO date string
|
|
336
|
-
* Interprets the timestamp as UTC midnight and returns the date
|
|
337
|
-
*
|
|
338
|
-
* @param utcTimestamp - UTC timestamp in milliseconds
|
|
339
|
-
* @returns ISO date string (YYYY-MM-DD)
|
|
340
|
-
*
|
|
341
|
-
* @example
|
|
342
|
-
* const ctx = getCalendarMonthDays(2025, 10)[0];
|
|
343
|
-
* utcTimestampToISO(ctx.value) // "2025-10-13"
|
|
344
|
-
*/
|
|
345
|
-
export function utcTimestampToISO(utcTimestamp) {
|
|
346
|
-
const date = new Date(utcTimestamp);
|
|
347
|
-
const year = date.getUTCFullYear();
|
|
348
|
-
const month = (date.getUTCMonth() + 1).toString().padStart(2, '0');
|
|
349
|
-
const day = date.getUTCDate().toString().padStart(2, '0');
|
|
350
|
-
return `${year}-${month}-${day}`;
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Convert a local timestamp to an ISO date string
|
|
354
|
-
* Interprets the timestamp in local timezone and returns the date
|
|
355
|
-
*
|
|
356
|
-
* @param localTimestamp - Local timestamp in milliseconds
|
|
357
|
-
* @returns ISO date string (YYYY-MM-DD)
|
|
358
|
-
*
|
|
359
|
-
* @example
|
|
360
|
-
* const ctx = getCalendarMonthDays(2025, 10)[0];
|
|
361
|
-
* localTimestampToISO(ctx.localValue) // "2025-10-13"
|
|
362
|
-
*/
|
|
363
|
-
export function localTimestampToISO(localTimestamp) {
|
|
364
|
-
const date = new Date(localTimestamp);
|
|
365
|
-
const year = date.getFullYear();
|
|
366
|
-
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
367
|
-
const day = date.getDate().toString().padStart(2, '0');
|
|
368
|
-
return `${year}-${month}-${day}`;
|
|
369
|
-
}
|
|
370
301
|
//# sourceMappingURL=calendar-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-utils.js","sourceRoot":"","sources":["../../src/utils/calendar-utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"calendar-utils.js","sourceRoot":"","sources":["../../src/utils/calendar-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom (non-built-in) flavor support.
|
|
3
|
+
*
|
|
4
|
+
* Built-in flavors get static per-flavor CSS in each component's stylesheet.
|
|
5
|
+
* Any other flavor string is a custom flavor: the component generates the
|
|
6
|
+
* same wiring at runtime, pointed at the user's design tokens
|
|
7
|
+
* (--ty-color-X / --ty-bg-X / --ty-solid-X / ...), and adopts it as a
|
|
8
|
+
* constructed stylesheet.
|
|
9
|
+
*
|
|
10
|
+
* Why an adopted sheet: render() implementations replace shadowRoot.innerHTML
|
|
11
|
+
* (which would destroy an injected <style> element), and inline style on the
|
|
12
|
+
* host would defeat page-level overrides. Adopted sheets survive renders, and
|
|
13
|
+
* outer-document rules on the host still take precedence over :host rules —
|
|
14
|
+
* so `ty-tag[flavor="X"] { --tag-bg: ... }` escape hatches keep working.
|
|
15
|
+
*/
|
|
16
|
+
export interface CustomFlavorParts {
|
|
17
|
+
/** Full flavor string as given, e.g. "brand+" */
|
|
18
|
+
flavor: string;
|
|
19
|
+
/** Flavor with any +/- shade suffix stripped, e.g. "brand" */
|
|
20
|
+
base: string;
|
|
21
|
+
/** "" | "+" | "-" */
|
|
22
|
+
shade: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Keep a shadow root's custom-flavor sheet in sync with the current flavor.
|
|
26
|
+
*
|
|
27
|
+
* Built-in flavors (and anything that isn't a plain identifier, so attribute
|
|
28
|
+
* values can't inject CSS) remove the sheet. Custom flavors get `css(parts)`
|
|
29
|
+
* adopted into the shadow root. Returns the sheet to store for the next call.
|
|
30
|
+
*/
|
|
31
|
+
export declare function syncCustomFlavorSheet(shadow: ShadowRoot, sheet: CSSStyleSheet | null, flavor: unknown, css: (parts: CustomFlavorParts) => string): CSSStyleSheet | null;
|
|
32
|
+
//# sourceMappingURL=flavor-sheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flavor-sheet.d.ts","sourceRoot":"","sources":["../../src/utils/flavor-sheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,aAAa,GAAG,IAAI,EAC3B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,GACxC,aAAa,GAAG,IAAI,CAetB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom (non-built-in) flavor support.
|
|
3
|
+
*
|
|
4
|
+
* Built-in flavors get static per-flavor CSS in each component's stylesheet.
|
|
5
|
+
* Any other flavor string is a custom flavor: the component generates the
|
|
6
|
+
* same wiring at runtime, pointed at the user's design tokens
|
|
7
|
+
* (--ty-color-X / --ty-bg-X / --ty-solid-X / ...), and adopts it as a
|
|
8
|
+
* constructed stylesheet.
|
|
9
|
+
*
|
|
10
|
+
* Why an adopted sheet: render() implementations replace shadowRoot.innerHTML
|
|
11
|
+
* (which would destroy an injected <style> element), and inline style on the
|
|
12
|
+
* host would defeat page-level overrides. Adopted sheets survive renders, and
|
|
13
|
+
* outer-document rules on the host still take precedence over :host rules —
|
|
14
|
+
* so `ty-tag[flavor="X"] { --tag-bg: ... }` escape hatches keep working.
|
|
15
|
+
*/
|
|
16
|
+
import { FLAVORS } from '../types/common.js';
|
|
17
|
+
/**
|
|
18
|
+
* Keep a shadow root's custom-flavor sheet in sync with the current flavor.
|
|
19
|
+
*
|
|
20
|
+
* Built-in flavors (and anything that isn't a plain identifier, so attribute
|
|
21
|
+
* values can't inject CSS) remove the sheet. Custom flavors get `css(parts)`
|
|
22
|
+
* adopted into the shadow root. Returns the sheet to store for the next call.
|
|
23
|
+
*/
|
|
24
|
+
export function syncCustomFlavorSheet(shadow, sheet, flavor, css) {
|
|
25
|
+
const full = String(flavor || '');
|
|
26
|
+
const base = full.replace(/[+-]$/, '');
|
|
27
|
+
if (FLAVORS.includes(base) || !/^[A-Za-z][A-Za-z0-9_-]*$/.test(base)) {
|
|
28
|
+
if (sheet) {
|
|
29
|
+
shadow.adoptedStyleSheets = shadow.adoptedStyleSheets.filter((s) => s !== sheet);
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
if (!sheet) {
|
|
34
|
+
sheet = new CSSStyleSheet();
|
|
35
|
+
shadow.adoptedStyleSheets = [...shadow.adoptedStyleSheets, sheet];
|
|
36
|
+
}
|
|
37
|
+
sheet.replaceSync(css({ flavor: full, base, shade: full.slice(base.length) }));
|
|
38
|
+
return sheet;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=flavor-sheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flavor-sheet.js","sourceRoot":"","sources":["../../src/utils/flavor-sheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAW5C;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,KAA2B,EAC3B,MAAe,EACf,GAAyC;IAEzC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACtC,IAAK,OAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;QAClF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,aAAa,EAAE,CAAA;QAC3B,MAAM,CAAC,kBAAkB,GAAG,CAAC,GAAG,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;IACnE,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9E,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -17,14 +17,6 @@ export declare function getCachedIcon(name: string): Promise<string | null>;
|
|
|
17
17
|
* @param icons Object mapping icon names to SVG strings
|
|
18
18
|
*/
|
|
19
19
|
export declare function registerIcons(icons: Record<string, string>): void;
|
|
20
|
-
/**
|
|
21
|
-
* Register a single icon
|
|
22
|
-
* Always updates memory and notifies watchers immediately
|
|
23
|
-
* Cache update happens in background (only if different from cached version)
|
|
24
|
-
* @param name Icon name
|
|
25
|
-
* @param svg SVG string
|
|
26
|
-
*/
|
|
27
|
-
export declare function registerIcon(name: string, svg: string): void;
|
|
28
20
|
/**
|
|
29
21
|
* Lookup an icon by name from memory
|
|
30
22
|
* NOTE: This does NOT check cache - use getCachedIcon() for that
|
|
@@ -60,11 +52,6 @@ export declare function removeWatcher(id: string): void;
|
|
|
60
52
|
* @returns Array of icon names
|
|
61
53
|
*/
|
|
62
54
|
export declare function getIconNames(): string[];
|
|
63
|
-
/**
|
|
64
|
-
* Get registry size (memory only)
|
|
65
|
-
* @returns Number of registered icons in memory
|
|
66
|
-
*/
|
|
67
|
-
export declare function getIconCount(): number;
|
|
68
55
|
/**
|
|
69
56
|
* Get cache statistics
|
|
70
57
|
* @returns Promise with cache info
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-registry.d.ts","sourceRoot":"","sources":["../../src/utils/icon-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0EH;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CA8BjE;AAED
|
|
1
|
+
{"version":3,"file":"icon-registry.d.ts","sourceRoot":"","sources":["../../src/utils/icon-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0EH;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CA8BjE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAehD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAC5C,IAAI,CAKN;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG9C;AAsDD;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC,CAsBD"}
|