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
@@ -2177,4 +2177,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
2177
2177
  export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <g>\n <g>\n <path d=\"M0,0h24v24H0V0z\" fill=\"none\"/>\n </g>\n </g>\n <g>\n <path d=\"M12,8.89L12.94,12h2.82l-2.27,1.62l0.93,3.01L12,14.79l-2.42,1.84l0.93-3.01L8.24,12h2.82L12,8.89 M12,2l-2.42,8H2 l6.17,4.41L5.83,22L12,17.31L18.18,22l-2.35-7.59L22,10h-7.58L12,2L12,2z\"/>\n </g>\n</svg>";
2178
2178
  export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
2179
2179
  export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
2180
- //# sourceMappingURL=filled.d.ts.map
@@ -1,12 +1,3 @@
1
- /**
2
- * Material Design Icons FILLED - Auto-generated
3
- * DO NOT EDIT THIS FILE MANUALLY
4
- * Generated from: https://github.com/google/material-design-icons
5
- * Style: filled
6
- * Total icons: 2170
7
- *
8
- * Note: Material icons have currentColor attributes added
9
- */
10
1
  export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
11
2
  <g>
12
3
  <rect fill="none" height="24" width="24"/>
@@ -14000,4 +13991,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
14000
13991
  <path d="M0 0h24v24H0z" fill="none"/>
14001
13992
  <path d="M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/>
14002
13993
  </svg>`;
14003
- //# sourceMappingURL=filled.js.map
@@ -2139,4 +2139,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
2139
2139
  export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27z\"/>\n</svg>";
2140
2140
  export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
2141
2141
  export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
2142
- //# sourceMappingURL=outlined.d.ts.map
@@ -1,12 +1,3 @@
1
- /**
2
- * Material Design Icons OUTLINED - Auto-generated
3
- * DO NOT EDIT THIS FILE MANUALLY
4
- * Generated from: https://github.com/google/material-design-icons
5
- * Style: outlined
6
- * Total icons: 2132
7
- *
8
- * Note: Material icons have currentColor attributes added
9
- */
10
1
  export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
11
2
  <g>
12
3
  <rect fill="none" height="24" width="24"/>
@@ -14542,4 +14533,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
14542
14533
  <path d="M0 0h24v24H0z" fill="none"/>
14543
14534
  <path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/>
14544
14535
  </svg>`;
14545
- //# sourceMappingURL=outlined.js.map
@@ -2144,4 +2144,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
2144
2144
  export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <g>\n <g>\n <path d=\"M0,0h24v24H0V0z\" fill=\"none\"/>\n </g>\n </g>\n <g>\n <path d=\"M12,8.89L12.94,12h2.82l-2.27,1.62l0.93,3.01L12,14.79l-2.42,1.84l0.93-3.01L8.24,12h2.82L12,8.89 M9.58,10H5.12 c-0.97,0-1.37,1.25-0.58,1.81l3.64,2.6l-1.43,4.61c-0.29,0.93,0.79,1.68,1.56,1.09L12,17.31l3.69,2.81 c0.77,0.59,1.85-0.16,1.56-1.09l-1.43-4.61l3.64-2.6c0.79-0.57,0.39-1.81-0.58-1.81h-4.46l-1.47-4.84c-0.29-0.95-1.63-0.95-1.91,0 L9.58,10z\"/>\n </g>\n</svg>";
2145
2145
  export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
2146
2146
  export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
2147
- //# sourceMappingURL=round.d.ts.map
@@ -1,12 +1,3 @@
1
- /**
2
- * Material Design Icons ROUND - Auto-generated
3
- * DO NOT EDIT THIS FILE MANUALLY
4
- * Generated from: https://github.com/google/material-design-icons
5
- * Style: round
6
- * Total icons: 2137
7
- *
8
- * Note: Material icons have currentColor attributes added
9
- */
10
1
  export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
11
2
  <g>
12
3
  <rect fill="none" height="24" width="24"/>
@@ -14776,4 +14767,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
14776
14767
  <path d="M0 0h24v24H0z" fill="none"/>
14777
14768
  <path d="M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/>
14778
14769
  </svg>`;
14779
- //# sourceMappingURL=round.js.map
@@ -2144,4 +2144,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
2144
2144
  export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27z\"/>\n</svg>";
2145
2145
  export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
2146
2146
  export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"/>\n</svg>";
2147
- //# sourceMappingURL=sharp.d.ts.map
@@ -1,12 +1,3 @@
1
- /**
2
- * Material Design Icons SHARP - Auto-generated
3
- * DO NOT EDIT THIS FILE MANUALLY
4
- * Generated from: https://github.com/google/material-design-icons
5
- * Style: sharp
6
- * Total icons: 2137
7
- *
8
- * Note: Material icons have currentColor attributes added
9
- */
10
1
  export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
11
2
  <g>
12
3
  <rect fill="none" height="24" width="24"/>
@@ -14186,4 +14177,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
14186
14177
  <path d="M0 0h24v24H0z" fill="none"/>
14187
14178
  <path d="M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"/>
14188
14179
  </svg>`;
14189
- //# sourceMappingURL=sharp.js.map
@@ -2182,4 +2182,3 @@ export declare const starOutline = "<svg xmlns=\"http://www.w3.org/2000/svg\" he
2182
2182
  export declare const starPurple500 = "<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <g>\n <g>\n <path d=\"M0,0h24v24H0V0z\" fill=\"none\"/>\n </g>\n </g>\n <g>\n <path d=\"M12,8.89L12.94,12h2.82l-2.27,1.62l0.93,3.01L12,14.79l-2.42,1.84l0.93-3.01L8.24,12h2.82L12,8.89 M12,2l-2.42,8H2 l6.17,4.41L5.83,22L12,17.31L18.18,22l-2.35-7.59L22,10h-7.58L12,2L12,2z\"/>\n </g>\n</svg>";
2183
2183
  export declare const toggleOff = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M17 8H7c-2.21 0-4 1.79-4 4s1.79 4 4 4h10c2.21 0 4-1.79 4-4s-1.79-4-4-4zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\" opacity=\".3\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
2184
2184
  export declare const toggleOn = "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" stroke-width=\"0\" stroke=\"currentColor\" fill=\"currentColor\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M17 8H7c-2.21 0-4 1.79-4 4s1.79 4 4 4h10c2.21 0 4-1.79 4-4s-1.79-4-4-4zm0 7c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\" opacity=\".3\"/>\n <path d=\"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/>\n</svg>";
2185
- //# sourceMappingURL=two-tone.d.ts.map
@@ -1,12 +1,3 @@
1
- /**
2
- * Material Design Icons TWO-TONE - Auto-generated
3
- * DO NOT EDIT THIS FILE MANUALLY
4
- * Generated from: https://github.com/google/material-design-icons
5
- * Style: two-tone
6
- * Total icons: 2175
7
- *
8
- * Note: Material icons have currentColor attributes added
9
- */
10
1
  export const icon123 = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" stroke-width="0" stroke="currentColor" fill="currentColor">
11
2
  <g>
12
3
  <rect fill="none" height="24" width="24"/>
@@ -17149,4 +17140,3 @@ export const toggleOn = `<svg xmlns="http://www.w3.org/2000/svg" height="24" vie
17149
17140
  <path d="M17 8H7c-2.21 0-4 1.79-4 4s1.79 4 4 4h10c2.21 0 4-1.79 4-4s-1.79-4-4-4zm0 7c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z" opacity=".3"/>
17150
17141
  <path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zm0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/>
17151
17142
  </svg>`;
17152
- //# sourceMappingURL=two-tone.js.map
package/lib/index.d.ts CHANGED
@@ -84,4 +84,3 @@ declare global {
84
84
  };
85
85
  }
86
86
  }
87
- //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,5 +1,3 @@
1
- // Ty TypeScript Components
2
- // Modern, zero-dependency web components
3
1
  export { TyButton } from './components/button.js';
4
2
  export { TyIcon, IconRegistry } from './components/icon.js';
5
3
  export { TyTag } from './components/tag.js';
@@ -28,37 +26,21 @@ export { TyDatePicker } from './components/date-picker.js';
28
26
  export { TyResizeObserver } from './components/resize-observer.js';
29
27
  export { TyScrollContainer } from './components/scroll-container.js';
30
28
  export { CustomScrollbar, isCustomScrollbarEnabled } from './utils/custom-scrollbar.js';
31
- // Resize Observer
32
29
  export { getSize, onResize, getAllSizes } from './utils/resize-observer.js';
33
- // Loader registry — global override for the spinner SVG used by loading-aware components
34
30
  export { setLoaderSvg, getLoaderSvg, resetLoaderSvg } from './utils/loader-registry.js';
35
- // Property capture utilities for React/Reagent compatibility
36
31
  export { capturePreSetProperties, getCapturedValues, applyPreSetProperties, captureAndApplyProperties } from './utils/property-capture.js';
37
- // Utilities
38
32
  export { lockScroll, unlockScroll, forceUnlockAll, isLocked, isLockedBy, getActiveLocks, getLockState, enableDebug as enableScrollLockDebug, disableDebug as disableScrollLockDebug } from './utils/scroll-lock.js';
39
- // Icons
40
- // Note: Icon libraries moved to separate tyrell-icons package
41
- // Icon registry utility remains in core for registering custom icons
42
- // Version (auto-generated from package.json)
43
33
  import { VERSION } from './version.js';
44
- // Global API
45
- // Expose window.tyIcons for script tag usage
46
34
  import { registerIcons, getIcon, hasIcon, getIconNames, getCacheInfo, clearIcons, getCachedIcon } from './utils/icon-registry.js';
47
- // Export icon registry functions for advanced use
48
35
  export { registerIcons, getIcon, hasIcon, getIconNames, getCacheInfo, clearIcons, getCachedIcon };
49
- // Import resize observer utilities for window API
50
36
  import { getSize as getResizeSize, onResize as subscribeResize, getAllSizes } from './utils/resize-observer.js';
51
37
  if (typeof window !== 'undefined') {
52
38
  window.tyVersion = VERSION;
53
- // One-time load banner — helps consumers confirm which version of the
54
- // library their page is actually running. Filter in DevTools with
55
- // "tyrell-components" if it's noisy.
56
39
  console.log(`%c[tyrell-components]%c v${VERSION}`, 'color:#06b6d4;font-weight:600', 'color:inherit;font-weight:400');
57
40
  window.tyIcons = {
58
41
  register: (icons) => {
59
42
  const count = Object.keys(icons).length;
60
43
  registerIcons(icons);
61
- // Defer logging to not block registration
62
44
  setTimeout(() => {
63
45
  console.log(`✅ Registered ${count} icons (cached for instant reload)`);
64
46
  }, 0);
@@ -69,11 +51,9 @@ if (typeof window !== 'undefined') {
69
51
  cacheInfo: () => getCacheInfo(),
70
52
  clearCache: () => clearIcons()
71
53
  };
72
- // Resize Observer API
73
54
  window.tyResizeObserver = {
74
55
  getSize: (id) => getResizeSize(id),
75
56
  onResize: (id, callback) => subscribeResize(id, callback),
76
57
  get sizes() { return getAllSizes(); }
77
58
  };
78
59
  }
79
- //# sourceMappingURL=index.js.map
@@ -9,10 +9,10 @@
9
9
  * 3 axes (color / hover-active / theme chroma-hue); literal in
10
10
  * tyrell.css. The component does no color math for the fill.
11
11
  * Depth chrome (border + drop shadow) IS computed here, from
12
- * the fill, via relative color — see "Depth chrome" below.
12
+ * the fill, via relative color — see the button.solid rule.
13
13
  * - outlined → --ty-color-{flavor}-{strong|base|soft} (text === border at
14
14
  * rest); hover/active/focus always resolve to -strong,
15
- * whatever the resting tone was — see "Hover escalation".
15
+ * whatever the resting tone was — see outlinedFlavor().
16
16
  * - ghost → same as outlined, text only (no border), --ty-bg-{flavor}-soft
17
17
  * background on hover.
18
18
  *
@@ -22,23 +22,6 @@
22
22
  * generic --ty-color-neutral-strong text-emphasis token. Base/soft neutral
23
23
  * stay on the generic token like every other flavor.
24
24
  *
25
- * Depth chrome (solid only): a 1px border + soft drop shadow, both derived
26
- * from the fill via oklch(from …), scaled by --ty-button-depth (0–1). The
27
- * border reads the TONE'S RESTING fill (not the current/hover one) so it
28
- * stays stationary while the fill rises toward it on interaction. Offset
29
- * direction/magnitude is --ty-button-border-l (mode-flipped: no border at
30
- * all for colored solids in dark, a lit edge in light) with its own
31
- * stronger dial for neutral, --ty-button-border-l-neutral (ink has no hue
32
- * to separate it from the canvas). Escape hatches --ty-solid-border-color
33
- * / --ty-solid-border-width outrank the derivation entirely.
34
- *
35
- * Hover escalation (outlined/ghost): :hover/:active/:focus-visible always
36
- * resolve to the -strong tier regardless of starting tone — soft and base
37
- * both rise to the same peak on interaction. Composes with `muted` rather
38
- * than fighting it (see the escalation rules themselves for the exact
39
- * split) — a pressed muted button lands on the same color as a pressed
40
- * plain one of the same flavor.
41
- *
42
25
  * Per-instance overrides via host CSS variables:
43
26
  * --ty-button-bg, --ty-button-bg-hover, --ty-button-color, --ty-button-border,
44
27
  * --ty-solid-border-color, --ty-solid-border-width
@@ -46,4 +29,3 @@
46
29
  /** Rules for one custom (non-built-in) flavor across all three appearances. */
47
30
  export declare const buttonCustomFlavorCss: (base: string) => string;
48
31
  export declare const buttonStyles: string;
49
- //# sourceMappingURL=button.d.ts.map
@@ -1,91 +1,14 @@
1
- /**
2
- * Button Component Styles
3
- *
4
- * Three appearance variants × five semantic flavors × three tones (+/base/-).
5
- * Each variant uses ONE token system:
6
- *
7
- * - solid → flat per-segment tokens --ty-solid-{flavor}{,-hover,-active,
8
- * -strong,-soft,-fg}. Derived in tyrell-theme.css via OKLCH on
9
- * 3 axes (color / hover-active / theme chroma-hue); literal in
10
- * tyrell.css. The component does no color math for the fill.
11
- * Depth chrome (border + drop shadow) IS computed here, from
12
- * the fill, via relative color — see "Depth chrome" below.
13
- * - outlined → --ty-color-{flavor}-{strong|base|soft} (text === border at
14
- * rest); hover/active/focus always resolve to -strong,
15
- * whatever the resting tone was — see "Hover escalation".
16
- * - ghost → same as outlined, text only (no border), --ty-bg-{flavor}-soft
17
- * background on hover.
18
- *
19
- * Neutral is the exception in both outlined and ghost: its `+` tone reads
20
- * --ty-solid-neutral-strong (the ink dial solid buttons use — the only
21
- * value that actually inverts light↔dark for full contrast) instead of the
22
- * generic --ty-color-neutral-strong text-emphasis token. Base/soft neutral
23
- * stay on the generic token like every other flavor.
24
- *
25
- * Depth chrome (solid only): a 1px border + soft drop shadow, both derived
26
- * from the fill via oklch(from …), scaled by --ty-button-depth (0–1). The
27
- * border reads the TONE'S RESTING fill (not the current/hover one) so it
28
- * stays stationary while the fill rises toward it on interaction. Offset
29
- * direction/magnitude is --ty-button-border-l (mode-flipped: no border at
30
- * all for colored solids in dark, a lit edge in light) with its own
31
- * stronger dial for neutral, --ty-button-border-l-neutral (ink has no hue
32
- * to separate it from the canvas). Escape hatches --ty-solid-border-color
33
- * / --ty-solid-border-width outrank the derivation entirely.
34
- *
35
- * Hover escalation (outlined/ghost): :hover/:active/:focus-visible always
36
- * resolve to the -strong tier regardless of starting tone — soft and base
37
- * both rise to the same peak on interaction. Composes with `muted` rather
38
- * than fighting it (see the escalation rules themselves for the exact
39
- * split) — a pressed muted button lands on the same color as a pressed
40
- * plain one of the same flavor.
41
- *
42
- * Per-instance overrides via host CSS variables:
43
- * --ty-button-bg, --ty-button-bg-hover, --ty-button-color, --ty-button-border,
44
- * --ty-solid-border-color, --ty-solid-border-width
45
- */
46
1
  import { FLAVORS } from '../types/common.js';
47
- /* One block per flavor, per appearance. Selectors and tokens are formulaic —
48
- see the section comments below for which token system each appearance uses.
49
-
50
- Each generator takes an optional fallback flavor `fb`: token references
51
- then become var(--ty-*-f, var(--ty-*-fb)). Built-ins pass no fallback
52
- (their tokens always exist); buttonCustomFlavorCss() passes 'neutral' so a
53
- custom flavor with missing tokens degrades to neutral instead of an
54
- invisible button. */
55
2
  const tokenRef = (prefix, f, suffix, fb) => fb
56
3
  ? `var(${prefix}-${f}${suffix}, var(${prefix}-${fb}${suffix}))`
57
4
  : `var(${prefix}-${f}${suffix})`;
58
- /* Nudge a fill by an interaction offset (hover/active), tone-aware: each
59
- tone's states derive from the TONE's own fill, not the base fill —
60
- otherwise tone- hover jumps from the soft fill to near-base darkness.
61
- States deliberately do NOT re-derive the text color: fg is decided by
62
- the tone's REST fill and stays stable through interaction — the ±0.04/
63
- 0.08 L nudges keep AA for any rest-passing fill, and re-deriving would
64
- flicker black↔white whenever a nudge crosses the fg threshold. */
65
5
  const nudged = (fillExpr, offsetDial) => `oklch(from ${fillExpr} calc(l + var(--ty-${offsetDial})) c h)`;
66
- /* Fill-relative nudge: moves TOWARD mid-lightness by the dial's magnitude,
67
- whatever the fill. Needed for neutral+ — full-contrast ink sits at an L
68
- extreme in both modes (near-black light / near-white dark), where the
69
- MODE-directional dials clip into the L ceiling/floor and vanish. */
70
6
  const nudgedMid = (fillExpr, offsetDial) => `oklch(from ${fillExpr} calc(l + sign(0.5 - l) * abs(var(--ty-${offsetDial}))) c h)`;
71
- /* Solid rules assign --_solid-bg (the CURRENT fill — swapped by hover/
72
- active) and --_solid-rest (the tone's RESTING fill — set only by rest/
73
- tone rules, never by state rules). The base button.solid rule holds the
74
- single set of formulas that consume them: background follows --_solid-bg;
75
- the depth border derives from --_solid-rest so it stays STATIONARY while
76
- the fill steps up on hover — the fill rises toward the lit edge instead
77
- of dragging the edge along with it. */
78
7
  const solidFlavor = (f, fb) => {
79
8
  const solid = (suffix) => tokenRef('--ty-solid', f, suffix, fb);
80
- // Neutral reads its own, stronger border offset (no hue separates ink
81
- // from the canvas — see --ty-button-border-l-neutral in tyrell.css).
82
- // Colored flavors must RESET to the plain dial: the bare button.solid
83
- // rule (which matches every solid button) sets the neutral chain.
84
9
  const borderL = f === 'neutral'
85
10
  ? ' --_border-l: var(--ty-button-border-l-neutral, var(--ty-button-border-l, -0.15));'
86
11
  : ' --_border-l: var(--ty-button-border-l, -0.15);';
87
- // Neutral+ is full-contrast ink at an L extreme — its hover/active must
88
- // move toward mid (fill-relative), not in the mode's direction.
89
12
  const plusNudge = f === 'neutral' ? nudgedMid : nudged;
90
13
  return `
91
14
  button.solid.${f} { --_ring: ${tokenRef('--ty-color', f, '', fb)}; --_solid-bg: var(--ty-button-bg, var(--_muted-solid-bg, ${solid('')})); --_solid-rest: var(--ty-button-bg, var(--_muted-solid-bg, ${solid('')}));${borderL} color: var(--ty-button-color, var(--_muted-solid-fg, ${solid('-fg')})); }
@@ -101,12 +24,6 @@ button.solid.${f}.tone-minus:active:not(:disabled) { --_solid-bg: ${nudged(solid
101
24
  };
102
25
  const outlinedFlavor = (f, fb) => {
103
26
  const color = (suffix) => tokenRef('--ty-color', f, suffix, fb);
104
- // Neutral+ only: bare text/border need page contrast, which the
105
- // per-flavor ladder is FOR (it deliberately inverts per mode) — pointing
106
- // base/soft at the solid ink ramp was a real bug (dark-mode contrast
107
- // against the canvas measured 1.01/1.20 — invisible; WCAG minimum is
108
- // 4.5). Strong stays on ink: at 0.93 dark / 0.15 light it's still 16.5:1,
109
- // and matches solid's "+" for the loud-CTA identity that was the ask.
110
27
  const textInk = (suffix) => (f === 'neutral' && suffix === '-strong' ? `var(--ty-solid-neutral${suffix})` : color(suffix));
111
28
  return `
112
29
  button.outlined.${f} {
@@ -144,15 +61,6 @@ button.outlined.${f}:focus-visible {
144
61
  };
145
62
  const ghostFlavor = (f, fb) => {
146
63
  const color = (suffix) => tokenRef('--ty-color', f, suffix, fb);
147
- // Neutral+ only: bare text needs page contrast, which is what the
148
- // per-flavor text ladder is FOR (it deliberately inverts per mode) — the
149
- // solid ink ramp doesn't need to invert for readability, a fill reads as
150
- // a shape regardless of its own lightness. Pointing base/soft neutral
151
- // text at ink was a real bug: dark-mode contrast against the canvas
152
- // measured 1.01/1.20 (WCAG minimum is 4.5), i.e. invisible. Strong stays
153
- // on ink — at 0.93 dark / 0.15 light it's still far above threshold
154
- // (16.5:1), and matches solid's "+" for the loud-CTA identity that was
155
- // the actual ask.
156
64
  const ink = (suffix) => (f === 'neutral' && suffix === '-strong' ? `var(--ty-solid-neutral${suffix})` : color(suffix));
157
65
  return `
158
66
  button.ghost.${f} { color: var(--ty-button-color, var(--_muted-ghost-fg, ${ink('')})); }
@@ -170,12 +78,11 @@ button.ghost.${f}:focus-visible {
170
78
  }
171
79
  `;
172
80
  };
173
- /** Rules for one custom (non-built-in) flavor across all three appearances. */
174
81
  export const buttonCustomFlavorCss = (base) => solidFlavor(base, 'neutral') + outlinedFlavor(base, 'neutral') + ghostFlavor(base, 'neutral');
175
82
  export const buttonStyles = `
176
83
  :host {
177
84
  display: inline-block;
178
- font-family: var(--ty-font-sans);
85
+ font-family: inherit;
179
86
  }
180
87
 
181
88
  :host([wide]) {
@@ -184,6 +91,10 @@ export const buttonStyles = `
184
91
  }
185
92
 
186
93
  button {
94
+ /* Native form controls do NOT inherit font from the shadow host — the UA
95
+ stylesheet sets one on them, which beats inheritance. Must be explicit
96
+ here or the button silently falls back to the system font. */
97
+ font-family: inherit;
187
98
  position: relative;
188
99
  display: flex;
189
100
  align-items: center;
@@ -228,10 +139,8 @@ button:disabled {
228
139
  opacity: 0.6;
229
140
  }
230
141
 
231
- /* ===== LOADING STATE =====
232
- Spinner overlays the button center; original content kept in flow but
233
- hidden via visibility so width/height are preserved (no layout shift).
234
- */
142
+ /* Spinner overlays the button center; original content kept in flow but
143
+ hidden via visibility so width/height are preserved (no layout shift). */
235
144
  .loader-icon {
236
145
  display: none;
237
146
  align-items: center;
@@ -282,8 +191,7 @@ button.loading > .loader-icon {
282
191
  flex-grow: 1;
283
192
  }
284
193
 
285
- /* ===== SIZES =====
286
- Buttons run a 4px ladder (24-40px). Shared scale with fields
194
+ /* Buttons run a 4px ladder (24-40px). Shared scale with fields
287
195
  (--ty-size-sm/md/lg — see tyrell.css): field sm = button md (32px),
288
196
  field md = button lg (36px), field lg = button xl (40px) — a button
289
197
  and a field of the paired size sit flush, same height, in a row. */
@@ -333,8 +241,7 @@ button.xl {
333
241
  height: 2.5rem; /* 40px — matches field lg */
334
242
  }
335
243
 
336
- /* ===== ACTION (icon-only square) ===== */
337
-
244
+ /* Action = icon-only square */
338
245
  button.action {
339
246
  gap: 0px !important;
340
247
  height: 2rem;
@@ -359,8 +266,7 @@ button.action.lg ::slotted(ty-icon) { height: 1.125rem; width: 1.125rem; }
359
266
  button.action.xl { height: 2.5rem; width: 2.5rem; }
360
267
  button.action.xl ::slotted(ty-icon) { height: 1.25rem; width: 1.25rem; }
361
268
 
362
- /* ===== MUTED =====
363
- Show the neutral tokens at rest instead of the flavor color; reveal the
269
+ /* MUTED: show the neutral tokens at rest instead of the flavor color; reveal the
364
270
  real flavor on interaction. Implemented as a fallback tier the flavor
365
271
  rules above already read (--_muted-*), which sits behind the public
366
272
  --ty-button-{bg,color,border} override slots and ahead of the flavor's
@@ -414,8 +320,6 @@ button.muted:focus-visible:not(:disabled) {
414
320
  --_muted-ghost-fg: unset;
415
321
  }
416
322
 
417
- /* ===== PILL ===== */
418
-
419
323
  button.pill {
420
324
  border-radius: 9999px;
421
325
  padding-left: 1.25em;
@@ -441,13 +345,11 @@ button.pill.md:has(ty-icon:only-child) { min-width: 2rem; min-height: 2rem; }
441
345
  button.pill.lg:has(ty-icon:only-child) { min-width: 2.25rem; min-height: 2.25rem; }
442
346
  button.pill.xl:has(ty-icon:only-child) { min-width: 2.5rem; min-height: 2.5rem; }
443
347
 
444
- /* ============================================================
445
- SOLID — flat: one variable per segment. No color math here; all the
348
+ /* SOLID — flat: one variable per segment. No color math here; all the
446
349
  --ty-solid-{flavor}-{hover,active,strong,soft} tokens are DERIVED in
447
350
  tyrell-theme.css (OKLCH) or set literally in tyrell.css. Override any
448
351
  single token to recolor that one segment. Bare .solid = custom-flavor
449
- fallback, themable via --ty-button-{bg,bg-hover,color}.
450
- ============================================================ */
352
+ fallback, themable via --ty-button-{bg,bg-hover,color}. */
451
353
 
452
354
  button.solid {
453
355
  --_ring: var(--ty-color-neutral);
@@ -502,12 +404,10 @@ button.solid:focus-visible {
502
404
  box-shadow: 0 0 0 2px var(--ty-focus-ring-gap), 0 0 0 4px var(--_ring);
503
405
  }
504
406
 
505
- /* ============================================================
506
- OUTLINED — transparent bg, text === border (uses --ty-color-*)
507
- Bare .outlined rule = fallback for custom flavors. For outlined,
508
- text is bound to border color (the rule "text === border"), so the
509
- fallback chain prefers --ty-button-border, then --ty-button-color.
510
- ============================================================ */
407
+ /* OUTLINED — transparent bg, text === border (uses --ty-color-*).
408
+ Bare .outlined rule = fallback for custom flavors. Text is bound to
409
+ border color, so the fallback chain prefers --ty-button-border, then
410
+ --ty-button-color. */
511
411
 
512
412
  button.outlined {
513
413
  background: transparent;
@@ -520,10 +420,8 @@ button.outlined:hover:not(:disabled) {
520
420
 
521
421
  ${FLAVORS.map((f) => outlinedFlavor(f)).join('')}
522
422
 
523
- /* ============================================================
524
- GHOST — text only, hover bg (uses --ty-color-* + --ty-bg-*-soft)
525
- Bare .ghost rule = fallback for custom flavors.
526
- ============================================================ */
423
+ /* GHOST — text only, hover bg (uses --ty-color-* + --ty-bg-*-soft).
424
+ Bare .ghost rule = fallback for custom flavors. */
527
425
 
528
426
  button.ghost {
529
427
  background: transparent;
@@ -535,4 +433,3 @@ button.ghost:hover:not(:disabled) {
535
433
  }
536
434
 
537
435
  ${FLAVORS.map((f) => ghostFlavor(f)).join('')}`;
538
- //# sourceMappingURL=button.js.map
@@ -1,8 +1,4 @@
1
- /**
2
- * Calendar Month Styles
3
- * Improved design with better visual hierarchy and size variants
4
- */
1
+ /** Calendar Month Styles */
5
2
  /** Rules for one custom (non-built-in) flavor — see utils/flavor-sheet.ts. */
6
3
  export declare const calendarMonthCustomFlavorCss: (base: string) => string;
7
4
  export declare const calendarMonthStyles: string;
8
- //# sourceMappingURL=calendar-month.d.ts.map