tyrell-components 1.0.0-RC13 → 1.0.0-RC15

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 (358) hide show
  1. package/README.md +10 -2
  2. package/css/tyrell-theme.css +192 -180
  3. package/css/tyrell.css +23 -0
  4. package/dist/tyrell-colors-static.css +1 -316
  5. package/dist/tyrell-theme.css +1 -1454
  6. package/dist/tyrell.css +1 -1371
  7. package/dist/tyrell.js +1 -1
  8. package/lib/base/ty-component.d.ts +20 -10
  9. package/lib/base/ty-component.js +196 -319
  10. package/lib/components/button.d.ts +3 -17
  11. package/lib/components/button.js +261 -295
  12. package/lib/components/calendar-month.d.ts +4 -50
  13. package/lib/components/calendar-month.js +443 -582
  14. package/lib/components/calendar-navigation.d.ts +3 -48
  15. package/lib/components/calendar-navigation.js +239 -362
  16. package/lib/components/calendar.d.ts +8 -83
  17. package/lib/components/calendar.js +616 -829
  18. package/lib/components/checkbox.d.ts +5 -72
  19. package/lib/components/checkbox.js +273 -416
  20. package/lib/components/copy.d.ts +4 -57
  21. package/lib/components/copy.js +280 -397
  22. package/lib/components/date-picker.d.ts +21 -163
  23. package/lib/components/date-picker.js +1143 -1674
  24. package/lib/components/file-upload.d.ts +9 -15
  25. package/lib/components/file-upload.js +404 -426
  26. package/lib/components/icon.d.ts +3 -24
  27. package/lib/components/icon.js +141 -230
  28. package/lib/components/input.d.ts +8 -108
  29. package/lib/components/input.js +593 -784
  30. package/lib/components/modal.d.ts +17 -26
  31. package/lib/components/modal.js +340 -484
  32. package/lib/components/option.d.ts +2 -9
  33. package/lib/components/option.js +168 -216
  34. package/lib/components/popup.d.ts +2 -17
  35. package/lib/components/popup.js +249 -380
  36. package/lib/components/radio.d.ts +5 -25
  37. package/lib/components/radio.js +407 -461
  38. package/lib/components/resize-observer.d.ts +3 -30
  39. package/lib/components/resize-observer.js +69 -103
  40. package/lib/components/scroll-container.d.ts +2 -12
  41. package/lib/components/scroll-container.js +293 -338
  42. package/lib/components/select.d.ts +87 -159
  43. package/lib/components/select.js +1609 -2090
  44. package/lib/components/selected-tags.d.ts +5 -48
  45. package/lib/components/selected-tags.js +188 -276
  46. package/lib/components/step.d.ts +1 -6
  47. package/lib/components/step.js +62 -68
  48. package/lib/components/switch.d.ts +1 -12
  49. package/lib/components/switch.js +214 -247
  50. package/lib/components/tab.d.ts +1 -6
  51. package/lib/components/tab.js +62 -69
  52. package/lib/components/tabs.d.ts +6 -63
  53. package/lib/components/tabs.js +545 -777
  54. package/lib/components/tag.d.ts +3 -37
  55. package/lib/components/tag.js +236 -335
  56. package/lib/components/textarea.d.ts +7 -87
  57. package/lib/components/textarea.js +457 -627
  58. package/lib/components/tooltip.d.ts +3 -11
  59. package/lib/components/tooltip.js +307 -443
  60. package/lib/components/wizard.d.ts +6 -54
  61. package/lib/components/wizard.js +405 -618
  62. package/lib/icons/fontawesome/brands.d.ts +0 -1
  63. package/lib/icons/fontawesome/brands.js +0 -8
  64. package/lib/icons/fontawesome/regular.d.ts +0 -1
  65. package/lib/icons/fontawesome/regular.js +0 -8
  66. package/lib/icons/fontawesome/solid.d.ts +0 -1
  67. package/lib/icons/fontawesome/solid.js +0 -8
  68. package/lib/icons/heroicons/micro.d.ts +0 -1
  69. package/lib/icons/heroicons/micro.js +392 -400
  70. package/lib/icons/heroicons/mini.d.ts +0 -1
  71. package/lib/icons/heroicons/mini.js +382 -390
  72. package/lib/icons/heroicons/outline.d.ts +0 -1
  73. package/lib/icons/heroicons/outline.js +337 -345
  74. package/lib/icons/heroicons/solid.d.ts +0 -1
  75. package/lib/icons/heroicons/solid.js +407 -415
  76. package/lib/icons/lucide.d.ts +0 -1
  77. package/lib/icons/lucide.js +24479 -26351
  78. package/lib/icons/material/filled.d.ts +0 -1
  79. package/lib/icons/material/filled.js +9653 -9663
  80. package/lib/icons/material/outlined.d.ts +0 -1
  81. package/lib/icons/material/outlined.js +10271 -10281
  82. package/lib/icons/material/round.d.ts +0 -1
  83. package/lib/icons/material/round.js +10495 -10505
  84. package/lib/icons/material/sharp.d.ts +0 -1
  85. package/lib/icons/material/sharp.js +9905 -9915
  86. package/lib/icons/material/two-tone.d.ts +0 -1
  87. package/lib/icons/material/two-tone.js +12792 -12802
  88. package/lib/index.d.ts +0 -1
  89. package/lib/index.js +21 -41
  90. package/lib/styles/button.d.ts +2 -20
  91. package/lib/styles/button.js +202 -404
  92. package/lib/styles/calendar-month.d.ts +1 -5
  93. package/lib/styles/calendar-month.js +127 -244
  94. package/lib/styles/calendar-navigation.d.ts +2 -6
  95. package/lib/styles/calendar-navigation.js +64 -104
  96. package/lib/styles/calendar.d.ts +1 -2
  97. package/lib/styles/calendar.js +9 -22
  98. package/lib/styles/checkbox.d.ts +0 -1
  99. package/lib/styles/checkbox.js +45 -94
  100. package/lib/styles/copy.d.ts +0 -1
  101. package/lib/styles/copy.js +67 -106
  102. package/lib/styles/custom-scrollbar.d.ts +1 -2
  103. package/lib/styles/custom-scrollbar.js +80 -115
  104. package/lib/styles/date-picker.d.ts +1 -5
  105. package/lib/styles/date-picker.js +261 -335
  106. package/lib/styles/field-size.d.ts +6 -0
  107. package/lib/styles/field-size.js +91 -0
  108. package/lib/styles/file-upload.d.ts +1 -2
  109. package/lib/styles/file-upload.js +143 -188
  110. package/lib/styles/icon.d.ts +2 -6
  111. package/lib/styles/icon.js +92 -170
  112. package/lib/styles/input.d.ts +1 -6
  113. package/lib/styles/input.js +125 -290
  114. package/lib/styles/modal.d.ts +1 -2
  115. package/lib/styles/modal.js +71 -108
  116. package/lib/styles/option.d.ts +2 -6
  117. package/lib/styles/option.js +49 -64
  118. package/lib/styles/popup.d.ts +1 -2
  119. package/lib/styles/popup.js +42 -77
  120. package/lib/styles/radio.d.ts +0 -1
  121. package/lib/styles/radio.js +69 -110
  122. package/lib/styles/resize-observer.d.ts +1 -2
  123. package/lib/styles/resize-observer.js +2 -12
  124. package/lib/styles/scroll-container.d.ts +1 -2
  125. package/lib/styles/scroll-container.js +100 -149
  126. package/lib/styles/select-base.d.ts +0 -1
  127. package/lib/styles/select-base.js +597 -785
  128. package/lib/styles/select.d.ts +1 -2
  129. package/lib/styles/select.js +140 -236
  130. package/lib/styles/step.d.ts +1 -2
  131. package/lib/styles/step.js +22 -33
  132. package/lib/styles/switch.d.ts +0 -1
  133. package/lib/styles/switch.js +34 -73
  134. package/lib/styles/tab.d.ts +1 -2
  135. package/lib/styles/tab.js +22 -34
  136. package/lib/styles/tabs.d.ts +3 -11
  137. package/lib/styles/tabs.js +190 -222
  138. package/lib/styles/tag.d.ts +1 -5
  139. package/lib/styles/tag.js +136 -218
  140. package/lib/styles/textarea.d.ts +1 -2
  141. package/lib/styles/textarea.js +210 -319
  142. package/lib/styles/tooltip.d.ts +0 -1
  143. package/lib/styles/tooltip.js +3 -13
  144. package/lib/styles/wizard.d.ts +5 -21
  145. package/lib/styles/wizard.js +170 -306
  146. package/lib/types/common.d.ts +2 -2
  147. package/lib/types/common.js +6 -17
  148. package/lib/utils/calendar-utils.d.ts +4 -21
  149. package/lib/utils/calendar-utils.js +100 -273
  150. package/lib/utils/custom-scrollbar.d.ts +6 -20
  151. package/lib/utils/custom-scrollbar.js +273 -317
  152. package/lib/utils/flavor-sheet.d.ts +0 -1
  153. package/lib/utils/flavor-sheet.js +14 -37
  154. package/lib/utils/icon-registry.d.ts +0 -2
  155. package/lib/utils/icon-registry.js +137 -243
  156. package/lib/utils/icons.d.ts +0 -1
  157. package/lib/utils/icons.js +0 -9
  158. package/lib/utils/loader-registry.d.ts +0 -1
  159. package/lib/utils/loader-registry.js +3 -35
  160. package/lib/utils/locale.d.ts +2 -23
  161. package/lib/utils/locale.js +34 -120
  162. package/lib/utils/mobile.d.ts +0 -1
  163. package/lib/utils/mobile.js +1 -18
  164. package/lib/utils/number-format.d.ts +6 -3
  165. package/lib/utils/number-format.js +54 -110
  166. package/lib/utils/positioning.d.ts +50 -7
  167. package/lib/utils/positioning.js +224 -234
  168. package/lib/utils/property-capture.d.ts +5 -27
  169. package/lib/utils/property-capture.js +36 -144
  170. package/lib/utils/property-manager.d.ts +0 -1
  171. package/lib/utils/property-manager.js +126 -196
  172. package/lib/utils/resize-observer.d.ts +0 -1
  173. package/lib/utils/resize-observer.js +23 -59
  174. package/lib/utils/scroll-lock.d.ts +4 -11
  175. package/lib/utils/scroll-lock.js +65 -172
  176. package/lib/utils/styles.d.ts +0 -1
  177. package/lib/utils/styles.js +17 -41
  178. package/lib/version.d.ts +1 -2
  179. package/lib/version.js +1 -11
  180. package/package.json +4 -4
  181. package/lib/base/ty-component.d.ts.map +0 -1
  182. package/lib/base/ty-component.js.map +0 -1
  183. package/lib/components/button.d.ts.map +0 -1
  184. package/lib/components/button.js.map +0 -1
  185. package/lib/components/calendar-month.d.ts.map +0 -1
  186. package/lib/components/calendar-month.js.map +0 -1
  187. package/lib/components/calendar-navigation.d.ts.map +0 -1
  188. package/lib/components/calendar-navigation.js.map +0 -1
  189. package/lib/components/calendar.d.ts.map +0 -1
  190. package/lib/components/calendar.js.map +0 -1
  191. package/lib/components/checkbox.d.ts.map +0 -1
  192. package/lib/components/checkbox.js.map +0 -1
  193. package/lib/components/copy.d.ts.map +0 -1
  194. package/lib/components/copy.js.map +0 -1
  195. package/lib/components/date-picker.d.ts.map +0 -1
  196. package/lib/components/date-picker.js.map +0 -1
  197. package/lib/components/file-upload.d.ts.map +0 -1
  198. package/lib/components/file-upload.js.map +0 -1
  199. package/lib/components/icon.d.ts.map +0 -1
  200. package/lib/components/icon.js.map +0 -1
  201. package/lib/components/input.d.ts.map +0 -1
  202. package/lib/components/input.js.map +0 -1
  203. package/lib/components/modal.d.ts.map +0 -1
  204. package/lib/components/modal.js.map +0 -1
  205. package/lib/components/option.d.ts.map +0 -1
  206. package/lib/components/option.js.map +0 -1
  207. package/lib/components/popup.d.ts.map +0 -1
  208. package/lib/components/popup.js.map +0 -1
  209. package/lib/components/radio.d.ts.map +0 -1
  210. package/lib/components/radio.js.map +0 -1
  211. package/lib/components/resize-observer.d.ts.map +0 -1
  212. package/lib/components/resize-observer.js.map +0 -1
  213. package/lib/components/scroll-container.d.ts.map +0 -1
  214. package/lib/components/scroll-container.js.map +0 -1
  215. package/lib/components/select.d.ts.map +0 -1
  216. package/lib/components/select.js.map +0 -1
  217. package/lib/components/selected-tags.d.ts.map +0 -1
  218. package/lib/components/selected-tags.js.map +0 -1
  219. package/lib/components/step.d.ts.map +0 -1
  220. package/lib/components/step.js.map +0 -1
  221. package/lib/components/switch.d.ts.map +0 -1
  222. package/lib/components/switch.js.map +0 -1
  223. package/lib/components/tab.d.ts.map +0 -1
  224. package/lib/components/tab.js.map +0 -1
  225. package/lib/components/tabs.d.ts.map +0 -1
  226. package/lib/components/tabs.js.map +0 -1
  227. package/lib/components/tag.d.ts.map +0 -1
  228. package/lib/components/tag.js.map +0 -1
  229. package/lib/components/textarea.d.ts.map +0 -1
  230. package/lib/components/textarea.js.map +0 -1
  231. package/lib/components/tooltip.d.ts.map +0 -1
  232. package/lib/components/tooltip.js.map +0 -1
  233. package/lib/components/wizard.d.ts.map +0 -1
  234. package/lib/components/wizard.js.map +0 -1
  235. package/lib/icons/fontawesome/brands.d.ts.map +0 -1
  236. package/lib/icons/fontawesome/brands.js.map +0 -1
  237. package/lib/icons/fontawesome/regular.d.ts.map +0 -1
  238. package/lib/icons/fontawesome/regular.js.map +0 -1
  239. package/lib/icons/fontawesome/solid.d.ts.map +0 -1
  240. package/lib/icons/fontawesome/solid.js.map +0 -1
  241. package/lib/icons/heroicons/micro.d.ts.map +0 -1
  242. package/lib/icons/heroicons/micro.js.map +0 -1
  243. package/lib/icons/heroicons/mini.d.ts.map +0 -1
  244. package/lib/icons/heroicons/mini.js.map +0 -1
  245. package/lib/icons/heroicons/outline.d.ts.map +0 -1
  246. package/lib/icons/heroicons/outline.js.map +0 -1
  247. package/lib/icons/heroicons/solid.d.ts.map +0 -1
  248. package/lib/icons/heroicons/solid.js.map +0 -1
  249. package/lib/icons/lucide.d.ts.map +0 -1
  250. package/lib/icons/lucide.js.map +0 -1
  251. package/lib/icons/material/filled.d.ts.map +0 -1
  252. package/lib/icons/material/filled.js.map +0 -1
  253. package/lib/icons/material/outlined.d.ts.map +0 -1
  254. package/lib/icons/material/outlined.js.map +0 -1
  255. package/lib/icons/material/round.d.ts.map +0 -1
  256. package/lib/icons/material/round.js.map +0 -1
  257. package/lib/icons/material/sharp.d.ts.map +0 -1
  258. package/lib/icons/material/sharp.js.map +0 -1
  259. package/lib/icons/material/two-tone.d.ts.map +0 -1
  260. package/lib/icons/material/two-tone.js.map +0 -1
  261. package/lib/index.d.ts.map +0 -1
  262. package/lib/index.js.map +0 -1
  263. package/lib/styles/button.d.ts.map +0 -1
  264. package/lib/styles/button.js.map +0 -1
  265. package/lib/styles/calendar-month.d.ts.map +0 -1
  266. package/lib/styles/calendar-month.js.map +0 -1
  267. package/lib/styles/calendar-navigation.d.ts.map +0 -1
  268. package/lib/styles/calendar-navigation.js.map +0 -1
  269. package/lib/styles/calendar.d.ts.map +0 -1
  270. package/lib/styles/calendar.js.map +0 -1
  271. package/lib/styles/checkbox.d.ts.map +0 -1
  272. package/lib/styles/checkbox.js.map +0 -1
  273. package/lib/styles/copy.d.ts.map +0 -1
  274. package/lib/styles/copy.js.map +0 -1
  275. package/lib/styles/custom-scrollbar.d.ts.map +0 -1
  276. package/lib/styles/custom-scrollbar.js.map +0 -1
  277. package/lib/styles/date-picker.d.ts.map +0 -1
  278. package/lib/styles/date-picker.js.map +0 -1
  279. package/lib/styles/file-upload.d.ts.map +0 -1
  280. package/lib/styles/file-upload.js.map +0 -1
  281. package/lib/styles/icon.d.ts.map +0 -1
  282. package/lib/styles/icon.js.map +0 -1
  283. package/lib/styles/input.d.ts.map +0 -1
  284. package/lib/styles/input.js.map +0 -1
  285. package/lib/styles/modal.d.ts.map +0 -1
  286. package/lib/styles/modal.js.map +0 -1
  287. package/lib/styles/multiselect.d.ts +0 -8
  288. package/lib/styles/multiselect.d.ts.map +0 -1
  289. package/lib/styles/multiselect.js +0 -849
  290. package/lib/styles/multiselect.js.map +0 -1
  291. package/lib/styles/option.d.ts.map +0 -1
  292. package/lib/styles/option.js.map +0 -1
  293. package/lib/styles/popup.d.ts.map +0 -1
  294. package/lib/styles/popup.js.map +0 -1
  295. package/lib/styles/radio.d.ts.map +0 -1
  296. package/lib/styles/radio.js.map +0 -1
  297. package/lib/styles/resize-observer.d.ts.map +0 -1
  298. package/lib/styles/resize-observer.js.map +0 -1
  299. package/lib/styles/scroll-container.d.ts.map +0 -1
  300. package/lib/styles/scroll-container.js.map +0 -1
  301. package/lib/styles/select-base.d.ts.map +0 -1
  302. package/lib/styles/select-base.js.map +0 -1
  303. package/lib/styles/select.d.ts.map +0 -1
  304. package/lib/styles/select.js.map +0 -1
  305. package/lib/styles/step.d.ts.map +0 -1
  306. package/lib/styles/step.js.map +0 -1
  307. package/lib/styles/switch.d.ts.map +0 -1
  308. package/lib/styles/switch.js.map +0 -1
  309. package/lib/styles/tab.d.ts.map +0 -1
  310. package/lib/styles/tab.js.map +0 -1
  311. package/lib/styles/tabs.d.ts.map +0 -1
  312. package/lib/styles/tabs.js.map +0 -1
  313. package/lib/styles/tag.d.ts.map +0 -1
  314. package/lib/styles/tag.js.map +0 -1
  315. package/lib/styles/textarea.d.ts.map +0 -1
  316. package/lib/styles/textarea.js.map +0 -1
  317. package/lib/styles/tooltip.d.ts.map +0 -1
  318. package/lib/styles/tooltip.js.map +0 -1
  319. package/lib/styles/wizard.d.ts.map +0 -1
  320. package/lib/styles/wizard.js.map +0 -1
  321. package/lib/types/common.d.ts.map +0 -1
  322. package/lib/types/common.js.map +0 -1
  323. package/lib/utils/calendar-utils.d.ts.map +0 -1
  324. package/lib/utils/calendar-utils.js.map +0 -1
  325. package/lib/utils/custom-scrollbar.d.ts.map +0 -1
  326. package/lib/utils/custom-scrollbar.js.map +0 -1
  327. package/lib/utils/flavor-sheet.d.ts.map +0 -1
  328. package/lib/utils/flavor-sheet.js.map +0 -1
  329. package/lib/utils/icon-registry.d.ts.map +0 -1
  330. package/lib/utils/icon-registry.js.map +0 -1
  331. package/lib/utils/icons.d.ts.map +0 -1
  332. package/lib/utils/icons.js.map +0 -1
  333. package/lib/utils/loader-registry.d.ts.map +0 -1
  334. package/lib/utils/loader-registry.js.map +0 -1
  335. package/lib/utils/locale.d.ts.map +0 -1
  336. package/lib/utils/locale.js.map +0 -1
  337. package/lib/utils/mobile.d.ts.map +0 -1
  338. package/lib/utils/mobile.js.map +0 -1
  339. package/lib/utils/number-format.d.ts.map +0 -1
  340. package/lib/utils/number-format.js.map +0 -1
  341. package/lib/utils/parse-boolean.d.ts +0 -39
  342. package/lib/utils/parse-boolean.d.ts.map +0 -1
  343. package/lib/utils/parse-boolean.js +0 -58
  344. package/lib/utils/parse-boolean.js.map +0 -1
  345. package/lib/utils/positioning.d.ts.map +0 -1
  346. package/lib/utils/positioning.js.map +0 -1
  347. package/lib/utils/property-capture.d.ts.map +0 -1
  348. package/lib/utils/property-capture.js.map +0 -1
  349. package/lib/utils/property-manager.d.ts.map +0 -1
  350. package/lib/utils/property-manager.js.map +0 -1
  351. package/lib/utils/resize-observer.d.ts.map +0 -1
  352. package/lib/utils/resize-observer.js.map +0 -1
  353. package/lib/utils/scroll-lock.d.ts.map +0 -1
  354. package/lib/utils/scroll-lock.js.map +0 -1
  355. package/lib/utils/styles.d.ts.map +0 -1
  356. package/lib/utils/styles.js.map +0 -1
  357. package/lib/version.d.ts.map +0 -1
  358. package/lib/version.js.map +0 -1
@@ -1,254 +1,222 @@
1
- /**
2
- * Tabs Component Styles
3
- *
4
- * Styles for the ty-tabs container component including:
5
- * - Flexbox layout with top/bottom placement
6
- * - Tab buttons with hover and active states
7
- * - Animated marker that follows active tab
8
- * - Carousel viewport with transform animations
9
- * - Responsive design with prefers-reduced-motion support
10
- * - Fully customizable via CSS Parts (::part)
11
- */
12
1
  export const tabsStyles = `
13
2
  :host {
14
- display: block;
15
- width: var(--tabs-width, 100%);
16
- height: var(--tabs-height, 400px);
17
- box-sizing: border-box;
3
+ display: block;
4
+ width: var(--tabs-width, 100%);
5
+ height: var(--tabs-height, 400px);
6
+ box-sizing: border-box;
18
7
  }
19
-
20
8
  .tabs-container {
21
- width: 100%;
22
- height: 100%;
23
- display: flex;
24
- flex-direction: column;
25
- position: relative;
26
- box-sizing: border-box;
27
- }
28
-
29
- /* Bottom placement reverses the order */
9
+ width: 100%;
10
+ height: 100%;
11
+ display: flex;
12
+ flex-direction: column;
13
+ position: relative;
14
+ box-sizing: border-box;
15
+ }
30
16
  .tabs-container[data-placement="bottom"] {
31
- flex-direction: column-reverse;
32
- }
33
-
34
- /* ===================================== */
35
- /* Tab Buttons Container */
36
- /* Expose as CSS Part for full styling control */
37
- /* ===================================== */
38
-
17
+ flex-direction: column-reverse;
18
+ }
39
19
  .tab-buttons {
40
- display: flex;
41
- gap: 0;
42
- flex-shrink: 0;
43
- position: relative;
44
- /* For absolute positioned marker */
45
-
46
- /* Default minimal styling - customize via ::part(buttons-container) */
47
- border-bottom: 1px solid var(--ty-border);
48
- background: transparent;
49
- }
50
-
51
- /* Bottom placement moves border to top */
52
- .tabs-container[data-placement="bottom"] .tab-buttons {
53
- border-bottom: none;
54
- border-top: 1px solid var(--ty-border);
55
- }
56
-
57
- /* ===================================== */
58
- /* Marker Wrapper */
59
- /* Expose as CSS Part for custom marker styling */
60
- /* ===================================== */
61
-
20
+ display: flex;
21
+ gap: 0;
22
+ flex-shrink: 0;
23
+ position: relative;
24
+ background: transparent;
25
+ }
26
+ .tab-buttons::after {
27
+ content: "";
28
+ position: absolute;
29
+ left: 0;
30
+ right: 0;
31
+ bottom: 0;
32
+ height: 1px;
33
+ background: var(--ty-tabs-separator, var(--ty-border));
34
+ pointer-events: none;
35
+ }
36
+ .tabs-container[data-placement="bottom"] .tab-buttons::after {
37
+ bottom: auto;
38
+ top: 0;
39
+ }
40
+ .tab-strip {
41
+ display: flex;
42
+ flex: 1 1 auto;
43
+ min-width: 0;
44
+ position: relative;
45
+ z-index: 1;
46
+ overflow-x: auto;
47
+ scrollbar-width: none;
48
+ --fade-left: 0px;
49
+ --fade-right: 0px;
50
+ -webkit-mask-image: linear-gradient(to right,
51
+ transparent, black var(--fade-left),
52
+ black calc(100% - var(--fade-right)), transparent);
53
+ mask-image: linear-gradient(to right,
54
+ transparent, black var(--fade-left),
55
+ black calc(100% - var(--fade-right)), transparent);
56
+ }
57
+ .tab-strip::-webkit-scrollbar {
58
+ display: none;
59
+ }
60
+ .tab-strip.unclipped {
61
+ overflow: visible;
62
+ -webkit-mask-image: none;
63
+ mask-image: none;
64
+ }
62
65
  .marker-wrapper {
63
- position: absolute;
64
- z-index: 0;
65
- /* Behind buttons */
66
- pointer-events: none;
67
- /* Don't block clicks */
68
- transition: left var(--transition-duration, 300ms) var(--transition-easing, ease-in-out),
69
- width var(--transition-duration, 300ms) var(--transition-easing, ease-in-out),
70
- height var(--transition-duration, 300ms) var(--transition-easing, ease-in-out),
71
- top var(--transition-duration, 300ms) var(--transition-easing, ease-in-out);
72
- }
73
-
74
- /* Default marker - simple underline */
66
+ position: absolute;
67
+ z-index: 0;
68
+ pointer-events: none;
69
+ transition: left var(--ty-tabs-transition-duration, 300ms) var(--ty-tabs-transition-easing, ease-in-out),
70
+ width var(--ty-tabs-transition-duration, 300ms) var(--ty-tabs-transition-easing, ease-in-out),
71
+ height var(--ty-tabs-transition-duration, 300ms) var(--ty-tabs-transition-easing, ease-in-out),
72
+ top var(--ty-tabs-transition-duration, 300ms) var(--ty-tabs-transition-easing, ease-in-out);
73
+ }
75
74
  .default-marker {
76
- position: absolute;
77
- bottom: 0;
78
- left: 0;
79
- height: 2px;
80
- width: 100%;
81
- background: var(--ty-color-primary);
82
- pointer-events: none;
83
- }
84
-
85
- /* Hide default marker when custom marker is slotted */
86
- .marker-wrapper:has(::slotted([slot="marker"])) .default-marker {
87
- display: none;
88
- }
89
-
90
- /* User's marker element fills the wrapper */
75
+ position: absolute;
76
+ bottom: 0;
77
+ left: 0;
78
+ height: 3px;
79
+ width: 100%;
80
+ background: var(--ty-color-primary);
81
+ pointer-events: none;
82
+ }
83
+ .tabs-container[data-placement="bottom"] .default-marker {
84
+ bottom: auto;
85
+ top: 0;
86
+ }
91
87
  ::slotted([slot="marker"]) {
92
- display: block;
93
- width: 100%;
94
- height: 100%;
95
- box-sizing: border-box;
96
- }
97
-
98
- /* ===================================== */
99
- /* Tab Buttons */
100
- /* ===================================== */
101
-
88
+ display: block;
89
+ width: 100%;
90
+ height: 100%;
91
+ box-sizing: border-box;
92
+ }
102
93
  .tab-button {
103
- min-width: 120px;
104
- padding: 6px 12px;
105
- border: none;
106
- background: transparent;
107
- cursor: pointer;
108
- font: inherit;
109
- color: var(--ty-text-soft);
110
- transition: var(--ty-local-transition, color 200ms, background-color 200ms);
111
- white-space: nowrap;
112
- display: inline-flex;
113
- align-items: center;
114
- justify-content: center;
115
- gap: 8px;
116
- font-weight: var(--ty-font-bold);
117
- font-size: var(--ty-font-sm);
118
- position: relative;
119
- /* Establish stacking context */
120
- z-index: 10;
121
- /* Above marker */
122
- }
123
-
94
+ min-width: var(--ty-tab-min-width, 72px);
95
+ flex-shrink: 0;
96
+ padding: 6px 12px;
97
+ border: none;
98
+ background: transparent;
99
+ cursor: pointer;
100
+ font: inherit;
101
+ color: var(--ty-text-soft);
102
+ transition: var(--ty-local-transition, color 200ms, background-color 200ms);
103
+ white-space: nowrap;
104
+ display: inline-flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ gap: 8px;
108
+ font-weight: var(--ty-font-bold);
109
+ font-size: var(--ty-font-sm);
110
+ position: relative;
111
+ z-index: 10;
112
+ }
113
+ .tabs-container[data-fixed] .tab-button {
114
+ flex: 1 1 0;
115
+ min-width: 0;
116
+ }
117
+ .tabs-container[data-fixed] .tab-label {
118
+ overflow: hidden;
119
+ text-overflow: ellipsis;
120
+ white-space: nowrap;
121
+ }
124
122
  .tab-button[aria-selected=true] {
125
- color: var(--ty-text-strong);
123
+ color: var(--ty-text-strong);
126
124
  }
127
-
128
125
  .tab-button[disabled] {
129
- opacity: 0.5;
130
- cursor: not-allowed;
131
- pointer-events: none;
126
+ opacity: 0.5;
127
+ cursor: not-allowed;
128
+ pointer-events: none;
132
129
  }
133
-
134
130
  .tab-button:focus-visible {
135
- outline: 2px solid var(--ty-color-primary);
136
- outline-offset: -2px;
137
- }
138
-
139
- .tab-button.overflow-hidden {
140
- display: none;
141
- }
142
-
143
- /* ===================================== */
144
- /* Overflow "more" trigger + menu */
145
- /* ===================================== */
146
-
131
+ outline: 2px solid var(--ty-color-primary);
132
+ outline-offset: -2px;
133
+ }
147
134
  .tab-overflow-trigger {
148
- flex-shrink: 0;
149
- width: 40px;
150
- min-width: 40px;
151
- padding: 6px;
152
- border: none;
153
- background: transparent;
154
- cursor: pointer;
155
- color: var(--ty-text-soft);
156
- font-size: 18px;
157
- line-height: 1;
158
- display: inline-flex;
159
- align-items: center;
160
- justify-content: center;
161
- position: relative;
162
- z-index: 10;
163
- }
164
-
135
+ flex-shrink: 0;
136
+ align-self: center;
137
+ min-width: 36px;
138
+ height: 24px;
139
+ margin: 0 8px;
140
+ padding: 0 10px;
141
+ border: 1px solid var(--ty-border);
142
+ border-radius: 9999px;
143
+ background: transparent;
144
+ cursor: pointer;
145
+ color: var(--ty-text-soft);
146
+ font-size: 16px;
147
+ line-height: 1;
148
+ display: inline-flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ position: relative;
152
+ z-index: 10;
153
+ transition: color 200ms, border-color 200ms;
154
+ }
165
155
  .tab-overflow-trigger:hover {
166
- color: var(--ty-text-strong);
156
+ color: var(--ty-text-strong);
157
+ border-color: var(--ty-text-soft);
167
158
  }
168
-
169
159
  .tab-overflow-trigger:focus-visible {
170
- outline: 2px solid var(--ty-color-primary);
171
- outline-offset: -2px;
160
+ outline: 2px solid var(--ty-color-primary);
161
+ outline-offset: -2px;
172
162
  }
173
-
174
163
  .tab-overflow-menu {
175
- display: flex;
176
- flex-direction: column;
177
- min-width: 160px;
178
- max-height: 300px;
179
- overflow-y: auto;
180
- padding: var(--ty-spacing-2, 4px);
181
- background: var(--ty-surface-floating);
182
- border-radius: var(--ty-radius-md);
183
- box-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));
184
- }
185
-
164
+ display: flex;
165
+ flex-direction: column;
166
+ min-width: 160px;
167
+ max-height: 300px;
168
+ overflow-y: auto;
169
+ padding: var(--ty-spacing-2, 4px);
170
+ background: var(--ty-surface-floating);
171
+ border-radius: var(--ty-radius-md);
172
+ box-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));
173
+ }
186
174
  .tab-overflow-item {
187
- padding: var(--ty-spacing-2, 6px) var(--ty-spacing-3, 12px);
188
- border: none;
189
- background: transparent;
190
- text-align: left;
191
- cursor: pointer;
192
- border-radius: var(--ty-radius-md);
193
- color: var(--ty-text);
194
- font: inherit;
195
- font-size: var(--ty-font-sm);
196
- white-space: nowrap;
197
- }
198
-
175
+ padding: var(--ty-spacing-2, 6px) var(--ty-spacing-3, 12px);
176
+ border: none;
177
+ background: transparent;
178
+ text-align: left;
179
+ cursor: pointer;
180
+ border-radius: var(--ty-radius-md);
181
+ color: var(--ty-text);
182
+ font: inherit;
183
+ font-size: var(--ty-font-sm);
184
+ white-space: nowrap;
185
+ }
199
186
  .tab-overflow-item:hover {
200
- background: var(--ty-bg-neutral-soft);
201
- color: var(--ty-text-strong);
187
+ background: var(--ty-bg-neutral-soft);
188
+ color: var(--ty-text-strong);
189
+ }
190
+ .tab-overflow-item[data-active="true"] {
191
+ color: var(--ty-color-primary);
192
+ font-weight: var(--ty-font-bold);
202
193
  }
203
-
204
194
  .tab-overflow-item[disabled] {
205
- opacity: 0.5;
206
- cursor: not-allowed;
207
- }
208
-
209
- /* ===================================== */
210
- /* Panels Viewport */
211
- /* Expose as CSS Part for panels container styling */
212
- /* ===================================== */
213
-
195
+ opacity: 0.5;
196
+ cursor: not-allowed;
197
+ }
214
198
  .panels-viewport {
215
- position: relative;
216
- flex: 1;
217
- overflow: hidden;
218
- /* Critical: hides off-screen panels */
219
- min-height: 0;
220
- /* Allows flex child to shrink */
221
- }
222
-
223
- /* ===================================== */
224
- /* Panels Wrapper (slides horizontally) */
225
- /* ===================================== */
226
-
199
+ position: relative;
200
+ flex: 1;
201
+ overflow: hidden;
202
+ min-height: 0;
203
+ }
227
204
  .panels-wrapper {
228
- display: flex;
229
- height: 100%;
230
- transition: transform var(--transition-duration, 300ms) var(--transition-easing, ease-in-out);
205
+ display: flex;
206
+ height: 100%;
207
+ transition: transform var(--ty-tabs-transition-duration, 300ms) var(--ty-tabs-transition-easing, ease-in-out);
231
208
  }
232
-
233
- /* Respect user's motion preferences */
234
209
  @media (prefers-reduced-motion: reduce) {
235
- .panels-wrapper {
236
- transition-duration: 0ms !important;
237
- }
238
-
239
- .marker-wrapper {
240
- transition-duration: 0ms !important;
241
- }
242
- }
243
-
244
- /* ===================================== */
245
- /* Slotted Tab Panels */
246
- /* ===================================== */
247
-
210
+ .panels-wrapper {
211
+ transition-duration: 0ms !important;
212
+ }
213
+ .marker-wrapper {
214
+ transition-duration: 0ms !important;
215
+ }
216
+ }
248
217
  ::slotted(ty-tab) {
249
- width: var(--tabs-width, 100%);
250
- height: 100%;
251
- flex-shrink: 0;
218
+ width: var(--tabs-page-width, var(--tabs-width, 100%));
219
+ height: 100%;
220
+ flex-shrink: 0;
252
221
  }
253
222
  `;
254
- //# sourceMappingURL=tabs.js.map
@@ -1,6 +1,2 @@
1
- /**
2
- * Tag Component Styles
3
- * PORTED FROM: clj/ty/components/tag.css
4
- */
1
+ /** Tag Component Styles */
5
2
  export declare const tagStyles: string;
6
- //# sourceMappingURL=tag.d.ts.map