tyrell-components 1.0.0-TC45 → 1.0.0-TC47

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 (353) hide show
  1. package/README.md +1 -1
  2. package/css/tyrell-theme.css +93 -100
  3. package/dist/tyrell-theme.css +93 -100
  4. package/dist/tyrell.js +1 -1
  5. package/lib/base/ty-component.d.ts +12 -7
  6. package/lib/base/ty-component.js +8 -139
  7. package/lib/components/button.d.ts +2 -16
  8. package/lib/components/button.js +0 -36
  9. package/lib/components/calendar-month.d.ts +2 -48
  10. package/lib/components/calendar-month.js +4 -166
  11. package/lib/components/calendar-navigation.d.ts +3 -48
  12. package/lib/components/calendar-navigation.js +3 -126
  13. package/lib/components/calendar.d.ts +3 -80
  14. package/lib/components/calendar.js +8 -230
  15. package/lib/components/checkbox.d.ts +4 -71
  16. package/lib/components/checkbox.js +7 -151
  17. package/lib/components/copy.d.ts +3 -56
  18. package/lib/components/copy.js +1 -120
  19. package/lib/components/date-picker.d.ts +13 -162
  20. package/lib/components/date-picker.js +39 -584
  21. package/lib/components/file-upload.d.ts +3 -15
  22. package/lib/components/file-upload.js +0 -37
  23. package/lib/components/icon.d.ts +3 -24
  24. package/lib/components/icon.js +1 -90
  25. package/lib/components/input.d.ts +7 -107
  26. package/lib/components/input.js +4 -193
  27. package/lib/components/modal.d.ts +3 -26
  28. package/lib/components/modal.js +1 -188
  29. package/lib/components/option.d.ts +2 -9
  30. package/lib/components/option.js +0 -48
  31. package/lib/components/popup.d.ts +2 -17
  32. package/lib/components/popup.js +4 -135
  33. package/lib/components/radio.d.ts +3 -23
  34. package/lib/components/radio.js +0 -63
  35. package/lib/components/resize-observer.d.ts +2 -30
  36. package/lib/components/resize-observer.js +0 -45
  37. package/lib/components/scroll-container.d.ts +2 -12
  38. package/lib/components/scroll-container.js +3 -46
  39. package/lib/components/select.d.ts +22 -153
  40. package/lib/components/select.js +30 -585
  41. package/lib/components/selected-tags.d.ts +4 -47
  42. package/lib/components/selected-tags.js +0 -94
  43. package/lib/components/step.d.ts +1 -6
  44. package/lib/components/step.js +0 -6
  45. package/lib/components/switch.d.ts +0 -11
  46. package/lib/components/switch.js +2 -36
  47. package/lib/components/tab.d.ts +1 -6
  48. package/lib/components/tab.js +0 -7
  49. package/lib/components/tabs.d.ts +3 -63
  50. package/lib/components/tabs.js +5 -283
  51. package/lib/components/tag.d.ts +2 -36
  52. package/lib/components/tag.js +5 -105
  53. package/lib/components/textarea.d.ts +6 -86
  54. package/lib/components/textarea.js +2 -173
  55. package/lib/components/tooltip.d.ts +3 -11
  56. package/lib/components/tooltip.js +2 -160
  57. package/lib/components/wizard.d.ts +4 -54
  58. package/lib/components/wizard.js +0 -228
  59. package/lib/icons/fontawesome/brands.d.ts +0 -1
  60. package/lib/icons/fontawesome/brands.js +0 -8
  61. package/lib/icons/fontawesome/regular.d.ts +0 -1
  62. package/lib/icons/fontawesome/regular.js +0 -8
  63. package/lib/icons/fontawesome/solid.d.ts +0 -1
  64. package/lib/icons/fontawesome/solid.js +0 -8
  65. package/lib/icons/heroicons/micro.d.ts +0 -1
  66. package/lib/icons/heroicons/micro.js +0 -8
  67. package/lib/icons/heroicons/mini.d.ts +0 -1
  68. package/lib/icons/heroicons/mini.js +0 -8
  69. package/lib/icons/heroicons/outline.d.ts +0 -1
  70. package/lib/icons/heroicons/outline.js +0 -8
  71. package/lib/icons/heroicons/solid.d.ts +0 -1
  72. package/lib/icons/heroicons/solid.js +0 -8
  73. package/lib/icons/lucide.d.ts +0 -1
  74. package/lib/icons/lucide.js +0 -1872
  75. package/lib/icons/material/filled.d.ts +0 -1
  76. package/lib/icons/material/filled.js +0 -10
  77. package/lib/icons/material/outlined.d.ts +0 -1
  78. package/lib/icons/material/outlined.js +0 -10
  79. package/lib/icons/material/round.d.ts +0 -1
  80. package/lib/icons/material/round.js +0 -10
  81. package/lib/icons/material/sharp.d.ts +0 -1
  82. package/lib/icons/material/sharp.js +0 -10
  83. package/lib/icons/material/two-tone.d.ts +0 -1
  84. package/lib/icons/material/two-tone.js +0 -10
  85. package/lib/index.d.ts +0 -1
  86. package/lib/index.js +0 -20
  87. package/lib/styles/button.d.ts +2 -20
  88. package/lib/styles/button.js +18 -121
  89. package/lib/styles/calendar-month.d.ts +1 -5
  90. package/lib/styles/calendar-month.js +4 -61
  91. package/lib/styles/calendar-navigation.d.ts +2 -6
  92. package/lib/styles/calendar-navigation.js +2 -27
  93. package/lib/styles/calendar.d.ts +1 -2
  94. package/lib/styles/calendar.js +1 -14
  95. package/lib/styles/checkbox.d.ts +0 -1
  96. package/lib/styles/checkbox.js +1 -23
  97. package/lib/styles/copy.d.ts +0 -1
  98. package/lib/styles/copy.js +2 -17
  99. package/lib/styles/custom-scrollbar.d.ts +1 -2
  100. package/lib/styles/custom-scrollbar.js +3 -18
  101. package/lib/styles/date-picker.d.ts +1 -5
  102. package/lib/styles/date-picker.js +8 -38
  103. package/lib/styles/file-upload.d.ts +1 -2
  104. package/lib/styles/file-upload.js +1 -16
  105. package/lib/styles/icon.d.ts +2 -6
  106. package/lib/styles/icon.js +7 -21
  107. package/lib/styles/input.d.ts +1 -6
  108. package/lib/styles/input.js +5 -54
  109. package/lib/styles/modal.d.ts +1 -2
  110. package/lib/styles/modal.js +3 -23
  111. package/lib/styles/option.d.ts +2 -6
  112. package/lib/styles/option.js +2 -12
  113. package/lib/styles/popup.d.ts +1 -2
  114. package/lib/styles/popup.js +4 -25
  115. package/lib/styles/radio.d.ts +0 -1
  116. package/lib/styles/radio.js +2 -16
  117. package/lib/styles/resize-observer.d.ts +1 -2
  118. package/lib/styles/resize-observer.js +0 -7
  119. package/lib/styles/scroll-container.d.ts +1 -2
  120. package/lib/styles/scroll-container.js +0 -19
  121. package/lib/styles/select-base.d.ts +0 -1
  122. package/lib/styles/select-base.js +15 -74
  123. package/lib/styles/select.d.ts +1 -2
  124. package/lib/styles/select.js +2 -14
  125. package/lib/styles/step.d.ts +1 -2
  126. package/lib/styles/step.js +0 -4
  127. package/lib/styles/switch.d.ts +0 -1
  128. package/lib/styles/switch.js +2 -20
  129. package/lib/styles/tab.d.ts +1 -2
  130. package/lib/styles/tab.js +0 -5
  131. package/lib/styles/tabs.d.ts +3 -11
  132. package/lib/styles/tabs.js +10 -48
  133. package/lib/styles/tag.d.ts +1 -5
  134. package/lib/styles/tag.js +2 -31
  135. package/lib/styles/textarea.d.ts +1 -2
  136. package/lib/styles/textarea.js +2 -45
  137. package/lib/styles/tooltip.d.ts +0 -1
  138. package/lib/styles/tooltip.js +0 -10
  139. package/lib/styles/wizard.d.ts +5 -21
  140. package/lib/styles/wizard.js +8 -88
  141. package/lib/types/common.d.ts +0 -2
  142. package/lib/types/common.js +0 -12
  143. package/lib/utils/calendar-utils.d.ts +4 -21
  144. package/lib/utils/calendar-utils.js +4 -177
  145. package/lib/utils/custom-scrollbar.d.ts +6 -20
  146. package/lib/utils/custom-scrollbar.js +1 -45
  147. package/lib/utils/flavor-sheet.d.ts +0 -1
  148. package/lib/utils/flavor-sheet.js +0 -23
  149. package/lib/utils/icon-registry.d.ts +0 -2
  150. package/lib/utils/icon-registry.js +1 -107
  151. package/lib/utils/icons.d.ts +0 -1
  152. package/lib/utils/icons.js +0 -9
  153. package/lib/utils/loader-registry.d.ts +0 -1
  154. package/lib/utils/loader-registry.js +0 -32
  155. package/lib/utils/locale.d.ts +2 -23
  156. package/lib/utils/locale.js +0 -86
  157. package/lib/utils/mobile.d.ts +0 -1
  158. package/lib/utils/mobile.js +0 -17
  159. package/lib/utils/number-format.d.ts +0 -2
  160. package/lib/utils/number-format.js +2 -65
  161. package/lib/utils/positioning.d.ts +50 -7
  162. package/lib/utils/positioning.js +49 -59
  163. package/lib/utils/property-capture.d.ts +5 -27
  164. package/lib/utils/property-capture.js +0 -108
  165. package/lib/utils/property-manager.d.ts +0 -1
  166. package/lib/utils/property-manager.js +0 -70
  167. package/lib/utils/resize-observer.d.ts +0 -1
  168. package/lib/utils/resize-observer.js +0 -36
  169. package/lib/utils/scroll-lock.d.ts +4 -11
  170. package/lib/utils/scroll-lock.js +0 -107
  171. package/lib/utils/styles.d.ts +0 -1
  172. package/lib/utils/styles.js +0 -24
  173. package/lib/version.d.ts +1 -2
  174. package/lib/version.js +1 -11
  175. package/package.json +2 -2
  176. package/lib/base/ty-component.d.ts.map +0 -1
  177. package/lib/base/ty-component.js.map +0 -1
  178. package/lib/components/button.d.ts.map +0 -1
  179. package/lib/components/button.js.map +0 -1
  180. package/lib/components/calendar-month.d.ts.map +0 -1
  181. package/lib/components/calendar-month.js.map +0 -1
  182. package/lib/components/calendar-navigation.d.ts.map +0 -1
  183. package/lib/components/calendar-navigation.js.map +0 -1
  184. package/lib/components/calendar.d.ts.map +0 -1
  185. package/lib/components/calendar.js.map +0 -1
  186. package/lib/components/checkbox.d.ts.map +0 -1
  187. package/lib/components/checkbox.js.map +0 -1
  188. package/lib/components/copy.d.ts.map +0 -1
  189. package/lib/components/copy.js.map +0 -1
  190. package/lib/components/date-picker.d.ts.map +0 -1
  191. package/lib/components/date-picker.js.map +0 -1
  192. package/lib/components/file-upload.d.ts.map +0 -1
  193. package/lib/components/file-upload.js.map +0 -1
  194. package/lib/components/icon.d.ts.map +0 -1
  195. package/lib/components/icon.js.map +0 -1
  196. package/lib/components/input.d.ts.map +0 -1
  197. package/lib/components/input.js.map +0 -1
  198. package/lib/components/modal.d.ts.map +0 -1
  199. package/lib/components/modal.js.map +0 -1
  200. package/lib/components/option.d.ts.map +0 -1
  201. package/lib/components/option.js.map +0 -1
  202. package/lib/components/popup.d.ts.map +0 -1
  203. package/lib/components/popup.js.map +0 -1
  204. package/lib/components/radio.d.ts.map +0 -1
  205. package/lib/components/radio.js.map +0 -1
  206. package/lib/components/resize-observer.d.ts.map +0 -1
  207. package/lib/components/resize-observer.js.map +0 -1
  208. package/lib/components/scroll-container.d.ts.map +0 -1
  209. package/lib/components/scroll-container.js.map +0 -1
  210. package/lib/components/select.d.ts.map +0 -1
  211. package/lib/components/select.js.map +0 -1
  212. package/lib/components/selected-tags.d.ts.map +0 -1
  213. package/lib/components/selected-tags.js.map +0 -1
  214. package/lib/components/step.d.ts.map +0 -1
  215. package/lib/components/step.js.map +0 -1
  216. package/lib/components/switch.d.ts.map +0 -1
  217. package/lib/components/switch.js.map +0 -1
  218. package/lib/components/tab.d.ts.map +0 -1
  219. package/lib/components/tab.js.map +0 -1
  220. package/lib/components/tabs.d.ts.map +0 -1
  221. package/lib/components/tabs.js.map +0 -1
  222. package/lib/components/tag.d.ts.map +0 -1
  223. package/lib/components/tag.js.map +0 -1
  224. package/lib/components/textarea.d.ts.map +0 -1
  225. package/lib/components/textarea.js.map +0 -1
  226. package/lib/components/tooltip.d.ts.map +0 -1
  227. package/lib/components/tooltip.js.map +0 -1
  228. package/lib/components/wizard.d.ts.map +0 -1
  229. package/lib/components/wizard.js.map +0 -1
  230. package/lib/icons/fontawesome/brands.d.ts.map +0 -1
  231. package/lib/icons/fontawesome/brands.js.map +0 -1
  232. package/lib/icons/fontawesome/regular.d.ts.map +0 -1
  233. package/lib/icons/fontawesome/regular.js.map +0 -1
  234. package/lib/icons/fontawesome/solid.d.ts.map +0 -1
  235. package/lib/icons/fontawesome/solid.js.map +0 -1
  236. package/lib/icons/heroicons/micro.d.ts.map +0 -1
  237. package/lib/icons/heroicons/micro.js.map +0 -1
  238. package/lib/icons/heroicons/mini.d.ts.map +0 -1
  239. package/lib/icons/heroicons/mini.js.map +0 -1
  240. package/lib/icons/heroicons/outline.d.ts.map +0 -1
  241. package/lib/icons/heroicons/outline.js.map +0 -1
  242. package/lib/icons/heroicons/solid.d.ts.map +0 -1
  243. package/lib/icons/heroicons/solid.js.map +0 -1
  244. package/lib/icons/lucide.d.ts.map +0 -1
  245. package/lib/icons/lucide.js.map +0 -1
  246. package/lib/icons/material/filled.d.ts.map +0 -1
  247. package/lib/icons/material/filled.js.map +0 -1
  248. package/lib/icons/material/outlined.d.ts.map +0 -1
  249. package/lib/icons/material/outlined.js.map +0 -1
  250. package/lib/icons/material/round.d.ts.map +0 -1
  251. package/lib/icons/material/round.js.map +0 -1
  252. package/lib/icons/material/sharp.d.ts.map +0 -1
  253. package/lib/icons/material/sharp.js.map +0 -1
  254. package/lib/icons/material/two-tone.d.ts.map +0 -1
  255. package/lib/icons/material/two-tone.js.map +0 -1
  256. package/lib/index.d.ts.map +0 -1
  257. package/lib/index.js.map +0 -1
  258. package/lib/styles/button.d.ts.map +0 -1
  259. package/lib/styles/button.js.map +0 -1
  260. package/lib/styles/calendar-month.d.ts.map +0 -1
  261. package/lib/styles/calendar-month.js.map +0 -1
  262. package/lib/styles/calendar-navigation.d.ts.map +0 -1
  263. package/lib/styles/calendar-navigation.js.map +0 -1
  264. package/lib/styles/calendar.d.ts.map +0 -1
  265. package/lib/styles/calendar.js.map +0 -1
  266. package/lib/styles/checkbox.d.ts.map +0 -1
  267. package/lib/styles/checkbox.js.map +0 -1
  268. package/lib/styles/copy.d.ts.map +0 -1
  269. package/lib/styles/copy.js.map +0 -1
  270. package/lib/styles/custom-scrollbar.d.ts.map +0 -1
  271. package/lib/styles/custom-scrollbar.js.map +0 -1
  272. package/lib/styles/date-picker.d.ts.map +0 -1
  273. package/lib/styles/date-picker.js.map +0 -1
  274. package/lib/styles/file-upload.d.ts.map +0 -1
  275. package/lib/styles/file-upload.js.map +0 -1
  276. package/lib/styles/icon.d.ts.map +0 -1
  277. package/lib/styles/icon.js.map +0 -1
  278. package/lib/styles/input.d.ts.map +0 -1
  279. package/lib/styles/input.js.map +0 -1
  280. package/lib/styles/modal.d.ts.map +0 -1
  281. package/lib/styles/modal.js.map +0 -1
  282. package/lib/styles/multiselect.d.ts +0 -8
  283. package/lib/styles/multiselect.d.ts.map +0 -1
  284. package/lib/styles/multiselect.js +0 -849
  285. package/lib/styles/multiselect.js.map +0 -1
  286. package/lib/styles/option.d.ts.map +0 -1
  287. package/lib/styles/option.js.map +0 -1
  288. package/lib/styles/popup.d.ts.map +0 -1
  289. package/lib/styles/popup.js.map +0 -1
  290. package/lib/styles/radio.d.ts.map +0 -1
  291. package/lib/styles/radio.js.map +0 -1
  292. package/lib/styles/resize-observer.d.ts.map +0 -1
  293. package/lib/styles/resize-observer.js.map +0 -1
  294. package/lib/styles/scroll-container.d.ts.map +0 -1
  295. package/lib/styles/scroll-container.js.map +0 -1
  296. package/lib/styles/select-base.d.ts.map +0 -1
  297. package/lib/styles/select-base.js.map +0 -1
  298. package/lib/styles/select.d.ts.map +0 -1
  299. package/lib/styles/select.js.map +0 -1
  300. package/lib/styles/step.d.ts.map +0 -1
  301. package/lib/styles/step.js.map +0 -1
  302. package/lib/styles/switch.d.ts.map +0 -1
  303. package/lib/styles/switch.js.map +0 -1
  304. package/lib/styles/tab.d.ts.map +0 -1
  305. package/lib/styles/tab.js.map +0 -1
  306. package/lib/styles/tabs.d.ts.map +0 -1
  307. package/lib/styles/tabs.js.map +0 -1
  308. package/lib/styles/tag.d.ts.map +0 -1
  309. package/lib/styles/tag.js.map +0 -1
  310. package/lib/styles/textarea.d.ts.map +0 -1
  311. package/lib/styles/textarea.js.map +0 -1
  312. package/lib/styles/tooltip.d.ts.map +0 -1
  313. package/lib/styles/tooltip.js.map +0 -1
  314. package/lib/styles/wizard.d.ts.map +0 -1
  315. package/lib/styles/wizard.js.map +0 -1
  316. package/lib/types/common.d.ts.map +0 -1
  317. package/lib/types/common.js.map +0 -1
  318. package/lib/utils/calendar-utils.d.ts.map +0 -1
  319. package/lib/utils/calendar-utils.js.map +0 -1
  320. package/lib/utils/custom-scrollbar.d.ts.map +0 -1
  321. package/lib/utils/custom-scrollbar.js.map +0 -1
  322. package/lib/utils/flavor-sheet.d.ts.map +0 -1
  323. package/lib/utils/flavor-sheet.js.map +0 -1
  324. package/lib/utils/icon-registry.d.ts.map +0 -1
  325. package/lib/utils/icon-registry.js.map +0 -1
  326. package/lib/utils/icons.d.ts.map +0 -1
  327. package/lib/utils/icons.js.map +0 -1
  328. package/lib/utils/loader-registry.d.ts.map +0 -1
  329. package/lib/utils/loader-registry.js.map +0 -1
  330. package/lib/utils/locale.d.ts.map +0 -1
  331. package/lib/utils/locale.js.map +0 -1
  332. package/lib/utils/mobile.d.ts.map +0 -1
  333. package/lib/utils/mobile.js.map +0 -1
  334. package/lib/utils/number-format.d.ts.map +0 -1
  335. package/lib/utils/number-format.js.map +0 -1
  336. package/lib/utils/parse-boolean.d.ts +0 -39
  337. package/lib/utils/parse-boolean.d.ts.map +0 -1
  338. package/lib/utils/parse-boolean.js +0 -58
  339. package/lib/utils/parse-boolean.js.map +0 -1
  340. package/lib/utils/positioning.d.ts.map +0 -1
  341. package/lib/utils/positioning.js.map +0 -1
  342. package/lib/utils/property-capture.d.ts.map +0 -1
  343. package/lib/utils/property-capture.js.map +0 -1
  344. package/lib/utils/property-manager.d.ts.map +0 -1
  345. package/lib/utils/property-manager.js.map +0 -1
  346. package/lib/utils/resize-observer.d.ts.map +0 -1
  347. package/lib/utils/resize-observer.js.map +0 -1
  348. package/lib/utils/scroll-lock.d.ts.map +0 -1
  349. package/lib/utils/scroll-lock.js.map +0 -1
  350. package/lib/utils/styles.d.ts.map +0 -1
  351. package/lib/utils/styles.js.map +0 -1
  352. package/lib/version.d.ts.map +0 -1
  353. package/lib/version.js.map +0 -1
@@ -1,20 +1,10 @@
1
- /**
2
- * Modal Styles
3
- *
4
- * CSS for the modal component wrapper.
5
- * The modal is a pure wrapper - all content styling is user-defined.
6
- */
7
1
  export const modalStyles = `
8
- /* Modal Host Styling */
9
2
  :host {
10
3
  display: contents;
11
4
  /* Don't interfere with layout */
12
- /* CSS variables are now auto-generated via the with-vars? option */
13
5
  }
14
6
 
15
- /* ===== CLOSE BUTTON STYLING ===== */
16
- /* This is part of the modal wrapper functionality, not user content styling */
17
-
7
+ /* Part of the modal wrapper functionality, not user content styling */
18
8
  .close-button {
19
9
  position: absolute;
20
10
  top: -8px;
@@ -70,9 +60,7 @@ export const modalStyles = `
70
60
  visibility: hidden;
71
61
  }
72
62
 
73
- /* ===== DIALOG ELEMENT - PURE WRAPPER ===== */
74
- /* Modal dialog - provides only essential modal functionality without styling user content */
75
-
63
+ /* Pure wrapper: only essential modal functionality, no styling of user content */
76
64
  .ty-modal-dialog {
77
65
  /* Reset default dialog styles */
78
66
  padding: 18px;
@@ -80,13 +68,12 @@ export const modalStyles = `
80
68
  margin: 0;
81
69
  background: transparent;
82
70
 
83
- /* Modal positioning - centered */
71
+ /* Centered */
84
72
  position: fixed;
85
73
  top: 50%;
86
74
  left: 50%;
87
75
  transform: translate(-50%, -50%);
88
76
 
89
- /* Layer management */
90
77
  z-index: 1000;
91
78
  overflow: hidden;
92
79
 
@@ -97,9 +84,7 @@ export const modalStyles = `
97
84
  outline: none;
98
85
  }
99
86
 
100
- /* ===== BACKDROP STYLING ===== */
101
87
  /* Backdrop is part of modal functionality, not user content */
102
-
103
88
  .ty-modal-dialog::backdrop {
104
89
  background: var(--ty-modal-backdrop, rgba(0, 0, 0, 0.5));
105
90
  backdrop-filter: var(--ty-modal-backdrop-blur, blur(2px));
@@ -112,15 +97,11 @@ export const modalStyles = `
112
97
  backdrop-filter: none;
113
98
  }
114
99
 
115
- /* ===== MODAL CONTENT CONTAINER ===== */
116
100
  /* Minimal container - no styling imposed on user content */
117
-
118
101
  .modal-content {
119
102
  color: var(--ty-text);
120
103
  }
121
104
 
122
- /* ===== ANIMATION KEYFRAMES ===== */
123
-
124
105
  @keyframes ty-modal-backdrop-enter {
125
106
  from {
126
107
  opacity: 0;
@@ -131,4 +112,3 @@ export const modalStyles = `
131
112
  }
132
113
  }
133
114
  `;
134
- //# sourceMappingURL=modal.js.map
@@ -1,6 +1,2 @@
1
- /**
2
- * Option Component Styles
3
- * PORTED FROM: clj/ty/components/option.css
4
- */
5
- export declare const optionStyles = "\n/* Ty Option Component Styles */\n\n.option-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ty-spacing-2);\n box-sizing: border-box;\n width: 100%;\n\n /* Ensure content is clickable */\n cursor: pointer;\n user-select: none;\n\n /* Smooth transitions */\n transition: var(--ty-transition-all);\n\n /* Text styling \u2014 Linear-paired typography */\n color: var(--ty-text);\n font-family: var(--ty-font-sans);\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n padding: var(--ty-spacing-2) var(--ty-spacing-3);\n border-radius: var(--ty-radius-md);\n}\n\n:host([cloned]) .option-content {\n padding: 0px;\n background: transparent;\n}\n\n.option-content:hover {\n background: var(--ty-bg-neutral-soft);\n}\n\n.option-content[highlighted] {\n background: var(--ty-bg-neutral-soft);\n color: var(--ty-text-strong);\n font-weight: var(--ty-font-semibold);\n}\n\n/* Selected: quiet \u2014 bolder text color only, no background slab, no weight change */\n.option-content[selected] {\n background: transparent;\n color: var(--ty-text-bold);\n}\n\n/* Lucide check \u2014 right-aligned, visible only on selected options */\n.option-check {\n display: none;\n flex-shrink: 0;\n width: 14px;\n height: 14px;\n margin-left: auto;\n color: var(--ty-color-primary);\n}\n\n.option-content[selected] .option-check {\n display: block;\n}\n\n/* Never show the check on the copy cloned into the select's trigger field */\n:host([cloned]) .option-check {\n display: none;\n}\n\n.option-content[selected]:hover {\n background: var(--ty-bg-neutral-soft);\n}\n\n.option-content[disabled] {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.option-content[hidden] {}\n\n/* Ensure nested elements inherit proper styling */\n.option-content * {\n pointer-events: none;\n}\n";
6
- //# sourceMappingURL=option.d.ts.map
1
+ /** Option Component Styles */
2
+ export declare const optionStyles = "\n.option-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ty-spacing-2);\n box-sizing: border-box;\n width: 100%;\n\n cursor: pointer;\n user-select: none;\n\n transition: var(--ty-transition-all);\n\n /* Linear-paired typography */\n color: var(--ty-text);\n font-family: inherit;\n font-size: var(--ty-font-sm);\n line-height: var(--ty-leading-sm);\n letter-spacing: var(--ty-tracking-sm);\n padding: var(--ty-spacing-2) var(--ty-spacing-3);\n border-radius: var(--ty-radius-md);\n}\n\n:host([cloned]) .option-content {\n padding: 0px;\n background: transparent;\n}\n\n.option-content:hover {\n background: var(--ty-bg-neutral-soft);\n}\n\n.option-content[highlighted] {\n background: var(--ty-bg-neutral-soft);\n color: var(--ty-text-strong);\n font-weight: var(--ty-font-semibold);\n}\n\n/* Selected: quiet \u2014 bolder text color only, no background slab, no weight change */\n.option-content[selected] {\n background: transparent;\n color: var(--ty-text-bold);\n}\n\n/* Lucide check \u2014 right-aligned, visible only on selected options */\n.option-check {\n display: none;\n flex-shrink: 0;\n width: 14px;\n height: 14px;\n margin-left: auto;\n color: var(--ty-color-primary);\n}\n\n.option-content[selected] .option-check {\n display: block;\n}\n\n/* Never show the check on the copy cloned into the select's trigger field */\n:host([cloned]) .option-check {\n display: none;\n}\n\n.option-content[selected]:hover {\n background: var(--ty-bg-neutral-soft);\n}\n\n.option-content[disabled] {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.option-content[hidden] {}\n\n.option-content * {\n pointer-events: none;\n}\n";
@@ -1,10 +1,4 @@
1
- /**
2
- * Option Component Styles
3
- * PORTED FROM: clj/ty/components/option.css
4
- */
5
1
  export const optionStyles = `
6
- /* Ty Option Component Styles */
7
-
8
2
  .option-content {
9
3
  display: flex;
10
4
  align-items: center;
@@ -13,16 +7,14 @@ export const optionStyles = `
13
7
  box-sizing: border-box;
14
8
  width: 100%;
15
9
 
16
- /* Ensure content is clickable */
17
10
  cursor: pointer;
18
11
  user-select: none;
19
12
 
20
- /* Smooth transitions */
21
13
  transition: var(--ty-transition-all);
22
14
 
23
- /* Text styling — Linear-paired typography */
15
+ /* Linear-paired typography */
24
16
  color: var(--ty-text);
25
- font-family: var(--ty-font-sans);
17
+ font-family: inherit;
26
18
  font-size: var(--ty-font-sm);
27
19
  line-height: var(--ty-leading-sm);
28
20
  letter-spacing: var(--ty-tracking-sm);
@@ -81,9 +73,7 @@ export const optionStyles = `
81
73
 
82
74
  .option-content[hidden] {}
83
75
 
84
- /* Ensure nested elements inherit proper styling */
85
76
  .option-content * {
86
77
  pointer-events: none;
87
78
  }
88
79
  `;
89
- //# sourceMappingURL=option.js.map
@@ -4,5 +4,4 @@
4
4
  * Popup component with dropdown-like behavior and tooltip positioning.
5
5
  * Uses dialog element for top layer rendering like dropdown and date-picker.
6
6
  */
7
- export declare const popupStyles = "\n/* Popup component with dropdown-like behavior and tooltip positioning */\n/* Uses dialog element for top layer rendering like dropdown and date-picker */\n\n.popup-dialog {\n position: fixed;\n top: 0;\n left: 0;\n\n /* Reset dialog defaults */\n margin: 0;\n border: none;\n background: transparent;\n max-width: none;\n max-height: none;\n\n /* Shadow infrastructure - provide space for user shadows */\n padding: var(--popup-padding, 16px);\n\n /* Hidden by default - even when [open] (for positioning phase) */\n visibility: hidden;\n opacity: 0;\n /* NO TRANSFORM here - apply only when animating to avoid measurement errors! */\n\n /* Smooth transitions */\n transition:\n opacity 150ms ease-out,\n visibility 150ms ease-out,\n transform 150ms ease-out;\n\n /* Prevent interactions when hidden */\n pointer-events: none;\n}\n\n/* Apply position variables only when position is calculated (like dropdown) */\n.popup-dialog.position-calculated {\n top: var(--popup-y, 0px);\n left: var(--popup-x, 0px);\n}\n\n/* Apply scale for entrance animation (right before .open) */\n.popup-dialog.preparing-animation {\n transform: scale(0.95);\n}\n\n/* When open - smooth entrance animation */\n.popup-dialog.open {\n visibility: visible;\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n}\n\n/* Make dialog backdrop transparent like dropdown/date-picker */\n.popup-dialog::backdrop {\n background: transparent;\n}\n\n/* Inner container - neutral structural container */\n.popup-container {\n /* No default styling - just provides structure */\n /* Users control all visual aspects via slotted content */\n display: contents;\n}\n\n/* Content slot styling */\n#popup-content {\n /* Allow slotted content to define its own styling */\n display: contents;\n}\n\n/* Remove default styling from slotted content - users have full control */\n#popup-content ::slotted(*) {\n /* Remove default styling that conflicts with user styling */\n /* Users now have complete control over popup appearance */\n /* background: unset; */\n /* border: unset; */\n /* box-shadow: unset; */\n\n /* Only maintain essential positioning */\n position: relative;\n\n /* Prevent content from being too wide - still helpful */\n max-width: min(400px, 90vw);\n max-height: min(500px, 80vh);\n overflow: auto;\n}\n";
8
- //# sourceMappingURL=popup.d.ts.map
7
+ export declare const popupStyles = "\n.popup-dialog {\n position: fixed;\n top: 0;\n left: 0;\n\n /* Reset dialog defaults */\n margin: 0;\n border: none;\n background: transparent;\n max-width: none;\n max-height: none;\n\n /* Shadow infrastructure - provide space for user shadows */\n padding: var(--popup-padding, 16px);\n\n /* Hidden by default - even when [open] (for positioning phase) */\n visibility: hidden;\n opacity: 0;\n /* NO TRANSFORM here - apply only when animating to avoid measurement errors! */\n\n transition:\n opacity 150ms ease-out,\n visibility 150ms ease-out,\n transform 150ms ease-out;\n\n /* Prevent interactions when hidden */\n pointer-events: none;\n}\n\n/* Apply position variables only when position is calculated (like dropdown) */\n.popup-dialog.position-calculated {\n top: var(--popup-y, 0px);\n left: var(--popup-x, 0px);\n}\n\n/* Apply scale for entrance animation (right before .open) */\n.popup-dialog.preparing-animation {\n transform: scale(0.95);\n}\n\n.popup-dialog.open {\n visibility: visible;\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n}\n\n/* Make dialog backdrop transparent like dropdown/date-picker */\n.popup-dialog::backdrop {\n background: transparent;\n}\n\n/* Neutral structural container \u2014 users control all visuals via slotted content */\n.popup-container {\n display: contents;\n}\n\n/* Slotted content defines its own styling */\n#popup-content {\n display: contents;\n}\n\n/* Users have complete control over the popup's appearance; only essential\n positioning is imposed here. */\n#popup-content ::slotted(*) {\n position: relative;\n\n /* Prevent content from being too wide - still helpful */\n max-width: min(400px, 90vw);\n max-height: min(500px, 80vh);\n overflow: auto;\n}\n";
@@ -1,13 +1,4 @@
1
- /**
2
- * Popup Component Styles
3
- *
4
- * Popup component with dropdown-like behavior and tooltip positioning.
5
- * Uses dialog element for top layer rendering like dropdown and date-picker.
6
- */
7
1
  export const popupStyles = `
8
- /* Popup component with dropdown-like behavior and tooltip positioning */
9
- /* Uses dialog element for top layer rendering like dropdown and date-picker */
10
-
11
2
  .popup-dialog {
12
3
  position: fixed;
13
4
  top: 0;
@@ -28,7 +19,6 @@ export const popupStyles = `
28
19
  opacity: 0;
29
20
  /* NO TRANSFORM here - apply only when animating to avoid measurement errors! */
30
21
 
31
- /* Smooth transitions */
32
22
  transition:
33
23
  opacity 150ms ease-out,
34
24
  visibility 150ms ease-out,
@@ -49,7 +39,6 @@ export const popupStyles = `
49
39
  transform: scale(0.95);
50
40
  }
51
41
 
52
- /* When open - smooth entrance animation */
53
42
  .popup-dialog.open {
54
43
  visibility: visible;
55
44
  opacity: 1;
@@ -62,28 +51,19 @@ export const popupStyles = `
62
51
  background: transparent;
63
52
  }
64
53
 
65
- /* Inner container - neutral structural container */
54
+ /* Neutral structural container — users control all visuals via slotted content */
66
55
  .popup-container {
67
- /* No default styling - just provides structure */
68
- /* Users control all visual aspects via slotted content */
69
56
  display: contents;
70
57
  }
71
58
 
72
- /* Content slot styling */
59
+ /* Slotted content defines its own styling */
73
60
  #popup-content {
74
- /* Allow slotted content to define its own styling */
75
61
  display: contents;
76
62
  }
77
63
 
78
- /* Remove default styling from slotted content - users have full control */
64
+ /* Users have complete control over the popup's appearance; only essential
65
+ positioning is imposed here. */
79
66
  #popup-content ::slotted(*) {
80
- /* Remove default styling that conflicts with user styling */
81
- /* Users now have complete control over popup appearance */
82
- /* background: unset; */
83
- /* border: unset; */
84
- /* box-shadow: unset; */
85
-
86
- /* Only maintain essential positioning */
87
67
  position: relative;
88
68
 
89
69
  /* Prevent content from being too wide - still helpful */
@@ -92,4 +72,3 @@ export const popupStyles = `
92
72
  overflow: auto;
93
73
  }
94
74
  `;
95
- //# sourceMappingURL=popup.js.map
@@ -7,4 +7,3 @@
7
7
  /** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
8
8
  export declare const radioCustomFlavorCss: (base: string) => string;
9
9
  export declare const radioStyles: string;
10
- //# sourceMappingURL=radio.d.ts.map
@@ -1,15 +1,5 @@
1
- /**
2
- * Radio Group + Radio Styles
3
- *
4
- * ty-radio-group: optional label + vertical/horizontal stack of radios + error message
5
- * ty-radio: circle with inner dot when checked
6
- */
7
1
  import { FLAVORS } from "../types/common.js";
8
2
  import { inputStyles } from "./input.js";
9
- /* Flavor rules only set --radio-color (checked border + inner dot); base
10
- rules below consume it. Doubles as the per-instance override API:
11
- `ty-radio { --radio-color: … }`. Fallback flavor `fb` is used for custom
12
- flavors so missing tokens degrade to neutral. */
13
3
  const radioFlavor = (f, fb) => {
14
4
  const tok = (s) => fb
15
5
  ? `var(--ty-color-${f}${s}, var(--ty-color-${fb}${s}))`
@@ -20,7 +10,6 @@ const radioFlavor = (f, fb) => {
20
10
  :host([flavor="${f}-"]) { --radio-color: ${tok("-soft")}; }
21
11
  `;
22
12
  };
23
- /** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
24
13
  export const radioCustomFlavorCss = (base) => radioFlavor(base, "neutral");
25
14
  export const radioStyles = `
26
15
  ${inputStyles}
@@ -38,12 +27,11 @@ ${inputStyles}
38
27
  width: 100%;
39
28
  }
40
29
 
41
- /* ===== RADIO GROUP ===== */
42
30
  .radio-group-container {
43
31
  display: flex;
44
32
  flex-direction: column;
45
33
  gap: 0.4rem;
46
- font-family: var(--ty-font-sans);
34
+ font-family: inherit;
47
35
  color: var(--ty-color-text);
48
36
  }
49
37
 
@@ -90,7 +78,7 @@ ${inputStyles}
90
78
  height: 100%;
91
79
  }
92
80
 
93
- /* ===== RADIO ITEM (just the circle) ===== */
81
+ /* A radio item is just the circle */
94
82
  .radio-container {
95
83
  display: inline-block;
96
84
  cursor: pointer;
@@ -144,7 +132,6 @@ ${inputStyles}
144
132
  transform: translate(-50%, -50%) scale(1);
145
133
  }
146
134
 
147
- /* Size variants */
148
135
  .radio-container.xs .radio-circle { width: 14px; height: 14px; }
149
136
  .radio-container.xs .radio-circle::after { width: 6px; height: 6px; }
150
137
 
@@ -160,4 +147,3 @@ ${inputStyles}
160
147
  /* Flavor variants — set --radio-color, consumed by the base rules above */
161
148
  ${FLAVORS.map((f) => radioFlavor(f)).join("")}
162
149
  `;
163
- //# sourceMappingURL=radio.js.map
@@ -2,5 +2,4 @@
2
2
  * TyResizeObserver styles
3
3
  * Minimal styling - just ensures component participates in layout
4
4
  */
5
- export declare const resizeObserverStyles = "\n:host {\n /* Default to block display, user can override */\n display: block;\n /* Ensure the component can participate in layout */\n position: relative;\n}\n\n/* Slot content styling */\n::slotted(*) {\n /* No default styling - preserve natural layout */\n}\n";
6
- //# sourceMappingURL=resize-observer.d.ts.map
5
+ export declare const resizeObserverStyles = "\n:host {\n /* Default to block display, user can override */\n display: block;\n position: relative;\n}\n\n::slotted(*) {\n /* No default styling - preserve natural layout */\n}\n";
@@ -1,18 +1,11 @@
1
- /**
2
- * TyResizeObserver styles
3
- * Minimal styling - just ensures component participates in layout
4
- */
5
1
  export const resizeObserverStyles = `
6
2
  :host {
7
3
  /* Default to block display, user can override */
8
4
  display: block;
9
- /* Ensure the component can participate in layout */
10
5
  position: relative;
11
6
  }
12
7
 
13
- /* Slot content styling */
14
8
  ::slotted(*) {
15
9
  /* No default styling - preserve natural layout */
16
10
  }
17
11
  `;
18
- //# sourceMappingURL=resize-observer.js.map
@@ -2,5 +2,4 @@
2
2
  * TyScrollContainer styles
3
3
  * Component-specific styles + shared custom scrollbar styles
4
4
  */
5
- export declare const scrollContainerStyles = "\n:host {\n display: block;\n position: relative;\n overflow: hidden;\n}\n\n.scroll-wrapper {\n width: 100%;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Allow horizontal scrolling when enabled */\n:host([overflow-x]) .scroll-wrapper {\n overflow-x: auto;\n}\n\n:host([max-height]) .scroll-wrapper {\n max-height: var(--scroll-max-height);\n}\n\n/* ===================================== */\n/* hide-scrollbar: hides native, no custom */\n/* ===================================== */\n\n:host([hide-scrollbar]) .scroll-wrapper {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n:host([hide-scrollbar]) .scroll-wrapper::-webkit-scrollbar {\n display: none;\n}\n\n/* scroll-anchoring: we manage scroll position in JS, so turn off the browser's\n native scroll anchoring to avoid double-compensation. */\n:host([scroll-anchoring]) .scroll-wrapper {\n overflow-anchor: none;\n}\n\n/* ===================================== */\n/* custom-scrollbar: hides native */\n/* ===================================== */\n\n:host([custom-scrollbar]) .scroll-wrapper {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n:host([custom-scrollbar]) .scroll-wrapper::-webkit-scrollbar {\n display: none;\n}\n\n/* Show scrollbar tracks on host hover */\n:host([custom-scrollbar]:hover) .ty-scrollbar-track-y.has-overflow,\n:host([custom-scrollbar]:hover) .ty-scrollbar-track-x.has-overflow {\n opacity: 1;\n}\n\n/* Corner gap when both axes are present */\n:host([custom-scrollbar][overflow-x]) .ty-scrollbar-track-y {\n bottom: var(--ty-scrollbar-width, 8px);\n}\n\n:host([custom-scrollbar]) .ty-scrollbar-track-x {\n right: var(--ty-scrollbar-width, 8px);\n}\n\n/* ===================================== */\n/* Shadow Indicators */\n/* ===================================== */\n\n.shadow-overlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 2;\n}\n\n.shadow-top,\n.shadow-bottom,\n.shadow-left,\n.shadow-right {\n position: absolute;\n opacity: 0;\n transition: var(--ty-scroll-shadow-transition, opacity 0.2s ease-out);\n pointer-events: none;\n}\n\n.shadow-top {\n top: -40px;\n left: 0;\n right: 0;\n height: 80px;\n background: var(--ty-scroll-shadow-top, radial-gradient(\n ellipse 100% 30% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 12%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(50% 0 0 0);\n}\n\n.shadow-bottom {\n bottom: -30px;\n left: 0;\n right: 0;\n height: 60px;\n background: var(--ty-scroll-shadow-bottom, radial-gradient(\n ellipse 100% 20% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 18%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(0 0 50% 0);\n}\n\n.shadow-left {\n left: -30px;\n top: 0;\n bottom: 0;\n width: 60px;\n background: var(--ty-scroll-shadow-left, radial-gradient(\n ellipse 30% 100% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 12%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(0 0 0 50%);\n}\n\n.shadow-right {\n right: -30px;\n top: 0;\n bottom: 0;\n width: 60px;\n background: var(--ty-scroll-shadow-right, radial-gradient(\n ellipse 30% 100% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 12%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(0 50% 0 0);\n}\n\n.shadow-left,\n.shadow-right {\n display: none;\n}\n\n:host([overflow-x]) .shadow-left,\n:host([overflow-x]) .shadow-right {\n display: block;\n}\n\n.shadow-top.visible,\n.shadow-bottom.visible,\n.shadow-left.visible,\n.shadow-right.visible {\n opacity: 1;\n}\n\n:host([shadow=\"false\"]) .shadow-overlay {\n display: none;\n}\n\n/* Touch devices - restore native scrollbar */\n@media (pointer: coarse) and (hover: none) {\n :host([custom-scrollbar]) .scroll-wrapper {\n scrollbar-width: thin;\n scrollbar-color: var(--ty-border, color-mix(in oklab, var(--ty-color-neutral-bold) 25%, transparent)) transparent;\n }\n :host([custom-scrollbar]) .scroll-wrapper::-webkit-scrollbar {\n display: block;\n width: 4px;\n height: 4px;\n }\n :host([custom-scrollbar]) .scroll-wrapper::-webkit-scrollbar-thumb {\n background: var(--ty-border, color-mix(in oklab, var(--ty-color-neutral-bold) 25%, transparent));\n border-radius: 2px;\n }\n}\n\n/* Respect reduced motion */\n@media (prefers-reduced-motion: reduce) {\n .shadow-top,\n .shadow-bottom,\n .shadow-left,\n .shadow-right {\n transition-duration: 0ms !important;\n }\n}\n\n/* Shared scrollbar styles */\n\n/* ===================================== */\n/* Custom Scrollbar - Vertical Track */\n/* ===================================== */\n\n.ty-scrollbar-track-y {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: var(--ty-scrollbar-width, 8px);\n z-index: 3;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.25s ease-out;\n cursor: pointer;\n}\n\n.ty-scrollbar-track-y.has-overflow {\n pointer-events: auto;\n}\n\n.ty-scrollbar-track-y.has-overflow:hover,\n.ty-scrollbar-track-y.has-overflow.scrolling,\n.ty-scrollbar-track-y.dragging {\n opacity: 1;\n}\n\n.ty-scrollbar-track-y::before {\n content: '';\n position: absolute;\n inset: 0;\n background: var(--ty-scrollbar-track, transparent);\n border-radius: var(--ty-scrollbar-radius, 4px);\n opacity: 0;\n transition: opacity 0.15s ease-out;\n}\n\n.ty-scrollbar-track-y:hover::before,\n.ty-scrollbar-track-y.dragging::before {\n opacity: 1;\n background: var(--ty-scrollbar-track-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 8%, transparent));\n}\n\n.ty-scrollbar-thumb-y {\n position: absolute;\n right: 0;\n width: 100%;\n min-height: var(--ty-scrollbar-thumb-min-height, 30px);\n background: var(--ty-scrollbar-thumb, color-mix(in oklab, var(--ty-color-neutral-bold) 40%, transparent));\n border-radius: var(--ty-scrollbar-radius, 4px);\n transition: var(--ty-local-transition, background 0.15s ease-out);\n box-sizing: border-box;\n border: 1px solid transparent;\n}\n\n.ty-scrollbar-thumb-y:hover,\n.ty-scrollbar-track-y.dragging .ty-scrollbar-thumb-y {\n background: var(--ty-scrollbar-thumb-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 55%, transparent));\n}\n\n.ty-scrollbar-thumb-y:active,\n.ty-scrollbar-track-y.dragging .ty-scrollbar-thumb-y {\n background: var(--ty-scrollbar-thumb-active, color-mix(in oklab, var(--ty-color-neutral-bold) 70%, transparent));\n}\n\n/* ===================================== */\n/* Custom Scrollbar - Horizontal Track */\n/* ===================================== */\n\n.ty-scrollbar-track-x {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: var(--ty-scrollbar-width, 8px);\n z-index: 3;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.25s ease-out;\n cursor: pointer;\n}\n\n.ty-scrollbar-track-x.has-overflow {\n pointer-events: auto;\n}\n\n.ty-scrollbar-track-x.has-overflow:hover,\n.ty-scrollbar-track-x.has-overflow.scrolling,\n.ty-scrollbar-track-x.dragging {\n opacity: 1;\n}\n\n.ty-scrollbar-track-x::before {\n content: '';\n position: absolute;\n inset: 0;\n background: var(--ty-scrollbar-track, transparent);\n border-radius: var(--ty-scrollbar-radius, 4px);\n opacity: 0;\n transition: opacity 0.15s ease-out;\n}\n\n.ty-scrollbar-track-x:hover::before,\n.ty-scrollbar-track-x.dragging::before {\n opacity: 1;\n background: var(--ty-scrollbar-track-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 8%, transparent));\n}\n\n.ty-scrollbar-thumb-x {\n position: absolute;\n bottom: 0;\n height: 100%;\n min-width: var(--ty-scrollbar-thumb-min-height, 30px);\n background: var(--ty-scrollbar-thumb, color-mix(in oklab, var(--ty-color-neutral-bold) 40%, transparent));\n border-radius: var(--ty-scrollbar-radius, 4px);\n transition: var(--ty-local-transition, background 0.15s ease-out);\n box-sizing: border-box;\n border: 1px solid transparent;\n}\n\n.ty-scrollbar-thumb-x:hover,\n.ty-scrollbar-track-x.dragging .ty-scrollbar-thumb-x {\n background: var(--ty-scrollbar-thumb-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 55%, transparent));\n}\n\n.ty-scrollbar-thumb-x:active,\n.ty-scrollbar-track-x.dragging .ty-scrollbar-thumb-x {\n background: var(--ty-scrollbar-thumb-active, color-mix(in oklab, var(--ty-color-neutral-bold) 70%, transparent));\n}\n\n/* ===================================== */\n/* Touch devices - hide custom scrollbar */\n/* ===================================== */\n\n@media (pointer: coarse) and (hover: none) {\n .ty-scrollbar-track-y,\n .ty-scrollbar-track-x {\n display: none !important;\n }\n}\n\n/* Respect reduced motion */\n@media (prefers-reduced-motion: reduce) {\n .ty-scrollbar-track-y,\n .ty-scrollbar-track-x,\n .ty-scrollbar-thumb-y,\n .ty-scrollbar-thumb-x {\n transition-duration: 0ms !important;\n }\n}\n\n";
6
- //# sourceMappingURL=scroll-container.d.ts.map
5
+ export declare const scrollContainerStyles = "\n:host {\n display: block;\n position: relative;\n overflow: hidden;\n}\n\n.scroll-wrapper {\n width: 100%;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n:host([overflow-x]) .scroll-wrapper {\n overflow-x: auto;\n}\n\n:host([max-height]) .scroll-wrapper {\n max-height: var(--scroll-max-height);\n}\n\n/* hide-scrollbar: hides native, no custom */\n:host([hide-scrollbar]) .scroll-wrapper {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n:host([hide-scrollbar]) .scroll-wrapper::-webkit-scrollbar {\n display: none;\n}\n\n/* scroll-anchoring: we manage scroll position in JS, so turn off the browser's\n native scroll anchoring to avoid double-compensation. */\n:host([scroll-anchoring]) .scroll-wrapper {\n overflow-anchor: none;\n}\n\n/* custom-scrollbar: hides native */\n:host([custom-scrollbar]) .scroll-wrapper {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n:host([custom-scrollbar]) .scroll-wrapper::-webkit-scrollbar {\n display: none;\n}\n\n:host([custom-scrollbar]:hover) .ty-scrollbar-track-y.has-overflow,\n:host([custom-scrollbar]:hover) .ty-scrollbar-track-x.has-overflow {\n opacity: 1;\n}\n\n/* Corner gap when both axes are present */\n:host([custom-scrollbar][overflow-x]) .ty-scrollbar-track-y {\n bottom: var(--ty-scrollbar-width, 8px);\n}\n\n:host([custom-scrollbar]) .ty-scrollbar-track-x {\n right: var(--ty-scrollbar-width, 8px);\n}\n\n.shadow-overlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 2;\n}\n\n.shadow-top,\n.shadow-bottom,\n.shadow-left,\n.shadow-right {\n position: absolute;\n opacity: 0;\n transition: var(--ty-scroll-shadow-transition, opacity 0.2s ease-out);\n pointer-events: none;\n}\n\n.shadow-top {\n top: -40px;\n left: 0;\n right: 0;\n height: 80px;\n background: var(--ty-scroll-shadow-top, radial-gradient(\n ellipse 100% 30% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 12%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(50% 0 0 0);\n}\n\n.shadow-bottom {\n bottom: -30px;\n left: 0;\n right: 0;\n height: 60px;\n background: var(--ty-scroll-shadow-bottom, radial-gradient(\n ellipse 100% 20% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 18%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(0 0 50% 0);\n}\n\n.shadow-left {\n left: -30px;\n top: 0;\n bottom: 0;\n width: 60px;\n background: var(--ty-scroll-shadow-left, radial-gradient(\n ellipse 30% 100% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 12%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(0 0 0 50%);\n}\n\n.shadow-right {\n right: -30px;\n top: 0;\n bottom: 0;\n width: 60px;\n background: var(--ty-scroll-shadow-right, radial-gradient(\n ellipse 30% 100% at center,\n color-mix(in oklab, var(--ty-color-neutral-bold) 12%, transparent),\n transparent,\n transparent\n ));\n clip-path: inset(0 50% 0 0);\n}\n\n.shadow-left,\n.shadow-right {\n display: none;\n}\n\n:host([overflow-x]) .shadow-left,\n:host([overflow-x]) .shadow-right {\n display: block;\n}\n\n.shadow-top.visible,\n.shadow-bottom.visible,\n.shadow-left.visible,\n.shadow-right.visible {\n opacity: 1;\n}\n\n:host([shadow=\"false\"]) .shadow-overlay {\n display: none;\n}\n\n/* Touch devices - restore native scrollbar */\n@media (pointer: coarse) and (hover: none) {\n :host([custom-scrollbar]) .scroll-wrapper {\n scrollbar-width: thin;\n scrollbar-color: var(--ty-border, color-mix(in oklab, var(--ty-color-neutral-bold) 25%, transparent)) transparent;\n }\n :host([custom-scrollbar]) .scroll-wrapper::-webkit-scrollbar {\n display: block;\n width: 4px;\n height: 4px;\n }\n :host([custom-scrollbar]) .scroll-wrapper::-webkit-scrollbar-thumb {\n background: var(--ty-border, color-mix(in oklab, var(--ty-color-neutral-bold) 25%, transparent));\n border-radius: 2px;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .shadow-top,\n .shadow-bottom,\n .shadow-left,\n .shadow-right {\n transition-duration: 0ms !important;\n }\n}\n\n\n/* Vertical track */\n.ty-scrollbar-track-y {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: var(--ty-scrollbar-width, 8px);\n z-index: 3;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.25s ease-out;\n cursor: pointer;\n}\n\n.ty-scrollbar-track-y.has-overflow {\n pointer-events: auto;\n}\n\n.ty-scrollbar-track-y.has-overflow:hover,\n.ty-scrollbar-track-y.has-overflow.scrolling,\n.ty-scrollbar-track-y.dragging {\n opacity: 1;\n}\n\n.ty-scrollbar-track-y::before {\n content: '';\n position: absolute;\n inset: 0;\n background: var(--ty-scrollbar-track, transparent);\n border-radius: var(--ty-scrollbar-radius, 4px);\n opacity: 0;\n transition: opacity 0.15s ease-out;\n}\n\n.ty-scrollbar-track-y:hover::before,\n.ty-scrollbar-track-y.dragging::before {\n opacity: 1;\n background: var(--ty-scrollbar-track-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 8%, transparent));\n}\n\n.ty-scrollbar-thumb-y {\n position: absolute;\n right: 0;\n width: 100%;\n min-height: var(--ty-scrollbar-thumb-min-height, 30px);\n background: var(--ty-scrollbar-thumb, color-mix(in oklab, var(--ty-color-neutral-bold) 40%, transparent));\n border-radius: var(--ty-scrollbar-radius, 4px);\n transition: var(--ty-local-transition, background 0.15s ease-out);\n box-sizing: border-box;\n border: 1px solid transparent;\n}\n\n.ty-scrollbar-thumb-y:hover,\n.ty-scrollbar-track-y.dragging .ty-scrollbar-thumb-y {\n background: var(--ty-scrollbar-thumb-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 55%, transparent));\n}\n\n.ty-scrollbar-thumb-y:active,\n.ty-scrollbar-track-y.dragging .ty-scrollbar-thumb-y {\n background: var(--ty-scrollbar-thumb-active, color-mix(in oklab, var(--ty-color-neutral-bold) 70%, transparent));\n}\n\n/* Horizontal track */\n.ty-scrollbar-track-x {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: var(--ty-scrollbar-width, 8px);\n z-index: 3;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.25s ease-out;\n cursor: pointer;\n}\n\n.ty-scrollbar-track-x.has-overflow {\n pointer-events: auto;\n}\n\n.ty-scrollbar-track-x.has-overflow:hover,\n.ty-scrollbar-track-x.has-overflow.scrolling,\n.ty-scrollbar-track-x.dragging {\n opacity: 1;\n}\n\n.ty-scrollbar-track-x::before {\n content: '';\n position: absolute;\n inset: 0;\n background: var(--ty-scrollbar-track, transparent);\n border-radius: var(--ty-scrollbar-radius, 4px);\n opacity: 0;\n transition: opacity 0.15s ease-out;\n}\n\n.ty-scrollbar-track-x:hover::before,\n.ty-scrollbar-track-x.dragging::before {\n opacity: 1;\n background: var(--ty-scrollbar-track-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 8%, transparent));\n}\n\n.ty-scrollbar-thumb-x {\n position: absolute;\n bottom: 0;\n height: 100%;\n min-width: var(--ty-scrollbar-thumb-min-height, 30px);\n background: var(--ty-scrollbar-thumb, color-mix(in oklab, var(--ty-color-neutral-bold) 40%, transparent));\n border-radius: var(--ty-scrollbar-radius, 4px);\n transition: var(--ty-local-transition, background 0.15s ease-out);\n box-sizing: border-box;\n border: 1px solid transparent;\n}\n\n.ty-scrollbar-thumb-x:hover,\n.ty-scrollbar-track-x.dragging .ty-scrollbar-thumb-x {\n background: var(--ty-scrollbar-thumb-hover, color-mix(in oklab, var(--ty-color-neutral-bold) 55%, transparent));\n}\n\n.ty-scrollbar-thumb-x:active,\n.ty-scrollbar-track-x.dragging .ty-scrollbar-thumb-x {\n background: var(--ty-scrollbar-thumb-active, color-mix(in oklab, var(--ty-color-neutral-bold) 70%, transparent));\n}\n\n/* Touch devices: hide the custom scrollbar */\n@media (pointer: coarse) and (hover: none) {\n .ty-scrollbar-track-y,\n .ty-scrollbar-track-x {\n display: none !important;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ty-scrollbar-track-y,\n .ty-scrollbar-track-x,\n .ty-scrollbar-thumb-y,\n .ty-scrollbar-thumb-x {\n transition-duration: 0ms !important;\n }\n}\n\n";
@@ -1,7 +1,3 @@
1
- /**
2
- * TyScrollContainer styles
3
- * Component-specific styles + shared custom scrollbar styles
4
- */
5
1
  import { customScrollbarStyles } from './custom-scrollbar.js';
6
2
  export const scrollContainerStyles = `
7
3
  :host {
@@ -17,7 +13,6 @@ export const scrollContainerStyles = `
17
13
  overflow-x: hidden;
18
14
  }
19
15
 
20
- /* Allow horizontal scrolling when enabled */
21
16
  :host([overflow-x]) .scroll-wrapper {
22
17
  overflow-x: auto;
23
18
  }
@@ -26,10 +21,7 @@ export const scrollContainerStyles = `
26
21
  max-height: var(--scroll-max-height);
27
22
  }
28
23
 
29
- /* ===================================== */
30
24
  /* hide-scrollbar: hides native, no custom */
31
- /* ===================================== */
32
-
33
25
  :host([hide-scrollbar]) .scroll-wrapper {
34
26
  scrollbar-width: none;
35
27
  -ms-overflow-style: none;
@@ -45,10 +37,7 @@ export const scrollContainerStyles = `
45
37
  overflow-anchor: none;
46
38
  }
47
39
 
48
- /* ===================================== */
49
40
  /* custom-scrollbar: hides native */
50
- /* ===================================== */
51
-
52
41
  :host([custom-scrollbar]) .scroll-wrapper {
53
42
  scrollbar-width: none;
54
43
  -ms-overflow-style: none;
@@ -58,7 +47,6 @@ export const scrollContainerStyles = `
58
47
  display: none;
59
48
  }
60
49
 
61
- /* Show scrollbar tracks on host hover */
62
50
  :host([custom-scrollbar]:hover) .ty-scrollbar-track-y.has-overflow,
63
51
  :host([custom-scrollbar]:hover) .ty-scrollbar-track-x.has-overflow {
64
52
  opacity: 1;
@@ -73,10 +61,6 @@ export const scrollContainerStyles = `
73
61
  right: var(--ty-scrollbar-width, 8px);
74
62
  }
75
63
 
76
- /* ===================================== */
77
- /* Shadow Indicators */
78
- /* ===================================== */
79
-
80
64
  .shadow-overlay {
81
65
  position: absolute;
82
66
  inset: 0;
@@ -188,7 +172,6 @@ export const scrollContainerStyles = `
188
172
  }
189
173
  }
190
174
 
191
- /* Respect reduced motion */
192
175
  @media (prefers-reduced-motion: reduce) {
193
176
  .shadow-top,
194
177
  .shadow-bottom,
@@ -198,7 +181,5 @@ export const scrollContainerStyles = `
198
181
  }
199
182
  }
200
183
 
201
- /* Shared scrollbar styles */
202
184
  ${customScrollbarStyles}
203
185
  `;
204
- //# sourceMappingURL=scroll-container.js.map
@@ -6,4 +6,3 @@
6
6
  /** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
7
7
  export declare const selectCustomFlavorCss: (base: string) => string;
8
8
  export declare const selectBaseStyles: string;
9
- //# sourceMappingURL=select-base.d.ts.map