@sprawlify/react 0.0.1 → 0.0.3
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-CbegLjfk.mjs +18 -0
- package/dist/components/collapsible/index.cjs +168 -0
- package/dist/components/collapsible/index.d.cts +62 -0
- package/dist/components/collapsible/index.d.mts +60 -0
- package/dist/components/collapsible/index.mjs +149 -0
- package/dist/components/index.cjs +0 -0
- package/dist/components/index.d.cts +1 -0
- package/dist/components/index.d.mts +1 -0
- package/dist/components/index.mjs +1 -0
- package/dist/create-context-DCEySQ7J.cjs +36 -0
- package/dist/create-context-fSIoyq0R.mjs +30 -0
- package/dist/factory-B_Ye-J6y.mjs +499 -0
- package/dist/factory-CfqPG186.cjs +616 -0
- package/dist/index-BbLlW5Mk.d.cts +15 -0
- package/dist/index-CgR7RZbW.d.mts +15 -0
- package/dist/index.cjs +15 -382
- package/dist/index.d.cts +42 -13
- package/dist/index.d.mts +37 -20
- package/dist/index.mjs +4 -348
- package/dist/types-B_h5HVp2.d.cts +29 -0
- package/dist/types-CwELsIN6.d.mts +41 -0
- package/dist/utils/index.cjs +12 -0
- package/dist/utils/index.d.cts +2 -0
- package/dist/utils/index.d.mts +2 -0
- package/dist/utils/index.mjs +4 -0
- package/dist/utils-CM4cOr5z.mjs +3 -0
- package/dist/utils-Cb5K29pi.cjs +1 -0
- package/package.json +12 -2
|
@@ -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,168 @@
|
|
|
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, 'Collapsible', {
|
|
150
|
+
enumerable: true,
|
|
151
|
+
get: function () {
|
|
152
|
+
return collapsible_exports;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
exports.CollapsibleContent = CollapsibleContent;
|
|
156
|
+
exports.CollapsibleContext = CollapsibleContext;
|
|
157
|
+
exports.CollapsibleIndicator = CollapsibleIndicator;
|
|
158
|
+
exports.CollapsibleRoot = CollapsibleRoot;
|
|
159
|
+
exports.CollapsibleRootProvider = CollapsibleRootProvider;
|
|
160
|
+
exports.CollapsibleTrigger = CollapsibleTrigger;
|
|
161
|
+
Object.defineProperty(exports, 'collapsibleAnatomy', {
|
|
162
|
+
enumerable: true,
|
|
163
|
+
get: function () {
|
|
164
|
+
return __sprawlify_primitives_machines_collapsible.anatomy;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
exports.useCollapsible = useCollapsible;
|
|
168
|
+
exports.useCollapsibleContext = useCollapsibleContext;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { a as HTMLProps, n as Optional, r as PropTypes, s as PolymorphicProps } from "../../types-B_h5HVp2.cjs";
|
|
2
|
+
import * as collapsible from "@sprawlify/primitives/machines/collapsible";
|
|
3
|
+
import { OpenChangeDetails, OpenChangeDetails as CollapsibleOpenChangeDetails, anatomy as collapsibleAnatomy } from "@sprawlify/primitives/machines/collapsible";
|
|
4
|
+
import * as react3 from "react";
|
|
5
|
+
import { ReactNode } from "react";
|
|
6
|
+
|
|
7
|
+
//#region rolldown:runtime
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/collapsible/collapsible-content.d.ts
|
|
10
|
+
interface CollapsibleContentBaseProps extends PolymorphicProps {}
|
|
11
|
+
interface CollapsibleContentProps extends HTMLProps<"div">, CollapsibleContentBaseProps {}
|
|
12
|
+
declare const CollapsibleContent: react3.ForwardRefExoticComponent<CollapsibleContentProps & react3.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/utils/render-strategy.d.ts
|
|
15
|
+
interface RenderStrategyProps {
|
|
16
|
+
lazyMount?: boolean | undefined;
|
|
17
|
+
unmountOnExit?: boolean | undefined;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/components/collapsible/use-collapsible.d.ts
|
|
21
|
+
interface UseCollapsibleProps extends Optional<Omit<collapsible.Props, "dir" | "getRootNode">, "id">, RenderStrategyProps {}
|
|
22
|
+
interface UseCollapsibleReturn extends collapsible.Api<PropTypes> {
|
|
23
|
+
isUnmounted?: boolean | undefined;
|
|
24
|
+
}
|
|
25
|
+
declare const useCollapsible: (props?: UseCollapsibleProps) => UseCollapsibleReturn;
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/components/collapsible/use-collapsible-context.d.ts
|
|
28
|
+
interface UseCollapsibleContext extends UseCollapsibleReturn {}
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/collapsible/collapsible-context.d.ts
|
|
31
|
+
interface CollapsibleContextProps {
|
|
32
|
+
children: (context: UseCollapsibleContext) => ReactNode;
|
|
33
|
+
}
|
|
34
|
+
declare const CollapsibleContext: (props: CollapsibleContextProps) => ReactNode;
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/components/collapsible/collapsible-indicator.d.ts
|
|
37
|
+
interface CollapsibleIndicatorBaseProps extends PolymorphicProps {}
|
|
38
|
+
interface CollapsibleIndicatorProps extends HTMLProps<"div">, CollapsibleIndicatorBaseProps {}
|
|
39
|
+
declare const CollapsibleIndicator: react3.ForwardRefExoticComponent<CollapsibleIndicatorProps & react3.RefAttributes<HTMLDivElement>>;
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/components/collapsible/collapsible-root.d.ts
|
|
42
|
+
interface CollapsibleRootBaseProps extends UseCollapsibleProps, PolymorphicProps {}
|
|
43
|
+
interface CollapsibleRootProps extends HTMLProps<"div">, CollapsibleRootBaseProps {}
|
|
44
|
+
declare const CollapsibleRoot: react3.ForwardRefExoticComponent<CollapsibleRootProps & react3.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/components/collapsible/collapsible-root-provider.d.ts
|
|
47
|
+
interface RootProviderProps {
|
|
48
|
+
value: UseCollapsibleReturn;
|
|
49
|
+
}
|
|
50
|
+
interface CollapsibleRootProviderBaseProps extends RootProviderProps, PolymorphicProps {}
|
|
51
|
+
interface CollapsibleRootProviderProps extends HTMLProps<"div">, CollapsibleRootProviderBaseProps {}
|
|
52
|
+
declare const CollapsibleRootProvider: react3.ForwardRefExoticComponent<CollapsibleRootProviderProps & react3.RefAttributes<HTMLDivElement>>;
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/components/collapsible/collapsible-trigger.d.ts
|
|
55
|
+
interface CollapsibleTriggerBaseProps extends PolymorphicProps {}
|
|
56
|
+
interface CollapsibleTriggerProps extends HTMLProps<"button">, CollapsibleTriggerBaseProps {}
|
|
57
|
+
declare const CollapsibleTrigger: react3.ForwardRefExoticComponent<CollapsibleTriggerProps & react3.RefAttributes<HTMLButtonElement>>;
|
|
58
|
+
declare namespace collapsible_d_exports {
|
|
59
|
+
export { CollapsibleContent as Content, CollapsibleContentBaseProps as ContentBaseProps, CollapsibleContentProps as ContentProps, CollapsibleContext as Context, CollapsibleContextProps as ContextProps, CollapsibleIndicator as Indicator, CollapsibleIndicatorBaseProps as IndicatorBaseProps, CollapsibleIndicatorProps as IndicatorProps, OpenChangeDetails, CollapsibleRoot as Root, CollapsibleRootBaseProps as RootBaseProps, CollapsibleRootProps as RootProps, CollapsibleRootProvider as RootProvider, CollapsibleRootProviderBaseProps as RootProviderBaseProps, CollapsibleRootProviderProps as RootProviderProps, CollapsibleTrigger as Trigger, CollapsibleTriggerBaseProps as TriggerBaseProps, CollapsibleTriggerProps as TriggerProps };
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
export { collapsible_d_exports as Collapsible, CollapsibleContent, type CollapsibleContentBaseProps, type CollapsibleContentProps, CollapsibleContext, type CollapsibleContextProps, CollapsibleIndicator, type CollapsibleIndicatorBaseProps, type CollapsibleIndicatorProps, type CollapsibleOpenChangeDetails, CollapsibleRoot, type CollapsibleRootBaseProps, type CollapsibleRootProps, CollapsibleRootProvider, type CollapsibleRootProviderBaseProps, type CollapsibleRootProviderProps, CollapsibleTrigger, type CollapsibleTriggerBaseProps, type CollapsibleTriggerProps, type UseCollapsibleContext, type UseCollapsibleProps, type UseCollapsibleReturn, collapsibleAnatomy, useCollapsible, useCollapsibleContext };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { a as PropTypes, c as HTMLProps, n as Optional, u as PolymorphicProps } from "../../types-CwELsIN6.mjs";
|
|
2
|
+
import * as react0 from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import * as collapsible from "@sprawlify/primitives/machines/collapsible";
|
|
5
|
+
import { OpenChangeDetails, OpenChangeDetails as CollapsibleOpenChangeDetails, anatomy as collapsibleAnatomy } from "@sprawlify/primitives/machines/collapsible";
|
|
6
|
+
|
|
7
|
+
//#region src/components/collapsible/collapsible-content.d.ts
|
|
8
|
+
interface CollapsibleContentBaseProps extends PolymorphicProps {}
|
|
9
|
+
interface CollapsibleContentProps extends HTMLProps<"div">, CollapsibleContentBaseProps {}
|
|
10
|
+
declare const CollapsibleContent: react0.ForwardRefExoticComponent<CollapsibleContentProps & react0.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/utils/render-strategy.d.ts
|
|
13
|
+
interface RenderStrategyProps {
|
|
14
|
+
lazyMount?: boolean | undefined;
|
|
15
|
+
unmountOnExit?: boolean | undefined;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/collapsible/use-collapsible.d.ts
|
|
19
|
+
interface UseCollapsibleProps extends Optional<Omit<collapsible.Props, "dir" | "getRootNode">, "id">, RenderStrategyProps {}
|
|
20
|
+
interface UseCollapsibleReturn extends collapsible.Api<PropTypes> {
|
|
21
|
+
isUnmounted?: boolean | undefined;
|
|
22
|
+
}
|
|
23
|
+
declare const useCollapsible: (props?: UseCollapsibleProps) => UseCollapsibleReturn;
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/components/collapsible/use-collapsible-context.d.ts
|
|
26
|
+
interface UseCollapsibleContext extends UseCollapsibleReturn {}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/components/collapsible/collapsible-context.d.ts
|
|
29
|
+
interface CollapsibleContextProps {
|
|
30
|
+
children: (context: UseCollapsibleContext) => ReactNode;
|
|
31
|
+
}
|
|
32
|
+
declare const CollapsibleContext: (props: CollapsibleContextProps) => ReactNode;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/collapsible/collapsible-indicator.d.ts
|
|
35
|
+
interface CollapsibleIndicatorBaseProps extends PolymorphicProps {}
|
|
36
|
+
interface CollapsibleIndicatorProps extends HTMLProps<"div">, CollapsibleIndicatorBaseProps {}
|
|
37
|
+
declare const CollapsibleIndicator: react0.ForwardRefExoticComponent<CollapsibleIndicatorProps & react0.RefAttributes<HTMLDivElement>>;
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/components/collapsible/collapsible-root.d.ts
|
|
40
|
+
interface CollapsibleRootBaseProps extends UseCollapsibleProps, PolymorphicProps {}
|
|
41
|
+
interface CollapsibleRootProps extends HTMLProps<"div">, CollapsibleRootBaseProps {}
|
|
42
|
+
declare const CollapsibleRoot: react0.ForwardRefExoticComponent<CollapsibleRootProps & react0.RefAttributes<HTMLDivElement>>;
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/components/collapsible/collapsible-root-provider.d.ts
|
|
45
|
+
interface RootProviderProps {
|
|
46
|
+
value: UseCollapsibleReturn;
|
|
47
|
+
}
|
|
48
|
+
interface CollapsibleRootProviderBaseProps extends RootProviderProps, PolymorphicProps {}
|
|
49
|
+
interface CollapsibleRootProviderProps extends HTMLProps<"div">, CollapsibleRootProviderBaseProps {}
|
|
50
|
+
declare const CollapsibleRootProvider: react0.ForwardRefExoticComponent<CollapsibleRootProviderProps & react0.RefAttributes<HTMLDivElement>>;
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/components/collapsible/collapsible-trigger.d.ts
|
|
53
|
+
interface CollapsibleTriggerBaseProps extends PolymorphicProps {}
|
|
54
|
+
interface CollapsibleTriggerProps extends HTMLProps<"button">, CollapsibleTriggerBaseProps {}
|
|
55
|
+
declare const CollapsibleTrigger: react0.ForwardRefExoticComponent<CollapsibleTriggerProps & react0.RefAttributes<HTMLButtonElement>>;
|
|
56
|
+
declare namespace collapsible_d_exports {
|
|
57
|
+
export { CollapsibleContent as Content, CollapsibleContentBaseProps as ContentBaseProps, CollapsibleContentProps as ContentProps, CollapsibleContext as Context, CollapsibleContextProps as ContextProps, CollapsibleIndicator as Indicator, CollapsibleIndicatorBaseProps as IndicatorBaseProps, CollapsibleIndicatorProps as IndicatorProps, OpenChangeDetails, CollapsibleRoot as Root, CollapsibleRootBaseProps as RootBaseProps, CollapsibleRootProps as RootProps, CollapsibleRootProvider as RootProvider, CollapsibleRootProviderBaseProps as RootProviderBaseProps, CollapsibleRootProviderProps as RootProviderProps, CollapsibleTrigger as Trigger, CollapsibleTriggerBaseProps as TriggerBaseProps, CollapsibleTriggerProps as TriggerProps };
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { collapsible_d_exports as Collapsible, CollapsibleContent, type CollapsibleContentBaseProps, type CollapsibleContentProps, CollapsibleContext, type CollapsibleContextProps, CollapsibleIndicator, type CollapsibleIndicatorBaseProps, type CollapsibleIndicatorProps, type CollapsibleOpenChangeDetails, CollapsibleRoot, type CollapsibleRootBaseProps, type CollapsibleRootProps, CollapsibleRootProvider, type CollapsibleRootProviderBaseProps, type CollapsibleRootProviderProps, CollapsibleTrigger, type CollapsibleTriggerBaseProps, type CollapsibleTriggerProps, type UseCollapsibleContext, type UseCollapsibleProps, type UseCollapsibleReturn, collapsibleAnatomy, useCollapsible, useCollapsibleContext };
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { t as __export } from "../../chunk-CbegLjfk.mjs";
|
|
2
|
+
import { c as useEnvironmentContext, d as normalizeProps, f as useMachine, l as mergeProps, n as sprawlify, o as useLocaleContext } from "../../factory-B_Ye-J6y.mjs";
|
|
3
|
+
import { t as createContext$1 } from "../../create-context-fSIoyq0R.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 { collapsible_exports as Collapsible, CollapsibleContent, CollapsibleContext, CollapsibleIndicator, CollapsibleRoot, CollapsibleRootProvider, CollapsibleTrigger, collapsibleAnatomy, useCollapsible, useCollapsibleContext };
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const require_factory = require('./factory-CfqPG186.cjs');
|
|
2
|
+
let __sprawlify_primitives_utils = require("@sprawlify/primitives/utils");
|
|
3
|
+
let react = require("react");
|
|
4
|
+
|
|
5
|
+
//#region src/utils/create-context.ts
|
|
6
|
+
function getErrorMessage(hook, provider) {
|
|
7
|
+
return `${hook} returned \`undefined\`. Seems you forgot to wrap component within ${provider}`;
|
|
8
|
+
}
|
|
9
|
+
function createContext(options = {}) {
|
|
10
|
+
const { name, strict = true, hookName = "useContext", providerName = "Provider", errorMessage, defaultValue } = options;
|
|
11
|
+
const Context = (0, react.createContext)(defaultValue);
|
|
12
|
+
Context.displayName = name;
|
|
13
|
+
function useContext() {
|
|
14
|
+
const context = (0, react.useContext)(Context);
|
|
15
|
+
if (!context && strict) {
|
|
16
|
+
const error = new Error(errorMessage ?? getErrorMessage(hookName, providerName));
|
|
17
|
+
error.name = "ContextError";
|
|
18
|
+
if ((0, __sprawlify_primitives_utils.hasProp)(Error, "captureStackTrace") && (0, __sprawlify_primitives_utils.isFunction)(Error.captureStackTrace)) Error.captureStackTrace(error, useContext);
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
return context;
|
|
22
|
+
}
|
|
23
|
+
return [
|
|
24
|
+
Context.Provider,
|
|
25
|
+
useContext,
|
|
26
|
+
Context
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
Object.defineProperty(exports, 'createContext', {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return createContext;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { hasProp, isFunction } from "@sprawlify/primitives/utils";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/create-context.ts
|
|
5
|
+
function getErrorMessage(hook, provider) {
|
|
6
|
+
return `${hook} returned \`undefined\`. Seems you forgot to wrap component within ${provider}`;
|
|
7
|
+
}
|
|
8
|
+
function createContext$1(options = {}) {
|
|
9
|
+
const { name, strict = true, hookName = "useContext", providerName = "Provider", errorMessage, defaultValue } = options;
|
|
10
|
+
const Context = createContext(defaultValue);
|
|
11
|
+
Context.displayName = name;
|
|
12
|
+
function useContext$1() {
|
|
13
|
+
const context = useContext(Context);
|
|
14
|
+
if (!context && strict) {
|
|
15
|
+
const error = new Error(errorMessage ?? getErrorMessage(hookName, providerName));
|
|
16
|
+
error.name = "ContextError";
|
|
17
|
+
if (hasProp(Error, "captureStackTrace") && isFunction(Error.captureStackTrace)) Error.captureStackTrace(error, useContext$1);
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
return context;
|
|
21
|
+
}
|
|
22
|
+
return [
|
|
23
|
+
Context.Provider,
|
|
24
|
+
useContext$1,
|
|
25
|
+
Context
|
|
26
|
+
];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { createContext$1 as t };
|