@vunset/vue 0.0.0-stage → 1.0.0-rc.2
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/LICENSE +21 -0
- package/README.md +85 -2
- package/dist/chart.d.ts +11 -0
- package/dist/chart.js +11 -0
- package/dist/components/accordion/AccordionHeader.js +5 -0
- package/dist/components/accordion/AccordionHeader.vue.d.ts +23 -0
- package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/accordion/AccordionItem.js +5 -0
- package/dist/components/accordion/AccordionItem.vue.d.ts +28 -0
- package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/accordion/AccordionRoot.js +5 -0
- package/dist/components/accordion/AccordionRoot.vue.d.ts +48 -0
- package/dist/components/accordion/AccordionRoot.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/accordion/use-accordion.d.ts +43 -0
- package/dist/components/accordion/use-accordion.js +126 -0
- package/dist/components/alert/AlertDescription.js +5 -0
- package/dist/components/alert/AlertDescription.vue.d.ts +19 -0
- package/dist/components/alert/AlertDescription.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/alert/AlertRoot.js +5 -0
- package/dist/components/alert/AlertRoot.vue.d.ts +24 -0
- package/dist/components/alert/AlertRoot.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/alert/AlertTitle.js +5 -0
- package/dist/components/alert/AlertTitle.vue.d.ts +19 -0
- package/dist/components/alert/AlertTitle.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/appear/Appear.js +5 -0
- package/dist/components/appear/Appear.vue.d.ts +46 -0
- package/dist/components/appear/Appear.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/async-state/AsyncState.js +5 -0
- package/dist/components/async-state/AsyncState.vue.d.ts +60 -0
- package/dist/components/async-state/AsyncState.vue_vue_type_script_setup_true_lang.js +88 -0
- package/dist/components/badge/Badge.js +5 -0
- package/dist/components/badge/Badge.vue.d.ts +19 -0
- package/dist/components/badge/Badge.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/components/button/Button.js +5 -0
- package/dist/components/button/Button.vue.d.ts +28 -0
- package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/components/button/use-button.d.ts +20 -0
- package/dist/components/button/use-button.js +47 -0
- package/dist/components/calendar/CalendarDay.js +5 -0
- package/dist/components/calendar/CalendarDay.vue.d.ts +33 -0
- package/dist/components/calendar/CalendarDay.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/calendar/CalendarGrid.js +5 -0
- package/dist/components/calendar/CalendarGrid.vue.d.ts +33 -0
- package/dist/components/calendar/CalendarGrid.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/calendar/CalendarMonth.js +5 -0
- package/dist/components/calendar/CalendarMonth.vue.d.ts +28 -0
- package/dist/components/calendar/CalendarMonth.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/calendar/CalendarNext.js +5 -0
- package/dist/components/calendar/CalendarNext.vue.d.ts +23 -0
- package/dist/components/calendar/CalendarNext.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/calendar/CalendarPreset.js +5 -0
- package/dist/components/calendar/CalendarPreset.vue.d.ts +39 -0
- package/dist/components/calendar/CalendarPreset.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/calendar/CalendarPresets.js +5 -0
- package/dist/components/calendar/CalendarPresets.vue.d.ts +26 -0
- package/dist/components/calendar/CalendarPresets.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/calendar/CalendarPrev.js +5 -0
- package/dist/components/calendar/CalendarPrev.vue.d.ts +23 -0
- package/dist/components/calendar/CalendarPrev.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/calendar/CalendarRoot.js +5 -0
- package/dist/components/calendar/CalendarRoot.vue.d.ts +94 -0
- package/dist/components/calendar/CalendarRoot.vue_vue_type_script_setup_true_lang.js +115 -0
- package/dist/components/calendar/CalendarRow.js +5 -0
- package/dist/components/calendar/CalendarRow.vue.d.ts +25 -0
- package/dist/components/calendar/CalendarRow.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/calendar/CalendarViewTrigger.js +5 -0
- package/dist/components/calendar/CalendarViewTrigger.vue.d.ts +25 -0
- package/dist/components/calendar/CalendarViewTrigger.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/calendar/CalendarWeek.js +5 -0
- package/dist/components/calendar/CalendarWeek.vue.d.ts +29 -0
- package/dist/components/calendar/CalendarWeek.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/calendar/CalendarWeekDay.js +5 -0
- package/dist/components/calendar/CalendarWeekDay.vue.d.ts +44 -0
- package/dist/components/calendar/CalendarWeekDay.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/calendar/CalendarYear.js +5 -0
- package/dist/components/calendar/CalendarYear.vue.d.ts +27 -0
- package/dist/components/calendar/CalendarYear.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/calendar/use-calendar.d.ts +267 -0
- package/dist/components/calendar/use-calendar.js +657 -0
- package/dist/components/chart/ChartArea.js +5 -0
- package/dist/components/chart/ChartArea.vue.d.ts +23 -0
- package/dist/components/chart/ChartArea.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/chart/ChartAxis.js +5 -0
- package/dist/components/chart/ChartAxis.vue.d.ts +18 -0
- package/dist/components/chart/ChartAxis.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/chart/ChartBar.js +5 -0
- package/dist/components/chart/ChartBar.vue.d.ts +25 -0
- package/dist/components/chart/ChartBar.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/chart/ChartCrosshair.js +5 -0
- package/dist/components/chart/ChartCrosshair.vue.d.ts +3 -0
- package/dist/components/chart/ChartCrosshair.vue_vue_type_script_setup_true_lang.js +15 -0
- package/dist/components/chart/ChartDonut.js +5 -0
- package/dist/components/chart/ChartDonut.vue.d.ts +66 -0
- package/dist/components/chart/ChartDonut.vue_vue_type_script_setup_true_lang.js +156 -0
- package/dist/components/chart/ChartFrame.js +5 -0
- package/dist/components/chart/ChartFrame.vue.d.ts +66 -0
- package/dist/components/chart/ChartFrame.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/components/chart/ChartGrid.js +5 -0
- package/dist/components/chart/ChartGrid.vue.d.ts +11 -0
- package/dist/components/chart/ChartGrid.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/components/chart/ChartLegend.js +5 -0
- package/dist/components/chart/ChartLegend.vue.d.ts +46 -0
- package/dist/components/chart/ChartLegend.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/components/chart/ChartLine.js +5 -0
- package/dist/components/chart/ChartLine.vue.d.ts +23 -0
- package/dist/components/chart/ChartLine.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/chart/ChartRoot.js +5 -0
- package/dist/components/chart/ChartRoot.vue.d.ts +115 -0
- package/dist/components/chart/ChartRoot.vue_vue_type_script_setup_true_lang.js +394 -0
- package/dist/components/chart/ChartTooltip.js +5 -0
- package/dist/components/chart/ChartTooltip.vue.d.ts +14 -0
- package/dist/components/chart/ChartTooltip.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/chart/chart-curve.d.ts +9 -0
- package/dist/components/chart/chart-curve.js +57 -0
- package/dist/components/chart/chart-scales.d.ts +34 -0
- package/dist/components/chart/chart-scales.js +41 -0
- package/dist/components/chart/use-chart-series.d.ts +49 -0
- package/dist/components/chart/use-chart-series.js +53 -0
- package/dist/components/checkbox/CheckboxGroup.js +5 -0
- package/dist/components/checkbox/CheckboxGroup.vue.d.ts +128 -0
- package/dist/components/checkbox/CheckboxGroup.vue_vue_type_script_setup_true_lang.js +141 -0
- package/dist/components/checkbox/CheckboxIndicator.js +5 -0
- package/dist/components/checkbox/CheckboxIndicator.vue.d.ts +29 -0
- package/dist/components/checkbox/CheckboxIndicator.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/checkbox/CheckboxRoot.js +5 -0
- package/dist/components/checkbox/CheckboxRoot.vue.d.ts +93 -0
- package/dist/components/checkbox/CheckboxRoot.vue_vue_type_script_setup_true_lang.js +158 -0
- package/dist/components/collapsible/CollapsiblePanel.js +5 -0
- package/dist/components/collapsible/CollapsiblePanel.vue.d.ts +26 -0
- package/dist/components/collapsible/CollapsiblePanel.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/collapsible/CollapsibleRoot.js +5 -0
- package/dist/components/collapsible/CollapsibleRoot.vue.d.ts +41 -0
- package/dist/components/collapsible/CollapsibleRoot.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/collapsible/CollapsibleTrigger.js +5 -0
- package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +23 -0
- package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/combobox/ComboboxChip.js +5 -0
- package/dist/components/combobox/ComboboxChip.vue.d.ts +29 -0
- package/dist/components/combobox/ComboboxChip.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/combobox/ComboboxChipRemove.js +5 -0
- package/dist/components/combobox/ComboboxChipRemove.vue.d.ts +23 -0
- package/dist/components/combobox/ComboboxChipRemove.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/combobox/ComboboxChips.js +5 -0
- package/dist/components/combobox/ComboboxChips.vue.d.ts +35 -0
- package/dist/components/combobox/ComboboxChips.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/components/combobox/ComboboxInput.js +5 -0
- package/dist/components/combobox/ComboboxInput.vue.d.ts +9 -0
- package/dist/components/combobox/ComboboxInput.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/combobox/ComboboxRoot.js +5 -0
- package/dist/components/combobox/ComboboxRoot.vue.d.ts +115 -0
- package/dist/components/combobox/ComboboxRoot.vue_vue_type_script_setup_true_lang.js +133 -0
- package/dist/components/combobox/ComboboxTrigger.js +5 -0
- package/dist/components/combobox/ComboboxTrigger.vue.d.ts +35 -0
- package/dist/components/combobox/ComboboxTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/context-menu/ContextMenuRoot.js +5 -0
- package/dist/components/context-menu/ContextMenuRoot.vue.d.ts +57 -0
- package/dist/components/context-menu/ContextMenuRoot.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/context-menu/ContextMenuTrigger.js +5 -0
- package/dist/components/context-menu/ContextMenuTrigger.vue.d.ts +26 -0
- package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/components/copy/Copy.js +5 -0
- package/dist/components/copy/Copy.vue.d.ts +57 -0
- package/dist/components/copy/Copy.vue_vue_type_script_setup_true_lang.js +120 -0
- package/dist/components/data-table/DataTable.js +5 -0
- package/dist/components/data-table/DataTable.vue.d.ts +194 -0
- package/dist/components/data-table/DataTable.vue_vue_type_script_setup_true_lang.js +683 -0
- package/dist/components/datepicker/DatepickerClear.js +5 -0
- package/dist/components/datepicker/DatepickerClear.vue.d.ts +34 -0
- package/dist/components/datepicker/DatepickerClear.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/datepicker/DatepickerRoot.js +5 -0
- package/dist/components/datepicker/DatepickerRoot.vue.d.ts +191 -0
- package/dist/components/datepicker/DatepickerRoot.vue_vue_type_script_setup_true_lang.js +258 -0
- package/dist/components/datepicker/DatepickerTrigger.js +5 -0
- package/dist/components/datepicker/DatepickerTrigger.vue.d.ts +34 -0
- package/dist/components/datepicker/DatepickerTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/datepicker/DatepickerValue.js +5 -0
- package/dist/components/datepicker/DatepickerValue.vue.d.ts +29 -0
- package/dist/components/datepicker/DatepickerValue.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/deferred/Deferred.js +5 -0
- package/dist/components/deferred/Deferred.vue.d.ts +23 -0
- package/dist/components/deferred/Deferred.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/dialog/DialogBackdrop.js +5 -0
- package/dist/components/dialog/DialogBackdrop.vue.d.ts +25 -0
- package/dist/components/dialog/DialogBackdrop.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/dialog/DialogClose.js +5 -0
- package/dist/components/dialog/DialogClose.vue.d.ts +26 -0
- package/dist/components/dialog/DialogClose.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/dialog/DialogDescription.js +5 -0
- package/dist/components/dialog/DialogDescription.vue.d.ts +23 -0
- package/dist/components/dialog/DialogDescription.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/dialog/DialogRoot.js +5 -0
- package/dist/components/dialog/DialogRoot.vue.d.ts +46 -0
- package/dist/components/dialog/DialogRoot.vue_vue_type_script_setup_true_lang.js +61 -0
- package/dist/components/dialog/DialogTitle.js +5 -0
- package/dist/components/dialog/DialogTitle.vue.d.ts +23 -0
- package/dist/components/dialog/DialogTitle.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/dialog/DialogTrigger.js +5 -0
- package/dist/components/dialog/DialogTrigger.vue.d.ts +25 -0
- package/dist/components/dialog/DialogTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/drag/DragHandle.js +5 -0
- package/dist/components/drag/DragHandle.vue.d.ts +19 -0
- package/dist/components/drag/DragHandle.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/drag/DragItem.js +5 -0
- package/dist/components/drag/DragItem.vue.d.ts +23 -0
- package/dist/components/drag/DragItem.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/drag/DragRoot.js +5 -0
- package/dist/components/drag/DragRoot.vue.d.ts +90 -0
- package/dist/components/drag/DragRoot.vue_vue_type_script_setup_true_lang.js +329 -0
- package/dist/components/drawer/DrawerHandle.js +5 -0
- package/dist/components/drawer/DrawerHandle.vue.d.ts +23 -0
- package/dist/components/drawer/DrawerHandle.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/drawer/DrawerRoot.js +5 -0
- package/dist/components/drawer/DrawerRoot.vue.d.ts +55 -0
- package/dist/components/drawer/DrawerRoot.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/drawer/use-drawer.d.ts +50 -0
- package/dist/components/drawer/use-drawer.js +170 -0
- package/dist/components/field/FieldDescription.js +5 -0
- package/dist/components/field/FieldDescription.vue.d.ts +28 -0
- package/dist/components/field/FieldDescription.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/field/FieldError.js +5 -0
- package/dist/components/field/FieldError.vue.d.ts +30 -0
- package/dist/components/field/FieldError.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/field/FieldGroup.js +5 -0
- package/dist/components/field/FieldGroup.vue.d.ts +28 -0
- package/dist/components/field/FieldGroup.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/field/FieldLabel.js +5 -0
- package/dist/components/field/FieldLabel.vue.d.ts +28 -0
- package/dist/components/field/FieldLabel.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/field/FieldRoot.js +5 -0
- package/dist/components/field/FieldRoot.vue.d.ts +47 -0
- package/dist/components/field/FieldRoot.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/floating/FloatingClose.js +5 -0
- package/dist/components/floating/FloatingClose.vue.d.ts +23 -0
- package/dist/components/floating/FloatingClose.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/floating/FloatingHeader.js +5 -0
- package/dist/components/floating/FloatingHeader.vue.d.ts +23 -0
- package/dist/components/floating/FloatingHeader.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/floating/FloatingResizer.js +5 -0
- package/dist/components/floating/FloatingResizer.vue.d.ts +25 -0
- package/dist/components/floating/FloatingResizer.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/floating/FloatingRoot.js +5 -0
- package/dist/components/floating/FloatingRoot.vue.d.ts +152 -0
- package/dist/components/floating/FloatingRoot.vue_vue_type_script_setup_true_lang.js +440 -0
- package/dist/components/floating/FloatingTitle.js +5 -0
- package/dist/components/floating/FloatingTitle.vue.d.ts +23 -0
- package/dist/components/floating/FloatingTitle.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/group/Group.js +5 -0
- package/dist/components/group/Group.vue.d.ts +60 -0
- package/dist/components/group/Group.vue_vue_type_script_setup_true_lang.js +186 -0
- package/dist/components/icon/Icon.js +5 -0
- package/dist/components/icon/Icon.vue.d.ts +11 -0
- package/dist/components/icon/Icon.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/input/Input.js +5 -0
- package/dist/components/input/Input.vue.d.ts +53 -0
- package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/components/listbox/ListboxClear.js +5 -0
- package/dist/components/listbox/ListboxClear.vue.d.ts +35 -0
- package/dist/components/listbox/ListboxClear.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/listbox/ListboxEmpty.js +5 -0
- package/dist/components/listbox/ListboxEmpty.vue.d.ts +35 -0
- package/dist/components/listbox/ListboxEmpty.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/listbox/ListboxIndicator.js +5 -0
- package/dist/components/listbox/ListboxIndicator.vue.d.ts +35 -0
- package/dist/components/listbox/ListboxIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/listbox/ListboxItem.js +5 -0
- package/dist/components/listbox/ListboxItem.vue.d.ts +22 -0
- package/dist/components/listbox/ListboxItem.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/listbox/ListboxList.js +5 -0
- package/dist/components/listbox/ListboxList.vue.d.ts +37 -0
- package/dist/components/listbox/ListboxList.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/listbox/ListboxPresets.js +5 -0
- package/dist/components/listbox/ListboxPresets.vue.d.ts +59 -0
- package/dist/components/listbox/ListboxPresets.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/listbox/ListboxScrollIndicator.js +5 -0
- package/dist/components/listbox/ListboxScrollIndicator.vue.d.ts +38 -0
- package/dist/components/listbox/ListboxScrollIndicator.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/menu/MenuArrow.js +5 -0
- package/dist/components/menu/MenuArrow.vue.d.ts +23 -0
- package/dist/components/menu/MenuArrow.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/menu/MenuCheckboxItem.js +5 -0
- package/dist/components/menu/MenuCheckboxItem.vue.d.ts +49 -0
- package/dist/components/menu/MenuCheckboxItem.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/menu/MenuGroup.js +5 -0
- package/dist/components/menu/MenuGroup.vue.d.ts +19 -0
- package/dist/components/menu/MenuGroup.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/menu/MenuGroupLabel.js +5 -0
- package/dist/components/menu/MenuGroupLabel.vue.d.ts +19 -0
- package/dist/components/menu/MenuGroupLabel.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/menu/MenuItem.js +5 -0
- package/dist/components/menu/MenuItem.vue.d.ts +29 -0
- package/dist/components/menu/MenuItem.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/menu/MenuItemIndicator.js +5 -0
- package/dist/components/menu/MenuItemIndicator.vue.d.ts +28 -0
- package/dist/components/menu/MenuItemIndicator.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/menu/MenuRadioGroup.js +5 -0
- package/dist/components/menu/MenuRadioGroup.vue.d.ts +42 -0
- package/dist/components/menu/MenuRadioGroup.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/menu/MenuRadioItem.js +5 -0
- package/dist/components/menu/MenuRadioItem.vue.d.ts +35 -0
- package/dist/components/menu/MenuRadioItem.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/components/menu/MenuRoot.js +5 -0
- package/dist/components/menu/MenuRoot.vue.d.ts +69 -0
- package/dist/components/menu/MenuRoot.vue_vue_type_script_setup_true_lang.js +79 -0
- package/dist/components/menu/MenuTrigger.js +5 -0
- package/dist/components/menu/MenuTrigger.vue.d.ts +25 -0
- package/dist/components/menu/MenuTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/menu/MenubarLink.js +5 -0
- package/dist/components/menu/MenubarLink.vue.d.ts +22 -0
- package/dist/components/menu/MenubarLink.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/menu/MenubarRoot.js +5 -0
- package/dist/components/menu/MenubarRoot.vue.d.ts +28 -0
- package/dist/components/menu/MenubarRoot.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/meter/MeterIndicator.js +5 -0
- package/dist/components/meter/MeterIndicator.vue.d.ts +22 -0
- package/dist/components/meter/MeterIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/meter/MeterLabel.js +5 -0
- package/dist/components/meter/MeterLabel.vue.d.ts +22 -0
- package/dist/components/meter/MeterLabel.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/meter/MeterRoot.js +5 -0
- package/dist/components/meter/MeterRoot.vue.d.ts +33 -0
- package/dist/components/meter/MeterRoot.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/meter/MeterTrack.js +5 -0
- package/dist/components/meter/MeterTrack.vue.d.ts +22 -0
- package/dist/components/meter/MeterTrack.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/meter/MeterValue.js +5 -0
- package/dist/components/meter/MeterValue.vue.d.ts +23 -0
- package/dist/components/meter/MeterValue.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/pagination/PaginationEllipsis.js +5 -0
- package/dist/components/pagination/PaginationEllipsis.vue.d.ts +23 -0
- package/dist/components/pagination/PaginationEllipsis.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/pagination/PaginationItem.js +5 -0
- package/dist/components/pagination/PaginationItem.vue.d.ts +48 -0
- package/dist/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/pagination/PaginationNext.js +5 -0
- package/dist/components/pagination/PaginationNext.vue.d.ts +21 -0
- package/dist/components/pagination/PaginationNext.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/pagination/PaginationPrev.js +5 -0
- package/dist/components/pagination/PaginationPrev.vue.d.ts +21 -0
- package/dist/components/pagination/PaginationPrev.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/pagination/PaginationRoot.js +5 -0
- package/dist/components/pagination/PaginationRoot.vue.d.ts +146 -0
- package/dist/components/pagination/PaginationRoot.vue_vue_type_script_setup_true_lang.js +253 -0
- package/dist/components/popover/PopoverArrow.js +5 -0
- package/dist/components/popover/PopoverArrow.vue.d.ts +23 -0
- package/dist/components/popover/PopoverArrow.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/popover/PopoverClose.js +5 -0
- package/dist/components/popover/PopoverClose.vue.d.ts +23 -0
- package/dist/components/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/popover/PopoverDescription.js +5 -0
- package/dist/components/popover/PopoverDescription.vue.d.ts +23 -0
- package/dist/components/popover/PopoverDescription.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/popover/PopoverRoot.js +5 -0
- package/dist/components/popover/PopoverRoot.vue.d.ts +75 -0
- package/dist/components/popover/PopoverRoot.vue_vue_type_script_setup_true_lang.js +85 -0
- package/dist/components/popover/PopoverTitle.js +5 -0
- package/dist/components/popover/PopoverTitle.vue.d.ts +23 -0
- package/dist/components/popover/PopoverTitle.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/popover/PopoverTrigger.js +5 -0
- package/dist/components/popover/PopoverTrigger.vue.d.ts +24 -0
- package/dist/components/popover/PopoverTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/popover/use-popover.d.ts +60 -0
- package/dist/components/popover/use-popover.js +160 -0
- package/dist/components/progress/ProgressIndicator.js +5 -0
- package/dist/components/progress/ProgressIndicator.vue.d.ts +22 -0
- package/dist/components/progress/ProgressIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/progress/ProgressLabel.js +5 -0
- package/dist/components/progress/ProgressLabel.vue.d.ts +22 -0
- package/dist/components/progress/ProgressLabel.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/progress/ProgressRoot.js +5 -0
- package/dist/components/progress/ProgressRoot.vue.d.ts +33 -0
- package/dist/components/progress/ProgressRoot.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/progress/ProgressTrack.js +5 -0
- package/dist/components/progress/ProgressTrack.vue.d.ts +22 -0
- package/dist/components/progress/ProgressTrack.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/progress/ProgressValue.js +5 -0
- package/dist/components/progress/ProgressValue.vue.d.ts +23 -0
- package/dist/components/progress/ProgressValue.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/radio/RadioGroup.js +5 -0
- package/dist/components/radio/RadioGroup.vue.d.ts +53 -0
- package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/radio/RadioIndicator.js +5 -0
- package/dist/components/radio/RadioIndicator.vue.d.ts +28 -0
- package/dist/components/radio/RadioIndicator.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/radio/RadioRoot.js +5 -0
- package/dist/components/radio/RadioRoot.vue.d.ts +33 -0
- package/dist/components/radio/RadioRoot.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/radio/use-radio-group.d.ts +87 -0
- package/dist/components/radio/use-radio-group.js +175 -0
- package/dist/components/range/RangeControl.js +5 -0
- package/dist/components/range/RangeControl.vue.d.ts +30 -0
- package/dist/components/range/RangeControl.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/range/RangeIndicator.js +5 -0
- package/dist/components/range/RangeIndicator.vue.d.ts +30 -0
- package/dist/components/range/RangeIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/range/RangeLabel.js +5 -0
- package/dist/components/range/RangeLabel.vue.d.ts +30 -0
- package/dist/components/range/RangeLabel.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/range/RangeRoot.js +5 -0
- package/dist/components/range/RangeRoot.vue.d.ts +85 -0
- package/dist/components/range/RangeRoot.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/components/range/RangeThumb.js +5 -0
- package/dist/components/range/RangeThumb.vue.d.ts +42 -0
- package/dist/components/range/RangeThumb.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/range/RangeTrack.js +5 -0
- package/dist/components/range/RangeTrack.vue.d.ts +30 -0
- package/dist/components/range/RangeTrack.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/range/RangeValue.js +5 -0
- package/dist/components/range/RangeValue.vue.d.ts +25 -0
- package/dist/components/range/RangeValue.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/range/range-math.d.ts +31 -0
- package/dist/components/range/range-math.js +82 -0
- package/dist/components/range/use-range.d.ts +189 -0
- package/dist/components/range/use-range.js +542 -0
- package/dist/components/scroll-area/ScrollArea.js +5 -0
- package/dist/components/scroll-area/ScrollArea.vue.d.ts +94 -0
- package/dist/components/scroll-area/ScrollArea.vue_vue_type_script_setup_true_lang.js +178 -0
- package/dist/components/select/SelectRoot.js +5 -0
- package/dist/components/select/SelectRoot.vue.d.ts +116 -0
- package/dist/components/select/SelectRoot.vue_vue_type_script_setup_true_lang.js +133 -0
- package/dist/components/select/SelectSearch.js +5 -0
- package/dist/components/select/SelectSearch.vue.d.ts +9 -0
- package/dist/components/select/SelectSearch.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/select/SelectTrigger.js +5 -0
- package/dist/components/select/SelectTrigger.vue.d.ts +35 -0
- package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/select/SelectValue.js +5 -0
- package/dist/components/select/SelectValue.vue.d.ts +52 -0
- package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/surface/Addon.js +5 -0
- package/dist/components/surface/Addon.vue.d.ts +21 -0
- package/dist/components/surface/Addon.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/surface/Popup.js +5 -0
- package/dist/components/surface/Popup.vue.d.ts +19 -0
- package/dist/components/surface/Popup.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/surface/Portal.js +5 -0
- package/dist/components/surface/Portal.vue.d.ts +22 -0
- package/dist/components/surface/Portal.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/surface/Positioner.js +5 -0
- package/dist/components/surface/Positioner.vue.d.ts +19 -0
- package/dist/components/surface/Positioner.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/surface/Separator.js +5 -0
- package/dist/components/surface/Separator.vue.d.ts +11 -0
- package/dist/components/surface/Separator.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/switch/SwitchRoot.js +5 -0
- package/dist/components/switch/SwitchRoot.vue.d.ts +93 -0
- package/dist/components/switch/SwitchRoot.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/components/switch/SwitchThumb.js +5 -0
- package/dist/components/switch/SwitchThumb.vue.d.ts +25 -0
- package/dist/components/switch/SwitchThumb.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/table/TableBody.js +5 -0
- package/dist/components/table/TableBody.vue.d.ts +13 -0
- package/dist/components/table/TableBody.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/components/table/TableCaption.js +5 -0
- package/dist/components/table/TableCaption.vue.d.ts +13 -0
- package/dist/components/table/TableCaption.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/components/table/TableCell.js +5 -0
- package/dist/components/table/TableCell.vue.d.ts +21 -0
- package/dist/components/table/TableCell.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/table/TableFooter.js +5 -0
- package/dist/components/table/TableFooter.vue.d.ts +13 -0
- package/dist/components/table/TableFooter.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/table/TableHeadCell.js +5 -0
- package/dist/components/table/TableHeadCell.vue.d.ts +25 -0
- package/dist/components/table/TableHeadCell.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/components/table/TableHeader.js +5 -0
- package/dist/components/table/TableHeader.vue.d.ts +13 -0
- package/dist/components/table/TableHeader.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/table/TableRoot.js +5 -0
- package/dist/components/table/TableRoot.vue.d.ts +48 -0
- package/dist/components/table/TableRoot.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/table/TableRow.js +5 -0
- package/dist/components/table/TableRow.vue.d.ts +21 -0
- package/dist/components/table/TableRow.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/tabs/TabsIndicator.js +5 -0
- package/dist/components/tabs/TabsIndicator.vue.d.ts +23 -0
- package/dist/components/tabs/TabsIndicator.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/tabs/TabsList.js +5 -0
- package/dist/components/tabs/TabsList.vue.d.ts +22 -0
- package/dist/components/tabs/TabsList.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/tabs/TabsPanel.js +5 -0
- package/dist/components/tabs/TabsPanel.vue.d.ts +30 -0
- package/dist/components/tabs/TabsPanel.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/tabs/TabsRoot.js +5 -0
- package/dist/components/tabs/TabsRoot.vue.d.ts +44 -0
- package/dist/components/tabs/TabsRoot.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/components/tabs/TabsTab.js +5 -0
- package/dist/components/tabs/TabsTab.vue.d.ts +31 -0
- package/dist/components/tabs/TabsTab.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/tabs/use-tabs.d.ts +107 -0
- package/dist/components/tabs/use-tabs.js +305 -0
- package/dist/components/textarea/Textarea.js +5 -0
- package/dist/components/textarea/Textarea.vue.d.ts +48 -0
- package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +102 -0
- package/dist/components/timepicker/TimepickerClear.js +5 -0
- package/dist/components/timepicker/TimepickerClear.vue.d.ts +27 -0
- package/dist/components/timepicker/TimepickerClear.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/timepicker/TimepickerColumn.js +5 -0
- package/dist/components/timepicker/TimepickerColumn.vue.d.ts +35 -0
- package/dist/components/timepicker/TimepickerColumn.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/timepicker/TimepickerInput.js +5 -0
- package/dist/components/timepicker/TimepickerInput.vue.d.ts +20 -0
- package/dist/components/timepicker/TimepickerInput.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/timepicker/TimepickerRoot.js +5 -0
- package/dist/components/timepicker/TimepickerRoot.vue.d.ts +82 -0
- package/dist/components/timepicker/TimepickerRoot.vue_vue_type_script_setup_true_lang.js +109 -0
- package/dist/components/timepicker/TimepickerSegment.js +5 -0
- package/dist/components/timepicker/TimepickerSegment.vue.d.ts +33 -0
- package/dist/components/timepicker/TimepickerSegment.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/timepicker/TimepickerTrigger.js +5 -0
- package/dist/components/timepicker/TimepickerTrigger.vue.d.ts +27 -0
- package/dist/components/timepicker/TimepickerTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/timepicker/use-timepicker.d.ts +111 -0
- package/dist/components/timepicker/use-timepicker.js +545 -0
- package/dist/components/toast/ToastAction.js +5 -0
- package/dist/components/toast/ToastAction.vue.d.ts +20 -0
- package/dist/components/toast/ToastAction.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/toast/ToastClose.js +5 -0
- package/dist/components/toast/ToastClose.vue.d.ts +20 -0
- package/dist/components/toast/ToastClose.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/toast/ToastDescription.js +5 -0
- package/dist/components/toast/ToastDescription.vue.d.ts +20 -0
- package/dist/components/toast/ToastDescription.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/toast/ToastProgress.js +5 -0
- package/dist/components/toast/ToastProgress.vue.d.ts +30 -0
- package/dist/components/toast/ToastProgress.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/toast/ToastRoot.js +5 -0
- package/dist/components/toast/ToastRoot.vue.d.ts +21 -0
- package/dist/components/toast/ToastRoot.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/toast/ToastTitle.js +5 -0
- package/dist/components/toast/ToastTitle.vue.d.ts +20 -0
- package/dist/components/toast/ToastTitle.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/toast/ToastViewport.js +5 -0
- package/dist/components/toast/ToastViewport.vue.d.ts +47 -0
- package/dist/components/toast/ToastViewport.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/components/toggle/Toggle.js +5 -0
- package/dist/components/toggle/Toggle.vue.d.ts +41 -0
- package/dist/components/toggle/Toggle.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/components/toggle/ToggleGroup.js +5 -0
- package/dist/components/toggle/ToggleGroup.vue.d.ts +64 -0
- package/dist/components/toggle/ToggleGroup.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/components/toggle/use-toggle.d.ts +122 -0
- package/dist/components/toggle/use-toggle.js +218 -0
- package/dist/components/tooltip/TooltipArrow.js +5 -0
- package/dist/components/tooltip/TooltipArrow.vue.d.ts +23 -0
- package/dist/components/tooltip/TooltipArrow.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/tooltip/TooltipGroup.js +5 -0
- package/dist/components/tooltip/TooltipGroup.vue.d.ts +21 -0
- package/dist/components/tooltip/TooltipGroup.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/tooltip/TooltipRoot.js +5 -0
- package/dist/components/tooltip/TooltipRoot.vue.d.ts +60 -0
- package/dist/components/tooltip/TooltipRoot.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/tooltip/TooltipTrigger.js +5 -0
- package/dist/components/tooltip/TooltipTrigger.vue.d.ts +24 -0
- package/dist/components/tooltip/TooltipTrigger.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/tooltip/tooltip-group.d.ts +41 -0
- package/dist/components/tooltip/tooltip-group.js +51 -0
- package/dist/components/tooltip/use-tooltip.d.ts +60 -0
- package/dist/components/tooltip/use-tooltip.js +169 -0
- package/dist/composables/use-click-outside.d.ts +16 -0
- package/dist/composables/use-click-outside.js +34 -0
- package/dist/composables/use-clipboard.d.ts +17 -0
- package/dist/composables/use-clipboard.js +45 -0
- package/dist/composables/use-download.d.ts +7 -0
- package/dist/composables/use-download.js +27 -0
- package/dist/composables/use-local-storage.d.ts +11 -0
- package/dist/composables/use-local-storage.js +34 -0
- package/dist/composables/use-theme.d.ts +44 -0
- package/dist/composables/use-theme.js +95 -0
- package/dist/composables/use-toast.d.ts +127 -0
- package/dist/composables/use-toast.js +330 -0
- package/dist/composables/use-validate.d.ts +21 -0
- package/dist/composables/use-validate.js +31 -0
- package/dist/composables/use-virtual-list.d.ts +34 -0
- package/dist/composables/use-virtual-list.js +144 -0
- package/dist/data-table.d.ts +1 -0
- package/dist/data-table.js +3 -0
- package/dist/index.d.ts +234 -0
- package/dist/index.js +191 -0
- package/dist/shared/align-item-with-trigger.d.ts +84 -0
- package/dist/shared/align-item-with-trigger.js +109 -0
- package/dist/shared/animations.d.ts +6 -0
- package/dist/shared/animations.js +35 -0
- package/dist/shared/context.d.ts +7 -0
- package/dist/shared/context.js +25 -0
- package/dist/shared/data-attrs.d.ts +11 -0
- package/dist/shared/data-attrs.js +14 -0
- package/dist/shared/dismiss-stack.d.ts +14 -0
- package/dist/shared/dismiss-stack.js +52 -0
- package/dist/shared/dispatch-click-with-modifiers.d.ts +9 -0
- package/dist/shared/dispatch-click-with-modifiers.js +22 -0
- package/dist/shared/element-of.d.ts +7 -0
- package/dist/shared/element-of.js +14 -0
- package/dist/shared/focus.d.ts +6 -0
- package/dist/shared/focus.js +35 -0
- package/dist/shared/icons.d.ts +38 -0
- package/dist/shared/icons.js +86 -0
- package/dist/shared/input-filter.d.ts +40 -0
- package/dist/shared/input-filter.js +66 -0
- package/dist/shared/input-modality.d.ts +3 -0
- package/dist/shared/input-modality.js +26 -0
- package/dist/shared/labeling.d.ts +12 -0
- package/dist/shared/labeling.js +29 -0
- package/dist/shared/link.d.ts +12 -0
- package/dist/shared/link.js +19 -0
- package/dist/shared/merge-props.d.ts +18 -0
- package/dist/shared/merge-props.js +67 -0
- package/dist/shared/model-modifiers.d.ts +11 -0
- package/dist/shared/model-modifiers.js +9 -0
- package/dist/shared/part.d.ts +16 -0
- package/dist/shared/part.js +42 -0
- package/dist/shared/popup-state-attrs.d.ts +46 -0
- package/dist/shared/popup-state-attrs.js +23 -0
- package/dist/shared/recycle.d.ts +4 -0
- package/dist/shared/recycle.js +14 -0
- package/dist/shared/route-query.d.ts +23 -0
- package/dist/shared/route-query.js +20 -0
- package/dist/shared/surface.d.ts +27 -0
- package/dist/shared/surface.js +5 -0
- package/dist/shared/swipe-dismiss.d.ts +25 -0
- package/dist/shared/swipe-dismiss.js +37 -0
- package/dist/shared/toast-store.d.ts +98 -0
- package/dist/shared/toast-store.js +220 -0
- package/dist/shared/use-collapsible.d.ts +42 -0
- package/dist/shared/use-collapsible.js +104 -0
- package/dist/shared/use-controlled.d.ts +24 -0
- package/dist/shared/use-controlled.js +39 -0
- package/dist/shared/use-dialog.d.ts +58 -0
- package/dist/shared/use-dialog.js +175 -0
- package/dist/shared/use-dismiss.d.ts +17 -0
- package/dist/shared/use-dismiss.js +24 -0
- package/dist/shared/use-exit-animation.d.ts +12 -0
- package/dist/shared/use-exit-animation.js +15 -0
- package/dist/shared/use-field.d.ts +119 -0
- package/dist/shared/use-field.js +218 -0
- package/dist/shared/use-focus-trap.d.ts +19 -0
- package/dist/shared/use-focus-trap.js +62 -0
- package/dist/shared/use-gauge.d.ts +69 -0
- package/dist/shared/use-gauge.js +99 -0
- package/dist/shared/use-inert-background.d.ts +3 -0
- package/dist/shared/use-inert-background.js +37 -0
- package/dist/shared/use-input.d.ts +64 -0
- package/dist/shared/use-input.js +143 -0
- package/dist/shared/use-listbox.d.ts +276 -0
- package/dist/shared/use-listbox.js +1076 -0
- package/dist/shared/use-menu.d.ts +106 -0
- package/dist/shared/use-menu.js +329 -0
- package/dist/shared/use-menubar.d.ts +39 -0
- package/dist/shared/use-menubar.js +94 -0
- package/dist/shared/use-part-props.d.ts +8 -0
- package/dist/shared/use-part-props.js +15 -0
- package/dist/shared/use-positioning.d.ts +48 -0
- package/dist/shared/use-positioning.js +106 -0
- package/dist/shared/use-roving-focus.d.ts +43 -0
- package/dist/shared/use-roving-focus.js +106 -0
- package/dist/shared/use-roving-items.d.ts +47 -0
- package/dist/shared/use-roving-items.js +64 -0
- package/dist/shared/use-scroll-lock.d.ts +3 -0
- package/dist/shared/use-scroll-lock.js +71 -0
- package/dist/shared/use-toggle-indicator.d.ts +25 -0
- package/dist/shared/use-toggle-indicator.js +37 -0
- package/dist/shared/use-toggle-input.d.ts +68 -0
- package/dist/shared/use-toggle-input.js +106 -0
- package/dist/shared/use-transition-status.d.ts +27 -0
- package/dist/shared/use-transition-status.js +70 -0
- package/dist/shared/use-typeahead.d.ts +19 -0
- package/dist/shared/use-typeahead.js +45 -0
- package/dist/shared/visually-hidden.d.ts +6 -0
- package/dist/shared/visually-hidden.js +18 -0
- package/package.json +66 -4
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Element or component to render. */
|
|
3
|
+
as?: string | object;
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_8: {
|
|
6
|
+
open: boolean;
|
|
7
|
+
side: import("../..").Side;
|
|
8
|
+
align: import("../..").Align;
|
|
9
|
+
transitionStatus: import("../..").TransitionStatus;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_Slots = {} & {
|
|
12
|
+
default?: (props: typeof __VLS_8) => any;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
|
+
as: string | object;
|
|
16
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
20
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
21
|
+
new (): {
|
|
22
|
+
$slots: S;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Part } from "../../shared/part.js";
|
|
2
|
+
import { usePartProps } from "../../shared/use-part-props.js";
|
|
3
|
+
import { useTooltipContext } from "./use-tooltip.js";
|
|
4
|
+
import { createBlock, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
5
|
+
//#region src/components/tooltip/TooltipTrigger.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var TooltipTrigger_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
|
+
name: "TooltipTrigger",
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
__name: "TooltipTrigger",
|
|
10
|
+
props: { as: { default: "button" } },
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const props = __props;
|
|
13
|
+
const { triggerProps, state } = useTooltipContext();
|
|
14
|
+
const merged = usePartProps(triggerProps);
|
|
15
|
+
return (_ctx, _cache) => {
|
|
16
|
+
return openBlock(), createBlock(unref(Part), mergeProps({ as: props.as }, unref(merged)), {
|
|
17
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(state))))]),
|
|
18
|
+
_: 3
|
|
19
|
+
}, 16, ["as"]);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
//#endregion
|
|
24
|
+
export { TooltipTrigger_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface TooltipGroupOptions {
|
|
2
|
+
/** How long the pointer must rest before the first tooltip opens. */
|
|
3
|
+
delay: number;
|
|
4
|
+
/** How long after the pointer leaves before a tooltip hides. */
|
|
5
|
+
closeDelay: number;
|
|
6
|
+
/**
|
|
7
|
+
* How long after the last tooltip closes that the group keeps skipping the
|
|
8
|
+
* open delay.
|
|
9
|
+
*/
|
|
10
|
+
timeout: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TooltipGroup {
|
|
13
|
+
options: () => TooltipGroupOptions;
|
|
14
|
+
/** Whether the next tooltip should skip its open delay. */
|
|
15
|
+
isInstant: () => boolean;
|
|
16
|
+
/** How many members are currently open. */
|
|
17
|
+
openCount: () => number;
|
|
18
|
+
/** Called when a member opens, with how to close it when a neighbor takes over. */
|
|
19
|
+
onOpen: (close: () => void) => void;
|
|
20
|
+
/** Called when a member closes. */
|
|
21
|
+
onClose: (close: () => void) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare const DEFAULT_GROUP_OPTIONS: TooltipGroupOptions;
|
|
24
|
+
/**
|
|
25
|
+
* Shared timing for a set of tooltips.
|
|
26
|
+
*
|
|
27
|
+
* A lone tooltip should wait before appearing, or pointers merely crossing the
|
|
28
|
+
* screen would flash tooltips everywhere. But once one is showing, the user has
|
|
29
|
+
* clearly asked for them, and making each neighbor re-serve the full delay
|
|
30
|
+
* feels broken — so while any member is open, and briefly after the last one
|
|
31
|
+
* closes, the rest open instantly.
|
|
32
|
+
*
|
|
33
|
+
* That "briefly after" window is why this cannot live in a single tooltip: the
|
|
34
|
+
* state has to outlive the component that created it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createTooltipGroup(getOptions: () => TooltipGroupOptions): TooltipGroup;
|
|
37
|
+
/**
|
|
38
|
+
* The group used by tooltips with no `TooltipGroup` above them. Shared across the app
|
|
39
|
+
* so that unrelated tooltips still cooperate, which is what users expect.
|
|
40
|
+
*/
|
|
41
|
+
export declare const defaultTooltipGroup: TooltipGroup;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
//#region src/components/tooltip/tooltip-group.ts
|
|
2
|
+
var DEFAULT_GROUP_OPTIONS = {
|
|
3
|
+
delay: 600,
|
|
4
|
+
closeDelay: 0,
|
|
5
|
+
timeout: 400
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Shared timing for a set of tooltips.
|
|
9
|
+
*
|
|
10
|
+
* A lone tooltip should wait before appearing, or pointers merely crossing the
|
|
11
|
+
* screen would flash tooltips everywhere. But once one is showing, the user has
|
|
12
|
+
* clearly asked for them, and making each neighbor re-serve the full delay
|
|
13
|
+
* feels broken — so while any member is open, and briefly after the last one
|
|
14
|
+
* closes, the rest open instantly.
|
|
15
|
+
*
|
|
16
|
+
* That "briefly after" window is why this cannot live in a single tooltip: the
|
|
17
|
+
* state has to outlive the component that created it.
|
|
18
|
+
*/
|
|
19
|
+
function createTooltipGroup(getOptions) {
|
|
20
|
+
const open = /* @__PURE__ */ new Set();
|
|
21
|
+
let instant = false;
|
|
22
|
+
let graceTimer;
|
|
23
|
+
return {
|
|
24
|
+
options: getOptions,
|
|
25
|
+
isInstant: () => instant,
|
|
26
|
+
openCount: () => open.size,
|
|
27
|
+
onOpen(close) {
|
|
28
|
+
open.add(close);
|
|
29
|
+
instant = true;
|
|
30
|
+
clearTimeout(graceTimer);
|
|
31
|
+
graceTimer = void 0;
|
|
32
|
+
for (const other of [...open]) if (other !== close) other();
|
|
33
|
+
},
|
|
34
|
+
onClose(close) {
|
|
35
|
+
open.delete(close);
|
|
36
|
+
if (open.size > 0) return;
|
|
37
|
+
clearTimeout(graceTimer);
|
|
38
|
+
graceTimer = setTimeout(() => {
|
|
39
|
+
instant = false;
|
|
40
|
+
graceTimer = void 0;
|
|
41
|
+
}, getOptions().timeout);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The group used by tooltips with no `TooltipGroup` above them. Shared across the app
|
|
47
|
+
* so that unrelated tooltips still cooperate, which is what users expect.
|
|
48
|
+
*/
|
|
49
|
+
var defaultTooltipGroup = createTooltipGroup(() => DEFAULT_GROUP_OPTIONS);
|
|
50
|
+
//#endregion
|
|
51
|
+
export { DEFAULT_GROUP_OPTIONS, createTooltipGroup, defaultTooltipGroup };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type ComputedRef, type MaybeRefOrGetter, type Ref, type WritableComputedRef } from 'vue';
|
|
2
|
+
import { type TransitionStatus } from '../../shared/use-transition-status';
|
|
3
|
+
import { type Align, type Side, type UsePositioningOptions } from '../../shared/use-positioning';
|
|
4
|
+
import { type TooltipGroup } from './tooltip-group';
|
|
5
|
+
export declare const provideTooltipGroup: (value: TooltipGroup) => TooltipGroup, useTooltipGroupContext: () => TooltipGroup | null;
|
|
6
|
+
export interface UseTooltipGroupOptions {
|
|
7
|
+
/** How long the pointer must rest before the first tooltip opens. */
|
|
8
|
+
delay?: MaybeRefOrGetter<number | undefined>;
|
|
9
|
+
/** How long after the pointer leaves before a tooltip hides. */
|
|
10
|
+
closeDelay?: MaybeRefOrGetter<number | undefined>;
|
|
11
|
+
/** How long after the last tooltip closes that neighbors still open instantly. */
|
|
12
|
+
timeout?: MaybeRefOrGetter<number | undefined>;
|
|
13
|
+
}
|
|
14
|
+
export declare function useTooltipGroup(options?: UseTooltipGroupOptions): TooltipGroup;
|
|
15
|
+
export interface TooltipState {
|
|
16
|
+
/**
|
|
17
|
+
* Whether the tooltip is open.
|
|
18
|
+
* @attribute `data-open` while open, `data-closed` otherwise
|
|
19
|
+
*/
|
|
20
|
+
open: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The side of the trigger the tooltip ended up on.
|
|
23
|
+
* @attribute `data-side="…"`
|
|
24
|
+
*/
|
|
25
|
+
side: Side;
|
|
26
|
+
/**
|
|
27
|
+
* How the tooltip lines up along that side.
|
|
28
|
+
* @attribute `data-align="…"`
|
|
29
|
+
*/
|
|
30
|
+
align: Align;
|
|
31
|
+
/**
|
|
32
|
+
* Where the tooltip is in its enter or exit animation.
|
|
33
|
+
* @attribute `data-enter-from` as it enters, `data-leave-to` as it leaves
|
|
34
|
+
*/
|
|
35
|
+
transitionStatus: TransitionStatus;
|
|
36
|
+
}
|
|
37
|
+
export interface UseTooltipOptions extends UsePositioningOptions {
|
|
38
|
+
open?: MaybeRefOrGetter<boolean | undefined>;
|
|
39
|
+
defaultOpen?: MaybeRefOrGetter<boolean | undefined>;
|
|
40
|
+
/** Overrides the group's open delay, in milliseconds. */
|
|
41
|
+
delay?: MaybeRefOrGetter<number | undefined>;
|
|
42
|
+
/** Overrides the group's close delay, in milliseconds. */
|
|
43
|
+
closeDelay?: MaybeRefOrGetter<number | undefined>;
|
|
44
|
+
/** Allow the pointer to move into the tooltip without closing it. */
|
|
45
|
+
hoverable?: MaybeRefOrGetter<boolean | undefined>;
|
|
46
|
+
/** Never open. */
|
|
47
|
+
disabled?: MaybeRefOrGetter<boolean | undefined>;
|
|
48
|
+
onChange?: (open: boolean) => void;
|
|
49
|
+
}
|
|
50
|
+
export interface UseTooltipReturn {
|
|
51
|
+
open: WritableComputedRef<boolean>;
|
|
52
|
+
state: ComputedRef<TooltipState>;
|
|
53
|
+
present: Ref<boolean>;
|
|
54
|
+
triggerProps: ComputedRef<Record<string, unknown>>;
|
|
55
|
+
positionerProps: ComputedRef<Record<string, unknown>>;
|
|
56
|
+
popupProps: ComputedRef<Record<string, unknown>>;
|
|
57
|
+
arrowProps: ComputedRef<Record<string, unknown>>;
|
|
58
|
+
}
|
|
59
|
+
export declare function useTooltip(options?: UseTooltipOptions): UseTooltipReturn;
|
|
60
|
+
export declare const provideTooltipContext: (value: UseTooltipReturn) => UseTooltipReturn, useTooltipContext: () => UseTooltipReturn;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { dataAttrs } from "../../shared/data-attrs.js";
|
|
2
|
+
import { useControlled } from "../../shared/use-controlled.js";
|
|
3
|
+
import { createContext } from "../../shared/context.js";
|
|
4
|
+
import { anchoredStateAttrs } from "../../shared/popup-state-attrs.js";
|
|
5
|
+
import { useTransitionStatus } from "../../shared/use-transition-status.js";
|
|
6
|
+
import { useExitAnimation } from "../../shared/use-exit-animation.js";
|
|
7
|
+
import { provideSurface } from "../../shared/surface.js";
|
|
8
|
+
import { usePositioning } from "../../shared/use-positioning.js";
|
|
9
|
+
import { useDismiss } from "../../shared/use-dismiss.js";
|
|
10
|
+
import { elementOf } from "../../shared/element-of.js";
|
|
11
|
+
import { isKeyboardFocus } from "../../shared/input-modality.js";
|
|
12
|
+
import { DEFAULT_GROUP_OPTIONS, createTooltipGroup, defaultTooltipGroup } from "./tooltip-group.js";
|
|
13
|
+
import { computed, onScopeDispose, ref, toValue, useId, watch } from "vue";
|
|
14
|
+
//#region src/components/tooltip/use-tooltip.ts
|
|
15
|
+
var { provideContext: provideTooltipGroup, useOptionalContext: useTooltipGroupContext } = createContext("TooltipGroup");
|
|
16
|
+
function useTooltipGroup(options = {}) {
|
|
17
|
+
const group = createTooltipGroup(() => ({
|
|
18
|
+
delay: toValue(options.delay) ?? DEFAULT_GROUP_OPTIONS.delay,
|
|
19
|
+
closeDelay: toValue(options.closeDelay) ?? DEFAULT_GROUP_OPTIONS.closeDelay,
|
|
20
|
+
timeout: toValue(options.timeout) ?? DEFAULT_GROUP_OPTIONS.timeout
|
|
21
|
+
}));
|
|
22
|
+
provideTooltipGroup(group);
|
|
23
|
+
return group;
|
|
24
|
+
}
|
|
25
|
+
var HOVER_GRACE = 100;
|
|
26
|
+
function useTooltip(options = {}) {
|
|
27
|
+
const tooltipId = useId();
|
|
28
|
+
const group = useTooltipGroupContext() ?? defaultTooltipGroup;
|
|
29
|
+
const disabled = () => toValue(options.disabled) ?? false;
|
|
30
|
+
const hoverable = () => toValue(options.hoverable) ?? true;
|
|
31
|
+
const openDelay = () => toValue(options.delay) ?? group.options().delay;
|
|
32
|
+
const closeDelay = () => toValue(options.closeDelay) ?? group.options().closeDelay;
|
|
33
|
+
const open = useControlled({
|
|
34
|
+
value: () => toValue(options.open),
|
|
35
|
+
defaultValue: () => toValue(options.defaultOpen) ?? false,
|
|
36
|
+
onChange: options.onChange,
|
|
37
|
+
prop: "open",
|
|
38
|
+
empty: false,
|
|
39
|
+
name: "useTooltip",
|
|
40
|
+
label: "open"
|
|
41
|
+
});
|
|
42
|
+
const { mounted, transitionStatus, setMounted } = useTransitionStatus(() => open.value, {
|
|
43
|
+
skipEnter: () => group.isInstant(),
|
|
44
|
+
skipExit: () => group.openCount() > 1
|
|
45
|
+
});
|
|
46
|
+
const positioning = usePositioning({
|
|
47
|
+
...options,
|
|
48
|
+
side: () => toValue(options.side) ?? "top",
|
|
49
|
+
align: () => toValue(options.align) ?? "center",
|
|
50
|
+
sideOffset: () => toValue(options.sideOffset) ?? 8,
|
|
51
|
+
enabled: () => mounted.value
|
|
52
|
+
});
|
|
53
|
+
const triggerEl = positioning.anchorRef;
|
|
54
|
+
const surfaceEl = ref(null);
|
|
55
|
+
let timer;
|
|
56
|
+
const cancel = () => {
|
|
57
|
+
clearTimeout(timer);
|
|
58
|
+
timer = void 0;
|
|
59
|
+
};
|
|
60
|
+
function show(immediate = false) {
|
|
61
|
+
if (disabled()) return;
|
|
62
|
+
cancel();
|
|
63
|
+
if (open.value) return;
|
|
64
|
+
const wait = immediate || group.isInstant() ? 0 : openDelay();
|
|
65
|
+
if (wait <= 0) {
|
|
66
|
+
open.value = true;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
timer = setTimeout(() => {
|
|
70
|
+
open.value = true;
|
|
71
|
+
}, wait);
|
|
72
|
+
}
|
|
73
|
+
function hide(immediate = false) {
|
|
74
|
+
cancel();
|
|
75
|
+
if (!open.value) return;
|
|
76
|
+
const wait = immediate ? 0 : hoverable() ? Math.max(closeDelay(), HOVER_GRACE) : closeDelay();
|
|
77
|
+
if (wait <= 0) {
|
|
78
|
+
open.value = false;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
timer = setTimeout(() => {
|
|
82
|
+
open.value = false;
|
|
83
|
+
}, wait);
|
|
84
|
+
}
|
|
85
|
+
const closeNow = () => hide(true);
|
|
86
|
+
watch(open, (isOpen) => isOpen ? group.onOpen(closeNow) : group.onClose(closeNow), { flush: "post" });
|
|
87
|
+
onScopeDispose(() => {
|
|
88
|
+
cancel();
|
|
89
|
+
if (open.value) group.onClose(closeNow);
|
|
90
|
+
});
|
|
91
|
+
const state = computed(() => ({
|
|
92
|
+
open: open.value,
|
|
93
|
+
side: positioning.renderedSide.value,
|
|
94
|
+
align: positioning.renderedAlign.value,
|
|
95
|
+
transitionStatus: transitionStatus.value
|
|
96
|
+
}));
|
|
97
|
+
const hooks = computed(() => dataAttrs(state.value, { ...anchoredStateAttrs }));
|
|
98
|
+
useDismiss({
|
|
99
|
+
enabled: () => mounted.value,
|
|
100
|
+
elements: () => [surfaceEl.value, triggerEl.value],
|
|
101
|
+
escapeKey: true,
|
|
102
|
+
outsidePress: false,
|
|
103
|
+
onDismiss: () => hide(true)
|
|
104
|
+
});
|
|
105
|
+
useExitAnimation({
|
|
106
|
+
open: () => open.value,
|
|
107
|
+
mounted,
|
|
108
|
+
setMounted,
|
|
109
|
+
element: surfaceEl
|
|
110
|
+
});
|
|
111
|
+
const triggerProps = computed(() => ({
|
|
112
|
+
...hooks.value,
|
|
113
|
+
"data-part": "trigger",
|
|
114
|
+
"aria-describedby": mounted.value ? tooltipId : void 0,
|
|
115
|
+
ref: (el) => {
|
|
116
|
+
triggerEl.value = elementOf(el);
|
|
117
|
+
},
|
|
118
|
+
onPointerenter(event) {
|
|
119
|
+
if (event.pointerType === "touch") return;
|
|
120
|
+
show();
|
|
121
|
+
},
|
|
122
|
+
onPointerleave(event) {
|
|
123
|
+
if (event.pointerType === "touch") return;
|
|
124
|
+
hide();
|
|
125
|
+
},
|
|
126
|
+
onPointerdown() {
|
|
127
|
+
hide(true);
|
|
128
|
+
},
|
|
129
|
+
onFocus() {
|
|
130
|
+
if (isKeyboardFocus()) show(true);
|
|
131
|
+
},
|
|
132
|
+
onBlur() {
|
|
133
|
+
hide(true);
|
|
134
|
+
}
|
|
135
|
+
}));
|
|
136
|
+
const popupProps = computed(() => ({
|
|
137
|
+
...hooks.value,
|
|
138
|
+
id: tooltipId,
|
|
139
|
+
role: "tooltip",
|
|
140
|
+
ref: (el) => {
|
|
141
|
+
surfaceEl.value = el ?? null;
|
|
142
|
+
},
|
|
143
|
+
onPointerenter() {
|
|
144
|
+
if (hoverable()) cancel();
|
|
145
|
+
},
|
|
146
|
+
onPointerleave() {
|
|
147
|
+
if (hoverable()) hide();
|
|
148
|
+
}
|
|
149
|
+
}));
|
|
150
|
+
provideSurface({
|
|
151
|
+
present: mounted,
|
|
152
|
+
state,
|
|
153
|
+
popupProps,
|
|
154
|
+
positionerProps: positioning.positionerProps,
|
|
155
|
+
arrowProps: positioning.arrowProps
|
|
156
|
+
});
|
|
157
|
+
return {
|
|
158
|
+
open,
|
|
159
|
+
state,
|
|
160
|
+
present: mounted,
|
|
161
|
+
triggerProps,
|
|
162
|
+
positionerProps: positioning.positionerProps,
|
|
163
|
+
popupProps,
|
|
164
|
+
arrowProps: positioning.arrowProps
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
var { provideContext: provideTooltipContext, useContext: useTooltipContext } = createContext("Tooltip");
|
|
168
|
+
//#endregion
|
|
169
|
+
export { provideTooltipContext, provideTooltipGroup, useTooltip, useTooltipContext, useTooltipGroup, useTooltipGroupContext };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter } from 'vue';
|
|
2
|
+
/** An element, a component, or a list of either: a template ref, a getter or the value itself. */
|
|
3
|
+
export type ClickOutsideTarget = MaybeRefOrGetter<unknown>;
|
|
4
|
+
export interface UseClickOutsideOptions {
|
|
5
|
+
/** More that counts as inside: the button that toggles the target, say. */
|
|
6
|
+
ignore?: ClickOutsideTarget[];
|
|
7
|
+
/** @default true */
|
|
8
|
+
enabled?: MaybeRefOrGetter<boolean | undefined>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Calls `handler` on a press outside `target`. A press inside an open overlay
|
|
12
|
+
* (a menu, a select's list) counts as inside, wherever it is portaled to, and
|
|
13
|
+
* nothing fires while `target` isn't on the page. Returns a function that stops
|
|
14
|
+
* listening; it also stops with the component.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useClickOutside(target: ClickOutsideTarget, handler: (event: PointerEvent) => void, options?: UseClickOutsideOptions): () => void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { isInsideDismissLayer } from "../shared/dismiss-stack.js";
|
|
2
|
+
import { elementOf } from "../shared/element-of.js";
|
|
3
|
+
import { getCurrentScope, onScopeDispose, toValue } from "vue";
|
|
4
|
+
//#region src/composables/use-click-outside.ts
|
|
5
|
+
function elementsOf(targets) {
|
|
6
|
+
return targets.flatMap((target) => {
|
|
7
|
+
const value = toValue(target);
|
|
8
|
+
return Array.isArray(value) ? value.map((item) => toValue(item)) : [value];
|
|
9
|
+
}).map(elementOf).filter((element) => element !== null);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Calls `handler` on a press outside `target`. A press inside an open overlay
|
|
13
|
+
* (a menu, a select's list) counts as inside, wherever it is portaled to, and
|
|
14
|
+
* nothing fires while `target` isn't on the page. Returns a function that stops
|
|
15
|
+
* listening; it also stops with the component.
|
|
16
|
+
*/
|
|
17
|
+
function useClickOutside(target, handler, options = {}) {
|
|
18
|
+
if (typeof document === "undefined") return () => {};
|
|
19
|
+
function onPointerDown(event) {
|
|
20
|
+
if (!(toValue(options.enabled) ?? true)) return;
|
|
21
|
+
const inside = elementsOf([target]);
|
|
22
|
+
if (inside.length === 0) return;
|
|
23
|
+
const path = event.composedPath();
|
|
24
|
+
if ([...inside, ...elementsOf(options.ignore ?? [])].some((element) => path.includes(element))) return;
|
|
25
|
+
if (isInsideDismissLayer(path)) return;
|
|
26
|
+
handler(event);
|
|
27
|
+
}
|
|
28
|
+
document.addEventListener("pointerdown", onPointerDown, true);
|
|
29
|
+
const stop = () => document.removeEventListener("pointerdown", onPointerDown, true);
|
|
30
|
+
if (getCurrentScope()) onScopeDispose(stop);
|
|
31
|
+
return stop;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { useClickOutside };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ComputedRef, type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
export type ClipboardStatus = 'idle' | 'copied' | 'error';
|
|
3
|
+
export type ClipboardId = string | number;
|
|
4
|
+
export interface UseClipboardOptions {
|
|
5
|
+
/** How long `copied` (or `error`) stays up before settling back. @default 1500 */
|
|
6
|
+
timeout?: MaybeRefOrGetter<number | undefined>;
|
|
7
|
+
}
|
|
8
|
+
export interface UseClipboardReturn {
|
|
9
|
+
copy: (text: string, id?: ClipboardId) => Promise<boolean>;
|
|
10
|
+
status: Readonly<Ref<ClipboardStatus>>;
|
|
11
|
+
copied: ComputedRef<boolean>;
|
|
12
|
+
/** The id passed with the last successful copy, so one instance can serve a list. */
|
|
13
|
+
copiedId: Readonly<Ref<ClipboardId | null>>;
|
|
14
|
+
error: Readonly<Ref<unknown>>;
|
|
15
|
+
reset: () => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function useClipboard(options?: UseClipboardOptions): UseClipboardReturn;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { computed, onScopeDispose, readonly, ref, toValue } from "vue";
|
|
2
|
+
//#region src/composables/use-clipboard.ts
|
|
3
|
+
function useClipboard(options = {}) {
|
|
4
|
+
const status = ref("idle");
|
|
5
|
+
const copiedId = ref(null);
|
|
6
|
+
const error = ref(null);
|
|
7
|
+
let timer;
|
|
8
|
+
function reset() {
|
|
9
|
+
clearTimeout(timer);
|
|
10
|
+
status.value = "idle";
|
|
11
|
+
copiedId.value = null;
|
|
12
|
+
error.value = null;
|
|
13
|
+
}
|
|
14
|
+
function settle(next) {
|
|
15
|
+
clearTimeout(timer);
|
|
16
|
+
status.value = next;
|
|
17
|
+
timer = setTimeout(reset, toValue(options.timeout) ?? 1500);
|
|
18
|
+
}
|
|
19
|
+
async function copy(text, id) {
|
|
20
|
+
if (!text) return false;
|
|
21
|
+
try {
|
|
22
|
+
await navigator.clipboard.writeText(text);
|
|
23
|
+
copiedId.value = id ?? null;
|
|
24
|
+
error.value = null;
|
|
25
|
+
settle("copied");
|
|
26
|
+
return true;
|
|
27
|
+
} catch (reason) {
|
|
28
|
+
copiedId.value = null;
|
|
29
|
+
error.value = reason;
|
|
30
|
+
settle("error");
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
onScopeDispose(() => clearTimeout(timer));
|
|
35
|
+
return {
|
|
36
|
+
copy,
|
|
37
|
+
status: readonly(status),
|
|
38
|
+
copied: computed(() => status.value === "copied"),
|
|
39
|
+
copiedId: readonly(copiedId),
|
|
40
|
+
error: readonly(error),
|
|
41
|
+
reset
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { useClipboard };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Saves `content` as a file: a `Blob` as it is, anything else as JSON. A CSV
|
|
3
|
+
* gets `.csv` when `filename` has no such ending.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useDownload(content: unknown, filename: string): void;
|
|
6
|
+
/** Saves rows as a CSV file, its columns the first row's keys. Nothing for no rows. */
|
|
7
|
+
export declare function useExportCsv<T extends object>(data: T[], filename: string): void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { formatCsv } from "@vunset/utils";
|
|
2
|
+
//#region src/composables/use-download.ts
|
|
3
|
+
/**
|
|
4
|
+
* Saves `content` as a file: a `Blob` as it is, anything else as JSON. A CSV
|
|
5
|
+
* gets `.csv` when `filename` has no such ending.
|
|
6
|
+
*/
|
|
7
|
+
function useDownload(content, filename) {
|
|
8
|
+
const blob = content instanceof Blob ? content : new Blob([JSON.stringify(content, null, 2)], { type: "application/json;charset=utf-8" });
|
|
9
|
+
const extension = blob.type.startsWith("text/csv") && !/\.csv$/i.test(filename) ? ".csv" : "";
|
|
10
|
+
const url = URL.createObjectURL(blob);
|
|
11
|
+
const link = document.createElement("a");
|
|
12
|
+
link.href = url;
|
|
13
|
+
link.download = filename + extension;
|
|
14
|
+
document.body.appendChild(link);
|
|
15
|
+
link.click();
|
|
16
|
+
link.remove();
|
|
17
|
+
URL.revokeObjectURL(url);
|
|
18
|
+
}
|
|
19
|
+
/** Saves rows as a CSV file, its columns the first row's keys. Nothing for no rows. */
|
|
20
|
+
function useExportCsv(data, filename) {
|
|
21
|
+
if (data.length === 0) return;
|
|
22
|
+
const headers = Object.keys(data[0]);
|
|
23
|
+
const rows = data.map((row) => headers.map((key) => row[key]));
|
|
24
|
+
useDownload(formatCsv(headers, rows), filename);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { useDownload, useExportCsv };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface UseLocalStorageReturn {
|
|
2
|
+
/** The value stored under `key`, parsed; `undefined` when there is none, or it doesn't parse. */
|
|
3
|
+
getItem: <T>(key: string) => T | undefined;
|
|
4
|
+
/** Stores `data` as JSON. Nothing to store (`null`, `undefined`, an empty list) removes the key. */
|
|
5
|
+
setItem: (key: string, data: unknown) => void;
|
|
6
|
+
removeItem: (key: string) => void;
|
|
7
|
+
}
|
|
8
|
+
/** @internal Also `useTheme`'s. */
|
|
9
|
+
export declare function storage(): Storage | undefined;
|
|
10
|
+
/** JSON in `localStorage`, safe to call where there is none. */
|
|
11
|
+
export declare function useLocalStorage(): UseLocalStorageReturn;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/composables/use-local-storage.ts
|
|
2
|
+
/** @internal Also `useTheme`'s. */
|
|
3
|
+
function storage() {
|
|
4
|
+
try {
|
|
5
|
+
return typeof localStorage === "undefined" ? void 0 : localStorage;
|
|
6
|
+
} catch {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/** JSON in `localStorage`, safe to call where there is none. */
|
|
11
|
+
function useLocalStorage() {
|
|
12
|
+
return {
|
|
13
|
+
getItem(key) {
|
|
14
|
+
const store = storage();
|
|
15
|
+
const raw = store?.getItem(key);
|
|
16
|
+
if (!raw) return void 0;
|
|
17
|
+
try {
|
|
18
|
+
return JSON.parse(raw);
|
|
19
|
+
} catch {
|
|
20
|
+
store?.removeItem(key);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
setItem(key, data) {
|
|
25
|
+
if (data === null || data === void 0 || Array.isArray(data) && data.length === 0) storage()?.removeItem(key);
|
|
26
|
+
else storage()?.setItem(key, JSON.stringify(data));
|
|
27
|
+
},
|
|
28
|
+
removeItem(key) {
|
|
29
|
+
storage()?.removeItem(key);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { storage, useLocalStorage };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ComputedRef, type WritableComputedRef } from 'vue';
|
|
2
|
+
/** What the user chose: a scheme, or whatever the system prefers. */
|
|
3
|
+
export type ThemeMode = 'light' | 'dark' | 'system';
|
|
4
|
+
/** Where the choice is kept: `localStorage` by default, or anything else, an app's settings object included. */
|
|
5
|
+
export interface ThemeStorage {
|
|
6
|
+
/** The stored choice; anything but a `ThemeMode` counts as none. */
|
|
7
|
+
get: () => unknown;
|
|
8
|
+
set: (theme: ThemeMode) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface UseThemeOptions {
|
|
11
|
+
/** Where the choice is remembered, in `localStorage`. `null` keeps it for the page's life only. @default 'theme' */
|
|
12
|
+
storageKey?: string | null;
|
|
13
|
+
/** Keeps the choice somewhere else than `localStorage`; `storageKey` is then unused. */
|
|
14
|
+
storage?: ThemeStorage;
|
|
15
|
+
/** The choice before anything is stored. @default 'system' */
|
|
16
|
+
defaultTheme?: ThemeMode;
|
|
17
|
+
/** The browser's UI color for each scheme, written to `<meta name="theme-color">`. */
|
|
18
|
+
themeColor?: {
|
|
19
|
+
light: string;
|
|
20
|
+
dark: string;
|
|
21
|
+
};
|
|
22
|
+
/** Cross-fades the page on a change, where the browser has view transitions and motion isn't reduced. */
|
|
23
|
+
viewTransition?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface UseThemeReturn {
|
|
26
|
+
/** The choice, settable: `light`, `dark` or `system`. */
|
|
27
|
+
theme: WritableComputedRef<ThemeMode>;
|
|
28
|
+
/** What is showing: `system` resolved to `light` or `dark`. */
|
|
29
|
+
resolved: ComputedRef<'light' | 'dark'>;
|
|
30
|
+
setTheme: (theme: ThemeMode) => void;
|
|
31
|
+
/** Light to dark and back, from what is showing; leaves `system`. */
|
|
32
|
+
toggle: () => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The page's color scheme: light, dark, or the system's, applied to `<html>` and
|
|
36
|
+
* remembered. Every call shares one choice; the first call's options set it up.
|
|
37
|
+
*/
|
|
38
|
+
export declare function useTheme(options?: UseThemeOptions): UseThemeReturn;
|
|
39
|
+
/**
|
|
40
|
+
* For a test, or an app that tears its page down: forgets the choice and the
|
|
41
|
+
* listeners, so the next `useTheme` starts over.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export declare function resetTheme(): void;
|