@soybeanjs/ui 0.11.4 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +7 -7
  2. package/README.zh-CN.md +7 -7
  3. package/dist/components/alert-dialog/alert-dialog-cancel.js +1 -1
  4. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +6 -5
  5. package/dist/components/alert-dialog/alert-dialog-confirm.js +1 -0
  6. package/dist/components/alert-dialog/alert-dialog-confirm.vue.d.ts +22 -0
  7. package/dist/components/alert-dialog/alert-dialog.js +1 -1
  8. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +3 -4
  9. package/dist/components/{dialog → alert-dialog}/context.d.ts +1 -1
  10. package/dist/components/alert-dialog/context.js +1 -0
  11. package/dist/components/alert-dialog/dialog-provider.js +1 -0
  12. package/dist/components/alert-dialog/index.d.ts +3 -2
  13. package/dist/components/alert-dialog/index.js +1 -1
  14. package/dist/components/alert-dialog/types.d.ts +70 -9
  15. package/dist/components/button/context.js +1 -1
  16. package/dist/components/config-provider/config-provider.js +1 -1
  17. package/dist/components/config-provider/context.js +1 -1
  18. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +2 -2
  19. package/dist/components/context-menu/context-menu-radio.vue.d.ts +2 -2
  20. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +2 -2
  21. package/dist/components/context-menu/context-menu.vue.d.ts +2 -2
  22. package/dist/components/dialog/index.d.ts +1 -2
  23. package/dist/components/dialog/index.js +1 -1
  24. package/dist/components/dialog/types.d.ts +3 -28
  25. package/dist/components/dialog/variants.js +1 -1
  26. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +2 -2
  27. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +2 -2
  28. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +2 -2
  29. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +2 -2
  30. package/dist/components/form/context.js +1 -1
  31. package/dist/components/form/index.d.ts +1 -1
  32. package/dist/components/form/types.d.ts +2 -2
  33. package/dist/components/menu/context.js +1 -1
  34. package/dist/components/menu/index.d.ts +1 -1
  35. package/dist/components/menu/menu-option.vue.d.ts +2 -2
  36. package/dist/components/menu/menu-options.vue.d.ts +2 -2
  37. package/dist/components/menu/types.d.ts +2 -2
  38. package/dist/components/popconfirm/context.js +1 -0
  39. package/dist/components/popconfirm/index.d.ts +6 -0
  40. package/dist/components/popconfirm/index.js +1 -0
  41. package/dist/components/popconfirm/popconfirm-cancel.js +1 -0
  42. package/dist/components/popconfirm/popconfirm-cancel.vue.d.ts +25 -0
  43. package/dist/components/popconfirm/popconfirm-confirm.js +1 -0
  44. package/dist/components/popconfirm/popconfirm-confirm.vue.d.ts +22 -0
  45. package/dist/components/popconfirm/popconfirm.js +1 -0
  46. package/dist/components/popconfirm/popconfirm.vue.d.ts +62 -0
  47. package/dist/components/popconfirm/types.d.ts +92 -0
  48. package/dist/components/popconfirm/variants.js +1 -0
  49. package/dist/components/popover/popover.js +1 -1
  50. package/dist/components/popover/variants.js +1 -1
  51. package/dist/components/tooltip/tooltip.js +1 -1
  52. package/dist/components/tree-menu/context.js +1 -1
  53. package/dist/components/tree-menu/index.d.ts +1 -1
  54. package/dist/components/tree-menu/types.d.ts +3 -3
  55. package/dist/constants/components.d.ts +1 -0
  56. package/dist/constants/components.js +1 -1
  57. package/dist/index.d.ts +34 -29
  58. package/dist/index.js +1 -1
  59. package/dist/styles.css +1 -0
  60. package/package.json +6 -6
  61. package/dist/components/alert-dialog/alert-dialog-action.js +0 -1
  62. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +0 -22
  63. package/dist/components/dialog/context.js +0 -1
  64. package/dist/components/dialog/dialog-provider.js +0 -1
package/README.md CHANGED
@@ -123,7 +123,7 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
123
123
 
124
124
  ✅: Completed ✨: Implemented
125
125
 
126
- 48 / total: 108
126
+ 49 / total: 108
127
127
 
128
128
  | No | Priority | Name | Status | Alias | 📝 Note |
129
129
  | --- | -------- | --------------- | ------------ | ------------------------ | ------------------------ |
@@ -175,12 +175,12 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
175
175
  | 46 | 1 | Virtualizer | ✅ Completed | | |
176
176
  | 47 | 1 | VisuallyHidden | ✅ Completed | | |
177
177
  | 48 | 2 | PageTabs | ✅ Completed | | |
178
- | 49 | 2 | ColorPicker | | | |
179
- | 50 | 2 | Combobox | | | support virtualized |
180
- | 51 | 2 | DataTable | | | support virtualized |
181
- | 52 | 2 | Menubar | | | |
182
- | 53 | 2 | PinInput | | InputOPT, OPTInput | |
183
- | 54 | 2 | Popconfirm | | | |
178
+ | 49 | 2 | Popconfirm | ✅ Completed | | |
179
+ | 50 | 2 | ColorPicker | | | |
180
+ | 51 | 2 | Combobox | | | support virtualized |
181
+ | 52 | 2 | DataTable | | | support virtualized |
182
+ | 53 | 2 | Menubar | | | |
183
+ | 54 | 2 | PinInput | | InputOPT, OPTInput | |
184
184
  | 55 | 2 | Progress | | | include circle |
185
185
  | 56 | 2 | ScrollArea | | | |
186
186
  | 57 | 2 | Skeleton | | | |
package/README.zh-CN.md CHANGED
@@ -123,7 +123,7 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
123
123
 
124
124
  ✅: 已完成 ✨: 已实现
125
125
 
126
- 48 / 总计: 108
126
+ 49 / 总计: 108
127
127
 
128
128
  | No | Priority | Name | Status | Alias | 📝 Note |
129
129
  | --- | -------- | --------------- | ------------ | ------------------------ | ------------------------ |
@@ -175,12 +175,12 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
175
175
  | 46 | 1 | Virtualizer | ✅ Completed | | |
176
176
  | 47 | 1 | VisuallyHidden | ✅ Completed | | |
177
177
  | 48 | 2 | PageTabs | ✅ Completed | | |
178
- | 49 | 2 | ColorPicker | | | |
179
- | 50 | 2 | Combobox | | | support virtualized |
180
- | 51 | 2 | DataTable | | | support virtualized |
181
- | 52 | 2 | Menubar | | | |
182
- | 53 | 2 | PinInput | | InputOPT, OPTInput | |
183
- | 54 | 2 | Popconfirm | | | |
178
+ | 49 | 2 | Popconfirm | ✅ Completed | | |
179
+ | 50 | 2 | ColorPicker | | | |
180
+ | 51 | 2 | Combobox | | | support virtualized |
181
+ | 52 | 2 | DataTable | | | support virtualized |
182
+ | 53 | 2 | Menubar | | | |
183
+ | 54 | 2 | PinInput | | InputOPT, OPTInput | |
184
184
  | 55 | 2 | Progress | | | include circle |
185
185
  | 56 | 2 | ScrollArea | | | |
186
186
  | 57 | 2 | Skeleton | | | |
@@ -1 +1 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import"../../theme/index.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";const m=a({name:`SAlertDialogCancel`,__name:`alert-dialog-cancel`,props:{text:{default:`Cancel`},beforeClose:{},class:{},color:{},size:{},variant:{default:`plain`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogCancel`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
1
+ import{useAlertDialogContext as e}from"./context.js";import t from"../button/button.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,toDisplayString as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{AlertDialogClose as m}from"@soybeanjs/headless";const h=o({name:`SAlertDialogCancel`,__name:`alert-dialog-cancel`,props:{text:{},beforeClose:{},class:{},color:{},size:{},variant:{default:`pure`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`close`],setup(o,{emit:h}){let g=o,_=h,v=p(g,[`text`,`beforeClose`]),{size:y,cancelText:b,cancelProps:x,beforeCancel:S,onClose:C}=e(`AlertDialogCancel`),w=n(()=>({...x.value,...v.value})),T=n(()=>g.text??b.value??`Cancel`),E=n(()=>g.size??y.value),D=()=>{_(`close`),C()};return(e,n)=>(c(),r(d(m),{"as-child":``,"before-close":o.beforeClose??d(S),onClose:D},{default:f(()=>[a(t,s(w.value,{size:E.value}),{default:f(()=>[l(e.$slots,`default`,{},()=>[i(u(T.value),1)])]),_:3},16,[`size`])]),_:3},8,[`before-close`]))}});export{h as default};
@@ -3,15 +3,16 @@ import { AlertDialogCancelProps } from "./types.js";
3
3
  import * as vue from "vue";
4
4
 
5
5
  //#region src/components/alert-dialog/alert-dialog-cancel.vue.d.ts
6
- declare var __VLS_8: {}, __VLS_16: {};
6
+ declare var __VLS_16: {};
7
7
  type __VLS_Slots = {} & {
8
- content?: (props: typeof __VLS_8) => any;
9
- } & {
10
8
  default?: (props: typeof __VLS_16) => any;
11
9
  };
12
- declare const __VLS_base: vue.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{}>, {
10
+ declare const __VLS_base: vue.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
11
+ close: () => any;
12
+ }, string, vue.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{
13
+ onClose?: (() => any) | undefined;
14
+ }>, {
13
15
  variant: ButtonVariant;
14
- text: string;
15
16
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
16
17
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
18
  declare const _default: typeof __VLS_export;
@@ -0,0 +1 @@
1
+ import{useAlertDialogContext as e}from"./context.js";import t from"../button/button.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,toDisplayString as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{AlertDialogClose as m}from"@soybeanjs/headless";const h=o({name:`SAlertDialogConfirm`,__name:`alert-dialog-confirm`,props:{text:{},beforeClose:{type:Function},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`close`],setup(o,{emit:h}){let g=o,_=h,v=p(g,[`text`,`beforeClose`]),{size:y,confirmText:b,confirmProps:x,beforeConfirm:S,onClose:C}=e(`AlertDialogConfirm`),w=n(()=>({...x.value,...v.value})),T=n(()=>g.text??b.value??`Confirm`),E=n(()=>g.size??y.value),D=()=>{_(`close`),C()};return(e,n)=>(c(),r(d(m),{"as-child":``,"before-close":o.beforeClose??d(S),onClose:D},{default:f(()=>[a(t,s(w.value,{size:E.value}),{default:f(()=>[l(e.$slots,`default`,{},()=>[i(u(T.value),1)])]),_:3},16,[`size`])]),_:3},8,[`before-close`]))}});export{h as default};
@@ -0,0 +1,22 @@
1
+ import { AlertDialogConfirmProps } from "./types.js";
2
+ import * as vue from "vue";
3
+
4
+ //#region src/components/alert-dialog/alert-dialog-confirm.vue.d.ts
5
+ declare var __VLS_16: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_16) => any;
8
+ };
9
+ declare const __VLS_base: vue.DefineComponent<AlertDialogConfirmProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
10
+ close: () => any;
11
+ }, string, vue.PublicProps, Readonly<AlertDialogConfirmProps> & Readonly<{
12
+ onClose?: (() => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
21
+ //#endregion
22
+ export { _default };
@@ -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},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,{content:P.class})),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"../../theme/index.js";import{dialogVariants as t}from"../dialog/variants.js";import{provideAlertDialogContext as n}from"./context.js";import r from"./alert-dialog-confirm.js";import i from"./alert-dialog-cancel.js";import a from"../icon/icon.js";import{computed as o,createBlock as s,createCommentVNode 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,usePickProps as w}from"@soybeanjs/headless/composables";import{AlertDialogContent as T,AlertDialogDescription as E,AlertDialogFooter as D,AlertDialogHeader as O,AlertDialogOverlay as k,AlertDialogPortal as A,AlertDialogRoot as j,AlertDialogTitle as M,AlertDialogTrigger as N,provideAlertDialogUi as P}from"@soybeanjs/headless";import{transformPropsToContext as F}from"@soybeanjs/headless/shared";const I=d({name:`SAlertDialog`,__name:`alert-dialog`,props:{type:{},showIcon:{type:Boolean,default:!0},confirmText:{},cancelText:{},showCancel:{type:[String,Boolean],default:`onlyWarning`},beforeCancel:{},beforeConfirm:{},confirmProps:{},cancelProps:{},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`,`close`],setup(d,{emit:I}){let L=d,R=w(L,[`open`,`defaultOpen`]),z=I,B=x(),V=C(z),H=o(()=>e(t({size:L.size}),L.ui,{content: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(()=>typeof L.showCancel==`boolean`?L.showCancel:L.type===`warning`),K=()=>{z(`close`)};return P(H),n({...F(L),onClose:K}),(e,t)=>(g(),s(b(j),p(b(R),{"onUpdate:open":t[0]||=e=>z(`update:open`,e)}),{default:S(t=>[u(b(N),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(b(A),h(f(d.portalProps)),{default:S(()=>[u(b(k),h(f(d.overlayProps)),null,16),u(b(T),p(d.contentProps,y(b(V))),{default:S(()=>[u(b(O),h(f(d.headerProps)),{default:S(()=>[u(b(M),h(f(d.titleProps)),{default:S(()=>[d.showIcon&&W.value?(g(),s(a,{key:0,icon:W.value.icon,class:m(W.value.class)},null,8,[`icon`,`class`])):c(`v-if`,!0),_(e.$slots,`title`,{close:t.close},()=>[l(v(d.title),1)])]),_:2},1040),b(B).description||d.description?(g(),s(b(E),h(p({key:0},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,{close:t.close},()=>[l(v(d.description),1)])]),_:2},1040)):c(`v-if`,!0)]),_:2},1040),_(e.$slots,`default`,{close:t.close}),u(b(D),h(f(d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,{close:t.close},()=>[G.value?(g(),s(i,{key:0})):c(`v-if`,!0),u(r)])]),_:2},1040)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
@@ -3,16 +3,12 @@ import * as vue from "vue";
3
3
 
4
4
  //#region src/components/alert-dialog/alert-dialog.vue.d.ts
5
5
  declare var __VLS_16: {}, __VLS_52: {
6
- open: boolean | undefined;
7
6
  close: () => void;
8
7
  }, __VLS_60: {
9
- open: boolean | undefined;
10
8
  close: () => void;
11
9
  }, __VLS_62: {
12
- open: boolean | undefined;
13
10
  close: () => void;
14
11
  }, __VLS_70: {
15
- open: boolean | undefined;
16
12
  close: () => void;
17
13
  };
18
14
  type __VLS_Slots = {} & {
@@ -27,12 +23,15 @@ type __VLS_Slots = {} & {
27
23
  footer?: (props: typeof __VLS_70) => any;
28
24
  };
29
25
  declare const __VLS_base: vue.DefineComponent<AlertDialogProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
26
+ close: () => any;
30
27
  "update:open": (value: boolean) => any;
31
28
  }, string, vue.PublicProps, Readonly<AlertDialogProps> & Readonly<{
29
+ onClose?: (() => any) | undefined;
32
30
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
33
31
  }>, {
34
32
  open: boolean;
35
33
  defaultOpen: boolean;
34
+ showCancel: "onlyWarning" | boolean;
36
35
  showIcon: boolean;
37
36
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
38
37
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,5 +1,5 @@
1
1
  import { UseDialogReturn } from "./types.js";
2
- //#region src/components/dialog/context.d.ts
2
+ //#region src/components/alert-dialog/context.d.ts
3
3
  declare const useDialog: () => UseDialogReturn;
4
4
  //#endregion
5
5
  export { useDialog };
@@ -0,0 +1 @@
1
+ import{computed as e,shallowRef as t,watch as n}from"vue";import{useContext as r}from"@soybeanjs/headless/composables";import{useDebounceFn as i}from"@vueuse/core";const[a,o]=r(`AlertDialog`),[s,c]=r(`UiDialogProvider`,u),l=()=>typeof window<`u`&&window.__SoybeanUI_useDialog?window.__SoybeanUI_useDialog:c(`UiDialogConsumer`,u()).useDialog;function u(){let r=t([]),a=e(()=>r.value.map(e=>e.id)),o=t([]),s=()=>{o.value=r.value},c=i(s,500);n(r,(e,t)=>{e.length>t.length?s():c()});let l=e=>{r.value=[...r.value,e]},u=e=>{r.value=r.value.filter(t=>t.id!==e)},d=()=>{r.value=[]},f=0,p=e=>{let{showIcon:t=!0,onClose:n,...r}=e,i=f;return f++,{id:i,showIcon:t,onClose:e=>{e||(u(i),n?.())},...r}},m=e=>{l(p(e))},h=m;h.clear=d;for(let e of[`destructive`,`success`,`warning`,`info`])h[e]=t=>m({type:e,...t});return typeof window<`u`&&(window.__SoybeanUI_useDialog=h),{useDialog:h,clear:d,ids:a,states:e(()=>o.value),remove:u}}export{a as provideAlertDialogContext,s as provideDialogProviderContext,o as useAlertDialogContext,l as useDialog};
@@ -0,0 +1 @@
1
+ import{provideDialogProviderContext as e}from"./context.js";import t from"./alert-dialog.js";import{Fragment as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createSlots as o,createTextVNode as s,defineComponent as c,normalizeClass as l,onBeforeUnmount as u,openBlock as d,renderList as f,renderSlot as p,resolveDynamicComponent as m,toDisplayString as h,unref as g,withCtx as _}from"vue";const v=c({name:`SDialogProvider`,__name:`dialog-provider`,setup(c){let{states:v,ids:y,clear:b}=e();return u(()=>{b()}),(e,c)=>(d(),a(n,null,[(d(!0),a(n,null,f(g(v),e=>(d(),r(t,{key:e.id,class:l(e.class),size:e.size,ui:e.ui,open:g(y).includes(e.id),type:e.type,"show-icon":e.showIcon,"confirm-text":e.confirmText,"cancel-text":e.cancelText,"show-cancel":e.showCancel,"before-confirm":e.beforeConfirm,"before-cancel":e.beforeCancel,"confirm-props":e.confirmProps,"cancel-props":e.cancelProps,"onUpdate:open":e.onClose},o({default:_(()=>[e.content?(d(),r(m(e.content),{key:0})):i(`v-if`,!0)]),_:2},[e.title?{name:`title`,fn:_(()=>[typeof e.title==`string`?(d(),a(n,{key:0},[s(h(e.title),1)],64)):(d(),r(m(e.title),{key:1}))]),key:`0`}:void 0,e.description?{name:`description`,fn:_(()=>[typeof e.description==`string`?(d(),a(n,{key:0},[s(h(e.description),1)],64)):(d(),r(m(e.description),{key:1}))]),key:`1`}:void 0,e.footer?{name:`footer`,fn:_(()=>[(d(),r(m(e.footer)))]),key:`2`}:void 0]),1032,[`class`,`size`,`ui`,`open`,`type`,`show-icon`,`confirm-text`,`cancel-text`,`show-cancel`,`before-confirm`,`before-cancel`,`confirm-props`,`cancel-props`,`onUpdate:open`]))),128)),p(e.$slots,`default`)],64))}});export{v as default};
@@ -1,6 +1,7 @@
1
- import { AlertDialogActionProps, AlertDialogCancelProps, AlertDialogEmits, AlertDialogProps, AlertDialogType } from "./types.js";
1
+ import { AlertDialogCancelEmits, AlertDialogCancelProps, AlertDialogConfirmEmits, AlertDialogConfirmProps, AlertDialogContext, AlertDialogEmits, AlertDialogProps, AlertDialogType, UseDialogOptions, UseDialogReturn, UseDialogState } from "./types.js";
2
2
  import { _default } from "./alert-dialog.vue.js";
3
3
  import { _default as _default$1 } from "./alert-dialog-cancel.vue.js";
4
- import { _default as _default$2 } from "./alert-dialog-action.vue.js";
4
+ import { _default as _default$2 } from "./alert-dialog-confirm.vue.js";
5
+ import { useDialog } from "./context.js";
5
6
  import { AlertDialogCloseProps, AlertDialogContentEmits, AlertDialogContentProps, AlertDialogDescriptionProps, AlertDialogFooterProps, AlertDialogHeaderProps, AlertDialogOverlayProps, AlertDialogPortalProps, AlertDialogRootEmits, AlertDialogRootProps, AlertDialogTitleProps, AlertDialogTriggerProps } from "@soybeanjs/headless/alert-dialog";
6
7
  export { type AlertDialogCloseProps, type AlertDialogContentEmits, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogHeaderProps, type AlertDialogOverlayProps, type AlertDialogPortalProps, type AlertDialogRootEmits, type AlertDialogRootProps, type AlertDialogTitleProps, type AlertDialogTriggerProps };
@@ -1 +1 @@
1
- import"./alert-dialog.js";import"./alert-dialog-cancel.js";import"./alert-dialog-action.js";
1
+ import"./context.js";import"./alert-dialog-confirm.js";import"./alert-dialog-cancel.js";import"./alert-dialog.js";
@@ -1,15 +1,10 @@
1
1
  import { ThemeColor } from "../../theme/types.js";
2
2
  import { DialogProps } from "../dialog/types.js";
3
3
  import { ButtonProps as ButtonProps$1 } from "../button/types.js";
4
- import { AlertDialogRootEmits, MaybePromise } from "@soybeanjs/headless";
4
+ import { VNode } from "vue";
5
+ import { AlertDialogCloseEmits, AlertDialogRootEmits, DialogUi, MaybePromise, PropsToContext } from "@soybeanjs/headless";
5
6
 
6
7
  //#region src/components/alert-dialog/types.d.ts
7
- type AlertDialogType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
8
- interface AlertDialogProps extends Omit<DialogProps, 'modal' | 'closable'> {
9
- type?: AlertDialogType;
10
- showIcon?: boolean;
11
- }
12
- type AlertDialogEmits = AlertDialogRootEmits;
13
8
  interface AlertDialogCancelProps extends ButtonProps$1 {
14
9
  /**
15
10
  * The text of the cancel button.
@@ -23,7 +18,8 @@ interface AlertDialogCancelProps extends ButtonProps$1 {
23
18
  */
24
19
  beforeClose?: () => MaybePromise<boolean | void>;
25
20
  }
26
- interface AlertDialogActionProps extends ButtonProps$1 {
21
+ type AlertDialogCancelEmits = AlertDialogCloseEmits;
22
+ interface AlertDialogConfirmProps extends ButtonProps$1 {
27
23
  /**
28
24
  * The text of the action button.
29
25
  *
@@ -36,5 +32,70 @@ interface AlertDialogActionProps extends ButtonProps$1 {
36
32
  */
37
33
  beforeClose?: () => MaybePromise<boolean | void>;
38
34
  }
35
+ type AlertDialogConfirmEmits = AlertDialogCloseEmits;
36
+ type AlertDialogType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
37
+ interface AlertDialogProps extends Omit<DialogProps, 'modal' | 'closable'> {
38
+ /**
39
+ * The type of the alert dialog, which determines the default icon and styles.
40
+ */
41
+ type?: AlertDialogType;
42
+ /**
43
+ * Determines whether to show the default icon.
44
+ */
45
+ showIcon?: boolean;
46
+ /**
47
+ * The text of the confirm button.
48
+ *
49
+ * @defaultValue 'Confirm'
50
+ */
51
+ confirmText?: string;
52
+ /**
53
+ * The text of the cancel button.
54
+ *
55
+ * @defaultValue 'Cancel'
56
+ */
57
+ cancelText?: string;
58
+ /**
59
+ * Determines whether the cancel button is shown.
60
+ *
61
+ * @default 'onlyWarning'
62
+ */
63
+ showCancel?: 'onlyWarning' | boolean;
64
+ /**
65
+ * Called before the dialog is closed. Can be used to prevent the dialog from closing.
66
+ */
67
+ beforeCancel?: () => MaybePromise<boolean | void>;
68
+ /**
69
+ * Called before the dialog is closed. Can be used to prevent the dialog from closing.
70
+ */
71
+ beforeConfirm?: () => MaybePromise<boolean | void>;
72
+ confirmProps?: AlertDialogConfirmProps;
73
+ cancelProps?: AlertDialogCancelProps;
74
+ }
75
+ type AlertDialogEmits = AlertDialogRootEmits & {
76
+ /**
77
+ * Emitted when the dialog is requested to be closed, regardless of the reason.
78
+ */
79
+ close: [];
80
+ };
81
+ interface AlertDialogContext extends PropsToContext<AlertDialogProps, 'size' | 'confirmText' | 'cancelText' | 'beforeCancel' | 'beforeConfirm' | 'showCancel' | 'cancelProps' | 'confirmProps'> {
82
+ onClose: () => void;
83
+ }
84
+ interface UseDialogOptions extends Pick<AlertDialogProps, 'class' | 'size' | 'type' | 'showIcon' | 'confirmText' | 'cancelText' | 'showCancel' | 'beforeConfirm' | 'beforeCancel' | 'confirmProps' | 'cancelProps'> {
85
+ ui?: Partial<DialogUi>;
86
+ title?: string | VNode;
87
+ description?: string | VNode;
88
+ content?: VNode;
89
+ footer?: VNode;
90
+ onClose?: () => void;
91
+ }
92
+ interface UseDialogState extends Omit<UseDialogOptions, 'onClose'> {
93
+ id: number;
94
+ onClose: (open?: boolean) => void;
95
+ }
96
+ interface UseDialogReturn extends Record<AlertDialogType, (options: Omit<UseDialogOptions, 'type'>) => void> {
97
+ (options: UseDialogOptions): void;
98
+ clear: () => void;
99
+ }
39
100
  //#endregion
40
- export { AlertDialogActionProps, AlertDialogCancelProps, AlertDialogEmits, AlertDialogProps, AlertDialogType };
101
+ export { AlertDialogCancelEmits, AlertDialogCancelProps, AlertDialogConfirmEmits, AlertDialogConfirmProps, AlertDialogContext, AlertDialogEmits, AlertDialogProps, AlertDialogType, UseDialogOptions, UseDialogReturn, UseDialogState };
@@ -1 +1 @@
1
- import{useContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`ButtonGroup`,e=>e);export{t as provideButtonGroupContext,n as useButtonGroupContext};
1
+ import{useContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`ButtonGroup`);export{t as provideButtonGroupContext,n as useButtonGroupContext};
@@ -1 +1 @@
1
- import{themeSizes as e}from"../../constants/common.js";import t from"../dialog/dialog-provider.js";import{provideConfigProviderContext as n}from"./context.js";import r from"../toast/toast-provider.js";import{createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,watch as m,watchEffect as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{ConfigProvider as v,Primitive as y}from"@soybeanjs/headless";import{useStorage as b}from"@vueuse/core";import{isClient as x,transformPropsToContext as S}from"@soybeanjs/headless/shared";import{createShadcnTheme as C}from"@soybeanjs/shadcn-theme";const w=s({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({})},size:{default:`md`},iconify:{default:()=>({width:`1.25em`,height:`1.25em`})},toast:{},dir:{default:`ltr`},locale:{},nonce:{},tooltip:{},nuxt:{type:Boolean}},setup(s){let w=s,T=_(w,[`theme`,`size`,`iconify`,`toast`]);n(S(w));let{getCss:E}=C(w.theme),D=()=>E(w.theme,w.theme.radius),O=b(`__SoybeanUI_themeVars`,D());function k(t){if(!x)return;document.documentElement.classList.add(`size-${t}`);let n=e.filter(e=>e!==t).map(e=>`size-${e}`);document.documentElement.classList.remove(...n)}return m(()=>w.size,e=>{k(e)},{immediate:!0,flush:`sync`}),h(()=>{O.value=D()}),(e,n)=>(u(),i(p(v),l(c(p(T))),{default:g(()=>[o(p(y),{id:`__SoybeanUI_themeVars`,as:`style`},{default:g(()=>[a(f(p(O)),1)]),_:1}),o(t,null,{default:g(()=>[o(r,l(c(s.toast)),{default:g(()=>[d(e.$slots,`default`)]),_:3},16)]),_:3})]),_:3},16))}});export{w as default};
1
+ import{themeSizes as e}from"../../constants/common.js";import t from"../alert-dialog/dialog-provider.js";import{provideConfigProviderContext as n}from"./context.js";import r from"../toast/toast-provider.js";import{createBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,watch as m,watchEffect as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{ConfigProvider as v,Primitive as y}from"@soybeanjs/headless";import{useStorage as b}from"@vueuse/core";import{isClient as x,transformPropsToContext as S}from"@soybeanjs/headless/shared";import{createShadcnTheme as C}from"@soybeanjs/shadcn-theme";const w=s({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({})},size:{default:`md`},iconify:{default:()=>({width:`1.25em`,height:`1.25em`})},toast:{},dir:{default:`ltr`},locale:{},nonce:{},tooltip:{},nuxt:{type:Boolean}},setup(s){let w=s,T=_(w,[`theme`,`size`,`iconify`,`toast`]);n(S(w));let{getCss:E}=C(w.theme),D=()=>E(w.theme,w.theme.radius),O=b(`__SoybeanUI_themeVars`,D());function k(t){if(!x)return;document.documentElement.classList.add(`size-${t}`);let n=e.filter(e=>e!==t).map(e=>`size-${e}`);document.documentElement.classList.remove(...n)}return m(()=>w.size,e=>{k(e)},{immediate:!0,flush:`sync`}),h(()=>{O.value=D()}),(e,n)=>(u(),i(p(v),l(c(p(T))),{default:g(()=>[o(p(y),{id:`__SoybeanUI_themeVars`,as:`style`},{default:g(()=>[a(f(p(O)),1)]),_:1}),o(t,null,{default:g(()=>[o(r,l(c(s.toast)),{default:g(()=>[d(e.$slots,`default`)]),_:3},16)]),_:3})]),_:3},16))}});export{w as default};
@@ -1 +1 @@
1
- import{computed as e,toValue as t}from"vue";import{useContext as n}from"@soybeanjs/headless/composables";const[r,i]=n(`UiConfigProvider`,e=>e);function a(n){let r=i();return e(()=>t(n)||r?.size?.value||`md`)}export{r as provideConfigProviderContext,i as useConfigProvider,a as useThemeSize};
1
+ import{computed as e,toValue as t}from"vue";import{useContext as n}from"@soybeanjs/headless/composables";const[r,i]=n(`UiConfigProvider`);function a(n){let r=i();return e(()=>t(n)||r?.size?.value||`md`)}export{r as provideConfigProviderContext,i as useConfigProvider,a as useThemeSize};
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
13
- onEntryFocus?: ((event: Event) => any) | undefined;
14
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
14
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
16
15
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
17
16
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
18
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
@@ -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:open", value: boolean) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
13
- onEntryFocus?: ((event: Event) => any) | undefined;
14
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
14
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
16
15
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
17
16
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
18
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
@@ -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:open", value: boolean) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -11,22 +11,22 @@ type __VLS_Slots = {} & {
11
11
  };
12
12
  declare const __VLS_base: vue.DefineComponent<ContextMenuWrapperProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
13
13
  "update:open": (value: boolean) => any;
14
- entryFocus: (event: Event) => any;
15
14
  escapeKeyDown: (event: KeyboardEvent) => any;
16
15
  pointerDownOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent) => any;
17
16
  focusOutside: (event: _soybeanjs_headless0.FocusOutsideEvent) => any;
18
17
  interactOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any;
19
18
  openAutoFocus: (event: Event) => any;
20
19
  closeAutoFocus: (event: Event) => any;
20
+ entryFocus: (event: Event) => any;
21
21
  }, string, vue.PublicProps, Readonly<ContextMenuWrapperProps> & Readonly<{
22
22
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
23
- onEntryFocus?: ((event: Event) => any) | undefined;
24
23
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
25
24
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
26
25
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
27
26
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
28
27
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
29
28
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
29
+ onEntryFocus?: ((event: Event) => any) | undefined;
30
30
  }>, {
31
31
  modal: boolean;
32
32
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -9,13 +9,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
9
9
  props: vue.PublicProps & __VLS_PrettifyLocal<ContextMenuProps<T, S> & {
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
- onEntryFocus?: ((event: Event) => any) | undefined;
13
12
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
14
13
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
15
14
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
16
15
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
17
16
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
18
17
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
18
+ onEntryFocus?: ((event: Event) => any) | undefined;
19
19
  }> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
21
21
  } ? P : {});
@@ -29,7 +29,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
29
29
  'item-trigger': (props: MenuOptionData<T>) => any;
30
30
  'item-trigger-icon': (props: MenuOptionData<T>) => any;
31
31
  };
32
- emit: ((evt: "select", item: S, event: Event) => 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);
32
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -1,7 +1,6 @@
1
- import { DialogEmits, DialogExtendedUi, DialogExtendedUiSlot, DialogExtraUiSlot, DialogProps, DialogPureEmits, DialogPureProps, DialogState, UseDialogOptions, UseDialogReturn, UseDialogType } from "./types.js";
1
+ import { DialogEmits, DialogExtendedUi, DialogExtendedUiSlot, DialogExtraUiSlot, DialogProps, DialogPureEmits, DialogPureProps } from "./types.js";
2
2
  import { _default } from "./dialog.vue.js";
3
3
  import { _default as _default$1 } from "./dialog-close.vue.js";
4
4
  import { _default as _default$2 } from "./dialog-pure.vue.js";
5
- import { useDialog } from "./context.js";
6
5
  import { DialogCloseProps, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps } from "@soybeanjs/headless/dialog";
7
6
  export { type DialogCloseProps, type DialogContentEmits, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogHeaderProps, type DialogOverlayProps, type DialogRootEmits, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps };
@@ -1 +1 @@
1
- import"./context.js";import"./dialog.js";import"./dialog-close.js";import"./dialog-pure.js";
1
+ import"./dialog.js";import"./dialog-close.js";import"./dialog-pure.js";
@@ -1,6 +1,5 @@
1
- import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
- import { VNode } from "vue";
3
- import { ClassValue, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogUiSlot, MaybePromise, UiClass } from "@soybeanjs/headless";
1
+ import { ThemeSize } from "../../theme/types.js";
2
+ import { ClassValue, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogUiSlot, UiClass } from "@soybeanjs/headless";
4
3
 
5
4
  //#region src/components/dialog/types.d.ts
6
5
  type DialogExtraUiSlot = 'closable';
@@ -40,29 +39,5 @@ interface DialogPureProps extends DialogRootProps {
40
39
  portalProps?: DialogPortalProps;
41
40
  }
42
41
  type DialogPureEmits = DialogEmits;
43
- type UseDialogType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
44
- interface UseDialogOptions {
45
- size?: ThemeSize;
46
- ui?: Partial<DialogExtendedUi>;
47
- type: UseDialogType;
48
- title?: string | VNode;
49
- showIcon?: boolean;
50
- description?: string | VNode;
51
- content?: VNode;
52
- footer?: VNode;
53
- confirmText?: string;
54
- cancelText?: string;
55
- onConfirm?: () => MaybePromise<boolean | void>;
56
- onCancel?: () => MaybePromise<boolean | void>;
57
- onClose?: () => void;
58
- }
59
- interface DialogState extends Omit<UseDialogOptions, 'onClose'> {
60
- id: number;
61
- onClose: (open?: boolean) => void;
62
- }
63
- interface UseDialogReturn extends Record<UseDialogType, (options: Omit<UseDialogOptions, 'type'>) => void> {
64
- (options: UseDialogOptions): void;
65
- clear: () => void;
66
- }
67
42
  //#endregion
68
- export { DialogEmits, DialogExtendedUi, DialogExtendedUiSlot, DialogExtraUiSlot, DialogProps, DialogPureEmits, DialogPureProps, DialogState, UseDialogOptions, UseDialogReturn, UseDialogType };
43
+ export { DialogEmits, DialogExtendedUi, DialogExtendedUiSlot, DialogExtraUiSlot, DialogProps, DialogPureEmits, DialogPureProps };
@@ -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 border bg-background shadow-lg outline-none translate-x-[-50%] translate-y-[-50%] 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 min-w-xs 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 min-w-sm 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 min-w-md 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 min-w-lg 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 min-w-xl 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 min-w-2xl 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
+ 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-max border bg-background shadow-lg outline-none translate-x-[-50%] translate-y-[-50%] 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 min-w-xs 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 min-w-sm 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 min-w-md 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 min-w-lg 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 min-w-xl 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 min-w-2xl 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};
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
13
- onEntryFocus?: ((event: Event) => any) | undefined;
14
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
14
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
16
15
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
17
16
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
18
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
@@ -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:open", value: boolean) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -10,13 +10,13 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
13
- onEntryFocus?: ((event: Event) => any) | undefined;
14
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
15
14
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
16
15
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
17
16
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
18
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
19
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
@@ -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:open", value: boolean) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
33
33
  }>) => vue.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
@@ -11,22 +11,22 @@ type __VLS_Slots = {} & {
11
11
  };
12
12
  declare const __VLS_base: vue.DefineComponent<DropdownMenuWrapperProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
13
13
  "update:open": (value: boolean) => any;
14
- entryFocus: (event: Event) => any;
15
14
  escapeKeyDown: (event: KeyboardEvent) => any;
16
15
  pointerDownOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent) => any;
17
16
  focusOutside: (event: _soybeanjs_headless0.FocusOutsideEvent) => any;
18
17
  interactOutside: (event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any;
19
18
  openAutoFocus: (event: Event) => any;
20
19
  closeAutoFocus: (event: Event) => any;
20
+ entryFocus: (event: Event) => any;
21
21
  }, string, vue.PublicProps, Readonly<DropdownMenuWrapperProps> & Readonly<{
22
22
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
23
- onEntryFocus?: ((event: Event) => any) | undefined;
24
23
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
25
24
  onPointerDownOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
26
25
  onFocusOutside?: ((event: _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
27
26
  onInteractOutside?: ((event: _soybeanjs_headless0.PointerDownOutsideEvent | _soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
28
27
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
29
28
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
29
+ onEntryFocus?: ((event: Event) => any) | undefined;
30
30
  }>, {
31
31
  open: boolean;
32
32
  modal: boolean;