@sprawlify/vue 0.0.78 → 0.0.80
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.
- package/dist/alert-dialog-anatomy-DkXaxq1b.d.ts +6 -0
- package/dist/{carousel-anatomy-CpS__fTf.d.ts → carousel-anatomy-B4Uf40Wk.d.ts} +1 -1
- package/dist/checkbox-anatomy-IMyYeHxd.d.ts +6 -0
- package/dist/{color-picker-anatomy-0TvgSkT9.d.ts → color-picker-anatomy-CieKbdb-.d.ts} +2 -2
- package/dist/combobox-anatomy-BMLEIp-9.d.ts +6 -0
- package/dist/components/accordion/index.d.ts +13 -13
- package/dist/components/alert-dialog/index.d.ts +25 -25
- package/dist/components/anatomy.d.ts +15 -15
- package/dist/components/anatomy.js +2 -2
- package/dist/components/angle-slider/index.d.ts +14 -14
- package/dist/components/aspect-ratio/index.d.ts +6 -6
- package/dist/components/avatar/index.d.ts +9 -9
- package/dist/components/bottom-sheet/index.d.ts +19 -19
- package/dist/components/carousel/index.d.ts +18 -18
- package/dist/components/checkbox/index.d.ts +19 -19
- package/dist/components/client-only/index.d.ts +2 -2
- package/dist/components/clipboard/index.d.ts +13 -13
- package/dist/components/collapsible/index.d.ts +14 -14
- package/dist/components/color-picker/index.d.ts +51 -51
- package/dist/components/combobox/index.d.ts +33 -33
- package/dist/components/date-picker/index.d.ts +44 -44
- package/dist/components/dialog/index.d.ts +24 -24
- package/dist/components/download-trigger/index.d.ts +2 -2
- package/dist/components/dropdown-menu/index.d.ts +482 -0
- package/dist/components/dropdown-menu/index.js +861 -0
- package/dist/components/editable/index.d.ts +23 -23
- package/dist/components/field/index.d.ts +23 -23
- package/dist/components/fieldset/index.d.ts +11 -11
- package/dist/components/file-upload/index.d.ts +23 -23
- package/dist/components/floating-panel/index.d.ts +21 -21
- package/dist/components/focus-trap/index.d.ts +4 -4
- package/dist/components/format/index.d.ts +4 -4
- package/dist/components/frame/index.d.ts +6 -6
- package/dist/components/highlight/index.d.ts +5 -5
- package/dist/components/hover-card/index.d.ts +19 -19
- package/dist/components/image-cropper/index.d.ts +13 -13
- package/dist/components/json-tree-view/index.d.ts +9 -8
- package/dist/components/json-tree-view/index.js +1 -0
- package/dist/components/listbox/index.d.ts +20 -20
- package/dist/components/marquee/index.d.ts +21 -21
- package/dist/components/navigation-menu/index.d.ts +17 -17
- package/dist/components/number-input/index.d.ts +17 -17
- package/dist/components/pagination/index.d.ts +13 -13
- package/dist/components/password-input/index.d.ts +23 -23
- package/dist/components/pin-input/index.d.ts +14 -14
- package/dist/components/popover/index.d.ts +30 -30
- package/dist/components/presence/index.d.ts +1 -1
- package/dist/components/progress/index.d.ts +13 -13
- package/dist/components/qr-code/index.d.ts +9 -9
- package/dist/components/radio-group/index.d.ts +15 -15
- package/dist/components/rating-group/index.d.ts +14 -14
- package/dist/components/scroll-area/index.d.ts +10 -10
- package/dist/components/segment-group/index.d.ts +15 -15
- package/dist/components/select/index.d.ts +32 -32
- package/dist/components/separator/index.d.ts +5 -5
- package/dist/components/signature-pad/index.d.ts +14 -14
- package/dist/components/slider/index.d.ts +17 -17
- package/dist/components/splitter/index.d.ts +10 -10
- package/dist/components/steps/index.d.ts +18 -18
- package/dist/components/switch/index.d.ts +13 -13
- package/dist/components/tabs/index.d.ts +12 -12
- package/dist/components/tags-input/index.d.ts +28 -28
- package/dist/components/timer/index.d.ts +12 -12
- package/dist/components/toast/index.d.ts +9 -9
- package/dist/components/toggle/index.d.ts +8 -8
- package/dist/components/toggle-group/index.d.ts +9 -9
- package/dist/components/tooltip/index.d.ts +18 -18
- package/dist/components/tour/index.d.ts +27 -27
- package/dist/components/tree-view/index.d.ts +2 -2
- package/dist/{date-picker-anatomy-DwF2ZdEb.d.ts → date-picker-anatomy-D9rKz5BV.d.ts} +1 -1
- package/dist/dropdown-menu-anatomy-BqRBod4K.d.ts +2 -0
- package/dist/dropdown-menu-anatomy-C1luUwqi.js +3 -0
- package/dist/field-anatomy-Df_UsFB-.d.ts +6 -0
- package/dist/fieldset-anatomy-vzHem8gu.d.ts +6 -0
- package/dist/image-cropper-anatomy-B30SeuHb.d.ts +6 -0
- package/dist/{index-BhhexQkI.d.ts → index-B4xXPY7s.d.ts} +7 -7
- package/dist/{index-VE6rqFS6.d.ts → index-BX-2SxBL.d.ts} +29 -29
- package/dist/{index-C2XO6Bu5.d.ts → index-CB_-BfCY.d.ts} +2 -2
- package/dist/{index-CjibFYf6.d.ts → index-D4xbWFd7.d.ts} +6 -6
- package/dist/index.d.ts +2 -2
- package/dist/listbox-anatomy-BirAXuA4.d.ts +6 -0
- package/dist/{segment-group-anatomy-BU6WKUuZ.d.ts → segment-group-anatomy-B0wVrY5V.d.ts} +2 -2
- package/dist/toggle-anatomy-D_msAf8I.d.ts +6 -0
- package/dist/tour-anatomy-CpghGnk0.d.ts +6 -0
- package/package.json +6 -6
- package/dist/alert-dialog-anatomy-BrNEI6V3.d.ts +0 -6
- package/dist/checkbox-anatomy-DxWYIBLF.d.ts +0 -6
- package/dist/combobox-anatomy-IMlD0ohP.d.ts +0 -6
- package/dist/components/menu/index.d.ts +0 -499
- package/dist/components/menu/index.js +0 -886
- package/dist/field-anatomy-ZgI8KPAW.d.ts +0 -6
- package/dist/fieldset-anatomy-ByEKf8w4.d.ts +0 -6
- package/dist/image-cropper-anatomy-CFsliJG4.d.ts +0 -6
- package/dist/listbox-anatomy-DXcTKn-k.d.ts +0 -6
- package/dist/menu-anatomy-C5NvovOb.d.ts +0 -2
- package/dist/menu-anatomy-Cn8kTodN.js +0 -3
- package/dist/toggle-anatomy-CZS75RZS.d.ts +0 -6
- package/dist/tour-anatomy-XEtu4XUf.d.ts +0 -6
|
@@ -0,0 +1,861 @@
|
|
|
1
|
+
import { t as __exportAll } from "../../chunk-BN_g-Awi.js";
|
|
2
|
+
import { n as useMachine, r as normalizeProps$1, t as mergeProps$1 } from "../../core-DNndr38p.js";
|
|
3
|
+
import { a as useLocaleContext, c as useEnvironmentContext, i as DEFAULT_LOCALE, s as DEFAULT_ENVIRONMENT } from "../../providers-DNBWT-O_.js";
|
|
4
|
+
import { t as createContext } from "../../create-context-Ds1GbsVc.js";
|
|
5
|
+
import { t as useForwardExpose } from "../../use-forward-expose-CCAmHTUB.js";
|
|
6
|
+
import { t as dropdownMenuAnatomy } from "../../dropdown-menu-anatomy-C1luUwqi.js";
|
|
7
|
+
import { t as sprawlify } from "../../factory-yh31h0Rm.js";
|
|
8
|
+
import { t as cleanProps } from "../../clean-props-GbfPBIot.js";
|
|
9
|
+
import { t as RenderStrategyPropsProvider } from "../../use-render-strategy-B0RVis2X.js";
|
|
10
|
+
import { i as usePresence, n as PresenceProvider, r as usePresenceContext } from "../../presence-BuHH-PkI.js";
|
|
11
|
+
import { computed, createBlock, createCommentVNode, defineComponent, guardReactiveProps, mergeDefaults, mergeProps, normalizeProps, onBeforeUnmount, onMounted, openBlock, renderSlot, toValue, unref, useId, withCtx } from "vue";
|
|
12
|
+
import * as dropdownMenu from "@sprawlify/primitives/machines/dropdown-menu";
|
|
13
|
+
|
|
14
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-context.ts
|
|
15
|
+
const [DropdownMenuProvider, useDropdownMenuContext] = createContext("DropdownMenuContext");
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/dropdown-menu/dropdown-menu-arrow-tip.vue?vue&type=script&setup=true&lang.ts
|
|
19
|
+
var dropdown_menu_arrow_tip_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
20
|
+
__name: "dropdown-menu-arrow-tip",
|
|
21
|
+
props: { asChild: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
required: false
|
|
24
|
+
} },
|
|
25
|
+
setup(__props) {
|
|
26
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
27
|
+
useForwardExpose();
|
|
28
|
+
return (_ctx, _cache) => {
|
|
29
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getArrowTipProps(), { "as-child": __props.asChild }), {
|
|
30
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
31
|
+
_: 3
|
|
32
|
+
}, 16, ["as-child"]);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/components/dropdown-menu/dropdown-menu-arrow-tip.vue
|
|
39
|
+
var dropdown_menu_arrow_tip_default = dropdown_menu_arrow_tip_vue_vue_type_script_setup_true_lang_default;
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/components/dropdown-menu/dropdown-menu-arrow.vue?vue&type=script&setup=true&lang.ts
|
|
43
|
+
var dropdown_menu_arrow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
44
|
+
__name: "dropdown-menu-arrow",
|
|
45
|
+
props: { asChild: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
required: false
|
|
48
|
+
} },
|
|
49
|
+
setup(__props) {
|
|
50
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
51
|
+
useForwardExpose();
|
|
52
|
+
return (_ctx, _cache) => {
|
|
53
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getArrowProps(), { "as-child": __props.asChild }), {
|
|
54
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
55
|
+
_: 3
|
|
56
|
+
}, 16, ["as-child"]);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/components/dropdown-menu/dropdown-menu-arrow.vue
|
|
63
|
+
var dropdown_menu_arrow_default = dropdown_menu_arrow_vue_vue_type_script_setup_true_lang_default;
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-item-context.ts
|
|
67
|
+
const [DropdownMenuItemProvider, useDropdownMenuItemContext] = createContext("DropdownMenuItemContext");
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-option-item-props-context.ts
|
|
71
|
+
const [DropdownMenuItemPropsProvider, useDropdownMenuItemPropsContext] = createContext("DropdownMenuItemPropsContext");
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/components/dropdown-menu/dropdown-menu-checkbox-item.vue?vue&type=script&setup=true&lang.ts
|
|
75
|
+
var dropdown_menu_checkbox_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
76
|
+
__name: "dropdown-menu-checkbox-item",
|
|
77
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
78
|
+
checked: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
required: true
|
|
81
|
+
},
|
|
82
|
+
value: {
|
|
83
|
+
type: String,
|
|
84
|
+
required: true
|
|
85
|
+
},
|
|
86
|
+
disabled: {
|
|
87
|
+
type: Boolean,
|
|
88
|
+
required: false,
|
|
89
|
+
skipCheck: true
|
|
90
|
+
},
|
|
91
|
+
valueText: {
|
|
92
|
+
type: null,
|
|
93
|
+
required: false
|
|
94
|
+
},
|
|
95
|
+
closeOnSelect: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
required: false,
|
|
98
|
+
skipCheck: true
|
|
99
|
+
},
|
|
100
|
+
asChild: {
|
|
101
|
+
type: Boolean,
|
|
102
|
+
required: false
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
checked: void 0,
|
|
106
|
+
disabled: void 0,
|
|
107
|
+
closeOnSelect: void 0
|
|
108
|
+
}),
|
|
109
|
+
emits: ["update:checked"],
|
|
110
|
+
setup(__props, { emit: __emit }) {
|
|
111
|
+
const props = __props;
|
|
112
|
+
const emits = __emit;
|
|
113
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
114
|
+
const optionItemProps = computed(() => ({
|
|
115
|
+
...props,
|
|
116
|
+
type: "checkbox",
|
|
117
|
+
onCheckedChange: (e) => emits("update:checked", e)
|
|
118
|
+
}));
|
|
119
|
+
DropdownMenuItemProvider(computed(() => dropdownMenu.value.getOptionItemState(optionItemProps.value)));
|
|
120
|
+
DropdownMenuItemPropsProvider(optionItemProps);
|
|
121
|
+
useForwardExpose();
|
|
122
|
+
return (_ctx, _cache) => {
|
|
123
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getOptionItemProps(optionItemProps.value), { "as-child": __props.asChild }), {
|
|
124
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
125
|
+
_: 3
|
|
126
|
+
}, 16, ["as-child"]);
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/components/dropdown-menu/dropdown-menu-checkbox-item.vue
|
|
133
|
+
var dropdown_menu_checkbox_item_default = dropdown_menu_checkbox_item_vue_vue_type_script_setup_true_lang_default;
|
|
134
|
+
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/components/dropdown-menu/dropdown-menu-content.vue?vue&type=script&setup=true&lang.ts
|
|
137
|
+
var dropdown_menu_content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
138
|
+
__name: "dropdown-menu-content",
|
|
139
|
+
props: { asChild: {
|
|
140
|
+
type: Boolean,
|
|
141
|
+
required: false
|
|
142
|
+
} },
|
|
143
|
+
setup(__props) {
|
|
144
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
145
|
+
const presence = usePresenceContext();
|
|
146
|
+
const mergedProps = computed(() => mergeProps$1(dropdownMenu.value.getContentProps(), presence.value.presenceProps));
|
|
147
|
+
useForwardExpose();
|
|
148
|
+
return (_ctx, _cache) => {
|
|
149
|
+
return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, mergedProps.value, { "as-child": __props.asChild }), {
|
|
150
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
151
|
+
_: 3
|
|
152
|
+
}, 16, ["as-child"])) : createCommentVNode("v-if", true);
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/components/dropdown-menu/dropdown-menu-content.vue
|
|
159
|
+
var dropdown_menu_content_default = dropdown_menu_content_vue_vue_type_script_setup_true_lang_default;
|
|
160
|
+
|
|
161
|
+
//#endregion
|
|
162
|
+
//#region src/components/dropdown-menu/dropdown-menu-context.vue?vue&type=script&setup=true&lang.ts
|
|
163
|
+
var dropdown_menu_context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
164
|
+
__name: "dropdown-menu-context",
|
|
165
|
+
setup(__props) {
|
|
166
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
167
|
+
return (_ctx, _cache) => {
|
|
168
|
+
return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(dropdownMenu))));
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
//#endregion
|
|
174
|
+
//#region src/components/dropdown-menu/dropdown-menu-context.vue
|
|
175
|
+
var dropdown_menu_context_default = dropdown_menu_context_vue_vue_type_script_setup_true_lang_default;
|
|
176
|
+
|
|
177
|
+
//#endregion
|
|
178
|
+
//#region src/components/dropdown-menu/dropdown-menu-indicator.vue?vue&type=script&setup=true&lang.ts
|
|
179
|
+
var dropdown_menu_indicator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
180
|
+
__name: "dropdown-menu-indicator",
|
|
181
|
+
props: { asChild: {
|
|
182
|
+
type: Boolean,
|
|
183
|
+
required: false
|
|
184
|
+
} },
|
|
185
|
+
setup(__props) {
|
|
186
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
187
|
+
useForwardExpose();
|
|
188
|
+
return (_ctx, _cache) => {
|
|
189
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getIndicatorProps(), { "as-child": __props.asChild }), {
|
|
190
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
191
|
+
_: 3
|
|
192
|
+
}, 16, ["as-child"]);
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region src/components/dropdown-menu/dropdown-menu-indicator.vue
|
|
199
|
+
var dropdown_menu_indicator_default = dropdown_menu_indicator_vue_vue_type_script_setup_true_lang_default;
|
|
200
|
+
|
|
201
|
+
//#endregion
|
|
202
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-context.vue?vue&type=script&setup=true&lang.ts
|
|
203
|
+
var dropdown_menu_item_context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
204
|
+
__name: "dropdown-menu-item-context",
|
|
205
|
+
setup(__props) {
|
|
206
|
+
const item = useDropdownMenuItemContext();
|
|
207
|
+
return (_ctx, _cache) => {
|
|
208
|
+
return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(item))));
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
//#endregion
|
|
214
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-context.vue
|
|
215
|
+
var dropdown_menu_item_context_default = dropdown_menu_item_context_vue_vue_type_script_setup_true_lang_default;
|
|
216
|
+
|
|
217
|
+
//#endregion
|
|
218
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-item-group-context.ts
|
|
219
|
+
const [DropdownMenuItemGroupProvider, useDropdownMenuItemGroupContext] = createContext("DropdownMenuItemGroupContext");
|
|
220
|
+
|
|
221
|
+
//#endregion
|
|
222
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-group-label.vue?vue&type=script&setup=true&lang.ts
|
|
223
|
+
var dropdown_menu_item_group_label_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
224
|
+
__name: "dropdown-menu-item-group-label",
|
|
225
|
+
props: { asChild: {
|
|
226
|
+
type: Boolean,
|
|
227
|
+
required: false
|
|
228
|
+
} },
|
|
229
|
+
setup(__props) {
|
|
230
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
231
|
+
const itemGroup = useDropdownMenuItemGroupContext();
|
|
232
|
+
useForwardExpose();
|
|
233
|
+
return (_ctx, _cache) => {
|
|
234
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getItemGroupLabelProps({ htmlFor: unref(itemGroup).id }), { "as-child": __props.asChild }), {
|
|
235
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
236
|
+
_: 3
|
|
237
|
+
}, 16, ["as-child"]);
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
//#endregion
|
|
243
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-group-label.vue
|
|
244
|
+
var dropdown_menu_item_group_label_default = dropdown_menu_item_group_label_vue_vue_type_script_setup_true_lang_default;
|
|
245
|
+
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-group.vue?vue&type=script&setup=true&lang.ts
|
|
248
|
+
var dropdown_menu_item_group_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
249
|
+
__name: "dropdown-menu-item-group",
|
|
250
|
+
props: {
|
|
251
|
+
id: {
|
|
252
|
+
type: String,
|
|
253
|
+
required: false
|
|
254
|
+
},
|
|
255
|
+
asChild: {
|
|
256
|
+
type: Boolean,
|
|
257
|
+
required: false
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
setup(__props) {
|
|
261
|
+
const props = __props;
|
|
262
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
263
|
+
const uid = useId();
|
|
264
|
+
const id = props.id ?? uid;
|
|
265
|
+
const itemGroupProps = computed(() => ({ id }));
|
|
266
|
+
DropdownMenuItemGroupProvider(itemGroupProps);
|
|
267
|
+
useForwardExpose();
|
|
268
|
+
return (_ctx, _cache) => {
|
|
269
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getItemGroupProps(itemGroupProps.value), { "as-child": __props.asChild }), {
|
|
270
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
271
|
+
_: 3
|
|
272
|
+
}, 16, ["as-child"]);
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
//#endregion
|
|
278
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-group.vue
|
|
279
|
+
var dropdown_menu_item_group_default = dropdown_menu_item_group_vue_vue_type_script_setup_true_lang_default;
|
|
280
|
+
|
|
281
|
+
//#endregion
|
|
282
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-indicator.vue?vue&type=script&setup=true&lang.ts
|
|
283
|
+
var dropdown_menu_item_indicator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
284
|
+
__name: "dropdown-menu-item-indicator",
|
|
285
|
+
props: { asChild: {
|
|
286
|
+
type: Boolean,
|
|
287
|
+
required: false
|
|
288
|
+
} },
|
|
289
|
+
setup(__props) {
|
|
290
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
291
|
+
const itemProps = useDropdownMenuItemPropsContext();
|
|
292
|
+
useForwardExpose();
|
|
293
|
+
return (_ctx, _cache) => {
|
|
294
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getItemIndicatorProps(unref(itemProps)), { "as-child": __props.asChild }), {
|
|
295
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
296
|
+
_: 3
|
|
297
|
+
}, 16, ["as-child"]);
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
//#endregion
|
|
303
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-indicator.vue
|
|
304
|
+
var dropdown_menu_item_indicator_default = dropdown_menu_item_indicator_vue_vue_type_script_setup_true_lang_default;
|
|
305
|
+
|
|
306
|
+
//#endregion
|
|
307
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-text.vue?vue&type=script&setup=true&lang.ts
|
|
308
|
+
var dropdown_menu_item_text_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
309
|
+
__name: "dropdown-menu-item-text",
|
|
310
|
+
props: { asChild: {
|
|
311
|
+
type: Boolean,
|
|
312
|
+
required: false
|
|
313
|
+
} },
|
|
314
|
+
setup(__props) {
|
|
315
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
316
|
+
const itemProps = useDropdownMenuItemPropsContext();
|
|
317
|
+
useForwardExpose();
|
|
318
|
+
return (_ctx, _cache) => {
|
|
319
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getItemTextProps(unref(itemProps)), { "as-child": __props.asChild }), {
|
|
320
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
321
|
+
_: 3
|
|
322
|
+
}, 16, ["as-child"]);
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
//#endregion
|
|
328
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-text.vue
|
|
329
|
+
var dropdown_menu_item_text_default = dropdown_menu_item_text_vue_vue_type_script_setup_true_lang_default;
|
|
330
|
+
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region src/components/dropdown-menu/dropdown-menu-item.vue?vue&type=script&setup=true&lang.ts
|
|
333
|
+
var dropdown_menu_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
334
|
+
__name: "dropdown-menu-item",
|
|
335
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
336
|
+
value: {
|
|
337
|
+
type: String,
|
|
338
|
+
required: true
|
|
339
|
+
},
|
|
340
|
+
disabled: {
|
|
341
|
+
type: Boolean,
|
|
342
|
+
required: false,
|
|
343
|
+
skipCheck: true
|
|
344
|
+
},
|
|
345
|
+
valueText: {
|
|
346
|
+
type: null,
|
|
347
|
+
required: false
|
|
348
|
+
},
|
|
349
|
+
closeOnSelect: {
|
|
350
|
+
type: Boolean,
|
|
351
|
+
required: false,
|
|
352
|
+
skipCheck: true
|
|
353
|
+
},
|
|
354
|
+
asChild: {
|
|
355
|
+
type: Boolean,
|
|
356
|
+
required: false
|
|
357
|
+
}
|
|
358
|
+
}, {
|
|
359
|
+
disabled: void 0,
|
|
360
|
+
closeOnSelect: void 0
|
|
361
|
+
}),
|
|
362
|
+
emits: ["select"],
|
|
363
|
+
setup(__props, { emit: __emit }) {
|
|
364
|
+
const props = __props;
|
|
365
|
+
const emit = __emit;
|
|
366
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
367
|
+
const itemState = computed(() => dropdownMenu.value.getItemState(props));
|
|
368
|
+
DropdownMenuItemPropsProvider(computed(() => props));
|
|
369
|
+
DropdownMenuItemProvider(itemState);
|
|
370
|
+
onMounted(() => {
|
|
371
|
+
const cleanup = dropdownMenu.value.addItemListener({
|
|
372
|
+
id: itemState.value.id,
|
|
373
|
+
onSelect: () => emit("select")
|
|
374
|
+
});
|
|
375
|
+
onBeforeUnmount(() => cleanup?.());
|
|
376
|
+
});
|
|
377
|
+
useForwardExpose();
|
|
378
|
+
return (_ctx, _cache) => {
|
|
379
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getItemProps(props), { "as-child": __props.asChild }), {
|
|
380
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
381
|
+
_: 3
|
|
382
|
+
}, 16, ["as-child"]);
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
//#endregion
|
|
388
|
+
//#region src/components/dropdown-menu/dropdown-menu-item.vue
|
|
389
|
+
var dropdown_menu_item_default = dropdown_menu_item_vue_vue_type_script_setup_true_lang_default;
|
|
390
|
+
|
|
391
|
+
//#endregion
|
|
392
|
+
//#region src/components/dropdown-menu/dropdown-menu-positioner.vue?vue&type=script&setup=true&lang.ts
|
|
393
|
+
var dropdown_menu_positioner_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
394
|
+
__name: "dropdown-menu-positioner",
|
|
395
|
+
props: { asChild: {
|
|
396
|
+
type: Boolean,
|
|
397
|
+
required: false
|
|
398
|
+
} },
|
|
399
|
+
setup(__props) {
|
|
400
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
401
|
+
const presence = usePresenceContext();
|
|
402
|
+
useForwardExpose();
|
|
403
|
+
return (_ctx, _cache) => {
|
|
404
|
+
return !unref(presence).unmounted ? (openBlock(), createBlock(unref(sprawlify).div, mergeProps({ key: 0 }, unref(dropdownMenu).getPositionerProps(), { "as-child": __props.asChild }), {
|
|
405
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
406
|
+
_: 3
|
|
407
|
+
}, 16, ["as-child"])) : createCommentVNode("v-if", true);
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
//#endregion
|
|
413
|
+
//#region src/components/dropdown-menu/dropdown-menu-positioner.vue
|
|
414
|
+
var dropdown_menu_positioner_default = dropdown_menu_positioner_vue_vue_type_script_setup_true_lang_default;
|
|
415
|
+
|
|
416
|
+
//#endregion
|
|
417
|
+
//#region src/components/dropdown-menu/dropdown-menu-radio-item-group.vue?vue&type=script&setup=true&lang.ts
|
|
418
|
+
var dropdown_menu_radio_item_group_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
419
|
+
__name: "dropdown-menu-radio-item-group",
|
|
420
|
+
props: {
|
|
421
|
+
id: {
|
|
422
|
+
type: String,
|
|
423
|
+
required: false
|
|
424
|
+
},
|
|
425
|
+
modelValue: {
|
|
426
|
+
type: String,
|
|
427
|
+
required: false
|
|
428
|
+
},
|
|
429
|
+
asChild: {
|
|
430
|
+
type: Boolean,
|
|
431
|
+
required: false
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
emits: ["update:modelValue"],
|
|
435
|
+
setup(__props, { emit: __emit }) {
|
|
436
|
+
const props = __props;
|
|
437
|
+
const emits = __emit;
|
|
438
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
439
|
+
const uid = useId();
|
|
440
|
+
const id = props.id ?? uid;
|
|
441
|
+
const itemGroupProps = computed(() => ({
|
|
442
|
+
id,
|
|
443
|
+
value: props.modelValue,
|
|
444
|
+
onValueChange: (e) => emits("update:modelValue", e.value)
|
|
445
|
+
}));
|
|
446
|
+
DropdownMenuItemGroupProvider(itemGroupProps);
|
|
447
|
+
useForwardExpose();
|
|
448
|
+
return (_ctx, _cache) => {
|
|
449
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getItemGroupProps(itemGroupProps.value), { "as-child": __props.asChild }), {
|
|
450
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
451
|
+
_: 3
|
|
452
|
+
}, 16, ["as-child"]);
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
//#endregion
|
|
458
|
+
//#region src/components/dropdown-menu/dropdown-menu-radio-item-group.vue
|
|
459
|
+
var dropdown_menu_radio_item_group_default = dropdown_menu_radio_item_group_vue_vue_type_script_setup_true_lang_default;
|
|
460
|
+
|
|
461
|
+
//#endregion
|
|
462
|
+
//#region src/components/dropdown-menu/dropdown-menu-radio-item.vue?vue&type=script&setup=true&lang.ts
|
|
463
|
+
var dropdown_menu_radio_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
464
|
+
__name: "dropdown-menu-radio-item",
|
|
465
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
466
|
+
value: {
|
|
467
|
+
type: String,
|
|
468
|
+
required: true
|
|
469
|
+
},
|
|
470
|
+
disabled: {
|
|
471
|
+
type: Boolean,
|
|
472
|
+
required: false,
|
|
473
|
+
skipCheck: true
|
|
474
|
+
},
|
|
475
|
+
valueText: {
|
|
476
|
+
type: null,
|
|
477
|
+
required: false
|
|
478
|
+
},
|
|
479
|
+
closeOnSelect: {
|
|
480
|
+
type: Boolean,
|
|
481
|
+
required: false,
|
|
482
|
+
skipCheck: true
|
|
483
|
+
},
|
|
484
|
+
asChild: {
|
|
485
|
+
type: Boolean,
|
|
486
|
+
required: false
|
|
487
|
+
}
|
|
488
|
+
}, {
|
|
489
|
+
disabled: void 0,
|
|
490
|
+
closeOnSelect: void 0
|
|
491
|
+
}),
|
|
492
|
+
setup(__props) {
|
|
493
|
+
const props = __props;
|
|
494
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
495
|
+
const itemGroup = useDropdownMenuItemGroupContext();
|
|
496
|
+
const optionItemProps = computed(() => ({
|
|
497
|
+
...props,
|
|
498
|
+
checked: itemGroup.value.value === props.value,
|
|
499
|
+
type: "radio",
|
|
500
|
+
onCheckedChange: () => itemGroup.value.onValueChange?.({ value: props.value })
|
|
501
|
+
}));
|
|
502
|
+
DropdownMenuItemProvider(computed(() => dropdownMenu.value.getOptionItemState(optionItemProps.value)));
|
|
503
|
+
DropdownMenuItemPropsProvider(optionItemProps);
|
|
504
|
+
useForwardExpose();
|
|
505
|
+
return (_ctx, _cache) => {
|
|
506
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(dropdownMenu).getOptionItemProps(optionItemProps.value), { "as-child": __props.asChild }), {
|
|
507
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
508
|
+
_: 3
|
|
509
|
+
}, 16, ["as-child"]);
|
|
510
|
+
};
|
|
511
|
+
}
|
|
512
|
+
});
|
|
513
|
+
|
|
514
|
+
//#endregion
|
|
515
|
+
//#region src/components/dropdown-menu/dropdown-menu-radio-item.vue
|
|
516
|
+
var dropdown_menu_radio_item_default = dropdown_menu_radio_item_vue_vue_type_script_setup_true_lang_default;
|
|
517
|
+
|
|
518
|
+
//#endregion
|
|
519
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-machine-context.ts
|
|
520
|
+
const [DropdownMenuMachineProvider, useDropdownMenuMachineContext] = createContext("DropdownMenuMachineContext");
|
|
521
|
+
|
|
522
|
+
//#endregion
|
|
523
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-trigger-item-context.ts
|
|
524
|
+
const [DropdownMenuTriggerItemProvider, useDropdownMenuTriggerItemContext] = createContext("DropdownMenuTriggerItemContext");
|
|
525
|
+
|
|
526
|
+
//#endregion
|
|
527
|
+
//#region src/components/dropdown-menu/dropdown-menu-root-provider.vue?vue&type=script&setup=true&lang.ts
|
|
528
|
+
var dropdown_menu_root_provider_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
529
|
+
__name: "dropdown-menu-root-provider",
|
|
530
|
+
props: {
|
|
531
|
+
value: {
|
|
532
|
+
type: Object,
|
|
533
|
+
required: true
|
|
534
|
+
},
|
|
535
|
+
lazyMount: {
|
|
536
|
+
type: Boolean,
|
|
537
|
+
required: false
|
|
538
|
+
},
|
|
539
|
+
unmountOnExit: {
|
|
540
|
+
type: Boolean,
|
|
541
|
+
required: false
|
|
542
|
+
},
|
|
543
|
+
asChild: {
|
|
544
|
+
type: Boolean,
|
|
545
|
+
required: false
|
|
546
|
+
}
|
|
547
|
+
},
|
|
548
|
+
emits: ["exitComplete"],
|
|
549
|
+
setup(__props, { emit: __emit }) {
|
|
550
|
+
const props = __props;
|
|
551
|
+
const emits = __emit;
|
|
552
|
+
const { value: { machine, api } } = props;
|
|
553
|
+
const presence = usePresence(computed(() => ({
|
|
554
|
+
present: api.value.open,
|
|
555
|
+
lazyMount: props.lazyMount,
|
|
556
|
+
unmountOnExit: props.unmountOnExit
|
|
557
|
+
})), emits);
|
|
558
|
+
const parentApi = useDropdownMenuContext();
|
|
559
|
+
const parentMachine = useDropdownMenuMachineContext();
|
|
560
|
+
onMounted(() => {
|
|
561
|
+
if (!parentMachine) return;
|
|
562
|
+
parentApi.value.setChild(machine);
|
|
563
|
+
api.value.setParent(parentMachine);
|
|
564
|
+
});
|
|
565
|
+
DropdownMenuTriggerItemProvider(computed(() => parentApi.value.getTriggerItemProps(api.value)));
|
|
566
|
+
DropdownMenuMachineProvider(machine);
|
|
567
|
+
DropdownMenuProvider(api);
|
|
568
|
+
PresenceProvider(presence);
|
|
569
|
+
RenderStrategyPropsProvider(computed(() => ({
|
|
570
|
+
lazyMount: props.lazyMount,
|
|
571
|
+
unmountOnExit: props.unmountOnExit
|
|
572
|
+
})));
|
|
573
|
+
useForwardExpose();
|
|
574
|
+
return (_ctx, _cache) => {
|
|
575
|
+
return renderSlot(_ctx.$slots, "default");
|
|
576
|
+
};
|
|
577
|
+
}
|
|
578
|
+
});
|
|
579
|
+
|
|
580
|
+
//#endregion
|
|
581
|
+
//#region src/components/dropdown-menu/dropdown-menu-root-provider.vue
|
|
582
|
+
var dropdown_menu_root_provider_default = dropdown_menu_root_provider_vue_vue_type_script_setup_true_lang_default;
|
|
583
|
+
|
|
584
|
+
//#endregion
|
|
585
|
+
//#region src/components/dropdown-menu/use-dropdown-menu.ts
|
|
586
|
+
const useDropdownMenu = (props = {}, emit) => {
|
|
587
|
+
const id = useId();
|
|
588
|
+
const env = useEnvironmentContext(DEFAULT_ENVIRONMENT);
|
|
589
|
+
const locale = useLocaleContext(DEFAULT_LOCALE);
|
|
590
|
+
const context = computed(() => {
|
|
591
|
+
const localeProps = toValue(props);
|
|
592
|
+
return {
|
|
593
|
+
id,
|
|
594
|
+
dir: locale.value.dir,
|
|
595
|
+
getRootNode: env?.value.getRootNode,
|
|
596
|
+
...cleanProps(localeProps),
|
|
597
|
+
onOpenChange: (details) => {
|
|
598
|
+
emit?.("openChange", details);
|
|
599
|
+
emit?.("update:open", details.open);
|
|
600
|
+
localeProps.onOpenChange?.(details);
|
|
601
|
+
},
|
|
602
|
+
onEscapeKeyDown: (details) => {
|
|
603
|
+
emit?.("escapeKeyDown", details);
|
|
604
|
+
localeProps.onEscapeKeyDown?.(details);
|
|
605
|
+
},
|
|
606
|
+
onFocusOutside: (details) => {
|
|
607
|
+
emit?.("focusOutside", details);
|
|
608
|
+
localeProps.onFocusOutside?.(details);
|
|
609
|
+
},
|
|
610
|
+
onHighlightChange: (details) => {
|
|
611
|
+
emit?.("highlightChange", details);
|
|
612
|
+
emit?.("update:highlightedValue", details.highlightedValue);
|
|
613
|
+
localeProps.onHighlightChange?.(details);
|
|
614
|
+
},
|
|
615
|
+
onInteractOutside: (details) => {
|
|
616
|
+
emit?.("interactOutside", details);
|
|
617
|
+
localeProps.onInteractOutside?.(details);
|
|
618
|
+
},
|
|
619
|
+
onPointerDownOutside: (details) => {
|
|
620
|
+
emit?.("pointerDownOutside", details);
|
|
621
|
+
localeProps.onPointerDownOutside?.(details);
|
|
622
|
+
},
|
|
623
|
+
onSelect: (details) => {
|
|
624
|
+
emit?.("select", details);
|
|
625
|
+
localeProps.onSelect?.(details);
|
|
626
|
+
}
|
|
627
|
+
};
|
|
628
|
+
});
|
|
629
|
+
const machine = useMachine(dropdownMenu.machine, context);
|
|
630
|
+
return {
|
|
631
|
+
api: computed(() => dropdownMenu.connect(machine, normalizeProps$1)),
|
|
632
|
+
machine
|
|
633
|
+
};
|
|
634
|
+
};
|
|
635
|
+
|
|
636
|
+
//#endregion
|
|
637
|
+
//#region src/components/dropdown-menu/dropdown-menu-root.vue?vue&type=script&setup=true&lang.ts
|
|
638
|
+
var dropdown_menu_root_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
639
|
+
__name: "dropdown-menu-root",
|
|
640
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
641
|
+
anchorPoint: {
|
|
642
|
+
type: null,
|
|
643
|
+
required: false
|
|
644
|
+
},
|
|
645
|
+
"aria-label": {
|
|
646
|
+
type: String,
|
|
647
|
+
required: false
|
|
648
|
+
},
|
|
649
|
+
closeOnSelect: {
|
|
650
|
+
type: Boolean,
|
|
651
|
+
required: false
|
|
652
|
+
},
|
|
653
|
+
composite: {
|
|
654
|
+
type: Boolean,
|
|
655
|
+
required: false
|
|
656
|
+
},
|
|
657
|
+
defaultHighlightedValue: {
|
|
658
|
+
type: String,
|
|
659
|
+
required: false
|
|
660
|
+
},
|
|
661
|
+
defaultOpen: {
|
|
662
|
+
type: Boolean,
|
|
663
|
+
required: false
|
|
664
|
+
},
|
|
665
|
+
highlightedValue: {
|
|
666
|
+
type: String,
|
|
667
|
+
required: false
|
|
668
|
+
},
|
|
669
|
+
id: {
|
|
670
|
+
type: String,
|
|
671
|
+
required: false
|
|
672
|
+
},
|
|
673
|
+
ids: {
|
|
674
|
+
type: Object,
|
|
675
|
+
required: false
|
|
676
|
+
},
|
|
677
|
+
loopFocus: {
|
|
678
|
+
type: Boolean,
|
|
679
|
+
required: false
|
|
680
|
+
},
|
|
681
|
+
navigate: {
|
|
682
|
+
type: Function,
|
|
683
|
+
required: false
|
|
684
|
+
},
|
|
685
|
+
open: {
|
|
686
|
+
type: Boolean,
|
|
687
|
+
required: false
|
|
688
|
+
},
|
|
689
|
+
positioning: {
|
|
690
|
+
type: null,
|
|
691
|
+
required: false
|
|
692
|
+
},
|
|
693
|
+
typeahead: {
|
|
694
|
+
type: Boolean,
|
|
695
|
+
required: false
|
|
696
|
+
},
|
|
697
|
+
lazyMount: {
|
|
698
|
+
type: Boolean,
|
|
699
|
+
required: false
|
|
700
|
+
},
|
|
701
|
+
unmountOnExit: {
|
|
702
|
+
type: Boolean,
|
|
703
|
+
required: false
|
|
704
|
+
},
|
|
705
|
+
asChild: {
|
|
706
|
+
type: Boolean,
|
|
707
|
+
required: false
|
|
708
|
+
}
|
|
709
|
+
}, {
|
|
710
|
+
closeOnSelect: void 0,
|
|
711
|
+
composite: void 0,
|
|
712
|
+
defaultOpen: void 0,
|
|
713
|
+
loopFocus: void 0,
|
|
714
|
+
open: void 0,
|
|
715
|
+
typeahead: void 0
|
|
716
|
+
}),
|
|
717
|
+
emits: [
|
|
718
|
+
"escapeKeyDown",
|
|
719
|
+
"exitComplete",
|
|
720
|
+
"focusOutside",
|
|
721
|
+
"highlightChange",
|
|
722
|
+
"interactOutside",
|
|
723
|
+
"openChange",
|
|
724
|
+
"pointerDownOutside",
|
|
725
|
+
"requestDismiss",
|
|
726
|
+
"select",
|
|
727
|
+
"update:open",
|
|
728
|
+
"update:highlightedValue"
|
|
729
|
+
],
|
|
730
|
+
setup(__props, { emit: __emit }) {
|
|
731
|
+
const props = __props;
|
|
732
|
+
const emits = __emit;
|
|
733
|
+
const { api, machine } = useDropdownMenu(props, emits);
|
|
734
|
+
const presence = usePresence(computed(() => ({
|
|
735
|
+
present: api.value.open,
|
|
736
|
+
lazyMount: props.lazyMount,
|
|
737
|
+
unmountOnExit: props.unmountOnExit
|
|
738
|
+
})), emits);
|
|
739
|
+
const parentApi = useDropdownMenuContext();
|
|
740
|
+
const parentMachine = useDropdownMenuMachineContext();
|
|
741
|
+
onMounted(() => {
|
|
742
|
+
if (!parentMachine) return;
|
|
743
|
+
parentApi.value.setChild(machine);
|
|
744
|
+
api.value.setParent(parentMachine);
|
|
745
|
+
});
|
|
746
|
+
DropdownMenuTriggerItemProvider(computed(() => parentApi.value.getTriggerItemProps(api.value)));
|
|
747
|
+
DropdownMenuMachineProvider(machine);
|
|
748
|
+
DropdownMenuProvider(api);
|
|
749
|
+
PresenceProvider(presence);
|
|
750
|
+
RenderStrategyPropsProvider(computed(() => ({
|
|
751
|
+
lazyMount: props.lazyMount,
|
|
752
|
+
unmountOnExit: props.unmountOnExit
|
|
753
|
+
})));
|
|
754
|
+
useForwardExpose();
|
|
755
|
+
return (_ctx, _cache) => {
|
|
756
|
+
return renderSlot(_ctx.$slots, "default");
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
});
|
|
760
|
+
|
|
761
|
+
//#endregion
|
|
762
|
+
//#region src/components/dropdown-menu/dropdown-menu-root.vue
|
|
763
|
+
var dropdown_menu_root_default = dropdown_menu_root_vue_vue_type_script_setup_true_lang_default;
|
|
764
|
+
|
|
765
|
+
//#endregion
|
|
766
|
+
//#region src/components/dropdown-menu/dropdown-menu-separator.vue?vue&type=script&setup=true&lang.ts
|
|
767
|
+
var dropdown_menu_separator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
768
|
+
__name: "dropdown-menu-separator",
|
|
769
|
+
props: { asChild: {
|
|
770
|
+
type: Boolean,
|
|
771
|
+
required: false
|
|
772
|
+
} },
|
|
773
|
+
setup(__props) {
|
|
774
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
775
|
+
useForwardExpose();
|
|
776
|
+
return (_ctx, _cache) => {
|
|
777
|
+
return openBlock(), createBlock(unref(sprawlify).hr, mergeProps(unref(dropdownMenu).getSeparatorProps(), { "as-child": __props.asChild }), null, 16, ["as-child"]);
|
|
778
|
+
};
|
|
779
|
+
}
|
|
780
|
+
});
|
|
781
|
+
|
|
782
|
+
//#endregion
|
|
783
|
+
//#region src/components/dropdown-menu/dropdown-menu-separator.vue
|
|
784
|
+
var dropdown_menu_separator_default = dropdown_menu_separator_vue_vue_type_script_setup_true_lang_default;
|
|
785
|
+
|
|
786
|
+
//#endregion
|
|
787
|
+
//#region src/components/dropdown-menu/dropdown-menu-trigger-item.vue?vue&type=script&setup=true&lang.ts
|
|
788
|
+
var dropdown_menu_trigger_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
789
|
+
__name: "dropdown-menu-trigger-item",
|
|
790
|
+
props: { asChild: {
|
|
791
|
+
type: Boolean,
|
|
792
|
+
required: false
|
|
793
|
+
} },
|
|
794
|
+
setup(__props) {
|
|
795
|
+
const triggerItemProps = useDropdownMenuTriggerItemContext();
|
|
796
|
+
DropdownMenuItemPropsProvider(computed(() => ({ value: triggerItemProps.value?.["data-value"] })));
|
|
797
|
+
useForwardExpose();
|
|
798
|
+
return (_ctx, _cache) => {
|
|
799
|
+
return openBlock(), createBlock(unref(sprawlify).div, mergeProps(unref(triggerItemProps), { "as-child": __props.asChild }), {
|
|
800
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
801
|
+
_: 3
|
|
802
|
+
}, 16, ["as-child"]);
|
|
803
|
+
};
|
|
804
|
+
}
|
|
805
|
+
});
|
|
806
|
+
|
|
807
|
+
//#endregion
|
|
808
|
+
//#region src/components/dropdown-menu/dropdown-menu-trigger-item.vue
|
|
809
|
+
var dropdown_menu_trigger_item_default = dropdown_menu_trigger_item_vue_vue_type_script_setup_true_lang_default;
|
|
810
|
+
|
|
811
|
+
//#endregion
|
|
812
|
+
//#region src/components/dropdown-menu/dropdown-menu-trigger.vue?vue&type=script&setup=true&lang.ts
|
|
813
|
+
var dropdown_menu_trigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
814
|
+
__name: "dropdown-menu-trigger",
|
|
815
|
+
props: { asChild: {
|
|
816
|
+
type: Boolean,
|
|
817
|
+
required: false
|
|
818
|
+
} },
|
|
819
|
+
setup(__props) {
|
|
820
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
821
|
+
useForwardExpose();
|
|
822
|
+
return (_ctx, _cache) => {
|
|
823
|
+
return openBlock(), createBlock(unref(sprawlify).button, mergeProps(unref(dropdownMenu).getTriggerProps(), { "as-child": __props.asChild }), {
|
|
824
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
825
|
+
_: 3
|
|
826
|
+
}, 16, ["as-child"]);
|
|
827
|
+
};
|
|
828
|
+
}
|
|
829
|
+
});
|
|
830
|
+
|
|
831
|
+
//#endregion
|
|
832
|
+
//#region src/components/dropdown-menu/dropdown-menu-trigger.vue
|
|
833
|
+
var dropdown_menu_trigger_default = dropdown_menu_trigger_vue_vue_type_script_setup_true_lang_default;
|
|
834
|
+
|
|
835
|
+
//#endregion
|
|
836
|
+
//#region src/components/dropdown-menu/dropdown-menu.ts
|
|
837
|
+
var dropdown_menu_exports = /* @__PURE__ */ __exportAll({
|
|
838
|
+
Arrow: () => dropdown_menu_arrow_default,
|
|
839
|
+
ArrowTip: () => dropdown_menu_arrow_tip_default,
|
|
840
|
+
CheckboxItem: () => dropdown_menu_checkbox_item_default,
|
|
841
|
+
Content: () => dropdown_menu_content_default,
|
|
842
|
+
Context: () => dropdown_menu_context_default,
|
|
843
|
+
Indicator: () => dropdown_menu_indicator_default,
|
|
844
|
+
Item: () => dropdown_menu_item_default,
|
|
845
|
+
ItemContext: () => dropdown_menu_item_context_default,
|
|
846
|
+
ItemGroup: () => dropdown_menu_item_group_default,
|
|
847
|
+
ItemGroupLabel: () => dropdown_menu_item_group_label_default,
|
|
848
|
+
ItemIndicator: () => dropdown_menu_item_indicator_default,
|
|
849
|
+
ItemText: () => dropdown_menu_item_text_default,
|
|
850
|
+
Positioner: () => dropdown_menu_positioner_default,
|
|
851
|
+
RadioItem: () => dropdown_menu_radio_item_default,
|
|
852
|
+
RadioItemGroup: () => dropdown_menu_radio_item_group_default,
|
|
853
|
+
Root: () => dropdown_menu_root_default,
|
|
854
|
+
RootProvider: () => dropdown_menu_root_provider_default,
|
|
855
|
+
Separator: () => dropdown_menu_separator_default,
|
|
856
|
+
Trigger: () => dropdown_menu_trigger_default,
|
|
857
|
+
TriggerItem: () => dropdown_menu_trigger_item_default
|
|
858
|
+
});
|
|
859
|
+
|
|
860
|
+
//#endregion
|
|
861
|
+
export { dropdown_menu_exports as DropdownMenu, dropdown_menu_arrow_default as DropdownMenuArrow, dropdown_menu_arrow_tip_default as DropdownMenuArrowTip, dropdown_menu_checkbox_item_default as DropdownMenuCheckboxItem, dropdown_menu_content_default as DropdownMenuContent, dropdown_menu_context_default as DropdownMenuContext, dropdown_menu_indicator_default as DropdownMenuIndicator, dropdown_menu_item_default as DropdownMenuItem, dropdown_menu_item_context_default as DropdownMenuItemContext, dropdown_menu_item_group_default as DropdownMenuItemGroup, dropdown_menu_item_group_label_default as DropdownMenuItemGroupLabel, dropdown_menu_item_indicator_default as DropdownMenuItemIndicator, dropdown_menu_item_text_default as DropdownMenuItemText, dropdown_menu_positioner_default as DropdownMenuPositioner, dropdown_menu_radio_item_default as DropdownMenuRadioItem, dropdown_menu_radio_item_group_default as DropdownMenuRadioItemGroup, dropdown_menu_root_default as DropdownMenuRoot, dropdown_menu_root_provider_default as DropdownMenuRootProvider, dropdown_menu_separator_default as DropdownMenuSeparator, dropdown_menu_trigger_default as DropdownMenuTrigger, dropdown_menu_trigger_item_default as DropdownMenuTriggerItem, dropdownMenuAnatomy, useDropdownMenu, useDropdownMenuContext, useDropdownMenuItemContext };
|