@soybeanjs/ui 0.14.0 → 0.15.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +3 -31
- 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/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/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/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/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 +2 -2
- package/dist/components/config-provider/config-provider.js +1 -1
- 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 +8 -15
- package/dist/components/context-menu/context-menu-radio.js +1 -1
- package/dist/components/context-menu/context-menu-radio.vue.d.ts +8 -15
- package/dist/components/context-menu/context-menu-wrapper.js +1 -1
- package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +5 -5
- package/dist/components/context-menu/context-menu.js +1 -1
- package/dist/components/context-menu/context-menu.vue.d.ts +7 -15
- 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-pure.vue.d.ts +1 -1
- package/dist/components/dialog/dialog.vue.d.ts +1 -1
- package/dist/components/drawer/drawer.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +8 -15
- package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +8 -15
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +5 -5
- package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +7 -15
- 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/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/types.d.ts +3 -4
- 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/{menu/menu-option.vue.d.ts → menubar/menubar.vue.d.ts} +8 -24
- 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 +2 -2
- package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
- package/dist/components/page-tabs/types.d.ts +1 -1
- package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
- package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
- package/dist/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/dist/components/popover/popover.js +1 -1
- 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/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/select/select.vue.d.ts +2 -2
- 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/table/hooks.d.ts +5 -5
- 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 +7 -3
- package/dist/components/table/types.d.ts +25 -83
- package/dist/components/table/variants.js +1 -1
- 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/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/tree-menu/tree-menu-option-slot.js +1 -1
- package/dist/components/tree-menu/types.d.ts +1 -1
- package/dist/components/tree-menu/variants.js +1 -1
- 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/styles.css +597 -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-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 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`w-full`,area:[`grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-2 rounded-md border border-solid border-input bg-background 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`],preview:[`col-start-1 row-start-1 min-w-0 truncate text-foreground outline-none`,`data-[placeholder-shown]:text-muted-foreground`],input:[`col-start-1 row-start-1 min-w-0 w-full border-0 bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed`],controls:`col-start-2 row-start-1 flex items-center gap-1`,editTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`],submitTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-success`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`],cancelTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-destructive`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`]},variants:{size:{xs:{area:`min-h-6 px-1.5 py-1 text-2xs`,preview:`text-2xs`,input:`text-2xs`,controls:`gap-0.5`,editTrigger:`size-5 [&>svg]:size-3`,submitTrigger:`size-5 [&>svg]:size-3`,cancelTrigger:`size-5 [&>svg]:size-3`},sm:{area:`min-h-7 px-2 py-1 text-xs`,preview:`text-xs`,input:`text-xs`,editTrigger:`size-6 [&>svg]:size-3.5`,submitTrigger:`size-6 [&>svg]:size-3.5`,cancelTrigger:`size-6 [&>svg]:size-3.5`},md:{area:`min-h-8 px-2.5 py-1.5 text-sm`,preview:`text-sm`,input:`text-sm`,editTrigger:`size-7 [&>svg]:size-4`,submitTrigger:`size-7 [&>svg]:size-4`,cancelTrigger:`size-7 [&>svg]:size-4`},lg:{area:`min-h-9 px-3 py-1.5 text-base`,preview:`text-base`,input:`text-base`,editTrigger:`size-8 [&>svg]:size-4`,submitTrigger:`size-8 [&>svg]:size-4`,cancelTrigger:`size-8 [&>svg]:size-4`},xl:{area:`min-h-10 px-3.5 py-2 text-lg`,preview:`text-lg`,input:`text-lg`,editTrigger:`size-9 [&>svg]:size-5`,submitTrigger:`size-9 [&>svg]:size-5`,cancelTrigger:`size-9 [&>svg]:size-5`},"2xl":{area:`min-h-12 px-4 py-2.5 text-xl`,preview:`text-xl`,input:`text-xl`,editTrigger:`size-10 [&>svg]:size-5`,submitTrigger:`size-10 [&>svg]:size-5`,cancelTrigger:`size-10 [&>svg]:size-5`}}},defaultVariants:{size:`md`}});export{t as editableVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{emptyVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode 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,unref as h,useSlots as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{EmptyContent as y,EmptyDescription as b,EmptyHeader as x,EmptyMedia as S,EmptyRoot as C,EmptyTitle as w,provideEmptyUi as T}from"@soybeanjs/headless";const E=c({name:`SEmpty`,__name:`empty`,props:{class:{},ui:{},title:{},description:{},icon:{},mediaVariant:{},headerProps:{},mediaProps:{},contentProps:{},titleProps:{},descriptionProps:{}},setup(c){let E=c,D=v(E,[`class`,`ui`,`title`,`description`,`icon`,`mediaVariant`,`headerProps`,`mediaProps`,`contentProps`,`titleProps`,`descriptionProps`]),O=g(),k=r(()=>!!(O.title||O.description||E.title||E.description)),A=r(()=>!!(O.media||E.icon));return T(r(()=>e(n({mediaVariant:E.mediaVariant}),E.ui,{root:E.class}))),(e,n)=>(f(),i(h(C),d(l(h(D))),{default:_(()=>[A.value?(f(),i(h(S),d(u({key:0},c.mediaProps)),{default:_(()=>[p(e.$slots,`media`,{},()=>[s(t,{icon:c.icon},null,8,[`icon`])])]),_:3},16)):a(`v-if`,!0),s(h(y),d(l(c.contentProps)),{default:_(()=>[k.value?(f(),i(h(x),d(u({key:0},c.headerProps)),{default:_(()=>[O.title||c.title?(f(),i(h(w),d(u({key:0},c.titleProps)),{default:_(()=>[p(e.$slots,`title`,{},()=>[o(m(c.title),1)])]),_:3},16)):a(`v-if`,!0),O.description||c.description?(f(),i(h(b),d(u({key:1},c.descriptionProps)),{default:_(()=>[p(e.$slots,`description`,{},()=>[o(m(c.description),1)])]),_:3},16)):a(`v-if`,!0)]),_:3},16)):a(`v-if`,!0),p(e.$slots,`default`)]),_:3},16)]),_:3},16))}});export{E as default};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EmptyProps } from "./types.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/empty/empty.vue.d.ts
|
|
5
|
+
type Slots = {
|
|
6
|
+
default?: () => any;
|
|
7
|
+
media?: () => any;
|
|
8
|
+
title?: () => any;
|
|
9
|
+
description?: () => any;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_Slots = Slots;
|
|
12
|
+
declare const __VLS_base: _$vue.DefineComponent<EmptyProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<EmptyProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { _default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EmptyMediaVariant } from "./variants.js";
|
|
2
|
+
import { EmptyProps } from "./types.js";
|
|
3
|
+
import { _default } from "./empty.vue.js";
|
|
4
|
+
import { EmptyContentProps, EmptyDescriptionProps, EmptyHeaderProps, EmptyMediaProps, EmptyRootProps, EmptyTitleProps } from "@soybeanjs/headless/empty";
|
|
5
|
+
export { type EmptyContentProps, type EmptyDescriptionProps, type EmptyHeaderProps, type EmptyMediaProps, type EmptyRootProps, type EmptyTitleProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./empty.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IconValue } from "../icon/types.js";
|
|
2
|
+
import { EmptyMediaVariant } from "./variants.js";
|
|
3
|
+
import { ClassValue, EmptyContentProps, EmptyDescriptionProps, EmptyHeaderProps, EmptyMediaProps, EmptyRootProps, EmptyTitleProps, EmptyUi } from "@soybeanjs/headless";
|
|
4
|
+
|
|
5
|
+
//#region src/components/empty/types.d.ts
|
|
6
|
+
interface EmptyProps extends EmptyRootProps {
|
|
7
|
+
class?: ClassValue;
|
|
8
|
+
ui?: Partial<EmptyUi>;
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
icon?: IconValue;
|
|
12
|
+
mediaVariant?: EmptyMediaVariant;
|
|
13
|
+
headerProps?: EmptyHeaderProps;
|
|
14
|
+
mediaProps?: EmptyMediaProps;
|
|
15
|
+
contentProps?: EmptyContentProps;
|
|
16
|
+
titleProps?: EmptyTitleProps;
|
|
17
|
+
descriptionProps?: EmptyDescriptionProps;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { EmptyProps };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as _$tailwind_variants0 from "tailwind-variants";
|
|
2
|
+
import { VariantProps } from "tailwind-variants";
|
|
3
|
+
|
|
4
|
+
//#region src/components/empty/variants.d.ts
|
|
5
|
+
declare const emptyVariants: _$tailwind_variants0.TVReturnType<{
|
|
6
|
+
mediaVariant: {
|
|
7
|
+
default: {
|
|
8
|
+
media: string;
|
|
9
|
+
};
|
|
10
|
+
icon: {
|
|
11
|
+
media: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
}, {
|
|
15
|
+
root: string;
|
|
16
|
+
header: string;
|
|
17
|
+
media: string;
|
|
18
|
+
content: string;
|
|
19
|
+
title: string;
|
|
20
|
+
description: string;
|
|
21
|
+
}, undefined, {
|
|
22
|
+
mediaVariant: {
|
|
23
|
+
default: {
|
|
24
|
+
media: string;
|
|
25
|
+
};
|
|
26
|
+
icon: {
|
|
27
|
+
media: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}, {
|
|
31
|
+
root: string;
|
|
32
|
+
header: string;
|
|
33
|
+
media: string;
|
|
34
|
+
content: string;
|
|
35
|
+
title: string;
|
|
36
|
+
description: string;
|
|
37
|
+
}, _$tailwind_variants0.TVReturnType<{
|
|
38
|
+
mediaVariant: {
|
|
39
|
+
default: {
|
|
40
|
+
media: string;
|
|
41
|
+
};
|
|
42
|
+
icon: {
|
|
43
|
+
media: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}, {
|
|
47
|
+
root: string;
|
|
48
|
+
header: string;
|
|
49
|
+
media: string;
|
|
50
|
+
content: string;
|
|
51
|
+
title: string;
|
|
52
|
+
description: string;
|
|
53
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
54
|
+
type EmptyVariants = VariantProps<typeof emptyVariants>;
|
|
55
|
+
type EmptyMediaVariant = NonNullable<EmptyVariants['mediaVariant']>;
|
|
56
|
+
//#endregion
|
|
57
|
+
export { EmptyMediaVariant };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border border-dashed p-6 text-center md:p-12`,header:`flex max-w-sm flex-col items-center gap-2 text-center`,media:`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,content:`flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm`,title:`m-0 text-lg font-medium tracking-tight`,description:`m-0 text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`},variants:{mediaVariant:{default:{media:`bg-transparent`},icon:{media:`size-10 rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-6`}}},defaultVariants:{mediaVariant:`default`}});export{t as emptyVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{hoverCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot 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{HoverCardArrow as _,HoverCardPopup as v,HoverCardPortal as y,HoverCardPositioner as b,HoverCardRoot as x,HoverCardTrigger as S,provideHoverCardUi as C}from"@soybeanjs/headless";const w=o({name:`SHoverCard`,__name:`hover-card`,props:{class:{},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},openDelay:{},closeDelay:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`],setup(o,{emit:w}){let T=o,E=w,D=g(T,[`class`,`size`,`ui`,`placement`,`showArrow`,`positionerProps`,`popupProps`,`triggerProps`,`portalProps`,`arrowProps`]),O=h(E),k=n(()=>e(t({size:T.size}),T.ui,{popup:T.class})),A=n(()=>({...T.positionerProps,placement:T.placement??T.positionerProps?.placement}));return C(k),(e,t)=>(u(),r(p(x),c(p(D),{"onUpdate:open":t[0]||=e=>E(`update:open`,e)}),{default:m(()=>[a(p(S),c(o.triggerProps,{"as-child":``}),{default:m(()=>[d(e.$slots,`trigger`)]),_:3},16),a(p(y),l(s(o.portalProps)),{default:m(()=>[a(p(b),c(A.value,f(p(O))),{default:m(()=>[a(p(v),l(s(o.popupProps)),{default:m(()=>[d(e.$slots,`default`),o.showArrow?(u(),r(p(_),l(c({key:0},o.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{w as default};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { HoverCardProps } from "./types.js";
|
|
2
|
+
import * as _$vue from "vue";
|
|
3
|
+
import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
|
|
4
|
+
|
|
5
|
+
//#region src/components/hover-card/hover-card.vue.d.ts
|
|
6
|
+
declare var __VLS_16: {}, __VLS_36: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
trigger?: (props: typeof __VLS_16) => any;
|
|
9
|
+
} & {
|
|
10
|
+
default?: (props: typeof __VLS_36) => any;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_base: _$vue.DefineComponent<HoverCardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
13
|
+
"update:open": (value: boolean) => any;
|
|
14
|
+
escapeKeyDown: (event: KeyboardEvent) => any;
|
|
15
|
+
pointerDownOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any;
|
|
16
|
+
focusOutside: (event: _$_soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
17
|
+
}, string, _$vue.PublicProps, Readonly<HoverCardProps> & Readonly<{
|
|
18
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
19
|
+
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
20
|
+
onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
21
|
+
onFocusOutside?: ((event: _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
22
|
+
}>, {
|
|
23
|
+
open: boolean;
|
|
24
|
+
defaultOpen: boolean;
|
|
25
|
+
showArrow: boolean;
|
|
26
|
+
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
27
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
28
|
+
declare const _default: typeof __VLS_export;
|
|
29
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
30
|
+
new (): {
|
|
31
|
+
$slots: S;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { _default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoverCardEmits, HoverCardProps } from "./types.js";
|
|
2
|
+
import { _default } from "./hover-card.vue.js";
|
|
3
|
+
import { HoverCardArrowProps, HoverCardPopupProps, HoverCardPortalProps, HoverCardPositionerEmits, HoverCardPositionerProps, HoverCardRootEmits, HoverCardRootProps, HoverCardTriggerProps, HoverCardUi, HoverCardUiSlot } from "@soybeanjs/headless/hover-card";
|
|
4
|
+
export { type HoverCardArrowProps, type HoverCardPopupProps, type HoverCardPortalProps, type HoverCardPositionerEmits, type HoverCardPositionerProps, type HoverCardRootEmits, type HoverCardRootProps, type HoverCardTriggerProps, type HoverCardUi, type HoverCardUiSlot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./hover-card.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { ClassValue, HoverCardArrowProps, HoverCardPopupProps, HoverCardPortalProps, HoverCardPositionerEmits, HoverCardPositionerProps, HoverCardRootEmits, HoverCardRootProps, HoverCardTriggerProps, HoverCardUi, Placement } from "@soybeanjs/headless";
|
|
3
|
+
|
|
4
|
+
//#region src/components/hover-card/types.d.ts
|
|
5
|
+
interface HoverCardProps extends HoverCardRootProps {
|
|
6
|
+
/**
|
|
7
|
+
* class of popup
|
|
8
|
+
*/
|
|
9
|
+
class?: ClassValue;
|
|
10
|
+
size?: ThemeSize;
|
|
11
|
+
ui?: Partial<HoverCardUi>;
|
|
12
|
+
placement?: Placement;
|
|
13
|
+
showArrow?: boolean;
|
|
14
|
+
positionerProps?: HoverCardPositionerProps;
|
|
15
|
+
popupProps?: HoverCardPopupProps;
|
|
16
|
+
triggerProps?: HoverCardTriggerProps;
|
|
17
|
+
portalProps?: HoverCardPortalProps;
|
|
18
|
+
arrowProps?: HoverCardArrowProps;
|
|
19
|
+
}
|
|
20
|
+
type HoverCardEmits = HoverCardRootEmits & HoverCardPositionerEmits;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { HoverCardEmits, HoverCardProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:`w-max`,popup:[`z-50 w-64 rounded-md border bg-popover text-popover-foreground shadow-md outline-none will-change-transform`,`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`],arrow:`w-1em h-0.5em fill-popover stroke-border`},variants:{size:{xs:{popup:`w-48 p-3 text-2xs`,arrow:`text-3xs`},sm:{popup:`w-56 p-3.5 text-xs`,arrow:`text-2xs`},md:{popup:`w-64 p-4 text-sm`,arrow:`text-xs`},lg:{popup:`w-72 p-4.5 text-base`,arrow:`text-sm`},xl:{popup:`w-80 p-5 text-lg`,arrow:`text-base`},"2xl":{popup:`w-96 p-5.5 text-xl`,arrow:`text-lg`}}},defaultVariants:{size:`md`}});export{t as hoverCardVariants};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IconProps
|
|
1
|
+
import { IconValue } from "@soybeanjs/headless";
|
|
2
|
+
import { IconProps } from "@iconify/vue";
|
|
3
3
|
|
|
4
4
|
//#region src/components/icon/types.d.ts
|
|
5
|
-
type IconValue = VNode | Component | string | IconifyIcon | null | undefined;
|
|
6
5
|
interface IconProps$1 extends Omit<IconProps, 'icon'> {
|
|
7
6
|
icon: IconValue;
|
|
8
7
|
}
|
|
9
8
|
//#endregion
|
|
10
|
-
export { IconProps$1 as IconProps, IconValue };
|
|
9
|
+
export { IconProps$1 as IconProps, type IconValue };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{kbdVariants as t}from"../kbd/variants.js";import{menuVariants as n}from"./variants.js";import{computed as r,toValue as i}from"vue";import{provideMenuUi as a}from"@soybeanjs/headless";const o=o=>{a(r(()=>{let r=i(o),a=n({size:r.size,indicatorPosition:r.indicatorPosition}),s=t({size:r.size}),c=a.shortcut;return a.shortcut=()=>`${c()} ${s}`,e(a,r.ui,{popup:r.class})}))};export{o as provideMenuUi};
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import { MenuCheckboxOptionData,
|
|
2
|
-
|
|
3
|
-
import { _default as _default$1 } from "./menu-options.vue.js";
|
|
4
|
-
import { _default as _default$2 } from "./menu-checkbox-options.vue.js";
|
|
5
|
-
import { _default as _default$3 } from "./menu-radio-options.vue.js";
|
|
6
|
-
import { MenuCheckboxGroupEmits, MenuCheckboxGroupProps, MenuCheckboxItemEmits, MenuCheckboxItemProps, MenuContentEmits, MenuContentProps, MenuGroupLabelProps, MenuGroupProps, MenuItemEmits, MenuItemIndicatorProps, MenuItemProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemEmits, MenuRadioItemProps, MenuRootEmits, MenuRootProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, MenuTriggerProps } from "@soybeanjs/headless/menu";
|
|
7
|
-
export { type MenuCheckboxGroupEmits, type MenuCheckboxGroupProps, type MenuCheckboxItemEmits, type MenuCheckboxItemProps, type MenuContentEmits, type MenuContentProps, type MenuGroupLabelProps, type MenuGroupProps, type MenuItemEmits, type MenuItemIndicatorProps, type MenuItemProps, type MenuRadioGroupEmits, type MenuRadioGroupProps, type MenuRadioItemEmits, type MenuRadioItemProps, type MenuRootEmits, type MenuRootProps, type MenuSubContentEmits, type MenuSubContentProps, type MenuSubEmits, type MenuSubProps, type MenuSubTriggerProps, type MenuTriggerProps };
|
|
1
|
+
import { MenuCheckboxOptionData, MenuCheckboxOptionsCompact as SMenuCheckboxOptions, MenuOptionData, MenuOptionsCompact as SMenuOptions, MenuRadioOptionData, MenuRadioOptionsCompact as SMenuRadioOptions } from "@soybeanjs/headless";
|
|
2
|
+
export { type MenuCheckboxOptionData, type MenuOptionData, type MenuRadioOptionData, SMenuCheckboxOptions, SMenuOptions, SMenuRadioOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"
|
|
1
|
+
import{MenuCheckboxOptionsCompact as e,MenuOptionsCompact as t,MenuRadioOptionsCompact as n}from"@soybeanjs/headless";export{e as SMenuCheckboxOptions,t as SMenuOptions,n as SMenuRadioOptions};
|
|
@@ -1,92 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { KbdProps as KbdProps$1 } from "../kbd/types.js";
|
|
4
|
-
import { ComputedRef } from "vue";
|
|
5
|
-
import { AcceptableBooleanValue, DefinedValue, KbdValue, LinkBaseProps, MenuCheckboxGroupEmits, MenuCheckboxGroupProps, MenuCheckboxItemProps, MenuGroupLabelProps, MenuGroupProps, MenuItemIndicatorProps, MenuItemProps, MenuPortalProps, MenuRadioGroupEmits, MenuRadioGroupProps, MenuRadioItemProps, MenuSeparatorProps, MenuSubContentEmits, MenuSubContentProps, MenuSubEmits, MenuSubProps, MenuSubTriggerProps, MenuUi, UiClass } from "@soybeanjs/headless";
|
|
1
|
+
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { AlignSide, ClassValue, MenuUi } from "@soybeanjs/headless";
|
|
6
3
|
|
|
7
4
|
//#region src/components/menu/types.d.ts
|
|
8
|
-
interface
|
|
9
|
-
/** The label to display in the menu. */
|
|
10
|
-
label: string;
|
|
11
|
-
/** The value of the option. */
|
|
12
|
-
value: T;
|
|
5
|
+
interface MenuUiBaseProps {
|
|
13
6
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* if true, the option will be a group label.
|
|
7
|
+
* class of menu popup
|
|
17
8
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* if it is a string, it will be used as the icon name of the iconify.
|
|
23
|
-
*/
|
|
24
|
-
icon?: IconValue;
|
|
25
|
-
/** Whether to show a separator above this option. */
|
|
26
|
-
separator?: boolean;
|
|
27
|
-
/** The shortcut of the option. */
|
|
28
|
-
shortcut?: KbdValue | KbdValue[];
|
|
29
|
-
/** The children of the option. */
|
|
30
|
-
children?: MenuOptionData<T>[];
|
|
31
|
-
}
|
|
32
|
-
interface MenuShortcutProps extends Omit<KbdProps$1, 'value'> {}
|
|
33
|
-
type MenuExtraUiSlot = 'subTriggerIcon' | 'itemLinkIcon' | 'shortcut';
|
|
34
|
-
type MenuExtraUi = UiClass<MenuExtraUiSlot>;
|
|
35
|
-
type MenuExtendedUi = MenuUi & MenuExtraUi;
|
|
36
|
-
interface MenuOptionProps<T extends DefinedValue = DefinedValue> {
|
|
37
|
-
item: MenuOptionData<T>;
|
|
38
|
-
itemProps?: MenuItemProps;
|
|
39
|
-
linkProps?: LinkProps$1;
|
|
40
|
-
groupProps?: MenuGroupProps;
|
|
41
|
-
groupLabelProps?: MenuGroupLabelProps;
|
|
42
|
-
subProps?: MenuSubProps;
|
|
43
|
-
subTriggerProps?: MenuSubTriggerProps;
|
|
44
|
-
portalProps?: MenuPortalProps;
|
|
45
|
-
subContentProps?: MenuSubContentProps;
|
|
46
|
-
separatorProps?: MenuSeparatorProps;
|
|
47
|
-
shortcutProps?: MenuShortcutProps;
|
|
48
|
-
}
|
|
49
|
-
type MenuOptionSelectEmits<T extends MenuOptionData = MenuOptionData> = {
|
|
50
|
-
select: [item: T, event: Event];
|
|
51
|
-
};
|
|
52
|
-
type MenuOptionEmits<T extends MenuOptionData = MenuOptionData> = MenuSubEmits & MenuSubContentEmits & MenuOptionSelectEmits<T>;
|
|
53
|
-
interface MenuOptionsProps<T extends DefinedValue = DefinedValue, S extends MenuOptionData<T> = MenuOptionData<T>> extends Omit<MenuOptionProps<T>, 'item'> {
|
|
54
|
-
items: S[];
|
|
55
|
-
/**
|
|
56
|
-
* The active value of the menu.
|
|
57
|
-
*/
|
|
58
|
-
activeValue?: DefinedValue;
|
|
59
|
-
}
|
|
60
|
-
type MenuOptionsEmits<T extends MenuOptionData = MenuOptionData> = MenuOptionEmits<T>;
|
|
61
|
-
interface MenuCheckboxOptionData<T extends DefinedValue = DefinedValue> extends Omit<MenuOptionData<T>, 'linkProps' | 'children'> {}
|
|
62
|
-
interface MenuCheckboxOptionsProps<T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>> extends Omit<MenuCheckboxGroupProps<T>, 'dir' | 'onSelect'> {
|
|
63
|
-
items: S[];
|
|
64
|
-
groupLabelProps?: MenuGroupLabelProps;
|
|
65
|
-
checkboxItemProps?: MenuCheckboxItemProps;
|
|
66
|
-
indicatorProps?: MenuItemIndicatorProps;
|
|
67
|
-
shortcutProps?: MenuShortcutProps;
|
|
68
|
-
separatorProps?: MenuSeparatorProps;
|
|
69
|
-
}
|
|
70
|
-
type MenuCheckboxSelectEmits<T extends MenuCheckboxOptionData = MenuCheckboxOptionData> = {
|
|
71
|
-
select: [item: T, event: Event];
|
|
72
|
-
};
|
|
73
|
-
type MenuCheckboxOptionsEmits<T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>> = MenuCheckboxGroupEmits<T> & MenuCheckboxSelectEmits<S>;
|
|
74
|
-
interface MenuRadioOptionData<T extends AcceptableBooleanValue = AcceptableBooleanValue> extends Omit<MenuOptionData<NonNullable<T>>, 'linkProps' | 'children'> {}
|
|
75
|
-
interface MenuRadioOptionsProps<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>> extends Omit<MenuRadioGroupProps<T>, 'dir' | 'onSelect'> {
|
|
76
|
-
items: S[];
|
|
77
|
-
groupLabelProps?: MenuGroupLabelProps;
|
|
78
|
-
radioItemProps?: MenuRadioItemProps;
|
|
79
|
-
indicatorProps?: MenuItemIndicatorProps;
|
|
80
|
-
shortcutProps?: MenuShortcutProps;
|
|
81
|
-
separatorProps?: MenuSeparatorProps;
|
|
82
|
-
}
|
|
83
|
-
type MenuRadioSelectEmits<T extends MenuRadioOptionData = MenuRadioOptionData> = {
|
|
84
|
-
select: [item: T, event: Event];
|
|
85
|
-
};
|
|
86
|
-
type MenuRadioOptionsEmits<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>> = MenuRadioGroupEmits<T> & MenuRadioSelectEmits<S>;
|
|
87
|
-
interface MenuOptionsContext {
|
|
88
|
-
activeValue: ComputedRef<DefinedValue | undefined>;
|
|
89
|
-
activePaths: ComputedRef<DefinedValue[]>;
|
|
9
|
+
class?: ClassValue;
|
|
10
|
+
size?: ThemeSize;
|
|
11
|
+
ui?: Partial<MenuUi>;
|
|
12
|
+
indicatorPosition?: AlignSide;
|
|
90
13
|
}
|
|
91
14
|
//#endregion
|
|
92
|
-
export {
|
|
15
|
+
export { MenuUiBaseProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:``,popup:[`z-50 min-w-max rounded-md border bg-popover text-popover-foreground shadow-md will-change-transform focus-visible:outline-none`,`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`],arrow:`w-1em h-0.5em fill-popover stroke-border`,subPositioner:``,subPopup:[`z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg will-change-transform`,`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`],group:``,groupLabel:`flex items-center font-medium text-muted-foreground`,checkboxGroup:``,radioGroup:``,item:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:``,popup:[`z-50 min-w-max rounded-md border bg-popover text-popover-foreground shadow-md will-change-transform focus-visible:outline-none`,`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`],arrow:`w-1em h-0.5em fill-popover stroke-border`,subPositioner:``,subPopup:[`z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg will-change-transform focus-visible:outline-none`,`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`],group:``,groupLabel:`flex items-center font-medium text-muted-foreground`,checkboxGroup:``,radioGroup:``,item:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,`data-[active=true]:bg-primary/10 data-[active=true]:text-primary`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`],itemIcon:`shrink-0 text-muted-foreground`,itemLink:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none decoration-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemLinkIcon:`shrink-0 self-start text-muted-foreground`,subTrigger:`group/trigger flex items-center rounded-sm outline-none cursor-pointer select-none focus:bg-accent data-[state=open]:bg-accent data-[child-active]:text-primary`,subTriggerIcon:`ml-auto text-muted-foreground group-data-[child-active]/trigger:text-primary`,shortcut:`ml-auto tracking-widest opacity-60`,separator:`h-px bg-border`,checkboxItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemIndicator:`absolute flex items-center justify-center text-primary`,radioItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`]},variants:{size:{xs:{popup:`text-2xs p-0.75`,groupLabel:`gap-1 p-1 text-3xs`,item:`gap-1 px-1 py-1`,itemLink:`gap-1 px-1 py-1`,itemLinkIcon:`size-2 -ml-1`,separator:`-mx-0.75 my-0.75`,subTrigger:`gap-1 px-1 py-1`,subPopup:`text-2xs p-0.75`,checkboxItem:`gap-1 py-1`,radioItem:`gap-1 py-1`},sm:{popup:`text-xs p-0.875`,groupLabel:`gap-1.25 p-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1`,itemLink:`gap-1.5 px-1.5 py-1`,itemLinkIcon:`size-2.5 -ml-1.5`,separator:`-mx-0.875 my-0.875`,subTrigger:`gap-1.5 px-1.5 py-1`,subPopup:`text-xs p-0.875`,checkboxItem:`gap-1.5 py-1`,radioItem:`gap-1.5 py-1`},md:{popup:`text-sm p-1`,groupLabel:`gap-1.75 p-1.75 text-xs`,item:`gap-2 px-2 py-1.5`,itemLink:`gap-2 px-2 py-1.5`,itemLinkIcon:`size-3 -ml-2`,separator:`-mx-1 my-1`,subTrigger:`gap-2 px-2 py-1.5`,subPopup:`text-sm p-1`,checkboxItem:`gap-2 py-1.5`,radioItem:`gap-2 py-1.5`},lg:{popup:`text-base p-1.25`,groupLabel:`gap-2 p-2 text-sm`,item:`gap-2.5 px-2.5 py-1.5`,itemLink:`gap-2.5 px-2.5 py-1.5`,itemLinkIcon:`size-3.5 -ml-2.5`,separator:`-mx-1.25 my-1.25`,subTrigger:`gap-2.5 px-2.5 py-1.5`,subPopup:`text-base p-1.25`,checkboxItem:`gap-2.5 py-1.5`,radioItem:`gap-2.5 py-1.5`},xl:{popup:`text-lg p-1.5`,groupLabel:`gap-2.5 p-2.5 text-base`,item:`gap-3 px-3 py-2`,itemLink:`gap-3 px-3 py-2`,itemLinkIcon:`size-4 -ml-3`,separator:`-mx-1.5 my-1.5`,subTrigger:`gap-3 px-3 py-2`,subPopup:`text-lg p-1.5`,checkboxItem:`gap-3 py-2`,radioItem:`gap-3 py-2`},"2xl":{popup:`text-xl p-1.75`,groupLabel:`gap-3 p-3 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,itemLink:`gap-3.5 px-3.5 py-2.5`,itemLinkIcon:`size-4.5 -ml-3.5`,separator:`-mx-1.75 my-1.75`,subTrigger:`gap-3.5 px-3.5 py-2.5`,subPopup:`text-xl p-1.75`,checkboxItem:`gap-3.5 py-2.5`,radioItem:`gap-3.5 py-2.5`}},indicatorPosition:{start:{itemIndicator:`left-2`,checkboxItem:`pl-8 pr-2`,radioItem:`pl-8 pr-2`},end:{itemIndicator:`right-2`,checkboxItem:`pl-2 pr-8`,radioItem:`pl-2 pr-8`}}},compoundVariants:[{indicatorPosition:`start`,size:`xs`,class:{itemIndicator:`left-1`,checkboxItem:`pl-6 pr-1`,radioItem:`pl-6 pr-1`}},{indicatorPosition:`end`,size:`xs`,class:{itemIndicator:`right-1`,checkboxItem:`pl-1 pr-6`,radioItem:`pl-1 pr-6`}},{indicatorPosition:`start`,size:`sm`,class:{itemIndicator:`left-1.5`,checkboxItem:`pl-7 pr-1.5`,radioItem:`pl-7 pr-1.5`}},{indicatorPosition:`end`,size:`sm`,class:{itemIndicator:`right-1.5`,checkboxItem:`pl-1.5 pr-7`,radioItem:`pl-1.5 pr-7`}},{indicatorPosition:`start`,size:`lg`,class:{itemIndicator:`left-2.5`,checkboxItem:`pl-9 pr-2.5`,radioItem:`pl-9 pr-2.5`}},{indicatorPosition:`end`,size:`lg`,class:{itemIndicator:`right-2.5`,checkboxItem:`pl-2.5 pr-9`,radioItem:`pl-2.5 pr-9`}},{indicatorPosition:`start`,size:`xl`,class:{itemIndicator:`left-3`,checkboxItem:`pl-10 pr-3`,radioItem:`pl-10 pr-3`}},{indicatorPosition:`end`,size:`xl`,class:{itemIndicator:`right-3`,checkboxItem:`pl-3 pr-10`,radioItem:`pl-3 pr-10`}},{indicatorPosition:`start`,size:`2xl`,class:{itemIndicator:`left-3.5`,checkboxItem:`pl-12 pr-3.5`,radioItem:`pl-12 pr-3.5`}},{indicatorPosition:`end`,size:`2xl`,class:{itemIndicator:`right-3.5`,checkboxItem:`pl-3.5 pr-12`,radioItem:`pl-3.5 pr-12`}}],defaultVariants:{size:`md`,indicatorPosition:`start`}});export{t as menuVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./menubar.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuUi as t}from"../menu/context.js";import{menubarVariants as n}from"./variants.js";import{computed as r,createBlock as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{MenubarCompact as y,provideMenubarUi as b}from"@soybeanjs/headless";import{keysOf as x}from"@soybeanjs/utils";const S=o({name:`SMenubar`,__name:`menubar`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},modelValue:{},defaultValue:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:open`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`,`indicatorPosition`]),D=_(w),O=r(()=>x(T));return b(r(()=>e(n({size:C.size}),C.ui,{root:C.class}))),t(()=>C),(e,t)=>(u(),i(m(y),c(m(E),p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[f(e.$slots,t,l(s(n)))])}))]),1040))}});export{S as default};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MenubarProps, MenubarSlots } from "./types.js";
|
|
2
2
|
import * as _$vue from "vue";
|
|
3
3
|
import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
|
|
4
4
|
import { DefinedValue } from "@soybeanjs/headless";
|
|
5
5
|
|
|
6
|
-
//#region src/components/
|
|
6
|
+
//#region src/components/menubar/menubar.vue.d.ts
|
|
7
7
|
declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__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<{
|
|
8
|
-
props: _$vue.PublicProps & __VLS_PrettifyLocal<
|
|
9
|
-
onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
|
|
10
|
-
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
8
|
+
props: _$vue.PublicProps & __VLS_PrettifyLocal<MenubarProps<T> & {
|
|
9
|
+
onSelect?: ((item: _$_soybeanjs_headless0.MenuOptionData<T>, event: Event) => any) | undefined;
|
|
11
10
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
12
11
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
13
12
|
onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
@@ -15,30 +14,15 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
|
|
|
15
14
|
onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
16
15
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
17
16
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
17
|
+
"onUpdate:modelValue"?: ((value: T) => any) | undefined;
|
|
18
|
+
onEntryFocus?: ((event: Event) => any) | undefined;
|
|
18
19
|
}> & (typeof globalThis extends {
|
|
19
20
|
__VLS_PROPS_FALLBACK: infer P;
|
|
20
21
|
} ? P : {});
|
|
21
22
|
expose: (exposed: {}) => void;
|
|
22
23
|
attrs: any;
|
|
23
|
-
slots:
|
|
24
|
-
|
|
25
|
-
item: MenuOptionData<T>;
|
|
26
|
-
isTrigger?: boolean;
|
|
27
|
-
}) => any;
|
|
28
|
-
'item-leading': (props: {
|
|
29
|
-
item: MenuOptionData<T>;
|
|
30
|
-
}) => any;
|
|
31
|
-
'item-trailing': (props: {
|
|
32
|
-
item: MenuOptionData<T>;
|
|
33
|
-
}) => any;
|
|
34
|
-
'item-trigger-icon': (props: {
|
|
35
|
-
item: MenuOptionData<T>;
|
|
36
|
-
}) => any;
|
|
37
|
-
'item-link-icon': (props: {
|
|
38
|
-
item: MenuOptionData<T>;
|
|
39
|
-
}) => any;
|
|
40
|
-
};
|
|
41
|
-
emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
|
|
24
|
+
slots: MenubarSlots<T>;
|
|
25
|
+
emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "entryFocus", event: Event) => void);
|
|
42
26
|
}>) => _$vue.VNode & {
|
|
43
27
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
44
28
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ThemeSize } from "../../theme/types.js";
|
|
2
|
+
import { AlignSide, ClassValue, DefinedValue, MenubarCompactEmits, MenubarCompactProps, MenubarCompactSlots, MenubarUi } from "@soybeanjs/headless";
|
|
3
|
+
|
|
4
|
+
//#region src/components/menubar/types.d.ts
|
|
5
|
+
interface MenubarProps<T extends DefinedValue = DefinedValue> extends MenubarCompactProps<T> {
|
|
6
|
+
/**
|
|
7
|
+
* class of menubar root
|
|
8
|
+
*/
|
|
9
|
+
class?: ClassValue;
|
|
10
|
+
size?: ThemeSize;
|
|
11
|
+
ui?: Partial<MenubarUi>;
|
|
12
|
+
indicatorPosition?: AlignSide;
|
|
13
|
+
}
|
|
14
|
+
type MenubarEmits<T extends DefinedValue = DefinedValue> = MenubarCompactEmits<T>;
|
|
15
|
+
type MenubarSlots<T extends DefinedValue = DefinedValue> = MenubarCompactSlots<T>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { MenubarEmits, MenubarProps, MenubarSlots };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex items-center w-fit rounded-md border bg-background shadow-sm`,trigger:[`flex cursor-pointer select-none items-center rounded-sm font-medium outline-none`,`focus:(bg-accent text-accent-foreground)`,`data-[state=open]:(bg-accent text-accent-foreground)`]},variants:{size:{xs:{root:`gap-1 p-0.5 text-2xs`,trigger:`gap-1 px-1 py-1`},sm:{root:`gap-1.25 p-0.625 text-xs`,trigger:`gap-1.5 px-1.5 py-1`},md:{root:`gap-1.5 p-0.75`,trigger:`gap-2 px-2 py-1.25`},lg:{root:`gap-1.75 p-0.875`,trigger:`gap-2.5 px-2.5 py-1.5`},xl:{root:`gap-2 p-1`,trigger:`gap-3 px-3 py-2`},"2xl":{root:`gap-2.5 p-1.25`,trigger:`gap-3.5 px-3.5 py-2.5`}}},defaultVariants:{size:`md`}});export{t as menubarVariants};
|
|
@@ -29,20 +29,20 @@ declare const __VLS_base: _$vue.DefineComponent<NavigationMenuProps, {}, {}, {},
|
|
|
29
29
|
select: (payload: CustomEvent<{
|
|
30
30
|
originalEvent: Event;
|
|
31
31
|
}>) => any;
|
|
32
|
-
"update:modelValue": (value: string) => any;
|
|
33
32
|
escapeKeyDown: (event: KeyboardEvent) => any;
|
|
34
33
|
pointerDownOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any;
|
|
35
34
|
focusOutside: (event: _$_soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
36
35
|
interactOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any;
|
|
36
|
+
"update:modelValue": (value: string) => any;
|
|
37
37
|
}, string, _$vue.PublicProps, Readonly<NavigationMenuProps> & Readonly<{
|
|
38
38
|
onSelect?: ((payload: CustomEvent<{
|
|
39
39
|
originalEvent: Event;
|
|
40
40
|
}>) => any) | undefined;
|
|
41
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
42
41
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
43
42
|
onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
|
|
44
43
|
onFocusOutside?: ((event: _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
45
44
|
onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
|
|
45
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
46
46
|
}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
47
47
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
48
48
|
declare const _default: typeof __VLS_export;
|
|
@@ -5,9 +5,9 @@ import * as _$vue from "vue";
|
|
|
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
7
|
onContextmenu?: ((tab: T) => any) | undefined;
|
|
8
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
9
8
|
onClick?: ((tab: T) => any) | undefined;
|
|
10
9
|
onClose?: ((tab: T) => any) | undefined;
|
|
10
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
11
11
|
"onUpdate:items"?: ((items: T[]) => any) | undefined;
|
|
12
12
|
onPin?: ((tab: T) => any) | undefined;
|
|
13
13
|
onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ThemeSize } from "../../theme/types.js";
|
|
2
2
|
import { IconValue } from "../icon/types.js";
|
|
3
|
-
import { MenuOptionData } from "../menu/
|
|
3
|
+
import { MenuOptionData } from "../menu/index.js";
|
|
4
4
|
import { PageTabsVariant } from "./variants.js";
|
|
5
5
|
import { ClassValue, MaybePromise, PageTabsItemProps, PageTabsRootEmits, PageTabsRootProps, PageTabsUiSlot } from "@soybeanjs/headless";
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"../button/button.js";import{usePopconfirmContext as
|
|
1
|
+
import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../button/button.js";import{usePopconfirmContext as n}from"./context.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{PopoverClose as h}from"@soybeanjs/headless";const g=s({name:`SPopconfirmCancel`,__name:`popconfirm-cancel`,props:{text:{},beforeClose:{},class:{},color:{},size:{},variant:{default:`pure`},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`close`],setup(s,{emit:g}){let _=s,v=g,y=m(_,[`text`,`beforeClose`]),{size:b,cancelText:x,cancelProps:S,beforeCancel:C,onClose:w}=n(`PopconfirmCancel`),T=r(()=>({...S.value,...y.value})),E=r(()=>_.text??x.value??`Cancel`),D=r(()=>_.size??e[b.value??`md`]),O=()=>{v(`close`),w()};return(e,n)=>(l(),i(f(h),{"as-child":``,"before-close":s.beforeClose??f(C),onClose:O},{default:p(()=>[o(t,c(T.value,{size:D.value}),{default:p(()=>[u(e.$slots,`default`,{},()=>[a(d(E.value),1)])]),_:3},16,[`size`])]),_:3},8,[`before-close`]))}});export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"../button/button.js";import{usePopconfirmContext as
|
|
1
|
+
import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../button/button.js";import{usePopconfirmContext as n}from"./context.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{PopoverClose as h}from"@soybeanjs/headless";const g=s({name:`SPopconfirmConfirm`,__name:`popconfirm-confirm`,props:{text:{},beforeClose:{type:Function},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`close`],setup(s,{emit:g}){let _=s,v=g,y=m(_,[`text`,`beforeClose`]),{size:b,confirmText:x,confirmProps:S,beforeConfirm:C,onClose:w}=n(`PopconfirmConfirm`),T=r(()=>({...S.value,...y.value})),E=r(()=>_.text??x.value??`Confirm`),D=r(()=>_.size??e[b.value??`md`]),O=()=>{v(`close`),w()};return(e,n)=>(l(),i(f(h),{"as-child":``,"before-close":s.beforeClose??f(C),onClose:O},{default:p(()=>[o(t,c(T.value,{size:D.value}),{default:p(()=>[u(e.$slots,`default`,{},()=>[a(d(E.value),1)])]),_:3},16,[`size`])]),_:3},8,[`before-close`]))}});export{g as default};
|
|
@@ -47,9 +47,9 @@ declare const __VLS_base: _$vue.DefineComponent<PopconfirmProps, {}, {}, {}, {},
|
|
|
47
47
|
open: boolean;
|
|
48
48
|
defaultOpen: boolean;
|
|
49
49
|
modal: boolean;
|
|
50
|
+
showArrow: boolean;
|
|
50
51
|
showIcon: boolean;
|
|
51
52
|
showCancel: "onlyWarning" | boolean;
|
|
52
|
-
showArrow: boolean;
|
|
53
53
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
54
54
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
55
55
|
declare const _default: typeof __VLS_export;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{popoverVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toHandlers as f,unref as p,withCtx as m}from"vue";import{useForwardListeners as h,usePickProps as g}from"@soybeanjs/headless/composables";import{PopoverArrow as _,PopoverClose as v,PopoverPopup as y,PopoverPortal as b,PopoverPositioner as x,PopoverRoot as S,PopoverTrigger as C,providePopoverUi as w}from"@soybeanjs/headless";const T=o({name:`SPopover`,__name:`popover`,props:{class:{},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(o,{emit:T}){let E=o,D=T,O=g(E,[`defaultOpen`,`open`,`modal`]),k=h(D),A=n(()=>e(t({size:E.size}),E.ui,{popup:E.class})),j=n(()=>({placement:E.placement
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{popoverVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toHandlers as f,unref as p,withCtx as m}from"vue";import{useForwardListeners as h,usePickProps as g}from"@soybeanjs/headless/composables";import{PopoverArrow as _,PopoverClose as v,PopoverPopup as y,PopoverPortal as b,PopoverPositioner as x,PopoverRoot as S,PopoverTrigger as C,providePopoverUi as w}from"@soybeanjs/headless";const T=o({name:`SPopover`,__name:`popover`,props:{class:{},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(o,{emit:T}){let E=o,D=T,O=g(E,[`defaultOpen`,`open`,`modal`]),k=h(D),A=n(()=>e(t({size:E.size}),E.ui,{popup:E.class})),j=n(()=>({...E.positionerProps,placement:E.placement??E.positionerProps?.placement}));return w(A),(e,t)=>(u(),r(p(S),c(p(O),{"onUpdate:open":t[0]||=e=>D(`update:open`,e)}),{default:m(()=>[a(p(C),c(o.triggerProps,{"as-child":``}),{default:m(()=>[d(e.$slots,`trigger`)]),_:3},16),a(p(b),l(s(o.portalProps)),{default:m(()=>[a(p(x),c(j.value,f(p(k))),{default:m(()=>[a(p(y),l(s(o.popupProps)),{default:m(()=>[d(e.$slots,`default`),o.showArrow?(u(),r(p(_),l(c({key:0},o.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16),e.$slots.close?(u(),r(p(v),c({key:0},o.closeProps,{"as-child":``}),{default:m(()=>[d(e.$slots,`close`)]),_:3},16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16))}});export{T as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{shallowRef as e}from"vue";import{useContext as t}from"@soybeanjs/headless/composables";function n(e){return Math.min(100,Math.max(0,e))}function r(e){return e<20?12:e<50?8:e<80?4:2}const[i,a]=t(`UiLoadingBarProvider`,t=>{let i=e(!1),a=e(0),o=e(t.color.value),s,c;function l(){s&&=(clearInterval(s),void 0)}function u(){c&&=(clearTimeout(c),void 0)}function d(){l(),u()}function f(){d(),i.value=!1,a.value=0,o.value=t.color.value}function p(){u(),c=setTimeout(()=>{c=void 0,i.value=!1,a.value=0,o.value=t.color.value},200)}function m(){l(),s=setInterval(()=>{if(a.value>=92){l();return}a.value=n(a.value+r(a.value))},200)}let h=e=>{u(),l(),i.value=!0,o.value=t.color.value,a.value=n(e),a.value>=100&&p()},g=()=>{u(),i.value=!0,o.value=t.color.value,a.value=Math.max(a.value,8),m()},_=()=>{l(),u(),i.value=!0,o.value=t.color.value,a.value=100,p()},v=()=>{l(),u(),i.value=!0,o.value=t.errorColor.value,a.value=100,p()},y=()=>{f()},b={start:g,finish:_,error:v,set:h,clear:y};return typeof window<`u`&&(window.__SoybeanUI_useLoadingBar=b),{useLoadingBar:b,clear:y,visible:i,modelValue:a,color:o}}),o=()=>{if(typeof window<`u`&&window.__SoybeanUI_useLoadingBar)return window.__SoybeanUI_useLoadingBar;let{useLoadingBar:e}=a(`UiLoadingBarConsumer`);return e};export{i as provideLoadingBarProviderContext,o as useLoadingBar};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LoadingBarProviderContext, LoadingBarProviderContextParams, LoadingBarProviderProps, ProgressCircleEmits, ProgressCircleProps, ProgressEmits, ProgressProps, UseLoadingBarReturn } from "./types.js";
|
|
2
|
+
import { _default } from "./progress.vue.js";
|
|
3
|
+
import { _default as _default$1 } from "./progress-circle.vue.js";
|
|
4
|
+
import { _default as _default$2 } from "./loading-bar.vue.js";
|
|
5
|
+
import { useLoadingBar } from "./context.js";
|
|
6
|
+
import { getProgressIndicatorStyle } from "./shared.js";
|
|
7
|
+
import { ProgressIndicatorProps, ProgressRootEmits, ProgressRootProps, ProgressState, ProgressUi, ProgressUiSlot } from "@soybeanjs/headless/progress";
|
|
8
|
+
export { type ProgressIndicatorProps, type ProgressRootEmits, type ProgressRootProps, type ProgressState, type ProgressUi, type ProgressUiSlot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./shared.js";import"./progress.js";import"./context.js";import"./loading-bar.js";import"./progress-circle.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeUi as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"./progress.js";import{provideLoadingBarProviderContext as n}from"./context.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,defineComponent as c,onBeforeUnmount as l,openBlock as u,renderSlot as d,unref as f}from"vue";import{transformPropsToContext as p}from"@soybeanjs/headless/shared";const m=c({name:`SLoadingBar`,__name:`loading-bar`,props:{color:{default:`primary`},errorColor:{default:`destructive`},size:{default:`xs`},ui:{default:()=>({})}},setup(c){let m=c,h={root:`pointer-events-none fixed inset-x-0 top-0 z-100 rounded-none bg-transparent shadow-none`,indicator:`rounded-none shadow-sm transition-[transform,width] duration-200 ease-out`},{clear:g,color:_,modelValue:v,visible:y}=n(p(m,[`color`,`errorColor`])),b=i(()=>e(h,m.ui));return l(()=>{g()}),(e,n)=>(u(),s(r,null,[f(y)?(u(),a(t,{key:0,"model-value":f(v),color:f(_),size:c.size,ui:b.value,"aria-label":`Loading`},null,8,[`model-value`,`color`,`size`,`ui`])):o(`v-if`,!0),d(e.$slots,`default`)],64))}});export{m as default};
|