tyrell-components 1.0.0-TC8 → 1.0.0-TC9

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.
Files changed (72) hide show
  1. package/css/tyrell.css +1 -1
  2. package/dist/tyrell.css +1 -1
  3. package/dist/tyrell.js +1 -1
  4. package/lib/base/ty-component.js +1 -1
  5. package/lib/base/ty-component.js.map +1 -1
  6. package/lib/components/button.d.ts +9 -0
  7. package/lib/components/button.d.ts.map +1 -1
  8. package/lib/components/button.js +34 -1
  9. package/lib/components/button.js.map +1 -1
  10. package/lib/components/dropdown.d.ts +23 -21
  11. package/lib/components/dropdown.d.ts.map +1 -1
  12. package/lib/components/dropdown.js +88 -89
  13. package/lib/components/dropdown.js.map +1 -1
  14. package/lib/components/file-upload.d.ts +121 -0
  15. package/lib/components/file-upload.d.ts.map +1 -0
  16. package/lib/components/file-upload.js +441 -0
  17. package/lib/components/file-upload.js.map +1 -0
  18. package/lib/components/multiselect.d.ts +15 -4
  19. package/lib/components/multiselect.d.ts.map +1 -1
  20. package/lib/components/multiselect.js +52 -21
  21. package/lib/components/multiselect.js.map +1 -1
  22. package/lib/components/switch.js +6 -6
  23. package/lib/components/switch.js.map +1 -1
  24. package/lib/components/tag.d.ts +4 -4
  25. package/lib/components/tag.d.ts.map +1 -1
  26. package/lib/components/tag.js +64 -62
  27. package/lib/components/tag.js.map +1 -1
  28. package/lib/index.d.ts +8 -0
  29. package/lib/index.d.ts.map +1 -1
  30. package/lib/index.js +3 -0
  31. package/lib/index.js.map +1 -1
  32. package/lib/styles/button.d.ts +1 -1
  33. package/lib/styles/button.d.ts.map +1 -1
  34. package/lib/styles/button.js +41 -0
  35. package/lib/styles/button.js.map +1 -1
  36. package/lib/styles/calendar-month.d.ts +1 -1
  37. package/lib/styles/calendar-month.d.ts.map +1 -1
  38. package/lib/styles/calendar-month.js +70 -24
  39. package/lib/styles/calendar-month.js.map +1 -1
  40. package/lib/styles/calendar-navigation.d.ts +1 -1
  41. package/lib/styles/calendar-navigation.d.ts.map +1 -1
  42. package/lib/styles/calendar-navigation.js +24 -6
  43. package/lib/styles/calendar-navigation.js.map +1 -1
  44. package/lib/styles/date-picker.d.ts +1 -1
  45. package/lib/styles/date-picker.d.ts.map +1 -1
  46. package/lib/styles/date-picker.js +56 -21
  47. package/lib/styles/date-picker.js.map +1 -1
  48. package/lib/styles/dropdown.d.ts +1 -1
  49. package/lib/styles/dropdown.d.ts.map +1 -1
  50. package/lib/styles/dropdown.js +65 -0
  51. package/lib/styles/dropdown.js.map +1 -1
  52. package/lib/styles/file-upload.d.ts +2 -0
  53. package/lib/styles/file-upload.d.ts.map +1 -0
  54. package/lib/styles/file-upload.js +241 -0
  55. package/lib/styles/file-upload.js.map +1 -0
  56. package/lib/styles/multiselect.d.ts +1 -1
  57. package/lib/styles/multiselect.d.ts.map +1 -1
  58. package/lib/styles/multiselect.js +63 -0
  59. package/lib/styles/multiselect.js.map +1 -1
  60. package/lib/styles/tag.d.ts +1 -1
  61. package/lib/styles/tag.d.ts.map +1 -1
  62. package/lib/styles/tag.js +13 -8
  63. package/lib/styles/tag.js.map +1 -1
  64. package/lib/utils/loader-registry.d.ts +35 -0
  65. package/lib/utils/loader-registry.d.ts.map +1 -0
  66. package/lib/utils/loader-registry.js +43 -0
  67. package/lib/utils/loader-registry.js.map +1 -0
  68. package/lib/utils/property-manager.d.ts +1 -1
  69. package/lib/utils/property-manager.js +1 -1
  70. package/lib/version.d.ts +1 -1
  71. package/lib/version.js +1 -1
  72. package/package.json +5 -1
@@ -3,6 +3,50 @@
3
3
  * Improved design with better visual hierarchy and size variants
4
4
  */
5
5
  export const calendarMonthStyles = `
6
+ /* ============================================================================
7
+ Theming Tokens
8
+ Override these to retheme the calendar without touching the global palette.
9
+ Defaults chain back to the global --ty-color-* / --ty-bg-* / --ty-border tokens.
10
+ ============================================================================ */
11
+
12
+ :host {
13
+ /* Accent aliases — override these three for thin retheming */
14
+ --ty-calendar-accent: var(--ty-color-primary);
15
+ --ty-calendar-today-accent: var(--ty-color-secondary);
16
+ --ty-calendar-muted: var(--ty-color-neutral);
17
+
18
+ /* Header (weekday names) */
19
+ --ty-calendar-header-color: var(--ty-color-neutral-strong);
20
+
21
+ /* Day cell — base */
22
+ --ty-calendar-day-color: var(--ty-calendar-muted);
23
+ --ty-calendar-day-bg: transparent;
24
+ --ty-calendar-day-border: var(--ty-border);
25
+ --ty-calendar-day-radius: 0.375rem;
26
+
27
+ /* Day cell — hover */
28
+ --ty-calendar-day-hover-color: var(--ty-color-neutral-strong);
29
+ --ty-calendar-day-hover-bg: var(--ty-bg-neutral-soft);
30
+ --ty-calendar-day-hover-border: var(--ty-border-mild);
31
+
32
+ /* Today */
33
+ --ty-calendar-today-color: var(--ty-color-secondary-strong);
34
+ --ty-calendar-today-bg: var(--ty-bg-secondary-soft);
35
+ --ty-calendar-today-border: var(--ty-calendar-today-accent);
36
+
37
+ /* Selected */
38
+ --ty-calendar-selected-color: var(--ty-color-primary-strong);
39
+ --ty-calendar-selected-bg: var(--ty-bg-primary);
40
+ --ty-calendar-selected-border: var(--ty-calendar-accent);
41
+ --ty-calendar-selected-hover-bg: var(--ty-bg-primary-mild);
42
+ --ty-calendar-selected-hover-border: var(--ty-color-primary-mild);
43
+
44
+ /* Modifier states */
45
+ --ty-calendar-weekend-color: var(--ty-color-danger-soft);
46
+ --ty-calendar-other-month-color: var(--ty-color-neutral-faint);
47
+ --ty-calendar-other-month-opacity: 0.5;
48
+ }
49
+
6
50
  /* ============================================================================
7
51
  Base Calendar Container
8
52
  ============================================================================ */
@@ -33,7 +77,7 @@ export const calendarMonthStyles = `
33
77
 
34
78
  .calendar-header-row {
35
79
  flex: 0 0 auto;
36
- color: var(--ty-color-neutral-strong);
80
+ color: var(--ty-calendar-header-color);
37
81
  }
38
82
 
39
83
  .calendar-day-row {
@@ -75,32 +119,33 @@ export const calendarMonthStyles = `
75
119
  .calendar-day-cell {
76
120
  /* Square cells */
77
121
  aspect-ratio: 1;
78
-
122
+
79
123
  /* Layout */
80
124
  display: flex;
81
125
  align-items: center;
82
126
  justify-content: center;
83
127
  flex-direction: column;
84
-
128
+
85
129
  /* Spacing */
86
130
  margin: 0.125rem;
87
-
131
+
88
132
  /* Visual */
89
- border-radius: 0.375rem;
90
- border: 1px solid var(--ty-border);
91
- color: var(--ty-color-neutral);
133
+ border-radius: var(--ty-calendar-day-radius);
134
+ border: 1px solid var(--ty-calendar-day-border);
135
+ background-color: var(--ty-calendar-day-bg);
136
+ color: var(--ty-calendar-day-color);
92
137
  cursor: pointer;
93
138
  transition: all 0.15s ease;
94
-
139
+
95
140
  /* Typography */
96
141
  font-weight: 400;
97
142
  }
98
143
 
99
144
  /* Hover State - Stronger Feedback */
100
145
  .calendar-day-cell:hover {
101
- color: var(--ty-color-neutral-strong);
102
- background-color: var(--ty-bg-neutral-soft);
103
- border-color: var(--ty-border-mild);
146
+ color: var(--ty-calendar-day-hover-color);
147
+ background-color: var(--ty-calendar-day-hover-bg);
148
+ border-color: var(--ty-calendar-day-hover-border);
104
149
  }
105
150
 
106
151
  /* ============================================================================
@@ -109,39 +154,40 @@ export const calendarMonthStyles = `
109
154
 
110
155
  /* Today - Strong Visual Indicator */
111
156
  .calendar-day-cell.today {
112
- background-color: var(--ty-bg-secondary-soft);
113
- color: var(--ty-color-secondary-strong);
114
- border-color: var(--ty-color-secondary);
157
+ background-color: var(--ty-calendar-today-bg);
158
+ color: var(--ty-calendar-today-color);
159
+ border-color: var(--ty-calendar-today-border);
115
160
  font-weight: 600;
116
161
  }
117
162
 
118
163
  /* Weekend - Subtle Color Shift */
119
164
  .calendar-day-cell.weekend {
120
- color: var(--ty-color-danger-soft);
165
+ color: var(--ty-calendar-weekend-color);
121
166
  }
122
167
 
123
168
  /* Other Month - Muted */
124
169
  .calendar-day-cell.other-month {
125
- color: var(--ty-color-neutral-faint);
126
- opacity: 0.5;
170
+ color: var(--ty-calendar-other-month-color);
171
+ opacity: var(--ty-calendar-other-month-opacity);
127
172
  }
128
173
 
129
- .calendar-day-cell.other-month:hover {
130
- background-color: var(--ty-bg-neutral-soft);
174
+ .calendar-day-cell.other-month:hover {
175
+ color: var(--ty-calendar-day-hover-color);
176
+ background-color: var(--ty-calendar-day-hover-bg);
131
177
  opacity: 0.7;
132
178
  }
133
179
 
134
180
  /* Selected State (for custom usage) */
135
181
  .calendar-day-cell.selected {
136
- background-color: var(--ty-bg-primary) !important;
137
- color: var(--ty-color-primary-strong) !important;
138
- border-color: var(--ty-color-primary) !important;
182
+ background-color: var(--ty-calendar-selected-bg);
183
+ color: var(--ty-calendar-selected-color);
184
+ border-color: var(--ty-calendar-selected-border);
139
185
  font-weight: 600;
140
186
  }
141
187
 
142
188
  .calendar-day-cell.selected:hover {
143
- background-color: var(--ty-bg-primary-mild) !important;
144
- border-color: var(--ty-color-primary-mild) !important;
189
+ background-color: var(--ty-calendar-selected-hover-bg);
190
+ border-color: var(--ty-calendar-selected-hover-border);
145
191
  }
146
192
 
147
193
  .calendar-day-cell.selected.other-month {
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-month.js","sourceRoot":"","sources":["../../src/styles/calendar-month.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+NlC,CAAC"}
1
+ {"version":3,"file":"calendar-month.js","sourceRoot":"","sources":["../../src/styles/calendar-month.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6QlC,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * Calendar Navigation Styles
3
3
  * Clean, modern design with proper visual hierarchy and size variants
4
4
  */
5
- export declare const calendarNavigationStyles = "\n/* ============================================================================\n Size Variants (CSS Custom Properties)\n ============================================================================ */\n\n:host {\n /* Default (md) */\n --nav-btn-size: 2rem;\n --nav-btn-icon-size: 1.25rem;\n --nav-font-size: 1rem;\n --nav-padding: 0.5rem 0.75rem;\n --nav-default-width: 280px;\n}\n\n:host([data-size=\"sm\"]) {\n --nav-btn-size: 1.5rem;\n --nav-btn-icon-size: 1rem;\n --nav-font-size: 0.875rem;\n --nav-padding: 0.375rem 0.5rem;\n --nav-default-width: 240px;\n}\n\n:host([data-size=\"lg\"]) {\n --nav-btn-size: 2.5rem;\n --nav-btn-icon-size: 1.5rem;\n --nav-font-size: 1.125rem;\n --nav-padding: 0.625rem 1rem;\n --nav-default-width: 360px;\n}\n\n/* ============================================================================\n Main Navigation Header\n ============================================================================ */\n\n.calendar-navigation-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nav-padding);\n font-family: system-ui, sans-serif;\n user-select: none;\n width: var(--nav-width, var(--nav-default-width));\n box-sizing: border-box;\n}\n\n/* ============================================================================\n Navigation Groups (Left, Center, Right)\n ============================================================================ */\n\n.nav-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.nav-group-left,\n.nav-group-right {\n flex: 0 0 auto;\n}\n\n.nav-group-center {\n flex: 1;\n justify-content: center;\n}\n\n/* ============================================================================\n Navigation Buttons\n ============================================================================ */\n\n.nav-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nav-btn-size);\n height: var(--nav-btn-size);\n padding: 0;\n border: none;\n border-radius: 0.375rem;\n background-color: transparent;\n color: var(--ty-color-neutral);\n cursor: pointer;\n transition: all 0.15s ease;\n outline: none;\n}\n\n.nav-btn:hover {\n background-color: var(--ty-bg-neutral-soft);\n color: var(--ty-color-neutral-strong);\n}\n\n.nav-btn:active {\n background-color: var(--ty-bg-neutral);\n transform: scale(0.95);\n}\n\n.nav-btn:focus-visible {\n outline: 2px solid var(--ty-color-primary);\n outline-offset: 2px;\n}\n\n/* SVG sizing */\n.nav-btn svg {\n width: var(--nav-btn-icon-size);\n height: var(--nav-btn-icon-size);\n display: block;\n}\n\n/* ============================================================================\n Month/Year Display (Center)\n ============================================================================ */\n\n.month-year-display {\n font-size: var(--nav-font-size);\n font-weight: 600;\n color: var(--ty-color-neutral-strong);\n text-align: center;\n white-space: nowrap;\n letter-spacing: -0.01em;\n}\n";
5
+ export declare const calendarNavigationStyles = "\n/* ============================================================================\n Size Variants (CSS Custom Properties)\n ============================================================================ */\n\n:host {\n /* Default (md) */\n --nav-btn-size: 2rem;\n --nav-btn-icon-size: 1.25rem;\n --nav-font-size: 1rem;\n --nav-padding: 0.5rem 0.75rem;\n --nav-default-width: 280px;\n\n /* ==========================================================================\n Theming Tokens\n Override these to retheme navigation without touching the global palette.\n ========================================================================== */\n\n /* Accent alias \u2014 drives focus outline, mirrors --ty-calendar-accent */\n --ty-calendar-accent: var(--ty-color-primary);\n\n /* Nav button (prev/next chevrons) */\n --ty-calendar-nav-color: var(--ty-color-neutral);\n --ty-calendar-nav-hover-color: var(--ty-color-neutral-strong);\n --ty-calendar-nav-hover-bg: var(--ty-bg-neutral-soft);\n --ty-calendar-nav-active-bg: var(--ty-bg-neutral);\n --ty-calendar-nav-focus-outline: var(--ty-calendar-accent);\n\n /* Title (month/year display) */\n --ty-calendar-nav-title-color: var(--ty-color-neutral-strong);\n}\n\n:host([data-size=\"sm\"]) {\n --nav-btn-size: 1.5rem;\n --nav-btn-icon-size: 1rem;\n --nav-font-size: 0.875rem;\n --nav-padding: 0.375rem 0.5rem;\n --nav-default-width: 240px;\n}\n\n:host([data-size=\"lg\"]) {\n --nav-btn-size: 2.5rem;\n --nav-btn-icon-size: 1.5rem;\n --nav-font-size: 1.125rem;\n --nav-padding: 0.625rem 1rem;\n --nav-default-width: 360px;\n}\n\n/* ============================================================================\n Main Navigation Header\n ============================================================================ */\n\n.calendar-navigation-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nav-padding);\n font-family: system-ui, sans-serif;\n user-select: none;\n width: var(--nav-width, var(--nav-default-width));\n box-sizing: border-box;\n}\n\n/* ============================================================================\n Navigation Groups (Left, Center, Right)\n ============================================================================ */\n\n.nav-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.nav-group-left,\n.nav-group-right {\n flex: 0 0 auto;\n}\n\n.nav-group-center {\n flex: 1;\n justify-content: center;\n}\n\n/* ============================================================================\n Navigation Buttons\n ============================================================================ */\n\n.nav-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--nav-btn-size);\n height: var(--nav-btn-size);\n padding: 0;\n border: none;\n border-radius: 0.375rem;\n background-color: transparent;\n color: var(--ty-calendar-nav-color);\n cursor: pointer;\n transition: all 0.15s ease;\n outline: none;\n}\n\n.nav-btn:hover {\n background-color: var(--ty-calendar-nav-hover-bg);\n color: var(--ty-calendar-nav-hover-color);\n}\n\n.nav-btn:active {\n background-color: var(--ty-calendar-nav-active-bg);\n transform: scale(0.95);\n}\n\n.nav-btn:focus-visible {\n outline: 2px solid var(--ty-calendar-nav-focus-outline);\n outline-offset: 2px;\n}\n\n/* SVG sizing */\n.nav-btn svg {\n width: var(--nav-btn-icon-size);\n height: var(--nav-btn-icon-size);\n display: block;\n}\n\n/* ============================================================================\n Month/Year Display (Center)\n ============================================================================ */\n\n.month-year-display {\n font-size: var(--nav-font-size);\n font-weight: 600;\n color: var(--ty-calendar-nav-title-color);\n text-align: center;\n white-space: nowrap;\n letter-spacing: -0.01em;\n}\n";
6
6
  //# sourceMappingURL=calendar-navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-navigation.d.ts","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,wBAAwB,i/FAuHpC,CAAC"}
1
+ {"version":3,"file":"calendar-navigation.d.ts","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,wBAAwB,s2HAyIpC,CAAC"}
@@ -14,6 +14,24 @@ export const calendarNavigationStyles = `
14
14
  --nav-font-size: 1rem;
15
15
  --nav-padding: 0.5rem 0.75rem;
16
16
  --nav-default-width: 280px;
17
+
18
+ /* ==========================================================================
19
+ Theming Tokens
20
+ Override these to retheme navigation without touching the global palette.
21
+ ========================================================================== */
22
+
23
+ /* Accent alias — drives focus outline, mirrors --ty-calendar-accent */
24
+ --ty-calendar-accent: var(--ty-color-primary);
25
+
26
+ /* Nav button (prev/next chevrons) */
27
+ --ty-calendar-nav-color: var(--ty-color-neutral);
28
+ --ty-calendar-nav-hover-color: var(--ty-color-neutral-strong);
29
+ --ty-calendar-nav-hover-bg: var(--ty-bg-neutral-soft);
30
+ --ty-calendar-nav-active-bg: var(--ty-bg-neutral);
31
+ --ty-calendar-nav-focus-outline: var(--ty-calendar-accent);
32
+
33
+ /* Title (month/year display) */
34
+ --ty-calendar-nav-title-color: var(--ty-color-neutral-strong);
17
35
  }
18
36
 
19
37
  :host([data-size="sm"]) {
@@ -81,24 +99,24 @@ export const calendarNavigationStyles = `
81
99
  border: none;
82
100
  border-radius: 0.375rem;
83
101
  background-color: transparent;
84
- color: var(--ty-color-neutral);
102
+ color: var(--ty-calendar-nav-color);
85
103
  cursor: pointer;
86
104
  transition: all 0.15s ease;
87
105
  outline: none;
88
106
  }
89
107
 
90
108
  .nav-btn:hover {
91
- background-color: var(--ty-bg-neutral-soft);
92
- color: var(--ty-color-neutral-strong);
109
+ background-color: var(--ty-calendar-nav-hover-bg);
110
+ color: var(--ty-calendar-nav-hover-color);
93
111
  }
94
112
 
95
113
  .nav-btn:active {
96
- background-color: var(--ty-bg-neutral);
114
+ background-color: var(--ty-calendar-nav-active-bg);
97
115
  transform: scale(0.95);
98
116
  }
99
117
 
100
118
  .nav-btn:focus-visible {
101
- outline: 2px solid var(--ty-color-primary);
119
+ outline: 2px solid var(--ty-calendar-nav-focus-outline);
102
120
  outline-offset: 2px;
103
121
  }
104
122
 
@@ -116,7 +134,7 @@ export const calendarNavigationStyles = `
116
134
  .month-year-display {
117
135
  font-size: var(--nav-font-size);
118
136
  font-weight: 600;
119
- color: var(--ty-color-neutral-strong);
137
+ color: var(--ty-calendar-nav-title-color);
120
138
  text-align: center;
121
139
  white-space: nowrap;
122
140
  letter-spacing: -0.01em;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-navigation.js","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuHvC,CAAC"}
1
+ {"version":3,"file":"calendar-navigation.js","sourceRoot":"","sources":["../../src/styles/calendar-navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyIvC,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * Date Picker Component Styles
3
3
  * PORTED FROM: cljs/ty/components/date_picker.css
4
4
  */
5
- export declare const datePickerStyles = "\n/* Date Picker Component Styles */\n:host {\n display: block;\n width: auto;\n min-width: 200px;\n}\n\n/* Container structure (reuses dropdown patterns) */\n.dropdown-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n}\n\n.dropdown-label {\n font-size: 14px;\n font-weight: 500;\n color: var(--ty-label-color);\n margin-bottom: 6px;\n line-height: 1.25;\n padding-left: 12px;\n}\n\n.required-icon {\n display: inline-flex;\n align-items: center;\n color: #ef4444;\n width: 12px;\n height: 12px;\n vertical-align: middle;\n margin-left: 4px;\n}\n\n.dropdown-wrapper {\n position: relative;\n display: block;\n width: 100%;\n}\n\n/* Start-slot icon (leading content inside the date-picker stub) */\n.date-picker-stub ::slotted([slot=\"start\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-right: 0.5rem;\n color: var(--ty-color-text-soft);\n}\n\n.date-picker-stub ::slotted(ty-icon[slot=\"start\"]) {\n width: 1em;\n height: 1em;\n}\n\n/* Date picker stub (styled like dropdown) */\n.date-picker-stub {\n width: 100%;\n cursor: pointer;\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n background: var(--ty-input-bg);\n color: var(--ty-input-color);\n border: 1px solid var(--ty-input-border);\n border-radius: var(--ty-radius-md);\n font-family: var(--ty-font-sans);\n font-size: var(--ty-font-sm);\n font-weight: var(--ty-font-normal);\n line-height: var(--ty-line-height-tight);\n min-height: var(--ty-size-md);\n padding: var(--ty-spacing-2) var(--ty-spacing-3);\n padding-right: calc(var(--ty-spacing-3) + 1rem + var(--ty-spacing-2));\n transition: var(--ty-transition-all), opacity 0.2s ease;\n outline: none;\n}\n\n.date-picker-stub:hover:not([disabled]):not(.open) {\n border-color: var(--ty-input-border-hover);\n}\n\n.date-picker-stub[disabled] {\n background-color: var(--ty-input-disabled-bg);\n color: var(--ty-input-disabled-color);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.date-picker-stub:focus,\n.date-picker-stub.open {\n border-color: var(--ty-input-border-focus);\n box-shadow: 0 0 0 3px var(--ty-input-shadow-focus);\n}\n\n/* Size variants */\n.date-picker-stub.xs {\n min-height: var(--ty-size-xs);\n font-size: var(--ty-font-xs);\n padding: var(--ty-spacing-1) var(--ty-spacing-2);\n padding-right: calc(var(--ty-spacing-2) + 0.875rem + var(--ty-spacing-1));\n}\n\n.date-picker-stub.sm {\n min-height: var(--ty-size-sm);\n font-size: var(--ty-font-xs);\n padding: var(--ty-spacing-1) var(--ty-spacing-2);\n padding-right: calc(var(--ty-spacing-2) + 0.875rem + var(--ty-spacing-1));\n}\n\n.date-picker-stub.lg {\n min-height: var(--ty-size-lg);\n font-size: var(--ty-font-base);\n padding: var(--ty-spacing-2) var(--ty-spacing-4);\n padding-right: calc(var(--ty-spacing-4) + 1.125rem + var(--ty-spacing-2));\n}\n\n.date-picker-stub.xl {\n min-height: var(--ty-size-xl);\n font-size: var(--ty-font-lg);\n padding: var(--ty-spacing-3) var(--ty-spacing-4);\n padding-right: calc(var(--ty-spacing-4) + 1.25rem + var(--ty-spacing-3));\n}\n\n/* Flavor variants */\n/* Primary - Main brand focus state */\n.date-picker-stub.primary {\n border-color: var(--ty-input-primary-border, var(--ty-color-primary));\n}\n\n.date-picker-stub.primary:hover:not([disabled]) {\n border-color: var(--ty-color-primary-mild);\n}\n\n.date-picker-stub.primary:focus,\n.date-picker-stub.primary.open {\n border-color: var(--ty-color-primary-mild);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n/* Secondary - Supporting action focus state */\n.date-picker-stub.secondary {\n border-color: var(--ty-input-secondary-border, var(--ty-color-secondary));\n}\n\n.date-picker-stub.secondary:hover:not([disabled]) {\n border-color: var(--ty-color-secondary-mild);\n}\n\n.date-picker-stub.secondary:focus,\n.date-picker-stub.secondary.open {\n border-color: var(--ty-color-secondary-mild);\n box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);\n}\n\n/* Success - Valid/confirmed input state */\n.date-picker-stub.success {\n border-color: var(--ty-input-success-border, var(--ty-color-success));\n}\n\n.date-picker-stub.success:hover:not([disabled]) {\n border-color: var(--ty-color-success-mild);\n}\n\n.date-picker-stub.success:focus,\n.date-picker-stub.success.open {\n border-color: var(--ty-color-success-mild);\n box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);\n}\n\n/* Danger - Error/invalid input state */\n.date-picker-stub.danger {\n border-color: var(--ty-input-danger-border, var(--ty-color-danger));\n}\n\n.date-picker-stub.danger:hover:not([disabled]) {\n border-color: var(--ty-color-danger-mild);\n}\n\n.date-picker-stub.danger:focus,\n.date-picker-stub.danger.open {\n border-color: var(--ty-color-danger-mild);\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n\n/* Warning - Caution/attention needed input state */\n.date-picker-stub.warning {\n border-color: var(--ty-input-warning-border, var(--ty-color-warning));\n}\n\n.date-picker-stub.warning:hover:not([disabled]) {\n border-color: var(--ty-color-warning-mild);\n}\n\n.date-picker-stub.warning:focus,\n.date-picker-stub.warning.open {\n border-color: var(--ty-color-warning-mild);\n box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);\n}\n\n/* Text content */\n.stub-text {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n color: inherit;\n pointer-events: none;\n}\n\n.stub-text.placeholder {\n color: var(--ty-input-placeholder);\n}\n\n/* Icons */\n.stub-icons {\n display: flex;\n align-items: center;\n gap: var(--ty-spacing-1);\n position: absolute;\n right: var(--ty-spacing-3);\n top: 50%;\n transform: translateY(-50%);\n height: 1rem;\n pointer-events: none;\n z-index: 2;\n}\n\n.stub-clear {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n padding: 0;\n border: none;\n background: none;\n color: var(--ty-color-neutral-soft);\n cursor: pointer;\n border-radius: var(--ty-radius-sm);\n transition: all 0.15s ease;\n pointer-events: auto;\n}\n\n.stub-clear:hover {\n color: var(--ty-color-negative);\n background-color: var(--ty-bg-negative-faint);\n}\n\n.stub-arrow {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n color: var(--ty-color-neutral-soft);\n}\n\n.date-picker-stub:hover .stub-arrow {\n color: var(--ty-color-neutral);\n}\n\n.date-picker-stub:focus .stub-arrow,\n.date-picker-stub.open .stub-arrow {\n color: var(--ty-input-border-focus);\n}\n\n/* Calendar dialog (showModal positioning system) */\n.calendar-dialog {\n position: fixed;\n flex-direction: column;\n max-width: 90vw;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n box-sizing: border-box;\n padding: var(--calendar-padding, 8px);\n\n /* Hidden by default */\n opacity: 0;\n transition: opacity 200ms ease;\n\n transform: translate(var(--calendar-offset-x, 0px), var(--calendar-offset-y, 0px));\n top: -1000px;\n left: -1000px;\n}\n\n/* Direction-based positioning with CSS classes */\n.calendar-dialog.position-below {\n left: var(--calendar-x);\n top: var(--calendar-y);\n}\n\n.calendar-dialog.position-above {\n left: var(--calendar-x);\n bottom: var(--calendar-y);\n top: auto;\n flex-direction: column-reverse;\n}\n\n.calendar-dialog.open {\n opacity: 1;\n}\n\n.calendar-dialog::backdrop {\n background: transparent\n}\n\n/* Calendar content container */\n.calendar-content {\n background-color: var(--ty-surface-floating);\n border: 1px solid var(--ty-color-neutral-soft);\n border-radius: var(--ty-radius-lg);\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n/* Native date input for mobile */\n/* Native input is invisible \u2014 used only to trigger the OS picker */\n.native-date-input {\n position: absolute;\n inset: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n border: none;\n cursor: pointer;\n z-index: 1;\n}\n\n.native-date-input::-webkit-calendar-picker-indicator {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n\n/* Time input section */\n.time-section {\n display: flex;\n min-height: 2.5rem;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.5rem 1rem;\n border-top: 1px solid var(--ty-color-neutral-faint);\n background-color: var(--ty-bg-neutral-faint);\n width: 100%;\n box-sizing: border-box;\n position: relative;\n}\n\n.time-label {\n font-size: var(--ty-font-sm);\n font-weight: 500;\n color: var(--ty-color-neutral);\n flex-shrink: 0;\n}\n\n.time-input {\n width: 3.5rem;\n border: none;\n border-radius: var(--ty-radius-sm);\n background: transparent;\n color: var(--ty-input-color);\n font-family: var(--ty-font-sans);\n font-size: var(--ty-font-sm);\n text-align: center;\n outline: none;\n}\n\n.time-input::placeholder {\n color: var(--ty-input-placeholder);\n}\n\n.time-icon {\n display: flex;\n align-items: center;\n color: var(--ty-color-neutral-soft);\n width: 1rem;\n height: 1rem;\n flex-shrink: 0;\n}\n";
5
+ export declare const datePickerStyles = "\n/* Date Picker Component Styles */\n:host {\n display: block;\n width: auto;\n min-width: 200px;\n\n /* ==========================================================================\n Theming Tokens \u2014 Date Picker Stub\n Thin shim over --ty-input-*. Override these to retheme just the date-picker\n trigger without affecting other inputs.\n ========================================================================== */\n --ty-date-picker-bg: var(--ty-input-bg);\n --ty-date-picker-color: var(--ty-input-color);\n --ty-date-picker-placeholder: var(--ty-input-placeholder);\n --ty-date-picker-border: var(--ty-input-border);\n --ty-date-picker-border-hover: var(--ty-input-border-hover);\n --ty-date-picker-border-focus: var(--ty-input-border-focus);\n --ty-date-picker-shadow-focus: var(--ty-input-shadow-focus);\n --ty-date-picker-disabled-bg: var(--ty-input-disabled-bg);\n --ty-date-picker-disabled-color: var(--ty-input-disabled-color);\n --ty-date-picker-radius: var(--ty-radius-md);\n\n /* ==========================================================================\n Theming Tokens \u2014 Calendar Popup Surface\n Shared with ty-calendar / ty-calendar-month theming.\n ========================================================================== */\n --ty-calendar-surface-bg: var(--ty-surface-floating);\n --ty-calendar-surface-border: var(--ty-input-border);\n --ty-calendar-surface-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.1);\n --ty-calendar-surface-radius: var(--ty-radius-lg);\n\n /* ==========================================================================\n Theming Tokens \u2014 Time Section\n ========================================================================== */\n --ty-calendar-time-bg: var(--ty-bg-neutral-faint);\n --ty-calendar-time-border: var(--ty-input-border);\n --ty-calendar-time-label-color: var(--ty-color-neutral);\n --ty-calendar-time-input-color: var(--ty-input-color);\n --ty-calendar-time-placeholder-color: var(--ty-input-placeholder);\n --ty-calendar-time-icon-color: var(--ty-color-neutral-soft);\n}\n\n/* Container structure (reuses dropdown patterns) */\n.dropdown-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n}\n\n.dropdown-label {\n font-size: 14px;\n font-weight: 500;\n color: var(--ty-label-color);\n margin-bottom: 6px;\n line-height: 1.25;\n padding-left: 12px;\n}\n\n.required-icon {\n display: inline-flex;\n align-items: center;\n color: #ef4444;\n width: 12px;\n height: 12px;\n vertical-align: middle;\n margin-left: 4px;\n}\n\n.dropdown-wrapper {\n position: relative;\n display: block;\n width: 100%;\n}\n\n/* Start-slot icon (leading content inside the date-picker stub) */\n.date-picker-stub ::slotted([slot=\"start\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-right: 0.5rem;\n color: var(--ty-color-text-soft);\n}\n\n.date-picker-stub ::slotted(ty-icon[slot=\"start\"]) {\n width: 1em;\n height: 1em;\n}\n\n/* Date picker stub (styled like dropdown) */\n.date-picker-stub {\n width: 100%;\n cursor: pointer;\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n background: var(--ty-date-picker-bg);\n color: var(--ty-date-picker-color);\n border: 1px solid var(--ty-date-picker-border);\n border-radius: var(--ty-date-picker-radius);\n font-family: var(--ty-font-sans);\n font-size: var(--ty-font-sm);\n font-weight: var(--ty-font-normal);\n line-height: var(--ty-line-height-tight);\n min-height: var(--ty-size-md);\n padding: var(--ty-spacing-2) var(--ty-spacing-3);\n padding-right: calc(var(--ty-spacing-3) + 1rem + var(--ty-spacing-2));\n transition: var(--ty-transition-all), opacity 0.2s ease;\n outline: none;\n}\n\n.date-picker-stub:hover:not([disabled]):not(.open) {\n border-color: var(--ty-date-picker-border-hover);\n}\n\n.date-picker-stub[disabled] {\n background-color: var(--ty-date-picker-disabled-bg);\n color: var(--ty-date-picker-disabled-color);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.date-picker-stub:focus,\n.date-picker-stub.open {\n border-color: var(--ty-date-picker-border-focus);\n box-shadow: 0 0 0 3px var(--ty-date-picker-shadow-focus);\n}\n\n/* Size variants */\n.date-picker-stub.xs {\n min-height: var(--ty-size-xs);\n font-size: var(--ty-font-xs);\n padding: var(--ty-spacing-1) var(--ty-spacing-2);\n padding-right: calc(var(--ty-spacing-2) + 0.875rem + var(--ty-spacing-1));\n}\n\n.date-picker-stub.sm {\n min-height: var(--ty-size-sm);\n font-size: var(--ty-font-xs);\n padding: var(--ty-spacing-1) var(--ty-spacing-2);\n padding-right: calc(var(--ty-spacing-2) + 0.875rem + var(--ty-spacing-1));\n}\n\n.date-picker-stub.lg {\n min-height: var(--ty-size-lg);\n font-size: var(--ty-font-base);\n padding: var(--ty-spacing-2) var(--ty-spacing-4);\n padding-right: calc(var(--ty-spacing-4) + 1.125rem + var(--ty-spacing-2));\n}\n\n.date-picker-stub.xl {\n min-height: var(--ty-size-xl);\n font-size: var(--ty-font-lg);\n padding: var(--ty-spacing-3) var(--ty-spacing-4);\n padding-right: calc(var(--ty-spacing-4) + 1.25rem + var(--ty-spacing-3));\n}\n\n/* Flavor variants */\n/* Primary - Main brand focus state */\n.date-picker-stub.primary {\n border-color: var(--ty-input-primary-border, var(--ty-color-primary));\n}\n\n.date-picker-stub.primary:hover:not([disabled]) {\n border-color: var(--ty-color-primary-mild);\n}\n\n.date-picker-stub.primary:focus,\n.date-picker-stub.primary.open {\n border-color: var(--ty-color-primary-mild);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n/* Secondary - Supporting action focus state */\n.date-picker-stub.secondary {\n border-color: var(--ty-input-secondary-border, var(--ty-color-secondary));\n}\n\n.date-picker-stub.secondary:hover:not([disabled]) {\n border-color: var(--ty-color-secondary-mild);\n}\n\n.date-picker-stub.secondary:focus,\n.date-picker-stub.secondary.open {\n border-color: var(--ty-color-secondary-mild);\n box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);\n}\n\n/* Success - Valid/confirmed input state */\n.date-picker-stub.success {\n border-color: var(--ty-input-success-border, var(--ty-color-success));\n}\n\n.date-picker-stub.success:hover:not([disabled]) {\n border-color: var(--ty-color-success-mild);\n}\n\n.date-picker-stub.success:focus,\n.date-picker-stub.success.open {\n border-color: var(--ty-color-success-mild);\n box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);\n}\n\n/* Danger - Error/invalid input state */\n.date-picker-stub.danger {\n border-color: var(--ty-input-danger-border, var(--ty-color-danger));\n}\n\n.date-picker-stub.danger:hover:not([disabled]) {\n border-color: var(--ty-color-danger-mild);\n}\n\n.date-picker-stub.danger:focus,\n.date-picker-stub.danger.open {\n border-color: var(--ty-color-danger-mild);\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n\n/* Warning - Caution/attention needed input state */\n.date-picker-stub.warning {\n border-color: var(--ty-input-warning-border, var(--ty-color-warning));\n}\n\n.date-picker-stub.warning:hover:not([disabled]) {\n border-color: var(--ty-color-warning-mild);\n}\n\n.date-picker-stub.warning:focus,\n.date-picker-stub.warning.open {\n border-color: var(--ty-color-warning-mild);\n box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);\n}\n\n/* Text content */\n.stub-text {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n color: inherit;\n pointer-events: none;\n}\n\n.stub-text.placeholder {\n color: var(--ty-date-picker-placeholder);\n}\n\n/* Icons */\n.stub-icons {\n display: flex;\n align-items: center;\n gap: var(--ty-spacing-1);\n position: absolute;\n right: var(--ty-spacing-3);\n top: 50%;\n transform: translateY(-50%);\n height: 1rem;\n pointer-events: none;\n z-index: 2;\n}\n\n.stub-clear {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n padding: 0;\n border: none;\n background: none;\n color: var(--ty-color-neutral-soft);\n cursor: pointer;\n border-radius: var(--ty-radius-sm);\n transition: all 0.15s ease;\n pointer-events: auto;\n}\n\n.stub-clear:hover {\n color: var(--ty-color-negative);\n background-color: var(--ty-bg-negative-faint);\n}\n\n.stub-arrow {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n height: 1rem;\n color: var(--ty-color-neutral-soft);\n}\n\n.date-picker-stub:hover .stub-arrow {\n color: var(--ty-color-neutral);\n}\n\n.date-picker-stub:focus .stub-arrow,\n.date-picker-stub.open .stub-arrow {\n color: var(--ty-date-picker-border-focus);\n}\n\n/* Calendar dialog (showModal positioning system) */\n.calendar-dialog {\n position: fixed;\n flex-direction: column;\n max-width: 90vw;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n box-sizing: border-box;\n padding: var(--calendar-padding, 8px);\n\n /* Hidden by default */\n opacity: 0;\n transition: opacity 200ms ease;\n\n transform: translate(var(--calendar-offset-x, 0px), var(--calendar-offset-y, 0px));\n top: -1000px;\n left: -1000px;\n}\n\n/* Direction-based positioning with CSS classes */\n.calendar-dialog.position-below {\n left: var(--calendar-x);\n top: var(--calendar-y);\n}\n\n.calendar-dialog.position-above {\n left: var(--calendar-x);\n bottom: var(--calendar-y);\n top: auto;\n flex-direction: column-reverse;\n}\n\n.calendar-dialog.open {\n opacity: 1;\n}\n\n.calendar-dialog::backdrop {\n background: transparent\n}\n\n/* Calendar content container */\n.calendar-content {\n background-color: var(--ty-calendar-surface-bg);\n border: 1px solid var(--ty-calendar-surface-border);\n border-radius: var(--ty-calendar-surface-radius);\n box-shadow: var(--ty-calendar-surface-shadow);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n/* Native date input for mobile */\n/* Native input is invisible \u2014 used only to trigger the OS picker */\n.native-date-input {\n position: absolute;\n inset: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n border: none;\n cursor: pointer;\n z-index: 1;\n}\n\n.native-date-input::-webkit-calendar-picker-indicator {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n\n/* Time input section */\n.time-section {\n display: flex;\n min-height: 2.5rem;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.5rem 1rem;\n border-top: 1px solid var(--ty-calendar-time-border);\n background-color: var(--ty-calendar-time-bg);\n width: 100%;\n box-sizing: border-box;\n position: relative;\n}\n\n.time-label {\n font-size: var(--ty-font-sm);\n font-weight: 500;\n color: var(--ty-calendar-time-label-color);\n flex-shrink: 0;\n}\n\n.time-input {\n width: 3.5rem;\n border: none;\n border-radius: var(--ty-radius-sm);\n background: transparent;\n color: var(--ty-calendar-time-input-color);\n font-family: var(--ty-font-sans);\n font-size: var(--ty-font-sm);\n text-align: center;\n outline: none;\n}\n\n.time-input::placeholder {\n color: var(--ty-calendar-time-placeholder-color);\n}\n\n.time-icon {\n display: flex;\n align-items: center;\n color: var(--ty-calendar-time-icon-color);\n width: 1rem;\n height: 1rem;\n flex-shrink: 0;\n}\n";
6
6
  //# sourceMappingURL=date-picker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../src/styles/date-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,wqSA0Y5B,CAAC"}
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../src/styles/date-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,kwWA6a5B,CAAC"}
@@ -8,6 +8,41 @@ export const datePickerStyles = `
8
8
  display: block;
9
9
  width: auto;
10
10
  min-width: 200px;
11
+
12
+ /* ==========================================================================
13
+ Theming Tokens — Date Picker Stub
14
+ Thin shim over --ty-input-*. Override these to retheme just the date-picker
15
+ trigger without affecting other inputs.
16
+ ========================================================================== */
17
+ --ty-date-picker-bg: var(--ty-input-bg);
18
+ --ty-date-picker-color: var(--ty-input-color);
19
+ --ty-date-picker-placeholder: var(--ty-input-placeholder);
20
+ --ty-date-picker-border: var(--ty-input-border);
21
+ --ty-date-picker-border-hover: var(--ty-input-border-hover);
22
+ --ty-date-picker-border-focus: var(--ty-input-border-focus);
23
+ --ty-date-picker-shadow-focus: var(--ty-input-shadow-focus);
24
+ --ty-date-picker-disabled-bg: var(--ty-input-disabled-bg);
25
+ --ty-date-picker-disabled-color: var(--ty-input-disabled-color);
26
+ --ty-date-picker-radius: var(--ty-radius-md);
27
+
28
+ /* ==========================================================================
29
+ Theming Tokens — Calendar Popup Surface
30
+ Shared with ty-calendar / ty-calendar-month theming.
31
+ ========================================================================== */
32
+ --ty-calendar-surface-bg: var(--ty-surface-floating);
33
+ --ty-calendar-surface-border: var(--ty-input-border);
34
+ --ty-calendar-surface-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.1);
35
+ --ty-calendar-surface-radius: var(--ty-radius-lg);
36
+
37
+ /* ==========================================================================
38
+ Theming Tokens — Time Section
39
+ ========================================================================== */
40
+ --ty-calendar-time-bg: var(--ty-bg-neutral-faint);
41
+ --ty-calendar-time-border: var(--ty-input-border);
42
+ --ty-calendar-time-label-color: var(--ty-color-neutral);
43
+ --ty-calendar-time-input-color: var(--ty-input-color);
44
+ --ty-calendar-time-placeholder-color: var(--ty-input-placeholder);
45
+ --ty-calendar-time-icon-color: var(--ty-color-neutral-soft);
11
46
  }
12
47
 
13
48
  /* Container structure (reuses dropdown patterns) */
@@ -66,10 +101,10 @@ export const datePickerStyles = `
66
101
  position: relative;
67
102
  display: flex;
68
103
  align-items: center;
69
- background: var(--ty-input-bg);
70
- color: var(--ty-input-color);
71
- border: 1px solid var(--ty-input-border);
72
- border-radius: var(--ty-radius-md);
104
+ background: var(--ty-date-picker-bg);
105
+ color: var(--ty-date-picker-color);
106
+ border: 1px solid var(--ty-date-picker-border);
107
+ border-radius: var(--ty-date-picker-radius);
73
108
  font-family: var(--ty-font-sans);
74
109
  font-size: var(--ty-font-sm);
75
110
  font-weight: var(--ty-font-normal);
@@ -82,20 +117,20 @@ export const datePickerStyles = `
82
117
  }
83
118
 
84
119
  .date-picker-stub:hover:not([disabled]):not(.open) {
85
- border-color: var(--ty-input-border-hover);
120
+ border-color: var(--ty-date-picker-border-hover);
86
121
  }
87
122
 
88
123
  .date-picker-stub[disabled] {
89
- background-color: var(--ty-input-disabled-bg);
90
- color: var(--ty-input-disabled-color);
124
+ background-color: var(--ty-date-picker-disabled-bg);
125
+ color: var(--ty-date-picker-disabled-color);
91
126
  cursor: not-allowed;
92
127
  opacity: 0.6;
93
128
  }
94
129
 
95
130
  .date-picker-stub:focus,
96
131
  .date-picker-stub.open {
97
- border-color: var(--ty-input-border-focus);
98
- box-shadow: 0 0 0 3px var(--ty-input-shadow-focus);
132
+ border-color: var(--ty-date-picker-border-focus);
133
+ box-shadow: 0 0 0 3px var(--ty-date-picker-shadow-focus);
99
134
  }
100
135
 
101
136
  /* Size variants */
@@ -215,7 +250,7 @@ export const datePickerStyles = `
215
250
  }
216
251
 
217
252
  .stub-text.placeholder {
218
- color: var(--ty-input-placeholder);
253
+ color: var(--ty-date-picker-placeholder);
219
254
  }
220
255
 
221
256
  /* Icons */
@@ -268,7 +303,7 @@ export const datePickerStyles = `
268
303
 
269
304
  .date-picker-stub:focus .stub-arrow,
270
305
  .date-picker-stub.open .stub-arrow {
271
- color: var(--ty-input-border-focus);
306
+ color: var(--ty-date-picker-border-focus);
272
307
  }
273
308
 
274
309
  /* Calendar dialog (showModal positioning system) */
@@ -315,10 +350,10 @@ export const datePickerStyles = `
315
350
 
316
351
  /* Calendar content container */
317
352
  .calendar-content {
318
- background-color: var(--ty-surface-floating);
319
- border: 1px solid var(--ty-color-neutral-soft);
320
- border-radius: var(--ty-radius-lg);
321
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.1);
353
+ background-color: var(--ty-calendar-surface-bg);
354
+ border: 1px solid var(--ty-calendar-surface-border);
355
+ border-radius: var(--ty-calendar-surface-radius);
356
+ box-shadow: var(--ty-calendar-surface-shadow);
322
357
  overflow: hidden;
323
358
  display: flex;
324
359
  flex-direction: column;
@@ -358,8 +393,8 @@ export const datePickerStyles = `
358
393
  justify-content: center;
359
394
  gap: 0.5rem;
360
395
  padding: 0.5rem 1rem;
361
- border-top: 1px solid var(--ty-color-neutral-faint);
362
- background-color: var(--ty-bg-neutral-faint);
396
+ border-top: 1px solid var(--ty-calendar-time-border);
397
+ background-color: var(--ty-calendar-time-bg);
363
398
  width: 100%;
364
399
  box-sizing: border-box;
365
400
  position: relative;
@@ -368,7 +403,7 @@ export const datePickerStyles = `
368
403
  .time-label {
369
404
  font-size: var(--ty-font-sm);
370
405
  font-weight: 500;
371
- color: var(--ty-color-neutral);
406
+ color: var(--ty-calendar-time-label-color);
372
407
  flex-shrink: 0;
373
408
  }
374
409
 
@@ -377,7 +412,7 @@ export const datePickerStyles = `
377
412
  border: none;
378
413
  border-radius: var(--ty-radius-sm);
379
414
  background: transparent;
380
- color: var(--ty-input-color);
415
+ color: var(--ty-calendar-time-input-color);
381
416
  font-family: var(--ty-font-sans);
382
417
  font-size: var(--ty-font-sm);
383
418
  text-align: center;
@@ -385,13 +420,13 @@ export const datePickerStyles = `
385
420
  }
386
421
 
387
422
  .time-input::placeholder {
388
- color: var(--ty-input-placeholder);
423
+ color: var(--ty-calendar-time-placeholder-color);
389
424
  }
390
425
 
391
426
  .time-icon {
392
427
  display: flex;
393
428
  align-items: center;
394
- color: var(--ty-color-neutral-soft);
429
+ color: var(--ty-calendar-time-icon-color);
395
430
  width: 1rem;
396
431
  height: 1rem;
397
432
  flex-shrink: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../src/styles/date-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Y/B,CAAC"}
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../src/styles/date-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6a/B,CAAC"}