@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
|
@@ -0,0 +1,462 @@
|
|
|
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 dropdownMenuAnatomy } from "../../dropdown-menu-anatomy-C1luUwqi.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 dropdownMenu from "@sprawlify/primitives/machines/dropdown-menu";
|
|
15
|
+
|
|
16
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-context.ts
|
|
17
|
+
const [DropdownMenuProvider, useDropdownMenuContext] = createContext$1({
|
|
18
|
+
hookName: "useDropdownMenuContext",
|
|
19
|
+
providerName: "<DropdownMenuProvider />",
|
|
20
|
+
strict: false
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/dropdown-menu/dropdown-menu-arrow.tsx
|
|
25
|
+
const DropdownMenuArrow = (props) => {
|
|
26
|
+
const context = useDropdownMenuContext();
|
|
27
|
+
const mergedProps = mergeProps$2(() => context().getArrowProps(), props);
|
|
28
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/components/dropdown-menu/dropdown-menu-arrow-tip.tsx
|
|
33
|
+
const DropdownMenuArrowTip = (props) => {
|
|
34
|
+
const context = useDropdownMenuContext();
|
|
35
|
+
const mergedProps = mergeProps$2(() => context().getArrowTipProps(), props);
|
|
36
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-item-context.ts
|
|
41
|
+
const [DropdownMenuItemProvider, useDropdownMenuItemContext] = createContext$1({
|
|
42
|
+
hookName: "useDropdownMenuItemContext",
|
|
43
|
+
providerName: "<DropdownMenuItemProvider />"
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-option-item-props-context.ts
|
|
48
|
+
const [DropdownMenuItemPropsProvider, useDropdownMenuItemPropsContext] = createContext$1({
|
|
49
|
+
hookName: "useDropdownMenuItemPropsContext",
|
|
50
|
+
providerName: "<DropdownMenuItemPropsProvider />"
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/components/dropdown-menu/dropdown-menu-checkbox-item.tsx
|
|
55
|
+
const DropdownMenuCheckboxItem = (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 = useDropdownMenuContext();
|
|
66
|
+
const mergedProps = mergeProps$2(() => context().getOptionItemProps(optionItemProps), localProps);
|
|
67
|
+
const optionItemState = createMemo(() => context().getItemState(optionItemProps));
|
|
68
|
+
return createComponent(DropdownMenuItemPropsProvider, {
|
|
69
|
+
value: optionItemProps,
|
|
70
|
+
get children() {
|
|
71
|
+
return createComponent(DropdownMenuItemProvider, {
|
|
72
|
+
value: optionItemState,
|
|
73
|
+
get children() {
|
|
74
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/components/dropdown-menu/dropdown-menu-content.tsx
|
|
83
|
+
const DropdownMenuContent = (props) => {
|
|
84
|
+
const context = useDropdownMenuContext();
|
|
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/dropdown-menu/dropdown-menu-context.tsx
|
|
102
|
+
const DropdownMenuContext = (props) => props.children(useDropdownMenuContext());
|
|
103
|
+
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/components/dropdown-menu/dropdown-menu-indicator.tsx
|
|
106
|
+
const DropdownMenuIndicator = (props) => {
|
|
107
|
+
const context = useDropdownMenuContext();
|
|
108
|
+
const mergedProps = mergeProps$2(() => context().getIndicatorProps(), props);
|
|
109
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/components/dropdown-menu/dropdown-menu-item.tsx
|
|
114
|
+
const DropdownMenuItem = (props) => {
|
|
115
|
+
const [itemProps, localProps] = createSplitProps()(props, [
|
|
116
|
+
"closeOnSelect",
|
|
117
|
+
"disabled",
|
|
118
|
+
"value",
|
|
119
|
+
"valueText",
|
|
120
|
+
"onSelect"
|
|
121
|
+
]);
|
|
122
|
+
const context = useDropdownMenuContext();
|
|
123
|
+
const mergedProps = mergeProps$2(() => context().getItemProps(itemProps), localProps);
|
|
124
|
+
const itemState = createMemo(() => context().getItemState(itemProps));
|
|
125
|
+
createEffect(() => {
|
|
126
|
+
const cleanup = context().addItemListener({
|
|
127
|
+
id: itemState().id,
|
|
128
|
+
onSelect: itemProps.onSelect
|
|
129
|
+
});
|
|
130
|
+
onCleanup(() => cleanup?.());
|
|
131
|
+
});
|
|
132
|
+
return createComponent(DropdownMenuItemPropsProvider, {
|
|
133
|
+
value: itemProps,
|
|
134
|
+
get children() {
|
|
135
|
+
return createComponent(DropdownMenuItemProvider, {
|
|
136
|
+
value: itemState,
|
|
137
|
+
get children() {
|
|
138
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
//#endregion
|
|
146
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-context.tsx
|
|
147
|
+
const DropdownMenuItemContext = (props) => props.children(useDropdownMenuItemContext());
|
|
148
|
+
|
|
149
|
+
//#endregion
|
|
150
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-item-group-context.ts
|
|
151
|
+
const [DropdownMenuItemGroupProvider, useDropdownMenuItemGroupContext] = createContext$1({
|
|
152
|
+
hookName: "useDropdownMenuItemGroupContext",
|
|
153
|
+
providerName: "<DropdownMenuItemGroupProvider />"
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
//#endregion
|
|
157
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-group.tsx
|
|
158
|
+
const DropdownMenuItemGroup = (props) => {
|
|
159
|
+
const [optionalItemGroupProps, localProps] = createSplitProps()(props, ["id"]);
|
|
160
|
+
const itemGroupProps = mergeProps$2({ id: createUniqueId() }, optionalItemGroupProps);
|
|
161
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
162
|
+
const mergedProps = mergeProps$2(() => dropdownMenu().getItemGroupProps(itemGroupProps), localProps);
|
|
163
|
+
return createComponent(DropdownMenuItemGroupProvider, {
|
|
164
|
+
value: itemGroupProps,
|
|
165
|
+
get children() {
|
|
166
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
//#endregion
|
|
172
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-group-label.tsx
|
|
173
|
+
const DropdownMenuItemGroupLabel = (props) => {
|
|
174
|
+
const context = useDropdownMenuContext();
|
|
175
|
+
const itemGroupContext = useDropdownMenuItemGroupContext();
|
|
176
|
+
const mergedProps = mergeProps$2(context().getItemGroupLabelProps({ htmlFor: itemGroupContext.id }), props);
|
|
177
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
//#endregion
|
|
181
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-indicator.tsx
|
|
182
|
+
const DropdownMenuItemIndicator = (props) => {
|
|
183
|
+
const context = useDropdownMenuContext();
|
|
184
|
+
const itemProps = useDropdownMenuItemPropsContext();
|
|
185
|
+
const mergedProps = mergeProps$2(() => context().getItemIndicatorProps(itemProps), props);
|
|
186
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
//#endregion
|
|
190
|
+
//#region src/components/dropdown-menu/dropdown-menu-item-text.tsx
|
|
191
|
+
const DropdownMenuItemText = (props) => {
|
|
192
|
+
const context = useDropdownMenuContext();
|
|
193
|
+
const itemProps = useDropdownMenuItemPropsContext();
|
|
194
|
+
const mergedProps = mergeProps$2(() => context().getItemTextProps(itemProps), props);
|
|
195
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
//#endregion
|
|
199
|
+
//#region src/components/dropdown-menu/dropdown-menu-positioner.tsx
|
|
200
|
+
const DropdownMenuPositioner = (props) => {
|
|
201
|
+
const context = useDropdownMenuContext();
|
|
202
|
+
const presence = usePresenceContext();
|
|
203
|
+
const mergedProps = mergeProps$2(() => context().getPositionerProps(), props);
|
|
204
|
+
return createComponent(Show, {
|
|
205
|
+
get when() {
|
|
206
|
+
return !presence().unmounted;
|
|
207
|
+
},
|
|
208
|
+
get children() {
|
|
209
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
//#endregion
|
|
215
|
+
//#region src/components/dropdown-menu/dropdown-menu-radio-item.tsx
|
|
216
|
+
const DropdownMenuRadioItem = (props) => {
|
|
217
|
+
const [partialItemProps, localProps] = createSplitProps()(props, [
|
|
218
|
+
"closeOnSelect",
|
|
219
|
+
"disabled",
|
|
220
|
+
"value",
|
|
221
|
+
"valueText"
|
|
222
|
+
]);
|
|
223
|
+
const context = useDropdownMenuContext();
|
|
224
|
+
const itemGroup = useDropdownMenuItemGroupContext();
|
|
225
|
+
const optionItemProps = mergeProps$2(partialItemProps, () => ({
|
|
226
|
+
type: "radio",
|
|
227
|
+
checked: itemGroup.value === partialItemProps.value,
|
|
228
|
+
onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })
|
|
229
|
+
}));
|
|
230
|
+
const mergedProps = mergeProps$2(() => context().getOptionItemProps(optionItemProps), localProps);
|
|
231
|
+
const optionItemState = createMemo(() => context().getOptionItemState(optionItemProps));
|
|
232
|
+
return createComponent(DropdownMenuItemPropsProvider, {
|
|
233
|
+
value: optionItemProps,
|
|
234
|
+
get children() {
|
|
235
|
+
return createComponent(DropdownMenuItemProvider, {
|
|
236
|
+
value: optionItemState,
|
|
237
|
+
get children() {
|
|
238
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/components/dropdown-menu/dropdown-menu-radio-item-group.tsx
|
|
247
|
+
const DropdownMenuRadioItemGroup = (props) => {
|
|
248
|
+
const [optionalItemGroupProps, localProps] = createSplitProps()(props, [
|
|
249
|
+
"id",
|
|
250
|
+
"onValueChange",
|
|
251
|
+
"value"
|
|
252
|
+
]);
|
|
253
|
+
const context = useDropdownMenuContext();
|
|
254
|
+
const itemGroupProps = mergeProps$2({ id: createUniqueId() }, optionalItemGroupProps);
|
|
255
|
+
const mergedProps = mergeProps$2(() => context().getItemGroupProps(itemGroupProps), localProps);
|
|
256
|
+
return createComponent(DropdownMenuItemGroupProvider, {
|
|
257
|
+
value: itemGroupProps,
|
|
258
|
+
get children() {
|
|
259
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
//#endregion
|
|
265
|
+
//#region src/components/dropdown-menu/use-dropdown-menu.ts
|
|
266
|
+
const useDropdownMenu = (props) => {
|
|
267
|
+
const id = createUniqueId();
|
|
268
|
+
const locale = useLocaleContext();
|
|
269
|
+
const environment = useEnvironmentContext();
|
|
270
|
+
const machineProps = createMemo(() => ({
|
|
271
|
+
id,
|
|
272
|
+
dir: locale().dir,
|
|
273
|
+
getRootNode: environment().getRootNode,
|
|
274
|
+
...runIfFn(props)
|
|
275
|
+
}));
|
|
276
|
+
const service = useMachine(dropdownMenu.machine, machineProps);
|
|
277
|
+
return {
|
|
278
|
+
api: createMemo(() => dropdownMenu.connect(service, normalizeProps)),
|
|
279
|
+
service
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
//#endregion
|
|
284
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-machine-context.ts
|
|
285
|
+
const [DropdownMenuMachineProvider, useDropdownMenuMachineContext] = createContext$1({
|
|
286
|
+
hookName: "useDropdownMenuMachineContext",
|
|
287
|
+
providerName: "<DropdownMenuMachineProvider />",
|
|
288
|
+
strict: false
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
//#endregion
|
|
292
|
+
//#region src/components/dropdown-menu/use-dropdown-menu-trigger-item-context.ts
|
|
293
|
+
const [DropdownMenuTriggerItemProvider, useDropdownMenuTriggerItemContext] = createContext$1({
|
|
294
|
+
hookName: "useDropdownMenuTriggerItemContext",
|
|
295
|
+
providerName: "<DropdownMenuTriggerItemProvider />",
|
|
296
|
+
strict: false
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
//#endregion
|
|
300
|
+
//#region src/components/dropdown-menu/dropdown-menu-root.tsx
|
|
301
|
+
const DropdownMenuRoot = (props) => {
|
|
302
|
+
const [presenceProps, dropdownMenuProps] = splitPresenceProps(props);
|
|
303
|
+
const [useDropdownMenuProps, localProps] = createSplitProps()(dropdownMenuProps, [
|
|
304
|
+
"anchorPoint",
|
|
305
|
+
"aria-label",
|
|
306
|
+
"closeOnSelect",
|
|
307
|
+
"composite",
|
|
308
|
+
"defaultHighlightedValue",
|
|
309
|
+
"defaultOpen",
|
|
310
|
+
"highlightedValue",
|
|
311
|
+
"id",
|
|
312
|
+
"ids",
|
|
313
|
+
"loopFocus",
|
|
314
|
+
"navigate",
|
|
315
|
+
"onEscapeKeyDown",
|
|
316
|
+
"onFocusOutside",
|
|
317
|
+
"onHighlightChange",
|
|
318
|
+
"onInteractOutside",
|
|
319
|
+
"onOpenChange",
|
|
320
|
+
"onPointerDownOutside",
|
|
321
|
+
"onRequestDismiss",
|
|
322
|
+
"onSelect",
|
|
323
|
+
"open",
|
|
324
|
+
"positioning",
|
|
325
|
+
"typeahead"
|
|
326
|
+
]);
|
|
327
|
+
const parentApi = useDropdownMenuContext();
|
|
328
|
+
const parentMachine = useDropdownMenuMachineContext();
|
|
329
|
+
const dropdownMenu = useDropdownMenu(useDropdownMenuProps);
|
|
330
|
+
const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({ present: dropdownMenu.api().open })));
|
|
331
|
+
onMount(() => {
|
|
332
|
+
if (!parentMachine) return;
|
|
333
|
+
parentApi?.().setChild(dropdownMenu.service);
|
|
334
|
+
dropdownMenu.api().setParent(parentMachine);
|
|
335
|
+
});
|
|
336
|
+
const triggerItemContext = () => parentApi?.().getTriggerItemProps(dropdownMenu.api());
|
|
337
|
+
return createComponent(DropdownMenuTriggerItemProvider, {
|
|
338
|
+
value: triggerItemContext,
|
|
339
|
+
get children() {
|
|
340
|
+
return createComponent(DropdownMenuMachineProvider, {
|
|
341
|
+
get value() {
|
|
342
|
+
return dropdownMenu.service;
|
|
343
|
+
},
|
|
344
|
+
get children() {
|
|
345
|
+
return createComponent(DropdownMenuProvider, {
|
|
346
|
+
get value() {
|
|
347
|
+
return dropdownMenu.api;
|
|
348
|
+
},
|
|
349
|
+
get children() {
|
|
350
|
+
return createComponent(PresenceProvider, {
|
|
351
|
+
value: presenceApi,
|
|
352
|
+
get children() {
|
|
353
|
+
return localProps.children;
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
};
|
|
363
|
+
|
|
364
|
+
//#endregion
|
|
365
|
+
//#region src/components/dropdown-menu/dropdown-menu-root-provider.tsx
|
|
366
|
+
const DropdownMenuRootProvider = (props) => {
|
|
367
|
+
const parentApi = useDropdownMenuContext();
|
|
368
|
+
const parentMachine = useDropdownMenuMachineContext();
|
|
369
|
+
const [presenceProps, dropdownMenuProps] = splitPresenceProps(props);
|
|
370
|
+
const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({ present: dropdownMenuProps.value.api().open })));
|
|
371
|
+
createEffect(() => {
|
|
372
|
+
if (!parentMachine) return;
|
|
373
|
+
parentApi?.().setChild(dropdownMenuProps.value.service);
|
|
374
|
+
dropdownMenuProps.value.api().setParent(parentMachine);
|
|
375
|
+
});
|
|
376
|
+
const triggerItemContext = () => parentApi?.().getTriggerItemProps(dropdownMenuProps.value.api());
|
|
377
|
+
return createComponent(DropdownMenuTriggerItemProvider, {
|
|
378
|
+
value: triggerItemContext,
|
|
379
|
+
get children() {
|
|
380
|
+
return createComponent(DropdownMenuMachineProvider, {
|
|
381
|
+
get value() {
|
|
382
|
+
return dropdownMenuProps.value.service;
|
|
383
|
+
},
|
|
384
|
+
get children() {
|
|
385
|
+
return createComponent(DropdownMenuProvider, {
|
|
386
|
+
get value() {
|
|
387
|
+
return dropdownMenuProps.value.api;
|
|
388
|
+
},
|
|
389
|
+
get children() {
|
|
390
|
+
return createComponent(PresenceProvider, {
|
|
391
|
+
value: presenceApi,
|
|
392
|
+
get children() {
|
|
393
|
+
return dropdownMenuProps.children;
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
//#endregion
|
|
405
|
+
//#region src/components/dropdown-menu/dropdown-menu-separator.tsx
|
|
406
|
+
const DropdownMenuSeparator = (props) => {
|
|
407
|
+
const dropdownMenu = useDropdownMenuContext();
|
|
408
|
+
const mergedProps = mergeProps$2(() => dropdownMenu().getSeparatorProps(), props);
|
|
409
|
+
return createComponent(sprawlify.hr, mergedProps);
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
//#endregion
|
|
413
|
+
//#region src/components/dropdown-menu/dropdown-menu-trigger.tsx
|
|
414
|
+
const DropdownMenuTrigger = (props) => {
|
|
415
|
+
const api = useDropdownMenuContext();
|
|
416
|
+
const presenceApi = usePresenceContext();
|
|
417
|
+
const mergedProps = mergeProps$2(() => api().getTriggerProps(), () => ({ "aria-controls": presenceApi().unmounted && null }), props);
|
|
418
|
+
return createComponent(sprawlify.button, mergedProps);
|
|
419
|
+
};
|
|
420
|
+
|
|
421
|
+
//#endregion
|
|
422
|
+
//#region src/components/dropdown-menu/dropdown-menu-trigger-item.tsx
|
|
423
|
+
const DropdownMenuTriggerItem = (props) => {
|
|
424
|
+
const getTriggerItemProps = useDropdownMenuTriggerItemContext();
|
|
425
|
+
const mergedProps = mergeProps$2(() => getTriggerItemProps?.(), props);
|
|
426
|
+
return createComponent(DropdownMenuItemPropsProvider, {
|
|
427
|
+
get value() {
|
|
428
|
+
return { value: mergedProps["data-value"] };
|
|
429
|
+
},
|
|
430
|
+
get children() {
|
|
431
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
//#endregion
|
|
437
|
+
//#region src/components/dropdown-menu/dropdown-menu.ts
|
|
438
|
+
var dropdown_menu_exports = /* @__PURE__ */ __exportAll({
|
|
439
|
+
Arrow: () => DropdownMenuArrow,
|
|
440
|
+
ArrowTip: () => DropdownMenuArrowTip,
|
|
441
|
+
CheckboxItem: () => DropdownMenuCheckboxItem,
|
|
442
|
+
Content: () => DropdownMenuContent,
|
|
443
|
+
Context: () => DropdownMenuContext,
|
|
444
|
+
Indicator: () => DropdownMenuIndicator,
|
|
445
|
+
Item: () => DropdownMenuItem,
|
|
446
|
+
ItemContext: () => DropdownMenuItemContext,
|
|
447
|
+
ItemGroup: () => DropdownMenuItemGroup,
|
|
448
|
+
ItemGroupLabel: () => DropdownMenuItemGroupLabel,
|
|
449
|
+
ItemIndicator: () => DropdownMenuItemIndicator,
|
|
450
|
+
ItemText: () => DropdownMenuItemText,
|
|
451
|
+
Positioner: () => DropdownMenuPositioner,
|
|
452
|
+
RadioItem: () => DropdownMenuRadioItem,
|
|
453
|
+
RadioItemGroup: () => DropdownMenuRadioItemGroup,
|
|
454
|
+
Root: () => DropdownMenuRoot,
|
|
455
|
+
RootProvider: () => DropdownMenuRootProvider,
|
|
456
|
+
Separator: () => DropdownMenuSeparator,
|
|
457
|
+
Trigger: () => DropdownMenuTrigger,
|
|
458
|
+
TriggerItem: () => DropdownMenuTriggerItem
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
//#endregion
|
|
462
|
+
export { dropdown_menu_exports as DropdownMenu, DropdownMenuArrow, DropdownMenuArrowTip, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuContext, DropdownMenuIndicator, DropdownMenuItem, DropdownMenuItemContext, DropdownMenuItemGroup, DropdownMenuItemGroupLabel, DropdownMenuItemIndicator, DropdownMenuItemText, DropdownMenuPositioner, DropdownMenuRadioItem, DropdownMenuRadioItemGroup, DropdownMenuRoot, DropdownMenuRootProvider, DropdownMenuSeparator, DropdownMenuTrigger, DropdownMenuTriggerItem, dropdownMenuAnatomy, useDropdownMenu, useDropdownMenuContext, useDropdownMenuItemContext };
|