@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,113 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { DialogClose } from 'reka-ui'
|
|
3
|
+
import { Motion, type MotionValue } from 'motion-v'
|
|
4
|
+
import { ChevronLeft, ChevronRight } from '@lucide/vue'
|
|
5
|
+
import { useUiLocale } from '../../locale'
|
|
6
|
+
import CloseButton from '../close-button/CloseButton.vue'
|
|
7
|
+
import IconButton from '../icon-button/IconButton.vue'
|
|
8
|
+
import Spinner from '../spinner/Spinner.vue'
|
|
9
|
+
import Tag from '../tag/Tag.vue'
|
|
10
|
+
import LightboxToolbar from './LightboxToolbar.vue'
|
|
11
|
+
import type { LightboxItem } from './types'
|
|
12
|
+
|
|
13
|
+
defineOptions({ name: 'HnLightboxChrome' })
|
|
14
|
+
|
|
15
|
+
const props = defineProps<{
|
|
16
|
+
items: LightboxItem[]
|
|
17
|
+
index: number
|
|
18
|
+
zoomed: boolean
|
|
19
|
+
waiting: boolean
|
|
20
|
+
loop: boolean
|
|
21
|
+
presence: MotionValue<number>
|
|
22
|
+
hint: { x: MotionValue<number>; y: MotionValue<number> }
|
|
23
|
+
}>()
|
|
24
|
+
|
|
25
|
+
const emit = defineEmits<{
|
|
26
|
+
prev: []
|
|
27
|
+
next: []
|
|
28
|
+
select: [index: number]
|
|
29
|
+
zoomIn: []
|
|
30
|
+
zoomOut: []
|
|
31
|
+
reset: []
|
|
32
|
+
rotate: []
|
|
33
|
+
download: []
|
|
34
|
+
}>()
|
|
35
|
+
|
|
36
|
+
const t = useUiLocale()
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<template>
|
|
40
|
+
<Transition
|
|
41
|
+
enter-active-class="hn-transition-base"
|
|
42
|
+
enter-from-class="opacity-0"
|
|
43
|
+
leave-active-class="hn-transition"
|
|
44
|
+
leave-to-class="opacity-0"
|
|
45
|
+
>
|
|
46
|
+
<Motion
|
|
47
|
+
v-if="props.waiting"
|
|
48
|
+
class="pointer-events-none absolute start-0 top-0 -translate-x-full p-3"
|
|
49
|
+
:style="{ x: props.hint.x, y: props.hint.y }"
|
|
50
|
+
>
|
|
51
|
+
<Tag variant="soft" tone="neutral" pill class="whitespace-nowrap">
|
|
52
|
+
<Spinner size="sm" />
|
|
53
|
+
{{ t.lightbox.loadingLarge }}
|
|
54
|
+
</Tag>
|
|
55
|
+
</Motion>
|
|
56
|
+
</Transition>
|
|
57
|
+
<Motion
|
|
58
|
+
v-if="props.items.length > 1"
|
|
59
|
+
class="pointer-events-none absolute inset-y-0 start-0 hidden items-center ps-4 pointer-fine:flex"
|
|
60
|
+
:style="{ opacity: props.presence }"
|
|
61
|
+
>
|
|
62
|
+
<IconButton
|
|
63
|
+
:label="t.pagination.prev"
|
|
64
|
+
variant="soft"
|
|
65
|
+
size="lg"
|
|
66
|
+
pill
|
|
67
|
+
:disabled="!props.loop && props.index <= 0"
|
|
68
|
+
class="pointer-events-auto"
|
|
69
|
+
@click="emit('prev')"
|
|
70
|
+
>
|
|
71
|
+
<ChevronLeft />
|
|
72
|
+
</IconButton>
|
|
73
|
+
</Motion>
|
|
74
|
+
<Motion
|
|
75
|
+
v-if="props.items.length > 1"
|
|
76
|
+
class="pointer-events-none absolute inset-y-0 end-0 hidden items-center pe-4 pointer-fine:flex"
|
|
77
|
+
:style="{ opacity: props.presence }"
|
|
78
|
+
>
|
|
79
|
+
<IconButton
|
|
80
|
+
:label="t.pagination.next"
|
|
81
|
+
variant="soft"
|
|
82
|
+
size="lg"
|
|
83
|
+
pill
|
|
84
|
+
:disabled="!props.loop && props.index >= props.items.length - 1"
|
|
85
|
+
class="pointer-events-auto"
|
|
86
|
+
@click="emit('next')"
|
|
87
|
+
>
|
|
88
|
+
<ChevronRight />
|
|
89
|
+
</IconButton>
|
|
90
|
+
</Motion>
|
|
91
|
+
<Motion class="absolute end-4 top-4" :style="{ opacity: props.presence }">
|
|
92
|
+
<DialogClose as-child>
|
|
93
|
+
<CloseButton size="md" />
|
|
94
|
+
</DialogClose>
|
|
95
|
+
</Motion>
|
|
96
|
+
<Motion
|
|
97
|
+
data-hn-chrome
|
|
98
|
+
class="absolute inset-x-0 bottom-0 flex touch-pan-x justify-center"
|
|
99
|
+
:style="{ opacity: props.presence }"
|
|
100
|
+
>
|
|
101
|
+
<LightboxToolbar
|
|
102
|
+
:items="props.items"
|
|
103
|
+
:index="props.index"
|
|
104
|
+
:zoomed="props.zoomed"
|
|
105
|
+
@select="emit('select', $event)"
|
|
106
|
+
@zoom-in="emit('zoomIn')"
|
|
107
|
+
@zoom-out="emit('zoomOut')"
|
|
108
|
+
@reset="emit('reset')"
|
|
109
|
+
@rotate="emit('rotate')"
|
|
110
|
+
@download="emit('download')"
|
|
111
|
+
/>
|
|
112
|
+
</Motion>
|
|
113
|
+
</template>
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { Motion, type MotionValue, type ValueAnimationTransition } from 'motion-v'
|
|
3
|
+
import type { Rect } from './utils/pose'
|
|
4
|
+
import type { LightboxItem } from './types'
|
|
5
|
+
|
|
6
|
+
defineOptions({ name: 'HnLightboxStrip' })
|
|
7
|
+
|
|
8
|
+
const props = defineProps<{
|
|
9
|
+
slides: { item: LightboxItem; at: number; key: string }[]
|
|
10
|
+
index: number
|
|
11
|
+
width: number
|
|
12
|
+
stripX: MotionValue<number>
|
|
13
|
+
currentClass: string
|
|
14
|
+
currentStyle: Record<string, unknown>
|
|
15
|
+
frameOf: (item: LightboxItem) => Rect
|
|
16
|
+
rotationOf: (item: LightboxItem) => number
|
|
17
|
+
baseOf: (item: LightboxItem) => number
|
|
18
|
+
transition: ValueAnimationTransition
|
|
19
|
+
largeSrc?: string
|
|
20
|
+
largeReady: boolean
|
|
21
|
+
}>()
|
|
22
|
+
|
|
23
|
+
const emit = defineEmits<{ learn: [id: string, image: HTMLImageElement] }>()
|
|
24
|
+
|
|
25
|
+
function px(rect: Rect) {
|
|
26
|
+
return {
|
|
27
|
+
left: `${rect.x}px`,
|
|
28
|
+
top: `${rect.y}px`,
|
|
29
|
+
width: `${rect.width}px`,
|
|
30
|
+
height: `${rect.height}px`,
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<Motion class="absolute inset-0" :style="{ x: props.stripX }">
|
|
37
|
+
<div
|
|
38
|
+
v-for="slide in props.slides"
|
|
39
|
+
:key="slide.key"
|
|
40
|
+
class="absolute inset-y-0"
|
|
41
|
+
:style="{ left: `${slide.at * props.width}px`, width: `${props.width}px` }"
|
|
42
|
+
>
|
|
43
|
+
<Motion
|
|
44
|
+
v-if="slide.at === props.index"
|
|
45
|
+
data-hn-frame
|
|
46
|
+
:class="props.currentClass"
|
|
47
|
+
:style="props.currentStyle"
|
|
48
|
+
>
|
|
49
|
+
<img
|
|
50
|
+
:src="slide.item.src"
|
|
51
|
+
:alt="slide.item.alt"
|
|
52
|
+
draggable="false"
|
|
53
|
+
class="block size-full object-contain"
|
|
54
|
+
@load="emit('learn', slide.item.id, $event.target as HTMLImageElement)"
|
|
55
|
+
/>
|
|
56
|
+
<Transition
|
|
57
|
+
enter-active-class="hn-transition-base"
|
|
58
|
+
enter-from-class="opacity-0"
|
|
59
|
+
leave-active-class="hn-transition"
|
|
60
|
+
leave-to-class="opacity-0"
|
|
61
|
+
>
|
|
62
|
+
<img
|
|
63
|
+
v-if="props.largeReady"
|
|
64
|
+
:src="props.largeSrc"
|
|
65
|
+
alt=""
|
|
66
|
+
aria-hidden="true"
|
|
67
|
+
draggable="false"
|
|
68
|
+
class="absolute inset-0 size-full object-contain"
|
|
69
|
+
/>
|
|
70
|
+
</Transition>
|
|
71
|
+
</Motion>
|
|
72
|
+
<Motion
|
|
73
|
+
v-else
|
|
74
|
+
data-hn-frame
|
|
75
|
+
class="absolute"
|
|
76
|
+
:style="px(props.frameOf(slide.item))"
|
|
77
|
+
:initial="false"
|
|
78
|
+
:animate="{ rotate: props.rotationOf(slide.item), scale: props.baseOf(slide.item) }"
|
|
79
|
+
:transition="props.transition"
|
|
80
|
+
>
|
|
81
|
+
<img
|
|
82
|
+
:src="slide.item.src"
|
|
83
|
+
:alt="slide.item.alt"
|
|
84
|
+
draggable="false"
|
|
85
|
+
class="block size-full object-contain"
|
|
86
|
+
@load="emit('learn', slide.item.id, $event.target as HTMLImageElement)"
|
|
87
|
+
/>
|
|
88
|
+
</Motion>
|
|
89
|
+
</div>
|
|
90
|
+
</Motion>
|
|
91
|
+
</template>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { nextTick, useId, watch, type ComponentPublicInstance } from 'vue'
|
|
3
|
+
import { cn } from '../../lib/cn'
|
|
4
|
+
import { prefersReducedMotion } from '../../motion'
|
|
5
|
+
import ScrollArea from '../scroll-area/ScrollArea.vue'
|
|
6
|
+
import Highlight from '../highlight/Highlight.vue'
|
|
7
|
+
import Ripple from '../ripple/Ripple.vue'
|
|
8
|
+
import type { LightboxItem } from './types'
|
|
9
|
+
|
|
10
|
+
defineOptions({ name: 'HnLightboxThumbs' })
|
|
11
|
+
|
|
12
|
+
const props = defineProps<{
|
|
13
|
+
items: LightboxItem[]
|
|
14
|
+
index: number
|
|
15
|
+
}>()
|
|
16
|
+
|
|
17
|
+
const emit = defineEmits<{ select: [index: number] }>()
|
|
18
|
+
|
|
19
|
+
const buttons: HTMLElement[] = []
|
|
20
|
+
const highlightId = useId()
|
|
21
|
+
|
|
22
|
+
function setButton(at: number, el: Element | ComponentPublicInstance | null) {
|
|
23
|
+
if (el instanceof HTMLElement) buttons[at] = el
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
watch(
|
|
27
|
+
() => [props.index, props.items.length] as const,
|
|
28
|
+
async () => {
|
|
29
|
+
await nextTick()
|
|
30
|
+
buttons[props.index]?.scrollIntoView({
|
|
31
|
+
behavior: prefersReducedMotion() ? 'auto' : 'smooth',
|
|
32
|
+
block: 'nearest',
|
|
33
|
+
inline: 'center',
|
|
34
|
+
})
|
|
35
|
+
},
|
|
36
|
+
{ immediate: true, flush: 'post' },
|
|
37
|
+
)
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<template>
|
|
41
|
+
<ScrollArea direction="horizontal" :scrollbar="false" class="max-w-full">
|
|
42
|
+
<div data-hn-thumbs class="relative isolate flex w-max gap-2 px-4 py-3">
|
|
43
|
+
<button
|
|
44
|
+
v-for="(item, at) in props.items"
|
|
45
|
+
:key="item.id"
|
|
46
|
+
:ref="el => setButton(at, el)"
|
|
47
|
+
type="button"
|
|
48
|
+
:aria-label="item.alt"
|
|
49
|
+
:aria-current="at === props.index ? 'true' : undefined"
|
|
50
|
+
:class="
|
|
51
|
+
cn(
|
|
52
|
+
'hn-interactive hn-state-layer hn-press-none hn-transition relative z-[1] size-14 shrink-0 overflow-hidden rounded-md',
|
|
53
|
+
at === props.index ? 'z-0 opacity-100' : 'opacity-60',
|
|
54
|
+
)
|
|
55
|
+
"
|
|
56
|
+
@click="emit('select', at)"
|
|
57
|
+
>
|
|
58
|
+
<Ripple />
|
|
59
|
+
<img
|
|
60
|
+
:src="item.src"
|
|
61
|
+
alt=""
|
|
62
|
+
draggable="false"
|
|
63
|
+
class="relative -z-10 size-full object-cover"
|
|
64
|
+
/>
|
|
65
|
+
<Highlight
|
|
66
|
+
v-if="at === props.index"
|
|
67
|
+
:id="highlightId"
|
|
68
|
+
class="ring-accent absolute inset-0 rounded-md ring-2 ring-inset"
|
|
69
|
+
/>
|
|
70
|
+
</button>
|
|
71
|
+
</div>
|
|
72
|
+
</ScrollArea>
|
|
73
|
+
</template>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { Download, RotateCw, Shrink, ZoomIn, ZoomOut } from '@lucide/vue'
|
|
3
|
+
import { useUiLocale } from '../../locale'
|
|
4
|
+
import IconButton from '../icon-button/IconButton.vue'
|
|
5
|
+
import LightboxThumbs from './LightboxThumbs.vue'
|
|
6
|
+
import type { LightboxItem } from './types'
|
|
7
|
+
|
|
8
|
+
defineOptions({ name: 'HnLightboxToolbar' })
|
|
9
|
+
|
|
10
|
+
const props = defineProps<{
|
|
11
|
+
items: LightboxItem[]
|
|
12
|
+
index: number
|
|
13
|
+
zoomed: boolean
|
|
14
|
+
}>()
|
|
15
|
+
|
|
16
|
+
const emit = defineEmits<{
|
|
17
|
+
select: [index: number]
|
|
18
|
+
zoomIn: []
|
|
19
|
+
zoomOut: []
|
|
20
|
+
reset: []
|
|
21
|
+
rotate: []
|
|
22
|
+
download: []
|
|
23
|
+
}>()
|
|
24
|
+
|
|
25
|
+
const t = useUiLocale()
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<template>
|
|
29
|
+
<div class="flex flex-col items-center gap-1 pb-3">
|
|
30
|
+
<LightboxThumbs
|
|
31
|
+
v-if="props.items.length > 1"
|
|
32
|
+
:items="props.items"
|
|
33
|
+
:index="props.index"
|
|
34
|
+
@select="emit('select', $event)"
|
|
35
|
+
/>
|
|
36
|
+
<div class="flex items-center gap-1">
|
|
37
|
+
<IconButton
|
|
38
|
+
:label="t.lightbox.zoomOut"
|
|
39
|
+
variant="soft"
|
|
40
|
+
pill
|
|
41
|
+
class="hidden pointer-fine:inline-flex"
|
|
42
|
+
@click="emit('zoomOut')"
|
|
43
|
+
>
|
|
44
|
+
<ZoomOut />
|
|
45
|
+
</IconButton>
|
|
46
|
+
<IconButton
|
|
47
|
+
:label="t.lightbox.zoomIn"
|
|
48
|
+
variant="soft"
|
|
49
|
+
pill
|
|
50
|
+
class="hidden pointer-fine:inline-flex"
|
|
51
|
+
@click="emit('zoomIn')"
|
|
52
|
+
>
|
|
53
|
+
<ZoomIn />
|
|
54
|
+
</IconButton>
|
|
55
|
+
<IconButton
|
|
56
|
+
:label="t.lightbox.resetZoom"
|
|
57
|
+
variant="soft"
|
|
58
|
+
pill
|
|
59
|
+
:disabled="!props.zoomed"
|
|
60
|
+
class="hidden pointer-fine:inline-flex"
|
|
61
|
+
@click="emit('reset')"
|
|
62
|
+
>
|
|
63
|
+
<Shrink />
|
|
64
|
+
</IconButton>
|
|
65
|
+
<IconButton :label="t.lightbox.rotate" variant="soft" pill @click="emit('rotate')">
|
|
66
|
+
<RotateCw />
|
|
67
|
+
</IconButton>
|
|
68
|
+
<IconButton :label="t.lightbox.download" variant="soft" pill @click="emit('download')">
|
|
69
|
+
<Download />
|
|
70
|
+
</IconButton>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</template>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { reactive, shallowRef } from 'vue'
|
|
2
|
+
import type { LightboxItem } from '../types'
|
|
3
|
+
import { fitRect, type Rect } from '../utils/pose'
|
|
4
|
+
import type { Size } from '../utils/zoom'
|
|
5
|
+
|
|
6
|
+
export function useLightboxFrames(items: () => LightboxItem[]) {
|
|
7
|
+
const stage = shallowRef<Size>({ width: 0, height: 0 })
|
|
8
|
+
const naturals = reactive(new Map<string, Size>())
|
|
9
|
+
|
|
10
|
+
function measure(el: HTMLElement | undefined) {
|
|
11
|
+
stage.value = { width: el?.clientWidth ?? 0, height: el?.clientHeight ?? 0 }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function read() {
|
|
15
|
+
for (const item of items()) {
|
|
16
|
+
const el = item.source?.()
|
|
17
|
+
if (el?.naturalWidth && el.naturalHeight) {
|
|
18
|
+
naturals.set(item.id, { width: el.naturalWidth, height: el.naturalHeight })
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function learn(id: string, img: HTMLImageElement) {
|
|
24
|
+
if (naturals.has(id) || !img.naturalWidth || !img.naturalHeight) return
|
|
25
|
+
naturals.set(id, { width: img.naturalWidth, height: img.naturalHeight })
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function naturalOf(item: LightboxItem | undefined): Size | undefined {
|
|
29
|
+
return item ? naturals.get(item.id) : undefined
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function frameOf(item: LightboxItem | undefined): Rect {
|
|
33
|
+
const natural = naturalOf(item)
|
|
34
|
+
return natural ? fitRect(natural, stage.value) : { x: 0, y: 0, ...stage.value }
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return { stage, measure, read, learn, naturalOf, frameOf }
|
|
38
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { shallowRef } from 'vue'
|
|
2
|
+
import type { useLightboxMotion } from './useLightboxMotion'
|
|
3
|
+
import type { PinchStart, useLightboxZoom } from './useLightboxZoom'
|
|
4
|
+
import {
|
|
5
|
+
distance,
|
|
6
|
+
dragAxis,
|
|
7
|
+
isDoubleTap,
|
|
8
|
+
isTap,
|
|
9
|
+
midpoint,
|
|
10
|
+
wheelDelta,
|
|
11
|
+
type Touch,
|
|
12
|
+
} from '../utils/gesture'
|
|
13
|
+
import type { Point } from '../utils/zoom'
|
|
14
|
+
|
|
15
|
+
export type GestureMode = 'idle' | 'pending' | 'pan' | 'pinch' | 'dismiss' | 'page' | 'none'
|
|
16
|
+
|
|
17
|
+
export function useLightboxGesture(options: {
|
|
18
|
+
stage: () => HTMLElement | undefined
|
|
19
|
+
motion: ReturnType<typeof useLightboxMotion>
|
|
20
|
+
zoom: ReturnType<typeof useLightboxZoom>
|
|
21
|
+
paging: {
|
|
22
|
+
grab: () => boolean
|
|
23
|
+
move: (offset: number) => void
|
|
24
|
+
release: (offset: number) => void
|
|
25
|
+
settle: () => void
|
|
26
|
+
}
|
|
27
|
+
enabled: () => boolean
|
|
28
|
+
interrupt: () => void
|
|
29
|
+
inside: (target: EventTarget | null) => boolean
|
|
30
|
+
dismiss: () => void
|
|
31
|
+
tapOutside: () => void
|
|
32
|
+
}) {
|
|
33
|
+
const { motion, zoom, paging } = options
|
|
34
|
+
const mode = shallowRef<GestureMode>('idle')
|
|
35
|
+
const pointers = new Map<number, Point>()
|
|
36
|
+
let start: Touch = { x: 0, y: 0, time: 0 }
|
|
37
|
+
let origin: Point = { x: 0, y: 0 }
|
|
38
|
+
let delta: Point = { x: 0, y: 0 }
|
|
39
|
+
let pinch: PinchStart | null = null
|
|
40
|
+
let lastMid: Point = { x: 0, y: 0 }
|
|
41
|
+
let lastTap: Touch | null = null
|
|
42
|
+
let startInside = false
|
|
43
|
+
let takeover = false
|
|
44
|
+
let busyTap: Touch | null = null
|
|
45
|
+
|
|
46
|
+
function relative(point: Point): Point {
|
|
47
|
+
const rect = options.stage()?.getBoundingClientRect()
|
|
48
|
+
if (!rect) return point
|
|
49
|
+
return { x: point.x - rect.x - rect.width / 2, y: point.y - rect.y - rect.height / 2 }
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function capture(event: PointerEvent, on: boolean) {
|
|
53
|
+
const stage = options.stage()
|
|
54
|
+
if (!stage) return
|
|
55
|
+
try {
|
|
56
|
+
if (on) stage.setPointerCapture(event.pointerId)
|
|
57
|
+
else stage.releasePointerCapture(event.pointerId)
|
|
58
|
+
} catch {
|
|
59
|
+
return
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function isControl(target: EventTarget | null): boolean {
|
|
64
|
+
return (
|
|
65
|
+
target instanceof Element &&
|
|
66
|
+
!!target.closest('button, a, input, [role="button"], [data-hn-chrome]')
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function pair(): [Point, Point] | null {
|
|
71
|
+
const list = [...pointers.values()]
|
|
72
|
+
return list.length >= 2 ? [list[0]!, list[1]!] : null
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function onPointerdown(event: PointerEvent) {
|
|
76
|
+
if (event.pointerType === 'mouse' && event.button !== 0) return
|
|
77
|
+
if (isControl(event.target)) return
|
|
78
|
+
if (!options.enabled()) {
|
|
79
|
+
busyTap = { x: event.clientX, y: event.clientY, time: event.timeStamp }
|
|
80
|
+
return
|
|
81
|
+
}
|
|
82
|
+
capture(event, true)
|
|
83
|
+
pointers.set(event.pointerId, { x: event.clientX, y: event.clientY })
|
|
84
|
+
if (pointers.size === 1) {
|
|
85
|
+
motion.stop()
|
|
86
|
+
takeover = paging.grab()
|
|
87
|
+
start = { x: event.clientX, y: event.clientY, time: event.timeStamp }
|
|
88
|
+
origin = { x: motion.x.get(), y: motion.y.get() }
|
|
89
|
+
delta = { x: 0, y: 0 }
|
|
90
|
+
startInside = options.inside(event.target)
|
|
91
|
+
mode.value = 'pending'
|
|
92
|
+
return
|
|
93
|
+
}
|
|
94
|
+
const points = pair()
|
|
95
|
+
if (!points || pointers.size !== 2) return
|
|
96
|
+
if (mode.value === 'dismiss') motion.dismissCancel()
|
|
97
|
+
paging.settle()
|
|
98
|
+
lastMid = relative(midpoint(...points))
|
|
99
|
+
pinch = {
|
|
100
|
+
distance: distance(...points),
|
|
101
|
+
zoom: zoom.zoom(),
|
|
102
|
+
mid: lastMid,
|
|
103
|
+
offset: { x: motion.x.get(), y: motion.y.get() },
|
|
104
|
+
}
|
|
105
|
+
mode.value = 'pinch'
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function onPointermove(event: PointerEvent) {
|
|
109
|
+
if (!pointers.has(event.pointerId)) return
|
|
110
|
+
pointers.set(event.pointerId, { x: event.clientX, y: event.clientY })
|
|
111
|
+
if (mode.value === 'pinch') {
|
|
112
|
+
const points = pair()
|
|
113
|
+
if (!points || !pinch) return
|
|
114
|
+
lastMid = relative(midpoint(...points))
|
|
115
|
+
zoom.pinch(pinch, lastMid, distance(...points) / pinch.distance)
|
|
116
|
+
return
|
|
117
|
+
}
|
|
118
|
+
if (pointers.size !== 1) return
|
|
119
|
+
const point = { x: event.clientX, y: event.clientY }
|
|
120
|
+
if (mode.value === 'pending') {
|
|
121
|
+
const axis = dragAxis(start, point)
|
|
122
|
+
if (!axis) return
|
|
123
|
+
mode.value = zoom.isZoomed() ? 'pan' : axis === 'y' ? 'dismiss' : 'page'
|
|
124
|
+
if (mode.value !== 'page') paging.settle()
|
|
125
|
+
}
|
|
126
|
+
delta = { x: point.x - start.x, y: point.y - start.y }
|
|
127
|
+
if (mode.value === 'pan') zoom.pan(origin, delta)
|
|
128
|
+
else if (mode.value === 'dismiss') motion.dismissMove(origin.y + delta.y)
|
|
129
|
+
else if (mode.value === 'page') paging.move(delta.x)
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function finish(event: PointerEvent, cancelled: boolean) {
|
|
133
|
+
if (busyTap) {
|
|
134
|
+
const end: Touch = { x: event.clientX, y: event.clientY, time: event.timeStamp }
|
|
135
|
+
if (!cancelled && isTap(busyTap, end)) options.interrupt()
|
|
136
|
+
busyTap = null
|
|
137
|
+
return
|
|
138
|
+
}
|
|
139
|
+
if (!pointers.has(event.pointerId)) return
|
|
140
|
+
pointers.delete(event.pointerId)
|
|
141
|
+
capture(event, false)
|
|
142
|
+
if (mode.value === 'pinch') {
|
|
143
|
+
zoom.settle(lastMid)
|
|
144
|
+
pinch = null
|
|
145
|
+
mode.value = pointers.size ? 'none' : 'idle'
|
|
146
|
+
return
|
|
147
|
+
}
|
|
148
|
+
if (pointers.size) return
|
|
149
|
+
const current = mode.value
|
|
150
|
+
mode.value = 'idle'
|
|
151
|
+
if (current === 'pan') {
|
|
152
|
+
zoom.fling()
|
|
153
|
+
return
|
|
154
|
+
}
|
|
155
|
+
if (current === 'page') {
|
|
156
|
+
if (cancelled) paging.settle()
|
|
157
|
+
else paging.release(delta.x)
|
|
158
|
+
return
|
|
159
|
+
}
|
|
160
|
+
if (current === 'dismiss') {
|
|
161
|
+
const velocity = cancelled ? 0 : motion.y.getVelocity()
|
|
162
|
+
if (motion.dismissRelease(motion.y.get(), velocity)) options.dismiss()
|
|
163
|
+
return
|
|
164
|
+
}
|
|
165
|
+
paging.release(0)
|
|
166
|
+
if (cancelled || current !== 'pending') return
|
|
167
|
+
const end: Touch = { x: event.clientX, y: event.clientY, time: event.timeStamp }
|
|
168
|
+
if (!isTap(start, end)) return
|
|
169
|
+
if (takeover) {
|
|
170
|
+
lastTap = null
|
|
171
|
+
return
|
|
172
|
+
}
|
|
173
|
+
if (!startInside) {
|
|
174
|
+
lastTap = null
|
|
175
|
+
options.tapOutside()
|
|
176
|
+
return
|
|
177
|
+
}
|
|
178
|
+
if (isDoubleTap(lastTap, end)) {
|
|
179
|
+
lastTap = null
|
|
180
|
+
zoom.doubleTap(relative(end))
|
|
181
|
+
} else {
|
|
182
|
+
lastTap = end
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function onPointerup(event: PointerEvent) {
|
|
187
|
+
finish(event, false)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function onPointercancel(event: PointerEvent) {
|
|
191
|
+
finish(event, true)
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function onWheel(event: WheelEvent) {
|
|
195
|
+
if (isControl(event.target)) return
|
|
196
|
+
event.preventDefault()
|
|
197
|
+
if (!options.enabled()) return
|
|
198
|
+
const height = options.stage()?.clientHeight ?? 0
|
|
199
|
+
const delta = wheelDelta(event.deltaY, event.deltaMode, height)
|
|
200
|
+
zoom.wheel(delta, relative({ x: event.clientX, y: event.clientY }), event.ctrlKey)
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return { mode, onPointerdown, onPointermove, onPointerup, onPointercancel, onWheel }
|
|
204
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useTransform } from 'motion-v'
|
|
2
|
+
import type { useLightboxMotion } from './useLightboxMotion'
|
|
3
|
+
import type { useLightboxFrames } from './useLightboxFrames'
|
|
4
|
+
import type { useLightboxPaging } from './useLightboxPaging'
|
|
5
|
+
import type { LightboxItem } from '../types'
|
|
6
|
+
|
|
7
|
+
export function useLightboxHint(options: {
|
|
8
|
+
motion: ReturnType<typeof useLightboxMotion>
|
|
9
|
+
frames: ReturnType<typeof useLightboxFrames>
|
|
10
|
+
paging: ReturnType<typeof useLightboxPaging>
|
|
11
|
+
current: () => LightboxItem | undefined
|
|
12
|
+
}) {
|
|
13
|
+
const { motion, frames, paging } = options
|
|
14
|
+
|
|
15
|
+
function corner() {
|
|
16
|
+
const frame = frames.frameOf(options.current())
|
|
17
|
+
const stage = frames.stage.value
|
|
18
|
+
const scale = motion.scale.get()
|
|
19
|
+
const angle = (motion.rotate.get() * Math.PI) / 180
|
|
20
|
+
const cos = Math.abs(Math.cos(angle))
|
|
21
|
+
const sin = Math.abs(Math.sin(angle))
|
|
22
|
+
const width = (frame.width * cos + frame.height * sin) * scale
|
|
23
|
+
const height = (frame.width * sin + frame.height * cos) * scale
|
|
24
|
+
const centerX =
|
|
25
|
+
paging.stripX.get() + paging.position.value * stage.width + frame.x + frame.width / 2
|
|
26
|
+
const centerY = frame.y + frame.height / 2 + motion.y.get()
|
|
27
|
+
return {
|
|
28
|
+
x: Math.min(centerX + motion.x.get() + width / 2, stage.width),
|
|
29
|
+
y: Math.max(centerY - height / 2, 0),
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const x = useTransform(() => corner().x)
|
|
34
|
+
const y = useTransform(() => corner().y)
|
|
35
|
+
|
|
36
|
+
return { x, y }
|
|
37
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { onBeforeUnmount, shallowRef, watch } from 'vue'
|
|
2
|
+
import type { LightboxItem } from '../types'
|
|
3
|
+
|
|
4
|
+
export const LARGE_HINT_DELAY_MS = 800
|
|
5
|
+
|
|
6
|
+
export function useLightboxLarge(item: () => LightboxItem | undefined, active: () => boolean) {
|
|
7
|
+
const src = shallowRef<string>()
|
|
8
|
+
const ready = shallowRef(false)
|
|
9
|
+
const waiting = shallowRef(false)
|
|
10
|
+
let loader: HTMLImageElement | null = null
|
|
11
|
+
let timer: ReturnType<typeof setTimeout> | null = null
|
|
12
|
+
|
|
13
|
+
function reset() {
|
|
14
|
+
if (loader) loader.src = ''
|
|
15
|
+
loader = null
|
|
16
|
+
if (timer) clearTimeout(timer)
|
|
17
|
+
timer = null
|
|
18
|
+
src.value = undefined
|
|
19
|
+
ready.value = false
|
|
20
|
+
waiting.value = false
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function load(target: LightboxItem) {
|
|
24
|
+
const url = target.preview
|
|
25
|
+
if (!url || url === target.src) return
|
|
26
|
+
src.value = url
|
|
27
|
+
const img = new Image()
|
|
28
|
+
loader = img
|
|
29
|
+
img.decoding = 'async'
|
|
30
|
+
img.src = url
|
|
31
|
+
timer = setTimeout(() => {
|
|
32
|
+
if (loader === img && !ready.value) waiting.value = true
|
|
33
|
+
}, LARGE_HINT_DELAY_MS)
|
|
34
|
+
const done = () => {
|
|
35
|
+
if (loader !== img) return
|
|
36
|
+
if (timer) clearTimeout(timer)
|
|
37
|
+
timer = null
|
|
38
|
+
waiting.value = false
|
|
39
|
+
ready.value = true
|
|
40
|
+
}
|
|
41
|
+
const decode = typeof img.decode === 'function' ? img.decode() : Promise.resolve()
|
|
42
|
+
decode.then(done, () => {
|
|
43
|
+
if (loader !== img) return
|
|
44
|
+
if (timer) clearTimeout(timer)
|
|
45
|
+
timer = null
|
|
46
|
+
waiting.value = false
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
watch(
|
|
51
|
+
() => [active() ? item() : undefined] as const,
|
|
52
|
+
([target]) => {
|
|
53
|
+
reset()
|
|
54
|
+
if (target) load(target)
|
|
55
|
+
},
|
|
56
|
+
{ immediate: true },
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
onBeforeUnmount(reset)
|
|
60
|
+
|
|
61
|
+
return { src, ready, waiting }
|
|
62
|
+
}
|