@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,66 @@
|
|
|
1
|
+
//#region src/shared/input-filter.ts
|
|
2
|
+
var compiled = /* @__PURE__ */ new Map();
|
|
3
|
+
/**
|
|
4
|
+
* Turns a filter into a predicate over the prospective value.
|
|
5
|
+
*
|
|
6
|
+
* Returns `null` for a source that will not compile, so a typo in a filter
|
|
7
|
+
* leaves the control usable instead of rejecting every keystroke.
|
|
8
|
+
*/
|
|
9
|
+
function toFilterPredicate(filter) {
|
|
10
|
+
if (typeof filter === "function") return filter;
|
|
11
|
+
if (typeof filter === "string") {
|
|
12
|
+
if (!compiled.has(filter)) try {
|
|
13
|
+
compiled.set(filter, new RegExp(`^(?:${filter})$`));
|
|
14
|
+
} catch {
|
|
15
|
+
if (process.env.NODE_ENV !== "production") console.warn(`[useField] The filter ${JSON.stringify(filter)} is not a valid regular expression, so nothing is being filtered.`);
|
|
16
|
+
compiled.set(filter, null);
|
|
17
|
+
}
|
|
18
|
+
const expression = compiled.get(filter);
|
|
19
|
+
return expression && ((next) => expression.test(next));
|
|
20
|
+
}
|
|
21
|
+
const expression = filter.global || filter.sticky ? new RegExp(filter.source, filter.flags.replace(/[gy]/g, "")) : filter;
|
|
22
|
+
return (next) => expression.test(next);
|
|
23
|
+
}
|
|
24
|
+
/** The text an insertion is about to add, or `null` when it cannot be read. */
|
|
25
|
+
function insertedText(event) {
|
|
26
|
+
if (event.data != null) return event.data;
|
|
27
|
+
return event.dataTransfer?.getData("text/plain") ?? null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The value the control would hold if the insertion went ahead.
|
|
31
|
+
*
|
|
32
|
+
* Returns `null` when the element exposes no selection — `number`, `email` and
|
|
33
|
+
* `date` inputs among others — in which case only the inserted text itself can
|
|
34
|
+
* be judged.
|
|
35
|
+
*/
|
|
36
|
+
function prospectiveValue(element, inserted) {
|
|
37
|
+
const start = element.selectionStart;
|
|
38
|
+
const end = element.selectionEnd;
|
|
39
|
+
if (start === null || end === null) return null;
|
|
40
|
+
return element.value.slice(0, start) + inserted + element.value.slice(end);
|
|
41
|
+
}
|
|
42
|
+
/** Digits, an optional leading sign and at most one decimal point. */
|
|
43
|
+
var NUMERIC = /^-?\d*(?:\.\d*)?$/;
|
|
44
|
+
/** The same without the sign, for a control whose `min` rules negatives out. */
|
|
45
|
+
var NON_NEGATIVE_NUMERIC = /^\d*(?:\.\d*)?$/;
|
|
46
|
+
var bound = (raw) => {
|
|
47
|
+
const number = raw === void 0 || raw === "" ? NaN : Number(raw);
|
|
48
|
+
return Number.isFinite(number) ? number : void 0;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Whether a typed number breaks `min`, `max` or `step`, as a native number
|
|
52
|
+
* input would judge it. A half-typed `-` or `.` is no number yet, so it passes.
|
|
53
|
+
*/
|
|
54
|
+
function outOfRange(value, limits) {
|
|
55
|
+
const number = value.trim() === "" ? NaN : Number(value);
|
|
56
|
+
if (!Number.isFinite(number)) return false;
|
|
57
|
+
const min = bound(limits.min);
|
|
58
|
+
const max = bound(limits.max);
|
|
59
|
+
if (min !== void 0 && number < min || max !== void 0 && number > max) return true;
|
|
60
|
+
const step = bound(limits.step);
|
|
61
|
+
if (step === void 0 || step <= 0) return false;
|
|
62
|
+
const steps = (number - (min ?? 0)) / step;
|
|
63
|
+
return Math.abs(steps - Math.round(steps)) > 1e-9;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
export { NON_NEGATIVE_NUMERIC, NUMERIC, insertedText, outOfRange, prospectiveValue, toFilterPredicate };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/shared/input-modality.ts
|
|
2
|
+
/** How the user most recently interacted, used to decide whether focus deserves a visible response. */
|
|
3
|
+
var modality = "keyboard";
|
|
4
|
+
var listening = false;
|
|
5
|
+
function onPointer() {
|
|
6
|
+
modality = "pointer";
|
|
7
|
+
}
|
|
8
|
+
function onKeydown(event) {
|
|
9
|
+
if (event.metaKey || event.altKey || event.ctrlKey) return;
|
|
10
|
+
modality = "keyboard";
|
|
11
|
+
}
|
|
12
|
+
function ensureListening() {
|
|
13
|
+
if (listening || typeof document === "undefined") return;
|
|
14
|
+
listening = true;
|
|
15
|
+
document.addEventListener("pointerdown", onPointer, true);
|
|
16
|
+
document.addEventListener("keydown", onKeydown, true);
|
|
17
|
+
}
|
|
18
|
+
function getInputModality() {
|
|
19
|
+
ensureListening();
|
|
20
|
+
return modality;
|
|
21
|
+
}
|
|
22
|
+
function isKeyboardFocus() {
|
|
23
|
+
return getInputModality() === "keyboard";
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { getInputModality, isKeyboardFocus };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ComputedRef, type Ref } from 'vue';
|
|
2
|
+
export type RegisterId = (id: string) => () => void;
|
|
3
|
+
export interface Labeling {
|
|
4
|
+
titleId: Ref<string | undefined>;
|
|
5
|
+
descriptionId: Ref<string | undefined>;
|
|
6
|
+
registerTitle: RegisterId;
|
|
7
|
+
registerDescription: RegisterId;
|
|
8
|
+
}
|
|
9
|
+
/** The ids a root's title and description register, for its `aria-labelledby`/`-describedby`. */
|
|
10
|
+
export declare function useLabeling(): Labeling;
|
|
11
|
+
/** The part's id, registered with its root while mounted. */
|
|
12
|
+
export declare function useRegisteredId(register: RegisterId): ComputedRef<string>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { computed, ref, useAttrs, useId, watch } from "vue";
|
|
2
|
+
//#region src/shared/labeling.ts
|
|
3
|
+
/** The ids a root's title and description register, for its `aria-labelledby`/`-describedby`. */
|
|
4
|
+
function useLabeling() {
|
|
5
|
+
const titleId = ref();
|
|
6
|
+
const descriptionId = ref();
|
|
7
|
+
const slot = (target) => (id) => {
|
|
8
|
+
target.value = id;
|
|
9
|
+
return () => {
|
|
10
|
+
if (target.value === id) target.value = void 0;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
titleId,
|
|
15
|
+
descriptionId,
|
|
16
|
+
registerTitle: slot(titleId),
|
|
17
|
+
registerDescription: slot(descriptionId)
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** The part's id, registered with its root while mounted. */
|
|
21
|
+
function useRegisteredId(register) {
|
|
22
|
+
const attrs = useAttrs();
|
|
23
|
+
const generated = useId();
|
|
24
|
+
const id = computed(() => attrs.id ?? generated);
|
|
25
|
+
watch(id, (next, _, onCleanup) => onCleanup(register(next)), { immediate: true });
|
|
26
|
+
return id;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { useLabeling, useRegisteredId };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* What a link the library draws renders as when it isn't told: a page of a
|
|
4
|
+
* paginator, a menu item with `to`. `a` by default, with `to` as its `href`;
|
|
5
|
+
* a router link takes `to` as it is. The Nuxt module sets `NuxtLink`.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* configureLink(RouterLink);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function configureLink(component: string | Component): void;
|
|
12
|
+
export declare function defaultLink(): string | Component;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/shared/link.ts
|
|
2
|
+
var link = "a";
|
|
3
|
+
/**
|
|
4
|
+
* What a link the library draws renders as when it isn't told: a page of a
|
|
5
|
+
* paginator, a menu item with `to`. `a` by default, with `to` as its `href`;
|
|
6
|
+
* a router link takes `to` as it is. The Nuxt module sets `NuxtLink`.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* configureLink(RouterLink);
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
function configureLink(component) {
|
|
13
|
+
link = component;
|
|
14
|
+
}
|
|
15
|
+
function defaultLink() {
|
|
16
|
+
return link;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { configureLink, defaultLink };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** A DOM event whose caller-side handler can stop the library's own handler. */
|
|
2
|
+
export type PreventableEvent<E extends Event = Event> = E & {
|
|
3
|
+
/** Skips the handlers merged in before this one — the library's own. */
|
|
4
|
+
preventInternalHandler: () => void;
|
|
5
|
+
};
|
|
6
|
+
export type EventHandler = (...args: any[]) => any;
|
|
7
|
+
type Props = Record<string, any>;
|
|
8
|
+
/**
|
|
9
|
+
* Merges sets of Vue props; a later set wins a conflict, as with `Object.assign`.
|
|
10
|
+
*
|
|
11
|
+
* - `class` and `style` from every set are combined, later declarations winning.
|
|
12
|
+
* - `onXxx` listeners from every set all run, the last set's first. The library
|
|
13
|
+
* passes its own bag first and the caller's attrs last, so the caller's
|
|
14
|
+
* handler runs first and can call `event.preventInternalHandler()` to skip
|
|
15
|
+
* the ones before it.
|
|
16
|
+
*/
|
|
17
|
+
export declare function mergeProps(...sets: (Props | undefined)[]): Props;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { normalizeClass, normalizeStyle } from "vue";
|
|
2
|
+
//#region src/shared/merge-props.ts
|
|
3
|
+
var LISTENER = /^on[A-Z]/;
|
|
4
|
+
/**
|
|
5
|
+
* Merges sets of Vue props; a later set wins a conflict, as with `Object.assign`.
|
|
6
|
+
*
|
|
7
|
+
* - `class` and `style` from every set are combined, later declarations winning.
|
|
8
|
+
* - `onXxx` listeners from every set all run, the last set's first. The library
|
|
9
|
+
* passes its own bag first and the caller's attrs last, so the caller's
|
|
10
|
+
* handler runs first and can call `event.preventInternalHandler()` to skip
|
|
11
|
+
* the ones before it.
|
|
12
|
+
*/
|
|
13
|
+
function mergeProps$1(...sets) {
|
|
14
|
+
const merged = {};
|
|
15
|
+
const listeners = /* @__PURE__ */ new Map();
|
|
16
|
+
const classes = [];
|
|
17
|
+
const styles = [];
|
|
18
|
+
for (const set of sets) {
|
|
19
|
+
if (!set) continue;
|
|
20
|
+
for (const [key, value] of Object.entries(set)) if (key === "class") classes.push(value);
|
|
21
|
+
else if (key === "style") styles.push(value);
|
|
22
|
+
else if (LISTENER.test(key) && isListenerValue(value)) addListeners(listeners, key, value);
|
|
23
|
+
else merged[key] = value;
|
|
24
|
+
}
|
|
25
|
+
const className = normalizeClass(classes);
|
|
26
|
+
if (className) merged.class = className;
|
|
27
|
+
const style = normalizeStyle(styles);
|
|
28
|
+
if (style && Object.keys(style).length > 0) merged.style = style;
|
|
29
|
+
for (const [key, groups] of listeners) merged[key] = dispatcher(groups);
|
|
30
|
+
return merged;
|
|
31
|
+
}
|
|
32
|
+
/** A listener prop may hold one function, several (as Vue itself merges them), or nothing. */
|
|
33
|
+
function isListenerValue(value) {
|
|
34
|
+
return value === void 0 || typeof value === "function" || Array.isArray(value);
|
|
35
|
+
}
|
|
36
|
+
/** Keeps each set's listeners as a group, so an array keeps its own order. */
|
|
37
|
+
function addListeners(listeners, key, value) {
|
|
38
|
+
const group = [value].flat().filter((handler) => typeof handler === "function");
|
|
39
|
+
if (group.length === 0) return;
|
|
40
|
+
const groups = listeners.get(key);
|
|
41
|
+
if (groups) groups.push(group);
|
|
42
|
+
else listeners.set(key, [group]);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* One listener running the sets' groups from the last to the first. A DOM
|
|
46
|
+
* event gets `preventInternalHandler` even when there is a single handler, so a
|
|
47
|
+
* caller can call it without knowing whether the library attached one; its
|
|
48
|
+
* effect ends with this element's handlers, not with the event.
|
|
49
|
+
*/
|
|
50
|
+
function dispatcher(groups) {
|
|
51
|
+
const [outermost, ...inner] = [...groups].reverse().flat();
|
|
52
|
+
return (...args) => {
|
|
53
|
+
const [event] = args;
|
|
54
|
+
let skipRest = false;
|
|
55
|
+
if (typeof Event !== "undefined" && event instanceof Event) event.preventInternalHandler = () => {
|
|
56
|
+
skipRest = true;
|
|
57
|
+
};
|
|
58
|
+
const result = outermost(...args);
|
|
59
|
+
for (const handler of inner) {
|
|
60
|
+
if (skipRest) break;
|
|
61
|
+
handler(...args);
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { mergeProps$1 as mergeProps };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** `v-model.optional` writes `undefined` once the value is emptied: `''`, `[]` or `null`. */
|
|
2
|
+
export interface ModelModifiers {
|
|
3
|
+
optional?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** A text input's: `.trim` and `.number` as on an `<input>`, which Vue applies to the emitted value. */
|
|
6
|
+
export interface InputModelModifiers extends ModelModifiers {
|
|
7
|
+
trim?: boolean;
|
|
8
|
+
number?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** The value as `v-model` receives it under `modifiers`. */
|
|
11
|
+
export declare function applyModelModifiers<T>(value: T, modifiers?: InputModelModifiers): T | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/shared/model-modifiers.ts
|
|
2
|
+
/** The value as `v-model` receives it under `modifiers`. */
|
|
3
|
+
function applyModelModifiers(value, modifiers) {
|
|
4
|
+
if (!modifiers?.optional) return value;
|
|
5
|
+
const text = modifiers.trim && typeof value === "string" ? value.trim() : value;
|
|
6
|
+
return text === null || text === "" || Array.isArray(text) && text.length === 0 ? void 0 : value;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { applyModelModifiers };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Component, type FunctionalComponent, type VNode } from 'vue';
|
|
2
|
+
/** The one element or component among `nodes`, past fragments, comments and blank text; `undefined` for none or several. */
|
|
3
|
+
export declare function singleChild(nodes: VNode[] | undefined): VNode | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Renders a part's `as` with `h()`. `<component :is="'button'">` first looks for
|
|
6
|
+
* a registered component of that name, case-insensitively, so an app's global
|
|
7
|
+
* `Button` would stand in for every native button the library renders.
|
|
8
|
+
*
|
|
9
|
+
* `as="child"` renders no element of its own: the one element or component in
|
|
10
|
+
* the slot becomes the part. Its props merge with the part's as a caller's do:
|
|
11
|
+
* its own win, and its handlers run first. A ref on a functional component is
|
|
12
|
+
* the element it renders, so the part still gets its element.
|
|
13
|
+
*/
|
|
14
|
+
export declare const Part: FunctionalComponent<{
|
|
15
|
+
as: string | Component;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { mergeProps as mergeProps$1 } from "./merge-props.js";
|
|
2
|
+
import { Comment, Fragment, Text, cloneVNode, h } from "vue";
|
|
3
|
+
//#region src/shared/part.ts
|
|
4
|
+
/** The one element or component among `nodes`, past fragments, comments and blank text; `undefined` for none or several. */
|
|
5
|
+
function singleChild(nodes) {
|
|
6
|
+
const found = [];
|
|
7
|
+
const walk = (list) => {
|
|
8
|
+
for (const node of list) if (node.type === Fragment) walk(node.children);
|
|
9
|
+
else if (node.type === Comment) continue;
|
|
10
|
+
else if (node.type === Text && !String(node.children).trim()) continue;
|
|
11
|
+
else found.push(node);
|
|
12
|
+
};
|
|
13
|
+
walk(nodes ?? []);
|
|
14
|
+
return found.length === 1 && found[0].type !== Text ? found[0] : void 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Renders a part's `as` with `h()`. `<component :is="'button'">` first looks for
|
|
18
|
+
* a registered component of that name, case-insensitively, so an app's global
|
|
19
|
+
* `Button` would stand in for every native button the library renders.
|
|
20
|
+
*
|
|
21
|
+
* `as="child"` renders no element of its own: the one element or component in
|
|
22
|
+
* the slot becomes the part. Its props merge with the part's as a caller's do:
|
|
23
|
+
* its own win, and its handlers run first. A ref on a functional component is
|
|
24
|
+
* the element it renders, so the part still gets its element.
|
|
25
|
+
*/
|
|
26
|
+
var Part = (props, { attrs, slots }) => {
|
|
27
|
+
if (props.as === "child") {
|
|
28
|
+
const child = singleChild(slots.default?.());
|
|
29
|
+
if (child) {
|
|
30
|
+
const clone = cloneVNode(child, {});
|
|
31
|
+
clone.props = mergeProps$1(attrs, child.props ?? {});
|
|
32
|
+
return clone;
|
|
33
|
+
}
|
|
34
|
+
if (process.env.NODE_ENV !== "production") console.warn("[vunset] `as=\"child\"` needs exactly one element or component in its slot.");
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return typeof props.as === "string" ? h(props.as, attrs, slots.default?.()) : h(props.as, attrs, slots);
|
|
38
|
+
};
|
|
39
|
+
Part.props = ["as"];
|
|
40
|
+
Part.inheritAttrs = false;
|
|
41
|
+
//#endregion
|
|
42
|
+
export { Part, singleChild };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { TransitionStatus } from './use-transition-status';
|
|
2
|
+
/**
|
|
3
|
+
* The `data-*` mapping every dismissable surface shares.
|
|
4
|
+
*
|
|
5
|
+
* `open` is emitted in both positions so CSS needs no `:not()` selector, and the
|
|
6
|
+
* transition phases become the "from" hooks an enter or exit animation needs.
|
|
7
|
+
* `idle` deliberately emits nothing — it is the resting state, not a phase.
|
|
8
|
+
*/
|
|
9
|
+
export declare const popupStateAttrs: {
|
|
10
|
+
open: (value: boolean) => {
|
|
11
|
+
'data-open': string;
|
|
12
|
+
'data-closed'?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
'data-closed': string;
|
|
15
|
+
'data-open'?: undefined;
|
|
16
|
+
};
|
|
17
|
+
transitionStatus: (value: TransitionStatus) => {
|
|
18
|
+
'data-enter-from': string;
|
|
19
|
+
'data-leave-to'?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
'data-leave-to': string;
|
|
22
|
+
'data-enter-from'?: undefined;
|
|
23
|
+
} | null;
|
|
24
|
+
};
|
|
25
|
+
export declare const anchoredStateAttrs: {
|
|
26
|
+
side: (value: string) => {
|
|
27
|
+
'data-side': string;
|
|
28
|
+
};
|
|
29
|
+
align: (value: string) => {
|
|
30
|
+
'data-align': string;
|
|
31
|
+
};
|
|
32
|
+
open: (value: boolean) => {
|
|
33
|
+
'data-open': string;
|
|
34
|
+
'data-closed'?: undefined;
|
|
35
|
+
} | {
|
|
36
|
+
'data-closed': string;
|
|
37
|
+
'data-open'?: undefined;
|
|
38
|
+
};
|
|
39
|
+
transitionStatus: (value: TransitionStatus) => {
|
|
40
|
+
'data-enter-from': string;
|
|
41
|
+
'data-leave-to'?: undefined;
|
|
42
|
+
} | {
|
|
43
|
+
'data-leave-to': string;
|
|
44
|
+
'data-enter-from'?: undefined;
|
|
45
|
+
} | null;
|
|
46
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/shared/popup-state-attrs.ts
|
|
2
|
+
/**
|
|
3
|
+
* The `data-*` mapping every dismissable surface shares.
|
|
4
|
+
*
|
|
5
|
+
* `open` is emitted in both positions so CSS needs no `:not()` selector, and the
|
|
6
|
+
* transition phases become the "from" hooks an enter or exit animation needs.
|
|
7
|
+
* `idle` deliberately emits nothing — it is the resting state, not a phase.
|
|
8
|
+
*/
|
|
9
|
+
var popupStateAttrs = {
|
|
10
|
+
open: (value) => value ? { "data-open": "" } : { "data-closed": "" },
|
|
11
|
+
transitionStatus: (value) => {
|
|
12
|
+
if (value === "enter") return { "data-enter-from": "" };
|
|
13
|
+
if (value === "leave") return { "data-leave-to": "" };
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var anchoredStateAttrs = {
|
|
18
|
+
...popupStateAttrs,
|
|
19
|
+
side: (value) => ({ "data-side": value }),
|
|
20
|
+
align: (value) => ({ "data-align": value })
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { anchoredStateAttrs, popupStateAttrs };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Marks everything below as drawn for `item`, which may change in place. */
|
|
2
|
+
export declare function provideRecycle(item: () => unknown): void;
|
|
3
|
+
/** Runs `reset` whenever the item this part is drawn for changes in place. */
|
|
4
|
+
export declare function onRecycle(reset: () => void): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { inject, provide, watch } from "vue";
|
|
2
|
+
//#region src/shared/recycle.ts
|
|
3
|
+
var recycleKey = Symbol("recycle");
|
|
4
|
+
/** Marks everything below as drawn for `item`, which may change in place. */
|
|
5
|
+
function provideRecycle(item) {
|
|
6
|
+
provide(recycleKey, item);
|
|
7
|
+
}
|
|
8
|
+
/** Runs `reset` whenever the item this part is drawn for changes in place. */
|
|
9
|
+
function onRecycle(reset) {
|
|
10
|
+
const item = inject(recycleKey, null);
|
|
11
|
+
if (item) watch(item, reset);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { onRecycle, provideRecycle };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { InjectionKey } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* The app's URL query, for a part that keeps its state there: a data table's
|
|
4
|
+
* sort. The library has no router; an app provides one through this, and the
|
|
5
|
+
* Nuxt module provides Nuxt's. `get` must be reactive.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* app.provide(routeQueryKey, {
|
|
9
|
+
* get: (key) => router.currentRoute.value.query[key] as string | undefined,
|
|
10
|
+
* set: (key, value) => router.push({ query: { ...router.currentRoute.value.query, [key]: value } })
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export interface RouteQuery {
|
|
15
|
+
get: (key: string) => string | undefined;
|
|
16
|
+
/** `undefined` removes the key. */
|
|
17
|
+
set: (key: string, value: string | undefined) => void;
|
|
18
|
+
/** Several keys in one navigation, so the second write doesn't start from a URL without the first. */
|
|
19
|
+
setMany?: (entries: Record<string, string | undefined>) => void;
|
|
20
|
+
}
|
|
21
|
+
/** Writes made in the same tick, sent together: one navigation through `setMany`, or one `set` each. */
|
|
22
|
+
export declare function batchRouteQuery(routeQuery: RouteQuery): (key: string, value: string | undefined) => void;
|
|
23
|
+
export declare const routeQueryKey: InjectionKey<RouteQuery>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/shared/route-query.ts
|
|
2
|
+
/** Writes made in the same tick, sent together: one navigation through `setMany`, or one `set` each. */
|
|
3
|
+
function batchRouteQuery(routeQuery) {
|
|
4
|
+
let pending = null;
|
|
5
|
+
return (key, value) => {
|
|
6
|
+
if (!pending) {
|
|
7
|
+
pending = {};
|
|
8
|
+
queueMicrotask(() => {
|
|
9
|
+
const entries = pending;
|
|
10
|
+
pending = null;
|
|
11
|
+
if (routeQuery.setMany) routeQuery.setMany(entries);
|
|
12
|
+
else for (const [name, next] of Object.entries(entries)) routeQuery.set(name, next);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
pending[key] = value;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var routeQueryKey = Symbol("vunset:route-query");
|
|
19
|
+
//#endregion
|
|
20
|
+
export { batchRouteQuery, routeQueryKey };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ComputedRef, Ref } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* The nearest dismissable surface: a dialog, drawer, popover, menu, tooltip or
|
|
4
|
+
* listbox popup.
|
|
5
|
+
*
|
|
6
|
+
* Every such composable publishes its parts here under one shared key, which is
|
|
7
|
+
* what lets a single `<Portal>`, `<Positioner>` and `<Popup>` serve all of them.
|
|
8
|
+
* Without it each component needs its own three components whose only
|
|
9
|
+
* distinguishing feature is which context they read — eleven files that differed
|
|
10
|
+
* by one identifier.
|
|
11
|
+
*
|
|
12
|
+
* `inject` resolves to the nearest provider, so a menu inside a dialog gets the
|
|
13
|
+
* menu's surface rather than the dialog's, which is what nesting should mean.
|
|
14
|
+
*/
|
|
15
|
+
export interface SurfaceContext {
|
|
16
|
+
/** Whether the surface belongs in the DOM. */
|
|
17
|
+
present: Ref<boolean>;
|
|
18
|
+
/** The surface's own state, handed to every part's slot. */
|
|
19
|
+
state: ComputedRef<object>;
|
|
20
|
+
/** The animated surface. */
|
|
21
|
+
popupProps: ComputedRef<Record<string, unknown>>;
|
|
22
|
+
/** The box that owns the position. */
|
|
23
|
+
positionerProps?: ComputedRef<Record<string, unknown>>;
|
|
24
|
+
/** The pointer towards the anchor, on surfaces that draw one. */
|
|
25
|
+
arrowProps?: ComputedRef<Record<string, unknown>>;
|
|
26
|
+
}
|
|
27
|
+
export declare const provideSurface: (value: SurfaceContext) => SurfaceContext, useSurface: () => SurfaceContext, useOptionalSurface: () => SurfaceContext | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** The release rules for everything dismissed with a swipe: drawer and toast. */
|
|
2
|
+
/**
|
|
3
|
+
* Rubber-banding for a pull the element cannot follow: it gives at first, then
|
|
4
|
+
* stiffens towards {@link OVER_PULL_LIMIT}. Keeps the sign of `distance`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function resist(distance: number): number;
|
|
7
|
+
export interface SwipeRelease {
|
|
8
|
+
/** Distance traveled towards dismissal, in pixels; negative the other way. */
|
|
9
|
+
traveled: number;
|
|
10
|
+
/** Speed towards dismissal at release, in pixels per millisecond. */
|
|
11
|
+
velocity: number;
|
|
12
|
+
/** The element's size along the swipe. */
|
|
13
|
+
size: number;
|
|
14
|
+
/** Fraction of `size` past which a release dismisses. @default 0.4 */
|
|
15
|
+
distanceRatio?: number;
|
|
16
|
+
/** Speed past which a shorter release still dismisses, as a flick. @default 0.4 */
|
|
17
|
+
flickSpeed?: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function dismissesOnRelease(release: SwipeRelease): boolean;
|
|
20
|
+
/** Speed along one coordinate, taken from the two most recent samples. */
|
|
21
|
+
export declare function createVelocity(position: number, time: number): {
|
|
22
|
+
sample(position: number, time: number): void;
|
|
23
|
+
/** Pixels per millisecond, signed along the coordinate. */
|
|
24
|
+
speed: () => number;
|
|
25
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//#region src/shared/swipe-dismiss.ts
|
|
2
|
+
/** The release rules for everything dismissed with a swipe: drawer and toast. */
|
|
3
|
+
/** How far, in pixels, a pull the wrong way can stretch at most. */
|
|
4
|
+
var OVER_PULL_LIMIT = 48;
|
|
5
|
+
/**
|
|
6
|
+
* Rubber-banding for a pull the element cannot follow: it gives at first, then
|
|
7
|
+
* stiffens towards {@link OVER_PULL_LIMIT}. Keeps the sign of `distance`.
|
|
8
|
+
*/
|
|
9
|
+
function resist(distance) {
|
|
10
|
+
const pull = Math.abs(distance);
|
|
11
|
+
return Math.sign(distance) * pull * OVER_PULL_LIMIT / (pull + OVER_PULL_LIMIT);
|
|
12
|
+
}
|
|
13
|
+
function dismissesOnRelease(release) {
|
|
14
|
+
const { traveled, velocity, size, distanceRatio = .4, flickSpeed = .4 } = release;
|
|
15
|
+
if (size <= 0) return false;
|
|
16
|
+
const flicked = velocity > flickSpeed && traveled > Math.max(16, size * .05);
|
|
17
|
+
return traveled > distanceRatio * size || flicked;
|
|
18
|
+
}
|
|
19
|
+
/** Speed along one coordinate, taken from the two most recent samples. */
|
|
20
|
+
function createVelocity(position, time) {
|
|
21
|
+
let lastPosition = position;
|
|
22
|
+
let lastTime = time;
|
|
23
|
+
let speed = 0;
|
|
24
|
+
return {
|
|
25
|
+
sample(position, time) {
|
|
26
|
+
const elapsed = time - lastTime;
|
|
27
|
+
if (elapsed <= 0) return;
|
|
28
|
+
speed = (position - lastPosition) / elapsed;
|
|
29
|
+
lastPosition = position;
|
|
30
|
+
lastTime = time;
|
|
31
|
+
},
|
|
32
|
+
/** Pixels per millisecond, signed along the coordinate. */
|
|
33
|
+
speed: () => speed
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { createVelocity, dismissesOnRelease, resist };
|