@hina-ui/vue 1.0.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/dist/index.js +18436 -0
- package/dist/index.js.map +1 -0
- package/dist/types/components/accordion/Accordion.vue.d.ts +28 -0
- package/dist/types/components/accordion/Accordion.vue.d.ts.map +1 -0
- package/dist/types/components/accordion/AccordionContent.vue.d.ts +17 -0
- package/dist/types/components/accordion/AccordionContent.vue.d.ts.map +1 -0
- package/dist/types/components/accordion/AccordionItem.vue.d.ts +19 -0
- package/dist/types/components/accordion/AccordionItem.vue.d.ts.map +1 -0
- package/dist/types/components/accordion/AccordionTrigger.vue.d.ts +22 -0
- package/dist/types/components/accordion/AccordionTrigger.vue.d.ts.map +1 -0
- package/dist/types/components/accordion/accordion.variants.d.ts +6 -0
- package/dist/types/components/accordion/accordion.variants.d.ts.map +1 -0
- package/dist/types/components/alert/Alert.vue.d.ts +39 -0
- package/dist/types/components/alert/Alert.vue.d.ts.map +1 -0
- package/dist/types/components/alert-dialog/AlertDialog.vue.d.ts +40 -0
- package/dist/types/components/alert-dialog/AlertDialog.vue.d.ts.map +1 -0
- package/dist/types/components/anchor/Anchor.vue.d.ts +14 -0
- package/dist/types/components/anchor/Anchor.vue.d.ts.map +1 -0
- package/dist/types/components/anchor/composables/useScrollSpy.d.ts +13 -0
- package/dist/types/components/anchor/composables/useScrollSpy.d.ts.map +1 -0
- package/dist/types/components/app-shell/AppShell.vue.d.ts +220 -0
- package/dist/types/components/app-shell/AppShell.vue.d.ts.map +1 -0
- package/dist/types/components/app-shell/composables/useDesktopQuery.d.ts +2 -0
- package/dist/types/components/app-shell/composables/useDesktopQuery.d.ts.map +1 -0
- package/dist/types/components/aspect-ratio/AspectRatio.vue.d.ts +20 -0
- package/dist/types/components/aspect-ratio/AspectRatio.vue.d.ts.map +1 -0
- package/dist/types/components/avatar/Avatar.vue.d.ts +24 -0
- package/dist/types/components/avatar/Avatar.vue.d.ts.map +1 -0
- package/dist/types/components/avatar/AvatarGroup.vue.d.ts +10 -0
- package/dist/types/components/avatar/AvatarGroup.vue.d.ts.map +1 -0
- package/dist/types/components/avatar/avatar-group.variants.d.ts +22 -0
- package/dist/types/components/avatar/avatar-group.variants.d.ts.map +1 -0
- package/dist/types/components/avatar/avatar.variants.d.ts +22 -0
- package/dist/types/components/avatar/avatar.variants.d.ts.map +1 -0
- package/dist/types/components/avatar/context.d.ts +8 -0
- package/dist/types/components/avatar/context.d.ts.map +1 -0
- package/dist/types/components/badge/Badge.vue.d.ts +32 -0
- package/dist/types/components/badge/Badge.vue.d.ts.map +1 -0
- package/dist/types/components/badge/badge.variants.d.ts +94 -0
- package/dist/types/components/badge/badge.variants.d.ts.map +1 -0
- package/dist/types/components/banner/Banner.vue.d.ts +42 -0
- package/dist/types/components/banner/Banner.vue.d.ts.map +1 -0
- package/dist/types/components/banner/banner.variants.d.ts +47 -0
- package/dist/types/components/banner/banner.variants.d.ts.map +1 -0
- package/dist/types/components/banner/composables/useAutoplay.d.ts +7 -0
- package/dist/types/components/banner/composables/useAutoplay.d.ts.map +1 -0
- package/dist/types/components/banner/icons.d.ts +9 -0
- package/dist/types/components/banner/icons.d.ts.map +1 -0
- package/dist/types/components/banner/types.d.ts +8 -0
- package/dist/types/components/banner/types.d.ts.map +1 -0
- package/dist/types/components/banner/utils/direction.d.ts +3 -0
- package/dist/types/components/banner/utils/direction.d.ts.map +1 -0
- package/dist/types/components/blockquote/Blockquote.vue.d.ts +18 -0
- package/dist/types/components/blockquote/Blockquote.vue.d.ts.map +1 -0
- package/dist/types/components/breadcrumb/Breadcrumb.vue.d.ts +18 -0
- package/dist/types/components/breadcrumb/Breadcrumb.vue.d.ts.map +1 -0
- package/dist/types/components/breadcrumb/BreadcrumbItem.vue.d.ts +24 -0
- package/dist/types/components/breadcrumb/BreadcrumbItem.vue.d.ts.map +1 -0
- package/dist/types/components/breadcrumb/BreadcrumbSeparator.vue.d.ts +17 -0
- package/dist/types/components/breadcrumb/BreadcrumbSeparator.vue.d.ts.map +1 -0
- package/dist/types/components/button/Button.vue.d.ts +39 -0
- package/dist/types/components/button/Button.vue.d.ts.map +1 -0
- package/dist/types/components/button/IconSlot.vue.d.ts +19 -0
- package/dist/types/components/button/IconSlot.vue.d.ts.map +1 -0
- package/dist/types/components/button/button.variants.d.ts +104 -0
- package/dist/types/components/button/button.variants.d.ts.map +1 -0
- package/dist/types/components/button-group/ButtonGroup.vue.d.ts +26 -0
- package/dist/types/components/button-group/ButtonGroup.vue.d.ts.map +1 -0
- package/dist/types/components/button-group/button-group.variants.d.ts +40 -0
- package/dist/types/components/button-group/button-group.variants.d.ts.map +1 -0
- package/dist/types/components/calendar/Calendar.vue.d.ts +33 -0
- package/dist/types/components/calendar/Calendar.vue.d.ts.map +1 -0
- package/dist/types/components/calendar/CalendarHeader.vue.d.ts +20 -0
- package/dist/types/components/calendar/CalendarHeader.vue.d.ts.map +1 -0
- package/dist/types/components/calendar/CalendarLevels.vue.d.ts +43 -0
- package/dist/types/components/calendar/CalendarLevels.vue.d.ts.map +1 -0
- package/dist/types/components/calendar/calendar.variants.d.ts +74 -0
- package/dist/types/components/calendar/calendar.variants.d.ts.map +1 -0
- package/dist/types/components/calendar/composables/useCalendarLevels.d.ts +15 -0
- package/dist/types/components/calendar/composables/useCalendarLevels.d.ts.map +1 -0
- package/dist/types/components/calendar/utils/format.d.ts +7 -0
- package/dist/types/components/calendar/utils/format.d.ts.map +1 -0
- package/dist/types/components/callout/Callout.vue.d.ts +26 -0
- package/dist/types/components/callout/Callout.vue.d.ts.map +1 -0
- package/dist/types/components/callout/callout.variants.d.ts +59 -0
- package/dist/types/components/callout/callout.variants.d.ts.map +1 -0
- package/dist/types/components/callout/icons.d.ts +9 -0
- package/dist/types/components/callout/icons.d.ts.map +1 -0
- package/dist/types/components/card/Card.vue.d.ts +22 -0
- package/dist/types/components/card/Card.vue.d.ts.map +1 -0
- package/dist/types/components/card/card.variants.d.ts +19 -0
- package/dist/types/components/card/card.variants.d.ts.map +1 -0
- package/dist/types/components/center/Center.vue.d.ts +22 -0
- package/dist/types/components/center/Center.vue.d.ts.map +1 -0
- package/dist/types/components/checkbox/Checkbox.vue.d.ts +30 -0
- package/dist/types/components/checkbox/Checkbox.vue.d.ts.map +1 -0
- package/dist/types/components/checkbox/checkbox.variants.d.ts +74 -0
- package/dist/types/components/checkbox/checkbox.variants.d.ts.map +1 -0
- package/dist/types/components/checkbox-group/CheckboxGroup.vue.d.ts +34 -0
- package/dist/types/components/checkbox-group/CheckboxGroup.vue.d.ts.map +1 -0
- package/dist/types/components/checkbox-group/checkbox-group.variants.d.ts +19 -0
- package/dist/types/components/checkbox-group/checkbox-group.variants.d.ts.map +1 -0
- package/dist/types/components/chip/Chip.vue.d.ts +40 -0
- package/dist/types/components/chip/Chip.vue.d.ts.map +1 -0
- package/dist/types/components/chip/IconSlot.vue.d.ts +20 -0
- package/dist/types/components/chip/IconSlot.vue.d.ts.map +1 -0
- package/dist/types/components/chip/chip.variants.d.ts +102 -0
- package/dist/types/components/chip/chip.variants.d.ts.map +1 -0
- package/dist/types/components/chip/composables/useChipRoot.d.ts +28 -0
- package/dist/types/components/chip/composables/useChipRoot.d.ts.map +1 -0
- package/dist/types/components/close-button/CloseButton.vue.d.ts +15 -0
- package/dist/types/components/close-button/CloseButton.vue.d.ts.map +1 -0
- package/dist/types/components/code/Code.vue.d.ts +17 -0
- package/dist/types/components/code/Code.vue.d.ts.map +1 -0
- package/dist/types/components/code-block/CodeBlock.vue.d.ts +14 -0
- package/dist/types/components/code-block/CodeBlock.vue.d.ts.map +1 -0
- package/dist/types/components/code-block/highlighter.d.ts +4 -0
- package/dist/types/components/code-block/highlighter.d.ts.map +1 -0
- package/dist/types/components/collapsible/Collapsible.vue.d.ts +24 -0
- package/dist/types/components/collapsible/Collapsible.vue.d.ts.map +1 -0
- package/dist/types/components/collapsible/CollapsibleContent.vue.d.ts +17 -0
- package/dist/types/components/collapsible/CollapsibleContent.vue.d.ts.map +1 -0
- package/dist/types/components/collapsible/CollapsibleTrigger.vue.d.ts +21 -0
- package/dist/types/components/collapsible/CollapsibleTrigger.vue.d.ts.map +1 -0
- package/dist/types/components/combobox/Combobox.vue.d.ts +44 -0
- package/dist/types/components/combobox/Combobox.vue.d.ts.map +1 -0
- package/dist/types/components/combobox/ComboboxList.vue.d.ts +20 -0
- package/dist/types/components/combobox/ComboboxList.vue.d.ts.map +1 -0
- package/dist/types/components/combobox/combobox.variants.d.ts +3 -0
- package/dist/types/components/combobox/combobox.variants.d.ts.map +1 -0
- package/dist/types/components/command-palette/CommandPalette.vue.d.ts +37 -0
- package/dist/types/components/command-palette/CommandPalette.vue.d.ts.map +1 -0
- package/dist/types/components/command-palette/CommandPaletteItem.vue.d.ts +12 -0
- package/dist/types/components/command-palette/CommandPaletteItem.vue.d.ts.map +1 -0
- package/dist/types/components/command-palette/CommandPalettePanel.vue.d.ts +34 -0
- package/dist/types/components/command-palette/CommandPalettePanel.vue.d.ts.map +1 -0
- package/dist/types/components/command-palette/command-palette.variants.d.ts +22 -0
- package/dist/types/components/command-palette/command-palette.variants.d.ts.map +1 -0
- package/dist/types/components/command-palette/composables/useHotkey.d.ts +3 -0
- package/dist/types/components/command-palette/composables/useHotkey.d.ts.map +1 -0
- package/dist/types/components/command-palette/types.d.ts +18 -0
- package/dist/types/components/command-palette/types.d.ts.map +1 -0
- package/dist/types/components/command-palette/utils/hotkey.d.ts +9 -0
- package/dist/types/components/command-palette/utils/hotkey.d.ts.map +1 -0
- package/dist/types/components/command-palette/utils/match.d.ts +13 -0
- package/dist/types/components/command-palette/utils/match.d.ts.map +1 -0
- package/dist/types/components/container/Container.vue.d.ts +22 -0
- package/dist/types/components/container/Container.vue.d.ts.map +1 -0
- package/dist/types/components/container/container.variants.d.ts +25 -0
- package/dist/types/components/container/container.variants.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenu.vue.d.ts +29 -0
- package/dist/types/components/context-menu/ContextMenu.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuCheckboxItem.vue.d.ts +29 -0
- package/dist/types/components/context-menu/ContextMenuCheckboxItem.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuGroup.vue.d.ts +17 -0
- package/dist/types/components/context-menu/ContextMenuGroup.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuItem.vue.d.ts +29 -0
- package/dist/types/components/context-menu/ContextMenuItem.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuLabel.vue.d.ts +17 -0
- package/dist/types/components/context-menu/ContextMenuLabel.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuRadioGroup.vue.d.ts +21 -0
- package/dist/types/components/context-menu/ContextMenuRadioGroup.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuRadioItem.vue.d.ts +20 -0
- package/dist/types/components/context-menu/ContextMenuRadioItem.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuSeparator.vue.d.ts +7 -0
- package/dist/types/components/context-menu/ContextMenuSeparator.vue.d.ts.map +1 -0
- package/dist/types/components/context-menu/ContextMenuSub.vue.d.ts +32 -0
- package/dist/types/components/context-menu/ContextMenuSub.vue.d.ts.map +1 -0
- package/dist/types/components/copy-button/CopyButton.vue.d.ts +21 -0
- package/dist/types/components/copy-button/CopyButton.vue.d.ts.map +1 -0
- package/dist/types/components/copy-button/composables/useCopy.d.ts +6 -0
- package/dist/types/components/copy-button/composables/useCopy.d.ts.map +1 -0
- package/dist/types/components/date-field/DateField.vue.d.ts +50 -0
- package/dist/types/components/date-field/DateField.vue.d.ts.map +1 -0
- package/dist/types/components/date-field/composables/useSegmentFocus.d.ts +6 -0
- package/dist/types/components/date-field/composables/useSegmentFocus.d.ts.map +1 -0
- package/dist/types/components/date-field/date-field.variants.d.ts +42 -0
- package/dist/types/components/date-field/date-field.variants.d.ts.map +1 -0
- package/dist/types/components/date-picker/DatePicker.vue.d.ts +48 -0
- package/dist/types/components/date-picker/DatePicker.vue.d.ts.map +1 -0
- package/dist/types/components/date-picker/date-picker.variants.d.ts +2 -0
- package/dist/types/components/date-picker/date-picker.variants.d.ts.map +1 -0
- package/dist/types/components/date-range-field/DateRangeField.vue.d.ts +50 -0
- package/dist/types/components/date-range-field/DateRangeField.vue.d.ts.map +1 -0
- package/dist/types/components/date-range-field/date-range-field.variants.d.ts +2 -0
- package/dist/types/components/date-range-field/date-range-field.variants.d.ts.map +1 -0
- package/dist/types/components/date-range-field/utils/validity.d.ts +12 -0
- package/dist/types/components/date-range-field/utils/validity.d.ts.map +1 -0
- package/dist/types/components/date-range-picker/DateRangePicker.vue.d.ts +50 -0
- package/dist/types/components/date-range-picker/DateRangePicker.vue.d.ts.map +1 -0
- package/dist/types/components/date-time-picker/DateTimePicker.vue.d.ts +53 -0
- package/dist/types/components/date-time-picker/DateTimePicker.vue.d.ts.map +1 -0
- package/dist/types/components/date-time-picker/date-time-picker.variants.d.ts +2 -0
- package/dist/types/components/date-time-picker/date-time-picker.variants.d.ts.map +1 -0
- package/dist/types/components/description-list/DescriptionDetails.vue.d.ts +17 -0
- package/dist/types/components/description-list/DescriptionDetails.vue.d.ts.map +1 -0
- package/dist/types/components/description-list/DescriptionList.vue.d.ts +17 -0
- package/dist/types/components/description-list/DescriptionList.vue.d.ts.map +1 -0
- package/dist/types/components/description-list/DescriptionTerm.vue.d.ts +17 -0
- package/dist/types/components/description-list/DescriptionTerm.vue.d.ts.map +1 -0
- package/dist/types/components/dialog/Dialog.vue.d.ts +42 -0
- package/dist/types/components/dialog/Dialog.vue.d.ts.map +1 -0
- package/dist/types/components/dialog/dialog.variants.d.ts +56 -0
- package/dist/types/components/dialog/dialog.variants.d.ts.map +1 -0
- package/dist/types/components/disclosure-icon/DisclosureIcon.vue.d.ts +23 -0
- package/dist/types/components/disclosure-icon/DisclosureIcon.vue.d.ts.map +1 -0
- package/dist/types/components/disclosure-icon/disclosure-icon.variants.d.ts +34 -0
- package/dist/types/components/disclosure-icon/disclosure-icon.variants.d.ts.map +1 -0
- package/dist/types/components/divider/Divider.vue.d.ts +22 -0
- package/dist/types/components/divider/Divider.vue.d.ts.map +1 -0
- package/dist/types/components/drawer/Drawer.vue.d.ts +43 -0
- package/dist/types/components/drawer/Drawer.vue.d.ts.map +1 -0
- package/dist/types/components/drawer/drawer.variants.d.ts +34 -0
- package/dist/types/components/drawer/drawer.variants.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenu.vue.d.ts +35 -0
- package/dist/types/components/dropdown-menu/DropdownMenu.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +29 -0
- package/dist/types/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuGroup.vue.d.ts +17 -0
- package/dist/types/components/dropdown-menu/DropdownMenuGroup.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuItem.vue.d.ts +29 -0
- package/dist/types/components/dropdown-menu/DropdownMenuItem.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +17 -0
- package/dist/types/components/dropdown-menu/DropdownMenuLabel.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +21 -0
- package/dist/types/components/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +20 -0
- package/dist/types/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +7 -0
- package/dist/types/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenuSub.vue.d.ts +32 -0
- package/dist/types/components/dropdown-menu/DropdownMenuSub.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/dropdown-menu.variants.d.ts +19 -0
- package/dist/types/components/dropdown-menu/dropdown-menu.variants.d.ts.map +1 -0
- package/dist/types/components/empty/Empty.vue.d.ts +29 -0
- package/dist/types/components/empty/Empty.vue.d.ts.map +1 -0
- package/dist/types/components/empty/empty.variants.d.ts +81 -0
- package/dist/types/components/empty/empty.variants.d.ts.map +1 -0
- package/dist/types/components/file-upload/FileUpload.vue.d.ts +49 -0
- package/dist/types/components/file-upload/FileUpload.vue.d.ts.map +1 -0
- package/dist/types/components/file-upload/composables/useFileDrop.d.ts +10 -0
- package/dist/types/components/file-upload/composables/useFileDrop.d.ts.map +1 -0
- package/dist/types/components/file-upload/composables/useObjectUrls.d.ts +5 -0
- package/dist/types/components/file-upload/composables/useObjectUrls.d.ts.map +1 -0
- package/dist/types/components/file-upload/file-upload.variants.d.ts +9 -0
- package/dist/types/components/file-upload/file-upload.variants.d.ts.map +1 -0
- package/dist/types/components/file-upload/utils/select.d.ts +17 -0
- package/dist/types/components/file-upload/utils/select.d.ts.map +1 -0
- package/dist/types/components/file-upload/utils/size.d.ts +2 -0
- package/dist/types/components/file-upload/utils/size.d.ts.map +1 -0
- package/dist/types/components/flex/Flex.vue.d.ts +26 -0
- package/dist/types/components/flex/Flex.vue.d.ts.map +1 -0
- package/dist/types/components/flex/flex.variants.d.ts +106 -0
- package/dist/types/components/flex/flex.variants.d.ts.map +1 -0
- package/dist/types/components/form/Form.vue.d.ts +39 -0
- package/dist/types/components/form/Form.vue.d.ts.map +1 -0
- package/dist/types/components/form/composables/useForm.d.ts +22 -0
- package/dist/types/components/form/composables/useForm.d.ts.map +1 -0
- package/dist/types/components/form/context.d.ts +10 -0
- package/dist/types/components/form/context.d.ts.map +1 -0
- package/dist/types/components/form/form.variants.d.ts +2 -0
- package/dist/types/components/form/form.variants.d.ts.map +1 -0
- package/dist/types/components/form/standard-schema.d.ts +23 -0
- package/dist/types/components/form/standard-schema.d.ts.map +1 -0
- package/dist/types/components/form/utils/errors.d.ts +7 -0
- package/dist/types/components/form/utils/errors.d.ts.map +1 -0
- package/dist/types/components/form/utils/focus.d.ts +2 -0
- package/dist/types/components/form/utils/focus.d.ts.map +1 -0
- package/dist/types/components/form/utils/values.d.ts +3 -0
- package/dist/types/components/form/utils/values.d.ts.map +1 -0
- package/dist/types/components/form-field/FormField.vue.d.ts +27 -0
- package/dist/types/components/form-field/FormField.vue.d.ts.map +1 -0
- package/dist/types/components/form-field/context.d.ts +27 -0
- package/dist/types/components/form-field/context.d.ts.map +1 -0
- package/dist/types/components/form-field/form-field.variants.d.ts +18 -0
- package/dist/types/components/form-field/form-field.variants.d.ts.map +1 -0
- package/dist/types/components/form-layout/FormLayout.vue.d.ts +28 -0
- package/dist/types/components/form-layout/FormLayout.vue.d.ts.map +1 -0
- package/dist/types/components/form-layout/form-layout.variants.d.ts +37 -0
- package/dist/types/components/form-layout/form-layout.variants.d.ts.map +1 -0
- package/dist/types/components/grid/Grid.vue.d.ts +23 -0
- package/dist/types/components/grid/Grid.vue.d.ts.map +1 -0
- package/dist/types/components/grid/grid.variants.d.ts +73 -0
- package/dist/types/components/grid/grid.variants.d.ts.map +1 -0
- package/dist/types/components/heading/Heading.vue.d.ts +24 -0
- package/dist/types/components/heading/Heading.vue.d.ts.map +1 -0
- package/dist/types/components/heading/heading.variants.d.ts +58 -0
- package/dist/types/components/heading/heading.variants.d.ts.map +1 -0
- package/dist/types/components/highlight/Highlight.vue.d.ts +12 -0
- package/dist/types/components/highlight/Highlight.vue.d.ts.map +1 -0
- package/dist/types/components/hover-card/HoverCard.vue.d.ts +40 -0
- package/dist/types/components/hover-card/HoverCard.vue.d.ts.map +1 -0
- package/dist/types/components/icon-button/IconButton.vue.d.ts +36 -0
- package/dist/types/components/icon-button/IconButton.vue.d.ts.map +1 -0
- package/dist/types/components/image/Image.vue.d.ts +54 -0
- package/dist/types/components/image/Image.vue.d.ts.map +1 -0
- package/dist/types/components/image/ImageGroup.vue.d.ts +17 -0
- package/dist/types/components/image/ImageGroup.vue.d.ts.map +1 -0
- package/dist/types/components/image/composables/useImage.d.ts +24 -0
- package/dist/types/components/image/composables/useImage.d.ts.map +1 -0
- package/dist/types/components/image/context.d.ts +9 -0
- package/dist/types/components/image/context.d.ts.map +1 -0
- package/dist/types/components/image/image.variants.d.ts +28 -0
- package/dist/types/components/image/image.variants.d.ts.map +1 -0
- package/dist/types/components/image/resolver.d.ts +5 -0
- package/dist/types/components/image/resolver.d.ts.map +1 -0
- package/dist/types/components/indicator/Indicator.vue.d.ts +15 -0
- package/dist/types/components/indicator/Indicator.vue.d.ts.map +1 -0
- package/dist/types/components/indicator/indicator.variants.d.ts +46 -0
- package/dist/types/components/indicator/indicator.variants.d.ts.map +1 -0
- package/dist/types/components/inline/Inline.vue.d.ts +26 -0
- package/dist/types/components/inline/Inline.vue.d.ts.map +1 -0
- package/dist/types/components/inline/inline.variants.d.ts +88 -0
- package/dist/types/components/inline/inline.variants.d.ts.map +1 -0
- package/dist/types/components/input/Input.vue.d.ts +39 -0
- package/dist/types/components/input/Input.vue.d.ts.map +1 -0
- package/dist/types/components/input/InputAction.vue.d.ts +19 -0
- package/dist/types/components/input/InputAction.vue.d.ts.map +1 -0
- package/dist/types/components/input/InputBase.vue.d.ts +42 -0
- package/dist/types/components/input/InputBase.vue.d.ts.map +1 -0
- package/dist/types/components/input/input.variants.d.ts +61 -0
- package/dist/types/components/input/input.variants.d.ts.map +1 -0
- package/dist/types/components/input-group/InputGroup.vue.d.ts +22 -0
- package/dist/types/components/input-group/InputGroup.vue.d.ts.map +1 -0
- package/dist/types/components/input-group/InputGroupAddon.vue.d.ts +17 -0
- package/dist/types/components/input-group/InputGroupAddon.vue.d.ts.map +1 -0
- package/dist/types/components/input-group/InputGroupScope.vue.d.ts +20 -0
- package/dist/types/components/input-group/InputGroupScope.vue.d.ts.map +1 -0
- package/dist/types/components/input-group/context.d.ts +10 -0
- package/dist/types/components/input-group/context.d.ts.map +1 -0
- package/dist/types/components/input-group/input-group.variants.d.ts +3 -0
- package/dist/types/components/input-group/input-group.variants.d.ts.map +1 -0
- package/dist/types/components/kbd/Kbd.vue.d.ts +17 -0
- package/dist/types/components/kbd/Kbd.vue.d.ts.map +1 -0
- package/dist/types/components/lightbox/Lightbox.vue.d.ts +21 -0
- package/dist/types/components/lightbox/Lightbox.vue.d.ts.map +1 -0
- package/dist/types/components/lightbox/LightboxChrome.vue.d.ts +36 -0
- package/dist/types/components/lightbox/LightboxChrome.vue.d.ts.map +1 -0
- package/dist/types/components/lightbox/LightboxStrip.vue.d.ts +29 -0
- package/dist/types/components/lightbox/LightboxStrip.vue.d.ts.map +1 -0
- package/dist/types/components/lightbox/LightboxThumbs.vue.d.ts +13 -0
- package/dist/types/components/lightbox/LightboxThumbs.vue.d.ts.map +1 -0
- package/dist/types/components/lightbox/LightboxToolbar.vue.d.ts +24 -0
- package/dist/types/components/lightbox/LightboxToolbar.vue.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxFrames.d.ts +12 -0
- package/dist/types/components/lightbox/composables/useLightboxFrames.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxGesture.d.ts +27 -0
- package/dist/types/components/lightbox/composables/useLightboxGesture.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxHint.d.ts +14 -0
- package/dist/types/components/lightbox/composables/useLightboxHint.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxLarge.d.ts +8 -0
- package/dist/types/components/lightbox/composables/useLightboxLarge.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxMotion.d.ts +25 -0
- package/dist/types/components/lightbox/composables/useLightboxMotion.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxPaging.d.ts +18 -0
- package/dist/types/components/lightbox/composables/useLightboxPaging.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxPhase.d.ts +20 -0
- package/dist/types/components/lightbox/composables/useLightboxPhase.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxPose.d.ts +7 -0
- package/dist/types/components/lightbox/composables/useLightboxPose.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxRotation.d.ts +18 -0
- package/dist/types/components/lightbox/composables/useLightboxRotation.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxSlides.d.ts +9 -0
- package/dist/types/components/lightbox/composables/useLightboxSlides.d.ts.map +1 -0
- package/dist/types/components/lightbox/composables/useLightboxZoom.d.ts +28 -0
- package/dist/types/components/lightbox/composables/useLightboxZoom.d.ts.map +1 -0
- package/dist/types/components/lightbox/types.d.ts +10 -0
- package/dist/types/components/lightbox/types.d.ts.map +1 -0
- package/dist/types/components/lightbox/utils/download.d.ts +3 -0
- package/dist/types/components/lightbox/utils/download.d.ts.map +1 -0
- package/dist/types/components/lightbox/utils/gesture.d.ts +26 -0
- package/dist/types/components/lightbox/utils/gesture.d.ts.map +1 -0
- package/dist/types/components/lightbox/utils/paging.d.ts +9 -0
- package/dist/types/components/lightbox/utils/paging.d.ts.map +1 -0
- package/dist/types/components/lightbox/utils/pose.d.ts +38 -0
- package/dist/types/components/lightbox/utils/pose.d.ts.map +1 -0
- package/dist/types/components/lightbox/utils/zoom.d.ts +36 -0
- package/dist/types/components/lightbox/utils/zoom.d.ts.map +1 -0
- package/dist/types/components/link/Link.vue.d.ts +24 -0
- package/dist/types/components/link/Link.vue.d.ts.map +1 -0
- package/dist/types/components/link/link.variants.d.ts +19 -0
- package/dist/types/components/link/link.variants.d.ts.map +1 -0
- package/dist/types/components/list/List.vue.d.ts +18 -0
- package/dist/types/components/list/List.vue.d.ts.map +1 -0
- package/dist/types/components/list/ListItem.vue.d.ts +17 -0
- package/dist/types/components/list/ListItem.vue.d.ts.map +1 -0
- package/dist/types/components/listbox/Listbox.vue.d.ts +35 -0
- package/dist/types/components/listbox/Listbox.vue.d.ts.map +1 -0
- package/dist/types/components/listbox/listbox.variants.d.ts +20 -0
- package/dist/types/components/listbox/listbox.variants.d.ts.map +1 -0
- package/dist/types/components/loading-overlay/LoadingOverlay.vue.d.ts +30 -0
- package/dist/types/components/loading-overlay/LoadingOverlay.vue.d.ts.map +1 -0
- package/dist/types/components/loading-overlay/composables/useDelayedVisible.d.ts +7 -0
- package/dist/types/components/loading-overlay/composables/useDelayedVisible.d.ts.map +1 -0
- package/dist/types/components/loading-overlay/loading-overlay.variants.d.ts +35 -0
- package/dist/types/components/loading-overlay/loading-overlay.variants.d.ts.map +1 -0
- package/dist/types/components/mark/Mark.vue.d.ts +17 -0
- package/dist/types/components/mark/Mark.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/Menubar.vue.d.ts +29 -0
- package/dist/types/components/menubar/Menubar.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarCheckboxItem.vue.d.ts +29 -0
- package/dist/types/components/menubar/MenubarCheckboxItem.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarGroup.vue.d.ts +17 -0
- package/dist/types/components/menubar/MenubarGroup.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarItem.vue.d.ts +29 -0
- package/dist/types/components/menubar/MenubarItem.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarLabel.vue.d.ts +17 -0
- package/dist/types/components/menubar/MenubarLabel.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarMenu.vue.d.ts +22 -0
- package/dist/types/components/menubar/MenubarMenu.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarRadioGroup.vue.d.ts +21 -0
- package/dist/types/components/menubar/MenubarRadioGroup.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarRadioItem.vue.d.ts +20 -0
- package/dist/types/components/menubar/MenubarRadioItem.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarSeparator.vue.d.ts +7 -0
- package/dist/types/components/menubar/MenubarSeparator.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/MenubarSub.vue.d.ts +32 -0
- package/dist/types/components/menubar/MenubarSub.vue.d.ts.map +1 -0
- package/dist/types/components/menubar/menubar.variants.d.ts +4 -0
- package/dist/types/components/menubar/menubar.variants.d.ts.map +1 -0
- package/dist/types/components/meter-group/MeterGroup.vue.d.ts +19 -0
- package/dist/types/components/meter-group/MeterGroup.vue.d.ts.map +1 -0
- package/dist/types/components/meter-group/meter-group.variants.d.ts +34 -0
- package/dist/types/components/meter-group/meter-group.variants.d.ts.map +1 -0
- package/dist/types/components/meter-group/types.d.ts +8 -0
- package/dist/types/components/meter-group/types.d.ts.map +1 -0
- package/dist/types/components/meter-group/utils/tones.d.ts +4 -0
- package/dist/types/components/meter-group/utils/tones.d.ts.map +1 -0
- package/dist/types/components/multi-combobox/MultiCombobox.vue.d.ts +48 -0
- package/dist/types/components/multi-combobox/MultiCombobox.vue.d.ts.map +1 -0
- package/dist/types/components/multi-combobox/multi-combobox.variants.d.ts +15 -0
- package/dist/types/components/multi-combobox/multi-combobox.variants.d.ts.map +1 -0
- package/dist/types/components/multi-select/MultiSelect.vue.d.ts +47 -0
- package/dist/types/components/multi-select/MultiSelect.vue.d.ts.map +1 -0
- package/dist/types/components/multi-select/multi-select.variants.d.ts +3 -0
- package/dist/types/components/multi-select/multi-select.variants.d.ts.map +1 -0
- package/dist/types/components/nav-link/NavLink.vue.d.ts +27 -0
- package/dist/types/components/nav-link/NavLink.vue.d.ts.map +1 -0
- package/dist/types/components/nav-link/nav-link.variants.d.ts +35 -0
- package/dist/types/components/nav-link/nav-link.variants.d.ts.map +1 -0
- package/dist/types/components/number-format/NumberFormat.vue.d.ts +13 -0
- package/dist/types/components/number-format/NumberFormat.vue.d.ts.map +1 -0
- package/dist/types/components/number-input/NumberInput.vue.d.ts +30 -0
- package/dist/types/components/number-input/NumberInput.vue.d.ts.map +1 -0
- package/dist/types/components/number-input/number-input.variants.d.ts +33 -0
- package/dist/types/components/number-input/number-input.variants.d.ts.map +1 -0
- package/dist/types/components/page/Page.vue.d.ts +21 -0
- package/dist/types/components/page/Page.vue.d.ts.map +1 -0
- package/dist/types/components/page/PageAside.vue.d.ts +18 -0
- package/dist/types/components/page/PageAside.vue.d.ts.map +1 -0
- package/dist/types/components/page/PageBody.vue.d.ts +17 -0
- package/dist/types/components/page/PageBody.vue.d.ts.map +1 -0
- package/dist/types/components/page/PageHeader.vue.d.ts +22 -0
- package/dist/types/components/page/PageHeader.vue.d.ts.map +1 -0
- package/dist/types/components/panel/Panel.vue.d.ts +33 -0
- package/dist/types/components/panel/Panel.vue.d.ts.map +1 -0
- package/dist/types/components/panel/panel.variants.d.ts +20 -0
- package/dist/types/components/panel/panel.variants.d.ts.map +1 -0
- package/dist/types/components/password-input/PasswordInput.vue.d.ts +23 -0
- package/dist/types/components/password-input/PasswordInput.vue.d.ts.map +1 -0
- package/dist/types/components/pin-input/PinInput.vue.d.ts +32 -0
- package/dist/types/components/pin-input/PinInput.vue.d.ts.map +1 -0
- package/dist/types/components/pin-input/pin-input.variants.d.ts +35 -0
- package/dist/types/components/pin-input/pin-input.variants.d.ts.map +1 -0
- package/dist/types/components/popconfirm/Popconfirm.vue.d.ts +43 -0
- package/dist/types/components/popconfirm/Popconfirm.vue.d.ts.map +1 -0
- package/dist/types/components/popover/Popover.vue.d.ts +36 -0
- package/dist/types/components/popover/Popover.vue.d.ts.map +1 -0
- package/dist/types/components/prev-next/PrevNext.vue.d.ts +18 -0
- package/dist/types/components/prev-next/PrevNext.vue.d.ts.map +1 -0
- package/dist/types/components/prev-next/PrevNextLink.vue.d.ts +23 -0
- package/dist/types/components/prev-next/PrevNextLink.vue.d.ts.map +1 -0
- package/dist/types/components/prev-next/prev-next.variants.d.ts +35 -0
- package/dist/types/components/prev-next/prev-next.variants.d.ts.map +1 -0
- package/dist/types/components/progress/Progress.vue.d.ts +20 -0
- package/dist/types/components/progress/Progress.vue.d.ts.map +1 -0
- package/dist/types/components/progress/composables/useProgressValue.d.ts +16 -0
- package/dist/types/components/progress/composables/useProgressValue.d.ts.map +1 -0
- package/dist/types/components/progress/progress.variants.d.ts +53 -0
- package/dist/types/components/progress/progress.variants.d.ts.map +1 -0
- package/dist/types/components/prose/Prose.vue.d.ts +20 -0
- package/dist/types/components/prose/Prose.vue.d.ts.map +1 -0
- package/dist/types/components/radio-group/RadioGroup.vue.d.ts +34 -0
- package/dist/types/components/radio-group/RadioGroup.vue.d.ts.map +1 -0
- package/dist/types/components/radio-group/radio-group.variants.d.ts +2 -0
- package/dist/types/components/radio-group/radio-group.variants.d.ts.map +1 -0
- package/dist/types/components/range-calendar/RangeCalendar.vue.d.ts +35 -0
- package/dist/types/components/range-calendar/RangeCalendar.vue.d.ts.map +1 -0
- package/dist/types/components/range-calendar/composables/useRangeAnchor.d.ts +7 -0
- package/dist/types/components/range-calendar/composables/useRangeAnchor.d.ts.map +1 -0
- package/dist/types/components/range-calendar/range-calendar.variants.d.ts +3 -0
- package/dist/types/components/range-calendar/range-calendar.variants.d.ts.map +1 -0
- package/dist/types/components/range-calendar/utils/limit.d.ts +3 -0
- package/dist/types/components/range-calendar/utils/limit.d.ts.map +1 -0
- package/dist/types/components/range-slider/RangeSlider.vue.d.ts +36 -0
- package/dist/types/components/range-slider/RangeSlider.vue.d.ts.map +1 -0
- package/dist/types/components/rating/Rating.vue.d.ts +27 -0
- package/dist/types/components/rating/Rating.vue.d.ts.map +1 -0
- package/dist/types/components/rating/rating.variants.d.ts +41 -0
- package/dist/types/components/rating/rating.variants.d.ts.map +1 -0
- package/dist/types/components/rating/utils/fill.d.ts +2 -0
- package/dist/types/components/rating/utils/fill.d.ts.map +1 -0
- package/dist/types/components/result/Result.vue.d.ts +29 -0
- package/dist/types/components/result/Result.vue.d.ts.map +1 -0
- package/dist/types/components/result/result.variants.d.ts +40 -0
- package/dist/types/components/result/result.variants.d.ts.map +1 -0
- package/dist/types/components/ring-progress/RingProgress.vue.d.ts +30 -0
- package/dist/types/components/ring-progress/RingProgress.vue.d.ts.map +1 -0
- package/dist/types/components/ring-progress/ring-progress.variants.d.ts +55 -0
- package/dist/types/components/ring-progress/ring-progress.variants.d.ts.map +1 -0
- package/dist/types/components/ripple/Ripple.vue.d.ts +7 -0
- package/dist/types/components/ripple/Ripple.vue.d.ts.map +1 -0
- package/dist/types/components/ripple/useRipple.d.ts +5 -0
- package/dist/types/components/ripple/useRipple.d.ts.map +1 -0
- package/dist/types/components/scroll-area/ScrollArea.vue.d.ts +34 -0
- package/dist/types/components/scroll-area/ScrollArea.vue.d.ts.map +1 -0
- package/dist/types/components/scroll-area/composables/useEdgeShadow.d.ts +12 -0
- package/dist/types/components/scroll-area/composables/useEdgeShadow.d.ts.map +1 -0
- package/dist/types/components/scroll-area/composables/useLayerLock.d.ts +3 -0
- package/dist/types/components/scroll-area/composables/useLayerLock.d.ts.map +1 -0
- package/dist/types/components/scroll-area/composables/useOverlayScrollbars.d.ts +10 -0
- package/dist/types/components/scroll-area/composables/useOverlayScrollbars.d.ts.map +1 -0
- package/dist/types/components/scroll-area/composables/useWheelRedirect.d.ts +3 -0
- package/dist/types/components/scroll-area/composables/useWheelRedirect.d.ts.map +1 -0
- package/dist/types/components/scroll-area/scroll-restore.d.ts +35 -0
- package/dist/types/components/scroll-area/scroll-restore.d.ts.map +1 -0
- package/dist/types/components/search-input/SearchInput.vue.d.ts +27 -0
- package/dist/types/components/search-input/SearchInput.vue.d.ts.map +1 -0
- package/dist/types/components/section/Section.vue.d.ts +19 -0
- package/dist/types/components/section/Section.vue.d.ts.map +1 -0
- package/dist/types/components/segmented-control/SegmentedControl.vue.d.ts +36 -0
- package/dist/types/components/segmented-control/SegmentedControl.vue.d.ts.map +1 -0
- package/dist/types/components/segmented-control/segmented-control.variants.d.ts +61 -0
- package/dist/types/components/segmented-control/segmented-control.variants.d.ts.map +1 -0
- package/dist/types/components/select/Select.vue.d.ts +43 -0
- package/dist/types/components/select/Select.vue.d.ts.map +1 -0
- package/dist/types/components/select/SelectList.vue.d.ts +20 -0
- package/dist/types/components/select/SelectList.vue.d.ts.map +1 -0
- package/dist/types/components/select/select.variants.d.ts +8 -0
- package/dist/types/components/select/select.variants.d.ts.map +1 -0
- package/dist/types/components/select/types.d.ts +14 -0
- package/dist/types/components/select/types.d.ts.map +1 -0
- package/dist/types/components/sheet/Sheet.vue.d.ts +41 -0
- package/dist/types/components/sheet/Sheet.vue.d.ts.map +1 -0
- package/dist/types/components/sheet/composables/useDragToDismiss.d.ts +13 -0
- package/dist/types/components/sheet/composables/useDragToDismiss.d.ts.map +1 -0
- package/dist/types/components/sheet/sheet.variants.d.ts +4 -0
- package/dist/types/components/sheet/sheet.variants.d.ts.map +1 -0
- package/dist/types/components/sidebar/DrawerScope.d.ts +5 -0
- package/dist/types/components/sidebar/DrawerScope.d.ts.map +1 -0
- package/dist/types/components/sidebar/Sidebar.vue.d.ts +26 -0
- package/dist/types/components/sidebar/Sidebar.vue.d.ts.map +1 -0
- package/dist/types/components/sidebar/SidebarGroup.vue.d.ts +21 -0
- package/dist/types/components/sidebar/SidebarGroup.vue.d.ts.map +1 -0
- package/dist/types/components/sidebar/SidebarTrigger.vue.d.ts +7 -0
- package/dist/types/components/sidebar/SidebarTrigger.vue.d.ts.map +1 -0
- package/dist/types/components/sidebar/context.d.ts +11 -0
- package/dist/types/components/sidebar/context.d.ts.map +1 -0
- package/dist/types/components/simple-grid/SimpleGrid.vue.d.ts +26 -0
- package/dist/types/components/simple-grid/SimpleGrid.vue.d.ts.map +1 -0
- package/dist/types/components/simple-grid/simple-grid.variants.d.ts +43 -0
- package/dist/types/components/simple-grid/simple-grid.variants.d.ts.map +1 -0
- package/dist/types/components/skeleton/Skeleton.vue.d.ts +24 -0
- package/dist/types/components/skeleton/Skeleton.vue.d.ts.map +1 -0
- package/dist/types/components/slider/Slider.vue.d.ts +34 -0
- package/dist/types/components/slider/Slider.vue.d.ts.map +1 -0
- package/dist/types/components/slider/SliderHandle.vue.d.ts +10 -0
- package/dist/types/components/slider/SliderHandle.vue.d.ts.map +1 -0
- package/dist/types/components/slider/SliderMarks.vue.d.ts +13 -0
- package/dist/types/components/slider/SliderMarks.vue.d.ts.map +1 -0
- package/dist/types/components/slider/composables/useSliderChrome.d.ts +16 -0
- package/dist/types/components/slider/composables/useSliderChrome.d.ts.map +1 -0
- package/dist/types/components/slider/slider.variants.d.ts +30 -0
- package/dist/types/components/slider/slider.variants.d.ts.map +1 -0
- package/dist/types/components/space/Space.vue.d.ts +9 -0
- package/dist/types/components/space/Space.vue.d.ts.map +1 -0
- package/dist/types/components/space/space.variants.d.ts +31 -0
- package/dist/types/components/space/space.variants.d.ts.map +1 -0
- package/dist/types/components/spinner/Spinner.vue.d.ts +11 -0
- package/dist/types/components/spinner/Spinner.vue.d.ts.map +1 -0
- package/dist/types/components/spinner/spinner.variants.d.ts +22 -0
- package/dist/types/components/spinner/spinner.variants.d.ts.map +1 -0
- package/dist/types/components/splitter/Splitter.vue.d.ts +21 -0
- package/dist/types/components/splitter/Splitter.vue.d.ts.map +1 -0
- package/dist/types/components/splitter/SplitterHandle.vue.d.ts +8 -0
- package/dist/types/components/splitter/SplitterHandle.vue.d.ts.map +1 -0
- package/dist/types/components/splitter/SplitterPanel.vue.d.ts +22 -0
- package/dist/types/components/splitter/SplitterPanel.vue.d.ts.map +1 -0
- package/dist/types/components/spoiler/Spoiler.vue.d.ts +29 -0
- package/dist/types/components/spoiler/Spoiler.vue.d.ts.map +1 -0
- package/dist/types/components/spoiler/SpoilerPainter.d.ts +35 -0
- package/dist/types/components/spoiler/SpoilerPainter.d.ts.map +1 -0
- package/dist/types/components/spoiler/composables/useReveal.d.ts +17 -0
- package/dist/types/components/spoiler/composables/useReveal.d.ts.map +1 -0
- package/dist/types/components/spoiler/composables/useSpoiler.d.ts +5 -0
- package/dist/types/components/spoiler/composables/useSpoiler.d.ts.map +1 -0
- package/dist/types/components/spoiler/utils/irisOrigin.d.ts +6 -0
- package/dist/types/components/spoiler/utils/irisOrigin.d.ts.map +1 -0
- package/dist/types/components/spoiler/worklet.d.ts +2 -0
- package/dist/types/components/spoiler/worklet.d.ts.map +1 -0
- package/dist/types/components/stack/Stack.vue.d.ts +24 -0
- package/dist/types/components/stack/Stack.vue.d.ts.map +1 -0
- package/dist/types/components/stack/stack.variants.d.ts +73 -0
- package/dist/types/components/stack/stack.variants.d.ts.map +1 -0
- package/dist/types/components/statistic/Statistic.vue.d.ts +37 -0
- package/dist/types/components/statistic/Statistic.vue.d.ts.map +1 -0
- package/dist/types/components/statistic/statistic.variants.d.ts +46 -0
- package/dist/types/components/statistic/statistic.variants.d.ts.map +1 -0
- package/dist/types/components/switch/Switch.vue.d.ts +30 -0
- package/dist/types/components/switch/Switch.vue.d.ts.map +1 -0
- package/dist/types/components/switch/switch.variants.d.ts +23 -0
- package/dist/types/components/switch/switch.variants.d.ts.map +1 -0
- package/dist/types/components/table/Table.vue.d.ts +26 -0
- package/dist/types/components/table/Table.vue.d.ts.map +1 -0
- package/dist/types/components/table/TableBody.vue.d.ts +17 -0
- package/dist/types/components/table/TableBody.vue.d.ts.map +1 -0
- package/dist/types/components/table/TableCell.vue.d.ts +22 -0
- package/dist/types/components/table/TableCell.vue.d.ts.map +1 -0
- package/dist/types/components/table/TableHead.vue.d.ts +24 -0
- package/dist/types/components/table/TableHead.vue.d.ts.map +1 -0
- package/dist/types/components/table/TableHeader.vue.d.ts +17 -0
- package/dist/types/components/table/TableHeader.vue.d.ts.map +1 -0
- package/dist/types/components/table/TableRow.vue.d.ts +17 -0
- package/dist/types/components/table/TableRow.vue.d.ts.map +1 -0
- package/dist/types/components/table/table.variants.d.ts +87 -0
- package/dist/types/components/table/table.variants.d.ts.map +1 -0
- package/dist/types/components/tabs/Tabs.vue.d.ts +33 -0
- package/dist/types/components/tabs/Tabs.vue.d.ts.map +1 -0
- package/dist/types/components/tabs/TabsContent.vue.d.ts +18 -0
- package/dist/types/components/tabs/TabsContent.vue.d.ts.map +1 -0
- package/dist/types/components/tabs/TabsList.vue.d.ts +18 -0
- package/dist/types/components/tabs/TabsList.vue.d.ts.map +1 -0
- package/dist/types/components/tabs/TabsTrigger.vue.d.ts +19 -0
- package/dist/types/components/tabs/TabsTrigger.vue.d.ts.map +1 -0
- package/dist/types/components/tabs/context.d.ts +10 -0
- package/dist/types/components/tabs/context.d.ts.map +1 -0
- package/dist/types/components/tabs/tabs.variants.d.ts +130 -0
- package/dist/types/components/tabs/tabs.variants.d.ts.map +1 -0
- package/dist/types/components/tag/Tag.vue.d.ts +25 -0
- package/dist/types/components/tag/Tag.vue.d.ts.map +1 -0
- package/dist/types/components/tag/tag.variants.d.ts +67 -0
- package/dist/types/components/tag/tag.variants.d.ts.map +1 -0
- package/dist/types/components/tags-input/TagsInput.vue.d.ts +38 -0
- package/dist/types/components/tags-input/TagsInput.vue.d.ts.map +1 -0
- package/dist/types/components/tags-input/TagsInputChip.vue.d.ts +14 -0
- package/dist/types/components/tags-input/TagsInputChip.vue.d.ts.map +1 -0
- package/dist/types/components/tags-input/tags-input.variants.d.ts +92 -0
- package/dist/types/components/tags-input/tags-input.variants.d.ts.map +1 -0
- package/dist/types/components/text/Text.vue.d.ts +25 -0
- package/dist/types/components/text/Text.vue.d.ts.map +1 -0
- package/dist/types/components/text/text.variants.d.ts +91 -0
- package/dist/types/components/text/text.variants.d.ts.map +1 -0
- package/dist/types/components/textarea/Textarea.vue.d.ts +28 -0
- package/dist/types/components/textarea/Textarea.vue.d.ts.map +1 -0
- package/dist/types/components/textarea/textarea.variants.d.ts +59 -0
- package/dist/types/components/textarea/textarea.variants.d.ts.map +1 -0
- package/dist/types/components/time/Time.vue.d.ts +11 -0
- package/dist/types/components/time/Time.vue.d.ts.map +1 -0
- package/dist/types/components/time/composables/useNow.d.ts +2 -0
- package/dist/types/components/time/composables/useNow.d.ts.map +1 -0
- package/dist/types/components/time/utils/relativeTime.d.ts +2 -0
- package/dist/types/components/time/utils/relativeTime.d.ts.map +1 -0
- package/dist/types/components/time-field/TimeField.vue.d.ts +51 -0
- package/dist/types/components/time-field/TimeField.vue.d.ts.map +1 -0
- package/dist/types/components/toast/Toaster.vue.d.ts +10 -0
- package/dist/types/components/toast/Toaster.vue.d.ts.map +1 -0
- package/dist/types/components/toast/composables/useToastExpand.d.ts +6 -0
- package/dist/types/components/toast/composables/useToastExpand.d.ts.map +1 -0
- package/dist/types/components/toast/composables/useToastLayout.d.ts +16 -0
- package/dist/types/components/toast/composables/useToastLayout.d.ts.map +1 -0
- package/dist/types/components/toast/store.d.ts +68 -0
- package/dist/types/components/toast/store.d.ts.map +1 -0
- package/dist/types/components/toggle/Toggle.vue.d.ts +42 -0
- package/dist/types/components/toggle/Toggle.vue.d.ts.map +1 -0
- package/dist/types/components/toggle/toggle.variants.d.ts +167 -0
- package/dist/types/components/toggle/toggle.variants.d.ts.map +1 -0
- package/dist/types/components/tooltip/Tooltip.vue.d.ts +31 -0
- package/dist/types/components/tooltip/Tooltip.vue.d.ts.map +1 -0
- package/dist/types/components/tooltip/TooltipProvider.vue.d.ts +21 -0
- package/dist/types/components/tooltip/TooltipProvider.vue.d.ts.map +1 -0
- package/dist/types/components/tree-select/TreeSelect.vue.d.ts +40 -0
- package/dist/types/components/tree-select/TreeSelect.vue.d.ts.map +1 -0
- package/dist/types/components/tree-select/tree-select.variants.d.ts +5 -0
- package/dist/types/components/tree-select/tree-select.variants.d.ts.map +1 -0
- package/dist/types/components/tree-select/types.d.ts +10 -0
- package/dist/types/components/tree-select/types.d.ts.map +1 -0
- package/dist/types/components/visually-hidden/VisuallyHidden.vue.d.ts +14 -0
- package/dist/types/components/visually-hidden/VisuallyHidden.vue.d.ts.map +1 -0
- package/dist/types/index.d.ts +223 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/a11y.d.ts +3 -0
- package/dist/types/lib/a11y.d.ts.map +1 -0
- package/dist/types/lib/caret.d.ts +6 -0
- package/dist/types/lib/caret.d.ts.map +1 -0
- package/dist/types/lib/cn.d.ts +3 -0
- package/dist/types/lib/cn.d.ts.map +1 -0
- package/dist/types/lib/collapse.d.ts +14 -0
- package/dist/types/lib/collapse.d.ts.map +1 -0
- package/dist/types/lib/date.d.ts +28 -0
- package/dist/types/lib/date.d.ts.map +1 -0
- package/dist/types/lib/dev.d.ts +3 -0
- package/dist/types/lib/dev.d.ts.map +1 -0
- package/dist/types/lib/field-focus.d.ts +6 -0
- package/dist/types/lib/field-focus.d.ts.map +1 -0
- package/dist/types/lib/passthrough.d.ts +4 -0
- package/dist/types/lib/passthrough.d.ts.map +1 -0
- package/dist/types/lib/tv.d.ts +3 -0
- package/dist/types/lib/tv.d.ts.map +1 -0
- package/dist/types/lib/tw-merge.d.ts +16 -0
- package/dist/types/lib/tw-merge.d.ts.map +1 -0
- package/dist/types/locale/en-US.d.ts +3 -0
- package/dist/types/locale/en-US.d.ts.map +1 -0
- package/dist/types/locale/index.d.ts +8 -0
- package/dist/types/locale/index.d.ts.map +1 -0
- package/dist/types/locale/types.d.ts +154 -0
- package/dist/types/locale/types.d.ts.map +1 -0
- package/dist/types/locale/zh-CN.d.ts +3 -0
- package/dist/types/locale/zh-CN.d.ts.map +1 -0
- package/dist/types/motion.d.ts +53 -0
- package/dist/types/motion.d.ts.map +1 -0
- package/dist/types/singletons.d.ts +3 -0
- package/dist/types/singletons.d.ts.map +1 -0
- package/package.json +85 -0
- package/src/components/accordion/Accordion.vue +37 -0
- package/src/components/accordion/AccordionContent.vue +29 -0
- package/src/components/accordion/AccordionItem.vue +18 -0
- package/src/components/accordion/AccordionTrigger.vue +40 -0
- package/src/components/accordion/accordion.variants.ts +19 -0
- package/src/components/alert/Alert.vue +70 -0
- package/src/components/alert-dialog/AlertDialog.vue +117 -0
- package/src/components/anchor/Anchor.vue +76 -0
- package/src/components/anchor/composables/useScrollSpy.ts +69 -0
- package/src/components/app-shell/AppShell.vue +102 -0
- package/src/components/app-shell/composables/useDesktopQuery.ts +20 -0
- package/src/components/aspect-ratio/AspectRatio.vue +29 -0
- package/src/components/avatar/Avatar.vue +57 -0
- package/src/components/avatar/AvatarGroup.vue +40 -0
- package/src/components/avatar/avatar-group.variants.ts +15 -0
- package/src/components/avatar/avatar.variants.ts +18 -0
- package/src/components/avatar/context.ts +16 -0
- package/src/components/badge/Badge.vue +67 -0
- package/src/components/badge/badge.variants.ts +54 -0
- package/src/components/banner/Banner.vue +179 -0
- package/src/components/banner/banner.variants.ts +52 -0
- package/src/components/banner/composables/useAutoplay.ts +31 -0
- package/src/components/banner/icons.ts +7 -0
- package/src/components/banner/types.ts +9 -0
- package/src/components/banner/utils/direction.ts +10 -0
- package/src/components/blockquote/Blockquote.vue +14 -0
- package/src/components/breadcrumb/Breadcrumb.vue +21 -0
- package/src/components/breadcrumb/BreadcrumbItem.vue +38 -0
- package/src/components/breadcrumb/BreadcrumbSeparator.vue +16 -0
- package/src/components/button/Button.vue +132 -0
- package/src/components/button/IconSlot.vue +36 -0
- package/src/components/button/button.variants.ts +113 -0
- package/src/components/button-group/ButtonGroup.vue +37 -0
- package/src/components/button-group/button-group.variants.ts +51 -0
- package/src/components/calendar/Calendar.vue +159 -0
- package/src/components/calendar/CalendarHeader.vue +51 -0
- package/src/components/calendar/CalendarLevels.vue +174 -0
- package/src/components/calendar/calendar.variants.ts +83 -0
- package/src/components/calendar/composables/useCalendarLevels.ts +52 -0
- package/src/components/calendar/utils/format.ts +23 -0
- package/src/components/callout/Callout.vue +34 -0
- package/src/components/callout/callout.variants.ts +33 -0
- package/src/components/callout/icons.ts +10 -0
- package/src/components/card/Card.vue +27 -0
- package/src/components/card/card.variants.ts +16 -0
- package/src/components/center/Center.vue +23 -0
- package/src/components/checkbox/Checkbox.vue +83 -0
- package/src/components/checkbox/checkbox.variants.ts +70 -0
- package/src/components/checkbox-group/CheckboxGroup.vue +58 -0
- package/src/components/checkbox-group/checkbox-group.variants.ts +16 -0
- package/src/components/chip/Chip.vue +107 -0
- package/src/components/chip/IconSlot.vue +46 -0
- package/src/components/chip/chip.variants.ts +67 -0
- package/src/components/chip/composables/useChipRoot.ts +20 -0
- package/src/components/close-button/CloseButton.vue +41 -0
- package/src/components/code/Code.vue +11 -0
- package/src/components/code-block/CodeBlock.vue +63 -0
- package/src/components/code-block/highlighter.ts +98 -0
- package/src/components/collapsible/Collapsible.vue +25 -0
- package/src/components/collapsible/CollapsibleContent.vue +31 -0
- package/src/components/collapsible/CollapsibleTrigger.vue +37 -0
- package/src/components/combobox/Combobox.vue +145 -0
- package/src/components/combobox/ComboboxList.vue +98 -0
- package/src/components/combobox/combobox.variants.ts +12 -0
- package/src/components/command-palette/CommandPalette.vue +97 -0
- package/src/components/command-palette/CommandPaletteItem.vue +49 -0
- package/src/components/command-palette/CommandPalettePanel.vue +95 -0
- package/src/components/command-palette/command-palette.variants.ts +45 -0
- package/src/components/command-palette/composables/useHotkey.ts +17 -0
- package/src/components/command-palette/types.ts +23 -0
- package/src/components/command-palette/utils/hotkey.ts +27 -0
- package/src/components/command-palette/utils/match.ts +76 -0
- package/src/components/container/Container.vue +21 -0
- package/src/components/container/container.variants.ts +18 -0
- package/src/components/context-menu/ContextMenu.vue +43 -0
- package/src/components/context-menu/ContextMenuCheckboxItem.vue +35 -0
- package/src/components/context-menu/ContextMenuGroup.vue +14 -0
- package/src/components/context-menu/ContextMenuItem.vue +30 -0
- package/src/components/context-menu/ContextMenuLabel.vue +14 -0
- package/src/components/context-menu/ContextMenuRadioGroup.vue +13 -0
- package/src/components/context-menu/ContextMenuRadioItem.vue +32 -0
- package/src/components/context-menu/ContextMenuSeparator.vue +12 -0
- package/src/components/context-menu/ContextMenuSub.vue +54 -0
- package/src/components/copy-button/CopyButton.vue +61 -0
- package/src/components/copy-button/composables/useCopy.ts +31 -0
- package/src/components/date-field/DateField.vue +155 -0
- package/src/components/date-field/composables/useSegmentFocus.ts +22 -0
- package/src/components/date-field/date-field.variants.ts +33 -0
- package/src/components/date-picker/DatePicker.vue +135 -0
- package/src/components/date-picker/date-picker.variants.ts +5 -0
- package/src/components/date-range-field/DateRangeField.vue +171 -0
- package/src/components/date-range-field/date-range-field.variants.ts +5 -0
- package/src/components/date-range-field/utils/validity.ts +21 -0
- package/src/components/date-range-picker/DateRangePicker.vue +138 -0
- package/src/components/date-time-picker/DateTimePicker.vue +174 -0
- package/src/components/date-time-picker/date-time-picker.variants.ts +5 -0
- package/src/components/description-list/DescriptionDetails.vue +13 -0
- package/src/components/description-list/DescriptionList.vue +13 -0
- package/src/components/description-list/DescriptionTerm.vue +13 -0
- package/src/components/dialog/Dialog.vue +103 -0
- package/src/components/dialog/dialog.variants.ts +32 -0
- package/src/components/disclosure-icon/DisclosureIcon.vue +36 -0
- package/src/components/disclosure-icon/disclosure-icon.variants.ts +25 -0
- package/src/components/divider/Divider.vue +43 -0
- package/src/components/drawer/Drawer.vue +95 -0
- package/src/components/drawer/drawer.variants.ts +19 -0
- package/src/components/dropdown-menu/DropdownMenu.vue +67 -0
- package/src/components/dropdown-menu/DropdownMenuCheckboxItem.vue +35 -0
- package/src/components/dropdown-menu/DropdownMenuGroup.vue +14 -0
- package/src/components/dropdown-menu/DropdownMenuItem.vue +30 -0
- package/src/components/dropdown-menu/DropdownMenuLabel.vue +14 -0
- package/src/components/dropdown-menu/DropdownMenuRadioGroup.vue +13 -0
- package/src/components/dropdown-menu/DropdownMenuRadioItem.vue +32 -0
- package/src/components/dropdown-menu/DropdownMenuSeparator.vue +12 -0
- package/src/components/dropdown-menu/DropdownMenuSub.vue +54 -0
- package/src/components/dropdown-menu/dropdown-menu.variants.ts +19 -0
- package/src/components/empty/Empty.vue +50 -0
- package/src/components/empty/empty.variants.ts +67 -0
- package/src/components/file-upload/FileUpload.vue +186 -0
- package/src/components/file-upload/composables/useFileDrop.ts +42 -0
- package/src/components/file-upload/composables/useObjectUrls.ts +33 -0
- package/src/components/file-upload/file-upload.variants.ts +31 -0
- package/src/components/file-upload/utils/select.ts +58 -0
- package/src/components/file-upload/utils/size.ts +16 -0
- package/src/components/flex/Flex.vue +28 -0
- package/src/components/flex/flex.variants.ts +49 -0
- package/src/components/form/Form.vue +70 -0
- package/src/components/form/composables/useForm.ts +108 -0
- package/src/components/form/context.ts +18 -0
- package/src/components/form/form.variants.ts +5 -0
- package/src/components/form/standard-schema.ts +26 -0
- package/src/components/form/utils/errors.ts +48 -0
- package/src/components/form/utils/focus.ts +10 -0
- package/src/components/form/utils/values.ts +23 -0
- package/src/components/form-field/FormField.vue +103 -0
- package/src/components/form-field/context.ts +62 -0
- package/src/components/form-field/form-field.variants.ts +26 -0
- package/src/components/form-layout/FormLayout.vue +59 -0
- package/src/components/form-layout/form-layout.variants.ts +33 -0
- package/src/components/grid/Grid.vue +22 -0
- package/src/components/grid/grid.variants.ts +35 -0
- package/src/components/heading/Heading.vue +49 -0
- package/src/components/heading/heading.variants.ts +30 -0
- package/src/components/highlight/Highlight.vue +31 -0
- package/src/components/hover-card/HoverCard.vue +53 -0
- package/src/components/icon-button/IconButton.vue +60 -0
- package/src/components/image/Image.vue +138 -0
- package/src/components/image/ImageGroup.vue +43 -0
- package/src/components/image/composables/useImage.ts +153 -0
- package/src/components/image/context.ts +18 -0
- package/src/components/image/image.variants.ts +17 -0
- package/src/components/image/resolver.ts +15 -0
- package/src/components/indicator/Indicator.vue +37 -0
- package/src/components/indicator/indicator.variants.ts +26 -0
- package/src/components/inline/Inline.vue +24 -0
- package/src/components/inline/inline.variants.ts +41 -0
- package/src/components/input/Input.vue +43 -0
- package/src/components/input/InputAction.vue +26 -0
- package/src/components/input/InputBase.vue +129 -0
- package/src/components/input/input.variants.ts +68 -0
- package/src/components/input-group/InputGroup.vue +35 -0
- package/src/components/input-group/InputGroupAddon.vue +14 -0
- package/src/components/input-group/InputGroupScope.vue +23 -0
- package/src/components/input-group/context.ts +18 -0
- package/src/components/input-group/input-group.variants.ts +13 -0
- package/src/components/kbd/Kbd.vue +11 -0
- package/src/components/lightbox/Lightbox.vue +249 -0
- package/src/components/lightbox/LightboxChrome.vue +113 -0
- package/src/components/lightbox/LightboxStrip.vue +91 -0
- package/src/components/lightbox/LightboxThumbs.vue +73 -0
- package/src/components/lightbox/LightboxToolbar.vue +73 -0
- package/src/components/lightbox/composables/useLightboxFrames.ts +38 -0
- package/src/components/lightbox/composables/useLightboxGesture.ts +204 -0
- package/src/components/lightbox/composables/useLightboxHint.ts +37 -0
- package/src/components/lightbox/composables/useLightboxLarge.ts +62 -0
- package/src/components/lightbox/composables/useLightboxMotion.ts +146 -0
- package/src/components/lightbox/composables/useLightboxPaging.ts +96 -0
- package/src/components/lightbox/composables/useLightboxPhase.ts +59 -0
- package/src/components/lightbox/composables/useLightboxPose.ts +35 -0
- package/src/components/lightbox/composables/useLightboxRotation.ts +48 -0
- package/src/components/lightbox/composables/useLightboxSlides.ts +31 -0
- package/src/components/lightbox/composables/useLightboxZoom.ts +148 -0
- package/src/components/lightbox/types.ts +10 -0
- package/src/components/lightbox/utils/download.ts +29 -0
- package/src/components/lightbox/utils/gesture.ts +54 -0
- package/src/components/lightbox/utils/paging.ts +33 -0
- package/src/components/lightbox/utils/pose.ts +125 -0
- package/src/components/lightbox/utils/zoom.ts +113 -0
- package/src/components/link/Link.vue +29 -0
- package/src/components/link/link.variants.ts +14 -0
- package/src/components/list/List.vue +13 -0
- package/src/components/list/ListItem.vue +13 -0
- package/src/components/listbox/Listbox.vue +103 -0
- package/src/components/listbox/listbox.variants.ts +23 -0
- package/src/components/loading-overlay/LoadingOverlay.vue +54 -0
- package/src/components/loading-overlay/composables/useDelayedVisible.ts +51 -0
- package/src/components/loading-overlay/loading-overlay.variants.ts +25 -0
- package/src/components/mark/Mark.vue +11 -0
- package/src/components/menubar/Menubar.vue +29 -0
- package/src/components/menubar/MenubarCheckboxItem.vue +35 -0
- package/src/components/menubar/MenubarGroup.vue +14 -0
- package/src/components/menubar/MenubarItem.vue +30 -0
- package/src/components/menubar/MenubarLabel.vue +14 -0
- package/src/components/menubar/MenubarMenu.vue +43 -0
- package/src/components/menubar/MenubarRadioGroup.vue +13 -0
- package/src/components/menubar/MenubarRadioItem.vue +32 -0
- package/src/components/menubar/MenubarSeparator.vue +12 -0
- package/src/components/menubar/MenubarSub.vue +42 -0
- package/src/components/menubar/menubar.variants.ts +17 -0
- package/src/components/meter-group/MeterGroup.vue +102 -0
- package/src/components/meter-group/meter-group.variants.ts +38 -0
- package/src/components/meter-group/types.ts +9 -0
- package/src/components/meter-group/utils/tones.ts +14 -0
- package/src/components/multi-combobox/MultiCombobox.vue +207 -0
- package/src/components/multi-combobox/multi-combobox.variants.ts +14 -0
- package/src/components/multi-select/MultiSelect.vue +187 -0
- package/src/components/multi-select/multi-select.variants.ts +13 -0
- package/src/components/nav-link/NavLink.vue +50 -0
- package/src/components/nav-link/nav-link.variants.ts +30 -0
- package/src/components/number-format/NumberFormat.vue +50 -0
- package/src/components/number-input/NumberInput.vue +109 -0
- package/src/components/number-input/number-input.variants.ts +28 -0
- package/src/components/page/Page.vue +23 -0
- package/src/components/page/PageAside.vue +28 -0
- package/src/components/page/PageBody.vue +13 -0
- package/src/components/page/PageHeader.vue +35 -0
- package/src/components/panel/Panel.vue +59 -0
- package/src/components/panel/panel.variants.ts +29 -0
- package/src/components/password-input/PasswordInput.vue +56 -0
- package/src/components/pin-input/PinInput.vue +75 -0
- package/src/components/pin-input/pin-input.variants.ts +31 -0
- package/src/components/popconfirm/Popconfirm.vue +112 -0
- package/src/components/popover/Popover.vue +52 -0
- package/src/components/prev-next/PrevNext.vue +22 -0
- package/src/components/prev-next/PrevNextLink.vue +44 -0
- package/src/components/prev-next/prev-next.variants.ts +28 -0
- package/src/components/progress/Progress.vue +59 -0
- package/src/components/progress/composables/useProgressValue.ts +40 -0
- package/src/components/progress/progress.variants.ts +46 -0
- package/src/components/prose/Prose.vue +14 -0
- package/src/components/radio-group/RadioGroup.vue +86 -0
- package/src/components/radio-group/radio-group.variants.ts +5 -0
- package/src/components/range-calendar/RangeCalendar.vue +184 -0
- package/src/components/range-calendar/composables/useRangeAnchor.ts +16 -0
- package/src/components/range-calendar/range-calendar.variants.ts +24 -0
- package/src/components/range-calendar/utils/limit.ts +11 -0
- package/src/components/range-slider/RangeSlider.vue +128 -0
- package/src/components/rating/Rating.vue +97 -0
- package/src/components/rating/rating.variants.ts +46 -0
- package/src/components/rating/utils/fill.ts +4 -0
- package/src/components/result/Result.vue +51 -0
- package/src/components/result/result.variants.ts +24 -0
- package/src/components/ring-progress/RingProgress.vue +76 -0
- package/src/components/ring-progress/ring-progress.variants.ts +55 -0
- package/src/components/ripple/LICENSE +9 -0
- package/src/components/ripple/Ripple.vue +19 -0
- package/src/components/ripple/useRipple.ts +211 -0
- package/src/components/scroll-area/ScrollArea.vue +128 -0
- package/src/components/scroll-area/composables/useEdgeShadow.ts +32 -0
- package/src/components/scroll-area/composables/useLayerLock.ts +39 -0
- package/src/components/scroll-area/composables/useOverlayScrollbars.ts +109 -0
- package/src/components/scroll-area/composables/useWheelRedirect.ts +30 -0
- package/src/components/scroll-area/scroll-restore.ts +153 -0
- package/src/components/search-input/SearchInput.vue +57 -0
- package/src/components/section/Section.vue +19 -0
- package/src/components/segmented-control/SegmentedControl.vue +79 -0
- package/src/components/segmented-control/segmented-control.variants.ts +46 -0
- package/src/components/select/Select.vue +102 -0
- package/src/components/select/SelectList.vue +108 -0
- package/src/components/select/select.variants.ts +42 -0
- package/src/components/select/types.ts +21 -0
- package/src/components/sheet/Sheet.vue +118 -0
- package/src/components/sheet/composables/useDragToDismiss.ts +64 -0
- package/src/components/sheet/sheet.variants.ts +19 -0
- package/src/components/sidebar/DrawerScope.ts +15 -0
- package/src/components/sidebar/Sidebar.vue +67 -0
- package/src/components/sidebar/SidebarGroup.vue +68 -0
- package/src/components/sidebar/SidebarTrigger.vue +27 -0
- package/src/components/sidebar/context.ts +20 -0
- package/src/components/simple-grid/SimpleGrid.vue +27 -0
- package/src/components/simple-grid/simple-grid.variants.ts +25 -0
- package/src/components/skeleton/Skeleton.vue +28 -0
- package/src/components/slider/Slider.vue +110 -0
- package/src/components/slider/SliderHandle.vue +27 -0
- package/src/components/slider/SliderMarks.vue +40 -0
- package/src/components/slider/composables/useSliderChrome.ts +44 -0
- package/src/components/slider/slider.variants.ts +64 -0
- package/src/components/space/Space.vue +15 -0
- package/src/components/space/space.variants.ts +18 -0
- package/src/components/spinner/Spinner.vue +25 -0
- package/src/components/spinner/spinner.variants.ts +15 -0
- package/src/components/splitter/Splitter.vue +23 -0
- package/src/components/splitter/SplitterHandle.vue +31 -0
- package/src/components/splitter/SplitterPanel.vue +28 -0
- package/src/components/spoiler/LICENSE +19 -0
- package/src/components/spoiler/Spoiler.vue +45 -0
- package/src/components/spoiler/SpoilerPainter.ts +197 -0
- package/src/components/spoiler/composables/useReveal.ts +53 -0
- package/src/components/spoiler/composables/useSpoiler.ts +68 -0
- package/src/components/spoiler/utils/irisOrigin.ts +40 -0
- package/src/components/spoiler/worklet.ts +199 -0
- package/src/components/stack/Stack.vue +23 -0
- package/src/components/stack/stack.variants.ts +34 -0
- package/src/components/statistic/Statistic.vue +92 -0
- package/src/components/statistic/statistic.variants.ts +51 -0
- package/src/components/switch/Switch.vue +66 -0
- package/src/components/switch/switch.variants.ts +34 -0
- package/src/components/table/Table.vue +41 -0
- package/src/components/table/TableBody.vue +13 -0
- package/src/components/table/TableCell.vue +21 -0
- package/src/components/table/TableHead.vue +25 -0
- package/src/components/table/TableHeader.vue +13 -0
- package/src/components/table/TableRow.vue +13 -0
- package/src/components/table/table.variants.ts +56 -0
- package/src/components/tabs/Tabs.vue +41 -0
- package/src/components/tabs/TabsContent.vue +17 -0
- package/src/components/tabs/TabsList.vue +28 -0
- package/src/components/tabs/TabsTrigger.vue +33 -0
- package/src/components/tabs/context.ts +24 -0
- package/src/components/tabs/tabs.variants.ts +95 -0
- package/src/components/tag/Tag.vue +40 -0
- package/src/components/tag/tag.variants.ts +57 -0
- package/src/components/tags-input/TagsInput.vue +132 -0
- package/src/components/tags-input/TagsInputChip.vue +29 -0
- package/src/components/tags-input/tags-input.variants.ts +47 -0
- package/src/components/text/Text.vue +40 -0
- package/src/components/text/text.variants.ts +41 -0
- package/src/components/textarea/Textarea.vue +111 -0
- package/src/components/textarea/textarea.variants.ts +47 -0
- package/src/components/time/Time.vue +64 -0
- package/src/components/time/composables/useNow.ts +27 -0
- package/src/components/time/utils/relativeTime.ts +20 -0
- package/src/components/time-field/TimeField.vue +162 -0
- package/src/components/toast/Toaster.vue +173 -0
- package/src/components/toast/composables/useToastExpand.ts +27 -0
- package/src/components/toast/composables/useToastLayout.ts +84 -0
- package/src/components/toast/store.ts +234 -0
- package/src/components/toggle/Toggle.vue +102 -0
- package/src/components/toggle/toggle.variants.ts +10 -0
- package/src/components/tooltip/Tooltip.vue +46 -0
- package/src/components/tooltip/TooltipProvider.vue +22 -0
- package/src/components/tree-select/TreeSelect.vue +178 -0
- package/src/components/tree-select/tree-select.variants.ts +27 -0
- package/src/components/tree-select/types.ts +34 -0
- package/src/components/visually-hidden/VisuallyHidden.vue +11 -0
- package/src/index.ts +252 -0
- package/src/lib/a11y.ts +20 -0
- package/src/lib/caret.ts +52 -0
- package/src/lib/cn.ts +9 -0
- package/src/lib/collapse.ts +45 -0
- package/src/lib/date.ts +111 -0
- package/src/lib/dev.ts +13 -0
- package/src/lib/field-focus.ts +40 -0
- package/src/lib/passthrough.ts +9 -0
- package/src/lib/tv.ts +6 -0
- package/src/lib/tw-merge.ts +25 -0
- package/src/locale/en-US.ts +152 -0
- package/src/locale/index.ts +67 -0
- package/src/locale/types.ts +154 -0
- package/src/locale/zh-CN.ts +152 -0
- package/src/motion.ts +41 -0
- package/src/singletons.ts +3 -0
- package/src/styles/base.css +22 -0
- package/src/styles/density.css +32 -0
- package/src/styles/interaction.css +294 -0
- package/src/styles/mappings.css +104 -0
- package/src/styles/motion.css +606 -0
- package/src/styles/palette.css +36 -0
- package/src/styles/scroll.css +45 -0
- package/src/styles/semantic.css +225 -0
- package/src/styles/spoiler.css +65 -0
- package/src/styles/tokens.css +14 -0
- package/src/styles/typography.css +259 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useEventListener } from '@vueuse/core'
|
|
2
|
+
import { computed, ref, type Ref } from 'vue'
|
|
3
|
+
|
|
4
|
+
export function useSliderChrome(disabled: Ref<boolean>, label: Ref<'auto' | 'always' | 'none'>) {
|
|
5
|
+
const dragging = ref(false)
|
|
6
|
+
const hovered = ref(false)
|
|
7
|
+
const ring = ref(false)
|
|
8
|
+
let pointer = false
|
|
9
|
+
|
|
10
|
+
const labelOpen = computed(
|
|
11
|
+
() =>
|
|
12
|
+
label.value === 'always' ||
|
|
13
|
+
(!disabled.value && (hovered.value || ring.value || dragging.value)),
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
function release() {
|
|
17
|
+
dragging.value = false
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
useEventListener(['pointerup', 'pointercancel'], release, { passive: true })
|
|
21
|
+
|
|
22
|
+
function onPointerDown(event: PointerEvent) {
|
|
23
|
+
pointer = true
|
|
24
|
+
if (disabled.value) return
|
|
25
|
+
const root = event.currentTarget as HTMLElement
|
|
26
|
+
if (!root.firstElementChild?.contains(event.target as Node)) return
|
|
27
|
+
dragging.value = true
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function onFocusIn() {
|
|
31
|
+
ring.value = !pointer
|
|
32
|
+
pointer = false
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const listeners = {
|
|
36
|
+
keydown: () => (ring.value = true),
|
|
37
|
+
focusin: onFocusIn,
|
|
38
|
+
focusout: () => (ring.value = false),
|
|
39
|
+
pointerenter: (event: PointerEvent) => (hovered.value = event.pointerType === 'mouse'),
|
|
40
|
+
pointerleave: () => (hovered.value = false),
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return { dragging, hovered, ring, labelOpen, onPointerDown, listeners }
|
|
44
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { tv, type VariantProps } from '../../lib/tv'
|
|
2
|
+
|
|
3
|
+
export const slider = tv({
|
|
4
|
+
base: 'group/hn-slider relative flex w-full min-w-0 flex-col data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
5
|
+
variants: {
|
|
6
|
+
size: {
|
|
7
|
+
sm: '[--hn-slider-h:1.25rem] [--hn-slider-thumb:0.75rem]',
|
|
8
|
+
md: '[--hn-slider-h:1.5rem] [--hn-slider-thumb:1rem]',
|
|
9
|
+
lg: '[--hn-slider-h:1.75rem] [--hn-slider-thumb:1.25rem]',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
defaultVariants: {
|
|
13
|
+
size: 'md',
|
|
14
|
+
},
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
export const sliderRoot = tv({
|
|
18
|
+
base: [
|
|
19
|
+
'bg-line-strong relative flex h-[var(--hn-slider-h)] w-full cursor-pointer touch-none rounded-full select-none',
|
|
20
|
+
'data-disabled:pointer-events-none',
|
|
21
|
+
],
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
export const sliderTrack = tv({
|
|
25
|
+
base: 'absolute inset-0 overflow-hidden rounded-full',
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
export const sliderRange = tv({
|
|
29
|
+
base: [
|
|
30
|
+
'hn-slider-move bg-accent absolute inset-y-0 start-0 rounded-full group-data-dragging/hn-slider:transition-none',
|
|
31
|
+
'w-[calc((100%-var(--hn-slider-thumb)-0.5rem)*var(--hn-slider-p)+var(--hn-slider-thumb)+0.5rem)]',
|
|
32
|
+
],
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
export const sliderRangeBetween = tv({
|
|
36
|
+
base: [
|
|
37
|
+
'hn-slider-move bg-accent absolute inset-y-0 rounded-full group-data-dragging/hn-slider:transition-none',
|
|
38
|
+
'start-[calc(var(--hn-slider-p)*(100%-var(--hn-slider-thumb)-0.5rem))]',
|
|
39
|
+
'w-[calc((var(--hn-slider-q)-var(--hn-slider-p))*(100%-var(--hn-slider-thumb)-0.5rem)+var(--hn-slider-thumb)+0.5rem)]',
|
|
40
|
+
],
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
export const sliderThumb = tv({
|
|
44
|
+
base: [
|
|
45
|
+
'hn-state-layer hn-slider-move border-line bg-surface text-fg top-1 !block size-[var(--hn-slider-thumb)] cursor-grab rounded-full border shadow-sm outline-none',
|
|
46
|
+
'!start-[calc(0.25rem+var(--hn-slider-thumb)/2+var(--hn-slider-p)*(100%-0.5rem-var(--hn-slider-thumb)))]',
|
|
47
|
+
'data-focus-ring:outline-2 data-focus-ring:outline-offset-2 data-focus-ring:outline-solid data-focus-ring:outline-(--hn-focus-ring)',
|
|
48
|
+
'group-data-dragging/hn-slider:cursor-grabbing group-data-dragging/hn-slider:transition-none data-disabled:cursor-not-allowed',
|
|
49
|
+
],
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
export const sliderMarks = tv({
|
|
53
|
+
base: 'pointer-events-none absolute inset-x-[calc(var(--hn-slider-thumb)/2+0.25rem)] top-1/2 h-0',
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
export const sliderMark = tv({
|
|
57
|
+
base: 'border-line-strong bg-surface block size-1.5 shrink-0 rounded-full border',
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
export const sliderMarkLabels = tv({
|
|
61
|
+
base: 'text-muted relative mx-[calc(var(--hn-slider-thumb)/2+0.25rem)] h-4 text-xs',
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
export type SliderVariants = VariantProps<typeof slider>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { cn } from '../../lib/cn'
|
|
3
|
+
import { space, type SpaceVariants } from './space.variants'
|
|
4
|
+
|
|
5
|
+
defineOptions({ name: 'HnSpace' })
|
|
6
|
+
|
|
7
|
+
const props = defineProps<{
|
|
8
|
+
size?: SpaceVariants['size']
|
|
9
|
+
class?: string
|
|
10
|
+
}>()
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<template>
|
|
14
|
+
<div aria-hidden="true" :class="cn(space({ size: props.size }), props.class)" />
|
|
15
|
+
</template>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { tv, type VariantProps } from '../../lib/tv'
|
|
2
|
+
|
|
3
|
+
export const space = tv({
|
|
4
|
+
base: 'shrink-0',
|
|
5
|
+
variants: {
|
|
6
|
+
size: {
|
|
7
|
+
xs: 'size-1',
|
|
8
|
+
sm: 'size-2',
|
|
9
|
+
md: 'size-4',
|
|
10
|
+
lg: 'size-6',
|
|
11
|
+
xl: 'size-8',
|
|
12
|
+
flex: 'flex-1 self-stretch',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
defaultVariants: { size: 'flex' },
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
export type SpaceVariants = VariantProps<typeof space>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { cn } from '../../lib/cn'
|
|
3
|
+
import { useUiLocale } from '../../locale'
|
|
4
|
+
import { spinner, type SpinnerVariants } from './spinner.variants'
|
|
5
|
+
|
|
6
|
+
defineOptions({ name: 'HnSpinner', inheritAttrs: false })
|
|
7
|
+
|
|
8
|
+
const props = withDefaults(defineProps<{ size?: SpinnerVariants['size']; label?: string }>(), {
|
|
9
|
+
size: 'md',
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
const t = useUiLocale()
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<template>
|
|
16
|
+
<span
|
|
17
|
+
v-bind="$attrs"
|
|
18
|
+
role="status"
|
|
19
|
+
:aria-label="props.label ?? t.common.loading"
|
|
20
|
+
:class="cn(spinner({ size: props.size }))"
|
|
21
|
+
:style="{
|
|
22
|
+
animation: 'hn-spin var(--hn-spin-duration) var(--hn-ease-linear) infinite',
|
|
23
|
+
}"
|
|
24
|
+
/>
|
|
25
|
+
</template>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tv, type VariantProps } from '../../lib/tv'
|
|
2
|
+
|
|
3
|
+
export const spinner = tv({
|
|
4
|
+
base: 'inline-block shrink-0 rounded-full border-current border-e-transparent align-[-0.125em]',
|
|
5
|
+
variants: {
|
|
6
|
+
size: {
|
|
7
|
+
sm: 'size-3.5 border-[1.5px]',
|
|
8
|
+
md: 'size-4 border-2',
|
|
9
|
+
lg: 'size-5 border-2',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
defaultVariants: { size: 'md' },
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
export type SpinnerVariants = VariantProps<typeof spinner>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { SplitterGroup } from 'reka-ui'
|
|
3
|
+
import { cn } from '../../lib/cn'
|
|
4
|
+
|
|
5
|
+
defineOptions({ name: 'HnSplitter' })
|
|
6
|
+
|
|
7
|
+
const props = withDefaults(
|
|
8
|
+
defineProps<{
|
|
9
|
+
direction?: 'horizontal' | 'vertical'
|
|
10
|
+
autoSaveId?: string
|
|
11
|
+
class?: string
|
|
12
|
+
}>(),
|
|
13
|
+
{ direction: 'horizontal' },
|
|
14
|
+
)
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<div :class="cn(props.class)">
|
|
19
|
+
<SplitterGroup :direction="props.direction" :auto-save-id="props.autoSaveId">
|
|
20
|
+
<slot />
|
|
21
|
+
</SplitterGroup>
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { SplitterResizeHandle } from 'reka-ui'
|
|
3
|
+
import { cn } from '../../lib/cn'
|
|
4
|
+
import { useUiLocale } from '../../locale'
|
|
5
|
+
|
|
6
|
+
defineOptions({ name: 'HnSplitterHandle' })
|
|
7
|
+
|
|
8
|
+
const props = defineProps<{
|
|
9
|
+
label?: string
|
|
10
|
+
class?: string
|
|
11
|
+
}>()
|
|
12
|
+
|
|
13
|
+
const t = useUiLocale()
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<SplitterResizeHandle
|
|
18
|
+
:aria-label="props.label ?? t.splitter.handleLabel"
|
|
19
|
+
:class="
|
|
20
|
+
cn(
|
|
21
|
+
'hn-focus-ring group/handle relative flex shrink-0 items-center justify-center',
|
|
22
|
+
'data-[orientation=horizontal]:w-2 data-[orientation=vertical]:h-2',
|
|
23
|
+
props.class,
|
|
24
|
+
)
|
|
25
|
+
"
|
|
26
|
+
>
|
|
27
|
+
<div
|
|
28
|
+
class="border-line group-hover/handle:border-line-strong group-data-[resize-handle-state=drag]/handle:border-line-strong group-data-[orientation=horizontal]/handle:h-full group-data-[orientation=horizontal]/handle:border-s group-data-[orientation=vertical]/handle:w-full group-data-[orientation=vertical]/handle:border-t"
|
|
29
|
+
/>
|
|
30
|
+
</SplitterResizeHandle>
|
|
31
|
+
</template>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { SplitterPanel as RekaSplitterPanel } from 'reka-ui'
|
|
3
|
+
import { cn } from '../../lib/cn'
|
|
4
|
+
|
|
5
|
+
defineOptions({ name: 'HnSplitterPanel' })
|
|
6
|
+
|
|
7
|
+
const props = defineProps<{
|
|
8
|
+
defaultSize?: number
|
|
9
|
+
minSize?: number
|
|
10
|
+
maxSize?: number
|
|
11
|
+
collapsible?: boolean
|
|
12
|
+
collapsedSize?: number
|
|
13
|
+
class?: string
|
|
14
|
+
}>()
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<RekaSplitterPanel
|
|
19
|
+
:default-size="props.defaultSize"
|
|
20
|
+
:min-size="props.minSize"
|
|
21
|
+
:max-size="props.maxSize"
|
|
22
|
+
:collapsible="props.collapsible"
|
|
23
|
+
:collapsed-size="props.collapsedSize"
|
|
24
|
+
:class="cn('min-h-0 min-w-0', props.class)"
|
|
25
|
+
>
|
|
26
|
+
<slot />
|
|
27
|
+
</RekaSplitterPanel>
|
|
28
|
+
</template>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
The noise painter and paint worklet are forked from spoiled
|
|
2
|
+
(https://github.com/molefrog/spoiled), ported from React to Vue.
|
|
3
|
+
|
|
4
|
+
spoiled is released into the public domain under the Unlicense:
|
|
5
|
+
|
|
6
|
+
This is free and unencumbered software released into the public domain.
|
|
7
|
+
|
|
8
|
+
Anyone is free to copy, modify, publish, use, compile, sell, or
|
|
9
|
+
distribute this software, either in source code form or as a compiled
|
|
10
|
+
binary, for any purpose, commercial or non-commercial, and by any
|
|
11
|
+
means.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
14
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
15
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
16
|
+
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
17
|
+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
18
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
19
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, ref } from 'vue'
|
|
3
|
+
import { cn } from '../../lib/cn'
|
|
4
|
+
import { useUiLocale } from '../../locale'
|
|
5
|
+
import { useSpoiler } from './composables/useSpoiler'
|
|
6
|
+
import { useReveal } from './composables/useReveal'
|
|
7
|
+
|
|
8
|
+
defineOptions({ name: 'HnSpoiler' })
|
|
9
|
+
|
|
10
|
+
const props = withDefaults(
|
|
11
|
+
defineProps<{
|
|
12
|
+
revealOn?: 'click' | 'hover'
|
|
13
|
+
forceFallback?: boolean
|
|
14
|
+
class?: string
|
|
15
|
+
}>(),
|
|
16
|
+
{ revealOn: 'click' },
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
const hidden = defineModel<boolean>('hidden', { default: true })
|
|
20
|
+
|
|
21
|
+
const t = useUiLocale()
|
|
22
|
+
const host = ref<HTMLElement | null>(null)
|
|
23
|
+
const { usesFallback } = useSpoiler(host, hidden, () => !!props.forceFallback)
|
|
24
|
+
|
|
25
|
+
const label = computed(() =>
|
|
26
|
+
hidden.value ? t.value.spoiler.revealLabel : t.value.spoiler.hideLabel,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
const handlers = useReveal(host, hidden, () => props.revealOn)
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<template>
|
|
33
|
+
<span
|
|
34
|
+
ref="host"
|
|
35
|
+
:class="cn(usesFallback ? 'hn-spoiler-fb' : 'hn-spoiler', props.class)"
|
|
36
|
+
:data-hidden="hidden ? '' : undefined"
|
|
37
|
+
:role="props.revealOn === 'click' ? 'button' : undefined"
|
|
38
|
+
tabindex="0"
|
|
39
|
+
:aria-label="label"
|
|
40
|
+
:aria-expanded="!hidden"
|
|
41
|
+
v-on="handlers"
|
|
42
|
+
>
|
|
43
|
+
<span class="hn-spoiler-inner"><slot /></span>
|
|
44
|
+
</span>
|
|
45
|
+
</template>
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { workletSource } from './worklet'
|
|
2
|
+
import { prefersReducedMotion } from '../../motion'
|
|
3
|
+
|
|
4
|
+
export const isPaintWorkletSupported =
|
|
5
|
+
typeof CSS !== 'undefined' && (CSS as { paintWorklet?: unknown }).paintWorklet !== undefined
|
|
6
|
+
|
|
7
|
+
let workletRegistered = false
|
|
8
|
+
|
|
9
|
+
export function registerSpoilerWorklet() {
|
|
10
|
+
if (workletRegistered || !isPaintWorkletSupported) return
|
|
11
|
+
workletRegistered = true
|
|
12
|
+
const paintWorklet = (CSS as unknown as { paintWorklet: { addModule(url: string): void } })
|
|
13
|
+
.paintWorklet
|
|
14
|
+
paintWorklet.addModule(
|
|
15
|
+
URL.createObjectURL(new Blob([workletSource], { type: 'application/javascript' })),
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface SpoilerPainterOptions {
|
|
20
|
+
fps?: number
|
|
21
|
+
gap?: number
|
|
22
|
+
density?: number
|
|
23
|
+
mimicWords?: boolean
|
|
24
|
+
accent?: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const DEFAULTS = {
|
|
28
|
+
fps: 24,
|
|
29
|
+
gap: 6,
|
|
30
|
+
density: 0.12,
|
|
31
|
+
mimicWords: true,
|
|
32
|
+
accent: '0 0% 20%',
|
|
33
|
+
} as const
|
|
34
|
+
|
|
35
|
+
const BLOCK_MAX_TILE = 293
|
|
36
|
+
const INLINE_MAX_TILE = 333
|
|
37
|
+
const GAP_RATIO = 8
|
|
38
|
+
const DEFAULT_FADE_S = 1.5
|
|
39
|
+
|
|
40
|
+
export class SpoilerPainter {
|
|
41
|
+
readonly el: HTMLElement
|
|
42
|
+
maxFPS: number = DEFAULTS.fps
|
|
43
|
+
|
|
44
|
+
private t = 0
|
|
45
|
+
private t0 = 0
|
|
46
|
+
private tstop: number | null = null
|
|
47
|
+
private raf: number | null = null
|
|
48
|
+
private fadeS = 0
|
|
49
|
+
private hidden = false
|
|
50
|
+
private destroyed = false
|
|
51
|
+
|
|
52
|
+
constructor(el: HTMLElement, options: SpoilerPainterOptions = {}) {
|
|
53
|
+
registerSpoilerWorklet()
|
|
54
|
+
this.el = el
|
|
55
|
+
this.update(options)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
get isHidden() {
|
|
59
|
+
return this.hidden
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
update({
|
|
63
|
+
fps = DEFAULTS.fps,
|
|
64
|
+
gap = DEFAULTS.gap,
|
|
65
|
+
density = DEFAULTS.density,
|
|
66
|
+
mimicWords = DEFAULTS.mimicWords,
|
|
67
|
+
accent = DEFAULTS.accent,
|
|
68
|
+
}: SpoilerPainterOptions = {}) {
|
|
69
|
+
if (this.destroyed) return
|
|
70
|
+
|
|
71
|
+
this.maxFPS = prefersReducedMotion() ? 0 : fps
|
|
72
|
+
|
|
73
|
+
this.el.style.setProperty('--hn-nz-density', String(density))
|
|
74
|
+
this.el.style.setProperty('--hn-nz-accent', accent)
|
|
75
|
+
|
|
76
|
+
const isBlockElement = getComputedStyle(this.el).getPropertyValue('display') !== 'inline'
|
|
77
|
+
this.useBackgroundStyle('auto', 'auto', false)
|
|
78
|
+
|
|
79
|
+
if (isBlockElement) {
|
|
80
|
+
this.el.style.setProperty('--hn-nz-words', 'false')
|
|
81
|
+
const rect = this.el.getBoundingClientRect()
|
|
82
|
+
|
|
83
|
+
if (rect.width * rect.height > BLOCK_MAX_TILE * BLOCK_MAX_TILE) {
|
|
84
|
+
this.useBackgroundStyle(
|
|
85
|
+
Math.min(rect.width, BLOCK_MAX_TILE),
|
|
86
|
+
Math.min(rect.height, BLOCK_MAX_TILE),
|
|
87
|
+
true,
|
|
88
|
+
)
|
|
89
|
+
} else {
|
|
90
|
+
const capGap = Math.floor(Math.min(gap, rect.width / GAP_RATIO, rect.height / GAP_RATIO))
|
|
91
|
+
this.el.style.setProperty('--hn-nz-gap', `${capGap}px ${capGap}px`)
|
|
92
|
+
}
|
|
93
|
+
return
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
this.el.style.setProperty('--hn-nz-words', String(mimicWords))
|
|
97
|
+
const rects = [...this.el.getClientRects()]
|
|
98
|
+
const heightOfLine = Math.min(...rects.map(r => r.height))
|
|
99
|
+
|
|
100
|
+
this.useBackgroundStyle(INLINE_MAX_TILE, heightOfLine, true)
|
|
101
|
+
const capGap = Math.floor(Math.min(heightOfLine / GAP_RATIO, gap))
|
|
102
|
+
this.el.style.setProperty('--hn-nz-gap', `0 ${capGap}px`)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private useBackgroundStyle(ws: string | number, hs: string | number, tile: boolean) {
|
|
106
|
+
const w = typeof ws === 'number' ? `${ws}px` : ws
|
|
107
|
+
const h = typeof hs === 'number' ? `${hs}px` : hs
|
|
108
|
+
const repeatAndPosition = tile ? 'repeat left center' : 'no-repeat center center'
|
|
109
|
+
this.el.style.background = `paint(hn-spoiler) ${repeatAndPosition} / ${w} ${h}`
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private setFade(value: number) {
|
|
113
|
+
this.fadeS = value
|
|
114
|
+
this.el.style.setProperty('--hn-nz-fade', `${value}s`)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
private setT(value: number) {
|
|
118
|
+
this.t = value
|
|
119
|
+
this.el.style.setProperty('--hn-nz-t', value.toFixed(3))
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
private setTstop(value: number | null) {
|
|
123
|
+
this.tstop = value
|
|
124
|
+
if (value !== null) {
|
|
125
|
+
this.el.style.setProperty('--hn-nz-stop', value.toFixed(3))
|
|
126
|
+
} else {
|
|
127
|
+
this.el.style.removeProperty('--hn-nz-stop')
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
private parseFade(value: number | boolean | undefined) {
|
|
132
|
+
if (this.maxFPS <= 0) return 0
|
|
133
|
+
return value === true || value === undefined ? DEFAULT_FADE_S : Number(value)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
hide(animate?: number | boolean) {
|
|
137
|
+
if (this.destroyed) return
|
|
138
|
+
this.hidden = true
|
|
139
|
+
this.setFade(this.parseFade(animate))
|
|
140
|
+
this.setTstop(null)
|
|
141
|
+
this.setT(0)
|
|
142
|
+
this.startAnimation()
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
reveal(animate?: number | boolean) {
|
|
146
|
+
if (this.destroyed) return
|
|
147
|
+
this.hidden = false
|
|
148
|
+
const duration = this.parseFade(animate)
|
|
149
|
+
this.setFade(duration)
|
|
150
|
+
this.setTstop(this.t)
|
|
151
|
+
if (duration <= 0) this.stopAnimation()
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
private frame = (now: DOMHighResTimeStamp) => {
|
|
155
|
+
if (this.destroyed) return
|
|
156
|
+
const shouldStop = this.tstop !== null && this.t > this.tstop + this.fadeS
|
|
157
|
+
|
|
158
|
+
if (this.maxFPS > 0 && !shouldStop) {
|
|
159
|
+
this.raf = requestAnimationFrame(this.frame)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
const dt = now - this.t0
|
|
163
|
+
if (dt > 0 && dt < 1000 / this.maxFPS) return
|
|
164
|
+
|
|
165
|
+
this.setT(this.t + dt / 1000)
|
|
166
|
+
this.t0 = now
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
private startAnimation() {
|
|
170
|
+
this.t0 = performance.now()
|
|
171
|
+
this.frame(this.t0)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
private stopAnimation() {
|
|
175
|
+
if (this.raf !== null) {
|
|
176
|
+
cancelAnimationFrame(this.raf)
|
|
177
|
+
this.raf = null
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
destroy() {
|
|
182
|
+
this.destroyed = true
|
|
183
|
+
this.stopAnimation()
|
|
184
|
+
this.el.style.removeProperty('background')
|
|
185
|
+
for (const prop of [
|
|
186
|
+
'--hn-nz-t',
|
|
187
|
+
'--hn-nz-stop',
|
|
188
|
+
'--hn-nz-fade',
|
|
189
|
+
'--hn-nz-gap',
|
|
190
|
+
'--hn-nz-words',
|
|
191
|
+
'--hn-nz-density',
|
|
192
|
+
'--hn-nz-accent',
|
|
193
|
+
]) {
|
|
194
|
+
this.el.style.removeProperty(prop)
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { computed, type Ref } from 'vue'
|
|
2
|
+
import { irisOrigin } from '../utils/irisOrigin'
|
|
3
|
+
|
|
4
|
+
export function useReveal(
|
|
5
|
+
host: Ref<HTMLElement | null>,
|
|
6
|
+
hidden: Ref<boolean>,
|
|
7
|
+
revealOn: () => 'click' | 'hover',
|
|
8
|
+
) {
|
|
9
|
+
function setOrigin(event?: MouseEvent) {
|
|
10
|
+
const el = host.value
|
|
11
|
+
if (!el) return
|
|
12
|
+
if (!event || !hidden.value) return
|
|
13
|
+
|
|
14
|
+
const origin = irisOrigin([...el.getClientRects()], event.clientX, event.clientY)
|
|
15
|
+
if (!origin) {
|
|
16
|
+
el.style.removeProperty('--hn-iris-x')
|
|
17
|
+
el.style.removeProperty('--hn-iris-y')
|
|
18
|
+
return
|
|
19
|
+
}
|
|
20
|
+
el.style.setProperty('--hn-iris-x', `${origin.x.toFixed(1)}%`)
|
|
21
|
+
el.style.setProperty('--hn-iris-y', `${origin.y.toFixed(1)}%`)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function toggle(event?: MouseEvent) {
|
|
25
|
+
setOrigin(event)
|
|
26
|
+
hidden.value = !hidden.value
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const handlers = computed(() => {
|
|
30
|
+
if (revealOn() === 'hover') {
|
|
31
|
+
return {
|
|
32
|
+
mouseenter: (event: MouseEvent) => {
|
|
33
|
+
setOrigin(event)
|
|
34
|
+
hidden.value = false
|
|
35
|
+
},
|
|
36
|
+
mouseleave: () => (hidden.value = true),
|
|
37
|
+
focus: () => (hidden.value = false),
|
|
38
|
+
blur: () => (hidden.value = true),
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
click: toggle,
|
|
43
|
+
keydown: (event: KeyboardEvent) => {
|
|
44
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
45
|
+
event.preventDefault()
|
|
46
|
+
toggle()
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
return handlers
|
|
53
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { onBeforeUnmount, onMounted, ref, watch, type Ref } from 'vue'
|
|
2
|
+
import { isPaintWorkletSupported, SpoilerPainter } from '../SpoilerPainter'
|
|
3
|
+
|
|
4
|
+
const ACCENT_LIGHT = '0 0% 20%'
|
|
5
|
+
const ACCENT_DARK = '0 0% 100%'
|
|
6
|
+
|
|
7
|
+
export function useSpoiler(
|
|
8
|
+
host: Ref<HTMLElement | null>,
|
|
9
|
+
hidden: Ref<boolean>,
|
|
10
|
+
forceFallback: () => boolean,
|
|
11
|
+
) {
|
|
12
|
+
const usesFallback = ref(true)
|
|
13
|
+
|
|
14
|
+
let painter: SpoilerPainter | undefined
|
|
15
|
+
let themeObserver: MutationObserver | undefined
|
|
16
|
+
let resizeObserver: ResizeObserver | undefined
|
|
17
|
+
const isDark = ref(false)
|
|
18
|
+
|
|
19
|
+
const accent = () => (isDark.value ? ACCENT_DARK : ACCENT_LIGHT)
|
|
20
|
+
|
|
21
|
+
onMounted(() => {
|
|
22
|
+
usesFallback.value = !isPaintWorkletSupported || forceFallback()
|
|
23
|
+
if (usesFallback.value || !host.value) return
|
|
24
|
+
|
|
25
|
+
const readTheme = () => {
|
|
26
|
+
isDark.value = document.documentElement.classList.contains('dark')
|
|
27
|
+
}
|
|
28
|
+
readTheme()
|
|
29
|
+
themeObserver = new MutationObserver(readTheme)
|
|
30
|
+
themeObserver.observe(document.documentElement, {
|
|
31
|
+
attributes: true,
|
|
32
|
+
attributeFilter: ['class'],
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
painter = new SpoilerPainter(host.value, { accent: accent() })
|
|
36
|
+
|
|
37
|
+
resizeObserver = new ResizeObserver(() => {
|
|
38
|
+
painter?.update({ accent: accent() })
|
|
39
|
+
})
|
|
40
|
+
resizeObserver.observe(host.value)
|
|
41
|
+
|
|
42
|
+
watch(
|
|
43
|
+
hidden,
|
|
44
|
+
value => {
|
|
45
|
+
if (!painter) return
|
|
46
|
+
if (value !== painter.isHidden) {
|
|
47
|
+
if (value) {
|
|
48
|
+
painter.hide()
|
|
49
|
+
} else {
|
|
50
|
+
painter.reveal()
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{ immediate: true },
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
watch(isDark, () => painter?.update({ accent: accent() }))
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
onBeforeUnmount(() => {
|
|
61
|
+
painter?.destroy()
|
|
62
|
+
painter = undefined
|
|
63
|
+
themeObserver?.disconnect()
|
|
64
|
+
resizeObserver?.disconnect()
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
return { usesFallback }
|
|
68
|
+
}
|