@sprawlify/solid 0.0.78 → 0.0.79
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-Jo9BJdI4.d.ts +6 -0
- package/dist/carousel-anatomy-Dfum8Ea8.d.ts +6 -0
- package/dist/checkbox-anatomy-C5bFwMFN.d.ts +6 -0
- package/dist/color-picker-anatomy-C-6oaqkJ.d.ts +6 -0
- package/dist/combobox-anatomy-D_3XqC9b.d.ts +6 -0
- package/dist/components/accordion/index.d.ts +12 -13
- package/dist/components/accordion/index.js +0 -1
- package/dist/components/alert-dialog/index.d.ts +17 -14
- package/dist/components/anatomy.d.ts +14 -14
- package/dist/components/anatomy.js +2 -2
- package/dist/components/angle-slider/index.d.ts +14 -15
- package/dist/components/aspect-ratio/index.d.ts +7 -7
- package/dist/components/avatar/index.d.ts +9 -10
- package/dist/components/bottom-sheet/index.d.ts +14 -15
- package/dist/components/carousel/index.d.ts +19 -16
- package/dist/components/checkbox/index.d.ts +16 -13
- package/dist/components/clipboard/index.d.ts +12 -13
- package/dist/components/collapsible/index.d.ts +11 -12
- package/dist/components/collection/index.d.ts +2 -2
- package/dist/components/color-picker/index.d.ts +38 -35
- package/dist/components/combobox/index.d.ts +25 -22
- package/dist/components/date-picker/index.d.ts +35 -32
- package/dist/components/dialog/index.d.ts +14 -15
- package/dist/components/download-trigger/index.d.ts +2 -2
- package/dist/components/dropdown-menu/index.d.ts +155 -0
- package/dist/components/dropdown-menu/index.js +462 -0
- package/dist/components/dropdown-menu/index.jsx +383 -0
- package/dist/components/editable/index.d.ts +15 -16
- package/dist/components/field/index.d.ts +17 -14
- package/dist/components/fieldset/index.d.ts +14 -11
- package/dist/components/file-upload/index.d.ts +19 -20
- package/dist/components/floating-panel/index.d.ts +18 -19
- 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 +1 -1
- package/dist/components/highlight/index.d.ts +3 -3
- package/dist/components/hover-card/index.d.ts +12 -13
- package/dist/components/image-cropper/index.d.ts +12 -13
- package/dist/components/json-tree-view/index.d.ts +6 -7
- package/dist/components/json-tree-view/index.js +0 -2
- package/dist/components/listbox/index.d.ts +20 -17
- package/dist/components/marquee/index.d.ts +10 -11
- package/dist/components/navigation-menu/index.d.ts +18 -19
- package/dist/components/number-input/index.d.ts +14 -15
- package/dist/components/pagination/index.d.ts +13 -14
- package/dist/components/password-input/index.d.ts +10 -11
- package/dist/components/pin-input/index.d.ts +11 -12
- package/dist/components/popover/index.d.ts +17 -18
- package/dist/components/presence/index.d.ts +4 -4
- package/dist/components/progress/index.d.ts +15 -16
- package/dist/components/qr-code/index.d.ts +11 -12
- package/dist/components/radio-group/index.d.ts +13 -14
- package/dist/components/rating-group/index.d.ts +11 -12
- package/dist/components/scroll-area/index.d.ts +12 -13
- package/dist/components/segment-group/index.d.ts +16 -13
- package/dist/components/select/index.d.ts +23 -24
- package/dist/components/separator/index.d.ts +7 -7
- package/dist/components/signature-pad/index.d.ts +13 -14
- package/dist/components/slider/index.d.ts +17 -18
- package/dist/components/splitter/index.d.ts +10 -11
- package/dist/components/steps/index.d.ts +17 -18
- package/dist/components/switch/index.d.ts +11 -12
- package/dist/components/tabs/index.d.ts +12 -13
- package/dist/components/tags-input/index.d.ts +17 -18
- package/dist/components/timer/index.d.ts +12 -13
- package/dist/components/toast/index.d.ts +10 -11
- package/dist/components/toggle/index.d.ts +9 -6
- package/dist/components/toggle-group/index.d.ts +8 -9
- package/dist/components/tooltip/index.d.ts +12 -13
- package/dist/components/tour/index.d.ts +22 -19
- package/dist/components/tree-view/index.d.ts +6 -7
- package/dist/components/tree-view/index.js +0 -1
- package/dist/date-picker-anatomy-CUUidv7q.d.ts +6 -0
- package/dist/dropdown-menu-anatomy-C1luUwqi.js +3 -0
- package/dist/dropdown-menu-anatomy-DNkJn2h1.d.ts +2 -0
- package/dist/field-anatomy-jvFsGDgH.d.ts +6 -0
- package/dist/fieldset-anatomy-C7ePpZeD.d.ts +6 -0
- package/dist/{index-DPe8zz2B.d.ts → index-BU6xbmsl.d.ts} +15 -15
- package/dist/{index-8CXBLIRc.d.ts → index-BWV14Y6g.d.ts} +5 -5
- package/dist/{index-BU_77yW9.d.ts → index-BYODxIAQ.d.ts} +2 -2
- package/dist/{index-UN7y8LYs.d.ts → index-ByocTRP8.d.ts} +15 -15
- package/dist/{index-rPJ-Qy6u.d.ts → index-LmmX9_3C.d.ts} +4 -4
- package/dist/{index-DRytduu4.d.ts → index-V0DK6BT4.d.ts} +2 -2
- package/dist/index.d.ts +4 -4
- package/dist/listbox-anatomy-CJCXdrH-.d.ts +6 -0
- package/dist/segment-group-anatomy-CjydGbEb.d.ts +6 -0
- package/dist/toggle-anatomy-sTqXB2jx.d.ts +6 -0
- package/dist/tour-anatomy-BTFCOAKA.d.ts +6 -0
- package/package.json +7 -7
- package/dist/alert-dialog-anatomy-CGQT5YEk.d.ts +0 -6
- package/dist/carousel-anatomy-DxrRp1N9.d.ts +0 -6
- package/dist/checkbox-anatomy-D2p4rPjP.d.ts +0 -6
- package/dist/color-picker-anatomy-D9pHaHfL.d.ts +0 -6
- package/dist/combobox-anatomy-DcBqOdSs.d.ts +0 -6
- package/dist/components/menu/index.d.ts +0 -161
- package/dist/components/menu/index.js +0 -471
- package/dist/components/menu/index.jsx +0 -392
- package/dist/date-picker-anatomy-DKQizmJU.d.ts +0 -6
- package/dist/field-anatomy-Ci5P-ScP.d.ts +0 -6
- package/dist/fieldset-anatomy-CdaPY73z.d.ts +0 -6
- package/dist/listbox-anatomy-CocmCaiW.d.ts +0 -6
- package/dist/menu-anatomy-Cn8kTodN.js +0 -3
- package/dist/menu-anatomy-D3xIdcp1.d.ts +0 -2
- package/dist/segment-group-anatomy-CtE033Yj.d.ts +0 -6
- package/dist/toggle-anatomy-DANJO07f.d.ts +0 -6
- package/dist/tour-anatomy-oKmAvXN2.d.ts +0 -6
|
@@ -1,471 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "../../chunk-BN_g-Awi.js";
|
|
2
|
-
import { i as useMachine, n as normalizeProps, r as mergeProps$2 } from "../../core-Crxbs6Ki.js";
|
|
3
|
-
import { t as runIfFn } from "../../run-if-fn-CTrSA35K.js";
|
|
4
|
-
import { t as createContext$1 } from "../../create-context-DPb5Yv_u.js";
|
|
5
|
-
import { i as useLocaleContext, o as useEnvironmentContext } from "../../providers-CdwYAas1.js";
|
|
6
|
-
import { t as sprawlify } from "../../factory-Ce76k0aC.js";
|
|
7
|
-
import { t as menuAnatomy } from "../../menu-anatomy-Cn8kTodN.js";
|
|
8
|
-
import { t as createSplitProps } from "../../create-split-props-DgGDQfdT.js";
|
|
9
|
-
import "../../render-strategy-CNUvDuT1.js";
|
|
10
|
-
import { t as composeRefs } from "../../compose-refs-C-e3esqD.js";
|
|
11
|
-
import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, t as PresenceProvider } from "../../presence-BBn_Rd1l.js";
|
|
12
|
-
import { Show, createEffect, createMemo, createUniqueId, onCleanup, onMount } from "solid-js";
|
|
13
|
-
import { createComponent, mergeProps as mergeProps$1 } from "solid-js/web";
|
|
14
|
-
import * as menu from "@sprawlify/primitives/machines/menu";
|
|
15
|
-
|
|
16
|
-
//#region src/components/menu/use-menu-context.ts
|
|
17
|
-
const [MenuProvider, useMenuContext] = createContext$1({
|
|
18
|
-
hookName: "useMenuContext",
|
|
19
|
-
providerName: "<MenuProvider />",
|
|
20
|
-
strict: false
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
//#endregion
|
|
24
|
-
//#region src/components/menu/menu-arrow.tsx
|
|
25
|
-
const MenuArrow = (props) => {
|
|
26
|
-
const context = useMenuContext();
|
|
27
|
-
const mergedProps = mergeProps$2(() => context().getArrowProps(), props);
|
|
28
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
//#region src/components/menu/menu-arrow-tip.tsx
|
|
33
|
-
const MenuArrowTip = (props) => {
|
|
34
|
-
const context = useMenuContext();
|
|
35
|
-
const mergedProps = mergeProps$2(() => context().getArrowTipProps(), props);
|
|
36
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
//#endregion
|
|
40
|
-
//#region src/components/menu/use-menu-item-context.ts
|
|
41
|
-
const [MenuItemProvider, useMenuItemContext] = createContext$1({
|
|
42
|
-
hookName: "useMenuItemContext",
|
|
43
|
-
providerName: "<MenuItemProvider />"
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
|
-
//#region src/components/menu/use-menu-option-item-props-context.ts
|
|
48
|
-
const [MenuItemPropsProvider, useMenuItemPropsContext] = createContext$1({
|
|
49
|
-
hookName: "useMenuItemPropsContext",
|
|
50
|
-
providerName: "<MenuItemPropsProvider />"
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
//#endregion
|
|
54
|
-
//#region src/components/menu/menu-checkbox-item.tsx
|
|
55
|
-
const MenuCheckboxItem = (props) => {
|
|
56
|
-
const [partialOptionItemProps, localProps] = createSplitProps()(props, [
|
|
57
|
-
"checked",
|
|
58
|
-
"closeOnSelect",
|
|
59
|
-
"disabled",
|
|
60
|
-
"onCheckedChange",
|
|
61
|
-
"value",
|
|
62
|
-
"valueText"
|
|
63
|
-
]);
|
|
64
|
-
const optionItemProps = mergeProps$2(partialOptionItemProps, { type: "checkbox" });
|
|
65
|
-
const context = useMenuContext();
|
|
66
|
-
const mergedProps = mergeProps$2(() => context().getOptionItemProps(optionItemProps), localProps);
|
|
67
|
-
const optionItemState = createMemo(() => context().getItemState(optionItemProps));
|
|
68
|
-
return createComponent(MenuItemPropsProvider, {
|
|
69
|
-
value: optionItemProps,
|
|
70
|
-
get children() {
|
|
71
|
-
return createComponent(MenuItemProvider, {
|
|
72
|
-
value: optionItemState,
|
|
73
|
-
get children() {
|
|
74
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
//#endregion
|
|
82
|
-
//#region src/components/menu/menu-content.tsx
|
|
83
|
-
const MenuContent = (props) => {
|
|
84
|
-
const context = useMenuContext();
|
|
85
|
-
const presenceContext = usePresenceContext();
|
|
86
|
-
const mergedProps = mergeProps$2(() => context().getContentProps(), () => presenceContext().presenceProps, props);
|
|
87
|
-
return createComponent(Show, {
|
|
88
|
-
get when() {
|
|
89
|
-
return !presenceContext().unmounted;
|
|
90
|
-
},
|
|
91
|
-
get children() {
|
|
92
|
-
return createComponent(sprawlify.div, mergeProps$1(mergedProps, { ref(r$) {
|
|
93
|
-
var _ref$ = composeRefs(presenceContext().ref, props.ref);
|
|
94
|
-
typeof _ref$ === "function" && _ref$(r$);
|
|
95
|
-
} }));
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
//#endregion
|
|
101
|
-
//#region src/components/menu/menu-context.tsx
|
|
102
|
-
const MenuContext = (props) => props.children(useMenuContext());
|
|
103
|
-
|
|
104
|
-
//#endregion
|
|
105
|
-
//#region src/components/menu/menu-context-trigger.tsx
|
|
106
|
-
const MenuContextTrigger = (props) => {
|
|
107
|
-
const context = useMenuContext();
|
|
108
|
-
const mergedProps = mergeProps$2(() => context().getContextTriggerProps(), props);
|
|
109
|
-
return createComponent(sprawlify.button, mergedProps);
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
//#endregion
|
|
113
|
-
//#region src/components/menu/menu-indicator.tsx
|
|
114
|
-
const MenuIndicator = (props) => {
|
|
115
|
-
const context = useMenuContext();
|
|
116
|
-
const mergedProps = mergeProps$2(() => context().getIndicatorProps(), props);
|
|
117
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
//#endregion
|
|
121
|
-
//#region src/components/menu/menu-item.tsx
|
|
122
|
-
const MenuItem = (props) => {
|
|
123
|
-
const [itemProps, localProps] = createSplitProps()(props, [
|
|
124
|
-
"closeOnSelect",
|
|
125
|
-
"disabled",
|
|
126
|
-
"value",
|
|
127
|
-
"valueText",
|
|
128
|
-
"onSelect"
|
|
129
|
-
]);
|
|
130
|
-
const context = useMenuContext();
|
|
131
|
-
const mergedProps = mergeProps$2(() => context().getItemProps(itemProps), localProps);
|
|
132
|
-
const itemState = createMemo(() => context().getItemState(itemProps));
|
|
133
|
-
createEffect(() => {
|
|
134
|
-
const cleanup = context().addItemListener({
|
|
135
|
-
id: itemState().id,
|
|
136
|
-
onSelect: itemProps.onSelect
|
|
137
|
-
});
|
|
138
|
-
onCleanup(() => cleanup?.());
|
|
139
|
-
});
|
|
140
|
-
return createComponent(MenuItemPropsProvider, {
|
|
141
|
-
value: itemProps,
|
|
142
|
-
get children() {
|
|
143
|
-
return createComponent(MenuItemProvider, {
|
|
144
|
-
value: itemState,
|
|
145
|
-
get children() {
|
|
146
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
//#endregion
|
|
154
|
-
//#region src/components/menu/menu-item-context.tsx
|
|
155
|
-
const MenuItemContext = (props) => props.children(useMenuItemContext());
|
|
156
|
-
|
|
157
|
-
//#endregion
|
|
158
|
-
//#region src/components/menu/use-menu-item-group-context.ts
|
|
159
|
-
const [MenuItemGroupProvider, useMenuItemGroupContext] = createContext$1({
|
|
160
|
-
hookName: "useMenuItemGroupContext",
|
|
161
|
-
providerName: "<MenuItemGroupProvider />"
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
//#endregion
|
|
165
|
-
//#region src/components/menu/menu-item-group.tsx
|
|
166
|
-
const MenuItemGroup = (props) => {
|
|
167
|
-
const [optionalItemGroupProps, localProps] = createSplitProps()(props, ["id"]);
|
|
168
|
-
const itemGroupProps = mergeProps$2({ id: createUniqueId() }, optionalItemGroupProps);
|
|
169
|
-
const menu = useMenuContext();
|
|
170
|
-
const mergedProps = mergeProps$2(() => menu().getItemGroupProps(itemGroupProps), localProps);
|
|
171
|
-
return createComponent(MenuItemGroupProvider, {
|
|
172
|
-
value: itemGroupProps,
|
|
173
|
-
get children() {
|
|
174
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
//#endregion
|
|
180
|
-
//#region src/components/menu/menu-item-group-label.tsx
|
|
181
|
-
const MenuItemGroupLabel = (props) => {
|
|
182
|
-
const context = useMenuContext();
|
|
183
|
-
const itemGroupContext = useMenuItemGroupContext();
|
|
184
|
-
const mergedProps = mergeProps$2(context().getItemGroupLabelProps({ htmlFor: itemGroupContext.id }), props);
|
|
185
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
//#endregion
|
|
189
|
-
//#region src/components/menu/menu-item-indicator.tsx
|
|
190
|
-
const MenuItemIndicator = (props) => {
|
|
191
|
-
const context = useMenuContext();
|
|
192
|
-
const itemProps = useMenuItemPropsContext();
|
|
193
|
-
const mergedProps = mergeProps$2(() => context().getItemIndicatorProps(itemProps), props);
|
|
194
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
//#endregion
|
|
198
|
-
//#region src/components/menu/menu-item-text.tsx
|
|
199
|
-
const MenuItemText = (props) => {
|
|
200
|
-
const context = useMenuContext();
|
|
201
|
-
const itemProps = useMenuItemPropsContext();
|
|
202
|
-
const mergedProps = mergeProps$2(() => context().getItemTextProps(itemProps), props);
|
|
203
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
//#endregion
|
|
207
|
-
//#region src/components/menu/menu-positioner.tsx
|
|
208
|
-
const MenuPositioner = (props) => {
|
|
209
|
-
const context = useMenuContext();
|
|
210
|
-
const presence = usePresenceContext();
|
|
211
|
-
const mergedProps = mergeProps$2(() => context().getPositionerProps(), props);
|
|
212
|
-
return createComponent(Show, {
|
|
213
|
-
get when() {
|
|
214
|
-
return !presence().unmounted;
|
|
215
|
-
},
|
|
216
|
-
get children() {
|
|
217
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
//#endregion
|
|
223
|
-
//#region src/components/menu/menu-radio-item.tsx
|
|
224
|
-
const MenuRadioItem = (props) => {
|
|
225
|
-
const [partialItemProps, localProps] = createSplitProps()(props, [
|
|
226
|
-
"closeOnSelect",
|
|
227
|
-
"disabled",
|
|
228
|
-
"value",
|
|
229
|
-
"valueText"
|
|
230
|
-
]);
|
|
231
|
-
const context = useMenuContext();
|
|
232
|
-
const itemGroup = useMenuItemGroupContext();
|
|
233
|
-
const optionItemProps = mergeProps$2(partialItemProps, () => ({
|
|
234
|
-
type: "radio",
|
|
235
|
-
checked: itemGroup.value === partialItemProps.value,
|
|
236
|
-
onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })
|
|
237
|
-
}));
|
|
238
|
-
const mergedProps = mergeProps$2(() => context().getOptionItemProps(optionItemProps), localProps);
|
|
239
|
-
const optionItemState = createMemo(() => context().getOptionItemState(optionItemProps));
|
|
240
|
-
return createComponent(MenuItemPropsProvider, {
|
|
241
|
-
value: optionItemProps,
|
|
242
|
-
get children() {
|
|
243
|
-
return createComponent(MenuItemProvider, {
|
|
244
|
-
value: optionItemState,
|
|
245
|
-
get children() {
|
|
246
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
//#endregion
|
|
254
|
-
//#region src/components/menu/menu-radio-item-group.tsx
|
|
255
|
-
const MenuRadioItemGroup = (props) => {
|
|
256
|
-
const [optionalItemGroupProps, localProps] = createSplitProps()(props, [
|
|
257
|
-
"id",
|
|
258
|
-
"onValueChange",
|
|
259
|
-
"value"
|
|
260
|
-
]);
|
|
261
|
-
const context = useMenuContext();
|
|
262
|
-
const itemGroupProps = mergeProps$2({ id: createUniqueId() }, optionalItemGroupProps);
|
|
263
|
-
const mergedProps = mergeProps$2(() => context().getItemGroupProps(itemGroupProps), localProps);
|
|
264
|
-
return createComponent(MenuItemGroupProvider, {
|
|
265
|
-
value: itemGroupProps,
|
|
266
|
-
get children() {
|
|
267
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
};
|
|
271
|
-
|
|
272
|
-
//#endregion
|
|
273
|
-
//#region src/components/menu/use-menu.ts
|
|
274
|
-
const useMenu = (props) => {
|
|
275
|
-
const id = createUniqueId();
|
|
276
|
-
const locale = useLocaleContext();
|
|
277
|
-
const environment = useEnvironmentContext();
|
|
278
|
-
const machineProps = createMemo(() => ({
|
|
279
|
-
id,
|
|
280
|
-
dir: locale().dir,
|
|
281
|
-
getRootNode: environment().getRootNode,
|
|
282
|
-
...runIfFn(props)
|
|
283
|
-
}));
|
|
284
|
-
const service = useMachine(menu.machine, machineProps);
|
|
285
|
-
return {
|
|
286
|
-
api: createMemo(() => menu.connect(service, normalizeProps)),
|
|
287
|
-
service
|
|
288
|
-
};
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
//#endregion
|
|
292
|
-
//#region src/components/menu/use-menu-machine-context.ts
|
|
293
|
-
const [MenuMachineProvider, useMenuMachineContext] = createContext$1({
|
|
294
|
-
hookName: "useMenuMachineContext",
|
|
295
|
-
providerName: "<MenuMachineProvider />",
|
|
296
|
-
strict: false
|
|
297
|
-
});
|
|
298
|
-
|
|
299
|
-
//#endregion
|
|
300
|
-
//#region src/components/menu/use-menu-trigger-item-context.ts
|
|
301
|
-
const [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext$1({
|
|
302
|
-
hookName: "useMenuMachineContext",
|
|
303
|
-
providerName: "<MenuMachineProvider />",
|
|
304
|
-
strict: false
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
//#endregion
|
|
308
|
-
//#region src/components/menu/menu-root.tsx
|
|
309
|
-
const MenuRoot = (props) => {
|
|
310
|
-
const [presenceProps, menuProps] = splitPresenceProps(props);
|
|
311
|
-
const [useMenuProps, localProps] = createSplitProps()(menuProps, [
|
|
312
|
-
"anchorPoint",
|
|
313
|
-
"aria-label",
|
|
314
|
-
"closeOnSelect",
|
|
315
|
-
"composite",
|
|
316
|
-
"defaultHighlightedValue",
|
|
317
|
-
"defaultOpen",
|
|
318
|
-
"highlightedValue",
|
|
319
|
-
"id",
|
|
320
|
-
"ids",
|
|
321
|
-
"loopFocus",
|
|
322
|
-
"navigate",
|
|
323
|
-
"onEscapeKeyDown",
|
|
324
|
-
"onFocusOutside",
|
|
325
|
-
"onHighlightChange",
|
|
326
|
-
"onInteractOutside",
|
|
327
|
-
"onOpenChange",
|
|
328
|
-
"onPointerDownOutside",
|
|
329
|
-
"onRequestDismiss",
|
|
330
|
-
"onSelect",
|
|
331
|
-
"open",
|
|
332
|
-
"positioning",
|
|
333
|
-
"typeahead"
|
|
334
|
-
]);
|
|
335
|
-
const parentApi = useMenuContext();
|
|
336
|
-
const parentMachine = useMenuMachineContext();
|
|
337
|
-
const menu = useMenu(useMenuProps);
|
|
338
|
-
const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({ present: menu.api().open })));
|
|
339
|
-
onMount(() => {
|
|
340
|
-
if (!parentMachine) return;
|
|
341
|
-
parentApi?.().setChild(menu.service);
|
|
342
|
-
menu.api().setParent(parentMachine);
|
|
343
|
-
});
|
|
344
|
-
const triggerItemContext = () => parentApi?.().getTriggerItemProps(menu.api());
|
|
345
|
-
return createComponent(MenuTriggerItemProvider, {
|
|
346
|
-
value: triggerItemContext,
|
|
347
|
-
get children() {
|
|
348
|
-
return createComponent(MenuMachineProvider, {
|
|
349
|
-
get value() {
|
|
350
|
-
return menu.service;
|
|
351
|
-
},
|
|
352
|
-
get children() {
|
|
353
|
-
return createComponent(MenuProvider, {
|
|
354
|
-
get value() {
|
|
355
|
-
return menu.api;
|
|
356
|
-
},
|
|
357
|
-
get children() {
|
|
358
|
-
return createComponent(PresenceProvider, {
|
|
359
|
-
value: presenceApi,
|
|
360
|
-
get children() {
|
|
361
|
-
return localProps.children;
|
|
362
|
-
}
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
});
|
|
368
|
-
}
|
|
369
|
-
});
|
|
370
|
-
};
|
|
371
|
-
|
|
372
|
-
//#endregion
|
|
373
|
-
//#region src/components/menu/menu-root-provider.tsx
|
|
374
|
-
const MenuRootProvider = (props) => {
|
|
375
|
-
const parentApi = useMenuContext();
|
|
376
|
-
const parentMachine = useMenuMachineContext();
|
|
377
|
-
const [presenceProps, menuProps] = splitPresenceProps(props);
|
|
378
|
-
const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({ present: menuProps.value.api().open })));
|
|
379
|
-
createEffect(() => {
|
|
380
|
-
if (!parentMachine) return;
|
|
381
|
-
parentApi?.().setChild(menuProps.value.service);
|
|
382
|
-
menuProps.value.api().setParent(parentMachine);
|
|
383
|
-
});
|
|
384
|
-
const triggerItemContext = () => parentApi?.().getTriggerItemProps(menuProps.value.api());
|
|
385
|
-
return createComponent(MenuTriggerItemProvider, {
|
|
386
|
-
value: triggerItemContext,
|
|
387
|
-
get children() {
|
|
388
|
-
return createComponent(MenuMachineProvider, {
|
|
389
|
-
get value() {
|
|
390
|
-
return menuProps.value.service;
|
|
391
|
-
},
|
|
392
|
-
get children() {
|
|
393
|
-
return createComponent(MenuProvider, {
|
|
394
|
-
get value() {
|
|
395
|
-
return menuProps.value.api;
|
|
396
|
-
},
|
|
397
|
-
get children() {
|
|
398
|
-
return createComponent(PresenceProvider, {
|
|
399
|
-
value: presenceApi,
|
|
400
|
-
get children() {
|
|
401
|
-
return menuProps.children;
|
|
402
|
-
}
|
|
403
|
-
});
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
});
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
//#endregion
|
|
413
|
-
//#region src/components/menu/menu-separator.tsx
|
|
414
|
-
const MenuSeparator = (props) => {
|
|
415
|
-
const menu = useMenuContext();
|
|
416
|
-
const mergedProps = mergeProps$2(() => menu().getSeparatorProps(), props);
|
|
417
|
-
return createComponent(sprawlify.hr, mergedProps);
|
|
418
|
-
};
|
|
419
|
-
|
|
420
|
-
//#endregion
|
|
421
|
-
//#region src/components/menu/menu-trigger.tsx
|
|
422
|
-
const MenuTrigger = (props) => {
|
|
423
|
-
const api = useMenuContext();
|
|
424
|
-
const presenceApi = usePresenceContext();
|
|
425
|
-
const mergedProps = mergeProps$2(() => api().getTriggerProps(), () => ({ "aria-controls": presenceApi().unmounted && null }), props);
|
|
426
|
-
return createComponent(sprawlify.button, mergedProps);
|
|
427
|
-
};
|
|
428
|
-
|
|
429
|
-
//#endregion
|
|
430
|
-
//#region src/components/menu/menu-trigger-item.tsx
|
|
431
|
-
const MenuTriggerItem = (props) => {
|
|
432
|
-
const getTriggerItemProps = useMenuTriggerItemContext();
|
|
433
|
-
const mergedProps = mergeProps$2(() => getTriggerItemProps?.(), props);
|
|
434
|
-
return createComponent(MenuItemPropsProvider, {
|
|
435
|
-
get value() {
|
|
436
|
-
return { value: mergedProps["data-value"] };
|
|
437
|
-
},
|
|
438
|
-
get children() {
|
|
439
|
-
return createComponent(sprawlify.div, mergedProps);
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
};
|
|
443
|
-
|
|
444
|
-
//#endregion
|
|
445
|
-
//#region src/components/menu/menu.ts
|
|
446
|
-
var menu_exports = /* @__PURE__ */ __exportAll({
|
|
447
|
-
Arrow: () => MenuArrow,
|
|
448
|
-
ArrowTip: () => MenuArrowTip,
|
|
449
|
-
CheckboxItem: () => MenuCheckboxItem,
|
|
450
|
-
Content: () => MenuContent,
|
|
451
|
-
Context: () => MenuContext,
|
|
452
|
-
ContextTrigger: () => MenuContextTrigger,
|
|
453
|
-
Indicator: () => MenuIndicator,
|
|
454
|
-
Item: () => MenuItem,
|
|
455
|
-
ItemContext: () => MenuItemContext,
|
|
456
|
-
ItemGroup: () => MenuItemGroup,
|
|
457
|
-
ItemGroupLabel: () => MenuItemGroupLabel,
|
|
458
|
-
ItemIndicator: () => MenuItemIndicator,
|
|
459
|
-
ItemText: () => MenuItemText,
|
|
460
|
-
Positioner: () => MenuPositioner,
|
|
461
|
-
RadioItem: () => MenuRadioItem,
|
|
462
|
-
RadioItemGroup: () => MenuRadioItemGroup,
|
|
463
|
-
Root: () => MenuRoot,
|
|
464
|
-
RootProvider: () => MenuRootProvider,
|
|
465
|
-
Separator: () => MenuSeparator,
|
|
466
|
-
Trigger: () => MenuTrigger,
|
|
467
|
-
TriggerItem: () => MenuTriggerItem
|
|
468
|
-
});
|
|
469
|
-
|
|
470
|
-
//#endregion
|
|
471
|
-
export { menu_exports as Menu, MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, menuAnatomy, useMenu, useMenuContext, useMenuItemContext };
|