@soybeanjs/headless 0.0.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +143 -0
- package/dist/components/accordion/accordion-content.js +1 -0
- package/dist/components/accordion/accordion-content.vue.d.ts +19 -0
- package/dist/components/accordion/accordion-header.js +1 -0
- package/dist/components/accordion/accordion-header.vue.d.ts +18 -0
- package/dist/components/accordion/accordion-item.js +1 -0
- package/dist/components/accordion/accordion-item.vue.d.ts +23 -0
- package/dist/components/accordion/accordion-root.js +1 -0
- package/dist/components/accordion/accordion-root.vue.d.ts +23 -0
- package/dist/components/accordion/accordion-trigger.js +1 -0
- package/dist/components/accordion/accordion-trigger.vue.d.ts +19 -0
- package/dist/components/accordion/context.d.ts +10 -0
- package/dist/components/accordion/context.js +1 -0
- package/dist/components/accordion/index.d.ts +9 -0
- package/dist/components/accordion/index.js +1 -0
- package/dist/components/accordion/shared.js +1 -0
- package/dist/components/accordion/types.d.ts +53 -0
- package/dist/components/alert/alert-close.js +1 -0
- package/dist/components/alert/alert-close.vue.d.ts +18 -0
- package/dist/components/alert/alert-content.js +1 -0
- package/dist/components/alert/alert-content.vue.d.ts +18 -0
- package/dist/components/alert/alert-description.js +1 -0
- package/dist/components/alert/alert-description.vue.d.ts +18 -0
- package/dist/components/alert/alert-root.js +1 -0
- package/dist/components/alert/alert-root.vue.d.ts +24 -0
- package/dist/components/alert/alert-title.js +1 -0
- package/dist/components/alert/alert-title.vue.d.ts +18 -0
- package/dist/components/alert/context.d.ts +8 -0
- package/dist/components/alert/context.js +1 -0
- package/dist/components/alert/index.d.ts +8 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/alert/types.d.ts +28 -0
- package/dist/components/alert-dialog/alert-dialog-close.js +1 -0
- package/dist/components/alert-dialog/alert-dialog-close.vue.d.ts +19 -0
- package/dist/components/alert-dialog/alert-dialog-content.js +1 -0
- package/dist/components/alert-dialog/alert-dialog-content.vue.d.ts +35 -0
- package/dist/components/alert-dialog/alert-dialog-root.js +1 -0
- package/dist/components/alert-dialog/alert-dialog-root.vue.d.ts +28 -0
- package/dist/components/alert-dialog/context.js +1 -0
- package/dist/components/alert-dialog/index.d.ts +16 -0
- package/dist/components/alert-dialog/index.js +1 -0
- package/dist/components/alert-dialog/types.d.ts +7 -0
- package/dist/components/arrow/arrow.js +1 -0
- package/dist/components/arrow/arrow.vue.d.ts +24 -0
- package/dist/components/arrow/context.d.ts +8 -0
- package/dist/components/arrow/context.js +1 -0
- package/dist/components/arrow/index.d.ts +4 -0
- package/dist/components/arrow/index.js +1 -0
- package/dist/components/arrow/types.d.ts +20 -0
- package/dist/components/aspect-ratio/aspect-ratio.js +1 -0
- package/dist/components/aspect-ratio/aspect-ratio.vue.d.ts +22 -0
- package/dist/components/aspect-ratio/index.d.ts +3 -0
- package/dist/components/aspect-ratio/index.js +1 -0
- package/dist/components/aspect-ratio/types.d.ts +14 -0
- package/dist/components/avatar/avatar-fallback.js +1 -0
- package/dist/components/avatar/avatar-fallback.vue.d.ts +18 -0
- package/dist/components/avatar/avatar-image.js +1 -0
- package/dist/components/avatar/avatar-image.vue.d.ts +14 -0
- package/dist/components/avatar/avatar-root.js +1 -0
- package/dist/components/avatar/avatar-root.vue.d.ts +18 -0
- package/dist/components/avatar/context.d.ts +9 -0
- package/dist/components/avatar/context.js +1 -0
- package/dist/components/avatar/index.d.ts +6 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/avatar/types.d.ts +37 -0
- package/dist/components/badge/badge-content.js +1 -0
- package/dist/components/badge/badge-content.vue.d.ts +18 -0
- package/dist/components/badge/badge-root.js +1 -0
- package/dist/components/badge/badge-root.vue.d.ts +24 -0
- package/dist/components/badge/context.d.ts +6 -0
- package/dist/components/badge/context.js +1 -0
- package/dist/components/badge/index.d.ts +5 -0
- package/dist/components/badge/index.js +1 -0
- package/dist/components/badge/types.d.ts +19 -0
- package/dist/components/breadcrumb/breadcrumb-ellipsis.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-ellipsis.vue.d.ts +18 -0
- package/dist/components/breadcrumb/breadcrumb-item.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-item.vue.d.ts +18 -0
- package/dist/components/breadcrumb/breadcrumb-link.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-link.vue.d.ts +18 -0
- package/dist/components/breadcrumb/breadcrumb-list.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-list.vue.d.ts +18 -0
- package/dist/components/breadcrumb/breadcrumb-page.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-page.vue.d.ts +18 -0
- package/dist/components/breadcrumb/breadcrumb-root.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-root.vue.d.ts +18 -0
- package/dist/components/breadcrumb/breadcrumb-separator.js +1 -0
- package/dist/components/breadcrumb/breadcrumb-separator.vue.d.ts +18 -0
- package/dist/components/breadcrumb/context.d.ts +6 -0
- package/dist/components/breadcrumb/context.js +1 -0
- package/dist/components/breadcrumb/index.d.ts +10 -0
- package/dist/components/breadcrumb/index.js +1 -0
- package/dist/components/breadcrumb/types.d.ts +20 -0
- package/dist/components/button/button.js +1 -0
- package/dist/components/button/button.vue.d.ts +26 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/button/types.d.ts +12 -0
- package/dist/components/card/card-content.js +1 -0
- package/dist/components/card/card-content.vue.d.ts +18 -0
- package/dist/components/card/card-description.js +1 -0
- package/dist/components/card/card-description.vue.d.ts +18 -0
- package/dist/components/card/card-footer.js +1 -0
- package/dist/components/card/card-footer.vue.d.ts +18 -0
- package/dist/components/card/card-header.js +1 -0
- package/dist/components/card/card-header.vue.d.ts +18 -0
- package/dist/components/card/card-root.js +1 -0
- package/dist/components/card/card-root.vue.d.ts +18 -0
- package/dist/components/card/card-title-root.js +1 -0
- package/dist/components/card/card-title-root.vue.d.ts +18 -0
- package/dist/components/card/card-title.js +1 -0
- package/dist/components/card/card-title.vue.d.ts +18 -0
- package/dist/components/card/context.d.ts +6 -0
- package/dist/components/card/context.js +1 -0
- package/dist/components/card/index.d.ts +10 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/card/types.d.ts +19 -0
- package/dist/components/checkbox/checkbox-control.js +1 -0
- package/dist/components/checkbox/checkbox-control.vue.d.ts +23 -0
- package/dist/components/checkbox/checkbox-group-root.js +1 -0
- package/dist/components/checkbox/checkbox-group-root.vue.d.ts +23 -0
- package/dist/components/checkbox/checkbox-indicator.js +1 -0
- package/dist/components/checkbox/checkbox-indicator.vue.d.ts +22 -0
- package/dist/components/checkbox/checkbox-label.js +1 -0
- package/dist/components/checkbox/checkbox-label.vue.d.ts +19 -0
- package/dist/components/checkbox/checkbox-root.js +1 -0
- package/dist/components/checkbox/checkbox-root.vue.d.ts +31 -0
- package/dist/components/checkbox/context.d.ts +9 -0
- package/dist/components/checkbox/context.js +1 -0
- package/dist/components/checkbox/index.d.ts +9 -0
- package/dist/components/checkbox/index.js +1 -0
- package/dist/components/checkbox/types.d.ts +65 -0
- package/dist/components/collapsible/collapsible-content.js +1 -0
- package/dist/components/collapsible/collapsible-content.vue.d.ts +18 -0
- package/dist/components/collapsible/collapsible-root.js +1 -0
- package/dist/components/collapsible/collapsible-root.vue.d.ts +30 -0
- package/dist/components/collapsible/collapsible-trigger.js +1 -0
- package/dist/components/collapsible/collapsible-trigger.vue.d.ts +22 -0
- package/dist/components/collapsible/context.d.ts +9 -0
- package/dist/components/collapsible/context.js +1 -0
- package/dist/components/collapsible/index.d.ts +6 -0
- package/dist/components/collapsible/index.js +1 -0
- package/dist/components/collapsible/shared.js +1 -0
- package/dist/components/collapsible/types.d.ts +34 -0
- package/dist/components/config-provider/config-provider.js +1 -0
- package/dist/components/config-provider/config-provider.vue.d.ts +27 -0
- package/dist/components/config-provider/context.js +1 -0
- package/dist/components/config-provider/index.d.ts +3 -0
- package/dist/components/config-provider/index.js +1 -0
- package/dist/components/config-provider/types.d.ts +47 -0
- package/dist/components/context-menu/context-menu-content.js +1 -0
- package/dist/components/context-menu/context-menu-content.vue.d.ts +38 -0
- package/dist/components/context-menu/context-menu-root.js +1 -0
- package/dist/components/context-menu/context-menu-root.vue.d.ts +27 -0
- package/dist/components/context-menu/context-menu-trigger.js +1 -0
- package/dist/components/context-menu/context-menu-trigger.vue.d.ts +23 -0
- package/dist/components/context-menu/context.js +1 -0
- package/dist/components/context-menu/index.d.ts +26 -0
- package/dist/components/context-menu/index.js +1 -0
- package/dist/components/context-menu/types.d.ts +18 -0
- package/dist/components/dialog/context.d.ts +10 -0
- package/dist/components/dialog/context.js +1 -0
- package/dist/components/dialog/dialog-close.js +1 -0
- package/dist/components/dialog/dialog-close.vue.d.ts +18 -0
- package/dist/components/dialog/dialog-content-impl.js +1 -0
- package/dist/components/dialog/dialog-content.js +1 -0
- package/dist/components/dialog/dialog-content.vue.d.ts +34 -0
- package/dist/components/dialog/dialog-description.js +1 -0
- package/dist/components/dialog/dialog-description.vue.d.ts +18 -0
- package/dist/components/dialog/dialog-footer.js +1 -0
- package/dist/components/dialog/dialog-footer.vue.d.ts +18 -0
- package/dist/components/dialog/dialog-header.js +1 -0
- package/dist/components/dialog/dialog-header.vue.d.ts +18 -0
- package/dist/components/dialog/dialog-overlay.js +1 -0
- package/dist/components/dialog/dialog-overlay.vue.d.ts +18 -0
- package/dist/components/dialog/dialog-root.js +1 -0
- package/dist/components/dialog/dialog-root.vue.d.ts +29 -0
- package/dist/components/dialog/dialog-title.js +1 -0
- package/dist/components/dialog/dialog-title.vue.d.ts +18 -0
- package/dist/components/dialog/dialog-trigger.js +1 -0
- package/dist/components/dialog/dialog-trigger.vue.d.ts +18 -0
- package/dist/components/dialog/index.d.ts +14 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/dialog/shared.js +1 -0
- package/dist/components/dialog/types.d.ts +50 -0
- package/dist/components/dropdown-menu/context.js +1 -0
- package/dist/components/dropdown-menu/dropdown-menu-content.js +1 -0
- package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +42 -0
- package/dist/components/dropdown-menu/dropdown-menu-root.js +1 -0
- package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +30 -0
- package/dist/components/dropdown-menu/dropdown-menu-trigger.js +1 -0
- package/dist/components/dropdown-menu/dropdown-menu-trigger.vue.d.ts +23 -0
- package/dist/components/dropdown-menu/index.d.ts +26 -0
- package/dist/components/dropdown-menu/index.js +1 -0
- package/dist/components/dropdown-menu/shared.js +1 -0
- package/dist/components/dropdown-menu/types.d.ts +33 -0
- package/dist/components/form/context.d.ts +7 -0
- package/dist/components/form/context.js +1 -0
- package/dist/components/form/form-description.js +1 -0
- package/dist/components/form/form-description.vue.d.ts +18 -0
- package/dist/components/form/form-error.js +1 -0
- package/dist/components/form/form-error.vue.d.ts +18 -0
- package/dist/components/form/form-field-array.js +1 -0
- package/dist/components/form/form-field-array.vue.d.ts +36 -0
- package/dist/components/form/form-field.js +1 -0
- package/dist/components/form/form-field.vue.d.ts +32 -0
- package/dist/components/form/form-label.js +1 -0
- package/dist/components/form/form-label.vue.d.ts +18 -0
- package/dist/components/form/index.d.ts +8 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/form/types.d.ts +22 -0
- package/dist/components/input/context.d.ts +6 -0
- package/dist/components/input/context.js +1 -0
- package/dist/components/input/index.d.ts +5 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/input-control.js +1 -0
- package/dist/components/input/input-control.vue.d.ts +8 -0
- package/dist/components/input/input-root.js +1 -0
- package/dist/components/input/input-root.vue.d.ts +27 -0
- package/dist/components/input/types.d.ts +41 -0
- package/dist/components/kbd/index.d.ts +3 -0
- package/dist/components/kbd/index.js +1 -0
- package/dist/components/kbd/kbd.js +1 -0
- package/dist/components/kbd/kbd.vue.d.ts +18 -0
- package/dist/components/kbd/types.d.ts +20 -0
- package/dist/components/label/index.d.ts +3 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/label/label.js +1 -0
- package/dist/components/label/label.vue.d.ts +18 -0
- package/dist/components/label/types.d.ts +9 -0
- package/dist/components/layout/context.d.ts +8 -0
- package/dist/components/layout/context.js +1 -0
- package/dist/components/layout/index.d.ts +12 -0
- package/dist/components/layout/index.js +1 -0
- package/dist/components/layout/layout-footer.js +1 -0
- package/dist/components/layout/layout-footer.vue.d.ts +18 -0
- package/dist/components/layout/layout-header.js +1 -0
- package/dist/components/layout/layout-header.vue.d.ts +18 -0
- package/dist/components/layout/layout-main.js +1 -0
- package/dist/components/layout/layout-main.vue.d.ts +18 -0
- package/dist/components/layout/layout-mobile.js +1 -0
- package/dist/components/layout/layout-mobile.vue.d.ts +18 -0
- package/dist/components/layout/layout-rail.js +1 -0
- package/dist/components/layout/layout-rail.vue.d.ts +18 -0
- package/dist/components/layout/layout-root.js +1 -0
- package/dist/components/layout/layout-root.vue.d.ts +33 -0
- package/dist/components/layout/layout-sidebar.js +1 -0
- package/dist/components/layout/layout-sidebar.vue.d.ts +20 -0
- package/dist/components/layout/layout-tab.js +1 -0
- package/dist/components/layout/layout-tab.vue.d.ts +18 -0
- package/dist/components/layout/layout-trigger.js +1 -0
- package/dist/components/layout/layout-trigger.vue.d.ts +20 -0
- package/dist/components/layout/shared.js +1 -0
- package/dist/components/layout/types.d.ts +75 -0
- package/dist/components/link/index.d.ts +3 -0
- package/dist/components/link/index.js +1 -0
- package/dist/components/link/link.js +1 -0
- package/dist/components/link/link.vue.d.ts +32 -0
- package/dist/components/link/types.d.ts +65 -0
- package/dist/components/list/context.d.ts +6 -0
- package/dist/components/list/context.js +1 -0
- package/dist/components/list/index.d.ts +8 -0
- package/dist/components/list/index.js +1 -0
- package/dist/components/list/list-content.js +1 -0
- package/dist/components/list/list-content.vue.d.ts +18 -0
- package/dist/components/list/list-description.js +1 -0
- package/dist/components/list/list-description.vue.d.ts +18 -0
- package/dist/components/list/list-item.js +1 -0
- package/dist/components/list/list-item.vue.d.ts +18 -0
- package/dist/components/list/list-root.js +1 -0
- package/dist/components/list/list-root.vue.d.ts +18 -0
- package/dist/components/list/list-title.js +1 -0
- package/dist/components/list/list-title.vue.d.ts +18 -0
- package/dist/components/list/types.d.ts +17 -0
- package/dist/components/listbox/context.d.ts +11 -0
- package/dist/components/listbox/context.js +1 -0
- package/dist/components/listbox/index.d.ts +11 -0
- package/dist/components/listbox/index.js +1 -0
- package/dist/components/listbox/listbox-content.js +1 -0
- package/dist/components/listbox/listbox-content.vue.d.ts +18 -0
- package/dist/components/listbox/listbox-filter.js +1 -0
- package/dist/components/listbox/listbox-filter.vue.d.ts +28 -0
- package/dist/components/listbox/listbox-group-label.js +1 -0
- package/dist/components/listbox/listbox-group-label.vue.d.ts +18 -0
- package/dist/components/listbox/listbox-group.js +1 -0
- package/dist/components/listbox/listbox-group.vue.d.ts +18 -0
- package/dist/components/listbox/listbox-item-indicator.js +1 -0
- package/dist/components/listbox/listbox-item-indicator.vue.d.ts +22 -0
- package/dist/components/listbox/listbox-item.js +1 -0
- package/dist/components/listbox/listbox-item.vue.d.ts +28 -0
- package/dist/components/listbox/listbox-root.js +1 -0
- package/dist/components/listbox/listbox-root.vue.d.ts +34 -0
- package/dist/components/listbox/listbox-virtualizer.js +1 -0
- package/dist/components/listbox/listbox-virtualizer.vue.d.ts +15 -0
- package/dist/components/listbox/shared.js +1 -0
- package/dist/components/listbox/types.d.ts +94 -0
- package/dist/components/menu/context.d.ts +10 -0
- package/dist/components/menu/context.js +1 -0
- package/dist/components/menu/index.d.ts +24 -0
- package/dist/components/menu/index.js +1 -0
- package/dist/components/menu/menu-checkbox-group.js +1 -0
- package/dist/components/menu/menu-checkbox-group.vue.d.ts +25 -0
- package/dist/components/menu/menu-checkbox-item.js +1 -0
- package/dist/components/menu/menu-checkbox-item.vue.d.ts +28 -0
- package/dist/components/menu/menu-content-impl.js +1 -0
- package/dist/components/menu/menu-content.js +1 -0
- package/dist/components/menu/menu-content.vue.d.ts +37 -0
- package/dist/components/menu/menu-group-label.js +1 -0
- package/dist/components/menu/menu-group-label.vue.d.ts +18 -0
- package/dist/components/menu/menu-group.js +1 -0
- package/dist/components/menu/menu-group.vue.d.ts +18 -0
- package/dist/components/menu/menu-item-impl.js +1 -0
- package/dist/components/menu/menu-item-indicator.js +1 -0
- package/dist/components/menu/menu-item-indicator.vue.d.ts +22 -0
- package/dist/components/menu/menu-item.js +1 -0
- package/dist/components/menu/menu-item.vue.d.ts +22 -0
- package/dist/components/menu/menu-radio-group.js +1 -0
- package/dist/components/menu/menu-radio-group.vue.d.ts +25 -0
- package/dist/components/menu/menu-radio-item.js +1 -0
- package/dist/components/menu/menu-radio-item.vue.d.ts +24 -0
- package/dist/components/menu/menu-root.js +1 -0
- package/dist/components/menu/menu-root.vue.d.ts +27 -0
- package/dist/components/menu/menu-sub-content.js +1 -0
- package/dist/components/menu/menu-sub-content.vue.d.ts +39 -0
- package/dist/components/menu/menu-sub-trigger.js +1 -0
- package/dist/components/menu/menu-sub-trigger.vue.d.ts +18 -0
- package/dist/components/menu/menu-sub.js +1 -0
- package/dist/components/menu/menu-sub.vue.d.ts +24 -0
- package/dist/components/menu/shared.js +1 -0
- package/dist/components/menu/types.d.ts +116 -0
- package/dist/components/navigation-menu/context.d.ts +10 -0
- package/dist/components/navigation-menu/context.js +1 -0
- package/dist/components/navigation-menu/index.d.ts +12 -0
- package/dist/components/navigation-menu/index.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-content-impl.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-content.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-content.vue.d.ts +30 -0
- package/dist/components/navigation-menu/navigation-menu-indicator.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-indicator.vue.d.ts +18 -0
- package/dist/components/navigation-menu/navigation-menu-item.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-item.vue.d.ts +18 -0
- package/dist/components/navigation-menu/navigation-menu-link.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-link.vue.d.ts +26 -0
- package/dist/components/navigation-menu/navigation-menu-list.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-list.vue.d.ts +18 -0
- package/dist/components/navigation-menu/navigation-menu-root.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +31 -0
- package/dist/components/navigation-menu/navigation-menu-sub-list.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-sub-list.vue.d.ts +18 -0
- package/dist/components/navigation-menu/navigation-menu-trigger.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-trigger.vue.d.ts +22 -0
- package/dist/components/navigation-menu/navigation-menu-viewport.js +1 -0
- package/dist/components/navigation-menu/navigation-menu-viewport.vue.d.ts +22 -0
- package/dist/components/navigation-menu/shared.js +1 -0
- package/dist/components/navigation-menu/types.d.ts +100 -0
- package/dist/components/number-input/context.d.ts +9 -0
- package/dist/components/number-input/context.js +1 -0
- package/dist/components/number-input/index.d.ts +7 -0
- package/dist/components/number-input/index.js +1 -0
- package/dist/components/number-input/number-input-control.js +1 -0
- package/dist/components/number-input/number-input-control.vue.d.ts +8 -0
- package/dist/components/number-input/number-input-decrement.js +1 -0
- package/dist/components/number-input/number-input-decrement.vue.d.ts +22 -0
- package/dist/components/number-input/number-input-increment.js +1 -0
- package/dist/components/number-input/number-input-increment.vue.d.ts +22 -0
- package/dist/components/number-input/number-input-root.js +1 -0
- package/dist/components/number-input/number-input-root.vue.d.ts +29 -0
- package/dist/components/number-input/shared.js +1 -0
- package/dist/components/number-input/types.d.ts +50 -0
- package/dist/components/pagination/context.d.ts +8 -0
- package/dist/components/pagination/context.js +1 -0
- package/dist/components/pagination/index.d.ts +11 -0
- package/dist/components/pagination/index.js +1 -0
- package/dist/components/pagination/pagination-ellipsis.js +1 -0
- package/dist/components/pagination/pagination-ellipsis.vue.d.ts +18 -0
- package/dist/components/pagination/pagination-first.js +1 -0
- package/dist/components/pagination/pagination-first.vue.d.ts +18 -0
- package/dist/components/pagination/pagination-last.js +1 -0
- package/dist/components/pagination/pagination-last.vue.d.ts +18 -0
- package/dist/components/pagination/pagination-list-item.js +1 -0
- package/dist/components/pagination/pagination-list-item.vue.d.ts +18 -0
- package/dist/components/pagination/pagination-list.js +1 -0
- package/dist/components/pagination/pagination-list.vue.d.ts +20 -0
- package/dist/components/pagination/pagination-next.js +1 -0
- package/dist/components/pagination/pagination-next.vue.d.ts +18 -0
- package/dist/components/pagination/pagination-prev.js +1 -0
- package/dist/components/pagination/pagination-prev.vue.d.ts +18 -0
- package/dist/components/pagination/pagination-root.js +1 -0
- package/dist/components/pagination/pagination-root.vue.d.ts +30 -0
- package/dist/components/pagination/shared.js +1 -0
- package/dist/components/pagination/types.d.ts +50 -0
- package/dist/components/popover/context.js +1 -0
- package/dist/components/popover/index.d.ts +13 -0
- package/dist/components/popover/index.js +1 -0
- package/dist/components/popover/popover-anchor.js +1 -0
- package/dist/components/popover/popover-anchor.vue.d.ts +19 -0
- package/dist/components/popover/popover-close.js +1 -0
- package/dist/components/popover/popover-close.vue.d.ts +22 -0
- package/dist/components/popover/popover-content-impl.js +1 -0
- package/dist/components/popover/popover-content.js +1 -0
- package/dist/components/popover/popover-content.vue.d.ts +34 -0
- package/dist/components/popover/popover-root.js +1 -0
- package/dist/components/popover/popover-root.vue.d.ts +28 -0
- package/dist/components/popover/popover-trigger.js +1 -0
- package/dist/components/popover/popover-trigger.vue.d.ts +22 -0
- package/dist/components/popover/shared.js +1 -0
- package/dist/components/popover/types.d.ts +17 -0
- package/dist/components/popper/context.d.ts +21 -0
- package/dist/components/popper/context.js +1 -0
- package/dist/components/popper/index.d.ts +8 -0
- package/dist/components/popper/index.js +1 -0
- package/dist/components/popper/popper-anchor.js +1 -0
- package/dist/components/popper/popper-anchor.vue.d.ts +18 -0
- package/dist/components/popper/popper-arrow.js +1 -0
- package/dist/components/popper/popper-arrow.vue.d.ts +19 -0
- package/dist/components/popper/popper-content.js +1 -0
- package/dist/components/popper/popper-content.vue.d.ts +229 -0
- package/dist/components/popper/popper-root.js +1 -0
- package/dist/components/popper/popper-root.vue.d.ts +17 -0
- package/dist/components/popper/shared.js +1 -0
- package/dist/components/popper/types.d.ts +145 -0
- package/dist/components/portal/index.d.ts +3 -0
- package/dist/components/portal/index.js +1 -0
- package/dist/components/portal/portal.js +1 -0
- package/dist/components/portal/portal.vue.d.ts +20 -0
- package/dist/components/portal/types.d.ts +26 -0
- package/dist/components/primitive/index.d.ts +3 -0
- package/dist/components/primitive/index.js +1 -0
- package/dist/components/primitive/primitive.d.ts +7 -0
- package/dist/components/primitive/primitive.js +1 -0
- package/dist/components/primitive/types.d.ts +16 -0
- package/dist/components/radio-group/context.d.ts +9 -0
- package/dist/components/radio-group/context.js +1 -0
- package/dist/components/radio-group/index.d.ts +9 -0
- package/dist/components/radio-group/index.js +1 -0
- package/dist/components/radio-group/radio-group-control.js +1 -0
- package/dist/components/radio-group/radio-group-control.vue.d.ts +22 -0
- package/dist/components/radio-group/radio-group-indicator.js +1 -0
- package/dist/components/radio-group/radio-group-indicator.vue.d.ts +22 -0
- package/dist/components/radio-group/radio-group-item.js +1 -0
- package/dist/components/radio-group/radio-group-item.vue.d.ts +24 -0
- package/dist/components/radio-group/radio-group-label.js +1 -0
- package/dist/components/radio-group/radio-group-label.vue.d.ts +19 -0
- package/dist/components/radio-group/radio-group-root.js +1 -0
- package/dist/components/radio-group/radio-group-root.vue.d.ts +25 -0
- package/dist/components/radio-group/types.d.ts +55 -0
- package/dist/components/roving-focus/context.js +1 -0
- package/dist/components/roving-focus/index.d.ts +4 -0
- package/dist/components/roving-focus/index.js +1 -0
- package/dist/components/roving-focus/roving-focus-group.js +1 -0
- package/dist/components/roving-focus/roving-focus-group.vue.d.ts +34 -0
- package/dist/components/roving-focus/roving-focus-item.js +1 -0
- package/dist/components/roving-focus/roving-focus-item.vue.d.ts +20 -0
- package/dist/components/roving-focus/types.d.ts +49 -0
- package/dist/components/select/bubble-select.js +1 -0
- package/dist/components/select/context.d.ts +11 -0
- package/dist/components/select/context.js +1 -0
- package/dist/components/select/index.d.ts +21 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/select/select-arrow.js +1 -0
- package/dist/components/select/select-arrow.vue.d.ts +19 -0
- package/dist/components/select/select-content-impl.js +1 -0
- package/dist/components/select/select-content.js +1 -0
- package/dist/components/select/select-content.vue.d.ts +35 -0
- package/dist/components/select/select-group-label.js +1 -0
- package/dist/components/select/select-group-label.vue.d.ts +18 -0
- package/dist/components/select/select-group.js +1 -0
- package/dist/components/select/select-group.vue.d.ts +18 -0
- package/dist/components/select/select-item-aligned-position.js +1 -0
- package/dist/components/select/select-item-indicator.js +1 -0
- package/dist/components/select/select-item-indicator.vue.d.ts +22 -0
- package/dist/components/select/select-item-text.js +1 -0
- package/dist/components/select/select-item-text.vue.d.ts +18 -0
- package/dist/components/select/select-item.js +1 -0
- package/dist/components/select/select-item.vue.d.ts +24 -0
- package/dist/components/select/select-popper-position.js +1 -0
- package/dist/components/select/select-root.js +1 -0
- package/dist/components/select/select-root.vue.d.ts +27 -0
- package/dist/components/select/select-scroll-button-impl.js +1 -0
- package/dist/components/select/select-scroll-down-button.js +1 -0
- package/dist/components/select/select-scroll-down-button.vue.d.ts +18 -0
- package/dist/components/select/select-scroll-up-button.js +1 -0
- package/dist/components/select/select-scroll-up-button.vue.d.ts +18 -0
- package/dist/components/select/select-separator.js +1 -0
- package/dist/components/select/select-separator.vue.d.ts +18 -0
- package/dist/components/select/select-teleport-provider.js +1 -0
- package/dist/components/select/select-trigger-icon.js +1 -0
- package/dist/components/select/select-trigger-icon.vue.d.ts +18 -0
- package/dist/components/select/select-trigger.js +1 -0
- package/dist/components/select/select-trigger.vue.d.ts +22 -0
- package/dist/components/select/select-value.js +1 -0
- package/dist/components/select/select-value.vue.d.ts +26 -0
- package/dist/components/select/select-viewport.js +9 -0
- package/dist/components/select/select-viewport.vue.d.ts +18 -0
- package/dist/components/select/shared.js +1 -0
- package/dist/components/select/types.d.ts +104 -0
- package/dist/components/separator/context.d.ts +6 -0
- package/dist/components/separator/context.js +1 -0
- package/dist/components/separator/index.d.ts +5 -0
- package/dist/components/separator/index.js +1 -0
- package/dist/components/separator/separator-label.js +1 -0
- package/dist/components/separator/separator-label.vue.d.ts +18 -0
- package/dist/components/separator/separator-root.js +1 -0
- package/dist/components/separator/separator-root.vue.d.ts +23 -0
- package/dist/components/separator/types.d.ts +26 -0
- package/dist/components/slot/index.d.ts +2 -0
- package/dist/components/slot/index.js +1 -0
- package/dist/components/slot/slot.d.ts +6 -0
- package/dist/components/slot/slot.js +1 -0
- package/dist/components/switch/context.d.ts +9 -0
- package/dist/components/switch/context.js +1 -0
- package/dist/components/switch/index.d.ts +6 -0
- package/dist/components/switch/index.js +1 -0
- package/dist/components/switch/switch-control.js +1 -0
- package/dist/components/switch/switch-control.vue.d.ts +22 -0
- package/dist/components/switch/switch-root.js +1 -0
- package/dist/components/switch/switch-root.vue.d.ts +25 -0
- package/dist/components/switch/switch-thumb.js +1 -0
- package/dist/components/switch/switch-thumb.vue.d.ts +22 -0
- package/dist/components/switch/types.d.ts +47 -0
- package/dist/components/tabs/context.d.ts +10 -0
- package/dist/components/tabs/context.js +1 -0
- package/dist/components/tabs/index.d.ts +8 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tabs/shared.js +1 -0
- package/dist/components/tabs/tabs-content.js +1 -0
- package/dist/components/tabs/tabs-content.vue.d.ts +20 -0
- package/dist/components/tabs/tabs-indicator.js +1 -0
- package/dist/components/tabs/tabs-indicator.vue.d.ts +18 -0
- package/dist/components/tabs/tabs-list.js +1 -0
- package/dist/components/tabs/tabs-list.vue.d.ts +18 -0
- package/dist/components/tabs/tabs-root.js +1 -0
- package/dist/components/tabs/tabs-root.vue.d.ts +33 -0
- package/dist/components/tabs/tabs-trigger.js +1 -0
- package/dist/components/tabs/tabs-trigger.vue.d.ts +25 -0
- package/dist/components/tabs/types.d.ts +53 -0
- package/dist/components/tag/index.d.ts +3 -0
- package/dist/components/tag/index.js +1 -0
- package/dist/components/tag/tag.js +1 -0
- package/dist/components/tag/tag.vue.d.ts +27 -0
- package/dist/components/tag/types.d.ts +11 -0
- package/dist/components/textarea/context.d.ts +6 -0
- package/dist/components/textarea/context.js +1 -0
- package/dist/components/textarea/index.d.ts +6 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/shared.js +1 -0
- package/dist/components/textarea/textarea-control.js +1 -0
- package/dist/components/textarea/textarea-control.vue.d.ts +8 -0
- package/dist/components/textarea/textarea-counter.js +1 -0
- package/dist/components/textarea/textarea-counter.vue.d.ts +21 -0
- package/dist/components/textarea/textarea-root.js +1 -0
- package/dist/components/textarea/textarea-root.vue.d.ts +27 -0
- package/dist/components/textarea/types.d.ts +48 -0
- package/dist/components/tooltip/context.js +1 -0
- package/dist/components/tooltip/index.d.ts +11 -0
- package/dist/components/tooltip/index.js +1 -0
- package/dist/components/tooltip/shared.js +1 -0
- package/dist/components/tooltip/tooltip-content-impl.js +1 -0
- package/dist/components/tooltip/tooltip-content.js +1 -0
- package/dist/components/tooltip/tooltip-content.vue.d.ts +26 -0
- package/dist/components/tooltip/tooltip-root.js +1 -0
- package/dist/components/tooltip/tooltip-root.vue.d.ts +27 -0
- package/dist/components/tooltip/tooltip-trigger.js +1 -0
- package/dist/components/tooltip/tooltip-trigger.vue.d.ts +23 -0
- package/dist/components/tooltip/types.d.ts +71 -0
- package/dist/components/tree/context.js +1 -0
- package/dist/components/tree/hooks.js +1 -0
- package/dist/components/tree/index.d.ts +6 -0
- package/dist/components/tree/index.js +1 -0
- package/dist/components/tree/shared.js +1 -0
- package/dist/components/tree/tree-item.js +1 -0
- package/dist/components/tree/tree-item.vue.d.ts +34 -0
- package/dist/components/tree/tree-root.js +1 -0
- package/dist/components/tree/tree-root.vue.d.ts +30 -0
- package/dist/components/tree/tree-virtualizer-item.js +1 -0
- package/dist/components/tree/tree-virtualizer-item.vue.d.ts +30 -0
- package/dist/components/tree/tree-virtualizer-root.js +1 -0
- package/dist/components/tree/tree-virtualizer-root.vue.d.ts +30 -0
- package/dist/components/tree/types.d.ts +101 -0
- package/dist/components/virtualizer/context.js +1 -0
- package/dist/components/virtualizer/index.d.ts +5 -0
- package/dist/components/virtualizer/index.js +1 -0
- package/dist/components/virtualizer/shared.js +1 -0
- package/dist/components/virtualizer/types.d.ts +27 -0
- package/dist/components/virtualizer/virtualizer-content.js +1 -0
- package/dist/components/virtualizer/virtualizer-content.vue.d.ts +20 -0
- package/dist/components/virtualizer/virtualizer-item.js +1 -0
- package/dist/components/virtualizer/virtualizer-item.vue.d.ts +18 -0
- package/dist/components/virtualizer/virtualizer-root.js +1 -0
- package/dist/components/virtualizer/virtualizer-root.vue.d.ts +23 -0
- package/dist/components/visually-hidden/index.d.ts +4 -0
- package/dist/components/visually-hidden/index.js +1 -0
- package/dist/components/visually-hidden/types.d.ts +18 -0
- package/dist/components/visually-hidden/visually-hidden-input-bubble.js +1 -0
- package/dist/components/visually-hidden/visually-hidden-input.js +1 -0
- package/dist/components/visually-hidden/visually-hidden-input.vue.d.ts +17 -0
- package/dist/components/visually-hidden/visually-hidden.js +1 -0
- package/dist/components/visually-hidden/visually-hidden.vue.d.ts +23 -0
- package/dist/composables/index.d.ts +26 -0
- package/dist/composables/index.js +1 -0
- package/dist/composables/use-arrow-navigation.d.ts +71 -0
- package/dist/composables/use-arrow-navigation.js +1 -0
- package/dist/composables/use-body-scroll-lock.d.ts +9 -0
- package/dist/composables/use-body-scroll-lock.js +18 -0
- package/dist/composables/use-collection.d.ts +54 -0
- package/dist/composables/use-collection.js +1 -0
- package/dist/composables/use-context.d.ts +4 -0
- package/dist/composables/use-context.js +1 -0
- package/dist/composables/use-controllable-state.d.ts +6 -0
- package/dist/composables/use-controllable-state.js +1 -0
- package/dist/composables/use-direction.d.ts +9 -0
- package/dist/composables/use-direction.js +1 -0
- package/dist/composables/use-dismissable-layer.d.ts +60 -0
- package/dist/composables/use-dismissable-layer.js +1 -0
- package/dist/composables/use-escape-key-down.d.ts +6 -0
- package/dist/composables/use-escape-key-down.js +1 -0
- package/dist/composables/use-exposed-element.d.ts +9 -0
- package/dist/composables/use-exposed-element.js +1 -0
- package/dist/composables/use-focus-guards.d.ts +4 -0
- package/dist/composables/use-focus-guards.js +1 -0
- package/dist/composables/use-focus-scope.d.ts +29 -0
- package/dist/composables/use-focus-scope.js +1 -0
- package/dist/composables/use-forward-element.d.ts +14 -0
- package/dist/composables/use-forward-element.js +1 -0
- package/dist/composables/use-forward-listeners.d.ts +4 -0
- package/dist/composables/use-forward-listeners.js +1 -0
- package/dist/composables/use-grace-area.d.ts +39 -0
- package/dist/composables/use-grace-area.js +1 -0
- package/dist/composables/use-hide-others.d.ts +15 -0
- package/dist/composables/use-hide-others.js +1 -0
- package/dist/composables/use-image-loading-status.d.ts +20 -0
- package/dist/composables/use-image-loading-status.js +1 -0
- package/dist/composables/use-is-using-keyboard.d.ts +6 -0
- package/dist/composables/use-is-using-keyboard.js +1 -0
- package/dist/composables/use-kbd.d.ts +13 -0
- package/dist/composables/use-kbd.js +1 -0
- package/dist/composables/use-locale.d.ts +7 -0
- package/dist/composables/use-locale.js +1 -0
- package/dist/composables/use-nonce.d.ts +7 -0
- package/dist/composables/use-nonce.js +1 -0
- package/dist/composables/use-presence.d.ts +7 -0
- package/dist/composables/use-presence.js +1 -0
- package/dist/composables/use-props.d.ts +8 -0
- package/dist/composables/use-props.js +1 -0
- package/dist/composables/use-selection.d.ts +13 -0
- package/dist/composables/use-selection.js +1 -0
- package/dist/composables/use-state-machine.d.ts +14 -0
- package/dist/composables/use-state-machine.js +1 -0
- package/dist/composables/use-typeahead.d.ts +11 -0
- package/dist/composables/use-typeahead.js +1 -0
- package/dist/constants/attr.d.ts +5 -0
- package/dist/constants/attr.js +1 -0
- package/dist/constants/common.d.ts +11 -0
- package/dist/constants/common.js +1 -0
- package/dist/constants/components.d.ts +50 -0
- package/dist/constants/components.js +1 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.js +1 -0
- package/dist/forms/core/context.d.ts +21 -0
- package/dist/forms/core/context.js +1 -0
- package/dist/forms/core/hooks.d.ts +6 -0
- package/dist/forms/core/hooks.js +1 -0
- package/dist/forms/core/index.d.ts +3 -0
- package/dist/forms/core/shared.js +1 -0
- package/dist/forms/core/types.d.ts +88 -0
- package/dist/forms/index.d.ts +8 -0
- package/dist/forms/index.js +1 -0
- package/dist/forms/resolvers/index.d.ts +2 -0
- package/dist/forms/resolvers/valibot/index.d.ts +8 -0
- package/dist/forms/resolvers/valibot/index.js +1 -0
- package/dist/forms/resolvers/zod/index.d.ts +8 -0
- package/dist/forms/resolvers/zod/index.js +1 -0
- package/dist/index.d.ts +306 -0
- package/dist/index.js +1 -0
- package/dist/namespaced/index.d.ts +473 -0
- package/dist/namespaced/index.js +1 -0
- package/dist/nuxt/index.d.ts +11 -0
- package/dist/nuxt/index.js +1 -0
- package/dist/resolver/index.d.ts +18 -0
- package/dist/resolver/index.js +1 -0
- package/dist/shared/comparison.d.ts +15 -0
- package/dist/shared/comparison.js +1 -0
- package/dist/shared/dom.d.ts +19 -0
- package/dist/shared/dom.js +1 -0
- package/dist/shared/env.d.ts +7 -0
- package/dist/shared/env.js +1 -0
- package/dist/shared/event.d.ts +7 -0
- package/dist/shared/event.js +1 -0
- package/dist/shared/focus.d.ts +38 -0
- package/dist/shared/focus.js +1 -0
- package/dist/shared/form.d.ts +67 -0
- package/dist/shared/form.js +1 -0
- package/dist/shared/geometry.d.ts +39 -0
- package/dist/shared/geometry.js +1 -0
- package/dist/shared/guard.d.ts +51 -0
- package/dist/shared/guard.js +1 -0
- package/dist/shared/index.d.ts +13 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/object.d.ts +73 -0
- package/dist/shared/object.js +1 -0
- package/dist/shared/string.d.ts +50 -0
- package/dist/shared/string.js +1 -0
- package/dist/shared/value.d.ts +65 -0
- package/dist/shared/value.js +1 -0
- package/dist/shared/vue.d.ts +12 -0
- package/dist/shared/vue.js +1 -0
- package/dist/types/common.d.ts +57 -0
- package/dist/types/component.d.ts +58 -0
- package/dist/types/dom.d.ts +5 -0
- package/dist/types/event.d.ts +27 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/path.d.ts +12 -0
- package/dist/types/vue.d.ts +9 -0
- package/package.json +131 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TreeSelectEvent, TreeToggleEvent } from "../../types/event.js";
|
|
2
|
+
import "../../types/index.js";
|
|
3
|
+
import { AsTag } from "../primitive/types.js";
|
|
4
|
+
import "../primitive/index.js";
|
|
5
|
+
import { TreeItemProps } from "./types.js";
|
|
6
|
+
import * as vue1500 from "vue";
|
|
7
|
+
|
|
8
|
+
//#region src/components/tree/tree-item.vue.d.ts
|
|
9
|
+
declare var __VLS_17: {
|
|
10
|
+
isExpanded: boolean;
|
|
11
|
+
isSelected: boolean;
|
|
12
|
+
isIndeterminate: boolean | undefined;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_Slots = {} & {
|
|
15
|
+
default?: (props: typeof __VLS_17) => any;
|
|
16
|
+
};
|
|
17
|
+
declare const __VLS_base: vue1500.DefineComponent<TreeItemProps, {}, {}, {}, {}, vue1500.ComponentOptionsMixin, vue1500.ComponentOptionsMixin, {
|
|
18
|
+
select: (event: TreeSelectEvent<string>) => any;
|
|
19
|
+
toggle: (event: TreeToggleEvent<string>) => any;
|
|
20
|
+
}, string, vue1500.PublicProps, Readonly<TreeItemProps> & Readonly<{
|
|
21
|
+
onSelect?: ((event: TreeSelectEvent<string>) => any) | undefined;
|
|
22
|
+
onToggle?: ((event: TreeToggleEvent<string>) => any) | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
as: AsTag | vue1500.Component;
|
|
25
|
+
}, {}, {}, {}, string, vue1500.ComponentProvideOptions, false, {}, any>;
|
|
26
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
27
|
+
declare const _default: typeof __VLS_export;
|
|
28
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{MAP_KEY_TO_FOCUS_INTENT as e}from"../../constants/common.js";import{isNullish as t}from"../../shared/guard.js";import{flattenChildren as n}from"../../shared/object.js";import{getActiveElement as r}from"../../shared/dom.js";import{transformPropsToContext as i}from"../../shared/vue.js";import{useControllableState as a}from"../../composables/use-controllable-state.js";import{useTypeahead as o}from"../../composables/use-typeahead.js";import{Primitive as s}from"../primitive/primitive.js";import c from"../roving-focus/roving-focus-group.js";import{provideTreeRootContext as l}from"./context.js";import{useSelectionBehavior as u}from"./hooks.js";import{findParentPath as d,flattenItems as f}from"./shared.js";import{computed as p,createBlock as m,createVNode as h,defineComponent as g,nextTick as _,openBlock as v,renderSlot as y,shallowRef as b,unref as x,useTemplateRef as S,withCtx as C,withKeys as w,withModifiers as T}from"vue";import{createEventHook as E}from"@vueuse/core";var D=g({name:`TreeRoot`,__name:`tree-root`,props:{modelValue:{},defaultValue:{},multiple:{},items:{},expanded:{},defaultExpanded:{},selectionBehavior:{default:`toggle`},toggleBehavior:{default:`multiple`},dir:{},loop:{type:Boolean,default:!0},disabled:{type:Boolean},propagateSelect:{type:Boolean},bubbleSelect:{type:Boolean},allowParentSelect:{type:Boolean},asChild:{type:Boolean},as:{default:`ul`}},emits:[`update:modelValue`,`update:expanded`],setup(g,{emit:D}){let O=g,k=D,A=S(`rovingFocusGroupRef`),{handleTypeaheadSearch:j}=o(),M=b(!1),N=E(),P=a(()=>O.modelValue,e=>{k(`update:modelValue`,e)},R()),F=p(()=>O.multiple&&Array.isArray(P.value)?P.value:[P.value]),{onSelectItem:I,handleMultipleReplace:L}=u(P,()=>O.multiple,()=>O.selectionBehavior);function R(){return t(O.defaultValue)?O.multiple?[]:void 0:O.defaultValue}let z=a(()=>O.expanded,e=>{k(`update:expanded`,e??[])},O.defaultExpanded??[]),B=p(()=>f(O.items,z.value)),V=e=>{if(!O.disabled)if(M.value)N.trigger(e);else{let t=A.value?.getItems()??[];j(e.key,t)}},H=t=>{if(O.disabled||M.value)return;let n=e[t.key];_(()=>{L(n,r(),B.value.map(e=>e.value),A.value?.getItems)})},U=e=>{if(O.disabled||!e.parent||!O.multiple||!Array.isArray(P.value))return;let t=B.value.find(t=>e.parent&&t.value===e.parent.value);if(!t)return;let n=P.value;t.data.children?.every(e=>n.find(t=>t===e.value))?P.value=[...n,t.data.value]:P.value=n.filter(e=>e!==t.data.value),U(t)},W=e=>{if(O.disabled)return;let t=B.value.find(t=>t.value===e);if(!(t?.hasChildren&&!O.allowParentSelect)&&(I(e),O.bubbleSelect&&O.multiple&&Array.isArray(P.value)&&t&&U(t),O.propagateSelect&&O.multiple&&Array.isArray(P.value))){if(!t)return;let r=n(t.data.children);P.value.includes(e)?P.value=P.value.filter(e=>!r.some(t=>t.value===e)):P.value=[...P.value,...r]}},G=e=>{if(!O.disabled&&B.value.find(t=>t.value===e)?.data?.children){if(z.value.includes(e)){z.value=z.value.filter(t=>t!==e);return}if(O.toggleBehavior===`single`){let t=d(e,O.items);t?z.value=[...t,e]:z.value=[e]}else z.value=[...z.value,e]}};return l({modelValue:P,expanded:z,selectedKeys:F,onSelect:W,onToggle:G,expandedItems:B,isVirtual:M,virtualKeydownHook:N,getItems:()=>A.value?.getItems()??[],handleMultipleReplace:L,...i(O,[`items`,`multiple`,`disabled`,`dir`,`selectionBehavior`,`propagateSelect`,`bubbleSelect`])}),(e,t)=>(v(),m(c,{ref_key:`rovingFocusGroupRef`,ref:A,"as-child":``,orientation:`vertical`,dir:g.dir,loop:g.loop},{default:C(()=>[h(x(s),{as:g.as,"as-child":g.asChild,"aria-disabled":g.disabled?!0:void 0,"aria-multiselectable":g.multiple?!0:void 0,"data-disabled":g.disabled?``:void 0,role:`tree`,onKeydown:[V,w(T(H,[`shift`]),[`up`,`down`])]},{default:C(()=>[y(e.$slots,`default`,{flattenItems:B.value,modelValue:x(P),expanded:x(z),select:W,toggle:G})]),_:3},8,[`as`,`as-child`,`aria-disabled`,`aria-multiselectable`,`data-disabled`,`onKeydown`])]),_:3},8,[`dir`,`loop`]))}});export{D as default};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MaybeArray } from "../../types/common.js";
|
|
2
|
+
import "../../types/index.js";
|
|
3
|
+
import { FlattenedItem, TreeItemData, TreeRootProps } from "./types.js";
|
|
4
|
+
import * as vue1498 from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/tree/tree-root.vue.d.ts
|
|
7
|
+
declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string> | undefined, M extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
8
|
+
props: __VLS_PrettifyLocal<TreeRootProps<T, U, M> & {
|
|
9
|
+
"onUpdate:modelValue"?: ((value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => any) | undefined;
|
|
10
|
+
"onUpdate:expanded"?: ((value: string[]) => any) | undefined;
|
|
11
|
+
}> & vue1498.PublicProps;
|
|
12
|
+
expose: (exposed: {}) => void;
|
|
13
|
+
attrs: any;
|
|
14
|
+
slots: {
|
|
15
|
+
default?: (props: {
|
|
16
|
+
flattenItems: FlattenedItem<T>[];
|
|
17
|
+
modelValue: U | undefined;
|
|
18
|
+
expanded: string[];
|
|
19
|
+
select: (value: string) => void;
|
|
20
|
+
toggle: (value: string) => void;
|
|
21
|
+
}) => any;
|
|
22
|
+
};
|
|
23
|
+
emit: ((evt: "update:modelValue", value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => void) & ((evt: "update:expanded", value: string[]) => void);
|
|
24
|
+
}>) => vue1498.VNode & {
|
|
25
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
26
|
+
};
|
|
27
|
+
declare const _default: typeof __VLS_export;
|
|
28
|
+
type __VLS_PrettifyLocal<T> = { [K in keyof T as K]: T[K] } & {};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import t from"./tree-item.js";import n from"../virtualizer/virtualizer-item.js";import{createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";var m=a({name:`TreeVirtualizerItem`,__name:`tree-virtualizer-item`,props:{value:{},level:{},disabled:{type:Boolean},disabledSelect:{type:Boolean},disabledToggle:{type:Boolean},asChild:{type:Boolean},as:{},data:{},customStyle:{type:Boolean}},emits:[`select`,`toggle`],setup(a,{emit:m}){let h=e(m);return(e,m)=>(l(),r(t,s({value:a.value,level:a.level,"as-child":``},d(f(h))),{default:p(t=>[i(n,{as:a.as,"as-child":a.asChild,data:a.data,"custom-style":a.customStyle},{default:p(()=>[u(e.$slots,`default`,c(o(t)))]),_:2},1032,[`as`,`as-child`,`data`,`custom-style`])]),_:3},16,[`value`,`level`]))}});export{m as default};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TreeSelectEvent, TreeToggleEvent } from "../../types/event.js";
|
|
2
|
+
import { TreeVirtualizerItemProps } from "./types.js";
|
|
3
|
+
import "../../index.js";
|
|
4
|
+
import * as vue1508 from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/tree/tree-virtualizer-item.vue.d.ts
|
|
7
|
+
declare var __VLS_10: {
|
|
8
|
+
isExpanded: boolean;
|
|
9
|
+
isSelected: boolean;
|
|
10
|
+
isIndeterminate: boolean | undefined;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_Slots = {} & {
|
|
13
|
+
default?: (props: typeof __VLS_10) => any;
|
|
14
|
+
};
|
|
15
|
+
declare const __VLS_base: vue1508.DefineComponent<TreeVirtualizerItemProps, {}, {}, {}, {}, vue1508.ComponentOptionsMixin, vue1508.ComponentOptionsMixin, {
|
|
16
|
+
select: (event: TreeSelectEvent<string>) => any;
|
|
17
|
+
toggle: (event: TreeToggleEvent<string>) => any;
|
|
18
|
+
}, string, vue1508.PublicProps, Readonly<TreeVirtualizerItemProps> & Readonly<{
|
|
19
|
+
onSelect?: ((event: TreeSelectEvent<string>) => any) | undefined;
|
|
20
|
+
onToggle?: ((event: TreeToggleEvent<string>) => any) | undefined;
|
|
21
|
+
}>, {}, {}, {}, {}, string, vue1508.ComponentProvideOptions, false, {}, any>;
|
|
22
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
23
|
+
declare const _default: typeof __VLS_export;
|
|
24
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
25
|
+
new (): {
|
|
26
|
+
$slots: S;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t}from"../../composables/use-props.js";import n from"./tree-root.js";import r from"../virtualizer/virtualizer-root.js";import{createBlock as i,createVNode as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,toHandlers as u,unref as d,withCtx as f}from"vue";var p=o({name:`TreeVirtualizerRoot`,__name:`tree-virtualizer-root`,props:{modelValue:{},defaultValue:{},multiple:{},items:{default:()=>[]},expanded:{},defaultExpanded:{},selectionBehavior:{},toggleBehavior:{},dir:{},loop:{type:Boolean},disabled:{type:Boolean},propagateSelect:{type:Boolean},bubbleSelect:{type:Boolean},allowParentSelect:{type:Boolean},asChild:{type:Boolean},as:{},height:{},options:{},dynamic:{type:Boolean}},emits:[`update:modelValue`,`update:expanded`],setup(o,{emit:p}){let m=o,h=p,g=t(m,[`as`,`asChild`,`options`,`height`]),_=e(h);return(e,t)=>(c(),i(n,s(d(g),{"as-child":``},u(d(_))),{default:f(({flattenItems:t,modelValue:n,expanded:i})=>[a(r,{as:o.as,"as-child":o.asChild,items:t,options:o.options,height:o.height},{default:f(({virtualItems:r})=>[l(e.$slots,`default`,{virtualItems:r,flattenItems:t,modelValue:n,expanded:i})]),_:2},1032,[`as`,`as-child`,`items`,`options`,`height`])]),_:3},16))}});export{p as default};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MaybeArray } from "../../types/common.js";
|
|
2
|
+
import "../../types/index.js";
|
|
3
|
+
import { FlattenedItem, TreeItemData, TreeVirtualizerRootProps } from "./types.js";
|
|
4
|
+
import * as vue1506 from "vue";
|
|
5
|
+
import * as _tanstack_vue_virtual0 from "@tanstack/vue-virtual";
|
|
6
|
+
|
|
7
|
+
//#region src/components/tree/tree-virtualizer-root.vue.d.ts
|
|
8
|
+
declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string> | undefined, M extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
9
|
+
props: __VLS_PrettifyLocal<TreeVirtualizerRootProps<T, U, M> & {
|
|
10
|
+
"onUpdate:modelValue"?: ((value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => any) | undefined;
|
|
11
|
+
"onUpdate:expanded"?: ((value: string[]) => any) | undefined;
|
|
12
|
+
}> & vue1506.PublicProps;
|
|
13
|
+
expose: (exposed: {}) => void;
|
|
14
|
+
attrs: any;
|
|
15
|
+
slots: {
|
|
16
|
+
default?: (props: {
|
|
17
|
+
virtualItems: _tanstack_vue_virtual0.VirtualItem[];
|
|
18
|
+
flattenItems: FlattenedItem<T>[];
|
|
19
|
+
modelValue: U;
|
|
20
|
+
expanded: string[];
|
|
21
|
+
}) => any;
|
|
22
|
+
};
|
|
23
|
+
emit: ((evt: "update:modelValue", value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => void) & ((evt: "update:expanded", value: string[]) => void);
|
|
24
|
+
}>) => vue1506.VNode & {
|
|
25
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
26
|
+
};
|
|
27
|
+
declare const _default: typeof __VLS_export;
|
|
28
|
+
type __VLS_PrettifyLocal<T> = { [K in keyof T as K]: T[K] } & {};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { _default };
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Direction, MaybeArray } from "../../types/common.js";
|
|
2
|
+
import { TreeSelectEvent, TreeToggleEvent } from "../../types/event.js";
|
|
3
|
+
import "../../types/index.js";
|
|
4
|
+
import { PrimitiveProps } from "../primitive/types.js";
|
|
5
|
+
import "../../composables/use-collection.js";
|
|
6
|
+
import { VirtualizerItemProps, VirtualizerRootProps } from "../virtualizer/types.js";
|
|
7
|
+
import { ComputedRef, HTMLAttributes, ShallowRef } from "vue";
|
|
8
|
+
import "@vueuse/core";
|
|
9
|
+
|
|
10
|
+
//#region src/components/tree/types.d.ts
|
|
11
|
+
interface TreeItemBaseData {
|
|
12
|
+
/** Value given to this item */
|
|
13
|
+
value: string;
|
|
14
|
+
/** When `true`, prevents the user from interacting with the item. */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
type TreeItemData<T extends TreeItemBaseData = TreeItemBaseData> = T & {
|
|
18
|
+
/** List of children items */
|
|
19
|
+
children?: TreeItemData<T>[];
|
|
20
|
+
};
|
|
21
|
+
type TreeSelectBehavior = 'toggle' | 'replace';
|
|
22
|
+
type TreeToggleBehavior = 'single' | 'multiple';
|
|
23
|
+
type IsMultiple<U extends MaybeArray<string> | undefined, M extends boolean> = U extends string ? false : M extends true ? true : false;
|
|
24
|
+
interface TreeRootProps<T extends TreeItemData = TreeItemData, U extends MaybeArray<string> | undefined = MaybeArray<string> | undefined, M extends boolean = boolean> extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
|
|
25
|
+
/** The controlled value of the tree. Can be bound-with with `v-model`. */
|
|
26
|
+
modelValue?: U;
|
|
27
|
+
/** The value of the tree when initially rendered. Use when you do not need to control the state of the tree */
|
|
28
|
+
defaultValue?: NonNullable<U>;
|
|
29
|
+
/** Determines whether a "single" or "multiple" items can be selected at a time. */
|
|
30
|
+
multiple?: IsMultiple<U, M>;
|
|
31
|
+
/** List of items */
|
|
32
|
+
items?: T[];
|
|
33
|
+
/** The controlled value of the expanded item. Can be bound-with with `v-model`. */
|
|
34
|
+
expanded?: string[];
|
|
35
|
+
/** The value of the expanded tree when initially rendered. */
|
|
36
|
+
defaultExpanded?: string[];
|
|
37
|
+
/** How multiple selection should behave in the collection. */
|
|
38
|
+
selectionBehavior?: TreeSelectBehavior;
|
|
39
|
+
/**
|
|
40
|
+
* Determines whether a "single" or "multiple" items can be toggled at a time.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue 'multiple'
|
|
43
|
+
* */
|
|
44
|
+
toggleBehavior?: TreeToggleBehavior;
|
|
45
|
+
/** The reading direction. */
|
|
46
|
+
dir?: Direction;
|
|
47
|
+
/**
|
|
48
|
+
* When `true`, keyboard navigation will loop from last item to first, and vice versa.
|
|
49
|
+
*
|
|
50
|
+
* @defaultValue true
|
|
51
|
+
*/
|
|
52
|
+
loop?: boolean;
|
|
53
|
+
/** When `true`, prevents the user from interacting with tree */
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
/** When `true`, selecting parent will select the descendants. */
|
|
56
|
+
propagateSelect?: boolean;
|
|
57
|
+
/** When `true`, selecting children will update the parent state. */
|
|
58
|
+
bubbleSelect?: boolean;
|
|
59
|
+
/** When `true`, parent can be selected. */
|
|
60
|
+
allowParentSelect?: boolean;
|
|
61
|
+
}
|
|
62
|
+
type TreeRootEmits<M extends boolean | undefined> = {
|
|
63
|
+
'update:modelValue': [value: M extends true ? string[] : string];
|
|
64
|
+
'update:expanded': [value: string[]];
|
|
65
|
+
};
|
|
66
|
+
type FlattenedItem<T extends TreeItemData> = {
|
|
67
|
+
_id: string;
|
|
68
|
+
index: number;
|
|
69
|
+
value: string;
|
|
70
|
+
data: T;
|
|
71
|
+
level: number;
|
|
72
|
+
hasChildren: boolean;
|
|
73
|
+
parent?: T;
|
|
74
|
+
bind: {
|
|
75
|
+
data: T;
|
|
76
|
+
level: number;
|
|
77
|
+
[key: string]: any;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
interface TreeItemProps extends PrimitiveProps, /** @vue-ignore */Omit<HTMLAttributes, 'onSelect' | 'onToggle'> {
|
|
81
|
+
value: string;
|
|
82
|
+
level: number;
|
|
83
|
+
/** When `true`, prevents the user from selecting or toggling the item. */
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
/** When `true`, prevents the user from selecting the item. */
|
|
86
|
+
disabledSelect?: boolean;
|
|
87
|
+
/** When `true`, prevents the user from toggling the item. */
|
|
88
|
+
disabledToggle?: boolean;
|
|
89
|
+
}
|
|
90
|
+
type TreeItemEmits = {
|
|
91
|
+
/** Event handler called when selecting item. */
|
|
92
|
+
select: [event: TreeSelectEvent<string>];
|
|
93
|
+
/** Event handler called when toggling item. */
|
|
94
|
+
toggle: [event: TreeToggleEvent<string>];
|
|
95
|
+
};
|
|
96
|
+
interface TreeVirtualizerRootProps<T extends TreeItemData = TreeItemData, U extends MaybeArray<string> | undefined = MaybeArray<string> | undefined, M extends boolean = boolean> extends TreeRootProps<T, U, M>, Omit<VirtualizerRootProps<FlattenedItem<T>>, 'dir' | 'items'> {}
|
|
97
|
+
type TreeVirtualizerRootEmits<M extends boolean | undefined> = TreeRootEmits<M>;
|
|
98
|
+
interface TreeVirtualizerItemProps extends TreeItemProps, VirtualizerItemProps {}
|
|
99
|
+
type TreeVirtualizerItemEmits = TreeItemEmits;
|
|
100
|
+
//#endregion
|
|
101
|
+
export { FlattenedItem, TreeItemBaseData, TreeItemData, TreeItemEmits, TreeItemProps, TreeRootEmits, TreeRootProps, TreeSelectBehavior, TreeToggleBehavior, TreeVirtualizerItemEmits, TreeVirtualizerItemProps, TreeVirtualizerRootEmits, TreeVirtualizerRootProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext as e}from"../../composables/use-context.js";import{computed as t}from"vue";const[n,r]=e(`Virtualizer`,e=>{let{dynamic:n,isHorizontal:r}=e,i=t(()=>n.value&&!r.value);return{...e,isVerticalDynamic:i}});export{n as provideVirtualizerContext,r as useVirtualizerContext};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { VirtualizerContentProps, VirtualizerDynamicContentProps, VirtualizerItemProps, VirtualizerOptions, VirtualizerRootProps } from "./types.js";
|
|
2
|
+
import { _default as _default$1 } from "./virtualizer-item.vue.js";
|
|
3
|
+
import { _default } from "./virtualizer-content.vue.js";
|
|
4
|
+
import { _default as _default$2 } from "./virtualizer-root.vue.js";
|
|
5
|
+
export { _default as VirtualizerContent, type VirtualizerContentProps, type VirtualizerDynamicContentProps, _default$1 as VirtualizerItem, type VirtualizerItemProps, type VirtualizerOptions, _default$2 as VirtualizerRoot, type VirtualizerRootProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./virtualizer-root.js";import t from"./virtualizer-item.js";import n from"./virtualizer-content.js";export{n as VirtualizerContent,t as VirtualizerItem,e as VirtualizerRoot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){if(!e)return{start:0,end:0};let{paddingBlockStart:t,paddingTop:n,paddingBlockEnd:r,paddingBottom:i}=window.getComputedStyle(e);return{start:Number.parseFloat(t||n),end:Number.parseFloat(r||i)}}export{e as getVirtualizerPadding};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import "../../types/index.js";
|
|
2
|
+
import { PrimitiveProps } from "../primitive/types.js";
|
|
3
|
+
import "../primitive/index.js";
|
|
4
|
+
import { ComputedRef, HTMLAttributes, Ref } from "vue";
|
|
5
|
+
import { PartialKeys, VirtualItem, Virtualizer, VirtualizerOptions } from "@tanstack/vue-virtual";
|
|
6
|
+
|
|
7
|
+
//#region src/components/virtualizer/types.d.ts
|
|
8
|
+
interface VirtualizerOptions$1 extends Omit<PartialKeys<VirtualizerOptions<HTMLElement, Element>, 'observeElementRect' | 'observeElementOffset' | 'scrollToFn' | 'estimateSize'>, 'count' | 'getScrollElement'> {}
|
|
9
|
+
interface VirtualizerRootProps<T extends Record<string, any> = Record<string, any>> extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
|
|
10
|
+
/**
|
|
11
|
+
* The height of the virtualizer root
|
|
12
|
+
*/
|
|
13
|
+
height: number | string;
|
|
14
|
+
items: T[];
|
|
15
|
+
options?: VirtualizerOptions$1;
|
|
16
|
+
dynamic?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface VirtualizerDynamicContentProps extends /** @vue-ignore */HTMLAttributes {}
|
|
19
|
+
interface VirtualizerContentProps extends /** @vue-ignore */HTMLAttributes {
|
|
20
|
+
dynamicContentProps?: VirtualizerDynamicContentProps;
|
|
21
|
+
}
|
|
22
|
+
interface VirtualizerItemProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
|
|
23
|
+
data: VirtualItem;
|
|
24
|
+
customStyle?: boolean;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { VirtualizerContentProps, VirtualizerDynamicContentProps, VirtualizerItemProps, VirtualizerOptions$1 as VirtualizerOptions, VirtualizerRootProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useVirtualizerContext as e}from"./context.js";import{computed as t,createElementBlock as n,defineComponent as r,mergeProps as i,normalizeStyle as a,openBlock as o,renderSlot as s,unref as c}from"vue";var l=r({name:`VirtualizerContent`,__name:`virtualizer-content`,props:{dynamicContentProps:{}},setup(r){let{contentStyle:l,virtualItems:u,isVerticalDynamic:d}=e(`VirtualizerContent`),f=t(()=>u.value[0]?.start??0),p=t(()=>`position:absolute;left:0;top:0;width:100%;transform:translateY(${f.value}px);`);return(e,t)=>(o(),n(`div`,{style:a(c(l))},[c(d)?(o(),n(`div`,i({key:0},r.dynamicContentProps,{style:p.value}),[s(e.$slots,`default`)],16)):s(e.$slots,`default`,{key:1})],4))}});export{l as default};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { VirtualizerContentProps } from "./types.js";
|
|
2
|
+
import * as vue37 from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/virtualizer/virtualizer-content.vue.d.ts
|
|
5
|
+
declare var __VLS_1: {}, __VLS_3: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
} & {
|
|
9
|
+
default?: (props: typeof __VLS_3) => any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_base: vue37.DefineComponent<VirtualizerContentProps, {}, {}, {}, {}, vue37.ComponentOptionsMixin, vue37.ComponentOptionsMixin, {}, string, vue37.PublicProps, Readonly<VirtualizerContentProps> & Readonly<{}>, {}, {}, {}, {}, string, vue37.ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Primitive as e}from"../primitive/primitive.js";import{useVirtualizerContext as t}from"./context.js";import{computed as n,createBlock as r,defineComponent as i,normalizeStyle as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";var u=i({name:`VirtualizerItem`,__name:`virtualizer-item`,props:{data:{},customStyle:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let u=i,{isHorizontal:d,dynamic:f,isVerticalDynamic:p,totalSize:m}=t(`VirtualizerItem`),h=n(()=>u.data.start??0),g=n(()=>u.data.size??0),_=n(()=>{if(p.value||u.customStyle)return``;let e=`position:absolute;left:0;top:0;`;return f.value?(e+=`height:100%;transform:translateX(${h.value}px);`,e):(d.value?e+=`width:${g.value}px;height:100%;transform:translateX(${h.value}px);`:e+=`width:100%;height:${g.value}px;transform:translateY(${h.value}px);`,e)});return(t,n)=>(o(),r(c(e),{style:a(_.value),as:i.as,"as-child":i.asChild,"data-index":i.data.index,"aria-setsize":c(m),"aria-posinset":i.data.index+1},{default:l(()=>[s(t.$slots,`default`)]),_:3},8,[`style`,`as`,`as-child`,`data-index`,`aria-setsize`,`aria-posinset`]))}});export{u as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { VirtualizerItemProps } from "./types.js";
|
|
2
|
+
import * as vue32 from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/virtualizer/virtualizer-item.vue.d.ts
|
|
5
|
+
declare var __VLS_7: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_7) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: vue32.DefineComponent<VirtualizerItemProps, {}, {}, {}, {}, vue32.ComponentOptionsMixin, vue32.ComponentOptionsMixin, {}, string, vue32.PublicProps, Readonly<VirtualizerItemProps> & Readonly<{}>, {}, {}, {}, {}, string, vue32.ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
13
|
+
new (): {
|
|
14
|
+
$slots: S;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{transformPropsToContext as e}from"../../shared/vue.js";import{useExposedElement as t}from"../../composables/use-exposed-element.js";import{Primitive as n}from"../primitive/primitive.js";import{provideVirtualizerContext as r}from"./context.js";import{getVirtualizerPadding as i}from"./shared.js";import{computed as a,createBlock as o,defineComponent as s,normalizeStyle as c,openBlock as l,renderSlot as u,unref as d,withCtx as f}from"vue";import{useVirtualizer as p}from"@tanstack/vue-virtual";var m=s({name:`VirtualizerRoot`,__name:`virtualizer-root`,props:{height:{},items:{},options:{},dynamic:{type:Boolean},asChild:{type:Boolean},as:{}},setup(s){let m=s,[h,g]=t(),_=a(()=>i(h.value)),v=p(a(()=>({estimateSize:()=>28,...m.options,count:m.items.length,scrollPaddingStart:_.value.start,scrollPaddingEnd:_.value.end,getScrollElement:()=>h.value??null}))),y=a(()=>v.value.getVirtualItems()),b=a(()=>v.value.getTotalSize()),x=a(()=>`height:${m.height};overflow:auto;`),S=a(()=>m.options?.horizontal??!1);return r({virtualizer:v,virtualItems:y,contentStyle:a(()=>{let e=`position:relative;`;return S.value?e+=`width:${b.value}px;height:100%;`:e+=`width:100%;height:${b.value}px;`,e}),isHorizontal:S,totalSize:b,...e(m,[`dynamic`])}),(e,t)=>(l(),o(d(n),{ref:d(g),as:s.as,"as-child":s.asChild,style:c(x.value),tabindex:`-1`},{default:f(()=>[u(e.$slots,`default`,{virtualItems:y.value,items:s.items})]),_:3},8,[`as`,`as-child`,`style`]))}});export{m as default};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { VirtualizerRootProps } from "./types.js";
|
|
2
|
+
import * as vue42 from "vue";
|
|
3
|
+
import * as _tanstack_vue_virtual0 from "@tanstack/vue-virtual";
|
|
4
|
+
|
|
5
|
+
//#region src/components/virtualizer/virtualizer-root.vue.d.ts
|
|
6
|
+
declare const __VLS_export: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
7
|
+
props: __VLS_PrettifyLocal<VirtualizerRootProps<T>> & vue42.PublicProps;
|
|
8
|
+
expose: (exposed: {}) => void;
|
|
9
|
+
attrs: any;
|
|
10
|
+
slots: {
|
|
11
|
+
default?: (props: {
|
|
12
|
+
virtualItems: _tanstack_vue_virtual0.VirtualItem[];
|
|
13
|
+
items: T[];
|
|
14
|
+
}) => any;
|
|
15
|
+
};
|
|
16
|
+
emit: {};
|
|
17
|
+
}>) => vue42.VNode & {
|
|
18
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
19
|
+
};
|
|
20
|
+
declare const _default: typeof __VLS_export;
|
|
21
|
+
type __VLS_PrettifyLocal<T> = { [K in keyof T as K]: T[K] } & {};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { _default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { VisuallyHiddenFeature, VisuallyHiddenInputProps, VisuallyHiddenProps } from "./types.js";
|
|
2
|
+
import { _default } from "./visually-hidden.vue.js";
|
|
3
|
+
import { _default as _default$1 } from "./visually-hidden-input.vue.js";
|
|
4
|
+
export { _default as VisuallyHidden, VisuallyHiddenFeature, _default$1 as VisuallyHiddenInput, VisuallyHiddenInputProps, VisuallyHiddenProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./visually-hidden.js";import t from"./visually-hidden-input.js";export{e as VisuallyHidden,t as VisuallyHiddenInput};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PrimitiveProps } from "../primitive/types.js";
|
|
2
|
+
import { HTMLAttributes, InputHTMLAttributes } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/visually-hidden/types.d.ts
|
|
5
|
+
type VisuallyHiddenFeature = 'focusable' | 'fully-hidden';
|
|
6
|
+
interface VisuallyHiddenProps extends PrimitiveProps, /** @vue-ignore */HTMLAttributes {
|
|
7
|
+
feature?: VisuallyHiddenFeature;
|
|
8
|
+
}
|
|
9
|
+
interface VisuallyHiddenInputProps<T> extends /** @vue-ignore */InputHTMLAttributes {
|
|
10
|
+
name: string;
|
|
11
|
+
value: T;
|
|
12
|
+
checked?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
feature?: VisuallyHiddenFeature;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { VisuallyHiddenFeature, VisuallyHiddenInputProps, VisuallyHiddenProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useForwardElement as e}from"../../composables/use-forward-element.js";import t from"./visually-hidden.js";import{computed as n,createBlock as r,defineComponent as i,openBlock as a,unref as o,watch as s}from"vue";var c=i({name:`VisuallyHiddenInputBubble`,__name:`visually-hidden-input-bubble`,props:{name:{},value:{},checked:{type:Boolean,default:void 0},required:{type:Boolean},disabled:{type:Boolean},feature:{default:`fully-hidden`}},setup(i){let c=i,[l,u]=e();return s(n(()=>c.checked??c.value),(e,t)=>{let n=l.value;if(!n||e===t)return;let r=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`)?.set;if(!i)return;let a=new Event(`input`,{bubbles:!0}),o=new Event(`change`,{bubbles:!0});i.call(n,e),n.dispatchEvent(a),n.dispatchEvent(o)}),(e,n)=>(a(),r(t,{ref:o(u),feature:i.feature,as:`input`},null,8,[`feature`]))}});export{c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isArrayValue as e}from"../../shared/guard.js";import{parseFormValue as t}from"../../shared/form.js";import n from"./visually-hidden-input-bubble.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,defineComponent as c,mergeProps as l,openBlock as u,renderList as d,unref as f,useAttrs as p}from"vue";var m=c({name:`VisuallyHiddenInput`,inheritAttrs:!1,__name:`visually-hidden-input`,props:{name:{},value:{},checked:{type:Boolean,default:void 0},required:{type:Boolean},disabled:{type:Boolean},feature:{default:`fully-hidden`}},setup(c){let m=c,h=p(),g=i(()=>{let{value:e,name:n}=m;return t(n,e)}),_=i(()=>m.required&&e(m.value)&&m.value.length===0);return(e,t)=>(u(),s(r,null,[o(` We render single input if it's required `),_.value?(u(),a(n,l({key:c.name},{...m,...f(h)},{name:c.name,value:c.value}),null,16,[`name`,`value`])):(u(!0),s(r,{key:1},d(g.value,e=>(u(),a(n,l({key:e.name},{ref_for:!0},{...m,...f(h)},{name:e.name,value:e.value}),null,16,[`name`,`value`]))),128))],2112))}});export{m as default};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { VisuallyHiddenInputProps } from "./types.js";
|
|
2
|
+
import * as vue414 from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/visually-hidden/visually-hidden-input.vue.d.ts
|
|
5
|
+
declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
|
+
props: __VLS_PrettifyLocal<VisuallyHiddenInputProps<T>> & vue414.PublicProps;
|
|
7
|
+
expose: (exposed: {}) => void;
|
|
8
|
+
attrs: any;
|
|
9
|
+
slots: {};
|
|
10
|
+
emit: {};
|
|
11
|
+
}>) => vue414.VNode & {
|
|
12
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
13
|
+
};
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
type __VLS_PrettifyLocal<T> = { [K in keyof T as K]: T[K] } & {};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Primitive as e}from"../primitive/primitive.js";import{createBlock as t,defineComponent as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";var s=n({name:`VisuallyHidden`,__name:`visually-hidden`,props:{feature:{default:`focusable`},asChild:{type:Boolean},as:{default:`span`}},setup(n){return(s,c)=>(r(),t(a(e),{as:n.as,"as-child":n.asChild,"aria-hidden":n.feature===`focusable`?`true`:void 0,"data-hidden":n.feature===`fully-hidden`?``:void 0,tabindex:n.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,top:`-1px`,left:`-1px`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,border:`0`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,"clip-path":`inset(50%)`,"white-space":`nowrap`,"word-wrap":`normal`}},{default:o(()=>[i(s.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}});export{s as default};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AsTag } from "../primitive/types.js";
|
|
2
|
+
import "../primitive/index.js";
|
|
3
|
+
import { VisuallyHiddenFeature, VisuallyHiddenProps } from "./types.js";
|
|
4
|
+
import * as vue408 from "vue";
|
|
5
|
+
|
|
6
|
+
//#region src/components/visually-hidden/visually-hidden.vue.d.ts
|
|
7
|
+
declare var __VLS_7: {};
|
|
8
|
+
type __VLS_Slots = {} & {
|
|
9
|
+
default?: (props: typeof __VLS_7) => any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_base: vue408.DefineComponent<VisuallyHiddenProps, {}, {}, {}, {}, vue408.ComponentOptionsMixin, vue408.ComponentOptionsMixin, {}, string, vue408.PublicProps, Readonly<VisuallyHiddenProps> & Readonly<{}>, {
|
|
12
|
+
as: AsTag | vue408.Component;
|
|
13
|
+
feature: VisuallyHiddenFeature;
|
|
14
|
+
}, {}, {}, {}, string, vue408.ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
|
+
declare const _default: typeof __VLS_export;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { _default };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useArrowNavigation } from "./use-arrow-navigation.js";
|
|
2
|
+
import { useBodyScrollLock } from "./use-body-scroll-lock.js";
|
|
3
|
+
import { CollectionItemData, useCollection } from "./use-collection.js";
|
|
4
|
+
import { useContext } from "./use-context.js";
|
|
5
|
+
import { useControllableState } from "./use-controllable-state.js";
|
|
6
|
+
import { useDirection } from "./use-direction.js";
|
|
7
|
+
import { UseDismissableLayerOptions, layerContext, useDismissableLayer, useDismissableLayerBranch, useFocusOutside, usePointerdownOutside } from "./use-dismissable-layer.js";
|
|
8
|
+
import { useEscapeKeyDown } from "./use-escape-key-down.js";
|
|
9
|
+
import { useExposedElement } from "./use-exposed-element.js";
|
|
10
|
+
import { useFocusGuards } from "./use-focus-guards.js";
|
|
11
|
+
import { UseFocusScopeOptions, useFocusScope } from "./use-focus-scope.js";
|
|
12
|
+
import { useForwardElement } from "./use-forward-element.js";
|
|
13
|
+
import { useForwardListeners } from "./use-forward-listeners.js";
|
|
14
|
+
import { UseGraceAreaOptions, useGraceArea } from "./use-grace-area.js";
|
|
15
|
+
import { useHideOthers } from "./use-hide-others.js";
|
|
16
|
+
import { useImageLoadingStatus } from "./use-image-loading-status.js";
|
|
17
|
+
import { useIsUsingKeyboard } from "./use-is-using-keyboard.js";
|
|
18
|
+
import { kbdMap, useKbd } from "./use-kbd.js";
|
|
19
|
+
import { useLocale } from "./use-locale.js";
|
|
20
|
+
import { useNonce } from "./use-nonce.js";
|
|
21
|
+
import { usePresence } from "./use-presence.js";
|
|
22
|
+
import { useOmitProps, usePickProps } from "./use-props.js";
|
|
23
|
+
import { useSelection } from "./use-selection.js";
|
|
24
|
+
import { useStateMachine } from "./use-state-machine.js";
|
|
25
|
+
import { useTypeahead } from "./use-typeahead.js";
|
|
26
|
+
export { CollectionItemData, UseDismissableLayerOptions, UseFocusScopeOptions, UseGraceAreaOptions, kbdMap, layerContext, useArrowNavigation, useBodyScrollLock, useCollection, useContext, useControllableState, useDirection, useDismissableLayer, useDismissableLayerBranch, useEscapeKeyDown, useExposedElement, useFocusGuards, useFocusOutside, useFocusScope, useForwardElement, useForwardListeners, useGraceArea, useHideOthers, useImageLoadingStatus, useIsUsingKeyboard, useKbd, useLocale, useNonce, useOmitProps, usePickProps, usePointerdownOutside, usePresence, useSelection, useStateMachine, useTypeahead };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useArrowNavigation as e}from"./use-arrow-navigation.js";import{useBodyScrollLock as t}from"./use-body-scroll-lock.js";import{useContext as n}from"./use-context.js";import{useCollection as r}from"./use-collection.js";import{useControllableState as i}from"./use-controllable-state.js";import{useDirection as a}from"./use-direction.js";import{useEscapeKeyDown as o}from"./use-escape-key-down.js";import{layerContext as s,useDismissableLayer as c,useDismissableLayerBranch as l,useFocusOutside as u,usePointerdownOutside as d}from"./use-dismissable-layer.js";import{useForwardElement as f}from"./use-forward-element.js";import{useExposedElement as p}from"./use-exposed-element.js";import{useFocusGuards as m}from"./use-focus-guards.js";import{useFocusScope as h}from"./use-focus-scope.js";import{useForwardListeners as g}from"./use-forward-listeners.js";import{useGraceArea as _}from"./use-grace-area.js";import{useHideOthers as v}from"./use-hide-others.js";import{useImageLoadingStatus as y}from"./use-image-loading-status.js";import{useIsUsingKeyboard as b}from"./use-is-using-keyboard.js";import{kbdMap as x,useKbd as S}from"./use-kbd.js";import{useLocale as C}from"./use-locale.js";import{useNonce as w}from"./use-nonce.js";import{useStateMachine as T}from"./use-state-machine.js";import{usePresence as E}from"./use-presence.js";import{useOmitProps as D,usePickProps as O}from"./use-props.js";import{useSelection as k}from"./use-selection.js";import{useTypeahead as A}from"./use-typeahead.js";export{x as kbdMap,s as layerContext,e as useArrowNavigation,t as useBodyScrollLock,r as useCollection,n as useContext,i as useControllableState,a as useDirection,c as useDismissableLayer,l as useDismissableLayerBranch,o as useEscapeKeyDown,p as useExposedElement,m as useFocusGuards,u as useFocusOutside,h as useFocusScope,f as useForwardElement,g as useForwardListeners,_ as useGraceArea,v as useHideOthers,y as useImageLoadingStatus,b as useIsUsingKeyboard,S as useKbd,C as useLocale,w as useNonce,D as useOmitProps,O as usePickProps,d as usePointerdownOutside,E as usePresence,k as useSelection,T as useStateMachine,A as useTypeahead};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Direction } from "../types/common.js";
|
|
2
|
+
import "../types/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/composables/use-arrow-navigation.d.ts
|
|
5
|
+
type ArrowKeyOptions = 'horizontal' | 'vertical' | 'both';
|
|
6
|
+
interface ArrowNavigationOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The arrow key options to allow navigation
|
|
9
|
+
*
|
|
10
|
+
* @defaultValue 'both'
|
|
11
|
+
*/
|
|
12
|
+
arrowKeyOptions?: ArrowKeyOptions;
|
|
13
|
+
/**
|
|
14
|
+
* The attribute name to find the collection items in the parent element.
|
|
15
|
+
*
|
|
16
|
+
* @defaultValue 'data-soybean-collection-item'
|
|
17
|
+
*/
|
|
18
|
+
attributeName?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The parent element where contains all the collection items, this will collect every item to be used when nav It
|
|
21
|
+
* will be ignored if attributeName is provided
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue [ ]
|
|
24
|
+
*/
|
|
25
|
+
itemsArray?: HTMLElement[];
|
|
26
|
+
/**
|
|
27
|
+
* Allow loop navigation. If false, it will stop at the first and last element
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue true
|
|
30
|
+
*/
|
|
31
|
+
loop?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The orientation of the collection
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue 'ltr'
|
|
36
|
+
*/
|
|
37
|
+
dir?: Direction;
|
|
38
|
+
/**
|
|
39
|
+
* Prevent the scroll when navigating. This happens when the direction of the key matches the scroll direction of any
|
|
40
|
+
* ancestor scrollable elements.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue true
|
|
43
|
+
*/
|
|
44
|
+
preventScroll?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* By default all currentElement would trigger navigation. If `true`, currentElement nodeName in the ignore list will
|
|
47
|
+
* return null
|
|
48
|
+
*
|
|
49
|
+
* @defaultValue false
|
|
50
|
+
*/
|
|
51
|
+
enableIgnoredElement?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Focus the element after navigation
|
|
54
|
+
*
|
|
55
|
+
* @defaultValue false
|
|
56
|
+
*/
|
|
57
|
+
focus?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Allow arrow navigation for every html element with data-soybean-collection-item tag
|
|
61
|
+
*
|
|
62
|
+
* @param e Keyboard event
|
|
63
|
+
* @param currentElement Event initiator element or any element that wants to handle the navigation
|
|
64
|
+
* @param parentElement Parent element where contains all the collection items, this will collect every item to be used
|
|
65
|
+
* when nav
|
|
66
|
+
* @param options further options
|
|
67
|
+
* @returns the navigated html element or null if none
|
|
68
|
+
*/
|
|
69
|
+
declare function useArrowNavigation(e: KeyboardEvent, currentElement: HTMLElement, parentElement: HTMLElement | undefined, options?: ArrowNavigationOptions): HTMLElement | null;
|
|
70
|
+
//#endregion
|
|
71
|
+
export { useArrowNavigation };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{COLLECTION_ITEM_ATTRIBUTE as e}from"../constants/attr.js";const t=new Set([`INPUT`,`TEXTAREA`]),n={ArrowRight:`right`,ArrowLeft:`left`,ArrowUp:`up`,ArrowDown:`down`,Home:`home`,End:`end`};function r(n,r,s,c={}){let l={attributeName:`[${e}]`,itemsArray:[],loop:!0,dir:`ltr`,preventScroll:!0,focus:!1,arrowKeyOptions:`both`,enableIgnoredElement:!1,...c};if(!r||l.enableIgnoredElement&&t.has(r.nodeName))return null;let u=a(n,l.dir);return o(l.arrowKeyOptions,u)?null:i(n,r,s,l,u)}function i(e,t,n,r,i){let a=n?Array.from(n.querySelectorAll(r.attributeName)):r.itemsArray;if(a.length===0)return null;r.preventScroll&&e.preventDefault();let{home:o,end:c,goForward:l,goingHorizontal:u,goingVertical:d}=i,f=null;return u||d?f=s(a,t,{goForward:l,loop:r.loop}):o?f=a[0]||null:c&&(f=a[a.length-1]||null),r.focus&&f&&f.focus(),f}function a(e,t){let r=n[e.key];if(!r)return{right:!1,left:!1,up:!1,down:!1,home:!1,end:!1,goingVertical:!1,goingHorizontal:!1,goForward:!1};let i={right:r===`right`,left:r===`left`,up:r===`up`,down:r===`down`,home:r===`home`,end:r===`end`},a=i.up||i.down,o=i.right||i.left,s=i.down||(t===`ltr`?i.right:i.left);return{...i,goingVertical:a,goingHorizontal:o,goForward:s}}function o(e,t){let{goingVertical:n,goingHorizontal:r,home:i,end:a}=t;return i||a?!1:!n&&!r?!0:e===`vertical`&&r||e===`horizontal`&&n}function s(e,t,n){let{goForward:r,loop:i=!0}=n,a=e.length;if(a===0)return null;let o=e.indexOf(t);if(o===-1)return(r?e[0]:e[a-1])||null;let s=0,c=o;for(;s<a;){if(c=r?c+1:c-1,!i&&(c<0||c>=a))return null;c<0?c=a-1:c>=a&&(c=0);let t=e[c];if(t){let e=t.getAttribute(`disabled`);if(!(e!==null&&e!==`false`))return t}s++}return null}export{r as useArrowNavigation};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{isClient as e,isIOS as t}from"../shared/env.js";const n=`data-scroll-lock`,r=`scroll-lock-styles`,i={BODY:`scroll-lock-body`,BODY_WITH_SCROLLBAR:`scroll-lock-body-with-scrollbar`,HTML:`scroll-lock-html`},a=`
|
|
2
|
+
.${i.BODY} {
|
|
3
|
+
position: fixed !important;
|
|
4
|
+
overflow-x: hidden !important;
|
|
5
|
+
left: 0 !important;
|
|
6
|
+
right: 0 !important;
|
|
7
|
+
bottom: 0 !important;
|
|
8
|
+
height: auto !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.${i.BODY_WITH_SCROLLBAR} {
|
|
12
|
+
overflow-y: scroll !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.${i.HTML} {
|
|
16
|
+
scroll-behavior: auto !important;
|
|
17
|
+
}
|
|
18
|
+
`;function o(){if(!e)return()=>{};let r=document.body;if(r.hasAttribute(n))return()=>{};m();let i=window.scrollY;s(r,i,l());let a=t()?u():void 0;return()=>c(r,i,a)}function s(e,t,r){e.style.top=`-${t}px`,e.classList.add(i.BODY),r&&e.classList.add(i.BODY_WITH_SCROLLBAR),document.documentElement.classList.add(i.HTML),e.setAttribute(n,`true`)}function c(e,t,r){e.classList.remove(i.BODY,i.BODY_WITH_SCROLLBAR),document.documentElement.classList.remove(i.HTML),e.style.top=``,e.removeAttribute(n),window.scrollTo(0,t),r?.()}function l(){return document.body.scrollHeight>window.innerHeight}function u(){let e=e=>{d(e)&&e.preventDefault()};return document.addEventListener(`touchmove`,e,{passive:!1}),()=>{document.removeEventListener(`touchmove`,e)}}function d(e){if(e.touches.length>1)return!1;let t=e.target;return!f(t)}function f(e){let t=e;for(;t&&t.tagName!==`BODY`;){if(p(window.getComputedStyle(t),t))return!0;t=t.parentElement}return!1}function p(e,t){let n=e.overflowX===`scroll`||e.overflowY===`scroll`,r=e.overflowX===`auto`&&t.clientWidth<t.scrollWidth||e.overflowY===`auto`&&t.clientHeight<t.scrollHeight;return n||r}function m(){if(!document.getElementById(r)){let e=document.createElement(`style`);e.id=r,e.textContent=a,document.head.appendChild(e)}}export{o as useBodyScrollLock};
|