@sprawlify/react 0.0.2 → 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.
Files changed (32) hide show
  1. package/dist/chunk-Be3lCSWa.mjs +18 -0
  2. package/dist/collapsible-uHsTDy9p.mjs +149 -0
  3. package/dist/collapsible-ztcYulwp.cjs +208 -0
  4. package/dist/components/accordion/index.cjs +226 -0
  5. package/dist/components/accordion/index.d.cts +67 -0
  6. package/dist/components/accordion/index.d.mts +67 -0
  7. package/dist/components/accordion/index.mjs +204 -0
  8. package/dist/components/collapsible/index.cjs +25 -0
  9. package/dist/components/collapsible/index.d.cts +55 -0
  10. package/dist/components/collapsible/index.d.mts +55 -0
  11. package/dist/components/collapsible/index.mjs +5 -0
  12. package/dist/{utils-CVmRc1p7.mjs → create-context-C0L0yhLQ.mjs} +1 -2
  13. package/dist/{utils-DQoI5AQQ.cjs → create-context-DCEySQ7J.cjs} +1 -2
  14. package/dist/factory-B3Fr36su.d.cts +29 -0
  15. package/dist/factory-BV5hc6hz.d.mts +41 -0
  16. package/dist/factory-BvslhNMh.mjs +499 -0
  17. package/dist/factory-CfqPG186.cjs +616 -0
  18. package/dist/index.cjs +15 -536
  19. package/dist/index.d.cts +3 -28
  20. package/dist/index.d.mts +3 -40
  21. package/dist/index.mjs +3 -497
  22. package/dist/render-strategy-BfNJW1Xz.d.mts +9 -0
  23. package/dist/render-strategy-CErLP5e-.d.cts +8 -0
  24. package/dist/utils/index.cjs +4 -3
  25. package/dist/utils/index.d.cts +1 -1
  26. package/dist/utils/index.d.mts +1 -1
  27. package/dist/utils/index.mjs +2 -1
  28. package/dist/utils-Cb5K29pi.cjs +1 -0
  29. package/dist/utils-Q0vUJnHt.mjs +3 -0
  30. package/package.json +22 -2
  31. /package/dist/{index-D-QxCLG0.d.cts → index-Bk-VrHD9.d.cts} +0 -0
  32. /package/dist/{index-BbV54I7I.d.mts → index-lntzaDM3.d.mts} +0 -0
@@ -0,0 +1,18 @@
1
+ //#region rolldown:runtime
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (all, symbols) => {
4
+ let target = {};
5
+ for (var name in all) {
6
+ __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ }
11
+ if (symbols) {
12
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
13
+ }
14
+ return target;
15
+ };
16
+
17
+ //#endregion
18
+ export { __export as t };
@@ -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 };