@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.
- package/README.md +78 -3
- package/config.d.ts +185 -1
- package/config.js +549 -6
- package/dist/system/index.d.ts +1788 -407
- package/dist/system/lib.js +48817 -24028
- package/package.json +3 -3
- package/src/__tests__/test-utils.ts +46 -0
- package/src/{primitives → components}/UiAccordion/UiAccordion.stories.ts +26 -2
- package/src/{primitives → components}/UiAccordion/UiAccordion.vue +1 -1
- package/src/{primitives → components}/UiAccordion/UiAccordionContent.vue +1 -1
- package/src/{primitives → components}/UiAccordion/UiAccordionItem.vue +1 -1
- package/src/{primitives → components}/UiAccordion/UiAccordionTrigger.vue +1 -1
- package/src/{primitives → components}/UiAccordion/types.ts +0 -1
- package/src/{primitives → components}/UiAlert/UiAlert.stories.ts +9 -9
- package/src/{primitives → components}/UiAlert/UiAlert.vue +1 -1
- package/src/{primitives → components}/UiAlert/UiAlertDescription.vue +1 -1
- package/src/{primitives → components}/UiAlert/UiAlertTitle.vue +1 -1
- package/src/{primitives → components}/UiAlert/types.ts +2 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialog.stories.ts +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialog.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogAction.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogCancel.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogContent.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogDescription.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogFooter.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogHeader.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogTitle.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/UiAlertDialogTrigger.vue +1 -1
- package/src/{primitives → components}/UiAlertDialog/index.ts +1 -0
- package/src/{primitives → components}/UiAlertDialog/types.ts +1 -1
- package/src/{primitives → components}/UiAvatar/UiAvatar.stories.ts +1 -1
- package/src/{primitives → components}/UiAvatar/UiAvatar.vue +1 -1
- package/src/{primitives → components}/UiAvatar/UiAvatarFallback.vue +1 -1
- package/src/{primitives → components}/UiAvatar/UiAvatarImage.vue +1 -1
- package/src/{primitives → components}/UiAvatar/index.ts +1 -0
- package/src/{primitives → components}/UiAvatar/types.ts +4 -1
- package/src/{primitives → components}/UiBadge/UiBadge.stories.ts +10 -10
- package/src/{primitives → components}/UiBadge/UiBadge.vue +1 -1
- package/src/{primitives → components}/UiBadge/__tests__/UiBadge.test.ts +3 -13
- package/src/{primitives → components}/UiBadge/types.ts +0 -1
- package/src/{primitives → components}/UiButton/UiButton.stories.ts +13 -13
- package/src/{primitives → components}/UiButton/UiButton.vue +2 -2
- package/src/{primitives → components}/UiButton/__tests__/UiButton.test.ts +1 -10
- package/src/{primitives → components}/UiButton/types.ts +0 -1
- package/src/{primitives → components}/UiCalendar/UiCalendar.stories.ts +5 -5
- package/src/{primitives → components}/UiCalendar/UiCalendar.vue +1 -1
- package/src/{primitives → components}/UiCalendar/types.ts +0 -1
- package/src/{primitives → components}/UiCard/UiCard.stories.ts +1 -1
- package/src/{primitives → components}/UiCard/UiCard.vue +1 -1
- package/src/{primitives → components}/UiCard/UiCardAction.vue +1 -1
- package/src/{primitives → components}/UiCard/UiCardContent.vue +1 -1
- package/src/{primitives → components}/UiCard/UiCardDescription.vue +1 -1
- package/src/{primitives → components}/UiCard/UiCardFooter.vue +1 -1
- package/src/{primitives → components}/UiCard/UiCardHeader.vue +1 -1
- package/src/{primitives → components}/UiCard/UiCardTitle.vue +1 -1
- package/src/components/UiCard/index.ts +10 -0
- package/src/{primitives → components}/UiCard/types.ts +0 -1
- package/src/{primitives → components}/UiCheckbox/UiCheckbox.stories.ts +1 -1
- package/src/{primitives → components}/UiCheckbox/UiCheckbox.vue +1 -1
- package/src/{primitives → components}/UiCheckbox/types.ts +0 -1
- package/src/{primitives → components}/UiDrawer/UiDrawer.stories.ts +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawer.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerClose.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerContent.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerDescription.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerFooter.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerHeader.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerTitle.vue +1 -1
- package/src/{primitives → components}/UiDrawer/UiDrawerTrigger.vue +1 -1
- package/src/{primitives → components}/UiDrawer/index.ts +1 -0
- package/src/{primitives → components}/UiDrawer/types.ts +31 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenu.stories.ts +3 -3
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenu.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuCheckboxItem.vue +2 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuContent.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuGroup.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuItem.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuLabel.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuRadioGroup.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuRadioItem.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSeparator.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuShortcut.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSub.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSubContent.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuSubTrigger.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/UiDropdownMenuTrigger.vue +1 -1
- package/src/{primitives → components}/UiDropdownMenu/types.ts +61 -1
- package/src/components/UiEmpty/UiEmpty.stories.ts +240 -0
- package/src/components/UiEmpty/UiEmpty.vue +35 -0
- package/src/components/UiEmpty/__tests__/UiEmpty.test.ts +67 -0
- package/src/components/UiEmpty/index.ts +2 -0
- package/src/components/UiEmpty/types.ts +26 -0
- package/src/{primitives → components}/UiField/UiField.stories.ts +1 -2
- package/src/{primitives → components}/UiField/UiField.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldContent.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldDescription.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldError.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldGroup.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldLabel.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldLegend.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldSeparator.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldSet.vue +1 -1
- package/src/{primitives → components}/UiField/UiFieldTitle.vue +1 -1
- package/src/{primitives → components}/UiField/index.ts +1 -0
- package/src/{primitives → components}/UiField/types.ts +7 -2
- package/src/components/UiIcon/UiIcon.stories.ts +140 -0
- package/src/components/UiIcon/UiIcon.vue +67 -0
- package/src/components/UiIcon/__tests__/UiIcon.test.ts +53 -0
- package/src/{primitives → components}/UiIcon/index.ts +1 -0
- package/src/components/UiIcon/types.ts +33 -0
- package/src/{primitives → components}/UiIconButton/UiIconButton.stories.ts +37 -37
- package/src/{primitives → components}/UiIconButton/UiIconButton.vue +2 -2
- package/src/{primitives → components}/UiIconButton/__tests__/UiIconButton.test.ts +2 -9
- package/src/{primitives → components}/UiIconButton/types.ts +0 -1
- package/src/{primitives → components}/UiInput/UiInput.stories.ts +1 -1
- package/src/{primitives → components}/UiInput/UiInput.vue +1 -1
- package/src/{primitives → components}/UiInput/types.ts +0 -1
- package/src/components/UiItem/UiItem.stories.ts +1029 -0
- package/src/components/UiItem/UiItem.vue +20 -0
- package/src/components/UiItem/UiItemMedia.vue +18 -0
- package/src/components/UiItem/__tests__/UiItem.test.ts +446 -0
- package/src/components/UiItem/constants.ts +13 -0
- package/src/components/UiItem/index.ts +15 -0
- package/src/components/UiItem/types.ts +114 -0
- package/src/components/UiKbd/UiKbd.stories.ts +546 -0
- package/src/components/UiKbd/UiKbd.vue +57 -0
- package/src/components/UiKbd/UiKbdGroup.vue +13 -0
- package/src/components/UiKbd/__tests__/UiKbd.test.ts +46 -0
- package/src/components/UiKbd/index.ts +3 -0
- package/src/components/UiKbd/types.ts +25 -0
- package/src/components/UiLabel/UiLabel.stories.ts +192 -0
- package/src/components/UiLabel/UiLabel.vue +16 -0
- package/src/components/UiLabel/__tests__/UiLabel.test.ts +43 -0
- package/src/components/UiLabel/index.ts +2 -0
- package/src/components/UiLabel/types.ts +15 -0
- package/src/components/UiListbox/UiListbox.stories.ts +607 -0
- package/src/components/UiListbox/UiListbox.vue +33 -0
- package/src/components/UiListbox/UiListboxContent.vue +13 -0
- package/src/components/UiListbox/UiListboxFilter.vue +16 -0
- package/src/components/UiListbox/UiListboxGroup.vue +13 -0
- package/src/components/UiListbox/UiListboxGroupLabel.vue +13 -0
- package/src/components/UiListbox/UiListboxItem.vue +21 -0
- package/src/components/UiListbox/UiListboxItemIndicator.vue +13 -0
- package/src/components/UiListbox/__tests__/UiListbox.test.ts +42 -0
- package/src/components/UiListbox/index.ts +8 -0
- package/src/components/UiListbox/types.ts +109 -0
- package/src/{primitives → components}/UiPopover/UiPopover.stories.ts +17 -1
- package/src/{primitives → components}/UiPopover/UiPopover.vue +1 -1
- package/src/{primitives → components}/UiPopover/UiPopoverContent.vue +1 -1
- package/src/{primitives → components}/UiPopover/UiPopoverTrigger.vue +1 -1
- package/src/{primitives → components}/UiPopover/index.ts +1 -0
- package/src/{primitives → components}/UiPopover/types.ts +13 -1
- package/src/{primitives → components}/UiProgress/UiProgress.stories.ts +1 -1
- package/src/{primitives → components}/UiProgress/UiProgress.vue +1 -1
- package/src/{primitives → components}/UiProgress/types.ts +3 -4
- package/src/{primitives → components}/UiRadioGroup/UiRadioGroup.stories.ts +1 -1
- package/src/{primitives → components}/UiRadioGroup/UiRadioGroup.vue +1 -1
- package/src/{primitives → components}/UiRadioGroup/UiRadioGroupItem.vue +1 -1
- package/src/{primitives → components}/UiRadioGroup/types.ts +6 -1
- package/src/{primitives → components}/UiRangeCalendar/UiRangeCalendar.stories.ts +1 -1
- package/src/{primitives → components}/UiRangeCalendar/UiRangeCalendar.vue +1 -1
- package/src/{primitives → components}/UiRangeCalendar/types.ts +0 -1
- package/src/{primitives → components}/UiSelect/UiSelect.stories.ts +20 -1
- package/src/{primitives → components}/UiSelect/UiSelect.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectContent.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectGroup.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectItem.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectLabel.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectSeparator.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectTrigger.vue +1 -1
- package/src/{primitives → components}/UiSelect/UiSelectValue.vue +1 -1
- package/src/{primitives → components}/UiSelect/types.ts +0 -1
- package/src/components/UiSeparator/UiSeparator.stories.ts +177 -0
- package/src/components/UiSeparator/UiSeparator.vue +17 -0
- package/src/components/UiSeparator/__tests__/UiSeparator.test.ts +34 -0
- package/src/components/UiSeparator/index.ts +2 -0
- package/src/components/UiSeparator/types.ts +22 -0
- package/src/components/UiSkeleton/UiSkeleton.stories.ts +247 -0
- package/src/components/UiSkeleton/UiSkeleton.vue +24 -0
- package/src/components/UiSkeleton/__tests__/UiSkeleton.test.ts +47 -0
- package/src/components/UiSkeleton/index.ts +2 -0
- package/src/components/UiSkeleton/types.ts +25 -0
- package/src/{primitives → components}/UiSlider/UiSlider.stories.ts +1 -1
- package/src/{primitives → components}/UiSlider/UiSlider.vue +1 -1
- package/src/{primitives → components}/UiSlider/__tests__/UiSlider.test.ts +1 -1
- package/src/{primitives → components}/UiSlider/index.ts +1 -0
- package/src/{primitives → components}/UiSlider/types.ts +0 -1
- package/src/{primitives → components}/UiSpinner/UiSpinner.stories.ts +1 -1
- package/src/{primitives → components}/UiSpinner/UiSpinner.vue +1 -1
- package/src/{primitives → components}/UiSpinner/types.ts +0 -1
- package/src/{primitives → components}/UiSwitch/UiSwitch.stories.ts +1 -1
- package/src/{primitives → components}/UiSwitch/UiSwitch.vue +1 -1
- package/src/{primitives → components}/UiSwitch/types.ts +0 -1
- package/src/{primitives → components}/UiTable/UiTable.stories.ts +3 -3
- package/src/{primitives → components}/UiTable/UiTable.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableBody.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableCaption.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableCell.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableEmpty.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableFooter.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableHead.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableHeader.vue +1 -1
- package/src/{primitives → components}/UiTable/UiTableRow.vue +1 -1
- package/src/{primitives → components}/UiTable/types.ts +0 -1
- package/src/{primitives → components}/UiTabs/UiTabs.stories.ts +22 -3
- package/src/{primitives → components}/UiTabs/UiTabs.vue +1 -1
- package/src/{primitives → components}/UiTabs/UiTabsContent.vue +1 -1
- package/src/{primitives → components}/UiTabs/UiTabsList.vue +1 -1
- package/src/{primitives → components}/UiTabs/UiTabsTrigger.vue +1 -1
- package/src/{primitives → components}/UiTabs/types.ts +0 -1
- package/src/components/UiTagsInput/UiTagsInput.stories.ts +538 -0
- package/src/components/UiTagsInput/UiTagsInput.vue +20 -0
- package/src/components/UiTagsInput/UiTagsInputInput.vue +14 -0
- package/src/components/UiTagsInput/UiTagsInputItem.vue +16 -0
- package/src/components/UiTagsInput/UiTagsInputItemDelete.vue +13 -0
- package/src/components/UiTagsInput/UiTagsInputItemText.vue +11 -0
- package/src/components/UiTagsInput/__tests__/UiTagsInput.test.ts +44 -0
- package/src/components/UiTagsInput/index.ts +6 -0
- package/src/components/UiTagsInput/types.ts +51 -0
- package/src/{primitives → components}/UiTextarea/UiTextarea.stories.ts +1 -1
- package/src/{primitives → components}/UiTextarea/UiTextarea.vue +1 -1
- package/src/{primitives → components}/UiTextarea/types.ts +0 -1
- package/src/components/UiToggle/UiToggle.stories.ts +370 -0
- package/src/components/UiToggle/UiToggle.vue +28 -0
- package/src/components/UiToggle/__tests__/UiToggle.test.ts +62 -0
- package/src/components/UiToggle/index.ts +2 -0
- package/src/components/UiToggle/types.ts +34 -0
- package/src/components/UiToggleGroup/UiToggleGroup.stories.ts +441 -0
- package/src/components/UiToggleGroup/UiToggleGroup.vue +52 -0
- package/src/components/UiToggleGroup/UiToggleGroupItem.vue +21 -0
- package/src/components/UiToggleGroup/__tests__/UiToggleGroup.test.ts +394 -0
- package/src/components/UiToggleGroup/index.ts +3 -0
- package/src/components/UiToggleGroup/types.ts +132 -0
- package/src/{primitives → components}/UiTooltip/UiTooltip.stories.ts +42 -42
- package/src/{primitives → components}/UiTooltip/UiTooltip.vue +1 -1
- package/src/components/UiTooltip/index.ts +10 -0
- package/src/{primitives → components}/UiTooltip/types.ts +0 -1
- package/src/{primitives/shadcn → components/core}/accordion/Accordion.vue +1 -1
- package/src/{primitives/shadcn → components/core}/accordion/AccordionItem.vue +1 -1
- package/src/{primitives/shadcn → components/core}/accordion/AccordionTrigger.vue +5 -4
- package/src/{primitives/shadcn → components/core}/alert/index.ts +2 -2
- package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogAction.vue +1 -1
- package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogCancel.vue +1 -1
- package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogContent.vue +2 -2
- package/src/{primitives/shadcn → components/core}/badge/index.ts +1 -1
- package/src/{primitives/shadcn → components/core}/button/index.ts +4 -4
- package/src/{primitives/shadcn → components/core}/calendar/Calendar.vue +1 -1
- package/src/{primitives/shadcn → components/core}/calendar/CalendarCellTrigger.vue +3 -3
- package/src/{primitives/shadcn → components/core}/calendar/CalendarNextButton.vue +3 -3
- package/src/{primitives/shadcn → components/core}/calendar/CalendarPrevButton.vue +3 -3
- package/src/{primitives/shadcn → components/core}/card/Card.vue +1 -1
- package/src/{primitives/shadcn → components/core}/checkbox/Checkbox.vue +3 -3
- package/src/{primitives/shadcn → components/core}/drawer/DrawerContent.vue +2 -2
- package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuCheckboxItem.vue +3 -3
- package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuItem.vue +1 -1
- package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
- package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSubTrigger.vue +3 -3
- package/src/{primitives/shadcn → components/core}/field/FieldError.vue +1 -1
- package/src/{primitives/shadcn → components/core}/field/FieldLabel.vue +1 -1
- package/src/{primitives/shadcn → components/core}/field/FieldSeparator.vue +1 -1
- package/src/{primitives/shadcn → components/core}/index.ts +1 -0
- package/src/{primitives/shadcn → components/core}/input/Input.vue +1 -1
- package/src/components/core/item/Item.vue +33 -0
- package/src/components/core/item/ItemActions.vue +14 -0
- package/src/components/core/item/ItemContent.vue +17 -0
- package/src/components/core/item/ItemDescription.vue +23 -0
- package/src/components/core/item/ItemFooter.vue +17 -0
- package/src/components/core/item/ItemGroup.vue +18 -0
- package/src/components/core/item/ItemHeader.vue +17 -0
- package/src/components/core/item/ItemMedia.vue +21 -0
- package/src/components/core/item/ItemSeparator.vue +12 -0
- package/src/components/core/item/ItemTitle.vue +17 -0
- package/src/components/core/item/index.ts +53 -0
- package/src/components/core/kbd/Kbd.vue +20 -0
- package/src/components/core/kbd/KbdGroup.vue +12 -0
- package/src/components/core/kbd/index.ts +2 -0
- package/src/components/core/listbox/Listbox.vue +23 -0
- package/src/components/core/listbox/ListboxContent.vue +26 -0
- package/src/components/core/listbox/ListboxFilter.vue +30 -0
- package/src/components/core/listbox/ListboxGroup.vue +26 -0
- package/src/components/core/listbox/ListboxGroupLabel.vue +26 -0
- package/src/components/core/listbox/ListboxItem.vue +32 -0
- package/src/components/core/listbox/ListboxItemIndicator.vue +40 -0
- package/src/components/core/listbox/index.ts +7 -0
- package/src/{primitives/shadcn → components/core}/native-select/NativeSelect.vue +6 -5
- package/src/{primitives/shadcn → components/core}/radio-group/RadioGroupItem.vue +3 -4
- package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendar.vue +1 -1
- package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarCellTrigger.vue +8 -6
- package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarHeading.vue +1 -1
- package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarNextButton.vue +3 -3
- package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarPrevButton.vue +3 -3
- package/src/{primitives/shadcn → components/core}/select/Select.vue +1 -1
- package/src/{primitives/shadcn → components/core}/select/SelectItem.vue +3 -3
- package/src/{primitives/shadcn → components/core}/select/SelectScrollDownButton.vue +2 -2
- package/src/{primitives/shadcn → components/core}/select/SelectScrollUpButton.vue +2 -2
- package/src/{primitives/shadcn → components/core}/select/SelectTrigger.vue +3 -3
- package/src/components/core/skeleton/Skeleton.vue +10 -0
- package/src/components/core/skeleton/index.ts +1 -0
- package/src/{primitives/shadcn → components/core}/spinner/Spinner.vue +5 -4
- package/src/{primitives/shadcn → components/core}/switch/Switch.vue +1 -1
- package/src/{primitives/shadcn → components/core}/table/TableRow.vue +4 -1
- package/src/{primitives/shadcn → components/core}/tabs/Tabs.vue +1 -1
- package/src/components/core/tabs/TabsTrigger.vue +28 -0
- package/src/components/core/tags-input/TagsInput.vue +33 -0
- package/src/components/core/tags-input/TagsInputInput.vue +24 -0
- package/src/components/core/tags-input/TagsInputItem.vue +31 -0
- package/src/components/core/tags-input/TagsInputItemDelete.vue +46 -0
- package/src/components/core/tags-input/TagsInputItemText.vue +24 -0
- package/src/components/core/tags-input/index.ts +5 -0
- package/src/{primitives/shadcn → components/core}/textarea/Textarea.vue +1 -1
- package/src/components/core/toggle/Toggle.vue +34 -0
- package/src/components/core/toggle/index.ts +26 -0
- package/src/components/core/toggle-group/ToggleGroup.vue +38 -0
- package/src/components/core/toggle-group/ToggleGroupItem.vue +37 -0
- package/src/components/core/toggle-group/context.ts +11 -0
- package/src/components/core/toggle-group/index.ts +28 -0
- package/src/{primitives/shadcn → components/core}/tooltip/TooltipContent.vue +1 -1
- package/src/{primitives → components}/index.ts +13 -5
- package/src/index.ts +6 -10
- package/src/{compositions → patterns}/UiDataTable/UiDataTable.stories.ts +13 -11
- package/src/{compositions → patterns}/UiDataTable/UiDataTable.vue +2 -2
- package/src/{compositions → patterns}/UiDataTable/UiDataTableColumnHeader.vue +27 -28
- package/src/{compositions → patterns}/UiDataTable/UiDataTablePagination.vue +10 -38
- package/src/{compositions → patterns}/UiDataTable/UiDataTableToolbar.vue +4 -29
- package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTable.test.ts +1 -1
- package/src/patterns/UiDataTable/types.ts +116 -0
- package/src/{compositions → patterns}/UiDatePicker/UiDatePicker.stories.ts +1 -1
- package/src/{compositions → patterns}/UiDatePicker/UiDatePicker.vue +7 -7
- package/src/{compositions → patterns}/UiDatePicker/types.ts +0 -1
- package/src/{foundations → patterns}/UiPlaceholder/types.ts +0 -1
- package/src/patterns/index.ts +7 -0
- package/src/templates/UiTemplatePlaceholder/types.ts +0 -1
- package/src/templates/index.ts +4 -5
- package/src/theme/Background.stories.ts +225 -0
- package/src/theme/Border.stories.ts +158 -0
- package/src/theme/Extended.stories.ts +268 -0
- package/src/theme/Flex.stories.ts +313 -0
- package/src/theme/Grid.stories.ts +302 -0
- package/src/theme/Overlay.stories.ts +124 -0
- package/src/theme/Theme.stories.ts +309 -0
- package/src/theme/Typography.stories.ts +230 -0
- package/tokens.json +11252 -0
- package/src/compositions/UiCompositionPlaceholder/UiCompositionPlaceholder.vue +0 -9
- package/src/compositions/UiCompositionPlaceholder/index.ts +0 -1
- package/src/compositions/UiCompositionPlaceholder/types.ts +0 -8
- package/src/compositions/UiDataTable/types.ts +0 -39
- package/src/compositions/index.ts +0 -8
- package/src/foundations/index.ts +0 -6
- package/src/primitives/UiCard/index.ts +0 -7
- package/src/primitives/UiIcon/UiIcon.stories.ts +0 -95
- package/src/primitives/UiIcon/UiIcon.vue +0 -14
- package/src/primitives/UiIcon/__tests__/UiIcon.test.ts +0 -24
- package/src/primitives/UiIcon/types.ts +0 -23
- package/src/primitives/UiTooltip/index.ts +0 -2
- package/src/primitives/shadcn/tabs/TabsTrigger.vue +0 -28
- /package/src/{primitives → components}/UiAccordion/__tests__/UiAccordion.test.ts +0 -0
- /package/src/{primitives → components}/UiAccordion/index.ts +0 -0
- /package/src/{primitives → components}/UiAlert/__tests__/UiAlert.test.ts +0 -0
- /package/src/{primitives → components}/UiAlert/constants.ts +0 -0
- /package/src/{primitives → components}/UiAlert/index.ts +0 -0
- /package/src/{primitives → components}/UiAlertDialog/__tests__/UiAlertDialog.test.ts +0 -0
- /package/src/{primitives → components}/UiAvatar/__tests__/UiAvatar.test.ts +0 -0
- /package/src/{primitives → components}/UiBadge/constants.ts +0 -0
- /package/src/{primitives → components}/UiBadge/index.ts +0 -0
- /package/src/{primitives → components}/UiButton/index.ts +0 -0
- /package/src/{primitives → components}/UiCalendar/__tests__/UiCalendar.test.ts +0 -0
- /package/src/{primitives → components}/UiCalendar/index.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCard.test.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCardAction.test.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCardContent.test.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCardDescription.test.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCardFooter.test.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCardHeader.test.ts +0 -0
- /package/src/{primitives → components}/UiCard/__tests__/UiCardTitle.test.ts +0 -0
- /package/src/{primitives → components}/UiCheckbox/__tests__/UiCheckbox.test.ts +0 -0
- /package/src/{primitives → components}/UiCheckbox/index.ts +0 -0
- /package/src/{primitives → components}/UiDrawer/__tests__/UiDrawer.test.ts +0 -0
- /package/src/{primitives → components}/UiDropdownMenu/__tests__/UiDropdownMenu.test.ts +0 -0
- /package/src/{primitives → components}/UiDropdownMenu/index.ts +0 -0
- /package/src/{primitives → components}/UiField/__tests__/UiFieldError.test.ts +0 -0
- /package/src/{primitives → components}/UiIconButton/index.ts +0 -0
- /package/src/{primitives → components}/UiInput/__tests__/UiInput.test.ts +0 -0
- /package/src/{primitives → components}/UiInput/index.ts +0 -0
- /package/src/{primitives → components}/UiPopover/__tests__/UiPopover.test.ts +0 -0
- /package/src/{primitives → components}/UiProgress/__tests__/UiProgress.test.ts +0 -0
- /package/src/{primitives → components}/UiProgress/index.ts +0 -0
- /package/src/{primitives → components}/UiRadioGroup/__tests__/UiRadioGroup.test.ts +0 -0
- /package/src/{primitives → components}/UiRadioGroup/index.ts +0 -0
- /package/src/{primitives → components}/UiRangeCalendar/__tests__/UiRangeCalendar.test.ts +0 -0
- /package/src/{primitives → components}/UiRangeCalendar/index.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelect.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectContent.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectGroup.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectItem.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectLabel.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectSeparator.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectTrigger.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/__tests__/UiSelectValue.test.ts +0 -0
- /package/src/{primitives → components}/UiSelect/index.ts +0 -0
- /package/src/{primitives → components}/UiSpinner/__tests__/UiSpinner.test.ts +0 -0
- /package/src/{primitives → components}/UiSpinner/index.ts +0 -0
- /package/src/{primitives → components}/UiSwitch/__tests__/UiSwitch.test.ts +0 -0
- /package/src/{primitives → components}/UiSwitch/index.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTable.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableBody.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableCaption.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableCell.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableEmpty.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableFooter.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableHead.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableHeader.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/__tests__/UiTableRow.test.ts +0 -0
- /package/src/{primitives → components}/UiTable/index.ts +0 -0
- /package/src/{primitives → components}/UiTabs/__tests__/UiTabs.test.ts +0 -0
- /package/src/{primitives → components}/UiTabs/index.ts +0 -0
- /package/src/{primitives → components}/UiTextarea/__tests__/UiTextarea.test.ts +0 -0
- /package/src/{primitives → components}/UiTextarea/index.ts +0 -0
- /package/src/{primitives → components}/UiTooltip/__tests__/UiTooltip.test.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/accordion/AccordionContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/accordion/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/alert/Alert.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert/AlertDescription.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert/AlertTitle.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialog.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogDescription.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogFooter.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogHeader.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogTitle.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/AlertDialogTrigger.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/alert-dialog/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/avatar/Avatar.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/avatar/AvatarFallback.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/avatar/AvatarImage.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/avatar/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/badge/Badge.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/button/Button.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarCell.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarGrid.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarGridBody.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarGridHead.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarGridRow.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarHeadCell.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarHeader.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/CalendarHeading.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/calendar/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/card/CardAction.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/card/CardContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/card/CardDescription.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/card/CardFooter.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/card/CardHeader.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/card/CardTitle.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/card/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/checkbox/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/Drawer.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/DrawerClose.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/DrawerDescription.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/DrawerFooter.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/DrawerHeader.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/DrawerTitle.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/DrawerTrigger.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/drawer/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenu.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuGroup.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuLabel.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuRadioGroup.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSeparator.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuShortcut.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSub.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuSubContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuTrigger.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/dropdown-menu/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/field/Field.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/FieldContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/FieldDescription.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/FieldGroup.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/FieldLegend.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/FieldSet.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/FieldTitle.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/field/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/icon/Icon.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/icon/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/input/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/label/Label.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/label/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/native-select/NativeSelectOptGroup.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/native-select/NativeSelectOption.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/native-select/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/popover/Popover.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/popover/PopoverContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/popover/PopoverTrigger.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/popover/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/progress/Progress.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/progress/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/radio-group/RadioGroup.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/radio-group/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarCell.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGrid.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGridBody.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGridHead.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarGridRow.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarHeadCell.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/RangeCalendarHeader.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/range-calendar/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/select/SelectContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/select/SelectGroup.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/select/SelectItemText.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/select/SelectLabel.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/select/SelectSeparator.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/select/SelectValue.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/select/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/separator/Separator.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/separator/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/slider/Slider.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/slider/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/spinner/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/switch/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/table/Table.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableBody.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableCaption.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableCell.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableEmpty.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableFooter.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableHead.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/TableHeader.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/table/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/table/utils.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/tabs/TabsContent.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/tabs/TabsList.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/tabs/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/textarea/index.ts +0 -0
- /package/src/{primitives/shadcn → components/core}/tooltip/Tooltip.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/tooltip/TooltipProvider.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/tooltip/TooltipTrigger.vue +0 -0
- /package/src/{primitives/shadcn → components/core}/tooltip/index.ts +0 -0
- /package/src/{compositions → patterns}/UiDataTable/UiDataTable.mock.ts +0 -0
- /package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTableColumnHeader.test.ts +0 -0
- /package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTablePagination.test.ts +0 -0
- /package/src/{compositions → patterns}/UiDataTable/__tests__/UiDataTableToolbar.test.ts +0 -0
- /package/src/{compositions → patterns}/UiDataTable/constants.ts +0 -0
- /package/src/{compositions → patterns}/UiDataTable/index.ts +0 -0
- /package/src/{compositions → patterns}/UiDatePicker/__tests__/UiDatePicker.test.ts +0 -0
- /package/src/{compositions → patterns}/UiDatePicker/index.ts +0 -0
- /package/src/{foundations → patterns}/UiPlaceholder/UiPlaceholder.vue +0 -0
- /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 '@/
|
|
4
|
-
import { UiIcon } from '@/
|
|
3
|
+
import { UiButton } from '@/components/UiButton';
|
|
4
|
+
import { UiIcon } from '@/components/UiIcon';
|
|
5
5
|
|
|
6
6
|
const meta: Meta<typeof UiTooltip> = {
|
|
7
|
-
title: '
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 '@/
|
|
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
|
|
@@ -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 {
|
|
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
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
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-
|
|
13
|
+
default: 'bg-popover text-popover-foreground',
|
|
14
14
|
destructive:
|
|
15
|
-
'text-destructive bg-
|
|
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 '@/
|
|
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 '@/
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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: '
|
|
18
|
-
link: 'text-
|
|
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 '@/
|
|
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 '@/
|
|
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-
|
|
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 {
|
|
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 '@/
|
|
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
|
-
<
|
|
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 {
|
|
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 '@/
|
|
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
|
-
<
|
|
30
|
+
<UiIcon name="chevron-left" :size="16" />
|
|
31
31
|
</slot>
|
|
32
32
|
</CalendarPrev>
|
|
33
33
|
</template>
|
|
@@ -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 {
|
|
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-
|
|
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
|
-
<
|
|
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-
|
|
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-
|
|
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
|
"
|
package/src/{primitives/shadcn → components/core}/dropdown-menu/DropdownMenuCheckboxItem.vue
RENAMED
|
@@ -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 {
|
|
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-
|
|
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
|
-
<
|
|
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-
|
|
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-
|
|
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 {
|
|
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-
|
|
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
|
-
<
|
|
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 '@/
|
|
4
|
+
import { Label } from '@/components/core/label';
|
|
5
5
|
|
|
6
6
|
const props = defineProps<{
|
|
7
7
|
class?: HTMLAttributes['class'];
|