@sprawlify/react 0.0.3 → 0.0.4
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/collapsible-uHsTDy9p.mjs +149 -0
- package/dist/collapsible-ztcYulwp.cjs +208 -0
- package/dist/components/accordion/index.cjs +226 -0
- package/dist/components/accordion/index.d.cts +67 -0
- package/dist/components/accordion/index.d.mts +67 -0
- package/dist/components/accordion/index.mjs +204 -0
- package/dist/components/collapsible/index.cjs +11 -154
- package/dist/components/collapsible/index.d.cts +9 -16
- package/dist/components/collapsible/index.d.mts +8 -13
- package/dist/components/collapsible/index.mjs +3 -147
- package/dist/{types-B_h5HVp2.d.cts → factory-B3Fr36su.d.cts} +13 -13
- package/dist/{types-CwELsIN6.d.mts → factory-BV5hc6hz.d.mts} +13 -13
- package/dist/{factory-B_Ye-J6y.mjs → factory-BvslhNMh.mjs} +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -3
- package/dist/render-strategy-BfNJW1Xz.d.mts +9 -0
- package/dist/render-strategy-CErLP5e-.d.cts +8 -0
- package/dist/utils/index.d.cts +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.mjs +2 -2
- package/package.json +12 -2
- /package/dist/{chunk-CbegLjfk.mjs → chunk-Be3lCSWa.mjs} +0 -0
- /package/dist/{create-context-fSIoyq0R.mjs → create-context-C0L0yhLQ.mjs} +0 -0
- /package/dist/{index-BbLlW5Mk.d.cts → index-Bk-VrHD9.d.cts} +0 -0
- /package/dist/{index-CgR7RZbW.d.mts → index-lntzaDM3.d.mts} +0 -0
- /package/dist/{utils-CM4cOr5z.mjs → utils-Q0vUJnHt.mjs} +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { t as __export } from "./chunk-Be3lCSWa.mjs";
|
|
2
|
+
import { c as useEnvironmentContext, d as normalizeProps, f as useMachine, l as mergeProps, n as sprawlify, o as useLocaleContext } from "./factory-BvslhNMh.mjs";
|
|
3
|
+
import { t as createContext$1 } from "./create-context-C0L0yhLQ.mjs";
|
|
4
|
+
import { forwardRef, useId, useRef } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import * as collapsible from "@sprawlify/primitives/machines/collapsible";
|
|
7
|
+
import { anatomy as collapsibleAnatomy } from "@sprawlify/primitives/machines/collapsible";
|
|
8
|
+
|
|
9
|
+
//#region src/components/collapsible/use-collapsible-context.ts
|
|
10
|
+
const [CollapsibleProvider, useCollapsibleContext] = createContext$1({
|
|
11
|
+
name: "CollapsibleContext",
|
|
12
|
+
hookName: "useCollapsibleContext",
|
|
13
|
+
providerName: "<CollapsibleProvider />"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/components/collapsible/collapsible-content.tsx
|
|
18
|
+
const CollapsibleContent = forwardRef((props, ref) => {
|
|
19
|
+
const collapsible$1 = useCollapsibleContext();
|
|
20
|
+
if (collapsible$1.isUnmounted) return null;
|
|
21
|
+
const mergedProps = mergeProps(collapsible$1.getContentProps(), props);
|
|
22
|
+
return /* @__PURE__ */ jsx(sprawlify.div, {
|
|
23
|
+
...mergedProps,
|
|
24
|
+
ref
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
CollapsibleContent.displayName = "CollapsibleContent";
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/collapsible/collapsible-context.tsx
|
|
31
|
+
const CollapsibleContext = (props) => props.children(useCollapsibleContext());
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/collapsible/collapsible-indicator.tsx
|
|
35
|
+
const CollapsibleIndicator = forwardRef((props, ref) => {
|
|
36
|
+
const mergedProps = mergeProps(useCollapsibleContext().getIndicatorProps(), props);
|
|
37
|
+
return /* @__PURE__ */ jsx(sprawlify.div, {
|
|
38
|
+
...mergedProps,
|
|
39
|
+
ref
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
CollapsibleIndicator.displayName = "CollapsibleIndicator";
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/utils/create-split-props.ts
|
|
46
|
+
const createSplitProps = () => (props, keys) => keys.reduce((previousValue, currentValue) => {
|
|
47
|
+
const [target, source] = previousValue;
|
|
48
|
+
const key = currentValue;
|
|
49
|
+
if (source[key] !== void 0) target[key] = source[key];
|
|
50
|
+
delete source[key];
|
|
51
|
+
return [target, source];
|
|
52
|
+
}, [{}, { ...props }]);
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/components/collapsible/split-collapsible-props.ts
|
|
56
|
+
const splitCollapsibleProps = (props) => createSplitProps()(props, [
|
|
57
|
+
"collapsedHeight",
|
|
58
|
+
"collapsedWidth",
|
|
59
|
+
"defaultOpen",
|
|
60
|
+
"disabled",
|
|
61
|
+
"id",
|
|
62
|
+
"ids",
|
|
63
|
+
"lazyMount",
|
|
64
|
+
"onExitComplete",
|
|
65
|
+
"onOpenChange",
|
|
66
|
+
"open",
|
|
67
|
+
"unmountOnExit"
|
|
68
|
+
]);
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/components/collapsible/use-collapsible.ts
|
|
72
|
+
const useCollapsible = (props = {}) => {
|
|
73
|
+
const { lazyMount, unmountOnExit, ...collapsibleProps } = props;
|
|
74
|
+
const id = useId();
|
|
75
|
+
const wasVisible = useRef(false);
|
|
76
|
+
const { dir } = useLocaleContext();
|
|
77
|
+
const { getRootNode } = useEnvironmentContext();
|
|
78
|
+
const machineProps = {
|
|
79
|
+
id,
|
|
80
|
+
dir,
|
|
81
|
+
getRootNode,
|
|
82
|
+
...collapsibleProps
|
|
83
|
+
};
|
|
84
|
+
const service = useMachine(collapsible.machine, machineProps);
|
|
85
|
+
const api = collapsible.connect(service, normalizeProps);
|
|
86
|
+
if (api.visible) wasVisible.current = true;
|
|
87
|
+
const isUnmounted = !api.visible && !wasVisible.current && lazyMount || unmountOnExit && !api.visible && wasVisible.current;
|
|
88
|
+
return {
|
|
89
|
+
...api,
|
|
90
|
+
isUnmounted
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/components/collapsible/collapsible-root.tsx
|
|
96
|
+
const CollapsibleRoot = forwardRef((props, ref) => {
|
|
97
|
+
const [useCollapsibleProps, localProps] = splitCollapsibleProps(props);
|
|
98
|
+
const collapsible$1 = useCollapsible(useCollapsibleProps);
|
|
99
|
+
const mergedProps = mergeProps(collapsible$1.getRootProps(), localProps);
|
|
100
|
+
return /* @__PURE__ */ jsx(CollapsibleProvider, {
|
|
101
|
+
value: collapsible$1,
|
|
102
|
+
children: /* @__PURE__ */ jsx(sprawlify.div, {
|
|
103
|
+
...mergedProps,
|
|
104
|
+
ref
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
CollapsibleRoot.displayName = "CollapsibleRoot";
|
|
109
|
+
|
|
110
|
+
//#endregion
|
|
111
|
+
//#region src/components/collapsible/collapsible-root-provider.tsx
|
|
112
|
+
const splitRootProviderProps = createSplitProps();
|
|
113
|
+
const CollapsibleRootProvider = forwardRef((props, ref) => {
|
|
114
|
+
const [{ value: collapsible$1 }, localProps] = splitRootProviderProps(props, ["value"]);
|
|
115
|
+
const mergedProps = mergeProps(collapsible$1.getRootProps(), localProps);
|
|
116
|
+
return /* @__PURE__ */ jsx(CollapsibleProvider, {
|
|
117
|
+
value: collapsible$1,
|
|
118
|
+
children: /* @__PURE__ */ jsx(sprawlify.div, {
|
|
119
|
+
...mergedProps,
|
|
120
|
+
ref
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
CollapsibleRootProvider.displayName = "CollapsibleRootProvider";
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/components/collapsible/collapsible-trigger.tsx
|
|
128
|
+
const CollapsibleTrigger = forwardRef((props, ref) => {
|
|
129
|
+
const mergedProps = mergeProps(useCollapsibleContext().getTriggerProps(), props);
|
|
130
|
+
return /* @__PURE__ */ jsx(sprawlify.button, {
|
|
131
|
+
...mergedProps,
|
|
132
|
+
ref
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/components/collapsible/collapsible.ts
|
|
139
|
+
var collapsible_exports = /* @__PURE__ */ __export({
|
|
140
|
+
Content: () => CollapsibleContent,
|
|
141
|
+
Context: () => CollapsibleContext,
|
|
142
|
+
Indicator: () => CollapsibleIndicator,
|
|
143
|
+
Root: () => CollapsibleRoot,
|
|
144
|
+
RootProvider: () => CollapsibleRootProvider,
|
|
145
|
+
Trigger: () => CollapsibleTrigger
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
//#endregion
|
|
149
|
+
export { CollapsibleRoot as a, CollapsibleIndicator as c, useCollapsibleContext as d, CollapsibleRootProvider as i, CollapsibleContext as l, collapsibleAnatomy as n, useCollapsible as o, CollapsibleTrigger as r, createSplitProps as s, collapsible_exports as t, CollapsibleContent as u };
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
const require_factory = require('./factory-CfqPG186.cjs');
|
|
2
|
+
const require_create_context = require('./create-context-DCEySQ7J.cjs');
|
|
3
|
+
let react = require("react");
|
|
4
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
|
+
let __sprawlify_primitives_machines_collapsible = require("@sprawlify/primitives/machines/collapsible");
|
|
6
|
+
__sprawlify_primitives_machines_collapsible = require_factory.__toESM(__sprawlify_primitives_machines_collapsible);
|
|
7
|
+
let __sprawlify_primitives_core = require("@sprawlify/primitives/core");
|
|
8
|
+
|
|
9
|
+
//#region src/components/collapsible/use-collapsible-context.ts
|
|
10
|
+
const [CollapsibleProvider, useCollapsibleContext] = require_create_context.createContext({
|
|
11
|
+
name: "CollapsibleContext",
|
|
12
|
+
hookName: "useCollapsibleContext",
|
|
13
|
+
providerName: "<CollapsibleProvider />"
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/components/collapsible/collapsible-content.tsx
|
|
18
|
+
const CollapsibleContent = (0, react.forwardRef)((props, ref) => {
|
|
19
|
+
const collapsible = useCollapsibleContext();
|
|
20
|
+
if (collapsible.isUnmounted) return null;
|
|
21
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(collapsible.getContentProps(), props);
|
|
22
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
23
|
+
...mergedProps,
|
|
24
|
+
ref
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
CollapsibleContent.displayName = "CollapsibleContent";
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/collapsible/collapsible-context.tsx
|
|
31
|
+
const CollapsibleContext = (props) => props.children(useCollapsibleContext());
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/collapsible/collapsible-indicator.tsx
|
|
35
|
+
const CollapsibleIndicator = (0, react.forwardRef)((props, ref) => {
|
|
36
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useCollapsibleContext().getIndicatorProps(), props);
|
|
37
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
38
|
+
...mergedProps,
|
|
39
|
+
ref
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
CollapsibleIndicator.displayName = "CollapsibleIndicator";
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/utils/create-split-props.ts
|
|
46
|
+
const createSplitProps = () => (props, keys) => keys.reduce((previousValue, currentValue) => {
|
|
47
|
+
const [target, source] = previousValue;
|
|
48
|
+
const key = currentValue;
|
|
49
|
+
if (source[key] !== void 0) target[key] = source[key];
|
|
50
|
+
delete source[key];
|
|
51
|
+
return [target, source];
|
|
52
|
+
}, [{}, { ...props }]);
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/components/collapsible/split-collapsible-props.ts
|
|
56
|
+
const splitCollapsibleProps = (props) => createSplitProps()(props, [
|
|
57
|
+
"collapsedHeight",
|
|
58
|
+
"collapsedWidth",
|
|
59
|
+
"defaultOpen",
|
|
60
|
+
"disabled",
|
|
61
|
+
"id",
|
|
62
|
+
"ids",
|
|
63
|
+
"lazyMount",
|
|
64
|
+
"onExitComplete",
|
|
65
|
+
"onOpenChange",
|
|
66
|
+
"open",
|
|
67
|
+
"unmountOnExit"
|
|
68
|
+
]);
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/components/collapsible/use-collapsible.ts
|
|
72
|
+
const useCollapsible = (props = {}) => {
|
|
73
|
+
const { lazyMount, unmountOnExit, ...collapsibleProps } = props;
|
|
74
|
+
const id = (0, react.useId)();
|
|
75
|
+
const wasVisible = (0, react.useRef)(false);
|
|
76
|
+
const { dir } = require_factory.useLocaleContext();
|
|
77
|
+
const { getRootNode } = require_factory.useEnvironmentContext();
|
|
78
|
+
const machineProps = {
|
|
79
|
+
id,
|
|
80
|
+
dir,
|
|
81
|
+
getRootNode,
|
|
82
|
+
...collapsibleProps
|
|
83
|
+
};
|
|
84
|
+
const service = require_factory.useMachine(__sprawlify_primitives_machines_collapsible.machine, machineProps);
|
|
85
|
+
const api = __sprawlify_primitives_machines_collapsible.connect(service, require_factory.normalizeProps);
|
|
86
|
+
if (api.visible) wasVisible.current = true;
|
|
87
|
+
const isUnmounted = !api.visible && !wasVisible.current && lazyMount || unmountOnExit && !api.visible && wasVisible.current;
|
|
88
|
+
return {
|
|
89
|
+
...api,
|
|
90
|
+
isUnmounted
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/components/collapsible/collapsible-root.tsx
|
|
96
|
+
const CollapsibleRoot = (0, react.forwardRef)((props, ref) => {
|
|
97
|
+
const [useCollapsibleProps, localProps] = splitCollapsibleProps(props);
|
|
98
|
+
const collapsible = useCollapsible(useCollapsibleProps);
|
|
99
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(collapsible.getRootProps(), localProps);
|
|
100
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollapsibleProvider, {
|
|
101
|
+
value: collapsible,
|
|
102
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
103
|
+
...mergedProps,
|
|
104
|
+
ref
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
CollapsibleRoot.displayName = "CollapsibleRoot";
|
|
109
|
+
|
|
110
|
+
//#endregion
|
|
111
|
+
//#region src/components/collapsible/collapsible-root-provider.tsx
|
|
112
|
+
const splitRootProviderProps = createSplitProps();
|
|
113
|
+
const CollapsibleRootProvider = (0, react.forwardRef)((props, ref) => {
|
|
114
|
+
const [{ value: collapsible }, localProps] = splitRootProviderProps(props, ["value"]);
|
|
115
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(collapsible.getRootProps(), localProps);
|
|
116
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollapsibleProvider, {
|
|
117
|
+
value: collapsible,
|
|
118
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
119
|
+
...mergedProps,
|
|
120
|
+
ref
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
CollapsibleRootProvider.displayName = "CollapsibleRootProvider";
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/components/collapsible/collapsible-trigger.tsx
|
|
128
|
+
const CollapsibleTrigger = (0, react.forwardRef)((props, ref) => {
|
|
129
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(useCollapsibleContext().getTriggerProps(), props);
|
|
130
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.button, {
|
|
131
|
+
...mergedProps,
|
|
132
|
+
ref
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/components/collapsible/collapsible.ts
|
|
139
|
+
var collapsible_exports = /* @__PURE__ */ require_factory.__export({
|
|
140
|
+
Content: () => CollapsibleContent,
|
|
141
|
+
Context: () => CollapsibleContext,
|
|
142
|
+
Indicator: () => CollapsibleIndicator,
|
|
143
|
+
Root: () => CollapsibleRoot,
|
|
144
|
+
RootProvider: () => CollapsibleRootProvider,
|
|
145
|
+
Trigger: () => CollapsibleTrigger
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
//#endregion
|
|
149
|
+
Object.defineProperty(exports, 'CollapsibleContent', {
|
|
150
|
+
enumerable: true,
|
|
151
|
+
get: function () {
|
|
152
|
+
return CollapsibleContent;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
Object.defineProperty(exports, 'CollapsibleContext', {
|
|
156
|
+
enumerable: true,
|
|
157
|
+
get: function () {
|
|
158
|
+
return CollapsibleContext;
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
Object.defineProperty(exports, 'CollapsibleIndicator', {
|
|
162
|
+
enumerable: true,
|
|
163
|
+
get: function () {
|
|
164
|
+
return CollapsibleIndicator;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
Object.defineProperty(exports, 'CollapsibleRoot', {
|
|
168
|
+
enumerable: true,
|
|
169
|
+
get: function () {
|
|
170
|
+
return CollapsibleRoot;
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
Object.defineProperty(exports, 'CollapsibleRootProvider', {
|
|
174
|
+
enumerable: true,
|
|
175
|
+
get: function () {
|
|
176
|
+
return CollapsibleRootProvider;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
Object.defineProperty(exports, 'CollapsibleTrigger', {
|
|
180
|
+
enumerable: true,
|
|
181
|
+
get: function () {
|
|
182
|
+
return CollapsibleTrigger;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
Object.defineProperty(exports, 'collapsible_exports', {
|
|
186
|
+
enumerable: true,
|
|
187
|
+
get: function () {
|
|
188
|
+
return collapsible_exports;
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
Object.defineProperty(exports, 'createSplitProps', {
|
|
192
|
+
enumerable: true,
|
|
193
|
+
get: function () {
|
|
194
|
+
return createSplitProps;
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
Object.defineProperty(exports, 'useCollapsible', {
|
|
198
|
+
enumerable: true,
|
|
199
|
+
get: function () {
|
|
200
|
+
return useCollapsible;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
Object.defineProperty(exports, 'useCollapsibleContext', {
|
|
204
|
+
enumerable: true,
|
|
205
|
+
get: function () {
|
|
206
|
+
return useCollapsibleContext;
|
|
207
|
+
}
|
|
208
|
+
});
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
const require_factory = require('../../factory-CfqPG186.cjs');
|
|
2
|
+
const require_create_context = require('../../create-context-DCEySQ7J.cjs');
|
|
3
|
+
const require_collapsible = require('../../collapsible-ztcYulwp.cjs');
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
let __sprawlify_primitives_machines_accordion = require("@sprawlify/primitives/machines/accordion");
|
|
7
|
+
__sprawlify_primitives_machines_accordion = require_factory.__toESM(__sprawlify_primitives_machines_accordion);
|
|
8
|
+
let __sprawlify_primitives_core = require("@sprawlify/primitives/core");
|
|
9
|
+
|
|
10
|
+
//#region src/components/accordion/use-accordion-context.ts
|
|
11
|
+
const [AccordionProvider, useAccordionContext] = require_create_context.createContext({
|
|
12
|
+
name: "AccordionContext",
|
|
13
|
+
hookName: "useAccordionContext",
|
|
14
|
+
providerName: "<AccordionProvider />"
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/accordion/accordion-context.tsx
|
|
19
|
+
const AccordionContext = (props) => props.children(useAccordionContext());
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/utils/render-strategy.ts
|
|
23
|
+
const [RenderStrategyPropsProvider, useRenderStrategyPropsContext] = require_create_context.createContext({
|
|
24
|
+
name: "RenderStrategyContext",
|
|
25
|
+
hookName: "useRenderStrategyContext",
|
|
26
|
+
providerName: "<RenderStrategyPropsProvider />"
|
|
27
|
+
});
|
|
28
|
+
const splitRenderStrategyProps = (props) => require_collapsible.createSplitProps()(props, ["lazyMount", "unmountOnExit"]);
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/components/accordion/use-accordion-item-context.ts
|
|
32
|
+
const [AccordionItemProvider, useAccordionItemContext] = require_create_context.createContext({
|
|
33
|
+
name: "AccordionItemContext",
|
|
34
|
+
hookName: "useAccordionItemContext",
|
|
35
|
+
providerName: "<AccordionItemProvider />"
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/components/accordion/use-accordion-item-props-context.ts
|
|
40
|
+
const [AccordionItemPropsProvider, useAccordionItemPropsContext] = require_create_context.createContext({
|
|
41
|
+
name: "AccordionItemPropsContext",
|
|
42
|
+
hookName: "useAccordionItemPropsContext",
|
|
43
|
+
providerName: "<AccordionItemPropsProvider />"
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/components/accordion/accordion-item.tsx
|
|
48
|
+
const splitItemProps = require_collapsible.createSplitProps();
|
|
49
|
+
const AccordionItem = (0, react.forwardRef)((props, ref) => {
|
|
50
|
+
const [itemProps, localProps] = splitItemProps(props, ["value", "disabled"]);
|
|
51
|
+
const accordion = useAccordionContext();
|
|
52
|
+
const renderStrategy = useRenderStrategyPropsContext();
|
|
53
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(accordion.getItemProps(itemProps), localProps);
|
|
54
|
+
const item = accordion.getItemState(itemProps);
|
|
55
|
+
const itemContentProps = accordion.getItemContentProps(itemProps);
|
|
56
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccordionItemPropsProvider, {
|
|
57
|
+
value: itemProps,
|
|
58
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccordionItemProvider, {
|
|
59
|
+
value: item,
|
|
60
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_collapsible.CollapsibleRoot, {
|
|
61
|
+
ref,
|
|
62
|
+
open: item.expanded,
|
|
63
|
+
ids: { content: itemContentProps.id },
|
|
64
|
+
...renderStrategy,
|
|
65
|
+
...mergedProps
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
AccordionItem.displayName = "AccordionItem";
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/components/accordion/accordion-item-content.tsx
|
|
74
|
+
const splitVisibilityProps = require_collapsible.createSplitProps();
|
|
75
|
+
const AccordionItemContent = (0, react.forwardRef)((props, ref) => {
|
|
76
|
+
const accordion = useAccordionContext();
|
|
77
|
+
const itemProps = useAccordionItemPropsContext();
|
|
78
|
+
const [, itemContentProps] = splitVisibilityProps(accordion.getItemContentProps(itemProps), ["hidden", "data-state"]);
|
|
79
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(itemContentProps, props);
|
|
80
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_collapsible.CollapsibleContent, {
|
|
81
|
+
ref,
|
|
82
|
+
...mergedProps
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
AccordionItemContent.displayName = "AccordionItemContent";
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/components/accordion/accordion-item-context.tsx
|
|
89
|
+
const AccordionItemContext = (props) => props.children(useAccordionItemContext());
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region src/components/accordion/accordion-item-indicator.tsx
|
|
93
|
+
const AccordionItemIndicator = (0, react.forwardRef)((props, ref) => {
|
|
94
|
+
const accordion = useAccordionContext();
|
|
95
|
+
const itemProps = useAccordionItemPropsContext();
|
|
96
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(accordion.getItemIndicatorProps(itemProps), props);
|
|
97
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
98
|
+
...mergedProps,
|
|
99
|
+
ref
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
AccordionItemIndicator.displayName = "AccordionItemIndicator";
|
|
103
|
+
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/components/accordion/accordion-item-trigger.tsx
|
|
106
|
+
const AccordionItemTrigger = (0, react.forwardRef)((props, ref) => {
|
|
107
|
+
const accordion = useAccordionContext();
|
|
108
|
+
const itemProps = useAccordionItemPropsContext();
|
|
109
|
+
const collapsible = require_collapsible.useCollapsibleContext();
|
|
110
|
+
const triggerProps = accordion.getItemTriggerProps(itemProps);
|
|
111
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)({
|
|
112
|
+
...triggerProps,
|
|
113
|
+
"aria-controls": collapsible.isUnmounted ? void 0 : triggerProps["aria-controls"]
|
|
114
|
+
}, props);
|
|
115
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.button, {
|
|
116
|
+
...mergedProps,
|
|
117
|
+
ref
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
AccordionItemTrigger.displayName = "AccordionItemTrigger";
|
|
121
|
+
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/components/accordion/use-accordion.ts
|
|
124
|
+
const useAccordion = (props) => {
|
|
125
|
+
const id = (0, react.useId)();
|
|
126
|
+
const { getRootNode } = require_factory.useEnvironmentContext();
|
|
127
|
+
const { dir } = require_factory.useLocaleContext();
|
|
128
|
+
const machineProps = {
|
|
129
|
+
id,
|
|
130
|
+
dir,
|
|
131
|
+
getRootNode,
|
|
132
|
+
...props
|
|
133
|
+
};
|
|
134
|
+
const service = require_factory.useMachine(__sprawlify_primitives_machines_accordion.machine, machineProps);
|
|
135
|
+
return __sprawlify_primitives_machines_accordion.connect(service, require_factory.normalizeProps);
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/components/accordion/accordion-root.tsx
|
|
140
|
+
const splitRootProps = require_collapsible.createSplitProps();
|
|
141
|
+
const AccordionRoot = (0, react.forwardRef)((props, ref) => {
|
|
142
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
143
|
+
const [useAccordionProps, localProps] = splitRootProps(accordionProps, [
|
|
144
|
+
"collapsible",
|
|
145
|
+
"defaultValue",
|
|
146
|
+
"disabled",
|
|
147
|
+
"id",
|
|
148
|
+
"ids",
|
|
149
|
+
"multiple",
|
|
150
|
+
"onFocusChange",
|
|
151
|
+
"onValueChange",
|
|
152
|
+
"orientation",
|
|
153
|
+
"value"
|
|
154
|
+
]);
|
|
155
|
+
const accordion = useAccordion(useAccordionProps);
|
|
156
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(accordion.getRootProps(), localProps);
|
|
157
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccordionProvider, {
|
|
158
|
+
value: accordion,
|
|
159
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStrategyPropsProvider, {
|
|
160
|
+
value: renderStrategyProps,
|
|
161
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
162
|
+
...mergedProps,
|
|
163
|
+
ref
|
|
164
|
+
})
|
|
165
|
+
})
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
AccordionRoot.displayName = "AccordionRoot";
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/components/accordion/accordion-root-provider.tsx
|
|
172
|
+
const splitRootProviderProps = require_collapsible.createSplitProps();
|
|
173
|
+
const AccordionRootProvider = (0, react.forwardRef)((props, ref) => {
|
|
174
|
+
const [renderStrategyProps, accordionProps] = splitRenderStrategyProps(props);
|
|
175
|
+
const [{ value: accordion }, localProps] = splitRootProviderProps(accordionProps, ["value"]);
|
|
176
|
+
const mergedProps = (0, __sprawlify_primitives_core.mergeProps)(accordion.getRootProps(), localProps);
|
|
177
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccordionProvider, {
|
|
178
|
+
value: accordion,
|
|
179
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStrategyPropsProvider, {
|
|
180
|
+
value: renderStrategyProps,
|
|
181
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.sprawlify.div, {
|
|
182
|
+
...mergedProps,
|
|
183
|
+
ref
|
|
184
|
+
})
|
|
185
|
+
})
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
AccordionRootProvider.displayName = "AccordionRootProvider";
|
|
189
|
+
|
|
190
|
+
//#endregion
|
|
191
|
+
//#region src/components/accordion/accordion.ts
|
|
192
|
+
var accordion_exports = /* @__PURE__ */ require_factory.__export({
|
|
193
|
+
Context: () => AccordionContext,
|
|
194
|
+
Item: () => AccordionItem,
|
|
195
|
+
ItemContent: () => AccordionItemContent,
|
|
196
|
+
ItemContext: () => AccordionItemContext,
|
|
197
|
+
ItemIndicator: () => AccordionItemIndicator,
|
|
198
|
+
ItemTrigger: () => AccordionItemTrigger,
|
|
199
|
+
Root: () => AccordionRoot,
|
|
200
|
+
RootProvider: () => AccordionRootProvider
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
//#endregion
|
|
204
|
+
Object.defineProperty(exports, 'Accordion', {
|
|
205
|
+
enumerable: true,
|
|
206
|
+
get: function () {
|
|
207
|
+
return accordion_exports;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
exports.AccordionContext = AccordionContext;
|
|
211
|
+
exports.AccordionItem = AccordionItem;
|
|
212
|
+
exports.AccordionItemContent = AccordionItemContent;
|
|
213
|
+
exports.AccordionItemContext = AccordionItemContext;
|
|
214
|
+
exports.AccordionItemIndicator = AccordionItemIndicator;
|
|
215
|
+
exports.AccordionItemTrigger = AccordionItemTrigger;
|
|
216
|
+
exports.AccordionRoot = AccordionRoot;
|
|
217
|
+
exports.AccordionRootProvider = AccordionRootProvider;
|
|
218
|
+
Object.defineProperty(exports, 'accordionAnatomy', {
|
|
219
|
+
enumerable: true,
|
|
220
|
+
get: function () {
|
|
221
|
+
return __sprawlify_primitives_machines_accordion.anatomy;
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
exports.useAccordion = useAccordion;
|
|
225
|
+
exports.useAccordionContext = useAccordionContext;
|
|
226
|
+
exports.useAccordionItemContext = useAccordionItemContext;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { n as __export, t as RenderStrategyProps } from "../../render-strategy-CErLP5e-.cjs";
|
|
2
|
+
import { c as PropTypes, o as Assign, r as PolymorphicProps, s as Optional, t as HTMLProps } from "../../factory-B3Fr36su.cjs";
|
|
3
|
+
import * as accordion from "@sprawlify/primitives/machines/accordion";
|
|
4
|
+
import { FocusChangeDetails, FocusChangeDetails as AccordionFocusChangeDetails, ItemProps, ItemState, ValueChangeDetails, ValueChangeDetails as AccordionValueChangeDetails, anatomy as accordionAnatomy } from "@sprawlify/primitives/machines/accordion";
|
|
5
|
+
import * as react10 from "react";
|
|
6
|
+
import { ReactNode } from "react";
|
|
7
|
+
|
|
8
|
+
//#region src/components/accordion/use-accordion.d.ts
|
|
9
|
+
interface UseAccordionProps extends Optional<Omit<accordion.Props, "dir" | "getRootNode">, "id"> {}
|
|
10
|
+
interface UseAccordionReturn extends accordion.Api<PropTypes> {}
|
|
11
|
+
declare const useAccordion: (props?: UseAccordionProps) => UseAccordionReturn;
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/components/accordion/use-accordion-context.d.ts
|
|
14
|
+
interface UseAccordionContext extends UseAccordionReturn {}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/components/accordion/accordion-context.d.ts
|
|
17
|
+
interface AccordionContextProps {
|
|
18
|
+
children: (context: UseAccordionContext) => ReactNode;
|
|
19
|
+
}
|
|
20
|
+
declare const AccordionContext: (props: AccordionContextProps) => ReactNode;
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/components/accordion/accordion-item.d.ts
|
|
23
|
+
interface AccordionItemBaseProps extends ItemProps, PolymorphicProps {}
|
|
24
|
+
interface AccordionItemProps extends HTMLProps<"div">, AccordionItemBaseProps {}
|
|
25
|
+
declare const AccordionItem: react10.ForwardRefExoticComponent<AccordionItemProps & react10.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/components/accordion/accordion-item-content.d.ts
|
|
28
|
+
interface AccordionItemContentBaseProps extends PolymorphicProps {}
|
|
29
|
+
interface AccordionItemContentProps extends HTMLProps<"div">, AccordionItemContentBaseProps {}
|
|
30
|
+
declare const AccordionItemContent: react10.ForwardRefExoticComponent<AccordionItemContentProps & react10.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/components/accordion/use-accordion-item-context.d.ts
|
|
33
|
+
interface UseAccordionItemContext extends ItemState {}
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/components/accordion/accordion-item-context.d.ts
|
|
36
|
+
interface AccordionItemContextProps {
|
|
37
|
+
children: (context: UseAccordionItemContext) => ReactNode;
|
|
38
|
+
}
|
|
39
|
+
declare const AccordionItemContext: (props: AccordionItemContextProps) => ReactNode;
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/components/accordion/accordion-item-indicator.d.ts
|
|
42
|
+
interface AccordionItemIndicatorBaseProps extends PolymorphicProps {}
|
|
43
|
+
interface AccordionItemIndicatorProps extends HTMLProps<"div">, AccordionItemIndicatorBaseProps {}
|
|
44
|
+
declare const AccordionItemIndicator: react10.ForwardRefExoticComponent<AccordionItemIndicatorProps & react10.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/components/accordion/accordion-item-trigger.d.ts
|
|
47
|
+
interface AccordionItemTriggerBaseProps extends PolymorphicProps {}
|
|
48
|
+
interface AccordionItemTriggerProps extends HTMLProps<"button">, AccordionItemTriggerBaseProps {}
|
|
49
|
+
declare const AccordionItemTrigger: react10.ForwardRefExoticComponent<AccordionItemTriggerProps & react10.RefAttributes<HTMLButtonElement>>;
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/components/accordion/accordion-root.d.ts
|
|
52
|
+
interface AccordionRootBaseProps extends UseAccordionProps, RenderStrategyProps, PolymorphicProps {}
|
|
53
|
+
interface AccordionRootProps extends Assign<HTMLProps<"div">, AccordionRootBaseProps> {}
|
|
54
|
+
declare const AccordionRoot: react10.ForwardRefExoticComponent<AccordionRootProps & react10.RefAttributes<HTMLDivElement>>;
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/components/accordion/accordion-root-provider.d.ts
|
|
57
|
+
interface RootProviderProps {
|
|
58
|
+
value: UseAccordionReturn;
|
|
59
|
+
}
|
|
60
|
+
interface AccordionRootProviderBaseProps extends RootProviderProps, RenderStrategyProps, PolymorphicProps {}
|
|
61
|
+
interface AccordionRootProviderProps extends HTMLProps<"div">, AccordionRootProviderBaseProps {}
|
|
62
|
+
declare const AccordionRootProvider: react10.ForwardRefExoticComponent<AccordionRootProviderProps & react10.RefAttributes<HTMLDivElement>>;
|
|
63
|
+
declare namespace accordion_d_exports {
|
|
64
|
+
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 };
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
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 };
|