@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
@@ -0,0 +1,110 @@
1
+ <script setup>
2
+ import { computed, nextTick, onMounted, ref, watch } from "vue";
3
+ import { useFormField } from "../composables/use-form-field";
4
+ import { useIcons } from "../composables/use-icons";
5
+ import { useMessages } from "../composables/use-messages";
6
+ import { textareaTheme } from "../theme/textarea";
7
+ import { resolveSlot, useComponentTheme, useRootProps } from "../utils/ui";
8
+ import Button from "./Button.vue";
9
+ import Icon from "./Icon.vue";
10
+ defineOptions({ inheritAttrs: false });
11
+ const props = defineProps({
12
+ id: { type: String, required: false },
13
+ name: { type: String, required: false },
14
+ modelValue: { type: String, required: false },
15
+ placeholder: { type: String, required: false },
16
+ rows: { type: Number, required: false, default: 3 },
17
+ size: { type: null, required: false },
18
+ disabled: { type: Boolean, required: false },
19
+ invalid: { type: Boolean, required: false },
20
+ color: { type: null, required: false, default: "primary" },
21
+ clearable: { type: Boolean, required: false },
22
+ icon: { type: String, required: false },
23
+ trailingIcon: { type: String, required: false },
24
+ autoresize: { type: Boolean, required: false },
25
+ maxrows: { type: Number, required: false },
26
+ ui: { type: Object, required: false }
27
+ });
28
+ const emit = defineEmits(["update:modelValue"]);
29
+ const field = useFormField();
30
+ const textareaId = computed(() => props.id ?? field?.id);
31
+ const textareaInvalid = computed(() => props.invalid || (field?.invalid.value ?? false));
32
+ const describedBy = computed(() => field?.describedBy.value);
33
+ const hasValue = computed(() => props.modelValue !== void 0 && props.modelValue !== "");
34
+ const showClear = computed(() => !!props.clearable && !props.disabled && hasValue.value);
35
+ function clear() {
36
+ emit("update:modelValue", "");
37
+ }
38
+ const effectiveSize = computed(() => props.size ?? field?.size ?? "md");
39
+ const clearSize = computed(() => ({ sm: "sm", md: "sm", lg: "md" })[effectiveSize.value]);
40
+ const icons = useIcons();
41
+ const messages = useMessages();
42
+ const theme = useComponentTheme("textarea", textareaTheme);
43
+ const ui = computed(() => theme.value({
44
+ size: effectiveSize.value,
45
+ color: props.color,
46
+ invalid: textareaInvalid.value,
47
+ hasLeadingIcon: !!props.icon,
48
+ hasTrailingIcon: !!props.trailingIcon || showClear.value,
49
+ autoresize: props.autoresize
50
+ }));
51
+ const rootProps = computed(() => resolveSlot(ui.value.root, props.ui?.root));
52
+ const baseProps = useRootProps(() => ui.value.base, () => props.ui?.base);
53
+ const textareaRef = ref();
54
+ async function resize() {
55
+ if (!props.autoresize || !textareaRef.value)
56
+ return;
57
+ await nextTick();
58
+ const el = textareaRef.value;
59
+ el.style.height = "auto";
60
+ if (props.maxrows) {
61
+ const cs = getComputedStyle(el);
62
+ const lineHeight = Number.parseFloat(cs.lineHeight);
63
+ const padding = Number.parseFloat(cs.paddingTop) + Number.parseFloat(cs.paddingBottom);
64
+ const maxHeight = lineHeight * props.maxrows + padding;
65
+ el.style.height = `${Math.min(el.scrollHeight, maxHeight)}px`;
66
+ el.style.overflowY = el.scrollHeight > maxHeight ? "auto" : "hidden";
67
+ return;
68
+ }
69
+ el.style.height = `${el.scrollHeight}px`;
70
+ }
71
+ onMounted(resize);
72
+ watch(() => props.modelValue, resize);
73
+ </script>
74
+
75
+ <template>
76
+ <div v-bind="rootProps">
77
+ <Icon v-if="icon" :name="icon" v-bind="resolveSlot(ui.leadingIcon, props.ui?.leadingIcon)" />
78
+ <textarea
79
+ :id="textareaId"
80
+ ref="textareaRef"
81
+ data-ui-group-item
82
+ :value="modelValue"
83
+ :name="name ?? field?.name"
84
+ :placeholder="placeholder"
85
+ :rows="rows"
86
+ :disabled="disabled"
87
+ :aria-invalid="textareaInvalid || void 0"
88
+ :aria-describedby="describedBy"
89
+ v-bind="baseProps"
90
+ @input="$emit('update:modelValue', $event.target.value);
91
+ resize()"
92
+ />
93
+ <Button
94
+ v-if="showClear"
95
+ :size="clearSize"
96
+ variant="text"
97
+ color="neutral"
98
+ :aria-label="messages.clear"
99
+ v-bind="resolveSlot(ui.clear, props.ui?.clear)"
100
+ @click="clear"
101
+ >
102
+ <template #icon="{ class: iconClass }">
103
+ <slot name="clear-icon">
104
+ <Icon :name="icons.close" :class="iconClass" />
105
+ </slot>
106
+ </template>
107
+ </Button>
108
+ <Icon v-else-if="trailingIcon" :name="trailingIcon" v-bind="resolveSlot(ui.trailingIcon, props.ui?.trailingIcon)" />
109
+ </div>
110
+ </template>
@@ -0,0 +1,45 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { TextareaThemeSlots } from '../theme/textarea.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { textareaTheme } from '../theme/textarea.js';
5
+ type TextareaVariants = VariantProps<typeof textareaTheme>;
6
+ export interface TextareaProps {
7
+ id?: string;
8
+ name?: string;
9
+ modelValue?: string;
10
+ placeholder?: string;
11
+ rows?: number;
12
+ size?: TextareaVariants['size'];
13
+ disabled?: boolean;
14
+ invalid?: boolean;
15
+ /** The focus-ring color - the resting (unfocused) ring stays neutral regardless. */
16
+ color?: TextareaVariants['color'];
17
+ clearable?: boolean;
18
+ icon?: string;
19
+ trailingIcon?: string;
20
+ /** Grows the box to fit its content instead of a fixed height + scrollbar/drag-handle. */
21
+ autoresize?: boolean;
22
+ /** autoresize only - caps how many rows it can grow to before switching to a scrollbar (0/unset grows indefinitely). */
23
+ maxrows?: number;
24
+ ui?: UiProp<TextareaThemeSlots>;
25
+ }
26
+ export interface TextareaEmits {
27
+ 'update:modelValue': [value: string];
28
+ }
29
+ declare var __VLS_15: {};
30
+ type __VLS_Slots = {} & {
31
+ 'clear-icon'?: (props: typeof __VLS_15) => any;
32
+ };
33
+ declare const __VLS_base: import("vue").DefineComponent<TextareaProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
34
+ "update:modelValue": (value: string) => any;
35
+ }, string, import("vue").PublicProps, Readonly<TextareaProps> & Readonly<{
36
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
37
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
+ declare const _default: typeof __VLS_export;
40
+ export default _default;
41
+ type __VLS_WithSlots<T, S> = T & {
42
+ new (): {
43
+ $slots: S;
44
+ };
45
+ };
@@ -0,0 +1,19 @@
1
+ export interface ThemeProps {
2
+ /** Component-name-keyed slot-class overrides, same shape as app.config.ui but scoped to this subtree instead of the whole app - e.g. `{ button: { slots: { base: 'rounded-full' } } }`. */
3
+ ui?: Partial<Record<string, object>>;
4
+ /** Component-name-keyed prop-default overrides - e.g. `{ button: { size: 'lg' } }`. Only respected by components that opt into reading useThemeProps for a given prop (see theming.md's "STheme" section for which ones currently do); an explicit prop on the component itself always wins. */
5
+ props?: Partial<Record<string, Record<string, unknown>>>;
6
+ }
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import("vue").DefineComponent<ThemeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ThemeProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,18 @@
1
+ <script setup>
2
+ import { computed, inject, provide } from "vue";
3
+ import { THEME_INJECTION_KEY } from "../utils/injection-keys";
4
+ const props = defineProps({
5
+ ui: { type: Object, required: false },
6
+ props: { type: Object, required: false }
7
+ });
8
+ const parent = inject(THEME_INJECTION_KEY, void 0);
9
+ provide(THEME_INJECTION_KEY, computed(() => ({
10
+ ui: props.ui,
11
+ props: props.props,
12
+ parent: parent?.value
13
+ })));
14
+ </script>
15
+
16
+ <template>
17
+ <slot />
18
+ </template>
@@ -0,0 +1,19 @@
1
+ export interface ThemeProps {
2
+ /** Component-name-keyed slot-class overrides, same shape as app.config.ui but scoped to this subtree instead of the whole app - e.g. `{ button: { slots: { base: 'rounded-full' } } }`. */
3
+ ui?: Partial<Record<string, object>>;
4
+ /** Component-name-keyed prop-default overrides - e.g. `{ button: { size: 'lg' } }`. Only respected by components that opt into reading useThemeProps for a given prop (see theming.md's "STheme" section for which ones currently do); an explicit prop on the component itself always wins. */
5
+ props?: Partial<Record<string, Record<string, unknown>>>;
6
+ }
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import("vue").DefineComponent<ThemeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ThemeProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,8 @@
1
+ import type { ToastThemeSlots } from '../theme/toast.js';
2
+ import type { UiProp } from '../utils/ui.js';
3
+ export interface ToastProps {
4
+ ui?: UiProp<ToastThemeSlots>;
5
+ }
6
+ declare const __VLS_export: import("vue").DefineComponent<ToastProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ToastProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,58 @@
1
+ <script setup>
2
+ import { ToastClose, ToastDescription, ToastPortal, ToastRoot, ToastTitle, ToastViewport } from "reka-ui";
3
+ import { computed } from "vue";
4
+ import { useIcons } from "../composables/use-icons";
5
+ import { useMessages } from "../composables/use-messages";
6
+ import { useToast } from "../composables/use-toast";
7
+ import { toastTheme } from "../theme/toast";
8
+ import { resolveSlot, useComponentTheme } from "../utils/ui";
9
+ import Button from "./Button.vue";
10
+ import Icon from "./Icon.vue";
11
+ const props = defineProps({
12
+ ui: { type: Object, required: false }
13
+ });
14
+ const { toasts, remove } = useToast();
15
+ const icons = useIcons();
16
+ const messages = useMessages();
17
+ const theme = useComponentTheme("toast", toastTheme);
18
+ const ui = computed(() => theme.value());
19
+ const viewportProps = computed(() => resolveSlot(ui.value.viewport, props.ui?.viewport));
20
+ const titleProps = computed(() => resolveSlot(ui.value.title, props.ui?.title));
21
+ const descriptionProps = computed(() => resolveSlot(ui.value.description, props.ui?.description));
22
+ const closeProps = computed(() => resolveSlot(ui.value.close, props.ui?.close));
23
+ function rootPropsFor(toast) {
24
+ return resolveSlot(theme.value({ color: toast.color }).root, props.ui?.root);
25
+ }
26
+ function iconPropsFor(toast) {
27
+ return resolveSlot(theme.value({ color: toast.color }).icon, props.ui?.icon);
28
+ }
29
+ function iconNameFor(toast) {
30
+ return toast.icon ?? (toast.color ? icons.value[toast.color] : void 0);
31
+ }
32
+ </script>
33
+
34
+ <template>
35
+ <ToastRoot
36
+ v-for="toast in toasts"
37
+ :key="toast.id"
38
+ :duration="toast.duration ?? 5e3"
39
+ v-bind="rootPropsFor(toast)"
40
+ @update:open="(open) => !open && remove(toast.id)"
41
+ >
42
+ <Icon v-if="iconNameFor(toast)" :name="iconNameFor(toast)" v-bind="iconPropsFor(toast)" />
43
+ <div>
44
+ <ToastTitle v-if="toast.title" v-bind="titleProps">
45
+ {{ toast.title }}
46
+ </ToastTitle>
47
+ <ToastDescription v-if="toast.description" v-bind="descriptionProps">
48
+ {{ toast.description }}
49
+ </ToastDescription>
50
+ </div>
51
+ <ToastClose as-child>
52
+ <Button size="sm" variant="ghost" color="neutral" :icon="icons.close" :aria-label="messages.close" v-bind="closeProps" />
53
+ </ToastClose>
54
+ </ToastRoot>
55
+ <ToastPortal>
56
+ <ToastViewport v-bind="viewportProps" />
57
+ </ToastPortal>
58
+ </template>
@@ -0,0 +1,8 @@
1
+ import type { ToastThemeSlots } from '../theme/toast.js';
2
+ import type { UiProp } from '../utils/ui.js';
3
+ export interface ToastProps {
4
+ ui?: UiProp<ToastThemeSlots>;
5
+ }
6
+ declare const __VLS_export: import("vue").DefineComponent<ToastProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ToastProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,38 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { ToggleThemeSlots } from '../theme/toggle.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { toggleTheme } from '../theme/toggle.js';
5
+ type ToggleVariants = VariantProps<typeof toggleTheme>;
6
+ type __VLS_Slots = ToggleSlots;
7
+ export interface ToggleProps {
8
+ modelValue?: boolean;
9
+ defaultValue?: boolean;
10
+ disabled?: boolean;
11
+ icon?: string;
12
+ color?: ToggleVariants['color'];
13
+ size?: ToggleVariants['size'];
14
+ /** Forces (or blocks) the equal-width/height icon-only shape - same convention as Button's own `square`. */
15
+ square?: boolean;
16
+ ui?: UiProp<ToggleThemeSlots>;
17
+ }
18
+ export interface ToggleEmits {
19
+ 'update:modelValue': [value: boolean];
20
+ }
21
+ export interface ToggleSlots {
22
+ default?: (props: {
23
+ pressed: boolean;
24
+ }) => any;
25
+ }
26
+ declare const __VLS_base: import("vue").DefineComponent<ToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
+ "update:modelValue": (value: boolean) => any;
28
+ }, string, import("vue").PublicProps, Readonly<ToggleProps> & Readonly<{
29
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
34
+ type __VLS_WithSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,44 @@
1
+ <script setup>
2
+ import { Toggle } from "reka-ui";
3
+ import { computed, useSlots } from "vue";
4
+ import { toggleTheme } from "../theme/toggle";
5
+ import { resolveSlot, useComponentTheme, useRootProps } from "../utils/ui";
6
+ import Icon from "./Icon.vue";
7
+ defineOptions({ inheritAttrs: false });
8
+ const props = defineProps({
9
+ modelValue: { type: Boolean, required: false, default: void 0 },
10
+ defaultValue: { type: Boolean, required: false },
11
+ disabled: { type: Boolean, required: false },
12
+ icon: { type: String, required: false },
13
+ color: { type: null, required: false },
14
+ size: { type: null, required: false },
15
+ square: { type: Boolean, required: false, default: void 0 },
16
+ ui: { type: Object, required: false }
17
+ });
18
+ const emit = defineEmits(["update:modelValue"]);
19
+ defineSlots();
20
+ const slots = useSlots();
21
+ const iconOnly = computed(() => !slots.default);
22
+ const theme = useComponentTheme("toggle", toggleTheme);
23
+ const ui = computed(() => theme.value({
24
+ color: props.color,
25
+ size: props.size,
26
+ square: props.square ?? iconOnly.value
27
+ }));
28
+ const rootProps = useRootProps(() => ui.value.base, () => props.ui?.base);
29
+ </script>
30
+
31
+ <template>
32
+ <Toggle
33
+ :model-value="modelValue"
34
+ :default-value="defaultValue"
35
+ :disabled="disabled"
36
+ v-bind="rootProps"
37
+ @update:model-value="(value) => emit('update:modelValue', value)"
38
+ >
39
+ <template #default="{ pressed }">
40
+ <Icon v-if="icon" :name="icon" v-bind="resolveSlot(ui.icon, props.ui?.icon)" />
41
+ <slot :pressed="pressed" />
42
+ </template>
43
+ </Toggle>
44
+ </template>
@@ -0,0 +1,38 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { ToggleThemeSlots } from '../theme/toggle.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { toggleTheme } from '../theme/toggle.js';
5
+ type ToggleVariants = VariantProps<typeof toggleTheme>;
6
+ type __VLS_Slots = ToggleSlots;
7
+ export interface ToggleProps {
8
+ modelValue?: boolean;
9
+ defaultValue?: boolean;
10
+ disabled?: boolean;
11
+ icon?: string;
12
+ color?: ToggleVariants['color'];
13
+ size?: ToggleVariants['size'];
14
+ /** Forces (or blocks) the equal-width/height icon-only shape - same convention as Button's own `square`. */
15
+ square?: boolean;
16
+ ui?: UiProp<ToggleThemeSlots>;
17
+ }
18
+ export interface ToggleEmits {
19
+ 'update:modelValue': [value: boolean];
20
+ }
21
+ export interface ToggleSlots {
22
+ default?: (props: {
23
+ pressed: boolean;
24
+ }) => any;
25
+ }
26
+ declare const __VLS_base: import("vue").DefineComponent<ToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
+ "update:modelValue": (value: boolean) => any;
28
+ }, string, import("vue").PublicProps, Readonly<ToggleProps> & Readonly<{
29
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
34
+ type __VLS_WithSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,48 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { ToggleGroupThemeSlots } from '../theme/toggle-group.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { toggleGroupTheme } from '../theme/toggle-group.js';
5
+ export interface ToggleGroupItemDef {
6
+ label: string;
7
+ value: string;
8
+ icon?: string;
9
+ disabled?: boolean;
10
+ }
11
+ type ToggleGroupVariants = VariantProps<typeof toggleGroupTheme>;
12
+ type __VLS_Slots = ToggleGroupSlots;
13
+ export interface ToggleGroupProps {
14
+ /** A plain string is shorthand for `{ label: value, value }`. */
15
+ items: (string | ToggleGroupItemDef)[];
16
+ /** @default 'single' */
17
+ type?: 'single' | 'multiple';
18
+ modelValue?: string | string[];
19
+ defaultValue?: string | string[];
20
+ disabled?: boolean;
21
+ orientation?: ToggleGroupVariants['orientation'];
22
+ color?: ToggleGroupVariants['color'];
23
+ size?: ToggleGroupVariants['size'];
24
+ ui?: UiProp<ToggleGroupThemeSlots>;
25
+ }
26
+ export interface ToggleGroupEmits {
27
+ 'update:modelValue': [value: string | string[]];
28
+ }
29
+ export interface ToggleGroupSlots {
30
+ /** Replaces an item's default icon+label content. */
31
+ item?: (props: {
32
+ item: ToggleGroupItemDef;
33
+ pressed: boolean;
34
+ }) => any;
35
+ }
36
+ declare const __VLS_base: import("vue").DefineComponent<ToggleGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
+ "update:modelValue": (value: string | string[]) => any;
38
+ }, string, import("vue").PublicProps, Readonly<ToggleGroupProps> & Readonly<{
39
+ "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
40
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;
44
+ type __VLS_WithSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
@@ -0,0 +1,61 @@
1
+ <script setup>
2
+ import { ToggleGroupItem, ToggleGroupRoot } from "reka-ui";
3
+ import { computed } from "vue";
4
+ import { toggleGroupTheme } from "../theme/toggle-group";
5
+ import { resolveSlot, useComponentTheme, useRootProps } from "../utils/ui";
6
+ import Icon from "./Icon.vue";
7
+ defineOptions({ inheritAttrs: false });
8
+ const props = defineProps({
9
+ items: { type: Array, required: true },
10
+ type: { type: String, required: false, default: "single" },
11
+ modelValue: { type: [String, Array], required: false },
12
+ defaultValue: { type: [String, Array], required: false },
13
+ disabled: { type: Boolean, required: false },
14
+ orientation: { type: null, required: false },
15
+ color: { type: null, required: false },
16
+ size: { type: null, required: false },
17
+ ui: { type: Object, required: false }
18
+ });
19
+ const emit = defineEmits(["update:modelValue"]);
20
+ defineSlots();
21
+ const normalizedItems = computed(
22
+ () => props.items.map((item) => typeof item === "string" ? { label: item, value: item } : item)
23
+ );
24
+ const theme = useComponentTheme("toggleGroup", toggleGroupTheme);
25
+ const ui = computed(() => theme.value({
26
+ orientation: props.orientation,
27
+ size: props.size,
28
+ color: props.color
29
+ }));
30
+ const rootProps = useRootProps(() => ui.value.root, () => props.ui?.root);
31
+ const itemProps = computed(() => resolveSlot(ui.value.item, props.ui?.item));
32
+ const iconProps = computed(() => resolveSlot(ui.value.icon, props.ui?.icon));
33
+ function isPressed(item) {
34
+ return props.type === "multiple" ? Array.isArray(props.modelValue) && props.modelValue.includes(item.value) : props.modelValue === item.value;
35
+ }
36
+ </script>
37
+
38
+ <template>
39
+ <ToggleGroupRoot
40
+ :type="type"
41
+ :model-value="modelValue"
42
+ :default-value="defaultValue"
43
+ :disabled="disabled"
44
+ :orientation="orientation"
45
+ v-bind="rootProps"
46
+ @update:model-value="(value) => emit('update:modelValue', value)"
47
+ >
48
+ <ToggleGroupItem
49
+ v-for="item in normalizedItems"
50
+ :key="item.value"
51
+ :value="item.value"
52
+ :disabled="item.disabled"
53
+ v-bind="itemProps"
54
+ >
55
+ <slot name="item" :item="item" :pressed="isPressed(item)">
56
+ <Icon v-if="item.icon" :name="item.icon" v-bind="iconProps" />
57
+ {{ item.label }}
58
+ </slot>
59
+ </ToggleGroupItem>
60
+ </ToggleGroupRoot>
61
+ </template>
@@ -0,0 +1,48 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { ToggleGroupThemeSlots } from '../theme/toggle-group.js';
3
+ import type { UiProp } from '../utils/ui.js';
4
+ import { toggleGroupTheme } from '../theme/toggle-group.js';
5
+ export interface ToggleGroupItemDef {
6
+ label: string;
7
+ value: string;
8
+ icon?: string;
9
+ disabled?: boolean;
10
+ }
11
+ type ToggleGroupVariants = VariantProps<typeof toggleGroupTheme>;
12
+ type __VLS_Slots = ToggleGroupSlots;
13
+ export interface ToggleGroupProps {
14
+ /** A plain string is shorthand for `{ label: value, value }`. */
15
+ items: (string | ToggleGroupItemDef)[];
16
+ /** @default 'single' */
17
+ type?: 'single' | 'multiple';
18
+ modelValue?: string | string[];
19
+ defaultValue?: string | string[];
20
+ disabled?: boolean;
21
+ orientation?: ToggleGroupVariants['orientation'];
22
+ color?: ToggleGroupVariants['color'];
23
+ size?: ToggleGroupVariants['size'];
24
+ ui?: UiProp<ToggleGroupThemeSlots>;
25
+ }
26
+ export interface ToggleGroupEmits {
27
+ 'update:modelValue': [value: string | string[]];
28
+ }
29
+ export interface ToggleGroupSlots {
30
+ /** Replaces an item's default icon+label content. */
31
+ item?: (props: {
32
+ item: ToggleGroupItemDef;
33
+ pressed: boolean;
34
+ }) => any;
35
+ }
36
+ declare const __VLS_base: import("vue").DefineComponent<ToggleGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
+ "update:modelValue": (value: string | string[]) => any;
38
+ }, string, import("vue").PublicProps, Readonly<ToggleGroupProps> & Readonly<{
39
+ "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
40
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;
44
+ type __VLS_WithSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
@@ -0,0 +1,28 @@
1
+ import type { TooltipThemeSlots } from '../theme/tooltip.js';
2
+ import type { UiProp } from '../utils/ui.js';
3
+ export interface TooltipProps {
4
+ text?: string;
5
+ side?: 'top' | 'right' | 'bottom' | 'left';
6
+ delayDuration?: number;
7
+ /** Keyboard shortcut hint shown alongside the text, e.g. `['⌘', 'K']` - each entry renders as its own small key badge. Takes the literal display strings, not semantic key names - there's no platform-specific symbol mapping. */
8
+ kbds?: string[];
9
+ /** Set `false` to hide the little pointer triangle. */
10
+ arrow?: boolean;
11
+ disabled?: boolean;
12
+ ui?: UiProp<TooltipThemeSlots>;
13
+ }
14
+ declare var __VLS_14: {}, __VLS_28: {};
15
+ type __VLS_Slots = {} & {
16
+ default?: (props: typeof __VLS_14) => any;
17
+ } & {
18
+ content?: (props: typeof __VLS_28) => any;
19
+ };
20
+ declare const __VLS_base: import("vue").DefineComponent<TooltipProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,40 @@
1
+ <script setup>
2
+ import { TooltipArrow, TooltipContent, TooltipPortal, TooltipRoot, TooltipTrigger } from "reka-ui";
3
+ import { computed } from "vue";
4
+ import { tooltipTheme } from "../theme/tooltip";
5
+ import { resolveSlot, useComponentTheme } from "../utils/ui";
6
+ const props = defineProps({
7
+ text: { type: String, required: false },
8
+ side: { type: String, required: false, default: "top" },
9
+ delayDuration: { type: Number, required: false, default: 200 },
10
+ kbds: { type: Array, required: false },
11
+ arrow: { type: Boolean, required: false, default: true },
12
+ disabled: { type: Boolean, required: false },
13
+ ui: { type: Object, required: false }
14
+ });
15
+ const theme = useComponentTheme("tooltip", tooltipTheme);
16
+ const ui = computed(() => theme.value());
17
+ const contentProps = computed(() => resolveSlot(ui.value.content, props.ui?.content));
18
+ const arrowProps = computed(() => resolveSlot(ui.value.arrow, props.ui?.arrow));
19
+ const kbdsProps = computed(() => resolveSlot(ui.value.kbds, props.ui?.kbds));
20
+ const kbdProps = computed(() => resolveSlot(ui.value.kbd, props.ui?.kbd));
21
+ </script>
22
+
23
+ <template>
24
+ <TooltipRoot :delay-duration="delayDuration" :disabled="disabled">
25
+ <TooltipTrigger as-child>
26
+ <slot />
27
+ </TooltipTrigger>
28
+ <TooltipPortal>
29
+ <TooltipContent :side="side" :side-offset="6" v-bind="contentProps">
30
+ <slot name="content">
31
+ {{ text }}
32
+ </slot>
33
+ <span v-if="kbds?.length" v-bind="kbdsProps">
34
+ <kbd v-for="key in kbds" :key="key" v-bind="kbdProps">{{ key }}</kbd>
35
+ </span>
36
+ <TooltipArrow v-if="arrow" v-bind="arrowProps" />
37
+ </TooltipContent>
38
+ </TooltipPortal>
39
+ </TooltipRoot>
40
+ </template>