@patternmode/stacksheet 1.3.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/LICENSE +21 -0
- package/README.md +191 -0
- package/dist/Drag/DragConstants.d.ts +9 -0
- package/dist/Drag/DragConstants.d.ts.map +1 -0
- package/dist/Drag/DragGeometry.d.ts +34 -0
- package/dist/Drag/DragGeometry.d.ts.map +1 -0
- package/dist/Drag/DragTypes.d.ts +34 -0
- package/dist/Drag/DragTypes.d.ts.map +1 -0
- package/dist/Drag/index.d.ts +3 -0
- package/dist/Drag/index.d.ts.map +1 -0
- package/dist/Drag/useDrag.d.ts +20 -0
- package/dist/Drag/useDrag.d.ts.map +1 -0
- package/dist/SheetPanel/DefaultHeader.d.ts +5 -0
- package/dist/SheetPanel/DefaultHeader.d.ts.map +1 -0
- package/dist/SheetPanel/SheetPanel.d.ts +3 -0
- package/dist/SheetPanel/SheetPanel.d.ts.map +1 -0
- package/dist/SheetPanel/SheetPanelContent.d.ts +13 -0
- package/dist/SheetPanel/SheetPanelContent.d.ts.map +1 -0
- package/dist/SheetPanel/SheetPanelFocus.d.ts +8 -0
- package/dist/SheetPanel/SheetPanelFocus.d.ts.map +1 -0
- package/dist/SheetPanel/SheetPanelHandles.d.ts +10 -0
- package/dist/SheetPanel/SheetPanelHandles.d.ts.map +1 -0
- package/dist/SheetPanel/SheetPanelTypes.d.ts +31 -0
- package/dist/SheetPanel/SheetPanelTypes.d.ts.map +1 -0
- package/dist/SheetPanel/index.d.ts +3 -0
- package/dist/SheetPanel/index.d.ts.map +1 -0
- package/dist/SheetParts/SheetBack.d.ts +3 -0
- package/dist/SheetParts/SheetBack.d.ts.map +1 -0
- package/dist/SheetParts/SheetBody.d.ts +3 -0
- package/dist/SheetParts/SheetBody.d.ts.map +1 -0
- package/dist/SheetParts/SheetClose.d.ts +3 -0
- package/dist/SheetParts/SheetClose.d.ts.map +1 -0
- package/dist/SheetParts/SheetDescription.d.ts +3 -0
- package/dist/SheetParts/SheetDescription.d.ts.map +1 -0
- package/dist/SheetParts/SheetFooter.d.ts +3 -0
- package/dist/SheetParts/SheetFooter.d.ts.map +1 -0
- package/dist/SheetParts/SheetHandle.d.ts +3 -0
- package/dist/SheetParts/SheetHandle.d.ts.map +1 -0
- package/dist/SheetParts/SheetHeader.d.ts +3 -0
- package/dist/SheetParts/SheetHeader.d.ts.map +1 -0
- package/dist/SheetParts/SheetPartTypes.d.ts +22 -0
- package/dist/SheetParts/SheetPartTypes.d.ts.map +1 -0
- package/dist/SheetParts/SheetParts.d.ts +28 -0
- package/dist/SheetParts/SheetParts.d.ts.map +1 -0
- package/dist/SheetParts/SheetTitle.d.ts +3 -0
- package/dist/SheetParts/SheetTitle.d.ts.map +1 -0
- package/dist/SheetParts/index.d.ts +11 -0
- package/dist/SheetParts/index.d.ts.map +1 -0
- package/dist/Store/StoreArgs.d.ts +15 -0
- package/dist/Store/StoreArgs.d.ts.map +1 -0
- package/dist/Store/StoreTypes.d.ts +21 -0
- package/dist/Store/StoreTypes.d.ts.map +1 -0
- package/dist/Store/createSheetStore.d.ts +15 -0
- package/dist/Store/createSheetStore.d.ts.map +1 -0
- package/dist/Store/index.d.ts +3 -0
- package/dist/Store/index.d.ts.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/create.d.ts +33 -0
- package/dist/create.d.ts.map +1 -0
- package/dist/icons.d.ts +4 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +1732 -0
- package/dist/index.mjs.map +1 -0
- package/dist/media.d.ts +9 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/panel-context.d.ts +26 -0
- package/dist/panel-context.d.ts.map +1 -0
- package/dist/parts.d.ts +11 -0
- package/dist/parts.d.ts.map +1 -0
- package/dist/renderer-effects.d.ts +6 -0
- package/dist/renderer-effects.d.ts.map +1 -0
- package/dist/renderer-helpers.d.ts +53 -0
- package/dist/renderer-helpers.d.ts.map +1 -0
- package/dist/renderer.d.ts +29 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/sheet-panel.d.ts +3 -0
- package/dist/sheet-panel.d.ts.map +1 -0
- package/dist/snap-points.d.ts +22 -0
- package/dist/snap-points.d.ts.map +1 -0
- package/dist/springs.d.ts +26 -0
- package/dist/springs.d.ts.map +1 -0
- package/dist/stacking.d.ts +38 -0
- package/dist/stacking.d.ts.map +1 -0
- package/dist/store.d.ts +3 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/types.d.ts +232 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/use-drag.d.ts +3 -0
- package/dist/use-drag.d.ts.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ComponentType } from "react";
|
|
2
|
+
import type { StoreApi } from "zustand";
|
|
3
|
+
import type { SheetActions, StacksheetSnapshot } from "../types";
|
|
4
|
+
export type AnyComponent = ComponentType<any>;
|
|
5
|
+
export type StoreState<TMap extends object> = StacksheetSnapshot<TMap> & SheetActions<TMap>;
|
|
6
|
+
/** Return type of createSheetStore — store plus ad-hoc component maps */
|
|
7
|
+
export interface SheetStoreBundle<TMap extends object> {
|
|
8
|
+
/** Generated type key → Component (for renderer lookup) */
|
|
9
|
+
componentMap: Map<string, AnyComponent>;
|
|
10
|
+
/** Component → generated type key (dedup) */
|
|
11
|
+
componentRegistry: Map<AnyComponent, string>;
|
|
12
|
+
store: StoreApi<StoreState<TMap>>;
|
|
13
|
+
}
|
|
14
|
+
/** Pre-resolved args — skips resolveArgs entirely */
|
|
15
|
+
export interface ResolvedItem {
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
data: Record<string, unknown>;
|
|
18
|
+
id: string;
|
|
19
|
+
type: string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=StoreTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreTypes.d.ts","sourceRoot":"","sources":["../../src/Store/StoreTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGjE,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAE9C,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,GACrE,YAAY,CAAC,IAAI,CAAC,CAAC;AAEpB,yEAAyE;AACzE,MAAM,WAAW,gBAAgB,CAAC,IAAI,SAAS,MAAM;IACpD,2DAA2D;IAC3D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,6CAA6C;IAC7C,iBAAiB,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7C,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;CAClC;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ResolvedConfig } from "../types";
|
|
2
|
+
import type { SheetStoreBundle } from "./StoreTypes";
|
|
3
|
+
/**
|
|
4
|
+
* Create an isolated Zustand store for a sheet stack instance.
|
|
5
|
+
*
|
|
6
|
+
* Returns a store bundle containing the Zustand store plus two maps
|
|
7
|
+
* that track ad-hoc (component-direct) registrations:
|
|
8
|
+
* - `componentRegistry` — maps `ComponentType` → generated type key (dedup)
|
|
9
|
+
* - `componentMap` — maps generated type key → `ComponentType` (renderer lookup)
|
|
10
|
+
*
|
|
11
|
+
* The ad-hoc counter is scoped per instance to prevent identity leaks across
|
|
12
|
+
* multiple `createStacksheet()` calls or test runs.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createSheetStore<TMap extends object>(config: ResolvedConfig): SheetStoreBundle<TMap>;
|
|
15
|
+
//# sourceMappingURL=createSheetStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSheetStore.d.ts","sourceRoot":"","sources":["../../src/Store/createSheetStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,UAAU,CAAC;AAM1D,OAAO,KAAK,EAGX,gBAAgB,EAEhB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,MAAM,EACnD,MAAM,EAAE,cAAc,GACpB,gBAAgB,CAAC,IAAI,CAAC,CAyOxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ResolvedConfig, StacksheetConfig } from "./types";
|
|
2
|
+
/** Merge user-provided config with defaults. Resolves union types (side, spring) to concrete values. */
|
|
3
|
+
export declare function resolveConfig(config?: StacksheetConfig): ResolvedConfig;
|
|
4
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,cAAc,EAKd,gBAAgB,EAChB,MAAM,SAAS,CAAC;AAuCjB,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,MAAM,GAAE,gBAAqB,GAAG,cAAc,CA6B3E"}
|
package/dist/create.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { StacksheetConfig, StacksheetInstance } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create an isolated sheet stack instance with typed store, hooks, and provider.
|
|
4
|
+
*
|
|
5
|
+
* Works with both `interface` and `type` definitions:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Using an interface
|
|
9
|
+
* interface SheetDataMap {
|
|
10
|
+
* "bucket-create": { onCreated?: (b: Bucket) => void };
|
|
11
|
+
* "bucket-edit": { bucket: Bucket };
|
|
12
|
+
* }
|
|
13
|
+
*
|
|
14
|
+
* // Using a type alias
|
|
15
|
+
* type SheetDataMap = {
|
|
16
|
+
* "bucket-create": { onCreated?: (b: Bucket) => void };
|
|
17
|
+
* "bucket-edit": { bucket: Bucket };
|
|
18
|
+
* };
|
|
19
|
+
*
|
|
20
|
+
* const { StacksheetProvider, useSheet, useStacksheetState } =
|
|
21
|
+
* createStacksheet<SheetDataMap>();
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Sheet content components receive their data as **spread props**:
|
|
25
|
+
* ```ts
|
|
26
|
+
* // Data map defines: "bucket-edit": { bucket: Bucket }
|
|
27
|
+
* // Component receives: ({ bucket }: { bucket: Bucket }) => JSX.Element
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* Use `useSheetPanel()` inside content components to access `close()` and `back()`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createStacksheet<TMap extends object>(config?: StacksheetConfig): StacksheetInstance<TMap>;
|
|
33
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIX,gBAAgB,EAChB,kBAAkB,EAGlB,MAAM,SAAS,CAAC;AAKjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,MAAM,EACnD,MAAM,CAAC,EAAE,gBAAgB,GACvB,kBAAkB,CAAC,IAAI,CAAC,CAmF1B"}
|
package/dist/icons.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,wBAAgB,aAAa,4CAgB5B;AAED,wBAAgB,KAAK,4CAgBpB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { createStacksheet } from "./create";
|
|
2
|
+
export { useIsMobile, useResolvedSide } from "./media";
|
|
3
|
+
export type { SheetPanelContextValue } from "./panel-context";
|
|
4
|
+
export { useSheetPanel } from "./panel-context";
|
|
5
|
+
export type { SheetBackProps, SheetBodyProps, SheetCloseProps, SheetDescriptionProps, SheetFooterProps, SheetHandleProps, SheetHeaderProps, SheetTitleProps, } from "./parts";
|
|
6
|
+
export { Sheet } from "./parts";
|
|
7
|
+
export type { SpringPreset } from "./springs";
|
|
8
|
+
export { springs } from "./springs";
|
|
9
|
+
export type { CloseReason, ContentMap, HeaderRenderProps, ResponsiveSide, SheetActions, SheetContentComponent, SheetItem, Side, SideConfig, SnapPoint, SpringConfig, StackingConfig, StacksheetClassNames, StacksheetConfig, StacksheetInstance, StacksheetProviderProps, StacksheetSnapshot, } from "./types";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAEX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EAEZ,qBAAqB,EAErB,SAAS,EACT,IAAI,EACJ,UAAU,EACV,SAAS,EACT,YAAY,EAEZ,cAAc,EAEd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAElB,uBAAuB,EAEvB,kBAAkB,GAClB,MAAM,SAAS,CAAC"}
|