@tessera-ui/core 0.4.0

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 (998) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/dist/cjs/aria-CeYIvz3U.js +94 -0
  4. package/dist/cjs/aria-CeYIvz3U.js.map +1 -0
  5. package/dist/cjs/index-Bel_x2OU.js +2401 -0
  6. package/dist/cjs/index-Bel_x2OU.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +155 -0
  8. package/dist/cjs/index.cjs.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +15 -0
  10. package/dist/cjs/loader.cjs.js.map +1 -0
  11. package/dist/cjs/lucide-B1gCqJ3G.js +28324 -0
  12. package/dist/cjs/lucide-B1gCqJ3G.js.map +1 -0
  13. package/dist/cjs/tessera-ui.cjs.js +27 -0
  14. package/dist/cjs/tessera-ui.cjs.js.map +1 -0
  15. package/dist/cjs/ts-accordion-item.cjs.entry.js +65 -0
  16. package/dist/cjs/ts-accordion-item.cjs.entry.js.map +1 -0
  17. package/dist/cjs/ts-accordion.cjs.entry.js +36 -0
  18. package/dist/cjs/ts-accordion.cjs.entry.js.map +1 -0
  19. package/dist/cjs/ts-alert.cjs.entry.js +60 -0
  20. package/dist/cjs/ts-alert.cjs.entry.js.map +1 -0
  21. package/dist/cjs/ts-avatar.cjs.entry.js +54 -0
  22. package/dist/cjs/ts-avatar.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ts-badge.cjs.entry.js +38 -0
  24. package/dist/cjs/ts-badge.cjs.entry.js.map +1 -0
  25. package/dist/cjs/ts-banner.cjs.entry.js +67 -0
  26. package/dist/cjs/ts-banner.cjs.entry.js.map +1 -0
  27. package/dist/cjs/ts-breadcrumb-item.cjs.entry.js +28 -0
  28. package/dist/cjs/ts-breadcrumb-item.cjs.entry.js.map +1 -0
  29. package/dist/cjs/ts-breadcrumb.cjs.entry.js +35 -0
  30. package/dist/cjs/ts-breadcrumb.cjs.entry.js.map +1 -0
  31. package/dist/cjs/ts-button.cjs.entry.js +88 -0
  32. package/dist/cjs/ts-button.cjs.entry.js.map +1 -0
  33. package/dist/cjs/ts-card.cjs.entry.js +35 -0
  34. package/dist/cjs/ts-card.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ts-checkbox.cjs.entry.js +68 -0
  36. package/dist/cjs/ts-checkbox.cjs.entry.js.map +1 -0
  37. package/dist/cjs/ts-chip.cjs.entry.js +76 -0
  38. package/dist/cjs/ts-chip.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ts-container.cjs.entry.js +28 -0
  40. package/dist/cjs/ts-container.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ts-date-picker.cjs.entry.js +229 -0
  42. package/dist/cjs/ts-date-picker.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ts-dialog.cjs.entry.js +109 -0
  44. package/dist/cjs/ts-dialog.cjs.entry.js.map +1 -0
  45. package/dist/cjs/ts-divider.cjs.entry.js +33 -0
  46. package/dist/cjs/ts-divider.cjs.entry.js.map +1 -0
  47. package/dist/cjs/ts-drawer.cjs.entry.js +113 -0
  48. package/dist/cjs/ts-drawer.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ts-empty-state.cjs.entry.js +32 -0
  50. package/dist/cjs/ts-empty-state.cjs.entry.js.map +1 -0
  51. package/dist/cjs/ts-file-upload.cjs.entry.js +122 -0
  52. package/dist/cjs/ts-file-upload.cjs.entry.js.map +1 -0
  53. package/dist/cjs/ts-grid.cjs.entry.js +37 -0
  54. package/dist/cjs/ts-grid.cjs.entry.js.map +1 -0
  55. package/dist/cjs/ts-icon-CfbhgAgr.js +161 -0
  56. package/dist/cjs/ts-icon-CfbhgAgr.js.map +1 -0
  57. package/dist/cjs/ts-icon.cjs.entry.js +11 -0
  58. package/dist/cjs/ts-icon.cjs.entry.js.map +1 -0
  59. package/dist/cjs/ts-input.cjs.entry.js +130 -0
  60. package/dist/cjs/ts-input.cjs.entry.js.map +1 -0
  61. package/dist/cjs/ts-menu-item.cjs.entry.js +65 -0
  62. package/dist/cjs/ts-menu-item.cjs.entry.js.map +1 -0
  63. package/dist/cjs/ts-menu.cjs.entry.js +155 -0
  64. package/dist/cjs/ts-menu.cjs.entry.js.map +1 -0
  65. package/dist/cjs/ts-modal.cjs.entry.js +122 -0
  66. package/dist/cjs/ts-modal.cjs.entry.js.map +1 -0
  67. package/dist/cjs/ts-nav-item.cjs.entry.js +48 -0
  68. package/dist/cjs/ts-nav-item.cjs.entry.js.map +1 -0
  69. package/dist/cjs/ts-nav.cjs.entry.js +29 -0
  70. package/dist/cjs/ts-nav.cjs.entry.js.map +1 -0
  71. package/dist/cjs/ts-pagination.cjs.entry.js +88 -0
  72. package/dist/cjs/ts-pagination.cjs.entry.js.map +1 -0
  73. package/dist/cjs/ts-popover.cjs.entry.js +133 -0
  74. package/dist/cjs/ts-popover.cjs.entry.js.map +1 -0
  75. package/dist/cjs/ts-progress.cjs.entry.js +46 -0
  76. package/dist/cjs/ts-progress.cjs.entry.js.map +1 -0
  77. package/dist/cjs/ts-radio.cjs.entry.js +60 -0
  78. package/dist/cjs/ts-radio.cjs.entry.js.map +1 -0
  79. package/dist/cjs/ts-row.cjs.entry.js +53 -0
  80. package/dist/cjs/ts-row.cjs.entry.js.map +1 -0
  81. package/dist/cjs/ts-select.cjs.entry.js +221 -0
  82. package/dist/cjs/ts-select.cjs.entry.js.map +1 -0
  83. package/dist/cjs/ts-skeleton.cjs.entry.js +55 -0
  84. package/dist/cjs/ts-skeleton.cjs.entry.js.map +1 -0
  85. package/dist/cjs/ts-slider.cjs.entry.js +132 -0
  86. package/dist/cjs/ts-slider.cjs.entry.js.map +1 -0
  87. package/dist/cjs/ts-spacer.cjs.entry.js +28 -0
  88. package/dist/cjs/ts-spacer.cjs.entry.js.map +1 -0
  89. package/dist/cjs/ts-spinner.cjs.entry.js +30 -0
  90. package/dist/cjs/ts-spinner.cjs.entry.js.map +1 -0
  91. package/dist/cjs/ts-stack.cjs.entry.js +34 -0
  92. package/dist/cjs/ts-stack.cjs.entry.js.map +1 -0
  93. package/dist/cjs/ts-step.cjs.entry.js +74 -0
  94. package/dist/cjs/ts-step.cjs.entry.js.map +1 -0
  95. package/dist/cjs/ts-stepper.cjs.entry.js +67 -0
  96. package/dist/cjs/ts-stepper.cjs.entry.js.map +1 -0
  97. package/dist/cjs/ts-switch-group.cjs.entry.js +109 -0
  98. package/dist/cjs/ts-switch-group.cjs.entry.js.map +1 -0
  99. package/dist/cjs/ts-switch-option.cjs.entry.js +42 -0
  100. package/dist/cjs/ts-switch-option.cjs.entry.js.map +1 -0
  101. package/dist/cjs/ts-tab-panel.cjs.entry.js +30 -0
  102. package/dist/cjs/ts-tab-panel.cjs.entry.js.map +1 -0
  103. package/dist/cjs/ts-table.cjs.entry.js +39 -0
  104. package/dist/cjs/ts-table.cjs.entry.js.map +1 -0
  105. package/dist/cjs/ts-tabs.cjs.entry.js +124 -0
  106. package/dist/cjs/ts-tabs.cjs.entry.js.map +1 -0
  107. package/dist/cjs/ts-textarea.cjs.entry.js +117 -0
  108. package/dist/cjs/ts-textarea.cjs.entry.js.map +1 -0
  109. package/dist/cjs/ts-toast.cjs.entry.js +107 -0
  110. package/dist/cjs/ts-toast.cjs.entry.js.map +1 -0
  111. package/dist/cjs/ts-toggle.cjs.entry.js +58 -0
  112. package/dist/cjs/ts-toggle.cjs.entry.js.map +1 -0
  113. package/dist/cjs/ts-toolbar.cjs.entry.js +29 -0
  114. package/dist/cjs/ts-toolbar.cjs.entry.js.map +1 -0
  115. package/dist/cjs/ts-tooltip.cjs.entry.js +82 -0
  116. package/dist/cjs/ts-tooltip.cjs.entry.js.map +1 -0
  117. package/dist/cjs/ts-tree-item.cjs.entry.js +94 -0
  118. package/dist/cjs/ts-tree-item.cjs.entry.js.map +1 -0
  119. package/dist/cjs/ts-tree.cjs.entry.js +81 -0
  120. package/dist/cjs/ts-tree.cjs.entry.js.map +1 -0
  121. package/dist/collection/collection-manifest.json +64 -0
  122. package/dist/collection/components/accordion/accordion-item.css +75 -0
  123. package/dist/collection/components/accordion/accordion-item.js +157 -0
  124. package/dist/collection/components/accordion/accordion-item.js.map +1 -0
  125. package/dist/collection/components/accordion/accordion-item.stories.js +4 -0
  126. package/dist/collection/components/accordion/accordion-item.stories.js.map +1 -0
  127. package/dist/collection/components/accordion/accordion.css +31 -0
  128. package/dist/collection/components/accordion/accordion.js +72 -0
  129. package/dist/collection/components/accordion/accordion.js.map +1 -0
  130. package/dist/collection/components/accordion/accordion.stories.js +90 -0
  131. package/dist/collection/components/accordion/accordion.stories.js.map +1 -0
  132. package/dist/collection/components/alert/alert.css +118 -0
  133. package/dist/collection/components/alert/alert.js +181 -0
  134. package/dist/collection/components/alert/alert.js.map +1 -0
  135. package/dist/collection/components/alert/alert.stories.js +128 -0
  136. package/dist/collection/components/alert/alert.stories.js.map +1 -0
  137. package/dist/collection/components/avatar/avatar.css +63 -0
  138. package/dist/collection/components/avatar/avatar.js +185 -0
  139. package/dist/collection/components/avatar/avatar.js.map +1 -0
  140. package/dist/collection/components/avatar/avatar.stories.js +138 -0
  141. package/dist/collection/components/avatar/avatar.stories.js.map +1 -0
  142. package/dist/collection/components/badge/badge.css +67 -0
  143. package/dist/collection/components/badge/badge.js +160 -0
  144. package/dist/collection/components/badge/badge.js.map +1 -0
  145. package/dist/collection/components/badge/badge.stories.js +193 -0
  146. package/dist/collection/components/badge/badge.stories.js.map +1 -0
  147. package/dist/collection/components/banner/banner.css +129 -0
  148. package/dist/collection/components/banner/banner.js +226 -0
  149. package/dist/collection/components/banner/banner.js.map +1 -0
  150. package/dist/collection/components/banner/banner.stories.js +92 -0
  151. package/dist/collection/components/banner/banner.stories.js.map +1 -0
  152. package/dist/collection/components/breadcrumb/breadcrumb-item.css +44 -0
  153. package/dist/collection/components/breadcrumb/breadcrumb-item.js +95 -0
  154. package/dist/collection/components/breadcrumb/breadcrumb-item.js.map +1 -0
  155. package/dist/collection/components/breadcrumb/breadcrumb-item.stories.js +4 -0
  156. package/dist/collection/components/breadcrumb/breadcrumb-item.stories.js.map +1 -0
  157. package/dist/collection/components/breadcrumb/breadcrumb.css +26 -0
  158. package/dist/collection/components/breadcrumb/breadcrumb.js +65 -0
  159. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -0
  160. package/dist/collection/components/breadcrumb/breadcrumb.stories.js +88 -0
  161. package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -0
  162. package/dist/collection/components/button/button.css +260 -0
  163. package/dist/collection/components/button/button.js +347 -0
  164. package/dist/collection/components/button/button.js.map +1 -0
  165. package/dist/collection/components/button/button.stories.js +219 -0
  166. package/dist/collection/components/button/button.stories.js.map +1 -0
  167. package/dist/collection/components/card/card.css +108 -0
  168. package/dist/collection/components/card/card.js +130 -0
  169. package/dist/collection/components/card/card.js.map +1 -0
  170. package/dist/collection/components/card/card.stories.js +221 -0
  171. package/dist/collection/components/card/card.stories.js.map +1 -0
  172. package/dist/collection/components/checkbox/checkbox.css +115 -0
  173. package/dist/collection/components/checkbox/checkbox.js +282 -0
  174. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  175. package/dist/collection/components/checkbox/checkbox.stories.js +90 -0
  176. package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -0
  177. package/dist/collection/components/chip/chip.css +210 -0
  178. package/dist/collection/components/chip/chip.js +253 -0
  179. package/dist/collection/components/chip/chip.js.map +1 -0
  180. package/dist/collection/components/chip/chip.stories.js +139 -0
  181. package/dist/collection/components/chip/chip.stories.js.map +1 -0
  182. package/dist/collection/components/container/container.css +47 -0
  183. package/dist/collection/components/container/container.js +76 -0
  184. package/dist/collection/components/container/container.js.map +1 -0
  185. package/dist/collection/components/container/container.stories.js +138 -0
  186. package/dist/collection/components/container/container.stories.js.map +1 -0
  187. package/dist/collection/components/date-picker/date-picker.css +233 -0
  188. package/dist/collection/components/date-picker/date-picker.js +462 -0
  189. package/dist/collection/components/date-picker/date-picker.js.map +1 -0
  190. package/dist/collection/components/date-picker/date-picker.stories.js +119 -0
  191. package/dist/collection/components/date-picker/date-picker.stories.js.map +1 -0
  192. package/dist/collection/components/dialog/dialog.css +128 -0
  193. package/dist/collection/components/dialog/dialog.js +264 -0
  194. package/dist/collection/components/dialog/dialog.js.map +1 -0
  195. package/dist/collection/components/dialog/dialog.stories.js +147 -0
  196. package/dist/collection/components/dialog/dialog.stories.js.map +1 -0
  197. package/dist/collection/components/divider/divider.css +94 -0
  198. package/dist/collection/components/divider/divider.js +99 -0
  199. package/dist/collection/components/divider/divider.js.map +1 -0
  200. package/dist/collection/components/divider/divider.stories.js +94 -0
  201. package/dist/collection/components/divider/divider.stories.js.map +1 -0
  202. package/dist/collection/components/drawer/drawer.css +202 -0
  203. package/dist/collection/components/drawer/drawer.js +288 -0
  204. package/dist/collection/components/drawer/drawer.js.map +1 -0
  205. package/dist/collection/components/drawer/drawer.stories.js +143 -0
  206. package/dist/collection/components/drawer/drawer.stories.js.map +1 -0
  207. package/dist/collection/components/empty-state/empty-state.css +112 -0
  208. package/dist/collection/components/empty-state/empty-state.js +131 -0
  209. package/dist/collection/components/empty-state/empty-state.js.map +1 -0
  210. package/dist/collection/components/empty-state/empty-state.stories.js +113 -0
  211. package/dist/collection/components/empty-state/empty-state.stories.js.map +1 -0
  212. package/dist/collection/components/file-upload/file-upload.css +84 -0
  213. package/dist/collection/components/file-upload/file-upload.js +277 -0
  214. package/dist/collection/components/file-upload/file-upload.js.map +1 -0
  215. package/dist/collection/components/file-upload/file-upload.stories.js +107 -0
  216. package/dist/collection/components/file-upload/file-upload.stories.js.map +1 -0
  217. package/dist/collection/components/grid/grid.css +11 -0
  218. package/dist/collection/components/grid/grid.js +125 -0
  219. package/dist/collection/components/grid/grid.js.map +1 -0
  220. package/dist/collection/components/grid/grid.stories.js +134 -0
  221. package/dist/collection/components/grid/grid.stories.js.map +1 -0
  222. package/dist/collection/components/icon/icon-registry.js +39 -0
  223. package/dist/collection/components/icon/icon-registry.js.map +1 -0
  224. package/dist/collection/components/icon/icon.css +54 -0
  225. package/dist/collection/components/icon/icon.js +239 -0
  226. package/dist/collection/components/icon/icon.js.map +1 -0
  227. package/dist/collection/components/icon/icon.stories.js +119 -0
  228. package/dist/collection/components/icon/icon.stories.js.map +1 -0
  229. package/dist/collection/components/input/input.css +155 -0
  230. package/dist/collection/components/input/input.js +583 -0
  231. package/dist/collection/components/input/input.js.map +1 -0
  232. package/dist/collection/components/input/input.stories.js +151 -0
  233. package/dist/collection/components/input/input.stories.js.map +1 -0
  234. package/dist/collection/components/menu/menu-item.css +77 -0
  235. package/dist/collection/components/menu/menu-item.js +176 -0
  236. package/dist/collection/components/menu/menu-item.js.map +1 -0
  237. package/dist/collection/components/menu/menu-item.stories.js +4 -0
  238. package/dist/collection/components/menu/menu-item.stories.js.map +1 -0
  239. package/dist/collection/components/menu/menu.css +81 -0
  240. package/dist/collection/components/menu/menu.js +295 -0
  241. package/dist/collection/components/menu/menu.js.map +1 -0
  242. package/dist/collection/components/menu/menu.stories.js +126 -0
  243. package/dist/collection/components/menu/menu.stories.js.map +1 -0
  244. package/dist/collection/components/modal/modal.css +131 -0
  245. package/dist/collection/components/modal/modal.js +339 -0
  246. package/dist/collection/components/modal/modal.js.map +1 -0
  247. package/dist/collection/components/modal/modal.stories.js +233 -0
  248. package/dist/collection/components/modal/modal.stories.js.map +1 -0
  249. package/dist/collection/components/nav/nav-item.css +73 -0
  250. package/dist/collection/components/nav/nav-item.js +154 -0
  251. package/dist/collection/components/nav/nav-item.js.map +1 -0
  252. package/dist/collection/components/nav/nav-item.stories.js +4 -0
  253. package/dist/collection/components/nav/nav-item.stories.js.map +1 -0
  254. package/dist/collection/components/nav/nav.css +48 -0
  255. package/dist/collection/components/nav/nav.js +78 -0
  256. package/dist/collection/components/nav/nav.js.map +1 -0
  257. package/dist/collection/components/nav/nav.stories.js +106 -0
  258. package/dist/collection/components/nav/nav.stories.js.map +1 -0
  259. package/dist/collection/components/pagination/pagination.css +102 -0
  260. package/dist/collection/components/pagination/pagination.js +220 -0
  261. package/dist/collection/components/pagination/pagination.js.map +1 -0
  262. package/dist/collection/components/pagination/pagination.stories.js +92 -0
  263. package/dist/collection/components/pagination/pagination.stories.js.map +1 -0
  264. package/dist/collection/components/popover/popover.css +150 -0
  265. package/dist/collection/components/popover/popover.js +305 -0
  266. package/dist/collection/components/popover/popover.js.map +1 -0
  267. package/dist/collection/components/popover/popover.stories.js +112 -0
  268. package/dist/collection/components/popover/popover.stories.js.map +1 -0
  269. package/dist/collection/components/progress/progress.css +89 -0
  270. package/dist/collection/components/progress/progress.js +205 -0
  271. package/dist/collection/components/progress/progress.js.map +1 -0
  272. package/dist/collection/components/progress/progress.stories.js +132 -0
  273. package/dist/collection/components/progress/progress.stories.js.map +1 -0
  274. package/dist/collection/components/radio/radio.css +110 -0
  275. package/dist/collection/components/radio/radio.js +234 -0
  276. package/dist/collection/components/radio/radio.js.map +1 -0
  277. package/dist/collection/components/radio/radio.stories.js +77 -0
  278. package/dist/collection/components/radio/radio.stories.js.map +1 -0
  279. package/dist/collection/components/row/row.css +42 -0
  280. package/dist/collection/components/row/row.js +179 -0
  281. package/dist/collection/components/row/row.js.map +1 -0
  282. package/dist/collection/components/row/row.stories.js +172 -0
  283. package/dist/collection/components/row/row.stories.js.map +1 -0
  284. package/dist/collection/components/select/select.css +200 -0
  285. package/dist/collection/components/select/select.js +527 -0
  286. package/dist/collection/components/select/select.js.map +1 -0
  287. package/dist/collection/components/select/select.stories.js +138 -0
  288. package/dist/collection/components/select/select.stories.js.map +1 -0
  289. package/dist/collection/components/skeleton/skeleton.css +89 -0
  290. package/dist/collection/components/skeleton/skeleton.js +161 -0
  291. package/dist/collection/components/skeleton/skeleton.js.map +1 -0
  292. package/dist/collection/components/skeleton/skeleton.stories.js +140 -0
  293. package/dist/collection/components/skeleton/skeleton.stories.js.map +1 -0
  294. package/dist/collection/components/slider/slider.css +123 -0
  295. package/dist/collection/components/slider/slider.js +344 -0
  296. package/dist/collection/components/slider/slider.js.map +1 -0
  297. package/dist/collection/components/slider/slider.stories.js +100 -0
  298. package/dist/collection/components/slider/slider.stories.js.map +1 -0
  299. package/dist/collection/components/spacer/spacer.css +13 -0
  300. package/dist/collection/components/spacer/spacer.js +74 -0
  301. package/dist/collection/components/spacer/spacer.js.map +1 -0
  302. package/dist/collection/components/spacer/spacer.stories.js +90 -0
  303. package/dist/collection/components/spacer/spacer.stories.js.map +1 -0
  304. package/dist/collection/components/spinner/spinner.css +49 -0
  305. package/dist/collection/components/spinner/spinner.js +98 -0
  306. package/dist/collection/components/spinner/spinner.js.map +1 -0
  307. package/dist/collection/components/spinner/spinner.stories.js +88 -0
  308. package/dist/collection/components/spinner/spinner.stories.js.map +1 -0
  309. package/dist/collection/components/stack/stack.css +10 -0
  310. package/dist/collection/components/stack/stack.js +82 -0
  311. package/dist/collection/components/stack/stack.js.map +1 -0
  312. package/dist/collection/components/stack/stack.stories.js +121 -0
  313. package/dist/collection/components/stack/stack.stories.js.map +1 -0
  314. package/dist/collection/components/stepper/step.css +172 -0
  315. package/dist/collection/components/stepper/step.js +205 -0
  316. package/dist/collection/components/stepper/step.js.map +1 -0
  317. package/dist/collection/components/stepper/step.stories.js +4 -0
  318. package/dist/collection/components/stepper/step.stories.js.map +1 -0
  319. package/dist/collection/components/stepper/stepper.css +32 -0
  320. package/dist/collection/components/stepper/stepper.js +137 -0
  321. package/dist/collection/components/stepper/stepper.js.map +1 -0
  322. package/dist/collection/components/stepper/stepper.stories.js +130 -0
  323. package/dist/collection/components/stepper/stepper.stories.js.map +1 -0
  324. package/dist/collection/components/switch-group/switch-group.css +51 -0
  325. package/dist/collection/components/switch-group/switch-group.js +237 -0
  326. package/dist/collection/components/switch-group/switch-group.js.map +1 -0
  327. package/dist/collection/components/switch-group/switch-group.stories.js +132 -0
  328. package/dist/collection/components/switch-group/switch-group.stories.js.map +1 -0
  329. package/dist/collection/components/switch-group/switch-option.css +64 -0
  330. package/dist/collection/components/switch-group/switch-option.js +150 -0
  331. package/dist/collection/components/switch-group/switch-option.js.map +1 -0
  332. package/dist/collection/components/switch-group/switch-option.stories.js +4 -0
  333. package/dist/collection/components/switch-group/switch-option.stories.js.map +1 -0
  334. package/dist/collection/components/table/table.css +112 -0
  335. package/dist/collection/components/table/table.js +151 -0
  336. package/dist/collection/components/table/table.js.map +1 -0
  337. package/dist/collection/components/table/table.stories.js +147 -0
  338. package/dist/collection/components/table/table.stories.js.map +1 -0
  339. package/dist/collection/components/tabs/tab-panel.css +11 -0
  340. package/dist/collection/components/tabs/tab-panel.js +116 -0
  341. package/dist/collection/components/tabs/tab-panel.js.map +1 -0
  342. package/dist/collection/components/tabs/tab-panel.stories.js +4 -0
  343. package/dist/collection/components/tabs/tab-panel.stories.js.map +1 -0
  344. package/dist/collection/components/tabs/tabs.css +134 -0
  345. package/dist/collection/components/tabs/tabs.js +213 -0
  346. package/dist/collection/components/tabs/tabs.js.map +1 -0
  347. package/dist/collection/components/tabs/tabs.stories.js +187 -0
  348. package/dist/collection/components/tabs/tabs.stories.js.map +1 -0
  349. package/dist/collection/components/textarea/textarea.css +146 -0
  350. package/dist/collection/components/textarea/textarea.js +526 -0
  351. package/dist/collection/components/textarea/textarea.js.map +1 -0
  352. package/dist/collection/components/textarea/textarea.stories.js +130 -0
  353. package/dist/collection/components/textarea/textarea.stories.js.map +1 -0
  354. package/dist/collection/components/toast/toast.css +166 -0
  355. package/dist/collection/components/toast/toast.js +291 -0
  356. package/dist/collection/components/toast/toast.js.map +1 -0
  357. package/dist/collection/components/toast/toast.stories.js +91 -0
  358. package/dist/collection/components/toast/toast.stories.js.map +1 -0
  359. package/dist/collection/components/toggle/toggle.css +99 -0
  360. package/dist/collection/components/toggle/toggle.js +220 -0
  361. package/dist/collection/components/toggle/toggle.js.map +1 -0
  362. package/dist/collection/components/toggle/toggle.stories.js +145 -0
  363. package/dist/collection/components/toggle/toggle.stories.js.map +1 -0
  364. package/dist/collection/components/toolbar/toolbar.css +89 -0
  365. package/dist/collection/components/toolbar/toolbar.js +89 -0
  366. package/dist/collection/components/toolbar/toolbar.js.map +1 -0
  367. package/dist/collection/components/toolbar/toolbar.stories.js +131 -0
  368. package/dist/collection/components/toolbar/toolbar.stories.js.map +1 -0
  369. package/dist/collection/components/tooltip/tooltip.css +124 -0
  370. package/dist/collection/components/tooltip/tooltip.js +242 -0
  371. package/dist/collection/components/tooltip/tooltip.js.map +1 -0
  372. package/dist/collection/components/tooltip/tooltip.stories.js +186 -0
  373. package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -0
  374. package/dist/collection/components/tree/tree-item.css +97 -0
  375. package/dist/collection/components/tree/tree-item.js +242 -0
  376. package/dist/collection/components/tree/tree-item.js.map +1 -0
  377. package/dist/collection/components/tree/tree-item.stories.js +4 -0
  378. package/dist/collection/components/tree/tree-item.stories.js.map +1 -0
  379. package/dist/collection/components/tree/tree.css +23 -0
  380. package/dist/collection/components/tree/tree.js +119 -0
  381. package/dist/collection/components/tree/tree.js.map +1 -0
  382. package/dist/collection/components/tree/tree.stories.js +121 -0
  383. package/dist/collection/components/tree/tree.stories.js.map +1 -0
  384. package/dist/collection/index.js +53 -0
  385. package/dist/collection/index.js.map +1 -0
  386. package/dist/collection/theme/tokens.js +109 -0
  387. package/dist/collection/theme/tokens.js.map +1 -0
  388. package/dist/collection/types/index.js +2 -0
  389. package/dist/collection/types/index.js.map +1 -0
  390. package/dist/collection/utils/aria.js +89 -0
  391. package/dist/collection/utils/aria.js.map +1 -0
  392. package/dist/collection/utils/dom.js +42 -0
  393. package/dist/collection/utils/dom.js.map +1 -0
  394. package/dist/collection/utils/events.js +20 -0
  395. package/dist/collection/utils/events.js.map +1 -0
  396. package/dist/components/index.d.ts +35 -0
  397. package/dist/components/index.js +2 -0
  398. package/dist/components/index.js.map +1 -0
  399. package/dist/components/p-6RDSLDuS.js +2 -0
  400. package/dist/components/p-6RDSLDuS.js.map +1 -0
  401. package/dist/components/p-B0ZXNFSa.js +2 -0
  402. package/dist/components/p-B0ZXNFSa.js.map +1 -0
  403. package/dist/components/p-BCgm2utU.js +2 -0
  404. package/dist/components/p-BCgm2utU.js.map +1 -0
  405. package/dist/components/p-BFN5hUo4.js +2 -0
  406. package/dist/components/p-BFN5hUo4.js.map +1 -0
  407. package/dist/components/p-BOxYojS-.js +9572 -0
  408. package/dist/components/p-BOxYojS-.js.map +1 -0
  409. package/dist/components/p-BP-fZfRb.js +2 -0
  410. package/dist/components/p-BP-fZfRb.js.map +1 -0
  411. package/dist/components/p-B_NL55YI.js +2 -0
  412. package/dist/components/p-B_NL55YI.js.map +1 -0
  413. package/dist/components/p-BcoU0ISN.js +2 -0
  414. package/dist/components/p-BcoU0ISN.js.map +1 -0
  415. package/dist/components/p-BdzH6wlc.js +2 -0
  416. package/dist/components/p-BdzH6wlc.js.map +1 -0
  417. package/dist/components/p-BeErYjKz.js +2 -0
  418. package/dist/components/p-BeErYjKz.js.map +1 -0
  419. package/dist/components/p-BjiDgszq.js +2 -0
  420. package/dist/components/p-BjiDgszq.js.map +1 -0
  421. package/dist/components/p-BjyTgfXe.js +2 -0
  422. package/dist/components/p-BjyTgfXe.js.map +1 -0
  423. package/dist/components/p-BlZHjan9.js +2 -0
  424. package/dist/components/p-BlZHjan9.js.map +1 -0
  425. package/dist/components/p-C7JaUlNB.js +2 -0
  426. package/dist/components/p-C7JaUlNB.js.map +1 -0
  427. package/dist/components/p-C8wd1644.js +2 -0
  428. package/dist/components/p-C8wd1644.js.map +1 -0
  429. package/dist/components/p-CEQXPxzU.js +2 -0
  430. package/dist/components/p-CEQXPxzU.js.map +1 -0
  431. package/dist/components/p-CGh7W07E.js +2 -0
  432. package/dist/components/p-CGh7W07E.js.map +1 -0
  433. package/dist/components/p-CHtE5caV.js +2 -0
  434. package/dist/components/p-CHtE5caV.js.map +1 -0
  435. package/dist/components/p-CSNeA_zh.js +2 -0
  436. package/dist/components/p-CSNeA_zh.js.map +1 -0
  437. package/dist/components/p-CbHlJvjF.js +2 -0
  438. package/dist/components/p-CbHlJvjF.js.map +1 -0
  439. package/dist/components/p-CkQOAizb.js +2 -0
  440. package/dist/components/p-CkQOAizb.js.map +1 -0
  441. package/dist/components/p-Cy_Ad-Jy.js +2 -0
  442. package/dist/components/p-Cy_Ad-Jy.js.map +1 -0
  443. package/dist/components/p-DD986daz.js +2 -0
  444. package/dist/components/p-DD986daz.js.map +1 -0
  445. package/dist/components/p-DFnNsZtI.js +2 -0
  446. package/dist/components/p-DFnNsZtI.js.map +1 -0
  447. package/dist/components/p-DMPxu5Po.js +2 -0
  448. package/dist/components/p-DMPxu5Po.js.map +1 -0
  449. package/dist/components/p-DMuI5d5r.js +2 -0
  450. package/dist/components/p-DMuI5d5r.js.map +1 -0
  451. package/dist/components/p-DPQ1o4MP.js +2 -0
  452. package/dist/components/p-DPQ1o4MP.js.map +1 -0
  453. package/dist/components/p-DTAVTqnc.js +2 -0
  454. package/dist/components/p-DTAVTqnc.js.map +1 -0
  455. package/dist/components/p-DhQ7X_TL.js +2 -0
  456. package/dist/components/p-DhQ7X_TL.js.map +1 -0
  457. package/dist/components/p-DkpyRqHf.js +2 -0
  458. package/dist/components/p-DkpyRqHf.js.map +1 -0
  459. package/dist/components/p-DlB-KfKY.js +2 -0
  460. package/dist/components/p-DlB-KfKY.js.map +1 -0
  461. package/dist/components/p-DooMF1E0.js +2 -0
  462. package/dist/components/p-DooMF1E0.js.map +1 -0
  463. package/dist/components/p-DwJ7Jt3k.js +2 -0
  464. package/dist/components/p-DwJ7Jt3k.js.map +1 -0
  465. package/dist/components/p-DwUH8YQW.js +2 -0
  466. package/dist/components/p-DwUH8YQW.js.map +1 -0
  467. package/dist/components/p-Fot2uNwg.js +2 -0
  468. package/dist/components/p-Fot2uNwg.js.map +1 -0
  469. package/dist/components/p-O8aQgWRZ.js +2 -0
  470. package/dist/components/p-O8aQgWRZ.js.map +1 -0
  471. package/dist/components/p-SopsdO_f.js +2 -0
  472. package/dist/components/p-SopsdO_f.js.map +1 -0
  473. package/dist/components/p-TFHAUMKT.js +2 -0
  474. package/dist/components/p-TFHAUMKT.js.map +1 -0
  475. package/dist/components/p-faVXXwqR.js +2 -0
  476. package/dist/components/p-faVXXwqR.js.map +1 -0
  477. package/dist/components/p-lpqZSiIf.js +2 -0
  478. package/dist/components/p-lpqZSiIf.js.map +1 -0
  479. package/dist/components/p-mfB_pP4L.js +2 -0
  480. package/dist/components/p-mfB_pP4L.js.map +1 -0
  481. package/dist/components/p-v-L32wKy.js +2 -0
  482. package/dist/components/p-v-L32wKy.js.map +1 -0
  483. package/dist/components/p-zveaarwa.js +2 -0
  484. package/dist/components/p-zveaarwa.js.map +1 -0
  485. package/dist/components/ts-accordion-item.d.ts +11 -0
  486. package/dist/components/ts-accordion-item.js +2 -0
  487. package/dist/components/ts-accordion-item.js.map +1 -0
  488. package/dist/components/ts-accordion.d.ts +11 -0
  489. package/dist/components/ts-accordion.js +2 -0
  490. package/dist/components/ts-accordion.js.map +1 -0
  491. package/dist/components/ts-alert.d.ts +11 -0
  492. package/dist/components/ts-alert.js +2 -0
  493. package/dist/components/ts-alert.js.map +1 -0
  494. package/dist/components/ts-avatar.d.ts +11 -0
  495. package/dist/components/ts-avatar.js +2 -0
  496. package/dist/components/ts-avatar.js.map +1 -0
  497. package/dist/components/ts-badge.d.ts +11 -0
  498. package/dist/components/ts-badge.js +2 -0
  499. package/dist/components/ts-badge.js.map +1 -0
  500. package/dist/components/ts-banner.d.ts +11 -0
  501. package/dist/components/ts-banner.js +2 -0
  502. package/dist/components/ts-banner.js.map +1 -0
  503. package/dist/components/ts-breadcrumb-item.d.ts +11 -0
  504. package/dist/components/ts-breadcrumb-item.js +2 -0
  505. package/dist/components/ts-breadcrumb-item.js.map +1 -0
  506. package/dist/components/ts-breadcrumb.d.ts +11 -0
  507. package/dist/components/ts-breadcrumb.js +2 -0
  508. package/dist/components/ts-breadcrumb.js.map +1 -0
  509. package/dist/components/ts-button.d.ts +11 -0
  510. package/dist/components/ts-button.js +2 -0
  511. package/dist/components/ts-button.js.map +1 -0
  512. package/dist/components/ts-card.d.ts +11 -0
  513. package/dist/components/ts-card.js +2 -0
  514. package/dist/components/ts-card.js.map +1 -0
  515. package/dist/components/ts-checkbox.d.ts +11 -0
  516. package/dist/components/ts-checkbox.js +2 -0
  517. package/dist/components/ts-checkbox.js.map +1 -0
  518. package/dist/components/ts-chip.d.ts +11 -0
  519. package/dist/components/ts-chip.js +2 -0
  520. package/dist/components/ts-chip.js.map +1 -0
  521. package/dist/components/ts-container.d.ts +11 -0
  522. package/dist/components/ts-container.js +2 -0
  523. package/dist/components/ts-container.js.map +1 -0
  524. package/dist/components/ts-date-picker.d.ts +11 -0
  525. package/dist/components/ts-date-picker.js +2 -0
  526. package/dist/components/ts-date-picker.js.map +1 -0
  527. package/dist/components/ts-dialog.d.ts +11 -0
  528. package/dist/components/ts-dialog.js +2 -0
  529. package/dist/components/ts-dialog.js.map +1 -0
  530. package/dist/components/ts-divider.d.ts +11 -0
  531. package/dist/components/ts-divider.js +2 -0
  532. package/dist/components/ts-divider.js.map +1 -0
  533. package/dist/components/ts-drawer.d.ts +11 -0
  534. package/dist/components/ts-drawer.js +2 -0
  535. package/dist/components/ts-drawer.js.map +1 -0
  536. package/dist/components/ts-empty-state.d.ts +11 -0
  537. package/dist/components/ts-empty-state.js +2 -0
  538. package/dist/components/ts-empty-state.js.map +1 -0
  539. package/dist/components/ts-file-upload.d.ts +11 -0
  540. package/dist/components/ts-file-upload.js +2 -0
  541. package/dist/components/ts-file-upload.js.map +1 -0
  542. package/dist/components/ts-grid.d.ts +11 -0
  543. package/dist/components/ts-grid.js +2 -0
  544. package/dist/components/ts-grid.js.map +1 -0
  545. package/dist/components/ts-icon.d.ts +11 -0
  546. package/dist/components/ts-icon.js +2 -0
  547. package/dist/components/ts-icon.js.map +1 -0
  548. package/dist/components/ts-input.d.ts +11 -0
  549. package/dist/components/ts-input.js +2 -0
  550. package/dist/components/ts-input.js.map +1 -0
  551. package/dist/components/ts-menu-item.d.ts +11 -0
  552. package/dist/components/ts-menu-item.js +2 -0
  553. package/dist/components/ts-menu-item.js.map +1 -0
  554. package/dist/components/ts-menu.d.ts +11 -0
  555. package/dist/components/ts-menu.js +2 -0
  556. package/dist/components/ts-menu.js.map +1 -0
  557. package/dist/components/ts-modal.d.ts +11 -0
  558. package/dist/components/ts-modal.js +2 -0
  559. package/dist/components/ts-modal.js.map +1 -0
  560. package/dist/components/ts-nav-item.d.ts +11 -0
  561. package/dist/components/ts-nav-item.js +2 -0
  562. package/dist/components/ts-nav-item.js.map +1 -0
  563. package/dist/components/ts-nav.d.ts +11 -0
  564. package/dist/components/ts-nav.js +2 -0
  565. package/dist/components/ts-nav.js.map +1 -0
  566. package/dist/components/ts-pagination.d.ts +11 -0
  567. package/dist/components/ts-pagination.js +2 -0
  568. package/dist/components/ts-pagination.js.map +1 -0
  569. package/dist/components/ts-popover.d.ts +11 -0
  570. package/dist/components/ts-popover.js +2 -0
  571. package/dist/components/ts-popover.js.map +1 -0
  572. package/dist/components/ts-progress.d.ts +11 -0
  573. package/dist/components/ts-progress.js +2 -0
  574. package/dist/components/ts-progress.js.map +1 -0
  575. package/dist/components/ts-radio.d.ts +11 -0
  576. package/dist/components/ts-radio.js +2 -0
  577. package/dist/components/ts-radio.js.map +1 -0
  578. package/dist/components/ts-row.d.ts +11 -0
  579. package/dist/components/ts-row.js +2 -0
  580. package/dist/components/ts-row.js.map +1 -0
  581. package/dist/components/ts-select.d.ts +11 -0
  582. package/dist/components/ts-select.js +2 -0
  583. package/dist/components/ts-select.js.map +1 -0
  584. package/dist/components/ts-skeleton.d.ts +11 -0
  585. package/dist/components/ts-skeleton.js +2 -0
  586. package/dist/components/ts-skeleton.js.map +1 -0
  587. package/dist/components/ts-slider.d.ts +11 -0
  588. package/dist/components/ts-slider.js +2 -0
  589. package/dist/components/ts-slider.js.map +1 -0
  590. package/dist/components/ts-spacer.d.ts +11 -0
  591. package/dist/components/ts-spacer.js +2 -0
  592. package/dist/components/ts-spacer.js.map +1 -0
  593. package/dist/components/ts-spinner.d.ts +11 -0
  594. package/dist/components/ts-spinner.js +2 -0
  595. package/dist/components/ts-spinner.js.map +1 -0
  596. package/dist/components/ts-stack.d.ts +11 -0
  597. package/dist/components/ts-stack.js +2 -0
  598. package/dist/components/ts-stack.js.map +1 -0
  599. package/dist/components/ts-step.d.ts +11 -0
  600. package/dist/components/ts-step.js +2 -0
  601. package/dist/components/ts-step.js.map +1 -0
  602. package/dist/components/ts-stepper.d.ts +11 -0
  603. package/dist/components/ts-stepper.js +2 -0
  604. package/dist/components/ts-stepper.js.map +1 -0
  605. package/dist/components/ts-switch-group.d.ts +11 -0
  606. package/dist/components/ts-switch-group.js +2 -0
  607. package/dist/components/ts-switch-group.js.map +1 -0
  608. package/dist/components/ts-switch-option.d.ts +11 -0
  609. package/dist/components/ts-switch-option.js +2 -0
  610. package/dist/components/ts-switch-option.js.map +1 -0
  611. package/dist/components/ts-tab-panel.d.ts +11 -0
  612. package/dist/components/ts-tab-panel.js +2 -0
  613. package/dist/components/ts-tab-panel.js.map +1 -0
  614. package/dist/components/ts-table.d.ts +11 -0
  615. package/dist/components/ts-table.js +2 -0
  616. package/dist/components/ts-table.js.map +1 -0
  617. package/dist/components/ts-tabs.d.ts +11 -0
  618. package/dist/components/ts-tabs.js +2 -0
  619. package/dist/components/ts-tabs.js.map +1 -0
  620. package/dist/components/ts-textarea.d.ts +11 -0
  621. package/dist/components/ts-textarea.js +2 -0
  622. package/dist/components/ts-textarea.js.map +1 -0
  623. package/dist/components/ts-toast.d.ts +11 -0
  624. package/dist/components/ts-toast.js +2 -0
  625. package/dist/components/ts-toast.js.map +1 -0
  626. package/dist/components/ts-toggle.d.ts +11 -0
  627. package/dist/components/ts-toggle.js +2 -0
  628. package/dist/components/ts-toggle.js.map +1 -0
  629. package/dist/components/ts-toolbar.d.ts +11 -0
  630. package/dist/components/ts-toolbar.js +2 -0
  631. package/dist/components/ts-toolbar.js.map +1 -0
  632. package/dist/components/ts-tooltip.d.ts +11 -0
  633. package/dist/components/ts-tooltip.js +2 -0
  634. package/dist/components/ts-tooltip.js.map +1 -0
  635. package/dist/components/ts-tree-item.d.ts +11 -0
  636. package/dist/components/ts-tree-item.js +2 -0
  637. package/dist/components/ts-tree-item.js.map +1 -0
  638. package/dist/components/ts-tree.d.ts +11 -0
  639. package/dist/components/ts-tree.js +2 -0
  640. package/dist/components/ts-tree.js.map +1 -0
  641. package/dist/components.d.ts +480 -0
  642. package/dist/components.json +12678 -0
  643. package/dist/esm/aria-lpqZSiIf.js +89 -0
  644. package/dist/esm/aria-lpqZSiIf.js.map +1 -0
  645. package/dist/esm/index-V8-ENixA.js +2373 -0
  646. package/dist/esm/index-V8-ENixA.js.map +1 -0
  647. package/dist/esm/index.js +102 -0
  648. package/dist/esm/index.js.map +1 -0
  649. package/dist/esm/loader.js +13 -0
  650. package/dist/esm/loader.js.map +1 -0
  651. package/dist/esm/lucide-BOxYojS-.js +26523 -0
  652. package/dist/esm/lucide-BOxYojS-.js.map +1 -0
  653. package/dist/esm/tessera-ui.js +23 -0
  654. package/dist/esm/tessera-ui.js.map +1 -0
  655. package/dist/esm/ts-accordion-item.entry.js +63 -0
  656. package/dist/esm/ts-accordion-item.entry.js.map +1 -0
  657. package/dist/esm/ts-accordion.entry.js +34 -0
  658. package/dist/esm/ts-accordion.entry.js.map +1 -0
  659. package/dist/esm/ts-alert.entry.js +58 -0
  660. package/dist/esm/ts-alert.entry.js.map +1 -0
  661. package/dist/esm/ts-avatar.entry.js +52 -0
  662. package/dist/esm/ts-avatar.entry.js.map +1 -0
  663. package/dist/esm/ts-badge.entry.js +36 -0
  664. package/dist/esm/ts-badge.entry.js.map +1 -0
  665. package/dist/esm/ts-banner.entry.js +65 -0
  666. package/dist/esm/ts-banner.entry.js.map +1 -0
  667. package/dist/esm/ts-breadcrumb-item.entry.js +26 -0
  668. package/dist/esm/ts-breadcrumb-item.entry.js.map +1 -0
  669. package/dist/esm/ts-breadcrumb.entry.js +33 -0
  670. package/dist/esm/ts-breadcrumb.entry.js.map +1 -0
  671. package/dist/esm/ts-button.entry.js +86 -0
  672. package/dist/esm/ts-button.entry.js.map +1 -0
  673. package/dist/esm/ts-card.entry.js +33 -0
  674. package/dist/esm/ts-card.entry.js.map +1 -0
  675. package/dist/esm/ts-checkbox.entry.js +66 -0
  676. package/dist/esm/ts-checkbox.entry.js.map +1 -0
  677. package/dist/esm/ts-chip.entry.js +74 -0
  678. package/dist/esm/ts-chip.entry.js.map +1 -0
  679. package/dist/esm/ts-container.entry.js +26 -0
  680. package/dist/esm/ts-container.entry.js.map +1 -0
  681. package/dist/esm/ts-date-picker.entry.js +227 -0
  682. package/dist/esm/ts-date-picker.entry.js.map +1 -0
  683. package/dist/esm/ts-dialog.entry.js +107 -0
  684. package/dist/esm/ts-dialog.entry.js.map +1 -0
  685. package/dist/esm/ts-divider.entry.js +31 -0
  686. package/dist/esm/ts-divider.entry.js.map +1 -0
  687. package/dist/esm/ts-drawer.entry.js +111 -0
  688. package/dist/esm/ts-drawer.entry.js.map +1 -0
  689. package/dist/esm/ts-empty-state.entry.js +30 -0
  690. package/dist/esm/ts-empty-state.entry.js.map +1 -0
  691. package/dist/esm/ts-file-upload.entry.js +120 -0
  692. package/dist/esm/ts-file-upload.entry.js.map +1 -0
  693. package/dist/esm/ts-grid.entry.js +35 -0
  694. package/dist/esm/ts-grid.entry.js.map +1 -0
  695. package/dist/esm/ts-icon-Jz9ioZag.js +155 -0
  696. package/dist/esm/ts-icon-Jz9ioZag.js.map +1 -0
  697. package/dist/esm/ts-icon.entry.js +5 -0
  698. package/dist/esm/ts-icon.entry.js.map +1 -0
  699. package/dist/esm/ts-input.entry.js +128 -0
  700. package/dist/esm/ts-input.entry.js.map +1 -0
  701. package/dist/esm/ts-menu-item.entry.js +63 -0
  702. package/dist/esm/ts-menu-item.entry.js.map +1 -0
  703. package/dist/esm/ts-menu.entry.js +153 -0
  704. package/dist/esm/ts-menu.entry.js.map +1 -0
  705. package/dist/esm/ts-modal.entry.js +120 -0
  706. package/dist/esm/ts-modal.entry.js.map +1 -0
  707. package/dist/esm/ts-nav-item.entry.js +46 -0
  708. package/dist/esm/ts-nav-item.entry.js.map +1 -0
  709. package/dist/esm/ts-nav.entry.js +27 -0
  710. package/dist/esm/ts-nav.entry.js.map +1 -0
  711. package/dist/esm/ts-pagination.entry.js +86 -0
  712. package/dist/esm/ts-pagination.entry.js.map +1 -0
  713. package/dist/esm/ts-popover.entry.js +131 -0
  714. package/dist/esm/ts-popover.entry.js.map +1 -0
  715. package/dist/esm/ts-progress.entry.js +44 -0
  716. package/dist/esm/ts-progress.entry.js.map +1 -0
  717. package/dist/esm/ts-radio.entry.js +58 -0
  718. package/dist/esm/ts-radio.entry.js.map +1 -0
  719. package/dist/esm/ts-row.entry.js +51 -0
  720. package/dist/esm/ts-row.entry.js.map +1 -0
  721. package/dist/esm/ts-select.entry.js +219 -0
  722. package/dist/esm/ts-select.entry.js.map +1 -0
  723. package/dist/esm/ts-skeleton.entry.js +53 -0
  724. package/dist/esm/ts-skeleton.entry.js.map +1 -0
  725. package/dist/esm/ts-slider.entry.js +130 -0
  726. package/dist/esm/ts-slider.entry.js.map +1 -0
  727. package/dist/esm/ts-spacer.entry.js +26 -0
  728. package/dist/esm/ts-spacer.entry.js.map +1 -0
  729. package/dist/esm/ts-spinner.entry.js +28 -0
  730. package/dist/esm/ts-spinner.entry.js.map +1 -0
  731. package/dist/esm/ts-stack.entry.js +32 -0
  732. package/dist/esm/ts-stack.entry.js.map +1 -0
  733. package/dist/esm/ts-step.entry.js +72 -0
  734. package/dist/esm/ts-step.entry.js.map +1 -0
  735. package/dist/esm/ts-stepper.entry.js +65 -0
  736. package/dist/esm/ts-stepper.entry.js.map +1 -0
  737. package/dist/esm/ts-switch-group.entry.js +107 -0
  738. package/dist/esm/ts-switch-group.entry.js.map +1 -0
  739. package/dist/esm/ts-switch-option.entry.js +40 -0
  740. package/dist/esm/ts-switch-option.entry.js.map +1 -0
  741. package/dist/esm/ts-tab-panel.entry.js +28 -0
  742. package/dist/esm/ts-tab-panel.entry.js.map +1 -0
  743. package/dist/esm/ts-table.entry.js +37 -0
  744. package/dist/esm/ts-table.entry.js.map +1 -0
  745. package/dist/esm/ts-tabs.entry.js +122 -0
  746. package/dist/esm/ts-tabs.entry.js.map +1 -0
  747. package/dist/esm/ts-textarea.entry.js +115 -0
  748. package/dist/esm/ts-textarea.entry.js.map +1 -0
  749. package/dist/esm/ts-toast.entry.js +105 -0
  750. package/dist/esm/ts-toast.entry.js.map +1 -0
  751. package/dist/esm/ts-toggle.entry.js +56 -0
  752. package/dist/esm/ts-toggle.entry.js.map +1 -0
  753. package/dist/esm/ts-toolbar.entry.js +27 -0
  754. package/dist/esm/ts-toolbar.entry.js.map +1 -0
  755. package/dist/esm/ts-tooltip.entry.js +80 -0
  756. package/dist/esm/ts-tooltip.entry.js.map +1 -0
  757. package/dist/esm/ts-tree-item.entry.js +92 -0
  758. package/dist/esm/ts-tree-item.entry.js.map +1 -0
  759. package/dist/esm/ts-tree.entry.js +79 -0
  760. package/dist/esm/ts-tree.entry.js.map +1 -0
  761. package/dist/index.cjs.js +1 -0
  762. package/dist/index.js +1 -0
  763. package/dist/tessera-ui/index.esm.js +2 -0
  764. package/dist/tessera-ui/index.esm.js.map +1 -0
  765. package/dist/tessera-ui/p-0424cd55.entry.js +2 -0
  766. package/dist/tessera-ui/p-0424cd55.entry.js.map +1 -0
  767. package/dist/tessera-ui/p-04522bf9.entry.js +2 -0
  768. package/dist/tessera-ui/p-04522bf9.entry.js.map +1 -0
  769. package/dist/tessera-ui/p-04aa8b90.entry.js +2 -0
  770. package/dist/tessera-ui/p-04aa8b90.entry.js.map +1 -0
  771. package/dist/tessera-ui/p-080eaf89.entry.js +2 -0
  772. package/dist/tessera-ui/p-080eaf89.entry.js.map +1 -0
  773. package/dist/tessera-ui/p-0ec061e5.entry.js +2 -0
  774. package/dist/tessera-ui/p-0ec061e5.entry.js.map +1 -0
  775. package/dist/tessera-ui/p-122e43b7.entry.js +2 -0
  776. package/dist/tessera-ui/p-122e43b7.entry.js.map +1 -0
  777. package/dist/tessera-ui/p-16bb8ca8.entry.js +2 -0
  778. package/dist/tessera-ui/p-16bb8ca8.entry.js.map +1 -0
  779. package/dist/tessera-ui/p-16fc632b.entry.js +2 -0
  780. package/dist/tessera-ui/p-16fc632b.entry.js.map +1 -0
  781. package/dist/tessera-ui/p-1d73f6c9.entry.js +2 -0
  782. package/dist/tessera-ui/p-1d73f6c9.entry.js.map +1 -0
  783. package/dist/tessera-ui/p-24305379.entry.js +2 -0
  784. package/dist/tessera-ui/p-24305379.entry.js.map +1 -0
  785. package/dist/tessera-ui/p-25f77cc9.entry.js +2 -0
  786. package/dist/tessera-ui/p-25f77cc9.entry.js.map +1 -0
  787. package/dist/tessera-ui/p-35eb8496.entry.js +2 -0
  788. package/dist/tessera-ui/p-35eb8496.entry.js.map +1 -0
  789. package/dist/tessera-ui/p-3aec66b4.entry.js +2 -0
  790. package/dist/tessera-ui/p-3aec66b4.entry.js.map +1 -0
  791. package/dist/tessera-ui/p-4277460b.entry.js +2 -0
  792. package/dist/tessera-ui/p-4277460b.entry.js.map +1 -0
  793. package/dist/tessera-ui/p-441310f7.entry.js +2 -0
  794. package/dist/tessera-ui/p-441310f7.entry.js.map +1 -0
  795. package/dist/tessera-ui/p-491e1a75.entry.js +2 -0
  796. package/dist/tessera-ui/p-491e1a75.entry.js.map +1 -0
  797. package/dist/tessera-ui/p-50d092ce.entry.js +2 -0
  798. package/dist/tessera-ui/p-50d092ce.entry.js.map +1 -0
  799. package/dist/tessera-ui/p-50efadf3.entry.js +2 -0
  800. package/dist/tessera-ui/p-50efadf3.entry.js.map +1 -0
  801. package/dist/tessera-ui/p-53846d59.entry.js +2 -0
  802. package/dist/tessera-ui/p-53846d59.entry.js.map +1 -0
  803. package/dist/tessera-ui/p-56f2b070.entry.js +2 -0
  804. package/dist/tessera-ui/p-56f2b070.entry.js.map +1 -0
  805. package/dist/tessera-ui/p-6760f922.entry.js +2 -0
  806. package/dist/tessera-ui/p-6760f922.entry.js.map +1 -0
  807. package/dist/tessera-ui/p-69bb11ed.entry.js +2 -0
  808. package/dist/tessera-ui/p-69bb11ed.entry.js.map +1 -0
  809. package/dist/tessera-ui/p-6d35a60c.entry.js +2 -0
  810. package/dist/tessera-ui/p-6d35a60c.entry.js.map +1 -0
  811. package/dist/tessera-ui/p-6ec285ad.entry.js +2 -0
  812. package/dist/tessera-ui/p-6ec285ad.entry.js.map +1 -0
  813. package/dist/tessera-ui/p-708d4eb5.entry.js +2 -0
  814. package/dist/tessera-ui/p-708d4eb5.entry.js.map +1 -0
  815. package/dist/tessera-ui/p-79ff8ceb.entry.js +2 -0
  816. package/dist/tessera-ui/p-79ff8ceb.entry.js.map +1 -0
  817. package/dist/tessera-ui/p-7e531195.entry.js +2 -0
  818. package/dist/tessera-ui/p-7e531195.entry.js.map +1 -0
  819. package/dist/tessera-ui/p-7fa64f00.entry.js +2 -0
  820. package/dist/tessera-ui/p-7fa64f00.entry.js.map +1 -0
  821. package/dist/tessera-ui/p-829c4307.entry.js +2 -0
  822. package/dist/tessera-ui/p-829c4307.entry.js.map +1 -0
  823. package/dist/tessera-ui/p-91ccef3f.entry.js +2 -0
  824. package/dist/tessera-ui/p-91ccef3f.entry.js.map +1 -0
  825. package/dist/tessera-ui/p-9209e603.entry.js +2 -0
  826. package/dist/tessera-ui/p-9209e603.entry.js.map +1 -0
  827. package/dist/tessera-ui/p-97a9def7.entry.js +2 -0
  828. package/dist/tessera-ui/p-97a9def7.entry.js.map +1 -0
  829. package/dist/tessera-ui/p-9b41b538.entry.js +2 -0
  830. package/dist/tessera-ui/p-9b41b538.entry.js.map +1 -0
  831. package/dist/tessera-ui/p-9c0504fd.entry.js +2 -0
  832. package/dist/tessera-ui/p-9c0504fd.entry.js.map +1 -0
  833. package/dist/tessera-ui/p-BOxYojS-.js +9572 -0
  834. package/dist/tessera-ui/p-BOxYojS-.js.map +1 -0
  835. package/dist/tessera-ui/p-StBQmS8h.js +2 -0
  836. package/dist/tessera-ui/p-StBQmS8h.js.map +1 -0
  837. package/dist/tessera-ui/p-V8-ENixA.js +3 -0
  838. package/dist/tessera-ui/p-V8-ENixA.js.map +1 -0
  839. package/dist/tessera-ui/p-a120b5d6.entry.js +2 -0
  840. package/dist/tessera-ui/p-a120b5d6.entry.js.map +1 -0
  841. package/dist/tessera-ui/p-a55a5695.entry.js +2 -0
  842. package/dist/tessera-ui/p-a55a5695.entry.js.map +1 -0
  843. package/dist/tessera-ui/p-a83d903e.entry.js +2 -0
  844. package/dist/tessera-ui/p-a83d903e.entry.js.map +1 -0
  845. package/dist/tessera-ui/p-adc807dc.entry.js +2 -0
  846. package/dist/tessera-ui/p-adc807dc.entry.js.map +1 -0
  847. package/dist/tessera-ui/p-b09f202c.entry.js +2 -0
  848. package/dist/tessera-ui/p-b09f202c.entry.js.map +1 -0
  849. package/dist/tessera-ui/p-b1182592.entry.js +2 -0
  850. package/dist/tessera-ui/p-b1182592.entry.js.map +1 -0
  851. package/dist/tessera-ui/p-b3f60955.entry.js +2 -0
  852. package/dist/tessera-ui/p-b3f60955.entry.js.map +1 -0
  853. package/dist/tessera-ui/p-bb9ebbd8.entry.js +2 -0
  854. package/dist/tessera-ui/p-bb9ebbd8.entry.js.map +1 -0
  855. package/dist/tessera-ui/p-bce40715.entry.js +2 -0
  856. package/dist/tessera-ui/p-bce40715.entry.js.map +1 -0
  857. package/dist/tessera-ui/p-c35c7049.entry.js +2 -0
  858. package/dist/tessera-ui/p-c35c7049.entry.js.map +1 -0
  859. package/dist/tessera-ui/p-c59ecffa.entry.js +2 -0
  860. package/dist/tessera-ui/p-c59ecffa.entry.js.map +1 -0
  861. package/dist/tessera-ui/p-d318774a.entry.js +2 -0
  862. package/dist/tessera-ui/p-d318774a.entry.js.map +1 -0
  863. package/dist/tessera-ui/p-d5cbadd6.entry.js +2 -0
  864. package/dist/tessera-ui/p-d5cbadd6.entry.js.map +1 -0
  865. package/dist/tessera-ui/p-e1d2b141.entry.js +2 -0
  866. package/dist/tessera-ui/p-e1d2b141.entry.js.map +1 -0
  867. package/dist/tessera-ui/p-f0bf6408.entry.js +2 -0
  868. package/dist/tessera-ui/p-f0bf6408.entry.js.map +1 -0
  869. package/dist/tessera-ui/p-f639213a.entry.js +2 -0
  870. package/dist/tessera-ui/p-f639213a.entry.js.map +1 -0
  871. package/dist/tessera-ui/p-fd2376e0.entry.js +2 -0
  872. package/dist/tessera-ui/p-fd2376e0.entry.js.map +1 -0
  873. package/dist/tessera-ui/p-fef9a993.entry.js +2 -0
  874. package/dist/tessera-ui/p-fef9a993.entry.js.map +1 -0
  875. package/dist/tessera-ui/p-lpqZSiIf.js +2 -0
  876. package/dist/tessera-ui/p-lpqZSiIf.js.map +1 -0
  877. package/dist/tessera-ui/tessera-ui.css +1 -0
  878. package/dist/tessera-ui/tessera-ui.esm.js +2 -0
  879. package/dist/tessera-ui/tessera-ui.esm.js.map +1 -0
  880. package/dist/types/components/accordion/accordion-item.d.ts +28 -0
  881. package/dist/types/components/accordion/accordion-item.stories.d.ts +5 -0
  882. package/dist/types/components/accordion/accordion.d.ts +12 -0
  883. package/dist/types/components/accordion/accordion.stories.d.ts +21 -0
  884. package/dist/types/components/alert/alert.d.ts +30 -0
  885. package/dist/types/components/alert/alert.stories.d.ts +34 -0
  886. package/dist/types/components/avatar/avatar.d.ts +26 -0
  887. package/dist/types/components/avatar/avatar.stories.d.ts +51 -0
  888. package/dist/types/components/badge/badge.d.ts +19 -0
  889. package/dist/types/components/badge/badge.stories.d.ts +50 -0
  890. package/dist/types/components/banner/banner.d.ts +33 -0
  891. package/dist/types/components/banner/banner.stories.d.ts +40 -0
  892. package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +15 -0
  893. package/dist/types/components/breadcrumb/breadcrumb-item.stories.d.ts +5 -0
  894. package/dist/types/components/breadcrumb/breadcrumb.d.ts +13 -0
  895. package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +20 -0
  896. package/dist/types/components/button/button.d.ts +45 -0
  897. package/dist/types/components/button/button.stories.d.ts +73 -0
  898. package/dist/types/components/card/card.d.ts +23 -0
  899. package/dist/types/components/card/card.stories.d.ts +46 -0
  900. package/dist/types/components/checkbox/checkbox.d.ts +36 -0
  901. package/dist/types/components/checkbox/checkbox.stories.d.ts +58 -0
  902. package/dist/types/components/chip/chip.d.ts +34 -0
  903. package/dist/types/components/chip/chip.stories.d.ts +54 -0
  904. package/dist/types/components/container/container.d.ts +12 -0
  905. package/dist/types/components/container/container.stories.d.ts +21 -0
  906. package/dist/types/components/date-picker/date-picker.d.ts +67 -0
  907. package/dist/types/components/date-picker/date-picker.stories.d.ts +62 -0
  908. package/dist/types/components/dialog/dialog.d.ts +44 -0
  909. package/dist/types/components/dialog/dialog.stories.d.ts +39 -0
  910. package/dist/types/components/divider/divider.d.ts +13 -0
  911. package/dist/types/components/divider/divider.stories.d.ts +33 -0
  912. package/dist/types/components/drawer/drawer.d.ts +46 -0
  913. package/dist/types/components/drawer/drawer.stories.d.ts +43 -0
  914. package/dist/types/components/empty-state/empty-state.d.ts +24 -0
  915. package/dist/types/components/empty-state/empty-state.stories.d.ts +37 -0
  916. package/dist/types/components/file-upload/file-upload.d.ts +38 -0
  917. package/dist/types/components/file-upload/file-upload.stories.d.ts +43 -0
  918. package/dist/types/components/grid/grid.d.ts +16 -0
  919. package/dist/types/components/grid/grid.stories.d.ts +30 -0
  920. package/dist/types/components/icon/icon-registry.d.ts +27 -0
  921. package/dist/types/components/icon/icon.d.ts +30 -0
  922. package/dist/types/components/icon/icon.stories.d.ts +42 -0
  923. package/dist/types/components/input/input.d.ts +72 -0
  924. package/dist/types/components/input/input.stories.d.ts +77 -0
  925. package/dist/types/components/menu/menu-item.d.ts +31 -0
  926. package/dist/types/components/menu/menu-item.stories.d.ts +5 -0
  927. package/dist/types/components/menu/menu.d.ts +38 -0
  928. package/dist/types/components/menu/menu.stories.d.ts +36 -0
  929. package/dist/types/components/modal/modal.d.ts +52 -0
  930. package/dist/types/components/modal/modal.stories.d.ts +47 -0
  931. package/dist/types/components/nav/nav-item.d.ts +23 -0
  932. package/dist/types/components/nav/nav-item.stories.d.ts +5 -0
  933. package/dist/types/components/nav/nav.d.ts +13 -0
  934. package/dist/types/components/nav/nav.stories.d.ts +27 -0
  935. package/dist/types/components/pagination/pagination.d.ts +28 -0
  936. package/dist/types/components/pagination/pagination.stories.d.ts +42 -0
  937. package/dist/types/components/popover/popover.d.ts +44 -0
  938. package/dist/types/components/popover/popover.stories.d.ts +38 -0
  939. package/dist/types/components/progress/progress.d.ts +26 -0
  940. package/dist/types/components/progress/progress.stories.d.ts +59 -0
  941. package/dist/types/components/radio/radio.d.ts +32 -0
  942. package/dist/types/components/radio/radio.stories.d.ts +48 -0
  943. package/dist/types/components/row/row.d.ts +18 -0
  944. package/dist/types/components/row/row.stories.d.ts +52 -0
  945. package/dist/types/components/select/select.d.ts +74 -0
  946. package/dist/types/components/select/select.stories.d.ts +73 -0
  947. package/dist/types/components/skeleton/skeleton.d.ts +17 -0
  948. package/dist/types/components/skeleton/skeleton.stories.d.ts +44 -0
  949. package/dist/types/components/slider/slider.d.ts +43 -0
  950. package/dist/types/components/slider/slider.stories.d.ts +62 -0
  951. package/dist/types/components/spacer/spacer.d.ts +10 -0
  952. package/dist/types/components/spacer/spacer.stories.d.ts +28 -0
  953. package/dist/types/components/spinner/spinner.d.ts +14 -0
  954. package/dist/types/components/spinner/spinner.stories.d.ts +33 -0
  955. package/dist/types/components/stack/stack.d.ts +12 -0
  956. package/dist/types/components/stack/stack.stories.d.ts +28 -0
  957. package/dist/types/components/stepper/step.d.ts +31 -0
  958. package/dist/types/components/stepper/step.stories.d.ts +5 -0
  959. package/dist/types/components/stepper/stepper.d.ts +18 -0
  960. package/dist/types/components/stepper/stepper.stories.d.ts +36 -0
  961. package/dist/types/components/switch-group/switch-group.d.ts +33 -0
  962. package/dist/types/components/switch-group/switch-group.stories.d.ts +37 -0
  963. package/dist/types/components/switch-group/switch-option.d.ts +24 -0
  964. package/dist/types/components/switch-group/switch-option.stories.d.ts +5 -0
  965. package/dist/types/components/table/table.d.ts +23 -0
  966. package/dist/types/components/table/table.stories.d.ts +45 -0
  967. package/dist/types/components/tabs/tab-panel.d.ts +17 -0
  968. package/dist/types/components/tabs/tab-panel.stories.d.ts +5 -0
  969. package/dist/types/components/tabs/tabs.d.ts +30 -0
  970. package/dist/types/components/tabs/tabs.stories.d.ts +34 -0
  971. package/dist/types/components/textarea/textarea.d.ts +62 -0
  972. package/dist/types/components/textarea/textarea.stories.d.ts +88 -0
  973. package/dist/types/components/toast/toast.d.ts +42 -0
  974. package/dist/types/components/toast/toast.stories.d.ts +48 -0
  975. package/dist/types/components/toggle/toggle.d.ts +31 -0
  976. package/dist/types/components/toggle/toggle.stories.d.ts +46 -0
  977. package/dist/types/components/toolbar/toolbar.d.ts +18 -0
  978. package/dist/types/components/toolbar/toolbar.stories.d.ts +28 -0
  979. package/dist/types/components/tooltip/tooltip.d.ts +36 -0
  980. package/dist/types/components/tooltip/tooltip.stories.d.ts +43 -0
  981. package/dist/types/components/tree/tree-item.d.ts +42 -0
  982. package/dist/types/components/tree/tree-item.stories.d.ts +5 -0
  983. package/dist/types/components/tree/tree.d.ts +13 -0
  984. package/dist/types/components/tree/tree.stories.d.ts +21 -0
  985. package/dist/types/components.d.ts +4191 -0
  986. package/dist/types/index.d.ts +53 -0
  987. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  988. package/dist/types/theme/tokens.d.ts +29 -0
  989. package/dist/types/types/index.d.ts +36 -0
  990. package/dist/types/utils/aria.d.ts +23 -0
  991. package/dist/types/utils/dom.d.ts +19 -0
  992. package/dist/types/utils/events.d.ts +17 -0
  993. package/loader/cdn.js +1 -0
  994. package/loader/index.cjs.js +1 -0
  995. package/loader/index.d.ts +24 -0
  996. package/loader/index.es2017.js +1 -0
  997. package/loader/index.js +2 -0
  998. package/package.json +79 -0
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Tessera UI — Design Token Definitions
3
+ *
4
+ * These are the source-of-truth token definitions.
5
+ * They feed into Style Dictionary to generate platform-specific outputs
6
+ * (CSS custom properties, iOS, Android, etc.)
7
+ */
8
+ export const tokens = {
9
+ color: {
10
+ primary: {
11
+ '50': '#eef2ff',
12
+ '100': '#dbe4ff',
13
+ '200': '#bac8ff',
14
+ '300': '#91a7ff',
15
+ '400': '#748ffc',
16
+ '500': '#5c7cfa',
17
+ '600': '#4c6ef5',
18
+ '700': '#4263eb',
19
+ '800': '#3b5bdb',
20
+ '900': '#364fc7',
21
+ },
22
+ neutral: {
23
+ '0': '#ffffff',
24
+ '50': '#f8f9fa',
25
+ '100': '#f1f3f5',
26
+ '200': '#e9ecef',
27
+ '300': '#dee2e6',
28
+ '400': '#ced4da',
29
+ '500': '#adb5bd',
30
+ '600': '#868e96',
31
+ '700': '#495057',
32
+ '800': '#343a40',
33
+ '900': '#212529',
34
+ },
35
+ success: { '500': '#40c057', '600': '#2f9e44' },
36
+ warning: { '500': '#fab005', '600': '#f08c00' },
37
+ danger: { '500': '#fa5252', '600': '#e03131' },
38
+ info: { '500': '#339af0', '600': '#1c7ed6' },
39
+ },
40
+ spacing: {
41
+ '0': '0',
42
+ '1': '0.25rem',
43
+ '2': '0.5rem',
44
+ '3': '0.75rem',
45
+ '4': '1rem',
46
+ '5': '1.25rem',
47
+ '6': '1.5rem',
48
+ '8': '2rem',
49
+ '10': '2.5rem',
50
+ '12': '3rem',
51
+ '16': '4rem',
52
+ },
53
+ radius: {
54
+ none: '0',
55
+ sm: '0.25rem',
56
+ md: '0.5rem',
57
+ lg: '0.75rem',
58
+ xl: '1rem',
59
+ full: '9999px',
60
+ },
61
+ shadow: {
62
+ xs: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
63
+ sm: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)',
64
+ md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',
65
+ lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)',
66
+ xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)',
67
+ },
68
+ font: {
69
+ family: {
70
+ base: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
71
+ mono: "'JetBrains Mono', 'Fira Code', 'Consolas', monospace",
72
+ },
73
+ size: {
74
+ xs: '0.75rem',
75
+ sm: '0.875rem',
76
+ md: '1rem',
77
+ lg: '1.125rem',
78
+ xl: '1.25rem',
79
+ '2xl': '1.5rem',
80
+ '3xl': '1.875rem',
81
+ },
82
+ weight: {
83
+ regular: 400,
84
+ medium: 500,
85
+ semi: 600,
86
+ bold: 700,
87
+ },
88
+ lineHeight: {
89
+ tight: 1.25,
90
+ normal: 1.5,
91
+ loose: 1.75,
92
+ },
93
+ },
94
+ transition: {
95
+ fast: '150ms cubic-bezier(0.4, 0, 0.2, 1)',
96
+ normal: '250ms cubic-bezier(0.4, 0, 0.2, 1)',
97
+ slow: '350ms cubic-bezier(0.4, 0, 0.2, 1)',
98
+ },
99
+ zIndex: {
100
+ dropdown: 1000,
101
+ sticky: 1020,
102
+ fixed: 1030,
103
+ overlay: 1040,
104
+ modal: 1050,
105
+ popover: 1060,
106
+ tooltip: 1070,
107
+ },
108
+ };
109
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,MAAM,CAAC,MAAM,MAAM,GAAkB;IACnC,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB;QACD,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/C,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;KAC7C;IACD,OAAO,EAAE;QACP,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,SAAS;QACb,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,QAAQ;KACf;IACD,MAAM,EAAE;QACN,EAAE,EAAE,iCAAiC;QACrC,EAAE,EAAE,mEAAmE;QACvE,EAAE,EAAE,sEAAsE;QAC1E,EAAE,EAAE,wEAAwE;QAC5E,EAAE,EAAE,yEAAyE;KAC9E;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,oEAAoE;YAC1E,IAAI,EAAE,sDAAsD;SAC7D;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,UAAU;SAClB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;SACV;QACD,UAAU,EAAE;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI;SACZ;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,oCAAoC;QAC1C,MAAM,EAAE,oCAAoC;QAC5C,IAAI,EAAE,oCAAoC;KAC3C;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd;CACF,CAAC","sourcesContent":["/**\n * Tessera UI — Design Token Definitions\n *\n * These are the source-of-truth token definitions.\n * They feed into Style Dictionary to generate platform-specific outputs\n * (CSS custom properties, iOS, Android, etc.)\n */\n\nexport interface TesseraTokens {\n color: {\n primary: Record<string, string>;\n neutral: Record<string, string>;\n success: Record<string, string>;\n warning: Record<string, string>;\n danger: Record<string, string>;\n info: Record<string, string>;\n };\n spacing: Record<string, string>;\n radius: Record<string, string>;\n shadow: Record<string, string>;\n font: {\n family: Record<string, string>;\n size: Record<string, string>;\n weight: Record<string, number>;\n lineHeight: Record<string, number>;\n };\n transition: Record<string, string>;\n zIndex: Record<string, number>;\n}\n\nexport const tokens: TesseraTokens = {\n color: {\n primary: {\n '50': '#eef2ff',\n '100': '#dbe4ff',\n '200': '#bac8ff',\n '300': '#91a7ff',\n '400': '#748ffc',\n '500': '#5c7cfa',\n '600': '#4c6ef5',\n '700': '#4263eb',\n '800': '#3b5bdb',\n '900': '#364fc7',\n },\n neutral: {\n '0': '#ffffff',\n '50': '#f8f9fa',\n '100': '#f1f3f5',\n '200': '#e9ecef',\n '300': '#dee2e6',\n '400': '#ced4da',\n '500': '#adb5bd',\n '600': '#868e96',\n '700': '#495057',\n '800': '#343a40',\n '900': '#212529',\n },\n success: { '500': '#40c057', '600': '#2f9e44' },\n warning: { '500': '#fab005', '600': '#f08c00' },\n danger: { '500': '#fa5252', '600': '#e03131' },\n info: { '500': '#339af0', '600': '#1c7ed6' },\n },\n spacing: {\n '0': '0',\n '1': '0.25rem',\n '2': '0.5rem',\n '3': '0.75rem',\n '4': '1rem',\n '5': '1.25rem',\n '6': '1.5rem',\n '8': '2rem',\n '10': '2.5rem',\n '12': '3rem',\n '16': '4rem',\n },\n radius: {\n none: '0',\n sm: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n },\n shadow: {\n xs: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n sm: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)',\n },\n font: {\n family: {\n base: \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",\n mono: \"'JetBrains Mono', 'Fira Code', 'Consolas', monospace\",\n },\n size: {\n xs: '0.75rem',\n sm: '0.875rem',\n md: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.875rem',\n },\n weight: {\n regular: 400,\n medium: 500,\n semi: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n loose: 1.75,\n },\n },\n transition: {\n fast: '150ms cubic-bezier(0.4, 0, 0.2, 1)',\n normal: '250ms cubic-bezier(0.4, 0, 0.2, 1)',\n slow: '350ms cubic-bezier(0.4, 0, 0.2, 1)',\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n overlay: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Tessera UI — Shared Types\n */\n\n/** Standard component sizes used across the library */\nexport type TsSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/** Semantic color variants */\nexport type TsVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';\n\n/** Button-style visual weight */\nexport type TsAppearance = 'solid' | 'outline' | 'ghost' | 'link';\n\n/** Standard orientation */\nexport type TsOrientation = 'horizontal' | 'vertical';\n\n/** Placement positions (for tooltips, popovers, etc.) */\nexport type TsPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'right'\n | 'right-start'\n | 'right-end';\n\n/** Shared event detail for value-change events */\nexport interface TsChangeEventDetail<T = unknown> {\n value: T;\n previousValue: T;\n}\n\n/** Shared event detail for toggle events */\nexport interface TsToggleEventDetail {\n checked: boolean;\n}\n\n/** Shared event detail for checkbox/radio change events */\nexport interface TsCheckboxChangeEventDetail {\n checked: boolean;\n value: string;\n}\n\n/** Shared event detail for select change events */\nexport interface TsSelectChangeEventDetail {\n value: string;\n}\n\n/** Shared event detail for form validation */\nexport interface TsValidationEventDetail {\n valid: boolean;\n message: string;\n}\n"]}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Tessera UI — Accessibility Utilities
3
+ *
4
+ * Helpers for consistent ARIA patterns across components.
5
+ */
6
+ /** Generate a unique ID for ARIA relationships */
7
+ let idCounter = 0;
8
+ export function generateId(prefix = 'q') {
9
+ idCounter += 1;
10
+ return `${prefix}-${idCounter}`;
11
+ }
12
+ /** Reset ID counter (for testing) */
13
+ export function resetIdCounter() {
14
+ idCounter = 0;
15
+ }
16
+ /**
17
+ * Announce a message to screen readers via a live region.
18
+ * Creates a temporary `aria-live` element, inserts the message,
19
+ * and removes it after the AT has time to read it.
20
+ */
21
+ export function announce(message, priority = 'polite') {
22
+ const el = document.createElement('div');
23
+ el.setAttribute('aria-live', priority);
24
+ el.setAttribute('role', 'status');
25
+ el.setAttribute('aria-atomic', 'true');
26
+ Object.assign(el.style, {
27
+ position: 'absolute',
28
+ width: '1px',
29
+ height: '1px',
30
+ padding: '0',
31
+ margin: '-1px',
32
+ overflow: 'hidden',
33
+ clip: 'rect(0, 0, 0, 0)',
34
+ whiteSpace: 'nowrap',
35
+ border: '0',
36
+ });
37
+ document.body.appendChild(el);
38
+ // Delay to ensure the live region is registered before content is added
39
+ requestAnimationFrame(() => {
40
+ el.textContent = message;
41
+ setTimeout(() => el.remove(), 1000);
42
+ });
43
+ }
44
+ /**
45
+ * Check if the user prefers reduced motion.
46
+ */
47
+ export function prefersReducedMotion() {
48
+ return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
49
+ }
50
+ /**
51
+ * Trap focus within a container element.
52
+ * Returns a cleanup function to remove the trap.
53
+ */
54
+ export function trapFocus(container) {
55
+ const focusableSelectors = [
56
+ 'a[href]',
57
+ 'button:not([disabled])',
58
+ 'input:not([disabled])',
59
+ 'select:not([disabled])',
60
+ 'textarea:not([disabled])',
61
+ '[tabindex]:not([tabindex="-1"])',
62
+ ].join(', ');
63
+ function handleKeydown(event) {
64
+ if (event.key !== 'Tab')
65
+ return;
66
+ const focusableElements = Array.from(container.querySelectorAll(focusableSelectors));
67
+ if (focusableElements.length === 0) {
68
+ event.preventDefault();
69
+ return;
70
+ }
71
+ const firstFocusable = focusableElements[0];
72
+ const lastFocusable = focusableElements[focusableElements.length - 1];
73
+ if (event.shiftKey) {
74
+ if (document.activeElement === firstFocusable) {
75
+ event.preventDefault();
76
+ lastFocusable.focus();
77
+ }
78
+ }
79
+ else {
80
+ if (document.activeElement === lastFocusable) {
81
+ event.preventDefault();
82
+ firstFocusable.focus();
83
+ }
84
+ }
85
+ }
86
+ container.addEventListener('keydown', handleKeydown);
87
+ return () => container.removeEventListener('keydown', handleKeydown);
88
+ }
89
+ //# sourceMappingURL=aria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aria.js","sourceRoot":"","sources":["../../src/utils/aria.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kDAAkD;AAClD,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,MAAM,UAAU,UAAU,CAAC,MAAM,GAAG,GAAG;IACrC,SAAS,IAAI,CAAC,CAAC;IACf,OAAO,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,cAAc;IAC5B,SAAS,GAAG,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,WAAmC,QAAQ;IACnF,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,wEAAwE;IACxE,qBAAqB,CAAC,GAAG,EAAE;QACzB,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC;QACzB,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,SAAsB;IAC9C,MAAM,kBAAkB,GAAG;QACzB,SAAS;QACT,wBAAwB;QACxB,uBAAuB;QACvB,wBAAwB;QACxB,0BAA0B;QAC1B,iCAAiC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,SAAS,aAAa,CAAC,KAAoB;QACzC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK;YAAE,OAAO;QAEhC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,SAAS,CAAC,gBAAgB,CAAc,kBAAkB,CAAC,CAC5D,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;gBAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;gBAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACvE,CAAC","sourcesContent":["/**\n * Tessera UI — Accessibility Utilities\n *\n * Helpers for consistent ARIA patterns across components.\n */\n\n/** Generate a unique ID for ARIA relationships */\nlet idCounter = 0;\nexport function generateId(prefix = 'q'): string {\n idCounter += 1;\n return `${prefix}-${idCounter}`;\n}\n\n/** Reset ID counter (for testing) */\nexport function resetIdCounter(): void {\n idCounter = 0;\n}\n\n/**\n * Announce a message to screen readers via a live region.\n * Creates a temporary `aria-live` element, inserts the message,\n * and removes it after the AT has time to read it.\n */\nexport function announce(message: string, priority: 'polite' | 'assertive' = 'polite'): void {\n const el = document.createElement('div');\n el.setAttribute('aria-live', priority);\n el.setAttribute('role', 'status');\n el.setAttribute('aria-atomic', 'true');\n Object.assign(el.style, {\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: '0',\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: '0',\n });\n\n document.body.appendChild(el);\n\n // Delay to ensure the live region is registered before content is added\n requestAnimationFrame(() => {\n el.textContent = message;\n setTimeout(() => el.remove(), 1000);\n });\n}\n\n/**\n * Check if the user prefers reduced motion.\n */\nexport function prefersReducedMotion(): boolean {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n/**\n * Trap focus within a container element.\n * Returns a cleanup function to remove the trap.\n */\nexport function trapFocus(container: HTMLElement): () => void {\n const focusableSelectors = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(', ');\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.key !== 'Tab') return;\n\n const focusableElements = Array.from(\n container.querySelectorAll<HTMLElement>(focusableSelectors)\n );\n\n if (focusableElements.length === 0) {\n event.preventDefault();\n return;\n }\n\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n\n if (event.shiftKey) {\n if (document.activeElement === firstFocusable) {\n event.preventDefault();\n lastFocusable.focus();\n }\n } else {\n if (document.activeElement === lastFocusable) {\n event.preventDefault();\n firstFocusable.focus();\n }\n }\n }\n\n container.addEventListener('keydown', handleKeydown);\n return () => container.removeEventListener('keydown', handleKeydown);\n}\n"]}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Tessera UI — DOM Utilities
3
+ */
4
+ /**
5
+ * Get the closest Tessera UI host element from within a shadow tree.
6
+ */
7
+ export function getHostElement(el) {
8
+ const root = el.getRootNode();
9
+ if (root instanceof ShadowRoot) {
10
+ return root.host;
11
+ }
12
+ return null;
13
+ }
14
+ /**
15
+ * Check if a slot has assigned content.
16
+ */
17
+ export function hasSlotContent(el, slotName) {
18
+ const selector = slotName ? `slot[name="${slotName}"]` : 'slot:not([name])';
19
+ const slot = el.shadowRoot?.querySelector(selector);
20
+ if (!slot)
21
+ return false;
22
+ const nodes = slot.assignedNodes({ flatten: true });
23
+ return nodes.some((node) => node.nodeType === Node.ELEMENT_NODE ||
24
+ (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== ''));
25
+ }
26
+ /**
27
+ * Debounce a function call.
28
+ */
29
+ export function debounce(fn, delay) {
30
+ let timer;
31
+ return (...args) => {
32
+ clearTimeout(timer);
33
+ timer = setTimeout(() => fn(...args), delay);
34
+ };
35
+ }
36
+ /**
37
+ * Clamp a number between min and max.
38
+ */
39
+ export function clamp(value, min, max) {
40
+ return Math.min(Math.max(value, min), max);
41
+ }
42
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAW;IACxC,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAmB,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAe,EAAE,QAAiB;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5E,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,EAAE,aAAa,CAAkB,QAAQ,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;QACnC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,EAAK,EACL,KAAa;IAEb,IAAI,KAAoC,CAAC;IACzC,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAChC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["/**\n * Tessera UI — DOM Utilities\n */\n\n/**\n * Get the closest Tessera UI host element from within a shadow tree.\n */\nexport function getHostElement(el: Element): HTMLElement | null {\n const root = el.getRootNode();\n if (root instanceof ShadowRoot) {\n return root.host as HTMLElement;\n }\n return null;\n}\n\n/**\n * Check if a slot has assigned content.\n */\nexport function hasSlotContent(el: HTMLElement, slotName?: string): boolean {\n const selector = slotName ? `slot[name=\"${slotName}\"]` : 'slot:not([name])';\n const slot = el.shadowRoot?.querySelector<HTMLSlotElement>(selector);\n if (!slot) return false;\n const nodes = slot.assignedNodes({ flatten: true });\n return nodes.some(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n}\n\n/**\n * Debounce a function call.\n */\nexport function debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => fn(...args), delay);\n };\n}\n\n/**\n * Clamp a number between min and max.\n */\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n"]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tessera UI — Event Utilities
3
+ *
4
+ * Helpers for consistent custom event dispatch across components.
5
+ * All Tessera UI events bubble and are composed (cross shadow boundaries).
6
+ */
7
+ /**
8
+ * Create and dispatch a custom event from an element.
9
+ * Returns true if the event was NOT cancelled.
10
+ */
11
+ export function emitEvent(el, eventName, options) {
12
+ const event = new CustomEvent(eventName, {
13
+ detail: options.detail,
14
+ bubbles: options.bubbles ?? true,
15
+ composed: options.composed ?? true,
16
+ cancelable: options.cancelable ?? false,
17
+ });
18
+ return el.dispatchEvent(event);
19
+ }
20
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/utils/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,EAAe,EACf,SAAiB,EACjB,OAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAI,SAAS,EAAE;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;KACxC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC","sourcesContent":["/**\n * Tessera UI — Event Utilities\n *\n * Helpers for consistent custom event dispatch across components.\n * All Tessera UI events bubble and are composed (cross shadow boundaries).\n */\n\nexport interface TsEventOptions<T> {\n detail: T;\n bubbles?: boolean;\n composed?: boolean;\n cancelable?: boolean;\n}\n\n/**\n * Create and dispatch a custom event from an element.\n * Returns true if the event was NOT cancelled.\n */\nexport function emitEvent<T>(\n el: HTMLElement,\n eventName: string,\n options: TsEventOptions<T>\n): boolean {\n const event = new CustomEvent<T>(eventName, {\n detail: options.detail,\n bubbles: options.bubbles ?? true,\n composed: options.composed ?? true,\n cancelable: options.cancelable ?? false,\n });\n\n return el.dispatchEvent(event);\n}\n"]}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Get the base path to where the assets can be found. Use "setAssetPath(path)"
3
+ * if the path needs to be customized.
4
+ */
5
+ export declare const getAssetPath: (path: string) => string;
6
+
7
+ /**
8
+ * Used to manually set the base path where assets can be found.
9
+ * If the script is used as "module", it's recommended to use "import.meta.url",
10
+ * such as "setAssetPath(import.meta.url)". Other options include
11
+ * "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
12
+ * dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
13
+ * But do note that this configuration depends on how your script is bundled, or lack of
14
+ * bundling, and where your assets can be loaded from. Additionally custom bundling
15
+ * will have to ensure the static assets are copied to its build directory.
16
+ */
17
+ export declare const setAssetPath: (path: string) => void;
18
+
19
+ /**
20
+ * Used to specify a nonce value that corresponds with an application's CSP.
21
+ * When set, the nonce will be added to all dynamically created script and style tags at runtime.
22
+ * Alternatively, the nonce value can be set on a meta tag in the DOM head
23
+ * (<meta name="csp-nonce" content="{ nonce value here }" />) which
24
+ * will result in the same behavior.
25
+ */
26
+ export declare const setNonce: (nonce: string) => void
27
+
28
+ export interface SetPlatformOptions {
29
+ raf?: (c: FrameRequestCallback) => number;
30
+ ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
31
+ rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
32
+ }
33
+ export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
34
+
35
+ export * from '../types';
@@ -0,0 +1,2 @@
1
+ export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-DkpyRqHf.js";export{a as announce,g as generateId,p as prefersReducedMotion,t as trapFocus}from"./p-lpqZSiIf.js";export{T as TsIcon,g as getIcon,b as getRegisteredIconNames,a as registerIcon,r as registerIcons}from"./p-TFHAUMKT.js";export{T as TsTabs}from"./p-BFN5hUo4.js";export{T as TsTabPanel}from"./p-DFnNsZtI.js";export{T as TsSpinner}from"./p-C7JaUlNB.js";export{T as TsAvatar}from"./p-C8wd1644.js";export{T as TsDialog}from"./p-O8aQgWRZ.js";export{T as TsMenu}from"./p-Cy_Ad-Jy.js";export{T as TsMenuItem}from"./p-DwUH8YQW.js";export{T as TsTable}from"./p-DPQ1o4MP.js";export{T as TsAccordion}from"./p-CGh7W07E.js";export{T as TsAccordionItem}from"./p-BjiDgszq.js";export{T as TsBreadcrumb}from"./p-BcoU0ISN.js";export{T as TsBreadcrumbItem}from"./p-B0ZXNFSa.js";export{T as TsPagination}from"./p-BjyTgfXe.js";export{T as TsProgress}from"./p-CEQXPxzU.js";export{T as TsSlider}from"./p-zveaarwa.js";export{T as TsSkeleton}from"./p-v-L32wKy.js";export{T as TsToast}from"./p-mfB_pP4L.js";export{T as TsChip}from"./p-SopsdO_f.js";export{T as TsDivider}from"./p-DwJ7Jt3k.js";export{T as TsPopover}from"./p-faVXXwqR.js";export{T as TsTree}from"./p-BdzH6wlc.js";export{T as TsTreeItem}from"./p-DTAVTqnc.js";export{T as TsSwitchGroup}from"./p-Fot2uNwg.js";export{T as TsSwitchOption}from"./p-6RDSLDuS.js";export{T as TsToolbar}from"./p-DooMF1E0.js";export{T as TsEmptyState}from"./p-BlZHjan9.js";export{T as TsBanner}from"./p-CSNeA_zh.js";export{T as TsDrawer}from"./p-B_NL55YI.js";export{T as TsNav}from"./p-BP-fZfRb.js";export{T as TsNavItem}from"./p-CHtE5caV.js";export{T as TsDatePicker}from"./p-DlB-KfKY.js";export{T as TsFileUpload}from"./p-DMPxu5Po.js";export{T as TsStepper}from"./p-CkQOAizb.js";export{T as TsStep}from"./p-BCgm2utU.js";export{T as TsGrid}from"./p-BeErYjKz.js";export{T as TsContainer}from"./p-CbHlJvjF.js";export{T as TsStack}from"./p-DMuI5d5r.js";export{T as TsRow}from"./p-DhQ7X_TL.js";export{T as TsSpacer}from"./p-DD986daz.js";function o(s,o){const r=o?`slot[name="${o}"]`:"slot:not([name])";const e=s.shadowRoot?.querySelector(r);if(!e)return false;const t=e.assignedNodes({flatten:true});return t.some((s=>s.nodeType===Node.ELEMENT_NODE||s.nodeType===Node.TEXT_NODE&&s.textContent?.trim()!==""))}function e(s,o){let r;return(...e)=>{clearTimeout(r);r=setTimeout((()=>s(...e)),o)}}function f(s,o,r){return Math.min(Math.max(s,o),r)}function m(s,o,r){const e=new CustomEvent(o,{detail:r.detail,bubbles:r.bubbles??true,composed:r.composed??true,cancelable:r.cancelable??false});return s.dispatchEvent(e)}export{f as clamp,e as debounce,m as emitEvent,o as hasSlotContent};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hasSlotContent","el","slotName","selector","slot","shadowRoot","querySelector","nodes","assignedNodes","flatten","some","node","nodeType","Node","ELEMENT_NODE","TEXT_NODE","textContent","trim","debounce","fn","delay","timer","args","clearTimeout","setTimeout","clamp","value","min","max","Math","emitEvent","eventName","options","event","CustomEvent","detail","bubbles","composed","cancelable","dispatchEvent"],"sources":["src/utils/dom.ts","src/utils/events.ts"],"sourcesContent":["/**\n * Tessera UI — DOM Utilities\n */\n\n/**\n * Get the closest Tessera UI host element from within a shadow tree.\n */\nexport function getHostElement(el: Element): HTMLElement | null {\n const root = el.getRootNode();\n if (root instanceof ShadowRoot) {\n return root.host as HTMLElement;\n }\n return null;\n}\n\n/**\n * Check if a slot has assigned content.\n */\nexport function hasSlotContent(el: HTMLElement, slotName?: string): boolean {\n const selector = slotName ? `slot[name=\"${slotName}\"]` : 'slot:not([name])';\n const slot = el.shadowRoot?.querySelector<HTMLSlotElement>(selector);\n if (!slot) return false;\n const nodes = slot.assignedNodes({ flatten: true });\n return nodes.some(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '')\n );\n}\n\n/**\n * Debounce a function call.\n */\nexport function debounce<T extends (...args: unknown[]) => void>(\n fn: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => fn(...args), delay);\n };\n}\n\n/**\n * Clamp a number between min and max.\n */\nexport function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n","/**\n * Tessera UI — Event Utilities\n *\n * Helpers for consistent custom event dispatch across components.\n * All Tessera UI events bubble and are composed (cross shadow boundaries).\n */\n\nexport interface TsEventOptions<T> {\n detail: T;\n bubbles?: boolean;\n composed?: boolean;\n cancelable?: boolean;\n}\n\n/**\n * Create and dispatch a custom event from an element.\n * Returns true if the event was NOT cancelled.\n */\nexport function emitEvent<T>(\n el: HTMLElement,\n eventName: string,\n options: TsEventOptions<T>\n): boolean {\n const event = new CustomEvent<T>(eventName, {\n detail: options.detail,\n bubbles: options.bubbles ?? true,\n composed: options.composed ?? true,\n cancelable: options.cancelable ?? false,\n });\n\n return el.dispatchEvent(event);\n}\n"],"mappings":"0gEAkBM,SAAUA,EAAeC,EAAiBC,GAC9C,MAAMC,EAAWD,EAAW,cAAcA,MAAe,mBACzD,MAAME,EAAOH,EAAGI,YAAYC,cAA+BH,GAC3D,IAAKC,EAAM,OAAO,MAClB,MAAMG,EAAQH,EAAKI,cAAc,CAAEC,QAAS,OAC5C,OAAOF,EAAMG,MACVC,GACCA,EAAKC,WAAaC,KAAKC,cACtBH,EAAKC,WAAaC,KAAKE,WAAaJ,EAAKK,aAAaC,SAAW,IAExE,CAKM,SAAUC,EACdC,EACAC,GAEA,IAAIC,EACJ,MAAO,IAAIC,KACTC,aAAaF,GACbA,EAAQG,YAAW,IAAML,KAAMG,IAAOF,EAAM,CAEhD,C,SAKgBK,EAAMC,EAAeC,EAAaC,GAChD,OAAOC,KAAKF,IAAIE,KAAKD,IAAIF,EAAOC,GAAMC,EACxC,C,SC/BgBE,EACd7B,EACA8B,EACAC,GAEA,MAAMC,EAAQ,IAAIC,YAAeH,EAAW,CAC1CI,OAAQH,EAAQG,OAChBC,QAASJ,EAAQI,SAAW,KAC5BC,SAAUL,EAAQK,UAAY,KAC9BC,WAAYN,EAAQM,YAAc,QAGpC,OAAOrC,EAAGsC,cAAcN,EAC1B,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{t,p as s,H as i,d as e,h as a,c as o}from"./p-DkpyRqHf.js";import{d as c}from"./p-TFHAUMKT.js";const n=()=>`:host{display:inline-flex;flex:1;outline:none}.switch-option__base{display:inline-flex;align-items:center;justify-content:center;gap:var(--ts-spacing-1);inline-size:100%;padding-inline:var(--ts-spacing-3);padding-block:var(--ts-spacing-1);border-radius:calc(var(--ts-switch-group-radius, var(--ts-shape-interactive)) - 2px);cursor:pointer;user-select:none;white-space:nowrap;font-weight:var(--ts-font-weight-medium);color:var(--ts-color-text-secondary);transition:background-color var(--ts-transition-fast), color var(--ts-transition-fast), box-shadow var(--ts-transition-fast)}.switch-option__base:hover{color:var(--ts-color-text-primary)}:host(:focus-visible) .switch-option__base{box-shadow:var(--ts-focus-ring)}:host([active]) .switch-option__base{background-color:var(--ts-switch-group-active-bg, var(--ts-color-bg-elevated));color:var(--ts-color-text-primary);box-shadow:var(--ts-shadow-sm)}:host([disabled]) .switch-option__base{opacity:0.5;cursor:not-allowed;pointer-events:none}.switch-option__icon{display:inline-flex;align-items:center;flex-shrink:0}.switch-option__label{display:inline-flex;align-items:center}`;const r=s(class t extends i{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.tsOptionSelect=e(this,"tsOptionSelect")}get hostEl(){return this}value;disabled=false;icon;active=false;tsOptionSelect;handleClick=()=>{if(this.disabled)return;this.tsOptionSelect.emit({value:this.value||""})};render(){return a(o,{key:"21e9caaea440e37c291991ef7e7cbde9446a4078",class:{"ts-switch-option":true,"ts-switch-option--active":this.active,"ts-switch-option--disabled":this.disabled},role:"radio",tabindex:this.active?0:-1,"aria-checked":String(this.active),"aria-disabled":this.disabled?"true":undefined,onClick:this.handleClick},a("div",{key:"8633d6def560f44c4f6c8dae01b42d187f590149",class:"switch-option__base",part:"base"},this.icon&&a("span",{key:"0c1ceca3c3f57e0dbf6841bad79136d93818d342",class:"switch-option__icon",part:"icon","aria-hidden":"true"},a("ts-icon",{key:"141990f023740c72e9aa7ccc40f9479ad7986cca",name:this.icon,size:"sm"})),a("span",{key:"a11e04f99cda8742f27251c58c5e65402c52597b",class:"switch-option__label"},a("slot",{key:"3d0a210f02eccfa6c5f68ab7f5cb6f41dc5413a9"}))))}static get style(){return n()}},[769,"ts-switch-option",{value:[513],disabled:[516],icon:[1],active:[1540]}]);function l(){if(typeof customElements==="undefined"){return}const s=["ts-switch-option","ts-icon"];s.forEach((s=>{switch(s){case"ts-switch-option":if(!customElements.get(t(s))){customElements.define(t(s),r)}break;case"ts-icon":if(!customElements.get(t(s))){c()}break}}))}l();export{r as T,l as d};
2
+ //# sourceMappingURL=p-6RDSLDuS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["switchOptionCss","TsSwitchOption","__stencil_proxyCustomElement","HTMLElement","value","disabled","icon","active","tsOptionSelect","handleClick","this","emit","render","h","Host","key","class","role","tabindex","String","undefined","onClick","part","name","size"],"sources":["src/components/switch-group/switch-option.css?tag=ts-switch-option&encapsulation=shadow","src/components/switch-group/switch-option.tsx"],"sourcesContent":["/* ==========================================================================\n ts-switch-option — Shadow DOM Scoped Styles\n ========================================================================== */\n\n:host {\n display: inline-flex;\n flex: 1;\n outline: none;\n}\n\n.switch-option__base {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ts-spacing-1);\n inline-size: 100%;\n padding-inline: var(--ts-spacing-3);\n padding-block: var(--ts-spacing-1);\n border-radius: calc(var(--ts-switch-group-radius, var(--ts-shape-interactive)) - 2px);\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n font-weight: var(--ts-font-weight-medium);\n color: var(--ts-color-text-secondary);\n transition:\n background-color var(--ts-transition-fast),\n color var(--ts-transition-fast),\n box-shadow var(--ts-transition-fast);\n}\n\n.switch-option__base:hover {\n color: var(--ts-color-text-primary);\n}\n\n:host(:focus-visible) .switch-option__base {\n box-shadow: var(--ts-focus-ring);\n}\n\n/* ---- Active ---- */\n:host([active]) .switch-option__base {\n background-color: var(--ts-switch-group-active-bg, var(--ts-color-bg-elevated));\n color: var(--ts-color-text-primary);\n box-shadow: var(--ts-shadow-sm);\n}\n\n/* ---- Disabled ---- */\n:host([disabled]) .switch-option__base {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ---- Icon ---- */\n.switch-option__icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* ---- Label ---- */\n.switch-option__label {\n display: inline-flex;\n align-items: center;\n}\n","import { Component, Prop, Event, h, Host, Element } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\n/**\n * @slot - Default slot for label text.\n *\n * @part base - The option container.\n * @part icon - The icon wrapper.\n */\n@Component({\n tag: 'ts-switch-option',\n styleUrl: 'switch-option.css',\n shadow: true,\n})\nexport class TsSwitchOption {\n @Element() hostEl!: HTMLElement;\n\n /** Unique identifier for this option. */\n @Prop({ reflect: true }) value?: string;\n\n /** Disables this option. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Optional icon name. */\n @Prop() icon?: string;\n\n /** Whether this option is the active selection (set by parent). */\n @Prop({ reflect: true, mutable: true }) active = false;\n\n /** @internal Emitted when this option is clicked. */\n @Event({ eventName: 'tsOptionSelect', bubbles: true }) tsOptionSelect!: EventEmitter<{ value: string }>;\n\n private handleClick = (): void => {\n if (this.disabled) return;\n this.tsOptionSelect.emit({ value: this.value || '' });\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-switch-option': true,\n 'ts-switch-option--active': this.active,\n 'ts-switch-option--disabled': this.disabled,\n }}\n role=\"radio\"\n tabindex={this.active ? 0 : -1}\n aria-checked={String(this.active)}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.handleClick}\n >\n <div class=\"switch-option__base\" part=\"base\">\n {this.icon && (\n <span class=\"switch-option__icon\" part=\"icon\" aria-hidden=\"true\">\n <ts-icon name={this.icon} size=\"sm\" />\n </span>\n )}\n <span class=\"switch-option__label\">\n <slot />\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAkB,IAAM,6mC,MCcjBC,EAAcC,EAAA,MAAAD,UAAAE,E,uJAIAC,MAGAC,SAAW,MAG5BC,KAGgCC,OAAS,MAGMC,eAE/CC,YAAc,KACpB,GAAIC,KAAKL,SAAU,OACnBK,KAAKF,eAAeG,KAAK,CAAEP,MAAOM,KAAKN,OAAS,IAAK,EAIvD,MAAAQ,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,mBAAoB,KACpB,2BAA4BN,KAAKH,OACjC,6BAA8BG,KAAKL,UAErCY,KAAK,QACLC,SAAUR,KAAKH,OAAS,GAAI,EAAE,eAChBY,OAAOT,KAAKH,QAAO,gBAClBG,KAAKL,SAAW,OAASe,UACxCC,QAASX,KAAKD,aAEdI,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sBAAsBM,KAAK,QACnCZ,KAAKJ,MACJO,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBM,KAAK,OAAM,cAAa,QACxDT,EAAA,WAAAE,IAAA,2CAASQ,KAAMb,KAAKJ,KAAMkB,KAAK,QAGnCX,EAAA,QAAAE,IAAA,2CAAMC,MAAM,wBACVH,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{t as e,p as r,H as t,h as a,c as s}from"./p-DkpyRqHf.js";const i=()=>`:host{display:contents}.breadcrumb-item__li{display:inline-flex;align-items:center;gap:var(--ts-spacing-1)}.breadcrumb-item__link{color:var(--ts-breadcrumb-link-color, var(--ts-color-interactive-primary));text-decoration:none;transition:color var(--ts-transition-fast)}.breadcrumb-item__link:hover{text-decoration:underline;text-underline-offset:2px}.breadcrumb-item__link:focus-visible{box-shadow:var(--ts-focus-ring);border-radius:var(--ts-radius-sm);outline:none}.breadcrumb-item__text{color:var(--ts-color-text-primary)}:host(.ts-breadcrumb-item--current) .breadcrumb-item__text{font-weight:var(--ts-font-weight-semi)}.breadcrumb-item__separator{color:var(--ts-breadcrumb-separator-color, var(--ts-color-text-tertiary));margin-inline:var(--ts-spacing-1);user-select:none}`;const c=r(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow()}href;current=false;separator;render(){const e=!!this.href&&!this.current;return a(s,{key:"dd4faad961e0208052a4bac87ea55a7ee7c21cb1",class:{"ts-breadcrumb-item":true,"ts-breadcrumb-item--current":this.current}},a("li",{key:"044de74c3a547b7384bb37b9c0a9899e19ad121a",class:"breadcrumb-item__li"},e?a("a",{href:this.href,part:"link",class:"breadcrumb-item__link"},a("slot",null)):a("span",{part:"link",class:"breadcrumb-item__text","aria-current":this.current?"page":undefined},a("slot",null)),this.separator&&a("span",{key:"429becb1278bd5db6b050535e70811f922a6ffbc",class:"breadcrumb-item__separator",part:"separator","aria-hidden":"true"},this.separator)))}static get style(){return i()}},[769,"ts-breadcrumb-item",{href:[1],current:[516],separator:[1]}]);function n(){if(typeof customElements==="undefined"){return}const r=["ts-breadcrumb-item"];r.forEach((r=>{switch(r){case"ts-breadcrumb-item":if(!customElements.get(e(r))){customElements.define(e(r),c)}break}}))}n();export{c as T,n as d};
2
+ //# sourceMappingURL=p-B0ZXNFSa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["breadcrumbItemCss","TsBreadcrumbItem","__stencil_proxyCustomElement","HTMLElement","href","current","separator","render","isLink","this","h","Host","key","class","part","undefined"],"sources":["src/components/breadcrumb/breadcrumb-item.css?tag=ts-breadcrumb-item&encapsulation=shadow","src/components/breadcrumb/breadcrumb-item.tsx"],"sourcesContent":["/* ==========================================================================\n ts-breadcrumb-item — Shadow DOM Scoped Styles\n ========================================================================== */\n\n:host {\n display: contents;\n}\n\n.breadcrumb-item__li {\n display: inline-flex;\n align-items: center;\n gap: var(--ts-spacing-1);\n}\n\n.breadcrumb-item__link {\n color: var(--ts-breadcrumb-link-color, var(--ts-color-interactive-primary));\n text-decoration: none;\n transition: color var(--ts-transition-fast);\n}\n\n.breadcrumb-item__link:hover {\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.breadcrumb-item__link:focus-visible {\n box-shadow: var(--ts-focus-ring);\n border-radius: var(--ts-radius-sm);\n outline: none;\n}\n\n.breadcrumb-item__text {\n color: var(--ts-color-text-primary);\n}\n\n:host(.ts-breadcrumb-item--current) .breadcrumb-item__text {\n font-weight: var(--ts-font-weight-semi);\n}\n\n.breadcrumb-item__separator {\n color: var(--ts-breadcrumb-separator-color, var(--ts-color-text-tertiary));\n margin-inline: var(--ts-spacing-1);\n user-select: none;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * @slot - Default slot for label text.\n *\n * @part link - The anchor or span element.\n * @part separator - The separator element.\n */\n@Component({\n tag: 'ts-breadcrumb-item',\n styleUrl: 'breadcrumb-item.css',\n shadow: true,\n})\nexport class TsBreadcrumbItem {\n /** If set, renders as a link. */\n @Prop() href?: string;\n\n /** Marks this item as the current page. */\n @Prop({ reflect: true }) current = false;\n\n /** Separator character (set by parent ts-breadcrumb). */\n @Prop() separator?: string;\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const isLink = !!this.href && !this.current;\n\n return (\n <Host class={{ 'ts-breadcrumb-item': true, 'ts-breadcrumb-item--current': this.current }}>\n <li class=\"breadcrumb-item__li\">\n {isLink ? (\n <a href={this.href} part=\"link\" class=\"breadcrumb-item__link\">\n <slot />\n </a>\n ) : (\n <span\n part=\"link\"\n class=\"breadcrumb-item__text\"\n aria-current={this.current ? 'page' : undefined}\n >\n <slot />\n </span>\n )}\n {this.separator && (\n <span class=\"breadcrumb-item__separator\" part=\"separator\" aria-hidden=\"true\">\n {this.separator}\n </span>\n )}\n </li>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAoB,IAAM,0wB,MCanBC,EAAgBC,EAAA,MAAAD,UAAAE,E,iFAEnBC,KAGiBC,QAAU,MAG3BC,UAGR,MAAAC,GACE,MAAMC,IAAWC,KAAKL,OAASK,KAAKJ,QAEpC,OACEK,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,CAAE,qBAAsB,KAAM,8BAA+BJ,KAAKJ,UAC7EK,EAAA,MAAAE,IAAA,2CAAIC,MAAM,uBACPL,EACCE,EAAA,KAAGN,KAAMK,KAAKL,KAAMU,KAAK,OAAOD,MAAM,yBACpCH,EAAA,cAGFA,EAAA,QACEI,KAAK,OACLD,MAAM,wBAAuB,eACfJ,KAAKJ,QAAU,OAASU,WAEtCL,EAAA,cAGHD,KAAKH,WACJI,EAAA,QAAAE,IAAA,2CAAMC,MAAM,6BAA6BC,KAAK,YAAW,cAAa,QACnEL,KAAKH,Y","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{t,p as e,H as s,h as r,c as o}from"./p-DkpyRqHf.js";import{d as i}from"./p-TFHAUMKT.js";const a=()=>`:host{display:flex;font-family:var(--ts-font-family-base)}:host(.ts-step--horizontal){flex:1;flex-direction:column}:host(.ts-step--vertical){flex-direction:column}.step__wrapper{display:flex;flex-direction:column}:host(.ts-step--horizontal) .step__wrapper{flex-direction:column;align-items:center}:host(.ts-step--vertical) .step__wrapper{flex-direction:row;align-items:flex-start}.step__header{display:flex;align-items:center;gap:var(--ts-spacing-2)}:host(.ts-step--horizontal) .step__header{flex-direction:column;text-align:center}:host(.ts-step--vertical) .step__header{flex-direction:row}.step__indicator{display:flex;align-items:center;justify-content:center;inline-size:2rem;block-size:2rem;border-radius:var(--ts-radius-full);border:2px solid var(--ts-color-border-default);background-color:var(--ts-color-bg-elevated);color:var(--ts-color-text-tertiary);font-size:var(--ts-font-size-sm);font-weight:var(--ts-font-weight-semi);flex-shrink:0;transition:background-color var(--ts-transition-fast), border-color var(--ts-transition-fast), color var(--ts-transition-fast)}.step__indicator--active{border-color:var(--ts-stepper-active-color, var(--ts-color-interactive-primary));background-color:var(--ts-stepper-active-color, var(--ts-color-interactive-primary));color:var(--ts-color-text-on-primary, #fff)}.step__indicator--completed{border-color:var(--ts-stepper-completed-color, var(--ts-color-success-600));background-color:var(--ts-stepper-completed-color, var(--ts-color-success-600));color:#ffffff}.step__indicator--error{border-color:var(--ts-color-danger-500);background-color:var(--ts-color-danger-500);color:#ffffff}.step__icon{inline-size:1em;block-size:1em}.step__text{display:flex;flex-direction:column;gap:var(--ts-spacing-0, 2px)}.step__label{font-size:var(--ts-font-size-sm);font-weight:var(--ts-font-weight-semi);color:var(--ts-color-text-primary)}:host(.ts-step--active) .step__label{color:var(--ts-stepper-active-color, var(--ts-color-interactive-primary))}:host(.ts-step--disabled) .step__label{color:var(--ts-color-text-tertiary)}.step__description{font-size:var(--ts-font-size-xs);color:var(--ts-color-text-tertiary)}.step__connector{display:flex;align-items:center;justify-content:center;flex:1}:host(.ts-step--horizontal) .step__connector{padding-inline:var(--ts-spacing-2);min-inline-size:var(--ts-spacing-4);padding-block-start:var(--ts-spacing-4)}:host(.ts-step--vertical) .step__connector{padding-block:var(--ts-spacing-2);min-block-size:var(--ts-spacing-4);margin-inline-start:calc(1rem - 1px)}.step__connector-line{background-color:var(--ts-stepper-connector-color, var(--ts-color-border-default));transition:background-color var(--ts-transition-fast)}:host(.ts-step--horizontal) .step__connector-line{block-size:2px;inline-size:100%}:host(.ts-step--vertical) .step__connector-line{inline-size:2px;block-size:100%;min-block-size:var(--ts-spacing-6)}.step__connector-line--completed{background-color:var(--ts-stepper-completed-color, var(--ts-color-success-600))}.step__content{padding-block-start:var(--ts-spacing-2)}.step__content:empty{display:none}:host(.ts-step--disabled){opacity:0.5}`;const c=e(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow()}get hostEl(){return this}label;description;completed=false;error=false;disabled=false;icon;get index(){return parseInt(this.hostEl.getAttribute("data-index")||"0",10)}get isActive(){return this.hostEl.hasAttribute("data-active")}get hasConnector(){return this.hostEl.hasAttribute("data-has-connector")}get orientation(){return this.hostEl.getAttribute("data-orientation")||"horizontal"}renderIndicatorContent(){if(this.completed){return r("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round",class:"step__icon"},r("polyline",{points:"20 6 9 17 4 12"}))}if(this.error){return r("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-linejoin":"round",class:"step__icon"},r("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))}if(this.icon){return r("ts-icon",{name:this.icon,size:"sm"})}return r("span",null,this.index+1)}render(){return r(o,{key:"7746197313bcd00092bbd43bb8e590d9dc363b4e",class:{"ts-step":true,"ts-step--active":this.isActive,"ts-step--completed":this.completed,"ts-step--error":this.error,"ts-step--disabled":this.disabled,[`ts-step--${this.orientation}`]:true},role:"listitem","aria-current":this.isActive?"step":undefined,"aria-disabled":this.disabled?"true":undefined},r("div",{key:"b01e2dc30f9b3c4c5422fc9f58055b4e29e660c0",class:"step__wrapper",part:"step"},r("div",{key:"e8dc194bffaf1ad7dc73d0d7c3890059e39d23bc",class:"step__header"},r("div",{key:"b0b54d952b3882db999f62d04d942b9ff92f9566",class:{step__indicator:true,"step__indicator--active":this.isActive,"step__indicator--completed":this.completed,"step__indicator--error":this.error},part:"indicator"},this.renderIndicatorContent()),r("div",{key:"c634d466d5d1f6bab4a0f2a9dbe450d4b60a0c8b",class:"step__text"},this.label&&r("span",{key:"96dc52bcb324e4e2c96f5c09be2cebb0a4b0fdaf",class:"step__label",part:"label"},this.label),this.description&&r("span",{key:"863aac22befd3bb4f92c87ee7b5c24ab8d9c789a",class:"step__description",part:"description"},this.description))),this.hasConnector&&r("div",{key:"45ac15eac777bf1c38e0ffc3da8b667a55a584f7",class:"step__connector",part:"connector"},r("div",{key:"15375de53bfae186638eaa9af95574d7875868b8",class:{"step__connector-line":true,"step__connector-line--completed":this.completed}})),r("div",{key:"d5efc013d5b97850a2768464868eade08b953784",class:"step__content",part:"content"},r("slot",{key:"3b84a7d0ebe30fbce3cf5c16b7e515d33436d675"}))))}static get style(){return a()}},[769,"ts-step",{label:[1],description:[1],completed:[516],error:[516],disabled:[516],icon:[1]}]);function n(){if(typeof customElements==="undefined"){return}const e=["ts-step","ts-icon"];e.forEach((e=>{switch(e){case"ts-step":if(!customElements.get(t(e))){customElements.define(t(e),c)}break;case"ts-icon":if(!customElements.get(t(e))){i()}break}}))}n();export{c as T,n as d};
2
+ //# sourceMappingURL=p-BCgm2utU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stepCss","TsStep","__stencil_proxyCustomElement","HTMLElement","label","description","completed","error","disabled","icon","index","parseInt","this","hostEl","getAttribute","isActive","hasAttribute","hasConnector","orientation","renderIndicatorContent","h","viewBox","fill","stroke","class","points","x1","y1","x2","y2","name","size","render","Host","key","role","undefined","part","step__indicator"],"sources":["src/components/stepper/step.css?tag=ts-step&encapsulation=shadow","src/components/stepper/step.tsx"],"sourcesContent":["/* ==========================================================================\n ts-step — Shadow DOM Scoped Styles\n ========================================================================== */\n\n:host {\n display: flex;\n font-family: var(--ts-font-family-base);\n}\n\n/* ---- Horizontal layout ---- */\n:host(.ts-step--horizontal) {\n flex: 1;\n flex-direction: column;\n}\n\n/* ---- Vertical layout ---- */\n:host(.ts-step--vertical) {\n flex-direction: column;\n}\n\n.step__wrapper {\n display: flex;\n flex-direction: column;\n}\n\n:host(.ts-step--horizontal) .step__wrapper {\n flex-direction: column;\n align-items: center;\n}\n\n:host(.ts-step--vertical) .step__wrapper {\n flex-direction: row;\n align-items: flex-start;\n}\n\n.step__header {\n display: flex;\n align-items: center;\n gap: var(--ts-spacing-2);\n}\n\n:host(.ts-step--horizontal) .step__header {\n flex-direction: column;\n text-align: center;\n}\n\n:host(.ts-step--vertical) .step__header {\n flex-direction: row;\n}\n\n/* ---- Indicator ---- */\n.step__indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 2rem;\n block-size: 2rem;\n border-radius: var(--ts-radius-full);\n border: 2px solid var(--ts-color-border-default);\n background-color: var(--ts-color-bg-elevated);\n color: var(--ts-color-text-tertiary);\n font-size: var(--ts-font-size-sm);\n font-weight: var(--ts-font-weight-semi);\n flex-shrink: 0;\n transition:\n background-color var(--ts-transition-fast),\n border-color var(--ts-transition-fast),\n color var(--ts-transition-fast);\n}\n\n.step__indicator--active {\n border-color: var(--ts-stepper-active-color, var(--ts-color-interactive-primary));\n background-color: var(--ts-stepper-active-color, var(--ts-color-interactive-primary));\n color: var(--ts-color-text-on-primary, #fff);\n}\n\n.step__indicator--completed {\n border-color: var(--ts-stepper-completed-color, var(--ts-color-success-600));\n background-color: var(--ts-stepper-completed-color, var(--ts-color-success-600));\n color: #ffffff;\n}\n\n.step__indicator--error {\n border-color: var(--ts-color-danger-500);\n background-color: var(--ts-color-danger-500);\n color: #ffffff;\n}\n\n.step__icon {\n inline-size: 1em;\n block-size: 1em;\n}\n\n/* ---- Text ---- */\n.step__text {\n display: flex;\n flex-direction: column;\n gap: var(--ts-spacing-0, 2px);\n}\n\n.step__label {\n font-size: var(--ts-font-size-sm);\n font-weight: var(--ts-font-weight-semi);\n color: var(--ts-color-text-primary);\n}\n\n:host(.ts-step--active) .step__label {\n color: var(--ts-stepper-active-color, var(--ts-color-interactive-primary));\n}\n\n:host(.ts-step--disabled) .step__label {\n color: var(--ts-color-text-tertiary);\n}\n\n.step__description {\n font-size: var(--ts-font-size-xs);\n color: var(--ts-color-text-tertiary);\n}\n\n/* ---- Connector ---- */\n.step__connector {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n}\n\n:host(.ts-step--horizontal) .step__connector {\n padding-inline: var(--ts-spacing-2);\n min-inline-size: var(--ts-spacing-4);\n padding-block-start: var(--ts-spacing-4);\n}\n\n:host(.ts-step--vertical) .step__connector {\n padding-block: var(--ts-spacing-2);\n min-block-size: var(--ts-spacing-4);\n margin-inline-start: calc(1rem - 1px);\n}\n\n.step__connector-line {\n background-color: var(--ts-stepper-connector-color, var(--ts-color-border-default));\n transition: background-color var(--ts-transition-fast);\n}\n\n:host(.ts-step--horizontal) .step__connector-line {\n block-size: 2px;\n inline-size: 100%;\n}\n\n:host(.ts-step--vertical) .step__connector-line {\n inline-size: 2px;\n block-size: 100%;\n min-block-size: var(--ts-spacing-6);\n}\n\n.step__connector-line--completed {\n background-color: var(--ts-stepper-completed-color, var(--ts-color-success-600));\n}\n\n/* ---- Content ---- */\n.step__content {\n padding-block-start: var(--ts-spacing-2);\n}\n\n.step__content:empty {\n display: none;\n}\n\n/* ---- Disabled ---- */\n:host(.ts-step--disabled) {\n opacity: 0.5;\n}\n","import { Component, Prop, h, Host, Element } from '@stencil/core';\n\n/**\n * @slot - Default slot for step content.\n *\n * @part step - The step wrapper.\n * @part indicator - The step number/icon circle.\n * @part label - The step label.\n * @part description - The step description.\n * @part connector - The connector line between steps.\n * @part content - The step content area.\n */\n@Component({\n tag: 'ts-step',\n styleUrl: 'step.css',\n shadow: true,\n})\nexport class TsStep {\n @Element() hostEl!: HTMLElement;\n\n /** The step label text. */\n @Prop() label?: string;\n\n /** Optional description text below the label. */\n @Prop() description?: string;\n\n /** Whether this step is completed. */\n @Prop({ reflect: true }) completed = false;\n\n /** Whether this step has an error. */\n @Prop({ reflect: true }) error = false;\n\n /** Whether this step is disabled. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Optional custom icon name. */\n @Prop() icon?: string;\n\n private get index(): number {\n return parseInt(this.hostEl.getAttribute('data-index') || '0', 10);\n }\n\n private get isActive(): boolean {\n return this.hostEl.hasAttribute('data-active');\n }\n\n private get hasConnector(): boolean {\n return this.hostEl.hasAttribute('data-has-connector');\n }\n\n private get orientation(): string {\n return this.hostEl.getAttribute('data-orientation') || 'horizontal';\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n private renderIndicatorContent() {\n if (this.completed) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"step__icon\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n );\n }\n if (this.error) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"step__icon\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n );\n }\n if (this.icon) {\n return <ts-icon name={this.icon} size=\"sm\" />;\n }\n return <span>{this.index + 1}</span>;\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-step': true,\n 'ts-step--active': this.isActive,\n 'ts-step--completed': this.completed,\n 'ts-step--error': this.error,\n 'ts-step--disabled': this.disabled,\n [`ts-step--${this.orientation}`]: true,\n }}\n role=\"listitem\"\n aria-current={this.isActive ? 'step' : undefined}\n aria-disabled={this.disabled ? 'true' : undefined}\n >\n <div class=\"step__wrapper\" part=\"step\">\n <div class=\"step__header\">\n <div\n class={{\n 'step__indicator': true,\n 'step__indicator--active': this.isActive,\n 'step__indicator--completed': this.completed,\n 'step__indicator--error': this.error,\n }}\n part=\"indicator\"\n >\n {this.renderIndicatorContent()}\n </div>\n\n <div class=\"step__text\">\n {this.label && (\n <span class=\"step__label\" part=\"label\">\n {this.label}\n </span>\n )}\n {this.description && (\n <span class=\"step__description\" part=\"description\">\n {this.description}\n </span>\n )}\n </div>\n </div>\n\n {this.hasConnector && (\n <div class=\"step__connector\" part=\"connector\">\n <div\n class={{\n 'step__connector-line': true,\n 'step__connector-line--completed': this.completed,\n }}\n />\n </div>\n )}\n\n <div class=\"step__content\" part=\"content\">\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAU,IAAM,6jG,MCiBTC,EAAMC,EAAA,MAAAD,UAAAE,E,0GAITC,MAGAC,YAGiBC,UAAY,MAGZC,MAAQ,MAGRC,SAAW,MAG5BC,KAER,SAAYC,GACV,OAAOC,SAASC,KAAKC,OAAOC,aAAa,eAAiB,IAAK,G,CAGjE,YAAYC,GACV,OAAOH,KAAKC,OAAOG,aAAa,c,CAGlC,gBAAYC,GACV,OAAOL,KAAKC,OAAOG,aAAa,qB,CAGlC,eAAYE,GACV,OAAON,KAAKC,OAAOC,aAAa,qBAAuB,Y,CAIjD,sBAAAK,GACN,GAAIP,KAAKN,UAAW,CAClB,OACEc,EAAA,OAAKC,QAAQ,YAAYC,KAAK,OAAOC,OAAO,eAAc,eAAc,IAAG,iBAAgB,QAAO,kBAAiB,QAAQC,MAAM,cAC/HJ,EAAA,YAAUK,OAAO,mB,CAIvB,GAAIb,KAAKL,MAAO,CACd,OACEa,EAAA,OAAKC,QAAQ,YAAYC,KAAK,OAAOC,OAAO,eAAc,eAAc,IAAG,iBAAgB,QAAO,kBAAiB,QAAQC,MAAM,cAC/HJ,EAAA,QAAMM,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAIC,GAAG,OAC/BT,EAAA,QAAMM,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,O,CAIrC,GAAIjB,KAAKH,KAAM,CACb,OAAOW,EAAA,WAASU,KAAMlB,KAAKH,KAAMsB,KAAK,M,CAExC,OAAOX,EAAA,YAAOR,KAAKF,MAAQ,E,CAI7B,MAAAsB,GACE,OACEZ,EAACa,EAAI,CAAAC,IAAA,2CACHV,MAAO,CACL,UAAW,KACX,kBAAmBZ,KAAKG,SACxB,qBAAsBH,KAAKN,UAC3B,iBAAkBM,KAAKL,MACvB,oBAAqBK,KAAKJ,SAC1B,CAAC,YAAYI,KAAKM,eAAgB,MAEpCiB,KAAK,WAAU,eACDvB,KAAKG,SAAW,OAASqB,UAAS,gBACjCxB,KAAKJ,SAAW,OAAS4B,WAExChB,EAAA,OAAAc,IAAA,2CAAKV,MAAM,gBAAgBa,KAAK,QAC9BjB,EAAA,OAAAc,IAAA,2CAAKV,MAAM,gBACTJ,EAAA,OAAAc,IAAA,2CACEV,MAAO,CACLc,gBAAmB,KACnB,0BAA2B1B,KAAKG,SAChC,6BAA8BH,KAAKN,UACnC,yBAA0BM,KAAKL,OAEjC8B,KAAK,aAEJzB,KAAKO,0BAGRC,EAAA,OAAAc,IAAA,2CAAKV,MAAM,cACRZ,KAAKR,OACJgB,EAAA,QAAAc,IAAA,2CAAMV,MAAM,cAAca,KAAK,SAC5BzB,KAAKR,OAGTQ,KAAKP,aACJe,EAAA,QAAAc,IAAA,2CAAMV,MAAM,oBAAoBa,KAAK,eAClCzB,KAAKP,eAMbO,KAAKK,cACJG,EAAA,OAAAc,IAAA,2CAAKV,MAAM,kBAAkBa,KAAK,aAChCjB,EAAA,OAAAc,IAAA,2CACEV,MAAO,CACL,uBAAwB,KACxB,kCAAmCZ,KAAKN,cAMhDc,EAAA,OAAAc,IAAA,2CAAKV,MAAM,gBAAgBa,KAAK,WAC9BjB,EAAA,QAAAc,IAAA,+C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{t,p as a,H as s,d as r,h as e,c as o}from"./p-DkpyRqHf.js";import{d as i}from"./p-TFHAUMKT.js";const n=()=>`:host{display:block;font-family:var(--ts-font-family-base);--ts-tabs-border-color:var(--ts-color-border-default);--ts-tabs-active-color:var(--ts-color-interactive-primary);--ts-tabs-radius:var(--ts-radius-md)}.tabs__tablist{display:flex;gap:var(--ts-spacing-1);border-block-end:2px solid var(--ts-tabs-border-color)}.tabs__tab{display:inline-flex;align-items:center;gap:var(--ts-spacing-1);border:none;background:transparent;font-family:inherit;font-weight:var(--ts-font-weight-semi);color:var(--ts-color-text-secondary);cursor:pointer;position:relative;white-space:nowrap;transition:color var(--ts-transition-fast), background-color var(--ts-transition-fast), border-color var(--ts-transition-fast);outline:none;margin-block-end:-2px;border-block-end:2px solid transparent}.tabs__tab:focus-visible{box-shadow:var(--ts-focus-ring)}.tabs__tab:hover:not([disabled]){color:var(--ts-color-text-primary)}.tabs__tab--active{color:var(--ts-tabs-active-color);border-block-end-color:var(--ts-tabs-active-color)}.tabs__tab--disabled{opacity:0.5;cursor:not-allowed}:host([size="sm"]) .tabs__tab{padding:var(--ts-spacing-1) var(--ts-spacing-3);font-size:var(--ts-font-size-sm)}:host([size="md"]) .tabs__tab{padding:var(--ts-spacing-2) var(--ts-spacing-4);font-size:var(--ts-font-size-md)}:host([size="lg"]) .tabs__tab{padding:var(--ts-spacing-3) var(--ts-spacing-5);font-size:var(--ts-font-size-lg)}:host([variant="enclosed"]) .tabs__tablist{gap:0;border-block-end:2px solid var(--ts-tabs-border-color)}:host([variant="enclosed"]) .tabs__tab{border:2px solid transparent;border-block-end:2px solid var(--ts-tabs-border-color);border-start-start-radius:var(--ts-tabs-radius);border-start-end-radius:var(--ts-tabs-radius);margin-block-end:-2px}:host([variant="enclosed"]) .tabs__tab--active{border-color:var(--ts-tabs-border-color);border-block-end-color:var(--ts-color-bg-surface);background-color:var(--ts-color-bg-surface);color:var(--ts-tabs-active-color)}:host([variant="pill"]) .tabs__tablist{border-block-end:none;gap:var(--ts-spacing-1);background-color:var(--ts-color-bg-subtle);border-radius:var(--ts-tabs-radius);padding:var(--ts-spacing-1)}:host([variant="pill"]) .tabs__tab{border-block-end:none;border-radius:var(--ts-tabs-radius);margin-block-end:0}:host([variant="pill"]) .tabs__tab--active{background-color:var(--ts-color-bg-surface);color:var(--ts-tabs-active-color);box-shadow:var(--ts-shadow-sm)}.tabs__panels{padding-block-start:var(--ts-spacing-4)}.tabs__tab-icon{font-size:1em}`;const b=a(class t extends s{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.tsChange=r(this,"tsChange")}get hostEl(){return this}value;variant="line";size="md";tsChange;handleValueChange(){this.updatePanelVisibility()}componentDidLoad(){if(!this.value){const t=this.getPanels();const a=t.find((t=>!t.hasAttribute("disabled")));if(a){this.value=a.getAttribute("value")||""}}this.updatePanelVisibility()}getPanels(){return Array.from(this.hostEl.querySelectorAll("ts-tab-panel"))}getTabData(){return this.getPanels().map((t=>({tab:t.getAttribute("tab")||"",value:t.getAttribute("value")||"",disabled:t.hasAttribute("disabled"),icon:t.getAttribute("icon")||undefined})))}updatePanelVisibility(){this.getPanels().forEach((t=>{const a=t.getAttribute("value")===this.value;t.style.display=a?"":"none"}))}handleTabClick(t,a){if(a||t===this.value)return;this.value=t;this.tsChange.emit({value:t});this.updatePanelVisibility()}handleKeydown=t=>{const a=this.getTabData();const s=a.filter((t=>!t.disabled));const r=s.findIndex((t=>t.value===this.value));let e=r;switch(t.key){case"ArrowRight":case"ArrowDown":t.preventDefault();e=(r+1)%s.length;break;case"ArrowLeft":case"ArrowUp":t.preventDefault();e=(r-1+s.length)%s.length;break;case"Home":t.preventDefault();e=0;break;case"End":t.preventDefault();e=s.length-1;break;default:return}const o=s[e];if(o){this.value=o.value;this.tsChange.emit({value:o.value});this.updatePanelVisibility();const t=this.hostEl.shadowRoot?.querySelectorAll('[role="tab"]');const s=a.findIndex((t=>t.value===o.value));t?.[s]?.focus()}};render(){const t=this.getTabData();return e(o,{key:"4494e457803734a1e75439fce33da557d2aa9b2e",class:{"ts-tabs":true,[`ts-tabs--${this.variant}`]:true,[`ts-tabs--${this.size}`]:true}},e("div",{key:"761806ffca4e983be0e85fa711eb30124a42a283",class:"tabs__tablist",part:"tablist",role:"tablist",onKeyDown:this.handleKeydown},t.map((t=>{const a=t.value===this.value;return e("button",{class:{tabs__tab:true,"tabs__tab--active":a,"tabs__tab--disabled":t.disabled},part:a?"tab tab-active":"tab",role:"tab",type:"button","aria-selected":a?"true":"false","aria-disabled":t.disabled?"true":undefined,tabindex:a?0:-1,disabled:t.disabled,onClick:()=>this.handleTabClick(t.value,t.disabled)},t.icon&&e("ts-icon",{name:t.icon,class:"tabs__tab-icon"}),t.tab)}))),e("div",{key:"3e6bb533aee14347410a621435fa695233bacb33",class:"tabs__panels",part:"panels"},e("slot",{key:"ccf531fbebef82784b1d412ef72828072595f7ee"})))}static get watchers(){return{value:[{handleValueChange:0}]}}static get style(){return n()}},[769,"ts-tabs",{value:[1537],variant:[513],size:[513]},undefined,{value:[{handleValueChange:0}]}]);function c(){if(typeof customElements==="undefined"){return}const a=["ts-tabs","ts-icon"];a.forEach((a=>{switch(a){case"ts-tabs":if(!customElements.get(t(a))){customElements.define(t(a),b)}break;case"ts-icon":if(!customElements.get(t(a))){i()}break}}))}c();export{b as T,c as d};
2
+ //# sourceMappingURL=p-BFN5hUo4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tabsCss","TsTabs","__stencil_proxyCustomElement","HTMLElement","value","variant","size","tsChange","handleValueChange","this","updatePanelVisibility","componentDidLoad","panels","getPanels","firstEnabled","find","p","hasAttribute","getAttribute","Array","from","hostEl","querySelectorAll","getTabData","map","panel","tab","disabled","icon","undefined","forEach","isActive","style","display","handleTabClick","tabValue","emit","handleKeydown","event","tabs","enabledTabs","filter","t","currentIndex","findIndex","newIndex","key","preventDefault","length","newTab","tabButtons","shadowRoot","allTabIndex","focus","render","h","Host","class","part","role","onKeyDown","tabs__tab","type","tabindex","onClick","name"],"sources":["src/components/tabs/tabs.css?tag=ts-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["/* ==========================================================================\n ts-tabs — Shadow DOM Scoped Styles\n\n Component tokens (Tier 3):\n --ts-tabs-border-color Border color for tab bar\n --ts-tabs-active-color Active tab indicator color\n --ts-tabs-radius Border radius for enclosed/pill tabs\n ========================================================================== */\n\n:host {\n display: block;\n font-family: var(--ts-font-family-base);\n\n --ts-tabs-border-color: var(--ts-color-border-default);\n --ts-tabs-active-color: var(--ts-color-interactive-primary);\n --ts-tabs-radius: var(--ts-radius-md);\n}\n\n/* ---- Tab list ---- */\n.tabs__tablist {\n display: flex;\n gap: var(--ts-spacing-1);\n border-block-end: 2px solid var(--ts-tabs-border-color);\n}\n\n/* ---- Tab button base ---- */\n.tabs__tab {\n display: inline-flex;\n align-items: center;\n gap: var(--ts-spacing-1);\n border: none;\n background: transparent;\n font-family: inherit;\n font-weight: var(--ts-font-weight-semi);\n color: var(--ts-color-text-secondary);\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n transition:\n color var(--ts-transition-fast),\n background-color var(--ts-transition-fast),\n border-color var(--ts-transition-fast);\n outline: none;\n margin-block-end: -2px;\n border-block-end: 2px solid transparent;\n}\n\n.tabs__tab:focus-visible {\n box-shadow: var(--ts-focus-ring);\n}\n\n.tabs__tab:hover:not([disabled]) {\n color: var(--ts-color-text-primary);\n}\n\n/* ---- Active tab (line variant) ---- */\n.tabs__tab--active {\n color: var(--ts-tabs-active-color);\n border-block-end-color: var(--ts-tabs-active-color);\n}\n\n/* ---- Disabled ---- */\n.tabs__tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* ---- Sizes ---- */\n:host([size=\"sm\"]) .tabs__tab {\n padding: var(--ts-spacing-1) var(--ts-spacing-3);\n font-size: var(--ts-font-size-sm);\n}\n\n:host([size=\"md\"]) .tabs__tab {\n padding: var(--ts-spacing-2) var(--ts-spacing-4);\n font-size: var(--ts-font-size-md);\n}\n\n:host([size=\"lg\"]) .tabs__tab {\n padding: var(--ts-spacing-3) var(--ts-spacing-5);\n font-size: var(--ts-font-size-lg);\n}\n\n/* ---- Enclosed variant ---- */\n:host([variant=\"enclosed\"]) .tabs__tablist {\n gap: 0;\n border-block-end: 2px solid var(--ts-tabs-border-color);\n}\n\n:host([variant=\"enclosed\"]) .tabs__tab {\n border: 2px solid transparent;\n border-block-end: 2px solid var(--ts-tabs-border-color);\n border-start-start-radius: var(--ts-tabs-radius);\n border-start-end-radius: var(--ts-tabs-radius);\n margin-block-end: -2px;\n}\n\n:host([variant=\"enclosed\"]) .tabs__tab--active {\n border-color: var(--ts-tabs-border-color);\n border-block-end-color: var(--ts-color-bg-surface);\n background-color: var(--ts-color-bg-surface);\n color: var(--ts-tabs-active-color);\n}\n\n/* ---- Pill variant ---- */\n:host([variant=\"pill\"]) .tabs__tablist {\n border-block-end: none;\n gap: var(--ts-spacing-1);\n background-color: var(--ts-color-bg-subtle);\n border-radius: var(--ts-tabs-radius);\n padding: var(--ts-spacing-1);\n}\n\n:host([variant=\"pill\"]) .tabs__tab {\n border-block-end: none;\n border-radius: var(--ts-tabs-radius);\n margin-block-end: 0;\n}\n\n:host([variant=\"pill\"]) .tabs__tab--active {\n background-color: var(--ts-color-bg-surface);\n color: var(--ts-tabs-active-color);\n box-shadow: var(--ts-shadow-sm);\n}\n\n/* ---- Panels ---- */\n.tabs__panels {\n padding-block-start: var(--ts-spacing-4);\n}\n\n/* ---- Tab icon ---- */\n.tabs__tab-icon {\n font-size: 1em;\n}\n","import { Component, Prop, Event, h, Host, Element, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\n/**\n * @slot - Default slot for `ts-tab-panel` children.\n *\n * @part tablist - The tab button container.\n * @part tab - Each individual tab button.\n * @part tab-active - The currently active tab button.\n * @part panels - The panel container.\n */\n@Component({\n tag: 'ts-tabs',\n styleUrl: 'tabs.css',\n shadow: true,\n})\nexport class TsTabs {\n @Element() hostEl!: HTMLElement;\n\n /** The value of the currently active tab. */\n @Prop({ mutable: true, reflect: true }) value?: string;\n\n /** Visual variant of the tab bar. */\n @Prop({ reflect: true }) variant: 'line' | 'enclosed' | 'pill' = 'line';\n\n /** The size of the tab buttons. */\n @Prop({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Emitted when the active tab changes. */\n @Event({ eventName: 'tsChange' }) tsChange!: EventEmitter<{ value: string }>;\n\n @Watch('value')\n handleValueChange(): void {\n this.updatePanelVisibility();\n }\n\n componentDidLoad(): void {\n // Default to first non-disabled tab if no value set\n if (!this.value) {\n const panels = this.getPanels();\n const firstEnabled = panels.find((p) => !p.hasAttribute('disabled'));\n if (firstEnabled) {\n this.value = firstEnabled.getAttribute('value') || '';\n }\n }\n this.updatePanelVisibility();\n }\n\n private getPanels(): Element[] {\n return Array.from(this.hostEl.querySelectorAll('ts-tab-panel'));\n }\n\n private getTabData(): Array<{ tab: string; value: string; disabled: boolean; icon?: string }> {\n return this.getPanels().map((panel) => ({\n tab: panel.getAttribute('tab') || '',\n value: panel.getAttribute('value') || '',\n disabled: panel.hasAttribute('disabled'),\n icon: panel.getAttribute('icon') || undefined,\n }));\n }\n\n private updatePanelVisibility(): void {\n this.getPanels().forEach((panel) => {\n const isActive = panel.getAttribute('value') === this.value;\n (panel as HTMLElement).style.display = isActive ? '' : 'none';\n });\n }\n\n private handleTabClick(tabValue: string, disabled: boolean): void {\n if (disabled || tabValue === this.value) return;\n this.value = tabValue;\n this.tsChange.emit({ value: tabValue });\n this.updatePanelVisibility();\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n const tabs = this.getTabData();\n const enabledTabs = tabs.filter((t) => !t.disabled);\n const currentIndex = enabledTabs.findIndex((t) => t.value === this.value);\n\n let newIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (currentIndex + 1) % enabledTabs.length;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (currentIndex - 1 + enabledTabs.length) % enabledTabs.length;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = enabledTabs.length - 1;\n break;\n default:\n return;\n }\n\n const newTab = enabledTabs[newIndex];\n if (newTab) {\n this.value = newTab.value;\n this.tsChange.emit({ value: newTab.value });\n this.updatePanelVisibility();\n\n // Focus the new tab button\n const tabButtons = this.hostEl.shadowRoot?.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]');\n const allTabIndex = tabs.findIndex((t) => t.value === newTab.value);\n tabButtons?.[allTabIndex]?.focus();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const tabs = this.getTabData();\n\n return (\n <Host\n class={{\n 'ts-tabs': true,\n [`ts-tabs--${this.variant}`]: true,\n [`ts-tabs--${this.size}`]: true,\n }}\n >\n <div class=\"tabs__tablist\" part=\"tablist\" role=\"tablist\" onKeyDown={this.handleKeydown}>\n {tabs.map((t) => {\n const isActive = t.value === this.value;\n return (\n <button\n class={{\n 'tabs__tab': true,\n 'tabs__tab--active': isActive,\n 'tabs__tab--disabled': t.disabled,\n }}\n part={isActive ? 'tab tab-active' : 'tab'}\n role=\"tab\"\n type=\"button\"\n aria-selected={isActive ? 'true' : 'false'}\n aria-disabled={t.disabled ? 'true' : undefined}\n tabindex={isActive ? 0 : -1}\n disabled={t.disabled}\n onClick={() => this.handleTabClick(t.value, t.disabled)}\n >\n {t.icon && <ts-icon name={t.icon} class=\"tabs__tab-icon\" />}\n {t.tab}\n </button>\n );\n })}\n </div>\n <div class=\"tabs__panels\" part=\"panels\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAU,IAAM,k8E,MCgBTC,EAAMC,EAAA,MAAAD,UAAAE,E,2IAIuBC,MAGfC,QAAwC,OAGxCC,KAA2B,KAGlBC,SAGlC,iBAAAC,GACEC,KAAKC,uB,CAGP,gBAAAC,GAEE,IAAKF,KAAKL,MAAO,CACf,MAAMQ,EAASH,KAAKI,YACpB,MAAMC,EAAeF,EAAOG,MAAMC,IAAOA,EAAEC,aAAa,cACxD,GAAIH,EAAc,CAChBL,KAAKL,MAAQU,EAAaI,aAAa,UAAY,E,EAGvDT,KAAKC,uB,CAGC,SAAAG,GACN,OAAOM,MAAMC,KAAKX,KAAKY,OAAOC,iBAAiB,gB,CAGzC,UAAAC,GACN,OAAOd,KAAKI,YAAYW,KAAKC,IAAK,CAChCC,IAAKD,EAAMP,aAAa,QAAU,GAClCd,MAAOqB,EAAMP,aAAa,UAAY,GACtCS,SAAUF,EAAMR,aAAa,YAC7BW,KAAMH,EAAMP,aAAa,SAAWW,a,CAIhC,qBAAAnB,GACND,KAAKI,YAAYiB,SAASL,IACxB,MAAMM,EAAWN,EAAMP,aAAa,WAAaT,KAAKL,MACrDqB,EAAsBO,MAAMC,QAAUF,EAAW,GAAK,MAAM,G,CAIzD,cAAAG,CAAeC,EAAkBR,GACvC,GAAIA,GAAYQ,IAAa1B,KAAKL,MAAO,OACzCK,KAAKL,MAAQ+B,EACb1B,KAAKF,SAAS6B,KAAK,CAAEhC,MAAO+B,IAC5B1B,KAAKC,uB,CAGC2B,cAAiBC,IACvB,MAAMC,EAAO9B,KAAKc,aAClB,MAAMiB,EAAcD,EAAKE,QAAQC,IAAOA,EAAEf,WAC1C,MAAMgB,EAAeH,EAAYI,WAAWF,GAAMA,EAAEtC,QAAUK,KAAKL,QAEnE,IAAIyC,EAAWF,EAEf,OAAQL,EAAMQ,KACZ,IAAK,aACL,IAAK,YACHR,EAAMS,iBACNF,GAAYF,EAAe,GAAKH,EAAYQ,OAC5C,MACF,IAAK,YACL,IAAK,UACHV,EAAMS,iBACNF,GAAYF,EAAe,EAAIH,EAAYQ,QAAUR,EAAYQ,OACjE,MACF,IAAK,OACHV,EAAMS,iBACNF,EAAW,EACX,MACF,IAAK,MACHP,EAAMS,iBACNF,EAAWL,EAAYQ,OAAS,EAChC,MACF,QACE,OAGJ,MAAMC,EAAST,EAAYK,GAC3B,GAAII,EAAQ,CACVxC,KAAKL,MAAQ6C,EAAO7C,MACpBK,KAAKF,SAAS6B,KAAK,CAAEhC,MAAO6C,EAAO7C,QACnCK,KAAKC,wBAGL,MAAMwC,EAAazC,KAAKY,OAAO8B,YAAY7B,iBAAoC,gBAC/E,MAAM8B,EAAcb,EAAKK,WAAWF,GAAMA,EAAEtC,QAAU6C,EAAO7C,QAC7D8C,IAAaE,IAAcC,O,GAK/B,MAAAC,GACE,MAAMf,EAAO9B,KAAKc,aAElB,OACEgC,EAACC,EAAI,CAAAV,IAAA,2CACHW,MAAO,CACL,UAAW,KACX,CAAC,YAAYhD,KAAKJ,WAAY,KAC9B,CAAC,YAAYI,KAAKH,QAAS,OAG7BiD,EAAA,OAAAT,IAAA,2CAAKW,MAAM,gBAAgBC,KAAK,UAAUC,KAAK,UAAUC,UAAWnD,KAAK4B,eACtEE,EAAKf,KAAKkB,IACT,MAAMX,EAAWW,EAAEtC,QAAUK,KAAKL,MAClC,OACEmD,EAAA,UACEE,MAAO,CACLI,UAAa,KACb,oBAAqB9B,EACrB,sBAAuBW,EAAEf,UAE3B+B,KAAM3B,EAAW,iBAAmB,MACpC4B,KAAK,MACLG,KAAK,SAAQ,gBACE/B,EAAW,OAAS,QAAO,gBAC3BW,EAAEf,SAAW,OAASE,UACrCkC,SAAUhC,EAAW,GAAI,EACzBJ,SAAUe,EAAEf,SACZqC,QAAS,IAAMvD,KAAKyB,eAAeQ,EAAEtC,MAAOsC,EAAEf,WAE7Ce,EAAEd,MAAQ2B,EAAA,WAASU,KAAMvB,EAAEd,KAAM6B,MAAM,mBACvCf,EAAEhB,IACI,KAIf6B,EAAA,OAAAT,IAAA,2CAAKW,MAAM,eAAeC,KAAK,UAC7BH,EAAA,QAAAT,IAAA,8C","ignoreList":[]}