@sewadah/selaras 0.1.1

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 (500) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +131 -0
  3. package/dist/module.d.mts +22 -0
  4. package/dist/module.json +9 -0
  5. package/dist/module.mjs +127 -0
  6. package/dist/runtime/components/Accordion.d.vue.ts +59 -0
  7. package/dist/runtime/components/Accordion.vue +65 -0
  8. package/dist/runtime/components/Accordion.vue.d.ts +59 -0
  9. package/dist/runtime/components/Alert.d.vue.ts +39 -0
  10. package/dist/runtime/components/Alert.vue +64 -0
  11. package/dist/runtime/components/Alert.vue.d.ts +39 -0
  12. package/dist/runtime/components/AlertDialog.d.vue.ts +66 -0
  13. package/dist/runtime/components/AlertDialog.vue +116 -0
  14. package/dist/runtime/components/AlertDialog.vue.d.ts +66 -0
  15. package/dist/runtime/components/App.d.vue.ts +32 -0
  16. package/dist/runtime/components/App.vue +26 -0
  17. package/dist/runtime/components/App.vue.d.ts +32 -0
  18. package/dist/runtime/components/Autocomplete.d.vue.ts +61 -0
  19. package/dist/runtime/components/Autocomplete.vue +41 -0
  20. package/dist/runtime/components/Autocomplete.vue.d.ts +61 -0
  21. package/dist/runtime/components/Avatar.d.vue.ts +46 -0
  22. package/dist/runtime/components/Avatar.vue +64 -0
  23. package/dist/runtime/components/Avatar.vue.d.ts +46 -0
  24. package/dist/runtime/components/AvatarGroup.d.vue.ts +14 -0
  25. package/dist/runtime/components/AvatarGroup.vue +41 -0
  26. package/dist/runtime/components/AvatarGroup.vue.d.ts +14 -0
  27. package/dist/runtime/components/Badge.d.vue.ts +37 -0
  28. package/dist/runtime/components/Badge.vue +47 -0
  29. package/dist/runtime/components/Badge.vue.d.ts +37 -0
  30. package/dist/runtime/components/Breadcrumb.d.vue.ts +37 -0
  31. package/dist/runtime/components/Breadcrumb.vue +109 -0
  32. package/dist/runtime/components/Breadcrumb.vue.d.ts +37 -0
  33. package/dist/runtime/components/Button.d.vue.ts +45 -0
  34. package/dist/runtime/components/Button.vue +67 -0
  35. package/dist/runtime/components/Button.vue.d.ts +45 -0
  36. package/dist/runtime/components/ButtonGroup.d.vue.ts +22 -0
  37. package/dist/runtime/components/ButtonGroup.vue +21 -0
  38. package/dist/runtime/components/ButtonGroup.vue.d.ts +22 -0
  39. package/dist/runtime/components/Callout.d.vue.ts +27 -0
  40. package/dist/runtime/components/Callout.vue +47 -0
  41. package/dist/runtime/components/Callout.vue.d.ts +27 -0
  42. package/dist/runtime/components/Card.d.vue.ts +25 -0
  43. package/dist/runtime/components/Card.vue +30 -0
  44. package/dist/runtime/components/Card.vue.d.ts +25 -0
  45. package/dist/runtime/components/CardGroup.d.vue.ts +23 -0
  46. package/dist/runtime/components/CardGroup.vue +19 -0
  47. package/dist/runtime/components/CardGroup.vue.d.ts +23 -0
  48. package/dist/runtime/components/Checkbox.d.vue.ts +45 -0
  49. package/dist/runtime/components/Checkbox.vue +76 -0
  50. package/dist/runtime/components/Checkbox.vue.d.ts +45 -0
  51. package/dist/runtime/components/Chip.d.vue.ts +50 -0
  52. package/dist/runtime/components/Chip.vue +75 -0
  53. package/dist/runtime/components/Chip.vue.d.ts +50 -0
  54. package/dist/runtime/components/CodeButton.d.vue.ts +21 -0
  55. package/dist/runtime/components/CodeButton.vue +33 -0
  56. package/dist/runtime/components/CodeButton.vue.d.ts +21 -0
  57. package/dist/runtime/components/CodeGroup.d.vue.ts +3 -0
  58. package/dist/runtime/components/CodeGroup.vue +46 -0
  59. package/dist/runtime/components/CodeGroup.vue.d.ts +3 -0
  60. package/dist/runtime/components/CodeTree.d.vue.ts +17 -0
  61. package/dist/runtime/components/CodeTree.vue +56 -0
  62. package/dist/runtime/components/CodeTree.vue.d.ts +17 -0
  63. package/dist/runtime/components/Collapsible.d.vue.ts +44 -0
  64. package/dist/runtime/components/Collapsible.vue +52 -0
  65. package/dist/runtime/components/Collapsible.vue.d.ts +44 -0
  66. package/dist/runtime/components/ColorModeToggle.d.vue.ts +3 -0
  67. package/dist/runtime/components/ColorModeToggle.vue +24 -0
  68. package/dist/runtime/components/ColorModeToggle.vue.d.ts +3 -0
  69. package/dist/runtime/components/ColorPicker.d.vue.ts +30 -0
  70. package/dist/runtime/components/ColorPicker.vue +112 -0
  71. package/dist/runtime/components/ColorPicker.vue.d.ts +30 -0
  72. package/dist/runtime/components/Column.d.ts +72 -0
  73. package/dist/runtime/components/Column.js +34 -0
  74. package/dist/runtime/components/ColumnGroup.d.ts +33 -0
  75. package/dist/runtime/components/ColumnGroup.js +17 -0
  76. package/dist/runtime/components/CommandPalette.d.vue.ts +41 -0
  77. package/dist/runtime/components/CommandPalette.vue +208 -0
  78. package/dist/runtime/components/CommandPalette.vue.d.ts +41 -0
  79. package/dist/runtime/components/Container.d.vue.ts +22 -0
  80. package/dist/runtime/components/Container.vue +21 -0
  81. package/dist/runtime/components/Container.vue.d.ts +22 -0
  82. package/dist/runtime/components/ContentNavigation.d.vue.ts +31 -0
  83. package/dist/runtime/components/ContentNavigation.vue +64 -0
  84. package/dist/runtime/components/ContentNavigation.vue.d.ts +31 -0
  85. package/dist/runtime/components/ContentSurround.d.vue.ts +16 -0
  86. package/dist/runtime/components/ContentSurround.vue +46 -0
  87. package/dist/runtime/components/ContentSurround.vue.d.ts +16 -0
  88. package/dist/runtime/components/ContentToc.d.vue.ts +35 -0
  89. package/dist/runtime/components/ContentToc.vue +265 -0
  90. package/dist/runtime/components/ContentToc.vue.d.ts +35 -0
  91. package/dist/runtime/components/ContextMenu.d.vue.ts +33 -0
  92. package/dist/runtime/components/ContextMenu.vue +49 -0
  93. package/dist/runtime/components/ContextMenu.vue.d.ts +33 -0
  94. package/dist/runtime/components/DashboardGroup.d.vue.ts +24 -0
  95. package/dist/runtime/components/DashboardGroup.vue +52 -0
  96. package/dist/runtime/components/DashboardGroup.vue.d.ts +24 -0
  97. package/dist/runtime/components/DashboardNavbar.d.vue.ts +23 -0
  98. package/dist/runtime/components/DashboardNavbar.vue +33 -0
  99. package/dist/runtime/components/DashboardNavbar.vue.d.ts +23 -0
  100. package/dist/runtime/components/DashboardPanel.d.vue.ts +22 -0
  101. package/dist/runtime/components/DashboardPanel.vue +26 -0
  102. package/dist/runtime/components/DashboardPanel.vue.d.ts +22 -0
  103. package/dist/runtime/components/DashboardResizeHandle.d.vue.ts +8 -0
  104. package/dist/runtime/components/DashboardResizeHandle.vue +19 -0
  105. package/dist/runtime/components/DashboardResizeHandle.vue.d.ts +8 -0
  106. package/dist/runtime/components/DashboardSidebar.d.vue.ts +40 -0
  107. package/dist/runtime/components/DashboardSidebar.vue +117 -0
  108. package/dist/runtime/components/DashboardSidebar.vue.d.ts +40 -0
  109. package/dist/runtime/components/DashboardSidebarToggle.d.vue.ts +21 -0
  110. package/dist/runtime/components/DashboardSidebarToggle.vue +42 -0
  111. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +21 -0
  112. package/dist/runtime/components/DatePicker.d.vue.ts +165 -0
  113. package/dist/runtime/components/DatePicker.vue +796 -0
  114. package/dist/runtime/components/DatePicker.vue.d.ts +165 -0
  115. package/dist/runtime/components/Drawer.d.vue.ts +74 -0
  116. package/dist/runtime/components/Drawer.vue +157 -0
  117. package/dist/runtime/components/Drawer.vue.d.ts +74 -0
  118. package/dist/runtime/components/DrawerRenderer.d.vue.ts +3 -0
  119. package/dist/runtime/components/DrawerRenderer.vue +30 -0
  120. package/dist/runtime/components/DrawerRenderer.vue.d.ts +3 -0
  121. package/dist/runtime/components/Dropdown.d.vue.ts +35 -0
  122. package/dist/runtime/components/Dropdown.vue +51 -0
  123. package/dist/runtime/components/Dropdown.vue.d.ts +35 -0
  124. package/dist/runtime/components/FileTree.d.vue.ts +28 -0
  125. package/dist/runtime/components/FileTree.vue +68 -0
  126. package/dist/runtime/components/FileTree.vue.d.ts +28 -0
  127. package/dist/runtime/components/FileUpload.d.vue.ts +68 -0
  128. package/dist/runtime/components/FileUpload.vue +226 -0
  129. package/dist/runtime/components/FileUpload.vue.d.ts +68 -0
  130. package/dist/runtime/components/FormField.d.vue.ts +37 -0
  131. package/dist/runtime/components/FormField.vue +72 -0
  132. package/dist/runtime/components/FormField.vue.d.ts +37 -0
  133. package/dist/runtime/components/Header.d.vue.ts +20 -0
  134. package/dist/runtime/components/Header.vue +23 -0
  135. package/dist/runtime/components/Header.vue.d.ts +20 -0
  136. package/dist/runtime/components/Icon.d.vue.ts +14 -0
  137. package/dist/runtime/components/Icon.vue +18 -0
  138. package/dist/runtime/components/Icon.vue.d.ts +14 -0
  139. package/dist/runtime/components/Input.d.vue.ts +41 -0
  140. package/dist/runtime/components/Input.vue +86 -0
  141. package/dist/runtime/components/Input.vue.d.ts +41 -0
  142. package/dist/runtime/components/InputGroup.d.vue.ts +22 -0
  143. package/dist/runtime/components/InputGroup.vue +21 -0
  144. package/dist/runtime/components/InputGroup.vue.d.ts +22 -0
  145. package/dist/runtime/components/InputNumber.d.vue.ts +37 -0
  146. package/dist/runtime/components/InputNumber.vue +173 -0
  147. package/dist/runtime/components/InputNumber.vue.d.ts +37 -0
  148. package/dist/runtime/components/Kbd.d.vue.ts +24 -0
  149. package/dist/runtime/components/Kbd.vue +42 -0
  150. package/dist/runtime/components/Kbd.vue.d.ts +24 -0
  151. package/dist/runtime/components/Modal.d.vue.ts +72 -0
  152. package/dist/runtime/components/Modal.vue +178 -0
  153. package/dist/runtime/components/Modal.vue.d.ts +72 -0
  154. package/dist/runtime/components/ModalRenderer.d.vue.ts +3 -0
  155. package/dist/runtime/components/ModalRenderer.vue +25 -0
  156. package/dist/runtime/components/ModalRenderer.vue.d.ts +3 -0
  157. package/dist/runtime/components/NavigationMenu.d.vue.ts +108 -0
  158. package/dist/runtime/components/NavigationMenu.vue +166 -0
  159. package/dist/runtime/components/NavigationMenu.vue.d.ts +108 -0
  160. package/dist/runtime/components/NavigationMenuAccordionItem.d.vue.ts +23 -0
  161. package/dist/runtime/components/NavigationMenuAccordionItem.vue +106 -0
  162. package/dist/runtime/components/NavigationMenuAccordionItem.vue.d.ts +23 -0
  163. package/dist/runtime/components/NavigationMenuFlyoutList.d.vue.ts +19 -0
  164. package/dist/runtime/components/NavigationMenuFlyoutList.vue +44 -0
  165. package/dist/runtime/components/NavigationMenuFlyoutList.vue.d.ts +19 -0
  166. package/dist/runtime/components/NavigationMenuFlyoutTrigger.d.vue.ts +49 -0
  167. package/dist/runtime/components/NavigationMenuFlyoutTrigger.vue +116 -0
  168. package/dist/runtime/components/NavigationMenuFlyoutTrigger.vue.d.ts +49 -0
  169. package/dist/runtime/components/PageAside.d.vue.ts +20 -0
  170. package/dist/runtime/components/PageAside.vue +26 -0
  171. package/dist/runtime/components/PageAside.vue.d.ts +20 -0
  172. package/dist/runtime/components/PageHeader.d.vue.ts +24 -0
  173. package/dist/runtime/components/PageHeader.vue +30 -0
  174. package/dist/runtime/components/PageHeader.vue.d.ts +24 -0
  175. package/dist/runtime/components/Pagination.d.vue.ts +42 -0
  176. package/dist/runtime/components/Pagination.vue +113 -0
  177. package/dist/runtime/components/Pagination.vue.d.ts +42 -0
  178. package/dist/runtime/components/PinInput.d.vue.ts +40 -0
  179. package/dist/runtime/components/PinInput.vue +66 -0
  180. package/dist/runtime/components/PinInput.vue.d.ts +40 -0
  181. package/dist/runtime/components/Popover.d.vue.ts +52 -0
  182. package/dist/runtime/components/Popover.vue +77 -0
  183. package/dist/runtime/components/Popover.vue.d.ts +52 -0
  184. package/dist/runtime/components/Progress.d.vue.ts +32 -0
  185. package/dist/runtime/components/Progress.vue +76 -0
  186. package/dist/runtime/components/Progress.vue.d.ts +32 -0
  187. package/dist/runtime/components/ProseH1.d.vue.ts +18 -0
  188. package/dist/runtime/components/ProseH1.vue +21 -0
  189. package/dist/runtime/components/ProseH1.vue.d.ts +18 -0
  190. package/dist/runtime/components/ProseH2.d.vue.ts +18 -0
  191. package/dist/runtime/components/ProseH2.vue +21 -0
  192. package/dist/runtime/components/ProseH2.vue.d.ts +18 -0
  193. package/dist/runtime/components/ProseH3.d.vue.ts +18 -0
  194. package/dist/runtime/components/ProseH3.vue +21 -0
  195. package/dist/runtime/components/ProseH3.vue.d.ts +18 -0
  196. package/dist/runtime/components/ProseH4.d.vue.ts +18 -0
  197. package/dist/runtime/components/ProseH4.vue +21 -0
  198. package/dist/runtime/components/ProseH4.vue.d.ts +18 -0
  199. package/dist/runtime/components/ProseH5.d.vue.ts +18 -0
  200. package/dist/runtime/components/ProseH5.vue +21 -0
  201. package/dist/runtime/components/ProseH5.vue.d.ts +18 -0
  202. package/dist/runtime/components/ProseH6.d.vue.ts +18 -0
  203. package/dist/runtime/components/ProseH6.vue +21 -0
  204. package/dist/runtime/components/ProseH6.vue.d.ts +18 -0
  205. package/dist/runtime/components/ProsePre.d.vue.ts +20 -0
  206. package/dist/runtime/components/ProsePre.vue +50 -0
  207. package/dist/runtime/components/ProsePre.vue.d.ts +20 -0
  208. package/dist/runtime/components/RadioGroup.d.vue.ts +50 -0
  209. package/dist/runtime/components/RadioGroup.vue +82 -0
  210. package/dist/runtime/components/RadioGroup.vue.d.ts +50 -0
  211. package/dist/runtime/components/Rating.d.vue.ts +36 -0
  212. package/dist/runtime/components/Rating.vue +83 -0
  213. package/dist/runtime/components/Rating.vue.d.ts +36 -0
  214. package/dist/runtime/components/ReadMore.d.vue.ts +20 -0
  215. package/dist/runtime/components/ReadMore.vue +59 -0
  216. package/dist/runtime/components/ReadMore.vue.d.ts +20 -0
  217. package/dist/runtime/components/ScrollArea.d.vue.ts +19 -0
  218. package/dist/runtime/components/ScrollArea.vue +37 -0
  219. package/dist/runtime/components/ScrollArea.vue.d.ts +19 -0
  220. package/dist/runtime/components/Select.d.vue.ts +60 -0
  221. package/dist/runtime/components/Select.vue +40 -0
  222. package/dist/runtime/components/Select.vue.d.ts +60 -0
  223. package/dist/runtime/components/Separator.d.vue.ts +27 -0
  224. package/dist/runtime/components/Separator.vue +36 -0
  225. package/dist/runtime/components/Separator.vue.d.ts +27 -0
  226. package/dist/runtime/components/Skeleton.d.vue.ts +13 -0
  227. package/dist/runtime/components/Skeleton.vue +17 -0
  228. package/dist/runtime/components/Skeleton.vue.d.ts +13 -0
  229. package/dist/runtime/components/Slideover.d.vue.ts +65 -0
  230. package/dist/runtime/components/Slideover.vue +140 -0
  231. package/dist/runtime/components/Slideover.vue.d.ts +65 -0
  232. package/dist/runtime/components/SlideoverRenderer.d.vue.ts +3 -0
  233. package/dist/runtime/components/SlideoverRenderer.vue +27 -0
  234. package/dist/runtime/components/SlideoverRenderer.vue.d.ts +3 -0
  235. package/dist/runtime/components/Slider.d.vue.ts +60 -0
  236. package/dist/runtime/components/Slider.vue +186 -0
  237. package/dist/runtime/components/Slider.vue.d.ts +60 -0
  238. package/dist/runtime/components/Splitter.d.vue.ts +41 -0
  239. package/dist/runtime/components/Splitter.vue +31 -0
  240. package/dist/runtime/components/Splitter.vue.d.ts +41 -0
  241. package/dist/runtime/components/SplitterPanel.d.vue.ts +55 -0
  242. package/dist/runtime/components/SplitterPanel.vue +52 -0
  243. package/dist/runtime/components/SplitterPanel.vue.d.ts +55 -0
  244. package/dist/runtime/components/SplitterResizeHandle.d.vue.ts +14 -0
  245. package/dist/runtime/components/SplitterResizeHandle.vue +22 -0
  246. package/dist/runtime/components/SplitterResizeHandle.vue.d.ts +14 -0
  247. package/dist/runtime/components/Stepper.d.vue.ts +57 -0
  248. package/dist/runtime/components/Stepper.vue +101 -0
  249. package/dist/runtime/components/Stepper.vue.d.ts +57 -0
  250. package/dist/runtime/components/Switch.d.vue.ts +49 -0
  251. package/dist/runtime/components/Switch.vue +73 -0
  252. package/dist/runtime/components/Switch.vue.d.ts +49 -0
  253. package/dist/runtime/components/Table.d.vue.ts +83 -0
  254. package/dist/runtime/components/Table.vue +339 -0
  255. package/dist/runtime/components/Table.vue.d.ts +83 -0
  256. package/dist/runtime/components/Tabs.d.vue.ts +43 -0
  257. package/dist/runtime/components/Tabs.vue +60 -0
  258. package/dist/runtime/components/Tabs.vue.d.ts +43 -0
  259. package/dist/runtime/components/Textarea.d.vue.ts +45 -0
  260. package/dist/runtime/components/Textarea.vue +110 -0
  261. package/dist/runtime/components/Textarea.vue.d.ts +45 -0
  262. package/dist/runtime/components/Theme.d.vue.ts +19 -0
  263. package/dist/runtime/components/Theme.vue +18 -0
  264. package/dist/runtime/components/Theme.vue.d.ts +19 -0
  265. package/dist/runtime/components/Toast.d.vue.ts +8 -0
  266. package/dist/runtime/components/Toast.vue +58 -0
  267. package/dist/runtime/components/Toast.vue.d.ts +8 -0
  268. package/dist/runtime/components/Toggle.d.vue.ts +38 -0
  269. package/dist/runtime/components/Toggle.vue +44 -0
  270. package/dist/runtime/components/Toggle.vue.d.ts +38 -0
  271. package/dist/runtime/components/ToggleGroup.d.vue.ts +48 -0
  272. package/dist/runtime/components/ToggleGroup.vue +61 -0
  273. package/dist/runtime/components/ToggleGroup.vue.d.ts +48 -0
  274. package/dist/runtime/components/Tooltip.d.vue.ts +28 -0
  275. package/dist/runtime/components/Tooltip.vue +40 -0
  276. package/dist/runtime/components/Tooltip.vue.d.ts +28 -0
  277. package/dist/runtime/components/Tree.d.vue.ts +64 -0
  278. package/dist/runtime/components/Tree.vue +139 -0
  279. package/dist/runtime/components/Tree.vue.d.ts +64 -0
  280. package/dist/runtime/composables/use-combobox-select.d.ts +45 -0
  281. package/dist/runtime/composables/use-combobox-select.js +80 -0
  282. package/dist/runtime/composables/use-command-palette.d.ts +8 -0
  283. package/dist/runtime/composables/use-command-palette.js +14 -0
  284. package/dist/runtime/composables/use-drawer.d.ts +42 -0
  285. package/dist/runtime/composables/use-drawer.js +44 -0
  286. package/dist/runtime/composables/use-form-field.d.ts +10 -0
  287. package/dist/runtime/composables/use-form-field.js +8 -0
  288. package/dist/runtime/composables/use-icons.d.ts +10 -0
  289. package/dist/runtime/composables/use-icons.js +7 -0
  290. package/dist/runtime/composables/use-locale.d.ts +12 -0
  291. package/dist/runtime/composables/use-locale.js +6 -0
  292. package/dist/runtime/composables/use-media-query.d.ts +11 -0
  293. package/dist/runtime/composables/use-media-query.js +15 -0
  294. package/dist/runtime/composables/use-messages.d.ts +12 -0
  295. package/dist/runtime/composables/use-messages.js +7 -0
  296. package/dist/runtime/composables/use-modal.d.ts +32 -0
  297. package/dist/runtime/composables/use-modal.js +39 -0
  298. package/dist/runtime/composables/use-ripple.d.ts +15 -0
  299. package/dist/runtime/composables/use-ripple.js +6 -0
  300. package/dist/runtime/composables/use-slideover.d.ts +36 -0
  301. package/dist/runtime/composables/use-slideover.js +41 -0
  302. package/dist/runtime/composables/use-table.d.ts +63 -0
  303. package/dist/runtime/composables/use-table.js +142 -0
  304. package/dist/runtime/composables/use-toast.d.ts +15 -0
  305. package/dist/runtime/composables/use-toast.js +16 -0
  306. package/dist/runtime/directives/index.d.ts +1 -0
  307. package/dist/runtime/directives/index.js +1 -0
  308. package/dist/runtime/directives/ripple.d.ts +16 -0
  309. package/dist/runtime/directives/ripple.js +80 -0
  310. package/dist/runtime/internal/ColorPickerBody.d.vue.ts +26 -0
  311. package/dist/runtime/internal/ColorPickerBody.vue +111 -0
  312. package/dist/runtime/internal/ColorPickerBody.vue.d.ts +26 -0
  313. package/dist/runtime/internal/ComboboxSelectBase.d.vue.ts +122 -0
  314. package/dist/runtime/internal/ComboboxSelectBase.vue +590 -0
  315. package/dist/runtime/internal/ComboboxSelectBase.vue.d.ts +122 -0
  316. package/dist/runtime/internal/ComboboxSelectBody.d.vue.ts +71 -0
  317. package/dist/runtime/internal/ComboboxSelectBody.vue +146 -0
  318. package/dist/runtime/internal/ComboboxSelectBody.vue.d.ts +71 -0
  319. package/dist/runtime/internal/DatePickerCalendarBody.d.vue.ts +71 -0
  320. package/dist/runtime/internal/DatePickerCalendarBody.vue +215 -0
  321. package/dist/runtime/internal/DatePickerCalendarBody.vue.d.ts +71 -0
  322. package/dist/runtime/internal/DatePickerRangeCalendarBody.d.vue.ts +37 -0
  323. package/dist/runtime/internal/DatePickerRangeCalendarBody.vue +96 -0
  324. package/dist/runtime/internal/DatePickerRangeCalendarBody.vue.d.ts +37 -0
  325. package/dist/runtime/internal/DatePickerTimeBody.d.vue.ts +33 -0
  326. package/dist/runtime/internal/DatePickerTimeBody.vue +53 -0
  327. package/dist/runtime/internal/DatePickerTimeBody.vue.d.ts +33 -0
  328. package/dist/runtime/internal/TimeStepper.d.vue.ts +28 -0
  329. package/dist/runtime/internal/TimeStepper.vue +99 -0
  330. package/dist/runtime/internal/TimeStepper.vue.d.ts +28 -0
  331. package/dist/runtime/prose.css +1 -0
  332. package/dist/runtime/server/tsconfig.json +3 -0
  333. package/dist/runtime/theme/accordion.d.ts +131 -0
  334. package/dist/runtime/theme/accordion.js +60 -0
  335. package/dist/runtime/theme/alert-dialog.d.ts +50 -0
  336. package/dist/runtime/theme/alert-dialog.js +30 -0
  337. package/dist/runtime/theme/alert.d.ts +62 -0
  338. package/dist/runtime/theme/alert.js +52 -0
  339. package/dist/runtime/theme/avatar-group.d.ts +59 -0
  340. package/dist/runtime/theme/avatar-group.js +18 -0
  341. package/dist/runtime/theme/avatar.d.ts +206 -0
  342. package/dist/runtime/theme/avatar.js +67 -0
  343. package/dist/runtime/theme/badge.d.ts +140 -0
  344. package/dist/runtime/theme/badge.js +90 -0
  345. package/dist/runtime/theme/breadcrumb.d.ts +86 -0
  346. package/dist/runtime/theme/breadcrumb.js +22 -0
  347. package/dist/runtime/theme/button-group.d.ts +53 -0
  348. package/dist/runtime/theme/button-group.js +21 -0
  349. package/dist/runtime/theme/button.d.ts +155 -0
  350. package/dist/runtime/theme/button.js +99 -0
  351. package/dist/runtime/theme/callout.d.ts +74 -0
  352. package/dist/runtime/theme/callout.js +23 -0
  353. package/dist/runtime/theme/card-group.d.ts +44 -0
  354. package/dist/runtime/theme/card-group.js +19 -0
  355. package/dist/runtime/theme/card.d.ts +62 -0
  356. package/dist/runtime/theme/card.js +23 -0
  357. package/dist/runtime/theme/checkbox.d.ts +218 -0
  358. package/dist/runtime/theme/checkbox.js +113 -0
  359. package/dist/runtime/theme/chip.d.ts +155 -0
  360. package/dist/runtime/theme/chip.js +86 -0
  361. package/dist/runtime/theme/code-button.d.ts +32 -0
  362. package/dist/runtime/theme/code-button.js +7 -0
  363. package/dist/runtime/theme/code-tree.d.ts +50 -0
  364. package/dist/runtime/theme/code-tree.js +13 -0
  365. package/dist/runtime/theme/collapsible.d.ts +95 -0
  366. package/dist/runtime/theme/collapsible.js +46 -0
  367. package/dist/runtime/theme/color-picker.d.ts +152 -0
  368. package/dist/runtime/theme/color-picker.js +83 -0
  369. package/dist/runtime/theme/command-palette.d.ts +110 -0
  370. package/dist/runtime/theme/command-palette.js +23 -0
  371. package/dist/runtime/theme/container.d.ts +62 -0
  372. package/dist/runtime/theme/container.js +18 -0
  373. package/dist/runtime/theme/content-navigation.d.ts +47 -0
  374. package/dist/runtime/theme/content-navigation.js +38 -0
  375. package/dist/runtime/theme/content-surround.d.ts +53 -0
  376. package/dist/runtime/theme/content-surround.js +22 -0
  377. package/dist/runtime/theme/content-toc.d.ts +56 -0
  378. package/dist/runtime/theme/content-toc.js +41 -0
  379. package/dist/runtime/theme/context-menu.d.ts +38 -0
  380. package/dist/runtime/theme/context-menu.js +21 -0
  381. package/dist/runtime/theme/dashboard-group.d.ts +26 -0
  382. package/dist/runtime/theme/dashboard-group.js +9 -0
  383. package/dist/runtime/theme/dashboard-navbar.d.ts +44 -0
  384. package/dist/runtime/theme/dashboard-navbar.js +9 -0
  385. package/dist/runtime/theme/dashboard-panel.d.ts +26 -0
  386. package/dist/runtime/theme/dashboard-panel.js +6 -0
  387. package/dist/runtime/theme/dashboard-resize-handle.d.ts +26 -0
  388. package/dist/runtime/theme/dashboard-resize-handle.js +17 -0
  389. package/dist/runtime/theme/dashboard-sidebar.d.ts +50 -0
  390. package/dist/runtime/theme/dashboard-sidebar.js +40 -0
  391. package/dist/runtime/theme/date-picker.d.ts +119 -0
  392. package/dist/runtime/theme/date-picker.js +75 -0
  393. package/dist/runtime/theme/drawer.d.ts +95 -0
  394. package/dist/runtime/theme/drawer.js +57 -0
  395. package/dist/runtime/theme/dropdown.d.ts +41 -0
  396. package/dist/runtime/theme/dropdown.js +21 -0
  397. package/dist/runtime/theme/file-tree.d.ts +56 -0
  398. package/dist/runtime/theme/file-tree.js +33 -0
  399. package/dist/runtime/theme/file-upload.d.ts +233 -0
  400. package/dist/runtime/theme/file-upload.js +63 -0
  401. package/dist/runtime/theme/form-field.d.ts +95 -0
  402. package/dist/runtime/theme/form-field.js +37 -0
  403. package/dist/runtime/theme/header.d.ts +38 -0
  404. package/dist/runtime/theme/header.js +8 -0
  405. package/dist/runtime/theme/icon.d.ts +80 -0
  406. package/dist/runtime/theme/icon.js +26 -0
  407. package/dist/runtime/theme/input-group.d.ts +95 -0
  408. package/dist/runtime/theme/input-group.js +39 -0
  409. package/dist/runtime/theme/input-number.d.ts +164 -0
  410. package/dist/runtime/theme/input-number.js +76 -0
  411. package/dist/runtime/theme/input.d.ts +185 -0
  412. package/dist/runtime/theme/input.js +72 -0
  413. package/dist/runtime/theme/kbd.d.ts +44 -0
  414. package/dist/runtime/theme/kbd.js +16 -0
  415. package/dist/runtime/theme/modal.d.ts +74 -0
  416. package/dist/runtime/theme/modal.js +58 -0
  417. package/dist/runtime/theme/navigation-menu.d.ts +224 -0
  418. package/dist/runtime/theme/navigation-menu.js +232 -0
  419. package/dist/runtime/theme/page-aside.d.ts +44 -0
  420. package/dist/runtime/theme/page-aside.js +17 -0
  421. package/dist/runtime/theme/page-header.d.ts +38 -0
  422. package/dist/runtime/theme/page-header.js +8 -0
  423. package/dist/runtime/theme/pagination.d.ts +68 -0
  424. package/dist/runtime/theme/pagination.js +21 -0
  425. package/dist/runtime/theme/pin-input.d.ts +131 -0
  426. package/dist/runtime/theme/pin-input.js +40 -0
  427. package/dist/runtime/theme/popover.d.ts +32 -0
  428. package/dist/runtime/theme/popover.js +7 -0
  429. package/dist/runtime/theme/progress.d.ts +185 -0
  430. package/dist/runtime/theme/progress.js +54 -0
  431. package/dist/runtime/theme/prose.d.ts +92 -0
  432. package/dist/runtime/theme/prose.js +17 -0
  433. package/dist/runtime/theme/radio-group.d.ts +239 -0
  434. package/dist/runtime/theme/radio-group.js +134 -0
  435. package/dist/runtime/theme/rating.d.ts +167 -0
  436. package/dist/runtime/theme/rating.js +77 -0
  437. package/dist/runtime/theme/read-more.d.ts +38 -0
  438. package/dist/runtime/theme/read-more.js +21 -0
  439. package/dist/runtime/theme/scroll-area.d.ts +50 -0
  440. package/dist/runtime/theme/scroll-area.js +10 -0
  441. package/dist/runtime/theme/select.d.ts +176 -0
  442. package/dist/runtime/theme/select.js +74 -0
  443. package/dist/runtime/theme/separator.d.ts +158 -0
  444. package/dist/runtime/theme/separator.js +63 -0
  445. package/dist/runtime/theme/skeleton.d.ts +35 -0
  446. package/dist/runtime/theme/skeleton.js +27 -0
  447. package/dist/runtime/theme/slideover.d.ts +107 -0
  448. package/dist/runtime/theme/slideover.js +62 -0
  449. package/dist/runtime/theme/slider.d.ts +227 -0
  450. package/dist/runtime/theme/slider.js +73 -0
  451. package/dist/runtime/theme/splitter-panel.d.ts +26 -0
  452. package/dist/runtime/theme/splitter-panel.js +9 -0
  453. package/dist/runtime/theme/splitter-resize-handle.d.ts +44 -0
  454. package/dist/runtime/theme/splitter-resize-handle.js +18 -0
  455. package/dist/runtime/theme/splitter.d.ts +35 -0
  456. package/dist/runtime/theme/splitter.js +15 -0
  457. package/dist/runtime/theme/stepper.d.ts +221 -0
  458. package/dist/runtime/theme/stepper.js +106 -0
  459. package/dist/runtime/theme/switch.d.ts +206 -0
  460. package/dist/runtime/theme/switch.js +84 -0
  461. package/dist/runtime/theme/table.d.ts +176 -0
  462. package/dist/runtime/theme/table.js +59 -0
  463. package/dist/runtime/theme/tabs.d.ts +59 -0
  464. package/dist/runtime/theme/tabs.js +44 -0
  465. package/dist/runtime/theme/textarea.d.ts +212 -0
  466. package/dist/runtime/theme/textarea.js +56 -0
  467. package/dist/runtime/theme/toast.d.ts +80 -0
  468. package/dist/runtime/theme/toast.js +31 -0
  469. package/dist/runtime/theme/toggle-group.d.ts +110 -0
  470. package/dist/runtime/theme/toggle-group.js +48 -0
  471. package/dist/runtime/theme/toggle.d.ts +92 -0
  472. package/dist/runtime/theme/toggle.js +48 -0
  473. package/dist/runtime/theme/tooltip.d.ts +44 -0
  474. package/dist/runtime/theme/tooltip.js +14 -0
  475. package/dist/runtime/theme/tree.d.ts +80 -0
  476. package/dist/runtime/theme/tree.js +32 -0
  477. package/dist/runtime/theme.css +1 -0
  478. package/dist/runtime/types/app-config.d.ts +15 -0
  479. package/dist/runtime/types/index.d.ts +82 -0
  480. package/dist/runtime/types/index.js +2 -0
  481. package/dist/runtime/utils/format-bytes.d.ts +2 -0
  482. package/dist/runtime/utils/format-bytes.js +9 -0
  483. package/dist/runtime/utils/fuzzy-match.d.ts +12 -0
  484. package/dist/runtime/utils/fuzzy-match.js +21 -0
  485. package/dist/runtime/utils/icons.d.ts +38 -0
  486. package/dist/runtime/utils/icons.js +51 -0
  487. package/dist/runtime/utils/injection-keys.d.ts +69 -0
  488. package/dist/runtime/utils/injection-keys.js +3 -0
  489. package/dist/runtime/utils/messages.d.ts +70 -0
  490. package/dist/runtime/utils/messages.js +68 -0
  491. package/dist/runtime/utils/navigation-menu.d.ts +32 -0
  492. package/dist/runtime/utils/navigation-menu.js +5 -0
  493. package/dist/runtime/utils/table-columns.d.ts +30 -0
  494. package/dist/runtime/utils/table-columns.js +89 -0
  495. package/dist/runtime/utils/table-export.d.ts +12 -0
  496. package/dist/runtime/utils/table-export.js +29 -0
  497. package/dist/runtime/utils/ui.d.ts +124 -0
  498. package/dist/runtime/utils/ui.js +74 -0
  499. package/dist/types.d.mts +3 -0
  500. package/package.json +99 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sewadah
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,131 @@
1
+ # Selaras
2
+
3
+ [![npm version][npm-version-src]][npm-version-href]
4
+ [![npm downloads][npm-downloads-src]][npm-downloads-href]
5
+ [![License][license-src]][license-href]
6
+ [![Nuxt][nuxt-src]][nuxt-href]
7
+
8
+ A UI component library for Nuxt, built on Reka UI and Tailwind v4. Every
9
+ component ships a `tailwind-variants` theme and a single `:ui` prop for
10
+ overrides - no separate pass-through prop to juggle, no specificity fights
11
+ between the library's own classes and yours. Design tokens are plain CSS
12
+ variables (`@theme` + a semantic `--ui-*` layer), so re-theming an app is a
13
+ matter of overriding variables, not rebuilding the library.
14
+
15
+ - [✨  Release Notes](/CHANGELOG.md)
16
+
17
+ > **Status:** pre-1.0 and still moving - component APIs, the color token
18
+ > system, and internal structure can change between minor versions until
19
+ > things settle. Not yet published to npm.
20
+
21
+ ## Features
22
+
23
+ - **One override prop, not two.** `:ui` accepts a string (tailwind-merge'd
24
+ against the theme) or an object (merged via `mergeProps` for the rare
25
+ non-class case) per slot - the same mental model everywhere in the library.
26
+ - **CSS variable design tokens.** Colors, radii, shadows, and z-index all
27
+ live in `theme.css` as `--ui-*` variables built on OKLCH primitives, so
28
+ swapping a brand color is a CSS override, not a rebuild.
29
+ - **CSS-only animation.** Open/close and hover/focus transitions run on
30
+ `data-state` attributes and Tailwind variants - no motion library
31
+ dependency.
32
+ - **~35 components** across elements (Button, Badge, Chip, Icon, ...), forms
33
+ (Input, Select, Autocomplete, Checkbox, RadioGroup, Switch, FormField,
34
+ ...), data (Table, with sorting/pagination/virtualization/pinning/export),
35
+ navigation (Tabs, Accordion, ContentNavigation, ContentToc), overlays
36
+ (Modal, Dropdown, Tooltip, Toast), layout, and a full set of Prose
37
+ wrappers for `@nuxt/content`.
38
+ - Components auto-import with an `S` prefix (`SButton`, `SSelect`, ...).
39
+
40
+ ## Quick Setup
41
+
42
+ Install the module to your Nuxt application with one command:
43
+
44
+ ```bash
45
+ npx nuxt module add selaras
46
+ ```
47
+
48
+ Tailwind CSS is a peer dependency - install it alongside Selaras too, so
49
+ your own project owns its version directly:
50
+
51
+ ```bash
52
+ npm install tailwindcss
53
+ ```
54
+
55
+ Import the CSS in your own stylesheet, after Tailwind itself:
56
+
57
+ ```css
58
+ @import "tailwindcss";
59
+ @import "selaras";
60
+ ```
61
+
62
+ Wrap your root `app.vue` in `<SApp>`, once - required for Tooltip's shared
63
+ hover-delay behavior and the `useModal`/`useDrawer`/`useSlideover` composables
64
+ to work:
65
+
66
+ ```vue-html
67
+ <!-- app.vue -->
68
+ <template>
69
+ <SApp>
70
+ <NuxtLayout>
71
+ <NuxtPage />
72
+ </NuxtLayout>
73
+ </SApp>
74
+ </template>
75
+ ```
76
+
77
+ Every component is now auto-imported and ready to use:
78
+
79
+ ```vue-html
80
+ <SButton color="primary" icon="ph:sparkle">
81
+ Get started
82
+ </SButton>
83
+ ```
84
+
85
+ ## Contribution
86
+
87
+ <details>
88
+ <summary>Local development</summary>
89
+
90
+ ```bash
91
+ # Install dependencies
92
+ npm install
93
+
94
+ # Generate type stubs
95
+ npm run dev:prepare
96
+
97
+ # Develop with the playground (component docs site)
98
+ npm run dev
99
+
100
+ # Build the playground
101
+ npm run dev:build
102
+
103
+ # Type-check
104
+ npm run test:types
105
+
106
+ # Run ESLint
107
+ npm run lint
108
+
109
+ # Run Vitest
110
+ npm run test
111
+ npm run test:watch
112
+
113
+ # Release new version
114
+ npm run release
115
+ ```
116
+
117
+ </details>
118
+
119
+
120
+ <!-- Badges -->
121
+ [npm-version-src]: https://img.shields.io/npm/v/selaras/latest.svg?style=flat&colorA=020420&colorB=00DC82
122
+ [npm-version-href]: https://npmjs.com/package/selaras
123
+
124
+ [npm-downloads-src]: https://img.shields.io/npm/dm/selaras.svg?style=flat&colorA=020420&colorB=00DC82
125
+ [npm-downloads-href]: https://npm.chart.dev/selaras
126
+
127
+ [license-src]: https://img.shields.io/npm/l/selaras.svg?style=flat&colorA=020420&colorB=00DC82
128
+ [license-href]: https://npmjs.com/package/selaras
129
+
130
+ [nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt
131
+ [nuxt-href]: https://nuxt.com
@@ -0,0 +1,22 @@
1
+ import * as _nuxt_schema from '@nuxt/schema';
2
+
3
+ interface ModuleOptions {
4
+ /**
5
+ * Prefix used for auto-imported components.
6
+ * @default 'S'
7
+ */
8
+ prefix?: string;
9
+ /**
10
+ * Namespaces every class Selaras's own components render behind this
11
+ * Tailwind v4 class-prefix (`tw:flex` instead of `flex`) - matches a
12
+ * consumer's own `@import "tailwindcss" prefix(tw);` declaration, which
13
+ * must use the exact same string or the whole UI renders unstyled with
14
+ * no error. Unset by default (no prefixing). See "Class prefix" in the
15
+ * installation docs before setting this.
16
+ */
17
+ classPrefix?: string;
18
+ }
19
+ declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
20
+
21
+ export { _default as default };
22
+ export type { ModuleOptions };
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "selaras",
3
+ "configKey": "selaras",
4
+ "version": "0.1.1",
5
+ "builder": {
6
+ "@nuxt/module-builder": "1.0.3",
7
+ "unbuild": "unknown"
8
+ }
9
+ }
@@ -0,0 +1,127 @@
1
+ import { defineNuxtModule, createResolver, addVitePlugin, addComponentsDir, addImportsDir, addImports, addTemplate } from '@nuxt/kit';
2
+ import { Scanner } from '@tailwindcss/oxide';
3
+ import tailwindcss from '@tailwindcss/vite';
4
+
5
+ const module$1 = defineNuxtModule({
6
+ meta: {
7
+ name: "selaras",
8
+ configKey: "selaras"
9
+ },
10
+ defaults: {
11
+ prefix: "S"
12
+ },
13
+ moduleDependencies: {
14
+ "@nuxt/icon": {},
15
+ // classSuffix: '' (the module's own default) produces bare `dark`/`light`
16
+ // classes on <html>, matching theme.css's own Tailwind v4 dark variant
17
+ // (`@custom-variant dark (&:where(.dark, .dark *))`) with no extra config.
18
+ "@nuxtjs/color-mode": {}
19
+ },
20
+ setup(options, nuxt) {
21
+ const resolver = createResolver(import.meta.url);
22
+ nuxt.options.icon ||= {};
23
+ nuxt.options.icon.cssLayer = "components";
24
+ addVitePlugin(tailwindcss());
25
+ addComponentsDir({
26
+ path: resolver.resolve("./runtime/components"),
27
+ prefix: options.prefix,
28
+ pathPrefix: false,
29
+ // SColumn/SColumnGroup are plain .ts files (never render real DOM), not
30
+ // .vue SFCs - addComponentsDir only scans .vue by default.
31
+ extensions: ["vue", "ts"],
32
+ // ModalRenderer is App.vue's own internal render loop for useModal(),
33
+ // mirroring the same un-exported overlay-provider pattern other Nuxt
34
+ // component libraries commonly use internally - not meant to be
35
+ // placed by a consumer (App.vue already mounts one; a second copy
36
+ // would render every open programmatic modal twice, since useModal()'s
37
+ // state is a shared singleton). NavigationMenuAccordionItem,
38
+ // NavigationMenuFlyoutList and NavigationMenuFlyoutTrigger are
39
+ // NavigationMenu's own internal recursive helpers for vertical mode's
40
+ // arbitrary-depth tree (expanded, collapsed-flyout content, and the
41
+ // collapsed-flyout's own hover/click trigger, respectively) - not
42
+ // meant to be placed directly either. SlideoverRenderer/DrawerRenderer
43
+ // are useSlideover()'s/useDrawer()'s own render loops, same reasoning
44
+ // as ModalRenderer.
45
+ ignore: ["**/ModalRenderer.vue", "**/NavigationMenuAccordionItem.vue", "**/NavigationMenuFlyoutList.vue", "**/NavigationMenuFlyoutTrigger.vue", "**/SlideoverRenderer.vue", "**/DrawerRenderer.vue"]
46
+ });
47
+ const hasContentModule = nuxt.options.modules.some((m) => {
48
+ const name = typeof m === "string" ? m : Array.isArray(m) && typeof m[0] === "string" ? m[0] : void 0;
49
+ return name === "@nuxt/content" || name === "@nuxtjs/mdc";
50
+ });
51
+ if (hasContentModule) {
52
+ addComponentsDir({
53
+ path: resolver.resolve("./runtime/components"),
54
+ pattern: ["ProsePre.vue", "ProseH[1-6].vue"],
55
+ prefix: "",
56
+ pathPrefix: false,
57
+ global: true,
58
+ priority: 10
59
+ });
60
+ }
61
+ addImportsDir(resolver.resolve("./runtime/composables"));
62
+ nuxt.hook("prepare:types", ({ references }) => {
63
+ references.push({ path: resolver.resolve("./runtime/types/app-config.d.ts") });
64
+ });
65
+ addImports({
66
+ name: "vRipple",
67
+ from: resolver.resolve("./runtime/directives/ripple"),
68
+ meta: { vueDirective: true }
69
+ });
70
+ addTemplate({
71
+ filename: "selaras-class-prefix.mjs",
72
+ getContents: () => `export const classPrefix = ${JSON.stringify(options.classPrefix ?? null)}
73
+ `
74
+ });
75
+ if (options.classPrefix) {
76
+ const runtimeBase = resolver.resolve("./runtime");
77
+ const scanner = new Scanner({
78
+ sources: [
79
+ { base: runtimeBase, pattern: "./components/**/*.vue", negated: false },
80
+ { base: runtimeBase, pattern: "./theme/**/*.ts", negated: false },
81
+ { base: runtimeBase, pattern: "./utils/**/*.ts", negated: false }
82
+ ]
83
+ });
84
+ const candidates = scanner.scan().filter((candidate) => {
85
+ if (candidate.startsWith("selaras-"))
86
+ return false;
87
+ if (candidate.startsWith("!") || /[A-Z]/.test(candidate))
88
+ return false;
89
+ return true;
90
+ });
91
+ const safelist = candidates.map((candidate) => `${options.classPrefix}:${candidate}`).join(" ");
92
+ const safelistTemplate = addTemplate({
93
+ filename: "selaras-prefix-safelist.css",
94
+ // Tailwind's split entry points (`tailwindcss/theme.css` +
95
+ // `tailwindcss/utilities.css`, each with their own `prefix(...)`)
96
+ // emit only the utilities layer for this file's own safelist
97
+ // candidates, instead of a second full copy of Preflight/theme
98
+ // output the plain `@import "tailwindcss" prefix(...)` form would
99
+ // otherwise duplicate (confirmed: ~3.4KB vs ~190KB for an
100
+ // equivalent safelist). `theme(reference)` on the theme import:
101
+ // this file only needs to *resolve* Tailwind's own theme values
102
+ // for candidate generation, not emit them again.
103
+ //
104
+ // `tw-animate-css` and `@custom-variant dark` are also imported/
105
+ // declared here, matching theme.css's own - both live only in
106
+ // theme.css's (separate) compilation otherwise, so without them
107
+ // every `${prefix}:animate-in`/`${prefix}:fade-in-0`/etc class
108
+ // (every Modal/Dropdown/Select/Toast/Tooltip/Drawer open-close
109
+ // transition) would silently generate no CSS at all under a
110
+ // configured prefix - confirmed empirically. `dark:` isn't used
111
+ // by any real component class yet, but costs nothing to close now.
112
+ getContents: () => [
113
+ `@import "tailwindcss/theme.css" theme(reference) prefix(${options.classPrefix});`,
114
+ `@import "tailwindcss/utilities.css" layer(utilities) prefix(${options.classPrefix});`,
115
+ `@import "tw-animate-css";`,
116
+ `@custom-variant dark (&:where(.dark, .dark *));`,
117
+ `@source inline("${safelist}");`,
118
+ ""
119
+ ].join("\n"),
120
+ write: true
121
+ });
122
+ nuxt.options.css.push(safelistTemplate.dst);
123
+ }
124
+ }
125
+ });
126
+
127
+ export { module$1 as default };
@@ -0,0 +1,59 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { AccordionThemeSlots } from '../theme/accordion.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { accordionTheme } from '../theme/accordion.js';
5
+ type AccordionVariants = VariantProps<typeof accordionTheme>;
6
+ export interface AccordionItemDef {
7
+ value: string;
8
+ label: string;
9
+ disabled?: boolean;
10
+ /** Not read by Accordion's own default label rendering - carried purely so a custom #label slot override can display one. */
11
+ icon?: string;
12
+ }
13
+ export interface AccordionProps {
14
+ items: AccordionItemDef[];
15
+ type?: 'single' | 'multiple';
16
+ defaultValue?: string | string[];
17
+ modelValue?: string | string[];
18
+ collapsible?: boolean;
19
+ /** Disables every item at once - Reka's own AccordionRoot already blocks all interaction when this is set, so this is a straight pass-through. */
20
+ disabled?: boolean;
21
+ size?: AccordionVariants['size'];
22
+ /** @default 'list' */
23
+ variant?: AccordionVariants['variant'];
24
+ /** @default 'end' */
25
+ chevronPosition?: AccordionVariants['chevronPosition'];
26
+ ui?: UiProp<AccordionThemeSlots>;
27
+ }
28
+ export interface AccordionEmits {
29
+ 'update:modelValue': [value: string | string[]];
30
+ }
31
+ declare var __VLS_28: {
32
+ class: unknown;
33
+ }, __VLS_35: {
34
+ item: AccordionItemDef;
35
+ }, __VLS_37: {
36
+ class: unknown;
37
+ }, __VLS_51: string, __VLS_52: {};
38
+ type __VLS_Slots = {} & {
39
+ [K in NonNullable<typeof __VLS_51>]?: (props: typeof __VLS_52) => any;
40
+ } & {
41
+ 'chevron-icon'?: (props: typeof __VLS_28) => any;
42
+ } & {
43
+ label?: (props: typeof __VLS_35) => any;
44
+ } & {
45
+ 'chevron-icon'?: (props: typeof __VLS_37) => any;
46
+ };
47
+ declare const __VLS_base: import("vue").DefineComponent<AccordionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ "update:modelValue": (value: string | string[]) => any;
49
+ }, string, import("vue").PublicProps, Readonly<AccordionProps> & Readonly<{
50
+ "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
51
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
52
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -0,0 +1,65 @@
1
+ <script setup>
2
+ import { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot, AccordionTrigger } from "reka-ui";
3
+ import { computed } from "vue";
4
+ import { useIcons } from "../composables/use-icons";
5
+ import { accordionTheme } from "../theme/accordion";
6
+ import { resolveSlot, useComponentTheme, useRootProps } from "../utils/ui";
7
+ import Icon from "./Icon.vue";
8
+ defineOptions({ inheritAttrs: false });
9
+ const props = defineProps({
10
+ items: { type: Array, required: true },
11
+ type: { type: String, required: false, default: "multiple" },
12
+ defaultValue: { type: [String, Array], required: false },
13
+ modelValue: { type: [String, Array], required: false },
14
+ collapsible: { type: Boolean, required: false, default: true },
15
+ disabled: { type: Boolean, required: false },
16
+ size: { type: null, required: false },
17
+ variant: { type: null, required: false },
18
+ chevronPosition: { type: null, required: false },
19
+ ui: { type: Object, required: false }
20
+ });
21
+ defineEmits(["update:modelValue"]);
22
+ const icons = useIcons();
23
+ const theme = useComponentTheme("accordion", accordionTheme);
24
+ const ui = computed(() => theme.value({ size: props.size, variant: props.variant, chevronPosition: props.chevronPosition }));
25
+ const rootProps = useRootProps(() => ui.value.root, () => props.ui?.root);
26
+ </script>
27
+
28
+ <template>
29
+ <AccordionRoot
30
+ :type="type"
31
+ :default-value="defaultValue"
32
+ :model-value="modelValue"
33
+ :collapsible="type === 'single' ? collapsible : void 0"
34
+ :disabled="disabled"
35
+ v-bind="rootProps"
36
+ @update:model-value="(value) => $emit('update:modelValue', value)"
37
+ >
38
+ <AccordionItem
39
+ v-for="item in items"
40
+ :key="item.value"
41
+ :value="item.value"
42
+ :disabled="item.disabled"
43
+ v-bind="resolveSlot(ui.item, props.ui?.item)"
44
+ >
45
+ <AccordionHeader as="div" v-bind="resolveSlot(ui.header, props.ui?.header)">
46
+ <AccordionTrigger v-bind="resolveSlot(ui.trigger, props.ui?.trigger)">
47
+ <slot v-if="chevronPosition === 'start'" name="chevron-icon" :class="resolveSlot(ui.chevron, props.ui?.chevron).class">
48
+ <Icon :name="icons.chevronDown" v-bind="resolveSlot(ui.chevron, props.ui?.chevron)" />
49
+ </slot>
50
+ <span v-bind="resolveSlot(ui.label, props.ui?.label)">
51
+ <slot name="label" :item="item">{{ item.label }}</slot>
52
+ </span>
53
+ <slot v-if="chevronPosition !== 'start'" name="chevron-icon" :class="resolveSlot(ui.chevron, props.ui?.chevron).class">
54
+ <Icon :name="icons.chevronDown" v-bind="resolveSlot(ui.chevron, props.ui?.chevron)" />
55
+ </slot>
56
+ </AccordionTrigger>
57
+ </AccordionHeader>
58
+ <AccordionContent v-bind="resolveSlot(ui.content, props.ui?.content)">
59
+ <div v-bind="resolveSlot(ui.contentInner, props.ui?.contentInner)">
60
+ <slot :name="item.value" />
61
+ </div>
62
+ </AccordionContent>
63
+ </AccordionItem>
64
+ </AccordionRoot>
65
+ </template>
@@ -0,0 +1,59 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { AccordionThemeSlots } from '../theme/accordion.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { accordionTheme } from '../theme/accordion.js';
5
+ type AccordionVariants = VariantProps<typeof accordionTheme>;
6
+ export interface AccordionItemDef {
7
+ value: string;
8
+ label: string;
9
+ disabled?: boolean;
10
+ /** Not read by Accordion's own default label rendering - carried purely so a custom #label slot override can display one. */
11
+ icon?: string;
12
+ }
13
+ export interface AccordionProps {
14
+ items: AccordionItemDef[];
15
+ type?: 'single' | 'multiple';
16
+ defaultValue?: string | string[];
17
+ modelValue?: string | string[];
18
+ collapsible?: boolean;
19
+ /** Disables every item at once - Reka's own AccordionRoot already blocks all interaction when this is set, so this is a straight pass-through. */
20
+ disabled?: boolean;
21
+ size?: AccordionVariants['size'];
22
+ /** @default 'list' */
23
+ variant?: AccordionVariants['variant'];
24
+ /** @default 'end' */
25
+ chevronPosition?: AccordionVariants['chevronPosition'];
26
+ ui?: UiProp<AccordionThemeSlots>;
27
+ }
28
+ export interface AccordionEmits {
29
+ 'update:modelValue': [value: string | string[]];
30
+ }
31
+ declare var __VLS_28: {
32
+ class: unknown;
33
+ }, __VLS_35: {
34
+ item: AccordionItemDef;
35
+ }, __VLS_37: {
36
+ class: unknown;
37
+ }, __VLS_51: string, __VLS_52: {};
38
+ type __VLS_Slots = {} & {
39
+ [K in NonNullable<typeof __VLS_51>]?: (props: typeof __VLS_52) => any;
40
+ } & {
41
+ 'chevron-icon'?: (props: typeof __VLS_28) => any;
42
+ } & {
43
+ label?: (props: typeof __VLS_35) => any;
44
+ } & {
45
+ 'chevron-icon'?: (props: typeof __VLS_37) => any;
46
+ };
47
+ declare const __VLS_base: import("vue").DefineComponent<AccordionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ "update:modelValue": (value: string | string[]) => any;
49
+ }, string, import("vue").PublicProps, Readonly<AccordionProps> & Readonly<{
50
+ "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
51
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
52
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -0,0 +1,39 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { AlertThemeSlots } from '../theme/alert.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { alertTheme } from '../theme/alert.js';
5
+ type AlertVariants = VariantProps<typeof alertTheme>;
6
+ type __VLS_Slots = AlertSlots;
7
+ export interface AlertProps {
8
+ title?: string;
9
+ description?: string;
10
+ /** Falls back to the color's own default icon (icons.success/danger/warning/info) when unset - no icon renders at all without a color either. */
11
+ icon?: string;
12
+ /** Shows a dismiss button and emits `close` when clicked. The alert has no open state of its own - closing it is left to the consumer's own v-if/v-for, the same way Chip's own `removable` + `remove` already works. */
13
+ closable?: boolean;
14
+ color?: AlertVariants['color'];
15
+ variant?: AlertVariants['variant'];
16
+ ui?: UiProp<AlertThemeSlots>;
17
+ }
18
+ export interface AlertEmits {
19
+ close: [];
20
+ }
21
+ export interface AlertSlots {
22
+ title?: () => any;
23
+ description?: () => any;
24
+ /** Action buttons (Retry, Undo, ...) below the description. */
25
+ actions?: () => any;
26
+ }
27
+ declare const __VLS_base: import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ close: () => any;
29
+ }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
30
+ onClose?: (() => any) | undefined;
31
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,64 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useIcons } from "../composables/use-icons";
4
+ import { useMessages } from "../composables/use-messages";
5
+ import { alertTheme } from "../theme/alert";
6
+ import { resolveSlot, useComponentTheme, useRootProps } from "../utils/ui";
7
+ import Button from "./Button.vue";
8
+ import Icon from "./Icon.vue";
9
+ defineOptions({ inheritAttrs: false });
10
+ const props = defineProps({
11
+ title: { type: String, required: false },
12
+ description: { type: String, required: false },
13
+ icon: { type: String, required: false },
14
+ closable: { type: Boolean, required: false },
15
+ color: { type: null, required: false },
16
+ variant: { type: null, required: false },
17
+ ui: { type: Object, required: false }
18
+ });
19
+ const emit = defineEmits(["close"]);
20
+ defineSlots();
21
+ const icons = useIcons();
22
+ const messages = useMessages();
23
+ const iconName = computed(() => props.icon ?? (props.color ? icons.value[props.color] : void 0));
24
+ const theme = useComponentTheme("alert", alertTheme);
25
+ const ui = computed(() => theme.value({ color: props.color, variant: props.variant }));
26
+ const rootProps = useRootProps(() => ui.value.root, () => props.ui?.root);
27
+ const iconProps = computed(() => resolveSlot(ui.value.icon, props.ui?.icon));
28
+ const contentProps = computed(() => resolveSlot(ui.value.content, props.ui?.content));
29
+ const titleProps = computed(() => resolveSlot(ui.value.title, props.ui?.title));
30
+ const descriptionProps = computed(() => resolveSlot(ui.value.description, props.ui?.description));
31
+ const actionsProps = computed(() => resolveSlot(ui.value.actions, props.ui?.actions));
32
+ const closeProps = computed(() => resolveSlot(ui.value.close, props.ui?.close));
33
+ </script>
34
+
35
+ <template>
36
+ <div v-bind="rootProps">
37
+ <Icon v-if="iconName" :name="iconName" v-bind="iconProps" />
38
+ <div v-bind="contentProps">
39
+ <p v-if="title || $slots.title" v-bind="titleProps">
40
+ <slot name="title">
41
+ {{ title }}
42
+ </slot>
43
+ </p>
44
+ <p v-if="description || $slots.description" v-bind="descriptionProps">
45
+ <slot name="description">
46
+ {{ description }}
47
+ </slot>
48
+ </p>
49
+ <div v-if="$slots.actions" v-bind="actionsProps">
50
+ <slot name="actions" />
51
+ </div>
52
+ </div>
53
+ <Button
54
+ v-if="closable"
55
+ size="sm"
56
+ variant="ghost"
57
+ color="neutral"
58
+ :icon="icons.close"
59
+ :aria-label="messages.close"
60
+ v-bind="closeProps"
61
+ @click="emit('close')"
62
+ />
63
+ </div>
64
+ </template>
@@ -0,0 +1,39 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { AlertThemeSlots } from '../theme/alert.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { alertTheme } from '../theme/alert.js';
5
+ type AlertVariants = VariantProps<typeof alertTheme>;
6
+ type __VLS_Slots = AlertSlots;
7
+ export interface AlertProps {
8
+ title?: string;
9
+ description?: string;
10
+ /** Falls back to the color's own default icon (icons.success/danger/warning/info) when unset - no icon renders at all without a color either. */
11
+ icon?: string;
12
+ /** Shows a dismiss button and emits `close` when clicked. The alert has no open state of its own - closing it is left to the consumer's own v-if/v-for, the same way Chip's own `removable` + `remove` already works. */
13
+ closable?: boolean;
14
+ color?: AlertVariants['color'];
15
+ variant?: AlertVariants['variant'];
16
+ ui?: UiProp<AlertThemeSlots>;
17
+ }
18
+ export interface AlertEmits {
19
+ close: [];
20
+ }
21
+ export interface AlertSlots {
22
+ title?: () => any;
23
+ description?: () => any;
24
+ /** Action buttons (Retry, Undo, ...) below the description. */
25
+ actions?: () => any;
26
+ }
27
+ declare const __VLS_base: import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ close: () => any;
29
+ }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
30
+ onClose?: (() => any) | undefined;
31
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };