@soybeanjs/ui 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -5
- package/README.zh-CN.md +27 -5
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/accordion/types.d.ts +3 -3
- package/dist/components/affix/affix.js +1 -1
- package/dist/components/affix/types.d.ts +2 -2
- package/dist/components/alert/alert.js +1 -1
- package/dist/components/alert/types.d.ts +4 -4
- package/dist/components/anchor/anchor.js +1 -1
- package/dist/components/anchor/types.d.ts +3 -3
- package/dist/components/autocomplete/autocomplete.js +1 -1
- package/dist/components/autocomplete/types.d.ts +3 -3
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/avatar/avatar.vue.d.ts +2 -8
- package/dist/components/avatar/types.d.ts +4 -24
- package/dist/components/backtop/backtop.js +1 -1
- package/dist/components/backtop/backtop.vue.d.ts +2 -2
- package/dist/components/backtop/types.d.ts +2 -2
- package/dist/components/backtop/variants.js +1 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/badge.vue.d.ts +2 -6
- package/dist/components/badge/types.d.ts +4 -12
- package/dist/components/badge/variants.js +1 -1
- package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
- package/dist/components/bottom-sheet/types.d.ts +3 -3
- package/dist/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/components/breadcrumb/types.d.ts +3 -3
- package/dist/components/button/button-group.js +1 -1
- package/dist/components/button/button-icon.js +1 -1
- package/dist/components/button/button-link.js +1 -1
- package/dist/components/button/button-link.vue.d.ts +1 -1
- package/dist/components/button/button-loading.js +1 -1
- package/dist/components/button/button.js +1 -1
- package/dist/components/button/button.vue.d.ts +2 -2
- package/dist/components/button/types.d.ts +5 -5
- package/dist/components/calendar/calendar.js +1 -1
- package/dist/components/calendar/types.d.ts +3 -3
- package/dist/components/card/card.js +1 -1
- package/dist/components/card/types.d.ts +1 -1
- package/dist/components/carousel/carousel.js +1 -1
- package/dist/components/carousel/carousel.vue.d.ts +16 -19
- package/dist/components/carousel/index.d.ts +1 -5
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/carousel/types.d.ts +22 -7
- package/dist/components/carousel/variants.js +1 -1
- package/dist/components/checkbox/checkbox-card-group.js +1 -1
- package/dist/components/checkbox/checkbox-card.js +1 -1
- package/dist/components/checkbox/checkbox-group.js +1 -1
- package/dist/components/checkbox/checkbox.js +1 -1
- package/dist/components/checkbox/types.d.ts +8 -8
- package/dist/components/clipboard/clipboard.js +1 -1
- package/dist/components/clipboard/clipboard.vue.d.ts +2 -2
- package/dist/components/clipboard/types.d.ts +1 -1
- package/dist/components/collapsible/types.d.ts +2 -2
- package/dist/components/color-area/color-area.js +1 -1
- package/dist/components/color-area/types.d.ts +4 -4
- package/dist/components/color-field/color-field.js +1 -1
- package/dist/components/color-field/types.d.ts +3 -3
- package/dist/components/color-picker/color-picker.js +1 -1
- package/dist/components/color-picker/types.d.ts +13 -13
- package/dist/components/color-slider/color-slider.js +1 -1
- package/dist/components/color-slider/types.d.ts +4 -4
- package/dist/components/color-swatch/color-swatch.js +1 -1
- package/dist/components/color-swatch/types.d.ts +2 -2
- package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
- package/dist/components/color-swatch-picker/types.d.ts +6 -6
- package/dist/components/combobox/combobox.js +1 -1
- package/dist/components/combobox/types.d.ts +3 -3
- package/dist/components/command/command.js +1 -1
- package/dist/components/command/types.d.ts +3 -3
- package/dist/components/config-provider/config-provider.vue.d.ts +1 -1
- package/dist/components/config-provider/types.d.ts +1 -1
- package/dist/components/context-menu/context-menu-checkbox.js +1 -1
- package/dist/components/context-menu/context-menu-radio.js +1 -1
- package/dist/components/context-menu/context-menu-wrapper.js +1 -1
- package/dist/components/context-menu/context-menu.js +1 -1
- package/dist/components/context-menu/index.d.ts +4 -4
- package/dist/components/context-menu/index.js +1 -1
- package/dist/components/context-menu/types.d.ts +11 -11
- package/dist/components/date-field/date-field.js +1 -1
- package/dist/components/date-field/types.d.ts +2 -2
- package/dist/components/date-picker/date-picker.js +1 -1
- package/dist/components/date-picker/types.d.ts +3 -3
- package/dist/components/date-range-field/date-range-field.js +1 -1
- package/dist/components/date-range-field/types.d.ts +5 -5
- package/dist/components/date-range-picker/date-range-picker.js +1 -1
- package/dist/components/date-range-picker/types.d.ts +5 -5
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/dialog/types.d.ts +3 -3
- package/dist/components/drawer/drawer.js +1 -1
- package/dist/components/drawer/types.d.ts +3 -3
- package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/types.d.ts +11 -11
- package/dist/components/editable/editable.js +1 -1
- package/dist/components/editable/types.d.ts +9 -9
- package/dist/components/empty/empty.js +1 -1
- package/dist/components/empty/empty.vue.d.ts +2 -8
- package/dist/components/empty/index.d.ts +1 -2
- package/dist/components/empty/types.d.ts +11 -40
- package/dist/components/empty/variants.js +1 -1
- package/dist/components/form/form-field-array.js +1 -0
- package/dist/components/form/form-field-base.js +1 -1
- package/dist/components/form/form-field-base.vue.d.ts +3 -16
- package/dist/components/form/form-field.js +1 -0
- package/dist/components/form/form.js +1 -1
- package/dist/components/form/form.vue.d.ts +2 -2
- package/dist/components/form/index.d.ts +1 -1
- package/dist/components/form/types.d.ts +20 -123
- package/dist/components/form/use-form.d.ts +3 -41
- package/dist/components/form/use-form.js +1 -1
- package/dist/components/form/variants.js +1 -1
- package/dist/components/hover-card/hover-card.js +1 -1
- package/dist/components/hover-card/types.d.ts +7 -7
- package/dist/components/icon/types.d.ts +1 -1
- package/dist/components/input/index.d.ts +4 -2
- package/dist/components/input/index.js +1 -1
- package/dist/components/input/input.js +1 -1
- package/dist/components/input/input.vue.d.ts +2 -7
- package/dist/components/input/types.d.ts +10 -20
- package/dist/components/input/variants.js +1 -1
- package/dist/components/input-number/input-number.js +1 -1
- package/dist/components/input-number/types.d.ts +5 -5
- package/dist/components/input-otp/input-otp.js +1 -1
- package/dist/components/input-otp/types.d.ts +3 -3
- package/dist/components/kbd/kbd.js +1 -1
- package/dist/components/kbd/types.d.ts +1 -1
- package/dist/components/label/label.js +1 -1
- package/dist/components/label/types.d.ts +1 -1
- package/dist/components/layout/layout-classic.js +1 -1
- package/dist/components/layout/layout.js +1 -1
- package/dist/components/layout/types.d.ts +6 -6
- package/dist/components/link/link.js +1 -1
- package/dist/components/link/types.d.ts +1 -1
- package/dist/components/list/list.js +1 -1
- package/dist/components/list/types.d.ts +5 -5
- package/dist/components/menu/types.d.ts +1 -1
- package/dist/components/menubar/menubar.js +1 -1
- package/dist/components/menubar/types.d.ts +3 -3
- package/dist/components/month-picker/month-picker.js +1 -1
- package/dist/components/month-picker/types.d.ts +5 -5
- package/dist/components/month-range-picker/month-range-picker.js +1 -1
- package/dist/components/month-range-picker/types.d.ts +5 -5
- package/dist/components/navigation-menu/navigation-menu.js +1 -1
- package/dist/components/navigation-menu/types.d.ts +20 -20
- package/dist/components/page-tabs/page-tabs.js +1 -1
- package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
- package/dist/components/page-tabs/types.d.ts +6 -6
- package/dist/components/pagination/pagination.js +1 -1
- package/dist/components/pagination/types.d.ts +9 -9
- package/dist/components/password/password.js +1 -1
- package/dist/components/password/types.d.ts +2 -2
- package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
- package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
- package/dist/components/popconfirm/popconfirm.js +1 -1
- package/dist/components/popconfirm/types.d.ts +26 -26
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/popover/types.d.ts +8 -8
- package/dist/components/progress/progress-circle.js +1 -1
- package/dist/components/progress/progress.js +1 -1
- package/dist/components/progress/types.d.ts +5 -5
- package/dist/components/radio-group/radio-card-group.js +1 -1
- package/dist/components/radio-group/radio-card.js +1 -1
- package/dist/components/radio-group/radio-group.js +1 -1
- package/dist/components/radio-group/types.d.ts +12 -12
- package/dist/components/range-calendar/range-calendar.js +1 -1
- package/dist/components/range-calendar/types.d.ts +16 -16
- package/dist/components/scroll-area/scroll-area.js +1 -1
- package/dist/components/scroll-area/types.d.ts +7 -7
- package/dist/components/segment/segment.js +1 -1
- package/dist/components/segment/types.d.ts +3 -3
- package/dist/components/select/select.js +1 -1
- package/dist/components/select/types.d.ts +3 -3
- package/dist/components/separator/separator.js +1 -1
- package/dist/components/separator/types.d.ts +2 -2
- package/dist/components/skeleton/skeleton.js +1 -1
- package/dist/components/skeleton/types.d.ts +1 -1
- package/dist/components/slider/slider.js +1 -1
- package/dist/components/slider/types.d.ts +5 -5
- package/dist/components/spinner/spinner.js +1 -1
- package/dist/components/spinner/types.d.ts +2 -2
- package/dist/components/splitter/splitter-group.js +1 -1
- package/dist/components/splitter/splitter-panel.js +1 -1
- package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
- package/dist/components/splitter/splitter-resize-handle.vue.d.ts +2 -2
- package/dist/components/splitter/types.d.ts +6 -6
- package/dist/components/stepper/stepper.js +1 -1
- package/dist/components/stepper/types.d.ts +10 -10
- package/dist/components/switch/switch.js +1 -1
- package/dist/components/switch/types.d.ts +4 -4
- package/dist/components/table/table.js +1 -1
- package/dist/components/table/table.vue.d.ts +2 -2
- package/dist/components/table/types.d.ts +8 -8
- package/dist/components/tabs/tabs.js +1 -1
- package/dist/components/tabs/types.d.ts +3 -3
- package/dist/components/tag/tag.js +1 -1
- package/dist/components/tag/types.d.ts +1 -1
- package/dist/components/tags-input/tags-input.js +1 -1
- package/dist/components/tags-input/types.d.ts +2 -2
- package/dist/components/textarea/textarea.js +1 -1
- package/dist/components/textarea/types.d.ts +3 -3
- package/dist/components/time-field/time-field.js +1 -1
- package/dist/components/time-field/types.d.ts +5 -5
- package/dist/components/time-picker/time-picker.js +1 -1
- package/dist/components/time-picker/types.d.ts +5 -5
- package/dist/components/time-range-field/time-range-field.js +1 -1
- package/dist/components/time-range-field/types.d.ts +5 -5
- package/dist/components/time-range-picker/time-range-picker.js +1 -1
- package/dist/components/time-range-picker/types.d.ts +5 -5
- package/dist/components/toast/types.d.ts +1 -1
- package/dist/components/toggle/toggle.js +1 -1
- package/dist/components/toggle/types.d.ts +1 -1
- package/dist/components/toggle-group/toggle-group.js +1 -1
- package/dist/components/toggle-group/types.d.ts +2 -2
- package/dist/components/toolbar/toolbar.js +1 -1
- package/dist/components/toolbar/types.d.ts +1 -1
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tooltip/types.d.ts +7 -7
- package/dist/components/tree/tree.js +1 -1
- package/dist/components/tree/types.d.ts +4 -4
- package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
- package/dist/components/tree-menu/tree-menu.js +1 -1
- package/dist/components/tree-menu/types.d.ts +21 -21
- package/dist/components/virtualizer/types.d.ts +3 -3
- package/dist/components/year-picker/types.d.ts +5 -5
- package/dist/components/year-picker/year-picker.js +1 -1
- package/dist/components/year-range-picker/types.d.ts +5 -5
- package/dist/components/year-range-picker/year-range-picker.js +1 -1
- package/dist/constants/components.d.ts +18 -18
- package/dist/constants/components.js +1 -1
- package/dist/index.d.ts +107 -111
- package/dist/index.js +1 -1
- package/dist/styles.css +77 -52
- package/package.json +10 -6
- package/dist/components/carousel/carousel-content.js +0 -1
- package/dist/components/carousel/carousel-content.vue.d.ts +0 -18
- package/dist/components/carousel/carousel-item.js +0 -1
- package/dist/components/carousel/carousel-item.vue.d.ts +0 -18
- package/dist/components/carousel/carousel-next.js +0 -1
- package/dist/components/carousel/carousel-next.vue.d.ts +0 -23
- package/dist/components/carousel/carousel-previous.js +0 -1
- package/dist/components/carousel/carousel-previous.vue.d.ts +0 -23
- package/dist/components/empty/variants.d.ts +0 -57
- package/dist/components/form/context.js +0 -1
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts +0 -4
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts +0 -16
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts +0 -9
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts +0 -13
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts +0 -4
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts +0 -31
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts +0 -67
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts +0 -29
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts +0 -10
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts +0 -13
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts +0 -43
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts +0 -20
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts +0 -14
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts +0 -8
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts +0 -4
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts +0 -12
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts +0 -7
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts +0 -10
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts +0 -19
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts +0 -6
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts +0 -11
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts +0 -9
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts +0 -7
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts +0 -8
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts +0 -9
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless/page-tabs";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless/page-tabs";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
|
|
@@ -4,8 +4,8 @@ import * as _$vue from "vue";
|
|
|
4
4
|
//#region src/components/page-tabs/page-tabs.vue.d.ts
|
|
5
5
|
declare const __VLS_export: <T extends PageTabsOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
6
|
props: _$vue.PublicProps & __VLS_PrettifyLocal<PageTabsProps<T> & {
|
|
7
|
-
onContextmenu?: ((tab: T) => any) | undefined;
|
|
8
7
|
onClick?: ((tab: T) => any) | undefined;
|
|
8
|
+
onContextmenu?: ((tab: T) => any) | undefined;
|
|
9
9
|
onClose?: ((tab: T) => any) | undefined;
|
|
10
10
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
11
11
|
"onUpdate:items"?: ((items: T[]) => any) | undefined;
|
|
@@ -7,7 +7,7 @@ import { ClassValue, MaybePromise } from "@soybeanjs/headless/types";
|
|
|
7
7
|
|
|
8
8
|
//#region src/components/page-tabs/types.d.ts
|
|
9
9
|
/**
|
|
10
|
-
* Option data for the
|
|
10
|
+
* Option data for the PageTabs component.
|
|
11
11
|
*/
|
|
12
12
|
interface PageTabsOptionData extends PageTabsItemProps {
|
|
13
13
|
/**
|
|
@@ -28,11 +28,11 @@ interface PageTabsOptionData extends PageTabsItemProps {
|
|
|
28
28
|
*/
|
|
29
29
|
type PageTabsExtraUiSlot = 'itemText' | 'chromeBgLeft' | 'chromeBgRight' | 'sliderIndicator';
|
|
30
30
|
/**
|
|
31
|
-
* Extended UI class overrides for the
|
|
31
|
+
* Extended UI class overrides for the PageTabs component.
|
|
32
32
|
*/
|
|
33
33
|
type PageTabsExtendedUi = Record<PageTabsUiSlot | PageTabsExtraUiSlot, ClassValue>;
|
|
34
34
|
/**
|
|
35
|
-
* State values for
|
|
35
|
+
* State values for PageTabsState.
|
|
36
36
|
*/
|
|
37
37
|
interface PageTabsState {
|
|
38
38
|
/**
|
|
@@ -85,7 +85,7 @@ interface PageTabsState {
|
|
|
85
85
|
closeAll: () => void;
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
|
-
* Option data for the
|
|
88
|
+
* Option data for the PageTabsContextMenu component.
|
|
89
89
|
*/
|
|
90
90
|
interface PageTabsContextMenuOptionData extends index_d_exports.MenuOptionData<string> {
|
|
91
91
|
/**
|
|
@@ -94,7 +94,7 @@ interface PageTabsContextMenuOptionData extends index_d_exports.MenuOptionData<s
|
|
|
94
94
|
action?: () => MaybePromise<void>;
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* Properties for the PageTabs component.
|
|
98
98
|
*/
|
|
99
99
|
interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps {
|
|
100
100
|
/**
|
|
@@ -130,7 +130,7 @@ interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps
|
|
|
130
130
|
beforeClose?: (value: string) => MaybePromise<boolean | void>;
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
|
-
*
|
|
133
|
+
* Events for the PageTabs component.
|
|
134
134
|
*/
|
|
135
135
|
type PageTabsEmits<T> = PageTabsRootEmits & {
|
|
136
136
|
(e: 'update:items', items: T[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless/pagination";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},pageSize:{},defaultPageSize:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`,`update:pageSize`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e),"onUpdate:pageSize":n[1]||=e=>A(`update:pageSize`,e)}),{default:_(()=>[h(e.$slots,`leading`),c(g(S),f(u(l.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},l.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(l.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},l.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},l.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(l.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},l.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16),h(e.$slots,`trailing`)]),_:3},16))}});export{O as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless/pagination";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},pageSize:{},defaultPageSize:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`,`update:pageSize`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e),"onUpdate:pageSize":n[1]||=e=>A(`update:pageSize`,e)}),{default:_(()=>[h(e.$slots,`leading`),c(g(S),f(u(l.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},l.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(l.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},l.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},l.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(l.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},l.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16),h(e.$slots,`trailing`)]),_:3},16))}});export{O as default};
|
|
@@ -5,7 +5,7 @@ import { ClassValue } from "@soybeanjs/headless/types";
|
|
|
5
5
|
|
|
6
6
|
//#region src/components/pagination/types.d.ts
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Properties for the Pagination component.
|
|
9
9
|
*/
|
|
10
10
|
interface PaginationProps extends PaginationRootProps {
|
|
11
11
|
/**
|
|
@@ -24,23 +24,23 @@ interface PaginationProps extends PaginationRootProps {
|
|
|
24
24
|
actionAsSelected?: boolean;
|
|
25
25
|
/** Whether to show the first and last buttons */
|
|
26
26
|
showFirstOrLast?: boolean;
|
|
27
|
-
/** The
|
|
27
|
+
/** The properties for the list component */
|
|
28
28
|
listProps?: PaginationListProps;
|
|
29
|
-
/** The
|
|
29
|
+
/** The properties for the list item component */
|
|
30
30
|
listItemProps?: PaginationListItemProps;
|
|
31
|
-
/** The
|
|
31
|
+
/** The properties for the ellipsis component */
|
|
32
32
|
ellipsisProps?: PaginationEllipsisProps;
|
|
33
|
-
/** The
|
|
33
|
+
/** The properties for the first button component */
|
|
34
34
|
firstProps?: PaginationButtonProps;
|
|
35
|
-
/** The
|
|
35
|
+
/** The properties for the previous button component */
|
|
36
36
|
prevProps?: PaginationButtonProps;
|
|
37
|
-
/** The
|
|
37
|
+
/** The properties for the next button component */
|
|
38
38
|
nextProps?: PaginationButtonProps;
|
|
39
|
-
/** The
|
|
39
|
+
/** The properties for the last button component */
|
|
40
40
|
lastProps?: PaginationButtonProps;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Events for the Pagination component.
|
|
44
44
|
*/
|
|
45
45
|
type PaginationEmits = PaginationRootEmits;
|
|
46
46
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"../input/variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,mergeProps as c,normalizeClass as l,openBlock as u,renderSlot as d,unref as f,withCtx as p}from"vue";import{useControllableState as m,useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless/input";const b=s({name:`SPassword`,__name:`password`,props:{class:{},size:{},ui:{},visible:{type:Boolean,default:void 0},clearable:{type:Boolean},inputRef:{},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:visible`],setup(s,{emit:b}){let x=s,S=b,[C,w]=h(e=>x.inputRef?.(e)),T=g(x,[`class`,`size`,`ui`,`clearable`,`visible`,`inputRef`,`controlProps`]),E=m(()=>x.visible,e=>{S(`update:visible`,e)},!1),D=()=>{E.value=!E.value},O=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(O),(e,n)=>(u(),i(f(v),c(f(T),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:p(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c(s.controlProps,{ref:f(w),type:f(E)?`text`:`password`}),null,16,[`type`]),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`),d(e.$slots,`visible`,{visible:f(E),toggle:D},()=>[o(t,{icon:f(E)?`lucide:eye`:`lucide:eye-off`,class:l(O.value.visible),onClick:D},null,8,[`icon`,`class`])])]),_:3},16))}});export{b as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"../input/variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,mergeProps as c,normalizeClass as l,openBlock as u,renderSlot as d,unref as f,withCtx as p}from"vue";import{useControllableState as m,useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless/input";const b=s({name:`SPassword`,__name:`password`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},visible:{type:Boolean,default:void 0},clearable:{type:Boolean},inputRef:{},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:visible`],setup(s,{emit:b}){let x=s,S=b,[C,w]=h(e=>x.inputRef?.(e)),T=g(x,[`class`,`size`,`ui`,`clearable`,`visible`,`inputRef`,`controlProps`]),E=m(()=>x.visible,e=>{S(`update:visible`,e)},!1),D=()=>{E.value=!E.value},O=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(O),(e,n)=>(u(),i(f(v),c(f(T),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:p(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c(s.controlProps,{ref:f(w),type:f(E)?`text`:`password`}),null,16,[`type`]),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`),d(e.$slots,`visible`,{visible:f(E),toggle:D},()=>[o(t,{icon:f(E)?`lucide:eye`:`lucide:eye-off`,class:l(O.value.visible),onClick:D},null,8,[`icon`,`class`])])]),_:3},16))}});export{b as default};
|
|
@@ -6,7 +6,7 @@ import { ClassValue } from "@soybeanjs/headless/types";
|
|
|
6
6
|
type PasswordUiSlot = 'clearable' | 'visible';
|
|
7
7
|
type PasswordUi = InputUi & Record<PasswordUiSlot, ClassValue>;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Properties for the Password component.
|
|
10
10
|
*/
|
|
11
11
|
interface PasswordProps extends InputRootProps {
|
|
12
12
|
/**
|
|
@@ -37,7 +37,7 @@ interface PasswordProps extends InputRootProps {
|
|
|
37
37
|
controlProps?: InputControlProps;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Events for the Password component.
|
|
41
41
|
*/
|
|
42
42
|
type PasswordEmits = InputRootEmits & {
|
|
43
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
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/popover";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
|
+
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/popover";const g=s({name:`SPopconfirmCancel`,__name:`popconfirm-cancel`,props:{text:{},beforeClose:{},class:{type:[Boolean,null,String,Object,Array]},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{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/popover";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};
|
|
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/popover";const g=s({name:`SPopconfirmConfirm`,__name:`popconfirm-confirm`,props:{text:{},beforeClose:{type:Function},class:{type:[Boolean,null,String,Object,Array]},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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{providePopconfirmContext as n}from"./context.js";import{popconfirmVariants as r}from"./variants.js";import i from"./popconfirm-cancel.js";import a from"./popconfirm-confirm.js";import{computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeClass as g,normalizeProps as _,openBlock as v,renderSlot as y,toDisplayString as b,toHandlers as x,unref as S,useSlots as C,withCtx as w}from"vue";import{useForwardListeners as T,usePickProps as E}from"@soybeanjs/headless/composables";import{transformPropsToContext as D}from"@soybeanjs/headless/shared";import{PopoverArrow as O,PopoverClose as k,PopoverPopup as A,PopoverPortal as j,PopoverPositioner as M,PopoverRoot as N,PopoverTrigger as P,providePopoverUi as F}from"@soybeanjs/headless/popover";const I=p({name:`SPopconfirm`,__name:`popconfirm`,props:{class:{},size:{},ui:{},type:{},placement:{},title:{},description:{},content:{},showArrow:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},confirmText:{},cancelText:{},showCancel:{type:[String,Boolean],default:`onlyWarning`},beforeCancel:{},beforeConfirm:{},confirmProps:{},cancelProps:{},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},headerProps:{},titleProps:{},descriptionProps:{},contentProps:{},footerProps:{},disabled:{type:Boolean},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!1}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`close`],setup(p,{emit:I}){let L=p,R=I,z=C(),B=E(L,[`defaultOpen`,`open`,`modal`]),V=T(R),H=o(()=>e(r({size:L.size}),L.ui,{popup:L.class})),U={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},W=o(()=>L.type?U[L.type]:null),G=o(()=>({placement:L.placement,...L.positionerProps})),K=o(()=>typeof L.showCancel==`boolean`?L.showCancel:L.type===`warning`),q=()=>{R(`close`)};return F(H),n({...D(L,[`size`,`confirmText`,`cancelText`,`showCancel`,`cancelProps`,`confirmProps`]),beforeConfirm:L.beforeConfirm,beforeCancel:L.beforeCancel,onClose:q}),(e,n)=>(v(),s(S(N),h(S(B),{"onUpdate:open":n[0]||=e=>R(`update:open`,e)}),{default:w(n=>[f(S(P),h(p.triggerProps,{"as-child":``}),{default:w(()=>[y(e.$slots,`trigger`)]),_:3},16),f(S(j),_(m(p.portalProps)),{default:w(()=>[f(S(M),h(G.value,x(S(V))),{default:w(()=>[f(S(A),_(m(p.popupProps)),{default:w(()=>[u(`div`,h(p.headerProps,{class:H.value.header}),[u(`h3`,h(p.titleProps,{class:H.value.title}),[p.showIcon&&W.value?(v(),s(t,{key:0,icon:W.value.icon,class:g(W.value.class)},null,8,[`icon`,`class`])):c(`v-if`,!0),y(e.$slots,`title`,{close:n.close},()=>[d(b(p.title),1)])],16),S(z).description||p.description?(v(),l(`p`,{key:0,class:g(H.value.description)},[y(e.$slots,`description`,{close:n.close},()=>[d(b(p.description),1)])],2)):c(`v-if`,!0)],16),e.$slots.content||p.content?(v(),l(`div`,h({key:0},p.contentProps,{class:H.value.content}),[y(e.$slots,`default`,{close:n.close},()=>[d(b(p.content),1)])],16)):c(`v-if`,!0),u(`div`,{class:g(H.value.footer)},[y(e.$slots,`footer`,{close:n.close},()=>[K.value?(v(),s(i,{key:0})):c(`v-if`,!0),f(a,{text:p.confirmText},null,8,[`text`])])],2),p.showArrow?(v(),s(S(O),_(h({key:1},p.arrowProps)),null,16)):c(`v-if`,!0)]),_:2},1040),e.$slots.close?(v(),s(S(k),{key:0,"as-child":``},{default:w(()=>[y(e.$slots,`close`)]),_:3})):c(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{providePopconfirmContext as n}from"./context.js";import{popconfirmVariants as r}from"./variants.js";import i from"./popconfirm-cancel.js";import a from"./popconfirm-confirm.js";import{computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeClass as g,normalizeProps as _,openBlock as v,renderSlot as y,toDisplayString as b,toHandlers as x,unref as S,useSlots as C,withCtx as w}from"vue";import{useForwardListeners as T,usePickProps as E}from"@soybeanjs/headless/composables";import{transformPropsToContext as D}from"@soybeanjs/headless/shared";import{PopoverArrow as O,PopoverClose as k,PopoverPopup as A,PopoverPortal as j,PopoverPositioner as M,PopoverRoot as N,PopoverTrigger as P,providePopoverUi as F}from"@soybeanjs/headless/popover";const I=p({name:`SPopconfirm`,__name:`popconfirm`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},type:{},placement:{},title:{},description:{},content:{},showArrow:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},confirmText:{},cancelText:{},showCancel:{type:[String,Boolean],default:`onlyWarning`},beforeCancel:{},beforeConfirm:{},confirmProps:{},cancelProps:{},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},headerProps:{},titleProps:{},descriptionProps:{},contentProps:{},footerProps:{},disabled:{type:Boolean},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!1}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`close`],setup(p,{emit:I}){let L=p,R=I,z=C(),B=E(L,[`defaultOpen`,`open`,`modal`]),V=T(R),H=o(()=>e(r({size:L.size}),L.ui,{popup:L.class})),U={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},W=o(()=>L.type?U[L.type]:null),G=o(()=>({placement:L.placement,...L.positionerProps})),K=o(()=>typeof L.showCancel==`boolean`?L.showCancel:L.type===`warning`),q=()=>{R(`close`)};return F(H),n({...D(L,[`size`,`confirmText`,`cancelText`,`showCancel`,`cancelProps`,`confirmProps`]),beforeConfirm:L.beforeConfirm,beforeCancel:L.beforeCancel,onClose:q}),(e,n)=>(v(),s(S(N),h(S(B),{"onUpdate:open":n[0]||=e=>R(`update:open`,e)}),{default:w(n=>[f(S(P),h(p.triggerProps,{"as-child":``}),{default:w(()=>[y(e.$slots,`trigger`)]),_:3},16),f(S(j),_(m(p.portalProps)),{default:w(()=>[f(S(M),h(G.value,x(S(V))),{default:w(()=>[f(S(A),_(m(p.popupProps)),{default:w(()=>[u(`div`,h(p.headerProps,{class:H.value.header}),[u(`h3`,h(p.titleProps,{class:H.value.title}),[p.showIcon&&W.value?(v(),s(t,{key:0,icon:W.value.icon,class:g(W.value.class)},null,8,[`icon`,`class`])):c(`v-if`,!0),y(e.$slots,`title`,{close:n.close},()=>[d(b(p.title),1)])],16),S(z).description||p.description?(v(),l(`p`,{key:0,class:g(H.value.description)},[y(e.$slots,`description`,{close:n.close},()=>[d(b(p.description),1)])],2)):c(`v-if`,!0)],16),e.$slots.content||p.content?(v(),l(`div`,h({key:0},p.contentProps,{class:H.value.content}),[y(e.$slots,`default`,{close:n.close},()=>[d(b(p.content),1)])],16)):c(`v-if`,!0),u(`div`,{class:g(H.value.footer)},[y(e.$slots,`footer`,{close:n.close},()=>[K.value?(v(),s(i,{key:0})):c(`v-if`,!0),f(a,{text:p.confirmText},null,8,[`text`])])],2),p.showArrow?(v(),s(S(O),_(h({key:1},p.arrowProps)),null,16)):c(`v-if`,!0)]),_:2},1040),e.$slots.close?(v(),s(S(k),{key:0,"as-child":``},{default:w(()=>[y(e.$slots,`close`)]),_:3})):c(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
|
|
@@ -6,7 +6,7 @@ import { ClassValue, MaybePromise, Placement, PropsToContext, UiClass } from "@s
|
|
|
6
6
|
|
|
7
7
|
//#region src/components/popconfirm/types.d.ts
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Properties for the PopconfirmConfirm component.
|
|
10
10
|
*/
|
|
11
11
|
interface PopconfirmConfirmProps extends ButtonProps {
|
|
12
12
|
/**
|
|
@@ -20,7 +20,7 @@ interface PopconfirmConfirmProps extends ButtonProps {
|
|
|
20
20
|
beforeClose?: () => MaybePromise<boolean | void>;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Events for the PopconfirmConfirm component.
|
|
24
24
|
*/
|
|
25
25
|
type PopconfirmConfirmEmits = {
|
|
26
26
|
/**
|
|
@@ -29,7 +29,7 @@ type PopconfirmConfirmEmits = {
|
|
|
29
29
|
close: [];
|
|
30
30
|
};
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Properties for the PopconfirmCancel component.
|
|
33
33
|
*/
|
|
34
34
|
interface PopconfirmCancelProps extends ButtonProps {
|
|
35
35
|
/**
|
|
@@ -43,7 +43,7 @@ interface PopconfirmCancelProps extends ButtonProps {
|
|
|
43
43
|
beforeClose?: () => MaybePromise<boolean | void>;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Events for the PopconfirmCancel component.
|
|
47
47
|
*/
|
|
48
48
|
type PopconfirmCancelEmits = {
|
|
49
49
|
/**
|
|
@@ -52,23 +52,23 @@ type PopconfirmCancelEmits = {
|
|
|
52
52
|
close: [];
|
|
53
53
|
};
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* Properties for the PopconfirmHeader component.
|
|
56
56
|
*/
|
|
57
57
|
interface PopconfirmHeaderProps extends /** @vue-ignore */HTMLAttributes {}
|
|
58
58
|
/**
|
|
59
|
-
*
|
|
59
|
+
* Properties for the PopconfirmTitle component.
|
|
60
60
|
*/
|
|
61
61
|
interface PopconfirmTitleProps extends /** @vue-ignore */HTMLAttributes {}
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* Properties for the PopconfirmDescription component.
|
|
64
64
|
*/
|
|
65
65
|
interface PopconfirmDescriptionProps extends /** @vue-ignore */HTMLAttributes {}
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Properties for the PopconfirmContent component.
|
|
68
68
|
*/
|
|
69
69
|
interface PopconfirmContentProps extends /** @vue-ignore */HTMLAttributes {}
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Properties for the PopconfirmFooter component.
|
|
72
72
|
*/
|
|
73
73
|
interface PopconfirmFooterProps extends /** @vue-ignore */HTMLAttributes {}
|
|
74
74
|
/**
|
|
@@ -77,11 +77,11 @@ interface PopconfirmFooterProps extends /** @vue-ignore */HTMLAttributes {}
|
|
|
77
77
|
type PopconfirmType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
|
|
78
78
|
type PopconfirmUiSlot = PopoverUiSlot | 'header' | 'icon' | 'header' | 'title' | 'description' | 'content' | 'footer';
|
|
79
79
|
/**
|
|
80
|
-
* UI class overrides for the
|
|
80
|
+
* UI class overrides for the Popconfirm component.
|
|
81
81
|
*/
|
|
82
82
|
type PopconfirmUi = UiClass<PopconfirmUiSlot>;
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* Properties for the Popconfirm component.
|
|
85
85
|
*/
|
|
86
86
|
interface PopconfirmProps extends PopoverRootProps {
|
|
87
87
|
/**
|
|
@@ -151,60 +151,60 @@ interface PopconfirmProps extends PopoverRootProps {
|
|
|
151
151
|
*/
|
|
152
152
|
beforeConfirm?: () => MaybePromise<boolean | void>;
|
|
153
153
|
/**
|
|
154
|
-
*
|
|
154
|
+
* Properties forwarded to the confirm element.
|
|
155
155
|
*/
|
|
156
156
|
confirmProps?: PopconfirmConfirmProps;
|
|
157
157
|
/**
|
|
158
|
-
*
|
|
158
|
+
* Properties forwarded to the cancel element.
|
|
159
159
|
*/
|
|
160
160
|
cancelProps?: PopconfirmCancelProps;
|
|
161
161
|
/**
|
|
162
|
-
*
|
|
162
|
+
* Properties forwarded to the positioner element.
|
|
163
163
|
*/
|
|
164
164
|
positionerProps?: PopoverPositionerProps;
|
|
165
165
|
/**
|
|
166
|
-
*
|
|
166
|
+
* Properties forwarded to the popup element.
|
|
167
167
|
*/
|
|
168
168
|
popupProps?: PopoverPopupProps;
|
|
169
169
|
/**
|
|
170
|
-
*
|
|
170
|
+
* Properties forwarded to the trigger element.
|
|
171
171
|
*/
|
|
172
172
|
triggerProps?: PopoverTriggerProps;
|
|
173
173
|
/**
|
|
174
|
-
*
|
|
174
|
+
* Properties forwarded to the close element.
|
|
175
175
|
*/
|
|
176
176
|
closeProps?: PopoverCloseProps;
|
|
177
177
|
/**
|
|
178
|
-
*
|
|
178
|
+
* Properties forwarded to the portal element.
|
|
179
179
|
*/
|
|
180
180
|
portalProps?: PopoverPortalProps;
|
|
181
181
|
/**
|
|
182
|
-
*
|
|
182
|
+
* Properties forwarded to the arrow element.
|
|
183
183
|
*/
|
|
184
184
|
arrowProps?: PopoverArrowProps;
|
|
185
185
|
/**
|
|
186
|
-
*
|
|
186
|
+
* Properties forwarded to the header element.
|
|
187
187
|
*/
|
|
188
188
|
headerProps?: PopconfirmHeaderProps;
|
|
189
189
|
/**
|
|
190
|
-
*
|
|
190
|
+
* Properties forwarded to the title element.
|
|
191
191
|
*/
|
|
192
192
|
titleProps?: PopconfirmTitleProps;
|
|
193
193
|
/**
|
|
194
|
-
*
|
|
194
|
+
* Properties forwarded to the description element.
|
|
195
195
|
*/
|
|
196
196
|
descriptionProps?: PopconfirmDescriptionProps;
|
|
197
197
|
/**
|
|
198
|
-
*
|
|
198
|
+
* Properties forwarded to the content element.
|
|
199
199
|
*/
|
|
200
200
|
contentProps?: PopconfirmContentProps;
|
|
201
201
|
/**
|
|
202
|
-
*
|
|
202
|
+
* Properties forwarded to the footer element.
|
|
203
203
|
*/
|
|
204
204
|
footerProps?: PopconfirmFooterProps;
|
|
205
205
|
}
|
|
206
206
|
/**
|
|
207
|
-
*
|
|
207
|
+
* Events for the Popconfirm component.
|
|
208
208
|
*/
|
|
209
209
|
type PopconfirmEmits = PopoverRootEmits & PopoverPositionerEmits & {
|
|
210
210
|
/**
|
|
@@ -213,7 +213,7 @@ type PopconfirmEmits = PopoverRootEmits & PopoverPositionerEmits & {
|
|
|
213
213
|
close: [];
|
|
214
214
|
};
|
|
215
215
|
/**
|
|
216
|
-
* Context for the
|
|
216
|
+
* Context for the Popconfirm component.
|
|
217
217
|
*/
|
|
218
218
|
interface PopconfirmContext extends PropsToContext<PopconfirmProps, 'size' | 'confirmText' | 'cancelText' | 'showCancel' | 'confirmProps' | 'cancelProps'> {
|
|
219
219
|
/**
|
|
@@ -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/popover";const T=o({name:`SPopover`,__name:`popover`,props:{class:{},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},disabled:{type:Boolean},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};
|
|
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/popover";const T=o({name:`SPopover`,__name:`popover`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},disabled:{type:Boolean},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};
|
|
@@ -4,7 +4,7 @@ import { ClassValue, Placement } from "@soybeanjs/headless/types";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/popover/types.d.ts
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Properties for the Popover component.
|
|
8
8
|
*/
|
|
9
9
|
interface PopoverProps extends PopoverRootProps {
|
|
10
10
|
/**
|
|
@@ -28,32 +28,32 @@ interface PopoverProps extends PopoverRootProps {
|
|
|
28
28
|
*/
|
|
29
29
|
showArrow?: boolean;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* Properties forwarded to the positioner element.
|
|
32
32
|
*/
|
|
33
33
|
positionerProps?: PopoverPositionerProps;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Properties forwarded to the popup element.
|
|
36
36
|
*/
|
|
37
37
|
popupProps?: PopoverPopupProps;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* Properties forwarded to the trigger element.
|
|
40
40
|
*/
|
|
41
41
|
triggerProps?: PopoverTriggerProps;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Properties forwarded to the close element.
|
|
44
44
|
*/
|
|
45
45
|
closeProps?: PopoverCloseProps;
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Properties forwarded to the portal element.
|
|
48
48
|
*/
|
|
49
49
|
portalProps?: PopoverPortalProps;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Properties forwarded to the arrow element.
|
|
52
52
|
*/
|
|
53
53
|
arrowProps?: PopoverArrowProps;
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
56
|
+
* Events for the Popover component.
|
|
57
57
|
*/
|
|
58
58
|
type PopoverEmits = PopoverRootEmits & PopoverPositionerEmits;
|
|
59
59
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{circleProgressVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,toHandlers as m,unref as h,useSlots as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{ProgressCircle as b,ProgressRoot as x,provideProgressUi as S}from"@soybeanjs/headless/progress";const C=s({name:`SProgressCircle`,__name:`progress-circle`,props:{class:{},color:{},size:{},ui:{},strokeWidth:{},dir:{},modelValue:{},max:{},getValueLabel:{type:Function},getValueText:{type:Function},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:max`],setup(s,{emit:C}){let w=s,T=C,E=g(),D=y(w,[`class`,`color`,`size`,`ui`,`strokeWidth`]),O=v(T),k=n(()=>e(t({color:w.color,size:w.size}),w.ui,{root:w.class})),A=n(()=>!!E.default);return S(k),(e,t)=>(f(),r(h(x),l(h(D),m(h(O))),{default:_(()=>[o(h(b),{"stroke-width":s.strokeWidth},{default:_(t=>[A.value?(f(),a(`div`,{key:0,class:u(k.value.label)},[p(e.$slots,`default`,d(c(t)))],2)):i(`v-if`,!0)]),_:3},8,[`stroke-width`])]),_:3},16))}});export{C as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{circleProgressVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,toHandlers as m,unref as h,useSlots as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{ProgressCircle as b,ProgressRoot as x,provideProgressUi as S}from"@soybeanjs/headless/progress";const C=s({name:`SProgressCircle`,__name:`progress-circle`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},ui:{},strokeWidth:{},dir:{},modelValue:{},max:{},getValueLabel:{type:Function},getValueText:{type:Function},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:max`],setup(s,{emit:C}){let w=s,T=C,E=g(),D=y(w,[`class`,`color`,`size`,`ui`,`strokeWidth`]),O=v(T),k=n(()=>e(t({color:w.color,size:w.size}),w.ui,{root:w.class})),A=n(()=>!!E.default);return S(k),(e,t)=>(f(),r(h(x),l(h(D),m(h(O))),{default:_(()=>[o(h(b),{"stroke-width":s.strokeWidth},{default:_(t=>[A.value?(f(),a(`div`,{key:0,class:u(k.value.label)},[p(e.$slots,`default`,d(c(t)))],2)):i(`v-if`,!0)]),_:3},8,[`stroke-width`])]),_:3},16))}});export{C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{progressVariants as t}from"./variants.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{ProgressIndicator as g,ProgressRoot as _,provideProgressUi as v}from"@soybeanjs/headless/progress";const y=a({name:`SProgress`,__name:`progress`,props:{class:{},color:{},size:{},ui:{},indicatorProps:{},dir:{},modelValue:{},max:{},getValueLabel:{type:Function},getValueText:{type:Function},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:max`],setup(a,{emit:y}){let b=a,x=y,S=h(b,[`class`,`color`,`size`,`ui`,`indicatorProps`]),C=m(x);return v(n(()=>e(t({color:b.color,size:b.size}),b.ui,{root:b.class}))),(e,t)=>(l(),r(f(_),s(f(S),d(f(C))),{default:p(t=>[i(f(g),c(o(a.indicatorProps)),{default:p(()=>[u(e.$slots,`default`,c(o(t)))]),_:2},1040)]),_:3},16))}});export{y as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{progressVariants as t}from"./variants.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{ProgressIndicator as g,ProgressRoot as _,provideProgressUi as v}from"@soybeanjs/headless/progress";const y=a({name:`SProgress`,__name:`progress`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},ui:{},indicatorProps:{},dir:{},modelValue:{},max:{},getValueLabel:{type:Function},getValueText:{type:Function},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:max`],setup(a,{emit:y}){let b=a,x=y,S=h(b,[`class`,`color`,`size`,`ui`,`indicatorProps`]),C=m(x);return v(n(()=>e(t({color:b.color,size:b.size}),b.ui,{root:b.class}))),(e,t)=>(l(),r(f(_),s(f(S),d(f(C))),{default:p(t=>[i(f(g),c(o(a.indicatorProps)),{default:p(()=>[u(e.$slots,`default`,c(o(t)))]),_:2},1040)]),_:3},16))}});export{y as default};
|
|
@@ -4,7 +4,7 @@ import { ClassValue } from "@soybeanjs/headless/types";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/progress/types.d.ts
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Properties for the Progress component.
|
|
8
8
|
*/
|
|
9
9
|
interface ProgressProps extends ProgressRootProps {
|
|
10
10
|
/**
|
|
@@ -24,12 +24,12 @@ interface ProgressProps extends ProgressRootProps {
|
|
|
24
24
|
*/
|
|
25
25
|
ui?: Partial<ProgressUi>;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Properties forwarded to the indicator element.
|
|
28
28
|
*/
|
|
29
29
|
indicatorProps?: ProgressIndicatorProps;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Properties for the ProgressCircle component.
|
|
33
33
|
*/
|
|
34
34
|
interface ProgressCircleProps extends ProgressRootProps {
|
|
35
35
|
/**
|
|
@@ -54,11 +54,11 @@ interface ProgressCircleProps extends ProgressRootProps {
|
|
|
54
54
|
strokeWidth?: number;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Events for the Progress component.
|
|
58
58
|
*/
|
|
59
59
|
type ProgressEmits = ProgressRootEmits;
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* Events for the ProgressCircle component.
|
|
62
62
|
*/
|
|
63
63
|
type ProgressCircleEmits = ProgressRootEmits;
|
|
64
64
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioCardGroupVariants as t}from"./variants.js";import n from"./radio-card.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless/radio-group";const g=s({name:`SRadioCardGroup`,__name:`radio-card-group`,props:{ui:{},items:{},class:{},variant:{},color:{},size:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]),b=i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}));return h(b),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{ui:b.value,variant:s.variant,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,icon:e.icon,description:e.description,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`ui`,`variant`,`size`,`value`,`label`,`disabled`,`icon`,`description`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioCardGroupVariants as t}from"./variants.js";import n from"./radio-card.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless/radio-group";const g=s({name:`SRadioCardGroup`,__name:`radio-card-group`,props:{ui:{},items:{},class:{type:[Boolean,null,String,Object,Array]},variant:{},color:{},size:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]),b=i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}));return h(b),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{ui:b.value,variant:s.variant,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,icon:e.icon,description:e.description,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`ui`,`variant`,`size`,`value`,`label`,`disabled`,`icon`,`description`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"../icon/icon.js";import{Transition as t,computed 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 _,useId as v,useSlots as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{
|
|
1
|
+
import e from"../icon/icon.js";import{Transition as t,computed 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 _,useId as v,useSlots as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{RadioGroupControl as S,RadioGroupIndicator as C,RadioGroupItem as w,RadioGroupLabel as T}from"@soybeanjs/headless/radio-group";import{Slot as E}from"@soybeanjs/headless/slot";const D={key:0},O=l({name:`SRadioCard`,__name:`radio-card`,props:{ui:{},icon:{},description:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},value:{type:[String,Number,Boolean]},disabled:{type:Boolean},name:{},required:{type:Boolean}},setup(l){let O=l,k=y(),A=x(O,[`ui`,`icon`,`description`,`controlProps`,`indicatorProps`,`labelProps`]),j=v(),M=n(()=>O.id||`radio-${j}`);return(n,v)=>(m(),r(_(w),p(u(_(A))),{default:b(()=>[o(`div`,{class:f(l.ui?.content)},[c(e,{icon:l.icon,class:f(l.ui?.icon)},null,8,[`icon`,`class`]),o(`div`,{class:f(l.ui?.textContent)},[c(_(T),d(l.labelProps,{for:M.value}),{default:b(()=>[h(n.$slots,`default`,{id:M.value},()=>[s(g(l.label),1)])]),_:3},16,[`for`]),_(k).description||l.description?(m(),r(_(E),{key:0,class:f(l.ui?.description)},{default:b(()=>[h(n.$slots,`description`,{},()=>[l.description?(m(),a(`p`,D,g(l.description),1)):i(`v-if`,!0)])]),_:3},8,[`class`])):i(`v-if`,!0)],2)],2),c(_(S),d(l.controlProps,{id:M.value}),{default:b(()=>[c(t,{"enter-active-class":`transition`,"enter-from-class":`opacity-0 scale-0`},{default:b(()=>[c(_(C),p(u(l.indicatorProps)),null,16)]),_:1})]),_:1},16,[`id`])]),_:3},16))}});export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioGroupVariants as t}from"./variants.js";import{Fragment as n,computed as r,createCommentVNode as i,createElementBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,unref as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{RadioGroupCompact as f,provideRadioGroupUi as p}from"@soybeanjs/headless/radio-group";const m=s({name:`SRadioGroup`,__name:`radio-group`,props:{class:{},ui:{},variant:{},color:{},size:{},items:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:m}){let h=s,g=m,_=d(h,[`class`,`ui`,`variant`,`color`,`size`]),v=r(()=>h.items),y=e=>{g(`update:modelValue`,e)};return p(r(()=>e(t({variant:h.variant,color:h.color,size:h.size}),h.ui,{root:h.class}))),(e,t)=>(l(),a(n,null,[i(` @vue-ignore generic props are validated by RadioGroupProps/RadioGroupCompactProps `),o(u(f),c(u(_),{items:v.value,"onUpdate:modelValue":y}),null,16,[`items`])],2112))}});export{m as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioGroupVariants as t}from"./variants.js";import{Fragment as n,computed as r,createCommentVNode as i,createElementBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,unref as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{RadioGroupCompact as f,provideRadioGroupUi as p}from"@soybeanjs/headless/radio-group";const m=s({name:`SRadioGroup`,__name:`radio-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},variant:{},color:{},size:{},items:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:m}){let h=s,g=m,_=d(h,[`class`,`ui`,`variant`,`color`,`size`]),v=r(()=>h.items),y=e=>{g(`update:modelValue`,e)};return p(r(()=>e(t({variant:h.variant,color:h.color,size:h.size}),h.ui,{root:h.class}))),(e,t)=>(l(),a(n,null,[i(` @vue-ignore generic props are validated by RadioGroupProps/RadioGroupCompactProps `),o(u(f),c(u(_),{items:v.value,"onUpdate:modelValue":y}),null,16,[`items`])],2112))}});export{m as default};
|
|
@@ -5,7 +5,7 @@ import { AcceptableBooleanValue, ClassValue } from "@soybeanjs/headless/types";
|
|
|
5
5
|
|
|
6
6
|
//#region src/components/radio-group/types.d.ts
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Properties for the Radio component.
|
|
9
9
|
*/
|
|
10
10
|
interface RadioProps extends RadioGroupItemProps {
|
|
11
11
|
/**
|
|
@@ -13,20 +13,20 @@ interface RadioProps extends RadioGroupItemProps {
|
|
|
13
13
|
*/
|
|
14
14
|
label?: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Properties forwarded to the control element.
|
|
17
17
|
*/
|
|
18
18
|
controlProps?: RadioGroupControlProps;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Properties forwarded to the indicator element.
|
|
21
21
|
*/
|
|
22
22
|
indicatorProps?: RadioGroupIndicatorProps;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Properties forwarded to the label element.
|
|
25
25
|
*/
|
|
26
26
|
labelProps?: RadioGroupLabelProps;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Properties for the RadioGroup component.
|
|
30
30
|
*/
|
|
31
31
|
interface RadioGroupProps<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends RadioGroupOptionData<T> = RadioGroupOptionData<T>> extends RadioGroupCompactProps<T, S> {
|
|
32
32
|
/**
|
|
@@ -51,19 +51,19 @@ interface RadioGroupProps<T extends AcceptableBooleanValue = AcceptableBooleanVa
|
|
|
51
51
|
size?: ThemeSize;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
54
|
+
* Events for the RadioGroup component.
|
|
55
55
|
*/
|
|
56
56
|
type RadioGroupEmits<T extends AcceptableBooleanValue = AcceptableBooleanValue> = RadioGroupCompactEmits<T>;
|
|
57
57
|
/**
|
|
58
|
-
* Available UI slots for the
|
|
58
|
+
* Available UI slots for the RadioGroupCard component.
|
|
59
59
|
*/
|
|
60
60
|
type RadioGroupCardUiSlot = 'content' | 'textContent' | 'icon' | 'description';
|
|
61
61
|
/**
|
|
62
|
-
* UI class overrides for the
|
|
62
|
+
* UI class overrides for the RadioGroupCard component.
|
|
63
63
|
*/
|
|
64
64
|
type RadioGroupCardUi = RadioGroupUi & Record<RadioGroupCardUiSlot, ClassValue>;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Properties for the RadioCard component.
|
|
67
67
|
*/
|
|
68
68
|
interface RadioCardProps extends RadioProps {
|
|
69
69
|
/**
|
|
@@ -80,7 +80,7 @@ interface RadioCardProps extends RadioProps {
|
|
|
80
80
|
description?: string;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
|
-
* Option data for the
|
|
83
|
+
* Option data for the RadioCardGroup component.
|
|
84
84
|
*/
|
|
85
85
|
interface RadioCardGroupOptionData<T extends AcceptableBooleanValue = AcceptableBooleanValue> extends RadioGroupOptionData<T> {
|
|
86
86
|
/**
|
|
@@ -93,7 +93,7 @@ interface RadioCardGroupOptionData<T extends AcceptableBooleanValue = Acceptable
|
|
|
93
93
|
description?: string;
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
96
|
+
* Properties for the RadioCardGroup component.
|
|
97
97
|
*/
|
|
98
98
|
interface RadioCardGroupProps<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends RadioCardGroupOptionData<T> = RadioCardGroupOptionData<T>> extends RadioGroupProps<T, S> {
|
|
99
99
|
/**
|
|
@@ -106,7 +106,7 @@ interface RadioCardGroupProps<T extends AcceptableBooleanValue = AcceptableBoole
|
|
|
106
106
|
items: S[];
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
|
-
*
|
|
109
|
+
* Events for the RadioGroupCard component.
|
|
110
110
|
*/
|
|
111
111
|
type RadioGroupCardEmits<T extends AcceptableBooleanValue = AcceptableBooleanValue> = RadioGroupEmits<T>;
|
|
112
112
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{rangeCalendarVariants as n}from"./variants.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{RangeCalendarCompact as y,provideRangeCalendarUi as b}from"@soybeanjs/headless/range-calendar";const x=s({name:`SRangeCalendar`,__name:`range-calendar`,props:{class:{},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},defaultValue:{},defaultPlaceholder:{},placeholder:{},modelValue:{},allowNonContiguousRanges:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},maximumDays:{},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},isDateHighlightable:{type:Function},dir:{},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},fixedDate:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`],setup(s,{emit:x}){let S=s,C=x,w=v(S,[`cellProps`,`cellTriggerProps`,`class`,`gridBodyProps`,`gridHeadProps`,`gridProps`,`gridRowProps`,`headCellProps`,`headerProps`,`headingProps`,`nextProps`,`prevProps`,`size`,`ui`]),T=_(C);return b(r(()=>e(n({size:S.size}),S.ui,{root:S.class}))),(e,n)=>(d(),i(h(y),l({...h(w),cellProps:s.cellProps,cellTriggerProps:s.cellTriggerProps,gridBodyProps:s.gridBodyProps,gridHeadProps:s.gridHeadProps,gridProps:s.gridProps,gridRowProps:s.gridRowProps,headCellProps:s.headCellProps,headerProps:s.headerProps,headingProps:s.headingProps,nextProps:s.nextProps,prevProps:s.prevProps},m(h(T))),{prev:g(n=>[f(e.$slots,`prev`,u(c(n)),()=>[o(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),heading:g(t=>[f(e.$slots,`heading`,u(c(t)),()=>[a(p(t.headingValue),1)])]),next:g(n=>[f(e.$slots,`next`,u(c(n)),()=>[o(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),"head-cell":g(t=>[f(e.$slots,`head-cell`,u(c(t)),()=>[a(p(t.label),1)])]),day:g(t=>[f(e.$slots,`day`,u(c(t)),()=>[a(p(t.dayValue),1)])]),default:g(t=>[f(e.$slots,`default`,u(c(t)))]),_:3},16))}});export{x as default};
|
|
1
|
+
import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{rangeCalendarVariants as n}from"./variants.js";import{computed as r,createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{RangeCalendarCompact as y,provideRangeCalendarUi as b}from"@soybeanjs/headless/range-calendar";const x=s({name:`SRangeCalendar`,__name:`range-calendar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},defaultValue:{},defaultPlaceholder:{},placeholder:{},modelValue:{},allowNonContiguousRanges:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},maximumDays:{},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},isDateHighlightable:{type:Function},dir:{},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},fixedDate:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`],setup(s,{emit:x}){let S=s,C=x,w=v(S,[`cellProps`,`cellTriggerProps`,`class`,`gridBodyProps`,`gridHeadProps`,`gridProps`,`gridRowProps`,`headCellProps`,`headerProps`,`headingProps`,`nextProps`,`prevProps`,`size`,`ui`]),T=_(C);return b(r(()=>e(n({size:S.size}),S.ui,{root:S.class}))),(e,n)=>(d(),i(h(y),l({...h(w),cellProps:s.cellProps,cellTriggerProps:s.cellTriggerProps,gridBodyProps:s.gridBodyProps,gridHeadProps:s.gridHeadProps,gridProps:s.gridProps,gridRowProps:s.gridRowProps,headCellProps:s.headCellProps,headerProps:s.headerProps,headingProps:s.headingProps,nextProps:s.nextProps,prevProps:s.prevProps},m(h(T))),{prev:g(n=>[f(e.$slots,`prev`,u(c(n)),()=>[o(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),heading:g(t=>[f(e.$slots,`heading`,u(c(t)),()=>[a(p(t.headingValue),1)])]),next:g(n=>[f(e.$slots,`next`,u(c(n)),()=>[o(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),"head-cell":g(t=>[f(e.$slots,`head-cell`,u(c(t)),()=>[a(p(t.label),1)])]),day:g(t=>[f(e.$slots,`day`,u(c(t)),()=>[a(p(t.dayValue),1)])]),default:g(t=>[f(e.$slots,`default`,u(c(t)))]),_:3},16))}});export{x as default};
|