@aleph-alpha/ui-library 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/README.md +14 -0
  2. package/dist/mcp/cli.js +21588 -0
  3. package/dist/mcp/index.js +7 -0
  4. package/dist/mcp/scripts/generate-component-meta.js +236 -0
  5. package/dist/mcp/server.js +21456 -0
  6. package/dist/system/index-CkH7HQaa.js +7 -0
  7. package/dist/system/index-CuHwEAQ_.js +7 -0
  8. package/dist/system/index.d.ts +1269 -540
  9. package/dist/system/lib.js +9001 -7237
  10. package/mcp/components-meta.json +1172 -0
  11. package/package.json +15 -5
  12. package/src/@types/shims-vue.d.ts +5 -0
  13. package/src/__tests__/placeholder.test.ts +7 -0
  14. package/src/compositions/UiCompositionPlaceholder/UiCompositionPlaceholder.vue +9 -0
  15. package/src/compositions/UiCompositionPlaceholder/index.ts +1 -0
  16. package/src/compositions/UiCompositionPlaceholder/types.ts +8 -0
  17. package/src/compositions/UiDataTable/UiDataTable.mock.ts +104 -0
  18. package/src/compositions/UiDataTable/UiDataTable.stories.ts +1575 -0
  19. package/src/compositions/UiDataTable/UiDataTable.vue +129 -0
  20. package/src/compositions/UiDataTable/UiDataTableColumnHeader.vue +97 -0
  21. package/src/compositions/UiDataTable/UiDataTablePagination.vue +147 -0
  22. package/src/compositions/UiDataTable/UiDataTableToolbar.vue +85 -0
  23. package/src/compositions/UiDataTable/__tests__/UiDataTable.test.ts +372 -0
  24. package/src/compositions/UiDataTable/__tests__/UiDataTableColumnHeader.test.ts +217 -0
  25. package/src/compositions/UiDataTable/__tests__/UiDataTablePagination.test.ts +274 -0
  26. package/src/compositions/UiDataTable/__tests__/UiDataTableToolbar.test.ts +198 -0
  27. package/src/compositions/UiDataTable/constants.ts +77 -0
  28. package/src/compositions/UiDataTable/index.ts +6 -0
  29. package/src/compositions/UiDataTable/types.ts +39 -0
  30. package/src/compositions/UiDatePicker/UiDatePicker.stories.ts +976 -0
  31. package/src/compositions/UiDatePicker/UiDatePicker.vue +193 -0
  32. package/src/compositions/UiDatePicker/__tests__/UiDatePicker.test.ts +325 -0
  33. package/src/compositions/UiDatePicker/index.ts +14 -0
  34. package/src/compositions/UiDatePicker/types.ts +220 -0
  35. package/src/compositions/index.ts +8 -0
  36. package/src/foundations/UiPlaceholder/UiPlaceholder.vue +9 -0
  37. package/src/foundations/UiPlaceholder/index.ts +1 -0
  38. package/src/foundations/UiPlaceholder/types.ts +8 -0
  39. package/src/foundations/index.ts +6 -0
  40. package/src/index.ts +27 -0
  41. package/src/lib/utils.ts +6 -0
  42. package/src/primitives/UiAccordion/UiAccordion.stories.ts +476 -0
  43. package/src/primitives/UiAccordion/UiAccordion.vue +31 -0
  44. package/src/primitives/UiAccordion/UiAccordionContent.vue +16 -0
  45. package/src/primitives/UiAccordion/UiAccordionItem.vue +16 -0
  46. package/src/primitives/UiAccordion/UiAccordionTrigger.vue +23 -0
  47. package/src/primitives/UiAccordion/__tests__/UiAccordion.test.ts +198 -0
  48. package/src/primitives/UiAccordion/index.ts +6 -0
  49. package/src/primitives/UiAccordion/types.ts +95 -0
  50. package/src/primitives/UiAlert/UiAlert.stories.ts +199 -0
  51. package/src/primitives/UiAlert/UiAlert.vue +27 -0
  52. package/src/primitives/UiAlert/UiAlertDescription.vue +13 -0
  53. package/src/primitives/UiAlert/UiAlertTitle.vue +13 -0
  54. package/src/primitives/UiAlert/__tests__/UiAlert.test.ts +20 -0
  55. package/src/primitives/UiAlert/constants.ts +3 -0
  56. package/src/primitives/UiAlert/index.ts +5 -0
  57. package/src/primitives/UiAlert/types.ts +14 -0
  58. package/src/primitives/UiAlertDialog/UiAlertDialog.stories.ts +186 -0
  59. package/src/primitives/UiAlertDialog/UiAlertDialog.vue +18 -0
  60. package/src/primitives/UiAlertDialog/UiAlertDialogAction.vue +16 -0
  61. package/src/primitives/UiAlertDialog/UiAlertDialogCancel.vue +16 -0
  62. package/src/primitives/UiAlertDialog/UiAlertDialogContent.vue +26 -0
  63. package/src/primitives/UiAlertDialog/UiAlertDialogDescription.vue +16 -0
  64. package/src/primitives/UiAlertDialog/UiAlertDialogFooter.vue +13 -0
  65. package/src/primitives/UiAlertDialog/UiAlertDialogHeader.vue +16 -0
  66. package/src/primitives/UiAlertDialog/UiAlertDialogTitle.vue +16 -0
  67. package/src/primitives/UiAlertDialog/UiAlertDialogTrigger.vue +17 -0
  68. package/src/primitives/UiAlertDialog/__tests__/UiAlertDialog.test.ts +184 -0
  69. package/src/primitives/UiAlertDialog/index.ts +9 -0
  70. package/src/primitives/UiAlertDialog/types.ts +83 -0
  71. package/src/primitives/UiAvatar/UiAvatar.stories.ts +194 -0
  72. package/src/primitives/UiAvatar/UiAvatar.vue +13 -0
  73. package/src/primitives/UiAvatar/UiAvatarFallback.vue +13 -0
  74. package/src/primitives/UiAvatar/UiAvatarImage.vue +14 -0
  75. package/src/primitives/UiAvatar/__tests__/UiAvatar.test.ts +36 -0
  76. package/src/primitives/UiAvatar/index.ts +3 -0
  77. package/src/primitives/UiAvatar/types.ts +17 -0
  78. package/src/primitives/UiBadge/UiBadge.stories.ts +373 -0
  79. package/src/primitives/UiBadge/UiBadge.vue +21 -0
  80. package/src/primitives/UiBadge/__tests__/UiBadge.test.ts +44 -0
  81. package/src/primitives/UiBadge/constants.ts +3 -0
  82. package/src/primitives/UiBadge/index.ts +2 -0
  83. package/src/primitives/UiBadge/types.ts +48 -0
  84. package/src/primitives/UiButton/UiButton.stories.ts +537 -0
  85. package/src/primitives/UiButton/UiButton.vue +72 -0
  86. package/src/primitives/UiButton/__tests__/UiButton.test.ts +133 -0
  87. package/src/primitives/UiButton/index.ts +2 -0
  88. package/src/primitives/UiButton/types.ts +87 -0
  89. package/src/primitives/UiCalendar/UiCalendar.stories.ts +797 -0
  90. package/src/primitives/UiCalendar/UiCalendar.vue +67 -0
  91. package/src/primitives/UiCalendar/__tests__/UiCalendar.test.ts +45 -0
  92. package/src/primitives/UiCalendar/index.ts +15 -0
  93. package/src/primitives/UiCalendar/types.ts +236 -0
  94. package/src/primitives/UiCard/UiCard.stories.ts +197 -0
  95. package/src/primitives/UiCard/UiCard.vue +13 -0
  96. package/src/primitives/UiCard/UiCardAction.vue +13 -0
  97. package/src/primitives/UiCard/UiCardContent.vue +13 -0
  98. package/src/primitives/UiCard/UiCardDescription.vue +13 -0
  99. package/src/primitives/UiCard/UiCardFooter.vue +13 -0
  100. package/src/primitives/UiCard/UiCardHeader.vue +13 -0
  101. package/src/primitives/UiCard/UiCardTitle.vue +13 -0
  102. package/src/primitives/UiCard/__tests__/UiCard.test.ts +19 -0
  103. package/src/primitives/UiCard/__tests__/UiCardAction.test.ts +19 -0
  104. package/src/primitives/UiCard/__tests__/UiCardContent.test.ts +19 -0
  105. package/src/primitives/UiCard/__tests__/UiCardDescription.test.ts +19 -0
  106. package/src/primitives/UiCard/__tests__/UiCardFooter.test.ts +19 -0
  107. package/src/primitives/UiCard/__tests__/UiCardHeader.test.ts +19 -0
  108. package/src/primitives/UiCard/__tests__/UiCardTitle.test.ts +19 -0
  109. package/src/primitives/UiCard/index.ts +7 -0
  110. package/src/primitives/UiCard/types.ts +10 -0
  111. package/src/primitives/UiCheckbox/UiCheckbox.stories.ts +231 -0
  112. package/src/primitives/UiCheckbox/UiCheckbox.vue +19 -0
  113. package/src/primitives/UiCheckbox/__tests__/UiCheckbox.test.ts +29 -0
  114. package/src/primitives/UiCheckbox/index.ts +2 -0
  115. package/src/primitives/UiCheckbox/types.ts +30 -0
  116. package/src/primitives/UiDrawer/UiDrawer.stories.ts +602 -0
  117. package/src/primitives/UiDrawer/UiDrawer.vue +19 -0
  118. package/src/primitives/UiDrawer/UiDrawerClose.vue +16 -0
  119. package/src/primitives/UiDrawer/UiDrawerContent.vue +29 -0
  120. package/src/primitives/UiDrawer/UiDrawerDescription.vue +16 -0
  121. package/src/primitives/UiDrawer/UiDrawerFooter.vue +16 -0
  122. package/src/primitives/UiDrawer/UiDrawerHeader.vue +16 -0
  123. package/src/primitives/UiDrawer/UiDrawerTitle.vue +16 -0
  124. package/src/primitives/UiDrawer/UiDrawerTrigger.vue +16 -0
  125. package/src/primitives/UiDrawer/__tests__/UiDrawer.test.ts +229 -0
  126. package/src/primitives/UiDrawer/index.ts +8 -0
  127. package/src/primitives/UiDrawer/types.ts +96 -0
  128. package/src/primitives/UiDropdownMenu/UiDropdownMenu.stories.ts +760 -0
  129. package/src/primitives/UiDropdownMenu/UiDropdownMenu.vue +25 -0
  130. package/src/primitives/UiDropdownMenu/UiDropdownMenuCheckboxItem.vue +29 -0
  131. package/src/primitives/UiDropdownMenu/UiDropdownMenuContent.vue +27 -0
  132. package/src/primitives/UiDropdownMenu/UiDropdownMenuGroup.vue +13 -0
  133. package/src/primitives/UiDropdownMenu/UiDropdownMenuItem.vue +26 -0
  134. package/src/primitives/UiDropdownMenu/UiDropdownMenuLabel.vue +18 -0
  135. package/src/primitives/UiDropdownMenu/UiDropdownMenuRadioGroup.vue +20 -0
  136. package/src/primitives/UiDropdownMenu/UiDropdownMenuRadioItem.vue +26 -0
  137. package/src/primitives/UiDropdownMenu/UiDropdownMenuSeparator.vue +11 -0
  138. package/src/primitives/UiDropdownMenu/UiDropdownMenuShortcut.vue +13 -0
  139. package/src/primitives/UiDropdownMenu/UiDropdownMenuSub.vue +26 -0
  140. package/src/primitives/UiDropdownMenu/UiDropdownMenuSubContent.vue +23 -0
  141. package/src/primitives/UiDropdownMenu/UiDropdownMenuSubTrigger.vue +24 -0
  142. package/src/primitives/UiDropdownMenu/UiDropdownMenuTrigger.vue +24 -0
  143. package/src/primitives/UiDropdownMenu/__tests__/UiDropdownMenu.test.ts +557 -0
  144. package/src/primitives/UiDropdownMenu/index.ts +16 -0
  145. package/src/primitives/UiDropdownMenu/types.ts +219 -0
  146. package/src/primitives/UiField/UiField.stories.ts +1496 -0
  147. package/src/primitives/UiField/UiField.vue +18 -0
  148. package/src/primitives/UiField/UiFieldContent.vue +13 -0
  149. package/src/primitives/UiField/UiFieldDescription.vue +13 -0
  150. package/src/primitives/UiField/UiFieldError.vue +20 -0
  151. package/src/primitives/UiField/UiFieldGroup.vue +13 -0
  152. package/src/primitives/UiField/UiFieldLabel.vue +16 -0
  153. package/src/primitives/UiField/UiFieldLegend.vue +13 -0
  154. package/src/primitives/UiField/UiFieldSeparator.vue +13 -0
  155. package/src/primitives/UiField/UiFieldSet.vue +13 -0
  156. package/src/primitives/UiField/UiFieldTitle.vue +13 -0
  157. package/src/primitives/UiField/__tests__/UiFieldError.test.ts +35 -0
  158. package/src/primitives/UiField/index.ts +10 -0
  159. package/src/primitives/UiField/types.ts +47 -0
  160. package/src/primitives/UiIcon/UiIcon.stories.ts +95 -0
  161. package/src/primitives/UiIcon/UiIcon.vue +14 -0
  162. package/src/primitives/UiIcon/__tests__/UiIcon.test.ts +24 -0
  163. package/src/primitives/UiIcon/index.ts +1 -0
  164. package/src/primitives/UiIcon/types.ts +23 -0
  165. package/src/primitives/UiIconButton/UiIconButton.stories.ts +446 -0
  166. package/src/primitives/UiIconButton/UiIconButton.vue +63 -0
  167. package/src/primitives/UiIconButton/__tests__/UiIconButton.test.ts +102 -0
  168. package/src/primitives/UiIconButton/index.ts +2 -0
  169. package/src/primitives/UiIconButton/types.ts +67 -0
  170. package/src/primitives/UiInput/UiInput.stories.ts +193 -0
  171. package/src/primitives/UiInput/UiInput.vue +19 -0
  172. package/src/primitives/UiInput/__tests__/UiInput.test.ts +38 -0
  173. package/src/primitives/UiInput/index.ts +2 -0
  174. package/src/primitives/UiInput/types.ts +31 -0
  175. package/src/primitives/UiPopover/UiPopover.stories.ts +394 -0
  176. package/src/primitives/UiPopover/UiPopover.vue +17 -0
  177. package/src/primitives/UiPopover/UiPopoverContent.vue +27 -0
  178. package/src/primitives/UiPopover/UiPopoverTrigger.vue +16 -0
  179. package/src/primitives/UiPopover/__tests__/UiPopover.test.ts +87 -0
  180. package/src/primitives/UiPopover/index.ts +5 -0
  181. package/src/primitives/UiPopover/types.ts +86 -0
  182. package/src/primitives/UiProgress/UiProgress.stories.ts +92 -0
  183. package/src/primitives/UiProgress/UiProgress.vue +25 -0
  184. package/src/primitives/UiProgress/__tests__/UiProgress.test.ts +46 -0
  185. package/src/primitives/UiProgress/index.ts +2 -0
  186. package/src/primitives/UiProgress/types.ts +16 -0
  187. package/src/primitives/UiRadioGroup/UiRadioGroup.stories.ts +291 -0
  188. package/src/primitives/UiRadioGroup/UiRadioGroup.vue +43 -0
  189. package/src/primitives/UiRadioGroup/UiRadioGroupItem.vue +18 -0
  190. package/src/primitives/UiRadioGroup/__tests__/UiRadioGroup.test.ts +404 -0
  191. package/src/primitives/UiRadioGroup/index.ts +4 -0
  192. package/src/primitives/UiRadioGroup/types.ts +66 -0
  193. package/src/primitives/UiRangeCalendar/UiRangeCalendar.stories.ts +609 -0
  194. package/src/primitives/UiRangeCalendar/UiRangeCalendar.vue +50 -0
  195. package/src/primitives/UiRangeCalendar/__tests__/UiRangeCalendar.test.ts +35 -0
  196. package/src/primitives/UiRangeCalendar/index.ts +13 -0
  197. package/src/primitives/UiRangeCalendar/types.ts +184 -0
  198. package/src/primitives/UiSelect/UiSelect.stories.ts +425 -0
  199. package/src/primitives/UiSelect/UiSelect.vue +47 -0
  200. package/src/primitives/UiSelect/UiSelectContent.vue +30 -0
  201. package/src/primitives/UiSelect/UiSelectGroup.vue +13 -0
  202. package/src/primitives/UiSelect/UiSelectItem.vue +19 -0
  203. package/src/primitives/UiSelect/UiSelectLabel.vue +13 -0
  204. package/src/primitives/UiSelect/UiSelectSeparator.vue +11 -0
  205. package/src/primitives/UiSelect/UiSelectTrigger.vue +30 -0
  206. package/src/primitives/UiSelect/UiSelectValue.vue +18 -0
  207. package/src/primitives/UiSelect/__tests__/UiSelect.test.ts +211 -0
  208. package/src/primitives/UiSelect/__tests__/UiSelectContent.test.ts +30 -0
  209. package/src/primitives/UiSelect/__tests__/UiSelectGroup.test.ts +85 -0
  210. package/src/primitives/UiSelect/__tests__/UiSelectItem.test.ts +79 -0
  211. package/src/primitives/UiSelect/__tests__/UiSelectLabel.test.ts +83 -0
  212. package/src/primitives/UiSelect/__tests__/UiSelectSeparator.test.ts +82 -0
  213. package/src/primitives/UiSelect/__tests__/UiSelectTrigger.test.ts +54 -0
  214. package/src/primitives/UiSelect/__tests__/UiSelectValue.test.ts +39 -0
  215. package/src/primitives/UiSelect/index.ts +10 -0
  216. package/src/primitives/UiSelect/types.ts +93 -0
  217. package/src/primitives/UiSlider/UiSlider.stories.ts +226 -0
  218. package/src/primitives/UiSlider/UiSlider.vue +44 -0
  219. package/src/primitives/UiSlider/__tests__/UiSlider.test.ts +76 -0
  220. package/src/primitives/UiSlider/index.ts +1 -0
  221. package/src/primitives/UiSlider/types.ts +101 -0
  222. package/src/primitives/UiSpinner/UiSpinner.stories.ts +143 -0
  223. package/src/primitives/UiSpinner/UiSpinner.vue +16 -0
  224. package/src/primitives/UiSpinner/__tests__/UiSpinner.test.ts +19 -0
  225. package/src/primitives/UiSpinner/index.ts +2 -0
  226. package/src/primitives/UiSpinner/types.ts +16 -0
  227. package/src/primitives/UiSwitch/UiSwitch.stories.ts +120 -0
  228. package/src/primitives/UiSwitch/UiSwitch.vue +21 -0
  229. package/src/primitives/UiSwitch/__tests__/UiSwitch.test.ts +47 -0
  230. package/src/primitives/UiSwitch/index.ts +2 -0
  231. package/src/primitives/UiSwitch/types.ts +25 -0
  232. package/src/primitives/UiTable/UiTable.stories.ts +505 -0
  233. package/src/primitives/UiTable/UiTable.vue +13 -0
  234. package/src/primitives/UiTable/UiTableBody.vue +13 -0
  235. package/src/primitives/UiTable/UiTableCaption.vue +13 -0
  236. package/src/primitives/UiTable/UiTableCell.vue +16 -0
  237. package/src/primitives/UiTable/UiTableEmpty.vue +18 -0
  238. package/src/primitives/UiTable/UiTableFooter.vue +13 -0
  239. package/src/primitives/UiTable/UiTableHead.vue +18 -0
  240. package/src/primitives/UiTable/UiTableHeader.vue +13 -0
  241. package/src/primitives/UiTable/UiTableRow.vue +18 -0
  242. package/src/primitives/UiTable/__tests__/UiTable.test.ts +19 -0
  243. package/src/primitives/UiTable/__tests__/UiTableBody.test.ts +19 -0
  244. package/src/primitives/UiTable/__tests__/UiTableCaption.test.ts +19 -0
  245. package/src/primitives/UiTable/__tests__/UiTableCell.test.ts +26 -0
  246. package/src/primitives/UiTable/__tests__/UiTableEmpty.test.ts +32 -0
  247. package/src/primitives/UiTable/__tests__/UiTableFooter.test.ts +19 -0
  248. package/src/primitives/UiTable/__tests__/UiTableHead.test.ts +43 -0
  249. package/src/primitives/UiTable/__tests__/UiTableHeader.test.ts +19 -0
  250. package/src/primitives/UiTable/__tests__/UiTableRow.test.ts +32 -0
  251. package/src/primitives/UiTable/index.ts +16 -0
  252. package/src/primitives/UiTable/types.ts +68 -0
  253. package/src/primitives/UiTabs/UiTabs.stories.ts +456 -0
  254. package/src/primitives/UiTabs/UiTabs.vue +31 -0
  255. package/src/primitives/UiTabs/UiTabsContent.vue +16 -0
  256. package/src/primitives/UiTabs/UiTabsList.vue +16 -0
  257. package/src/primitives/UiTabs/UiTabsTrigger.vue +16 -0
  258. package/src/primitives/UiTabs/__tests__/UiTabs.test.ts +122 -0
  259. package/src/primitives/UiTabs/index.ts +6 -0
  260. package/src/primitives/UiTabs/types.ts +68 -0
  261. package/src/primitives/UiTextarea/UiTextarea.stories.ts +107 -0
  262. package/src/primitives/UiTextarea/UiTextarea.vue +19 -0
  263. package/src/primitives/UiTextarea/__tests__/UiTextarea.test.ts +40 -0
  264. package/src/primitives/UiTextarea/index.ts +2 -0
  265. package/src/primitives/UiTextarea/types.ts +30 -0
  266. package/src/primitives/UiTooltip/UiTooltip.stories.ts +550 -0
  267. package/src/primitives/UiTooltip/UiTooltip.vue +42 -0
  268. package/src/primitives/UiTooltip/__tests__/UiTooltip.test.ts +78 -0
  269. package/src/primitives/UiTooltip/index.ts +2 -0
  270. package/src/primitives/UiTooltip/types.ts +53 -0
  271. package/src/primitives/index.ts +33 -0
  272. package/src/primitives/shadcn/accordion/Accordion.vue +15 -0
  273. package/src/primitives/shadcn/accordion/AccordionContent.vue +23 -0
  274. package/src/primitives/shadcn/accordion/AccordionItem.vue +24 -0
  275. package/src/primitives/shadcn/accordion/AccordionTrigger.vue +35 -0
  276. package/src/primitives/shadcn/accordion/index.ts +4 -0
  277. package/src/primitives/shadcn/alert/Alert.vue +17 -0
  278. package/src/primitives/shadcn/alert/AlertDescription.vue +22 -0
  279. package/src/primitives/shadcn/alert/AlertTitle.vue +17 -0
  280. package/src/primitives/shadcn/alert/index.ts +24 -0
  281. package/src/primitives/shadcn/alert-dialog/AlertDialog.vue +15 -0
  282. package/src/primitives/shadcn/alert-dialog/AlertDialogAction.vue +18 -0
  283. package/src/primitives/shadcn/alert-dialog/AlertDialogCancel.vue +21 -0
  284. package/src/primitives/shadcn/alert-dialog/AlertDialogContent.vue +44 -0
  285. package/src/primitives/shadcn/alert-dialog/AlertDialogDescription.vue +21 -0
  286. package/src/primitives/shadcn/alert-dialog/AlertDialogFooter.vue +17 -0
  287. package/src/primitives/shadcn/alert-dialog/AlertDialogHeader.vue +17 -0
  288. package/src/primitives/shadcn/alert-dialog/AlertDialogTitle.vue +21 -0
  289. package/src/primitives/shadcn/alert-dialog/AlertDialogTrigger.vue +12 -0
  290. package/src/primitives/shadcn/alert-dialog/index.ts +9 -0
  291. package/src/primitives/shadcn/avatar/Avatar.vue +18 -0
  292. package/src/primitives/shadcn/avatar/AvatarFallback.vue +21 -0
  293. package/src/primitives/shadcn/avatar/AvatarImage.vue +12 -0
  294. package/src/primitives/shadcn/avatar/index.ts +3 -0
  295. package/src/primitives/shadcn/badge/Badge.vue +28 -0
  296. package/src/primitives/shadcn/badge/index.ts +24 -0
  297. package/src/primitives/shadcn/button/Button.vue +29 -0
  298. package/src/primitives/shadcn/button/index.ts +36 -0
  299. package/src/primitives/shadcn/calendar/Calendar.vue +206 -0
  300. package/src/primitives/shadcn/calendar/CalendarCell.vue +28 -0
  301. package/src/primitives/shadcn/calendar/CalendarCellTrigger.vue +44 -0
  302. package/src/primitives/shadcn/calendar/CalendarGrid.vue +23 -0
  303. package/src/primitives/shadcn/calendar/CalendarGridBody.vue +12 -0
  304. package/src/primitives/shadcn/calendar/CalendarGridHead.vue +13 -0
  305. package/src/primitives/shadcn/calendar/CalendarGridRow.vue +23 -0
  306. package/src/primitives/shadcn/calendar/CalendarHeadCell.vue +23 -0
  307. package/src/primitives/shadcn/calendar/CalendarHeader.vue +23 -0
  308. package/src/primitives/shadcn/calendar/CalendarHeading.vue +30 -0
  309. package/src/primitives/shadcn/calendar/CalendarNextButton.vue +33 -0
  310. package/src/primitives/shadcn/calendar/CalendarPrevButton.vue +33 -0
  311. package/src/primitives/shadcn/calendar/index.ts +14 -0
  312. package/src/primitives/shadcn/card/Card.vue +22 -0
  313. package/src/primitives/shadcn/card/CardAction.vue +17 -0
  314. package/src/primitives/shadcn/card/CardContent.vue +14 -0
  315. package/src/primitives/shadcn/card/CardDescription.vue +14 -0
  316. package/src/primitives/shadcn/card/CardFooter.vue +14 -0
  317. package/src/primitives/shadcn/card/CardHeader.vue +22 -0
  318. package/src/primitives/shadcn/card/CardTitle.vue +14 -0
  319. package/src/primitives/shadcn/card/index.ts +7 -0
  320. package/src/primitives/shadcn/checkbox/Checkbox.vue +38 -0
  321. package/src/primitives/shadcn/checkbox/index.ts +1 -0
  322. package/src/primitives/shadcn/drawer/Drawer.vue +15 -0
  323. package/src/primitives/shadcn/drawer/DrawerClose.vue +12 -0
  324. package/src/primitives/shadcn/drawer/DrawerContent.vue +52 -0
  325. package/src/primitives/shadcn/drawer/DrawerDescription.vue +20 -0
  326. package/src/primitives/shadcn/drawer/DrawerFooter.vue +17 -0
  327. package/src/primitives/shadcn/drawer/DrawerHeader.vue +17 -0
  328. package/src/primitives/shadcn/drawer/DrawerTitle.vue +20 -0
  329. package/src/primitives/shadcn/drawer/DrawerTrigger.vue +12 -0
  330. package/src/primitives/shadcn/drawer/index.ts +8 -0
  331. package/src/primitives/shadcn/dropdown-menu/DropdownMenu.vue +15 -0
  332. package/src/primitives/shadcn/dropdown-menu/DropdownMenuCheckboxItem.vue +41 -0
  333. package/src/primitives/shadcn/dropdown-menu/DropdownMenuContent.vue +40 -0
  334. package/src/primitives/shadcn/dropdown-menu/DropdownMenuGroup.vue +12 -0
  335. package/src/primitives/shadcn/dropdown-menu/DropdownMenuItem.vue +41 -0
  336. package/src/primitives/shadcn/dropdown-menu/DropdownMenuLabel.vue +25 -0
  337. package/src/primitives/shadcn/dropdown-menu/DropdownMenuRadioGroup.vue +15 -0
  338. package/src/primitives/shadcn/dropdown-menu/DropdownMenuRadioItem.vue +38 -0
  339. package/src/primitives/shadcn/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  340. package/src/primitives/shadcn/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  341. package/src/primitives/shadcn/dropdown-menu/DropdownMenuSub.vue +15 -0
  342. package/src/primitives/shadcn/dropdown-menu/DropdownMenuSubContent.vue +29 -0
  343. package/src/primitives/shadcn/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  344. package/src/primitives/shadcn/dropdown-menu/DropdownMenuTrigger.vue +14 -0
  345. package/src/primitives/shadcn/dropdown-menu/index.ts +16 -0
  346. package/src/primitives/shadcn/field/Field.vue +22 -0
  347. package/src/primitives/shadcn/field/FieldContent.vue +17 -0
  348. package/src/primitives/shadcn/field/FieldDescription.vue +24 -0
  349. package/src/primitives/shadcn/field/FieldError.vue +69 -0
  350. package/src/primitives/shadcn/field/FieldGroup.vue +22 -0
  351. package/src/primitives/shadcn/field/FieldLabel.vue +28 -0
  352. package/src/primitives/shadcn/field/FieldLegend.vue +26 -0
  353. package/src/primitives/shadcn/field/FieldSeparator.vue +28 -0
  354. package/src/primitives/shadcn/field/FieldSet.vue +23 -0
  355. package/src/primitives/shadcn/field/FieldTitle.vue +22 -0
  356. package/src/primitives/shadcn/field/index.ts +39 -0
  357. package/src/primitives/shadcn/icon/Icon.vue +38 -0
  358. package/src/primitives/shadcn/icon/index.ts +1 -0
  359. package/src/primitives/shadcn/index.ts +3 -0
  360. package/src/primitives/shadcn/input/Input.vue +35 -0
  361. package/src/primitives/shadcn/input/index.ts +1 -0
  362. package/src/primitives/shadcn/label/Label.vue +28 -0
  363. package/src/primitives/shadcn/label/index.ts +1 -0
  364. package/src/primitives/shadcn/native-select/NativeSelect.vue +56 -0
  365. package/src/primitives/shadcn/native-select/NativeSelectOptGroup.vue +18 -0
  366. package/src/primitives/shadcn/native-select/NativeSelectOption.vue +18 -0
  367. package/src/primitives/shadcn/native-select/index.ts +3 -0
  368. package/src/primitives/shadcn/popover/Popover.vue +19 -0
  369. package/src/primitives/shadcn/popover/PopoverContent.vue +41 -0
  370. package/src/primitives/shadcn/popover/PopoverTrigger.vue +11 -0
  371. package/src/primitives/shadcn/popover/index.ts +4 -0
  372. package/src/primitives/shadcn/progress/Progress.vue +30 -0
  373. package/src/primitives/shadcn/progress/index.ts +1 -0
  374. package/src/primitives/shadcn/radio-group/RadioGroup.vue +25 -0
  375. package/src/primitives/shadcn/radio-group/RadioGroupItem.vue +38 -0
  376. package/src/primitives/shadcn/radio-group/index.ts +2 -0
  377. package/src/primitives/shadcn/range-calendar/RangeCalendar.vue +73 -0
  378. package/src/primitives/shadcn/range-calendar/RangeCalendarCell.vue +28 -0
  379. package/src/primitives/shadcn/range-calendar/RangeCalendarCellTrigger.vue +46 -0
  380. package/src/primitives/shadcn/range-calendar/RangeCalendarGrid.vue +23 -0
  381. package/src/primitives/shadcn/range-calendar/RangeCalendarGridBody.vue +12 -0
  382. package/src/primitives/shadcn/range-calendar/RangeCalendarGridHead.vue +12 -0
  383. package/src/primitives/shadcn/range-calendar/RangeCalendarGridRow.vue +23 -0
  384. package/src/primitives/shadcn/range-calendar/RangeCalendarHeadCell.vue +23 -0
  385. package/src/primitives/shadcn/range-calendar/RangeCalendarHeader.vue +23 -0
  386. package/src/primitives/shadcn/range-calendar/RangeCalendarHeading.vue +30 -0
  387. package/src/primitives/shadcn/range-calendar/RangeCalendarNextButton.vue +34 -0
  388. package/src/primitives/shadcn/range-calendar/RangeCalendarPrevButton.vue +34 -0
  389. package/src/primitives/shadcn/range-calendar/index.ts +12 -0
  390. package/src/primitives/shadcn/select/Select.vue +15 -0
  391. package/src/primitives/shadcn/select/SelectContent.vue +55 -0
  392. package/src/primitives/shadcn/select/SelectGroup.vue +12 -0
  393. package/src/primitives/shadcn/select/SelectItem.vue +39 -0
  394. package/src/primitives/shadcn/select/SelectItemText.vue +12 -0
  395. package/src/primitives/shadcn/select/SelectLabel.vue +17 -0
  396. package/src/primitives/shadcn/select/SelectScrollDownButton.vue +26 -0
  397. package/src/primitives/shadcn/select/SelectScrollUpButton.vue +26 -0
  398. package/src/primitives/shadcn/select/SelectSeparator.vue +19 -0
  399. package/src/primitives/shadcn/select/SelectTrigger.vue +37 -0
  400. package/src/primitives/shadcn/select/SelectValue.vue +12 -0
  401. package/src/primitives/shadcn/select/index.ts +11 -0
  402. package/src/primitives/shadcn/separator/Separator.vue +27 -0
  403. package/src/primitives/shadcn/separator/index.ts +1 -0
  404. package/src/primitives/shadcn/slider/Slider.vue +45 -0
  405. package/src/primitives/shadcn/slider/index.ts +1 -0
  406. package/src/primitives/shadcn/spinner/Spinner.vue +18 -0
  407. package/src/primitives/shadcn/spinner/index.ts +1 -0
  408. package/src/primitives/shadcn/switch/Switch.vue +40 -0
  409. package/src/primitives/shadcn/switch/index.ts +1 -0
  410. package/src/primitives/shadcn/table/Table.vue +16 -0
  411. package/src/primitives/shadcn/table/TableBody.vue +14 -0
  412. package/src/primitives/shadcn/table/TableCaption.vue +14 -0
  413. package/src/primitives/shadcn/table/TableCell.vue +26 -0
  414. package/src/primitives/shadcn/table/TableEmpty.vue +29 -0
  415. package/src/primitives/shadcn/table/TableFooter.vue +17 -0
  416. package/src/primitives/shadcn/table/TableHead.vue +28 -0
  417. package/src/primitives/shadcn/table/TableHeader.vue +14 -0
  418. package/src/primitives/shadcn/table/TableRow.vue +21 -0
  419. package/src/primitives/shadcn/table/index.ts +9 -0
  420. package/src/primitives/shadcn/table/utils.ts +8 -0
  421. package/src/primitives/shadcn/tabs/Tabs.vue +24 -0
  422. package/src/primitives/shadcn/tabs/TabsContent.vue +21 -0
  423. package/src/primitives/shadcn/tabs/TabsList.vue +26 -0
  424. package/src/primitives/shadcn/tabs/TabsTrigger.vue +28 -0
  425. package/src/primitives/shadcn/tabs/index.ts +4 -0
  426. package/src/primitives/shadcn/textarea/Textarea.vue +33 -0
  427. package/src/primitives/shadcn/textarea/index.ts +1 -0
  428. package/src/primitives/shadcn/tooltip/Tooltip.vue +15 -0
  429. package/src/primitives/shadcn/tooltip/TooltipContent.vue +40 -0
  430. package/src/primitives/shadcn/tooltip/TooltipProvider.vue +12 -0
  431. package/src/primitives/shadcn/tooltip/TooltipTrigger.vue +12 -0
  432. package/src/primitives/shadcn/tooltip/index.ts +4 -0
  433. package/src/styles/global.css +1 -0
  434. package/src/templates/UiTemplatePlaceholder/UiTemplatePlaceholder.vue +9 -0
  435. package/src/templates/UiTemplatePlaceholder/index.ts +1 -0
  436. package/src/templates/UiTemplatePlaceholder/types.ts +8 -0
  437. package/src/templates/index.ts +6 -0
@@ -0,0 +1,220 @@
1
+ import type { DateRange, DateValue } from 'reka-ui';
2
+ import type { Matcher } from 'reka-ui/date';
3
+ import type { HTMLAttributes } from 'vue';
4
+
5
+ /**
6
+ * Selection mode for the date picker.
7
+ *
8
+ * - `'single'` - Select a single date
9
+ * - `'range'` - Select a date range (start and end dates)
10
+ */
11
+ export type UiDatePickerMode = 'single' | 'range';
12
+
13
+ /**
14
+ * Layout options for the calendar header in the date picker.
15
+ * Controls which dropdown selectors are shown for quick navigation.
16
+ *
17
+ * - `'month-and-year'` - Show dropdowns for both month and year
18
+ * - `'month-only'` - Show dropdown for month only
19
+ * - `'year-only'` - Show dropdown for year only
20
+ */
21
+ export type UiDatePickerLayout = 'month-and-year' | 'month-only' | 'year-only';
22
+
23
+ /**
24
+ * Format options for weekday labels displayed in the calendar header.
25
+ *
26
+ * - `'narrow'` - Single letter (e.g., "M", "T", "W")
27
+ * - `'short'` - Abbreviated (e.g., "Mon", "Tue", "Wed")
28
+ * - `'long'` - Full name (e.g., "Monday", "Tuesday", "Wednesday")
29
+ */
30
+ export type UiDatePickerWeekdayFormat = 'narrow' | 'short' | 'long';
31
+
32
+ /**
33
+ * Day of the week to start the calendar on.
34
+ *
35
+ * - `0` - Sunday
36
+ * - `1` - Monday
37
+ * - `2` - Tuesday
38
+ * - `3` - Wednesday
39
+ * - `4` - Thursday
40
+ * - `5` - Friday
41
+ * - `6` - Saturday
42
+ */
43
+ export type UiDatePickerWeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6;
44
+
45
+ /**
46
+ * A date picker combining a button trigger with a popover calendar.
47
+ * Provides an accessible way to select dates or date ranges.
48
+ *
49
+ * @category Form Inputs
50
+ * @useCases date selection, booking form, event picker, schedule, deadline
51
+ * @keywords date, picker, calendar, datepicker, range, schedule
52
+ * @related UiCalendar, UiPopover
53
+ */
54
+ export interface UiDatePickerProps {
55
+ /**
56
+ * Additional CSS classes to apply to the trigger button.
57
+ */
58
+ class?: HTMLAttributes['class'];
59
+
60
+ /**
61
+ * The controlled open state of the popover.
62
+ *
63
+ * - Omit for uncontrolled mode (the component manages its own open state)
64
+ * - Use `v-model:open` for controlled mode
65
+ */
66
+ open?: boolean;
67
+
68
+ /**
69
+ * The selection mode of the date picker.
70
+ * - `'single'` - Select a single date (default)
71
+ * - `'range'` - Select a date range
72
+ * @default 'single'
73
+ */
74
+ mode?: UiDatePickerMode;
75
+
76
+ /**
77
+ * The controlled selected date value (for mode='single').
78
+ * Use with v-model for two-way binding.
79
+ */
80
+ modelValue?: DateValue | DateRange;
81
+
82
+ /**
83
+ * The default selected date or range when first rendered.
84
+ * Use when you don't need controlled state.
85
+ */
86
+ defaultValue?: DateValue | DateRange;
87
+
88
+ /**
89
+ * Placeholder text displayed when no date is selected.
90
+ * @default 'Pick a date' (single mode)
91
+ * @default 'Pick a date range' (range mode)
92
+ */
93
+ placeholder?: string;
94
+
95
+ /**
96
+ * The minimum selectable date.
97
+ * Dates before this will be disabled.
98
+ */
99
+ minValue?: DateValue;
100
+
101
+ /**
102
+ * The maximum selectable date.
103
+ * Dates after this will be disabled.
104
+ */
105
+ maxValue?: DateValue;
106
+
107
+ /**
108
+ * Whether the date picker is disabled.
109
+ * @default false
110
+ */
111
+ disabled?: boolean;
112
+
113
+ /**
114
+ * Whether the date picker is read-only.
115
+ * Users can view but not change the selected date.
116
+ * @default false
117
+ */
118
+ readonly?: boolean;
119
+
120
+ /**
121
+ * The locale to use for formatting dates and weekday names.
122
+ * @default 'en'
123
+ * @example 'de', 'fr', 'es'
124
+ */
125
+ locale?: string;
126
+
127
+ /**
128
+ * The day of the week to start on.
129
+ * @default 0 (Sunday)
130
+ */
131
+ weekStartsOn?: UiDatePickerWeekStartsOn;
132
+
133
+ /**
134
+ * The number of months to display at once in the calendar.
135
+ * @default 1
136
+ */
137
+ numberOfMonths?: number;
138
+
139
+ /**
140
+ * The format to use for weekday labels.
141
+ * @default 'narrow'
142
+ */
143
+ weekdayFormat?: UiDatePickerWeekdayFormat;
144
+
145
+ /**
146
+ * Whether to always show 6 weeks in the calendar.
147
+ * Useful for consistent height.
148
+ * @default false
149
+ */
150
+ fixedWeeks?: boolean;
151
+
152
+ /**
153
+ * Layout mode for the calendar header.
154
+ * Controls dropdown selectors for quick month/year navigation.
155
+ * When undefined, shows simple text heading.
156
+ */
157
+ layout?: UiDatePickerLayout;
158
+
159
+ /**
160
+ * Whether to prevent the user from deselecting a date without selecting another date first.
161
+ * @default false
162
+ */
163
+ preventDeselect?: boolean;
164
+
165
+ /**
166
+ * The accessible label for the calendar.
167
+ * Used for screen readers.
168
+ */
169
+ calendarLabel?: string;
170
+
171
+ /**
172
+ * A function that returns whether or not a date is disabled.
173
+ * Disabled dates cannot be selected.
174
+ * @example (date) => date.dayOfWeek === 0 // Disable Sundays
175
+ */
176
+ isDateDisabled?: Matcher;
177
+
178
+ /**
179
+ * A function that returns whether or not a date is unavailable.
180
+ * Unavailable dates are styled differently but may still be selectable.
181
+ * @example (date) => isHoliday(date)
182
+ */
183
+ isDateUnavailable?: Matcher;
184
+
185
+ /**
186
+ * The format to use when displaying the selected date.
187
+ * Uses Intl.DateTimeFormat options.
188
+ * @default { dateStyle: 'long' }
189
+ */
190
+ dateFormat?: Intl.DateTimeFormatOptions;
191
+
192
+ /**
193
+ * Whether to close the popover after selecting a date.
194
+ * - In 'single' mode: Closes after selecting a date
195
+ * - In 'range' mode: Closes after selecting both start and end dates
196
+ * @default true
197
+ */
198
+ closeOnSelect?: boolean;
199
+
200
+ /**
201
+ * Whether to navigate by page (all visible months) or by single month.
202
+ * Only applicable in range mode when numberOfMonths > 1.
203
+ * @default false
204
+ */
205
+ pagedNavigation?: boolean;
206
+
207
+ /**
208
+ * Accessible label for the trigger button.
209
+ * Applied as `aria-label` attribute.
210
+ */
211
+ ariaLabel?: string;
212
+
213
+ /**
214
+ * The separator string displayed between start and end dates in range mode.
215
+ * @default ' - '
216
+ */
217
+ rangeSeparator?: string;
218
+ }
219
+
220
+ export type { DateRange, DateValue, Matcher };
@@ -0,0 +1,8 @@
1
+ /**
2
+ This file is auto-generated by prepare-build.js script
3
+ Do not edit this file manually
4
+ */
5
+
6
+ export * from './UiCompositionPlaceholder';
7
+ export * from './UiDataTable';
8
+ export * from './UiDatePicker';
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ defineOptions({
3
+ name: 'UiPlaceholder',
4
+ });
5
+ </script>
6
+
7
+ <template>
8
+ <div>Placeholder</div>
9
+ </template>
@@ -0,0 +1 @@
1
+ export { default as UiPlaceholder } from './UiPlaceholder.vue';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Placeholder for foundation components (internal development use).
3
+ *
4
+ * @category Foundations
5
+ * @useCases development placeholder
6
+ * @keywords placeholder, foundation, internal
7
+ */
8
+ export type UiPlaceholderProps = Record<string, never>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ This file is auto-generated by prepare-build.js script
3
+ Do not edit this file manually
4
+ */
5
+
6
+ export * from './UiPlaceholder';
package/src/index.ts ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ This file is auto-generated by prepare-build.js script
3
+ Do not edit this file manually
4
+ */
5
+
6
+ export * from './compositions';
7
+ export * from './foundations';
8
+ export * from './primitives';
9
+ export * from './templates';
10
+
11
+ const components = import.meta.glob(
12
+ ['@/foundations/**/*.vue', '@/primitives/**/*.vue', '@/compositions/**/*.vue', '@/templates/**/*.vue'],
13
+ {
14
+ eager: true,
15
+ }
16
+ );
17
+
18
+ export default {
19
+ install(app, options) {
20
+ // TODO: We can change this to the correct type later
21
+ Object.values(components).forEach((component: any) => {
22
+ app.component(component.default.__name, component.default);
23
+ });
24
+ },
25
+ };
26
+
27
+
@@ -0,0 +1,6 @@
1
+ import { type ClassValue, clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ export function cn(...inputs: ClassValue[]) {
5
+ return twMerge(clsx(inputs));
6
+ }