@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
@@ -0,0 +1,124 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { defineComponent, h } from 'vue';
3
+
4
+ const ThemePlaceholder = defineComponent({
5
+ name: 'ThemePlaceholder',
6
+ render() {
7
+ return h('div');
8
+ },
9
+ });
10
+
11
+ const meta: Meta<typeof ThemePlaceholder> = {
12
+ title: 'Theme/Overlay',
13
+ component: ThemePlaceholder,
14
+ tags: ['autodocs'],
15
+ parameters: {
16
+ layout: 'fullscreen',
17
+ },
18
+ };
19
+
20
+ export default meta;
21
+ type Story = StoryObj<typeof ThemePlaceholder>;
22
+
23
+ const copyScript = `
24
+ function copyToClipboard(text, el) {
25
+ navigator.clipboard.writeText(text).then(() => {
26
+ el.classList.add('copied');
27
+ setTimeout(() => el.classList.remove('copied'), 1500);
28
+ });
29
+ }
30
+ `;
31
+
32
+ /**
33
+ * Surface overlay colors for modal backdrops and scrim layers.
34
+ * Modal-overlay dims content behind dialogs, transparent is for invisible overlay areas.
35
+ */
36
+ export const Surface: Story = {
37
+ render: () => ({
38
+ template: `
39
+ <div class="p-8 bg-white dark:bg-background min-h-screen">
40
+ <style>
41
+ .copy-btn { cursor: pointer; transition: all 0.15s; }
42
+ .copy-btn:hover { background: rgba(0,0,0,0.05); }
43
+ .copy-btn.copied { background: #22c55e22; }
44
+ .copy-btn.copied::after { content: ' ✓'; color: #22c55e; }
45
+ </style>
46
+ <script>${copyScript}</script>
47
+
48
+ <div class="mb-6">
49
+ <h2 class="text-xl font-bold text-content-on-surface-primary mb-1">surface</h2>
50
+ <p class="text-sm text-content-on-surface-muted">Overlay colors for modals and backdrops. Click class name to copy.</p>
51
+ </div>
52
+
53
+ <div class="flex flex-wrap gap-6">
54
+ <div class="flex flex-col items-center gap-1.5">
55
+ <div class="w-16 h-16 rounded-md bg-overlay-surface-modal-overlay border border-border-surface-default"></div>
56
+ <div class="text-center">
57
+ <span class="text-xs text-content-on-surface-primary block font-medium">modal-overlay</span>
58
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('bg-overlay-surface-modal-overlay', this)">bg-overlay-surface-modal-overlay</code>
59
+ </div>
60
+ </div>
61
+
62
+ <div class="flex flex-col items-center gap-1.5">
63
+ <div class="w-16 h-16 rounded-md bg-overlay-surface-transparent border border-border-surface-default"></div>
64
+ <div class="text-center">
65
+ <span class="text-xs text-content-on-surface-primary block font-medium">transparent</span>
66
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('bg-overlay-surface-transparent', this)">bg-overlay-surface-transparent</code>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ `,
72
+ }),
73
+ };
74
+
75
+ /**
76
+ * Hover overlay colors applied to interactive elements on mouse hover.
77
+ * These create visual feedback without changing the element's background color.
78
+ */
79
+ export const Hover: Story = {
80
+ render: () => ({
81
+ template: `
82
+ <div class="p-8 bg-white dark:bg-background min-h-screen">
83
+ <style>
84
+ .copy-btn { cursor: pointer; transition: all 0.15s; }
85
+ .copy-btn:hover { background: rgba(0,0,0,0.05); }
86
+ .copy-btn.copied { background: #22c55e22; }
87
+ .copy-btn.copied::after { content: ' ✓'; color: #22c55e; }
88
+ </style>
89
+ <script>${copyScript}</script>
90
+
91
+ <div class="mb-6">
92
+ <h2 class="text-xl font-bold text-content-on-surface-primary mb-1">hover</h2>
93
+ <p class="text-sm text-content-on-surface-muted">Overlay colors for hover states on interactive elements. Click class name to copy.</p>
94
+ </div>
95
+
96
+ <div class="flex flex-wrap gap-6">
97
+ <div class="flex flex-col items-center gap-1.5">
98
+ <div class="w-16 h-16 rounded-md bg-overlay-hover-primary-button-hover border border-border-surface-default"></div>
99
+ <div class="text-center">
100
+ <span class="text-xs text-content-on-surface-primary block font-medium">primary-button-hover</span>
101
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('bg-overlay-hover-primary-button-hover', this)">bg-overlay-hover-primary-button-hover</code>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="flex flex-col items-center gap-1.5">
106
+ <div class="w-16 h-16 rounded-md bg-overlay-hover-secondary-button-hover border border-border-surface-default"></div>
107
+ <div class="text-center">
108
+ <span class="text-xs text-content-on-surface-primary block font-medium">secondary-button-hover</span>
109
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('bg-overlay-hover-secondary-button-hover', this)">bg-overlay-hover-secondary-button-hover</code>
110
+ </div>
111
+ </div>
112
+
113
+ <div class="flex flex-col items-center gap-1.5">
114
+ <div class="w-16 h-16 rounded-md bg-overlay-hover-default-hover border border-border-surface-default"></div>
115
+ <div class="text-center">
116
+ <span class="text-xs text-content-on-surface-primary block font-medium">default-hover</span>
117
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('bg-overlay-hover-default-hover', this)">bg-overlay-hover-default-hover</code>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ `,
123
+ }),
124
+ };
@@ -0,0 +1,309 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { defineComponent, h } from 'vue';
3
+
4
+ const ThemePlaceholder = defineComponent({
5
+ name: 'ThemePlaceholder',
6
+ render() {
7
+ return h('div');
8
+ },
9
+ });
10
+
11
+ const meta: Meta<typeof ThemePlaceholder> = {
12
+ title: 'Theme/Content',
13
+ component: ThemePlaceholder,
14
+ tags: ['autodocs'],
15
+ parameters: {
16
+ layout: 'fullscreen',
17
+ },
18
+ };
19
+
20
+ export default meta;
21
+ type Story = StoryObj<typeof ThemePlaceholder>;
22
+
23
+ const copyScript = `
24
+ function copyToClipboard(text, el) {
25
+ navigator.clipboard.writeText(text).then(() => {
26
+ el.classList.add('copied');
27
+ setTimeout(() => el.classList.remove('copied'), 1500);
28
+ });
29
+ }
30
+ `;
31
+
32
+ /**
33
+ * Text colors for content displayed on surface backgrounds.
34
+ * Use these for headings, body text, links, and UI labels on standard backgrounds.
35
+ * Includes primary, secondary, tertiary, muted, link, and inverse variants.
36
+ */
37
+ export const OnSurface: Story = {
38
+ render: () => ({
39
+ template: `
40
+ <div class="p-8 bg-white dark:bg-background min-h-screen">
41
+ <style>
42
+ .copy-btn { cursor: pointer; transition: all 0.15s; }
43
+ .copy-btn:hover { background: rgba(0,0,0,0.05); }
44
+ .copy-btn.copied { background: #22c55e22; }
45
+ .copy-btn.copied::after { content: ' ✓'; color: #22c55e; }
46
+ </style>
47
+ <script>${copyScript}</script>
48
+
49
+ <div class="mb-6">
50
+ <h2 class="text-xl font-bold text-content-on-surface-primary mb-1">on-surface</h2>
51
+ <p class="text-sm text-content-on-surface-muted">Text colors for content on surface backgrounds. Click class name to copy.</p>
52
+ </div>
53
+
54
+ <div class="flex flex-wrap gap-6">
55
+ <div class="flex flex-col items-center gap-1.5">
56
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
57
+ <span class="text-content-on-surface-primary text-2xl font-bold">Aa</span>
58
+ </div>
59
+ <div class="text-center">
60
+ <span class="text-xs text-content-on-surface-primary block font-medium">primary</span>
61
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-surface-primary', this)">text-content-on-surface-primary</code>
62
+ </div>
63
+ </div>
64
+
65
+ <div class="flex flex-col items-center gap-1.5">
66
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
67
+ <span class="text-content-on-surface-secondary text-2xl font-bold">Aa</span>
68
+ </div>
69
+ <div class="text-center">
70
+ <span class="text-xs text-content-on-surface-primary block font-medium">secondary</span>
71
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-surface-secondary', this)">text-content-on-surface-secondary</code>
72
+ </div>
73
+ </div>
74
+
75
+ <div class="flex flex-col items-center gap-1.5">
76
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
77
+ <span class="text-content-on-surface-tertiary text-2xl font-bold">Aa</span>
78
+ </div>
79
+ <div class="text-center">
80
+ <span class="text-xs text-content-on-surface-primary block font-medium">tertiary</span>
81
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-surface-tertiary', this)">text-content-on-surface-tertiary</code>
82
+ </div>
83
+ </div>
84
+
85
+ <div class="flex flex-col items-center gap-1.5">
86
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
87
+ <span class="text-content-on-surface-muted text-2xl font-bold">Aa</span>
88
+ </div>
89
+ <div class="text-center">
90
+ <span class="text-xs text-content-on-surface-primary block font-medium">muted</span>
91
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-surface-muted', this)">text-content-on-surface-muted</code>
92
+ </div>
93
+ </div>
94
+
95
+ <div class="flex flex-col items-center gap-1.5">
96
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
97
+ <span class="text-content-on-surface-link text-2xl font-bold">Aa</span>
98
+ </div>
99
+ <div class="text-center">
100
+ <span class="text-xs text-content-on-surface-primary block font-medium">link</span>
101
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-surface-link', this)">text-content-on-surface-link</code>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="flex flex-col items-center gap-1.5">
106
+ <div class="w-16 h-16 rounded-md bg-background-surface-inverse border border-border-surface-default flex items-center justify-center">
107
+ <span class="text-content-on-surface-inverse text-2xl font-bold">Aa</span>
108
+ </div>
109
+ <div class="text-center">
110
+ <span class="text-xs text-content-on-surface-primary block font-medium">inverse</span>
111
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-surface-inverse', this)">text-content-on-surface-inverse</code>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ `,
117
+ }),
118
+ };
119
+
120
+ /**
121
+ * Text colors for button labels and icons.
122
+ * Use these to ensure proper contrast on primary, secondary, no-fill, and danger button backgrounds.
123
+ */
124
+ export const OnButton: Story = {
125
+ render: () => ({
126
+ template: `
127
+ <div class="p-8 bg-white dark:bg-background min-h-screen">
128
+ <style>
129
+ .copy-btn { cursor: pointer; transition: all 0.15s; }
130
+ .copy-btn:hover { background: rgba(0,0,0,0.05); }
131
+ .copy-btn.copied { background: #22c55e22; }
132
+ .copy-btn.copied::after { content: ' ✓'; color: #22c55e; }
133
+ </style>
134
+ <script>${copyScript}</script>
135
+
136
+ <div class="mb-6">
137
+ <h2 class="text-xl font-bold text-content-on-surface-primary mb-1">on-button</h2>
138
+ <p class="text-sm text-content-on-surface-muted">Text colors for content on button backgrounds. Click class name to copy.</p>
139
+ </div>
140
+
141
+ <div class="flex flex-wrap gap-6">
142
+ <div class="flex flex-col items-center gap-1.5">
143
+ <div class="w-16 h-16 rounded-md bg-background-button-primary-button border border-border-surface-default flex items-center justify-center">
144
+ <span class="text-content-on-button-primary-button text-2xl font-bold">Aa</span>
145
+ </div>
146
+ <div class="text-center">
147
+ <span class="text-xs text-content-on-surface-primary block font-medium">primary-button</span>
148
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-button-primary-button', this)">text-content-on-button-primary-button</code>
149
+ </div>
150
+ </div>
151
+
152
+ <div class="flex flex-col items-center gap-1.5">
153
+ <div class="w-16 h-16 rounded-md bg-background-button-secondary-button border border-border-surface-default flex items-center justify-center">
154
+ <span class="text-content-on-button-secondary-button text-2xl font-bold">Aa</span>
155
+ </div>
156
+ <div class="text-center">
157
+ <span class="text-xs text-content-on-surface-primary block font-medium">secondary-button</span>
158
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-button-secondary-button', this)">text-content-on-button-secondary-button</code>
159
+ </div>
160
+ </div>
161
+
162
+ <div class="flex flex-col items-center gap-1.5">
163
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
164
+ <span class="text-content-on-button-no-fill-button text-2xl font-bold">Aa</span>
165
+ </div>
166
+ <div class="text-center">
167
+ <span class="text-xs text-content-on-surface-primary block font-medium">no-fill-button</span>
168
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-button-no-fill-button', this)">text-content-on-button-no-fill-button</code>
169
+ </div>
170
+ </div>
171
+
172
+ <div class="flex flex-col items-center gap-1.5">
173
+ <div class="w-16 h-16 rounded-md bg-background-button-danger-button border border-border-surface-default flex items-center justify-center">
174
+ <span class="text-content-on-button-danger-button text-2xl font-bold">Aa</span>
175
+ </div>
176
+ <div class="text-center">
177
+ <span class="text-xs text-content-on-surface-primary block font-medium">danger-button</span>
178
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-button-danger-button', this)">text-content-on-button-danger-button</code>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ `,
184
+ }),
185
+ };
186
+
187
+ /**
188
+ * Text colors for content on accent-colored backgrounds.
189
+ * Use these for badges, chips, highlights, or selected states with accent backgrounds.
190
+ */
191
+ export const OnAccent: Story = {
192
+ render: () => ({
193
+ template: `
194
+ <div class="p-8 bg-white dark:bg-background min-h-screen">
195
+ <style>
196
+ .copy-btn { cursor: pointer; transition: all 0.15s; }
197
+ .copy-btn:hover { background: rgba(0,0,0,0.05); }
198
+ .copy-btn.copied { background: #22c55e22; }
199
+ .copy-btn.copied::after { content: ' ✓'; color: #22c55e; }
200
+ </style>
201
+ <script>${copyScript}</script>
202
+
203
+ <div class="mb-6">
204
+ <h2 class="text-xl font-bold text-content-on-surface-primary mb-1">on-accent</h2>
205
+ <p class="text-sm text-content-on-surface-muted">Text colors for content on accent backgrounds. Click class name to copy.</p>
206
+ </div>
207
+
208
+ <div class="flex flex-wrap gap-6">
209
+ <div class="flex flex-col items-center gap-1.5">
210
+ <div class="w-16 h-16 rounded-md bg-background-accent-default border border-border-surface-default flex items-center justify-center">
211
+ <span class="text-content-on-accent-default text-2xl font-bold">Aa</span>
212
+ </div>
213
+ <div class="text-center">
214
+ <span class="text-xs text-content-on-surface-primary block font-medium">default</span>
215
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-accent-default', this)">text-content-on-accent-default</code>
216
+ </div>
217
+ </div>
218
+
219
+ <div class="flex flex-col items-center gap-1.5">
220
+ <div class="w-16 h-16 rounded-md bg-background-accent-soft border border-border-surface-default flex items-center justify-center">
221
+ <span class="text-content-on-accent-soft text-2xl font-bold">Aa</span>
222
+ </div>
223
+ <div class="text-center">
224
+ <span class="text-xs text-content-on-surface-primary block font-medium">soft</span>
225
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-accent-soft', this)">text-content-on-accent-soft</code>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ </div>
230
+ `,
231
+ }),
232
+ };
233
+
234
+ /**
235
+ * Semantic text colors for status indicators like success, warning, error, info, and neutral.
236
+ * Use these for validation messages, alerts, notifications, and status badges.
237
+ */
238
+ export const OnStatus: Story = {
239
+ render: () => ({
240
+ template: `
241
+ <div class="p-8 bg-white dark:bg-background min-h-screen">
242
+ <style>
243
+ .copy-btn { cursor: pointer; transition: all 0.15s; }
244
+ .copy-btn:hover { background: rgba(0,0,0,0.05); }
245
+ .copy-btn.copied { background: #22c55e22; }
246
+ .copy-btn.copied::after { content: ' ✓'; color: #22c55e; }
247
+ </style>
248
+ <script>${copyScript}</script>
249
+
250
+ <div class="mb-6">
251
+ <h2 class="text-xl font-bold text-content-on-surface-primary mb-1">on-status</h2>
252
+ <p class="text-sm text-content-on-surface-muted">Text colors for status indicators. Click class name to copy.</p>
253
+ </div>
254
+
255
+ <div class="flex flex-wrap gap-6">
256
+ <div class="flex flex-col items-center gap-1.5">
257
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
258
+ <span class="text-content-on-status-success text-2xl font-bold">Aa</span>
259
+ </div>
260
+ <div class="text-center">
261
+ <span class="text-xs text-content-on-surface-primary block font-medium">success</span>
262
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-status-success', this)">text-content-on-status-success</code>
263
+ </div>
264
+ </div>
265
+
266
+ <div class="flex flex-col items-center gap-1.5">
267
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
268
+ <span class="text-content-on-status-warning text-2xl font-bold">Aa</span>
269
+ </div>
270
+ <div class="text-center">
271
+ <span class="text-xs text-content-on-surface-primary block font-medium">warning</span>
272
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-status-warning', this)">text-content-on-status-warning</code>
273
+ </div>
274
+ </div>
275
+
276
+ <div class="flex flex-col items-center gap-1.5">
277
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
278
+ <span class="text-content-on-status-error text-2xl font-bold">Aa</span>
279
+ </div>
280
+ <div class="text-center">
281
+ <span class="text-xs text-content-on-surface-primary block font-medium">error</span>
282
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-status-error', this)">text-content-on-status-error</code>
283
+ </div>
284
+ </div>
285
+
286
+ <div class="flex flex-col items-center gap-1.5">
287
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
288
+ <span class="text-content-on-status-info text-2xl font-bold">Aa</span>
289
+ </div>
290
+ <div class="text-center">
291
+ <span class="text-xs text-content-on-surface-primary block font-medium">info</span>
292
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-status-info', this)">text-content-on-status-info</code>
293
+ </div>
294
+ </div>
295
+
296
+ <div class="flex flex-col items-center gap-1.5">
297
+ <div class="w-16 h-16 rounded-md bg-background-surface-secondary border border-border-surface-default flex items-center justify-center">
298
+ <span class="text-content-on-status-neutral text-2xl font-bold">Aa</span>
299
+ </div>
300
+ <div class="text-center">
301
+ <span class="text-xs text-content-on-surface-primary block font-medium">neutral</span>
302
+ <code class="copy-btn text-[10px] text-content-on-surface-muted block mt-0.5 px-1 py-0.5 rounded" onclick="copyToClipboard('text-content-on-status-neutral', this)">text-content-on-status-neutral</code>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ </div>
307
+ `,
308
+ }),
309
+ };