@soybeanjs/ui 0.13.8 → 0.15.0-beta.1
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 +79 -147
- package/README.zh-CN.md +79 -147
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/accordion/accordion.vue.d.ts +6 -34
- package/dist/components/accordion/index.d.ts +3 -3
- package/dist/components/accordion/types.d.ts +6 -25
- package/dist/components/affix/affix.js +1 -0
- package/dist/components/affix/affix.vue.d.ts +22 -0
- package/dist/components/affix/index.d.ts +4 -0
- package/dist/components/affix/index.js +1 -0
- package/dist/components/affix/types.d.ts +15 -0
- package/dist/components/affix/variants.js +1 -0
- package/dist/components/alert/alert.js +1 -1
- package/dist/components/alert/alert.vue.d.ts +4 -4
- package/dist/components/alert/variants.d.ts +3 -3
- package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +4 -4
- package/dist/components/alert-dialog/alert-dialog-confirm.vue.d.ts +4 -4
- package/dist/components/alert-dialog/alert-dialog.vue.d.ts +6 -6
- package/dist/components/anchor/anchor-item.js +1 -0
- package/dist/components/anchor/anchor.js +1 -0
- package/dist/components/anchor/anchor.vue.d.ts +23 -0
- package/dist/components/anchor/context.js +1 -0
- package/dist/components/anchor/index.d.ts +4 -0
- package/dist/components/anchor/index.js +1 -0
- package/dist/components/anchor/types.d.ts +34 -0
- package/dist/components/anchor/variants.js +1 -0
- package/dist/components/autocomplete/autocomplete-group-option.js +1 -0
- package/dist/components/autocomplete/autocomplete-option.js +1 -0
- package/dist/components/autocomplete/autocomplete-single-option.js +1 -0
- package/dist/components/autocomplete/autocomplete.js +1 -0
- package/dist/components/autocomplete/autocomplete.vue.d.ts +47 -0
- package/dist/components/autocomplete/context.js +1 -0
- package/dist/components/autocomplete/index.d.ts +4 -0
- package/dist/components/autocomplete/index.js +1 -0
- package/dist/components/autocomplete/shared.js +1 -0
- package/dist/components/autocomplete/types.d.ts +94 -0
- package/dist/components/autocomplete/variants.js +1 -0
- package/dist/components/avatar/avatar.vue.d.ts +7 -7
- package/dist/components/badge/badge.vue.d.ts +4 -4
- package/dist/components/badge/variants.d.ts +3 -3
- package/dist/components/bottom-sheet/bottom-sheet-close.js +1 -0
- package/dist/components/bottom-sheet/bottom-sheet-close.vue.d.ts +18 -0
- package/dist/components/bottom-sheet/bottom-sheet.js +1 -0
- package/dist/components/bottom-sheet/bottom-sheet.vue.d.ts +72 -0
- package/dist/components/bottom-sheet/index.d.ts +3 -0
- package/dist/components/bottom-sheet/index.js +1 -0
- package/dist/components/bottom-sheet/types.d.ts +31 -0
- package/dist/components/bottom-sheet/variants.js +1 -0
- package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
- package/dist/components/button/button-group.vue.d.ts +6 -6
- package/dist/components/button/button-icon.vue.d.ts +3 -3
- package/dist/components/button/button-link.vue.d.ts +4 -4
- package/dist/components/button/button-loading.vue.d.ts +3 -3
- package/dist/components/button/button.vue.d.ts +4 -4
- package/dist/components/button/variants.d.ts +3 -3
- package/dist/components/card/card-collapsible-trigger.vue.d.ts +3 -3
- package/dist/components/card/card.js +1 -1
- package/dist/components/card/card.vue.d.ts +3 -3
- package/dist/components/carousel/carousel-content.js +1 -0
- package/dist/components/carousel/carousel-content.vue.d.ts +18 -0
- package/dist/components/carousel/carousel-item.js +1 -0
- package/dist/components/carousel/carousel-item.vue.d.ts +18 -0
- package/dist/components/carousel/carousel-next.js +1 -0
- package/dist/components/carousel/carousel-next.vue.d.ts +22 -0
- package/dist/components/carousel/carousel-previous.js +1 -0
- package/dist/components/carousel/carousel-previous.vue.d.ts +22 -0
- package/dist/components/carousel/carousel.js +1 -0
- package/dist/components/carousel/carousel.vue.d.ts +15 -0
- package/dist/components/carousel/index.d.ts +8 -0
- package/dist/components/carousel/index.js +1 -0
- package/dist/components/carousel/types.d.ts +10 -0
- package/dist/components/carousel/variants.js +1 -0
- package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
- package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
- package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
- package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
- package/dist/components/checkbox/variants.d.ts +3 -3
- package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
- package/dist/components/color-area/color-area.js +1 -0
- package/dist/components/color-area/color-area.vue.d.ts +19 -0
- package/dist/components/color-area/index.d.ts +4 -0
- package/dist/components/color-area/index.js +1 -0
- package/dist/components/color-area/types.d.ts +14 -0
- package/dist/components/color-area/variants.js +1 -0
- package/dist/components/color-field/color-field.js +1 -0
- package/dist/components/color-field/color-field.vue.d.ts +15 -0
- package/dist/components/color-field/index.d.ts +4 -0
- package/dist/components/color-field/index.js +1 -0
- package/dist/components/color-field/types.d.ts +13 -0
- package/dist/components/color-field/variants.js +1 -0
- package/dist/components/color-picker/color-picker.js +1 -0
- package/dist/components/color-picker/color-picker.vue.d.ts +55 -0
- package/dist/components/color-picker/index.d.ts +2 -0
- package/dist/components/color-picker/index.js +1 -0
- package/dist/components/color-picker/shared.js +1 -0
- package/dist/components/color-picker/types.d.ts +47 -0
- package/dist/components/color-picker/variants.js +1 -0
- package/dist/components/color-slider/color-slider.js +1 -0
- package/dist/components/color-slider/color-slider.vue.d.ts +23 -0
- package/dist/components/color-slider/index.d.ts +4 -0
- package/dist/components/color-slider/index.js +1 -0
- package/dist/components/color-slider/types.d.ts +16 -0
- package/dist/components/color-swatch/color-swatch.js +1 -0
- package/dist/components/color-swatch/color-swatch.vue.d.ts +18 -0
- package/dist/components/color-swatch/index.d.ts +5 -0
- package/dist/components/color-swatch/index.js +1 -0
- package/dist/components/color-swatch/types.d.ts +16 -0
- package/dist/components/color-swatch/variants.d.ts +108 -0
- package/dist/components/color-swatch/variants.js +1 -0
- package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -0
- package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +39 -0
- package/dist/components/color-swatch-picker/index.d.ts +5 -0
- package/dist/components/color-swatch-picker/index.js +1 -0
- package/dist/components/color-swatch-picker/types.d.ts +20 -0
- package/dist/components/color-swatch-picker/variants.d.ts +153 -0
- package/dist/components/color-swatch-picker/variants.js +1 -0
- package/dist/components/combobox/combobox-group-option.js +1 -0
- package/dist/components/combobox/combobox-option.js +1 -0
- package/dist/components/combobox/combobox-single-option.js +1 -0
- package/dist/components/combobox/combobox.js +1 -0
- package/dist/components/combobox/combobox.vue.d.ts +76 -0
- package/dist/components/combobox/index.d.ts +4 -0
- package/dist/components/combobox/index.js +1 -0
- package/dist/components/combobox/shared.js +1 -0
- package/dist/components/combobox/types.d.ts +68 -0
- package/dist/components/combobox/variants.js +1 -0
- package/dist/components/command/command.vue.d.ts +8 -8
- package/dist/components/config-provider/config-provider.js +1 -1
- package/dist/components/config-provider/config-provider.vue.d.ts +7 -7
- package/dist/components/config-provider/context.js +1 -1
- package/dist/components/config-provider/types.d.ts +14 -2
- package/dist/components/context-menu/context-menu-checkbox.js +1 -1
- package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +14 -21
- package/dist/components/context-menu/context-menu-radio.js +1 -1
- package/dist/components/context-menu/context-menu-radio.vue.d.ts +14 -21
- package/dist/components/context-menu/context-menu-wrapper.js +1 -1
- package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +16 -16
- package/dist/components/context-menu/context-menu.js +1 -1
- package/dist/components/context-menu/context-menu.vue.d.ts +13 -21
- package/dist/components/context-menu/index.d.ts +5 -7
- package/dist/components/context-menu/types.d.ts +14 -42
- package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
- package/dist/components/dialog/dialog-pure.vue.d.ts +12 -12
- package/dist/components/dialog/dialog.vue.d.ts +12 -12
- package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
- package/dist/components/drawer/drawer.vue.d.ts +12 -12
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +14 -21
- package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +14 -21
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +16 -16
- package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +13 -21
- package/dist/components/dropdown-menu/index.d.ts +2 -4
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/dropdown-menu/types.d.ts +14 -38
- package/dist/components/editable/editable.js +1 -0
- package/dist/components/editable/editable.vue.d.ts +85 -0
- package/dist/components/editable/index.d.ts +4 -0
- package/dist/components/editable/index.js +1 -0
- package/dist/components/editable/types.d.ts +20 -0
- package/dist/components/editable/variants.js +1 -0
- package/dist/components/empty/empty.js +1 -0
- package/dist/components/empty/empty.vue.d.ts +21 -0
- package/dist/components/empty/index.d.ts +5 -0
- package/dist/components/empty/index.js +1 -0
- package/dist/components/empty/types.d.ts +20 -0
- package/dist/components/empty/variants.d.ts +57 -0
- package/dist/components/empty/variants.js +1 -0
- package/dist/components/form/form-field-base.vue.d.ts +3 -3
- package/dist/components/form/form.vue.d.ts +2 -2
- package/dist/components/form/use-form.d.ts +22 -22
- package/dist/components/form/variants.js +1 -1
- package/dist/components/hover-card/hover-card.js +1 -0
- package/dist/components/hover-card/hover-card.vue.d.ts +35 -0
- package/dist/components/hover-card/index.d.ts +4 -0
- package/dist/components/hover-card/index.js +1 -0
- package/dist/components/hover-card/types.d.ts +22 -0
- package/dist/components/hover-card/variants.js +1 -0
- package/dist/components/icon/icon.vue.d.ts +2 -2
- package/dist/components/icon/types.d.ts +3 -4
- package/dist/components/input/input.vue.d.ts +4 -4
- package/dist/components/input-number/input-number.vue.d.ts +4 -4
- package/dist/components/kbd/kbd.vue.d.ts +3 -3
- package/dist/components/kbd/variants.d.ts +3 -3
- package/dist/components/label/label.vue.d.ts +2 -2
- package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
- package/dist/components/layout/layout.vue.d.ts +4 -4
- package/dist/components/link/link.vue.d.ts +4 -4
- package/dist/components/list/list-item.vue.d.ts +2 -2
- package/dist/components/list/list.vue.d.ts +2 -2
- package/dist/components/menu/context.js +1 -1
- package/dist/components/menu/index.d.ts +2 -7
- package/dist/components/menu/index.js +1 -1
- package/dist/components/menu/types.d.ts +9 -86
- package/dist/components/menu/variants.js +1 -1
- package/dist/components/menubar/index.d.ts +2 -0
- package/dist/components/menubar/index.js +1 -0
- package/dist/components/menubar/menubar.js +1 -0
- package/dist/components/menubar/menubar.vue.d.ts +32 -0
- package/dist/components/menubar/types.d.ts +17 -0
- package/dist/components/menubar/variants.js +1 -0
- package/dist/components/navigation-menu/navigation-menu.vue.d.ts +13 -13
- package/dist/components/page-tabs/page-tabs.vue.d.ts +4 -4
- package/dist/components/page-tabs/types.d.ts +1 -1
- package/dist/components/page-tabs/variants.d.ts +3 -3
- package/dist/components/pagination/pagination.js +1 -1
- package/dist/components/pagination/pagination.vue.d.ts +4 -4
- package/dist/components/pagination/variants.d.ts +3 -3
- package/dist/components/password/password.vue.d.ts +4 -4
- package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
- package/dist/components/popconfirm/popconfirm-cancel.vue.d.ts +4 -4
- package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
- package/dist/components/popconfirm/popconfirm-confirm.vue.d.ts +4 -4
- package/dist/components/popconfirm/popconfirm.vue.d.ts +14 -14
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/popover/popover.vue.d.ts +11 -11
- package/dist/components/progress/context.d.ts +5 -0
- package/dist/components/progress/context.js +1 -0
- package/dist/components/progress/index.d.ts +8 -0
- package/dist/components/progress/index.js +1 -0
- package/dist/components/progress/loading-bar.js +1 -0
- package/dist/components/progress/loading-bar.vue.d.ts +25 -0
- package/dist/components/progress/progress-circle.js +1 -0
- package/dist/components/progress/progress-circle.vue.d.ts +29 -0
- package/dist/components/progress/progress.js +1 -0
- package/dist/components/progress/progress.vue.d.ts +30 -0
- package/dist/components/progress/shared.d.ts +7 -0
- package/dist/components/progress/shared.js +1 -0
- package/dist/components/progress/types.d.ts +43 -0
- package/dist/components/progress/variants.js +1 -0
- package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
- package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
- package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
- package/dist/components/radio-group/radio.vue.d.ts +2 -2
- package/dist/components/radio-group/variants.d.ts +3 -3
- package/dist/components/scroll-area/index.d.ts +4 -0
- package/dist/components/scroll-area/index.js +1 -0
- package/dist/components/scroll-area/scroll-area.js +1 -0
- package/dist/components/scroll-area/scroll-area.vue.d.ts +18 -0
- package/dist/components/scroll-area/types.d.ts +15 -0
- package/dist/components/scroll-area/variants.js +1 -0
- package/dist/components/segment/segment.vue.d.ts +3 -3
- package/dist/components/select/select.vue.d.ts +8 -8
- package/dist/components/separator/separator.vue.d.ts +5 -5
- package/dist/components/separator/variants.d.ts +3 -3
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/skeleton/skeleton.js +1 -0
- package/dist/components/skeleton/skeleton.vue.d.ts +20 -0
- package/dist/components/skeleton/types.d.ts +16 -0
- package/dist/components/skeleton/variants.d.ts +60 -0
- package/dist/components/skeleton/variants.js +1 -0
- package/dist/components/slider/index.d.ts +4 -0
- package/dist/components/slider/index.js +1 -0
- package/dist/components/slider/slider.js +1 -0
- package/dist/components/slider/slider.vue.d.ts +28 -0
- package/dist/components/slider/types.d.ts +16 -0
- package/dist/components/slider/variants.js +1 -0
- package/dist/components/spinner/index.d.ts +2 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/spinner/spinner.js +1 -0
- package/dist/components/spinner/spinner.vue.d.ts +10 -0
- package/dist/components/spinner/types.d.ts +19 -0
- package/dist/components/spinner/variants.js +1 -0
- package/dist/components/splitter/index.d.ts +5 -0
- package/dist/components/splitter/index.js +1 -0
- package/dist/components/splitter/splitter-group.js +1 -0
- package/dist/components/splitter/splitter-group.vue.d.ts +22 -0
- package/dist/components/splitter/splitter-panel.js +1 -0
- package/dist/components/splitter/splitter-panel.vue.d.ts +32 -0
- package/dist/components/splitter/splitter-resize-handle.js +1 -0
- package/dist/components/splitter/splitter-resize-handle.vue.d.ts +415 -0
- package/dist/components/splitter/types.d.ts +12 -0
- package/dist/components/splitter/variants.js +1 -0
- package/dist/components/stepper/index.d.ts +4 -0
- package/dist/components/stepper/index.js +1 -0
- package/dist/components/stepper/stepper.js +1 -0
- package/dist/components/stepper/stepper.vue.d.ts +121 -0
- package/dist/components/stepper/types.d.ts +26 -0
- package/dist/components/stepper/variants.js +1 -0
- package/dist/components/switch/switch.vue.d.ts +22 -22
- package/dist/components/switch/variants.d.ts +3 -3
- package/dist/components/table/hooks.d.ts +19 -19
- package/dist/components/table/hooks.js +1 -1
- package/dist/components/table/index.d.ts +1 -1
- package/dist/components/table/table-filter-popover.js +1 -0
- package/dist/components/table/table-radio.js +1 -1
- package/dist/components/table/table.js +1 -1
- package/dist/components/table/table.vue.d.ts +10 -6
- package/dist/components/table/types.d.ts +25 -83
- package/dist/components/table/variants.js +1 -1
- package/dist/components/tabs/tabs.vue.d.ts +3 -3
- package/dist/components/tabs/variants.d.ts +3 -3
- package/dist/components/tag/tag.vue.d.ts +4 -4
- package/dist/components/tag/variants.d.ts +3 -3
- package/dist/components/tags-input/index.d.ts +5 -0
- package/dist/components/tags-input/index.js +1 -0
- package/dist/components/tags-input/tags-input-item-delete.js +1 -0
- package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +18 -0
- package/dist/components/tags-input/tags-input.js +1 -0
- package/dist/components/tags-input/tags-input.vue.d.ts +29 -0
- package/dist/components/tags-input/types.d.ts +12 -0
- package/dist/components/tags-input/variants.js +1 -0
- package/dist/components/textarea/textarea.vue.d.ts +4 -4
- package/dist/components/textarea/variants.d.ts +3 -3
- package/dist/components/toast/index.d.ts +4 -5
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/styles.js +274 -0
- package/dist/components/toast/toaster.js +1 -0
- package/dist/components/toast/toaster.vue.d.ts +22 -0
- package/dist/components/toast/types.d.ts +5 -55
- package/dist/components/toast/variants.js +1 -1
- package/dist/components/toggle/index.d.ts +3 -0
- package/dist/components/toggle/index.js +1 -0
- package/dist/components/toggle/toggle.js +1 -0
- package/dist/components/toggle/toggle.vue.d.ts +30 -0
- package/dist/components/toggle/types.d.ts +14 -0
- package/dist/components/toggle/variants.d.ts +100 -0
- package/dist/components/toggle/variants.js +1 -0
- package/dist/components/toggle-group/index.d.ts +6 -0
- package/dist/components/toggle-group/index.js +1 -0
- package/dist/components/toggle-group/toggle-group-item.js +1 -0
- package/dist/components/toggle-group/toggle-group-item.vue.d.ts +22 -0
- package/dist/components/toggle-group/toggle-group.js +1 -0
- package/dist/components/toggle-group/toggle-group.vue.d.ts +24 -0
- package/dist/components/toggle-group/types.d.ts +15 -0
- package/dist/components/toggle-group/variants.d.ts +216 -0
- package/dist/components/toggle-group/variants.js +1 -0
- package/dist/components/toolbar/index.d.ts +4 -0
- package/dist/components/toolbar/index.js +1 -0
- package/dist/components/toolbar/toolbar.js +1 -0
- package/dist/components/toolbar/toolbar.vue.d.ts +18 -0
- package/dist/components/toolbar/types.d.ts +9 -0
- package/dist/components/toolbar/variants.js +1 -0
- package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
- package/dist/components/tree/tree-virtualizer.vue.d.ts +7 -7
- package/dist/components/tree/tree.vue.d.ts +5 -5
- package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
- package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +2 -2
- package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
- package/dist/components/tree-menu/types.d.ts +1 -1
- package/dist/components/tree-menu/variants.js +1 -1
- package/dist/components/virtualizer/virtualizer.vue.d.ts +5 -5
- package/dist/constants/components.d.ts +27 -0
- package/dist/constants/components.js +1 -1
- package/dist/index.d.ts +179 -94
- package/dist/index.js +1 -1
- package/dist/nuxt/index.d.ts +2 -2
- package/dist/resolver/index.d.ts +2 -2
- package/dist/styles.css +600 -111
- package/dist/theme/config.js +1 -1
- package/package.json +21 -18
- package/dist/components/menu/menu-checkbox-options.js +0 -1
- package/dist/components/menu/menu-checkbox-options.vue.d.ts +0 -28
- package/dist/components/menu/menu-item-slot.js +0 -1
- package/dist/components/menu/menu-option.js +0 -1
- package/dist/components/menu/menu-option.vue.d.ts +0 -48
- package/dist/components/menu/menu-options.js +0 -1
- package/dist/components/menu/menu-options.vue.d.ts +0 -48
- package/dist/components/menu/menu-radio-options.js +0 -1
- package/dist/components/menu/menu-radio-options.vue.d.ts +0 -28
- package/dist/components/menu/shared.js +0 -1
- package/dist/components/table/shared.js +0 -1
- package/dist/components/toast/context.d.ts +0 -5
- package/dist/components/toast/context.js +0 -1
- package/dist/components/toast/shared.js +0 -1
- package/dist/components/toast/toast-provider.js +0 -1
- package/dist/components/toast/toast.js +0 -1
- package/dist/components/toast/toast.vue.d.ts +0 -21
- package/dist/components/toast/variants.d.ts +0 -60
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AffixProps } from "./types.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/affix/affix.vue.d.ts
|
|
5
|
+
declare var __VLS_19: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_19) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: _$vue.DefineComponent<AffixProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
10
|
+
change: (affixed: boolean) => any;
|
|
11
|
+
}, string, _$vue.PublicProps, Readonly<AffixProps> & Readonly<{
|
|
12
|
+
onChange?: ((affixed: boolean) => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
17
|
+
new (): {
|
|
18
|
+
$slots: S;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { _default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AffixEmits, AffixProps } from "./types.js";
|
|
2
|
+
import { _default } from "./affix.vue.js";
|
|
3
|
+
import { AffixRootEmits, AffixRootExposed, AffixRootProps, AffixTarget, AffixUi, AffixUiSlot } from "@soybeanjs/headless/affix";
|
|
4
|
+
export { type AffixRootEmits, type AffixRootExposed, type AffixRootProps, type AffixTarget, type AffixUi, type AffixUiSlot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./affix.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AffixContentProps, AffixPlaceholderProps, AffixRootEmits, AffixRootProps, AffixUi, ClassValue } from "@soybeanjs/headless";
|
|
2
|
+
|
|
3
|
+
//#region src/components/affix/types.d.ts
|
|
4
|
+
interface AffixProps extends AffixRootProps {
|
|
5
|
+
/**
|
|
6
|
+
* Additional class names to apply to the content element.
|
|
7
|
+
*/
|
|
8
|
+
class?: ClassValue;
|
|
9
|
+
ui?: Partial<AffixUi>;
|
|
10
|
+
placeholderProps?: AffixPlaceholderProps;
|
|
11
|
+
contentProps?: AffixContentProps;
|
|
12
|
+
}
|
|
13
|
+
type AffixEmits = AffixRootEmits;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { AffixEmits, AffixProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:``,placeholder:``,content:`data-[state=fixed]:z-50`}});export{t as affixVariants};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../button/button-icon.js";import{alertVariants as r}from"./variants.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,useSlots as v,withCtx as y}from"vue";import{AlertClose as b,AlertContent as x,AlertDescription as S,AlertRoot as C,AlertTitle as w,provideAlertUi as T}from"@soybeanjs/headless";const E=l({name:`SAlert`,__name:`alert`,props:{class:{},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(l,{emit:E}){let D=l,O=E,k=v(),A=i(()=>e(r({size:D.size,color:D.color,variant:D.variant}),D.ui,{root:D.class}));return T(A),(e,r)=>(m(),a(_(C),{open:l.open,"onUpdate:open":r[0]||=e=>O(`update:open`,e)},{default:y(()=>[h(e.$slots,`leading`,{},()=>[c(t,{icon:l.icon,class:f(A.value.icon)},null,8,[`icon`,`class`])]),c(_(x),p(u(l.contentProps)),{default:y(()=>[_(k).title||l.title?(m(),a(_(w),p(d({key:0},l.titleProps)),{default:y(()=>[h(e.$slots,`title`,{},()=>[s(g(l.title),1)])]),_:3},16)):o(`v-if`,!0),_(k).description||l.description?(m(),a(_(S),p(d({key:1},l.descriptionProps)),{default:y(()=>[h(e.$slots,`description`,{},()=>[s(g(l.description),1)])]),_:3},16)):o(`v-if`,!0),h(e.$slots,`default`)]),_:3},16),h(e.$slots,`trailing`),l.closable?(m(),a(_(b),d({key:0},l.closeProps,{"as-child":``}),{default:y(()=>[h(e.$slots,`close`,{},()=>[c(n,{icon:`lucide:x`,size:l.size},null,8,[`size`])])]),_:3},16)):o(`v-if`,!0)]),_:3},8,[`open`]))}});export{E as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlertProps } from "./types.js";
|
|
2
|
-
import * as vue from "vue";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert/alert.vue.d.ts
|
|
5
5
|
declare var __VLS_10: {}, __VLS_29: {}, __VLS_37: {}, __VLS_39: {}, __VLS_41: {}, __VLS_49: {};
|
|
@@ -16,13 +16,13 @@ type __VLS_Slots = {} & {
|
|
|
16
16
|
} & {
|
|
17
17
|
close?: (props: typeof __VLS_49) => any;
|
|
18
18
|
};
|
|
19
|
-
declare const __VLS_base: vue.DefineComponent<AlertProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
19
|
+
declare const __VLS_base: _$vue.DefineComponent<AlertProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
20
20
|
"update:open": (open: boolean) => any;
|
|
21
|
-
}, string, vue.PublicProps, Readonly<AlertProps> & Readonly<{
|
|
21
|
+
}, string, _$vue.PublicProps, Readonly<AlertProps> & Readonly<{
|
|
22
22
|
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
23
23
|
}>, {
|
|
24
24
|
open: boolean;
|
|
25
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
25
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
26
26
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
27
27
|
declare const _default: typeof __VLS_export;
|
|
28
28
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as tailwind_variants0 from "tailwind-variants";
|
|
1
|
+
import * as _$tailwind_variants0 from "tailwind-variants";
|
|
2
2
|
import { VariantProps } from "tailwind-variants";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert/variants.d.ts
|
|
5
|
-
declare const alertVariants: tailwind_variants0.TVReturnType<{
|
|
5
|
+
declare const alertVariants: _$tailwind_variants0.TVReturnType<{
|
|
6
6
|
color: {
|
|
7
7
|
primary: {
|
|
8
8
|
root: string;
|
|
@@ -196,7 +196,7 @@ declare const alertVariants: tailwind_variants0.TVReturnType<{
|
|
|
196
196
|
title: string;
|
|
197
197
|
description: string;
|
|
198
198
|
close: string;
|
|
199
|
-
}, tailwind_variants0.TVReturnType<{
|
|
199
|
+
}, _$tailwind_variants0.TVReturnType<{
|
|
200
200
|
color: {
|
|
201
201
|
primary: {
|
|
202
202
|
root: string;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { ButtonVariant } from "../button/variants.js";
|
|
2
2
|
import { AlertDialogCancelProps } from "./types.js";
|
|
3
|
-
import * as vue from "vue";
|
|
3
|
+
import * as _$vue from "vue";
|
|
4
4
|
|
|
5
5
|
//#region src/components/alert-dialog/alert-dialog-cancel.vue.d.ts
|
|
6
6
|
declare var __VLS_16: {};
|
|
7
7
|
type __VLS_Slots = {} & {
|
|
8
8
|
default?: (props: typeof __VLS_16) => any;
|
|
9
9
|
};
|
|
10
|
-
declare const __VLS_base: vue.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
10
|
+
declare const __VLS_base: _$vue.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
11
11
|
close: () => any;
|
|
12
|
-
}, string, vue.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{
|
|
12
|
+
}, string, _$vue.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{
|
|
13
13
|
onClose?: (() => any) | undefined;
|
|
14
14
|
}>, {
|
|
15
15
|
variant: ButtonVariant;
|
|
16
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
17
17
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
18
18
|
declare const _default: typeof __VLS_export;
|
|
19
19
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { AlertDialogConfirmProps } from "./types.js";
|
|
2
|
-
import * as vue from "vue";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert-dialog/alert-dialog-confirm.vue.d.ts
|
|
5
5
|
declare var __VLS_16: {};
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
7
|
default?: (props: typeof __VLS_16) => any;
|
|
8
8
|
};
|
|
9
|
-
declare const __VLS_base: vue.DefineComponent<AlertDialogConfirmProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
9
|
+
declare const __VLS_base: _$vue.DefineComponent<AlertDialogConfirmProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
10
10
|
close: () => any;
|
|
11
|
-
}, string, vue.PublicProps, Readonly<AlertDialogConfirmProps> & Readonly<{
|
|
11
|
+
}, string, _$vue.PublicProps, Readonly<AlertDialogConfirmProps> & Readonly<{
|
|
12
12
|
onClose?: (() => any) | undefined;
|
|
13
|
-
}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
14
14
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
15
|
declare const _default: typeof __VLS_export;
|
|
16
16
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlertDialogProps } from "./types.js";
|
|
2
|
-
import * as vue from "vue";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/alert-dialog/alert-dialog.vue.d.ts
|
|
5
5
|
declare var __VLS_16: {}, __VLS_52: {
|
|
@@ -22,18 +22,18 @@ type __VLS_Slots = {} & {
|
|
|
22
22
|
} & {
|
|
23
23
|
footer?: (props: typeof __VLS_70) => any;
|
|
24
24
|
};
|
|
25
|
-
declare const __VLS_base: vue.DefineComponent<AlertDialogProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
26
|
-
close: () => any;
|
|
25
|
+
declare const __VLS_base: _$vue.DefineComponent<AlertDialogProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
27
26
|
"update:open": (value: boolean) => any;
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
close: () => any;
|
|
28
|
+
}, string, _$vue.PublicProps, Readonly<AlertDialogProps> & Readonly<{
|
|
30
29
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
30
|
+
onClose?: (() => any) | undefined;
|
|
31
31
|
}>, {
|
|
32
32
|
open: boolean;
|
|
33
33
|
defaultOpen: boolean;
|
|
34
34
|
showIcon: boolean;
|
|
35
35
|
showCancel: "onlyWarning" | boolean;
|
|
36
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
36
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
37
37
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
38
|
declare const _default: typeof __VLS_export;
|
|
39
39
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useExtraAnchorUi as e}from"./context.js";import{Fragment as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,normalizeClass as u,openBlock as d,renderList as f,resolveComponent as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{AnchorLink as _}from"@soybeanjs/headless";const v=[`data-state`],y=c({name:`SAnchorItem`,__name:`anchor-item`,props:{modelValue:{},item:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{}},setup(c){let y=c,b=e();function x(e,t){return e.href===t?!0:e.children?.some(e=>x(e,t))??!1}let S=n(()=>x(y.item,y.modelValue??``)?`active`:`inactive`);return(e,n)=>{let y=p(`AnchorItem`,!0);return d(),a(`div`,{class:u(h(b).item),"data-state":S.value},[s(h(_),l(c.linkProps,{href:c.item.href,target:c.item.target,disabled:c.item.disabled}),{default:g(()=>[o(`span`,l(c.indicatorProps,{class:h(b).indicator,"aria-hidden":`true`}),null,16),o(`span`,l(c.titleProps,{class:h(b).title}),m(c.item.title||c.item.href),17)]),_:1},16,[`href`,`target`,`disabled`]),c.item.children?.length?(d(),a(`div`,l({key:0},c.subProps,{class:h(b).sub}),[(d(!0),a(t,null,f(c.item.children,e=>(d(),r(y,{key:e.href,"model-value":c.modelValue,item:e,"link-props":c.linkProps,"indicator-props":c.indicatorProps,"title-props":c.titleProps,"sub-props":c.subProps},null,8,[`model-value`,`item`,`link-props`,`indicator-props`,`title-props`,`sub-props`]))),128))],16)):i(`v-if`,!0)],10,v)}}});export{y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideExtraAnchorUi as t}from"./context.js";import n from"./anchor-item.js";import{anchorVariants as r}from"./variants.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,defineComponent as c,mergeProps as l,openBlock as u,renderList as d,toHandlers as f,unref as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{AnchorRoot as _,provideAnchorUi as v}from"@soybeanjs/headless";const y=c({name:`SAnchor`,__name:`anchor`,props:{color:{},size:{},ui:{},class:{},items:{},sticky:{type:Boolean,default:!0},linkProps:{},indicatorProps:{},titleProps:{},subProps:{},bounds:{},dir:{},getContainer:{},getCurrentAnchor:{},modelValue:{},offsetTop:{default:0},orientation:{},replace:{type:Boolean},targetOffset:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`activeChange`,`itemSelect`],setup(c,{emit:y}){let b=c,x=y,S=g(b,[`color`,`size`,`ui`,`class`,`items`,`sticky`,`linkProps`,`indicatorProps`,`titleProps`,`subProps`]),C=h(x),w=a(()=>({"--soybean-anchor-offset-top":`${b.offsetTop}px`})),T=a(()=>e(r({color:b.color,orientation:b.orientation,size:b.size,sticky:b.sticky}),b.ui,{root:b.class}));return v(T),t(T),(e,t)=>(u(),o(p(_),l(p(S),{style:w.value},f(p(C))),{default:m(({modelValue:e})=>[(u(!0),s(i,null,d(c.items,t=>(u(),o(n,{key:t.href,item:t,"link-props":c.linkProps,"indicator-props":c.indicatorProps,"title-props":c.titleProps,"sub-props":c.subProps,"model-value":e,ui:T.value},null,8,[`item`,`link-props`,`indicator-props`,`title-props`,`sub-props`,`model-value`,`ui`]))),128))]),_:1},16,[`style`]))}});export{y as default};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnchorProps } from "./types.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/anchor/anchor.vue.d.ts
|
|
5
|
+
declare const __VLS_export: _$vue.DefineComponent<AnchorProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
6
|
+
"update:modelValue": (value: string) => any;
|
|
7
|
+
activeChange: (value: string) => any;
|
|
8
|
+
itemSelect: (event: MouseEvent, payload: {
|
|
9
|
+
href: string;
|
|
10
|
+
}) => any;
|
|
11
|
+
}, string, _$vue.PublicProps, Readonly<AnchorProps> & Readonly<{
|
|
12
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
13
|
+
onActiveChange?: ((value: string) => any) | undefined;
|
|
14
|
+
onItemSelect?: ((event: MouseEvent, payload: {
|
|
15
|
+
href: string;
|
|
16
|
+
}) => any) | undefined;
|
|
17
|
+
}>, {
|
|
18
|
+
sticky: boolean;
|
|
19
|
+
offsetTop: number;
|
|
20
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useUiContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`AnchorUi`);export{t as provideExtraAnchorUi,n as useExtraAnchorUi};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AnchorEmits, AnchorExtendedUi, AnchorExtraUiSlot, AnchorItemData, AnchorItemProps, AnchorProps } from "./types.js";
|
|
2
|
+
import { _default } from "./anchor.vue.js";
|
|
3
|
+
import { AnchorContainer, AnchorLinkProps, AnchorRootEmits, AnchorRootProps, AnchorUi, AnchorUiSlot } from "@soybeanjs/headless/anchor";
|
|
4
|
+
export { type AnchorContainer, type AnchorLinkProps, type AnchorRootEmits, type AnchorRootProps, type AnchorUi, type AnchorUiSlot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./anchor.js";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ThemeColor, ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { HTMLAttributes } from "vue";
|
|
3
|
+
import { AnchorLinkProps, AnchorRootEmits, AnchorRootProps, AnchorUiSlot, ClassValue, UiClass } from "@soybeanjs/headless";
|
|
4
|
+
|
|
5
|
+
//#region src/components/anchor/types.d.ts
|
|
6
|
+
interface AnchorItemData extends Pick<AnchorLinkProps, 'disabled' | 'href' | 'target'> {
|
|
7
|
+
children?: AnchorItemData[];
|
|
8
|
+
title?: string;
|
|
9
|
+
}
|
|
10
|
+
interface AnchorItemProps extends /** @vue-ignore */HTMLAttributes {
|
|
11
|
+
modelValue?: string;
|
|
12
|
+
item: AnchorItemData;
|
|
13
|
+
linkProps?: AnchorLinkProps;
|
|
14
|
+
indicatorProps?: HTMLAttributes;
|
|
15
|
+
titleProps?: HTMLAttributes;
|
|
16
|
+
subProps?: HTMLAttributes;
|
|
17
|
+
}
|
|
18
|
+
type AnchorExtraUiSlot = 'sub' | 'item' | 'indicator' | 'title';
|
|
19
|
+
type AnchorExtendedUi = UiClass<AnchorUiSlot | AnchorExtraUiSlot>;
|
|
20
|
+
interface AnchorProps extends AnchorRootProps {
|
|
21
|
+
color?: ThemeColor;
|
|
22
|
+
size?: ThemeSize;
|
|
23
|
+
ui?: Partial<AnchorExtendedUi>;
|
|
24
|
+
class?: ClassValue;
|
|
25
|
+
items: AnchorItemData[];
|
|
26
|
+
sticky?: boolean;
|
|
27
|
+
linkProps?: AnchorLinkProps;
|
|
28
|
+
indicatorProps?: HTMLAttributes;
|
|
29
|
+
titleProps?: HTMLAttributes;
|
|
30
|
+
subProps?: HTMLAttributes;
|
|
31
|
+
}
|
|
32
|
+
type AnchorEmits = AnchorRootEmits;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { AnchorEmits, AnchorExtendedUi, AnchorExtraUiSlot, AnchorItemData, AnchorItemProps, AnchorProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative flex flex-col gap-1 text-sm`,link:[`group inline-flex w-full items-center gap-2 rounded-md px-3 py-2 text-muted-foreground outline-none transition-colors`,`hover:bg-accent/60 hover:text-accent-foreground`,`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`data-[state=active]:bg-accent data-[state=active]:text-foreground`],sub:`ms-4 flex flex-col gap-1 border-s border-border/60 ps-3`,item:`flex flex-col gap-1`,indicator:`size-1.5 shrink-0 rounded-full bg-primary opacity-0 transition-opacity group-data-[state=active]:opacity-100`,title:`min-w-0 truncate`},variants:{color:{primary:{indicator:`bg-primary`,link:`data-[state=active]:bg-primary/10 data-[state=active]:text-primary`},destructive:{indicator:`bg-destructive`,link:`data-[state=active]:bg-destructive/10 data-[state=active]:text-destructive`},success:{indicator:`bg-success`,link:`data-[state=active]:bg-success/10 data-[state=active]:text-success`},warning:{indicator:`bg-warning`,link:`data-[state=active]:bg-warning/10 data-[state=active]:text-warning`},info:{indicator:`bg-info`,link:`data-[state=active]:bg-info/10 data-[state=active]:text-info`},carbon:{indicator:`bg-carbon`,link:`data-[state=active]:bg-carbon/10 data-[state=active]:text-carbon`},secondary:{indicator:`bg-secondary-foreground/50`,link:`data-[state=active]:bg-secondary-foreground/10 data-[state=active]:text-secondary-foreground`},accent:{indicator:`bg-accent-foreground/50`,link:`data-[state=active]:bg-accent-foreground/10 data-[state=active]:text-accent-foreground`}},orientation:{vertical:{},horizontal:{root:`flex-row flex-wrap items-start gap-2`,item:`min-w-36 flex-1`,sub:`ms-0 mt-2 border-s-0 border-t ps-0 pt-2`}},size:{xs:{link:`px-2 py-1.5 text-3xs`},sm:{link:`px-2.5 py-1.5 text-2xs`},md:{link:`px-3 py-2 text-xs`},lg:{link:`px-3.5 py-2.5 text-sm`,indicator:`size-2`},xl:{link:`px-4 py-3 text-base`,indicator:`size-2`},"2xl":{link:`px-4.5 py-3.5 text-lg`,indicator:`size-2`}},sticky:{true:{root:`sticky self-start top-[var(--soybean-anchor-offset-top,0px)] max-h-[calc(100vh-var(--soybean-anchor-offset-top,0px))] overflow-auto pe-1`},false:{}}},defaultVariants:{color:`primary`,orientation:`vertical`,size:`md`,sticky:!0}});export{t as anchorVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./autocomplete-single-option.js";import{Fragment as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{AutocompleteGroup as _,AutocompleteGroupLabel as v,AutocompleteSeparator as y}from"@soybeanjs/headless";const b=s({name:`SAutocompleteGroupOption`,__name:`autocomplete-group-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(s,{emit:b}){let x=b;return(b,S)=>(d(),i(t,null,[o(h(_),u(c(s.groupProps)),{default:g(()=>[o(h(v),u(c(s.groupLabelProps)),{default:g(()=>[p(b.$slots,`group-label`,{item:s.item},()=>[a(m(s.item.label),1)])]),_:3},16),(d(!0),i(t,null,f(s.item.items,t=>(d(),n(e,l({key:t.value},{ref_for:!0},s.itemProps,{item:t,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onSelect:S[0]||=e=>x(`select`,e)}),{"item-leading":g(e=>[p(b.$slots,`item-leading`,l({ref_for:!0},e))]),"item-label":g(e=>[p(b.$slots,`item-label`,l({ref_for:!0},e))]),"item-trailing":g(e=>[p(b.$slots,`item-trailing`,l({ref_for:!0},e))]),"item-indicator":g(e=>[p(b.$slots,`item-indicator`,l({ref_for:!0},e))]),_:3},16,[`item`,`item-indicator-props`,`separator-props`]))),128))]),_:3},16),s.item.separator?(d(),n(h(y),u(l({key:0},s.separatorProps)),null,16)):r(`v-if`,!0)],64))}});export{b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./autocomplete-single-option.js";import t from"./autocomplete-group-option.js";import{isGroupOption as n}from"./shared.js";import{createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=i({name:`SAutocompleteOption`,__name:`autocomplete-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(i,{emit:f}){let p=f;return(f,m)=>u(n)(i.item)?(c(),r(t,{key:0,item:i.item,"group-props":i.groupProps,"group-label-props":i.groupLabelProps,"item-props":i.itemProps,"item-indicator-props":i.itemIndicatorProps,"separator-props":i.separatorProps,onSelect:m[0]||=e=>p(`select`,e)},{"group-label":d(e=>[l(f.$slots,`group-label`,s(a(e)))]),"item-leading":d(e=>[l(f.$slots,`item-leading`,s(a(e)))]),"item-label":d(e=>[l(f.$slots,`item-label`,s(a(e)))]),"item-trailing":d(e=>[l(f.$slots,`item-trailing`,s(a(e)))]),"item-indicator":d(e=>[l(f.$slots,`item-indicator`,s(a(e)))]),_:3},8,[`item`,`group-props`,`group-label-props`,`item-props`,`item-indicator-props`,`separator-props`])):(c(),r(e,o({key:1},i.itemProps,{item:i.item,"item-indicator-props":i.itemIndicatorProps,"separator-props":i.separatorProps,onSelect:m[1]||=e=>p(`select`,e)}),{"item-leading":d(e=>[l(f.$slots,`item-leading`,s(a(e)))]),"item-label":d(e=>[l(f.$slots,`item-label`,s(a(e)))]),"item-trailing":d(e=>[l(f.$slots,`item-trailing`,s(a(e)))]),"item-indicator":d(e=>[l(f.$slots,`item-indicator`,s(a(e)))]),_:3},16,[`item`,`item-indicator-props`,`separator-props`]))}});export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"../icon/icon.js";import{useAutocompleteExtraUi as t}from"./context.js";import{Fragment as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,withCtx as v}from"vue";import{useOmitProps as y}from"@soybeanjs/headless/composables";import{AutocompleteItem as b,AutocompleteItemIndicator as x,AutocompleteSeparator as S}from"@soybeanjs/headless";const C=l({name:`SAutocompleteSingleOption`,inheritAttrs:!1,__name:`autocomplete-single-option`,props:{item:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(l,{emit:C}){let w=l,T=C,E=y(w,[`item`,`itemIndicatorProps`,`separatorProps`]),D=t();return(t,y)=>(m(),a(n,null,[c(_(b),d(_(E),{value:l.item.value,disabled:l.item.disabled,onSelect:y[0]||=e=>T(`select`,l.item)}),{default:v(()=>[h(t.$slots,`item-leading`,{item:l.item},()=>[l.item.icon?(m(),r(e,{key:0,icon:l.item.icon,class:f(_(D)?.itemIcon)},null,8,[`icon`,`class`])):i(`v-if`,!0)]),o(`span`,{class:f(_(D)?.itemText)},[h(t.$slots,`item-label`,{item:l.item},()=>[s(g(l.item.label??l.item.value),1)])],2),h(t.$slots,`item-trailing`,{item:l.item}),c(_(x),p(u(l.itemIndicatorProps)),{default:v(()=>[h(t.$slots,`item-indicator`,{item:l.item},()=>[c(e,{icon:`lucide:check`})])]),_:3},16)]),_:3},16,[`value`,`disabled`]),l.item.separator?(m(),r(_(S),p(d({key:0},l.separatorProps)),null,16)):i(`v-if`,!0)],64))}});export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{provideAutocompleteExtraUi as n}from"./context.js";import{getAutocompleteItemOptions as r,getAutocompleteSearchOptions as i}from"./shared.js";import a from"./autocomplete-option.js";import{autocompleteVariants as o}from"./variants.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createSlots as f,createTextVNode as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,toDisplayString as C,unref as w,useSlots as T,withCtx as E}from"vue";import{useControllableState as D,useOmitProps as O}from"@soybeanjs/headless/composables";import{AutocompleteAnchor as k,AutocompleteContent as A,AutocompleteInput as j,AutocompletePortal as M,AutocompleteRoot as N,AutocompleteTrigger as P,AutocompleteViewport as F,provideAutocompleteUi as I}from"@soybeanjs/headless";import{useFuse as L}from"@vueuse/integrations/useFuse";import{defu as R}from"defu";const z=[`aria-label`,`onClick`],B=h({name:`SAutocomplete`,__name:`autocomplete`,props:{class:{},size:{},ui:{},modelValue:{default:void 0},defaultValue:{},items:{},placeholder:{},clearable:{type:Boolean,default:!1},clearLabel:{default:`Clear input`},emptyLabel:{default:`No results found.`},fuseOptions:{},anchorProps:{},inputProps:{},triggerProps:{},portalProps:{},contentProps:{},viewportProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},openOnFocus:{type:Boolean},openOnClick:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`highlight`,`select`],setup(h,{emit:B}){let V=h,H=B,U=T(),W=c(()=>Object.keys(U).filter(e=>e===`group-label`||e.startsWith(`item-`))),G=O(V,[`class`,`size`,`ui`,`items`,`modelValue`,`defaultValue`,`placeholder`,`clearable`,`clearLabel`,`emptyLabel`,`fuseOptions`,`anchorProps`,`inputProps`,`triggerProps`,`portalProps`,`contentProps`,`viewportProps`,`groupProps`,`groupLabelProps`,`itemProps`,`itemIndicatorProps`,`separatorProps`]),K=D(()=>V.modelValue,e=>{H(`update:modelValue`,e??``)},V.defaultValue??``),q=c(()=>R(V.fuseOptions,{fuseOptions:{ignoreLocation:!0,threshold:.3,keys:[`label`,`value`,`keywords`,`groupLabel`]},matchAllWhenSearchEmpty:!0})),J=c(()=>i(V.items)),{results:Y}=L(c(()=>K.value),J,q),X=c(()=>r(Y.value.map(e=>e.item))),Z=c(()=>e(o({size:V.size}),V.ui,{root:V.class})),Q=c(()=>({root:Z.value.root,anchor:Z.value.anchor,inputRoot:Z.value.inputRoot,inputControl:Z.value.inputControl,trigger:Z.value.trigger,content:Z.value.content,viewport:Z.value.viewport,group:Z.value.group,groupLabel:Z.value.groupLabel,item:Z.value.item,itemIndicator:Z.value.itemIndicator,separator:Z.value.separator})),$=c(()=>({inputIcon:Z.value.inputIcon,inputClearable:Z.value.inputClearable,triggerIcon:Z.value.triggerIcon,itemText:Z.value.itemText,itemIcon:Z.value.itemIcon,empty:Z.value.empty})),ee=c(()=>({...V.inputProps,id:V.inputProps?.id??V.id,placeholder:V.placeholder??V.inputProps?.placeholder}));I(Q),n($);let te=e=>{H(`select`,e)};return(e,n)=>(b(),l(w(N),_(w(G),{"model-value":w(K),onHighlight:n[1]||=e=>H(`highlight`,e),"onUpdate:modelValue":n[2]||=e=>K.value=e,"onUpdate:open":n[3]||=e=>H(`update:open`,e)}),{default:E(()=>[m(w(k),y(g(h.anchorProps)),{default:E(()=>[m(w(j),y(g(ee.value)),{leading:E(()=>[S(e.$slots,`input-leading`,{},()=>[m(t,{icon:`lucide:search`,class:v(Z.value.inputIcon)},null,8,[`class`])])]),trailing:E(({clear:n})=>[h.clearable&&w(K)?(b(),d(`button`,{key:0,type:`button`,class:v(Z.value.inputClearable),"aria-label":h.clearLabel,onClick:n},[m(t,{icon:`lucide:x`,class:`size-1em`,"aria-hidden":`true`})],10,z)):u(`v-if`,!0),S(e.$slots,`input-trailing`)]),_:3},16),m(w(P),_(h.triggerProps,{"aria-label":`Toggle suggestions`}),{default:E(()=>[S(e.$slots,`trigger-icon`,{},()=>[m(t,{icon:`lucide:chevrons-up-down`,class:v(Z.value.triggerIcon)},null,8,[`class`])])]),_:3},16)]),_:3},16),m(w(M),y(g(h.portalProps)),{default:E(()=>[m(w(A),y(g(h.contentProps)),{default:E(()=>[m(w(F),y(g(h.viewportProps)),{default:E(()=>[X.value.length?u(`v-if`,!0):(b(),d(`div`,{key:0,class:v(Z.value.empty)},[S(e.$slots,`empty`,{},()=>[p(C(h.emptyLabel),1)])],2)),(b(!0),d(s,null,x(X.value,(t,r)=>(b(),l(a,{key:`items`in t?`group-${t.label}-${r}`:t.value,item:t,"group-props":h.groupProps,"group-label-props":h.groupLabelProps,"item-props":h.itemProps,"item-indicator-props":h.itemIndicatorProps,"separator-props":h.separatorProps,onSelect:n[0]||=e=>te(e)},f({_:2},[x(W.value,t=>({name:t,fn:E(n=>[S(e.$slots,t,_({ref_for:!0},n))])}))]),1032,[`item`,`group-props`,`group-label-props`,`item-props`,`item-indicator-props`,`separator-props`]))),128))]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16,[`model-value`]))}});export{B as default};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AutocompleteOptionData, AutocompleteProps, AutocompleteSingleOptionData } from "./types.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
|
|
4
|
+
|
|
5
|
+
//#region src/components/autocomplete/autocomplete.vue.d.ts
|
|
6
|
+
declare const __VLS_export: <T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData>(__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<{
|
|
7
|
+
props: _$vue.PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
|
|
8
|
+
onSelect?: ((item: T) => any) | undefined;
|
|
9
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
10
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
11
|
+
onHighlight?: ((payload?: _$_soybeanjs_headless0.AutocompleteHighlightPayload | undefined) => any) | undefined;
|
|
12
|
+
}> & (typeof globalThis extends {
|
|
13
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
14
|
+
} ? P : {});
|
|
15
|
+
expose: (exposed: {}) => void;
|
|
16
|
+
attrs: any;
|
|
17
|
+
slots: {
|
|
18
|
+
'input-leading'?: () => any;
|
|
19
|
+
'input-trailing'?: () => any;
|
|
20
|
+
'trigger-icon'?: () => any;
|
|
21
|
+
empty?: () => any;
|
|
22
|
+
'group-label'?: (props: {
|
|
23
|
+
item: Extract<AutocompleteOptionData<T>, {
|
|
24
|
+
items: T[];
|
|
25
|
+
}>;
|
|
26
|
+
}) => any;
|
|
27
|
+
'item-leading'?: (props: {
|
|
28
|
+
item: T;
|
|
29
|
+
}) => any;
|
|
30
|
+
'item-label'?: (props: {
|
|
31
|
+
item: T;
|
|
32
|
+
}) => any;
|
|
33
|
+
'item-trailing'?: (props: {
|
|
34
|
+
item: T;
|
|
35
|
+
}) => any;
|
|
36
|
+
'item-indicator'?: (props: {
|
|
37
|
+
item: T;
|
|
38
|
+
}) => any;
|
|
39
|
+
};
|
|
40
|
+
emit: ((evt: "select", item: T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: string) => void) & ((evt: "highlight", payload?: _$_soybeanjs_headless0.AutocompleteHighlightPayload | undefined) => void);
|
|
41
|
+
}>) => _$vue.VNode & {
|
|
42
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
43
|
+
};
|
|
44
|
+
declare const _default: typeof __VLS_export;
|
|
45
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { _default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useUiContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`AutocompleteExtraUi`);export{t as provideAutocompleteExtraUi,n as useAutocompleteExtraUi};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AutocompleteEmits, AutocompleteExtraUiSlot, AutocompleteGroupOptionData, AutocompleteGroupOptionEmits, AutocompleteGroupOptionProps, AutocompleteOptionData, AutocompleteOptionEmits, AutocompleteOptionProps, AutocompleteProps, AutocompleteSearchOptionData, AutocompleteSingleOptionData, AutocompleteSingleOptionEmits, AutocompleteSingleOptionProps, AutocompleteUi } from "./types.js";
|
|
2
|
+
import { _default } from "./autocomplete.vue.js";
|
|
3
|
+
import { AutocompleteAnchorProps, AutocompleteContentProps, AutocompleteGroupLabelProps, AutocompleteGroupProps, AutocompleteHighlightPayload, AutocompleteInputProps, AutocompleteItemEmits, AutocompleteItemIndicatorProps, AutocompleteItemProps, AutocompletePortalProps, AutocompleteRootEmits, AutocompleteRootProps, AutocompleteSeparatorProps, AutocompleteTriggerProps, AutocompleteUi as HeadlessAutocompleteUi, AutocompleteUiSlot, AutocompleteViewportProps } from "@soybeanjs/headless/autocomplete";
|
|
4
|
+
export { type AutocompleteAnchorProps, type AutocompleteContentProps, type AutocompleteGroupLabelProps, type AutocompleteGroupProps, type AutocompleteHighlightPayload, type AutocompleteInputProps, type AutocompleteItemEmits, type AutocompleteItemIndicatorProps, type AutocompleteItemProps, type AutocompletePortalProps, type AutocompleteRootEmits, type AutocompleteRootProps, type AutocompleteSeparatorProps, type AutocompleteTriggerProps, type AutocompleteUiSlot, type AutocompleteViewportProps, type HeadlessAutocompleteUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./autocomplete.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return`items`in e}function t(t){return t.flatMap(t=>e(t)?t.items.map(e=>({...e,groupLabel:t.label,groupSeparator:t.separator,groupValue:t.label})):[t])}function n(e){let t=e.reduce((e,t)=>{let{groupLabel:n,groupSeparator:r,groupValue:i,...a}=t;return i?(e[i]||(e[i]={label:n??i,separator:r,items:[]}),e[i].items.push(a)):e[t.value]=a,e},{});return Object.values(t)}export{n as getAutocompleteItemOptions,t as getAutocompleteSearchOptions,e as isGroupOption};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { IconValue } from "../icon/types.js";
|
|
3
|
+
import { HTMLAttributes } from "vue";
|
|
4
|
+
import { AutocompleteAnchorProps, AutocompleteContentProps, AutocompleteGroupLabelProps, AutocompleteGroupProps, AutocompleteInputProps, AutocompleteItemIndicatorProps, AutocompleteItemProps, AutocompletePortalProps, AutocompleteRootEmits, AutocompleteRootProps, AutocompleteSeparatorProps, AutocompleteTriggerProps, AutocompleteUiSlot, AutocompleteViewportProps, ClassValue, UiClass } from "@soybeanjs/headless";
|
|
5
|
+
import { UseFuseOptions } from "@vueuse/integrations/useFuse";
|
|
6
|
+
|
|
7
|
+
//#region src/components/autocomplete/types.d.ts
|
|
8
|
+
interface AutocompleteSingleOptionData extends Pick<AutocompleteItemProps, 'disabled' | 'value'> {
|
|
9
|
+
/** Display label in the option list. */
|
|
10
|
+
label?: string;
|
|
11
|
+
/** Icon displayed before the option text. */
|
|
12
|
+
icon?: IconValue;
|
|
13
|
+
/** Additional keywords used for filtering. */
|
|
14
|
+
keywords?: string[];
|
|
15
|
+
/** Whether to show a separator after this option. */
|
|
16
|
+
separator?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface AutocompleteGroupOptionData<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> {
|
|
19
|
+
/** Group label in the option list. */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Whether to show a separator after this group. */
|
|
22
|
+
separator?: boolean;
|
|
23
|
+
items: T[];
|
|
24
|
+
}
|
|
25
|
+
type AutocompleteOptionData<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = T | AutocompleteGroupOptionData<T>;
|
|
26
|
+
interface AutocompleteSearchOptionData extends AutocompleteSingleOptionData {
|
|
27
|
+
groupLabel?: string;
|
|
28
|
+
groupValue?: string;
|
|
29
|
+
groupSeparator?: boolean;
|
|
30
|
+
}
|
|
31
|
+
interface AutocompleteSingleOptionProps<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> extends /** @vue-ignore */Omit<HTMLAttributes, 'onSelect'> {
|
|
32
|
+
item: T;
|
|
33
|
+
itemIndicatorProps?: AutocompleteItemIndicatorProps;
|
|
34
|
+
separatorProps?: AutocompleteSeparatorProps;
|
|
35
|
+
}
|
|
36
|
+
type AutocompleteSingleOptionEmits<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = {
|
|
37
|
+
select: [item: T];
|
|
38
|
+
};
|
|
39
|
+
interface AutocompleteGroupOptionProps<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> {
|
|
40
|
+
item: AutocompleteGroupOptionData<T>;
|
|
41
|
+
groupProps?: AutocompleteGroupProps;
|
|
42
|
+
groupLabelProps?: AutocompleteGroupLabelProps;
|
|
43
|
+
itemProps?: Omit<AutocompleteItemProps, 'disabled' | 'value'>;
|
|
44
|
+
itemIndicatorProps?: AutocompleteItemIndicatorProps;
|
|
45
|
+
separatorProps?: AutocompleteSeparatorProps;
|
|
46
|
+
}
|
|
47
|
+
type AutocompleteGroupOptionEmits<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = {
|
|
48
|
+
select: [item: T];
|
|
49
|
+
};
|
|
50
|
+
interface AutocompleteOptionProps<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> {
|
|
51
|
+
item: AutocompleteOptionData<T>;
|
|
52
|
+
groupProps?: AutocompleteGroupProps;
|
|
53
|
+
groupLabelProps?: AutocompleteGroupLabelProps;
|
|
54
|
+
itemProps?: Omit<AutocompleteItemProps, 'disabled' | 'value'>;
|
|
55
|
+
itemIndicatorProps?: AutocompleteItemIndicatorProps;
|
|
56
|
+
separatorProps?: AutocompleteSeparatorProps;
|
|
57
|
+
}
|
|
58
|
+
type AutocompleteOptionEmits<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = {
|
|
59
|
+
select: [item: T];
|
|
60
|
+
};
|
|
61
|
+
type AutocompleteExtraUiSlot = 'inputIcon' | 'inputClearable' | 'triggerIcon' | 'itemText' | 'itemIcon' | 'empty';
|
|
62
|
+
type AutocompleteUi = UiClass<AutocompleteUiSlot | AutocompleteExtraUiSlot>;
|
|
63
|
+
interface AutocompleteProps<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> extends Omit<AutocompleteRootProps, 'defaultValue' | 'modelValue'> {
|
|
64
|
+
/** Root class. */
|
|
65
|
+
class?: ClassValue;
|
|
66
|
+
size?: ThemeSize;
|
|
67
|
+
ui?: Partial<AutocompleteUi>;
|
|
68
|
+
/** The controlled value of the autocomplete input. */
|
|
69
|
+
modelValue?: string;
|
|
70
|
+
/** The initial value of the autocomplete input. */
|
|
71
|
+
defaultValue?: string;
|
|
72
|
+
items: AutocompleteOptionData<T>[];
|
|
73
|
+
placeholder?: string;
|
|
74
|
+
clearable?: boolean;
|
|
75
|
+
clearLabel?: string;
|
|
76
|
+
emptyLabel?: string;
|
|
77
|
+
fuseOptions?: UseFuseOptions<AutocompleteSearchOptionData>;
|
|
78
|
+
anchorProps?: AutocompleteAnchorProps;
|
|
79
|
+
inputProps?: AutocompleteInputProps;
|
|
80
|
+
triggerProps?: AutocompleteTriggerProps;
|
|
81
|
+
portalProps?: AutocompletePortalProps;
|
|
82
|
+
contentProps?: AutocompleteContentProps;
|
|
83
|
+
viewportProps?: AutocompleteViewportProps;
|
|
84
|
+
groupProps?: AutocompleteGroupProps;
|
|
85
|
+
groupLabelProps?: AutocompleteGroupLabelProps;
|
|
86
|
+
itemProps?: Omit<AutocompleteItemProps, 'disabled' | 'value'>;
|
|
87
|
+
itemIndicatorProps?: AutocompleteItemIndicatorProps;
|
|
88
|
+
separatorProps?: AutocompleteSeparatorProps;
|
|
89
|
+
}
|
|
90
|
+
type AutocompleteEmits<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = AutocompleteRootEmits & {
|
|
91
|
+
select: [item: T];
|
|
92
|
+
};
|
|
93
|
+
//#endregion
|
|
94
|
+
export { AutocompleteEmits, AutocompleteExtraUiSlot, AutocompleteGroupOptionData, AutocompleteGroupOptionEmits, AutocompleteGroupOptionProps, AutocompleteOptionData, AutocompleteOptionEmits, AutocompleteOptionProps, AutocompleteProps, AutocompleteSearchOptionData, AutocompleteSingleOptionData, AutocompleteSingleOptionEmits, AutocompleteSingleOptionProps, AutocompleteUi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex w-full flex-col`,anchor:[`group flex w-full items-center rounded-md border border-input bg-background text-foreground shadow-xs transition-all-150`,`focus-within:outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],inputRoot:`flex min-w-0 grow items-center gap-2 bg-transparent`,inputControl:`min-w-0 grow border-0 bg-transparent px-0 outline-none placeholder:text-muted-foreground`,inputIcon:`shrink-0 text-muted-foreground`,inputClearable:[`flex shrink-0 items-center justify-center rounded-sm text-muted-foreground opacity-70 outline-none transition-opacity`,`hover:opacity-100 focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-1`,`disabled:cursor-not-allowed disabled:opacity-40`],trigger:`flex shrink-0 items-center justify-center text-muted-foreground outline-none disabled:cursor-not-allowed`,triggerIcon:`size-1em`,content:[`relative z-50 min-w-[--soybean-popper-anchor-width] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],viewport:`max-h-80 overflow-y-auto overflow-x-hidden p-1`,empty:`py-6 text-center text-sm text-muted-foreground`,group:`overflow-hidden`,groupLabel:`px-2 py-1.5 text-xs font-medium text-muted-foreground`,item:[`relative flex w-full items-center rounded-sm outline-none select-none`,`data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],itemIcon:`shrink-0 text-muted-foreground`,itemText:`grow truncate text-left`,itemIndicator:`ml-auto shrink-0 text-muted-foreground`,separator:`-mx-1 my-1 h-px bg-border`},variants:{size:{xs:{anchor:`min-h-6 gap-1 px-1.5 text-2xs`,inputRoot:`gap-1`,content:`text-2xs`,viewport:`max-h-70 p-0.75`,groupLabel:`px-1 py-1 text-3xs`,item:`gap-1 px-1 py-1`,separator:`-mx-0.75 my-0.75`},sm:{anchor:`min-h-7 gap-1.5 px-2 text-xs`,inputRoot:`gap-1.5`,content:`text-xs`,viewport:`max-h-75 p-0.875`,groupLabel:`px-1.5 py-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1.25`,separator:`-mx-0.875 my-0.875`},md:{anchor:`min-h-8 gap-2 px-2.5 text-sm`,inputRoot:`gap-2`,content:`text-sm`,viewport:`max-h-80 p-1`,groupLabel:`px-2 py-1.5 text-xs`,item:`gap-2 px-2 py-1.5`,separator:`-mx-1 my-1`},lg:{anchor:`min-h-9 gap-2.5 px-3 text-base`,inputRoot:`gap-2.5`,content:`text-base`,viewport:`max-h-90 p-1.25`,groupLabel:`px-2.5 py-1.75 text-sm`,item:`gap-2.5 px-2.5 py-1.75`,separator:`-mx-1.25 my-1.25`},xl:{anchor:`min-h-10 gap-3 px-3.5 text-lg`,inputRoot:`gap-3`,content:`text-lg`,viewport:`max-h-100 p-1.5`,groupLabel:`px-3 py-2 text-base`,item:`gap-3 px-3 py-2`,separator:`-mx-1.5 my-1.5`},"2xl":{anchor:`min-h-12 gap-3.5 px-4 text-xl`,inputRoot:`gap-3.5`,content:`text-xl`,viewport:`max-h-115 p-1.75`,groupLabel:`px-3.5 py-2.5 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,separator:`-mx-1.75 my-1.75`}}},defaultVariants:{size:`md`}});export{t as autocompleteVariants};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AvatarProps } from "./types.js";
|
|
2
|
-
import * as vue from "vue";
|
|
3
|
-
import * as _soybeanjs_headless0 from "@soybeanjs/headless";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
|
|
4
4
|
|
|
5
5
|
//#region src/components/avatar/avatar.vue.d.ts
|
|
6
6
|
declare var __VLS_8: {}, __VLS_10: {}, __VLS_25: {};
|
|
@@ -11,11 +11,11 @@ type __VLS_Slots = {} & {
|
|
|
11
11
|
} & {
|
|
12
12
|
fallback?: (props: typeof __VLS_25) => any;
|
|
13
13
|
};
|
|
14
|
-
declare const __VLS_base: vue.DefineComponent<AvatarProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
15
|
-
loadingStatusChange: (status: _soybeanjs_headless0.ImageLoadingStatus) => any;
|
|
16
|
-
}, string, vue.PublicProps, Readonly<AvatarProps> & Readonly<{
|
|
17
|
-
onLoadingStatusChange?: ((status: _soybeanjs_headless0.ImageLoadingStatus) => any) | undefined;
|
|
18
|
-
}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_base: _$vue.DefineComponent<AvatarProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
15
|
+
loadingStatusChange: (status: _$_soybeanjs_headless0.ImageLoadingStatus) => any;
|
|
16
|
+
}, string, _$vue.PublicProps, Readonly<AvatarProps> & Readonly<{
|
|
17
|
+
onLoadingStatusChange?: ((status: _$_soybeanjs_headless0.ImageLoadingStatus) => any) | undefined;
|
|
18
|
+
}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
20
|
declare const _default: typeof __VLS_export;
|
|
21
21
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BadgeProps } from "./types.js";
|
|
2
|
-
import * as vue from "vue";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/badge/badge.vue.d.ts
|
|
5
5
|
declare var __VLS_10: {}, __VLS_18: {};
|
|
@@ -8,13 +8,13 @@ type __VLS_Slots = {} & {
|
|
|
8
8
|
} & {
|
|
9
9
|
content?: (props: typeof __VLS_18) => any;
|
|
10
10
|
};
|
|
11
|
-
declare const __VLS_base: vue.DefineComponent<BadgeProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
11
|
+
declare const __VLS_base: _$vue.DefineComponent<BadgeProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
12
12
|
"update:open": (open: boolean) => any;
|
|
13
|
-
}, string, vue.PublicProps, Readonly<BadgeProps> & Readonly<{
|
|
13
|
+
}, string, _$vue.PublicProps, Readonly<BadgeProps> & Readonly<{
|
|
14
14
|
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
15
15
|
}>, {
|
|
16
16
|
open: boolean;
|
|
17
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
18
18
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
19
|
declare const _default: typeof __VLS_export;
|
|
20
20
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as tailwind_variants0 from "tailwind-variants";
|
|
1
|
+
import * as _$tailwind_variants0 from "tailwind-variants";
|
|
2
2
|
import { VariantProps } from "tailwind-variants";
|
|
3
3
|
|
|
4
4
|
//#region src/components/badge/variants.d.ts
|
|
5
|
-
declare const badgeVariants: tailwind_variants0.TVReturnType<{
|
|
5
|
+
declare const badgeVariants: _$tailwind_variants0.TVReturnType<{
|
|
6
6
|
color: {
|
|
7
7
|
primary: {
|
|
8
8
|
content: string;
|
|
@@ -130,7 +130,7 @@ declare const badgeVariants: tailwind_variants0.TVReturnType<{
|
|
|
130
130
|
}, {
|
|
131
131
|
root: string;
|
|
132
132
|
content: string;
|
|
133
|
-
}, tailwind_variants0.TVReturnType<{
|
|
133
|
+
}, _$tailwind_variants0.TVReturnType<{
|
|
134
134
|
color: {
|
|
135
135
|
primary: {
|
|
136
136
|
content: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useSizeContext as e}from"../../theme/context.js";import"../../theme/index.js";import{createBlock as t,defineComponent as n,mergeProps as r,openBlock as i,renderSlot as a,unref as o,withCtx as s}from"vue";import{DialogClose as c}from"@soybeanjs/headless";const l=n({name:`SBottomSheetClose`,__name:`bottom-sheet-close`,props:{beforeClose:{type:Function},asChild:{type:Boolean},as:{}},setup(n){let l=n,{size:u}=e(`BottomSheetClose`);return(e,n)=>(i(),t(o(c),r(l,{size:o(u),"as-child":``}),{default:s(()=>[a(e.$slots,`default`)]),_:3},16,[`size`]))}});export{l as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as _$vue from "vue";
|
|
2
|
+
import { DialogCloseProps } from "@soybeanjs/headless";
|
|
3
|
+
|
|
4
|
+
//#region src/components/bottom-sheet/bottom-sheet-close.vue.d.ts
|
|
5
|
+
declare var __VLS_8: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_8) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: _$vue.DefineComponent<DialogCloseProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.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{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{bottomSheetVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,onBeforeUnmount as ee,openBlock as g,renderSlot as _,shallowRef as v,toDisplayString as y,toHandlers as b,unref as x,useSlots as te,watch as ne,withCtx as S}from"vue";import{useControllableState as re,useForwardListeners as ie,useOmitProps as C}from"@soybeanjs/headless/composables";import{DialogContent as ae,DialogDescription as oe,DialogFooter as se,DialogHeader as ce,DialogOverlay as w,DialogPortal as T,DialogRoot as E,DialogTitle as D,DialogTrigger as O,provideDialogUi as k}from"@soybeanjs/headless";const A=d({name:`SBottomSheet`,__name:`bottom-sheet`,props:{class:{},size:{},ui:{},title:{},description:{},showHandle:{type:Boolean,default:!0},handleOnly:{type:Boolean,default:!1},closeThreshold:{default:.35},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:A}){let le=[`a`,`button`,`input`,`select`,`summary`,`textarea`,`[contenteditable=true]`,`[data-bottom-sheet-no-drag]`,`[role=button]`,`[role=link]`].join(`,`),j=d,M=A,ue=C(j,[`class`,`size`,`ui`,`title`,`description`,`showHandle`,`handleOnly`,`closeThreshold`,`open`,`defaultOpen`,`modal`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),N=te(),P=ie(M),F=re(()=>j.open,e=>M(`update:open`,e??!1),j.defaultOpen),I=i(()=>e(n({size:j.size}),j.ui,{content:j.class})),L=i(()=>!!(N.header||N.title||N.description||j.title||j.description)),R=v(),z=v(0),B=v(0),V=v(0),H=v(),U=v(!1),W=v(!1),G=v(),de=i(()=>{if(!(!U.value&&!W.value&&V.value===0))return{transform:`translate3d(0, ${V.value}px, 0)`,userSelect:`none`,transition:U.value?`none`:`transform 200ms cubic-bezier(0.32, 0.72, 0, 1)`}});function K(){G.value!==void 0&&(window.clearTimeout(G.value),G.value=void 0)}function q(){document.removeEventListener(`pointermove`,X),document.removeEventListener(`pointerup`,Q),document.removeEventListener(`pointercancel`,$)}function J(){K(),q(),R.value!==void 0&&H.value?.releasePointerCapture?.(R.value),R.value=void 0,z.value=0,B.value=0,V.value=0,H.value=void 0,U.value=!1,W.value=!1}function fe(){if(V.value===0){J();return}K(),U.value=!1,W.value=!0,window.requestAnimationFrame(()=>{V.value=0}),G.value=window.setTimeout(()=>{W.value=!1,H.value=void 0,R.value=void 0,G.value=void 0},200)}function Y(e,t){if(!e)return!1;let n=!!e.closest(`[data-bottom-sheet-handle]`);if(j.handleOnly)return n;if(e.closest(le)&&!n)return!1;let r=t.querySelector(`[data-bottom-sheet-scroll]`);return r?.contains(e)?n||r.scrollTop<=0:!0}function pe(e){if(e.button!==0)return;let t=e.target instanceof HTMLElement?e.target:null,n=e.currentTarget instanceof HTMLElement?e.currentTarget:null;!t||!n||!Y(t,n)||(K(),q(),R.value=e.pointerId,z.value=e.clientY,B.value=Date.now(),V.value=0,H.value=n,U.value=!0,W.value=!1,n.setPointerCapture?.(e.pointerId),document.addEventListener(`pointermove`,X),document.addEventListener(`pointerup`,Q),document.addEventListener(`pointercancel`,$))}function X(e){!U.value||e.pointerId!==R.value||(V.value=Math.max(e.clientY-z.value,0),V.value>0&&e.preventDefault())}function Z(e){if(q(),e){J(),F.value=!1;return}fe()}function Q(e){if(!U.value||e.pointerId!==R.value)return;let t=H.value?.getBoundingClientRect().height??0,n=Math.max(Date.now()-B.value,1),r=V.value/n;Z(t>0&&(V.value>=t*j.closeThreshold||r>=.75))}function $(e){!U.value||e.pointerId!==R.value||Z(!1)}return k(I),t(()=>j.size),ne(()=>F.value,()=>{J()}),ee(()=>{J()}),(e,t)=>(g(),a(x(E),p(x(ue),{open:x(F),modal:d.modal,"onUpdate:open":t[0]||=e=>F.value=e}),{default:S(t=>[u(x(O),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(x(T),h(f(d.portalProps)),{default:S(()=>[u(x(w),h(f(d.overlayProps)),null,16),u(x(ae),p(d.contentProps,{style:de.value,"data-dragging":U.value||W.value?`true`:void 0},b(x(P)),{onPointerdown:pe}),{default:S(()=>[d.showHandle?(g(),s(`div`,{key:0,class:m(I.value.handle),"data-bottom-sheet-handle":``},[_(e.$slots,`handle`,h(f(t)),()=>[c(`div`,{class:m(I.value.handleIndicator),"aria-hidden":`true`},null,2)])],2)):o(`v-if`,!0),L.value?(g(),a(x(ce),h(p({key:1},d.headerProps)),{default:S(()=>[e.$slots.header?_(e.$slots,`header`,h(p({key:0},t))):(g(),s(r,{key:1},[e.$slots.title||d.title?(g(),a(x(D),h(p({key:0},d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(y(d.title),1)])]),_:2},1040)):o(`v-if`,!0),e.$slots.description||d.description?(g(),a(x(oe),h(p({key:1},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(y(d.description),1)])]),_:2},1040)):o(`v-if`,!0)],64))]),_:2},1040)):o(`v-if`,!0),c(`div`,{class:m(I.value.main),"data-bottom-sheet-scroll":``},[_(e.$slots,`default`,h(f(t)))],2),e.$slots.footer?(g(),a(x(se),h(p({key:2},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040,[`style`,`data-dragging`])]),_:2},1040)]),_:3},16,[`open`,`modal`]))}});export{A as default};
|