@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.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +191 -0
  3. package/dist/Drag/DragConstants.d.ts +9 -0
  4. package/dist/Drag/DragConstants.d.ts.map +1 -0
  5. package/dist/Drag/DragGeometry.d.ts +34 -0
  6. package/dist/Drag/DragGeometry.d.ts.map +1 -0
  7. package/dist/Drag/DragTypes.d.ts +34 -0
  8. package/dist/Drag/DragTypes.d.ts.map +1 -0
  9. package/dist/Drag/index.d.ts +3 -0
  10. package/dist/Drag/index.d.ts.map +1 -0
  11. package/dist/Drag/useDrag.d.ts +20 -0
  12. package/dist/Drag/useDrag.d.ts.map +1 -0
  13. package/dist/SheetPanel/DefaultHeader.d.ts +5 -0
  14. package/dist/SheetPanel/DefaultHeader.d.ts.map +1 -0
  15. package/dist/SheetPanel/SheetPanel.d.ts +3 -0
  16. package/dist/SheetPanel/SheetPanel.d.ts.map +1 -0
  17. package/dist/SheetPanel/SheetPanelContent.d.ts +13 -0
  18. package/dist/SheetPanel/SheetPanelContent.d.ts.map +1 -0
  19. package/dist/SheetPanel/SheetPanelFocus.d.ts +8 -0
  20. package/dist/SheetPanel/SheetPanelFocus.d.ts.map +1 -0
  21. package/dist/SheetPanel/SheetPanelHandles.d.ts +10 -0
  22. package/dist/SheetPanel/SheetPanelHandles.d.ts.map +1 -0
  23. package/dist/SheetPanel/SheetPanelTypes.d.ts +31 -0
  24. package/dist/SheetPanel/SheetPanelTypes.d.ts.map +1 -0
  25. package/dist/SheetPanel/index.d.ts +3 -0
  26. package/dist/SheetPanel/index.d.ts.map +1 -0
  27. package/dist/SheetParts/SheetBack.d.ts +3 -0
  28. package/dist/SheetParts/SheetBack.d.ts.map +1 -0
  29. package/dist/SheetParts/SheetBody.d.ts +3 -0
  30. package/dist/SheetParts/SheetBody.d.ts.map +1 -0
  31. package/dist/SheetParts/SheetClose.d.ts +3 -0
  32. package/dist/SheetParts/SheetClose.d.ts.map +1 -0
  33. package/dist/SheetParts/SheetDescription.d.ts +3 -0
  34. package/dist/SheetParts/SheetDescription.d.ts.map +1 -0
  35. package/dist/SheetParts/SheetFooter.d.ts +3 -0
  36. package/dist/SheetParts/SheetFooter.d.ts.map +1 -0
  37. package/dist/SheetParts/SheetHandle.d.ts +3 -0
  38. package/dist/SheetParts/SheetHandle.d.ts.map +1 -0
  39. package/dist/SheetParts/SheetHeader.d.ts +3 -0
  40. package/dist/SheetParts/SheetHeader.d.ts.map +1 -0
  41. package/dist/SheetParts/SheetPartTypes.d.ts +22 -0
  42. package/dist/SheetParts/SheetPartTypes.d.ts.map +1 -0
  43. package/dist/SheetParts/SheetParts.d.ts +28 -0
  44. package/dist/SheetParts/SheetParts.d.ts.map +1 -0
  45. package/dist/SheetParts/SheetTitle.d.ts +3 -0
  46. package/dist/SheetParts/SheetTitle.d.ts.map +1 -0
  47. package/dist/SheetParts/index.d.ts +11 -0
  48. package/dist/SheetParts/index.d.ts.map +1 -0
  49. package/dist/Store/StoreArgs.d.ts +15 -0
  50. package/dist/Store/StoreArgs.d.ts.map +1 -0
  51. package/dist/Store/StoreTypes.d.ts +21 -0
  52. package/dist/Store/StoreTypes.d.ts.map +1 -0
  53. package/dist/Store/createSheetStore.d.ts +15 -0
  54. package/dist/Store/createSheetStore.d.ts.map +1 -0
  55. package/dist/Store/index.d.ts +3 -0
  56. package/dist/Store/index.d.ts.map +1 -0
  57. package/dist/config.d.ts +4 -0
  58. package/dist/config.d.ts.map +1 -0
  59. package/dist/create.d.ts +33 -0
  60. package/dist/create.d.ts.map +1 -0
  61. package/dist/icons.d.ts +4 -0
  62. package/dist/icons.d.ts.map +1 -0
  63. package/dist/index.d.ts +10 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.mjs +1732 -0
  66. package/dist/index.mjs.map +1 -0
  67. package/dist/media.d.ts +9 -0
  68. package/dist/media.d.ts.map +1 -0
  69. package/dist/panel-context.d.ts +26 -0
  70. package/dist/panel-context.d.ts.map +1 -0
  71. package/dist/parts.d.ts +11 -0
  72. package/dist/parts.d.ts.map +1 -0
  73. package/dist/renderer-effects.d.ts +6 -0
  74. package/dist/renderer-effects.d.ts.map +1 -0
  75. package/dist/renderer-helpers.d.ts +53 -0
  76. package/dist/renderer-helpers.d.ts.map +1 -0
  77. package/dist/renderer.d.ts +29 -0
  78. package/dist/renderer.d.ts.map +1 -0
  79. package/dist/sheet-panel.d.ts +3 -0
  80. package/dist/sheet-panel.d.ts.map +1 -0
  81. package/dist/snap-points.d.ts +22 -0
  82. package/dist/snap-points.d.ts.map +1 -0
  83. package/dist/springs.d.ts +26 -0
  84. package/dist/springs.d.ts.map +1 -0
  85. package/dist/stacking.d.ts +38 -0
  86. package/dist/stacking.d.ts.map +1 -0
  87. package/dist/store.d.ts +3 -0
  88. package/dist/store.d.ts.map +1 -0
  89. package/dist/styles.css +2 -0
  90. package/dist/types.d.ts +232 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/use-drag.d.ts +3 -0
  93. package/dist/use-drag.d.ts.map +1 -0
  94. 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,3 @@
1
+ export { createSheetStore } from "./createSheetStore";
2
+ export type { SheetStoreBundle } from "./StoreTypes";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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"}
@@ -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"}
@@ -0,0 +1,4 @@
1
+ /** Inline SVG icons — no external dependency */
2
+ export declare function ArrowLeftIcon(): import("react/jsx-runtime").JSX.Element;
3
+ export declare function XIcon(): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=icons.d.ts.map
@@ -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"}
@@ -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"}