@sprawlify/solid 0.0.14 → 0.0.15
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/chunk-C4aQI7lE.jsx +18 -0
- package/dist/chunk-CKcAJnC7.js +18 -0
- package/dist/collapsible-Cg7zPadX.js +129 -0
- package/dist/collapsible-CjuC6xYl.jsx +117 -0
- package/dist/collection-BiyRTWsX.js +219 -0
- package/dist/collection-BlnS2UQy.jsx +219 -0
- package/dist/components/accordion/index.d.ts +69 -0
- package/dist/components/accordion/index.js +183 -0
- package/dist/components/accordion/index.jsx +157 -0
- package/dist/components/angle-slider/index.d.ts +74 -0
- package/dist/components/angle-slider/index.js +155 -0
- package/dist/components/angle-slider/index.jsx +144 -0
- package/dist/components/avatar/index.d.ts +49 -0
- package/dist/components/avatar/index.js +95 -0
- package/dist/components/avatar/index.jsx +88 -0
- package/dist/components/bottom-sheet/index.d.ts +80 -0
- package/dist/components/bottom-sheet/index.js +218 -0
- package/dist/components/bottom-sheet/index.jsx +177 -0
- package/dist/components/carousel/index.d.ts +98 -0
- package/dist/components/carousel/index.js +207 -0
- package/dist/components/carousel/index.jsx +192 -0
- package/dist/components/checkbox/index.d.ts +138 -0
- package/dist/components/checkbox/index.js +265 -0
- package/dist/components/checkbox/index.jsx +247 -0
- package/dist/components/client-only/index.d.ts +10 -0
- package/dist/components/client-only/index.js +24 -0
- package/dist/components/client-only/index.jsx +15 -0
- package/dist/components/clipboard/index.d.ts +72 -0
- package/dist/components/clipboard/index.js +149 -0
- package/dist/components/clipboard/index.jsx +132 -0
- package/dist/components/collapsible/index.d.ts +60 -0
- package/dist/components/collapsible/index.js +8 -0
- package/dist/components/collapsible/index.jsx +8 -0
- package/dist/components/collection/index.d.ts +3 -0
- package/dist/components/collection/index.js +4 -0
- package/dist/components/collection/index.jsx +4 -0
- package/dist/components/field/index.d.ts +201 -0
- package/dist/components/field/index.js +9 -0
- package/dist/components/field/index.jsx +9 -0
- package/dist/components/fieldset/index.d.ts +109 -0
- package/dist/components/fieldset/index.js +8 -0
- package/dist/components/fieldset/index.jsx +8 -0
- package/dist/components/presence/index.d.ts +5 -0
- package/dist/components/presence/index.js +8 -0
- package/dist/components/presence/index.jsx +8 -0
- package/dist/components/select/index.d.ts +134 -0
- package/dist/components/select/index.js +361 -0
- package/dist/components/select/index.jsx +310 -0
- package/dist/compose-refs-CzyOb8yH.jsx +20 -0
- package/dist/compose-refs-vsrTrt13.js +20 -0
- package/dist/create-split-props-CQVsvhvg.jsx +41 -0
- package/dist/factory-B6RK6SH4.d.ts +14 -0
- package/dist/factory-CEdj72aS.js +47 -0
- package/dist/field-C_WuoXOj.js +287 -0
- package/dist/field-CphvciGc.jsx +259 -0
- package/dist/fieldset-BG-0ZqWT.jsx +167 -0
- package/dist/fieldset-D1BO0LmU.js +182 -0
- package/dist/index-C3ATynHc.d.ts +23 -0
- package/dist/index-DXheKbqg.d.ts +76 -0
- package/dist/index-NWiNyxpL.d.ts +38 -0
- package/dist/index-vSwYtc2L.d.ts +38 -0
- package/dist/index.d.ts +5 -29
- package/dist/index.js +4 -511
- package/dist/index.jsx +4 -497
- package/dist/presence-Bfjusgm3.js +79 -0
- package/dist/presence-arWh1hVd.jsx +66 -0
- package/dist/providers-CHqGPEsc.jsx +82 -0
- package/dist/providers-CQkAUunr.js +96 -0
- package/dist/render-strategy-COrlrUuR.js +12 -0
- package/dist/render-strategy-CZDG_yDi.jsx +12 -0
- package/dist/render-strategy-CtRkdWei.d.ts +9 -0
- package/dist/run-if-fn-DRWB51JE.jsx +421 -0
- package/dist/run-if-fn-eYlaegHy.js +421 -0
- package/dist/types-bQRbEioA.d.ts +9 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.jsx +2 -1
- package/dist/utils-DYer-9SY.js +0 -0
- package/dist/utils-DrvO4Hk3.jsx +0 -0
- package/package.json +62 -2
- /package/dist/{utils-DSKoW7eB.jsx → create-context-PS2j4mEo.js} +0 -0
- /package/dist/{utils-GEMuT7an.js → create-context-h3cXiEld.jsx} +0 -0
- /package/dist/{index-C_ThrXdH.d.ts → index-B0YoIRC4.d.ts} +0 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { a as useMachine, t as runIfFn } from "./run-if-fn-DRWB51JE.jsx";
|
|
2
|
+
import { createEffect, createMemo, createSignal, on, splitProps } from "solid-js";
|
|
3
|
+
import { GridCollection, ListCollection, Selection, TreeCollection, filePathToTree } from "@sprawlify/primitives/collection";
|
|
4
|
+
import * as asyncList from "@sprawlify/primitives/machines/async-list";
|
|
5
|
+
|
|
6
|
+
//#region src/components/collection/grid-collection.ts
|
|
7
|
+
const createGridCollection = (options) => new GridCollection(options);
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/collection/list-collection.ts
|
|
11
|
+
const createListCollection = (options) => new ListCollection(options);
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/collection/tree-collection.ts
|
|
15
|
+
const createTreeCollection = (options) => new TreeCollection(options);
|
|
16
|
+
const createFileTreeCollection = (paths) => filePathToTree(paths);
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/collection/use-async-list.ts
|
|
20
|
+
const useAsyncList = (props) => {
|
|
21
|
+
const machineProps = createMemo(() => runIfFn(props));
|
|
22
|
+
const service = useMachine(asyncList.machine, machineProps);
|
|
23
|
+
return createMemo(() => asyncList.connect(service));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/components/collection/use-list-collection.ts
|
|
28
|
+
function useListCollection(props) {
|
|
29
|
+
const splittedProps = createMemo(() => {
|
|
30
|
+
return splitProps(typeof props === "function" ? props() : props, [
|
|
31
|
+
"initialItems",
|
|
32
|
+
"filter",
|
|
33
|
+
"limit"
|
|
34
|
+
]);
|
|
35
|
+
});
|
|
36
|
+
const init = () => {
|
|
37
|
+
const [localProps] = splittedProps();
|
|
38
|
+
return localProps.initialItems;
|
|
39
|
+
};
|
|
40
|
+
const [items, setItemsImpl] = createSignal(init());
|
|
41
|
+
const [filterText, setFilterText] = createSignal("");
|
|
42
|
+
const setItems = (newItems) => {
|
|
43
|
+
setItemsImpl(newItems);
|
|
44
|
+
setFilterText("");
|
|
45
|
+
};
|
|
46
|
+
const create = (itemsToCreate) => {
|
|
47
|
+
const [, collectionOptions] = splittedProps();
|
|
48
|
+
return createListCollection({
|
|
49
|
+
...collectionOptions,
|
|
50
|
+
items: itemsToCreate
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
collection: createMemo(() => {
|
|
55
|
+
const [localProps, collectionOptions] = splittedProps();
|
|
56
|
+
const filter = localProps.filter;
|
|
57
|
+
let activeItems = items();
|
|
58
|
+
if (filterText() && filter) activeItems = create(items()).filter((itemString, _index, item) => filter(itemString, filterText(), item)).items;
|
|
59
|
+
const limitedItems = localProps.limit == null ? activeItems : activeItems.slice(0, localProps.limit);
|
|
60
|
+
return createListCollection({
|
|
61
|
+
...collectionOptions,
|
|
62
|
+
items: limitedItems
|
|
63
|
+
});
|
|
64
|
+
}),
|
|
65
|
+
filter: (inputValue = "") => {
|
|
66
|
+
setFilterText(inputValue);
|
|
67
|
+
},
|
|
68
|
+
set: (newItems) => {
|
|
69
|
+
setItems(newItems);
|
|
70
|
+
},
|
|
71
|
+
reset: () => {
|
|
72
|
+
const [localProps] = splittedProps();
|
|
73
|
+
setItems(localProps.initialItems);
|
|
74
|
+
},
|
|
75
|
+
clear: () => {
|
|
76
|
+
setItems([]);
|
|
77
|
+
},
|
|
78
|
+
insert: (index, ...itemsToInsert) => {
|
|
79
|
+
const newItems = create(items()).insert(index, ...itemsToInsert).items;
|
|
80
|
+
setItems(newItems);
|
|
81
|
+
},
|
|
82
|
+
insertBefore: (value, ...itemsToInsert) => {
|
|
83
|
+
const newItems = create(items()).insertBefore(value, ...itemsToInsert).items;
|
|
84
|
+
setItems(newItems);
|
|
85
|
+
},
|
|
86
|
+
insertAfter: (value, ...itemsToInsert) => {
|
|
87
|
+
const newItems = create(items()).insertAfter(value, ...itemsToInsert).items;
|
|
88
|
+
setItems(newItems);
|
|
89
|
+
},
|
|
90
|
+
remove: (...itemOrValues) => {
|
|
91
|
+
const newItems = create(items()).remove(...itemOrValues).items;
|
|
92
|
+
setItems(newItems);
|
|
93
|
+
},
|
|
94
|
+
move: (value, to) => {
|
|
95
|
+
const newItems = create(items()).move(value, to).items;
|
|
96
|
+
setItems(newItems);
|
|
97
|
+
},
|
|
98
|
+
moveBefore: (value, ...values) => {
|
|
99
|
+
const newItems = create(items()).moveBefore(value, ...values).items;
|
|
100
|
+
setItems(newItems);
|
|
101
|
+
},
|
|
102
|
+
moveAfter: (value, ...values) => {
|
|
103
|
+
const newItems = create(items()).moveAfter(value, ...values).items;
|
|
104
|
+
setItems(newItems);
|
|
105
|
+
},
|
|
106
|
+
reorder: (from, to) => {
|
|
107
|
+
const newItems = create(items()).reorder(from, to).items;
|
|
108
|
+
setItems(newItems);
|
|
109
|
+
},
|
|
110
|
+
append: (...itemsToAppend) => {
|
|
111
|
+
const newItems = create(items()).append(...itemsToAppend).items;
|
|
112
|
+
setItems(newItems);
|
|
113
|
+
},
|
|
114
|
+
upsert: (value, item, mode = "append") => {
|
|
115
|
+
const newItems = create(items()).upsert(value, item, mode).items;
|
|
116
|
+
setItems(newItems);
|
|
117
|
+
},
|
|
118
|
+
prepend: (...itemsToPrepend) => {
|
|
119
|
+
const newItems = create(items()).prepend(...itemsToPrepend).items;
|
|
120
|
+
setItems(newItems);
|
|
121
|
+
},
|
|
122
|
+
update: (value, item) => {
|
|
123
|
+
const newItems = create(items()).update(value, item).items;
|
|
124
|
+
setItems(newItems);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/components/collection/use-list-selection.ts
|
|
131
|
+
function useListSelection(props) {
|
|
132
|
+
const splittedProps = createMemo(() => {
|
|
133
|
+
return splitProps(typeof props === "function" ? props() : props, [
|
|
134
|
+
"collection",
|
|
135
|
+
"selectionMode",
|
|
136
|
+
"deselectable",
|
|
137
|
+
"initialSelectedValues",
|
|
138
|
+
"resetOnCollectionChange"
|
|
139
|
+
]);
|
|
140
|
+
});
|
|
141
|
+
const createSelection = (values = []) => {
|
|
142
|
+
const [localProps] = splittedProps();
|
|
143
|
+
const selection$1 = new Selection(values);
|
|
144
|
+
selection$1.selectionMode = localProps.selectionMode ?? "single";
|
|
145
|
+
selection$1.deselectable = localProps.deselectable ?? true;
|
|
146
|
+
return selection$1;
|
|
147
|
+
};
|
|
148
|
+
const init = () => {
|
|
149
|
+
const [localProps] = splittedProps();
|
|
150
|
+
return createSelection(localProps.initialSelectedValues ?? []);
|
|
151
|
+
};
|
|
152
|
+
const [selection, setSelection] = createSignal(init());
|
|
153
|
+
const watchDeps = () => {
|
|
154
|
+
const [{ collection, resetOnCollectionChange }] = splittedProps();
|
|
155
|
+
return [collection.getValues(), resetOnCollectionChange];
|
|
156
|
+
};
|
|
157
|
+
createEffect(on(watchDeps, ([, resetOnCollectionChange]) => {
|
|
158
|
+
if (resetOnCollectionChange) setSelection(createSelection());
|
|
159
|
+
}, { defer: true }));
|
|
160
|
+
return {
|
|
161
|
+
selectedValues: createMemo(() => Array.from(selection())),
|
|
162
|
+
isEmpty: createMemo(() => selection().isEmpty()),
|
|
163
|
+
firstSelectedValue: createMemo(() => {
|
|
164
|
+
const [localProps] = splittedProps();
|
|
165
|
+
return selection().firstSelectedValue(localProps.collection);
|
|
166
|
+
}),
|
|
167
|
+
lastSelectedValue: createMemo(() => {
|
|
168
|
+
const [localProps] = splittedProps();
|
|
169
|
+
return selection().lastSelectedValue(localProps.collection);
|
|
170
|
+
}),
|
|
171
|
+
isSelected: (value) => {
|
|
172
|
+
return selection().isSelected(value);
|
|
173
|
+
},
|
|
174
|
+
isAllSelected: () => {
|
|
175
|
+
const [localProps] = splittedProps();
|
|
176
|
+
const allValues = localProps.collection.getValues();
|
|
177
|
+
return allValues.length > 0 && allValues.every((value) => selection().isSelected(value));
|
|
178
|
+
},
|
|
179
|
+
isSomeSelected: () => {
|
|
180
|
+
const [localProps] = splittedProps();
|
|
181
|
+
return localProps.collection.getValues().some((value) => selection().isSelected(value));
|
|
182
|
+
},
|
|
183
|
+
canSelect: (value) => {
|
|
184
|
+
const [localProps] = splittedProps();
|
|
185
|
+
return selection().canSelect(localProps.collection, value);
|
|
186
|
+
},
|
|
187
|
+
select: (value, forceToggle) => {
|
|
188
|
+
const [localProps] = splittedProps();
|
|
189
|
+
setSelection(selection().select(localProps.collection, value, forceToggle));
|
|
190
|
+
},
|
|
191
|
+
deselect: (value) => {
|
|
192
|
+
setSelection(selection().deselect(value));
|
|
193
|
+
},
|
|
194
|
+
toggle: (value) => {
|
|
195
|
+
const [localProps] = splittedProps();
|
|
196
|
+
setSelection(selection().toggleSelection(localProps.collection, value));
|
|
197
|
+
},
|
|
198
|
+
replace: (value) => {
|
|
199
|
+
const [localProps] = splittedProps();
|
|
200
|
+
setSelection(selection().replaceSelection(localProps.collection, value));
|
|
201
|
+
},
|
|
202
|
+
extend: (anchorValue, targetValue) => {
|
|
203
|
+
const [localProps] = splittedProps();
|
|
204
|
+
setSelection(selection().extendSelection(localProps.collection, anchorValue, targetValue));
|
|
205
|
+
},
|
|
206
|
+
setSelectedValues: (values) => {
|
|
207
|
+
setSelection(selection().setSelection(values));
|
|
208
|
+
},
|
|
209
|
+
clear: () => {
|
|
210
|
+
setSelection(selection().clearSelection());
|
|
211
|
+
},
|
|
212
|
+
resetSelection: () => {
|
|
213
|
+
setSelection(createSelection());
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
//#endregion
|
|
219
|
+
export { createTreeCollection as a, createFileTreeCollection as i, useListCollection as n, createListCollection as o, useAsyncList as r, createGridCollection as s, useListSelection as t };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { n as PropTypes } from "../../index-C3ATynHc.js";
|
|
2
|
+
import { i as Optional, n as MaybeAccessor } from "../../types-bQRbEioA.js";
|
|
3
|
+
import { n as PolymorphicProps, t as HTMLProps } from "../../factory-B6RK6SH4.js";
|
|
4
|
+
import { t as RenderStrategyProps } from "../../render-strategy-CtRkdWei.js";
|
|
5
|
+
import * as solid_js71 from "solid-js";
|
|
6
|
+
import { Accessor, JSX } from "solid-js";
|
|
7
|
+
import * as accordion from "@sprawlify/primitives/machines/accordion";
|
|
8
|
+
import { FocusChangeDetails, FocusChangeDetails as AccordionFocusChangeDetails, ItemProps, ItemState, ValueChangeDetails, ValueChangeDetails as AccordionValueChangeDetails, anatomy as accordionAnatomy } from "@sprawlify/primitives/machines/accordion";
|
|
9
|
+
|
|
10
|
+
//#region src/components/accordion/use-accordion.d.ts
|
|
11
|
+
interface UseAccordionProps extends Optional<Omit<accordion.Props, 'dir' | 'getRootNode'>, 'id'> {}
|
|
12
|
+
interface UseAccordionReturn extends Accessor<accordion.Api<PropTypes>> {}
|
|
13
|
+
declare const useAccordion: (props?: MaybeAccessor<UseAccordionProps>) => UseAccordionReturn;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/accordion/use-accordion-context.d.ts
|
|
16
|
+
interface UseAccordionContext extends UseAccordionReturn {}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/accordion/accordion-context.d.ts
|
|
19
|
+
interface AccordionContextProps {
|
|
20
|
+
children: (context: UseAccordionContext) => JSX.Element;
|
|
21
|
+
}
|
|
22
|
+
declare const AccordionContext: (props: AccordionContextProps) => JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/accordion/accordion-item.d.ts
|
|
25
|
+
interface AccordionItemBaseProps extends ItemProps, PolymorphicProps<'div'> {}
|
|
26
|
+
interface AccordionItemProps extends HTMLProps<'div'>, AccordionItemBaseProps {}
|
|
27
|
+
declare const AccordionItem: (props: AccordionItemProps) => solid_js71.JSX.Element;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/accordion/accordion-item-content.d.ts
|
|
30
|
+
interface AccordionItemContentBaseProps extends PolymorphicProps<'div'> {}
|
|
31
|
+
interface AccordionItemContentProps extends HTMLProps<'div'>, AccordionItemContentBaseProps {}
|
|
32
|
+
declare const AccordionItemContent: (props: AccordionItemContentProps) => solid_js71.JSX.Element;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/accordion/use-accordion-item-context.d.ts
|
|
35
|
+
interface UseAccordionItemContext extends Accessor<ItemState> {}
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/accordion/accordion-item-context.d.ts
|
|
38
|
+
interface AccordionItemContextProps {
|
|
39
|
+
children: (context: UseAccordionItemContext) => JSX.Element;
|
|
40
|
+
}
|
|
41
|
+
declare const AccordionItemContext: (props: AccordionItemContextProps) => JSX.Element;
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/components/accordion/accordion-item-indicator.d.ts
|
|
44
|
+
interface AccordionItemIndicatorBaseProps extends PolymorphicProps<'div'> {}
|
|
45
|
+
interface AccordionItemIndicatorProps extends HTMLProps<'div'>, AccordionItemIndicatorBaseProps {}
|
|
46
|
+
declare const AccordionItemIndicator: (props: AccordionItemIndicatorProps) => solid_js71.JSX.Element;
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/components/accordion/accordion-item-trigger.d.ts
|
|
49
|
+
interface AccordionItemTriggerBaseProps extends PolymorphicProps<'button'> {}
|
|
50
|
+
interface AccordionItemTriggerProps extends HTMLProps<'button'>, AccordionItemTriggerBaseProps {}
|
|
51
|
+
declare const AccordionItemTrigger: (props: AccordionItemTriggerProps) => solid_js71.JSX.Element;
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/components/accordion/accordion-root.d.ts
|
|
54
|
+
interface AccordionRootBaseProps extends UseAccordionProps, RenderStrategyProps, PolymorphicProps<'div'> {}
|
|
55
|
+
interface AccordionRootProps extends HTMLProps<'div'>, AccordionRootBaseProps {}
|
|
56
|
+
declare const AccordionRoot: (props: AccordionRootProps) => solid_js71.JSX.Element;
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region src/components/accordion/accordion-root-provider.d.ts
|
|
59
|
+
interface RootProviderProps {
|
|
60
|
+
value: UseAccordionReturn;
|
|
61
|
+
}
|
|
62
|
+
interface AccordionRootProviderBaseProps extends RootProviderProps, RenderStrategyProps, PolymorphicProps<'div'> {}
|
|
63
|
+
interface AccordionRootProviderProps extends HTMLProps<'div'>, AccordionRootProviderBaseProps {}
|
|
64
|
+
declare const AccordionRootProvider: (props: AccordionRootProviderProps) => solid_js71.JSX.Element;
|
|
65
|
+
declare namespace accordion_d_exports {
|
|
66
|
+
export { AccordionContext as Context, AccordionContextProps as ContextProps, FocusChangeDetails, AccordionItem as Item, AccordionItemBaseProps as ItemBaseProps, AccordionItemContent as ItemContent, AccordionItemContentBaseProps as ItemContentBaseProps, AccordionItemContentProps as ItemContentProps, AccordionItemContext as ItemContext, AccordionItemContextProps as ItemContextProps, AccordionItemIndicator as ItemIndicator, AccordionItemIndicatorBaseProps as ItemIndicatorBaseProps, AccordionItemIndicatorProps as ItemIndicatorProps, AccordionItemProps as ItemProps, AccordionItemTrigger as ItemTrigger, AccordionItemTriggerBaseProps as ItemTriggerBaseProps, AccordionItemTriggerProps as ItemTriggerProps, AccordionRoot as Root, AccordionRootBaseProps as RootBaseProps, AccordionRootProps as RootProps, AccordionRootProvider as RootProvider, AccordionRootProviderBaseProps as RootProviderBaseProps, AccordionRootProviderProps as RootProviderProps, ValueChangeDetails };
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
export { accordion_d_exports as Accordion, AccordionContext, type AccordionContextProps, type AccordionFocusChangeDetails, AccordionItem, type AccordionItemBaseProps, AccordionItemContent, type AccordionItemContentBaseProps, type AccordionItemContentProps, AccordionItemContext, type AccordionItemContextProps, AccordionItemIndicator, type AccordionItemIndicatorBaseProps, type AccordionItemIndicatorProps, type AccordionItemProps, AccordionItemTrigger, type AccordionItemTriggerBaseProps, type AccordionItemTriggerProps, AccordionRoot, type AccordionRootBaseProps, type AccordionRootProps, AccordionRootProvider, type AccordionRootProviderBaseProps, type AccordionRootProviderProps, type AccordionValueChangeDetails, type UseAccordionContext, type UseAccordionItemContext, type UseAccordionProps, type UseAccordionReturn, accordionAnatomy, useAccordion, useAccordionContext, useAccordionItemContext };
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { t as __export } from "../../chunk-CKcAJnC7.js";
|
|
2
|
+
import { a as useMachine, i as mergeProps$2, r as normalizeProps, t as runIfFn } from "../../run-if-fn-eYlaegHy.js";
|
|
3
|
+
import { t as createContext$1 } from "../../create-context-PS2j4mEo.js";
|
|
4
|
+
import { i as useLocaleContext, o as useEnvironmentContext } from "../../providers-CQkAUunr.js";
|
|
5
|
+
import { n as createSplitProps, t as sprawlify } from "../../factory-CEdj72aS.js";
|
|
6
|
+
import { n as splitRenderStrategyProps, r as useRenderStrategyContext, t as RenderStrategyProvider } from "../../render-strategy-COrlrUuR.js";
|
|
7
|
+
import { l as CollapsibleContent, o as CollapsibleRoot, u as useCollapsibleContext } from "../../collapsible-Cg7zPadX.js";
|
|
8
|
+
import { createMemo, createUniqueId, splitProps } from "solid-js";
|
|
9
|
+
import { createComponent, mergeProps as mergeProps$1 } from "solid-js/web";
|
|
10
|
+
import * as accordion from "@sprawlify/primitives/machines/accordion";
|
|
11
|
+
import { anatomy as accordionAnatomy } from "@sprawlify/primitives/machines/accordion";
|
|
12
|
+
|
|
13
|
+
//#region src/components/accordion/use-accordion-context.ts
|
|
14
|
+
const [AccordionProvider, useAccordionContext] = createContext$1({
|
|
15
|
+
hookName: "useAccordionContext",
|
|
16
|
+
providerName: "<AccordionProvider />"
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/components/accordion/accordion-context.tsx
|
|
21
|
+
const AccordionContext = (props) => props.children(useAccordionContext());
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/accordion/use-accordion-item-context.ts
|
|
25
|
+
const [AccordionItemProvider, useAccordionItemContext] = createContext$1({
|
|
26
|
+
hookName: "useAccordionItemContext",
|
|
27
|
+
providerName: "<AccordionItemProvider />"
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/components/accordion/use-accordion-item-props-context.ts
|
|
32
|
+
const [AccordionItemPropsProvider, useAccordionItemPropsContext] = createContext$1({
|
|
33
|
+
hookName: "useAccordionItemPropsContext",
|
|
34
|
+
providerName: "<AccordionItemPropsProvider />"
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/components/accordion/accordion-item.tsx
|
|
39
|
+
const AccordionItem = (props) => {
|
|
40
|
+
const [itemProps, localProps] = createSplitProps()(props, ["value", "disabled"]);
|
|
41
|
+
const accordion$1 = useAccordionContext();
|
|
42
|
+
const renderStrategyProps = useRenderStrategyContext();
|
|
43
|
+
const mergedProps = mergeProps$2(() => accordion$1().getItemProps(itemProps), localProps);
|
|
44
|
+
const itemState = createMemo(() => accordion$1().getItemState(itemProps));
|
|
45
|
+
const itemContentProps = accordion$1().getItemContentProps(itemProps);
|
|
46
|
+
return createComponent(AccordionItemPropsProvider, {
|
|
47
|
+
value: itemProps,
|
|
48
|
+
get children() {
|
|
49
|
+
return createComponent(AccordionItemProvider, {
|
|
50
|
+
value: itemState,
|
|
51
|
+
get children() {
|
|
52
|
+
return createComponent(CollapsibleRoot, mergeProps$1({
|
|
53
|
+
get open() {
|
|
54
|
+
return itemState().expanded;
|
|
55
|
+
},
|
|
56
|
+
get ids() {
|
|
57
|
+
return { content: itemContentProps.id };
|
|
58
|
+
}
|
|
59
|
+
}, renderStrategyProps, mergedProps));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/components/accordion/accordion-item-content.tsx
|
|
68
|
+
const splitVisibilityProps = createSplitProps();
|
|
69
|
+
const AccordionItemContent = (props) => {
|
|
70
|
+
const accordion$1 = useAccordionContext();
|
|
71
|
+
const itemProps = useAccordionItemPropsContext();
|
|
72
|
+
const itemContentProps = createMemo(() => {
|
|
73
|
+
const [, ownProps] = splitVisibilityProps(accordion$1().getItemContentProps(itemProps), ["hidden", "data-state"]);
|
|
74
|
+
return ownProps;
|
|
75
|
+
});
|
|
76
|
+
const mergedProps = mergeProps$2(() => itemContentProps(), props);
|
|
77
|
+
return createComponent(CollapsibleContent, mergedProps);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/components/accordion/accordion-item-context.tsx
|
|
82
|
+
const AccordionItemContext = (props) => props.children(useAccordionItemContext());
|
|
83
|
+
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/components/accordion/accordion-item-indicator.tsx
|
|
86
|
+
const AccordionItemIndicator = (props) => {
|
|
87
|
+
const accordion$1 = useAccordionContext();
|
|
88
|
+
const itemProps = useAccordionItemPropsContext();
|
|
89
|
+
const mergedProps = mergeProps$2(() => accordion$1().getItemIndicatorProps(itemProps), props);
|
|
90
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/components/accordion/accordion-item-trigger.tsx
|
|
95
|
+
const AccordionItemTrigger = (props) => {
|
|
96
|
+
const accordion$1 = useAccordionContext();
|
|
97
|
+
const itemProps = useAccordionItemPropsContext();
|
|
98
|
+
const collapsible = useCollapsibleContext();
|
|
99
|
+
const [ariaControls, buttonProps] = splitProps(mergeProps$2(() => accordion$1().getItemTriggerProps(itemProps), props), ["aria-controls"]);
|
|
100
|
+
return createComponent(sprawlify.button, mergeProps$1(buttonProps, () => !collapsible().unmounted && ariaControls));
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region src/components/accordion/use-accordion.ts
|
|
105
|
+
const useAccordion = (props) => {
|
|
106
|
+
const id = createUniqueId();
|
|
107
|
+
const locale = useLocaleContext();
|
|
108
|
+
const environment = useEnvironmentContext();
|
|
109
|
+
const machineProps = createMemo(() => ({
|
|
110
|
+
id,
|
|
111
|
+
dir: locale().dir,
|
|
112
|
+
getRootNode: environment().getRootNode,
|
|
113
|
+
...runIfFn(props)
|
|
114
|
+
}));
|
|
115
|
+
const service = useMachine(accordion.machine, machineProps);
|
|
116
|
+
return createMemo(() => accordion.connect(service, normalizeProps));
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region src/components/accordion/accordion-root.tsx
|
|
121
|
+
const AccordionRoot = (props) => {
|
|
122
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
123
|
+
const [useAccordionProps, localProps] = createSplitProps()(accordionProps, [
|
|
124
|
+
"collapsible",
|
|
125
|
+
"defaultValue",
|
|
126
|
+
"disabled",
|
|
127
|
+
"id",
|
|
128
|
+
"ids",
|
|
129
|
+
"multiple",
|
|
130
|
+
"onFocusChange",
|
|
131
|
+
"onValueChange",
|
|
132
|
+
"orientation",
|
|
133
|
+
"value"
|
|
134
|
+
]);
|
|
135
|
+
const api = useAccordion(useAccordionProps);
|
|
136
|
+
const mergedProps = mergeProps$2(() => api().getRootProps(), localProps);
|
|
137
|
+
return createComponent(AccordionProvider, {
|
|
138
|
+
value: api,
|
|
139
|
+
get children() {
|
|
140
|
+
return createComponent(RenderStrategyProvider, {
|
|
141
|
+
value: renderStrategyProps,
|
|
142
|
+
get children() {
|
|
143
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
//#endregion
|
|
151
|
+
//#region src/components/accordion/accordion-root-provider.tsx
|
|
152
|
+
const AccordionRootProvider = (props) => {
|
|
153
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
154
|
+
const [{ value: accordion$1 }, localProps] = createSplitProps()(accordionProps, ["value"]);
|
|
155
|
+
const mergedProps = mergeProps$2(() => accordion$1().getRootProps(), localProps);
|
|
156
|
+
return createComponent(AccordionProvider, {
|
|
157
|
+
value: accordion$1,
|
|
158
|
+
get children() {
|
|
159
|
+
return createComponent(RenderStrategyProvider, {
|
|
160
|
+
value: renderStrategyProps,
|
|
161
|
+
get children() {
|
|
162
|
+
return createComponent(sprawlify.div, mergedProps);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
//#endregion
|
|
170
|
+
//#region src/components/accordion/accordion.ts
|
|
171
|
+
var accordion_exports = /* @__PURE__ */ __export({
|
|
172
|
+
Context: () => AccordionContext,
|
|
173
|
+
Item: () => AccordionItem,
|
|
174
|
+
ItemContent: () => AccordionItemContent,
|
|
175
|
+
ItemContext: () => AccordionItemContext,
|
|
176
|
+
ItemIndicator: () => AccordionItemIndicator,
|
|
177
|
+
ItemTrigger: () => AccordionItemTrigger,
|
|
178
|
+
Root: () => AccordionRoot,
|
|
179
|
+
RootProvider: () => AccordionRootProvider
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
//#endregion
|
|
183
|
+
export { accordion_exports as Accordion, AccordionContext, AccordionItem, AccordionItemContent, AccordionItemContext, AccordionItemIndicator, AccordionItemTrigger, AccordionRoot, AccordionRootProvider, accordionAnatomy, useAccordion, useAccordionContext, useAccordionItemContext };
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { t as __export } from "../../chunk-C4aQI7lE.jsx";
|
|
2
|
+
import { a as useMachine, i as mergeProps$1, r as normalizeProps, t as runIfFn } from "../../run-if-fn-DRWB51JE.jsx";
|
|
3
|
+
import { t as createContext$1 } from "../../create-context-h3cXiEld.jsx";
|
|
4
|
+
import { i as useLocaleContext, o as useEnvironmentContext } from "../../providers-CHqGPEsc.jsx";
|
|
5
|
+
import { n as sprawlify, t as createSplitProps } from "../../create-split-props-CQVsvhvg.jsx";
|
|
6
|
+
import { n as splitRenderStrategyProps, r as useRenderStrategyContext, t as RenderStrategyProvider } from "../../render-strategy-CZDG_yDi.jsx";
|
|
7
|
+
import { t as collapsible_exports, u as useCollapsibleContext } from "../../collapsible-CjuC6xYl.jsx";
|
|
8
|
+
import { createMemo, createUniqueId, splitProps } from "solid-js";
|
|
9
|
+
import * as accordion from "@sprawlify/primitives/machines/accordion";
|
|
10
|
+
import { anatomy as accordionAnatomy } from "@sprawlify/primitives/machines/accordion";
|
|
11
|
+
|
|
12
|
+
//#region src/components/accordion/use-accordion-context.ts
|
|
13
|
+
const [AccordionProvider, useAccordionContext] = createContext$1({
|
|
14
|
+
hookName: "useAccordionContext",
|
|
15
|
+
providerName: "<AccordionProvider />"
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/accordion/accordion-context.tsx
|
|
20
|
+
const AccordionContext = (props) => props.children(useAccordionContext());
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/components/accordion/use-accordion-item-context.ts
|
|
24
|
+
const [AccordionItemProvider, useAccordionItemContext] = createContext$1({
|
|
25
|
+
hookName: "useAccordionItemContext",
|
|
26
|
+
providerName: "<AccordionItemProvider />"
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/accordion/use-accordion-item-props-context.ts
|
|
31
|
+
const [AccordionItemPropsProvider, useAccordionItemPropsContext] = createContext$1({
|
|
32
|
+
hookName: "useAccordionItemPropsContext",
|
|
33
|
+
providerName: "<AccordionItemPropsProvider />"
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/accordion/accordion-item.tsx
|
|
38
|
+
const AccordionItem = (props) => {
|
|
39
|
+
const [itemProps, localProps] = createSplitProps()(props, ["value", "disabled"]);
|
|
40
|
+
const accordion$1 = useAccordionContext();
|
|
41
|
+
const renderStrategyProps = useRenderStrategyContext();
|
|
42
|
+
const mergedProps = mergeProps$1(() => accordion$1().getItemProps(itemProps), localProps);
|
|
43
|
+
const itemState = createMemo(() => accordion$1().getItemState(itemProps));
|
|
44
|
+
const itemContentProps = accordion$1().getItemContentProps(itemProps);
|
|
45
|
+
return <AccordionItemPropsProvider value={itemProps}>
|
|
46
|
+
<AccordionItemProvider value={itemState}>
|
|
47
|
+
<collapsible_exports.Root open={itemState().expanded} ids={{ content: itemContentProps.id }} {...renderStrategyProps} {...mergedProps} />
|
|
48
|
+
</AccordionItemProvider>
|
|
49
|
+
</AccordionItemPropsProvider>;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/components/accordion/accordion-item-content.tsx
|
|
54
|
+
const splitVisibilityProps = createSplitProps();
|
|
55
|
+
const AccordionItemContent = (props) => {
|
|
56
|
+
const accordion$1 = useAccordionContext();
|
|
57
|
+
const itemProps = useAccordionItemPropsContext();
|
|
58
|
+
const itemContentProps = createMemo(() => {
|
|
59
|
+
const [, ownProps] = splitVisibilityProps(accordion$1().getItemContentProps(itemProps), ["hidden", "data-state"]);
|
|
60
|
+
return ownProps;
|
|
61
|
+
});
|
|
62
|
+
const mergedProps = mergeProps$1(() => itemContentProps(), props);
|
|
63
|
+
return <collapsible_exports.Content {...mergedProps} />;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/components/accordion/accordion-item-context.tsx
|
|
68
|
+
const AccordionItemContext = (props) => props.children(useAccordionItemContext());
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/components/accordion/accordion-item-indicator.tsx
|
|
72
|
+
const AccordionItemIndicator = (props) => {
|
|
73
|
+
const accordion$1 = useAccordionContext();
|
|
74
|
+
const itemProps = useAccordionItemPropsContext();
|
|
75
|
+
const mergedProps = mergeProps$1(() => accordion$1().getItemIndicatorProps(itemProps), props);
|
|
76
|
+
return <sprawlify.div {...mergedProps} />;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/components/accordion/accordion-item-trigger.tsx
|
|
81
|
+
const AccordionItemTrigger = (props) => {
|
|
82
|
+
const accordion$1 = useAccordionContext();
|
|
83
|
+
const itemProps = useAccordionItemPropsContext();
|
|
84
|
+
const collapsible = useCollapsibleContext();
|
|
85
|
+
const [ariaControls, buttonProps] = splitProps(mergeProps$1(() => accordion$1().getItemTriggerProps(itemProps), props), ["aria-controls"]);
|
|
86
|
+
return <sprawlify.button {...buttonProps} {...!collapsible().unmounted && ariaControls} />;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region src/components/accordion/use-accordion.ts
|
|
91
|
+
const useAccordion = (props) => {
|
|
92
|
+
const id = createUniqueId();
|
|
93
|
+
const locale = useLocaleContext();
|
|
94
|
+
const environment = useEnvironmentContext();
|
|
95
|
+
const machineProps = createMemo(() => ({
|
|
96
|
+
id,
|
|
97
|
+
dir: locale().dir,
|
|
98
|
+
getRootNode: environment().getRootNode,
|
|
99
|
+
...runIfFn(props)
|
|
100
|
+
}));
|
|
101
|
+
const service = useMachine(accordion.machine, machineProps);
|
|
102
|
+
return createMemo(() => accordion.connect(service, normalizeProps));
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/components/accordion/accordion-root.tsx
|
|
107
|
+
const AccordionRoot = (props) => {
|
|
108
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
109
|
+
const [useAccordionProps, localProps] = createSplitProps()(accordionProps, [
|
|
110
|
+
"collapsible",
|
|
111
|
+
"defaultValue",
|
|
112
|
+
"disabled",
|
|
113
|
+
"id",
|
|
114
|
+
"ids",
|
|
115
|
+
"multiple",
|
|
116
|
+
"onFocusChange",
|
|
117
|
+
"onValueChange",
|
|
118
|
+
"orientation",
|
|
119
|
+
"value"
|
|
120
|
+
]);
|
|
121
|
+
const api = useAccordion(useAccordionProps);
|
|
122
|
+
const mergedProps = mergeProps$1(() => api().getRootProps(), localProps);
|
|
123
|
+
return <AccordionProvider value={api}>
|
|
124
|
+
<RenderStrategyProvider value={renderStrategyProps}>
|
|
125
|
+
<sprawlify.div {...mergedProps} />
|
|
126
|
+
</RenderStrategyProvider>
|
|
127
|
+
</AccordionProvider>;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region src/components/accordion/accordion-root-provider.tsx
|
|
132
|
+
const AccordionRootProvider = (props) => {
|
|
133
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
134
|
+
const [{ value: accordion$1 }, localProps] = createSplitProps()(accordionProps, ["value"]);
|
|
135
|
+
const mergedProps = mergeProps$1(() => accordion$1().getRootProps(), localProps);
|
|
136
|
+
return <AccordionProvider value={accordion$1}>
|
|
137
|
+
<RenderStrategyProvider value={renderStrategyProps}>
|
|
138
|
+
<sprawlify.div {...mergedProps} />
|
|
139
|
+
</RenderStrategyProvider>
|
|
140
|
+
</AccordionProvider>;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
//#endregion
|
|
144
|
+
//#region src/components/accordion/accordion.ts
|
|
145
|
+
var accordion_exports = /* @__PURE__ */ __export({
|
|
146
|
+
Context: () => AccordionContext,
|
|
147
|
+
Item: () => AccordionItem,
|
|
148
|
+
ItemContent: () => AccordionItemContent,
|
|
149
|
+
ItemContext: () => AccordionItemContext,
|
|
150
|
+
ItemIndicator: () => AccordionItemIndicator,
|
|
151
|
+
ItemTrigger: () => AccordionItemTrigger,
|
|
152
|
+
Root: () => AccordionRoot,
|
|
153
|
+
RootProvider: () => AccordionRootProvider
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
//#endregion
|
|
157
|
+
export { accordion_exports as Accordion, AccordionContext, AccordionItem, AccordionItemContent, AccordionItemContext, AccordionItemIndicator, AccordionItemTrigger, AccordionRoot, AccordionRootProvider, accordionAnatomy, useAccordion, useAccordionContext, useAccordionItemContext };
|