tyrell-components 1.0.0-TC52 → 1.0.0-TC53

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 (105) hide show
  1. package/css/tyrell-theme.css +25 -2
  2. package/css/tyrell.css +4 -0
  3. package/dist/tyrell-colors-static.css +1 -316
  4. package/dist/tyrell-theme.css +1 -1443
  5. package/dist/tyrell.css +1 -1390
  6. package/dist/tyrell.js +1 -1
  7. package/lib/base/ty-component.js +196 -196
  8. package/lib/components/button.d.ts +1 -1
  9. package/lib/components/button.js +260 -259
  10. package/lib/components/calendar-month.d.ts +2 -2
  11. package/lib/components/calendar-month.js +426 -416
  12. package/lib/components/calendar-navigation.js +238 -238
  13. package/lib/components/calendar.js +605 -602
  14. package/lib/components/checkbox.d.ts +1 -1
  15. package/lib/components/checkbox.js +273 -272
  16. package/lib/components/copy.d.ts +1 -1
  17. package/lib/components/copy.js +279 -278
  18. package/lib/components/date-picker.d.ts +1 -1
  19. package/lib/components/date-picker.js +1103 -1108
  20. package/lib/components/file-upload.js +404 -404
  21. package/lib/components/icon.js +141 -141
  22. package/lib/components/input.d.ts +1 -1
  23. package/lib/components/input.js +593 -596
  24. package/lib/components/modal.js +319 -319
  25. package/lib/components/option.js +167 -167
  26. package/lib/components/popup.js +233 -233
  27. package/lib/components/radio.d.ts +2 -2
  28. package/lib/components/radio.js +407 -406
  29. package/lib/components/resize-observer.js +67 -67
  30. package/lib/components/scroll-container.js +294 -294
  31. package/lib/components/select.d.ts +1 -1
  32. package/lib/components/select.js +1524 -1532
  33. package/lib/components/selected-tags.js +184 -184
  34. package/lib/components/step.js +62 -62
  35. package/lib/components/switch.d.ts +1 -1
  36. package/lib/components/switch.js +214 -213
  37. package/lib/components/tab.js +62 -62
  38. package/lib/components/tabs.js +507 -507
  39. package/lib/components/tag.d.ts +1 -1
  40. package/lib/components/tag.js +236 -235
  41. package/lib/components/textarea.d.ts +1 -1
  42. package/lib/components/textarea.js +457 -456
  43. package/lib/components/tooltip.js +283 -283
  44. package/lib/components/wizard.js +384 -384
  45. package/lib/icons/heroicons/micro.js +392 -392
  46. package/lib/icons/heroicons/mini.js +382 -382
  47. package/lib/icons/heroicons/outline.js +337 -337
  48. package/lib/icons/heroicons/solid.js +407 -407
  49. package/lib/icons/lucide.js +22843 -22843
  50. package/lib/icons/material/filled.js +9653 -9653
  51. package/lib/icons/material/outlined.js +10271 -10271
  52. package/lib/icons/material/round.js +10495 -10495
  53. package/lib/icons/material/sharp.js +9905 -9905
  54. package/lib/icons/material/two-tone.js +12792 -12792
  55. package/lib/index.js +21 -21
  56. package/lib/styles/button.js +176 -288
  57. package/lib/styles/calendar-month.js +123 -183
  58. package/lib/styles/calendar-navigation.js +60 -79
  59. package/lib/styles/calendar.js +8 -9
  60. package/lib/styles/checkbox.js +45 -72
  61. package/lib/styles/copy.js +67 -91
  62. package/lib/styles/custom-scrollbar.js +80 -100
  63. package/lib/styles/date-picker.js +261 -331
  64. package/lib/styles/field-size.d.ts +6 -0
  65. package/lib/styles/field-size.js +91 -0
  66. package/lib/styles/file-upload.js +139 -169
  67. package/lib/styles/icon.js +92 -156
  68. package/lib/styles/input.js +125 -241
  69. package/lib/styles/modal.js +67 -102
  70. package/lib/styles/option.d.ts +1 -1
  71. package/lib/styles/option.js +47 -67
  72. package/lib/styles/popup.js +34 -65
  73. package/lib/styles/radio.js +69 -96
  74. package/lib/styles/resize-observer.js +2 -5
  75. package/lib/styles/scroll-container.js +100 -130
  76. package/lib/styles/select-base.js +525 -778
  77. package/lib/styles/select.js +140 -228
  78. package/lib/styles/step.js +22 -29
  79. package/lib/styles/switch.js +34 -55
  80. package/lib/styles/tab.js +22 -29
  81. package/lib/styles/tabs.js +171 -252
  82. package/lib/styles/tag.js +135 -188
  83. package/lib/styles/textarea.d.ts +1 -1
  84. package/lib/styles/textarea.js +205 -271
  85. package/lib/styles/tooltip.js +3 -3
  86. package/lib/styles/wizard.js +170 -226
  87. package/lib/types/common.d.ts +2 -0
  88. package/lib/types/common.js +6 -5
  89. package/lib/utils/calendar-utils.js +100 -100
  90. package/lib/utils/custom-scrollbar.js +272 -272
  91. package/lib/utils/flavor-sheet.js +14 -14
  92. package/lib/utils/icon-registry.js +127 -127
  93. package/lib/utils/loader-registry.js +3 -3
  94. package/lib/utils/locale.js +34 -34
  95. package/lib/utils/mobile.js +1 -1
  96. package/lib/utils/number-format.js +54 -54
  97. package/lib/utils/positioning.js +212 -212
  98. package/lib/utils/property-capture.js +36 -36
  99. package/lib/utils/property-manager.js +125 -125
  100. package/lib/utils/resize-observer.js +23 -23
  101. package/lib/utils/scroll-lock.js +57 -57
  102. package/lib/utils/styles.js +17 -17
  103. package/lib/version.d.ts +1 -1
  104. package/lib/version.js +1 -1
  105. package/package.json +4 -4
@@ -1,251 +1,191 @@
1
1
  import { FLAVORS } from "../types/common.js";
2
2
  const calendarMonthFlavor = (f, fb) => {
3
- const color = (s) => fb
4
- ? `var(--ty-color-${f}${s}, var(--ty-color-${fb}${s}))`
5
- : `var(--ty-color-${f}${s})`;
6
- const bg = (s) => fb
7
- ? `var(--ty-bg-${f}${s}, var(--ty-bg-${fb}${s}))`
8
- : `var(--ty-bg-${f}${s})`;
9
- return `
3
+ const color = (s) => fb
4
+ ? `var(--ty-color-${f}${s}, var(--ty-color-${fb}${s}))`
5
+ : `var(--ty-color-${f}${s})`;
6
+ const bg = (s) => fb
7
+ ? `var(--ty-bg-${f}${s}, var(--ty-bg-${fb}${s}))`
8
+ : `var(--ty-bg-${f}${s})`;
9
+ return `
10
10
  :host([flavor="${f}"]) {
11
- --calendar-month-accent: ${color("")};
12
- --calendar-month-selected-bg: ${bg("")};
13
- --calendar-month-selected-color: ${color("-strong")};
14
- --calendar-month-selected-hover-bg: ${bg("-bold")};
11
+ --calendar-month-accent: ${color("")};
12
+ --calendar-month-selected-bg: ${bg("")};
13
+ --calendar-month-selected-color: ${color("-strong")};
14
+ --calendar-month-selected-hover-bg: ${bg("-bold")};
15
15
  }
16
16
  :host([flavor="${f}+"]) {
17
- --calendar-month-accent: ${color("-strong")};
18
- --calendar-month-selected-bg: ${bg("-bold")};
19
- --calendar-month-selected-color: ${color("-strong")};
20
- --calendar-month-selected-hover-bg: ${bg("-bold")};
17
+ --calendar-month-accent: ${color("-strong")};
18
+ --calendar-month-selected-bg: ${bg("-bold")};
19
+ --calendar-month-selected-color: ${color("-strong")};
20
+ --calendar-month-selected-hover-bg: ${bg("-bold")};
21
21
  }
22
22
  :host([flavor="${f}-"]) {
23
- --calendar-month-accent: ${color("-soft")};
24
- --calendar-month-selected-bg: ${bg("-soft")};
25
- --calendar-month-selected-color: ${color("")};
26
- --calendar-month-selected-hover-bg: ${bg("")};
23
+ --calendar-month-accent: ${color("-soft")};
24
+ --calendar-month-selected-bg: ${bg("-soft")};
25
+ --calendar-month-selected-color: ${color("")};
26
+ --calendar-month-selected-hover-bg: ${bg("")};
27
27
  }
28
28
  `;
29
29
  };
30
30
  export const calendarMonthCustomFlavorCss = (base) => calendarMonthFlavor(base, "neutral");
31
31
  export const calendarMonthStyles = `
32
- /* Theming tokens are applied as var(--ty-calendar-*, <default>) at point
33
- of use (not declared on :host) so consumers can override any of them
34
- from outside the shadow root. The 3 accent aliases — --ty-calendar-accent,
35
- --ty-calendar-today-accent, --ty-calendar-muted — still cascade into the
36
- derived defaults, so overriding one retints the related cells. */
37
-
38
32
  .calendar-flex-container {
39
- display: flex;
40
- flex-direction: column;
41
- box-sizing: border-box;
42
- gap: 0;
43
- padding: 0.75rem;
44
- border-radius: var(--ty-radius-md);
45
- font-family: inherit;
46
- user-select: none;
47
- width: var(--calendar-width, fit-content);
48
- min-width: 280px;
49
- max-width: var(--calendar-max-width, none);
50
- }
51
-
52
- /* Rows: header + 6 day rows */
33
+ display: flex;
34
+ flex-direction: column;
35
+ box-sizing: border-box;
36
+ gap: 0;
37
+ padding: 0.75rem;
38
+ border-radius: var(--ty-radius-md);
39
+ font-family: inherit;
40
+ user-select: none;
41
+ width: var(--calendar-width, fit-content);
42
+ min-width: 280px;
43
+ max-width: var(--calendar-max-width, none);
44
+ }
53
45
  .calendar-row {
54
- display: flex;
55
- flex: 1;
56
- min-height: 0;
46
+ display: flex;
47
+ flex: 1;
48
+ min-height: 0;
57
49
  }
58
-
59
50
  .calendar-header-row {
60
- flex: 0 0 auto;
61
- color: var(--ty-calendar-header-color, var(--ty-color-neutral-soft));
51
+ flex: 0 0 auto;
52
+ color: var(--ty-calendar-header-color, var(--ty-color-neutral-soft));
62
53
  }
63
-
64
54
  .calendar-day-row {
65
- flex: 1;
66
- min-height: 2rem;
67
- margin-bottom: 0.125rem;
55
+ flex: 1;
56
+ min-height: 2rem;
57
+ margin-bottom: 0.125rem;
68
58
  }
69
-
70
59
  .calendar-cell {
71
- flex: 1;
72
- display: flex;
73
- align-items: center;
74
- justify-content: center;
75
- min-width: 0;
76
- position: relative;
77
- box-sizing: border-box;
78
- }
79
-
60
+ flex: 1;
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ min-width: 0;
65
+ position: relative;
66
+ box-sizing: border-box;
67
+ }
80
68
  .calendar-header-cell {
81
- text-align: center;
82
- font-weight: 500;
83
- text-transform: uppercase;
84
- padding: 0.25rem;
85
- letter-spacing: 0.05em;
69
+ text-align: center;
70
+ font-weight: 500;
71
+ text-transform: uppercase;
72
+ padding: 0.25rem;
73
+ letter-spacing: 0.05em;
86
74
  }
87
-
88
75
  .calendar-day-cell {
89
- aspect-ratio: 1;
90
-
91
- display: flex;
92
- align-items: center;
93
- justify-content: center;
94
- flex-direction: column;
95
-
96
- margin: 0.125rem;
97
-
98
- /* Visual: ghost cells — no boxes; the border is a theming hook only */
99
- border-radius: var(--ty-calendar-day-radius, 0.5rem);
100
- border: 1px solid var(--ty-calendar-day-border, transparent);
101
- background-color: var(--ty-calendar-day-bg, transparent);
102
- color: var(--ty-calendar-day-color, var(--ty-calendar-muted, var(--ty-text)));
103
- cursor: pointer;
104
- transition: var(--ty-local-transition, background-color 0.15s ease, color 0.15s ease);
105
-
106
- font-weight: 400;
107
- font-variant-numeric: tabular-nums;
108
- }
109
-
110
- /* Hover: soft rounded pill, no border flash */
76
+ aspect-ratio: 1;
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ flex-direction: column;
81
+ margin: 0.125rem;
82
+ border-radius: var(--ty-calendar-day-radius, 0.5rem);
83
+ border: 1px solid var(--ty-calendar-day-border, transparent);
84
+ background-color: var(--ty-calendar-day-bg, transparent);
85
+ color: var(--ty-calendar-day-color, var(--ty-calendar-muted, var(--ty-text)));
86
+ cursor: pointer;
87
+ transition: var(--ty-local-transition, background-color 0.15s ease, color 0.15s ease);
88
+ font-weight: 400;
89
+ font-variant-numeric: tabular-nums;
90
+ }
111
91
  .calendar-day-cell:hover {
112
- color: var(--ty-calendar-day-hover-color, var(--ty-text-strong));
113
- background-color: var(--ty-calendar-day-hover-bg, var(--ty-bg-neutral-soft));
114
- border-color: var(--ty-calendar-day-hover-border, transparent);
115
- }
116
-
117
- /* Keyboard focus ring (roving tabindex — see calendar-month.ts's render()).
118
- :focus-visible, not :focus, so mouse/pointerdown activation doesn't flash
119
- a ring; only Tab-in / arrow-key navigation does. */
92
+ color: var(--ty-calendar-day-hover-color, var(--ty-text-strong));
93
+ background-color: var(--ty-calendar-day-hover-bg, var(--ty-bg-neutral-soft));
94
+ border-color: var(--ty-calendar-day-hover-border, transparent);
95
+ }
120
96
  .calendar-day-cell:focus-visible {
121
- outline: none;
122
- box-shadow: 0 0 0 2px var(--calendar-month-accent, var(--ty-color-primary));
97
+ outline: none;
98
+ box-shadow: 0 0 0 2px var(--calendar-month-accent, var(--ty-color-primary));
123
99
  }
124
-
125
- /* Today: accent number, no slab — never collides with hover, and the
126
- selected pill wins when today is picked */
127
100
  .calendar-day-cell.today {
128
- background-color: var(--ty-calendar-today-bg, transparent);
129
- color: var(--ty-calendar-today-color, var(--ty-calendar-today-accent, var(--calendar-month-accent, var(--ty-color-primary))));
130
- border-color: var(--ty-calendar-today-border, transparent);
131
- font-weight: 600;
101
+ background-color: var(--ty-calendar-today-bg, transparent);
102
+ color: var(--ty-calendar-today-color, var(--ty-calendar-today-accent, var(--calendar-month-accent, var(--ty-color-primary))));
103
+ border-color: var(--ty-calendar-today-border, transparent);
104
+ font-weight: 600;
132
105
  }
133
-
134
- /* Weekend: no distinction by default (hook kept for theming) */
135
106
  .calendar-day-cell.weekend {
136
- color: var(--ty-calendar-weekend-color, var(--ty-calendar-day-color, var(--ty-text)));
137
- }
138
-
139
- /* Other Month - Muted.
140
- Was color: var(--ty-color-neutral-faint) at opacity 0.5 — -faint alone is
141
- only ~2.5:1 against the content surface (already under the 4.5:1 AA text
142
- minimum), and blending it toward the background via opacity made it
143
- worse (~1.5:1 in light mode). --ty-calendar-other-month-color is its own
144
- token (tyrell.css :root / html.dark) calibrated to actually pass, with
145
- opacity dropped rather than layered on top. */
107
+ color: var(--ty-calendar-weekend-color, var(--ty-calendar-day-color, var(--ty-text)));
108
+ }
146
109
  .calendar-day-cell.other-month {
147
- color: var(--ty-calendar-other-month-color, #6b7280);
110
+ color: var(--ty-calendar-other-month-color, #6b7280);
148
111
  }
149
-
150
112
  .calendar-day-cell.other-month:hover {
151
- color: var(--ty-calendar-day-hover-color, var(--ty-color-neutral-strong));
152
- background-color: var(--ty-calendar-day-hover-bg, var(--ty-bg-neutral-soft));
153
- opacity: 0.7;
113
+ color: var(--ty-calendar-day-hover-color, var(--ty-color-neutral-strong));
114
+ background-color: var(--ty-calendar-day-hover-bg, var(--ty-bg-neutral-soft));
115
+ opacity: 0.7;
154
116
  }
155
-
156
- /* Disabled - outside min/max bounds */
157
117
  .calendar-day-cell.disabled {
158
- color: var(--ty-calendar-disabled-color, var(--ty-color-neutral-faint));
159
- opacity: var(--ty-calendar-disabled-opacity, 0.35);
160
- cursor: default;
161
- pointer-events: none;
118
+ color: var(--ty-calendar-disabled-color, var(--ty-color-neutral-faint));
119
+ opacity: var(--ty-calendar-disabled-opacity, 0.35);
120
+ cursor: default;
121
+ pointer-events: none;
162
122
  }
163
-
164
- /* Selected: the one strong element in the grid */
165
123
  .calendar-day-cell.selected {
166
- background-color: var(--ty-calendar-selected-bg, var(--calendar-month-selected-bg, var(--ty-bg-primary)));
167
- color: var(--ty-calendar-selected-color, var(--calendar-month-selected-color, var(--ty-color-primary-strong)));
168
- border-color: var(--ty-calendar-selected-border, var(--ty-calendar-accent, var(--calendar-month-accent, transparent)));
169
- font-weight: 600;
124
+ background-color: var(--ty-calendar-selected-bg, var(--calendar-month-selected-bg, var(--ty-bg-primary)));
125
+ color: var(--ty-calendar-selected-color, var(--calendar-month-selected-color, var(--ty-color-primary-strong)));
126
+ border-color: var(--ty-calendar-selected-border, var(--ty-calendar-accent, var(--calendar-month-accent, transparent)));
127
+ font-weight: 600;
170
128
  }
171
-
172
129
  .calendar-day-cell.selected:hover {
173
- background-color: var(--ty-calendar-selected-hover-bg, var(--calendar-month-selected-hover-bg, var(--ty-bg-primary-bold)));
174
- border-color: var(--ty-calendar-selected-hover-border, transparent);
130
+ background-color: var(--ty-calendar-selected-hover-bg, var(--calendar-month-selected-hover-bg, var(--ty-bg-primary-bold)));
131
+ border-color: var(--ty-calendar-selected-hover-border, transparent);
175
132
  }
176
-
177
133
  .calendar-day-cell.selected.other-month {
178
- opacity: 0.7;
134
+ opacity: 0.7;
179
135
  }
180
-
181
136
  .calendar-size-sm {
182
- padding: 0.5rem;
183
- min-width: 240px;
137
+ padding: 0.5rem;
138
+ min-width: 240px;
184
139
  }
185
-
186
140
  .calendar-size-sm .calendar-header-cell {
187
- font-size: 0.625rem;
188
- padding: 0.125rem;
141
+ font-size: 0.625rem;
142
+ padding: 0.125rem;
189
143
  }
190
-
191
144
  .calendar-size-sm .calendar-day-cell {
192
- font-size: 0.75rem;
193
- margin: 0.0625rem;
145
+ font-size: 0.75rem;
146
+ margin: 0.0625rem;
194
147
  }
195
-
196
148
  .calendar-size-sm .calendar-day-row {
197
- min-height: 1.5rem;
149
+ min-height: 1.5rem;
198
150
  }
199
-
200
151
  .calendar-size-md {
201
- padding: 0.75rem;
202
- min-width: 280px;
152
+ padding: 0.75rem;
153
+ min-width: 280px;
203
154
  }
204
-
205
155
  .calendar-size-md .calendar-header-cell {
206
- font-size: 0.6875rem;
207
- padding: 0.25rem;
156
+ font-size: 0.6875rem;
157
+ padding: 0.25rem;
208
158
  }
209
-
210
159
  .calendar-size-md .calendar-day-cell {
211
- font-size: 0.8125rem;
212
- margin: 0.125rem;
160
+ font-size: 0.8125rem;
161
+ margin: 0.125rem;
213
162
  }
214
-
215
163
  .calendar-size-md .calendar-day-row {
216
- min-height: 2rem;
164
+ min-height: 2rem;
217
165
  }
218
-
219
166
  .calendar-size-lg {
220
- padding: 1rem;
221
- min-width: 360px;
167
+ padding: 1rem;
168
+ min-width: 360px;
222
169
  }
223
-
224
170
  .calendar-size-lg .calendar-header-cell {
225
- font-size: 0.75rem;
226
- padding: 0.375rem;
171
+ font-size: 0.75rem;
172
+ padding: 0.375rem;
227
173
  }
228
-
229
174
  .calendar-size-lg .calendar-day-cell {
230
- font-size: 0.875rem;
231
- margin: 0.1875rem;
175
+ font-size: 0.875rem;
176
+ margin: 0.1875rem;
232
177
  }
233
-
234
178
  .calendar-size-lg .calendar-day-row {
235
- min-height: 2.5rem;
179
+ min-height: 2.5rem;
236
180
  }
237
-
238
- /* Kept for backwards compatibility */
239
181
  .calendar-day {
240
- width: 100%;
241
- height: 100%;
242
- display: flex;
243
- flex-direction: column;
244
- align-items: center;
245
- justify-content: center;
246
- box-sizing: border-box;
247
- }
248
-
249
- /* Flavor variants set --calendar-month-*, consumed above */
182
+ width: 100%;
183
+ height: 100%;
184
+ display: flex;
185
+ flex-direction: column;
186
+ align-items: center;
187
+ justify-content: center;
188
+ box-sizing: border-box;
189
+ }
250
190
  ${FLAVORS.map((f) => calendarMonthFlavor(f)).join("")}
251
191
  `;
@@ -1,110 +1,91 @@
1
1
  export const calendarNavigationStyles = `
2
- /* Theming tokens applied as var(--ty-calendar-nav-*, <default>) at point of
3
- use (NOT on :host) so consumers can override them from outside — this
4
- component is nested inside ty-calendar's shadow, so a :host default would
5
- block inherited overrides. --ty-calendar-accent still cascades in. */
6
-
7
2
  :host([data-size="md"]) {
8
- --nav-btn-size: 2rem;
9
- --nav-btn-icon-size: 1.25rem;
10
- --nav-font-size: 1rem;
11
- --nav-padding: 0.5rem 0.75rem;
12
- --nav-default-width: 280px;
3
+ --nav-btn-size: 2rem;
4
+ --nav-btn-icon-size: 1.25rem;
5
+ --nav-font-size: 1rem;
6
+ --nav-padding: 0.5rem 0.75rem;
7
+ --nav-default-width: 280px;
13
8
  }
14
-
15
9
  :host([data-size="sm"]) {
16
- --nav-btn-size: 1.5rem;
17
- --nav-btn-icon-size: 1rem;
18
- --nav-font-size: 0.875rem;
19
- --nav-padding: 0.375rem 0.5rem;
20
- --nav-default-width: 240px;
10
+ --nav-btn-size: 1.5rem;
11
+ --nav-btn-icon-size: 1rem;
12
+ --nav-font-size: 0.875rem;
13
+ --nav-padding: 0.375rem 0.5rem;
14
+ --nav-default-width: 240px;
21
15
  }
22
-
23
16
  :host([data-size="lg"]) {
24
- --nav-btn-size: 2.5rem;
25
- --nav-btn-icon-size: 1.5rem;
26
- --nav-font-size: 1.125rem;
27
- --nav-padding: 0.625rem 1rem;
28
- --nav-default-width: 360px;
17
+ --nav-btn-size: 2.5rem;
18
+ --nav-btn-icon-size: 1.5rem;
19
+ --nav-font-size: 1.125rem;
20
+ --nav-padding: 0.625rem 1rem;
21
+ --nav-default-width: 360px;
29
22
  }
30
-
31
23
  .calendar-navigation-header {
32
- display: flex;
33
- align-items: center;
34
- justify-content: space-between;
35
- padding: var(--nav-padding);
36
- font-family: inherit;
37
- user-select: none;
38
- width: var(--nav-width, var(--nav-default-width));
39
- box-sizing: border-box;
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: space-between;
27
+ padding: var(--nav-padding);
28
+ font-family: inherit;
29
+ user-select: none;
30
+ width: var(--nav-width, var(--nav-default-width));
31
+ box-sizing: border-box;
40
32
  }
41
-
42
- /* Navigation groups: left, center, right */
43
33
  .nav-group {
44
- display: flex;
45
- align-items: center;
46
- gap: 0.25rem;
34
+ display: flex;
35
+ align-items: center;
36
+ gap: 0.25rem;
47
37
  }
48
-
49
38
  .nav-group-left,
50
39
  .nav-group-right {
51
- flex: 0 0 auto;
40
+ flex: 0 0 auto;
52
41
  }
53
-
54
42
  .nav-group-center {
55
- flex: 1;
56
- justify-content: center;
43
+ flex: 1;
44
+ justify-content: center;
57
45
  }
58
-
59
46
  .nav-btn {
60
- display: inline-flex;
61
- align-items: center;
62
- justify-content: center;
63
- width: var(--nav-btn-size);
64
- height: var(--nav-btn-size);
65
- padding: 0;
66
- border: none;
67
- border-radius: var(--ty-radius-base);
68
- background-color: transparent;
69
- color: var(--ty-calendar-nav-color, var(--ty-color-neutral));
70
- cursor: pointer;
71
- transition: var(--ty-local-transition, all 0.15s ease);
72
- outline: none;
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ width: var(--nav-btn-size);
51
+ height: var(--nav-btn-size);
52
+ padding: 0;
53
+ border: none;
54
+ border-radius: var(--ty-radius-base);
55
+ background-color: transparent;
56
+ color: var(--ty-calendar-nav-color, var(--ty-color-neutral));
57
+ cursor: pointer;
58
+ transition: var(--ty-local-transition, all 0.15s ease);
59
+ outline: none;
73
60
  }
74
-
75
61
  .nav-btn:hover {
76
- background-color: var(--ty-calendar-nav-hover-bg, var(--ty-bg-neutral-soft));
77
- color: var(--ty-calendar-nav-hover-color, var(--ty-color-neutral-strong));
62
+ background-color: var(--ty-calendar-nav-hover-bg, var(--ty-bg-neutral-soft));
63
+ color: var(--ty-calendar-nav-hover-color, var(--ty-color-neutral-strong));
78
64
  }
79
-
80
65
  .nav-btn:active {
81
- background-color: var(--ty-calendar-nav-active-bg, var(--ty-bg-neutral));
82
- transform: scale(0.95);
66
+ background-color: var(--ty-calendar-nav-active-bg, var(--ty-bg-neutral));
67
+ transform: scale(0.95);
83
68
  }
84
-
85
69
  .nav-btn:disabled {
86
- opacity: 0.35;
87
- cursor: default;
88
- pointer-events: none;
70
+ opacity: 0.35;
71
+ cursor: default;
72
+ pointer-events: none;
89
73
  }
90
-
91
74
  .nav-btn:focus-visible {
92
- outline: 2px solid var(--ty-calendar-nav-focus-outline, var(--ty-calendar-accent, var(--ty-color-primary)));
93
- outline-offset: 2px;
75
+ outline: 2px solid var(--ty-calendar-nav-focus-outline, var(--ty-calendar-accent, var(--ty-color-primary)));
76
+ outline-offset: 2px;
94
77
  }
95
-
96
78
  .nav-btn svg {
97
- width: var(--nav-btn-icon-size);
98
- height: var(--nav-btn-icon-size);
99
- display: block;
79
+ width: var(--nav-btn-icon-size);
80
+ height: var(--nav-btn-icon-size);
81
+ display: block;
100
82
  }
101
-
102
83
  .month-year-display {
103
- font-size: var(--nav-font-size);
104
- font-weight: 600;
105
- color: var(--ty-calendar-nav-title-color, var(--ty-color-neutral-strong));
106
- text-align: center;
107
- white-space: nowrap;
108
- letter-spacing: -0.01em;
84
+ font-size: var(--nav-font-size);
85
+ font-weight: 600;
86
+ color: var(--ty-calendar-nav-title-color, var(--ty-color-neutral-strong));
87
+ text-align: center;
88
+ white-space: nowrap;
89
+ letter-spacing: -0.01em;
109
90
  }
110
91
  `;
@@ -1,15 +1,14 @@
1
1
  export const calendarStyles = `
2
2
  .calendar-container {
3
- display: flex;
4
- flex-direction: column;
5
- gap: 0.125rem;
6
- box-sizing: border-box;
7
- font-family: inherit;
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.125rem;
6
+ box-sizing: border-box;
7
+ font-family: inherit;
8
8
  }
9
-
10
9
  @media (max-width: 320px) {
11
- .calendar-container {
12
- gap: 0.375rem;
13
- }
10
+ .calendar-container {
11
+ gap: 0.375rem;
12
+ }
14
13
  }
15
14
  `;