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,227 +1,163 @@
1
1
  export const iconStyles = `
2
2
  :host {
3
- /* Display & Layout - CRITICAL: No containment to prevent paint deferral */
4
- /* Block-level flex, NOT inline-flex: as an inline box the icon generates a
5
- line box in its parent, so a shrink-wrapping wrapper (badge, .rounded-full
6
- chip) inherits the parent's line-height strut and renders taller than wide
7
- — a 12px icon in a 24px-line-height badge becomes a 22x34 oval. To place an
8
- icon inline with text, make the *text wrapper* inline-flex instead. */
9
- display: flex;
10
- align-items: center;
11
- justify-content: center;
12
- line-height: 0;
13
-
14
- width: var(--ty-icon-size, 1em);
15
- height: var(--ty-icon-size, 1em);
16
-
17
- aspect-ratio: 1 / 1;
18
-
19
-
20
- color: inherit;
21
- transition: color var(--ty-transition-fast);
22
-
23
- flex-shrink: 0;
24
-
25
- /* Visibility - Force immediate rendering */
26
- visibility: visible !important;
27
- opacity: 1;
28
-
29
- /* ANTI-FLICKER: Force browser to paint immediately */
30
- will-change: contents;
31
-
32
- /* Prevent any sub-pixel rendering issues */
33
- transform: translateZ(0);
34
- -webkit-font-smoothing: antialiased;
35
- }
36
-
37
- /* The SVG element inside shadow DOM (registry / fallback path) */
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ line-height: 0;
7
+ width: var(--ty-icon-size, 1em);
8
+ height: var(--ty-icon-size, 1em);
9
+ aspect-ratio: 1 / 1;
10
+ color: inherit;
11
+ transition: color var(--ty-transition-fast);
12
+ flex-shrink: 0;
13
+ visibility: visible !important;
14
+ opacity: 1;
15
+ will-change: contents;
16
+ transform: translateZ(0);
17
+ -webkit-font-smoothing: antialiased;
18
+ }
38
19
  :host svg {
39
- width: 100%;
40
- height: 100%;
41
- display: block;
42
-
43
- /* Force immediate SVG rendering */
44
- will-change: auto;
45
- transform: translateZ(0);
46
- }
47
-
48
- /* Slotted SVG (server-side path: <ty-icon><svg>...</svg></ty-icon>).
49
- ::slotted() targets light-DOM children so they fill the host the same way
50
- shadow-DOM SVG does. Color is inherited from :host via currentColor. */
20
+ width: 100%;
21
+ height: 100%;
22
+ display: block;
23
+ will-change: auto;
24
+ transform: translateZ(0);
25
+ }
51
26
  ::slotted(svg),
52
27
  ::slotted(img) {
53
- width: 100%;
54
- height: 100%;
55
- display: block;
28
+ width: 100%;
29
+ height: 100%;
30
+ display: block;
56
31
  }
57
-
58
- /* In a named slot the icon sits alongside text (button start/end), so inline
59
- layout is what the host expects there. */
60
32
  :host([slot]) {
61
- display: inline-flex;
33
+ display: inline-flex;
62
34
  }
63
-
64
35
  :host(.icon-xs) {
65
- width: 0.75em;
66
- height: 0.75em;
36
+ width: 0.75em;
37
+ height: 0.75em;
67
38
  }
68
-
69
39
  :host(.icon-sm) {
70
- width: 0.875em;
71
- height: 0.875em;
40
+ width: 0.875em;
41
+ height: 0.875em;
72
42
  }
73
-
74
43
  :host(.icon-md) {
75
- width: 1em;
76
- height: 1em;
44
+ width: 1em;
45
+ height: 1em;
77
46
  }
78
-
79
47
  :host(.icon-lg) {
80
- width: 1.25em;
81
- height: 1.25em;
48
+ width: 1.25em;
49
+ height: 1.25em;
82
50
  }
83
-
84
51
  :host(.icon-xl) {
85
- width: 1.5em;
86
- height: 1.5em;
52
+ width: 1.5em;
53
+ height: 1.5em;
87
54
  }
88
-
89
55
  :host(.icon-2xl) {
90
- width: 2em;
91
- height: 2em;
56
+ width: 2em;
57
+ height: 2em;
92
58
  }
93
-
94
- /* Fixed pixel sizes */
95
59
  :host(.icon-12) {
96
- width: 12px;
97
- height: 12px;
60
+ width: 12px;
61
+ height: 12px;
98
62
  }
99
-
100
63
  :host(.icon-14) {
101
- width: 14px;
102
- height: 14px;
64
+ width: 14px;
65
+ height: 14px;
103
66
  }
104
-
105
67
  :host(.icon-16) {
106
- width: 16px;
107
- height: 16px;
68
+ width: 16px;
69
+ height: 16px;
108
70
  }
109
-
110
71
  :host(.icon-18) {
111
- width: 18px;
112
- height: 18px;
72
+ width: 18px;
73
+ height: 18px;
113
74
  }
114
-
115
75
  :host(.icon-20) {
116
- width: 20px;
117
- height: 20px;
76
+ width: 20px;
77
+ height: 20px;
118
78
  }
119
-
120
79
  :host(.icon-24) {
121
- width: 24px;
122
- height: 24px;
80
+ width: 24px;
81
+ height: 24px;
123
82
  }
124
-
125
83
  :host(.icon-32) {
126
- width: 32px;
127
- height: 32px;
84
+ width: 32px;
85
+ height: 32px;
128
86
  }
129
-
130
87
  :host(.icon-48) {
131
- width: 48px;
132
- height: 48px;
88
+ width: 48px;
89
+ height: 48px;
133
90
  }
134
-
135
91
  :host(.icon-64) {
136
- width: 64px;
137
- height: 64px;
92
+ width: 64px;
93
+ height: 64px;
138
94
  }
139
-
140
95
  :host(.icon-80) {
141
- width: 80px;
142
- height: 80px;
96
+ width: 80px;
97
+ height: 80px;
143
98
  }
144
-
145
99
  :host(.icon-96) {
146
- width: 96px;
147
- height: 96px;
100
+ width: 96px;
101
+ height: 96px;
148
102
  }
149
-
150
103
  :host(.icon-spin) {
151
- animation: icon-spin 1s linear infinite;
104
+ animation: icon-spin 1s linear infinite;
152
105
  }
153
-
154
106
  :host(.icon-spin.icon-tempo-slow) {
155
- animation: icon-spin 2s linear infinite;
107
+ animation: icon-spin 2s linear infinite;
156
108
  }
157
-
158
109
  :host(.icon-spin.icon-tempo-fast) {
159
- animation: icon-spin 0.5s linear infinite;
110
+ animation: icon-spin 0.5s linear infinite;
160
111
  }
161
-
162
112
  @keyframes icon-spin {
163
- from {
164
- transform: rotate(0deg);
165
- }
166
-
167
- to {
168
- transform: rotate(360deg);
169
- }
170
- }
171
-
113
+ from {
114
+ transform: rotate(0deg);
115
+ }
116
+ to {
117
+ transform: rotate(360deg);
118
+ }
119
+ }
172
120
  :host(.icon-pulse) {
173
- animation: icon-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
121
+ animation: icon-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
174
122
  }
175
-
176
123
  :host(.icon-pulse.icon-tempo-slow) {
177
- animation: icon-pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
124
+ animation: icon-pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
178
125
  }
179
-
180
126
  :host(.icon-pulse.icon-tempo-fast) {
181
- animation: icon-pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;
127
+ animation: icon-pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;
182
128
  }
183
-
184
129
  @keyframes icon-pulse {
185
- 0%,
186
- 100% {
187
- opacity: 1;
188
- }
189
-
190
- 50% {
191
- opacity: 0.5;
192
- }
193
- }
194
-
195
- /* Accessibility: ensure icons are not announced by screen readers by default */
130
+ 0%,
131
+ 100% {
132
+ opacity: 1;
133
+ }
134
+ 50% {
135
+ opacity: 0.5;
136
+ }
137
+ }
196
138
  :host {
197
- -webkit-user-select: none;
198
- user-select: none;
139
+ -webkit-user-select: none;
140
+ user-select: none;
199
141
  }
200
-
201
142
  :host(:not(.icon-clickable)) {
202
- pointer-events: none;
143
+ pointer-events: none;
203
144
  }
204
-
205
145
  :host(.icon-clickable) {
206
- cursor: pointer;
207
- pointer-events: auto;
208
- transition: color var(--ty-transition-fast), transform var(--ty-transition-fast);
146
+ cursor: pointer;
147
+ pointer-events: auto;
148
+ transition: color var(--ty-transition-fast), transform var(--ty-transition-fast);
209
149
  }
210
-
211
150
  :host(.icon-clickable:hover) {
212
- transform: scale(1.1);
151
+ transform: scale(1.1);
213
152
  }
214
-
215
153
  :host(.icon-clickable:active) {
216
- transform: scale(0.95);
154
+ transform: scale(0.95);
217
155
  }
218
-
219
156
  :host(.icon-disabled) {
220
- opacity: 0.5;
221
- cursor: not-allowed;
157
+ opacity: 0.5;
158
+ cursor: not-allowed;
222
159
  }
223
-
224
160
  :host(.icon-block) {
225
- display: block;
161
+ display: block;
226
162
  }
227
163
  `;