@soybeanjs/ui 0.11.1 → 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AlertDialogContent as C,AlertDialogDescription as w,AlertDialogFooter as T,AlertDialogHeader as E,AlertDialogOverlay as D,AlertDialogPortal as O,AlertDialogRoot as k,AlertDialogTitle as A,AlertDialogTrigger as j,provideAlertDialogUi as M}from"@soybeanjs/headless";const N=l({name:`SAlertDialog`,__name:`alert-dialog`,props:{type:{},showIcon:{type:Boolean,default:!0},size:{},ui:{},title:{},description:{},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:[`update:open`],setup(l,{emit:N}){let P=l,F=S(P,[`size`,`ui`,`type`,`title`,`description`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),I=N,L=y(),R=x(I),z=i(()=>e(n({size:P.size}),P.ui)),B={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`}},V=i(()=>P.type?B[P.type]:null);return M(z),t(()=>P.size),(e,t)=>(m(),a(v(k),d(v(F),{"onUpdate:open":t[0]||=e=>I(`update:open`,e)}),{default:b(t=>[c(v(j),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(O),p(u(l.portalProps)),{default:b(()=>[c(v(D),p(u(l.overlayProps)),null,16),c(v(C),d(l.contentProps,_(v(R))),{default:b(()=>[c(v(E),p(u(l.headerProps)),{default:b(()=>[c(v(A),p(u(l.titleProps)),{default:b(()=>[l.showIcon&&V.value?(m(),a(r,{key:0,icon:V.value.icon,class:f(V.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(L).description||l.description?(m(),a(v(w),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(L).footer?(m(),a(v(T),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{N as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AlertDialogContent as C,AlertDialogDescription as w,AlertDialogFooter as T,AlertDialogHeader as E,AlertDialogOverlay as D,AlertDialogPortal as O,AlertDialogRoot as k,AlertDialogTitle as A,AlertDialogTrigger as j,provideAlertDialogUi as M}from"@soybeanjs/headless";const N=l({name:`SAlertDialog`,__name:`alert-dialog`,props:{type:{},showIcon:{type:Boolean,default:!0},class:{},size:{},ui:{},title:{},description:{},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:[`update:open`],setup(l,{emit:N}){let P=l,F=S(P,[`size`,`ui`,`type`,`title`,`description`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),I=N,L=y(),R=x(I),z=i(()=>e(n({size:P.size}),P.ui)),B={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`}},V=i(()=>P.type?B[P.type]:null);return M(z),t(()=>P.size),(e,t)=>(m(),a(v(k),d(v(F),{"onUpdate:open":t[0]||=e=>I(`update:open`,e)}),{default:b(t=>[c(v(j),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(O),p(u(l.portalProps)),{default:b(()=>[c(v(D),p(u(l.overlayProps)),null,16),c(v(C),d(l.contentProps,_(v(R))),{default:b(()=>[c(v(E),p(u(l.headerProps)),{default:b(()=>[c(v(A),p(u(l.titleProps)),{default:b(()=>[l.showIcon&&V.value?(m(),a(r,{key:0,icon:V.value.icon,class:f(V.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(L).description||l.description?(m(),a(v(w),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(L).footer?(m(),a(v(T),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{N as default};
@@ -8,8 +8,8 @@ import { DefinedValue } from "@soybeanjs/headless";
8
8
  declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>>(__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<{
9
9
  props: vue.PublicProps & __VLS_PrettifyLocal<ContextMenuCheckboxProps<T, S> & {
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
11
  "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
12
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
13
13
  onEntryFocus?: ((event: Event) => any) | undefined;
14
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
15
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
29
29
  'item-trailing': (props: S) => any;
30
30
  'item-indicator-icon': (props: S) => any;
31
31
  };
32
- emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "entryFocus", event: Event) => 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);
32
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => 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);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -8,8 +8,8 @@ import { AcceptableBooleanValue } from "@soybeanjs/headless";
8
8
  declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>>(__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<{
9
9
  props: vue.PublicProps & __VLS_PrettifyLocal<ContextMenuRadioProps<T, S> & {
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
11
  "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
12
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
13
13
  onEntryFocus?: ((event: Event) => any) | undefined;
14
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
15
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
29
29
  'item-trailing': (props: S) => any;
30
30
  'item-indicator-icon': (props: S) => any;
31
31
  };
32
- emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "entryFocus", event: Event) => 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);
32
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => 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);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{DialogClose as b,DialogContent as x,DialogOverlay as S,DialogPortal as C,DialogRoot as w,DialogTrigger as T,provideDialogUi as E}from"@soybeanjs/headless";const D=c({name:`SDialogPure`,__name:`dialog-pure`,props:{size:{},ui:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(c,{emit:D}){let O=c,k=y(O,[`size`,`ui`,`closable`,`triggerProps`,`contentProps`,`overlayProps`,`portalProps`]),A=D,j=v(A),M=i(()=>e(n({size:O.size,pure:!0}),O.ui));return E(M),t(()=>O.size),(e,t)=>(p(),a(g(w),u(g(k),{"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[s(g(T),u(c.triggerProps,{size:c.size,"as-child":``}),{default:_(()=>[m(e.$slots,`trigger`)]),_:3},16,[`size`]),s(g(C),f(l(c.portalProps)),{default:_(()=>[s(g(S),f(l(c.overlayProps)),null,16),s(g(x),u(c.contentProps,h(g(j))),{default:_(()=>[m(e.$slots,`default`,f(l(t))),c.closable?(p(),a(g(b),{key:0,class:d(M.value.closable),"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(r,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{D as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{DialogClose as b,DialogContent as x,DialogOverlay as S,DialogPortal as C,DialogRoot as w,DialogTrigger as T,provideDialogUi as E}from"@soybeanjs/headless";const D=c({name:`SDialogPure`,__name:`dialog-pure`,props:{class:{},size:{},ui:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(c,{emit:D}){let O=c,k=y(O,[`class`,`size`,`ui`,`closable`,`triggerProps`,`contentProps`,`overlayProps`,`portalProps`]),A=D,j=v(A),M=i(()=>e(n({size:O.size,pure:!0}),O.ui,{content:O.class}));return E(M),t(()=>O.size),(e,t)=>(p(),a(g(w),u(g(k),{"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[s(g(T),u(c.triggerProps,{size:c.size,"as-child":``}),{default:_(()=>[m(e.$slots,`trigger`)]),_:3},16,[`size`]),s(g(C),f(l(c.portalProps)),{default:_(()=>[s(g(S),f(l(c.overlayProps)),null,16),s(g(x),u(c.contentProps,h(g(j))),{default:_(()=>[m(e.$slots,`default`,f(l(t))),c.closable?(p(),a(g(b),{key:0,class:d(M.value.closable),"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(r,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{D as default};
@@ -31,10 +31,10 @@ declare const __VLS_base: vue.DefineComponent<DialogPureProps, {}, {}, {}, {}, v
31
31
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
32
32
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
33
33
  }>, {
34
- modal: boolean;
35
- closable: boolean;
36
34
  open: boolean;
37
35
  defaultOpen: boolean;
36
+ modal: boolean;
37
+ closable: boolean;
38
38
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
39
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
40
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{DialogClose as C,DialogContent as w,DialogDescription as T,DialogFooter as E,DialogHeader as D,DialogOverlay as O,DialogPortal as k,DialogRoot as A,DialogTitle as j,DialogTrigger as M,provideDialogUi as N}from"@soybeanjs/headless";const P=l({name:`SDialog`,__name:`dialog`,props:{size:{},ui:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(l,{emit:P}){let F=l,I=S(F,[`size`,`ui`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),L=P,R=y(),z=x(L),B=i(()=>e(n({size:F.size}),F.ui));return N(B),t(()=>F.size),(e,t)=>(m(),a(v(A),d(v(I),{"onUpdate:open":t[0]||=e=>L(`update:open`,e)}),{default:b(t=>[c(v(M),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(k),p(u(l.portalProps)),{default:b(()=>[c(v(O),p(u(l.overlayProps)),null,16),c(v(w),d(l.contentProps,_(v(z))),{default:b(()=>[c(v(D),p(u(l.headerProps)),{default:b(()=>[c(v(j),p(u(l.titleProps)),{default:b(()=>[h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(R).description||l.description?(m(),a(v(T),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0),l.closable?(m(),a(v(C),{key:1,class:f(B.value.closable),"as-child":``},{default:b(()=>[h(e.$slots,`close`,{},()=>[c(r,{size:l.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(R).footer?(m(),a(v(E),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{P as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{DialogClose as C,DialogContent as w,DialogDescription as T,DialogFooter as E,DialogHeader as D,DialogOverlay as O,DialogPortal as k,DialogRoot as A,DialogTitle as j,DialogTrigger as M,provideDialogUi as N}from"@soybeanjs/headless";const P=l({name:`SDialog`,__name:`dialog`,props:{class:{},size:{},ui:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(l,{emit:P}){let F=l,I=S(F,[`class`,`size`,`ui`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),L=P,R=y(),z=x(L),B=i(()=>e(n({size:F.size}),F.ui,{content:F.class}));return N(B),t(()=>F.size),(e,t)=>(m(),a(v(A),d(v(I),{"onUpdate:open":t[0]||=e=>L(`update:open`,e)}),{default:b(t=>[c(v(M),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(k),p(u(l.portalProps)),{default:b(()=>[c(v(O),p(u(l.overlayProps)),null,16),c(v(w),d(l.contentProps,_(v(z))),{default:b(()=>[c(v(D),p(u(l.headerProps)),{default:b(()=>[c(v(j),p(u(l.titleProps)),{default:b(()=>[h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(R).description||l.description?(m(),a(v(T),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0),l.closable?(m(),a(v(C),{key:1,class:f(B.value.closable),"as-child":``},{default:b(()=>[h(e.$slots,`close`,{},()=>[c(r,{size:l.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(R).footer?(m(),a(v(E),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{P as default};
@@ -46,10 +46,10 @@ declare const __VLS_base: vue.DefineComponent<DialogProps, {}, {}, {}, {}, vue.C
46
46
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
47
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
48
  }>, {
49
- modal: boolean;
50
- closable: boolean;
51
49
  open: boolean;
52
50
  defaultOpen: boolean;
51
+ modal: boolean;
52
+ closable: 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,12 +1,16 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { VNode } from "vue";
3
- import { DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogUiSlot, MaybePromise, UiClass } from "@soybeanjs/headless";
3
+ import { ClassValue, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogUiSlot, MaybePromise, UiClass } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/dialog/types.d.ts
6
6
  type DialogExtraUiSlot = 'closable';
7
7
  type DialogExtendedUiSlot = DialogUiSlot | DialogExtraUiSlot;
8
8
  type DialogExtendedUi = UiClass<DialogExtendedUiSlot>;
9
9
  interface DialogProps extends DialogRootProps {
10
+ /**
11
+ * the content class of the dialog
12
+ */
13
+ class?: ClassValue;
10
14
  size?: ThemeSize;
11
15
  ui?: Partial<DialogExtendedUi>;
12
16
  title?: string;
@@ -23,6 +27,10 @@ interface DialogProps extends DialogRootProps {
23
27
  }
24
28
  type DialogEmits = DialogRootEmits & DialogContentEmits;
25
29
  interface DialogPureProps extends DialogRootProps {
30
+ /**
31
+ * the content class of the dialog
32
+ */
33
+ class?: ClassValue;
26
34
  size?: ThemeSize;
27
35
  ui?: Partial<DialogExtendedUi>;
28
36
  closable?: boolean;
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{overlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],content:[`fixed left-[50%] top-[50%] z-50 flex flex-col w-full border bg-background shadow-lg outline-none translate-x-[-50%] translate-y-[-50%] md:w-full duration-200 rounded-lg`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2`],header:`flex flex-col text-center sm:text-left`,title:`flex items-center font-semibold leading-none tracking-tight m-0`,description:`text-muted-foreground m-0`,closable:`absolute`,footer:`flex flex-col-reverse sm:flex-row sm:justify-end`},variants:{size:{xs:{content:`gap-y-1.5 max-w-md px-2 py-1.5 text-2xs`,header:`gap-y-1.5`,title:`gap-x-1.5 text-xs`,description:`text-2xs`,closable:`right-1.5 top-1.5`,footer:`gap-1.5`},sm:{content:`gap-y-2 max-w-md px-3 py-2 text-xs`,header:`gap-y-2`,title:`gap-x-1.75 text-sm`,description:`text-xs`,closable:`right-1.75 top-1.75`,footer:`gap-2`},md:{content:`gap-y-3 max-w-lg px-4 py-3 text-sm`,header:`gap-y-3`,title:`gap-x-2 text-base`,description:`text-sm`,closable:`right-2 top-2`,footer:`gap-3`},lg:{content:`gap-y-4 max-w-xl px-5 py-4 text-base`,header:`gap-y-4`,title:`gap-x-2.5 text-lg`,description:`text-base`,closable:`right-2.5 top-2.5`,footer:`gap-4`},xl:{content:`gap-y-5 max-w-2xl px-6 py-5 text-lg`,header:`gap-y-5`,title:`gap-x-3 text-xl`,description:`text-lg`,closable:`right-3 top-3`,footer:`gap-5`},"2xl":{content:`gap-y-6 max-w-3xl px-7 py-6 text-xl`,header:`gap-y-6`,title:`gap-x-3.5 text-2xl`,description:`text-xl`,closable:`right-4 top-4`,footer:`gap-6`}},pure:{true:{content:`p-0 gap-0 border-none`}}},defaultVariants:{size:`md`}});export{t as dialogVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{overlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],content:[`fixed left-[50%] top-[50%] z-50 flex flex-col w-full border bg-background shadow-lg outline-none translate-x-[-50%] translate-y-[-50%] md:w-full duration-200 rounded-lg`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2`],header:`flex flex-col text-center sm:text-left`,title:`flex items-center font-semibold leading-none tracking-tight m-0`,description:`text-muted-foreground m-0`,closable:`absolute`,footer:`flex flex-col-reverse sm:flex-row sm:justify-end`},variants:{size:{xs:{content:`gap-y-1.5 max-w-3xl px-2 py-1.5 text-2xs`,header:`gap-y-1.5`,title:`gap-x-1.5 text-xs`,description:`text-2xs`,closable:`right-1.5 top-1.5`,footer:`gap-1.5`},sm:{content:`gap-y-2 max-w-4xl px-3 py-2 text-xs`,header:`gap-y-2`,title:`gap-x-1.75 text-sm`,description:`text-xs`,closable:`right-1.75 top-1.75`,footer:`gap-2`},md:{content:`gap-y-3 max-w-5xl px-4 py-3 text-sm`,header:`gap-y-3`,title:`gap-x-2 text-base`,description:`text-sm`,closable:`right-2 top-2`,footer:`gap-3`},lg:{content:`gap-y-4 max-w-6xl px-5 py-4 text-base`,header:`gap-y-4`,title:`gap-x-2.5 text-lg`,description:`text-base`,closable:`right-2.5 top-2.5`,footer:`gap-4`},xl:{content:`gap-y-5 max-w-7xl px-6 py-5 text-lg`,header:`gap-y-5`,title:`gap-x-3 text-xl`,description:`text-lg`,closable:`right-3 top-3`,footer:`gap-5`},"2xl":{content:`gap-y-6 max-w-7xl px-7 py-6 text-xl`,header:`gap-y-6`,title:`gap-x-3.5 text-2xl`,description:`text-xl`,closable:`right-4 top-4`,footer:`gap-6`}},pure:{true:{content:`p-0 gap-0 border-none`}}},defaultVariants:{size:`md`}});export{t as dialogVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../button/button-icon.js";import{drawerVariants as i}from"./variants.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{DialogClose as T,DialogContent as E,DialogDescription as D,DialogFooter as O,DialogHeader as k,DialogOverlay as A,DialogPortal as j,DialogRoot as M,DialogTitle as N,DialogTrigger as P,provideDialogUi as F}from"@soybeanjs/headless";const I=d({name:`SDrawer`,__name:`drawer`,props:{side:{},ui:{},size:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:I}){let L=d,R=w(L,[`size`,`ui`,`side`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),z=I,B=x(),V=C(z),H=a(()=>{let t=n({size:L.size}),r=i({size:L.size,side:L.side});return e({...t,...r},L.ui)});return F(H),t(()=>L.size),(e,t)=>(g(),o(b(M),p(b(R),{"onUpdate:open":t[0]||=e=>z(`update:open`,e)}),{default:S(t=>[u(b(P),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(b(j),h(f(d.portalProps)),{default:S(()=>[u(b(A),h(f(d.overlayProps)),null,16),u(b(E),p(d.contentProps,y(b(V))),{default:S(()=>[u(b(k),h(f(d.headerProps)),{default:S(()=>[u(b(N),h(f(d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(v(d.title),1)])]),_:2},1040),b(B).description||d.description?(g(),o(b(D),h(p({key:0},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(v(d.description),1)])]),_:2},1040)):s(`v-if`,!0),d.closable?(g(),o(b(T),{key:1,class:m(H.value.closable),"as-child":``},{default:S(()=>[_(e.$slots,`close`,{},()=>[u(r,{size:d.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):s(`v-if`,!0)]),_:2},1040),c(`div`,{class:m(H.value.main)},[_(e.$slots,`default`,h(f(t)))],2),b(B).footer?(g(),o(b(O),h(p({key:0},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):s(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../button/button-icon.js";import{drawerVariants as i}from"./variants.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{DialogClose as T,DialogContent as E,DialogDescription as D,DialogFooter as O,DialogHeader as k,DialogOverlay as A,DialogPortal as j,DialogRoot as M,DialogTitle as N,DialogTrigger as P,provideDialogUi as F}from"@soybeanjs/headless";const I=d({name:`SDrawer`,__name:`drawer`,props:{side:{},ui:{},class:{},size:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:I}){let L=d,R=w(L,[`size`,`ui`,`side`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),z=I,B=x(),V=C(z),H=a(()=>{let t=n({size:L.size}),r=i({size:L.size,side:L.side});return e({...t,...r},L.ui)});return F(H),t(()=>L.size),(e,t)=>(g(),o(b(M),p(b(R),{"onUpdate:open":t[0]||=e=>z(`update:open`,e)}),{default:S(t=>[u(b(P),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(b(j),h(f(d.portalProps)),{default:S(()=>[u(b(A),h(f(d.overlayProps)),null,16),u(b(E),p(d.contentProps,y(b(V))),{default:S(()=>[u(b(k),h(f(d.headerProps)),{default:S(()=>[u(b(N),h(f(d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(v(d.title),1)])]),_:2},1040),b(B).description||d.description?(g(),o(b(D),h(p({key:0},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(v(d.description),1)])]),_:2},1040)):s(`v-if`,!0),d.closable?(g(),o(b(T),{key:1,class:m(H.value.closable),"as-child":``},{default:S(()=>[_(e.$slots,`close`,{},()=>[u(r,{size:d.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):s(`v-if`,!0)]),_:2},1040),c(`div`,{class:m(H.value.main)},[_(e.$slots,`default`,h(f(t)))],2),b(B).footer?(g(),o(b(O),h(p({key:0},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):s(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
@@ -46,10 +46,10 @@ declare const __VLS_base: vue.DefineComponent<DrawerProps, {}, {}, {}, {}, vue.C
46
46
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
47
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
48
  }>, {
49
- modal: boolean;
50
- closable: boolean;
51
49
  open: boolean;
52
50
  defaultOpen: boolean;
51
+ modal: boolean;
52
+ closable: 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;
@@ -8,8 +8,8 @@ import { DefinedValue } from "@soybeanjs/headless";
8
8
  declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>>(__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<{
9
9
  props: vue.PublicProps & __VLS_PrettifyLocal<DropdownMenuCheckboxProps<T, S> & {
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
11
  "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
12
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
13
13
  onEntryFocus?: ((event: Event) => any) | undefined;
14
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
15
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
29
29
  'item-trailing': (props: S) => any;
30
30
  'item-indicator-icon': (props: S) => any;
31
31
  };
32
- emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "entryFocus", event: Event) => 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);
32
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => 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);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -8,8 +8,8 @@ import { AcceptableBooleanValue } from "@soybeanjs/headless";
8
8
  declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>>(__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<{
9
9
  props: vue.PublicProps & __VLS_PrettifyLocal<DropdownMenuRadioProps<T, S> & {
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
11
  "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
12
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
13
13
  onEntryFocus?: ((event: Event) => any) | undefined;
14
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
15
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
29
29
  'item-trailing': (props: S) => any;
30
30
  'item-indicator-icon': (props: S) => any;
31
31
  };
32
- emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "entryFocus", event: Event) => 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);
32
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => 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);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -28,8 +28,8 @@ declare const __VLS_base: vue.DefineComponent<DropdownMenuWrapperProps, {}, {},
28
28
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
29
29
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
30
30
  }>, {
31
- modal: boolean;
32
31
  open: boolean;
32
+ modal: boolean;
33
33
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
@@ -6,8 +6,8 @@ declare const __VLS_export: <T extends PageTabsOptionData>(__VLS_props: NonNulla
6
6
  props: vue.PublicProps & __VLS_PrettifyLocal<PageTabsProps<T> & {
7
7
  onContextmenu?: ((tab: T) => any) | undefined;
8
8
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
- onClose?: ((tab: T) => any) | undefined;
10
9
  onClick?: ((tab: T) => any) | undefined;
10
+ onClose?: ((tab: T) => any) | undefined;
11
11
  onPin?: ((tab: T) => any) | undefined;
12
12
  "onUpdate:items"?: ((items: T[]) => any) | undefined;
13
13
  onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
@@ -7,8 +7,8 @@ import { DefinedValue } from "@soybeanjs/headless";
7
7
  declare const __VLS_export: <T extends DefinedValue, M extends boolean = false>(__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
8
  props: vue.PublicProps & __VLS_PrettifyLocal<SelectProps<T, M> & {
9
9
  onSelect?: ((event: _soybeanjs_headless0.SelectItemEvent<T>) => any) | undefined;
10
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
10
  "onUpdate:modelValue"?: ((value: M extends true ? T[] : T) => any) | undefined;
11
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
12
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
13
13
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
14
14
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
@@ -44,7 +44,7 @@ declare const __VLS_export: <T extends DefinedValue, M extends boolean = false>(
44
44
  item: SelectSingleOptionData<T>;
45
45
  }) => any;
46
46
  };
47
- emit: ((evt: "select", event: _soybeanjs_headless0.SelectItemEvent<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: M extends true ? T[] : T) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "closeAutoFocus", event: Event) => void);
47
+ emit: ((evt: "select", event: _soybeanjs_headless0.SelectItemEvent<T>) => void) & ((evt: "update:modelValue", value: M extends true ? T[] : T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "closeAutoFocus", event: Event) => void);
48
48
  }>) => vue.VNode & {
49
49
  __ctx?: Awaited<typeof __VLS_setup>;
50
50
  };
package/dist/styles.css CHANGED
@@ -290,17 +290,17 @@
290
290
  .max-h-80{max-height:20rem;}
291
291
  .max-h-90{max-height:22.5rem;}
292
292
  .max-h-screen{max-height:100vh;}
293
- .max-w-2xl{max-width:42rem;}
294
293
  .max-w-3xl{max-width:48rem;}
294
+ .max-w-4xl{max-width:56rem;}
295
295
  .max-w-50{max-width:12.5rem;}
296
296
  .max-w-55{max-width:13.75rem;}
297
+ .max-w-5xl{max-width:64rem;}
297
298
  .max-w-60{max-width:15rem;}
298
299
  .max-w-65{max-width:16.25rem;}
300
+ .max-w-6xl{max-width:72rem;}
299
301
  .max-w-70{max-width:17.5rem;}
300
302
  .max-w-75{max-width:18.75rem;}
301
- .max-w-lg{max-width:32rem;}
302
- .max-w-md{max-width:28rem;}
303
- .max-w-xl{max-width:36rem;}
303
+ .max-w-7xl{max-width:80rem;}
304
304
  .min-h-10{min-height:2.5rem;}
305
305
  .min-h-12{min-height:3rem;}
306
306
  .min-h-2{min-height:0.5rem;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/ui",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "description": "SoybeanUI is built on top of SoybeanHeadless, providing a collection of styled components for Vue 3.",
5
5
  "homepage": "https://github.com/soybeanjs/soybean-ui",
6
6
  "bugs": {
@@ -54,7 +54,7 @@
54
54
  "tailwind-variants": "^3.2.2",
55
55
  "valibot": "^1.2.0",
56
56
  "zod": "^4.3.6",
57
- "@soybeanjs/headless": "^0.11.1"
57
+ "@soybeanjs/headless": "^0.11.3"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@soybeanjs/cli": "^1.6.1",