@soybeanjs/ui 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -5
- package/README.zh-CN.md +27 -5
- package/dist/_virtual/_rolldown/runtime.js +1 -0
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/accordion/accordion.vue.d.ts +1 -1
- package/dist/components/accordion/index.d.ts +1 -2
- package/dist/components/accordion/types.d.ts +17 -1
- package/dist/components/affix/affix.js +1 -1
- package/dist/components/affix/index.d.ts +2 -1
- package/dist/components/affix/types.d.ts +10 -1
- package/dist/components/alert/alert.js +1 -1
- package/dist/components/alert/index.d.ts +1 -2
- package/dist/components/alert/types.d.ts +25 -1
- package/dist/components/anchor/anchor.js +1 -1
- package/dist/components/anchor/anchor.vue.d.ts +1 -1
- package/dist/components/anchor/index.d.ts +2 -3
- package/dist/components/anchor/types.d.ts +30 -3
- package/dist/components/autocomplete/autocomplete.js +1 -1
- package/dist/components/autocomplete/autocomplete.vue.d.ts +2 -1
- package/dist/components/autocomplete/index.d.ts +2 -3
- package/dist/components/autocomplete/types.d.ts +18 -4
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/avatar/avatar.vue.d.ts +2 -8
- package/dist/components/avatar/index.d.ts +1 -2
- package/dist/components/avatar/types.d.ts +14 -12
- package/dist/components/backtop/backtop.js +1 -1
- package/dist/components/backtop/backtop.vue.d.ts +3 -3
- package/dist/components/backtop/index.d.ts +2 -2
- package/dist/components/backtop/types.d.ts +28 -1
- package/dist/components/backtop/variants.js +1 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/badge.vue.d.ts +2 -6
- package/dist/components/badge/index.d.ts +1 -2
- package/dist/components/badge/types.d.ts +21 -4
- package/dist/components/badge/variants.js +1 -1
- package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
- package/dist/components/bottom-sheet/index.d.ts +2 -1
- package/dist/components/bottom-sheet/types.d.ts +17 -1
- package/dist/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/components/breadcrumb/index.d.ts +3 -2
- package/dist/components/breadcrumb/types.d.ts +16 -1
- package/dist/components/button/button-group.js +1 -1
- package/dist/components/button/button-icon.js +1 -1
- package/dist/components/button/button-icon.vue.d.ts +1 -1
- package/dist/components/button/button-link.js +1 -1
- package/dist/components/button/button-loading.js +1 -1
- package/dist/components/button/button-loading.vue.d.ts +1 -1
- package/dist/components/button/button.js +1 -1
- package/dist/components/button/button.vue.d.ts +2 -2
- package/dist/components/button/types.d.ts +40 -3
- package/dist/components/calendar/calendar.js +1 -1
- package/dist/components/calendar/index.d.ts +1 -2
- package/dist/components/calendar/types.d.ts +20 -1
- package/dist/components/card/card-collapsible-trigger.js +1 -1
- package/dist/components/card/card-collapsible-trigger.vue.d.ts +1 -1
- package/dist/components/card/card.js +1 -1
- package/dist/components/card/index.d.ts +1 -2
- package/dist/components/card/types.d.ts +11 -1
- package/dist/components/carousel/carousel.js +1 -1
- package/dist/components/carousel/carousel.vue.d.ts +16 -19
- package/dist/components/carousel/index.d.ts +2 -7
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/carousel/types.d.ts +32 -4
- package/dist/components/carousel/variants.js +1 -1
- package/dist/components/checkbox/checkbox-card-group.js +1 -1
- package/dist/components/checkbox/checkbox-card.js +1 -1
- package/dist/components/checkbox/checkbox-group.js +1 -1
- package/dist/components/checkbox/checkbox.js +1 -1
- package/dist/components/checkbox/index.d.ts +2 -1
- package/dist/components/checkbox/types.d.ts +80 -1
- package/dist/components/clipboard/clipboard.js +1 -1
- package/dist/components/clipboard/clipboard.vue.d.ts +2 -2
- package/dist/components/clipboard/index.d.ts +2 -1
- package/dist/components/clipboard/types.d.ts +22 -1
- package/dist/components/collapsible/collapsible.js +1 -1
- package/dist/components/collapsible/index.d.ts +3 -2
- package/dist/components/collapsible/types.d.ts +13 -1
- package/dist/components/color-area/color-area.js +1 -1
- package/dist/components/color-area/color-area.vue.d.ts +2 -2
- package/dist/components/color-area/index.d.ts +1 -2
- package/dist/components/color-area/types.d.ts +23 -1
- package/dist/components/color-field/color-field.js +1 -1
- package/dist/components/color-field/index.d.ts +1 -2
- package/dist/components/color-field/types.d.ts +20 -1
- package/dist/components/color-picker/color-picker.js +1 -1
- package/dist/components/color-picker/color-picker.vue.d.ts +8 -8
- package/dist/components/color-picker/index.d.ts +2 -1
- package/dist/components/color-picker/types.d.ts +96 -3
- package/dist/components/color-slider/color-slider.js +1 -1
- package/dist/components/color-slider/color-slider.vue.d.ts +3 -3
- package/dist/components/color-slider/index.d.ts +1 -2
- package/dist/components/color-slider/types.d.ts +25 -1
- package/dist/components/color-swatch/color-swatch.js +1 -1
- package/dist/components/color-swatch/index.d.ts +2 -4
- package/dist/components/color-swatch/types.d.ts +22 -1
- package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
- package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +2 -2
- package/dist/components/color-swatch-picker/index.d.ts +1 -2
- package/dist/components/color-swatch-picker/types.d.ts +38 -1
- package/dist/components/combobox/combobox.js +1 -1
- package/dist/components/combobox/index.d.ts +1 -2
- package/dist/components/combobox/types.d.ts +19 -1
- package/dist/components/command/command.js +1 -1
- package/dist/components/command/command.vue.d.ts +4 -3
- package/dist/components/command/index.d.ts +2 -3
- package/dist/components/command/types.d.ts +18 -4
- package/dist/components/config-provider/config-provider.js +1 -1
- package/dist/components/config-provider/config-provider.vue.d.ts +6 -9
- package/dist/components/config-provider/index.d.ts +2 -1
- package/dist/components/config-provider/types.d.ts +22 -17
- package/dist/components/context-menu/context-menu-checkbox.js +1 -1
- package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
- package/dist/components/context-menu/context-menu-radio.js +1 -1
- package/dist/components/context-menu/context-menu-radio.vue.d.ts +1 -1
- package/dist/components/context-menu/context-menu-wrapper.js +1 -1
- package/dist/components/context-menu/context-menu.js +1 -1
- package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
- package/dist/components/context-menu/index.d.ts +5 -4
- package/dist/components/context-menu/index.js +1 -1
- package/dist/components/context-menu/types.d.ts +35 -1
- package/dist/components/date-field/date-field.js +1 -1
- package/dist/components/date-field/index.d.ts +1 -2
- package/dist/components/date-field/types.d.ts +16 -1
- package/dist/components/date-picker/date-picker.js +1 -1
- package/dist/components/date-picker/date-picker.vue.d.ts +3 -1
- package/dist/components/date-picker/index.d.ts +1 -2
- package/dist/components/date-picker/types.d.ts +23 -15
- package/dist/components/date-picker/variants.js +1 -1
- package/dist/components/date-range-field/date-range-field.js +1 -1
- package/dist/components/date-range-field/index.d.ts +1 -2
- package/dist/components/date-range-field/types.d.ts +47 -2
- package/dist/components/date-range-picker/date-range-picker.js +1 -1
- package/dist/components/date-range-picker/index.d.ts +1 -2
- package/dist/components/date-range-picker/types.d.ts +36 -2
- package/dist/components/dialog/dialog-provider.js +1 -1
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/dialog/dialog.vue.d.ts +4 -4
- package/dist/components/dialog/index.d.ts +2 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dialog/types.d.ts +17 -1
- package/dist/components/drawer/drawer.js +1 -1
- package/dist/components/drawer/drawer.vue.d.ts +4 -4
- package/dist/components/drawer/types.d.ts +13 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/index.d.ts +2 -1
- package/dist/components/dropdown-menu/types.d.ts +35 -1
- package/dist/components/editable/editable.js +1 -1
- package/dist/components/editable/index.d.ts +2 -3
- package/dist/components/editable/types.d.ts +42 -2
- package/dist/components/empty/empty.js +1 -1
- package/dist/components/empty/empty.vue.d.ts +2 -8
- package/dist/components/empty/index.d.ts +2 -4
- package/dist/components/empty/types.d.ts +22 -14
- package/dist/components/empty/variants.js +1 -1
- package/dist/components/form/form-field-array.js +1 -0
- package/dist/components/form/form-field-base.js +1 -1
- package/dist/components/form/form-field-base.vue.d.ts +3 -16
- package/dist/components/form/form-field.js +1 -0
- package/dist/components/form/form.js +1 -1
- package/dist/components/form/form.vue.d.ts +2 -2
- package/dist/components/form/index.d.ts +2 -3
- package/dist/components/form/types.d.ts +36 -45
- package/dist/components/form/use-form.d.ts +3 -40
- package/dist/components/form/use-form.js +1 -1
- package/dist/components/form/variants.js +1 -1
- package/dist/components/hover-card/hover-card.js +1 -1
- package/dist/components/hover-card/index.d.ts +1 -2
- package/dist/components/hover-card/types.d.ts +35 -1
- package/dist/components/icon/types.d.ts +7 -1
- package/dist/components/input/index.d.ts +4 -3
- package/dist/components/input/index.js +1 -1
- package/dist/components/input/input.js +1 -1
- package/dist/components/input/input.vue.d.ts +2 -7
- package/dist/components/input/types.d.ts +18 -15
- package/dist/components/input/variants.js +1 -1
- package/dist/components/input-number/index.d.ts +2 -1
- package/dist/components/input-number/input-number.js +1 -1
- package/dist/components/input-number/types.d.ts +26 -1
- package/dist/components/input-otp/index.d.ts +1 -2
- package/dist/components/input-otp/index.js +1 -1
- package/dist/components/input-otp/input-otp.js +1 -1
- package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
- package/dist/components/input-otp/types.d.ts +19 -1
- package/dist/components/kbd/index.d.ts +4 -2
- package/dist/components/kbd/kbd.js +1 -1
- package/dist/components/kbd/types.d.ts +18 -2
- package/dist/components/label/label.js +1 -1
- package/dist/components/label/types.d.ts +11 -1
- package/dist/components/layout/index.d.ts +2 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/layout/layout-classic.js +1 -1
- package/dist/components/layout/layout.js +1 -1
- package/dist/components/layout/types.d.ts +38 -1
- package/dist/components/link/index.d.ts +4 -2
- package/dist/components/link/link.js +1 -1
- package/dist/components/link/types.d.ts +8 -1
- package/dist/components/list/index.d.ts +3 -3
- package/dist/components/list/list-item.js +1 -1
- package/dist/components/list/list.js +1 -1
- package/dist/components/list/types.d.ts +32 -1
- package/dist/components/menu/context.js +1 -1
- package/dist/components/menu/index.d.ts +10 -2
- package/dist/components/menu/index.js +1 -1
- package/dist/components/menu/types.d.ts +14 -1
- package/dist/components/menubar/index.d.ts +2 -1
- package/dist/components/menubar/menubar.js +1 -1
- package/dist/components/menubar/menubar.vue.d.ts +1 -1
- package/dist/components/menubar/types.d.ts +20 -1
- package/dist/components/month-picker/index.d.ts +1 -2
- package/dist/components/month-picker/month-picker.js +1 -1
- package/dist/components/month-picker/types.d.ts +44 -2
- package/dist/components/month-range-picker/index.d.ts +1 -2
- package/dist/components/month-range-picker/month-range-picker.js +1 -1
- package/dist/components/month-range-picker/types.d.ts +44 -2
- package/dist/components/navigation-menu/index.d.ts +1 -2
- package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
- package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +1 -1
- package/dist/components/navigation-menu/types.d.ts +85 -2
- package/dist/components/page-tabs/index.d.ts +2 -1
- package/dist/components/page-tabs/page-tabs.js +1 -1
- package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
- package/dist/components/page-tabs/types.d.ts +79 -3
- package/dist/components/pagination/index.d.ts +1 -2
- package/dist/components/pagination/pagination.js +1 -1
- package/dist/components/pagination/types.d.ts +18 -8
- package/dist/components/password/password.js +1 -1
- package/dist/components/password/types.d.ts +20 -1
- package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
- package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
- package/dist/components/popconfirm/popconfirm.js +1 -1
- package/dist/components/popconfirm/types.d.ts +143 -4
- package/dist/components/popover/index.d.ts +1 -2
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/popover/types.d.ts +39 -2
- package/dist/components/progress/index.d.ts +6 -6
- package/dist/components/progress/progress-circle.js +1 -1
- package/dist/components/progress/progress-provider.js +1 -1
- package/dist/components/progress/progress.js +1 -1
- package/dist/components/progress/types.d.ts +43 -1
- package/dist/components/radio-group/index.d.ts +2 -3
- package/dist/components/radio-group/radio-card-group.js +1 -1
- package/dist/components/radio-group/radio-card-group.vue.d.ts +1 -1
- package/dist/components/radio-group/radio-card.js +1 -1
- package/dist/components/radio-group/radio-group.js +1 -1
- package/dist/components/radio-group/radio-group.vue.d.ts +1 -1
- package/dist/components/radio-group/radio.js +1 -1
- package/dist/components/radio-group/types.d.ts +76 -1
- package/dist/components/range-calendar/index.d.ts +1 -2
- package/dist/components/range-calendar/range-calendar.js +1 -1
- package/dist/components/range-calendar/types.d.ts +127 -1
- package/dist/components/scroll-area/index.d.ts +1 -2
- package/dist/components/scroll-area/scroll-area.js +1 -1
- package/dist/components/scroll-area/types.d.ts +29 -1
- package/dist/components/segment/index.d.ts +2 -1
- package/dist/components/segment/segment.js +1 -1
- package/dist/components/segment/types.d.ts +26 -1
- package/dist/components/select/index.d.ts +2 -3
- package/dist/components/select/select.js +1 -1
- package/dist/components/select/select.vue.d.ts +1 -1
- package/dist/components/select/types.d.ts +18 -3
- package/dist/components/separator/index.d.ts +1 -2
- package/dist/components/separator/separator.js +1 -1
- package/dist/components/separator/types.d.ts +26 -1
- package/dist/components/skeleton/skeleton.js +1 -1
- package/dist/components/skeleton/types.d.ts +14 -1
- package/dist/components/slider/index.d.ts +1 -2
- package/dist/components/slider/slider.js +1 -1
- package/dist/components/slider/types.d.ts +29 -1
- package/dist/components/spinner/spinner.js +1 -1
- package/dist/components/spinner/types.d.ts +16 -1
- package/dist/components/splitter/index.d.ts +2 -3
- package/dist/components/splitter/splitter-group.js +1 -1
- package/dist/components/splitter/splitter-panel.js +1 -1
- package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
- package/dist/components/splitter/splitter-resize-handle.js +1 -1
- package/dist/components/splitter/splitter-resize-handle.vue.d.ts +2 -2
- package/dist/components/splitter/types.d.ts +43 -2
- package/dist/components/stepper/index.d.ts +1 -2
- package/dist/components/stepper/stepper.js +1 -1
- package/dist/components/stepper/types.d.ts +56 -1
- package/dist/components/switch/index.d.ts +1 -2
- package/dist/components/switch/switch.js +1 -1
- package/dist/components/switch/switch.vue.d.ts +4 -4
- package/dist/components/switch/types.d.ts +29 -1
- package/dist/components/table/hooks.js +1 -1
- package/dist/components/table/index.d.ts +2 -1
- package/dist/components/table/index.js +1 -1
- package/dist/components/table/table.js +1 -1
- package/dist/components/table/types.d.ts +76 -1
- package/dist/components/tabs/index.d.ts +2 -3
- package/dist/components/tabs/tabs.js +1 -1
- package/dist/components/tabs/types.d.ts +19 -1
- package/dist/components/tag/tag.js +1 -1
- package/dist/components/tag/types.d.ts +26 -1
- package/dist/components/tags-input/index.d.ts +3 -2
- package/dist/components/tags-input/tags-input-item-delete.js +1 -1
- package/dist/components/tags-input/tags-input.js +1 -1
- package/dist/components/tags-input/tags-input.vue.d.ts +1 -1
- package/dist/components/tags-input/types.d.ts +17 -1
- package/dist/components/textarea/index.d.ts +1 -2
- package/dist/components/textarea/textarea.js +1 -1
- package/dist/components/textarea/types.d.ts +23 -1
- package/dist/components/time-field/index.d.ts +1 -2
- package/dist/components/time-field/time-field.js +1 -1
- package/dist/components/time-field/types.d.ts +38 -2
- package/dist/components/time-picker/index.d.ts +1 -2
- package/dist/components/time-picker/time-picker.js +1 -1
- package/dist/components/time-picker/types.d.ts +35 -2
- package/dist/components/time-range-field/index.d.ts +1 -2
- package/dist/components/time-range-field/time-range-field.js +1 -1
- package/dist/components/time-range-field/types.d.ts +47 -2
- package/dist/components/time-range-picker/index.d.ts +1 -2
- package/dist/components/time-range-picker/time-range-picker.js +1 -1
- package/dist/components/time-range-picker/types.d.ts +35 -2
- package/dist/components/toast/index.d.ts +3 -3
- package/dist/components/toast/toast-provider.js +1 -1
- package/dist/components/toast/types.d.ts +11 -2
- package/dist/components/toggle/toggle.js +1 -1
- package/dist/components/toggle/toggle.vue.d.ts +3 -3
- package/dist/components/toggle/types.d.ts +20 -1
- package/dist/components/toggle-group/index.d.ts +1 -2
- package/dist/components/toggle-group/toggle-group-item.js +1 -1
- package/dist/components/toggle-group/toggle-group-item.vue.d.ts +1 -1
- package/dist/components/toggle-group/toggle-group.js +1 -1
- package/dist/components/toggle-group/toggle-group.vue.d.ts +1 -1
- package/dist/components/toggle-group/types.d.ts +23 -1
- package/dist/components/toolbar/index.d.ts +3 -2
- package/dist/components/toolbar/toolbar.js +1 -1
- package/dist/components/toolbar/types.d.ts +11 -1
- package/dist/components/tooltip/index.d.ts +1 -2
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tooltip/types.d.ts +38 -1
- package/dist/components/tree/index.d.ts +3 -2
- package/dist/components/tree/tree-virtualizer.js +1 -1
- package/dist/components/tree/tree-virtualizer.vue.d.ts +2 -1
- package/dist/components/tree/tree.js +1 -1
- package/dist/components/tree/tree.vue.d.ts +2 -1
- package/dist/components/tree/types.d.ts +15 -1
- package/dist/components/tree-menu/index.d.ts +2 -1
- package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
- package/dist/components/tree-menu/tree-menu-option.js +1 -1
- package/dist/components/tree-menu/tree-menu-options.js +1 -1
- package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
- package/dist/components/tree-menu/tree-menu.js +1 -1
- package/dist/components/tree-menu/types.d.ts +111 -6
- package/dist/components/virtualizer/index.d.ts +3 -2
- package/dist/components/virtualizer/types.d.ts +10 -1
- package/dist/components/virtualizer/virtualizer.js +1 -1
- package/dist/components/year-picker/index.d.ts +1 -2
- package/dist/components/year-picker/types.d.ts +44 -2
- package/dist/components/year-picker/year-picker.js +1 -1
- package/dist/components/year-range-picker/index.d.ts +1 -2
- package/dist/components/year-range-picker/types.d.ts +44 -2
- package/dist/components/year-range-picker/year-range-picker.js +1 -1
- package/dist/constants/components.d.ts +18 -18
- package/dist/constants/components.js +1 -1
- package/dist/index.d.ts +206 -180
- package/dist/index.js +1 -1
- package/dist/styles.css +77 -52
- package/dist/theme/merge.d.ts +1 -1
- package/dist/theme/shared.d.ts +1 -1
- package/package.json +14 -8
- package/dist/components/carousel/carousel-content.js +0 -1
- package/dist/components/carousel/carousel-content.vue.d.ts +0 -18
- package/dist/components/carousel/carousel-item.js +0 -1
- package/dist/components/carousel/carousel-item.vue.d.ts +0 -18
- package/dist/components/carousel/carousel-next.js +0 -1
- package/dist/components/carousel/carousel-next.vue.d.ts +0 -22
- package/dist/components/carousel/carousel-previous.js +0 -1
- package/dist/components/carousel/carousel-previous.vue.d.ts +0 -22
- package/dist/components/empty/variants.d.ts +0 -57
- package/dist/components/form/context.js +0 -1
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts +0 -4
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts +0 -16
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts +0 -9
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts +0 -13
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts +0 -4
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts +0 -31
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts +0 -67
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts +0 -29
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts +0 -10
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts +0 -13
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts +0 -43
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts +0 -20
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts +0 -14
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts +0 -8
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts +0 -4
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts +0 -12
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts +0 -7
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts +0 -10
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts +0 -19
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts +0 -9
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts +0 -7
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts +0 -8
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts +0 -9
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts +0 -4
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import {
|
|
2
|
+
import { MenubarCompactEmits, MenubarCompactProps, MenubarCompactSlots, MenubarUi } from "@soybeanjs/headless/menubar";
|
|
3
|
+
import { AlignSide, ClassValue, DefinedValue } from "@soybeanjs/headless/types";
|
|
3
4
|
|
|
4
5
|
//#region src/components/menubar/types.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Properties for the Menubar component.
|
|
8
|
+
*/
|
|
5
9
|
interface MenubarProps<T extends DefinedValue = DefinedValue> extends MenubarCompactProps<T> {
|
|
6
10
|
/**
|
|
7
11
|
* class of menubar root
|
|
8
12
|
*/
|
|
9
13
|
class?: ClassValue;
|
|
14
|
+
/**
|
|
15
|
+
* Visual size of the component.
|
|
16
|
+
*/
|
|
10
17
|
size?: ThemeSize;
|
|
18
|
+
/**
|
|
19
|
+
* Per-slot class overrides for the component.
|
|
20
|
+
*/
|
|
11
21
|
ui?: Partial<MenubarUi>;
|
|
22
|
+
/**
|
|
23
|
+
* Indicator position.
|
|
24
|
+
*/
|
|
12
25
|
indicatorPosition?: AlignSide;
|
|
13
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Events for the Menubar component.
|
|
29
|
+
*/
|
|
14
30
|
type MenubarEmits<T extends DefinedValue = DefinedValue> = MenubarCompactEmits<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Slots for the Menubar component.
|
|
33
|
+
*/
|
|
15
34
|
type MenubarSlots<T extends DefinedValue = DefinedValue> = MenubarCompactSlots<T>;
|
|
16
35
|
//#endregion
|
|
17
36
|
export { MenubarEmits, MenubarProps, MenubarSlots };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { MonthPickerEmits, MonthPickerProps, MonthPickerSlots } from "./types.js";
|
|
2
2
|
import { _default } from "./month-picker.vue.js";
|
|
3
|
-
|
|
4
|
-
export { type MonthPickerPopupProps$1 as MonthPickerPopupProps, type MonthPickerRootEmits$1 as MonthPickerRootEmits, type MonthPickerRootProps$1 as MonthPickerRootProps, type MonthPickerTriggerProps$1 as MonthPickerTriggerProps, type MonthPickerUi$1 as MonthPickerUi, type MonthPickerUiSlot };
|
|
3
|
+
export * from "@soybeanjs/headless/month-picker";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthPickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthPickerPopup as b,MonthPickerRoot as x,MonthPickerTrigger as S,provideMonthPickerUi as C}from"@soybeanjs/headless/month-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthPicker`,__name:`month-picker`,props:{class:{},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthPickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthPickerPopup as b,MonthPickerRoot as x,MonthPickerTrigger as S,provideMonthPickerUi as C}from"@soybeanjs/headless/month-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthPicker`,__name:`month-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
|
|
@@ -1,32 +1,71 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { ClassValue } from "@soybeanjs/headless";
|
|
3
2
|
import { MonthPickerPopupProps, MonthPickerRootEmits, MonthPickerRootProps, MonthPickerTriggerProps, MonthPickerUi } from "@soybeanjs/headless/month-picker";
|
|
3
|
+
import { ClassValue } from "@soybeanjs/headless/types";
|
|
4
4
|
import { DateValue } from "@internationalized/date";
|
|
5
5
|
|
|
6
6
|
//#region src/components/month-picker/types.d.ts
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Properties for the MonthPicker component.
|
|
9
|
+
*/
|
|
10
|
+
interface MonthPickerProps extends /** @vue-ignore */MonthPickerRootProps {
|
|
11
|
+
/**
|
|
12
|
+
* Additional class names applied to the root element.
|
|
13
|
+
*/
|
|
8
14
|
class?: ClassValue;
|
|
15
|
+
/**
|
|
16
|
+
* Visual size of the component.
|
|
17
|
+
*/
|
|
9
18
|
size?: ThemeSize;
|
|
19
|
+
/**
|
|
20
|
+
* Per-slot class overrides for the component.
|
|
21
|
+
*/
|
|
10
22
|
ui?: Partial<MonthPickerUi>;
|
|
23
|
+
/**
|
|
24
|
+
* Properties forwarded to the trigger element.
|
|
25
|
+
*/
|
|
11
26
|
triggerProps?: MonthPickerTriggerProps;
|
|
27
|
+
/**
|
|
28
|
+
* Properties forwarded to the popup element.
|
|
29
|
+
*/
|
|
12
30
|
popupProps?: MonthPickerPopupProps;
|
|
13
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Events for the MonthPicker component.
|
|
34
|
+
*/
|
|
14
35
|
type MonthPickerEmits = MonthPickerRootEmits;
|
|
36
|
+
/**
|
|
37
|
+
* Slots for the MonthPicker component.
|
|
38
|
+
*/
|
|
15
39
|
interface MonthPickerSlots {
|
|
40
|
+
/**
|
|
41
|
+
* Custom content for the trigger slot.
|
|
42
|
+
*/
|
|
16
43
|
trigger?: (props: {
|
|
17
44
|
displayValue: string;
|
|
18
45
|
modelValue: DateValue | undefined;
|
|
19
46
|
open: boolean;
|
|
20
47
|
}) => any;
|
|
48
|
+
/**
|
|
49
|
+
* Custom content for the heading slot.
|
|
50
|
+
*/
|
|
21
51
|
heading?: (props: {
|
|
22
52
|
headingValue: string;
|
|
23
53
|
}) => any;
|
|
54
|
+
/**
|
|
55
|
+
* Custom content for the prev slot.
|
|
56
|
+
*/
|
|
24
57
|
prev?: (props: {
|
|
25
58
|
disabled: boolean;
|
|
26
59
|
}) => any;
|
|
60
|
+
/**
|
|
61
|
+
* Custom content for the next slot.
|
|
62
|
+
*/
|
|
27
63
|
next?: (props: {
|
|
28
64
|
disabled: boolean;
|
|
29
65
|
}) => any;
|
|
66
|
+
/**
|
|
67
|
+
* Custom content for the month slot.
|
|
68
|
+
*/
|
|
30
69
|
month?: (props: {
|
|
31
70
|
date: DateValue;
|
|
32
71
|
label: string;
|
|
@@ -34,6 +73,9 @@ interface MonthPickerSlots {
|
|
|
34
73
|
focused: boolean;
|
|
35
74
|
selected: boolean;
|
|
36
75
|
}) => any;
|
|
76
|
+
/**
|
|
77
|
+
* Custom content for the default slot.
|
|
78
|
+
*/
|
|
37
79
|
default?: (props: {
|
|
38
80
|
displayValue: string;
|
|
39
81
|
modelValue: DateValue | undefined;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { MonthRangePickerEmits, MonthRangePickerProps, MonthRangePickerSlots } from "./types.js";
|
|
2
2
|
import { _default } from "./month-range-picker.vue.js";
|
|
3
|
-
|
|
4
|
-
export { type MonthRangePickerPopupProps$1 as MonthRangePickerPopupProps, type MonthRangePickerRootEmits$1 as MonthRangePickerRootEmits, type MonthRangePickerRootProps$1 as MonthRangePickerRootProps, type MonthRangePickerTriggerProps$1 as MonthRangePickerTriggerProps, type MonthRangePickerUi$1 as MonthRangePickerUi, type MonthRangePickerUiSlot };
|
|
3
|
+
export * from "@soybeanjs/headless/month-range-picker";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthRangePickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthRangePickerPopup as b,MonthRangePickerRoot as x,MonthRangePickerTrigger as S,provideMonthRangePickerUi as C}from"@soybeanjs/headless/month-range-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthRangePicker`,__name:`month-range-picker`,props:{class:{},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month range`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthRangePickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthRangePickerPopup as b,MonthRangePickerRoot as x,MonthRangePickerTrigger as S,provideMonthRangePickerUi as C}from"@soybeanjs/headless/month-range-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthRangePicker`,__name:`month-range-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month range`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
|
|
@@ -1,32 +1,71 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
-
import { ClassValue } from "@soybeanjs/headless";
|
|
3
2
|
import { MonthRangePickerPopupProps, MonthRangePickerRootEmits, MonthRangePickerRootProps, MonthRangePickerTriggerProps, MonthRangePickerUi } from "@soybeanjs/headless/month-range-picker";
|
|
3
|
+
import { ClassValue } from "@soybeanjs/headless/types";
|
|
4
4
|
import { DateRange, DateValue } from "@soybeanjs/headless/date";
|
|
5
5
|
|
|
6
6
|
//#region src/components/month-range-picker/types.d.ts
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Properties for the MonthRangePicker component.
|
|
9
|
+
*/
|
|
10
|
+
interface MonthRangePickerProps extends /** @vue-ignore */MonthRangePickerRootProps {
|
|
11
|
+
/**
|
|
12
|
+
* Additional class names applied to the root element.
|
|
13
|
+
*/
|
|
8
14
|
class?: ClassValue;
|
|
15
|
+
/**
|
|
16
|
+
* Visual size of the component.
|
|
17
|
+
*/
|
|
9
18
|
size?: ThemeSize;
|
|
19
|
+
/**
|
|
20
|
+
* Per-slot class overrides for the component.
|
|
21
|
+
*/
|
|
10
22
|
ui?: Partial<MonthRangePickerUi>;
|
|
23
|
+
/**
|
|
24
|
+
* Properties forwarded to the trigger element.
|
|
25
|
+
*/
|
|
11
26
|
triggerProps?: MonthRangePickerTriggerProps;
|
|
27
|
+
/**
|
|
28
|
+
* Properties forwarded to the popup element.
|
|
29
|
+
*/
|
|
12
30
|
popupProps?: MonthRangePickerPopupProps;
|
|
13
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Events for the MonthRangePicker component.
|
|
34
|
+
*/
|
|
14
35
|
type MonthRangePickerEmits = MonthRangePickerRootEmits;
|
|
36
|
+
/**
|
|
37
|
+
* Slots for the MonthRangePicker component.
|
|
38
|
+
*/
|
|
15
39
|
interface MonthRangePickerSlots {
|
|
40
|
+
/**
|
|
41
|
+
* Custom content for the trigger slot.
|
|
42
|
+
*/
|
|
16
43
|
trigger?: (props: {
|
|
17
44
|
displayValue: string;
|
|
18
45
|
modelValue: DateRange;
|
|
19
46
|
open: boolean;
|
|
20
47
|
}) => any;
|
|
48
|
+
/**
|
|
49
|
+
* Custom content for the heading slot.
|
|
50
|
+
*/
|
|
21
51
|
heading?: (props: {
|
|
22
52
|
headingValue: string;
|
|
23
53
|
}) => any;
|
|
54
|
+
/**
|
|
55
|
+
* Custom content for the prev slot.
|
|
56
|
+
*/
|
|
24
57
|
prev?: (props: {
|
|
25
58
|
disabled: boolean;
|
|
26
59
|
}) => any;
|
|
60
|
+
/**
|
|
61
|
+
* Custom content for the next slot.
|
|
62
|
+
*/
|
|
27
63
|
next?: (props: {
|
|
28
64
|
disabled: boolean;
|
|
29
65
|
}) => any;
|
|
66
|
+
/**
|
|
67
|
+
* Custom content for the month slot.
|
|
68
|
+
*/
|
|
30
69
|
month?: (props: {
|
|
31
70
|
date: DateValue;
|
|
32
71
|
label: string;
|
|
@@ -37,6 +76,9 @@ interface MonthRangePickerSlots {
|
|
|
37
76
|
rangeStart: boolean;
|
|
38
77
|
selected: boolean;
|
|
39
78
|
}) => any;
|
|
79
|
+
/**
|
|
80
|
+
* Custom content for the default slot.
|
|
81
|
+
*/
|
|
40
82
|
default?: (props: {
|
|
41
83
|
displayValue: string;
|
|
42
84
|
modelValue: DateRange;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { NavigationMenuEmits, NavigationMenuExtendedUi, NavigationMenuExtraUi, NavigationMenuExtraUiSlot, NavigationMenuOptionData, NavigationMenuOptionEmits, NavigationMenuOptionProps, NavigationMenuProps, NavigationMenuSubOptionEmits, NavigationMenuSubOptionProps } from "./types.js";
|
|
2
2
|
import { _default } from "./navigation-menu.vue.js";
|
|
3
|
-
|
|
4
|
-
export { type NavigationMenuContentEmits, type NavigationMenuContentProps, type NavigationMenuIndicatorProps, type NavigationMenuItemProps, type NavigationMenuLinkEmits, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootEmits, type NavigationMenuRootProps, type NavigationMenuSubEmits, type NavigationMenuSubListProps, type NavigationMenuSubProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps };
|
|
3
|
+
export * from "@soybeanjs/headless/navigation-menu";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=t(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(t,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(n,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(t.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(t.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,n=>({name:n,fn:T(()=>[y(t.$slots,n,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(n,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(t.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
|
|
1
|
+
import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless/navigation-menu";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=t(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(t,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(n,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(t.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(t.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,n=>({name:n,fn:T(()=>[y(t.$slots,n,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(n,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(t.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=t(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(t,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(n,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(t.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(t.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(t.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
|
|
1
|
+
import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless/navigation-menu";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=t(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(t,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(n,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(t.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(t.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(t.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideNavigationMenuExtraUi as t}from"./context.js";import{navigationMenuVariants as n}from"./variants.js";import r from"./navigation-menu-option.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,createElementVNode as c,createSlots as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w,usePickProps as T}from"@soybeanjs/headless/composables";import{NavigationMenuIndicator as E,NavigationMenuList as D,NavigationMenuRoot as O,NavigationMenuViewport as k,provideNavigationMenuUi as A}from"@soybeanjs/headless";const j=d({name:`SNavigationMenu`,__name:`navigation-menu`,props:{class:{},size:{},ui:{},items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],I=w(M,[`class`,`size`,`ui`,`items`,...F]),L=T(M,[...F]),R=C(N),z=a(()=>Object.keys(P)),B=a(()=>e(n({size:M.size}),M.ui,{root:M.class}));return A(B),t(B),(e,t)=>(g(),o(b(O),p(b(I),{"onUpdate:modelValue":t[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[u(b(D),h(f(d.listProps)),{default:S(()=>[(g(!0),s(i,null,_(d.items,t=>(g(),o(r,p({key:t.value},{ref_for:!0},b(L),{item:t},y(b(R))),l({"item-children":S(t=>[v(e.$slots,`item-children`,{item:t.item})]),_:2},[_(z.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),u(b(E),h(f(d.indicatorProps)),{default:S(()=>[c(`div`,{class:m(B.value?.arrow)},null,2)]),_:1},16),c(`div`,{class:m(B.value?.viewportRoot)},[u(b(k),h(f(d.viewportProps)),null,16)],2)]),_:3},16))}});export{j as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideNavigationMenuExtraUi as t}from"./context.js";import{navigationMenuVariants as n}from"./variants.js";import r from"./navigation-menu-option.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,createElementVNode as c,createSlots as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w,usePickProps as T}from"@soybeanjs/headless/composables";import{NavigationMenuIndicator as E,NavigationMenuList as D,NavigationMenuRoot as O,NavigationMenuViewport as k,provideNavigationMenuUi as A}from"@soybeanjs/headless/navigation-menu";const j=d({name:`SNavigationMenu`,__name:`navigation-menu`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],I=w(M,[`class`,`size`,`ui`,`items`,...F]),L=T(M,[...F]),R=C(N),z=a(()=>Object.keys(P)),B=a(()=>e(n({size:M.size}),M.ui,{root:M.class}));return A(B),t(B),(e,t)=>(g(),o(b(O),p(b(I),{"onUpdate:modelValue":t[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[u(b(D),h(f(d.listProps)),{default:S(()=>[(g(!0),s(i,null,_(d.items,t=>(g(),o(r,p({key:t.value},{ref_for:!0},b(L),{item:t},y(b(R))),l({"item-children":S(t=>[v(e.$slots,`item-children`,{item:t.item})]),_:2},[_(z.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),u(b(E),h(f(d.indicatorProps)),{default:S(()=>[c(`div`,{class:m(B.value?.arrow)},null,2)]),_:1},16),c(`div`,{class:m(B.value?.viewportRoot)},[u(b(k),h(f(d.viewportProps)),null,16)],2)]),_:3},16))}});export{j as default};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import { IconValue } from "../icon/types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { LinkBaseProps } from "@soybeanjs/headless/link";
|
|
4
|
+
import { NavigationMenuContentEmits, NavigationMenuContentProps, NavigationMenuIndicatorProps, NavigationMenuItemProps, NavigationMenuLinkEmits, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootEmits, NavigationMenuRootProps, NavigationMenuSubEmits, NavigationMenuTriggerProps, NavigationMenuUiSlot, NavigationMenuViewportProps } from "@soybeanjs/headless/navigation-menu";
|
|
5
|
+
import { ClassValue, UiClass } from "@soybeanjs/headless/types";
|
|
4
6
|
|
|
5
7
|
//#region src/components/navigation-menu/types.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Option data for the NavigationMenu component.
|
|
10
|
+
*/
|
|
6
11
|
interface NavigationMenuOptionData extends LinkBaseProps {
|
|
7
12
|
/** The value of the option. */
|
|
8
13
|
value: string;
|
|
@@ -21,34 +26,112 @@ interface NavigationMenuOptionData extends LinkBaseProps {
|
|
|
21
26
|
/** The children of the option. */
|
|
22
27
|
children?: NavigationMenuOptionData[];
|
|
23
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Additional UI slots for the navigation menu component.
|
|
31
|
+
*/
|
|
24
32
|
type NavigationMenuExtraUiSlot = 'triggerIcon' | 'linkIcon' | 'arrow' | 'viewportRoot' | 'subItemContent' | 'subLinkContent' | 'subLinkLabel' | 'subLinkDescription';
|
|
33
|
+
/**
|
|
34
|
+
* UI class overrides for the NavigationMenuExtra component.
|
|
35
|
+
*/
|
|
25
36
|
type NavigationMenuExtraUi = UiClass<NavigationMenuExtraUiSlot>;
|
|
26
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Extended UI class overrides for the NavigationMenu component.
|
|
39
|
+
*/
|
|
40
|
+
type NavigationMenuExtendedUi = UiClass<NavigationMenuUiSlot | NavigationMenuExtraUiSlot>;
|
|
41
|
+
/**
|
|
42
|
+
* Properties for the NavigationMenuSubOption component.
|
|
43
|
+
*/
|
|
27
44
|
interface NavigationMenuSubOptionProps {
|
|
45
|
+
/**
|
|
46
|
+
* Sub item.
|
|
47
|
+
*/
|
|
28
48
|
subItem: NavigationMenuOptionData;
|
|
49
|
+
/**
|
|
50
|
+
* Properties forwarded to the sub item element.
|
|
51
|
+
*/
|
|
29
52
|
subItemProps?: NavigationMenuItemProps;
|
|
53
|
+
/**
|
|
54
|
+
* Properties forwarded to the link element.
|
|
55
|
+
*/
|
|
30
56
|
linkProps?: NavigationMenuLinkProps;
|
|
31
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Events for the NavigationMenuSubOption component.
|
|
60
|
+
*/
|
|
32
61
|
type NavigationMenuSubOptionEmits = NavigationMenuLinkEmits;
|
|
62
|
+
/**
|
|
63
|
+
* Properties for the NavigationMenuOption component.
|
|
64
|
+
*/
|
|
33
65
|
interface NavigationMenuOptionProps {
|
|
66
|
+
/**
|
|
67
|
+
* Current item data.
|
|
68
|
+
*/
|
|
34
69
|
item: NavigationMenuOptionData;
|
|
70
|
+
/**
|
|
71
|
+
* Properties forwarded to the item element.
|
|
72
|
+
*/
|
|
35
73
|
itemProps?: NavigationMenuItemProps;
|
|
74
|
+
/**
|
|
75
|
+
* Properties forwarded to the link element.
|
|
76
|
+
*/
|
|
36
77
|
linkProps?: NavigationMenuLinkProps;
|
|
78
|
+
/**
|
|
79
|
+
* Properties forwarded to the trigger element.
|
|
80
|
+
*/
|
|
37
81
|
triggerProps?: NavigationMenuTriggerProps;
|
|
82
|
+
/**
|
|
83
|
+
* Properties forwarded to the content element.
|
|
84
|
+
*/
|
|
38
85
|
contentProps?: NavigationMenuContentProps;
|
|
86
|
+
/**
|
|
87
|
+
* Properties forwarded to the viewport element.
|
|
88
|
+
*/
|
|
39
89
|
viewportProps?: NavigationMenuViewportProps;
|
|
90
|
+
/**
|
|
91
|
+
* Properties forwarded to the indicator element.
|
|
92
|
+
*/
|
|
40
93
|
indicatorProps?: NavigationMenuIndicatorProps;
|
|
94
|
+
/**
|
|
95
|
+
* Properties forwarded to the list element.
|
|
96
|
+
*/
|
|
41
97
|
listProps?: NavigationMenuListProps;
|
|
98
|
+
/**
|
|
99
|
+
* Properties forwarded to the sub list element.
|
|
100
|
+
*/
|
|
42
101
|
subListProps?: NavigationMenuListProps;
|
|
102
|
+
/**
|
|
103
|
+
* Properties forwarded to the sub item element.
|
|
104
|
+
*/
|
|
43
105
|
subItemProps?: NavigationMenuItemProps;
|
|
44
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Events for the NavigationMenuOption component.
|
|
109
|
+
*/
|
|
45
110
|
type NavigationMenuOptionEmits = NavigationMenuSubEmits & NavigationMenuContentEmits & NavigationMenuLinkEmits;
|
|
111
|
+
/**
|
|
112
|
+
* Properties for the NavigationMenu component.
|
|
113
|
+
*/
|
|
46
114
|
interface NavigationMenuProps extends NavigationMenuRootProps, Omit<NavigationMenuOptionProps, 'item'> {
|
|
115
|
+
/**
|
|
116
|
+
* Additional class names applied to the root element.
|
|
117
|
+
*/
|
|
47
118
|
class?: ClassValue;
|
|
119
|
+
/**
|
|
120
|
+
* Visual size of the component.
|
|
121
|
+
*/
|
|
48
122
|
size?: ThemeSize;
|
|
123
|
+
/**
|
|
124
|
+
* Per-slot class overrides for the component.
|
|
125
|
+
*/
|
|
49
126
|
ui?: Partial<NavigationMenuExtendedUi>;
|
|
127
|
+
/**
|
|
128
|
+
* Items rendered by the component.
|
|
129
|
+
*/
|
|
50
130
|
items: NavigationMenuOptionData[];
|
|
51
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Events for the NavigationMenu component.
|
|
134
|
+
*/
|
|
52
135
|
type NavigationMenuEmits = NavigationMenuRootEmits & NavigationMenuOptionEmits;
|
|
53
136
|
//#endregion
|
|
54
137
|
export { NavigationMenuEmits, NavigationMenuExtendedUi, NavigationMenuExtraUi, NavigationMenuExtraUiSlot, NavigationMenuOptionData, NavigationMenuOptionEmits, NavigationMenuOptionProps, NavigationMenuProps, NavigationMenuSubOptionEmits, NavigationMenuSubOptionProps };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { PageTabsVariant } from "./variants.js";
|
|
2
2
|
import { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsExtendedUi, PageTabsExtraUiSlot, PageTabsOptionData, PageTabsProps, PageTabsState } from "./types.js";
|
|
3
|
-
import { _default } from "./page-tabs.vue.js";
|
|
3
|
+
import { _default } from "./page-tabs.vue.js";
|
|
4
|
+
export * from "@soybeanjs/headless/page-tabs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless/page-tabs";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
|
|
@@ -4,9 +4,9 @@ import * as _$vue from "vue";
|
|
|
4
4
|
//#region src/components/page-tabs/page-tabs.vue.d.ts
|
|
5
5
|
declare const __VLS_export: <T extends PageTabsOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
6
|
props: _$vue.PublicProps & __VLS_PrettifyLocal<PageTabsProps<T> & {
|
|
7
|
+
onClick?: ((tab: T) => any) | undefined;
|
|
7
8
|
onContextmenu?: ((tab: T) => any) | undefined;
|
|
8
9
|
onClose?: ((tab: T) => any) | undefined;
|
|
9
|
-
onClick?: ((tab: T) => any) | undefined;
|
|
10
10
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
11
11
|
"onUpdate:items"?: ((items: T[]) => any) | undefined;
|
|
12
12
|
onPin?: ((tab: T) => any) | undefined;
|
|
@@ -1,48 +1,121 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import { IconValue } from "../icon/types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { index_d_exports } from "../menu/index.js";
|
|
4
4
|
import { PageTabsVariant } from "./variants.js";
|
|
5
|
-
import {
|
|
5
|
+
import { PageTabsItemProps, PageTabsRootEmits, PageTabsRootProps, PageTabsUiSlot } from "@soybeanjs/headless/page-tabs";
|
|
6
|
+
import { ClassValue, MaybePromise } from "@soybeanjs/headless/types";
|
|
6
7
|
|
|
7
8
|
//#region src/components/page-tabs/types.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* Option data for the PageTabs component.
|
|
11
|
+
*/
|
|
8
12
|
interface PageTabsOptionData extends PageTabsItemProps {
|
|
13
|
+
/**
|
|
14
|
+
* Label text rendered by the component.
|
|
15
|
+
*/
|
|
9
16
|
label: string;
|
|
17
|
+
/**
|
|
18
|
+
* Icon rendered by the component.
|
|
19
|
+
*/
|
|
10
20
|
icon?: IconValue;
|
|
11
21
|
/**
|
|
12
22
|
* Whether to hide the pinned icon on the tab
|
|
13
23
|
*/
|
|
14
24
|
hidePinnedIcon?: boolean;
|
|
15
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Additional UI slots for the page tabs component.
|
|
28
|
+
*/
|
|
16
29
|
type PageTabsExtraUiSlot = 'itemText' | 'chromeBgLeft' | 'chromeBgRight' | 'sliderIndicator';
|
|
30
|
+
/**
|
|
31
|
+
* Extended UI class overrides for the PageTabs component.
|
|
32
|
+
*/
|
|
17
33
|
type PageTabsExtendedUi = Record<PageTabsUiSlot | PageTabsExtraUiSlot, ClassValue>;
|
|
34
|
+
/**
|
|
35
|
+
* State values for PageTabsState.
|
|
36
|
+
*/
|
|
18
37
|
interface PageTabsState {
|
|
38
|
+
/**
|
|
39
|
+
* Pin.
|
|
40
|
+
*/
|
|
19
41
|
pin: () => void;
|
|
42
|
+
/**
|
|
43
|
+
* Unpin.
|
|
44
|
+
*/
|
|
20
45
|
unpin: () => void;
|
|
46
|
+
/**
|
|
47
|
+
* Whether the component can be closed.
|
|
48
|
+
*/
|
|
21
49
|
closable: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Close.
|
|
52
|
+
*/
|
|
22
53
|
close: () => Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Whether left closable.
|
|
56
|
+
*/
|
|
23
57
|
leftClosable: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Close left.
|
|
60
|
+
*/
|
|
24
61
|
closeLeft: () => void;
|
|
62
|
+
/**
|
|
63
|
+
* Whether right closable.
|
|
64
|
+
*/
|
|
25
65
|
rightClosable: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Close right.
|
|
68
|
+
*/
|
|
26
69
|
closeRight: () => void;
|
|
70
|
+
/**
|
|
71
|
+
* Whether other closable.
|
|
72
|
+
*/
|
|
27
73
|
otherClosable: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Close other.
|
|
76
|
+
*/
|
|
28
77
|
closeOther: () => void;
|
|
78
|
+
/**
|
|
79
|
+
* Whether all closable.
|
|
80
|
+
*/
|
|
29
81
|
allClosable: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Close all.
|
|
84
|
+
*/
|
|
30
85
|
closeAll: () => void;
|
|
31
86
|
}
|
|
32
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Option data for the PageTabsContextMenu component.
|
|
89
|
+
*/
|
|
90
|
+
interface PageTabsContextMenuOptionData extends index_d_exports.MenuOptionData<string> {
|
|
33
91
|
/**
|
|
34
92
|
* Action to perform when the menu item is selected.
|
|
35
93
|
*/
|
|
36
94
|
action?: () => MaybePromise<void>;
|
|
37
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Properties for the PageTabs component.
|
|
98
|
+
*/
|
|
38
99
|
interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps {
|
|
39
100
|
/**
|
|
40
101
|
* root element class
|
|
41
102
|
*/
|
|
42
103
|
class?: ClassValue;
|
|
104
|
+
/**
|
|
105
|
+
* Visual size of the component.
|
|
106
|
+
*/
|
|
43
107
|
size?: ThemeSize;
|
|
108
|
+
/**
|
|
109
|
+
* Visual variant of the component.
|
|
110
|
+
*/
|
|
44
111
|
variant?: PageTabsVariant;
|
|
112
|
+
/**
|
|
113
|
+
* Per-slot class overrides for the component.
|
|
114
|
+
*/
|
|
45
115
|
ui?: Partial<PageTabsExtendedUi>;
|
|
116
|
+
/**
|
|
117
|
+
* Items rendered by the component.
|
|
118
|
+
*/
|
|
46
119
|
items: T[];
|
|
47
120
|
/**
|
|
48
121
|
* A factory function to generate context menu options for each tab.
|
|
@@ -56,6 +129,9 @@ interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps
|
|
|
56
129
|
*/
|
|
57
130
|
beforeClose?: (value: string) => MaybePromise<boolean | void>;
|
|
58
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Events for the PageTabs component.
|
|
134
|
+
*/
|
|
59
135
|
type PageTabsEmits<T> = PageTabsRootEmits & {
|
|
60
136
|
(e: 'update:items', items: T[]): void;
|
|
61
137
|
(e: 'click', tab: T): void;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { PaginationEmits, PaginationProps } from "./types.js";
|
|
2
2
|
import { _default } from "./pagination.vue.js";
|
|
3
|
-
|
|
4
|
-
export { type PaginationButtonProps, type PaginationEllipsisProps, type PaginationListItemProps, type PaginationListProps, type PaginationRootEmits, type PaginationRootProps };
|
|
3
|
+
export * from "@soybeanjs/headless/pagination";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},pageSize:{},defaultPageSize:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`,`update:pageSize`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e),"onUpdate:pageSize":n[1]||=e=>A(`update:pageSize`,e)}),{default:_(()=>[h(e.$slots,`leading`),c(g(S),f(u(l.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},l.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(l.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},l.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},l.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(l.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},l.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16),h(e.$slots,`trailing`)]),_:3},16))}});export{O as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless/pagination";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},pageSize:{},defaultPageSize:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`,`update:pageSize`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e),"onUpdate:pageSize":n[1]||=e=>A(`update:pageSize`,e)}),{default:_(()=>[h(e.$slots,`leading`),c(g(S),f(u(l.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},l.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(l.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},l.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},l.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(l.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},l.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16),h(e.$slots,`trailing`)]),_:3},16))}});export{O as default};
|