@soybeanjs/ui 0.15.0-beta.2 → 0.15.0-beta.4

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 (227) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/accordion/variants.js +1 -1
  3. package/dist/components/affix/affix.js +1 -1
  4. package/dist/components/affix/affix.vue.d.ts +4 -2
  5. package/dist/components/affix/index.d.ts +1 -3
  6. package/dist/components/affix/types.d.ts +4 -5
  7. package/dist/components/alert/alert.js +1 -1
  8. package/dist/components/alert/alert.vue.d.ts +2 -15
  9. package/dist/components/alert/index.d.ts +1 -1
  10. package/dist/components/alert/types.d.ts +7 -15
  11. package/dist/components/anchor/anchor.js +1 -1
  12. package/dist/components/anchor/anchor.vue.d.ts +1 -1
  13. package/dist/components/anchor/index.d.ts +3 -3
  14. package/dist/components/anchor/types.d.ts +7 -24
  15. package/dist/components/autocomplete/autocomplete.js +1 -1
  16. package/dist/components/autocomplete/autocomplete.vue.d.ts +4 -26
  17. package/dist/components/autocomplete/index.d.ts +1 -1
  18. package/dist/components/autocomplete/types.d.ts +7 -85
  19. package/dist/components/autocomplete/variants.js +1 -1
  20. package/dist/components/backtop/backtop.js +1 -0
  21. package/dist/components/backtop/backtop.vue.d.ts +34 -0
  22. package/dist/components/backtop/index.d.ts +4 -0
  23. package/dist/components/backtop/index.js +1 -0
  24. package/dist/components/backtop/types.d.ts +33 -0
  25. package/dist/components/backtop/variants.js +1 -0
  26. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  27. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -33
  28. package/dist/components/breadcrumb/index.d.ts +1 -1
  29. package/dist/components/breadcrumb/types.d.ts +6 -38
  30. package/dist/components/breadcrumb/variants.js +1 -1
  31. package/dist/components/button/button-group.js +1 -1
  32. package/dist/components/button/button-icon.js +1 -1
  33. package/dist/components/button/button-loading.js +1 -1
  34. package/dist/components/button/button.js +1 -1
  35. package/dist/components/button/index.js +1 -1
  36. package/dist/components/button/variants.d.ts +1 -1
  37. package/dist/components/button/variants.js +1 -1
  38. package/dist/components/carousel/types.d.ts +1 -1
  39. package/dist/components/carousel/variants.js +1 -1
  40. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  41. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +4 -5
  42. package/dist/components/checkbox/checkbox-card.js +1 -1
  43. package/dist/components/checkbox/checkbox-card.vue.d.ts +3 -5
  44. package/dist/components/checkbox/checkbox-group.js +1 -1
  45. package/dist/components/checkbox/checkbox-group.vue.d.ts +4 -5
  46. package/dist/components/checkbox/checkbox.js +1 -1
  47. package/dist/components/checkbox/checkbox.vue.d.ts +2 -11
  48. package/dist/components/checkbox/index.d.ts +2 -4
  49. package/dist/components/checkbox/index.js +1 -1
  50. package/dist/components/checkbox/types.d.ts +31 -31
  51. package/dist/components/checkbox/variants.d.ts +3 -0
  52. package/dist/components/checkbox/variants.js +1 -1
  53. package/dist/components/clipboard/clipboard.js +1 -0
  54. package/dist/components/clipboard/clipboard.vue.d.ts +55 -0
  55. package/dist/components/clipboard/index.d.ts +3 -0
  56. package/dist/components/clipboard/index.js +1 -0
  57. package/dist/components/clipboard/types.d.ts +16 -0
  58. package/dist/components/clipboard/variants.d.ts +1 -0
  59. package/dist/components/color-area/color-area.vue.d.ts +2 -2
  60. package/dist/components/color-area/variants.js +1 -1
  61. package/dist/components/color-field/variants.js +1 -1
  62. package/dist/components/color-picker/color-picker.vue.d.ts +6 -6
  63. package/dist/components/color-slider/color-slider.vue.d.ts +2 -2
  64. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  65. package/dist/components/combobox/combobox.js +1 -1
  66. package/dist/components/combobox/combobox.vue.d.ts +5 -48
  67. package/dist/components/combobox/index.d.ts +3 -3
  68. package/dist/components/combobox/types.d.ts +6 -60
  69. package/dist/components/combobox/variants.js +1 -1
  70. package/dist/components/command/command.js +1 -1
  71. package/dist/components/command/command.vue.d.ts +3 -23
  72. package/dist/components/command/index.d.ts +4 -2
  73. package/dist/components/command/types.d.ts +8 -90
  74. package/dist/components/config-provider/config-provider.js +1 -1
  75. package/dist/components/config-provider/config-provider.vue.d.ts +2 -2
  76. package/dist/components/config-provider/types.d.ts +3 -2
  77. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  78. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +2 -2
  79. package/dist/components/context-menu/context-menu-radio.js +1 -1
  80. package/dist/components/context-menu/context-menu-radio.vue.d.ts +2 -2
  81. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  82. package/dist/components/context-menu/context-menu.js +1 -1
  83. package/dist/components/dialog/dialog-provider.js +1 -0
  84. package/dist/components/dialog/dialog-provider.vue.d.ts +7 -0
  85. package/dist/components/dialog/dialog.js +1 -1
  86. package/dist/components/dialog/dialog.vue.d.ts +9 -29
  87. package/dist/components/dialog/index.d.ts +4 -5
  88. package/dist/components/dialog/index.js +1 -1
  89. package/dist/components/dialog/types.d.ts +7 -34
  90. package/dist/components/dialog/variants.js +1 -1
  91. package/dist/components/drawer/drawer.js +1 -1
  92. package/dist/components/drawer/drawer.vue.d.ts +9 -29
  93. package/dist/components/drawer/index.d.ts +2 -3
  94. package/dist/components/drawer/index.js +1 -1
  95. package/dist/components/drawer/types.d.ts +4 -6
  96. package/dist/components/drawer/variants.js +1 -1
  97. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  98. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +2 -2
  99. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  100. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +2 -2
  101. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  102. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  103. package/dist/components/editable/variants.js +1 -1
  104. package/dist/components/empty/variants.js +1 -1
  105. package/dist/components/input/variants.js +1 -1
  106. package/dist/components/input-otp/index.d.ts +4 -0
  107. package/dist/components/input-otp/index.js +1 -0
  108. package/dist/components/input-otp/input-otp.js +1 -0
  109. package/dist/components/input-otp/input-otp.vue.d.ts +37 -0
  110. package/dist/components/input-otp/types.d.ts +16 -0
  111. package/dist/components/input-otp/variants.js +1 -0
  112. package/dist/components/kbd/types.d.ts +2 -2
  113. package/dist/components/layout/layout.js +1 -1
  114. package/dist/components/layout/variants.js +1 -1
  115. package/dist/components/menu/variants.js +1 -1
  116. package/dist/components/menubar/menubar.vue.d.ts +2 -2
  117. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +2 -2
  118. package/dist/components/navigation-menu/variants.js +1 -1
  119. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  120. package/dist/components/pagination/variants.js +1 -1
  121. package/dist/components/popconfirm/popconfirm.js +1 -1
  122. package/dist/components/popconfirm/popconfirm.vue.d.ts +2 -2
  123. package/dist/components/popover/popover.js +1 -1
  124. package/dist/components/progress/index.d.ts +4 -6
  125. package/dist/components/progress/index.js +1 -1
  126. package/dist/components/progress/progress-circle.js +1 -1
  127. package/dist/components/progress/progress-provider.js +1 -0
  128. package/dist/components/progress/progress-provider.vue.d.ts +8 -0
  129. package/dist/components/progress/progress.js +1 -1
  130. package/dist/components/progress/types.d.ts +3 -23
  131. package/dist/components/progress/variants.js +1 -1
  132. package/dist/components/radio-group/index.d.ts +3 -3
  133. package/dist/components/radio-group/index.js +1 -1
  134. package/dist/components/radio-group/radio-group.js +1 -1
  135. package/dist/components/radio-group/types.d.ts +5 -14
  136. package/dist/components/radio-group/variants.js +1 -1
  137. package/dist/components/segment/index.d.ts +2 -1
  138. package/dist/components/segment/segment.js +1 -1
  139. package/dist/components/segment/segment.vue.d.ts +6 -11
  140. package/dist/components/segment/types.d.ts +6 -16
  141. package/dist/components/select/index.d.ts +1 -1
  142. package/dist/components/select/select.js +1 -1
  143. package/dist/components/select/select.vue.d.ts +4 -30
  144. package/dist/components/select/types.d.ts +6 -74
  145. package/dist/components/select/variants.js +1 -1
  146. package/dist/components/slider/variants.js +1 -1
  147. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  148. package/dist/components/splitter/variants.js +1 -1
  149. package/dist/components/stepper/variants.js +1 -1
  150. package/dist/components/switch/variants.js +1 -1
  151. package/dist/components/table/hooks.js +1 -1
  152. package/dist/components/table/variants.js +1 -1
  153. package/dist/components/tabs/index.d.ts +3 -3
  154. package/dist/components/tabs/tabs.js +1 -1
  155. package/dist/components/tabs/tabs.vue.d.ts +6 -15
  156. package/dist/components/tabs/types.d.ts +8 -18
  157. package/dist/components/tabs/variants.js +1 -1
  158. package/dist/components/tags-input/variants.js +1 -1
  159. package/dist/components/textarea/variants.js +1 -1
  160. package/dist/components/toast/styles.js +0 -4
  161. package/dist/components/toast/toaster.js +1 -1
  162. package/dist/components/toast/toaster.vue.d.ts +0 -1
  163. package/dist/components/toast/variants.js +1 -1
  164. package/dist/components/toggle/variants.js +1 -1
  165. package/dist/components/toggle-group/toggle-group.js +1 -1
  166. package/dist/components/toggle-group/variants.js +1 -1
  167. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  168. package/dist/constants/components.d.ts +3 -2
  169. package/dist/constants/components.js +1 -1
  170. package/dist/index.d.ts +134 -139
  171. package/dist/index.js +1 -1
  172. package/dist/styles.css +49 -32
  173. package/dist/theme/shared.js +1 -1
  174. package/package.json +15 -12
  175. package/dist/components/alert-dialog/alert-dialog-cancel.js +0 -1
  176. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +0 -25
  177. package/dist/components/alert-dialog/alert-dialog-confirm.js +0 -1
  178. package/dist/components/alert-dialog/alert-dialog-confirm.vue.d.ts +0 -22
  179. package/dist/components/alert-dialog/alert-dialog.js +0 -1
  180. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +0 -45
  181. package/dist/components/alert-dialog/context.d.ts +0 -5
  182. package/dist/components/alert-dialog/context.js +0 -1
  183. package/dist/components/alert-dialog/dialog-provider.js +0 -1
  184. package/dist/components/alert-dialog/index.d.ts +0 -7
  185. package/dist/components/alert-dialog/index.js +0 -1
  186. package/dist/components/alert-dialog/types.d.ts +0 -103
  187. package/dist/components/anchor/anchor-item.js +0 -1
  188. package/dist/components/anchor/context.js +0 -1
  189. package/dist/components/autocomplete/autocomplete-group-option.js +0 -1
  190. package/dist/components/autocomplete/autocomplete-option.js +0 -1
  191. package/dist/components/autocomplete/autocomplete-single-option.js +0 -1
  192. package/dist/components/autocomplete/context.js +0 -1
  193. package/dist/components/autocomplete/shared.js +0 -1
  194. package/dist/components/bottom-sheet/bottom-sheet-close.js +0 -1
  195. package/dist/components/bottom-sheet/bottom-sheet-close.vue.d.ts +0 -18
  196. package/dist/components/bottom-sheet/bottom-sheet.js +0 -1
  197. package/dist/components/bottom-sheet/bottom-sheet.vue.d.ts +0 -72
  198. package/dist/components/bottom-sheet/index.d.ts +0 -3
  199. package/dist/components/bottom-sheet/index.js +0 -1
  200. package/dist/components/bottom-sheet/types.d.ts +0 -31
  201. package/dist/components/bottom-sheet/variants.js +0 -1
  202. package/dist/components/breadcrumb/shared.js +0 -1
  203. package/dist/components/combobox/combobox-group-option.js +0 -1
  204. package/dist/components/combobox/combobox-option.js +0 -1
  205. package/dist/components/combobox/combobox-single-option.js +0 -1
  206. package/dist/components/combobox/shared.js +0 -1
  207. package/dist/components/command/command-group-option.js +0 -1
  208. package/dist/components/command/command-option.js +0 -1
  209. package/dist/components/command/command-single-option.js +0 -1
  210. package/dist/components/command/context.js +0 -1
  211. package/dist/components/command/shared.js +0 -1
  212. package/dist/components/dialog/dialog-close.js +0 -1
  213. package/dist/components/dialog/dialog-close.vue.d.ts +0 -18
  214. package/dist/components/dialog/dialog-pure.js +0 -1
  215. package/dist/components/dialog/dialog-pure.vue.d.ts +0 -47
  216. package/dist/components/drawer/drawer-close.js +0 -1
  217. package/dist/components/drawer/drawer-close.vue.d.ts +0 -18
  218. package/dist/components/progress/context.d.ts +0 -5
  219. package/dist/components/progress/context.js +0 -1
  220. package/dist/components/progress/loading-bar.js +0 -1
  221. package/dist/components/progress/loading-bar.vue.d.ts +0 -25
  222. package/dist/components/progress/shared.d.ts +0 -7
  223. package/dist/components/progress/shared.js +0 -1
  224. package/dist/components/select/select-group-option.js +0 -1
  225. package/dist/components/select/select-option.js +0 -1
  226. package/dist/components/select/select-single-option.js +0 -1
  227. package/dist/components/select/shared.js +0 -1
@@ -1 +0,0 @@
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};
@@ -1 +0,0 @@
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,7 +0,0 @@
1
- import { AlertDialogCancelEmits, AlertDialogCancelProps, AlertDialogConfirmEmits, AlertDialogConfirmProps, AlertDialogContext, AlertDialogEmits, AlertDialogProps, AlertDialogType, UseDialogOptions, UseDialogReturn, UseDialogState } from "./types.js";
2
- import { _default } from "./alert-dialog.vue.js";
3
- import { _default as _default$1 } from "./alert-dialog-cancel.vue.js";
4
- import { _default as _default$2 } from "./alert-dialog-confirm.vue.js";
5
- import { useDialog } from "./context.js";
6
- import { AlertDialogCloseProps, AlertDialogContentEmits, AlertDialogContentProps, AlertDialogDescriptionProps, AlertDialogFooterProps, AlertDialogHeaderProps, AlertDialogOverlayProps, AlertDialogPortalProps, AlertDialogRootEmits, AlertDialogRootProps, AlertDialogTitleProps, AlertDialogTriggerProps } from "@soybeanjs/headless/alert-dialog";
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 +0,0 @@
1
- import"./context.js";import"./alert-dialog-confirm.js";import"./alert-dialog-cancel.js";import"./alert-dialog.js";
@@ -1,103 +0,0 @@
1
- import { ThemeColor } from "../../theme/types.js";
2
- import { DialogProps } from "../dialog/types.js";
3
- import { ButtonProps as ButtonProps$1 } from "../button/types.js";
4
- import { VNode } from "vue";
5
- import { AlertDialogCloseEmits, AlertDialogRootEmits, DialogUi, MaybePromise, PropsToContext } from "@soybeanjs/headless";
6
-
7
- //#region src/components/alert-dialog/types.d.ts
8
- interface AlertDialogCancelProps extends ButtonProps$1 {
9
- /**
10
- * The text of the cancel button.
11
- *
12
- * @defaultValue 'Cancel'
13
- */
14
- text?: string;
15
- /**
16
- * Called before the dialog is closed. Can be used to prevent the dialog from closing.
17
- * @returns A boolean or a promise that resolves to a boolean. if returns `false`, the dialog will not close.
18
- */
19
- beforeClose?: () => MaybePromise<boolean | void>;
20
- }
21
- type AlertDialogCancelEmits = AlertDialogCloseEmits;
22
- interface AlertDialogConfirmProps extends ButtonProps$1 {
23
- /**
24
- * The text of the action button.
25
- *
26
- * @defaultValue 'Confirm'
27
- */
28
- text?: string;
29
- /**
30
- * Called before the dialog is closed. Can be used to prevent the dialog from closing.
31
- * @returns A boolean or a promise that resolves to a boolean. if returns `false`, the dialog will not close.
32
- */
33
- beforeClose?: () => MaybePromise<boolean | void>;
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' | 'showCancel' | 'confirmProps' | 'cancelProps'> {
82
- beforeConfirm?: () => MaybePromise<boolean | void>;
83
- beforeCancel?: () => MaybePromise<boolean | void>;
84
- onClose: () => void;
85
- }
86
- interface UseDialogOptions extends Pick<AlertDialogProps, 'class' | 'size' | 'type' | 'showIcon' | 'confirmText' | 'cancelText' | 'showCancel' | 'beforeConfirm' | 'beforeCancel' | 'confirmProps' | 'cancelProps'> {
87
- ui?: Partial<DialogUi>;
88
- title?: string | VNode;
89
- description?: string | VNode;
90
- content?: VNode;
91
- footer?: VNode;
92
- onClose?: () => void;
93
- }
94
- interface UseDialogState extends Omit<UseDialogOptions, 'onClose'> {
95
- id: number;
96
- onClose: (open?: boolean) => void;
97
- }
98
- interface UseDialogReturn extends Record<AlertDialogType, (options: Omit<UseDialogOptions, 'type'>) => void> {
99
- (options: UseDialogOptions): void;
100
- clear: () => void;
101
- }
102
- //#endregion
103
- export { AlertDialogCancelEmits, AlertDialogCancelProps, AlertDialogConfirmEmits, AlertDialogConfirmProps, AlertDialogContext, AlertDialogEmits, AlertDialogProps, AlertDialogType, UseDialogOptions, UseDialogReturn, UseDialogState };
@@ -1 +0,0 @@
1
- import{useExtraAnchorUi as e}from"./context.js";import{Fragment as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,normalizeClass as u,openBlock as d,renderList as f,resolveComponent as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{AnchorLink as _}from"@soybeanjs/headless";const v=[`data-state`],y=c({name:`SAnchorItem`,__name:`anchor-item`,props:{modelValue:{},item:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{}},setup(c){let y=c,b=e();function x(e,t){return e.href===t?!0:e.children?.some(e=>x(e,t))??!1}let S=n(()=>x(y.item,y.modelValue??``)?`active`:`inactive`);return(e,n)=>{let y=p(`AnchorItem`,!0);return d(),a(`div`,{class:u(h(b).item),"data-state":S.value},[s(h(_),l(c.linkProps,{href:c.item.href,target:c.item.target,disabled:c.item.disabled}),{default:g(()=>[o(`span`,l(c.indicatorProps,{class:h(b).indicator,"aria-hidden":`true`}),null,16),o(`span`,l(c.titleProps,{class:h(b).title}),m(c.item.title||c.item.href),17)]),_:1},16,[`href`,`target`,`disabled`]),c.item.children?.length?(d(),a(`div`,l({key:0},c.subProps,{class:h(b).sub}),[(d(!0),a(t,null,f(c.item.children,e=>(d(),r(y,{key:e.href,"model-value":c.modelValue,item:e,"link-props":c.linkProps,"indicator-props":c.indicatorProps,"title-props":c.titleProps,"sub-props":c.subProps},null,8,[`model-value`,`item`,`link-props`,`indicator-props`,`title-props`,`sub-props`]))),128))],16)):i(`v-if`,!0)],10,v)}}});export{y as default};
@@ -1 +0,0 @@
1
- import{useUiContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`AnchorUi`);export{t as provideExtraAnchorUi,n as useExtraAnchorUi};
@@ -1 +0,0 @@
1
- import e from"./autocomplete-single-option.js";import{Fragment as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{AutocompleteGroup as _,AutocompleteGroupLabel as v,AutocompleteSeparator as y}from"@soybeanjs/headless";const b=s({name:`SAutocompleteGroupOption`,__name:`autocomplete-group-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(s,{emit:b}){let x=b;return(b,S)=>(d(),i(t,null,[o(h(_),u(c(s.groupProps)),{default:g(()=>[o(h(v),u(c(s.groupLabelProps)),{default:g(()=>[p(b.$slots,`group-label`,{item:s.item},()=>[a(m(s.item.label),1)])]),_:3},16),(d(!0),i(t,null,f(s.item.items,t=>(d(),n(e,l({key:t.value},{ref_for:!0},s.itemProps,{item:t,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onSelect:S[0]||=e=>x(`select`,e)}),{"item-leading":g(e=>[p(b.$slots,`item-leading`,l({ref_for:!0},e))]),"item-label":g(e=>[p(b.$slots,`item-label`,l({ref_for:!0},e))]),"item-trailing":g(e=>[p(b.$slots,`item-trailing`,l({ref_for:!0},e))]),"item-indicator":g(e=>[p(b.$slots,`item-indicator`,l({ref_for:!0},e))]),_:3},16,[`item`,`item-indicator-props`,`separator-props`]))),128))]),_:3},16),s.item.separator?(d(),n(h(y),u(l({key:0},s.separatorProps)),null,16)):r(`v-if`,!0)],64))}});export{b as default};
@@ -1 +0,0 @@
1
- import e from"./autocomplete-single-option.js";import t from"./autocomplete-group-option.js";import{isGroupOption as n}from"./shared.js";import{createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=i({name:`SAutocompleteOption`,__name:`autocomplete-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(i,{emit:f}){let p=f;return(f,m)=>u(n)(i.item)?(c(),r(t,{key:0,item:i.item,"group-props":i.groupProps,"group-label-props":i.groupLabelProps,"item-props":i.itemProps,"item-indicator-props":i.itemIndicatorProps,"separator-props":i.separatorProps,onSelect:m[0]||=e=>p(`select`,e)},{"group-label":d(e=>[l(f.$slots,`group-label`,s(a(e)))]),"item-leading":d(e=>[l(f.$slots,`item-leading`,s(a(e)))]),"item-label":d(e=>[l(f.$slots,`item-label`,s(a(e)))]),"item-trailing":d(e=>[l(f.$slots,`item-trailing`,s(a(e)))]),"item-indicator":d(e=>[l(f.$slots,`item-indicator`,s(a(e)))]),_:3},8,[`item`,`group-props`,`group-label-props`,`item-props`,`item-indicator-props`,`separator-props`])):(c(),r(e,o({key:1},i.itemProps,{item:i.item,"item-indicator-props":i.itemIndicatorProps,"separator-props":i.separatorProps,onSelect:m[1]||=e=>p(`select`,e)}),{"item-leading":d(e=>[l(f.$slots,`item-leading`,s(a(e)))]),"item-label":d(e=>[l(f.$slots,`item-label`,s(a(e)))]),"item-trailing":d(e=>[l(f.$slots,`item-trailing`,s(a(e)))]),"item-indicator":d(e=>[l(f.$slots,`item-indicator`,s(a(e)))]),_:3},16,[`item`,`item-indicator-props`,`separator-props`]))}});export{f as default};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{useAutocompleteExtraUi as t}from"./context.js";import{Fragment as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,withCtx as v}from"vue";import{useOmitProps as y}from"@soybeanjs/headless/composables";import{AutocompleteItem as b,AutocompleteItemIndicator as x,AutocompleteSeparator as S}from"@soybeanjs/headless";const C=l({name:`SAutocompleteSingleOption`,inheritAttrs:!1,__name:`autocomplete-single-option`,props:{item:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(l,{emit:C}){let w=l,T=C,E=y(w,[`item`,`itemIndicatorProps`,`separatorProps`]),D=t();return(t,y)=>(m(),a(n,null,[c(_(b),d(_(E),{value:l.item.value,disabled:l.item.disabled,onSelect:y[0]||=e=>T(`select`,l.item)}),{default:v(()=>[h(t.$slots,`item-leading`,{item:l.item},()=>[l.item.icon?(m(),r(e,{key:0,icon:l.item.icon,class:f(_(D)?.itemIcon)},null,8,[`icon`,`class`])):i(`v-if`,!0)]),o(`span`,{class:f(_(D)?.itemText)},[h(t.$slots,`item-label`,{item:l.item},()=>[s(g(l.item.label??l.item.value),1)])],2),h(t.$slots,`item-trailing`,{item:l.item}),c(_(x),p(u(l.itemIndicatorProps)),{default:v(()=>[h(t.$slots,`item-indicator`,{item:l.item},()=>[c(e,{icon:`lucide:check`})])]),_:3},16)]),_:3},16,[`value`,`disabled`]),l.item.separator?(m(),r(_(S),p(d({key:0},l.separatorProps)),null,16)):i(`v-if`,!0)],64))}});export{C as default};
@@ -1 +0,0 @@
1
- import{useUiContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`AutocompleteExtraUi`);export{t as provideAutocompleteExtraUi,n as useAutocompleteExtraUi};
@@ -1 +0,0 @@
1
- function e(e){return`items`in e}function t(t){return t.flatMap(t=>e(t)?t.items.map(e=>({...e,groupLabel:t.label,groupSeparator:t.separator,groupValue:t.label})):[t])}function n(e){let t=e.reduce((e,t)=>{let{groupLabel:n,groupSeparator:r,groupValue:i,...a}=t;return i?(e[i]||(e[i]={label:n??i,separator:r,items:[]}),e[i].items.push(a)):e[t.value]=a,e},{});return Object.values(t)}export{n as getAutocompleteItemOptions,t as getAutocompleteSearchOptions,e as isGroupOption};
@@ -1 +0,0 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import"../../theme/index.js";import{createBlock as t,defineComponent as n,mergeProps as r,openBlock as i,renderSlot as a,unref as o,withCtx as s}from"vue";import{DialogClose as c}from"@soybeanjs/headless";const l=n({name:`SBottomSheetClose`,__name:`bottom-sheet-close`,props:{beforeClose:{type:Function},asChild:{type:Boolean},as:{}},setup(n){let l=n,{size:u}=e(`BottomSheetClose`);return(e,n)=>(i(),t(o(c),r(l,{size:o(u),"as-child":``}),{default:s(()=>[a(e.$slots,`default`)]),_:3},16,[`size`]))}});export{l as default};
@@ -1,18 +0,0 @@
1
- import * as _$vue from "vue";
2
- import { DialogCloseProps } from "@soybeanjs/headless";
3
-
4
- //#region src/components/bottom-sheet/bottom-sheet-close.vue.d.ts
5
- declare var __VLS_8: {};
6
- type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_8) => any;
8
- };
9
- declare const __VLS_base: _$vue.DefineComponent<DialogCloseProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
- declare const _default: typeof __VLS_export;
12
- type __VLS_WithSlots<T, S> = T & {
13
- new (): {
14
- $slots: S;
15
- };
16
- };
17
- //#endregion
18
- export { _default };
@@ -1 +0,0 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{bottomSheetVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,onBeforeUnmount as ee,openBlock as g,renderSlot as _,shallowRef as v,toDisplayString as y,toHandlers as b,unref as x,useSlots as te,watch as ne,withCtx as S}from"vue";import{useControllableState as re,useForwardListeners as ie,useOmitProps as C}from"@soybeanjs/headless/composables";import{DialogContent as ae,DialogDescription as oe,DialogFooter as se,DialogHeader as ce,DialogOverlay as w,DialogPortal as T,DialogRoot as E,DialogTitle as D,DialogTrigger as O,provideDialogUi as k}from"@soybeanjs/headless";const A=d({name:`SBottomSheet`,__name:`bottom-sheet`,props:{class:{},size:{},ui:{},title:{},description:{},showHandle:{type:Boolean,default:!0},handleOnly:{type:Boolean,default:!1},closeThreshold:{default:.35},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:A}){let le=[`a`,`button`,`input`,`select`,`summary`,`textarea`,`[contenteditable=true]`,`[data-bottom-sheet-no-drag]`,`[role=button]`,`[role=link]`].join(`,`),j=d,M=A,ue=C(j,[`class`,`size`,`ui`,`title`,`description`,`showHandle`,`handleOnly`,`closeThreshold`,`open`,`defaultOpen`,`modal`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),N=te(),P=ie(M),F=re(()=>j.open,e=>M(`update:open`,e??!1),j.defaultOpen),I=i(()=>e(n({size:j.size}),j.ui,{content:j.class})),L=i(()=>!!(N.header||N.title||N.description||j.title||j.description)),R=v(),z=v(0),B=v(0),V=v(0),H=v(),U=v(!1),W=v(!1),G=v(),de=i(()=>{if(!(!U.value&&!W.value&&V.value===0))return{transform:`translate3d(0, ${V.value}px, 0)`,userSelect:`none`,transition:U.value?`none`:`transform 200ms cubic-bezier(0.32, 0.72, 0, 1)`}});function K(){G.value!==void 0&&(window.clearTimeout(G.value),G.value=void 0)}function q(){document.removeEventListener(`pointermove`,X),document.removeEventListener(`pointerup`,Q),document.removeEventListener(`pointercancel`,$)}function J(){K(),q(),R.value!==void 0&&H.value?.releasePointerCapture?.(R.value),R.value=void 0,z.value=0,B.value=0,V.value=0,H.value=void 0,U.value=!1,W.value=!1}function fe(){if(V.value===0){J();return}K(),U.value=!1,W.value=!0,window.requestAnimationFrame(()=>{V.value=0}),G.value=window.setTimeout(()=>{W.value=!1,H.value=void 0,R.value=void 0,G.value=void 0},200)}function Y(e,t){if(!e)return!1;let n=!!e.closest(`[data-bottom-sheet-handle]`);if(j.handleOnly)return n;if(e.closest(le)&&!n)return!1;let r=t.querySelector(`[data-bottom-sheet-scroll]`);return r?.contains(e)?n||r.scrollTop<=0:!0}function pe(e){if(e.button!==0)return;let t=e.target instanceof HTMLElement?e.target:null,n=e.currentTarget instanceof HTMLElement?e.currentTarget:null;!t||!n||!Y(t,n)||(K(),q(),R.value=e.pointerId,z.value=e.clientY,B.value=Date.now(),V.value=0,H.value=n,U.value=!0,W.value=!1,n.setPointerCapture?.(e.pointerId),document.addEventListener(`pointermove`,X),document.addEventListener(`pointerup`,Q),document.addEventListener(`pointercancel`,$))}function X(e){!U.value||e.pointerId!==R.value||(V.value=Math.max(e.clientY-z.value,0),V.value>0&&e.preventDefault())}function Z(e){if(q(),e){J(),F.value=!1;return}fe()}function Q(e){if(!U.value||e.pointerId!==R.value)return;let t=H.value?.getBoundingClientRect().height??0,n=Math.max(Date.now()-B.value,1),r=V.value/n;Z(t>0&&(V.value>=t*j.closeThreshold||r>=.75))}function $(e){!U.value||e.pointerId!==R.value||Z(!1)}return k(I),t(()=>j.size),ne(()=>F.value,()=>{J()}),ee(()=>{J()}),(e,t)=>(g(),a(x(E),p(x(ue),{open:x(F),modal:d.modal,"onUpdate:open":t[0]||=e=>F.value=e}),{default:S(t=>[u(x(O),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(x(T),h(f(d.portalProps)),{default:S(()=>[u(x(w),h(f(d.overlayProps)),null,16),u(x(ae),p(d.contentProps,{style:de.value,"data-dragging":U.value||W.value?`true`:void 0},b(x(P)),{onPointerdown:pe}),{default:S(()=>[d.showHandle?(g(),s(`div`,{key:0,class:m(I.value.handle),"data-bottom-sheet-handle":``},[_(e.$slots,`handle`,h(f(t)),()=>[c(`div`,{class:m(I.value.handleIndicator),"aria-hidden":`true`},null,2)])],2)):o(`v-if`,!0),L.value?(g(),a(x(ce),h(p({key:1},d.headerProps)),{default:S(()=>[e.$slots.header?_(e.$slots,`header`,h(p({key:0},t))):(g(),s(r,{key:1},[e.$slots.title||d.title?(g(),a(x(D),h(p({key:0},d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(y(d.title),1)])]),_:2},1040)):o(`v-if`,!0),e.$slots.description||d.description?(g(),a(x(oe),h(p({key:1},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(y(d.description),1)])]),_:2},1040)):o(`v-if`,!0)],64))]),_:2},1040)):o(`v-if`,!0),c(`div`,{class:m(I.value.main),"data-bottom-sheet-scroll":``},[_(e.$slots,`default`,h(f(t)))],2),e.$slots.footer?(g(),a(x(se),h(p({key:2},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040,[`style`,`data-dragging`])]),_:2},1040)]),_:3},16,[`open`,`modal`]))}});export{A as default};
@@ -1,72 +0,0 @@
1
- import { BottomSheetProps } from "./types.js";
2
- import * as _$vue from "vue";
3
- import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
-
5
- //#region src/components/bottom-sheet/bottom-sheet.vue.d.ts
6
- declare var __VLS_16: {}, __VLS_37: {
7
- open: boolean | undefined;
8
- close: () => void;
9
- }, __VLS_45: {
10
- open: boolean | undefined;
11
- close: () => void;
12
- }, __VLS_53: {
13
- open: boolean | undefined;
14
- close: () => void;
15
- }, __VLS_61: {
16
- open: boolean | undefined;
17
- close: () => void;
18
- }, __VLS_63: {
19
- open: boolean | undefined;
20
- close: () => void;
21
- }, __VLS_71: {
22
- open: boolean | undefined;
23
- close: () => void;
24
- };
25
- type __VLS_Slots = {} & {
26
- trigger?: (props: typeof __VLS_16) => any;
27
- } & {
28
- handle?: (props: typeof __VLS_37) => any;
29
- } & {
30
- header?: (props: typeof __VLS_45) => any;
31
- } & {
32
- title?: (props: typeof __VLS_53) => any;
33
- } & {
34
- description?: (props: typeof __VLS_61) => any;
35
- } & {
36
- default?: (props: typeof __VLS_63) => any;
37
- } & {
38
- footer?: (props: typeof __VLS_71) => any;
39
- };
40
- declare const __VLS_base: _$vue.DefineComponent<BottomSheetProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
41
- "update:open": (value: boolean) => any;
42
- escapeKeyDown: (event: KeyboardEvent) => any;
43
- pointerDownOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any;
44
- focusOutside: (event: _$_soybeanjs_headless0.FocusOutsideEvent) => any;
45
- interactOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any;
46
- openAutoFocus: (event: Event) => any;
47
- closeAutoFocus: (event: Event) => any;
48
- }, string, _$vue.PublicProps, Readonly<BottomSheetProps> & Readonly<{
49
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
50
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
51
- onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
52
- onFocusOutside?: ((event: _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
53
- onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
54
- onOpenAutoFocus?: ((event: Event) => any) | undefined;
55
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
56
- }>, {
57
- showHandle: boolean;
58
- handleOnly: boolean;
59
- closeThreshold: number;
60
- open: boolean;
61
- defaultOpen: boolean;
62
- modal: boolean;
63
- }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
64
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
65
- declare const _default: typeof __VLS_export;
66
- type __VLS_WithSlots<T, S> = T & {
67
- new (): {
68
- $slots: S;
69
- };
70
- };
71
- //#endregion
72
- export { _default };
@@ -1,3 +0,0 @@
1
- import { BottomSheetEmits, BottomSheetExtendedUi, BottomSheetExtendedUiSlot, BottomSheetExtraUiSlot, BottomSheetProps } from "./types.js";
2
- import { _default } from "./bottom-sheet.vue.js";
3
- import { _default as _default$1 } from "./bottom-sheet-close.vue.js";
@@ -1 +0,0 @@
1
- import"./bottom-sheet.js";import"./bottom-sheet-close.js";
@@ -1,31 +0,0 @@
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";
3
-
4
- //#region src/components/bottom-sheet/types.d.ts
5
- type BottomSheetExtraUiSlot = 'handle' | 'handleIndicator' | 'main';
6
- type BottomSheetExtendedUiSlot = DialogUiSlot | BottomSheetExtraUiSlot;
7
- type BottomSheetExtendedUi = UiClass<BottomSheetExtendedUiSlot>;
8
- interface BottomSheetProps extends DialogRootProps {
9
- /**
10
- * the content class of the bottom sheet
11
- */
12
- class?: ClassValue;
13
- size?: ThemeSize;
14
- ui?: Partial<BottomSheetExtendedUi>;
15
- title?: string;
16
- description?: string;
17
- showHandle?: boolean;
18
- handleOnly?: boolean;
19
- closeThreshold?: number;
20
- triggerProps?: DialogTriggerProps;
21
- contentProps?: DialogContentProps;
22
- headerProps?: DialogHeaderProps;
23
- footerProps?: DialogFooterProps;
24
- titleProps?: DialogTitleProps;
25
- descriptionProps?: DialogDescriptionProps;
26
- overlayProps?: DialogOverlayProps;
27
- portalProps?: DialogPortalProps;
28
- }
29
- type BottomSheetEmits = DialogRootEmits & DialogContentEmits;
30
- //#endregion
31
- export { BottomSheetEmits, BottomSheetExtendedUi, BottomSheetExtendedUiSlot, BottomSheetExtraUiSlot, BottomSheetProps };
@@ -1 +0,0 @@
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 inset-x-0 bottom-0 z-50 flex max-h-[85vh] flex-col overflow-hidden border bg-background shadow-lg outline-none rounded-t-2xl will-change-transform`,`data-[state=open]:animate-in data-[state=open]:slide-in-from-bottom`,`data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom`],header:`flex flex-col gap-1.5 px-4 text-center sm:text-left`,title:`m-0 font-semibold leading-none tracking-tight`,description:`m-0 text-muted-foreground`,footer:`mt-auto flex flex-col gap-2 px-4`,handle:`flex justify-center px-4 pt-4 touch-none`,handleIndicator:`bg-muted h-1.5 w-12 shrink-0 rounded-full`,main:`flex-1 overflow-y-auto overscroll-contain px-4`},variants:{size:{xs:{content:`gap-y-2 text-xs`,header:`pb-1`,title:`text-sm`,description:`text-xs`,footer:`pt-2 pb-3`,main:`pb-3`},sm:{content:`gap-y-2.5 text-sm`,header:`pb-1.5`,title:`text-base`,description:`text-sm`,footer:`pt-2.5 pb-4`,main:`pb-4`},md:{content:`gap-y-3 text-sm`,header:`pb-2`,title:`text-lg`,description:`text-sm`,footer:`pt-3 pb-4`,main:`pb-4`},lg:{content:`gap-y-3.5 text-base`,header:`pb-2.5`,title:`text-xl`,description:`text-base`,footer:`pt-3.5 pb-5`,main:`pb-5`},xl:{content:`gap-y-4 text-lg`,header:`pb-3`,title:`text-2xl`,description:`text-lg`,footer:`pt-4 pb-6`,main:`pb-6`},"2xl":{content:`gap-y-[1.125rem] text-xl`,header:`pb-3.5`,title:`text-3xl`,description:`text-xl`,footer:`pt-[1.125rem] pb-7`,main:`pb-7`}}},defaultVariants:{size:`md`}});export{t as bottomSheetVariants};
@@ -1 +0,0 @@
1
- function e(e,t){if(!t||e.length<5)return null;if(t===!0)return[1,e.length-2];let[n,r]=t;return n===0&&(n=1),r===e.length&&(r=e.length-1),[n,r]}export{e as getEllipsisRange};
@@ -1 +0,0 @@
1
- import e from"./combobox-single-option.js";import{Fragment as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{ComboboxGroup as _,ComboboxGroupLabel as v,ComboboxSeparator as y}from"@soybeanjs/headless";const b=s({name:`SComboboxGroupOption`,__name:`combobox-group-option`,props:{item:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`itemSelect`],setup(s,{emit:b}){let x=b,S=e=>{x(`itemSelect`,e)};return(b,x)=>(d(),i(t,null,[s.item.separator?(d(),n(h(y),u(l({key:0},s.separatorProps)),null,16)):r(`v-if`,!0),o(h(_),u(c(b.$attrs)),{default:g(()=>[o(h(v),u(c(s.groupLabelProps)),{default:g(()=>[p(b.$slots,`group-label`,{item:s.item},()=>[a(m(s.item.label),1)])]),_:3},16),(d(!0),i(t,null,f(s.item.items,t=>(d(),n(e,l({ref_for:!0},s.itemProps,{key:t.value,item:t,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onItemSelect:S}),{"item-leading":g(e=>[p(b.$slots,`item-leading`,{item:e.item})]),"item-text":g(e=>[p(b.$slots,`item-text`,{item:e.item})]),"item-trailing":g(e=>[p(b.$slots,`item-trailing`,{item:e.item})]),"item-indicator":g(e=>[p(b.$slots,`item-indicator`,{item:e.item})]),_:3},16,[`item`,`item-indicator-props`,`separator-props`]))),128))]),_:3},16)],64))}});export{b as default};
@@ -1 +0,0 @@
1
- import e from"./combobox-single-option.js";import t from"./combobox-group-option.js";import{isGroupOption as n}from"./shared.js";import{computed as r,createBlock as i,createSlots as a,createTextVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toDisplayString as m,unref as h,useSlots as g,withCtx as _}from"vue";const v=s({name:`SComboboxOption`,__name:`combobox-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`itemSelect`],setup(s,{emit:v}){let y=v,b=g(),x=r(()=>Object.keys(b).filter(e=>e!==`group-label`)),S=e=>{y(`itemSelect`,e)};return(r,g)=>h(n)(s.item)?(d(),i(t,l({key:0},s.groupProps,{item:s.item,"group-label-props":s.groupLabelProps,"item-props":s.itemProps,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onItemSelect:S}),a({"group-label":_(()=>[p(r.$slots,`group-label`,{item:s.item},()=>[o(m(s.item.label),1)])]),_:2},[f(x.value,e=>({name:e,fn:_(t=>[p(r.$slots,e,u(c(t)))])}))]),1040,[`item`,`group-label-props`,`item-props`,`item-indicator-props`,`separator-props`])):(d(),i(e,l({key:1},s.itemProps,{item:s.item,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onItemSelect:S}),a({_:2},[f(x.value,e=>({name:e,fn:_(()=>[p(r.$slots,e,{item:s.item})])}))]),1040,[`item`,`item-indicator-props`,`separator-props`]))}});export{v as default};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{Fragment as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,unref as m,useAttrs as h,withCtx as g}from"vue";import{ComboboxItem as _,ComboboxItemIndicator as v,ComboboxSeparator as y}from"@soybeanjs/headless";const b={class:`truncate`},x=s({name:`SComboboxSingleOption`,inheritAttrs:!1,__name:`combobox-single-option`,props:{item:{},itemIndicatorProps:{},separatorProps:{}},emits:[`itemSelect`],setup(s,{emit:x}){let S=x,C=h();return(h,x)=>(d(),i(t,null,[s.item.separator?(d(),n(m(y),u(l({key:0},s.separatorProps)),null,16)):r(`v-if`,!0),o(m(_),l(m(C),{value:s.item.value,"text-value":s.item.textValue??s.item.label,disabled:s.item.disabled,onSelect:x[0]||=e=>S(`itemSelect`,e)}),{default:g(()=>[f(h.$slots,`item-leading`,{item:s.item},()=>[s.item.icon?(d(),n(e,{key:0,icon:s.item.icon,"aria-hidden":!0},null,8,[`icon`])):r(`v-if`,!0)]),f(h.$slots,`item-text`,{item:s.item},()=>[a(`span`,b,p(s.item.label),1)]),f(h.$slots,`item-trailing`,{item:s.item}),o(m(v),u(c(s.itemIndicatorProps)),{default:g(()=>[f(h.$slots,`item-indicator`,{item:s.item},()=>[o(e,{icon:`lucide:check`,"aria-hidden":!0})])]),_:3},16)]),_:3},16,[`value`,`text-value`,`disabled`])],64))}});export{x as default};
@@ -1 +0,0 @@
1
- function e(e){return`items`in e}function t(t){return t.flatMap(t=>e(t)?t.items:t)}function n(e,n){let r=Array.isArray(e)?e:e?[e]:[],i=new Map;return t(n).forEach(e=>{i.set(e.value,e.label)}),r.map(e=>i.get(e)??e)}export{n as getSelectedLabels,e as isGroupOption};
@@ -1 +0,0 @@
1
- import{useCommandExtraUi as e}from"./context.js";import t from"./command-single-option.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createSlots as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{ListboxGroup as S,ListboxGroupLabel as C,SeparatorRoot as w}from"@soybeanjs/headless";const T=u({name:`SCommandGroupOption`,inheritAttrs:!1,__name:`command-group-option`,props:{item:{},groupLabelProps:{},itemProps:{},itemLabelProps:{},shortcutProps:{},separatorProps:{}},emits:[`select`],setup(u,{emit:T}){let E=u,D=T,O=x(E,[`item`,`groupLabelProps`,`itemProps`,`itemLabelProps`,`shortcutProps`,`separatorProps`]),k=y(),A=r(()=>Object.keys(k)),j=e();return(e,r)=>(m(),o(n,null,[l(v(S),p(d(v(O))),{default:b(()=>[l(v(C),p(d(u.groupLabelProps)),{default:b(()=>[c(_(u.item.label),1)]),_:1},16),(m(!0),o(n,null,h(u.item.items,n=>(m(),i(t,f({key:String(n.value)},{ref_for:!0},u.itemProps,{item:n,"item-label-props":u.itemLabelProps,"shortcut-props":u.shortcutProps,"separator-props":u.separatorProps,onSelect:r[0]||=e=>D(`select`,e)}),s({_:2},[h(A.value,t=>({name:t,fn:b(()=>[g(e.$slots,t,{item:n})])}))]),1040,[`item`,`item-label-props`,`shortcut-props`,`separator-props`]))),128))]),_:3},16),u.item.separator?(m(),i(v(w),f({key:0},u.separatorProps,{class:v(j)?.separator}),null,16,[`class`])):a(`v-if`,!0)],64))}});export{T as default};
@@ -1 +0,0 @@
1
- import e from"./command-single-option.js";import t from"./command-group-option.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,useSlots as u,withCtx as d}from"vue";const f=a({name:`SCommandOption`,inheritAttrs:!1,__name:`command-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemLabelProps:{},shortcutProps:{},separatorProps:{}},emits:[`select`],setup(a,{emit:f}){let p=f,m=u(),h=n(()=>Object.keys(m));return(n,u)=>a.item.items?(s(),r(t,o({key:0},a.groupProps,{item:a.item,"group-label-props":a.groupLabelProps,"item-props":a.itemProps,"item-label-props":a.itemLabelProps,"shortcut-props":a.shortcutProps,"separator-props":a.separatorProps,onSelect:u[0]||=e=>p(`select`,e)}),i({_:2},[c(h.value,e=>({name:e,fn:d(t=>[l(n.$slots,e,{item:t.item})])}))]),1040,[`item`,`group-label-props`,`item-props`,`item-label-props`,`shortcut-props`,`separator-props`])):(s(),r(e,o({key:1},a.itemProps,{item:a.item,"item-label-props":a.itemLabelProps,"shortcut-props":a.shortcutProps,"separator-props":a.separatorProps,onSelect:u[1]||=e=>p(`select`,e)}),i({_:2},[c(h.value,e=>({name:e,fn:d(()=>[l(n.$slots,e,{item:a.item})])}))]),1040,[`item`,`item-label-props`,`shortcut-props`,`separator-props`]))}});export{f as default};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{useCommandExtraUi as t}from"./context.js";import n from"../kbd/kbd.js";import{Fragment as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,mergeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{ListboxItem as v,SeparatorRoot as y}from"@soybeanjs/headless";const b=u({name:`SCommandSingleOption`,inheritAttrs:!1,__name:`command-single-option`,props:{item:{},itemLabelProps:{},shortcutProps:{},separatorProps:{},asChild:{type:Boolean},as:{}},emits:[`select`],setup(u,{emit:b}){let x=u,S=b,C=_(x,[`item`,`itemLabelProps`,`shortcutProps`,`separatorProps`]),w=t();return(t,_)=>(f(),o(r,null,[l(h(v),d(h(C),{value:u.item.value,disabled:u.item.disabled,onSelect:_[0]||=e=>S(`select`,e)}),{default:g(()=>[p(t.$slots,`item-leading`,{},()=>[l(e,{icon:u.item.icon},null,8,[`icon`])]),s(`span`,d({class:h(w)?.itemLabel},u.itemLabelProps),[p(t.$slots,`item-label`,{},()=>[c(m(u.item.label),1)])],16),p(t.$slots,`item-trailing`),u.item.shortcut?(f(),i(n,d({key:0},u.shortcutProps,{value:u.item.shortcut,class:h(w)?.shortcut}),null,16,[`value`,`class`])):a(`v-if`,!0)]),_:3},16,[`value`,`disabled`]),u.item.separator?(f(),i(h(y),d({key:0},u.separatorProps,{class:h(w)?.separator}),null,16,[`class`])):a(`v-if`,!0)],64))}});export{b as default};
@@ -1 +0,0 @@
1
- import{useUiContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`CommandExtraUi`);export{t as provideCommandExtraUi,n as useCommandExtraUi};
@@ -1 +0,0 @@
1
- function e(e){return e.flatMap(e=>e.items?e.items.map(t=>({groupValue:e.value,groupLabel:e.label,groupSeparator:e.separator,...t})):[e])}function t(e,t){return{...e,labelHtml:i(e,t,`label`)}}function n(e){let t=e.reduce((e,t)=>{let{groupValue:n,groupLabel:r,groupSeparator:i,...a}=t;return n?(e[n]||(e[n]={value:n,label:r??n,separator:i}),e[n].items||(e[n].items=[]),e[n].items.push(a)):e[t.label]=a,e},{});return Object.values(t)}function r(e,t){let n=``,r=0,i=!1;for(let a=e.length-1;a>=0;a--){if(e[a]===`>`)i=!0;else if(e[a]===`<`){i=!1,n=e[a]+n;continue}if(i||r++,r<=t)n=e[a]+n;else{n=`...${n}`;break}}return n}function i(e,t,n,i){function a(e,n=[]){e||=``;let i=``,a=0;n.forEach(n=>{if(n.length===2&&n[0]===n[1])return;let r=n[1]+1,o=r-n[0]>=t.length;i+=[e.substring(a,n[0]),o&&`<mark>`,e.substring(n[0],r),o&&`</mark>`].filter(Boolean).join(``),a=r}),i+=e.substring(a);let o=i.indexOf(`<mark>`);return o!==-1&&(i=r(i,i.length-o)),i}let o=e?.matches?.find(e=>(!n||e.key===n)&&!i?.includes(e.key));if(o)return a(o.value,o.indices)}export{t as getCommandHighlightSearchOption,n as getCommandItemOptions,e as getCommandSearchOptions};
@@ -1 +0,0 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import"../../theme/index.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";const 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,18 +0,0 @@
1
- import * as _$vue from "vue";
2
- import { DialogCloseProps } from "@soybeanjs/headless";
3
-
4
- //#region src/components/dialog/dialog-close.vue.d.ts
5
- declare var __VLS_8: {};
6
- type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_8) => any;
8
- };
9
- declare const __VLS_base: _$vue.DefineComponent<DialogCloseProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
- declare const _default: typeof __VLS_export;
12
- type __VLS_WithSlots<T, S> = T & {
13
- new (): {
14
- $slots: S;
15
- };
16
- };
17
- //#endregion
18
- export { _default };
@@ -1 +0,0 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{DialogClose as b,DialogContent as x,DialogOverlay as S,DialogPortal as C,DialogRoot as w,DialogTrigger as T,provideDialogUi as E}from"@soybeanjs/headless";const D=c({name:`SDialogPure`,__name:`dialog-pure`,props:{class:{},size:{},ui:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(c,{emit:D}){let O=c,k=y(O,[`class`,`size`,`ui`,`closable`,`triggerProps`,`contentProps`,`overlayProps`,`portalProps`]),A=D,j=v(A),M=i(()=>e(n({size:O.size,pure:!0}),O.ui,{content:O.class}));return E(M),t(()=>O.size),(e,t)=>(p(),a(g(w),u(g(k),{"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[s(g(T),u(c.triggerProps,{size:c.size,"as-child":``}),{default:_(()=>[m(e.$slots,`trigger`)]),_:3},16,[`size`]),s(g(C),f(l(c.portalProps)),{default:_(()=>[s(g(S),f(l(c.overlayProps)),null,16),s(g(x),u(c.contentProps,h(g(j))),{default:_(()=>[m(e.$slots,`default`,f(l(t))),c.closable?(p(),a(g(b),{key:0,class:d(M.value.closable),"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(r,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{D as default};
@@ -1,47 +0,0 @@
1
- import { DialogPureProps } from "./types.js";
2
- import * as _$vue from "vue";
3
- import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
-
5
- //#region src/components/dialog/dialog-pure.vue.d.ts
6
- declare var __VLS_16: {}, __VLS_35: {
7
- open: boolean | undefined;
8
- close: () => void;
9
- }, __VLS_43: {};
10
- type __VLS_Slots = {} & {
11
- trigger?: (props: typeof __VLS_16) => any;
12
- } & {
13
- default?: (props: typeof __VLS_35) => any;
14
- } & {
15
- close?: (props: typeof __VLS_43) => any;
16
- };
17
- declare const __VLS_base: _$vue.DefineComponent<DialogPureProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
18
- "update:open": (value: boolean) => any;
19
- escapeKeyDown: (event: KeyboardEvent) => any;
20
- pointerDownOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any;
21
- focusOutside: (event: _$_soybeanjs_headless0.FocusOutsideEvent) => any;
22
- interactOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any;
23
- openAutoFocus: (event: Event) => any;
24
- closeAutoFocus: (event: Event) => any;
25
- }, string, _$vue.PublicProps, Readonly<DialogPureProps> & Readonly<{
26
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
27
- onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
28
- onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
29
- onFocusOutside?: ((event: _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
30
- onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
31
- onOpenAutoFocus?: ((event: Event) => any) | undefined;
32
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
33
- }>, {
34
- open: boolean;
35
- defaultOpen: boolean;
36
- modal: boolean;
37
- closable: boolean;
38
- }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
39
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
- declare const _default: typeof __VLS_export;
41
- type __VLS_WithSlots<T, S> = T & {
42
- new (): {
43
- $slots: S;
44
- };
45
- };
46
- //#endregion
47
- export { _default };
@@ -1 +0,0 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import"../../theme/index.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";const c=n({name:`SDrawerClose`,__name:`drawer-close`,props:{beforeClose:{type:Function},asChild:{type:Boolean},as:{}},setup(n){let{size:c}=e(`DrawerClose`);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,18 +0,0 @@
1
- import * as _$vue from "vue";
2
- import { DialogCloseProps } from "@soybeanjs/headless";
3
-
4
- //#region src/components/drawer/drawer-close.vue.d.ts
5
- declare var __VLS_8: {};
6
- type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_8) => any;
8
- };
9
- declare const __VLS_base: _$vue.DefineComponent<DialogCloseProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<DialogCloseProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
- declare const _default: typeof __VLS_export;
12
- type __VLS_WithSlots<T, S> = T & {
13
- new (): {
14
- $slots: S;
15
- };
16
- };
17
- //#endregion
18
- export { _default };
@@ -1,5 +0,0 @@
1
- import { UseLoadingBarReturn } from "./types.js";
2
- //#region src/components/progress/context.d.ts
3
- declare const useLoadingBar: () => UseLoadingBarReturn;
4
- //#endregion
5
- export { useLoadingBar };
@@ -1 +0,0 @@
1
- import{shallowRef as e}from"vue";import{useContext as t}from"@soybeanjs/headless/composables";function n(e){return Math.min(100,Math.max(0,e))}function r(e){return e<20?12:e<50?8:e<80?4:2}const[i,a]=t(`UiLoadingBarProvider`,t=>{let i=e(!1),a=e(0),o=e(t.color.value),s,c;function l(){s&&=(clearInterval(s),void 0)}function u(){c&&=(clearTimeout(c),void 0)}function d(){l(),u()}function f(){d(),i.value=!1,a.value=0,o.value=t.color.value}function p(){u(),c=setTimeout(()=>{c=void 0,i.value=!1,a.value=0,o.value=t.color.value},200)}function m(){l(),s=setInterval(()=>{if(a.value>=92){l();return}a.value=n(a.value+r(a.value))},200)}let h=e=>{u(),l(),i.value=!0,o.value=t.color.value,a.value=n(e),a.value>=100&&p()},g=()=>{u(),i.value=!0,o.value=t.color.value,a.value=Math.max(a.value,8),m()},_=()=>{l(),u(),i.value=!0,o.value=t.color.value,a.value=100,p()},v=()=>{l(),u(),i.value=!0,o.value=t.errorColor.value,a.value=100,p()},y=()=>{f()},b={start:g,finish:_,error:v,set:h,clear:y};return typeof window<`u`&&(window.__SoybeanUI_useLoadingBar=b),{useLoadingBar:b,clear:y,visible:i,modelValue:a,color:o}}),o=()=>{if(typeof window<`u`&&window.__SoybeanUI_useLoadingBar)return window.__SoybeanUI_useLoadingBar;let{useLoadingBar:e}=a(`UiLoadingBarConsumer`);return e};export{i as provideLoadingBarProviderContext,o as useLoadingBar};
@@ -1 +0,0 @@
1
- import{mergeUi as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"./progress.js";import{provideLoadingBarProviderContext as n}from"./context.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,defineComponent as c,onBeforeUnmount as l,openBlock as u,renderSlot as d,unref as f}from"vue";import{transformPropsToContext as p}from"@soybeanjs/headless/shared";const m=c({name:`SLoadingBar`,__name:`loading-bar`,props:{color:{default:`primary`},errorColor:{default:`destructive`},size:{default:`xs`},ui:{default:()=>({})}},setup(c){let m=c,h={root:`pointer-events-none fixed inset-x-0 top-0 z-100 rounded-none bg-transparent shadow-none`,indicator:`rounded-none shadow-sm transition-[transform,width] duration-200 ease-out`},{clear:g,color:_,modelValue:v,visible:y}=n(p(m,[`color`,`errorColor`])),b=i(()=>e(h,m.ui));return l(()=>{g()}),(e,n)=>(u(),s(r,null,[f(y)?(u(),a(t,{key:0,"model-value":f(v),color:f(_),size:c.size,ui:b.value,"aria-label":`Loading`},null,8,[`model-value`,`color`,`size`,`ui`])):o(`v-if`,!0),d(e.$slots,`default`)],64))}});export{m as default};
@@ -1,25 +0,0 @@
1
- import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
- import { LoadingBarProviderProps } from "./types.js";
3
- import * as _$vue from "vue";
4
- import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
5
-
6
- //#region src/components/progress/loading-bar.vue.d.ts
7
- declare var __VLS_6: {};
8
- type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_6) => any;
10
- };
11
- declare const __VLS_base: _$vue.DefineComponent<LoadingBarProviderProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<LoadingBarProviderProps> & Readonly<{}>, {
12
- size: ThemeSize;
13
- color: ThemeColor;
14
- ui: Partial<_$_soybeanjs_headless0.ProgressUi>;
15
- errorColor: ThemeColor;
16
- }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
17
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
- declare const _default: typeof __VLS_export;
19
- type __VLS_WithSlots<T, S> = T & {
20
- new (): {
21
- $slots: S;
22
- };
23
- };
24
- //#endregion
25
- export { _default };
@@ -1,7 +0,0 @@
1
- //#region src/components/progress/shared.d.ts
2
- /** Resolve linear progress translateX for LTR and RTL layouts. */
3
- declare function getProgressIndicatorStyle(valuePercent: number | null, direction?: 'ltr' | 'rtl'): {
4
- transform: string;
5
- } | undefined;
6
- //#endregion
7
- export { getProgressIndicatorStyle };
@@ -1 +0,0 @@
1
- function e(e,t=`ltr`){if(e!==null)return{transform:`translateX(${t===`rtl`?100-e:-(100-e)}%)`}}export{e as getProgressIndicatorStyle};
@@ -1 +0,0 @@
1
- import e from"./select-single-option.js";import{Fragment as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{SelectGroup as _,SelectGroupLabel as v,SelectSeparator as y}from"@soybeanjs/headless";const b=s({name:`SSelectGroupOption`,__name:`select-group-option`,props:{item:{},groupLabelProps:{},itemProps:{},itemTextProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(s,{emit:b}){let x=b;return(b,S)=>(d(),n(h(_),null,{default:g(()=>[o(h(v),u(c(s.groupLabelProps)),{default:g(()=>[p(b.$slots,`group-label`,{},()=>[a(m(s.item.label),1)])]),_:3},16),s.item.separator?(d(),n(h(y),u(l({key:0},s.separatorProps)),null,16)):r(`v-if`,!0),(d(!0),i(t,null,f(s.item.items,t=>(d(),n(e,l({key:String(t.value)},{ref_for:!0},s.itemProps,{item:t,value:t.value,"text-value":t.textValue,disabled:t.disabled,"item-text-props":s.itemTextProps,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onSelect:S[0]||=e=>x(`select`,e)}),{"item-leading":g(()=>[p(b.$slots,`item-leading`,{item:t})]),"item-text":g(()=>[p(b.$slots,`item-text`,{item:t})]),"item-trailing":g(()=>[p(b.$slots,`item-trailing`,{item:t})]),"item-indicator":g(()=>[p(b.$slots,`item-indicator`,{item:t})]),_:2},1040,[`item`,`value`,`text-value`,`disabled`,`item-text-props`,`item-indicator-props`,`separator-props`]))),128))]),_:3}))}});export{b as default};
@@ -1 +0,0 @@
1
- import e from"./select-single-option.js";import t from"./select-group-option.js";import{isGroupOption as n}from"./shared.js";import{computed as r,createBlock as i,createSlots as a,createTextVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toDisplayString as m,unref as h,useSlots as g,withCtx as _}from"vue";const v=s({name:`SSelectOption`,__name:`select-option`,props:{item:{},groupProps:{},groupLabelProps:{},itemProps:{},itemTextProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(s,{emit:v}){let y=v,b=g(),x=r(()=>Object.keys(b).filter(e=>e!==`group-label`));return(r,g)=>h(n)(s.item)?(d(),i(t,l({key:0},s.groupProps,{item:s.item,"group-label-props":s.groupLabelProps,"item-props":s.itemProps,"item-text-props":s.itemTextProps,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onSelect:g[0]||=e=>y(`select`,e)}),a({"group-label":_(()=>[p(r.$slots,`group-label`,{item:s.item},()=>[o(m(s.item.label),1)])]),_:2},[f(x.value,e=>({name:e,fn:_(t=>[p(r.$slots,e,u(c(t)))])}))]),1040,[`item`,`group-label-props`,`item-props`,`item-text-props`,`item-indicator-props`,`separator-props`])):(d(),i(e,l({key:1},s.itemProps,{item:s.item,value:s.item.value,"text-value":s.item.textValue,disabled:s.item.disabled,"item-text-props":s.itemTextProps,"item-indicator-props":s.itemIndicatorProps,"separator-props":s.separatorProps,onSelect:g[1]||=e=>y(`select`,e)}),a({_:2},[f(x.value,e=>({name:e,fn:_(()=>[p(r.$slots,e,{item:s.item})])}))]),1040,[`item`,`value`,`text-value`,`disabled`,`item-text-props`,`item-indicator-props`,`separator-props`]))}});export{v as default};
@@ -1 +0,0 @@
1
- import e from"../icon/icon.js";import{Fragment as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,unref as m,useAttrs as h,withCtx as g}from"vue";import{SelectItem as _,SelectItemIndicator as v,SelectItemText as y,SelectSeparator as b}from"@soybeanjs/headless";const x=s({name:`SSelectSingleOption`,inheritAttrs:!1,__name:`select-single-option`,props:{item:{},itemTextProps:{},itemIndicatorProps:{},separatorProps:{}},emits:[`select`],setup(s,{emit:x}){let S=x,C=h();return(h,x)=>(d(),i(t,null,[o(m(_),l(m(C),{value:s.item.value,"text-value":s.item.textValue,disabled:s.item.disabled,onSelect:x[0]||=e=>S(`select`,e)}),{default:g(()=>[f(h.$slots,`item-leading`,{},()=>[o(e,{icon:s.item.icon},null,8,[`icon`])]),o(m(y),u(c(s.itemTextProps)),{default:g(()=>[f(h.$slots,`item-text`,{},()=>[a(p(s.item.label),1)])]),_:3},16),f(h.$slots,`item-trailing`),o(m(v),u(c(s.itemIndicatorProps)),{default:g(()=>[f(h.$slots,`item-indicator`,{},()=>[o(e,{icon:`lucide:check`})])]),_:3},16)]),_:3},16,[`value`,`text-value`,`disabled`]),s.item.separator?(d(),n(m(b),u(l({key:0},s.separatorProps)),null,16)):r(`v-if`,!0)],64))}});export{x as default};
@@ -1 +0,0 @@
1
- function e(e){return`items`in e}export{e as isGroupOption};