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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +4 -4
  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 +1 -2
  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 +48 -30
  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
@@ -0,0 +1 @@
1
+ import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as r}from"../button/variants.js";import{dialogVariants as i}from"./variants.js";import{computed as a,createBlock as o,defineComponent as s,openBlock as c,unref as l}from"vue";import{DialogProvider as u,provideDialogUi as d}from"@soybeanjs/headless";const f=s({name:`SDialogProvider`,__name:`dialog-provider`,setup(s){return d(a(()=>t(e(i({size:`md`}),{cancel:r({variant:`pure`,size:n.md}),confirm:r({variant:`solid`,size:n.md}),close:r({variant:`ghost`,color:`accent`,size:n.md,shape:`square`,fitContent:!0})})))),(e,t)=>(c(),o(l(u)))}});export{f as default};
@@ -0,0 +1,7 @@
1
+ import * as _$vue from "vue";
2
+
3
+ //#region src/components/dialog/dialog-provider.vue.d.ts
4
+ declare const __VLS_export: _$vue.DefineComponent<{}, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ //#endregion
7
+ export { _default };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{DialogClose as C,DialogContent as w,DialogDescription as T,DialogFooter as E,DialogHeader as D,DialogOverlay as O,DialogPortal as k,DialogRoot as A,DialogTitle as j,DialogTrigger as M,provideDialogUi as N}from"@soybeanjs/headless";const P=l({name:`SDialog`,__name:`dialog`,props:{class:{},size:{},ui:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(l,{emit:P}){let F=l,I=S(F,[`class`,`size`,`ui`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),L=P,R=y(),z=x(L),B=i(()=>e(n({size:F.size}),F.ui,{content:F.class}));return N(B),t(()=>F.size),(e,t)=>(m(),a(v(A),d(v(I),{"onUpdate:open":t[0]||=e=>L(`update:open`,e)}),{default:b(t=>[c(v(M),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(k),p(u(l.portalProps)),{default:b(()=>[c(v(O),p(u(l.overlayProps)),null,16),c(v(w),d(l.contentProps,_(v(z))),{default:b(()=>[c(v(D),p(u(l.headerProps)),{default:b(()=>[c(v(j),p(u(l.titleProps)),{default:b(()=>[h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(R).description||l.description?(m(),a(v(T),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0),l.closable?(m(),a(v(C),{key:1,class:f(B.value.closable),"as-child":``},{default:b(()=>[h(e.$slots,`close`,{},()=>[c(r,{size:l.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(R).footer?(m(),a(v(E),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{P as default};
1
+ import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as r}from"../button/variants.js";import{dialogVariants as i}from"./variants.js";import{computed as a,createBlock as o,createSlots as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderList as p,renderSlot as m,toHandlers as h,unref as g,useSlots as _,withCtx as v}from"vue";import{useForwardListeners as y,useOmitProps as b}from"@soybeanjs/headless/composables";import{DialogCompact as x,provideDialogUi as S}from"@soybeanjs/headless";import{keysOf as C}from"@soybeanjs/utils";const w=c({name:`SDialog`,__name:`dialog`,props:{class:{},size:{},ui:{},title:{},description:{},icon:{},showClose:{type:Boolean,default:!0},pure:{type:Boolean},showCancel:{type:[String,Boolean]},cancelText:{},showConfirm:{type:Boolean},confirmText:{},triggerProps:{},overlayProps:{},portalProps:{},popupProps:{},headerProps:{},contentProps:{},footerProps:{},titleProps:{},descriptionProps:{},closeProps:{},cancelProps:{},confirmProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},isAlert:{type:Boolean},alertType:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`close`,`confirm`,`cancel`],setup(c,{emit:w}){let T=c,E=w,D=_(),O=b(T,[`class`,`size`,`ui`]),k=y(E),A=a(()=>C(D));return S(a(()=>t(e(i({size:T.size,pure:T.pure}),{cancel:r({variant:`pure`,size:n[T.size??`md`]}),confirm:r({variant:`solid`,size:n[T.size??`md`]}),close:r({variant:`ghost`,color:`accent`,size:n[T.size??`md`],shape:`square`,fitContent:!0})}),T.ui,{popup:T.class}))),(e,t)=>(f(),o(g(x),u(g(O),h(g(k))),s({_:2},[p(A.value,t=>({name:t,fn:v(n=>[m(e.$slots,t,d(l(n)))])}))]),1040))}});export{w as default};
@@ -1,35 +1,13 @@
1
- import { DialogProps } from "./types.js";
1
+ import { DialogProps, DialogSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/dialog/dialog.vue.d.ts
6
- declare var __VLS_16: {}, __VLS_47: {
7
- open: boolean | undefined;
8
- close: () => void;
9
- }, __VLS_55: {
10
- open: boolean | undefined;
11
- close: () => void;
12
- }, __VLS_63: {}, __VLS_70: {
13
- open: boolean | undefined;
14
- close: () => void;
15
- }, __VLS_78: {
16
- open: boolean | undefined;
17
- close: () => void;
18
- };
19
- type __VLS_Slots = {} & {
20
- trigger?: (props: typeof __VLS_16) => any;
21
- } & {
22
- title?: (props: typeof __VLS_47) => any;
23
- } & {
24
- description?: (props: typeof __VLS_55) => any;
25
- } & {
26
- close?: (props: typeof __VLS_63) => any;
27
- } & {
28
- default?: (props: typeof __VLS_70) => any;
29
- } & {
30
- footer?: (props: typeof __VLS_78) => any;
31
- };
6
+ type __VLS_Slots = DialogSlots;
32
7
  declare const __VLS_base: _$vue.DefineComponent<DialogProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8
+ close: (event: MouseEvent) => any;
9
+ cancel: (event: MouseEvent) => any;
10
+ confirm: (event: MouseEvent) => any;
33
11
  "update:open": (value: boolean) => any;
34
12
  escapeKeyDown: (event: KeyboardEvent) => any;
35
13
  pointerDownOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any;
@@ -38,6 +16,9 @@ declare const __VLS_base: _$vue.DefineComponent<DialogProps, {}, {}, {}, {}, _$v
38
16
  openAutoFocus: (event: Event) => any;
39
17
  closeAutoFocus: (event: Event) => any;
40
18
  }, string, _$vue.PublicProps, Readonly<DialogProps> & Readonly<{
19
+ onClose?: ((event: MouseEvent) => any) | undefined;
20
+ onCancel?: ((event: MouseEvent) => any) | undefined;
21
+ onConfirm?: ((event: MouseEvent) => any) | undefined;
41
22
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
42
23
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
43
24
  onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -46,10 +27,9 @@ declare const __VLS_base: _$vue.DefineComponent<DialogProps, {}, {}, {}, {}, _$v
46
27
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
28
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
29
  }>, {
30
+ showClose: boolean;
49
31
  open: boolean;
50
- defaultOpen: boolean;
51
32
  modal: boolean;
52
- closable: boolean;
53
33
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
54
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
35
  declare const _default: typeof __VLS_export;
@@ -1,6 +1,5 @@
1
- import { DialogEmits, DialogExtendedUi, DialogExtendedUiSlot, DialogExtraUiSlot, DialogProps, DialogPureEmits, DialogPureProps } from "./types.js";
1
+ import { DialogEmits, DialogProps, DialogSlots } from "./types.js";
2
2
  import { _default } from "./dialog.vue.js";
3
- import { _default as _default$1 } from "./dialog-close.vue.js";
4
- import { _default as _default$2 } from "./dialog-pure.vue.js";
5
- import { DialogCloseProps, DialogContentEmits, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogOverlayProps, DialogRootEmits, DialogRootProps, DialogTitleProps, DialogTriggerProps } from "@soybeanjs/headless/dialog";
6
- export { type DialogCloseProps, type DialogContentEmits, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogHeaderProps, type DialogOverlayProps, type DialogRootEmits, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps };
3
+ import { _default as _default$1 } from "./dialog-provider.vue.js";
4
+ import { dialog } from "@soybeanjs/headless";
5
+ export { dialog };
@@ -1 +1 @@
1
- import"./dialog.js";import"./dialog-close.js";import"./dialog-pure.js";
1
+ import"./dialog-provider.js";import"./dialog.js";import{dialog as e}from"@soybeanjs/headless";export{e as dialog};
@@ -1,43 +1,16 @@
1
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";
2
+ import { ClassValue, DialogCompactEmits, DialogCompactProps, DialogCompactSlots, DialogUi } from "@soybeanjs/headless";
3
3
 
4
4
  //#region src/components/dialog/types.d.ts
5
- type DialogExtraUiSlot = 'closable';
6
- type DialogExtendedUiSlot = DialogUiSlot | DialogExtraUiSlot;
7
- type DialogExtendedUi = UiClass<DialogExtendedUiSlot>;
8
- interface DialogProps extends DialogRootProps {
5
+ interface DialogProps extends DialogCompactProps {
9
6
  /**
10
- * the content class of the dialog
7
+ * the popup class of the dialog
11
8
  */
12
9
  class?: ClassValue;
13
10
  size?: ThemeSize;
14
- ui?: Partial<DialogExtendedUi>;
15
- title?: string;
16
- description?: string;
17
- closable?: boolean;
18
- triggerProps?: DialogTriggerProps;
19
- contentProps?: DialogContentProps;
20
- headerProps?: DialogHeaderProps;
21
- footerProps?: DialogFooterProps;
22
- titleProps?: DialogTitleProps;
23
- descriptionProps?: DialogDescriptionProps;
24
- overlayProps?: DialogOverlayProps;
25
- portalProps?: DialogPortalProps;
11
+ ui?: Partial<DialogUi>;
26
12
  }
27
- type DialogEmits = DialogRootEmits & DialogContentEmits;
28
- interface DialogPureProps extends DialogRootProps {
29
- /**
30
- * the content class of the dialog
31
- */
32
- class?: ClassValue;
33
- size?: ThemeSize;
34
- ui?: Partial<DialogExtendedUi>;
35
- closable?: boolean;
36
- triggerProps?: DialogTriggerProps;
37
- contentProps?: DialogContentProps;
38
- overlayProps?: DialogOverlayProps;
39
- portalProps?: DialogPortalProps;
40
- }
41
- type DialogPureEmits = DialogEmits;
13
+ type DialogEmits = DialogCompactEmits;
14
+ type DialogSlots = DialogCompactSlots;
42
15
  //#endregion
43
- export { DialogEmits, DialogExtendedUi, DialogExtendedUiSlot, DialogExtraUiSlot, DialogProps, DialogPureEmits, DialogPureProps };
16
+ export { DialogEmits, DialogProps, DialogSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{overlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],content:[`fixed left-[50%] top-[50%] z-50 flex flex-col w-max lt-sm:min-w-full lt-sm:max-w-full border bg-background shadow-lg outline-none translate-x-[-50%] translate-y-[-50%] duration-200 rounded-lg`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2`],header:`flex flex-col text-center sm:text-left`,title:`flex items-center font-semibold leading-none tracking-tight m-0`,description:`text-muted-foreground m-0`,closable:`absolute`,footer:`flex flex-col-reverse sm:flex-row sm:justify-end`},variants:{size:{xs:{content:`gap-y-1.5 min-w-xs max-w-3xl px-2 py-1.5 text-2xs`,header:`gap-y-1.5`,title:`gap-x-1.5 text-xs`,description:`text-2xs`,closable:`right-1.5 top-1.5`,footer:`gap-1.5`},sm:{content:`gap-y-2 min-w-sm max-w-4xl px-3 py-2 text-xs`,header:`gap-y-2`,title:`gap-x-1.75 text-sm`,description:`text-xs`,closable:`right-1.75 top-1.75`,footer:`gap-2`},md:{content:`gap-y-3 min-w-md max-w-5xl px-4 py-3 text-sm`,header:`gap-y-3`,title:`gap-x-2 text-base`,description:`text-sm`,closable:`right-2 top-2`,footer:`gap-3`},lg:{content:`gap-y-4 min-w-lg max-w-6xl px-5 py-4 text-base`,header:`gap-y-4`,title:`gap-x-2.5 text-lg`,description:`text-base`,closable:`right-2.5 top-2.5`,footer:`gap-4`},xl:{content:`gap-y-5 min-w-xl max-w-7xl px-6 py-5 text-lg`,header:`gap-y-5`,title:`gap-x-3 text-xl`,description:`text-lg`,closable:`right-3 top-3`,footer:`gap-5`},"2xl":{content:`gap-y-6 min-w-2xl max-w-7xl px-7 py-6 text-xl`,header:`gap-y-6`,title:`gap-x-3.5 text-2xl`,description:`text-xl`,closable:`right-4 top-4`,footer:`gap-6`}},pure:{true:{content:`p-0 gap-0 border-none`}}},defaultVariants:{size:`md`}});export{t as dialogVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{overlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],popup:[`group fixed start-1/2 top-1/2 z-50 flex flex-col w-max lt-sm:min-w-full lt-sm:max-w-full border bg-background shadow-lg outline-none translate-x-[-50%] translate-y-[-50%] duration-200 rounded-lg`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2`],header:`flex flex-col text-center sm:text-start`,title:`flex items-center font-semibold leading-none tracking-tight m-0`,icon:`group-data-[type=info]:text-info group-data-[type=success]:text-success group-data-[type=warning]:text-warning group-data-[type=error]:text-destructive`,description:`text-muted-foreground m-0`,close:`absolute`,content:`grow overflow-auto`,footer:`flex flex-col-reverse sm:flex-row sm:justify-end`,cancel:``,confirm:``},variants:{size:{xs:{popup:`gap-y-1.5 min-w-xs max-w-3xl px-2 py-1.5 text-2xs`,header:`gap-y-1.5`,title:`gap-x-1.5 text-xs`,description:`text-2xs`,close:`end-1.5 top-1.5`,footer:`gap-1.5`},sm:{popup:`gap-y-2 min-w-sm max-w-4xl px-3 py-2 text-xs`,header:`gap-y-2`,title:`gap-x-1.75 text-sm`,description:`text-xs`,close:`end-1.75 top-1.75`,footer:`gap-2`},md:{popup:`gap-y-3 min-w-md max-w-5xl px-4 py-3 text-sm`,header:`gap-y-3`,title:`gap-x-2 text-base`,description:`text-sm`,close:`end-2 top-2`,footer:`gap-3`},lg:{popup:`gap-y-4 min-w-lg max-w-6xl px-5 py-4 text-base`,header:`gap-y-4`,title:`gap-x-2.5 text-lg`,description:`text-base`,close:`end-2.5 top-2.5`,footer:`gap-4`},xl:{popup:`gap-y-5 min-w-xl max-w-7xl px-6 py-5 text-lg`,header:`gap-y-5`,title:`gap-x-3 text-xl`,description:`text-lg`,close:`end-3 top-3`,footer:`gap-5`},"2xl":{popup:`gap-y-6 min-w-2xl max-w-7xl px-7 py-6 text-xl`,header:`gap-y-6`,title:`gap-x-3.5 text-2xl`,description:`text-xl`,close:`end-4 top-4`,footer:`gap-6`}},pure:{true:{popup:`p-0 gap-0 border-none`}}},defaultVariants:{size:`md`}});export{t as dialogVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../button/button-icon.js";import{drawerVariants as i}from"./variants.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{DialogClose as T,DialogContent as E,DialogDescription as D,DialogFooter as O,DialogHeader as k,DialogOverlay as A,DialogPortal as j,DialogRoot as M,DialogTitle as N,DialogTrigger as P,provideDialogUi as F}from"@soybeanjs/headless";const I=d({name:`SDrawer`,__name:`drawer`,props:{side:{},ui:{},class:{},size:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:I}){let L=d,R=w(L,[`size`,`ui`,`side`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),z=I,B=x(),V=C(z),H=a(()=>{let t=n({size:L.size}),r=i({size:L.size,side:L.side});return e({...t,...r},L.ui)});return F(H),t(()=>L.size),(e,t)=>(g(),o(b(M),p(b(R),{"onUpdate:open":t[0]||=e=>z(`update:open`,e)}),{default:S(t=>[u(b(P),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(b(j),h(f(d.portalProps)),{default:S(()=>[u(b(A),h(f(d.overlayProps)),null,16),u(b(E),p(d.contentProps,y(b(V))),{default:S(()=>[u(b(k),h(f(d.headerProps)),{default:S(()=>[u(b(N),h(f(d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(v(d.title),1)])]),_:2},1040),b(B).description||d.description?(g(),o(b(D),h(p({key:0},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(v(d.description),1)])]),_:2},1040)):s(`v-if`,!0),d.closable?(g(),o(b(T),{key:1,class:m(H.value.closable),"as-child":``},{default:S(()=>[_(e.$slots,`close`,{},()=>[u(r,{size:d.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):s(`v-if`,!0)]),_:2},1040),c(`div`,{class:m(H.value.main)},[_(e.$slots,`default`,h(f(t)))],2),b(B).footer?(g(),o(b(O),h(p({key:0},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):s(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
1
+ import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as r}from"../button/variants.js";import{dialogVariants as i}from"../dialog/variants.js";import{drawerVariants as a}from"./variants.js";import{computed as o,createBlock as s,createSlots as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,toHandlers as g,unref as _,useSlots as v,withCtx as y}from"vue";import{useForwardListeners as b,useOmitProps as x}from"@soybeanjs/headless/composables";import{DialogCompact as S,provideDialogUi as C}from"@soybeanjs/headless";import{keysOf as w}from"@soybeanjs/utils";const T=l({name:`SDrawer`,__name:`drawer`,props:{side:{},class:{},size:{},ui:{},title:{},description:{},icon:{},showClose:{type:Boolean,default:!0},pure:{type:Boolean},showCancel:{type:[String,Boolean]},cancelText:{},showConfirm:{type:Boolean},confirmText:{},triggerProps:{},overlayProps:{},portalProps:{},popupProps:{},headerProps:{},contentProps:{},footerProps:{},titleProps:{},descriptionProps:{},closeProps:{},cancelProps:{},confirmProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},isAlert:{type:Boolean},alertType:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`close`,`confirm`,`cancel`],setup(l,{emit:T}){let E=l,D=T,O=v(),k=x(E,[`class`,`size`,`ui`]),A=b(D),j=o(()=>w(O));return C(o(()=>{let o=i({size:E.size,pure:E.pure});return o.popup=a({size:E.size,side:E.side}).popup,t(e(o,{cancel:r({variant:`pure`,size:n[E.size??`md`]}),confirm:r({variant:`solid`,size:n[E.size??`md`]}),close:r({variant:`ghost`,color:`accent`,size:n[E.size??`md`],shape:`square`,fitContent:!0})}),E.ui,{popup:E.class})})),(e,t)=>(p(),s(_(S),d(_(k),g(_(A))),c({_:2},[m(j.value,t=>({name:t,fn:y(n=>[h(e.$slots,t,f(u(n)))])}))]),1040))}});export{T as default};
@@ -1,35 +1,13 @@
1
- import { DrawerProps } from "./types.js";
1
+ import { DrawerProps, DrawerSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/drawer/drawer.vue.d.ts
6
- declare var __VLS_16: {}, __VLS_47: {
7
- open: boolean | undefined;
8
- close: () => void;
9
- }, __VLS_55: {
10
- open: boolean | undefined;
11
- close: () => void;
12
- }, __VLS_63: {}, __VLS_70: {
13
- open: boolean | undefined;
14
- close: () => void;
15
- }, __VLS_78: {
16
- open: boolean | undefined;
17
- close: () => void;
18
- };
19
- type __VLS_Slots = {} & {
20
- trigger?: (props: typeof __VLS_16) => any;
21
- } & {
22
- title?: (props: typeof __VLS_47) => any;
23
- } & {
24
- description?: (props: typeof __VLS_55) => any;
25
- } & {
26
- close?: (props: typeof __VLS_63) => any;
27
- } & {
28
- default?: (props: typeof __VLS_70) => any;
29
- } & {
30
- footer?: (props: typeof __VLS_78) => any;
31
- };
6
+ type __VLS_Slots = DrawerSlots;
32
7
  declare const __VLS_base: _$vue.DefineComponent<DrawerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8
+ close: (event: MouseEvent) => any;
9
+ cancel: (event: MouseEvent) => any;
10
+ confirm: (event: MouseEvent) => any;
33
11
  "update:open": (value: boolean) => any;
34
12
  escapeKeyDown: (event: KeyboardEvent) => any;
35
13
  pointerDownOutside: (event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any;
@@ -38,6 +16,9 @@ declare const __VLS_base: _$vue.DefineComponent<DrawerProps, {}, {}, {}, {}, _$v
38
16
  openAutoFocus: (event: Event) => any;
39
17
  closeAutoFocus: (event: Event) => any;
40
18
  }, string, _$vue.PublicProps, Readonly<DrawerProps> & Readonly<{
19
+ onClose?: ((event: MouseEvent) => any) | undefined;
20
+ onCancel?: ((event: MouseEvent) => any) | undefined;
21
+ onConfirm?: ((event: MouseEvent) => any) | undefined;
41
22
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
42
23
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
43
24
  onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -46,10 +27,9 @@ declare const __VLS_base: _$vue.DefineComponent<DrawerProps, {}, {}, {}, {}, _$v
46
27
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
28
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
29
  }>, {
30
+ showClose: boolean;
49
31
  open: boolean;
50
- defaultOpen: boolean;
51
32
  modal: boolean;
52
- closable: boolean;
53
33
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
54
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
35
  declare const _default: typeof __VLS_export;
@@ -1,3 +1,2 @@
1
- import { DrawerEmits, DrawerExtendedUi, DrawerExtraUiSlot, DrawerProps } from "./types.js";
2
- import { _default } from "./drawer.vue.js";
3
- import { _default as _default$1 } from "./drawer-close.vue.js";
1
+ import { DrawerEmits, DrawerProps, DrawerSlots } from "./types.js";
2
+ import { _default } from "./drawer.vue.js";
@@ -1 +1 @@
1
- import"./drawer.js";import"./drawer-close.js";
1
+ import"./drawer.js";
@@ -1,13 +1,11 @@
1
- import { DialogEmits, DialogExtendedUiSlot, DialogProps } from "../dialog/types.js";
2
- import { Side, UiClass } from "@soybeanjs/headless";
1
+ import { DialogEmits, DialogProps, DialogSlots } from "../dialog/types.js";
2
+ import { Side } from "@soybeanjs/headless";
3
3
 
4
4
  //#region src/components/drawer/types.d.ts
5
- type DrawerExtraUiSlot = 'main';
6
- type DrawerExtendedUi = UiClass<DialogExtendedUiSlot | DrawerExtraUiSlot>;
7
5
  interface DrawerProps extends DialogProps {
8
6
  side?: Side;
9
- ui?: Partial<DrawerExtendedUi>;
10
7
  }
11
8
  type DrawerEmits = DialogEmits;
9
+ type DrawerSlots = DialogSlots;
12
10
  //#endregion
13
- export { DrawerEmits, DrawerExtendedUi, DrawerExtraUiSlot, DrawerProps };
11
+ export { DrawerEmits, DrawerProps, DrawerSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{content:[`fixed z-50 flex flex-col justify-between items-stretch border bg-background rounded-md outline-none transition ease-in-out`,`data-[state=open]:animate-in data-[state=open]:duration-500`,`data-[state=closed]:animate-out data-[state=closed]:duration-300`],main:`grow overflow-auto`},variants:{size:{xs:{content:`gap-y-1.5 px-2 py-1.5 text-2xs`},sm:{content:`gap-y-2 px-3 py-2 text-xs`},md:{content:`gap-y-3 px-4 py-3 text-sm`},lg:{content:`gap-y-4 px-5 py-4 text-base`},xl:{content:`gap-y-5 px-6 py-5 text-lg`},"2xl":{content:`gap-y-6 px-7 py-6 text-xl`}},side:{top:{content:`inset-x-0 top-0 border-b rounded-t-0 data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top`},bottom:{content:`inset-x-0 bottom-0 border-t rounded-b-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom`},left:{content:`inset-y-0 left-0 h-full w-3/4 border-r rounded-l-0 data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left sm:max-w-sm`},right:{content:`inset-y-0 right-0 h-full w-3/4 border-l rounded-r-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right sm:max-w-sm`}}},defaultVariants:{size:`md`,side:`right`}});export{t as drawerVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{popup:[`fixed z-50 flex flex-col justify-between items-stretch border bg-background rounded-md outline-none transition ease-in-out`,`data-[state=open]:animate-in data-[state=open]:duration-500`,`data-[state=closed]:animate-out data-[state=closed]:duration-300`]},variants:{size:{xs:{popup:`gap-y-1.5 px-2 py-1.5 text-2xs`},sm:{popup:`gap-y-2 px-3 py-2 text-xs`},md:{popup:`gap-y-3 px-4 py-3 text-sm`},lg:{popup:`gap-y-4 px-5 py-4 text-base`},xl:{popup:`gap-y-5 px-6 py-5 text-lg`},"2xl":{popup:`gap-y-6 px-7 py-6 text-xl`}},side:{top:{popup:`inset-x-0 top-0 border-b rounded-t-0 data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top`},bottom:{popup:`inset-x-0 bottom-0 border-t rounded-b-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom`},left:{popup:`inset-y-0 left-0 h-full w-3/4 border-r rounded-l-0 data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left sm:max-w-sm`},right:{popup:`inset-y-0 right-0 h-full w-3/4 border-l rounded-r-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right sm:max-w-sm`}}},defaultVariants:{size:`md`,side:`right`}});export{t as drawerVariants};
@@ -1 +1 @@
1
- import{provideMenuUi as e}from"../menu/context.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{DropdownMenuCheckboxCompact as _}from"@soybeanjs/headless";import{keysOf as v}from"@soybeanjs/utils";const y=i({name:`SDropdownMenuCheckbox`,__name:`dropdown-menu-checkbox`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},items:{},groupLabelProps:{},checkboxItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{default:void 0},defaultValue:{default:()=>[]},asChild:{type:Boolean},as:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:modelValue`,`select`],setup(i,{emit:y}){let b=i,x=y,S=p(),C=g(b,[`class`,`size`,`ui`,`indicatorPosition`]),w=h(x),T=t(()=>v(S).filter(e=>e!==`trigger`));return e(()=>b),(e,t)=>(c(),n(f(_),o(f(C),d(f(w))),r({trigger:m(()=>[u(e.$slots,`trigger`)]),_:2},[l(T.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{y as default};
1
+ import{provideMenuUi as e}from"../menu/context.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{DropdownMenuCheckboxCompact as _}from"@soybeanjs/headless";import{keysOf as v}from"@soybeanjs/utils";const y=i({name:`SDropdownMenuCheckbox`,__name:`dropdown-menu-checkbox`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},isAlert:{type:Boolean},alertType:{},items:{},groupLabelProps:{},checkboxItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{default:void 0},defaultValue:{default:()=>[]},asChild:{type:Boolean},as:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:modelValue`,`select`],setup(i,{emit:y}){let b=i,x=y,S=p(),C=g(b,[`class`,`size`,`ui`,`indicatorPosition`]),w=h(x),T=t(()=>v(S).filter(e=>e!==`trigger`));return e(()=>b),(e,t)=>(c(),n(f(_),o(f(C),d(f(w))),r({trigger:m(()=>[u(e.$slots,`trigger`)]),_:2},[l(T.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{y as default};
@@ -7,6 +7,7 @@ import { DefinedValue } from "@soybeanjs/headless";
7
7
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
8
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<DropdownMenuCheckboxProps<T> & {
9
9
  onSelect?: ((item: _$_soybeanjs_headless0.MenuCheckboxOptionData<T>, event: Event) => any) | undefined;
10
+ "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
10
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
12
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
12
13
  onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -14,7 +15,6 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
14
15
  onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
15
16
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
17
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
- "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
18
18
  onEntryFocus?: ((event: Event) => any) | undefined;
19
19
  }> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
@@ -22,7 +22,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
22
22
  expose: (exposed: {}) => void;
23
23
  attrs: any;
24
24
  slots: DropdownMenuCheckboxSlots<T>;
25
- emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuCheckboxOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "entryFocus", event: Event) => void);
25
+ emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuCheckboxOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", value: T[]) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
26
26
  }>) => _$vue.VNode & {
27
27
  __ctx?: Awaited<typeof __VLS_setup>;
28
28
  };
@@ -1 +1 @@
1
- import{provideMenuUi as e}from"../menu/context.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{DropdownMenuRadioCompact as _}from"@soybeanjs/headless";import{keysOf as v}from"@soybeanjs/utils";const y=i({name:`SDropdownMenuRadio`,__name:`dropdown-menu-radio`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},items:{},groupLabelProps:{},radioItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{default:void 0},defaultValue:{},asChild:{type:Boolean},as:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:modelValue`,`select`],setup(i,{emit:y}){let b=i,x=y,S=p(),C=g(b,[`class`,`size`,`ui`,`indicatorPosition`]),w=h(x),T=t(()=>v(S).filter(e=>e!==`trigger`));return e(()=>b),(e,t)=>(c(),n(f(_),o(f(C),d(f(w))),r({trigger:m(()=>[u(e.$slots,`trigger`)]),_:2},[l(T.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{y as default};
1
+ import{provideMenuUi as e}from"../menu/context.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{DropdownMenuRadioCompact as _}from"@soybeanjs/headless";import{keysOf as v}from"@soybeanjs/utils";const y=i({name:`SDropdownMenuRadio`,__name:`dropdown-menu-radio`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},isAlert:{type:Boolean},alertType:{},items:{},groupLabelProps:{},radioItemProps:{},indicatorProps:{},shortcutProps:{},separatorProps:{},modelValue:{default:void 0},defaultValue:{},asChild:{type:Boolean},as:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:modelValue`,`select`],setup(i,{emit:y}){let b=i,x=y,S=p(),C=g(b,[`class`,`size`,`ui`,`indicatorPosition`]),w=h(x),T=t(()=>v(S).filter(e=>e!==`trigger`));return e(()=>b),(e,t)=>(c(),n(f(_),o(f(C),d(f(w))),r({trigger:m(()=>[u(e.$slots,`trigger`)]),_:2},[l(T.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{y as default};
@@ -7,6 +7,7 @@ import { AcceptableBooleanValue } from "@soybeanjs/headless";
7
7
  declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
8
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<DropdownMenuRadioProps<T> & {
9
9
  onSelect?: ((item: _$_soybeanjs_headless0.MenuRadioOptionData<T>, event: Event) => any) | undefined;
10
+ "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
10
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
12
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
12
13
  onPointerDownOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => any) | undefined;
@@ -14,7 +15,6 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
14
15
  onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
15
16
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
17
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
- "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
18
18
  onEntryFocus?: ((event: Event) => any) | undefined;
19
19
  }> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
@@ -22,7 +22,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
22
22
  expose: (exposed: {}) => void;
23
23
  attrs: any;
24
24
  slots: DropdownMenuRadioSlots<T>;
25
- emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "entryFocus", event: Event) => void);
25
+ emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
26
26
  }>) => _$vue.VNode & {
27
27
  __ctx?: Awaited<typeof __VLS_setup>;
28
28
  };
@@ -1 +1 @@
1
- import{provideMenuUi as e}from"../menu/context.js";import{createBlock as t,defineComponent as n,mergeProps as r,openBlock as i,renderSlot as a,toHandlers as o,unref as s,withCtx as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{DropdownMenuWrapperCompact as d}from"@soybeanjs/headless";const f=n({name:`SDropdownMenuWrapper`,__name:`dropdown-menu-wrapper`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(n,{emit:f}){let p=n,m=f,h=u(p,[`class`,`size`,`ui`,`indicatorPosition`]),g=l(m);return e(()=>p),(e,n)=>(i(),t(s(d),r(s(h),o(s(g))),{trigger:c(()=>[a(e.$slots,`trigger`)]),default:c(()=>[a(e.$slots,`default`)]),_:3},16))}});export{f as default};
1
+ import{provideMenuUi as e}from"../menu/context.js";import{createBlock as t,defineComponent as n,mergeProps as r,openBlock as i,renderSlot as a,toHandlers as o,unref as s,withCtx as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{DropdownMenuWrapperCompact as d}from"@soybeanjs/headless";const f=n({name:`SDropdownMenuWrapper`,__name:`dropdown-menu-wrapper`,props:{class:{},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},isAlert:{type:Boolean},alertType:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(n,{emit:f}){let p=n,m=f,h=u(p,[`class`,`size`,`ui`,`indicatorPosition`]),g=l(m);return e(()=>p),(e,n)=>(i(),t(s(d),r(s(h),o(s(g))),{trigger:c(()=>[a(e.$slots,`trigger`)]),default:c(()=>[a(e.$slots,`default`)]),_:3},16))}});export{f as default};
@@ -1 +1 @@
1
- import{provideMenuUi as e}from"../menu/context.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{DropdownMenuCompact as _}from"@soybeanjs/headless";import{keysOf as v}from"@soybeanjs/utils";const y=i({name:`SDropdownMenu`,__name:`dropdown-menu`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(i,{emit:y}){let b=i,x=y,S=p(),C=g(b,[`class`,`size`,`ui`]),w=h(x),T=t(()=>v(S).filter(e=>e!==`trigger`));return e(()=>b),(e,t)=>(c(),n(f(_),o(f(C),d(f(w))),r({trigger:m(()=>[u(e.$slots,`trigger`)]),_:2},[l(T.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{y as default};
1
+ import{provideMenuUi as e}from"../menu/context.js";import{computed as t,createBlock as n,createSlots as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,toHandlers as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{DropdownMenuCompact as _}from"@soybeanjs/headless";import{keysOf as v}from"@soybeanjs/utils";const y=i({name:`SDropdownMenu`,__name:`dropdown-menu`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},isAlert:{type:Boolean},alertType:{},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(i,{emit:y}){let b=i,x=y,S=p(),C=g(b,[`class`,`size`,`ui`]),w=h(x),T=t(()=>v(S).filter(e=>e!==`trigger`));return e(()=>b),(e,t)=>(c(),n(f(_),o(f(C),d(f(w))),r({trigger:m(()=>[u(e.$slots,`trigger`)]),_:2},[l(T.value,t=>({name:t,fn:m(n=>[u(e.$slots,t,s(a(n)))])}))]),1040))}});export{y as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`w-full`,area:[`grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-2 rounded-md border border-solid border-input bg-background transition-all-150`,`focus-within:outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],preview:[`col-start-1 row-start-1 min-w-0 truncate text-foreground outline-none`,`data-[placeholder-shown]:text-muted-foreground`],input:[`col-start-1 row-start-1 min-w-0 w-full border-0 bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed`],controls:`col-start-2 row-start-1 flex items-center gap-1`,editTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`],submitTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-success`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`],cancelTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-destructive`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`]},variants:{size:{xs:{area:`min-h-6 px-1.5 py-1 text-2xs`,preview:`text-2xs`,input:`text-2xs`,controls:`gap-0.5`,editTrigger:`size-5 [&>svg]:size-3`,submitTrigger:`size-5 [&>svg]:size-3`,cancelTrigger:`size-5 [&>svg]:size-3`},sm:{area:`min-h-7 px-2 py-1 text-xs`,preview:`text-xs`,input:`text-xs`,editTrigger:`size-6 [&>svg]:size-3.5`,submitTrigger:`size-6 [&>svg]:size-3.5`,cancelTrigger:`size-6 [&>svg]:size-3.5`},md:{area:`min-h-8 px-2.5 py-1.5 text-sm`,preview:`text-sm`,input:`text-sm`,editTrigger:`size-7 [&>svg]:size-4`,submitTrigger:`size-7 [&>svg]:size-4`,cancelTrigger:`size-7 [&>svg]:size-4`},lg:{area:`min-h-9 px-3 py-1.5 text-base`,preview:`text-base`,input:`text-base`,editTrigger:`size-8 [&>svg]:size-4`,submitTrigger:`size-8 [&>svg]:size-4`,cancelTrigger:`size-8 [&>svg]:size-4`},xl:{area:`min-h-10 px-3.5 py-2 text-lg`,preview:`text-lg`,input:`text-lg`,editTrigger:`size-9 [&>svg]:size-5`,submitTrigger:`size-9 [&>svg]:size-5`,cancelTrigger:`size-9 [&>svg]:size-5`},"2xl":{area:`min-h-12 px-4 py-2.5 text-xl`,preview:`text-xl`,input:`text-xl`,editTrigger:`size-10 [&>svg]:size-5`,submitTrigger:`size-10 [&>svg]:size-5`,cancelTrigger:`size-10 [&>svg]:size-5`}}},defaultVariants:{size:`md`}});export{t as editableVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`w-full`,area:[`grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-2 rounded-md border border-solid border-input bg-background transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],preview:[`col-start-1 row-start-1 min-w-0 truncate text-foreground outline-none`,`data-[placeholder-shown]:text-muted-foreground`],input:[`col-start-1 row-start-1 min-w-0 w-full border-0 bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed`],controls:`col-start-2 row-start-1 flex items-center gap-1`,editTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-accent-foreground`,`outline-none focus-visible:ring-2 focus-visible:ring-primary/30`],submitTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-success`,`outline-none focus-visible:ring-2 focus-visible:ring-primary/30`],cancelTrigger:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:bg-accent hover:text-destructive`,`outline-none focus-visible:ring-2 focus-visible:ring-primary/30`]},variants:{size:{xs:{area:`min-h-6 px-1.5 py-1 text-2xs`,preview:`text-2xs`,input:`text-2xs`,controls:`gap-0.5`,editTrigger:`size-5 [&>svg]:size-3`,submitTrigger:`size-5 [&>svg]:size-3`,cancelTrigger:`size-5 [&>svg]:size-3`},sm:{area:`min-h-7 px-2 py-1 text-xs`,preview:`text-xs`,input:`text-xs`,editTrigger:`size-6 [&>svg]:size-3.5`,submitTrigger:`size-6 [&>svg]:size-3.5`,cancelTrigger:`size-6 [&>svg]:size-3.5`},md:{area:`min-h-8 px-2.5 py-1.5 text-sm`,preview:`text-sm`,input:`text-sm`,editTrigger:`size-7 [&>svg]:size-4`,submitTrigger:`size-7 [&>svg]:size-4`,cancelTrigger:`size-7 [&>svg]:size-4`},lg:{area:`min-h-9 px-3 py-1.5 text-base`,preview:`text-base`,input:`text-base`,editTrigger:`size-8 [&>svg]:size-4`,submitTrigger:`size-8 [&>svg]:size-4`,cancelTrigger:`size-8 [&>svg]:size-4`},xl:{area:`min-h-10 px-3.5 py-2 text-lg`,preview:`text-lg`,input:`text-lg`,editTrigger:`size-9 [&>svg]:size-5`,submitTrigger:`size-9 [&>svg]:size-5`,cancelTrigger:`size-9 [&>svg]:size-5`},"2xl":{area:`min-h-12 px-4 py-2.5 text-xl`,preview:`text-xl`,input:`text-xl`,editTrigger:`size-10 [&>svg]:size-5`,submitTrigger:`size-10 [&>svg]:size-5`,cancelTrigger:`size-10 [&>svg]:size-5`}}},defaultVariants:{size:`md`}});export{t as editableVariants};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border border-dashed p-6 text-center md:p-12`,header:`flex max-w-sm flex-col items-center gap-2 text-center`,media:`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,content:`flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm`,title:`m-0 text-lg font-medium tracking-tight`,description:`m-0 text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`},variants:{mediaVariant:{default:{media:`bg-transparent`},icon:{media:`size-10 rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-6`}}},defaultVariants:{mediaVariant:`default`}});export{t as emptyVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border border-dashed text-center p-12 lt-md:p-6`,header:`flex max-w-sm flex-col items-center gap-2 text-center`,media:`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,content:`flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm`,title:`m-0 text-lg font-medium tracking-tight`,description:`m-0 text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`},variants:{mediaVariant:{default:{media:`bg-transparent`},icon:{media:`size-10 rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-6`}}},defaultVariants:{mediaVariant:`default`}});export{t as emptyVariants};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group flex items-center w-full rounded-md border border-solid border-input bg-background transition-all-150`,`focus-within:outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`],control:[`grow bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`,`file:border-0 file:bg-transparent file:font-medium`],clearable:`hidden group-hover:block size-1em cursor-pointer opacity-50 hover:opacity-100`,visible:`cursor-pointer`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,control:`file:py-1.25`},sm:{root:`h-7 px-2 text-xs gap-1.5`,control:`file:py-1.25`},md:{root:`h-8 px-2.5 text-sm gap-2`,control:`file:py-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,control:`file:py-1.25`},xl:{root:`h-10 px-3.5 text-lg gap-3`,control:`file:py-1.25`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,control:`file:py-2`}}},defaultVariants:{size:`md`}});export{t as inputVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group flex items-center w-full rounded-md border border-solid border-input bg-background transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`],control:[`grow bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`,`file:border-0 file:bg-transparent file:font-medium`],clearable:`hidden group-hover:block size-1em cursor-pointer opacity-50 hover:opacity-100`,visible:`cursor-pointer`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,control:`file:py-1.25`},sm:{root:`h-7 px-2 text-xs gap-1.5`,control:`file:py-1.25`},md:{root:`h-8 px-2.5 text-sm gap-2`,control:`file:py-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,control:`file:py-1.25`},xl:{root:`h-10 px-3.5 text-lg gap-3`,control:`file:py-1.25`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,control:`file:py-2`}}},defaultVariants:{size:`md`}});export{t as inputVariants};
@@ -0,0 +1,4 @@
1
+ import { InputOtpEmits, InputOtpProps, InputOtpSlots } from "./types.js";
2
+ import { _default } from "./input-otp.vue.js";
3
+ import { InputOtpCompactEmits as InputOtpCompactEmits$1, InputOtpCompactProps as InputOtpCompactProps$1, InputOtpCompactSlots as InputOtpCompactSlots$1, InputOtpInputMode, InputOtpInputProps, InputOtpPositionerProps, InputOtpPushPasswordManagerStrategy, InputOtpRootEmits, InputOtpRootProps, InputOtpRootSlotProps, InputOtpSlotProps, InputOtpUi as InputOtpUi$1, InputOtpUiSlot, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS } from "@soybeanjs/headless/input-otp";
4
+ export { type InputOtpCompactEmits$1 as InputOtpCompactEmits, type InputOtpCompactProps$1 as InputOtpCompactProps, type InputOtpCompactSlots$1 as InputOtpCompactSlots, type InputOtpInputMode, type InputOtpInputProps, type InputOtpPositionerProps, type InputOtpPushPasswordManagerStrategy, type InputOtpRootEmits, type InputOtpRootProps, type InputOtpRootSlotProps, type InputOtpSlotProps, type InputOtpUi$1 as InputOtpUi, type InputOtpUiSlot, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS };
@@ -0,0 +1 @@
1
+ import"./input-otp.js";import{REGEXP_ONLY_CHARS as e,REGEXP_ONLY_DIGITS as t,REGEXP_ONLY_DIGITS_AND_CHARS as n}from"@soybeanjs/headless/input-otp";export{e as REGEXP_ONLY_CHARS,t as REGEXP_ONLY_DIGITS,n as REGEXP_ONLY_DIGITS_AND_CHARS};
@@ -0,0 +1 @@
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{inputOtpVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{InputOtpCompact as h,provideInputOtpUi as g}from"@soybeanjs/headless";const _=i({name:`SInputOtp`,__name:`input-otp`,props:{class:{},size:{},align:{},ui:{},id:{},autocomplete:{},autofocus:{type:Boolean},disabled:{type:Boolean},minlength:{},placeholder:{},readonly:{type:Boolean},"aria-label":{},modelValue:{},defaultValue:{},maxlength:{},inputmode:{},pattern:{},pushPasswordManagerStrategy:{},pasteTransformer:{type:Function},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`complete`,`input`,`change`,`select`,`focus`,`blur`,`mouseover`,`mouseleave`,`paste`],setup(i,{emit:_}){let v=i,y=p(_),b=m(v,[`class`,`size`,`align`,`ui`]);return g(n(()=>e(t({size:v.size,align:v.align}),v.ui,{root:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(y))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
@@ -0,0 +1,37 @@
1
+ import { InputOtpProps, InputOtpSlots } from "./types.js";
2
+ import * as _$vue from "vue";
3
+
4
+ //#region src/components/input-otp/input-otp.vue.d.ts
5
+ type __VLS_Slots = InputOtpSlots;
6
+ declare const __VLS_base: _$vue.DefineComponent<InputOtpProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
+ input: (value: string) => any;
8
+ select: (event: Event) => any;
9
+ change: (event: Event) => any;
10
+ "update:modelValue": (value: string) => any;
11
+ blur: (event: FocusEvent) => any;
12
+ focus: (event: FocusEvent) => any;
13
+ mouseleave: (event: MouseEvent) => any;
14
+ mouseover: (event: MouseEvent) => any;
15
+ paste: (event: ClipboardEvent) => any;
16
+ complete: (value: string) => any;
17
+ }, string, _$vue.PublicProps, Readonly<InputOtpProps> & Readonly<{
18
+ onInput?: ((value: string) => any) | undefined;
19
+ onSelect?: ((event: Event) => any) | undefined;
20
+ onChange?: ((event: Event) => any) | undefined;
21
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
22
+ onBlur?: ((event: FocusEvent) => any) | undefined;
23
+ onFocus?: ((event: FocusEvent) => any) | undefined;
24
+ onMouseleave?: ((event: MouseEvent) => any) | undefined;
25
+ onMouseover?: ((event: MouseEvent) => any) | undefined;
26
+ onPaste?: ((event: ClipboardEvent) => any) | undefined;
27
+ onComplete?: ((value: string) => any) | undefined;
28
+ }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
29
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
+ declare const _default: typeof __VLS_export;
31
+ type __VLS_WithSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
36
+ //#endregion
37
+ export { _default };
@@ -0,0 +1,16 @@
1
+ import { ThemeSize } from "../../theme/types.js";
2
+ import { Align, ClassValue } from "@soybeanjs/headless";
3
+ import { InputOtpCompactEmits, InputOtpCompactProps, InputOtpCompactSlots, InputOtpUi } from "@soybeanjs/headless/input-otp";
4
+
5
+ //#region src/components/input-otp/types.d.ts
6
+ interface InputOtpProps extends InputOtpCompactProps {
7
+ /** Root class. */
8
+ class?: ClassValue;
9
+ size?: ThemeSize;
10
+ align?: Align;
11
+ ui?: Partial<InputOtpUi>;
12
+ }
13
+ type InputOtpEmits = InputOtpCompactEmits;
14
+ type InputOtpSlots = InputOtpCompactSlots;
15
+ //#endregion
16
+ export { InputOtpEmits, InputOtpProps, InputOtpSlots };
@@ -0,0 +1 @@
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`relative inline-flex w-full cursor-text select-none`,`data-[disabled]:cursor-default data-[disabled]:opacity-50`],positioner:`absolute inset-0`,group:`grid w-full gap-2 grid-cols-[repeat(var(--columns),minmax(0,1fr))]`,input:[`absolute inset-0 h-full w-full border-0 bg-transparent p-0 outline-none shadow-none opacity-0`,`pointer-events-auto text-transparent caret-transparent font-mono leading-none`,`[font-variant-numeric:tabular-nums] [letter-spacing:-0.5em]`,`selection:bg-transparent selection:text-transparent`,`data-[password-manager-badge]:w-[calc(100%+40px)] data-[password-manager-badge]:[clip-path:inset(0_40px_0_0)]`],slot:[`relative inline-flex items-center justify-center overflow-hidden rounded-md border border-input bg-background font-medium text-foreground shadow-xs transition-[border-color,box-shadow,transform]`,`data-[state=active]:border-ring data-[state=active]:ring-3 data-[state=active]:ring-ring/40`,`data-[state=filled]:border-foreground/20`],char:`leading-none`,placeholder:`leading-none text-muted-foreground/60`,caret:`h-[60%] w-px animate-pulse bg-foreground`},variants:{size:{xs:{group:`gap-1.5`,slot:`h-8 text-sm`,caret:`h-4`},sm:{group:`gap-2`,slot:`h-9 text-base`,caret:`h-4.5`},md:{group:`gap-2`,slot:`h-10 text-lg`,caret:`h-5`},lg:{group:`gap-2.5`,slot:`h-11 text-xl`,caret:`h-5.5`},xl:{group:`gap-3`,slot:`h-12 text-2xl`,caret:`h-6`},"2xl":{group:`gap-3`,slot:`h-14 text-3xl`,caret:`h-7`}},align:{start:{input:`text-start`},center:{input:`text-center`},end:{input:`text-end`}}},defaultVariants:{size:`md`,align:`start`}});export{t as inputOtpVariants};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { KbdVariant } from "./variants.js";
3
- import { ClassValue, KbdProps, KbdValue as KbdValue$1 } from "@soybeanjs/headless";
3
+ import { ClassValue, KbdProps, KbdValue } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/kbd/types.d.ts
6
6
  interface KbdProps$1 extends KbdProps {
@@ -9,4 +9,4 @@ interface KbdProps$1 extends KbdProps {
9
9
  variant?: KbdVariant;
10
10
  }
11
11
  //#endregion
12
- export { KbdProps$1 as KbdProps, type KbdValue$1 as KbdValue };
12
+ export { KbdProps$1 as KbdProps, type KbdValue };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import{provideSizeContext as r}from"../../theme/context.js";import"../../theme/index.js";import{drawerVariants as i}from"../drawer/variants.js";import{layoutVariants as a}from"./variants.js";import{computed as o,createBlock as s,createCommentVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,openBlock as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{LayoutContent as y,LayoutFooter as b,LayoutHeader as x,LayoutMain as S,LayoutRail as C,LayoutRoot as w,LayoutSidebar as T,LayoutTab as E,provideLayoutUi as D}from"@soybeanjs/headless";const O=u({name:`SLayout`,__name:`layout`,props:{class:{},size:{default:`md`},ui:{},fullContent:{type:Boolean},tabVisible:{type:Boolean,default:!0},footerVisible:{type:Boolean,default:!0},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},side:{},variant:{},collapsible:{},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerHeight:{},tabHeight:{},footerHeight:{},pxToRem:{}},emits:[`update:open`],setup(u,{emit:O}){let k=u,A=O,j=v(k,[`class`,`size`,`ui`,`pxToRem`,`fullContent`,`tabVisible`,`footerVisible`,`sidebarProps`,`headerProps`,`mainProps`,`tabProps`,`footerProps`,`railProps`,`mobileProps`]),M=e=>k.pxToRem?k.pxToRem(e):e*n[k.size]/t.md;return D(o(()=>{let t=a({size:k.size,variant:k.variant,side:k.side,collapsible:k.collapsible,fullContent:k.fullContent}),n=i({size:k.size,side:k.side});return e({...t,mobileDrawer:()=>`${n.content()} ${t.mobileDrawer()}`},k.ui,{root:k.class})})),r(()=>k.size),(e,t)=>(m(),s(g(w),f(g(j),{"px-to-rem":M,"data-tab-visible":!!u.tabVisible,"data-footer-visible":!!u.footerVisible,"data-full-content":!!u.fullContent,"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[l(g(T),p(d(u.sidebarProps)),{default:_(()=>[h(e.$slots,`sidebar`,p(d(t))),l(g(C),p(d(u.railProps)),null,16)]),_:2},1040),l(g(S),p(d(u.mainProps)),{default:_(()=>[l(g(x),p(d(u.headerProps)),{default:_(()=>[h(e.$slots,`header`)]),_:3},16),u.tabVisible?(m(),s(g(E),p(f({key:0},u.tabProps)),{default:_(()=>[h(e.$slots,`tab`)]),_:3},16)):c(`v-if`,!0),l(g(y),p(d(u.contentProps)),{default:_(()=>[h(e.$slots,`default`)]),_:3},16),u.footerVisible?(m(),s(g(b),p(f({key:1},u.footerProps)),{default:_(()=>[h(e.$slots,`footer`)]),_:3},16)):c(`v-if`,!0)]),_:3},16)]),_:3},16,[`data-tab-visible`,`data-footer-visible`,`data-full-content`]))}});export{O as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import{provideSizeContext as r}from"../../theme/context.js";import"../../theme/index.js";import{drawerVariants as i}from"../drawer/variants.js";import{layoutVariants as a}from"./variants.js";import{computed as o,createBlock as s,createCommentVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,openBlock as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{LayoutContent as y,LayoutFooter as b,LayoutHeader as x,LayoutMain as S,LayoutRail as C,LayoutRoot as w,LayoutSidebar as T,LayoutTab as E,provideLayoutUi as D}from"@soybeanjs/headless";const O=u({name:`SLayout`,__name:`layout`,props:{class:{},size:{default:`md`},ui:{},fullContent:{type:Boolean},tabVisible:{type:Boolean,default:!0},footerVisible:{type:Boolean,default:!0},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},side:{},variant:{},collapsible:{},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerHeight:{},tabHeight:{},footerHeight:{},pxToRem:{}},emits:[`update:open`],setup(u,{emit:O}){let k=u,A=O,j=v(k,[`class`,`size`,`ui`,`pxToRem`,`fullContent`,`tabVisible`,`footerVisible`,`sidebarProps`,`headerProps`,`mainProps`,`tabProps`,`footerProps`,`railProps`,`mobileProps`]),M=e=>k.pxToRem?k.pxToRem(e):e*n[k.size]/t.md;return D(o(()=>{let t=a({size:k.size,variant:k.variant,side:k.side,collapsible:k.collapsible,fullContent:k.fullContent}),n=i({size:k.size,side:k.side});return e({...t,mobileDrawer:()=>`${n.popup()} ${t.mobileDrawer()}`},k.ui,{root:k.class})})),r(()=>k.size),(e,t)=>(m(),s(g(w),f(g(j),{"px-to-rem":M,"data-tab-visible":!!u.tabVisible,"data-footer-visible":!!u.footerVisible,"data-full-content":!!u.fullContent,"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[l(g(T),p(d(u.sidebarProps)),{default:_(()=>[h(e.$slots,`sidebar`,p(d(t))),l(g(C),p(d(u.railProps)),null,16)]),_:2},1040),l(g(S),p(d(u.mainProps)),{default:_(()=>[l(g(x),p(d(u.headerProps)),{default:_(()=>[h(e.$slots,`header`)]),_:3},16),u.tabVisible?(m(),s(g(E),p(f({key:0},u.tabProps)),{default:_(()=>[h(e.$slots,`tab`)]),_:3},16)):c(`v-if`,!0),l(g(y),p(d(u.contentProps)),{default:_(()=>[h(e.$slots,`default`)]),_:3},16),u.footerVisible?(m(),s(g(b),p(f({key:1},u.footerProps)),{default:_(()=>[h(e.$slots,`footer`)]),_:3},16)):c(`v-if`,!0)]),_:3},16)]),_:3},16,[`data-tab-visible`,`data-footer-visible`,`data-full-content`]))}});export{O as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group relative flex w-full h-full data-[side=right]:flex-row-reverse`,sidebarRoot:`h-full hidden md:block`,sidebarWrapper:`absolute inset-y-0 z-10 hidden h-full w-[--soybean-sidebar-width] transition-[left,right,width,opacity] duration-200 ease-linear md:flex`,sidebar:[`flex flex-col w-full h-full bg-sidebar`,`group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:border-solid group-data-[variant=floating]:shadow`],sidebarGapHandler:[`relative h-full w-[--soybean-sidebar-width] bg-transparent transition-width duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`],mobileDrawer:`w-[--soybean-sidebar-width] bg-sidebar p-0`,mobileOverlay:[`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`],mobile:`flex flex-col w-full h-full`,rail:[`absolute inset-y-0 z-20 hidden w-[--soybean-layout-spacing] -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute after:inset-y-0 after:left-1/2 after:content-empty after:w-[calc(var(--soybean-layout-spacing)/8)] hover:after:bg-sidebar-border`],trigger:``,main:`relative flex flex-1 flex-col items-stretch bg-background overflow-hidden`,header:`relative flex items-center shrink-0 h-[--soybean-layout-header-height]`,tab:`shrink-0 h-[--soybean-layout-tab-height] bg-background`,content:`grow overflow-auto bg-background`,footer:`shrink-0 h-[--soybean-layout-footer-height]`},variants:{size:{xs:{root:`text-2xs [--soybean-layout-spacing:0.75rem]`},sm:{root:`text-xs [--soybean-layout-spacing:0.875rem]`},md:{root:`text-sm [--soybean-layout-spacing:1rem]`},lg:{root:`text-base [--soybean-layout-spacing:1.25rem]`},xl:{root:`text-lg [--soybean-layout-spacing:1.5rem]`},"2xl":{root:`text-xl [--soybean-layout-spacing:1.75rem]`}},variant:{sidebar:{sidebarGapHandler:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width]`,sidebarWrapper:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width] group-data-[side=left]:border-r group-data-[side=right]:border-l`},floating:{sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`},inset:{root:`bg-sidebar`,sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,main:`md:m-[calc(var(--soybean-layout-spacing)/2)] md:ml-0 md:rounded-xl md:shadow`}},side:{left:{sidebarWrapper:`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-w-resize group-data-[state=collapsed]:cursor-e-resize -right-[var(--soybean-layout-spacing)]`},right:{sidebarWrapper:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-e-resize group-data-[state=collapsed]:cursor-w-resize left-0`}},collapsible:{offcanvas:{sidebarWrapper:`group-data-[state=collapsed]:opacity-0`,rail:`translate-x-0 after:left-full hover:bg-sidebar`},icon:{}},fullContent:{true:{tab:`fixed left-0 top-0 z-49 w-full`,content:`fixed inset-0 z-49 group-data-[tab-visible=true]:mt-[--soybean-layout-tab-height]`},false:{content:`relative`}}},compoundVariants:[{side:`left`,collapsible:`offcanvas`,class:{rail:`-right-[var(--soybean-layout-spacing)/2]`}},{side:`right`,collapsible:`offcanvas`,class:{rail:`-left-[var(--soybean-layout-spacing)/2]`}},{side:`left`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:right-0`}},{side:`right`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:left-0`}},{side:`left`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:right-[calc(var(--soybean-layout-spacing)/2)]`}},{side:`right`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:left-[calc(var(--soybean-layout-spacing)/2)]`}},{variant:`inset`,collapsible:`offcanvas`,class:{main:`md:group-data-[state=collapsed]:ml-[calc(var(--soybean-layout-spacing)/2)]`}}],defaultVariants:{variant:`sidebar`,side:`left`,collapsible:`icon`}});export{t as layoutVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group relative flex w-full h-full data-[side=right]:flex-row-reverse`,sidebarRoot:`h-full block lt-md:hidden`,sidebarWrapper:`absolute inset-y-0 z-10 hidden h-full w-[--soybean-sidebar-width] transition-[left,right,width,opacity] duration-200 ease-linear md:flex`,sidebar:[`flex flex-col w-full h-full bg-sidebar`,`group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:border-solid group-data-[variant=floating]:shadow`],sidebarGapHandler:[`relative h-full w-[--soybean-sidebar-width] bg-transparent transition-width duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`],mobileDrawer:`w-[--soybean-sidebar-width] bg-sidebar p-0`,mobileOverlay:[`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`],mobile:`flex flex-col w-full h-full`,rail:[`absolute inset-y-0 z-20 hidden w-[--soybean-layout-spacing] -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute after:inset-y-0 after:left-1/2 after:content-empty after:w-[calc(var(--soybean-layout-spacing)/8)] hover:after:bg-sidebar-border`],trigger:``,main:`relative flex flex-1 flex-col items-stretch bg-background overflow-hidden`,header:`relative flex items-center shrink-0 h-[--soybean-layout-header-height]`,tab:`shrink-0 h-[--soybean-layout-tab-height] bg-background`,content:`grow overflow-auto bg-background`,footer:`shrink-0 h-[--soybean-layout-footer-height]`},variants:{size:{xs:{root:`text-2xs [--soybean-layout-spacing:0.75rem]`},sm:{root:`text-xs [--soybean-layout-spacing:0.875rem]`},md:{root:`text-sm [--soybean-layout-spacing:1rem]`},lg:{root:`text-base [--soybean-layout-spacing:1.25rem]`},xl:{root:`text-lg [--soybean-layout-spacing:1.5rem]`},"2xl":{root:`text-xl [--soybean-layout-spacing:1.75rem]`}},variant:{sidebar:{sidebarGapHandler:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width]`,sidebarWrapper:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width] group-data-[side=left]:border-r group-data-[side=right]:border-l`},floating:{sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`},inset:{root:`bg-sidebar`,sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,main:`md:m-[calc(var(--soybean-layout-spacing)/2)] md:ml-0 md:rounded-xl md:shadow`}},side:{left:{sidebarWrapper:`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-w-resize group-data-[state=collapsed]:cursor-e-resize -right-[var(--soybean-layout-spacing)]`},right:{sidebarWrapper:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-e-resize group-data-[state=collapsed]:cursor-w-resize left-0`}},collapsible:{offcanvas:{sidebarWrapper:`group-data-[state=collapsed]:opacity-0`,rail:`translate-x-0 after:left-full hover:bg-sidebar`},icon:{}},fullContent:{true:{tab:`fixed left-0 top-0 z-49 w-full`,content:`fixed inset-0 z-49 group-data-[tab-visible=true]:mt-[--soybean-layout-tab-height]`},false:{content:`relative`}}},compoundVariants:[{side:`left`,collapsible:`offcanvas`,class:{rail:`-right-[var(--soybean-layout-spacing)/2]`}},{side:`right`,collapsible:`offcanvas`,class:{rail:`-left-[var(--soybean-layout-spacing)/2]`}},{side:`left`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:right-0`}},{side:`right`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:left-0`}},{side:`left`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:right-[calc(var(--soybean-layout-spacing)/2)]`}},{side:`right`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:left-[calc(var(--soybean-layout-spacing)/2)]`}},{variant:`inset`,collapsible:`offcanvas`,class:{main:`md:group-data-[state=collapsed]:ml-[calc(var(--soybean-layout-spacing)/2)]`}}],defaultVariants:{variant:`sidebar`,side:`left`,collapsible:`icon`}});export{t as layoutVariants};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:``,popup:[`z-50 min-w-max rounded-md border bg-popover text-popover-foreground shadow-md will-change-transform focus-visible:outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],arrow:`w-1em h-0.5em fill-popover stroke-border`,subPositioner:``,subPopup:[`z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg will-change-transform focus-visible:outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],group:``,groupLabel:`flex items-center font-medium text-muted-foreground`,checkboxGroup:``,radioGroup:``,item:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,`data-[active=true]:bg-primary/10 data-[active=true]:text-primary`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`],itemIcon:`shrink-0 text-muted-foreground`,itemLink:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none decoration-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemLinkIcon:`shrink-0 self-start text-muted-foreground`,subTrigger:`group/trigger flex items-center rounded-sm outline-none cursor-pointer select-none focus:bg-accent data-[state=open]:bg-accent data-[child-active]:text-primary`,subTriggerIcon:`ml-auto text-muted-foreground group-data-[child-active]/trigger:text-primary`,shortcut:`ml-auto tracking-widest opacity-60`,separator:`h-px bg-border`,checkboxItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemIndicator:`absolute flex items-center justify-center text-primary`,radioItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`]},variants:{size:{xs:{popup:`text-2xs p-0.75`,groupLabel:`gap-1 p-1 text-3xs`,item:`gap-1 px-1 py-1`,itemLink:`gap-1 px-1 py-1`,itemLinkIcon:`size-2 -ml-1`,separator:`-mx-0.75 my-0.75`,subTrigger:`gap-1 px-1 py-1`,subPopup:`text-2xs p-0.75`,checkboxItem:`gap-1 py-1`,radioItem:`gap-1 py-1`},sm:{popup:`text-xs p-0.875`,groupLabel:`gap-1.25 p-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1`,itemLink:`gap-1.5 px-1.5 py-1`,itemLinkIcon:`size-2.5 -ml-1.5`,separator:`-mx-0.875 my-0.875`,subTrigger:`gap-1.5 px-1.5 py-1`,subPopup:`text-xs p-0.875`,checkboxItem:`gap-1.5 py-1`,radioItem:`gap-1.5 py-1`},md:{popup:`text-sm p-1`,groupLabel:`gap-1.75 p-1.75 text-xs`,item:`gap-2 px-2 py-1.5`,itemLink:`gap-2 px-2 py-1.5`,itemLinkIcon:`size-3 -ml-2`,separator:`-mx-1 my-1`,subTrigger:`gap-2 px-2 py-1.5`,subPopup:`text-sm p-1`,checkboxItem:`gap-2 py-1.5`,radioItem:`gap-2 py-1.5`},lg:{popup:`text-base p-1.25`,groupLabel:`gap-2 p-2 text-sm`,item:`gap-2.5 px-2.5 py-1.5`,itemLink:`gap-2.5 px-2.5 py-1.5`,itemLinkIcon:`size-3.5 -ml-2.5`,separator:`-mx-1.25 my-1.25`,subTrigger:`gap-2.5 px-2.5 py-1.5`,subPopup:`text-base p-1.25`,checkboxItem:`gap-2.5 py-1.5`,radioItem:`gap-2.5 py-1.5`},xl:{popup:`text-lg p-1.5`,groupLabel:`gap-2.5 p-2.5 text-base`,item:`gap-3 px-3 py-2`,itemLink:`gap-3 px-3 py-2`,itemLinkIcon:`size-4 -ml-3`,separator:`-mx-1.5 my-1.5`,subTrigger:`gap-3 px-3 py-2`,subPopup:`text-lg p-1.5`,checkboxItem:`gap-3 py-2`,radioItem:`gap-3 py-2`},"2xl":{popup:`text-xl p-1.75`,groupLabel:`gap-3 p-3 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,itemLink:`gap-3.5 px-3.5 py-2.5`,itemLinkIcon:`size-4.5 -ml-3.5`,separator:`-mx-1.75 my-1.75`,subTrigger:`gap-3.5 px-3.5 py-2.5`,subPopup:`text-xl p-1.75`,checkboxItem:`gap-3.5 py-2.5`,radioItem:`gap-3.5 py-2.5`}},indicatorPosition:{start:{itemIndicator:`left-2`,checkboxItem:`pl-8 pr-2`,radioItem:`pl-8 pr-2`},end:{itemIndicator:`right-2`,checkboxItem:`pl-2 pr-8`,radioItem:`pl-2 pr-8`}}},compoundVariants:[{indicatorPosition:`start`,size:`xs`,class:{itemIndicator:`left-1`,checkboxItem:`pl-6 pr-1`,radioItem:`pl-6 pr-1`}},{indicatorPosition:`end`,size:`xs`,class:{itemIndicator:`right-1`,checkboxItem:`pl-1 pr-6`,radioItem:`pl-1 pr-6`}},{indicatorPosition:`start`,size:`sm`,class:{itemIndicator:`left-1.5`,checkboxItem:`pl-7 pr-1.5`,radioItem:`pl-7 pr-1.5`}},{indicatorPosition:`end`,size:`sm`,class:{itemIndicator:`right-1.5`,checkboxItem:`pl-1.5 pr-7`,radioItem:`pl-1.5 pr-7`}},{indicatorPosition:`start`,size:`lg`,class:{itemIndicator:`left-2.5`,checkboxItem:`pl-9 pr-2.5`,radioItem:`pl-9 pr-2.5`}},{indicatorPosition:`end`,size:`lg`,class:{itemIndicator:`right-2.5`,checkboxItem:`pl-2.5 pr-9`,radioItem:`pl-2.5 pr-9`}},{indicatorPosition:`start`,size:`xl`,class:{itemIndicator:`left-3`,checkboxItem:`pl-10 pr-3`,radioItem:`pl-10 pr-3`}},{indicatorPosition:`end`,size:`xl`,class:{itemIndicator:`right-3`,checkboxItem:`pl-3 pr-10`,radioItem:`pl-3 pr-10`}},{indicatorPosition:`start`,size:`2xl`,class:{itemIndicator:`left-3.5`,checkboxItem:`pl-12 pr-3.5`,radioItem:`pl-12 pr-3.5`}},{indicatorPosition:`end`,size:`2xl`,class:{itemIndicator:`right-3.5`,checkboxItem:`pl-3.5 pr-12`,radioItem:`pl-3.5 pr-12`}}],defaultVariants:{size:`md`,indicatorPosition:`start`}});export{t as menuVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:``,popup:[`z-50 min-w-max rounded-md border bg-popover text-popover-foreground shadow-md will-change-transform outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],arrow:`w-1em h-0.5em fill-popover stroke-border`,subPositioner:``,subPopup:[`z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg will-change-transform outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],group:``,groupLabel:`flex items-center font-medium text-muted-foreground`,checkboxGroup:``,radioGroup:``,item:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,`data-[active=true]:bg-primary/10 data-[active=true]:text-primary`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`],itemIcon:`shrink-0 text-muted-foreground`,itemLink:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none decoration-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemLinkIcon:`shrink-0 self-start text-muted-foreground`,subTrigger:`group/trigger flex items-center rounded-sm outline-none cursor-pointer select-none focus:bg-accent data-[state=open]:bg-accent data-[child-active]:text-primary`,subTriggerIcon:`ml-auto text-muted-foreground group-data-[child-active]/trigger:text-primary`,shortcut:`ml-auto tracking-widest opacity-60`,separator:`h-px bg-border`,checkboxItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemIndicator:`absolute flex items-center justify-center text-primary`,radioItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`]},variants:{size:{xs:{popup:`text-2xs p-0.75`,groupLabel:`gap-1 p-1 text-3xs`,item:`gap-1 px-1 py-1`,itemLink:`gap-1 px-1 py-1`,itemLinkIcon:`size-2 -ml-1`,separator:`-mx-0.75 my-0.75`,subTrigger:`gap-1 px-1 py-1`,subPopup:`text-2xs p-0.75`,checkboxItem:`gap-1 py-1`,radioItem:`gap-1 py-1`},sm:{popup:`text-xs p-0.875`,groupLabel:`gap-1.25 p-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1`,itemLink:`gap-1.5 px-1.5 py-1`,itemLinkIcon:`size-2.5 -ml-1.5`,separator:`-mx-0.875 my-0.875`,subTrigger:`gap-1.5 px-1.5 py-1`,subPopup:`text-xs p-0.875`,checkboxItem:`gap-1.5 py-1`,radioItem:`gap-1.5 py-1`},md:{popup:`text-sm p-1`,groupLabel:`gap-1.75 p-1.75 text-xs`,item:`gap-2 px-2 py-1.5`,itemLink:`gap-2 px-2 py-1.5`,itemLinkIcon:`size-3 -ml-2`,separator:`-mx-1 my-1`,subTrigger:`gap-2 px-2 py-1.5`,subPopup:`text-sm p-1`,checkboxItem:`gap-2 py-1.5`,radioItem:`gap-2 py-1.5`},lg:{popup:`text-base p-1.25`,groupLabel:`gap-2 p-2 text-sm`,item:`gap-2.5 px-2.5 py-1.5`,itemLink:`gap-2.5 px-2.5 py-1.5`,itemLinkIcon:`size-3.5 -ml-2.5`,separator:`-mx-1.25 my-1.25`,subTrigger:`gap-2.5 px-2.5 py-1.5`,subPopup:`text-base p-1.25`,checkboxItem:`gap-2.5 py-1.5`,radioItem:`gap-2.5 py-1.5`},xl:{popup:`text-lg p-1.5`,groupLabel:`gap-2.5 p-2.5 text-base`,item:`gap-3 px-3 py-2`,itemLink:`gap-3 px-3 py-2`,itemLinkIcon:`size-4 -ml-3`,separator:`-mx-1.5 my-1.5`,subTrigger:`gap-3 px-3 py-2`,subPopup:`text-lg p-1.5`,checkboxItem:`gap-3 py-2`,radioItem:`gap-3 py-2`},"2xl":{popup:`text-xl p-1.75`,groupLabel:`gap-3 p-3 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,itemLink:`gap-3.5 px-3.5 py-2.5`,itemLinkIcon:`size-4.5 -ml-3.5`,separator:`-mx-1.75 my-1.75`,subTrigger:`gap-3.5 px-3.5 py-2.5`,subPopup:`text-xl p-1.75`,checkboxItem:`gap-3.5 py-2.5`,radioItem:`gap-3.5 py-2.5`}},indicatorPosition:{start:{itemIndicator:`left-2`,checkboxItem:`pl-8 pr-2`,radioItem:`pl-8 pr-2`},end:{itemIndicator:`right-2`,checkboxItem:`pl-2 pr-8`,radioItem:`pl-2 pr-8`}}},compoundVariants:[{indicatorPosition:`start`,size:`xs`,class:{itemIndicator:`left-1`,checkboxItem:`pl-6 pr-1`,radioItem:`pl-6 pr-1`}},{indicatorPosition:`end`,size:`xs`,class:{itemIndicator:`right-1`,checkboxItem:`pl-1 pr-6`,radioItem:`pl-1 pr-6`}},{indicatorPosition:`start`,size:`sm`,class:{itemIndicator:`left-1.5`,checkboxItem:`pl-7 pr-1.5`,radioItem:`pl-7 pr-1.5`}},{indicatorPosition:`end`,size:`sm`,class:{itemIndicator:`right-1.5`,checkboxItem:`pl-1.5 pr-7`,radioItem:`pl-1.5 pr-7`}},{indicatorPosition:`start`,size:`lg`,class:{itemIndicator:`left-2.5`,checkboxItem:`pl-9 pr-2.5`,radioItem:`pl-9 pr-2.5`}},{indicatorPosition:`end`,size:`lg`,class:{itemIndicator:`right-2.5`,checkboxItem:`pl-2.5 pr-9`,radioItem:`pl-2.5 pr-9`}},{indicatorPosition:`start`,size:`xl`,class:{itemIndicator:`left-3`,checkboxItem:`pl-10 pr-3`,radioItem:`pl-10 pr-3`}},{indicatorPosition:`end`,size:`xl`,class:{itemIndicator:`right-3`,checkboxItem:`pl-3 pr-10`,radioItem:`pl-3 pr-10`}},{indicatorPosition:`start`,size:`2xl`,class:{itemIndicator:`left-3.5`,checkboxItem:`pl-12 pr-3.5`,radioItem:`pl-12 pr-3.5`}},{indicatorPosition:`end`,size:`2xl`,class:{itemIndicator:`right-3.5`,checkboxItem:`pl-3.5 pr-12`,radioItem:`pl-3.5 pr-12`}}],defaultVariants:{size:`md`,indicatorPosition:`start`}});export{t as menuVariants};