@aleph-alpha/ui-library 1.11.0 → 1.13.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 (545) hide show
  1. package/README.md +78 -3
  2. package/config.d.ts +185 -1
  3. package/config.js +549 -6
  4. package/dist/system/index.d.ts +1788 -407
  5. package/dist/system/lib.js +48817 -24028
  6. package/package.json +3 -3
  7. package/src/__tests__/test-utils.ts +46 -0
  8. package/src/{primitives → components}/UiAccordion/UiAccordion.stories.ts +26 -2
  9. package/src/{primitives → components}/UiAccordion/UiAccordion.vue +1 -1
  10. package/src/{primitives → components}/UiAccordion/UiAccordionContent.vue +1 -1
  11. package/src/{primitives → components}/UiAccordion/UiAccordionItem.vue +1 -1
  12. package/src/{primitives → components}/UiAccordion/UiAccordionTrigger.vue +1 -1
  13. package/src/{primitives → components}/UiAccordion/types.ts +0 -1
  14. package/src/{primitives → components}/UiAlert/UiAlert.stories.ts +9 -9
  15. package/src/{primitives → components}/UiAlert/UiAlert.vue +1 -1
  16. package/src/{primitives → components}/UiAlert/UiAlertDescription.vue +1 -1
  17. package/src/{primitives → components}/UiAlert/UiAlertTitle.vue +1 -1
  18. package/src/{primitives → components}/UiAlert/types.ts +2 -1
  19. package/src/{primitives → components}/UiAlertDialog/UiAlertDialog.stories.ts +1 -1
  20. package/src/{primitives → components}/UiAlertDialog/UiAlertDialog.vue +1 -1
  21. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogAction.vue +1 -1
  22. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogCancel.vue +1 -1
  23. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogContent.vue +1 -1
  24. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogDescription.vue +1 -1
  25. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogFooter.vue +1 -1
  26. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogHeader.vue +1 -1
  27. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogTitle.vue +1 -1
  28. package/src/{primitives → components}/UiAlertDialog/UiAlertDialogTrigger.vue +1 -1
  29. package/src/{primitives → components}/UiAlertDialog/index.ts +1 -0
  30. package/src/{primitives → components}/UiAlertDialog/types.ts +1 -1
  31. package/src/{primitives → components}/UiAvatar/UiAvatar.stories.ts +1 -1
  32. package/src/{primitives → components}/UiAvatar/UiAvatar.vue +1 -1
  33. package/src/{primitives → components}/UiAvatar/UiAvatarFallback.vue +1 -1
  34. package/src/{primitives → components}/UiAvatar/UiAvatarImage.vue +1 -1
  35. package/src/{primitives → components}/UiAvatar/index.ts +1 -0
  36. package/src/{primitives → components}/UiAvatar/types.ts +4 -1
  37. package/src/{primitives → components}/UiBadge/UiBadge.stories.ts +10 -10
  38. package/src/{primitives → components}/UiBadge/UiBadge.vue +1 -1
  39. package/src/{primitives → components}/UiBadge/__tests__/UiBadge.test.ts +3 -13
  40. package/src/{primitives → components}/UiBadge/types.ts +0 -1
  41. package/src/{primitives → components}/UiButton/UiButton.stories.ts +13 -13
  42. package/src/{primitives → components}/UiButton/UiButton.vue +2 -2
  43. package/src/{primitives → components}/UiButton/__tests__/UiButton.test.ts +1 -10
  44. package/src/{primitives → components}/UiButton/types.ts +0 -1
  45. package/src/{primitives → components}/UiCalendar/UiCalendar.stories.ts +5 -5
  46. package/src/{primitives → components}/UiCalendar/UiCalendar.vue +1 -1
  47. package/src/{primitives → components}/UiCalendar/types.ts +0 -1
  48. package/src/{primitives → components}/UiCard/UiCard.stories.ts +1 -1
  49. package/src/{primitives → components}/UiCard/UiCard.vue +1 -1
  50. package/src/{primitives → components}/UiCard/UiCardAction.vue +1 -1
  51. package/src/{primitives → components}/UiCard/UiCardContent.vue +1 -1
  52. package/src/{primitives → components}/UiCard/UiCardDescription.vue +1 -1
  53. package/src/{primitives → components}/UiCard/UiCardFooter.vue +1 -1
  54. package/src/{primitives → components}/UiCard/UiCardHeader.vue +1 -1
  55. package/src/{primitives → components}/UiCard/UiCardTitle.vue +1 -1
  56. package/src/components/UiCard/index.ts +10 -0
  57. package/src/{primitives → components}/UiCard/types.ts +0 -1
  58. package/src/{primitives → components}/UiCheckbox/UiCheckbox.stories.ts +1 -1
  59. package/src/{primitives → components}/UiCheckbox/UiCheckbox.vue +1 -1
  60. package/src/{primitives → components}/UiCheckbox/types.ts +0 -1
  61. package/src/{primitives → components}/UiDrawer/UiDrawer.stories.ts +1 -1
  62. package/src/{primitives → components}/UiDrawer/UiDrawer.vue +1 -1
  63. package/src/{primitives → components}/UiDrawer/UiDrawerClose.vue +1 -1
  64. package/src/{primitives → components}/UiDrawer/UiDrawerContent.vue +1 -1
  65. package/src/{primitives → components}/UiDrawer/UiDrawerDescription.vue +1 -1
  66. package/src/{primitives → components}/UiDrawer/UiDrawerFooter.vue +1 -1
  67. package/src/{primitives → components}/UiDrawer/UiDrawerHeader.vue +1 -1
  68. package/src/{primitives → components}/UiDrawer/UiDrawerTitle.vue +1 -1
  69. package/src/{primitives → components}/UiDrawer/UiDrawerTrigger.vue +1 -1
  70. package/src/{primitives → components}/UiDrawer/index.ts +1 -0
  71. package/src/{primitives → components}/UiDrawer/types.ts +31 -1
  72. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenu.stories.ts +3 -3
  73. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenu.vue +1 -1
  74. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuCheckboxItem.vue +2 -1
  75. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuContent.vue +1 -1
  76. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuGroup.vue +1 -1
  77. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuItem.vue +1 -1
  78. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuLabel.vue +1 -1
  79. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuRadioGroup.vue +1 -1
  80. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuRadioItem.vue +1 -1
  81. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSeparator.vue +1 -1
  82. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuShortcut.vue +1 -1
  83. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSub.vue +1 -1
  84. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSubContent.vue +1 -1
  85. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSubTrigger.vue +1 -1
  86. package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuTrigger.vue +1 -1
  87. package/src/{primitives → components}/UiDropdownMenu/types.ts +61 -1
  88. package/src/components/UiEmpty/UiEmpty.stories.ts +240 -0
  89. package/src/components/UiEmpty/UiEmpty.vue +35 -0
  90. package/src/components/UiEmpty/__tests__/UiEmpty.test.ts +67 -0
  91. package/src/components/UiEmpty/index.ts +2 -0
  92. package/src/components/UiEmpty/types.ts +26 -0
  93. package/src/{primitives → components}/UiField/UiField.stories.ts +1 -2
  94. package/src/{primitives → components}/UiField/UiField.vue +1 -1
  95. package/src/{primitives → components}/UiField/UiFieldContent.vue +1 -1
  96. package/src/{primitives → components}/UiField/UiFieldDescription.vue +1 -1
  97. package/src/{primitives → components}/UiField/UiFieldError.vue +1 -1
  98. package/src/{primitives → components}/UiField/UiFieldGroup.vue +1 -1
  99. package/src/{primitives → components}/UiField/UiFieldLabel.vue +1 -1
  100. package/src/{primitives → components}/UiField/UiFieldLegend.vue +1 -1
  101. package/src/{primitives → components}/UiField/UiFieldSeparator.vue +1 -1
  102. package/src/{primitives → components}/UiField/UiFieldSet.vue +1 -1
  103. package/src/{primitives → components}/UiField/UiFieldTitle.vue +1 -1
  104. package/src/{primitives → components}/UiField/index.ts +1 -0
  105. package/src/{primitives → components}/UiField/types.ts +7 -2
  106. package/src/components/UiIcon/UiIcon.stories.ts +140 -0
  107. package/src/components/UiIcon/UiIcon.vue +67 -0
  108. package/src/components/UiIcon/__tests__/UiIcon.test.ts +53 -0
  109. package/src/{primitives → components}/UiIcon/index.ts +1 -0
  110. package/src/components/UiIcon/types.ts +33 -0
  111. package/src/{primitives → components}/UiIconButton/UiIconButton.stories.ts +37 -37
  112. package/src/{primitives → components}/UiIconButton/UiIconButton.vue +2 -2
  113. package/src/{primitives → components}/UiIconButton/__tests__/UiIconButton.test.ts +2 -9
  114. package/src/{primitives → components}/UiIconButton/types.ts +0 -1
  115. package/src/{primitives → components}/UiInput/UiInput.stories.ts +1 -1
  116. package/src/{primitives → components}/UiInput/UiInput.vue +1 -1
  117. package/src/{primitives → components}/UiInput/types.ts +0 -1
  118. package/src/components/UiItem/UiItem.stories.ts +1029 -0
  119. package/src/components/UiItem/UiItem.vue +20 -0
  120. package/src/components/UiItem/UiItemMedia.vue +18 -0
  121. package/src/components/UiItem/__tests__/UiItem.test.ts +446 -0
  122. package/src/components/UiItem/constants.ts +13 -0
  123. package/src/components/UiItem/index.ts +15 -0
  124. package/src/components/UiItem/types.ts +114 -0
  125. package/src/components/UiKbd/UiKbd.stories.ts +546 -0
  126. package/src/components/UiKbd/UiKbd.vue +57 -0
  127. package/src/components/UiKbd/UiKbdGroup.vue +13 -0
  128. package/src/components/UiKbd/__tests__/UiKbd.test.ts +46 -0
  129. package/src/components/UiKbd/index.ts +3 -0
  130. package/src/components/UiKbd/types.ts +25 -0
  131. package/src/components/UiLabel/UiLabel.stories.ts +192 -0
  132. package/src/components/UiLabel/UiLabel.vue +16 -0
  133. package/src/components/UiLabel/__tests__/UiLabel.test.ts +43 -0
  134. package/src/components/UiLabel/index.ts +2 -0
  135. package/src/components/UiLabel/types.ts +15 -0
  136. package/src/components/UiListbox/UiListbox.stories.ts +607 -0
  137. package/src/components/UiListbox/UiListbox.vue +33 -0
  138. package/src/components/UiListbox/UiListboxContent.vue +13 -0
  139. package/src/components/UiListbox/UiListboxFilter.vue +16 -0
  140. package/src/components/UiListbox/UiListboxGroup.vue +13 -0
  141. package/src/components/UiListbox/UiListboxGroupLabel.vue +13 -0
  142. package/src/components/UiListbox/UiListboxItem.vue +21 -0
  143. package/src/components/UiListbox/UiListboxItemIndicator.vue +13 -0
  144. package/src/components/UiListbox/__tests__/UiListbox.test.ts +42 -0
  145. package/src/components/UiListbox/index.ts +8 -0
  146. package/src/components/UiListbox/types.ts +109 -0
  147. package/src/{primitives → components}/UiPopover/UiPopover.stories.ts +17 -1
  148. package/src/{primitives → components}/UiPopover/UiPopover.vue +1 -1
  149. package/src/{primitives → components}/UiPopover/UiPopoverContent.vue +1 -1
  150. package/src/{primitives → components}/UiPopover/UiPopoverTrigger.vue +1 -1
  151. package/src/{primitives → components}/UiPopover/index.ts +1 -0
  152. package/src/{primitives → components}/UiPopover/types.ts +13 -1
  153. package/src/{primitives → components}/UiProgress/UiProgress.stories.ts +1 -1
  154. package/src/{primitives → components}/UiProgress/UiProgress.vue +1 -1
  155. package/src/{primitives → components}/UiProgress/types.ts +3 -4
  156. package/src/{primitives → components}/UiRadioGroup/UiRadioGroup.stories.ts +1 -1
  157. package/src/{primitives → components}/UiRadioGroup/UiRadioGroup.vue +1 -1
  158. package/src/{primitives → components}/UiRadioGroup/UiRadioGroupItem.vue +1 -1
  159. package/src/{primitives → components}/UiRadioGroup/types.ts +6 -1
  160. package/src/{primitives → components}/UiRangeCalendar/UiRangeCalendar.stories.ts +1 -1
  161. package/src/{primitives → components}/UiRangeCalendar/UiRangeCalendar.vue +1 -1
  162. package/src/{primitives → components}/UiRangeCalendar/types.ts +0 -1
  163. package/src/{primitives → components}/UiSelect/UiSelect.stories.ts +20 -1
  164. package/src/{primitives → components}/UiSelect/UiSelect.vue +1 -1
  165. package/src/{primitives → components}/UiSelect/UiSelectContent.vue +1 -1
  166. package/src/{primitives → components}/UiSelect/UiSelectGroup.vue +1 -1
  167. package/src/{primitives → components}/UiSelect/UiSelectItem.vue +1 -1
  168. package/src/{primitives → components}/UiSelect/UiSelectLabel.vue +1 -1
  169. package/src/{primitives → components}/UiSelect/UiSelectSeparator.vue +1 -1
  170. package/src/{primitives → components}/UiSelect/UiSelectTrigger.vue +1 -1
  171. package/src/{primitives → components}/UiSelect/UiSelectValue.vue +1 -1
  172. package/src/{primitives → components}/UiSelect/types.ts +0 -1
  173. package/src/components/UiSeparator/UiSeparator.stories.ts +177 -0
  174. package/src/components/UiSeparator/UiSeparator.vue +17 -0
  175. package/src/components/UiSeparator/__tests__/UiSeparator.test.ts +34 -0
  176. package/src/components/UiSeparator/index.ts +2 -0
  177. package/src/components/UiSeparator/types.ts +22 -0
  178. package/src/components/UiSkeleton/UiSkeleton.stories.ts +247 -0
  179. package/src/components/UiSkeleton/UiSkeleton.vue +24 -0
  180. package/src/components/UiSkeleton/__tests__/UiSkeleton.test.ts +47 -0
  181. package/src/components/UiSkeleton/index.ts +2 -0
  182. package/src/components/UiSkeleton/types.ts +25 -0
  183. package/src/{primitives → components}/UiSlider/UiSlider.stories.ts +1 -1
  184. package/src/{primitives → components}/UiSlider/UiSlider.vue +1 -1
  185. package/src/{primitives → components}/UiSlider/__tests__/UiSlider.test.ts +1 -1
  186. package/src/{primitives → components}/UiSlider/index.ts +1 -0
  187. package/src/{primitives → components}/UiSlider/types.ts +0 -1
  188. package/src/{primitives → components}/UiSpinner/UiSpinner.stories.ts +1 -1
  189. package/src/{primitives → components}/UiSpinner/UiSpinner.vue +1 -1
  190. package/src/{primitives → components}/UiSpinner/types.ts +0 -1
  191. package/src/{primitives → components}/UiSwitch/UiSwitch.stories.ts +1 -1
  192. package/src/{primitives → components}/UiSwitch/UiSwitch.vue +1 -1
  193. package/src/{primitives → components}/UiSwitch/types.ts +0 -1
  194. package/src/{primitives → components}/UiTable/UiTable.stories.ts +3 -3
  195. package/src/{primitives → components}/UiTable/UiTable.vue +1 -1
  196. package/src/{primitives → components}/UiTable/UiTableBody.vue +1 -1
  197. package/src/{primitives → components}/UiTable/UiTableCaption.vue +1 -1
  198. package/src/{primitives → components}/UiTable/UiTableCell.vue +1 -1
  199. package/src/{primitives → components}/UiTable/UiTableEmpty.vue +1 -1
  200. package/src/{primitives → components}/UiTable/UiTableFooter.vue +1 -1
  201. package/src/{primitives → components}/UiTable/UiTableHead.vue +1 -1
  202. package/src/{primitives → components}/UiTable/UiTableHeader.vue +1 -1
  203. package/src/{primitives → components}/UiTable/UiTableRow.vue +1 -1
  204. package/src/{primitives → components}/UiTable/types.ts +0 -1
  205. package/src/{primitives → components}/UiTabs/UiTabs.stories.ts +22 -3
  206. package/src/{primitives → components}/UiTabs/UiTabs.vue +1 -1
  207. package/src/{primitives → components}/UiTabs/UiTabsContent.vue +1 -1
  208. package/src/{primitives → components}/UiTabs/UiTabsList.vue +1 -1
  209. package/src/{primitives → components}/UiTabs/UiTabsTrigger.vue +1 -1
  210. package/src/{primitives → components}/UiTabs/types.ts +0 -1
  211. package/src/components/UiTagsInput/UiTagsInput.stories.ts +538 -0
  212. package/src/components/UiTagsInput/UiTagsInput.vue +20 -0
  213. package/src/components/UiTagsInput/UiTagsInputInput.vue +14 -0
  214. package/src/components/UiTagsInput/UiTagsInputItem.vue +16 -0
  215. package/src/components/UiTagsInput/UiTagsInputItemDelete.vue +13 -0
  216. package/src/components/UiTagsInput/UiTagsInputItemText.vue +11 -0
  217. package/src/components/UiTagsInput/__tests__/UiTagsInput.test.ts +44 -0
  218. package/src/components/UiTagsInput/index.ts +6 -0
  219. package/src/components/UiTagsInput/types.ts +51 -0
  220. package/src/{primitives → components}/UiTextarea/UiTextarea.stories.ts +1 -1
  221. package/src/{primitives → components}/UiTextarea/UiTextarea.vue +1 -1
  222. package/src/{primitives → components}/UiTextarea/types.ts +0 -1
  223. package/src/components/UiToggle/UiToggle.stories.ts +370 -0
  224. package/src/components/UiToggle/UiToggle.vue +28 -0
  225. package/src/components/UiToggle/__tests__/UiToggle.test.ts +62 -0
  226. package/src/components/UiToggle/index.ts +2 -0
  227. package/src/components/UiToggle/types.ts +34 -0
  228. package/src/components/UiToggleGroup/UiToggleGroup.stories.ts +441 -0
  229. package/src/components/UiToggleGroup/UiToggleGroup.vue +52 -0
  230. package/src/components/UiToggleGroup/UiToggleGroupItem.vue +21 -0
  231. package/src/components/UiToggleGroup/__tests__/UiToggleGroup.test.ts +394 -0
  232. package/src/components/UiToggleGroup/index.ts +3 -0
  233. package/src/components/UiToggleGroup/types.ts +132 -0
  234. package/src/{primitives → components}/UiTooltip/UiTooltip.stories.ts +42 -42
  235. package/src/{primitives → components}/UiTooltip/UiTooltip.vue +1 -1
  236. package/src/components/UiTooltip/index.ts +10 -0
  237. package/src/{primitives → components}/UiTooltip/types.ts +0 -1
  238. package/src/{primitives/shadcn → components/core}/accordion/Accordion.vue +1 -1
  239. package/src/{primitives/shadcn → components/core}/accordion/AccordionItem.vue +1 -1
  240. package/src/{primitives/shadcn → components/core}/accordion/AccordionTrigger.vue +5 -4
  241. package/src/{primitives/shadcn → components/core}/alert/index.ts +2 -2
  242. package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogAction.vue +1 -1
  243. package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogCancel.vue +1 -1
  244. package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogContent.vue +2 -2
  245. package/src/{primitives/shadcn → components/core}/badge/index.ts +1 -1
  246. package/src/{primitives/shadcn → components/core}/button/index.ts +4 -4
  247. package/src/{primitives/shadcn → components/core}/calendar/Calendar.vue +1 -1
  248. package/src/{primitives/shadcn → components/core}/calendar/CalendarCellTrigger.vue +3 -3
  249. package/src/{primitives/shadcn → components/core}/calendar/CalendarNextButton.vue +3 -3
  250. package/src/{primitives/shadcn → components/core}/calendar/CalendarPrevButton.vue +3 -3
  251. package/src/{primitives/shadcn → components/core}/card/Card.vue +1 -1
  252. package/src/{primitives/shadcn → components/core}/checkbox/Checkbox.vue +3 -3
  253. package/src/{primitives/shadcn → components/core}/drawer/DrawerContent.vue +2 -2
  254. package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuCheckboxItem.vue +3 -3
  255. package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuItem.vue +1 -1
  256. package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
  257. package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSubTrigger.vue +3 -3
  258. package/src/{primitives/shadcn → components/core}/field/FieldError.vue +1 -1
  259. package/src/{primitives/shadcn → components/core}/field/FieldLabel.vue +1 -1
  260. package/src/{primitives/shadcn → components/core}/field/FieldSeparator.vue +1 -1
  261. package/src/{primitives/shadcn → components/core}/index.ts +1 -0
  262. package/src/{primitives/shadcn → components/core}/input/Input.vue +1 -1
  263. package/src/components/core/item/Item.vue +33 -0
  264. package/src/components/core/item/ItemActions.vue +14 -0
  265. package/src/components/core/item/ItemContent.vue +17 -0
  266. package/src/components/core/item/ItemDescription.vue +23 -0
  267. package/src/components/core/item/ItemFooter.vue +17 -0
  268. package/src/components/core/item/ItemGroup.vue +18 -0
  269. package/src/components/core/item/ItemHeader.vue +17 -0
  270. package/src/components/core/item/ItemMedia.vue +21 -0
  271. package/src/components/core/item/ItemSeparator.vue +12 -0
  272. package/src/components/core/item/ItemTitle.vue +17 -0
  273. package/src/components/core/item/index.ts +53 -0
  274. package/src/components/core/kbd/Kbd.vue +20 -0
  275. package/src/components/core/kbd/KbdGroup.vue +12 -0
  276. package/src/components/core/kbd/index.ts +2 -0
  277. package/src/components/core/listbox/Listbox.vue +23 -0
  278. package/src/components/core/listbox/ListboxContent.vue +26 -0
  279. package/src/components/core/listbox/ListboxFilter.vue +30 -0
  280. package/src/components/core/listbox/ListboxGroup.vue +26 -0
  281. package/src/components/core/listbox/ListboxGroupLabel.vue +26 -0
  282. package/src/components/core/listbox/ListboxItem.vue +32 -0
  283. package/src/components/core/listbox/ListboxItemIndicator.vue +40 -0
  284. package/src/components/core/listbox/index.ts +7 -0
  285. package/src/{primitives/shadcn → components/core}/native-select/NativeSelect.vue +6 -5
  286. package/src/{primitives/shadcn → components/core}/radio-group/RadioGroupItem.vue +3 -4
  287. package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendar.vue +1 -1
  288. package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarCellTrigger.vue +8 -6
  289. package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarHeading.vue +1 -1
  290. package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarNextButton.vue +3 -3
  291. package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarPrevButton.vue +3 -3
  292. package/src/{primitives/shadcn → components/core}/select/Select.vue +1 -1
  293. package/src/{primitives/shadcn → components/core}/select/SelectItem.vue +3 -3
  294. package/src/{primitives/shadcn → components/core}/select/SelectScrollDownButton.vue +2 -2
  295. package/src/{primitives/shadcn → components/core}/select/SelectScrollUpButton.vue +2 -2
  296. package/src/{primitives/shadcn → components/core}/select/SelectTrigger.vue +3 -3
  297. package/src/components/core/skeleton/Skeleton.vue +10 -0
  298. package/src/components/core/skeleton/index.ts +1 -0
  299. package/src/{primitives/shadcn → components/core}/spinner/Spinner.vue +5 -4
  300. package/src/{primitives/shadcn → components/core}/switch/Switch.vue +1 -1
  301. package/src/{primitives/shadcn → components/core}/table/TableRow.vue +4 -1
  302. package/src/{primitives/shadcn → components/core}/tabs/Tabs.vue +1 -1
  303. package/src/components/core/tabs/TabsTrigger.vue +28 -0
  304. package/src/components/core/tags-input/TagsInput.vue +33 -0
  305. package/src/components/core/tags-input/TagsInputInput.vue +24 -0
  306. package/src/components/core/tags-input/TagsInputItem.vue +31 -0
  307. package/src/components/core/tags-input/TagsInputItemDelete.vue +46 -0
  308. package/src/components/core/tags-input/TagsInputItemText.vue +24 -0
  309. package/src/components/core/tags-input/index.ts +5 -0
  310. package/src/{primitives/shadcn → components/core}/textarea/Textarea.vue +1 -1
  311. package/src/components/core/toggle/Toggle.vue +34 -0
  312. package/src/components/core/toggle/index.ts +26 -0
  313. package/src/components/core/toggle-group/ToggleGroup.vue +38 -0
  314. package/src/components/core/toggle-group/ToggleGroupItem.vue +37 -0
  315. package/src/components/core/toggle-group/context.ts +11 -0
  316. package/src/components/core/toggle-group/index.ts +28 -0
  317. package/src/{primitives/shadcn → components/core}/tooltip/TooltipContent.vue +1 -1
  318. package/src/{primitives → components}/index.ts +13 -5
  319. package/src/index.ts +6 -10
  320. package/src/{compositions → patterns}/UiDataTable/UiDataTable.stories.ts +13 -11
  321. package/src/{compositions → patterns}/UiDataTable/UiDataTable.vue +2 -2
  322. package/src/{compositions → patterns}/UiDataTable/UiDataTableColumnHeader.vue +27 -28
  323. package/src/{compositions → patterns}/UiDataTable/UiDataTablePagination.vue +10 -38
  324. package/src/{compositions → patterns}/UiDataTable/UiDataTableToolbar.vue +4 -29
  325. package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTable.test.ts +1 -1
  326. package/src/patterns/UiDataTable/types.ts +116 -0
  327. package/src/{compositions → patterns}/UiDatePicker/UiDatePicker.stories.ts +1 -1
  328. package/src/{compositions → patterns}/UiDatePicker/UiDatePicker.vue +7 -7
  329. package/src/{compositions → patterns}/UiDatePicker/types.ts +0 -1
  330. package/src/{foundations → patterns}/UiPlaceholder/types.ts +0 -1
  331. package/src/patterns/index.ts +7 -0
  332. package/src/templates/UiTemplatePlaceholder/types.ts +0 -1
  333. package/src/templates/index.ts +4 -5
  334. package/src/theme/Background.stories.ts +225 -0
  335. package/src/theme/Border.stories.ts +158 -0
  336. package/src/theme/Extended.stories.ts +268 -0
  337. package/src/theme/Flex.stories.ts +313 -0
  338. package/src/theme/Grid.stories.ts +302 -0
  339. package/src/theme/Overlay.stories.ts +124 -0
  340. package/src/theme/Theme.stories.ts +309 -0
  341. package/src/theme/Typography.stories.ts +230 -0
  342. package/tokens.json +11252 -0
  343. package/src/compositions/UiCompositionPlaceholder/UiCompositionPlaceholder.vue +0 -9
  344. package/src/compositions/UiCompositionPlaceholder/index.ts +0 -1
  345. package/src/compositions/UiCompositionPlaceholder/types.ts +0 -8
  346. package/src/compositions/UiDataTable/types.ts +0 -39
  347. package/src/compositions/index.ts +0 -8
  348. package/src/foundations/index.ts +0 -6
  349. package/src/primitives/UiCard/index.ts +0 -7
  350. package/src/primitives/UiIcon/UiIcon.stories.ts +0 -95
  351. package/src/primitives/UiIcon/UiIcon.vue +0 -14
  352. package/src/primitives/UiIcon/__tests__/UiIcon.test.ts +0 -24
  353. package/src/primitives/UiIcon/types.ts +0 -23
  354. package/src/primitives/UiTooltip/index.ts +0 -2
  355. package/src/primitives/shadcn/tabs/TabsTrigger.vue +0 -28
  356. /package/src/{primitives → components}/UiAccordion/__tests__/UiAccordion.test.ts +0 -0
  357. /package/src/{primitives → components}/UiAccordion/index.ts +0 -0
  358. /package/src/{primitives → components}/UiAlert/__tests__/UiAlert.test.ts +0 -0
  359. /package/src/{primitives → components}/UiAlert/constants.ts +0 -0
  360. /package/src/{primitives → components}/UiAlert/index.ts +0 -0
  361. /package/src/{primitives → components}/UiAlertDialog/__tests__/UiAlertDialog.test.ts +0 -0
  362. /package/src/{primitives → components}/UiAvatar/__tests__/UiAvatar.test.ts +0 -0
  363. /package/src/{primitives → components}/UiBadge/constants.ts +0 -0
  364. /package/src/{primitives → components}/UiBadge/index.ts +0 -0
  365. /package/src/{primitives → components}/UiButton/index.ts +0 -0
  366. /package/src/{primitives → components}/UiCalendar/__tests__/UiCalendar.test.ts +0 -0
  367. /package/src/{primitives → components}/UiCalendar/index.ts +0 -0
  368. /package/src/{primitives → components}/UiCard/__tests__/UiCard.test.ts +0 -0
  369. /package/src/{primitives → components}/UiCard/__tests__/UiCardAction.test.ts +0 -0
  370. /package/src/{primitives → components}/UiCard/__tests__/UiCardContent.test.ts +0 -0
  371. /package/src/{primitives → components}/UiCard/__tests__/UiCardDescription.test.ts +0 -0
  372. /package/src/{primitives → components}/UiCard/__tests__/UiCardFooter.test.ts +0 -0
  373. /package/src/{primitives → components}/UiCard/__tests__/UiCardHeader.test.ts +0 -0
  374. /package/src/{primitives → components}/UiCard/__tests__/UiCardTitle.test.ts +0 -0
  375. /package/src/{primitives → components}/UiCheckbox/__tests__/UiCheckbox.test.ts +0 -0
  376. /package/src/{primitives → components}/UiCheckbox/index.ts +0 -0
  377. /package/src/{primitives → components}/UiDrawer/__tests__/UiDrawer.test.ts +0 -0
  378. /package/src/{primitives → components}/UiDropdownMenu/__tests__/UiDropdownMenu.test.ts +0 -0
  379. /package/src/{primitives → components}/UiDropdownMenu/index.ts +0 -0
  380. /package/src/{primitives → components}/UiField/__tests__/UiFieldError.test.ts +0 -0
  381. /package/src/{primitives → components}/UiIconButton/index.ts +0 -0
  382. /package/src/{primitives → components}/UiInput/__tests__/UiInput.test.ts +0 -0
  383. /package/src/{primitives → components}/UiInput/index.ts +0 -0
  384. /package/src/{primitives → components}/UiPopover/__tests__/UiPopover.test.ts +0 -0
  385. /package/src/{primitives → components}/UiProgress/__tests__/UiProgress.test.ts +0 -0
  386. /package/src/{primitives → components}/UiProgress/index.ts +0 -0
  387. /package/src/{primitives → components}/UiRadioGroup/__tests__/UiRadioGroup.test.ts +0 -0
  388. /package/src/{primitives → components}/UiRadioGroup/index.ts +0 -0
  389. /package/src/{primitives → components}/UiRangeCalendar/__tests__/UiRangeCalendar.test.ts +0 -0
  390. /package/src/{primitives → components}/UiRangeCalendar/index.ts +0 -0
  391. /package/src/{primitives → components}/UiSelect/__tests__/UiSelect.test.ts +0 -0
  392. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectContent.test.ts +0 -0
  393. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectGroup.test.ts +0 -0
  394. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectItem.test.ts +0 -0
  395. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectLabel.test.ts +0 -0
  396. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectSeparator.test.ts +0 -0
  397. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectTrigger.test.ts +0 -0
  398. /package/src/{primitives → components}/UiSelect/__tests__/UiSelectValue.test.ts +0 -0
  399. /package/src/{primitives → components}/UiSelect/index.ts +0 -0
  400. /package/src/{primitives → components}/UiSpinner/__tests__/UiSpinner.test.ts +0 -0
  401. /package/src/{primitives → components}/UiSpinner/index.ts +0 -0
  402. /package/src/{primitives → components}/UiSwitch/__tests__/UiSwitch.test.ts +0 -0
  403. /package/src/{primitives → components}/UiSwitch/index.ts +0 -0
  404. /package/src/{primitives → components}/UiTable/__tests__/UiTable.test.ts +0 -0
  405. /package/src/{primitives → components}/UiTable/__tests__/UiTableBody.test.ts +0 -0
  406. /package/src/{primitives → components}/UiTable/__tests__/UiTableCaption.test.ts +0 -0
  407. /package/src/{primitives → components}/UiTable/__tests__/UiTableCell.test.ts +0 -0
  408. /package/src/{primitives → components}/UiTable/__tests__/UiTableEmpty.test.ts +0 -0
  409. /package/src/{primitives → components}/UiTable/__tests__/UiTableFooter.test.ts +0 -0
  410. /package/src/{primitives → components}/UiTable/__tests__/UiTableHead.test.ts +0 -0
  411. /package/src/{primitives → components}/UiTable/__tests__/UiTableHeader.test.ts +0 -0
  412. /package/src/{primitives → components}/UiTable/__tests__/UiTableRow.test.ts +0 -0
  413. /package/src/{primitives → components}/UiTable/index.ts +0 -0
  414. /package/src/{primitives → components}/UiTabs/__tests__/UiTabs.test.ts +0 -0
  415. /package/src/{primitives → components}/UiTabs/index.ts +0 -0
  416. /package/src/{primitives → components}/UiTextarea/__tests__/UiTextarea.test.ts +0 -0
  417. /package/src/{primitives → components}/UiTextarea/index.ts +0 -0
  418. /package/src/{primitives → components}/UiTooltip/__tests__/UiTooltip.test.ts +0 -0
  419. /package/src/{primitives/shadcn → components/core}/accordion/AccordionContent.vue +0 -0
  420. /package/src/{primitives/shadcn → components/core}/accordion/index.ts +0 -0
  421. /package/src/{primitives/shadcn → components/core}/alert/Alert.vue +0 -0
  422. /package/src/{primitives/shadcn → components/core}/alert/AlertDescription.vue +0 -0
  423. /package/src/{primitives/shadcn → components/core}/alert/AlertTitle.vue +0 -0
  424. /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialog.vue +0 -0
  425. /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogDescription.vue +0 -0
  426. /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogFooter.vue +0 -0
  427. /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogHeader.vue +0 -0
  428. /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogTitle.vue +0 -0
  429. /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogTrigger.vue +0 -0
  430. /package/src/{primitives/shadcn → components/core}/alert-dialog/index.ts +0 -0
  431. /package/src/{primitives/shadcn → components/core}/avatar/Avatar.vue +0 -0
  432. /package/src/{primitives/shadcn → components/core}/avatar/AvatarFallback.vue +0 -0
  433. /package/src/{primitives/shadcn → components/core}/avatar/AvatarImage.vue +0 -0
  434. /package/src/{primitives/shadcn → components/core}/avatar/index.ts +0 -0
  435. /package/src/{primitives/shadcn → components/core}/badge/Badge.vue +0 -0
  436. /package/src/{primitives/shadcn → components/core}/button/Button.vue +0 -0
  437. /package/src/{primitives/shadcn → components/core}/calendar/CalendarCell.vue +0 -0
  438. /package/src/{primitives/shadcn → components/core}/calendar/CalendarGrid.vue +0 -0
  439. /package/src/{primitives/shadcn → components/core}/calendar/CalendarGridBody.vue +0 -0
  440. /package/src/{primitives/shadcn → components/core}/calendar/CalendarGridHead.vue +0 -0
  441. /package/src/{primitives/shadcn → components/core}/calendar/CalendarGridRow.vue +0 -0
  442. /package/src/{primitives/shadcn → components/core}/calendar/CalendarHeadCell.vue +0 -0
  443. /package/src/{primitives/shadcn → components/core}/calendar/CalendarHeader.vue +0 -0
  444. /package/src/{primitives/shadcn → components/core}/calendar/CalendarHeading.vue +0 -0
  445. /package/src/{primitives/shadcn → components/core}/calendar/index.ts +0 -0
  446. /package/src/{primitives/shadcn → components/core}/card/CardAction.vue +0 -0
  447. /package/src/{primitives/shadcn → components/core}/card/CardContent.vue +0 -0
  448. /package/src/{primitives/shadcn → components/core}/card/CardDescription.vue +0 -0
  449. /package/src/{primitives/shadcn → components/core}/card/CardFooter.vue +0 -0
  450. /package/src/{primitives/shadcn → components/core}/card/CardHeader.vue +0 -0
  451. /package/src/{primitives/shadcn → components/core}/card/CardTitle.vue +0 -0
  452. /package/src/{primitives/shadcn → components/core}/card/index.ts +0 -0
  453. /package/src/{primitives/shadcn → components/core}/checkbox/index.ts +0 -0
  454. /package/src/{primitives/shadcn → components/core}/drawer/Drawer.vue +0 -0
  455. /package/src/{primitives/shadcn → components/core}/drawer/DrawerClose.vue +0 -0
  456. /package/src/{primitives/shadcn → components/core}/drawer/DrawerDescription.vue +0 -0
  457. /package/src/{primitives/shadcn → components/core}/drawer/DrawerFooter.vue +0 -0
  458. /package/src/{primitives/shadcn → components/core}/drawer/DrawerHeader.vue +0 -0
  459. /package/src/{primitives/shadcn → components/core}/drawer/DrawerTitle.vue +0 -0
  460. /package/src/{primitives/shadcn → components/core}/drawer/DrawerTrigger.vue +0 -0
  461. /package/src/{primitives/shadcn → components/core}/drawer/index.ts +0 -0
  462. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenu.vue +0 -0
  463. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuContent.vue +0 -0
  464. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuGroup.vue +0 -0
  465. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuLabel.vue +0 -0
  466. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuRadioGroup.vue +0 -0
  467. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSeparator.vue +0 -0
  468. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuShortcut.vue +0 -0
  469. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSub.vue +0 -0
  470. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSubContent.vue +0 -0
  471. /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuTrigger.vue +0 -0
  472. /package/src/{primitives/shadcn → components/core}/dropdown-menu/index.ts +0 -0
  473. /package/src/{primitives/shadcn → components/core}/field/Field.vue +0 -0
  474. /package/src/{primitives/shadcn → components/core}/field/FieldContent.vue +0 -0
  475. /package/src/{primitives/shadcn → components/core}/field/FieldDescription.vue +0 -0
  476. /package/src/{primitives/shadcn → components/core}/field/FieldGroup.vue +0 -0
  477. /package/src/{primitives/shadcn → components/core}/field/FieldLegend.vue +0 -0
  478. /package/src/{primitives/shadcn → components/core}/field/FieldSet.vue +0 -0
  479. /package/src/{primitives/shadcn → components/core}/field/FieldTitle.vue +0 -0
  480. /package/src/{primitives/shadcn → components/core}/field/index.ts +0 -0
  481. /package/src/{primitives/shadcn → components/core}/icon/Icon.vue +0 -0
  482. /package/src/{primitives/shadcn → components/core}/icon/index.ts +0 -0
  483. /package/src/{primitives/shadcn → components/core}/input/index.ts +0 -0
  484. /package/src/{primitives/shadcn → components/core}/label/Label.vue +0 -0
  485. /package/src/{primitives/shadcn → components/core}/label/index.ts +0 -0
  486. /package/src/{primitives/shadcn → components/core}/native-select/NativeSelectOptGroup.vue +0 -0
  487. /package/src/{primitives/shadcn → components/core}/native-select/NativeSelectOption.vue +0 -0
  488. /package/src/{primitives/shadcn → components/core}/native-select/index.ts +0 -0
  489. /package/src/{primitives/shadcn → components/core}/popover/Popover.vue +0 -0
  490. /package/src/{primitives/shadcn → components/core}/popover/PopoverContent.vue +0 -0
  491. /package/src/{primitives/shadcn → components/core}/popover/PopoverTrigger.vue +0 -0
  492. /package/src/{primitives/shadcn → components/core}/popover/index.ts +0 -0
  493. /package/src/{primitives/shadcn → components/core}/progress/Progress.vue +0 -0
  494. /package/src/{primitives/shadcn → components/core}/progress/index.ts +0 -0
  495. /package/src/{primitives/shadcn → components/core}/radio-group/RadioGroup.vue +0 -0
  496. /package/src/{primitives/shadcn → components/core}/radio-group/index.ts +0 -0
  497. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarCell.vue +0 -0
  498. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGrid.vue +0 -0
  499. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGridBody.vue +0 -0
  500. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGridHead.vue +0 -0
  501. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGridRow.vue +0 -0
  502. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarHeadCell.vue +0 -0
  503. /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarHeader.vue +0 -0
  504. /package/src/{primitives/shadcn → components/core}/range-calendar/index.ts +0 -0
  505. /package/src/{primitives/shadcn → components/core}/select/SelectContent.vue +0 -0
  506. /package/src/{primitives/shadcn → components/core}/select/SelectGroup.vue +0 -0
  507. /package/src/{primitives/shadcn → components/core}/select/SelectItemText.vue +0 -0
  508. /package/src/{primitives/shadcn → components/core}/select/SelectLabel.vue +0 -0
  509. /package/src/{primitives/shadcn → components/core}/select/SelectSeparator.vue +0 -0
  510. /package/src/{primitives/shadcn → components/core}/select/SelectValue.vue +0 -0
  511. /package/src/{primitives/shadcn → components/core}/select/index.ts +0 -0
  512. /package/src/{primitives/shadcn → components/core}/separator/Separator.vue +0 -0
  513. /package/src/{primitives/shadcn → components/core}/separator/index.ts +0 -0
  514. /package/src/{primitives/shadcn → components/core}/slider/Slider.vue +0 -0
  515. /package/src/{primitives/shadcn → components/core}/slider/index.ts +0 -0
  516. /package/src/{primitives/shadcn → components/core}/spinner/index.ts +0 -0
  517. /package/src/{primitives/shadcn → components/core}/switch/index.ts +0 -0
  518. /package/src/{primitives/shadcn → components/core}/table/Table.vue +0 -0
  519. /package/src/{primitives/shadcn → components/core}/table/TableBody.vue +0 -0
  520. /package/src/{primitives/shadcn → components/core}/table/TableCaption.vue +0 -0
  521. /package/src/{primitives/shadcn → components/core}/table/TableCell.vue +0 -0
  522. /package/src/{primitives/shadcn → components/core}/table/TableEmpty.vue +0 -0
  523. /package/src/{primitives/shadcn → components/core}/table/TableFooter.vue +0 -0
  524. /package/src/{primitives/shadcn → components/core}/table/TableHead.vue +0 -0
  525. /package/src/{primitives/shadcn → components/core}/table/TableHeader.vue +0 -0
  526. /package/src/{primitives/shadcn → components/core}/table/index.ts +0 -0
  527. /package/src/{primitives/shadcn → components/core}/table/utils.ts +0 -0
  528. /package/src/{primitives/shadcn → components/core}/tabs/TabsContent.vue +0 -0
  529. /package/src/{primitives/shadcn → components/core}/tabs/TabsList.vue +0 -0
  530. /package/src/{primitives/shadcn → components/core}/tabs/index.ts +0 -0
  531. /package/src/{primitives/shadcn → components/core}/textarea/index.ts +0 -0
  532. /package/src/{primitives/shadcn → components/core}/tooltip/Tooltip.vue +0 -0
  533. /package/src/{primitives/shadcn → components/core}/tooltip/TooltipProvider.vue +0 -0
  534. /package/src/{primitives/shadcn → components/core}/tooltip/TooltipTrigger.vue +0 -0
  535. /package/src/{primitives/shadcn → components/core}/tooltip/index.ts +0 -0
  536. /package/src/{compositions → patterns}/UiDataTable/UiDataTable.mock.ts +0 -0
  537. /package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTableColumnHeader.test.ts +0 -0
  538. /package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTablePagination.test.ts +0 -0
  539. /package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTableToolbar.test.ts +0 -0
  540. /package/src/{compositions → patterns}/UiDataTable/constants.ts +0 -0
  541. /package/src/{compositions → patterns}/UiDataTable/index.ts +0 -0
  542. /package/src/{compositions → patterns}/UiDatePicker/__tests__/UiDatePicker.test.ts +0 -0
  543. /package/src/{compositions → patterns}/UiDatePicker/index.ts +0 -0
  544. /package/src/{foundations → patterns}/UiPlaceholder/UiPlaceholder.vue +0 -0
  545. /package/src/{foundations → patterns}/UiPlaceholder/index.ts +0 -0
@@ -1,10 +1,10 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
2
  import UiTooltip from './UiTooltip.vue';
3
- import { UiButton } from '@/primitives/UiButton';
4
- import { UiIcon } from '@/primitives/UiIcon';
3
+ import { UiButton } from '@/components/UiButton';
4
+ import { UiIcon } from '@/components/UiIcon';
5
5
 
6
6
  const meta: Meta<typeof UiTooltip> = {
7
- title: 'Primitives/UiTooltip',
7
+ title: 'Components/UiTooltip',
8
8
  component: UiTooltip,
9
9
  tags: ['autodocs'],
10
10
  argTypes: {
@@ -72,6 +72,10 @@ const defaultTemplate = `
72
72
  </div>
73
73
  `;
74
74
 
75
+ /**
76
+ * Default tooltip that appears on hover.
77
+ * Customize content, position, and delay via props.
78
+ */
75
79
  export const Default: Story = {
76
80
  parameters: {
77
81
  docs: {
@@ -115,7 +119,7 @@ import { UiIcon } from '@aleph-alpha/ui-library'
115
119
  <template>
116
120
  <UiTooltip content="More information" side="top" align="center" :delay-duration="500">
117
121
  <UiButton size="icon" variant="ghost" aria-label="Information">
118
- <UiIcon icon="i-material-symbols-info" class="w-4 h-4" />
122
+ <UiIcon name="info" :size="16" />
119
123
  </UiButton>
120
124
  </UiTooltip>
121
125
  </template>`;
@@ -124,12 +128,15 @@ const withIconButtonTemplate = `
124
128
  <div class="flex justify-center p-8">
125
129
  <UiTooltip content="More information" side="top" align="center" :delay-duration="500">
126
130
  <UiButton size="icon" variant="ghost" aria-label="Information">
127
- <UiIcon icon="i-material-symbols-info" class="w-4 h-4" />
131
+ <UiIcon name="info" :size="16" />
128
132
  </UiButton>
129
133
  </UiTooltip>
130
134
  </div>
131
135
  `;
132
136
 
137
+ /**
138
+ * Tooltip with an icon button trigger.
139
+ */
133
140
  export const WithIconButton: Story = {
134
141
  parameters: {
135
142
  docs: {
@@ -145,10 +152,6 @@ export const WithIconButton: Story = {
145
152
  }),
146
153
  };
147
154
 
148
- /**
149
- * Tooltip with custom delay duration (instant).
150
- */
151
-
152
155
  const instantDelayTemplateSource = `<script setup lang="ts">
153
156
  import { UiTooltip } from '@aleph-alpha/ui-library'
154
157
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -168,6 +171,9 @@ const instantDelayTemplate = `
168
171
  </div>
169
172
  `;
170
173
 
174
+ /**
175
+ * Tooltip with instant appearance (no delay).
176
+ */
171
177
  export const InstantDelay: Story = {
172
178
  parameters: {
173
179
  docs: {
@@ -183,10 +189,6 @@ export const InstantDelay: Story = {
183
189
  }),
184
190
  };
185
191
 
186
- /**
187
- * Tooltip with longer delay duration.
188
- */
189
-
190
192
  const longDelayTemplateSource = `<script setup lang="ts">
191
193
  import { UiTooltip } from '@aleph-alpha/ui-library'
192
194
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -206,6 +208,9 @@ const longDelayTemplate = `
206
208
  </div>
207
209
  `;
208
210
 
211
+ /**
212
+ * Tooltip with longer delay duration (1500ms).
213
+ */
209
214
  export const LongDelay: Story = {
210
215
  parameters: {
211
216
  docs: {
@@ -221,9 +226,6 @@ export const LongDelay: Story = {
221
226
  }),
222
227
  };
223
228
 
224
- /**
225
- * Disabled tooltip - will not show on hover.
226
- */
227
229
  const disabledTemplateSource = `<script setup lang="ts">
228
230
  import { UiTooltip } from '@aleph-alpha/ui-library'
229
231
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -243,6 +245,9 @@ const disabledTemplate = `
243
245
  </div>
244
246
  `;
245
247
 
248
+ /**
249
+ * Disabled tooltip that will not show on hover.
250
+ */
246
251
  export const Disabled: Story = {
247
252
  parameters: {
248
253
  docs: {
@@ -258,10 +263,6 @@ export const Disabled: Story = {
258
263
  }),
259
264
  };
260
265
 
261
- /**
262
- * Tooltip with different alignment options.
263
- */
264
-
265
266
  const alignmentOptionsTemplateSource = `<script setup lang="ts">
266
267
  import { UiTooltip } from '@aleph-alpha/ui-library'
267
268
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -306,6 +307,9 @@ const alignmentOptionsTemplate = `
306
307
  </div>
307
308
  `;
308
309
 
310
+ /**
311
+ * Tooltip with different alignment options (start, center, end).
312
+ */
309
313
  export const AlignmentOptions: Story = {
310
314
  parameters: {
311
315
  docs: {
@@ -321,10 +325,6 @@ export const AlignmentOptions: Story = {
321
325
  }),
322
326
  };
323
327
 
324
- /**
325
- * All available positions for the tooltip.
326
- */
327
-
328
328
  const allSidesTemplateSource = `<script setup lang="ts">
329
329
  import { UiTooltip } from '@aleph-alpha/ui-library'
330
330
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -368,6 +368,9 @@ const allSidesTemplate = `
368
368
  </div>
369
369
  `;
370
370
 
371
+ /**
372
+ * All available position options for the tooltip (top, right, bottom, left).
373
+ */
371
374
  export const AllSides: Story = {
372
375
  parameters: {
373
376
  docs: {
@@ -383,10 +386,6 @@ export const AllSides: Story = {
383
386
  }),
384
387
  };
385
388
 
386
- /**
387
- * Various tooltip use cases with different trigger elements.
388
- */
389
-
390
389
  const useCasesTemplateSource = `<script setup lang="ts">
391
390
  import { UiTooltip } from '@aleph-alpha/ui-library'
392
391
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -404,19 +403,19 @@ import { UiIcon } from '@aleph-alpha/ui-library'
404
403
 
405
404
  <UiTooltip content="Need help? Click for documentation" side="top" align="center">
406
405
  <UiButton size="icon" variant="ghost" aria-label="Help">
407
- <UiIcon icon="i-material-symbols-help" class="w-4 h-4" />
406
+ <UiIcon name="circle-help" :size="16" />
408
407
  </UiButton>
409
408
  </UiTooltip>
410
409
 
411
410
  <UiTooltip content="Important information about this feature" side="top" align="center">
412
411
  <UiButton size="icon" variant="outline" aria-label="Information">
413
- <UiIcon icon="i-material-symbols-info" class="w-4 h-4" />
412
+ <UiIcon name="info" :size="16" />
414
413
  </UiButton>
415
414
  </UiTooltip>
416
415
 
417
416
  <UiTooltip content="Warning: This may affect other settings" side="top" align="center">
418
417
  <UiButton size="icon" variant="secondary" aria-label="Warning">
419
- <UiIcon icon="i-material-symbols-warning" class="w-4 h-4" />
418
+ <UiIcon name="triangle-alert" :size="16" />
420
419
  </UiButton>
421
420
  </UiTooltip>
422
421
 
@@ -437,19 +436,19 @@ const useCasesTemplate = `
437
436
 
438
437
  <UiTooltip content="Need help? Click for documentation" side="top" align="center">
439
438
  <UiButton size="icon" variant="ghost" aria-label="Help">
440
- <UiIcon icon="i-material-symbols-help" class="w-4 h-4" />
439
+ <UiIcon name="circle-help" :size="16" />
441
440
  </UiButton>
442
441
  </UiTooltip>
443
442
 
444
443
  <UiTooltip content="Important information about this feature" side="top" align="center">
445
444
  <UiButton size="icon" variant="outline" aria-label="Information">
446
- <UiIcon icon="i-material-symbols-info" class="w-4 h-4" />
445
+ <UiIcon name="info" :size="16" />
447
446
  </UiButton>
448
447
  </UiTooltip>
449
448
 
450
449
  <UiTooltip content="Warning: This may affect other settings" side="top" align="center">
451
450
  <UiButton size="icon" variant="secondary" aria-label="Warning">
452
- <UiIcon icon="i-material-symbols-warning" class="w-4 h-4" />
451
+ <UiIcon name="triangle-alert" :size="16" />
453
452
  </UiButton>
454
453
  </UiTooltip>
455
454
 
@@ -459,6 +458,9 @@ const useCasesTemplate = `
459
458
  </div>
460
459
  `;
461
460
 
461
+ /**
462
+ * Various tooltip use cases with different trigger elements and purposes.
463
+ */
462
464
  export const UseCases: Story = {
463
465
  parameters: {
464
466
  docs: {
@@ -474,10 +476,6 @@ export const UseCases: Story = {
474
476
  }),
475
477
  };
476
478
 
477
- /**
478
- * Tooltip wrapping text instead of a button.
479
- */
480
-
481
479
  const withTextTemplateSource = `<script setup lang="ts">
482
480
  import { UiTooltip } from '@aleph-alpha/ui-library'
483
481
  </script>
@@ -496,6 +494,9 @@ const withTextTemplate = `
496
494
  </div>
497
495
  `;
498
496
 
497
+ /**
498
+ * Tooltip wrapping inline text instead of a button.
499
+ */
499
500
  export const WithText: Story = {
500
501
  parameters: {
501
502
  docs: {
@@ -511,10 +512,6 @@ export const WithText: Story = {
511
512
  }),
512
513
  };
513
514
 
514
- /**
515
- * Tooltip with a larger offset from the trigger.
516
- */
517
-
518
515
  const customOffsetTemplateSource = `<script setup lang="ts">
519
516
  import { UiTooltip } from '@aleph-alpha/ui-library'
520
517
  import { UiButton } from '@aleph-alpha/ui-library'
@@ -534,6 +531,9 @@ const customOffsetTemplate = `
534
531
  </div>
535
532
  `;
536
533
 
534
+ /**
535
+ * Tooltip with a custom offset from the trigger (16px instead of default 4px).
536
+ */
537
537
  export const CustomOffset: Story = {
538
538
  parameters: {
539
539
  docs: {
@@ -4,7 +4,7 @@
4
4
  TooltipContent as ShadcnTooltipContent,
5
5
  TooltipProvider as ShadcnTooltipProvider,
6
6
  TooltipTrigger as ShadcnTooltipTrigger,
7
- } from '@/primitives/shadcn/tooltip';
7
+ } from '@/components/core/tooltip';
8
8
  import type { UiTooltipProps } from './types';
9
9
 
10
10
  defineOptions({
@@ -0,0 +1,10 @@
1
+ export { default as UiTooltip } from './UiTooltip.vue';
2
+ export * from './types';
3
+
4
+ // Re-export primitives for complex tooltip use cases (custom content, etc.)
5
+ export {
6
+ Tooltip as UiTooltipRoot,
7
+ TooltipContent as UiTooltipContent,
8
+ TooltipProvider as UiTooltipProvider,
9
+ TooltipTrigger as UiTooltipTrigger,
10
+ } from '@/components/core/tooltip';
@@ -4,7 +4,6 @@ export type UiTooltipAlign = 'start' | 'center' | 'end';
4
4
  /**
5
5
  * A popup that displays information on hover or focus. Use for
6
6
  * explaining icons, providing hints, or showing additional context.
7
- *
8
7
  * @category Overlays
9
8
  * @useCases icon explanation, help text, additional info, hints
10
9
  * @keywords tooltip, hint, hover, popup, info, help, explanation
@@ -9,7 +9,7 @@
9
9
  </script>
10
10
 
11
11
  <template>
12
- <AccordionRoot v-slot="slotProps" data-slot="accordion" v-bind="forwarded">
12
+ <AccordionRoot #default="slotProps" data-slot="accordion" v-bind="forwarded">
13
13
  <slot v-bind="slotProps" />
14
14
  </AccordionRoot>
15
15
  </template>
@@ -14,7 +14,7 @@
14
14
 
15
15
  <template>
16
16
  <AccordionItem
17
- v-slot="slotProps"
17
+ #default="slotProps"
18
18
  data-slot="accordion-item"
19
19
  v-bind="forwardedProps"
20
20
  :class="cn('border-b last:border-b-0', props.class)"
@@ -2,7 +2,7 @@
2
2
  import type { AccordionTriggerProps } from 'reka-ui';
3
3
  import type { HTMLAttributes } from 'vue';
4
4
  import { reactiveOmit } from '@vueuse/core';
5
- import { Icon } from '@/primitives/shadcn/icon';
5
+ import { UiIcon } from '@/components/UiIcon';
6
6
  import { AccordionHeader, AccordionTrigger } from 'reka-ui';
7
7
  import { cn } from '@/lib/utils';
8
8
 
@@ -25,9 +25,10 @@
25
25
  >
26
26
  <slot />
27
27
  <slot name="icon">
28
- <Icon
29
- icon="i-material-symbols-keyboard-arrow-down"
30
- class="text-muted-foreground pointer-events-none shrink-0 translate-y-0.5 text-base transition-transform duration-200"
28
+ <UiIcon
29
+ name="chevron-down"
30
+ :size="16"
31
+ class="text-muted-foreground pointer-events-none shrink-0 translate-y-0.5 transition-transform duration-200"
31
32
  />
32
33
  </slot>
33
34
  </AccordionTrigger>
@@ -10,9 +10,9 @@ export const alertVariants = cva(
10
10
  {
11
11
  variants: {
12
12
  variant: {
13
- default: 'bg-card text-card-foreground',
13
+ default: 'bg-popover text-popover-foreground',
14
14
  destructive:
15
- 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',
15
+ 'text-destructive bg-popover [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',
16
16
  },
17
17
  },
18
18
  defaultVariants: {
@@ -4,7 +4,7 @@
4
4
  import { reactiveOmit } from '@vueuse/core';
5
5
  import { AlertDialogAction } from 'reka-ui';
6
6
  import { cn } from '@/lib/utils';
7
- import { buttonVariants } from '@/primitives/shadcn/button';
7
+ import { buttonVariants } from '@/components/core/button';
8
8
 
9
9
  const props = defineProps<AlertDialogActionProps & { class?: HTMLAttributes['class'] }>();
10
10
 
@@ -4,7 +4,7 @@
4
4
  import { reactiveOmit } from '@vueuse/core';
5
5
  import { AlertDialogCancel } from 'reka-ui';
6
6
  import { cn } from '@/lib/utils';
7
- import { buttonVariants } from '@/primitives/shadcn/button';
7
+ import { buttonVariants } from '@/components/core/button';
8
8
 
9
9
  const props = defineProps<AlertDialogCancelProps & { class?: HTMLAttributes['class'] }>();
10
10
 
@@ -26,14 +26,14 @@
26
26
  <AlertDialogPortal>
27
27
  <AlertDialogOverlay
28
28
  data-slot="alert-dialog-overlay"
29
- class="data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80"
29
+ class="data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-modal-overlay"
30
30
  />
31
31
  <AlertDialogContent
32
32
  data-slot="alert-dialog-content"
33
33
  v-bind="{ ...$attrs, ...forwarded }"
34
34
  :class="
35
35
  cn(
36
- 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',
36
+ 'bg-popover data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',
37
37
  props.class,
38
38
  )
39
39
  "
@@ -12,7 +12,7 @@ export const badgeVariants = cva(
12
12
  secondary:
13
13
  'border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90',
14
14
  destructive:
15
- 'border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',
15
+ 'border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-[#FF8D8F] dark:text-black',
16
16
  outline: 'text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground',
17
17
  },
18
18
  },
@@ -10,12 +10,12 @@ export const buttonVariants = cva(
10
10
  variant: {
11
11
  default: 'bg-primary text-primary-foreground hover:bg-primary/90',
12
12
  destructive:
13
- 'bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',
13
+ 'bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',
14
14
  outline:
15
- 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',
15
+ 'border border-input bg-transparent text-foreground shadow-xs hover:bg-hover-default',
16
16
  secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
17
- ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',
18
- link: 'text-primary underline-offset-4 hover:underline',
17
+ ghost: 'text-foreground hover:bg-hover-default',
18
+ link: 'text-link underline-offset-4 hover:underline focus-visible:border-none',
19
19
  },
20
20
  size: {
21
21
  default: 'h-9 px-4 py-2 has-[>svg]:px-3',
@@ -8,7 +8,7 @@
8
8
  import { createYear, createYearRange, toDate } from 'reka-ui/date';
9
9
  import { computed, toRaw } from 'vue';
10
10
  import { cn } from '@/lib/utils';
11
- import { NativeSelect, NativeSelectOption } from '@/primitives/shadcn/native-select';
11
+ import { NativeSelect, NativeSelectOption } from '@/components/core/native-select';
12
12
  import {
13
13
  CalendarCell,
14
14
  CalendarCellTrigger,
@@ -4,7 +4,7 @@
4
4
  import { reactiveOmit } from '@vueuse/core';
5
5
  import { CalendarCellTrigger, useForwardProps } from 'reka-ui';
6
6
  import { cn } from '@/lib/utils';
7
- import { buttonVariants } from '@/primitives/shadcn/button';
7
+ import { buttonVariants } from '@/components/core/button';
8
8
 
9
9
  const props = withDefaults(
10
10
  defineProps<CalendarCellTriggerProps & { class?: HTMLAttributes['class'] }>(),
@@ -26,8 +26,8 @@
26
26
  buttonVariants({ variant: 'ghost' }),
27
27
  'size-8 p-0 font-normal aria-selected:opacity-100 cursor-default',
28
28
  '[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground',
29
- // Selected
30
- 'data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:opacity-100 data-[selected]:hover:bg-primary data-[selected]:hover:text-primary-foreground data-[selected]:focus:bg-primary data-[selected]:focus:text-primary-foreground',
29
+ // Selected: accent-default background with on-accent-default foreground
30
+ 'data-[selected]:bg-accent-default data-[selected]:text-accent-default-foreground data-[selected]:opacity-100 data-[selected]:hover:bg-accent-default data-[selected]:hover:text-accent-default-foreground data-[selected]:focus:bg-accent-default data-[selected]:focus:text-accent-default-foreground',
31
31
  // Disabled
32
32
  'data-[disabled]:text-muted-foreground data-[disabled]:opacity-50',
33
33
  // Unavailable
@@ -2,10 +2,10 @@
2
2
  import type { CalendarNextProps } from 'reka-ui';
3
3
  import type { HTMLAttributes } from 'vue';
4
4
  import { reactiveOmit } from '@vueuse/core';
5
- import { Icon } from '@/primitives/shadcn/icon';
5
+ import { UiIcon } from '@/components/UiIcon';
6
6
  import { CalendarNext, useForwardProps } from 'reka-ui';
7
7
  import { cn } from '@/lib/utils';
8
- import { buttonVariants } from '@/primitives/shadcn/button';
8
+ import { buttonVariants } from '@/components/core/button';
9
9
 
10
10
  const props = defineProps<CalendarNextProps & { class?: HTMLAttributes['class'] }>();
11
11
 
@@ -27,7 +27,7 @@
27
27
  v-bind="forwardedProps"
28
28
  >
29
29
  <slot>
30
- <Icon icon="i-material-symbols-keyboard-arrow-right" class="text-base" />
30
+ <UiIcon name="chevron-right" :size="16" />
31
31
  </slot>
32
32
  </CalendarNext>
33
33
  </template>
@@ -2,10 +2,10 @@
2
2
  import type { CalendarPrevProps } from 'reka-ui';
3
3
  import type { HTMLAttributes } from 'vue';
4
4
  import { reactiveOmit } from '@vueuse/core';
5
- import { Icon } from '@/primitives/shadcn/icon';
5
+ import { UiIcon } from '@/components/UiIcon';
6
6
  import { CalendarPrev, useForwardProps } from 'reka-ui';
7
7
  import { cn } from '@/lib/utils';
8
- import { buttonVariants } from '@/primitives/shadcn/button';
8
+ import { buttonVariants } from '@/components/core/button';
9
9
 
10
10
  const props = defineProps<CalendarPrevProps & { class?: HTMLAttributes['class'] }>();
11
11
 
@@ -27,7 +27,7 @@
27
27
  v-bind="forwardedProps"
28
28
  >
29
29
  <slot>
30
- <Icon icon="i-material-symbols-keyboard-arrow-left" class="text-base" />
30
+ <UiIcon name="chevron-left" :size="16" />
31
31
  </slot>
32
32
  </CalendarPrev>
33
33
  </template>
@@ -12,7 +12,7 @@
12
12
  data-slot="card"
13
13
  :class="
14
14
  cn(
15
- 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',
15
+ 'bg-popover text-popover-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',
16
16
  props.class,
17
17
  )
18
18
  "
@@ -2,7 +2,7 @@
2
2
  import type { CheckboxRootEmits, CheckboxRootProps } from 'reka-ui';
3
3
  import type { HTMLAttributes } from 'vue';
4
4
  import { reactiveOmit } from '@vueuse/core';
5
- import { Icon } from '@/primitives/shadcn/icon';
5
+ import { UiIcon } from '@/components/UiIcon';
6
6
  import { CheckboxIndicator, CheckboxRoot, useForwardPropsEmits } from 'reka-ui';
7
7
  import { cn } from '@/lib/utils';
8
8
 
@@ -21,7 +21,7 @@
21
21
  v-bind="forwarded"
22
22
  :class="
23
23
  cn(
24
- 'peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
24
+ 'peer border-input data-[state=checked]:bg-accent-default data-[state=checked]:text-accent-default-foreground data-[state=checked]:border-accent-default focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
25
25
  props.class,
26
26
  )
27
27
  "
@@ -31,7 +31,7 @@
31
31
  class="grid place-content-center text-current transition-none"
32
32
  >
33
33
  <slot v-bind="slotProps">
34
- <Icon icon="i-material-symbols-check" class="text-xs" />
34
+ <UiIcon name="check" :size="12" />
35
35
  </slot>
36
36
  </CheckboxIndicator>
37
37
  </CheckboxRoot>
@@ -29,14 +29,14 @@
29
29
  <DialogPortal>
30
30
  <DialogOverlay
31
31
  data-slot="drawer-overlay"
32
- class="data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80"
32
+ class="data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-modal-overlay"
33
33
  />
34
34
  <DialogContent
35
35
  data-slot="drawer-content"
36
36
  v-bind="{ ...$attrs, ...forwarded }"
37
37
  :class="
38
38
  cn(
39
- 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-bottom-2 data-[state=closed]:slide-out-to-bottom-2 fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-lg border shadow-lg duration-200',
39
+ 'bg-popover data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-bottom-2 data-[state=closed]:slide-out-to-bottom-2 fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-lg border shadow-lg duration-200',
40
40
  props.class,
41
41
  )
42
42
  "
@@ -2,7 +2,7 @@
2
2
  import type { DropdownMenuCheckboxItemEmits, DropdownMenuCheckboxItemProps } from 'reka-ui';
3
3
  import type { HTMLAttributes } from 'vue';
4
4
  import { reactiveOmit } from '@vueuse/core';
5
- import { Icon } from '@/primitives/shadcn/icon';
5
+ import { UiIcon } from '@/components/UiIcon';
6
6
  import {
7
7
  DropdownMenuCheckboxItem,
8
8
  DropdownMenuItemIndicator,
@@ -24,7 +24,7 @@
24
24
  v-bind="forwarded"
25
25
  :class="
26
26
  cn(
27
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
27
+ 'focus:bg-hover-default focus:text-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
28
28
  props.class,
29
29
  )
30
30
  "
@@ -32,7 +32,7 @@
32
32
  <span class="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
33
33
  <DropdownMenuItemIndicator class="flex items-center justify-center">
34
34
  <slot name="indicator-icon">
35
- <Icon icon="i-material-symbols-check" class="size-4" />
35
+ <UiIcon name="check" :size="16" />
36
36
  </slot>
37
37
  </DropdownMenuItemIndicator>
38
38
  </span>
@@ -31,7 +31,7 @@
31
31
  v-bind="forwardedProps"
32
32
  :class="
33
33
  cn(
34
- 'focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*=\'text-\'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
34
+ 'focus:bg-hover-default focus:text-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*=\'text-\'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
35
35
  props.class,
36
36
  )
37
37
  "
@@ -21,7 +21,7 @@
21
21
  v-bind="forwarded"
22
22
  :class="
23
23
  cn(
24
- 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
24
+ 'focus:bg-hover-default focus:text-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
25
25
  props.class,
26
26
  )
27
27
  "
@@ -2,7 +2,7 @@
2
2
  import type { DropdownMenuSubTriggerProps } from 'reka-ui';
3
3
  import type { HTMLAttributes } from 'vue';
4
4
  import { reactiveOmit } from '@vueuse/core';
5
- import { Icon } from '@/primitives/shadcn/icon';
5
+ import { UiIcon } from '@/components/UiIcon';
6
6
  import { DropdownMenuSubTrigger, useForwardProps } from 'reka-ui';
7
7
  import { cn } from '@/lib/utils';
8
8
 
@@ -20,12 +20,12 @@
20
20
  v-bind="forwardedProps"
21
21
  :class="
22
22
  cn(
23
- 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',
23
+ 'focus:bg-hover-default focus:text-foreground data-[state=open]:bg-hover-default data-[state=open]:text-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',
24
24
  props.class,
25
25
  )
26
26
  "
27
27
  >
28
28
  <slot />
29
- <Icon icon="i-material-symbols-keyboard-arrow-right" class="ml-auto text-base" />
29
+ <UiIcon name="chevron-right" :size="16" class="ml-auto" />
30
30
  </DropdownMenuSubTrigger>
31
31
  </template>
@@ -32,7 +32,7 @@
32
32
  const getContent = () => content.value;
33
33
 
34
34
  const slots = useSlots();
35
- const defaultSlotContent = computed(() => slots.default?.() ?? []);
35
+ const defaultSlotContent = computed(() => slots.default?.({}) ?? []);
36
36
 
37
37
  function hasMeaningfulNodes(nodes: VNode[]): boolean {
38
38
  return nodes.some((node) => {
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import type { HTMLAttributes } from 'vue';
3
3
  import { cn } from '@/lib/utils';
4
- import { Label } from '@/primitives/shadcn/label';
4
+ import { Label } from '@/components/core/label';
5
5
 
6
6
  const props = defineProps<{
7
7
  class?: HTMLAttributes['class'];