@sewadah/selaras 0.1.1 → 0.3.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 (385) hide show
  1. package/README.md +67 -20
  2. package/dist/module.d.mts +10 -0
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +123 -36
  5. package/dist/runtime/components/Accordion.d.vue.ts +3 -0
  6. package/dist/runtime/components/Accordion.vue +5 -1
  7. package/dist/runtime/components/Accordion.vue.d.ts +3 -0
  8. package/dist/runtime/components/Alert.d.vue.ts +2 -1
  9. package/dist/runtime/components/Alert.vue +6 -3
  10. package/dist/runtime/components/Alert.vue.d.ts +2 -1
  11. package/dist/runtime/components/AlertDialog.d.vue.ts +2 -0
  12. package/dist/runtime/components/AlertDialog.vue +21 -8
  13. package/dist/runtime/components/AlertDialog.vue.d.ts +2 -0
  14. package/dist/runtime/components/App.vue +9 -2
  15. package/dist/runtime/components/Autocomplete.d.vue.ts +22 -58
  16. package/dist/runtime/components/Autocomplete.vue +50 -11
  17. package/dist/runtime/components/Autocomplete.vue.d.ts +22 -58
  18. package/dist/runtime/components/Avatar.d.vue.ts +2 -1
  19. package/dist/runtime/components/Avatar.vue +4 -2
  20. package/dist/runtime/components/Avatar.vue.d.ts +2 -1
  21. package/dist/runtime/components/Badge.d.vue.ts +3 -2
  22. package/dist/runtime/components/Badge.vue +8 -5
  23. package/dist/runtime/components/Badge.vue.d.ts +3 -2
  24. package/dist/runtime/components/Breadcrumb.d.vue.ts +3 -0
  25. package/dist/runtime/components/Breadcrumb.vue +5 -2
  26. package/dist/runtime/components/Breadcrumb.vue.d.ts +3 -0
  27. package/dist/runtime/components/Button.d.vue.ts +5 -2
  28. package/dist/runtime/components/Button.vue +5 -2
  29. package/dist/runtime/components/Button.vue.d.ts +5 -2
  30. package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
  31. package/dist/runtime/components/Checkbox.vue +4 -2
  32. package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
  33. package/dist/runtime/components/Chip.d.vue.ts +2 -1
  34. package/dist/runtime/components/Chip.vue +4 -2
  35. package/dist/runtime/components/Chip.vue.d.ts +2 -1
  36. package/dist/runtime/components/Collapsible.d.vue.ts +3 -0
  37. package/dist/runtime/components/Collapsible.vue +11 -6
  38. package/dist/runtime/components/Collapsible.vue.d.ts +3 -0
  39. package/dist/runtime/components/ColorPicker.d.vue.ts +13 -3
  40. package/dist/runtime/components/ColorPicker.vue +60 -14
  41. package/dist/runtime/components/ColorPicker.vue.d.ts +13 -3
  42. package/dist/runtime/components/Column.d.ts +1 -1
  43. package/dist/runtime/components/CommandPalette.vue +18 -16
  44. package/dist/runtime/components/ContentNavigation.d.vue.ts +3 -0
  45. package/dist/runtime/components/ContentNavigation.vue +6 -3
  46. package/dist/runtime/components/ContentNavigation.vue.d.ts +3 -0
  47. package/dist/runtime/components/ContentSurround.d.vue.ts +3 -0
  48. package/dist/runtime/components/ContentSurround.vue +7 -4
  49. package/dist/runtime/components/ContentSurround.vue.d.ts +3 -0
  50. package/dist/runtime/components/ContentToc.d.vue.ts +3 -0
  51. package/dist/runtime/components/ContentToc.vue +22 -12
  52. package/dist/runtime/components/ContentToc.vue.d.ts +3 -0
  53. package/dist/runtime/components/ContextMenu.vue +3 -2
  54. package/dist/runtime/components/DashboardSidebar.vue +1 -1
  55. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +1 -0
  56. package/dist/runtime/components/DashboardSidebarToggle.vue +3 -1
  57. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +1 -0
  58. package/dist/runtime/components/DatePicker.d.vue.ts +32 -23
  59. package/dist/runtime/components/DatePicker.vue +130 -60
  60. package/dist/runtime/components/DatePicker.vue.d.ts +32 -23
  61. package/dist/runtime/components/Drawer.d.vue.ts +2 -0
  62. package/dist/runtime/components/Drawer.vue +21 -8
  63. package/dist/runtime/components/Drawer.vue.d.ts +2 -0
  64. package/dist/runtime/components/DrawerRenderer.vue +28 -21
  65. package/dist/runtime/components/Dropdown.d.vue.ts +14 -4
  66. package/dist/runtime/components/Dropdown.vue +19 -4
  67. package/dist/runtime/components/Dropdown.vue.d.ts +14 -4
  68. package/dist/runtime/components/FileTree.d.vue.ts +3 -0
  69. package/dist/runtime/components/FileTree.vue +7 -3
  70. package/dist/runtime/components/FileTree.vue.d.ts +3 -0
  71. package/dist/runtime/components/FileUpload.d.vue.ts +2 -1
  72. package/dist/runtime/components/FileUpload.vue +75 -32
  73. package/dist/runtime/components/FileUpload.vue.d.ts +2 -1
  74. package/dist/runtime/components/FormField.d.vue.ts +2 -0
  75. package/dist/runtime/components/FormField.vue +12 -9
  76. package/dist/runtime/components/FormField.vue.d.ts +2 -0
  77. package/dist/runtime/components/Icon.d.vue.ts +2 -4
  78. package/dist/runtime/components/Icon.vue +7 -2
  79. package/dist/runtime/components/Icon.vue.d.ts +2 -4
  80. package/dist/runtime/components/Input.d.vue.ts +2 -1
  81. package/dist/runtime/components/Input.vue +12 -6
  82. package/dist/runtime/components/Input.vue.d.ts +2 -1
  83. package/dist/runtime/components/InputNumber.d.vue.ts +4 -1
  84. package/dist/runtime/components/InputNumber.vue +21 -8
  85. package/dist/runtime/components/InputNumber.vue.d.ts +4 -1
  86. package/dist/runtime/components/Modal.d.vue.ts +2 -0
  87. package/dist/runtime/components/Modal.vue +21 -8
  88. package/dist/runtime/components/Modal.vue.d.ts +2 -0
  89. package/dist/runtime/components/ModalRenderer.vue +23 -16
  90. package/dist/runtime/components/NavigationMenu.d.vue.ts +2 -4
  91. package/dist/runtime/components/NavigationMenu.vue +8 -4
  92. package/dist/runtime/components/NavigationMenu.vue.d.ts +2 -4
  93. package/dist/runtime/components/NavigationMenuAccordionItem.d.vue.ts +2 -4
  94. package/dist/runtime/components/NavigationMenuAccordionItem.vue +5 -3
  95. package/dist/runtime/components/NavigationMenuAccordionItem.vue.d.ts +2 -4
  96. package/dist/runtime/components/NavigationMenuFlyoutList.d.vue.ts +2 -4
  97. package/dist/runtime/components/NavigationMenuFlyoutList.vue +7 -4
  98. package/dist/runtime/components/NavigationMenuFlyoutList.vue.d.ts +2 -4
  99. package/dist/runtime/components/NavigationMenuFlyoutTrigger.d.vue.ts +2 -4
  100. package/dist/runtime/components/NavigationMenuFlyoutTrigger.vue +9 -2
  101. package/dist/runtime/components/NavigationMenuFlyoutTrigger.vue.d.ts +2 -4
  102. package/dist/runtime/components/Pagination.d.vue.ts +3 -2
  103. package/dist/runtime/components/Pagination.vue.d.ts +3 -2
  104. package/dist/runtime/components/PinInput.d.vue.ts +2 -1
  105. package/dist/runtime/components/PinInput.vue +17 -6
  106. package/dist/runtime/components/PinInput.vue.d.ts +2 -1
  107. package/dist/runtime/components/Popover.d.vue.ts +2 -0
  108. package/dist/runtime/components/Popover.vue +14 -7
  109. package/dist/runtime/components/Popover.vue.d.ts +2 -0
  110. package/dist/runtime/components/Progress.d.vue.ts +2 -1
  111. package/dist/runtime/components/Progress.vue +6 -4
  112. package/dist/runtime/components/Progress.vue.d.ts +2 -1
  113. package/dist/runtime/components/ProseH1.d.vue.ts +2 -0
  114. package/dist/runtime/components/ProseH1.vue +7 -4
  115. package/dist/runtime/components/ProseH1.vue.d.ts +2 -0
  116. package/dist/runtime/components/ProseH2.d.vue.ts +2 -0
  117. package/dist/runtime/components/ProseH2.vue +7 -4
  118. package/dist/runtime/components/ProseH2.vue.d.ts +2 -0
  119. package/dist/runtime/components/ProseH3.d.vue.ts +2 -0
  120. package/dist/runtime/components/ProseH3.vue +7 -4
  121. package/dist/runtime/components/ProseH3.vue.d.ts +2 -0
  122. package/dist/runtime/components/ProseH4.d.vue.ts +2 -0
  123. package/dist/runtime/components/ProseH4.vue +7 -4
  124. package/dist/runtime/components/ProseH4.vue.d.ts +2 -0
  125. package/dist/runtime/components/ProseH5.d.vue.ts +2 -0
  126. package/dist/runtime/components/ProseH5.vue +7 -4
  127. package/dist/runtime/components/ProseH5.vue.d.ts +2 -0
  128. package/dist/runtime/components/ProseH6.d.vue.ts +2 -0
  129. package/dist/runtime/components/ProseH6.vue +7 -4
  130. package/dist/runtime/components/ProseH6.vue.d.ts +2 -0
  131. package/dist/runtime/components/ProsePre.d.vue.ts +4 -2
  132. package/dist/runtime/components/ProsePre.vue +9 -3
  133. package/dist/runtime/components/ProsePre.vue.d.ts +4 -2
  134. package/dist/runtime/components/RadioGroup.d.vue.ts +2 -1
  135. package/dist/runtime/components/RadioGroup.vue +9 -5
  136. package/dist/runtime/components/RadioGroup.vue.d.ts +2 -1
  137. package/dist/runtime/components/Rating.d.vue.ts +2 -1
  138. package/dist/runtime/components/Rating.vue +4 -1
  139. package/dist/runtime/components/Rating.vue.d.ts +2 -1
  140. package/dist/runtime/components/ReadMore.d.vue.ts +3 -0
  141. package/dist/runtime/components/ReadMore.vue +24 -6
  142. package/dist/runtime/components/ReadMore.vue.d.ts +3 -0
  143. package/dist/runtime/components/Select.d.vue.ts +21 -57
  144. package/dist/runtime/components/Select.vue +58 -9
  145. package/dist/runtime/components/Select.vue.d.ts +21 -57
  146. package/dist/runtime/components/Separator.d.vue.ts +2 -1
  147. package/dist/runtime/components/Separator.vue +4 -2
  148. package/dist/runtime/components/Separator.vue.d.ts +2 -1
  149. package/dist/runtime/components/Slideover.d.vue.ts +2 -0
  150. package/dist/runtime/components/Slideover.vue +21 -8
  151. package/dist/runtime/components/Slideover.vue.d.ts +2 -0
  152. package/dist/runtime/components/SlideoverRenderer.vue +25 -18
  153. package/dist/runtime/components/Slider.d.vue.ts +2 -1
  154. package/dist/runtime/components/Slider.vue +4 -1
  155. package/dist/runtime/components/Slider.vue.d.ts +2 -1
  156. package/dist/runtime/components/SplitterResizeHandle.d.vue.ts +3 -0
  157. package/dist/runtime/components/SplitterResizeHandle.vue +5 -2
  158. package/dist/runtime/components/SplitterResizeHandle.vue.d.ts +3 -0
  159. package/dist/runtime/components/Stepper.d.vue.ts +2 -1
  160. package/dist/runtime/components/Stepper.vue +4 -1
  161. package/dist/runtime/components/Stepper.vue.d.ts +2 -1
  162. package/dist/runtime/components/Switch.d.vue.ts +2 -1
  163. package/dist/runtime/components/Switch.vue +4 -2
  164. package/dist/runtime/components/Switch.vue.d.ts +2 -1
  165. package/dist/runtime/components/Table.d.vue.ts +28 -80
  166. package/dist/runtime/components/Table.vue +25 -13
  167. package/dist/runtime/components/Table.vue.d.ts +28 -80
  168. package/dist/runtime/components/Tabs.d.vue.ts +3 -0
  169. package/dist/runtime/components/Tabs.vue +5 -1
  170. package/dist/runtime/components/Tabs.vue.d.ts +3 -0
  171. package/dist/runtime/components/Textarea.d.vue.ts +2 -1
  172. package/dist/runtime/components/Textarea.vue +11 -6
  173. package/dist/runtime/components/Textarea.vue.d.ts +2 -1
  174. package/dist/runtime/components/Theme.d.vue.ts +16 -5
  175. package/dist/runtime/components/Theme.vue +30 -5
  176. package/dist/runtime/components/Theme.vue.d.ts +16 -5
  177. package/dist/runtime/components/Toast.vue +11 -39
  178. package/dist/runtime/components/Toggle.d.vue.ts +2 -1
  179. package/dist/runtime/components/Toggle.vue +4 -1
  180. package/dist/runtime/components/Toggle.vue.d.ts +2 -1
  181. package/dist/runtime/components/ToggleGroup.d.vue.ts +2 -1
  182. package/dist/runtime/components/ToggleGroup.vue +4 -1
  183. package/dist/runtime/components/ToggleGroup.vue.d.ts +2 -1
  184. package/dist/runtime/components/Tooltip.vue +3 -2
  185. package/dist/runtime/components/Tree.d.vue.ts +5 -2
  186. package/dist/runtime/components/Tree.vue +5 -1
  187. package/dist/runtime/components/Tree.vue.d.ts +5 -2
  188. package/dist/runtime/composables/use-drawer.d.ts +1 -22
  189. package/dist/runtime/composables/use-drawer.js +12 -18
  190. package/dist/runtime/composables/use-form-field.d.ts +1 -0
  191. package/dist/runtime/composables/use-icons.d.ts +2 -2
  192. package/dist/runtime/composables/use-icons.js +1 -1
  193. package/dist/runtime/composables/use-locale.d.ts +2 -2
  194. package/dist/runtime/composables/use-locale.js +1 -1
  195. package/dist/runtime/composables/use-media-query.d.ts +6 -8
  196. package/dist/runtime/composables/use-media-query.js +7 -2
  197. package/dist/runtime/composables/use-messages.d.ts +2 -2
  198. package/dist/runtime/composables/use-messages.js +1 -1
  199. package/dist/runtime/composables/use-modal.d.ts +1 -17
  200. package/dist/runtime/composables/use-modal.js +12 -18
  201. package/dist/runtime/composables/use-ripple.d.ts +2 -2
  202. package/dist/runtime/composables/use-ripple.js +1 -1
  203. package/dist/runtime/composables/use-slideover.d.ts +1 -19
  204. package/dist/runtime/composables/use-slideover.js +12 -18
  205. package/dist/runtime/composables/use-table.d.ts +74 -17
  206. package/dist/runtime/composables/use-table.js +4 -1
  207. package/dist/runtime/composables/use-toast.d.ts +8 -8
  208. package/dist/runtime/composables/use-toast.js +9 -11
  209. package/dist/runtime/default-color-metadata.d.ts +4 -0
  210. package/dist/runtime/default-color-metadata.js +4 -0
  211. package/dist/runtime/default-colors.css +1 -0
  212. package/dist/runtime/internal/ColorPickerBody.d.vue.ts +1 -0
  213. package/dist/runtime/internal/ColorPickerBody.vue +24 -1
  214. package/dist/runtime/internal/ColorPickerBody.vue.d.ts +1 -0
  215. package/dist/runtime/internal/ComboboxSelectBase.d.vue.ts +50 -46
  216. package/dist/runtime/internal/ComboboxSelectBase.vue +340 -93
  217. package/dist/runtime/internal/ComboboxSelectBase.vue.d.ts +50 -46
  218. package/dist/runtime/internal/ComboboxSelectBody.d.vue.ts +29 -23
  219. package/dist/runtime/internal/ComboboxSelectBody.vue +74 -40
  220. package/dist/runtime/internal/ComboboxSelectBody.vue.d.ts +29 -23
  221. package/dist/runtime/internal/DatePickerCalendarBody.d.vue.ts +3 -5
  222. package/dist/runtime/internal/DatePickerCalendarBody.vue +2 -2
  223. package/dist/runtime/internal/DatePickerCalendarBody.vue.d.ts +3 -5
  224. package/dist/runtime/internal/DatePickerRangeCalendarBody.d.vue.ts +3 -5
  225. package/dist/runtime/internal/DatePickerRangeCalendarBody.vue +1 -1
  226. package/dist/runtime/internal/DatePickerRangeCalendarBody.vue.d.ts +3 -5
  227. package/dist/runtime/internal/DatePickerTimeBody.d.vue.ts +2 -4
  228. package/dist/runtime/internal/DatePickerTimeBody.vue.d.ts +2 -4
  229. package/dist/runtime/internal/ProgrammaticTheme.d.vue.ts +17 -0
  230. package/dist/runtime/internal/ProgrammaticTheme.vue +41 -0
  231. package/dist/runtime/internal/ProgrammaticTheme.vue.d.ts +17 -0
  232. package/dist/runtime/internal/TimeStepper.vue +1 -1
  233. package/dist/runtime/internal/ToastItemRenderer.d.vue.ts +14 -0
  234. package/dist/runtime/internal/ToastItemRenderer.vue +54 -0
  235. package/dist/runtime/internal/ToastItemRenderer.vue.d.ts +14 -0
  236. package/dist/runtime/internal/combobox-select.d.ts +52 -0
  237. package/dist/runtime/{composables/use-combobox-select.js → internal/combobox-select.js} +26 -11
  238. package/dist/runtime/internal/programmatic-services.d.ts +71 -0
  239. package/dist/runtime/internal/programmatic-services.js +61 -0
  240. package/dist/runtime/prose.css +1 -1
  241. package/dist/runtime/structural.css +1 -0
  242. package/dist/runtime/table.d.ts +3 -0
  243. package/dist/runtime/table.js +1 -0
  244. package/dist/runtime/theme/accordion.d.ts +27 -0
  245. package/dist/runtime/theme/accordion.js +15 -6
  246. package/dist/runtime/theme/alert-dialog.js +5 -5
  247. package/dist/runtime/theme/alert.js +6 -15
  248. package/dist/runtime/theme/avatar-group.js +2 -2
  249. package/dist/runtime/theme/avatar.js +12 -18
  250. package/dist/runtime/theme/badge.d.ts +39 -9
  251. package/dist/runtime/theme/badge.js +11 -40
  252. package/dist/runtime/theme/breadcrumb.d.ts +29 -47
  253. package/dist/runtime/theme/breadcrumb.js +16 -5
  254. package/dist/runtime/theme/button.d.ts +45 -15
  255. package/dist/runtime/theme/button.js +10 -57
  256. package/dist/runtime/theme/callout.js +7 -7
  257. package/dist/runtime/theme/card.js +7 -7
  258. package/dist/runtime/theme/checkbox.d.ts +21 -84
  259. package/dist/runtime/theme/checkbox.js +15 -36
  260. package/dist/runtime/theme/chip.js +4 -22
  261. package/dist/runtime/theme/code-button.js +2 -2
  262. package/dist/runtime/theme/code-tree.d.ts +3 -3
  263. package/dist/runtime/theme/code-tree.js +4 -4
  264. package/dist/runtime/theme/collapsible.d.ts +27 -0
  265. package/dist/runtime/theme/collapsible.js +12 -3
  266. package/dist/runtime/theme/color-picker.d.ts +18 -54
  267. package/dist/runtime/theme/color-picker.js +19 -18
  268. package/dist/runtime/theme/command-palette.d.ts +6 -6
  269. package/dist/runtime/theme/command-palette.js +12 -10
  270. package/dist/runtime/theme/content-navigation.d.ts +27 -0
  271. package/dist/runtime/theme/content-navigation.js +14 -5
  272. package/dist/runtime/theme/content-surround.d.ts +27 -0
  273. package/dist/runtime/theme/content-surround.js +13 -4
  274. package/dist/runtime/theme/content-toc.d.ts +27 -0
  275. package/dist/runtime/theme/content-toc.js +14 -5
  276. package/dist/runtime/theme/context-menu.js +7 -7
  277. package/dist/runtime/theme/dashboard-navbar.d.ts +6 -6
  278. package/dist/runtime/theme/dashboard-navbar.js +2 -2
  279. package/dist/runtime/theme/dashboard-resize-handle.js +3 -3
  280. package/dist/runtime/theme/dashboard-sidebar.js +3 -3
  281. package/dist/runtime/theme/date-picker.js +10 -10
  282. package/dist/runtime/theme/drawer.js +9 -9
  283. package/dist/runtime/theme/dropdown.js +7 -7
  284. package/dist/runtime/theme/file-tree.d.ts +27 -0
  285. package/dist/runtime/theme/file-tree.js +12 -3
  286. package/dist/runtime/theme/file-upload.d.ts +18 -72
  287. package/dist/runtime/theme/file-upload.js +20 -19
  288. package/dist/runtime/theme/form-field.js +5 -5
  289. package/dist/runtime/theme/header.d.ts +3 -3
  290. package/dist/runtime/theme/header.js +1 -1
  291. package/dist/runtime/theme/icon.d.ts +30 -57
  292. package/dist/runtime/theme/icon.js +19 -9
  293. package/dist/runtime/theme/input-number.d.ts +21 -63
  294. package/dist/runtime/theme/input-number.js +12 -12
  295. package/dist/runtime/theme/input.d.ts +21 -63
  296. package/dist/runtime/theme/input.js +12 -12
  297. package/dist/runtime/theme/kbd.js +1 -1
  298. package/dist/runtime/theme/modal.js +4 -4
  299. package/dist/runtime/theme/navigation-menu.d.ts +2 -0
  300. package/dist/runtime/theme/navigation-menu.js +17 -28
  301. package/dist/runtime/theme/page-header.js +3 -3
  302. package/dist/runtime/theme/pagination.js +1 -1
  303. package/dist/runtime/theme/pin-input.d.ts +21 -63
  304. package/dist/runtime/theme/pin-input.js +13 -11
  305. package/dist/runtime/theme/popover.js +2 -2
  306. package/dist/runtime/theme/progress.d.ts +21 -84
  307. package/dist/runtime/theme/progress.js +12 -12
  308. package/dist/runtime/theme/prose.d.ts +35 -50
  309. package/dist/runtime/theme/prose.js +24 -11
  310. package/dist/runtime/theme/radio-group.d.ts +21 -84
  311. package/dist/runtime/theme/radio-group.js +16 -22
  312. package/dist/runtime/theme/rating.d.ts +21 -63
  313. package/dist/runtime/theme/rating.js +10 -10
  314. package/dist/runtime/theme/read-more.d.ts +27 -0
  315. package/dist/runtime/theme/read-more.js +13 -4
  316. package/dist/runtime/theme/scroll-area.d.ts +3 -3
  317. package/dist/runtime/theme/scroll-area.js +2 -2
  318. package/dist/runtime/theme/select.d.ts +21 -54
  319. package/dist/runtime/theme/select.js +32 -24
  320. package/dist/runtime/theme/separator.d.ts +18 -54
  321. package/dist/runtime/theme/separator.js +16 -12
  322. package/dist/runtime/theme/skeleton.js +4 -4
  323. package/dist/runtime/theme/slideover.js +5 -5
  324. package/dist/runtime/theme/slider.d.ts +21 -84
  325. package/dist/runtime/theme/slider.js +14 -14
  326. package/dist/runtime/theme/splitter-resize-handle.d.ts +27 -0
  327. package/dist/runtime/theme/splitter-resize-handle.js +11 -1
  328. package/dist/runtime/theme/stepper.d.ts +21 -84
  329. package/dist/runtime/theme/stepper.js +12 -33
  330. package/dist/runtime/theme/switch.d.ts +21 -84
  331. package/dist/runtime/theme/switch.js +13 -13
  332. package/dist/runtime/theme/table.d.ts +27 -0
  333. package/dist/runtime/theme/table.js +31 -21
  334. package/dist/runtime/theme/tabs.d.ts +27 -0
  335. package/dist/runtime/theme/tabs.js +17 -7
  336. package/dist/runtime/theme/textarea.d.ts +21 -63
  337. package/dist/runtime/theme/textarea.js +12 -12
  338. package/dist/runtime/theme/toast.d.ts +12 -48
  339. package/dist/runtime/theme/toast.js +9 -9
  340. package/dist/runtime/theme/toggle-group.js +5 -11
  341. package/dist/runtime/theme/toggle.js +2 -12
  342. package/dist/runtime/theme/tooltip.d.ts +3 -3
  343. package/dist/runtime/theme/tooltip.js +3 -3
  344. package/dist/runtime/theme/tree.d.ts +27 -0
  345. package/dist/runtime/theme/tree.js +13 -3
  346. package/dist/runtime/theme-api.d.ts +15 -0
  347. package/dist/runtime/theme-api.js +12 -0
  348. package/dist/runtime/theme-config.d.ts +470 -0
  349. package/dist/runtime/theme-config.js +0 -0
  350. package/dist/runtime/theme.css +1 -1
  351. package/dist/runtime/types/app-config.d.ts +11 -8
  352. package/dist/runtime/types/index.d.ts +19 -1
  353. package/dist/runtime/utils/app-scoped-state.d.ts +2 -0
  354. package/dist/runtime/utils/app-scoped-state.js +13 -0
  355. package/dist/runtime/utils/autocomplete-contracts.d.ts +24 -0
  356. package/dist/runtime/utils/autocomplete-contracts.js +0 -0
  357. package/dist/runtime/utils/color-registry.d.ts +62 -0
  358. package/dist/runtime/utils/color-registry.js +191 -0
  359. package/dist/runtime/utils/dtcg-colors.d.ts +25 -0
  360. package/dist/runtime/utils/dtcg-colors.js +40 -0
  361. package/dist/runtime/utils/file-icons.d.ts +8 -0
  362. package/dist/runtime/utils/file-icons.js +131 -0
  363. package/dist/runtime/utils/functional-tokens.d.ts +26 -0
  364. package/dist/runtime/utils/functional-tokens.js +54 -0
  365. package/dist/runtime/utils/icons.d.ts +3 -0
  366. package/dist/runtime/utils/icons.js +4 -0
  367. package/dist/runtime/utils/injection-keys.d.ts +12 -3
  368. package/dist/runtime/utils/native-input.d.ts +5 -0
  369. package/dist/runtime/utils/native-input.js +32 -0
  370. package/dist/runtime/utils/navigation-menu.d.ts +3 -0
  371. package/dist/runtime/utils/programmatic-theme.d.ts +17 -0
  372. package/dist/runtime/utils/programmatic-theme.js +59 -0
  373. package/dist/runtime/utils/registered-colors.d.ts +3 -0
  374. package/dist/runtime/utils/registered-colors.js +14 -0
  375. package/dist/runtime/utils/seed-colors.d.ts +19 -0
  376. package/dist/runtime/utils/seed-colors.js +207 -0
  377. package/dist/runtime/utils/select-contracts.d.ts +101 -0
  378. package/dist/runtime/utils/select-contracts.js +0 -0
  379. package/dist/runtime/utils/table-contracts.d.ts +60 -0
  380. package/dist/runtime/utils/table-contracts.js +0 -0
  381. package/dist/runtime/utils/ui.d.ts +26 -4
  382. package/dist/runtime/utils/ui.js +38 -5
  383. package/dist/tokens/default-colors.tokens.json +879 -0
  384. package/package.json +83 -16
  385. package/dist/runtime/composables/use-combobox-select.d.ts +0 -45
@@ -20,27 +20,13 @@ export declare const textareaTheme: import("tailwind-variants").TVReturnType<{
20
20
  };
21
21
  };
22
22
  color: {
23
- primary: {
24
- base: string;
25
- };
26
- neutral: {
27
- base: string;
28
- };
29
- secondary: {
30
- base: string;
31
- };
32
- success: {
33
- base: string;
34
- };
35
- danger: {
36
- base: string;
37
- };
38
- info: {
39
- base: string;
40
- };
41
- warning: {
42
- base: string;
43
- };
23
+ primary: "";
24
+ neutral: "";
25
+ secondary: "";
26
+ success: "";
27
+ danger: "";
28
+ info: "";
29
+ warning: "";
44
30
  };
45
31
  hasLeadingIcon: {
46
32
  true: {
@@ -90,27 +76,13 @@ export declare const textareaTheme: import("tailwind-variants").TVReturnType<{
90
76
  };
91
77
  };
92
78
  color: {
93
- primary: {
94
- base: string;
95
- };
96
- neutral: {
97
- base: string;
98
- };
99
- secondary: {
100
- base: string;
101
- };
102
- success: {
103
- base: string;
104
- };
105
- danger: {
106
- base: string;
107
- };
108
- info: {
109
- base: string;
110
- };
111
- warning: {
112
- base: string;
113
- };
79
+ primary: "";
80
+ neutral: "";
81
+ secondary: "";
82
+ success: "";
83
+ danger: "";
84
+ info: "";
85
+ warning: "";
114
86
  };
115
87
  hasLeadingIcon: {
116
88
  true: {
@@ -160,27 +132,13 @@ export declare const textareaTheme: import("tailwind-variants").TVReturnType<{
160
132
  };
161
133
  };
162
134
  color: {
163
- primary: {
164
- base: string;
165
- };
166
- neutral: {
167
- base: string;
168
- };
169
- secondary: {
170
- base: string;
171
- };
172
- success: {
173
- base: string;
174
- };
175
- danger: {
176
- base: string;
177
- };
178
- info: {
179
- base: string;
180
- };
181
- warning: {
182
- base: string;
183
- };
135
+ primary: "";
136
+ neutral: "";
137
+ secondary: "";
138
+ success: "";
139
+ danger: "";
140
+ info: "";
141
+ warning: "";
184
142
  };
185
143
  hasLeadingIcon: {
186
144
  true: {
@@ -4,13 +4,13 @@ export const textareaTheme = tv({
4
4
  root: "relative w-full",
5
5
  // not-focus: on the hover ring - see input.ts's own base slot for why
6
6
  // (same fix, same reasoning).
7
- base: "w-full resize-y rounded-[var(--ui-radius-md)] bg-[var(--ui-bg)] px-3 py-2 text-sm text-[var(--ui-text)] ring-1 ring-inset ring-[var(--ui-border)] placeholder:text-[var(--ui-text-muted)] outline-none transition-[color,background-color,box-shadow] not-focus:hover:ring-[var(--ui-border-hover)] hover:bg-[var(--ui-bg-elevated)] focus:ring-2 disabled:opacity-50 disabled:pointer-events-none disabled:resize-none",
7
+ base: "w-full resize-y rounded-[var(--selaras-resolved-radius-md)] bg-[var(--selaras-resolved-surface-default)] px-3 py-2 text-sm text-[var(--selaras-resolved-text-default)] ring-1 ring-inset ring-[var(--selaras-resolved-border-default)] placeholder:text-[var(--selaras-resolved-text-muted)] outline-none transition-[color,background-color,box-shadow] not-focus:hover:ring-[var(--selaras-resolved-border-hover)] hover:bg-[var(--selaras-resolved-surface-elevated)] focus:ring-2 focus:ring-[var(--_selaras-color-focus)] disabled:opacity-50 disabled:pointer-events-none disabled:resize-none",
8
8
  // Anchored to the top corner (`top-2.5`), not vertically centered the
9
9
  // way Input's own icons are - once content wraps past one line,
10
10
  // centering against the whole (variable) box height would drift the
11
11
  // icon away from the first line of text it's meant to sit beside.
12
- leadingIcon: "absolute start-3 top-2.5 shrink-0 text-[var(--ui-text-muted)]",
13
- trailingIcon: "absolute end-3 top-2.5 shrink-0 text-[var(--ui-text-muted)]",
12
+ leadingIcon: "absolute start-3 top-2.5 shrink-0 text-[var(--selaras-resolved-text-muted)]",
13
+ trailingIcon: "absolute end-3 top-2.5 shrink-0 text-[var(--selaras-resolved-text-muted)]",
14
14
  clear: "absolute end-1 top-1 shrink-0 rounded-full"
15
15
  },
16
16
  variants: {
@@ -19,16 +19,16 @@ export const textareaTheme = tv({
19
19
  md: { base: "text-sm", leadingIcon: "size-4.5", trailingIcon: "size-4.5", clear: "size-9" },
20
20
  lg: { base: "text-base", leadingIcon: "size-5", trailingIcon: "size-5", clear: "size-10" }
21
21
  },
22
- // Focus-ring color only - the resting ring stays --ui-border regardless
22
+ // Focus-ring color only - the resting ring stays --selaras-resolved-border-default regardless
23
23
  // of `color`, matching Input's own scope (see input.ts).
24
24
  color: {
25
- primary: { base: "focus:ring-[var(--ui-primary)]" },
26
- neutral: { base: "focus:ring-[var(--ui-bg-inverted)]" },
27
- secondary: { base: "focus:ring-[var(--ui-secondary)]" },
28
- success: { base: "focus:ring-[var(--ui-success)]" },
29
- danger: { base: "focus:ring-[var(--ui-danger)]" },
30
- info: { base: "focus:ring-[var(--ui-info)]" },
31
- warning: { base: "focus:ring-[var(--ui-warning)]" }
25
+ primary: "",
26
+ neutral: "",
27
+ secondary: "",
28
+ success: "",
29
+ danger: "",
30
+ info: "",
31
+ warning: ""
32
32
  },
33
33
  hasLeadingIcon: {
34
34
  true: { base: "ps-9" }
@@ -46,7 +46,7 @@ export const textareaTheme = tv({
46
46
  // override win over color's - see input.ts for why declaration order
47
47
  // (not runtime call order) is what decides this.
48
48
  invalid: {
49
- true: { base: "ring-[var(--ui-danger)] hover:ring-[var(--ui-danger)] focus:ring-[var(--ui-danger)]" }
49
+ true: { base: "ring-[var(--_selaras-color-border)] hover:ring-[var(--_selaras-color-border)] focus:ring-[var(--_selaras-color-focus)]" }
50
50
  }
51
51
  },
52
52
  defaultVariants: {
@@ -1,21 +1,9 @@
1
1
  export declare const toastTheme: import("tailwind-variants").TVReturnType<{
2
2
  color: {
3
- success: {
4
- icon: string;
5
- root: string;
6
- };
7
- danger: {
8
- icon: string;
9
- root: string;
10
- };
11
- warning: {
12
- icon: string;
13
- root: string;
14
- };
15
- info: {
16
- icon: string;
17
- root: string;
18
- };
3
+ success: "";
4
+ danger: "";
5
+ warning: "";
6
+ info: "";
19
7
  };
20
8
  }, {
21
9
  viewport: string;
@@ -26,22 +14,10 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
26
14
  close: string;
27
15
  }, undefined, {
28
16
  color: {
29
- success: {
30
- icon: string;
31
- root: string;
32
- };
33
- danger: {
34
- icon: string;
35
- root: string;
36
- };
37
- warning: {
38
- icon: string;
39
- root: string;
40
- };
41
- info: {
42
- icon: string;
43
- root: string;
44
- };
17
+ success: "";
18
+ danger: "";
19
+ warning: "";
20
+ info: "";
45
21
  };
46
22
  }, {
47
23
  viewport: string;
@@ -52,22 +28,10 @@ export declare const toastTheme: import("tailwind-variants").TVReturnType<{
52
28
  close: string;
53
29
  }, import("tailwind-variants").TVReturnTypeLike<{
54
30
  color: {
55
- success: {
56
- icon: string;
57
- root: string;
58
- };
59
- danger: {
60
- icon: string;
61
- root: string;
62
- };
63
- warning: {
64
- icon: string;
65
- root: string;
66
- };
67
- info: {
68
- icon: string;
69
- root: string;
70
- };
31
+ success: "";
32
+ danger: "";
33
+ warning: "";
34
+ info: "";
71
35
  };
72
36
  }, {
73
37
  viewport: string;
@@ -1,14 +1,14 @@
1
1
  import { tv } from "tailwind-variants";
2
2
  export const toastTheme = tv({
3
3
  slots: {
4
- viewport: "fixed bottom-0 end-0 z-[var(--ui-z-toast)] flex w-full max-w-sm flex-col gap-2 p-4 outline-none",
5
- root: "relative flex items-start gap-3 rounded-[var(--ui-radius-md)] bg-[var(--ui-bg)] p-4 pe-10 shadow-[var(--ui-shadow-lg)] ring-1 ring-[var(--ui-border)] data-[state=open]:animate-in data-[state=open]:slide-in-from-bottom-2 data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-end-full",
6
- title: "text-sm font-medium text-[var(--ui-text)]",
7
- description: "mt-1 text-sm text-[var(--ui-text-muted)]",
4
+ viewport: "fixed bottom-0 end-0 z-[var(--selaras-resolved-z-toast)] flex w-full max-w-sm flex-col gap-2 p-4 outline-none",
5
+ root: "relative flex items-start gap-3 rounded-[var(--selaras-resolved-radius-md)] bg-[var(--selaras-resolved-surface-default)] p-4 pe-10 shadow-[var(--selaras-resolved-shadow-lg)] ring-1 ring-[var(--selaras-resolved-border-default)] border-s-2 border-s-[var(--_selaras-color-fill,var(--selaras-resolved-border-default))] data-[state=open]:animate-in data-[state=open]:slide-in-from-bottom-2 data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-end-full",
6
+ title: "text-sm font-medium text-[var(--selaras-resolved-text-default)]",
7
+ description: "mt-1 text-sm text-[var(--selaras-resolved-text-muted)]",
8
8
  // Base (no color set) is a plain neutral glyph - only shown at all when
9
9
  // `icon` is set without a `color`, since a colorless toast otherwise
10
10
  // has nothing to render here.
11
- icon: "size-5 shrink-0 text-[var(--ui-text-muted)]",
11
+ icon: "size-5 shrink-0 text-[var(--_selaras-color-fill,var(--selaras-resolved-text-muted))]",
12
12
  // Rendered as an <SButton> (ghost/neutral) - real chrome, focus ring and
13
13
  // touch target now come from Button's own theme; rounded-full overrides
14
14
  // its default rounded-md just for this dismiss-glyph family (close/clear).
@@ -22,10 +22,10 @@ export const toastTheme = tv({
22
22
  // elsewhere (Dropdown's own `destructive` only recolors text/icon + a
23
23
  // soft hover tint, never repaints the whole menu).
24
24
  color: {
25
- success: { icon: "text-[var(--ui-success)]", root: "border-s-2 border-s-[var(--ui-success)]" },
26
- danger: { icon: "text-[var(--ui-danger)]", root: "border-s-2 border-s-[var(--ui-danger)]" },
27
- warning: { icon: "text-[var(--ui-warning)]", root: "border-s-2 border-s-[var(--ui-warning)]" },
28
- info: { icon: "text-[var(--ui-info)]", root: "border-s-2 border-s-[var(--ui-info)]" }
25
+ success: "",
26
+ danger: "",
27
+ warning: "",
28
+ info: ""
29
29
  }
30
30
  }
31
31
  });
@@ -7,7 +7,10 @@ export const toggleGroupTheme = tv({
7
7
  // focus z-index bump keeps a hovered/focused item's own edge drawn
8
8
  // on top of its neighbor's instead of being clipped by it.
9
9
  root: "inline-flex [&>*]:relative [&>*:hover]:z-10 [&>*:focus-visible]:z-10",
10
- item: "inline-flex items-center justify-center gap-1.5 font-medium rounded-[var(--ui-radius-md)] transition-colors ring-1 ring-inset ring-[var(--ui-border)] text-[var(--ui-text-muted)] hover:bg-[var(--ui-bg-elevated)] hover:text-[var(--ui-text)] disabled:opacity-50 disabled:pointer-events-none focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--ui-primary)]",
10
+ // Resting segments are neutral controls; the selected role begins when
11
+ // Reka exposes data-state="on" below. This keeps an unpressed group from
12
+ // looking preselected simply because its default role is primary.
13
+ item: "inline-flex items-center justify-center gap-1.5 font-medium rounded-[var(--selaras-resolved-radius-md)] transition-colors ring-1 ring-inset ring-[var(--selaras-resolved-border-default)] text-[var(--selaras-resolved-text-muted)] hover:bg-[var(--selaras-resolved-surface-elevated)] hover:text-[var(--selaras-resolved-text-default)] disabled:opacity-50 disabled:pointer-events-none focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--_selaras-color-focus)] data-[state=on]:bg-[var(--_selaras-color-subtle)] data-[state=on]:text-[var(--_selaras-color-text)] data-[state=on]:hover:bg-[var(--_selaras-color-subtle-hover)]",
11
14
  icon: "shrink-0"
12
15
  },
13
16
  variants: {
@@ -30,16 +33,7 @@ export const toggleGroupTheme = tv({
30
33
  warning: ""
31
34
  }
32
35
  },
33
- compoundVariants: [
34
- // Pressed (data-[state=on]) - matches Toggle's own per-color treatment.
35
- { color: "primary", class: { item: "data-[state=on]:bg-[var(--ui-primary-soft)] data-[state=on]:text-[var(--ui-primary)] data-[state=on]:hover:bg-[var(--ui-primary-soft)]/70" } },
36
- { color: "neutral", class: { item: "data-[state=on]:bg-[var(--ui-neutral-soft)] data-[state=on]:text-[var(--ui-text)] data-[state=on]:hover:bg-[var(--ui-neutral-soft)]/70" } },
37
- { color: "secondary", class: { item: "data-[state=on]:bg-[var(--ui-secondary-soft)] data-[state=on]:text-[var(--ui-secondary)] data-[state=on]:hover:bg-[var(--ui-secondary-soft)]/70" } },
38
- { color: "success", class: { item: "data-[state=on]:bg-[var(--ui-success-soft)] data-[state=on]:text-[var(--ui-success)] data-[state=on]:hover:bg-[var(--ui-success-soft)]/70" } },
39
- { color: "danger", class: { item: "data-[state=on]:bg-[var(--ui-danger-soft)] data-[state=on]:text-[var(--ui-danger)] data-[state=on]:hover:bg-[var(--ui-danger-soft)]/70" } },
40
- { color: "info", class: { item: "data-[state=on]:bg-[var(--ui-info-soft)] data-[state=on]:text-[var(--ui-info)] data-[state=on]:hover:bg-[var(--ui-info-soft)]/70" } },
41
- { color: "warning", class: { item: "data-[state=on]:bg-[var(--ui-warning-soft)] data-[state=on]:text-[var(--ui-warning)] data-[state=on]:hover:bg-[var(--ui-warning-soft)]/70" } }
42
- ],
36
+ compoundVariants: [],
43
37
  defaultVariants: {
44
38
  orientation: "horizontal",
45
39
  size: "md",
@@ -1,7 +1,7 @@
1
1
  import { tv } from "tailwind-variants";
2
2
  export const toggleTheme = tv({
3
3
  slots: {
4
- base: "inline-flex items-center justify-center gap-1.5 font-medium rounded-[var(--ui-radius-md)] transition-colors text-[var(--ui-text-muted)] hover:bg-[var(--ui-bg-elevated)] hover:text-[var(--ui-text)] disabled:opacity-50 disabled:pointer-events-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ui-primary)]",
4
+ base: "inline-flex items-center justify-center gap-1.5 font-medium rounded-[var(--selaras-resolved-radius-md)] transition-colors text-[var(--selaras-resolved-text-muted)] hover:bg-[var(--selaras-resolved-surface-elevated)] hover:text-[var(--selaras-resolved-text-default)] disabled:opacity-50 disabled:pointer-events-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--_selaras-color-focus)] data-[state=on]:bg-[var(--_selaras-color-subtle)] data-[state=on]:text-[var(--_selaras-color-text)] data-[state=on]:hover:bg-[var(--_selaras-color-subtle-hover)]",
5
5
  icon: "shrink-0"
6
6
  },
7
7
  variants: {
@@ -29,17 +29,7 @@ export const toggleTheme = tv({
29
29
  // Button's own `square` compound variants.
30
30
  { size: "sm", square: true, class: { base: "w-8 px-0" } },
31
31
  { size: "md", square: true, class: { base: "w-10 px-0" } },
32
- { size: "lg", square: true, class: { base: "w-11 px-0" } },
33
- // Pressed (data-[state=on]) - the same soft-variant look Button/Alert/
34
- // Badge already use for this color at rest, so a pressed Toggle reads
35
- // as "this color's own settled state" rather than a one-off treatment.
36
- { color: "primary", class: { base: "data-[state=on]:bg-[var(--ui-primary-soft)] data-[state=on]:text-[var(--ui-primary)] data-[state=on]:hover:bg-[var(--ui-primary-soft)]/70" } },
37
- { color: "neutral", class: { base: "data-[state=on]:bg-[var(--ui-neutral-soft)] data-[state=on]:text-[var(--ui-text)] data-[state=on]:hover:bg-[var(--ui-neutral-soft)]/70" } },
38
- { color: "secondary", class: { base: "data-[state=on]:bg-[var(--ui-secondary-soft)] data-[state=on]:text-[var(--ui-secondary)] data-[state=on]:hover:bg-[var(--ui-secondary-soft)]/70" } },
39
- { color: "success", class: { base: "data-[state=on]:bg-[var(--ui-success-soft)] data-[state=on]:text-[var(--ui-success)] data-[state=on]:hover:bg-[var(--ui-success-soft)]/70" } },
40
- { color: "danger", class: { base: "data-[state=on]:bg-[var(--ui-danger-soft)] data-[state=on]:text-[var(--ui-danger)] data-[state=on]:hover:bg-[var(--ui-danger-soft)]/70" } },
41
- { color: "info", class: { base: "data-[state=on]:bg-[var(--ui-info-soft)] data-[state=on]:text-[var(--ui-info)] data-[state=on]:hover:bg-[var(--ui-info-soft)]/70" } },
42
- { color: "warning", class: { base: "data-[state=on]:bg-[var(--ui-warning-soft)] data-[state=on]:text-[var(--ui-warning)] data-[state=on]:hover:bg-[var(--ui-warning-soft)]/70" } }
32
+ { size: "lg", square: true, class: { base: "w-11 px-0" } }
43
33
  ],
44
34
  defaultVariants: {
45
35
  color: "primary",
@@ -2,18 +2,18 @@ export declare const tooltipTheme: import("tailwind-variants").TVReturnType<{
2
2
  [key: string]: {
3
3
  [key: string]: import("tailwind-variants").ClassValue | {
4
4
  content?: import("tailwind-variants").ClassValue;
5
- kbd?: import("tailwind-variants").ClassValue;
6
5
  arrow?: import("tailwind-variants").ClassValue;
7
6
  kbds?: import("tailwind-variants").ClassValue;
7
+ kbd?: import("tailwind-variants").ClassValue;
8
8
  };
9
9
  };
10
10
  } | {
11
11
  [x: string]: {
12
12
  [x: string]: import("tailwind-variants").ClassValue | {
13
13
  content?: import("tailwind-variants").ClassValue;
14
- kbd?: import("tailwind-variants").ClassValue;
15
14
  arrow?: import("tailwind-variants").ClassValue;
16
15
  kbds?: import("tailwind-variants").ClassValue;
16
+ kbd?: import("tailwind-variants").ClassValue;
17
17
  };
18
18
  };
19
19
  } | {}, {
@@ -25,9 +25,9 @@ export declare const tooltipTheme: import("tailwind-variants").TVReturnType<{
25
25
  [key: string]: {
26
26
  [key: string]: import("tailwind-variants").ClassValue | {
27
27
  content?: import("tailwind-variants").ClassValue;
28
- kbd?: import("tailwind-variants").ClassValue;
29
28
  arrow?: import("tailwind-variants").ClassValue;
30
29
  kbds?: import("tailwind-variants").ClassValue;
30
+ kbd?: import("tailwind-variants").ClassValue;
31
31
  };
32
32
  };
33
33
  } | {}, {
@@ -1,14 +1,14 @@
1
1
  import { tv } from "tailwind-variants";
2
2
  export const tooltipTheme = tv({
3
3
  slots: {
4
- content: "z-[var(--ui-z-tooltip)] flex items-center gap-2 rounded-[var(--ui-radius-sm)] bg-[var(--ui-bg-inverted)] text-[var(--ui-text-inverted)] px-2.5 py-1.5 text-xs shadow-[var(--ui-shadow-md)] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=delayed-open]:animate-in data-[state=instant-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=instant-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=instant-open]:zoom-in-95",
5
- arrow: "fill-[var(--ui-bg-inverted)]",
4
+ content: "z-[var(--selaras-resolved-z-tooltip)] flex items-center gap-2 rounded-[var(--selaras-resolved-radius-sm)] bg-[var(--selaras-resolved-surface-inverted)] text-[var(--selaras-resolved-text-inverted)] px-2.5 py-1.5 text-xs shadow-[var(--selaras-resolved-shadow-md)] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=delayed-open]:animate-in data-[state=instant-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=instant-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=instant-open]:zoom-in-95",
5
+ arrow: "fill-[var(--selaras-resolved-surface-inverted)]",
6
6
  kbds: "ms-auto flex items-center gap-0.5",
7
7
  // bg-current/15 (not a fixed light/dark token) picks up whatever
8
8
  // text-inverted resolves to at this spot, so the badge reads as a
9
9
  // subtle overlay on the tooltip's own inverted surface in both themes -
10
10
  // the same currentColor-overlay technique Chip's own remove button
11
11
  // already uses against its (also currentColor-driven) surface.
12
- kbd: "rounded-[var(--ui-radius-sm)] bg-current/15 px-1 py-0.5 text-[10px] font-medium"
12
+ kbd: "rounded-[var(--selaras-resolved-radius-sm)] bg-current/15 px-1 py-0.5 text-[10px] font-medium"
13
13
  }
14
14
  });
@@ -1,4 +1,13 @@
1
1
  export declare const treeTheme: import("tailwind-variants").TVReturnType<{
2
+ color: {
3
+ primary: "";
4
+ neutral: "";
5
+ secondary: "";
6
+ success: "";
7
+ danger: "";
8
+ info: "";
9
+ warning: "";
10
+ };
2
11
  size: {
3
12
  sm: {
4
13
  item: string;
@@ -25,6 +34,15 @@ export declare const treeTheme: import("tailwind-variants").TVReturnType<{
25
34
  icon: string;
26
35
  label: string;
27
36
  }, undefined, {
37
+ color: {
38
+ primary: "";
39
+ neutral: "";
40
+ secondary: "";
41
+ success: "";
42
+ danger: "";
43
+ info: "";
44
+ warning: "";
45
+ };
28
46
  size: {
29
47
  sm: {
30
48
  item: string;
@@ -51,6 +69,15 @@ export declare const treeTheme: import("tailwind-variants").TVReturnType<{
51
69
  icon: string;
52
70
  label: string;
53
71
  }, import("tailwind-variants").TVReturnTypeLike<{
72
+ color: {
73
+ primary: "";
74
+ neutral: "";
75
+ secondary: "";
76
+ success: "";
77
+ danger: "";
78
+ info: "";
79
+ warning: "";
80
+ };
54
81
  size: {
55
82
  sm: {
56
83
  item: string;
@@ -8,18 +8,27 @@ export const treeTheme = tv({
8
8
  // other component here keys off Reka's own data-* state, rather than
9
9
  // a JS-computed variant like FileTree.vue's own hand-rolled one (it
10
10
  // has no Reka data-attribute of its own to key off).
11
- item: "flex w-full items-center gap-1.5 rounded-[var(--ui-radius-sm)] px-1.5 py-1 text-[var(--ui-text)] outline-none cursor-pointer select-none data-[selected]:bg-[var(--ui-primary-soft)] data-[selected]:text-[var(--ui-primary)] not-data-[selected]:hover:bg-[var(--ui-bg-elevated)] data-[disabled]:opacity-50 data-[disabled]:pointer-events-none focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--ui-primary)]",
11
+ item: "flex w-full items-center gap-1.5 rounded-[var(--selaras-resolved-radius-sm)] px-1.5 py-1 text-[var(--selaras-resolved-text-default)] outline-none cursor-pointer select-none data-[selected]:bg-[var(--_selaras-color-subtle)] data-[selected]:text-[var(--_selaras-color-text)] not-data-[selected]:hover:bg-[var(--selaras-resolved-surface-elevated)] data-[disabled]:opacity-50 data-[disabled]:pointer-events-none focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-[var(--_selaras-color-focus)]",
12
12
  // Same rotate-on-expand convention as Accordion/FileTree's own
13
13
  // chevron. A leaf row (no children) renders `spacer` instead, sized
14
14
  // identically, so labels still align into one column regardless of
15
15
  // depth.
16
- toggle: "flex size-4 shrink-0 items-center justify-center text-[var(--ui-text-muted)] transition-transform rtl:rotate-180 data-[expanded]:rotate-90 rtl:data-[expanded]:rotate-90",
16
+ toggle: "flex size-4 shrink-0 items-center justify-center text-[var(--selaras-resolved-text-muted)] transition-transform rtl:rotate-180 data-[expanded]:rotate-90 rtl:data-[expanded]:rotate-90",
17
17
  spacer: "size-4 shrink-0",
18
18
  checkbox: "shrink-0 pointer-events-none",
19
- icon: "size-4 shrink-0 text-[var(--ui-text-muted)]",
19
+ icon: "size-4 shrink-0 text-[var(--selaras-resolved-text-muted)]",
20
20
  label: "truncate"
21
21
  },
22
22
  variants: {
23
+ color: {
24
+ primary: "",
25
+ neutral: "",
26
+ secondary: "",
27
+ success: "",
28
+ danger: "",
29
+ info: "",
30
+ warning: ""
31
+ },
23
32
  size: {
24
33
  sm: { item: "text-xs", icon: "size-3.5", toggle: "size-3.5", spacer: "size-3.5" },
25
34
  md: { item: "text-sm" },
@@ -27,6 +36,7 @@ export const treeTheme = tv({
27
36
  }
28
37
  },
29
38
  defaultVariants: {
39
+ color: "primary",
30
40
  size: "md"
31
41
  }
32
42
  });
@@ -0,0 +1,15 @@
1
+ import type { ColorModePair, ColorRecipeInput } from './utils/color-registry.js';
2
+ import { dtcgColorToCss } from './utils/dtcg-colors.js';
3
+ import { defineColorFromSeed } from './utils/seed-colors.js';
4
+ export type { ThemeComponentRegistry, ThemeConfiguration, ThemeDefaults, ThemeUiOverrides } from './theme-config.js';
5
+ export type { BuiltinColorName, ColorModePair, ColorRecipe, ColorRecipeInput, ColorRole, RuntimeColorOverrides, RuntimeThemeMode, RuntimeTokenOverrides, } from './utils/color-registry.js';
6
+ export type { DtcgColorComponent, DtcgColorConversionOptions, DtcgColorSpace, DtcgResolvedColor } from './utils/dtcg-colors.js';
7
+ export type { FunctionalTokenOverrides, GeometryTokenOverrides, ThemeTokenOverrides } from './utils/functional-tokens.js';
8
+ export type { SeedColorOptions, SeedColorSurfaces } from './utils/seed-colors.js';
9
+ export { dtcgColorToCss };
10
+ export { defineColorFromSeed };
11
+ /**
12
+ * Validates a build-time semantic color while preserving its literal types.
13
+ * It derives no colors; each mode must provide the six required role leaves.
14
+ */
15
+ export declare function defineColor<const T extends ColorModePair<ColorRecipeInput>>(color: T): T;
@@ -0,0 +1,12 @@
1
+ import { normalizeColorRecipe } from "./utils/color-registry.js";
2
+ import { dtcgColorToCss } from "./utils/dtcg-colors.js";
3
+ import { defineColorFromSeed } from "./utils/seed-colors.js";
4
+ export { dtcgColorToCss };
5
+ export { defineColorFromSeed };
6
+ export function defineColor(color) {
7
+ if (!color || typeof color !== "object" || !color.light || !color.dark)
8
+ throw new Error("defineColor requires both light and dark semantic color recipes.");
9
+ normalizeColorRecipe(color.light);
10
+ normalizeColorRecipe(color.dark);
11
+ return color;
12
+ }