@soybeanjs/headless 0.22.0 → 0.22.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/components/accordion/context.d.ts +0 -1
  2. package/dist/components/affix/context.d.ts +0 -1
  3. package/dist/components/alert/alert-compact.vue.d.ts +2 -2
  4. package/dist/components/alert/context.d.ts +0 -1
  5. package/dist/components/anchor/anchor-root.vue.d.ts +1 -1
  6. package/dist/components/anchor/context.d.ts +0 -1
  7. package/dist/components/autocomplete/autocomplete-input.js +1 -1
  8. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +1 -1
  9. package/dist/components/autocomplete/context.d.ts +0 -1
  10. package/dist/components/avatar/context.d.ts +0 -1
  11. package/dist/components/badge/context.d.ts +0 -1
  12. package/dist/components/bottom-sheet/bottom-sheet-root-nested.vue.d.ts +2 -2
  13. package/dist/components/bottom-sheet/context.d.ts +0 -1
  14. package/dist/components/calendar/context.d.ts +0 -1
  15. package/dist/components/calendar-range/calendar-range-root.vue.d.ts +6 -6
  16. package/dist/components/calendar-range/context.d.ts +0 -1
  17. package/dist/components/card/card-root.vue.d.ts +1 -1
  18. package/dist/components/checkbox/context.d.ts +0 -1
  19. package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
  20. package/dist/components/collapsible/context.d.ts +0 -1
  21. package/dist/components/color-area/color-area-root.vue.d.ts +2 -2
  22. package/dist/components/color-area/context.d.ts +0 -1
  23. package/dist/components/color-field/color-field-root.vue.d.ts +2 -2
  24. package/dist/components/color-field/context.d.ts +0 -1
  25. package/dist/components/color-picker/color-picker-compact.vue.d.ts +3 -3
  26. package/dist/components/color-picker/color-picker-root.vue.d.ts +1 -1
  27. package/dist/components/color-picker/context.d.ts +0 -1
  28. package/dist/components/color-slider/color-slider-root.vue.d.ts +2 -2
  29. package/dist/components/color-slider/context.d.ts +0 -1
  30. package/dist/components/color-swatch-picker/context.d.ts +0 -1
  31. package/dist/components/combobox/combobox-compact.vue.d.ts +3 -3
  32. package/dist/components/combobox/combobox-content.vue.d.ts +3 -3
  33. package/dist/components/combobox/combobox-input.js +1 -1
  34. package/dist/components/combobox/context.d.ts +0 -1
  35. package/dist/components/context-menu/context-menu-checkbox-compact.js +1 -1
  36. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +3 -3
  37. package/dist/components/context-menu/context-menu-compact.js +1 -1
  38. package/dist/components/context-menu/context-menu-compact.vue.d.ts +3 -3
  39. package/dist/components/context-menu/context-menu-content.vue.d.ts +4 -4
  40. package/dist/components/context-menu/context-menu-radio-compact.js +1 -1
  41. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +3 -3
  42. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +4 -4
  43. package/dist/components/date-field/context.d.ts +0 -1
  44. package/dist/components/date-field/date-field-root.vue.d.ts +1 -1
  45. package/dist/components/date-picker/date-picker-compact.js +1 -1
  46. package/dist/components/date-picker/date-picker-compact.vue.d.ts +10 -10
  47. package/dist/components/date-range-field/context.d.ts +0 -1
  48. package/dist/components/date-range-field/date-range-field-root.vue.d.ts +1 -1
  49. package/dist/components/date-range-picker/date-range-picker-compact.vue.d.ts +10 -10
  50. package/dist/components/dialog/context.d.ts +0 -1
  51. package/dist/components/dialog/dialog-compact.vue.d.ts +7 -7
  52. package/dist/components/dialog/dialog-popup.vue.d.ts +2 -2
  53. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.js +1 -1
  54. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +3 -3
  55. package/dist/components/dropdown-menu/dropdown-menu-compact.js +1 -1
  56. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +3 -3
  57. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +4 -4
  58. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.js +1 -1
  59. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +3 -3
  60. package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +1 -1
  61. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +4 -4
  62. package/dist/components/editable/context.d.ts +0 -1
  63. package/dist/components/form/context.d.ts +0 -1
  64. package/dist/components/form/form-field-array-compact.js +1 -1
  65. package/dist/components/form/form-field-compact.js +1 -1
  66. package/dist/components/form/form-field.js +1 -1
  67. package/dist/components/hover-card/hover-card-root.vue.d.ts +1 -1
  68. package/dist/components/input/context.d.ts +0 -1
  69. package/dist/components/input/input-compact.js +1 -1
  70. package/dist/components/input/input-control.js +1 -1
  71. package/dist/components/input/input-root.js +1 -1
  72. package/dist/components/input/types.d.ts +16 -2
  73. package/dist/components/input-number/context.d.ts +0 -1
  74. package/dist/components/input-number/input-number-compact.js +1 -1
  75. package/dist/components/input-number/input-number-control.js +1 -1
  76. package/dist/components/input-number/input-number-root.js +1 -1
  77. package/dist/components/input-number/input-number-root.vue.d.ts +2 -2
  78. package/dist/components/input-number/types.d.ts +6 -2
  79. package/dist/components/input-otp/context.d.ts +0 -1
  80. package/dist/components/layout/context.d.ts +0 -1
  81. package/dist/components/layout/layout-classic-compact.vue.d.ts +1 -1
  82. package/dist/components/layout/layout-compact.vue.d.ts +1 -1
  83. package/dist/components/layout/layout-root.vue.d.ts +2 -2
  84. package/dist/components/layout/layout-sidebar.vue.d.ts +3 -3
  85. package/dist/components/listbox/listbox-filter.js +1 -1
  86. package/dist/components/menu/context.d.ts +0 -1
  87. package/dist/components/menu/hooks.js +1 -1
  88. package/dist/components/menu/menu-content.vue.d.ts +4 -4
  89. package/dist/components/menu/menu-option-compact.js +1 -1
  90. package/dist/components/menu/menu-option-compact.vue.d.ts +3 -3
  91. package/dist/components/menu/menu-options-compact.js +1 -1
  92. package/dist/components/menu/menu-options-compact.vue.d.ts +3 -3
  93. package/dist/components/menu/menu-sub-content.vue.d.ts +4 -4
  94. package/dist/components/menubar/context.d.ts +0 -1
  95. package/dist/components/menubar/menubar-compact.js +1 -1
  96. package/dist/components/menubar/menubar-compact.vue.d.ts +3 -3
  97. package/dist/components/menubar/menubar-content.vue.d.ts +4 -4
  98. package/dist/components/menubar/menubar-sub-content.vue.d.ts +4 -4
  99. package/dist/components/navigation-menu/context.d.ts +0 -1
  100. package/dist/components/navigation-menu/navigation-menu-compact.js +1 -1
  101. package/dist/components/navigation-menu/navigation-menu-option-compact.js +1 -1
  102. package/dist/components/page-tabs/context.d.ts +0 -1
  103. package/dist/components/page-tabs/page-tabs-compact.vue.d.ts +1 -1
  104. package/dist/components/pagination/context.d.ts +0 -1
  105. package/dist/components/password/password-compact.js +1 -1
  106. package/dist/components/password/password-compact.vue.d.ts +2 -0
  107. package/dist/components/password/types.d.ts +3 -21
  108. package/dist/components/popconfirm/popconfirm-compact.vue.d.ts +7 -7
  109. package/dist/components/popover/context.d.ts +0 -1
  110. package/dist/components/popover/popover-compact.vue.d.ts +3 -3
  111. package/dist/components/popover/popover-positioner.vue.d.ts +2 -2
  112. package/dist/components/popper/popper-positioner.vue.d.ts +1 -1
  113. package/dist/components/progress/context.d.ts +0 -1
  114. package/dist/components/radio-group/context.d.ts +0 -1
  115. package/dist/components/scroll-area/context.d.ts +0 -1
  116. package/dist/components/select/context.d.ts +0 -1
  117. package/dist/components/select/select-compact.vue.d.ts +2 -2
  118. package/dist/components/select/select-content.vue.d.ts +4 -4
  119. package/dist/components/slider/context.d.ts +0 -1
  120. package/dist/components/slider/slider-root.vue.d.ts +1 -1
  121. package/dist/components/splitter/context.d.ts +0 -1
  122. package/dist/components/splitter/splitter-group.vue.d.ts +1 -1
  123. package/dist/components/stepper/context.d.ts +0 -1
  124. package/dist/components/switch/context.d.ts +0 -1
  125. package/dist/components/table/context.d.ts +0 -1
  126. package/dist/components/table/table-compact.vue.d.ts +2 -2
  127. package/dist/components/tabs/context.d.ts +0 -1
  128. package/dist/components/tags-input/context.d.ts +0 -1
  129. package/dist/components/tags-input/tags-input-compact.js +1 -1
  130. package/dist/components/tags-input/tags-input-root.js +1 -1
  131. package/dist/components/textarea/context.d.ts +0 -1
  132. package/dist/components/time-field/context.d.ts +0 -1
  133. package/dist/components/time-field/time-field-root.vue.d.ts +1 -1
  134. package/dist/components/time-range-field/context.d.ts +0 -1
  135. package/dist/components/time-range-field/time-range-field-root.vue.d.ts +2 -2
  136. package/dist/components/toast/context.d.ts +0 -1
  137. package/dist/components/toast/shared.js +1 -1
  138. package/dist/components/toast/toaster.vue.d.ts +2 -2
  139. package/dist/components/toggle-group/context.d.ts +0 -1
  140. package/dist/components/toolbar/context.d.ts +0 -1
  141. package/dist/components/tooltip/tooltip-compact.vue.d.ts +1 -1
  142. package/dist/components/tooltip/tooltip-root.vue.d.ts +1 -1
  143. package/dist/components/tree-menu/context.d.ts +3 -18
  144. package/dist/components/tree-menu/tree-menu-compact.js +1 -1
  145. package/dist/components/tree-menu/tree-menu-compact.vue.d.ts +2 -2
  146. package/dist/components/tree-menu/tree-menu-option-compact.js +1 -1
  147. package/dist/components/tree-menu/tree-menu-options-compact.js +1 -1
  148. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +1 -1
  149. package/dist/composables/use-collection.d.ts +3 -14
  150. package/dist/composables/use-collection.js +1 -1
  151. package/dist/composables/use-context.d.ts +1 -6
  152. package/dist/composables/use-context.js +1 -1
  153. package/dist/composables/use-hide-others.js +1 -1
  154. package/dist/resolver/index.js +1 -1
  155. package/package.json +4 -2
  156. package/dist/node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js +0 -1
@@ -2,7 +2,7 @@ import { UiClass } from "../../types/common.js";
2
2
  import { FormFieldCommonProps } from "../../types/component.js";
3
3
  import { BaseProps } from "../../types/vue.js";
4
4
  import { ButtonProps } from "../button/types.js";
5
- import { InputHTMLAttributes, ShallowRef } from "vue";
5
+ import { ComputedRef, InputHTMLAttributes, InputTypeHTMLAttribute, ShallowRef } from "vue";
6
6
 
7
7
  //#region src/components/input/types.d.ts
8
8
  /**
@@ -13,6 +13,10 @@ interface InputBaseProps {
13
13
  id?: string;
14
14
  /** When `true`, the input is auto-focused. */
15
15
  autofocus?: boolean;
16
+ /**
17
+ * The autocomplete attribute of the input
18
+ */
19
+ autocomplete?: 'on' | 'off';
16
20
  /** When `true`, prevents the user from interacting with the input. */
17
21
  disabled?: boolean;
18
22
  /** The maximum number of characters allowed in the input */
@@ -25,15 +29,25 @@ interface InputBaseProps {
25
29
  placeholder?: string;
26
30
  /** When `true`, the input is read-only. */
27
31
  readonly?: boolean;
32
+ /**
33
+ * The type of the input element.
34
+ */
35
+ type?: InputTypeHTMLAttribute;
28
36
  }
29
37
  /**
30
38
  * Properties for the InputRoot component.
31
39
  */
32
- interface InputRootProps extends InputBaseProps, FormFieldCommonProps, BaseProps {
40
+ interface InputRootProps extends FormFieldCommonProps, InputBaseProps, BaseProps {
33
41
  /** The default value of the input */
34
42
  defaultValue?: string;
35
43
  /** The controlled value of the input */
36
44
  modelValue?: string;
45
+ /** When `true`, prevents the user from interacting with the input. */
46
+ disabled?: boolean;
47
+ /** When `true`, the input is read-only. */
48
+ readonly?: boolean;
49
+ /** Properties forwarded to the root element */
50
+ rootProps?: BaseProps;
37
51
  }
38
52
  /**
39
53
  * Events for the InputRoot component.
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { InputNumberUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/input-number/context.d.ts
7
6
  declare const provideInputNumberUi: (ui: _$vue.ComputedRef<Partial<UiClass<InputNumberUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<InputNumberUiSlot>>>, useInputNumberUi: UseUiConsumer<InputNumberUiSlot>;
8
7
  //#endregion
@@ -1 +1 @@
1
- import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"./input-number-root.js";import i from"./input-number-control.js";import a from"./input-number-decrement.js";import o from"./input-number-increment.js";import s from"./input-number-clear.js";import{createBlock as c,createCommentVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderSlot as g,unref as _,withCtx as v}from"vue";const y=d({name:`InputNumberCompact`,__name:`input-number-compact`,props:{clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},clearProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`clear`],setup(d,{emit:y}){let b=d,x=y,S=t(b,[`inputRef`,`controlProps`,`clearable`,`clearProps`,`incrementProps`,`decrementProps`]),[C,w]=e(e=>b.inputRef?.(e));return(e,t)=>(h(),c(r,p(_(S),{"onUpdate:modelValue":t[1]||(t[1]=e=>x(`update:modelValue`,e))}),{default:v(r=>[g(e.$slots,`leading`,m(f(r))),u(i,p(d.controlProps,{ref:_(w)}),null,16),d.clearable?g(e.$slots,`clear`,m(p({key:0},r)),()=>[u(s,p(d.clearProps,{onClear:t[0]||(t[0]=e=>x(`clear`,e))}),null,16)]):l(`v-if`,!0),g(e.$slots,`trailing`,m(f(r))),g(e.$slots,`decrement`,m(f(r)),()=>[u(a,m(f(d.decrementProps)),{default:v(()=>[u(n,{icon:`lucide:minus`,"aria-hidden":!0})]),_:1},16)]),g(e.$slots,`increment`,m(f(r)),()=>[u(o,m(f(d.incrementProps)),{default:v(()=>[u(n,{icon:`lucide:plus`,"aria-hidden":!0})]),_:1},16)])]),_:3},16))}});export{y as default};
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"./input-number-root.js";import i from"./input-number-control.js";import a from"./input-number-decrement.js";import o from"./input-number-increment.js";import s from"./input-number-clear.js";import{createBlock as c,createCommentVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderSlot as g,unref as _,withCtx as v}from"vue";const y=d({name:`InputNumberCompact`,__name:`input-number-compact`,props:{clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},clearProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},rootProps:{},name:{},required:{type:Boolean},id:{},autofocus:{type:Boolean},autocomplete:{},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},type:{}},emits:[`update:modelValue`,`clear`],setup(d,{emit:y}){let b=d,x=y,S=t(b,[`inputRef`,`controlProps`,`clearable`,`clearProps`,`incrementProps`,`decrementProps`]),[C,w]=e(e=>b.inputRef?.(e));return(e,t)=>(h(),c(r,p(_(S),{"onUpdate:modelValue":t[1]||(t[1]=e=>x(`update:modelValue`,e))}),{default:v(r=>[g(e.$slots,`leading`,m(f(r))),u(i,p(d.controlProps,{ref:_(w)}),null,16),d.clearable?g(e.$slots,`clear`,m(p({key:0},r)),()=>[u(s,p(d.clearProps,{onClear:t[0]||(t[0]=e=>x(`clear`,e))}),null,16)]):l(`v-if`,!0),g(e.$slots,`trailing`,m(f(r))),g(e.$slots,`decrement`,m(f(r)),()=>[u(a,m(f(d.decrementProps)),{default:v(()=>[u(n,{icon:`lucide:minus`,"aria-hidden":!0})]),_:1},16)]),g(e.$slots,`increment`,m(f(r)),()=>[u(o,m(f(d.incrementProps)),{default:v(()=>[u(n,{icon:`lucide:plus`,"aria-hidden":!0})]),_:1},16)])]),_:3},16))}});export{y as default};
@@ -1 +1 @@
1
- import{getActiveElement as e}from"../../shared/dom.js";import"../../shared/index.js";import{useInputNumberRootContext as t,useInputNumberUi as n}from"./context.js";import{createElementBlock as r,defineComponent as i,normalizeClass as a,openBlock as o,shallowRef as s,unref as c,watch as l,withKeys as u,withModifiers as d}from"vue";const f=[`id`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`autofocus`,`data-disabled`,`data-readonly`,`disabled`,`inputmode`,`maxlength`,`minlength`,`pattern`,`placeholder`,`value`,`readonly`],p=i({name:`InputNumberControl`,__name:`input-number-control`,setup(i){let p=n(`control`),{id:m,autofocus:h,maxlength:g,minlength:_,pattern:v,placeholder:y,setInputElement:b,modelValue:x,disabled:S,readonly:C,textValue:w,inputMode:T,min:E,max:D,disableWheelChange:O,invertWheelChange:k,onDecrease:A,onIncrease:j,validate:M,onMinMaxValue:N,applyInputValue:P}=t(`InputNumberControl`),F=s(w.value),I=t=>{if(!O.value&&t.target===e()&&!(Math.abs(t.deltaY)<=Math.abs(t.deltaX))){if(t.preventDefault(),t.deltaY>0){k.value?A():j();return}t.deltaY<0&&(k.value?j():A())}},L=e=>{let t=e.target;M(t.value.slice(0,t.selectionStart??void 0)+(e.data??``)+t.value.slice(t.selectionEnd??void 0))||e.preventDefault()},R=e=>{F.value=e.target.value},z=()=>{requestAnimationFrame(()=>{F.value=w.value})},B=e=>{let t=e.target;P(t.value)},V=e=>{B(e)},H=e=>{B(e)};return l(()=>w.value,()=>{F.value=w.value},{immediate:!0,deep:!0}),(e,t)=>(o(),r(`input`,{id:c(m),ref:c(b),"data-soybean-input-number-control":``,class:a(c(p)),"aria-roledescription":`Number Input`,"aria-valuemin":c(E),"aria-valuemax":c(D),"aria-valuenow":c(x)??void 0,autocomplete:`off`,autocorrect:`off`,autofocus:c(h),"data-disabled":c(S)?``:void 0,"data-readonly":c(C)?``:void 0,disabled:c(S),inputmode:c(T),maxlength:c(g),minlength:c(_),pattern:c(v),placeholder:c(y),value:F.value,readonly:c(C),role:`spinbutton`,spellcheck:`false`,tabindex:`0`,type:`text`,onBeforeinput:L,onBlur:H,onChange:z,onInput:R,onKeydown:[t[0]||(t[0]=u(d((...e)=>c(A)&&c(A)(...e),[`prevent`]),[`down`])),t[1]||(t[1]=u(d(e=>c(N)(`max`),[`prevent`]),[`end`])),t[2]||(t[2]=u(d(e=>c(N)(`min`),[`prevent`]),[`home`])),t[3]||(t[3]=u(d(e=>c(j)(10),[`prevent`]),[`page-up`])),t[4]||(t[4]=u(d(e=>c(A)(10),[`prevent`]),[`page-down`])),t[5]||(t[5]=u(d((...e)=>c(j)&&c(j)(...e),[`prevent`]),[`up`])),u(V,[`enter`])],onWheel:I},null,42,f))}});export{p as default};
1
+ import{getActiveElement as e}from"../../shared/dom.js";import"../../shared/index.js";import{useInputNumberRootContext as t,useInputNumberUi as n}from"./context.js";import{createElementBlock as r,defineComponent as i,mergeProps as a,openBlock as o,shallowRef as s,unref as c,watch as l,withKeys as u,withModifiers as d}from"vue";const f=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`data-disabled`,`data-readonly`,`disabled`,`inputmode`,`value`,`readonly`],p=i({name:`InputNumberControl`,__name:`input-number-control`,setup(i){let p=n(`control`),{setInputElement:m,modelValue:h,disabled:g,readonly:_,textValue:v,inputMode:y,disableWheelChange:b,invertWheelChange:x,onDecrease:S,onIncrease:C,validate:w,onMinMaxValue:T,applyInputValue:E,inputAttrs:D}=t(`InputNumberControl`),O=s(v.value),k=t=>{if(!b.value&&t.target===e()&&!(Math.abs(t.deltaY)<=Math.abs(t.deltaX))){if(t.preventDefault(),t.deltaY>0){x.value?S():C();return}t.deltaY<0&&(x.value?C():S())}},A=e=>{let t=e.target;w(t.value.slice(0,t.selectionStart??void 0)+(e.data??``)+t.value.slice(t.selectionEnd??void 0))||e.preventDefault()},j=e=>{O.value=e.target.value},M=()=>{requestAnimationFrame(()=>{O.value=v.value})},N=e=>{let t=e.target;E(t.value)},P=e=>{N(e)},F=e=>{N(e)};return l(()=>v.value,()=>{O.value=v.value},{immediate:!0,deep:!0}),(e,t)=>(o(),r(`input`,a(c(D),{ref:c(m),"data-soybean-input-number-control":``,class:c(p),"aria-roledescription":`Number Input`,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":c(h)??void 0,autocomplete:`off`,autocorrect:`off`,"data-disabled":c(g)?``:void 0,"data-readonly":c(_)?``:void 0,disabled:c(g),inputmode:c(y),value:O.value,readonly:c(_),role:`spinbutton`,spellcheck:`false`,tabindex:`0`,type:`text`,onBeforeinput:A,onBlur:F,onChange:M,onInput:j,onKeydown:[t[0]||(t[0]=u(d((...e)=>c(S)&&c(S)(...e),[`prevent`]),[`down`])),t[1]||(t[1]=u(d(e=>c(T)(`max`),[`prevent`]),[`end`])),t[2]||(t[2]=u(d(e=>c(T)(`min`),[`prevent`]),[`home`])),t[3]||(t[3]=u(d(e=>c(C)(10),[`prevent`]),[`page-up`])),t[4]||(t[4]=u(d(e=>c(S)(10),[`prevent`]),[`page-down`])),t[5]||(t[5]=u(d((...e)=>c(C)&&c(C)(...e),[`prevent`]),[`up`])),u(P,[`enter`])],onWheel:k}),null,16,f))}});export{p as default};
@@ -1 +1 @@
1
- import{isFormControl as e,transformPropsToContext as t}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as n}from"../../composables/use-controllable-state.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import"../../composables/index.js";import i from"../visually-hidden/visually-hidden-input.js";import{provideInputNumberRootContext as a,useInputNumberUi as o}from"./context.js";import{computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,defineComponent as d,normalizeClass as f,openBlock as p,renderSlot as m,unref as h}from"vue";const g=[`data-disabled`,`data-readonly`],_=d({name:`InputNumberRoot`,__name:`input-number-root`,props:{defaultValue:{},modelValue:{default:void 0},min:{},max:{},step:{default:1},stepSnapping:{type:Boolean,default:!0},focusOnChange:{type:Boolean,default:!0},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(d,{emit:_}){let v=d,y=_,[b,x]=r(),S=o(`root`),C=n(()=>v.modelValue,e=>{y(`update:modelValue`,e)},v.defaultValue??null),w=s(()=>e(b.value)),T=()=>{C.value=null};return a({...t(v,[`id`,`autofocus`,`disabled`,`maxlength`,`minlength`,`pattern`,`placeholder`,`readonly`,`locale`,`focusOnChange`,`formatOptions`,`max`,`min`,`step`,`stepSnapping`,`disableWheelChange`,`invertWheelChange`]),modelValue:C,onClear:T}),(e,t)=>(p(),u(`div`,{ref:h(x),"data-soybean-input-number-root":``,class:f(h(S)),role:`group`,"data-disabled":d.disabled?``:void 0,"data-readonly":d.readonly?``:void 0},[m(e.$slots,`default`,{modelValue:h(C),clear:T}),w.value&&d.name?(p(),c(i,{key:0,type:`text`,value:h(C),name:d.name,disabled:d.disabled,readonly:d.readonly,required:d.required},null,8,[`value`,`name`,`disabled`,`readonly`,`required`])):l(`v-if`,!0)],10,g))}});export{_ as default};
1
+ import{isFormControl as e,transformPropsToContext as t}from"../../shared/vue.js";import"../../shared/index.js";import{useControllableState as n}from"../../composables/use-controllable-state.js";import{useForwardElement as r}from"../../composables/use-forward-element.js";import"../../composables/index.js";import i from"../visually-hidden/visually-hidden-input.js";import{provideInputNumberRootContext as a,useInputNumberUi as o}from"./context.js";import{computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,defineComponent as d,mergeProps as f,openBlock as p,renderSlot as m,unref as h,useAttrs as g}from"vue";const _=[`data-disabled`,`data-readonly`],v=d({name:`InputNumberRoot`,inheritAttrs:!1,__name:`input-number-root`,props:{defaultValue:{},modelValue:{default:void 0},min:{},max:{},step:{default:1},stepSnapping:{type:Boolean,default:!0},focusOnChange:{type:Boolean,default:!0},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},rootProps:{},name:{},required:{type:Boolean},id:{},autofocus:{type:Boolean},autocomplete:{},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},type:{}},emits:[`update:modelValue`],setup(d,{emit:v}){let y=d,b=v,x=g(),[S,C]=r(),w=o(`root`),T=n(()=>y.modelValue,e=>{b(`update:modelValue`,e)},y.defaultValue??null),E=s(()=>e(S.value)),D=s(()=>({...x,id:y.id,name:y.name,required:y.required,disabled:y.disabled,readonly:y.readonly,autofocus:y.autofocus,autocomplete:y.autocomplete,maxlength:y.maxlength,minlength:y.minlength,pattern:y.pattern,placeholder:y.placeholder,type:y.type})),O=()=>{T.value=null};return a({...t(y,[`disabled`,`readonly`,`max`,`min`,`step`,`locale`,`focusOnChange`,`formatOptions`,`stepSnapping`,`disableWheelChange`,`invertWheelChange`]),modelValue:T,onClear:O,inputAttrs:D}),(e,t)=>(p(),u(`div`,f({ref:h(C)},d.rootProps,{"data-soybean-input-number-root":``,class:h(w),role:`group`,"data-disabled":d.disabled?``:void 0,"data-readonly":d.readonly?``:void 0}),[m(e.$slots,`default`,{modelValue:h(T),clear:O}),E.value&&d.name?(p(),c(i,{key:0,type:`text`,value:h(T),name:d.name,disabled:d.disabled,readonly:d.readonly,required:d.required},null,8,[`value`,`name`,`disabled`,`readonly`,`required`])):l(`v-if`,!0)],16,_))}});export{v as default};
@@ -14,10 +14,10 @@ declare const __VLS_base: _$vue.DefineComponent<InputNumberRootProps, {}, {}, {}
14
14
  }, string, _$vue.PublicProps, Readonly<InputNumberRootProps> & Readonly<{
15
15
  "onUpdate:modelValue"?: ((val: number | null) => any) | undefined;
16
16
  }>, {
17
- step: number;
18
17
  modelValue: number | null;
19
- stepSnapping: boolean;
18
+ step: number;
20
19
  focusOnChange: boolean;
20
+ stepSnapping: boolean;
21
21
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
23
  declare const _default: typeof __VLS_export;
@@ -3,13 +3,13 @@ import { FormFieldCommonProps } from "../../types/component.js";
3
3
  import { BaseProps } from "../../types/vue.js";
4
4
  import { ButtonProps } from "../button/types.js";
5
5
  import { InputBaseProps } from "../input/types.js";
6
- import { InputHTMLAttributes, ShallowRef } from "vue";
6
+ import { ComputedRef, InputHTMLAttributes, ShallowRef } from "vue";
7
7
 
8
8
  //#region src/components/input-number/types.d.ts
9
9
  /**
10
10
  * Properties for the InputNumberRoot component.
11
11
  */
12
- interface InputNumberRootProps extends InputBaseProps, FormFieldCommonProps, BaseProps {
12
+ interface InputNumberRootProps extends FormFieldCommonProps, InputBaseProps, BaseProps {
13
13
  /** The default value of the input */
14
14
  defaultValue?: number;
15
15
  /** The controlled value of the input */
@@ -35,6 +35,10 @@ interface InputNumberRootProps extends InputBaseProps, FormFieldCommonProps, Bas
35
35
  disableWheelChange?: boolean;
36
36
  /** When `true`, inverts the direction of the wheel change. */
37
37
  invertWheelChange?: boolean;
38
+ /**
39
+ * Properties forwarded to the root element.
40
+ */
41
+ rootProps?: BaseProps;
38
42
  }
39
43
  /**
40
44
  * Events for the InputNumberRoot component.
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { InputOtpUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/input-otp/context.d.ts
7
6
  declare const provideInputOtpUi: (ui: _$vue.ComputedRef<Partial<UiClass<InputOtpUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<InputOtpUiSlot>>>, useInputOtpUi: UseUiConsumer<InputOtpUiSlot>;
8
7
  //#endregion
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { LayoutClassicUiSlot, LayoutUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/layout/context.d.ts
7
6
  declare const provideLayoutUi: (ui: _$vue.ComputedRef<Partial<UiClass<LayoutUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<LayoutUiSlot>>>, useLayoutUi: UseUiConsumer<LayoutUiSlot>;
8
7
  declare const provideLayoutClassicUi: (ui: _$vue.ComputedRef<Partial<UiClass<LayoutClassicUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<LayoutClassicUiSlot>>>, useLayoutClassicUi: UseUiConsumer<LayoutClassicUiSlot>;
@@ -10,8 +10,8 @@ declare const __VLS_base: _$vue.DefineComponent<LayoutClassicCompactProps, {}, {
10
10
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
11
11
  }>, {
12
12
  orientation: DataOrientation;
13
- open: boolean;
14
13
  defaultOpen: boolean;
14
+ open: boolean;
15
15
  sidebarVisible: boolean;
16
16
  headerVisible: boolean;
17
17
  tabVisible: boolean;
@@ -8,8 +8,8 @@ declare const __VLS_base: _$vue.DefineComponent<LayoutCompactProps, {}, {}, {},
8
8
  }, string, _$vue.PublicProps, Readonly<LayoutCompactProps> & Readonly<{
9
9
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
10
10
  }>, {
11
- open: boolean;
12
11
  defaultOpen: boolean;
12
+ open: boolean;
13
13
  sidebarVisible: boolean;
14
14
  headerVisible: boolean;
15
15
  tabVisible: boolean;
@@ -15,11 +15,11 @@ declare const __VLS_base: _$vue.DefineComponent<LayoutRootProps, {}, {}, {}, {},
15
15
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
16
16
  }>, {
17
17
  collapsible: LayoutCollapsible;
18
- open: boolean;
19
18
  defaultOpen: boolean;
19
+ open: boolean;
20
20
  side: LayoutSide;
21
- variant: LayoutVariant;
22
21
  pxToRem: (px: number) => number;
22
+ variant: LayoutVariant;
23
23
  sidebarVisible: boolean;
24
24
  sidebarWidth: number;
25
25
  collapsedSidebarWidth: number;
@@ -2,11 +2,11 @@ import { LayoutSidebarProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/layout/layout-sidebar.vue.d.ts
5
- declare var __VLS_8: {}, __VLS_10: {};
5
+ declare var __VLS_7: {}, __VLS_9: {};
6
6
  type __VLS_Slots = {} & {
7
- default?: (props: typeof __VLS_8) => any;
7
+ default?: (props: typeof __VLS_7) => any;
8
8
  } & {
9
- default?: (props: typeof __VLS_10) => any;
9
+ default?: (props: typeof __VLS_9) => any;
10
10
  };
11
11
  declare const __VLS_base: _$vue.DefineComponent<LayoutSidebarProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<LayoutSidebarProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
12
12
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{useListboxRootContext as n}from"./context.js";import r from"../input/input-root.js";import i from"../input/input-control.js";import"../input/index.js";import{computed as a,createBlock as o,createVNode as s,defineComponent as c,mergeProps as l,onMounted as u,onUnmounted as d,openBlock as f,renderSlot as p,shallowRef as m,unref as h,watchSyncEffect as g,withCtx as _,withKeys as v,withModifiers as y}from"vue";const b=c({name:`ListboxFilter`,__name:`listbox-filter`,props:{inputRef:{type:Function},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:b}){let x=c,S=b,C=t(x,[`inputRef`,`controlProps`]),{disabled:w,focusable:T,highlightedElement:E,highlightFirstItem:D,onKeydownNavigation:O,onKeydownEnter:k}=n(`ListboxFilter`),[A,j]=e(e=>x.inputRef?.(e)),M=a(()=>x.disabled||w.value||!1),N=m(),P=()=>{D()};return g(()=>{N.value=E.value?.id}),u(()=>{T.value=!1,setTimeout(()=>{x.autofocus&&A.value?.focus()},1)}),d(()=>{T.value=!0}),(e,t)=>(f(),o(h(r),l({"data-soybean-listbox-filter":``},h(C),{"onUpdate:modelValue":t[0]||(t[0]=e=>S(`update:modelValue`,e))}),{default:_(({clear:t})=>[p(e.$slots,`leading`,{clear:t}),s(h(i),l(c.controlProps,{ref:h(j),"aria-activedescendant":N.value,disabled:M.value,type:`text`,onKeydown:[v(y(h(O),[`prevent`]),[`down`,`up`,`home`,`end`]),v(h(k),[`enter`])],onInput:P}),null,16,[`aria-activedescendant`,`disabled`,`onKeydown`]),p(e.$slots,`trailing`,{clear:t})]),_:3},16))}});export{b as default};
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import{useListboxRootContext as n}from"./context.js";import r from"../input/input-root.js";import i from"../input/input-control.js";import"../input/index.js";import{computed as a,createBlock as o,createVNode as s,defineComponent as c,mergeProps as l,onMounted as u,onUnmounted as d,openBlock as f,renderSlot as p,shallowRef as m,unref as h,watchSyncEffect as g,withCtx as _,withKeys as v,withModifiers as y}from"vue";const b=c({name:`ListboxFilter`,__name:`listbox-filter`,props:{inputRef:{type:Function},controlProps:{},defaultValue:{},modelValue:{},disabled:{type:Boolean},readonly:{type:Boolean},rootProps:{},name:{},required:{type:Boolean},id:{},autofocus:{type:Boolean},autocomplete:{},maxlength:{},minlength:{},pattern:{},placeholder:{},type:{}},emits:[`update:modelValue`],setup(c,{emit:b}){let x=c,S=b,C=t(x,[`inputRef`,`controlProps`]),{disabled:w,focusable:T,highlightedElement:E,highlightFirstItem:D,onKeydownNavigation:O,onKeydownEnter:k}=n(`ListboxFilter`),[A,j]=e(e=>x.inputRef?.(e)),M=a(()=>x.disabled||w.value||!1),N=m(),P=()=>{D()};return g(()=>{N.value=E.value?.id}),u(()=>{T.value=!1,setTimeout(()=>{x.autofocus&&A.value?.focus()},1)}),d(()=>{T.value=!0}),(e,t)=>(f(),o(h(r),l({"data-soybean-listbox-filter":``},h(C),{"onUpdate:modelValue":t[0]||(t[0]=e=>S(`update:modelValue`,e))}),{default:_(({clear:t})=>[p(e.$slots,`leading`,{clear:t}),s(h(i),l(c.controlProps,{ref:h(j),"aria-activedescendant":N.value,disabled:M.value,type:`text`,onKeydown:[v(y(h(O),[`prevent`]),[`down`,`up`,`home`,`end`]),v(h(k),[`enter`])],onInput:P}),null,16,[`aria-activedescendant`,`disabled`,`onKeydown`]),p(e.$slots,`trailing`,{clear:t})]),_:3},16))}});export{b as default};
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { MenuUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/menu/context.d.ts
7
6
  declare const provideMenuUi: (ui: _$vue.ComputedRef<Partial<UiClass<MenuUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<MenuUiSlot>>>, useMenuUi: UseUiConsumer<MenuUiSlot>;
8
7
  //#endregion
@@ -1 +1 @@
1
- import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js";import{COMMON_SLOTS as t}from"./shared.js";import{computed as n}from"vue";const r=r=>n(()=>e(r).filter(e=>t.includes(e)));export{r as useCommonSlotNames};
1
+ import{COMMON_SLOTS as e}from"./shared.js";import{computed as t}from"vue";import{keysOf as n}from"@soybeanjs/utils";const r=r=>t(()=>n(r).filter(t=>e.includes(t)));export{r as useCommonSlotNames};
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<MenuContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
- entryFocus: (event: Event) => any;
12
- closeAutoFocus: (event: Event) => any;
13
11
  escapeKeyDown: (event: KeyboardEvent) => any;
14
12
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
15
13
  focusOutside: (event: FocusOutsideEvent) => any;
16
14
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
15
  openAutoFocus: (event: Event) => any;
16
+ closeAutoFocus: (event: Event) => any;
17
+ entryFocus: (event: Event) => any;
18
18
  }, string, _$vue.PublicProps, Readonly<MenuContentProps> & Readonly<{
19
- onEntryFocus?: ((event: Event) => any) | undefined;
20
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
21
19
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
23
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
23
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
25
+ onEntryFocus?: ((event: Event) => any) | undefined;
26
26
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import{useOmitProps as n}from"../../composables/use-props.js";import"../../composables/index.js";import r from"../_icon/icon.js";import i from"../portal/portal.js";import a from"../link/link.js";import o from"../kbd/kbd.js";import s from"../separator/separator-root.js";import{useMenuOptionsCompactContext as c,useMenuUi as l}from"./context.js";import u from"./menu-group.js";import d from"./menu-group-label.js";import f from"./menu-item.js";import p from"./menu-sub.js";import m from"./menu-sub-trigger.js";import h from"./menu-sub-content.js";import{useCommonSlotNames as g}from"./hooks.js";import _ from"./menu-item-slot-compact.js";import{Fragment as v,computed as y,createBlock as b,createCommentVNode as x,createElementBlock as S,createSlots as C,createVNode as w,defineComponent as T,guardReactiveProps as E,mergeProps as D,normalizeClass as O,normalizeProps as k,openBlock as A,renderList as j,renderSlot as M,resolveComponent as N,toHandlers as P,unref as F,useSlots as I,withCtx as L}from"vue";const R=T({name:`MenuOptionCompact`,inheritAttrs:!1,__name:`menu-option-compact`,props:{item:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(T,{emit:R}){let z=T,B=R,V=t(B),H=I(),U=n(z,[`item`]),W=y(()=>e(H)),G=g(H),K=l(),{activeValue:q,activePaths:J}=c(`MenuOptionCompact`),Y=y(()=>q.value===z.item.value),X=y(()=>J.value.includes(z.item.value));return(e,t)=>{let n=N(`MenuOptionCompact`,!0);return A(),S(v,null,[T.item.isGroupLabel?(A(),b(d,k(D({key:0},T.groupLabelProps)),{default:L(()=>[w(_,{icon:T.item.icon,label:T.item.label},{default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16)):T.item.to||T.item.href?(A(),b(f,D({key:1},T.itemProps,{"as-child":``,disabled:T.item.disabled,"text-value":T.item.textValue,"data-active":Y.value,onSelect:t[0]||(t[0]=e=>B(`select`,T.item,e))}),{default:L(()=>[w(a,D(T.linkProps,{disabled:T.item.disabled,to:T.item.to,href:T.item.href,target:T.item.target,external:T.item.external}),{default:L(({isHref:t})=>[w(_,{icon:T.item.icon,label:T.item.label},C({default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:2},[t?{name:`link-icon`,fn:L(()=>[M(e.$slots,`item-link-icon`,{item:T.item},()=>[w(r,{icon:`lucide:arrow-up-right`,class:O(F(K).itemLinkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:3},16,[`disabled`,`to`,`href`,`target`,`external`])]),_:3},16,[`disabled`,`text-value`,`data-active`])):T.item.children?.length?(A(),b(p,D({key:3},T.subProps,{"onUpdate:open":t[2]||(t[2]=e=>B(`update:open`,e))}),{default:L(()=>[w(m,D(T.subTriggerProps,{disabled:T.item.disabled,"text-value":T.item.textValue,"data-child-active":X.value?``:void 0}),{default:L(()=>[w(_,{icon:T.item.icon,label:T.item.label},{"trigger-icon":L(()=>[M(e.$slots,`item-trigger-icon`,{item:T.item},()=>[w(r,{icon:`lucide:chevron-right`,class:O(F(K).subTriggerIcon)},null,8,[`class`])])]),default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-child-active`]),T.item.separator?(A(),b(s,k(D({key:0},T.separatorProps)),null,16)):x(`v-if`,!0),w(i,k(E(T.portalProps)),{default:L(()=>[w(h,D(T.subContentProps,P(F(V))),{default:L(()=>[w(u,k(E(T.groupProps)),{default:L(()=>[(A(!0),S(v,null,j(T.item.children,t=>(A(),b(n,D({key:t.value},{ref_for:!0},F(U),{item:t},P(F(V))),C({_:2},[j(W.value,t=>({name:t,fn:L(n=>[M(e.$slots,t,D({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16)):(A(),b(f,D({key:2},T.itemProps,{disabled:T.item.disabled,"text-value":T.item.textValue,"data-active":Y.value,onSelect:t[1]||(t[1]=e=>B(`select`,T.item,e))}),{default:L(()=>[w(_,{icon:T.item.icon,label:T.item.label},{shortcut:L(()=>[T.item.shortcut?(A(),b(o,D({key:0},T.shortcutProps,{value:T.item.shortcut,class:F(K).shortcut}),null,16,[`value`,`class`])):x(`v-if`,!0)]),default:L(()=>[(A(!0),S(v,null,j(F(G),t=>M(e.$slots,t,{item:T.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-active`])),T.item.separator&&!T.item.children?.length?(A(),b(s,k(D({key:4},T.separatorProps)),null,16)):x(`v-if`,!0)],64)}}});export{R as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"../portal/portal.js";import i from"../link/link.js";import a from"../kbd/kbd.js";import o from"../separator/separator-root.js";import{useMenuOptionsCompactContext as s,useMenuUi as c}from"./context.js";import l from"./menu-group.js";import u from"./menu-group-label.js";import d from"./menu-item.js";import f from"./menu-sub.js";import p from"./menu-sub-trigger.js";import m from"./menu-sub-content.js";import{useCommonSlotNames as h}from"./hooks.js";import g from"./menu-item-slot-compact.js";import{Fragment as _,computed as v,createBlock as y,createCommentVNode as b,createElementBlock as x,createSlots as S,createVNode as C,defineComponent as w,guardReactiveProps as T,mergeProps as E,normalizeClass as D,normalizeProps as O,openBlock as k,renderList as A,renderSlot as j,resolveComponent as M,toHandlers as N,unref as P,useSlots as F,withCtx as I}from"vue";import{keysOf as L}from"@soybeanjs/utils";const R=w({name:`MenuOptionCompact`,inheritAttrs:!1,__name:`menu-option-compact`,props:{item:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(w,{emit:R}){let z=w,B=R,V=e(B),H=F(),U=t(z,[`item`]),W=v(()=>L(H)),G=h(H),K=c(),{activeValue:q,activePaths:J}=s(`MenuOptionCompact`),Y=v(()=>q.value===z.item.value),X=v(()=>J.value.includes(z.item.value));return(e,t)=>{let s=M(`MenuOptionCompact`,!0);return k(),x(_,null,[w.item.isGroupLabel?(k(),y(u,O(E({key:0},w.groupLabelProps)),{default:I(()=>[C(g,{icon:w.item.icon,label:w.item.label},{default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16)):w.item.to||w.item.href?(k(),y(d,E({key:1},w.itemProps,{"as-child":``,disabled:w.item.disabled,"text-value":w.item.textValue,"data-active":Y.value,onSelect:t[0]||(t[0]=e=>B(`select`,w.item,e))}),{default:I(()=>[C(i,E(w.linkProps,{disabled:w.item.disabled,to:w.item.to,href:w.item.href,target:w.item.target,external:w.item.external}),{default:I(({isHref:t})=>[C(g,{icon:w.item.icon,label:w.item.label},S({default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:2},[t?{name:`link-icon`,fn:I(()=>[j(e.$slots,`item-link-icon`,{item:w.item},()=>[C(n,{icon:`lucide:arrow-up-right`,class:D(P(K).itemLinkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`,`label`])]),_:3},16,[`disabled`,`to`,`href`,`target`,`external`])]),_:3},16,[`disabled`,`text-value`,`data-active`])):w.item.children?.length?(k(),y(f,E({key:3},w.subProps,{"onUpdate:open":t[2]||(t[2]=e=>B(`update:open`,e))}),{default:I(()=>[C(p,E(w.subTriggerProps,{disabled:w.item.disabled,"text-value":w.item.textValue,"data-child-active":X.value?``:void 0}),{default:I(()=>[C(g,{icon:w.item.icon,label:w.item.label},{"trigger-icon":I(()=>[j(e.$slots,`item-trigger-icon`,{item:w.item},()=>[C(n,{icon:`lucide:chevron-right`,class:D(P(K).subTriggerIcon)},null,8,[`class`])])]),default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-child-active`]),w.item.separator?(k(),y(o,O(E({key:0},w.separatorProps)),null,16)):b(`v-if`,!0),C(r,O(T(w.portalProps)),{default:I(()=>[C(m,E(w.subContentProps,N(P(V))),{default:I(()=>[C(l,O(T(w.groupProps)),{default:I(()=>[(k(!0),x(_,null,A(w.item.children,t=>(k(),y(s,E({key:t.value},{ref_for:!0},P(U),{item:t},N(P(V))),S({_:2},[A(W.value,t=>({name:t,fn:I(n=>[j(e.$slots,t,E({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16)):(k(),y(d,E({key:2},w.itemProps,{disabled:w.item.disabled,"text-value":w.item.textValue,"data-active":Y.value,onSelect:t[1]||(t[1]=e=>B(`select`,w.item,e))}),{default:I(()=>[C(g,{icon:w.item.icon,label:w.item.label},{shortcut:I(()=>[w.item.shortcut?(k(),y(a,E({key:0},w.shortcutProps,{value:w.item.shortcut,class:P(K).shortcut}),null,16,[`value`,`class`])):b(`v-if`,!0)]),default:I(()=>[(k(!0),x(_,null,A(P(G),t=>j(e.$slots,t,{item:w.item})),256))]),_:3},8,[`icon`,`label`])]),_:3},16,[`disabled`,`text-value`,`data-active`])),w.item.separator&&!w.item.children?.length?(k(),y(o,O(E({key:4},w.separatorProps)),null,16)):b(`v-if`,!0)],64)}}});export{R as default};
@@ -8,20 +8,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
8
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<MenuOptionCompactProps<T> & {
9
9
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
10
10
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
- onEntryFocus?: ((event: Event) => any) | undefined;
12
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
13
11
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
14
12
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
15
13
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
16
14
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
17
15
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
+ onEntryFocus?: ((event: Event) => any) | undefined;
18
18
  }> & (typeof globalThis extends {
19
19
  __VLS_PROPS_FALLBACK: infer P;
20
20
  } ? P : {});
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: MenuOptionCompactSlots<T>;
24
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void);
24
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
25
25
  }>) => _$vue.VNode & {
26
26
  __ctx?: Awaited<typeof __VLS_setup>;
27
27
  };
@@ -1 +1 @@
1
- import{transformPropsToContext as e}from"../../shared/vue.js";import{getTreePaths as t}from"../../shared/tree.js";import"../../shared/index.js";import{e as n}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js";import{useForwardListeners as r}from"../../composables/use-forward-listeners.js";import{useOmitProps as i}from"../../composables/use-props.js";import"../../composables/index.js";import{provideMenuOptionsCompactContext as a}from"./context.js";import o from"./menu-group.js";import s from"./menu-option-compact.js";import{Fragment as c,computed as l,createBlock as u,createElementBlock as d,createSlots as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,toHandlers as b,unref as x,useSlots as S,withCtx as C}from"vue";const w=p({name:`MenuOptionsCompact`,inheritAttrs:!1,__name:`menu-options-compact`,props:{items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(p,{emit:w}){let T=p,E=w,D=S(),O=i(T,[`items`]),k=r(E),A=l(()=>n(D)),j=l(()=>T.activeValue===void 0?[]:t(T.activeValue,T.items));return a({...e(T,[`activeValue`]),activePaths:j}),(e,t)=>(_(),u(o,g(m(p.groupProps)),{default:C(()=>[(_(!0),d(c,null,v(p.items,t=>(_(),u(s,h({key:t.value},{ref_for:!0},x(O),{item:t},b(x(k))),f({_:2},[v(A.value,t=>({name:t,fn:C(n=>[y(e.$slots,t,h({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16))}});export{w as default};
1
+ import{transformPropsToContext as e}from"../../shared/vue.js";import{getTreePaths as t}from"../../shared/tree.js";import"../../shared/index.js";import{useForwardListeners as n}from"../../composables/use-forward-listeners.js";import{useOmitProps as r}from"../../composables/use-props.js";import"../../composables/index.js";import{provideMenuOptionsCompactContext as i}from"./context.js";import a from"./menu-group.js";import o from"./menu-option-compact.js";import{Fragment as s,computed as c,createBlock as l,createElementBlock as u,createSlots as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{keysOf as C}from"@soybeanjs/utils";const w=f({name:`MenuOptionsCompact`,inheritAttrs:!1,__name:`menu-options-compact`,props:{items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},portalProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(f,{emit:w}){let T=f,E=w,D=x(),O=r(T,[`items`]),k=n(E),A=c(()=>C(D)),j=c(()=>T.activeValue===void 0?[]:t(T.activeValue,T.items));return i({...e(T,[`activeValue`]),activePaths:j}),(e,t)=>(g(),l(a,h(p(f.groupProps)),{default:S(()=>[(g(!0),u(s,null,_(f.items,t=>(g(),l(o,m({key:t.value},{ref_for:!0},b(O),{item:t},y(b(k))),d({_:2},[_(A.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,m({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16))}});export{w as default};
@@ -8,20 +8,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
8
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<MenuOptionsCompactProps<T> & {
9
9
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
10
10
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
- onEntryFocus?: ((event: Event) => any) | undefined;
12
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
13
11
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
14
12
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
15
13
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
16
14
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
17
15
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
+ onEntryFocus?: ((event: Event) => any) | undefined;
18
18
  }> & (typeof globalThis extends {
19
19
  __VLS_PROPS_FALLBACK: infer P;
20
20
  } ? P : {});
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: MenuOptionsCompactSlots<T>;
24
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void);
24
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
25
25
  }>) => _$vue.VNode & {
26
26
  __ctx?: Awaited<typeof __VLS_setup>;
27
27
  };
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<MenuSubContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
- entryFocus: (event: Event) => any;
12
- closeAutoFocus: (event: Event) => any;
13
11
  escapeKeyDown: (event: KeyboardEvent) => any;
14
12
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
15
13
  focusOutside: (event: FocusOutsideEvent) => any;
16
14
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
15
  openAutoFocus: (event: Event) => any;
16
+ closeAutoFocus: (event: Event) => any;
17
+ entryFocus: (event: Event) => any;
18
18
  }, string, _$vue.PublicProps, Readonly<MenuSubContentProps> & Readonly<{
19
- onEntryFocus?: ((event: Event) => any) | undefined;
20
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
21
19
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
23
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
23
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
25
+ onEntryFocus?: ((event: Event) => any) | undefined;
26
26
  }>, {
27
27
  prioritizePosition: boolean;
28
28
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { MenubarUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/menubar/context.d.ts
7
6
  declare const provideMenubarUi: (ui: _$vue.ComputedRef<Partial<UiClass<MenubarUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<MenubarUiSlot>>>, useMenubarUi: UseUiConsumer<MenubarUiSlot>;
8
7
  //#endregion
@@ -1 +1 @@
1
- import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import{usePickProps as n}from"../../composables/use-props.js";import"../../composables/index.js";import r from"../_icon/icon.js";import i from"../portal/portal.js";import a from"../link/link.js";import{useMenuUi as o}from"../menu/context.js";import s from"../menu/menu-options-compact.js";import"../menu/index.js";import c from"./menubar-root.js";import l from"./menubar-menu.js";import u from"./menubar-trigger.js";import d from"./menubar-content.js";import{Fragment as f,computed as p,createBlock as m,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createSlots as v,createVNode as y,defineComponent as b,mergeProps as x,normalizeClass as S,openBlock as C,renderList as w,renderSlot as T,toDisplayString as E,toHandlers as D,unref as O,useSlots as k,withCtx as A}from"vue";const j=b({name:`MenubarCompact`,__name:`menubar-compact`,props:{disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},modelValue:{},defaultValue:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:open`,`select`],setup(b,{emit:j}){let M=b,N=j,P=k(),F=n(M,[`as`,`modelValue`,`defaultValue`,`dir`,`loop`]),I=n(M,[`items`,`activeValue`,`itemProps`,`linkProps`,`groupProps`,`groupLabelProps`,`portalProps`,`subTriggerProps`,`subContentProps`,`separatorProps`,`shortcutProps`]),L=t(N),R=p(()=>e(P).filter(e=>e!==`trigger`)),z=o(),B=p(()=>({...M.triggerProps,disabled:M.disabled??M.triggerProps?.disabled})),V=p(()=>({...M.contentProps,popupProps:M.popupProps??M.contentProps?.popupProps,placement:M.placement??M.contentProps?.placement,sideOffset:M.contentProps?.sideOffset??(M.showArrow?0:8)}));return(e,t)=>(C(),m(c,x(O(F),D(O(L))),{default:A(()=>[(C(!0),g(f,null,w(b.items,t=>(C(),m(l,{key:t.value,value:t.value},{default:A(()=>[t.to||t.href?(C(),m(u,x({key:0,ref_for:!0},B.value,{"as-child":``}),{default:A(()=>[y(a,x({ref_for:!0},b.linkProps,{disabled:t.disabled,to:t.to,href:t.href,target:t.target,external:t.external}),{default:A(({isHref:n})=>[T(e.$slots,`trigger`,{item:t},()=>[T(e.$slots,`item-leading`,{item:t},()=>[t.icon?(C(),m(r,{key:0,icon:t.icon,class:S(O(z).itemIcon)},null,8,[`icon`,`class`])):h(`v-if`,!0)]),_(`span`,null,E(t.label),1),n?T(e.$slots,`item-link-icon`,{key:0,item:t},()=>[y(r,{icon:`lucide:arrow-up-right`,class:S(O(z).itemLinkIcon)},null,8,[`class`])]):h(`v-if`,!0),T(e.$slots,`item-trailing`,{item:t})])]),_:2},1040,[`disabled`,`to`,`href`,`target`,`external`])]),_:2},1040)):(C(),g(f,{key:1},[y(u,x({ref_for:!0},B.value),{default:A(()=>[T(e.$slots,`trigger`,{item:t},()=>[T(e.$slots,`item-leading`,{item:t},()=>[t.icon?(C(),m(r,{key:0,icon:t.icon,class:S(O(z).itemIcon)},null,8,[`icon`,`class`])):h(`v-if`,!0)]),_(`span`,null,E(t.label),1),T(e.$slots,`item-trailing`,{item:t})])]),_:2},1040),y(O(i),x({ref_for:!0},b.portalProps),{default:A(()=>[y(d,x({ref_for:!0},V.value),{default:A(()=>[y(O(s),x({ref_for:!0},O(I),{items:t.children??[]}),v({_:2},[w(R.value,t=>({name:t,fn:A(n=>[T(e.$slots,t,x({ref_for:!0},n))])}))]),1040,[`items`])]),_:2},1040)]),_:2},1040)],64))]),_:2},1032,[`value`]))),128))]),_:3},16))}});export{j as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{usePickProps as t}from"../../composables/use-props.js";import"../../composables/index.js";import n from"../_icon/icon.js";import r from"../portal/portal.js";import i from"../link/link.js";import{useMenuUi as a}from"../menu/context.js";import o from"../menu/menu-options-compact.js";import"../menu/index.js";import s from"./menubar-root.js";import c from"./menubar-menu.js";import l from"./menubar-trigger.js";import u from"./menubar-content.js";import{Fragment as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as _,createVNode as v,defineComponent as y,mergeProps as b,normalizeClass as x,openBlock as S,renderList as C,renderSlot as w,toDisplayString as T,toHandlers as E,unref as D,useSlots as O,withCtx as k}from"vue";import{keysOf as A}from"@soybeanjs/utils";const j=y({name:`MenubarCompact`,__name:`menubar-compact`,props:{disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},modelValue:{},defaultValue:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:open`,`select`],setup(y,{emit:j}){let M=y,N=j,P=O(),F=t(M,[`as`,`modelValue`,`defaultValue`,`dir`,`loop`]),I=t(M,[`items`,`activeValue`,`itemProps`,`linkProps`,`groupProps`,`groupLabelProps`,`portalProps`,`subTriggerProps`,`subContentProps`,`separatorProps`,`shortcutProps`]),L=e(N),R=f(()=>A(P).filter(e=>e!==`trigger`)),z=a(),B=f(()=>({...M.triggerProps,disabled:M.disabled??M.triggerProps?.disabled})),V=f(()=>({...M.contentProps,popupProps:M.popupProps??M.contentProps?.popupProps,placement:M.placement??M.contentProps?.placement,sideOffset:M.contentProps?.sideOffset??(M.showArrow?0:8)}));return(e,t)=>(S(),p(s,b(D(F),E(D(L))),{default:k(()=>[(S(!0),h(d,null,C(y.items,t=>(S(),p(c,{key:t.value,value:t.value},{default:k(()=>[t.to||t.href?(S(),p(l,b({key:0,ref_for:!0},B.value,{"as-child":``}),{default:k(()=>[v(i,b({ref_for:!0},y.linkProps,{disabled:t.disabled,to:t.to,href:t.href,target:t.target,external:t.external}),{default:k(({isHref:r})=>[w(e.$slots,`trigger`,{item:t},()=>[w(e.$slots,`item-leading`,{item:t},()=>[t.icon?(S(),p(n,{key:0,icon:t.icon,class:x(D(z).itemIcon)},null,8,[`icon`,`class`])):m(`v-if`,!0)]),g(`span`,null,T(t.label),1),r?w(e.$slots,`item-link-icon`,{key:0,item:t},()=>[v(n,{icon:`lucide:arrow-up-right`,class:x(D(z).itemLinkIcon)},null,8,[`class`])]):m(`v-if`,!0),w(e.$slots,`item-trailing`,{item:t})])]),_:2},1040,[`disabled`,`to`,`href`,`target`,`external`])]),_:2},1040)):(S(),h(d,{key:1},[v(l,b({ref_for:!0},B.value),{default:k(()=>[w(e.$slots,`trigger`,{item:t},()=>[w(e.$slots,`item-leading`,{item:t},()=>[t.icon?(S(),p(n,{key:0,icon:t.icon,class:x(D(z).itemIcon)},null,8,[`icon`,`class`])):m(`v-if`,!0)]),g(`span`,null,T(t.label),1),w(e.$slots,`item-trailing`,{item:t})])]),_:2},1040),v(D(r),b({ref_for:!0},y.portalProps),{default:k(()=>[v(u,b({ref_for:!0},V.value),{default:k(()=>[v(D(o),b({ref_for:!0},D(I),{items:t.children??[]}),_({_:2},[C(R.value,t=>({name:t,fn:k(n=>[w(e.$slots,t,b({ref_for:!0},n))])}))]),1040,[`items`])]),_:2},1040)]),_:2},1040)],64))]),_:2},1032,[`value`]))),128))]),_:3},16))}});export{j as default};
@@ -10,20 +10,20 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
10
10
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
11
11
  "onUpdate:modelValue"?: ((value: T) => any) | undefined;
12
12
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
13
- onEntryFocus?: ((event: Event) => any) | undefined;
14
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
15
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
16
14
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
17
15
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
18
16
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
19
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
18
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
19
+ onEntryFocus?: ((event: Event) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
23
23
  expose: (exposed: {}) => void;
24
24
  attrs: any;
25
25
  slots: MenubarCompactSlots<T>;
26
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void);
26
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
27
27
  }>) => _$vue.VNode & {
28
28
  __ctx?: Awaited<typeof __VLS_setup>;
29
29
  };
@@ -9,21 +9,21 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_14) => any;
10
10
  };
11
11
  declare const __VLS_base: _$vue.DefineComponent<MenubarContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
12
- entryFocus: (event: Event) => any;
13
- closeAutoFocus: (event: Event) => any;
14
12
  escapeKeyDown: (event: KeyboardEvent) => any;
15
13
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
16
14
  focusOutside: (event: FocusOutsideEvent) => any;
17
15
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
18
16
  openAutoFocus: (event: Event) => any;
17
+ closeAutoFocus: (event: Event) => any;
18
+ entryFocus: (event: Event) => any;
19
19
  }, string, _$vue.PublicProps, Readonly<MenubarContentProps> & Readonly<{
20
- onEntryFocus?: ((event: Event) => any) | undefined;
21
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
22
20
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
23
21
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
24
22
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
25
23
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
26
24
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
25
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
26
+ onEntryFocus?: ((event: Event) => any) | undefined;
27
27
  }>, {
28
28
  align: Align;
29
29
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -8,21 +8,21 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_10) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<MenubarSubContentProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
- entryFocus: (event: Event) => any;
12
- closeAutoFocus: (event: Event) => any;
13
11
  escapeKeyDown: (event: KeyboardEvent) => any;
14
12
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
15
13
  focusOutside: (event: FocusOutsideEvent) => any;
16
14
  interactOutside: (event: PointerDownOutsideEvent | FocusOutsideEvent) => any;
17
15
  openAutoFocus: (event: Event) => any;
16
+ closeAutoFocus: (event: Event) => any;
17
+ entryFocus: (event: Event) => any;
18
18
  }, string, _$vue.PublicProps, Readonly<MenubarSubContentProps> & Readonly<{
19
- onEntryFocus?: ((event: Event) => any) | undefined;
20
- onCloseAutoFocus?: ((event: Event) => any) | undefined;
21
19
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
22
20
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
23
21
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
24
22
  onInteractOutside?: ((event: PointerDownOutsideEvent | FocusOutsideEvent) => any) | undefined;
25
23
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
24
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
25
+ onEntryFocus?: ((event: Event) => any) | undefined;
26
26
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { NavigationMenuUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/navigation-menu/context.d.ts
7
6
  declare const provideNavigationMenuUi: (ui: _$vue.ComputedRef<Partial<UiClass<NavigationMenuUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<NavigationMenuUiSlot>>>, useNavigationMenuUi: UseUiConsumer<NavigationMenuUiSlot>;
8
7
  //#endregion
@@ -1 +1 @@
1
- import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import{useOmitProps as n,usePickProps as r}from"../../composables/use-props.js";import"../../composables/index.js";import i from"../arrow/arrow.js";import{useNavigationMenuUi as a}from"./context.js";import o from"./navigation-menu-indicator.js";import s from"./navigation-menu-list.js";import c from"./navigation-menu-option-compact.js";import l from"./navigation-menu-root.js";import u from"./navigation-menu-viewport.js";import{Fragment as d,computed as f,createBlock as p,createElementBlock as m,createSlots as h,createVNode as g,defineComponent as _,guardReactiveProps as v,mergeProps as y,normalizeClass as b,normalizeProps as x,openBlock as S,renderList as C,renderSlot as w,toHandlers as T,unref as E,useSlots as D,withCtx as O}from"vue";const k=_({name:`NavigationMenuCompact`,__name:`navigation-menu-compact`,props:{items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(_,{emit:k}){let A=_,j=k,M=D(),N=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],P=n(A,[`items`,...N]),F=r(A,[...N]),I=t(j),L=f(()=>e(M)),R=a();return(e,t)=>(S(),p(l,y(E(P),{"onUpdate:modelValue":t[0]||(t[0]=e=>j(`update:modelValue`,e))}),{default:O(()=>[g(s,x(v(_.listProps)),{default:O(()=>[(S(!0),m(d,null,C(_.items,t=>(S(),p(c,y({key:t.value},{ref_for:!0},E(F),{item:t},T(E(I))),h({_:2},[C(L.value,t=>({name:t,fn:O(n=>[w(e.$slots,t,y({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),g(o,x(v(_.indicatorProps)),{default:O(()=>[g(i,{class:b(E(R).arrow)},null,8,[`class`])]),_:1},16),g(u,x(v(_.viewportProps)),null,16)]),_:3},16))}});export{k as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import{useOmitProps as t,usePickProps as n}from"../../composables/use-props.js";import"../../composables/index.js";import r from"../arrow/arrow.js";import{useNavigationMenuUi as i}from"./context.js";import a from"./navigation-menu-indicator.js";import o from"./navigation-menu-list.js";import s from"./navigation-menu-option-compact.js";import c from"./navigation-menu-root.js";import l from"./navigation-menu-viewport.js";import{Fragment as u,computed as d,createBlock as f,createElementBlock as p,createSlots as m,createVNode as h,defineComponent as g,guardReactiveProps as _,mergeProps as v,normalizeClass as y,normalizeProps as b,openBlock as x,renderList as S,renderSlot as C,toHandlers as w,unref as T,useSlots as E,withCtx as D}from"vue";import{keysOf as O}from"@soybeanjs/utils";const k=g({name:`NavigationMenuCompact`,__name:`navigation-menu-compact`,props:{items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(g,{emit:k}){let A=g,j=k,M=E(),N=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],P=t(A,[`items`,...N]),F=n(A,[...N]),I=e(j),L=d(()=>O(M)),R=i();return(e,t)=>(x(),f(c,v(T(P),{"onUpdate:modelValue":t[0]||(t[0]=e=>j(`update:modelValue`,e))}),{default:D(()=>[h(o,b(_(g.listProps)),{default:D(()=>[(x(!0),p(u,null,S(g.items,t=>(x(),f(s,v({key:t.value},{ref_for:!0},T(F),{item:t},w(T(I))),m({_:2},[S(L.value,t=>({name:t,fn:D(n=>[C(e.$slots,t,v({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),h(a,b(_(g.indicatorProps)),{default:D(()=>[h(r,{class:y(T(R).arrow)},null,8,[`class`])]),_:1},16),h(l,b(_(g.viewportProps)),null,16)]),_:3},16))}});export{k as default};
@@ -1 +1 @@
1
- import{e}from"../../node_modules/.pnpm/@soybeanjs_utils@0.1.1/node_modules/@soybeanjs/utils/dist/index.js";import{useForwardListeners as t}from"../../composables/use-forward-listeners.js";import"../../composables/index.js";import n from"../_icon/icon.js";import{useCommonSlotNames as r}from"./shared.js";import{useNavigationMenuUi as i}from"./context.js";import a from"./navigation-menu-item-slot-compact.js";import o from"./navigation-menu-sub-option-compact.js";import s from"./navigation-menu-content.js";import c from"./navigation-menu-item.js";import l from"./navigation-menu-link.js";import u from"./navigation-menu-sub-list.js";import d from"./navigation-menu-trigger.js";import{Fragment as f,computed as p,createBlock as m,createElementBlock as h,createElementVNode as g,createSlots as _,createVNode as v,defineComponent as y,guardReactiveProps as b,mergeProps as x,normalizeClass as S,normalizeProps as C,openBlock as w,renderList as T,renderSlot as E,resolveDynamicComponent as D,toDisplayString as O,toHandlers as k,unref as A,useSlots as j,withCtx as M}from"vue";const N=y({name:`NavigationMenuOptionCompact`,__name:`navigation-menu-option-compact`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(y,{emit:N}){let P=y,F=N,I=j(),L=t(F),R=p(()=>e(I)),z=r(I),B=i(),V=p(()=>!!(P.item.to||P.item.href)),H=p(()=>V.value?{...P.linkProps,disabled:P.item.disabled,to:P.item.to,href:P.item.href,target:P.item.target,external:P.item.external}:{});return(e,t)=>(w(),m(c,x(y.itemProps,{value:y.item.value}),{default:M(()=>[y.item.children?.length?(w(),h(f,{key:1},[v(d,x(y.triggerProps,{disabled:y.item.disabled,"as-child":V.value}),{default:M(()=>[(w(),m(D(V.value?l:`template`),x(H.value,{onSelect:t[1]||(t[1]=e=>F(`select`,e))}),{default:M(()=>[v(a,{icon:y.item.icon},_({"trigger-icon":M(()=>[E(e.$slots,`item-trigger-icon`,{item:y.item},()=>[v(n,{icon:`lucide:chevron-down`,class:S(A(B).triggerIcon)},null,8,[`class`])])]),default:M(()=>[g(`span`,null,O(y.item.label),1)]),_:2},[T(A(z),t=>({name:t,fn:M(()=>[E(e.$slots,t,{item:y.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),v(s,x(y.contentProps,k(A(L))),{default:M(()=>[v(u,C(b(y.subListProps)),{default:M(()=>[(w(!0),h(f,null,T(y.item.children,n=>(w(),m(o,{key:n.value,"sub-item":n,"sub-item-props":y.subItemProps,onSelect:t[2]||(t[2]=e=>F(`select`,e))},_({"item-children":M(t=>[E(e.$slots,`item-children`,{item:t.item})]),_:2},[T(R.value,t=>({name:t,fn:M(()=>[E(e.$slots,t,{item:n})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(w(),m(l,x({key:0},H.value,{onSelect:t[0]||(t[0]=e=>F(`select`,e))}),{default:M(({isHref:t})=>[v(a,{icon:y.item.icon},_({default:M(()=>[g(`span`,null,O(y.item.label),1)]),_:2},[T(A(z),t=>({name:t,fn:M(()=>[E(e.$slots,t,{item:y.item})])})),t?{name:`link-icon`,fn:M(()=>[E(e.$slots,`item-link-icon`,{item:y.item},()=>[v(n,{icon:`lucide:arrow-up-right`,class:S(A(B).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{N as default};
1
+ import{useForwardListeners as e}from"../../composables/use-forward-listeners.js";import"../../composables/index.js";import t from"../_icon/icon.js";import{useCommonSlotNames as n}from"./shared.js";import{useNavigationMenuUi as r}from"./context.js";import i from"./navigation-menu-item-slot-compact.js";import a from"./navigation-menu-sub-option-compact.js";import o from"./navigation-menu-content.js";import s from"./navigation-menu-item.js";import c from"./navigation-menu-link.js";import l from"./navigation-menu-sub-list.js";import u from"./navigation-menu-trigger.js";import{Fragment as d,computed as f,createBlock as p,createElementBlock as m,createElementVNode as h,createSlots as g,createVNode as _,defineComponent as v,guardReactiveProps as y,mergeProps as b,normalizeClass as x,normalizeProps as S,openBlock as C,renderList as w,renderSlot as T,resolveDynamicComponent as E,toDisplayString as D,toHandlers as O,unref as k,useSlots as A,withCtx as j}from"vue";import{keysOf as M}from"@soybeanjs/utils";const N=v({name:`NavigationMenuOptionCompact`,__name:`navigation-menu-option-compact`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(v,{emit:N}){let P=v,F=N,I=A(),L=e(F),R=f(()=>M(I)),z=n(I),B=r(),V=f(()=>!!(P.item.to||P.item.href)),H=f(()=>V.value?{...P.linkProps,disabled:P.item.disabled,to:P.item.to,href:P.item.href,target:P.item.target,external:P.item.external}:{});return(e,n)=>(C(),p(s,b(v.itemProps,{value:v.item.value}),{default:j(()=>[v.item.children?.length?(C(),m(d,{key:1},[_(u,b(v.triggerProps,{disabled:v.item.disabled,"as-child":V.value}),{default:j(()=>[(C(),p(E(V.value?c:`template`),b(H.value,{onSelect:n[1]||(n[1]=e=>F(`select`,e))}),{default:j(()=>[_(i,{icon:v.item.icon},g({"trigger-icon":j(()=>[T(e.$slots,`item-trigger-icon`,{item:v.item},()=>[_(t,{icon:`lucide:chevron-down`,class:x(k(B).triggerIcon)},null,8,[`class`])])]),default:j(()=>[h(`span`,null,D(v.item.label),1)]),_:2},[w(k(z),t=>({name:t,fn:j(()=>[T(e.$slots,t,{item:v.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),_(o,b(v.contentProps,O(k(L))),{default:j(()=>[_(l,S(y(v.subListProps)),{default:j(()=>[(C(!0),m(d,null,w(v.item.children,t=>(C(),p(a,{key:t.value,"sub-item":t,"sub-item-props":v.subItemProps,onSelect:n[2]||(n[2]=e=>F(`select`,e))},g({"item-children":j(t=>[T(e.$slots,`item-children`,{item:t.item})]),_:2},[w(R.value,n=>({name:n,fn:j(()=>[T(e.$slots,n,{item:t})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(C(),p(c,b({key:0},H.value,{onSelect:n[0]||(n[0]=e=>F(`select`,e))}),{default:j(({isHref:n})=>[_(i,{icon:v.item.icon},g({default:j(()=>[h(`span`,null,D(v.item.label),1)]),_:2},[w(k(z),t=>({name:t,fn:j(()=>[T(e.$slots,t,{item:v.item})])})),n?{name:`link-icon`,fn:j(()=>[T(e.$slots,`item-link-icon`,{item:v.item},()=>[_(t,{icon:`lucide:arrow-up-right`,class:x(k(B).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{N as default};
@@ -2,7 +2,6 @@ import { UiClass } from "../../types/common.js";
2
2
  import { UseUiConsumer } from "../../composables/use-ui-context.js";
3
3
  import { PageTabsUiSlot } from "./types.js";
4
4
  import * as _$vue from "vue";
5
-
6
5
  //#region src/components/page-tabs/context.d.ts
7
6
  declare const providePageTabsUi: (ui: _$vue.ComputedRef<Partial<UiClass<PageTabsUiSlot>>>) => _$vue.ComputedRef<Partial<UiClass<PageTabsUiSlot>>>, usePageTabsUi: UseUiConsumer<PageTabsUiSlot>;
8
7
  //#endregion
@@ -8,8 +8,8 @@ declare const __VLS_export: <T extends PageTabsOptionData = PageTabsOptionData>(
8
8
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
9
  onClick?: ((tab: T) => any) | undefined;
10
10
  onClose?: ((tab: T) => any) | undefined;
11
- onPin?: ((tab: T) => any) | undefined;
12
11
  "onUpdate:items"?: ((items: T[]) => any) | undefined;
12
+ onPin?: ((tab: T) => any) | undefined;
13
13
  onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
14
14
  }> & (typeof globalThis extends {
15
15
  __VLS_PROPS_FALLBACK: infer P;