@soybeanjs/ui 0.0.2-beta.9 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +38 -10
  2. package/dist/components/accordion/accordion.vue.d.ts +3 -3
  3. package/dist/components/alert/alert.js +1 -1
  4. package/dist/components/alert/alert.vue.d.ts +4 -4
  5. package/dist/components/alert-dialog/alert-dialog-action.js +1 -1
  6. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
  7. package/dist/components/alert-dialog/alert-dialog-cancel.js +1 -1
  8. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +3 -3
  9. package/dist/components/alert-dialog/alert-dialog.js +1 -1
  10. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +5 -4
  11. package/dist/components/alert-dialog/types.d.ts +12 -1
  12. package/dist/components/avatar/avatar.vue.d.ts +7 -7
  13. package/dist/components/badge/badge.vue.d.ts +4 -4
  14. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
  15. package/dist/components/button/button-group.js +1 -1
  16. package/dist/components/button/button-group.vue.d.ts +6 -6
  17. package/dist/components/button/button-icon.js +1 -1
  18. package/dist/components/button/button-icon.vue.d.ts +3 -3
  19. package/dist/components/button/button-link.vue.d.ts +4 -4
  20. package/dist/components/button/button-loading.js +1 -1
  21. package/dist/components/button/button-loading.vue.d.ts +3 -3
  22. package/dist/components/button/button.js +1 -1
  23. package/dist/components/button/button.vue.d.ts +4 -4
  24. package/dist/components/card/card.js +1 -1
  25. package/dist/components/card/card.vue.d.ts +3 -3
  26. package/dist/components/card/types.d.ts +0 -6
  27. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
  28. package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
  29. package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
  30. package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
  31. package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
  32. package/dist/components/command/command.vue.d.ts +7 -7
  33. package/dist/components/config-provider/config-provider.js +1 -1
  34. package/dist/components/config-provider/config-provider.vue.d.ts +7 -7
  35. package/dist/components/config-provider/context.js +1 -1
  36. package/dist/components/config-provider/types.d.ts +2 -0
  37. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +10 -10
  38. package/dist/components/context-menu/context-menu-radio.vue.d.ts +10 -10
  39. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +13 -13
  40. package/dist/components/context-menu/context-menu.vue.d.ts +10 -10
  41. package/dist/components/dialog/context.d.ts +8 -0
  42. package/dist/components/dialog/context.js +1 -0
  43. package/dist/components/dialog/dialog-close.js +1 -1
  44. package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
  45. package/dist/components/dialog/dialog-provider.js +1 -0
  46. package/dist/components/dialog/dialog-pure.js +1 -1
  47. package/dist/components/dialog/dialog-pure.vue.d.ts +11 -11
  48. package/dist/components/dialog/dialog.js +1 -1
  49. package/dist/components/dialog/dialog.vue.d.ts +11 -11
  50. package/dist/components/dialog/index.d.ts +2 -1
  51. package/dist/components/dialog/types.d.ts +26 -3
  52. package/dist/components/drawer/drawer-close.js +1 -1
  53. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  54. package/dist/components/drawer/drawer.js +1 -1
  55. package/dist/components/drawer/drawer.vue.d.ts +12 -12
  56. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +10 -10
  57. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +10 -10
  58. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +13 -13
  59. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +10 -10
  60. package/dist/components/form/form-field-array.vue.d.ts +2 -2
  61. package/dist/components/form/form-field.vue.d.ts +2 -2
  62. package/dist/components/form/form.vue.d.ts +2 -2
  63. package/dist/components/icon/icon.vue.d.ts +3 -3
  64. package/dist/components/input/input.vue.d.ts +4 -4
  65. package/dist/components/kbd/kbd.vue.d.ts +3 -3
  66. package/dist/components/label/label.vue.d.ts +2 -2
  67. package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
  68. package/dist/components/layout/layout.vue.d.ts +4 -4
  69. package/dist/components/link/link.vue.d.ts +4 -4
  70. package/dist/components/list/list-item.vue.d.ts +2 -2
  71. package/dist/components/list/list.vue.d.ts +2 -2
  72. package/dist/components/menu/menu-checkbox-options.vue.d.ts +5 -5
  73. package/dist/components/menu/menu-option.vue.d.ts +10 -10
  74. package/dist/components/menu/menu-options.vue.d.ts +10 -10
  75. package/dist/components/menu/menu-radio-options.vue.d.ts +5 -5
  76. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +15 -15
  77. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  78. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  79. package/dist/components/password/password.vue.d.ts +4 -4
  80. package/dist/components/popover/popover.vue.d.ts +11 -11
  81. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  82. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  83. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  84. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  85. package/dist/components/segment/segment.vue.d.ts +3 -3
  86. package/dist/components/select/select.vue.d.ts +7 -7
  87. package/dist/components/separator/separator.vue.d.ts +5 -5
  88. package/dist/components/switch/switch.vue.d.ts +19 -19
  89. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  90. package/dist/components/tag/tag.vue.d.ts +4 -4
  91. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  92. package/dist/components/toast/context.d.ts +8 -0
  93. package/dist/components/toast/context.js +1 -0
  94. package/dist/components/toast/index.d.ts +5 -0
  95. package/dist/components/toast/index.js +1 -0
  96. package/dist/components/toast/shared.js +1 -0
  97. package/dist/components/toast/toast-provider.js +1 -0
  98. package/dist/components/toast/toast.js +1 -0
  99. package/dist/components/toast/toast.vue.d.ts +21 -0
  100. package/dist/components/toast/types.d.ts +60 -0
  101. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  102. package/dist/components/tree/tree-virtualizer.vue.d.ts +3 -3
  103. package/dist/components/tree/tree.vue.d.ts +3 -3
  104. package/dist/components/tree-menu/tree-menu-item-wrapper.vue.d.ts +2 -2
  105. package/dist/components/tree-menu/tree-menu-item.js +1 -1
  106. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
  107. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  108. package/dist/constants/components.d.ts +50 -0
  109. package/dist/constants/components.js +1 -0
  110. package/dist/index.d.ts +13 -8
  111. package/dist/index.js +1 -1
  112. package/dist/nuxt/index.d.ts +10 -0
  113. package/dist/nuxt/index.js +1 -0
  114. package/dist/resolver/index.d.ts +6 -0
  115. package/dist/resolver/index.js +1 -0
  116. package/dist/styles.css +6 -14
  117. package/dist/theme/index.d.ts +1 -0
  118. package/dist/theme/shared.d.ts +1 -0
  119. package/dist/theme/shared.js +1 -1
  120. package/dist/variants/alert.d.ts +3 -3
  121. package/dist/variants/badge.d.ts +3 -3
  122. package/dist/variants/button.d.ts +3 -3
  123. package/dist/variants/checkbox.d.ts +3 -3
  124. package/dist/variants/kbd.d.ts +3 -3
  125. package/dist/variants/pagination.d.ts +3 -3
  126. package/dist/variants/radio-group.d.ts +3 -3
  127. package/dist/variants/separator.d.ts +3 -3
  128. package/dist/variants/switch.d.ts +3 -3
  129. package/dist/variants/tabs.d.ts +3 -3
  130. package/dist/variants/tag.d.ts +3 -3
  131. package/dist/variants/textarea.d.ts +3 -3
  132. package/dist/variants/toast.d.ts +61 -0
  133. package/dist/variants/toast.js +1 -0
  134. package/package.json +26 -15
@@ -1,17 +1,17 @@
1
1
  import { CheckboxGroupOptionData, CheckboxGroupProps } from "./types.js";
2
- import * as vue178 from "vue";
2
+ import * as vue74 from "vue";
3
3
  import { DefinedValue } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/checkbox/checkbox-group.vue.d.ts
6
6
  declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends CheckboxGroupOptionData<T> = CheckboxGroupOptionData<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
7
  props: __VLS_PrettifyLocal<CheckboxGroupProps<T, S> & {
8
8
  "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
9
- }> & vue178.PublicProps;
9
+ }> & vue74.PublicProps;
10
10
  expose: (exposed: {}) => void;
11
11
  attrs: any;
12
12
  slots: {};
13
13
  emit: (evt: "update:modelValue", value: T[]) => void;
14
- }>) => vue178.VNode & {
14
+ }>) => vue74.VNode & {
15
15
  __ctx?: Awaited<typeof __VLS_setup>;
16
16
  };
17
17
  declare const _default: typeof __VLS_export;
@@ -1,28 +1,28 @@
1
1
  import { CheckboxProps } from "./types.js";
2
- import * as vue180 from "vue";
3
- import * as _soybeanjs_headless57 from "@soybeanjs/headless";
2
+ import * as vue76 from "vue";
3
+ import * as _soybeanjs_headless6 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/checkbox/checkbox.vue.d.ts
6
6
  declare var __VLS_25: {
7
- modelValue: _soybeanjs_headless57.CheckedState | null | undefined;
8
- state: _soybeanjs_headless57.CheckedState;
7
+ modelValue: _soybeanjs_headless6.CheckedState | null | undefined;
8
+ state: _soybeanjs_headless6.CheckedState;
9
9
  }, __VLS_36: {
10
10
  id: string;
11
- modelValue: _soybeanjs_headless57.CheckedState | null | undefined;
12
- state: _soybeanjs_headless57.CheckedState;
11
+ modelValue: _soybeanjs_headless6.CheckedState | null | undefined;
12
+ state: _soybeanjs_headless6.CheckedState;
13
13
  };
14
14
  type __VLS_Slots = {} & {
15
15
  indicator?: (props: typeof __VLS_25) => any;
16
16
  } & {
17
17
  default?: (props: typeof __VLS_36) => any;
18
18
  };
19
- declare const __VLS_base: vue180.DefineComponent<CheckboxProps, {}, {}, {}, {}, vue180.ComponentOptionsMixin, vue180.ComponentOptionsMixin, {
20
- "update:modelValue": (value: _soybeanjs_headless57.CheckedState | null) => any;
21
- }, string, vue180.PublicProps, Readonly<CheckboxProps> & Readonly<{
22
- "onUpdate:modelValue"?: ((value: _soybeanjs_headless57.CheckedState | null) => any) | undefined;
19
+ declare const __VLS_base: vue76.DefineComponent<CheckboxProps, {}, {}, {}, {}, vue76.ComponentOptionsMixin, vue76.ComponentOptionsMixin, {
20
+ "update:modelValue": (value: _soybeanjs_headless6.CheckedState | null) => any;
21
+ }, string, vue76.PublicProps, Readonly<CheckboxProps> & Readonly<{
22
+ "onUpdate:modelValue"?: ((value: _soybeanjs_headless6.CheckedState | null) => any) | undefined;
23
23
  }>, {
24
- modelValue: _soybeanjs_headless57.CheckedState | null;
25
- }, {}, {}, {}, string, vue180.ComponentProvideOptions, false, {}, any>;
24
+ modelValue: _soybeanjs_headless6.CheckedState | null;
25
+ }, {}, {}, {}, string, vue76.ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
28
28
  type __VLS_WithSlots<T, S> = T & {
@@ -1,5 +1,5 @@
1
1
  import { CollapsibleProps } from "./types.js";
2
- import * as vue238 from "vue";
2
+ import * as vue90 from "vue";
3
3
 
4
4
  //#region src/components/collapsible/collapsible.vue.d.ts
5
5
  declare var __VLS_10: {
@@ -8,15 +8,15 @@ declare var __VLS_10: {
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_10) => any;
10
10
  };
11
- declare const __VLS_base: vue238.DefineComponent<CollapsibleProps, {}, {}, {}, {}, vue238.ComponentOptionsMixin, vue238.ComponentOptionsMixin, {
11
+ declare const __VLS_base: vue90.DefineComponent<CollapsibleProps, {}, {}, {}, {}, vue90.ComponentOptionsMixin, vue90.ComponentOptionsMixin, {
12
12
  "update:open": (value: boolean) => any;
13
- }, string, vue238.PublicProps, Readonly<CollapsibleProps> & Readonly<{
13
+ }, string, vue90.PublicProps, Readonly<CollapsibleProps> & Readonly<{
14
14
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
15
15
  }>, {
16
16
  open: boolean;
17
17
  defaultOpen: boolean;
18
18
  unmountOnHide: boolean;
19
- }, {}, {}, {}, string, vue238.ComponentProvideOptions, false, {}, any>;
19
+ }, {}, {}, {}, string, vue90.ComponentProvideOptions, false, {}, any>;
20
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
21
  declare const _default: typeof __VLS_export;
22
22
  type __VLS_WithSlots<T, S> = T & {
@@ -1,18 +1,18 @@
1
1
  import { CommandOptionData, CommandProps, CommandSingleOptionData } from "./types.js";
2
- import * as vue143 from "vue";
2
+ import * as vue88 from "vue";
3
3
  import * as _soybeanjs_headless_composables0 from "@soybeanjs/headless/composables";
4
- import * as _soybeanjs_headless37 from "@soybeanjs/headless";
4
+ import * as _soybeanjs_headless16 from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/command/command.vue.d.ts
7
7
  declare const __VLS_export: <T extends CommandOptionData = CommandOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
8
8
  props: __VLS_PrettifyLocal<CommandProps<T> & {
9
+ onSelect?: ((event: _soybeanjs_headless16.SelectEvent<string>) => any) | undefined;
9
10
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
10
- onSelect?: ((event: _soybeanjs_headless37.SelectEvent<string>) => any) | undefined;
11
- onHighlight?: ((payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless37.ListboxCollectionItemData> | undefined) => any) | undefined;
12
11
  onEntryFocus?: ((event: CustomEvent<any>) => any) | undefined;
12
+ onHighlight?: ((payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless16.ListboxCollectionItemData> | undefined) => any) | undefined;
13
13
  onLeave?: ((event: Event) => any) | undefined;
14
14
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
15
- }> & vue143.PublicProps;
15
+ }> & vue88.PublicProps;
16
16
  expose: (exposed: {}) => void;
17
17
  attrs: any;
18
18
  slots: {
@@ -34,8 +34,8 @@ declare const __VLS_export: <T extends CommandOptionData = CommandOptionData>(__
34
34
  item: CommandSingleOptionData;
35
35
  }) => any;
36
36
  };
37
- emit: ((evt: "update:modelValue", value: string) => void) & ((evt: "select", event: _soybeanjs_headless37.SelectEvent<string>) => void) & ((evt: "highlight", payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless37.ListboxCollectionItemData> | undefined) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void) & ((evt: "update:searchTerm", value: string) => void);
38
- }>) => vue143.VNode & {
37
+ emit: ((evt: "select", event: _soybeanjs_headless16.SelectEvent<string>) => void) & ((evt: "update:modelValue", value: string) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "highlight", payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless16.ListboxCollectionItemData> | undefined) => void) & ((evt: "leave", event: Event) => void) & ((evt: "update:searchTerm", value: string) => void);
38
+ }>) => vue88.VNode & {
39
39
  __ctx?: Awaited<typeof __VLS_setup>;
40
40
  };
41
41
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{provideConfigProviderContext as e}from"./context.js";import{getThemeName as t,isIncludeByDefaultTheme as n}from"./shared.js";import{computed as r,createBlock as i,defineComponent as a,guardReactiveProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,watch as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{ConfigProvider as m}from"@soybeanjs/headless";import{useStyleTag as h}from"@vueuse/core";import{isClient as g,transformPropsToContext as _}from"@soybeanjs/headless/shared";import{generateCSSVars as v}from"@soybeanjs/unocss-shadcn";var y=a({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({color:`default`})},size:{default:`md`},iconify:{},dir:{default:`ltr`},locale:{},scrollBody:{type:[Boolean,Object]},nonce:{},tooltip:{},nuxt:{type:Boolean}},setup(a){let y=a,b=p(y,[`theme`,`size`,`iconify`]),x=r(()=>n(y.theme)?``:v(y.theme,t(y.theme.color)===`default`));e(_(y)),h(x,{id:`__SOYBEAN_UI_THEME_VARS__`});function S(e,t){g&&e!==t&&(e!==`default`&&document.documentElement.classList.add(`theme-${e}`),document.documentElement.classList.remove(`theme-${t}`))}function C(e){if(!g)return;let t=[`xs`,`sm`,`md`,`lg`,`xl`,`2xl`];document.documentElement.classList.add(`size-${e}`);let n=t.filter(t=>t!==e).map(e=>`size-${e}`);document.documentElement.classList.remove(...n)}return d(()=>y.theme.color,(e,n)=>{S(t(e),t(n))},{immediate:!0,flush:`post`}),d(()=>y.size,e=>{C(e)},{immediate:!0,flush:`post`}),(e,t)=>(c(),i(u(m),s(o(u(b))),{default:f(()=>[l(e.$slots,`default`)]),_:3},16))}});export{y as default};
1
+ import e from"../dialog/dialog-provider.js";import t from"../toast/toast-provider.js";import{provideConfigProviderContext as n}from"./context.js";import{getThemeName as r,isIncludeByDefaultTheme as i}from"./shared.js";import{computed as a,createBlock as o,createVNode as s,defineComponent as c,guardReactiveProps as l,normalizeProps as u,openBlock as d,renderSlot as f,unref as p,watch as m,withCtx as h}from"vue";import{useOmitProps as g}from"@soybeanjs/headless/composables";import{ConfigProvider as _}from"@soybeanjs/headless";import{useStyleTag as v}from"@vueuse/core";import{isClient as y,transformPropsToContext as b}from"@soybeanjs/headless/shared";import{generateCSSVars as x}from"@soybeanjs/unocss-shadcn";var S=c({name:`SConfigProvider`,__name:`config-provider`,props:{theme:{default:()=>({color:`default`})},size:{default:`md`},iconify:{},toast:{},dir:{default:`ltr`},locale:{},scrollBody:{type:[Boolean,Object]},nonce:{},tooltip:{},nuxt:{type:Boolean}},setup(c){let S=c,C=g(S,[`theme`,`size`,`iconify`,`toast`]),w=a(()=>i(S.theme)?``:x(S.theme,r(S.theme.color)===`default`));n(b(S)),v(w,{id:`__SOYBEAN_UI_THEME_VARS__`});function T(e,t){y&&e!==t&&(e!==`default`&&document.documentElement.classList.add(`theme-${e}`),document.documentElement.classList.remove(`theme-${t}`))}function E(e){if(!y)return;let t=[`xs`,`sm`,`md`,`lg`,`xl`,`2xl`];document.documentElement.classList.add(`size-${e}`);let n=t.filter(t=>t!==e).map(e=>`size-${e}`);document.documentElement.classList.remove(...n)}return m(()=>S.theme.color,(e,t)=>{T(r(e),r(t))},{immediate:!0,flush:`post`}),m(()=>S.size,e=>{E(e)},{immediate:!0,flush:`post`}),(n,r)=>(d(),o(p(_),u(l(p(C))),{default:h(()=>[s(e,null,{default:h(()=>[s(t,u(l(c.toast)),{default:h(()=>[f(n.$slots,`default`)]),_:3},16)]),_:3})]),_:3},16))}});export{S as default};
@@ -1,20 +1,20 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { ConfigProviderProps as ConfigProviderProps$1 } from "./types.js";
4
- import * as vue233 from "vue";
5
- import * as _soybeanjs_headless75 from "@soybeanjs/headless";
4
+ import * as vue19 from "vue";
5
+ import * as _soybeanjs_headless1 from "@soybeanjs/headless";
6
6
  import * as _soybeanjs_unocss_shadcn0 from "@soybeanjs/unocss-shadcn";
7
7
 
8
8
  //#region src/components/config-provider/config-provider.vue.d.ts
9
- declare var __VLS_7: {};
9
+ declare var __VLS_15: {};
10
10
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_7) => any;
11
+ default?: (props: typeof __VLS_15) => any;
12
12
  };
13
- declare const __VLS_base: vue233.DefineComponent<ConfigProviderProps$1, {}, {}, {}, {}, vue233.ComponentOptionsMixin, vue233.ComponentOptionsMixin, {}, string, vue233.PublicProps, Readonly<ConfigProviderProps$1> & Readonly<{}>, {
14
- dir: _soybeanjs_headless75.Direction;
13
+ declare const __VLS_base: vue19.DefineComponent<ConfigProviderProps$1, {}, {}, {}, {}, vue19.ComponentOptionsMixin, vue19.ComponentOptionsMixin, {}, string, vue19.PublicProps, Readonly<ConfigProviderProps$1> & Readonly<{}>, {
14
+ dir: _soybeanjs_headless1.Direction;
15
15
  size: ThemeSize;
16
16
  theme: _soybeanjs_unocss_shadcn0.ThemeOptions;
17
- }, {}, {}, {}, string, vue233.ComponentProvideOptions, false, {}, any>;
17
+ }, {}, {}, {}, string, vue19.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
20
20
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{useContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`UIConfigProvider`,e=>e);export{t as provideConfigProviderContext,n as useConfigProvider};
1
+ import{useContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`UiConfigProvider`,e=>e);export{t as provideConfigProviderContext,n as useConfigProvider};
@@ -1,5 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
+ import { ToastProviderProps as ToastProviderProps$1 } from "../toast/types.js";
3
4
  import { ConfigProviderProps, PropsToContext } from "@soybeanjs/headless";
4
5
  import { ThemeOptions } from "@soybeanjs/unocss-shadcn";
5
6
 
@@ -24,6 +25,7 @@ interface ConfigProviderProps$1 extends ConfigProviderProps {
24
25
  */
25
26
  height?: string;
26
27
  };
28
+ toast?: ToastProviderProps$1;
27
29
  }
28
30
  //#endregion
29
31
  export { ConfigProviderProps$1 as ConfigProviderProps };
@@ -1,23 +1,23 @@
1
1
  import { MenuCheckboxOptionData } from "../menu/types.js";
2
2
  import { ContextMenuCheckboxProps } from "./types.js";
3
- import * as vue285 from "vue";
4
- import * as _soybeanjs_headless148 from "@soybeanjs/headless";
3
+ import * as vue151 from "vue";
4
+ import * as _soybeanjs_headless76 from "@soybeanjs/headless";
5
5
  import { DefinedValue } from "@soybeanjs/headless";
6
6
 
7
7
  //#region src/components/context-menu/context-menu-checkbox.vue.d.ts
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_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
9
9
  props: __VLS_PrettifyLocal<ContextMenuCheckboxProps<T, S> & {
10
+ onSelect?: ((item: S, event: Event) => any) | undefined;
10
11
  "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
12
+ onEntryFocus?: ((event: Event) => any) | undefined;
11
13
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
13
- onPointerDownOutside?: ((event: _soybeanjs_headless148.PointerDownOutsideEvent) => any) | undefined;
14
- onFocusOutside?: ((event: _soybeanjs_headless148.FocusOutsideEvent) => any) | undefined;
15
- onInteractOutside?: ((event: _soybeanjs_headless148.PointerDownOutsideEvent | _soybeanjs_headless148.FocusOutsideEvent) => any) | undefined;
15
+ onPointerDownOutside?: ((event: _soybeanjs_headless76.PointerDownOutsideEvent) => any) | undefined;
16
+ onFocusOutside?: ((event: _soybeanjs_headless76.FocusOutsideEvent) => any) | undefined;
17
+ onInteractOutside?: ((event: _soybeanjs_headless76.PointerDownOutsideEvent | _soybeanjs_headless76.FocusOutsideEvent) => any) | undefined;
16
18
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
17
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
18
- onSelect?: ((item: S, event: Event) => any) | undefined;
19
- onEntryFocus?: ((event: Event) => any) | undefined;
20
- }> & vue285.PublicProps;
20
+ }> & vue151.PublicProps;
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: {
@@ -27,8 +27,8 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
27
27
  'item-trailing': (props: S) => any;
28
28
  'item-indicator-icon': (props: S) => any;
29
29
  };
30
- emit: ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless148.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless148.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless148.PointerDownOutsideEvent | _soybeanjs_headless148.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "select", item: S, event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
31
- }>) => vue285.VNode & {
30
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless76.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless76.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless76.PointerDownOutsideEvent | _soybeanjs_headless76.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
31
+ }>) => vue151.VNode & {
32
32
  __ctx?: Awaited<typeof __VLS_setup>;
33
33
  };
34
34
  declare const _default: typeof __VLS_export;
@@ -1,23 +1,23 @@
1
1
  import { MenuRadioOptionData } from "../menu/types.js";
2
2
  import { ContextMenuRadioProps } from "./types.js";
3
- import * as vue281 from "vue";
4
- import * as _soybeanjs_headless132 from "@soybeanjs/headless";
3
+ import * as vue153 from "vue";
4
+ import * as _soybeanjs_headless84 from "@soybeanjs/headless";
5
5
  import { AcceptableBooleanValue } from "@soybeanjs/headless";
6
6
 
7
7
  //#region src/components/context-menu/context-menu-radio.vue.d.ts
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_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
9
9
  props: __VLS_PrettifyLocal<ContextMenuRadioProps<T, S> & {
10
+ onSelect?: ((item: S, event: Event) => any) | undefined;
10
11
  "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
12
+ onEntryFocus?: ((event: Event) => any) | undefined;
11
13
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
14
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
13
- onPointerDownOutside?: ((event: _soybeanjs_headless132.PointerDownOutsideEvent) => any) | undefined;
14
- onFocusOutside?: ((event: _soybeanjs_headless132.FocusOutsideEvent) => any) | undefined;
15
- onInteractOutside?: ((event: _soybeanjs_headless132.PointerDownOutsideEvent | _soybeanjs_headless132.FocusOutsideEvent) => any) | undefined;
15
+ onPointerDownOutside?: ((event: _soybeanjs_headless84.PointerDownOutsideEvent) => any) | undefined;
16
+ onFocusOutside?: ((event: _soybeanjs_headless84.FocusOutsideEvent) => any) | undefined;
17
+ onInteractOutside?: ((event: _soybeanjs_headless84.PointerDownOutsideEvent | _soybeanjs_headless84.FocusOutsideEvent) => any) | undefined;
16
18
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
17
19
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
18
- onSelect?: ((item: S, event: Event) => any) | undefined;
19
- onEntryFocus?: ((event: Event) => any) | undefined;
20
- }> & vue281.PublicProps;
20
+ }> & vue153.PublicProps;
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: {
@@ -27,8 +27,8 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
27
27
  'item-trailing': (props: S) => any;
28
28
  'item-indicator-icon': (props: S) => any;
29
29
  };
30
- emit: ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless132.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless132.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless132.PointerDownOutsideEvent | _soybeanjs_headless132.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "select", item: S, event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
31
- }>) => vue281.VNode & {
30
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless84.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless84.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless84.PointerDownOutsideEvent | _soybeanjs_headless84.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
31
+ }>) => vue153.VNode & {
32
32
  __ctx?: Awaited<typeof __VLS_setup>;
33
33
  };
34
34
  declare const _default: typeof __VLS_export;
@@ -1,6 +1,6 @@
1
1
  import { ContextMenuWrapperProps } from "./types.js";
2
- import * as vue276 from "vue";
3
- import * as _soybeanjs_headless124 from "@soybeanjs/headless";
2
+ import * as vue155 from "vue";
3
+ import * as _soybeanjs_headless92 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/context-menu/context-menu-wrapper.vue.d.ts
6
6
  declare var __VLS_20: {}, __VLS_32: {};
@@ -9,27 +9,27 @@ type __VLS_Slots = {} & {
9
9
  } & {
10
10
  default?: (props: typeof __VLS_32) => any;
11
11
  };
12
- declare const __VLS_base: vue276.DefineComponent<ContextMenuWrapperProps, {}, {}, {}, {}, vue276.ComponentOptionsMixin, vue276.ComponentOptionsMixin, {
12
+ declare const __VLS_base: vue155.DefineComponent<ContextMenuWrapperProps, {}, {}, {}, {}, vue155.ComponentOptionsMixin, vue155.ComponentOptionsMixin, {
13
+ entryFocus: (event: Event) => any;
13
14
  "update:open": (value: boolean) => any;
14
15
  escapeKeyDown: (event: KeyboardEvent) => any;
15
- pointerDownOutside: (event: _soybeanjs_headless124.PointerDownOutsideEvent) => any;
16
- focusOutside: (event: _soybeanjs_headless124.FocusOutsideEvent) => any;
17
- interactOutside: (event: _soybeanjs_headless124.PointerDownOutsideEvent | _soybeanjs_headless124.FocusOutsideEvent) => any;
16
+ pointerDownOutside: (event: _soybeanjs_headless92.PointerDownOutsideEvent) => any;
17
+ focusOutside: (event: _soybeanjs_headless92.FocusOutsideEvent) => any;
18
+ interactOutside: (event: _soybeanjs_headless92.PointerDownOutsideEvent | _soybeanjs_headless92.FocusOutsideEvent) => any;
18
19
  openAutoFocus: (event: Event) => any;
19
20
  closeAutoFocus: (event: Event) => any;
20
- entryFocus: (event: Event) => any;
21
- }, string, vue276.PublicProps, Readonly<ContextMenuWrapperProps> & Readonly<{
21
+ }, string, vue155.PublicProps, Readonly<ContextMenuWrapperProps> & Readonly<{
22
+ onEntryFocus?: ((event: Event) => any) | undefined;
22
23
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
23
24
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
24
- onPointerDownOutside?: ((event: _soybeanjs_headless124.PointerDownOutsideEvent) => any) | undefined;
25
- onFocusOutside?: ((event: _soybeanjs_headless124.FocusOutsideEvent) => any) | undefined;
26
- onInteractOutside?: ((event: _soybeanjs_headless124.PointerDownOutsideEvent | _soybeanjs_headless124.FocusOutsideEvent) => any) | undefined;
25
+ onPointerDownOutside?: ((event: _soybeanjs_headless92.PointerDownOutsideEvent) => any) | undefined;
26
+ onFocusOutside?: ((event: _soybeanjs_headless92.FocusOutsideEvent) => any) | undefined;
27
+ onInteractOutside?: ((event: _soybeanjs_headless92.PointerDownOutsideEvent | _soybeanjs_headless92.FocusOutsideEvent) => any) | undefined;
27
28
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
28
29
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
29
- onEntryFocus?: ((event: Event) => any) | undefined;
30
30
  }>, {
31
31
  modal: boolean;
32
- }, {}, {}, {}, string, vue276.ComponentProvideOptions, false, {}, any>;
32
+ }, {}, {}, {}, string, vue155.ComponentProvideOptions, false, {}, any>;
33
33
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
34
34
  declare const _default: typeof __VLS_export;
35
35
  type __VLS_WithSlots<T, S> = T & {
@@ -1,22 +1,22 @@
1
1
  import { MenuOptionData } from "../menu/types.js";
2
2
  import { ContextMenuProps } from "./types.js";
3
- import * as vue283 from "vue";
4
- import * as _soybeanjs_headless140 from "@soybeanjs/headless";
3
+ import * as vue149 from "vue";
4
+ import * as _soybeanjs_headless68 from "@soybeanjs/headless";
5
5
  import { DefinedValue } from "@soybeanjs/headless";
6
6
 
7
7
  //#region src/components/context-menu/context-menu.vue.d.ts
8
8
  declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends MenuOptionData<T> = MenuOptionData<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
9
9
  props: __VLS_PrettifyLocal<ContextMenuProps<T, S> & {
10
+ onSelect?: ((item: S, event: Event) => any) | undefined;
11
+ onEntryFocus?: ((event: Event) => any) | undefined;
10
12
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
12
- onPointerDownOutside?: ((event: _soybeanjs_headless140.PointerDownOutsideEvent) => any) | undefined;
13
- onFocusOutside?: ((event: _soybeanjs_headless140.FocusOutsideEvent) => any) | undefined;
14
- onInteractOutside?: ((event: _soybeanjs_headless140.PointerDownOutsideEvent | _soybeanjs_headless140.FocusOutsideEvent) => any) | undefined;
14
+ onPointerDownOutside?: ((event: _soybeanjs_headless68.PointerDownOutsideEvent) => any) | undefined;
15
+ onFocusOutside?: ((event: _soybeanjs_headless68.FocusOutsideEvent) => any) | undefined;
16
+ onInteractOutside?: ((event: _soybeanjs_headless68.PointerDownOutsideEvent | _soybeanjs_headless68.FocusOutsideEvent) => any) | undefined;
15
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
- onSelect?: ((item: S, event: Event) => any) | undefined;
18
- onEntryFocus?: ((event: Event) => any) | undefined;
19
- }> & vue283.PublicProps;
19
+ }> & vue149.PublicProps;
20
20
  expose: (exposed: {}) => void;
21
21
  attrs: any;
22
22
  slots: {
@@ -27,8 +27,8 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
27
27
  'item-trigger': (props: MenuOptionData<T>) => any;
28
28
  'item-trigger-icon': (props: MenuOptionData<T>) => any;
29
29
  };
30
- emit: ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless140.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless140.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless140.PointerDownOutsideEvent | _soybeanjs_headless140.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "select", item: S, event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
31
- }>) => vue283.VNode & {
30
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless68.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless68.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless68.PointerDownOutsideEvent | _soybeanjs_headless68.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
31
+ }>) => vue149.VNode & {
32
32
  __ctx?: Awaited<typeof __VLS_setup>;
33
33
  };
34
34
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,8 @@
1
+ import { UseDialogReturn } from "./types.js";
2
+ import "vue";
3
+
4
+ //#region src/components/dialog/context.d.ts
5
+
6
+ declare const useDialog: () => UseDialogReturn;
7
+ //#endregion
8
+ 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(`UiDialogProvider`,()=>{let r=t([]),a=e(()=>r.value.map(e=>e.id)),o=t([]),s=i(()=>{o.value=r.value},500);n(r,(e,t)=>{e.length>t.length?o.value=r.value:s()});let c=e=>{r.value=[...r.value,e]},l=e=>{r.value=r.value.filter(t=>t.id!==e)},u=()=>{r.value=[]},d=0,f=e=>{let{showIcon:t=!0,...n}=e,r=d;return d++,{id:r,showIcon:t,...n}},p=e=>{c(f(e))},m=p;m.clear=u;for(let e of[`destructive`,`success`,`warning`,`info`])m[e]=t=>p({type:e,...t});return{useDialog:m,clear:u,ids:a,states:e(()=>o.value),remove:l}}),s=()=>{let{useDialog:e}=o(`UiDialogConsumer`);return e};export{a as provideDialogProviderContext,s as useDialog};
@@ -1 +1 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import{createBlock as t,defineComponent as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";import{DialogClose as s}from"@soybeanjs/headless";var c=n({name:`SDialogClose`,__name:`dialog-close`,props:{asChild:{type:Boolean},as:{}},setup(n){let{size:c}=e(`DialogClose`);return(e,n)=>(r(),t(a(s),{size:a(c),"as-child":``},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`size`]))}});export{c as default};
1
+ import{useSizeContext as e}from"../../theme/context.js";import{createBlock as t,defineComponent as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";import{DialogClose as s}from"@soybeanjs/headless";var c=n({name:`SDialogClose`,__name:`dialog-close`,props:{beforeClose:{type:Function},asChild:{type:Boolean},as:{}},setup(n){let{size:c}=e(`DialogClose`);return(e,l)=>(r(),t(a(s),{size:a(c),"as-child":``,"before-close":n.beforeClose},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`size`,`before-close`]))}});export{c as default};
@@ -1,4 +1,4 @@
1
- import * as vue248 from "vue";
1
+ import * as vue126 from "vue";
2
2
  import { DialogCloseProps } from "@soybeanjs/headless";
3
3
 
4
4
  //#region src/components/dialog/dialog-close.vue.d.ts
@@ -6,7 +6,7 @@ declare var __VLS_7: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_7) => any;
8
8
  };
9
- declare const __VLS_base: vue248.DefineComponent<DialogCloseProps, {}, {}, {}, {}, vue248.ComponentOptionsMixin, vue248.ComponentOptionsMixin, {}, string, vue248.PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, vue248.ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_base: vue126.DefineComponent<DialogCloseProps, {}, {}, {}, {}, vue126.ComponentOptionsMixin, vue126.ComponentOptionsMixin, {}, string, vue126.PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, vue126.ComponentProvideOptions, false, {}, any>;
10
10
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
11
  declare const _default: typeof __VLS_export;
12
12
  type __VLS_WithSlots<T, S> = T & {
@@ -0,0 +1 @@
1
+ import e from"../alert-dialog/alert-dialog.js";import t from"../alert-dialog/alert-dialog-cancel.js";import n from"../alert-dialog/alert-dialog-action.js";import{provideDialogProviderContext as r}from"./context.js";import{Fragment as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createSlots as c,createTextVNode as l,createVNode as u,defineComponent as d,onBeforeUnmount as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,withCtx as y}from"vue";var b=d({name:`SDialogProvider`,__name:`dialog-provider`,setup(d){let{states:b,ids:x,remove:S,clear:C}=r();return f(()=>{C()}),(r,d)=>(p(),s(i,null,[(p(!0),s(i,null,m(v(b),r=>(p(),a(e,{key:r.id,type:r.type,open:v(x).includes(r.id),size:r.size,ui:r.ui,"show-icon":r.showIcon,"onUpdate:open":e=>v(S)(r.id)},c({description:y(()=>[typeof r.description==`string`?(p(),s(i,{key:0},[l(_(r.description),1)],64)):(p(),a(g(r.description),{key:1}))]),footer:y(()=>[r.footer?(p(),a(g(r.footer),{key:0})):(p(),s(i,{key:1},[r.type===`warning`?(p(),a(t,{key:0,text:r.cancelText,"before-close":r.onCancel},null,8,[`text`,`before-close`])):o(`v-if`,!0),u(n,{text:r.confirmText,"before-close":r.onConfirm},null,8,[`text`,`before-close`])],64))]),default:y(()=>[r.content?(p(),a(g(r.content),{key:0})):o(`v-if`,!0)]),_:2},[r.title?{name:`title`,fn:y(()=>[typeof r.title==`string`?(p(),s(i,{key:0},[l(_(r.title),1)],64)):(p(),a(g(r.title),{key:1}))]),key:`0`}:void 0]),1032,[`type`,`open`,`size`,`ui`,`show-icon`,`onUpdate:open`]))),128)),h(r.$slots,`default`)],64))}});export{b as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import n from"../button/button-icon.js";import{dialogVariants as r}from"../../variants/dialog.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,provideDialogThemeContext as E}from"@soybeanjs/headless";var 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(r({size:O.size,pure:!0}),O.ui));return E({ui: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:_(()=>[c.closable?(p(),a(g(b),{key:0,class:d(M.value.closable),"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(n,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0),m(e.$slots,`default`,f(l(t)))]),_: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{dialogVariants as n}from"../../variants/dialog.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,provideDialogThemeContext as E}from"@soybeanjs/headless";var 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({ui: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:_(()=>[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),m(e.$slots,`default`,f(l(t)))]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{D as default};
@@ -1,6 +1,6 @@
1
1
  import { DialogPureProps } from "./types.js";
2
- import * as vue253 from "vue";
3
- import * as _soybeanjs_headless84 from "@soybeanjs/headless";
2
+ import * as vue144 from "vue";
3
+ import * as _soybeanjs_headless60 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/dialog/dialog-pure.vue.d.ts
6
6
  declare var __VLS_15: {}, __VLS_37: {}, __VLS_43: {
@@ -14,20 +14,20 @@ type __VLS_Slots = {} & {
14
14
  } & {
15
15
  default?: (props: typeof __VLS_43) => any;
16
16
  };
17
- declare const __VLS_base: vue253.DefineComponent<DialogPureProps, {}, {}, {}, {}, vue253.ComponentOptionsMixin, vue253.ComponentOptionsMixin, {
17
+ declare const __VLS_base: vue144.DefineComponent<DialogPureProps, {}, {}, {}, {}, vue144.ComponentOptionsMixin, vue144.ComponentOptionsMixin, {
18
18
  "update:open": (value: boolean) => any;
19
19
  escapeKeyDown: (event: KeyboardEvent) => any;
20
- pointerDownOutside: (event: _soybeanjs_headless84.PointerDownOutsideEvent) => any;
21
- focusOutside: (event: _soybeanjs_headless84.FocusOutsideEvent) => any;
22
- interactOutside: (event: _soybeanjs_headless84.PointerDownOutsideEvent | _soybeanjs_headless84.FocusOutsideEvent) => any;
20
+ pointerDownOutside: (event: _soybeanjs_headless60.PointerDownOutsideEvent) => any;
21
+ focusOutside: (event: _soybeanjs_headless60.FocusOutsideEvent) => any;
22
+ interactOutside: (event: _soybeanjs_headless60.PointerDownOutsideEvent | _soybeanjs_headless60.FocusOutsideEvent) => any;
23
23
  openAutoFocus: (event: Event) => any;
24
24
  closeAutoFocus: (event: Event) => any;
25
- }, string, vue253.PublicProps, Readonly<DialogPureProps> & Readonly<{
25
+ }, string, vue144.PublicProps, Readonly<DialogPureProps> & Readonly<{
26
26
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
27
27
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
28
- onPointerDownOutside?: ((event: _soybeanjs_headless84.PointerDownOutsideEvent) => any) | undefined;
29
- onFocusOutside?: ((event: _soybeanjs_headless84.FocusOutsideEvent) => any) | undefined;
30
- onInteractOutside?: ((event: _soybeanjs_headless84.PointerDownOutsideEvent | _soybeanjs_headless84.FocusOutsideEvent) => any) | undefined;
28
+ onPointerDownOutside?: ((event: _soybeanjs_headless60.PointerDownOutsideEvent) => any) | undefined;
29
+ onFocusOutside?: ((event: _soybeanjs_headless60.FocusOutsideEvent) => any) | undefined;
30
+ onInteractOutside?: ((event: _soybeanjs_headless60.PointerDownOutsideEvent | _soybeanjs_headless60.FocusOutsideEvent) => any) | undefined;
31
31
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
32
32
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
33
33
  }>, {
@@ -35,7 +35,7 @@ declare const __VLS_base: vue253.DefineComponent<DialogPureProps, {}, {}, {}, {}
35
35
  open: boolean;
36
36
  defaultOpen: boolean;
37
37
  modal: boolean;
38
- }, {}, {}, {}, string, vue253.ComponentProvideOptions, false, {}, any>;
38
+ }, {}, {}, {}, string, vue144.ComponentProvideOptions, false, {}, any>;
39
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
40
  declare const _default: typeof __VLS_export;
41
41
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import n from"../button/button-icon.js";import{dialogVariants as r}from"../../variants/dialog.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,provideDialogThemeContext as N}from"@soybeanjs/headless";var 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(r({size:F.size}),F.ui));return N({ui: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(n,{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{dialogVariants as n}from"../../variants/dialog.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,provideDialogThemeContext as N}from"@soybeanjs/headless";var 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({ui: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,6 +1,6 @@
1
1
  import { DialogProps } from "./types.js";
2
- import * as vue243 from "vue";
3
- import * as _soybeanjs_headless76 from "@soybeanjs/headless";
2
+ import * as vue131 from "vue";
3
+ import * as _soybeanjs_headless52 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/dialog/dialog.vue.d.ts
6
6
  declare var __VLS_15: {}, __VLS_42: {
@@ -29,20 +29,20 @@ type __VLS_Slots = {} & {
29
29
  } & {
30
30
  footer?: (props: typeof __VLS_69) => any;
31
31
  };
32
- declare const __VLS_base: vue243.DefineComponent<DialogProps, {}, {}, {}, {}, vue243.ComponentOptionsMixin, vue243.ComponentOptionsMixin, {
32
+ declare const __VLS_base: vue131.DefineComponent<DialogProps, {}, {}, {}, {}, vue131.ComponentOptionsMixin, vue131.ComponentOptionsMixin, {
33
33
  "update:open": (value: boolean) => any;
34
34
  escapeKeyDown: (event: KeyboardEvent) => any;
35
- pointerDownOutside: (event: _soybeanjs_headless76.PointerDownOutsideEvent) => any;
36
- focusOutside: (event: _soybeanjs_headless76.FocusOutsideEvent) => any;
37
- interactOutside: (event: _soybeanjs_headless76.PointerDownOutsideEvent | _soybeanjs_headless76.FocusOutsideEvent) => any;
35
+ pointerDownOutside: (event: _soybeanjs_headless52.PointerDownOutsideEvent) => any;
36
+ focusOutside: (event: _soybeanjs_headless52.FocusOutsideEvent) => any;
37
+ interactOutside: (event: _soybeanjs_headless52.PointerDownOutsideEvent | _soybeanjs_headless52.FocusOutsideEvent) => any;
38
38
  openAutoFocus: (event: Event) => any;
39
39
  closeAutoFocus: (event: Event) => any;
40
- }, string, vue243.PublicProps, Readonly<DialogProps> & Readonly<{
40
+ }, string, vue131.PublicProps, Readonly<DialogProps> & Readonly<{
41
41
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
42
42
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
43
- onPointerDownOutside?: ((event: _soybeanjs_headless76.PointerDownOutsideEvent) => any) | undefined;
44
- onFocusOutside?: ((event: _soybeanjs_headless76.FocusOutsideEvent) => any) | undefined;
45
- onInteractOutside?: ((event: _soybeanjs_headless76.PointerDownOutsideEvent | _soybeanjs_headless76.FocusOutsideEvent) => any) | undefined;
43
+ onPointerDownOutside?: ((event: _soybeanjs_headless52.PointerDownOutsideEvent) => any) | undefined;
44
+ onFocusOutside?: ((event: _soybeanjs_headless52.FocusOutsideEvent) => any) | undefined;
45
+ onInteractOutside?: ((event: _soybeanjs_headless52.PointerDownOutsideEvent | _soybeanjs_headless52.FocusOutsideEvent) => any) | undefined;
46
46
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
47
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
48
  }>, {
@@ -50,7 +50,7 @@ declare const __VLS_base: vue243.DefineComponent<DialogProps, {}, {}, {}, {}, vu
50
50
  open: boolean;
51
51
  defaultOpen: boolean;
52
52
  modal: boolean;
53
- }, {}, {}, {}, string, vue243.ComponentProvideOptions, false, {}, any>;
53
+ }, {}, {}, {}, string, vue131.ComponentProvideOptions, false, {}, any>;
54
54
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
55
  declare const _default: typeof __VLS_export;
56
56
  type __VLS_WithSlots<T, S> = T & {
@@ -1,6 +1,7 @@
1
- import { DialogEmits, DialogExtendedUi, DialogExtraThemeSlot, DialogProps, DialogPureEmits, DialogPureProps } from "./types.js";
1
+ import { DialogEmits, DialogExtendedUi, DialogExtraThemeSlot, DialogProps, DialogPureEmits, DialogPureProps, DialogState, UseDialogOptions, UseDialogReturn, UseDialogType } 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";
5
6
  import { DialogCloseProps, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps } from "@soybeanjs/headless/dialog";
6
7
  export { type DialogCloseProps, type DialogContentEmits, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogHeaderProps, type DialogOverlayProps, type DialogRootEmits, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps };
@@ -1,6 +1,7 @@
1
- import { ThemeSize } from "../../theme/types.js";
1
+ import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { ClassValue, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogUi } from "@soybeanjs/headless";
3
+ import { VNode } from "vue";
4
+ import { ClassValue, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogPortalProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogUi, EmitsToHookProps, MaybePromise } from "@soybeanjs/headless";
4
5
 
5
6
  //#region src/components/dialog/types.d.ts
6
7
  type DialogExtraThemeSlot = 'closable';
@@ -31,5 +32,27 @@ interface DialogPureProps extends DialogRootProps {
31
32
  portalProps?: DialogPortalProps;
32
33
  }
33
34
  type DialogPureEmits = DialogEmits;
35
+ type UseDialogType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
36
+ interface UseDialogOptions extends Partial<EmitsToHookProps<DialogContentEmits>> {
37
+ size?: ThemeSize;
38
+ ui?: Partial<DialogExtendedUi>;
39
+ type: UseDialogType;
40
+ title?: string | VNode;
41
+ showIcon?: boolean;
42
+ description?: string | VNode;
43
+ content?: VNode;
44
+ footer?: VNode;
45
+ confirmText?: string;
46
+ cancelText?: string;
47
+ onConfirm?: () => MaybePromise<boolean | void>;
48
+ onCancel?: () => MaybePromise<boolean | void>;
49
+ }
50
+ interface DialogState extends UseDialogOptions {
51
+ id: number;
52
+ }
53
+ interface UseDialogReturn extends Record<UseDialogType, (options: Omit<UseDialogOptions, 'type'>) => void> {
54
+ (options: UseDialogOptions): void;
55
+ clear: () => void;
56
+ }
34
57
  //#endregion
35
- export { DialogEmits, DialogExtendedUi, DialogExtraThemeSlot, DialogProps, DialogPureEmits, DialogPureProps };
58
+ export { DialogEmits, DialogExtendedUi, DialogExtraThemeSlot, DialogProps, DialogPureEmits, DialogPureProps, DialogState, UseDialogOptions, UseDialogReturn, UseDialogType };