@howells/stacksheet 0.1.0 → 1.0.0

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/renderer.js DELETED
@@ -1,169 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { AnimatePresence, m } from "motion/react";
3
- import { useEffect, useRef, useState, } from "react";
4
- import { useStore } from "zustand";
5
- import { useResolvedSide } from "./media.js";
6
- import { getSlideFrom, getSlideTarget, getStackTransform, getPanelStyles, } from "./stacking.js";
7
- // ── Icons (inline SVG — no external dependency) ─
8
- function ArrowLeftIcon() {
9
- return (_jsx("svg", { "aria-hidden": "true", fill: "none", height: 16, stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, viewBox: "0 0 24 24", width: 16, children: _jsx("path", { d: "M19 12H5M12 19l-7-7 7-7" }) }));
10
- }
11
- function XIcon() {
12
- return (_jsx("svg", { "aria-hidden": "true", fill: "none", height: 16, stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, viewBox: "0 0 24 24", width: 16, children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }));
13
- }
14
- // ── Header button ───────────────────────────────
15
- const BUTTON_STYLE = {
16
- display: "inline-flex",
17
- alignItems: "center",
18
- justifyContent: "center",
19
- width: 32,
20
- height: 32,
21
- borderRadius: "50%",
22
- border: "none",
23
- background: "transparent",
24
- cursor: "pointer",
25
- color: "inherit",
26
- opacity: 0.5,
27
- transition: "opacity 150ms",
28
- padding: 0,
29
- };
30
- export function SheetRenderer({ store, config, content, }) {
31
- const isOpen = useStore(store, (s) => s.isOpen);
32
- const stack = useStore(store, (s) => s.stack);
33
- const close = useStore(store, (s) => s.close);
34
- const pop = useStore(store, (s) => s.pop);
35
- const side = useResolvedSide(config);
36
- // Display stack — keep items during exit animation
37
- const [displayStack, setDisplayStack] = useState([]);
38
- const clearTimerRef = useRef(null);
39
- useEffect(() => {
40
- if (stack.length > 0) {
41
- if (clearTimerRef.current) {
42
- clearTimeout(clearTimerRef.current);
43
- clearTimerRef.current = null;
44
- }
45
- setDisplayStack(stack);
46
- }
47
- else {
48
- // Delay clearing so exit animations complete
49
- clearTimerRef.current = setTimeout(() => {
50
- setDisplayStack([]);
51
- }, 500);
52
- }
53
- return () => {
54
- if (clearTimerRef.current) {
55
- clearTimeout(clearTimerRef.current);
56
- }
57
- };
58
- }, [stack]);
59
- // Scroll lock
60
- useEffect(() => {
61
- if (!isOpen || !config.lockScroll)
62
- return;
63
- const prev = document.body.style.overflow;
64
- document.body.style.overflow = "hidden";
65
- return () => {
66
- document.body.style.overflow = prev;
67
- };
68
- }, [isOpen, config.lockScroll]);
69
- // Escape key
70
- useEffect(() => {
71
- if (!isOpen || !config.closeOnEscape)
72
- return;
73
- function handleKeyDown(e) {
74
- if (e.key === "Escape") {
75
- e.preventDefault();
76
- if (stack.length > 1) {
77
- pop();
78
- }
79
- else {
80
- close();
81
- }
82
- }
83
- }
84
- document.addEventListener("keydown", handleKeyDown);
85
- return () => document.removeEventListener("keydown", handleKeyDown);
86
- }, [isOpen, config.closeOnEscape, stack.length, pop, close]);
87
- const slideFrom = getSlideFrom(side);
88
- const slideTarget = getSlideTarget();
89
- const spring = {
90
- type: "spring",
91
- damping: config.spring.damping,
92
- stiffness: config.spring.stiffness,
93
- mass: config.spring.mass,
94
- };
95
- return (_jsx(AnimatePresence, { children: isOpen && (_jsxs(_Fragment, { children: [_jsx(m.div, { animate: { opacity: 1 }, exit: { opacity: 0 }, initial: { opacity: 0 }, onClick: config.closeOnBackdrop ? close : undefined, style: {
96
- position: "fixed",
97
- inset: 0,
98
- zIndex: config.zIndex,
99
- background: "rgba(0, 0, 0, 0.2)",
100
- cursor: config.closeOnBackdrop ? "pointer" : undefined,
101
- }, transition: { duration: 0.2 } }, "stacksheet-backdrop"), displayStack.map((item, index) => {
102
- const depth = displayStack.length - 1 - index;
103
- const isTop = depth === 0;
104
- const isNested = displayStack.length > 1;
105
- const transform = getStackTransform(depth, config.stacking);
106
- const panelStyles = getPanelStyles(side, config, depth, index);
107
- const shouldRender = depth < config.stacking.renderThreshold;
108
- // Compute stacking offset for animate
109
- const stackOffset = getStackingOffset(side, transform.offset);
110
- const Content = content[item.type];
111
- return (_jsxs(m.div, { animate: {
112
- ...slideTarget,
113
- ...stackOffset,
114
- scale: transform.scale,
115
- opacity: transform.opacity,
116
- borderRadius: transform.borderRadius,
117
- }, "aria-modal": isTop ? "true" : undefined, exit: {
118
- ...slideFrom,
119
- opacity: 0.6,
120
- }, initial: {
121
- ...slideFrom,
122
- opacity: 0.8,
123
- }, role: isTop ? "dialog" : undefined, style: {
124
- ...panelStyles,
125
- boxShadow: isTop
126
- ? getShadow(side, false)
127
- : getShadow(side, true),
128
- pointerEvents: isTop ? "auto" : "none",
129
- }, transition: spring, children: [isTop && (_jsxs("div", { style: {
130
- display: "flex",
131
- alignItems: "center",
132
- height: 48,
133
- flexShrink: 0,
134
- padding: "0 12px",
135
- borderBottom: "1px solid transparent",
136
- }, children: [isNested && (_jsx("button", { "aria-label": "Back", onClick: pop, style: BUTTON_STYLE, type: "button", children: _jsx(ArrowLeftIcon, {}) })), _jsx("div", { style: { flex: 1 } }), _jsx("button", { "aria-label": "Close", onClick: close, style: BUTTON_STYLE, type: "button", children: _jsx(XIcon, {}) })] })), shouldRender && Content && (_jsx("div", { style: {
137
- flex: 1,
138
- minHeight: 0,
139
- overflowY: "auto",
140
- overscrollBehavior: "contain",
141
- }, children: _jsx(Content, { data: item.data, onClose: close }) }))] }, item.id));
142
- })] })) }));
143
- }
144
- // ── Helpers ─────────────────────────────────────
145
- function getStackingOffset(side, offset) {
146
- if (offset === 0)
147
- return {};
148
- switch (side) {
149
- case "right":
150
- return { x: -offset };
151
- case "left":
152
- return { x: offset };
153
- case "bottom":
154
- return { y: -offset };
155
- }
156
- }
157
- function getShadow(side, isNested) {
158
- if (side === "bottom") {
159
- return isNested
160
- ? "0 -2px 16px rgba(0,0,0,0.06)"
161
- : "0 -8px 32px rgba(0,0,0,0.15)";
162
- }
163
- // Left/right
164
- const dir = side === "right" ? -1 : 1;
165
- return isNested
166
- ? `${dir * 2}px 0 16px rgba(0,0,0,0.06)`
167
- : `${dir * 8}px 0 32px rgba(0,0,0,0.15)`;
168
- }
169
- //# sourceMappingURL=renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.tsx"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { CSSProperties } from "react";
2
- import type { ResolvedConfig, Side, StackingConfig } from "./types.js";
3
- export interface StackTransform {
4
- scale: number;
5
- offset: number;
6
- opacity: number;
7
- borderRadius: number;
8
- }
9
- /**
10
- * Compute visual transforms for a panel at a given depth.
11
- * depth=0 is the top (foreground) panel.
12
- */
13
- export declare function getStackTransform(depth: number, stacking: StackingConfig): StackTransform;
14
- export interface SlideValues {
15
- x?: string | number;
16
- y?: string | number;
17
- }
18
- /** Motion initial/exit values for sliding from the given side. */
19
- export declare function getSlideFrom(side: Side): SlideValues;
20
- /** Motion animate target — the resting position. */
21
- export declare function getSlideTarget(): SlideValues;
22
- /**
23
- * Fixed-position styles for a panel, accounting for side, width, and depth.
24
- */
25
- export declare function getPanelStyles(side: Side, config: ResolvedConfig, depth: number, index: number): CSSProperties;
26
- //# sourceMappingURL=stacking.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stacking.d.ts","sourceRoot":"","sources":["../src/stacking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIvE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,GACvB,cAAc,CAUhB;AAID,MAAM,WAAW,WAAW;IAC1B,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CASpD;AAED,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAID;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,aAAa,CAoCf"}
package/dist/stacking.js DELETED
@@ -1,68 +0,0 @@
1
- /**
2
- * Compute visual transforms for a panel at a given depth.
3
- * depth=0 is the top (foreground) panel.
4
- */
5
- export function getStackTransform(depth, stacking) {
6
- if (depth <= 0) {
7
- return { scale: 1, offset: 0, opacity: 1, borderRadius: 0 };
8
- }
9
- return {
10
- scale: Math.max(0.5, 1 - depth * stacking.scaleStep),
11
- offset: depth * stacking.offsetStep,
12
- opacity: Math.max(0, 1 - depth * stacking.opacityStep),
13
- borderRadius: stacking.radius,
14
- };
15
- }
16
- /** Motion initial/exit values for sliding from the given side. */
17
- export function getSlideFrom(side) {
18
- switch (side) {
19
- case "right":
20
- return { x: "100%" };
21
- case "left":
22
- return { x: "-100%" };
23
- case "bottom":
24
- return { y: "100%" };
25
- }
26
- }
27
- /** Motion animate target — the resting position. */
28
- export function getSlideTarget() {
29
- return { x: 0, y: 0 };
30
- }
31
- // ── Panel positioning ───────────────────────────
32
- /**
33
- * Fixed-position styles for a panel, accounting for side, width, and depth.
34
- */
35
- export function getPanelStyles(side, config, depth, index) {
36
- const { width, maxWidth, zIndex } = config;
37
- const base = {
38
- position: "fixed",
39
- zIndex: zIndex + 10 + index,
40
- display: "flex",
41
- flexDirection: "column",
42
- overflow: "hidden",
43
- willChange: "transform",
44
- transformOrigin: side === "bottom" ? "center bottom" : `${side} center`,
45
- };
46
- if (side === "bottom") {
47
- return {
48
- ...base,
49
- left: 0,
50
- right: 0,
51
- bottom: 0,
52
- maxHeight: "85vh",
53
- borderTopLeftRadius: depth > 0 ? config.stacking.radius : 16,
54
- borderTopRightRadius: depth > 0 ? config.stacking.radius : 16,
55
- };
56
- }
57
- // Left or right side panel
58
- const sideStyles = side === "right"
59
- ? { top: 0, right: 0, bottom: 0 }
60
- : { top: 0, left: 0, bottom: 0 };
61
- return {
62
- ...base,
63
- ...sideStyles,
64
- width,
65
- maxWidth,
66
- };
67
- }
68
- //# sourceMappingURL=stacking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stacking.js","sourceRoot":"","sources":["../src/stacking.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,QAAwB;IAExB,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;QACpD,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAC,UAAU;QACnC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;QACtD,YAAY,EAAE,QAAQ,CAAC,MAAM;KAC9B,CAAC;AACJ,CAAC;AASD,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc;IAC5B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC;AAED,mDAAmD;AAEnD;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAU,EACV,MAAsB,EACtB,KAAa,EACb,KAAa;IAEb,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3C,MAAM,IAAI,GAAkB;QAC1B,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,KAAK;QAC3B,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,WAAW;QACvB,eAAe,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS;KACxE,CAAC;IAEF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,MAAM;YACjB,mBAAmB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC5D,oBAAoB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;SAC9D,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GACd,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAErC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,UAAU;QACb,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC"}
package/dist/store.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { type StoreApi } from "zustand";
2
- import type { ResolvedConfig, SheetActions, SheetSnapshot } from "./types.js";
3
- type StoreState<TMap extends Record<string, unknown>> = SheetSnapshot<TMap> & SheetActions<TMap>;
4
- /**
5
- * Create an isolated Zustand store for a sheet stack instance.
6
- */
7
- export declare function createSheetStore<TMap extends Record<string, unknown>>(config: ResolvedConfig): StoreApi<StoreState<TMap>>;
8
- export {};
9
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAEZ,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,GACzE,YAAY,CAAC,IAAI,CAAC,CAAC;AAErB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,EAAE,cAAc,GACrB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAgF5B"}
package/dist/store.js DELETED
@@ -1,73 +0,0 @@
1
- import { createStore } from "zustand";
2
- /**
3
- * Create an isolated Zustand store for a sheet stack instance.
4
- */
5
- export function createSheetStore(config) {
6
- return createStore()((set, get) => ({
7
- stack: [],
8
- isOpen: false,
9
- open(type, id, data) {
10
- set({
11
- stack: [{ id, type, data }],
12
- isOpen: true,
13
- });
14
- },
15
- push(type, id, data) {
16
- set((state) => {
17
- const item = { id, type, data };
18
- if (Number.isFinite(config.maxDepth) &&
19
- state.stack.length >= config.maxDepth) {
20
- // Replace top at max depth
21
- return {
22
- stack: [...state.stack.slice(0, -1), item],
23
- isOpen: true,
24
- };
25
- }
26
- return {
27
- stack: [...state.stack, item],
28
- isOpen: true,
29
- };
30
- });
31
- },
32
- replace(type, id, data) {
33
- set((state) => {
34
- const item = { id, type, data };
35
- if (state.stack.length === 0) {
36
- return { stack: [item], isOpen: true };
37
- }
38
- return {
39
- stack: [...state.stack.slice(0, -1), item],
40
- isOpen: true,
41
- };
42
- });
43
- },
44
- navigate(type, id, data) {
45
- const { stack } = get();
46
- const top = stack.at(-1);
47
- // Empty → open
48
- if (stack.length === 0) {
49
- get().open(type, id, data);
50
- return;
51
- }
52
- // Same type on top → replace
53
- if (top?.type === type) {
54
- get().replace(type, id, data);
55
- return;
56
- }
57
- // Different type → push
58
- get().push(type, id, data);
59
- },
60
- pop() {
61
- set((state) => {
62
- if (state.stack.length <= 1) {
63
- return { stack: [], isOpen: false };
64
- }
65
- return { stack: state.stack.slice(0, -1), isOpen: true };
66
- });
67
- },
68
- close() {
69
- set({ stack: [], isOpen: false });
70
- },
71
- }));
72
- }
73
- //# sourceMappingURL=store.js.map
package/dist/store.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,111 +0,0 @@
1
- import type { ComponentType } from "react";
2
- export interface SheetItem<TType extends string = string> {
3
- id: string;
4
- type: TType;
5
- data: Record<string, unknown>;
6
- }
7
- export type Side = "left" | "right" | "bottom";
8
- export interface ResponsiveSide {
9
- desktop: Side;
10
- mobile: Side;
11
- }
12
- export type SideConfig = Side | ResponsiveSide;
13
- export interface StackingConfig {
14
- /** Scale reduction per depth level (default: 0.04) */
15
- scaleStep: number;
16
- /** Horizontal/vertical offset per depth level in px (default: 24) */
17
- offsetStep: number;
18
- /** Opacity reduction per depth level (default: 0.15) */
19
- opacityStep: number;
20
- /** Border radius applied to stacked panels in px (default: 12) */
21
- radius: number;
22
- /** Max depth before content stops rendering (default: 5) */
23
- renderThreshold: number;
24
- }
25
- export interface SpringConfig {
26
- /** Damping — higher = less oscillation (default: 30) */
27
- damping: number;
28
- /** Stiffness — higher = snappier (default: 170) */
29
- stiffness: number;
30
- /** Mass — higher = more momentum (default: 0.8) */
31
- mass: number;
32
- }
33
- export interface SheetStackConfig {
34
- /** Maximum stack depth. Default: Infinity (unlimited) */
35
- maxDepth?: number;
36
- /** Close on ESC key. Default: true */
37
- closeOnEscape?: boolean;
38
- /** Close on backdrop click. Default: true */
39
- closeOnBackdrop?: boolean;
40
- /** Lock body scroll when open. Default: true */
41
- lockScroll?: boolean;
42
- /** Panel width in px. Default: 420 */
43
- width?: number;
44
- /** Maximum panel width as CSS value. Default: "90vw" */
45
- maxWidth?: string;
46
- /** Mobile breakpoint in px. Default: 768 */
47
- breakpoint?: number;
48
- /** Sheet slide-from side. Default: { desktop: "right", mobile: "bottom" } */
49
- side?: SideConfig;
50
- /** Stacking visual parameters */
51
- stacking?: Partial<StackingConfig>;
52
- /** Spring animation parameters */
53
- spring?: Partial<SpringConfig>;
54
- /** Base z-index. Default: 100 */
55
- zIndex?: number;
56
- }
57
- /** Fully resolved config — all fields required */
58
- export interface ResolvedConfig {
59
- maxDepth: number;
60
- closeOnEscape: boolean;
61
- closeOnBackdrop: boolean;
62
- lockScroll: boolean;
63
- width: number;
64
- maxWidth: string;
65
- breakpoint: number;
66
- side: ResponsiveSide;
67
- stacking: StackingConfig;
68
- spring: SpringConfig;
69
- zIndex: number;
70
- }
71
- /** Component rendered inside a sheet panel */
72
- export type SheetContentComponent<TData = unknown> = ComponentType<{
73
- data: TData;
74
- onClose: () => void;
75
- }>;
76
- /** Map of sheet type → content component */
77
- export type ContentMap<TMap extends Record<string, unknown>> = {
78
- [K in keyof TMap]: SheetContentComponent<TMap[K]>;
79
- };
80
- export interface SheetSnapshot<TMap extends Record<string, unknown>> {
81
- stack: SheetItem<Extract<keyof TMap, string>>[];
82
- isOpen: boolean;
83
- }
84
- export interface SheetActions<TMap extends Record<string, unknown>> {
85
- /** Replace stack with a single item */
86
- open<K extends Extract<keyof TMap, string>>(type: K, id: string, data: TMap[K]): void;
87
- /** Push onto stack (replaces top at maxDepth) */
88
- push<K extends Extract<keyof TMap, string>>(type: K, id: string, data: TMap[K]): void;
89
- /** Swap the top item */
90
- replace<K extends Extract<keyof TMap, string>>(type: K, id: string, data: TMap[K]): void;
91
- /** Smart: empty→open, same type on top→replace, different→push */
92
- navigate<K extends Extract<keyof TMap, string>>(type: K, id: string, data: TMap[K]): void;
93
- /** Pop top item; close if last */
94
- pop(): void;
95
- /** Clear entire stack */
96
- close(): void;
97
- }
98
- export interface SheetStackInstance<TMap extends Record<string, unknown>> {
99
- /** Provider component — wrap your app, pass content map */
100
- SheetProvider: ComponentType<{
101
- content: ContentMap<TMap>;
102
- children: React.ReactNode;
103
- }>;
104
- /** Hook returning sheet actions */
105
- useSheet: () => SheetActions<TMap>;
106
- /** Hook returning sheet state (stack, isOpen) */
107
- useSheetState: () => SheetSnapshot<TMap>;
108
- /** Raw Zustand store for advanced use */
109
- store: import("zustand").StoreApi<SheetSnapshot<TMap> & SheetActions<TMap>>;
110
- }
111
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}