uilint-react 0.2.91 → 0.2.93

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 (45) hide show
  1. package/dist/core/store/composed-store.d.ts +4 -2
  2. package/dist/core/store/composed-store.d.ts.map +1 -1
  3. package/dist/core/store/core-slice.d.ts +56 -0
  4. package/dist/core/store/core-slice.d.ts.map +1 -1
  5. package/dist/core/store/drag-slice.d.ts +107 -0
  6. package/dist/core/store/drag-slice.d.ts.map +1 -0
  7. package/dist/core/store/index.d.ts +1 -1
  8. package/dist/core/store/index.d.ts.map +1 -1
  9. package/dist/core/store/subscriptions.d.ts +102 -0
  10. package/dist/core/store/subscriptions.d.ts.map +1 -0
  11. package/dist/devtools.js +100 -100
  12. package/dist/devtools.js.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4009 -3963
  16. package/dist/index.js.map +1 -1
  17. package/dist/plugins/semantic/index.d.ts.map +1 -1
  18. package/dist/plugins/semantic/panels/DuplicateSimilarityBadge.d.ts +21 -0
  19. package/dist/plugins/semantic/panels/DuplicateSimilarityBadge.d.ts.map +1 -0
  20. package/dist/plugins/semantic/panels/DuplicatesInspectorPanel.d.ts +8 -0
  21. package/dist/plugins/semantic/panels/DuplicatesInspectorPanel.d.ts.map +1 -0
  22. package/dist/plugins/semantic/panels/ScrollableCodeSection.d.ts +27 -0
  23. package/dist/plugins/semantic/panels/ScrollableCodeSection.d.ts.map +1 -0
  24. package/dist/plugins/semantic/panels/index.d.ts +11 -0
  25. package/dist/plugins/semantic/panels/index.d.ts.map +1 -0
  26. package/dist/plugins/semantic/panels/useDiffHighlights.d.ts +45 -0
  27. package/dist/plugins/semantic/panels/useDiffHighlights.d.ts.map +1 -0
  28. package/dist/ui/UILint.d.ts.map +1 -1
  29. package/dist/ui/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  30. package/dist/ui/components/CommandPalette/useScrollSelectedIntoView.d.ts.map +1 -1
  31. package/dist/ui/components/FloatingIcon.d.ts.map +1 -1
  32. package/dist/ui/components/HeatmapOverlay.d.ts.map +1 -1
  33. package/dist/ui/components/Inspector/InspectorSidebar.d.ts.map +1 -1
  34. package/dist/ui/components/RegionSelector.d.ts.map +1 -1
  35. package/dist/ui/hooks/index.d.ts +1 -3
  36. package/dist/ui/hooks/index.d.ts.map +1 -1
  37. package/dist/ui/index.d.ts +1 -1
  38. package/dist/ui/index.d.ts.map +1 -1
  39. package/package.json +5 -3
  40. package/dist/ui/hooks/useIsMobile.d.ts +0 -14
  41. package/dist/ui/hooks/useIsMobile.d.ts.map +0 -1
  42. package/dist/ui/hooks/useKeyboardShortcuts.d.ts +0 -10
  43. package/dist/ui/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  44. package/dist/ui/hooks/useTouchDrag.d.ts +0 -19
  45. package/dist/ui/hooks/useTouchDrag.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { StoreApi, UseBoundStore } from 'zustand';
2
2
  import { CoreSlice } from './core-slice';
3
3
  import { CategorySlice } from './category-slice';
4
+ import { DragSlice } from './drag-slice';
4
5
  import { PluginRegistry } from '../plugin-system/registry';
5
6
  import { PluginServices, WebSocketService, DOMObserverService } from '../plugin-system/types';
6
7
  import { ESLintPluginSlice } from '../../plugins/eslint/slice';
@@ -44,9 +45,10 @@ export interface PluginSlices {
44
45
  * The composed store state combines:
45
46
  * 1. CoreSlice - Core UI state (floating icon, command palette, inspector, etc.)
46
47
  * 2. CategorySlice - Category provider state for command palette sidebar
47
- * 3. PluginSlices - Namespaced plugin state accessible via `plugins.{pluginId}`
48
+ * 3. DragSlice - Unified drag state management
49
+ * 4. PluginSlices - Namespaced plugin state accessible via `plugins.{pluginId}`
48
50
  */
49
- export type ComposedState = CoreSlice & CategorySlice & PluginSlices;
51
+ export type ComposedState = CoreSlice & CategorySlice & DragSlice & PluginSlices;
50
52
  /**
51
53
  * Actions for managing the composed store
52
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"composed-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/composed-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composed-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/composed-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAU,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAMhC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,iDAAiD;IACjD,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAOD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,cAAc,CAAC,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;SACN,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;KAChD,CAAC;CACH;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,mBAAmB,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAClD,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;IAEV;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,cAAc,KAAK,IAAI,CAAC;IAEhE;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAC7C,QAAQ,EAAE,CAAC,KACR,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAC7C,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAChC,IAAI,CAAC;CACX;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,oBAAoB,CAAC;AA2QjE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAGxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAaxC;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAAC;AAClD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,GAAG,CAAC,CAAC;AA2D9E;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmHf;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAe/C;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,cAAc,EAC3D,QAAQ,EAAE,CAAC,GACV,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAG/B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,cAAc,EACvE,QAAQ,EAAE,CAAC,GACV,cAAc,GAAG,IAAI,CAavB"}
@@ -7,6 +7,27 @@ export interface FloatingIconPosition {
7
7
  x: number;
8
8
  y: number;
9
9
  }
10
+ /**
11
+ * Breakpoints for responsive design.
12
+ */
13
+ export declare const BREAKPOINTS: {
14
+ readonly sm: 640;
15
+ readonly md: 768;
16
+ readonly lg: 1024;
17
+ };
18
+ /**
19
+ * Mobile/viewport detection state.
20
+ */
21
+ export interface MobileState {
22
+ /** Viewport width < 768px */
23
+ isMobile: boolean;
24
+ /** Viewport width >= 768px and < 1024px */
25
+ isTablet: boolean;
26
+ /** Device has touch capability */
27
+ isTouchDevice: boolean;
28
+ /** Viewport width < 640px */
29
+ isSmallScreen: boolean;
30
+ }
10
31
  /**
11
32
  * Filter chip for the command palette search.
12
33
  * Allows filtering by rule, issue, loc (source location), file, capture, or plugin.
@@ -58,6 +79,27 @@ export interface InspectorState {
58
79
  height: number;
59
80
  } | null;
60
81
  }
82
+ /**
83
+ * Heat map filter state for focusing on related elements.
84
+ * Used when inspecting issues that reference multiple locations (e.g., duplicates).
85
+ */
86
+ export interface HeatmapFilterState {
87
+ /**
88
+ * Filter mode:
89
+ * - "all": Show all elements with issues (default)
90
+ * - "related-only": Only show elements in highlightedLocs
91
+ */
92
+ mode: "all" | "related-only";
93
+ /**
94
+ * dataLoc values to highlight when mode is "related-only".
95
+ * Empty array = show all elements.
96
+ */
97
+ highlightedLocs: string[];
98
+ /**
99
+ * Optional label describing the filter (e.g., "Duplicate Pair")
100
+ */
101
+ filterLabel: string | null;
102
+ }
61
103
  /**
62
104
  * Core UI state slice interface.
63
105
  * Contains state and actions for core UI functionality.
@@ -123,6 +165,20 @@ export interface CoreSlice {
123
165
  wsConnected: boolean;
124
166
  /** WebSocket server URL */
125
167
  wsUrl: string;
168
+ /** Heat map filter state for focusing on related elements */
169
+ heatmapFilter: HeatmapFilterState;
170
+ /**
171
+ * Set heatmap filter to highlight specific elements
172
+ * @param locs dataLoc values to highlight
173
+ * @param label Optional label describing the filter
174
+ */
175
+ setHeatmapFilter: (locs: string[], label?: string) => void;
176
+ /** Clear heatmap filter (show all elements) */
177
+ clearHeatmapFilter: () => void;
178
+ /** Mobile detection state */
179
+ mobile: MobileState;
180
+ /** Update mobile state (called by subscriptions) */
181
+ setMobileState: (state: MobileState) => void;
126
182
  }
127
183
  /**
128
184
  * Create the core UI state slice.
@@ -1 +1 @@
1
- {"version":3,"file":"core-slice.d.ts","sourceRoot":"","sources":["../../../src/core/store/core-slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-slice.d.ts","sourceRoot":"","sources":["../../../src/core/store/core-slice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { StateCreator } from 'zustand';
2
+ /**
3
+ * Position in pixel coordinates.
4
+ */
5
+ export interface DragPosition {
6
+ x: number;
7
+ y: number;
8
+ }
9
+ /**
10
+ * Types of draggable elements in the UI.
11
+ */
12
+ export type DragType = "floating-icon" | "inspector-floating" | "inspector-resize" | "docked-resize";
13
+ /**
14
+ * Active drag operation state.
15
+ */
16
+ export interface ActiveDrag {
17
+ /** Type of element being dragged */
18
+ type: DragType;
19
+ /** Mouse/touch position at drag start */
20
+ startPos: DragPosition;
21
+ /** Current mouse/touch position */
22
+ currentPos: DragPosition;
23
+ /** Offset from element origin to cursor at start (for maintaining grab point) */
24
+ offset: DragPosition;
25
+ /** Initial element position at drag start (for calculating final position) */
26
+ elementStartPos?: DragPosition;
27
+ /** Initial element size at drag start (for resize operations) */
28
+ elementStartSize?: {
29
+ width: number;
30
+ height: number;
31
+ };
32
+ }
33
+ /**
34
+ * Drag state slice interface.
35
+ */
36
+ export interface DragSlice {
37
+ /** Currently active drag operation, null if not dragging */
38
+ activeDrag: ActiveDrag | null;
39
+ /**
40
+ * Start a drag operation.
41
+ *
42
+ * @param type - Type of element being dragged
43
+ * @param startPos - Mouse/touch position at start
44
+ * @param offset - Offset from element origin to cursor
45
+ * @param elementStartPos - Initial element position (optional)
46
+ * @param elementStartSize - Initial element size for resize (optional)
47
+ */
48
+ startDrag: (type: DragType, startPos: DragPosition, offset: DragPosition, elementStartPos?: DragPosition, elementStartSize?: {
49
+ width: number;
50
+ height: number;
51
+ }) => void;
52
+ /**
53
+ * Update the current position during drag.
54
+ * Called by the global mouse/touch move subscription.
55
+ *
56
+ * @param currentPos - Current mouse/touch position
57
+ */
58
+ updateDrag: (currentPos: DragPosition) => void;
59
+ /**
60
+ * End the current drag operation.
61
+ * Called by the global mouse/touch up subscription.
62
+ */
63
+ endDrag: () => void;
64
+ /**
65
+ * Check if currently dragging a specific type.
66
+ *
67
+ * @param type - Type to check
68
+ * @returns true if dragging that type
69
+ */
70
+ isDragging: (type?: DragType) => boolean;
71
+ /**
72
+ * Get the delta from drag start to current position.
73
+ *
74
+ * @returns Delta position or null if not dragging
75
+ */
76
+ getDragDelta: () => DragPosition | null;
77
+ }
78
+ /**
79
+ * Create the drag state slice.
80
+ */
81
+ export declare const createDragSlice: StateCreator<DragSlice>;
82
+ /**
83
+ * Selector to check if any drag is active.
84
+ */
85
+ export declare function selectIsDragging(state: DragSlice): boolean;
86
+ /**
87
+ * Selector to check if dragging a specific type.
88
+ */
89
+ export declare function selectIsDraggingType(state: DragSlice, type: DragType): boolean;
90
+ /**
91
+ * Selector to get the current drag delta.
92
+ */
93
+ export declare function selectDragDelta(state: DragSlice): DragPosition | null;
94
+ /**
95
+ * Selector to get the calculated element position during drag.
96
+ * Returns the element's start position plus the drag delta.
97
+ */
98
+ export declare function selectDraggedElementPosition(state: DragSlice): DragPosition | null;
99
+ /**
100
+ * Selector to get the calculated element size during resize drag.
101
+ * Returns the element's start size plus the drag delta.
102
+ */
103
+ export declare function selectDraggedElementSize(state: DragSlice): {
104
+ width: number;
105
+ height: number;
106
+ } | null;
107
+ //# sourceMappingURL=drag-slice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-slice.d.ts","sourceRoot":"","sources":["../../../src/core/store/drag-slice.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,yCAAyC;IACzC,QAAQ,EAAE,YAAY,CAAC;IACvB,mCAAmC;IACnC,UAAU,EAAE,YAAY,CAAC;IACzB,iFAAiF;IACjF,MAAM,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB,4DAA4D;IAC5D,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAG9B;;;;;;;;OAQG;IACH,SAAS,EAAE,CACT,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,EACpB,eAAe,CAAC,EAAE,YAAY,EAC9B,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACjD,IAAI,CAAC;IAEV;;;;;OAKG;IACH,UAAU,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC;IAEzC;;;;OAIG;IACH,YAAY,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;CACzC;AAMD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,SAAS,CAkDlD,CAAC;AAMH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAQrE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAWlF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,GACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAW1C"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Core Store - UI state management
3
3
  */
4
- export { createCoreSlice, type CoreSlice, type FloatingIconPosition, type CommandPaletteState, type CommandPaletteFilter, type InspectorState, } from './core-slice';
4
+ export { createCoreSlice, type CoreSlice, type FloatingIconPosition, type CommandPaletteState, type CommandPaletteFilter, type InspectorState, type HeatmapFilterState, } from './core-slice';
5
5
  export { createComposedStore, createComposedStoreFactory, useComposedStore, initializePlugins, getStoreApi, getPluginServices, resetStore, hasPluginSlice, getPluginSlice, createScopedPluginServices, type ComposedStoreOptions, type PluginSliceMap, type AnyPluginSlice, type PluginSlices, type ComposedState, type ComposedStoreActions, type ComposedStore, } from './composed-store';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/store/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,eAAe,EACf,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EAEjB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,0BAA0B,EAE1B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/store/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,eAAe,EACf,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EAEjB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,0BAA0B,EAE1B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { StoreApi } from 'zustand';
2
+ import { ComposedStore } from './composed-store';
3
+ import { MobileState } from './core-slice';
4
+ /**
5
+ * Cleanup function returned by subscription initializers.
6
+ */
7
+ export type CleanupFn = () => void;
8
+ /**
9
+ * Options for initializing subscriptions.
10
+ */
11
+ export interface SubscriptionOptions {
12
+ /** Whether to enable keyboard shortcuts (default: true) */
13
+ enableKeyboardShortcuts?: boolean;
14
+ /** Whether to enable mobile detection (default: true) */
15
+ enableMobileDetection?: boolean;
16
+ /** Whether to enable category auto-loading (default: true) */
17
+ enableCategoryAutoLoad?: boolean;
18
+ /** Whether to enable global drag handlers (default: true) */
19
+ enableDragHandlers?: boolean;
20
+ }
21
+ /**
22
+ * Compute the current mobile state based on window dimensions and touch capability.
23
+ */
24
+ export declare function computeMobileState(): MobileState;
25
+ /**
26
+ * Initialize keyboard shortcut listeners.
27
+ *
28
+ * Handles:
29
+ * - Cmd/Ctrl+K: Toggle command palette
30
+ * - Cmd/Ctrl+Shift+C: Vision capture full page
31
+ * - Cmd/Ctrl+Shift+R: Vision capture region
32
+ * - Escape: Close command palette
33
+ * - Alt: Enable heatmap hover details
34
+ *
35
+ * @param store - The Zustand store API
36
+ * @returns Cleanup function to remove event listeners
37
+ */
38
+ export declare function initializeKeyboardShortcuts(store: StoreApi<ComposedStore>): CleanupFn;
39
+ /**
40
+ * Initialize mobile/viewport detection listeners.
41
+ *
42
+ * Updates the store's mobile state on:
43
+ * - Window resize
44
+ * - Orientation change
45
+ * - Pointer media query change (coarse/fine)
46
+ *
47
+ * @param store - The Zustand store API
48
+ * @returns Cleanup function to remove event listeners
49
+ */
50
+ export declare function initializeMobileDetection(store: StoreApi<ComposedStore>): CleanupFn;
51
+ /**
52
+ * Initialize inspector auto-undock behavior.
53
+ *
54
+ * Automatically undocks the inspector when switching to mobile viewport
55
+ * while the inspector is open and docked.
56
+ *
57
+ * @param store - The Zustand store API
58
+ * @returns Cleanup function to unsubscribe
59
+ */
60
+ export declare function initializeInspectorAutoUndock(store: StoreApi<ComposedStore>): CleanupFn;
61
+ /**
62
+ * Initialize global drag event handlers.
63
+ *
64
+ * Listens for mouse/touch move and end events globally and updates
65
+ * the drag slice accordingly. This eliminates the need for useEffect-based
66
+ * event listeners in individual draggable components.
67
+ *
68
+ * @param store - The Zustand store API
69
+ * @returns Cleanup function to remove event listeners
70
+ */
71
+ export declare function initializeDragHandlers(store: StoreApi<ComposedStore>): CleanupFn;
72
+ /**
73
+ * Initialize category auto-loading behavior.
74
+ *
75
+ * Automatically loads category items when a category is selected in the
76
+ * command palette sidebar. Also loads child categories for parent categories.
77
+ *
78
+ * @param store - The Zustand store API
79
+ * @returns Cleanup function to unsubscribe
80
+ */
81
+ export declare function initializeCategoryAutoLoad(store: StoreApi<ComposedStore>): CleanupFn;
82
+ /**
83
+ * Initialize all store subscriptions.
84
+ *
85
+ * This should be called once when the store is created.
86
+ * Returns a cleanup function that removes all event listeners.
87
+ *
88
+ * @param store - The Zustand store API
89
+ * @param options - Options for which subscriptions to enable
90
+ * @returns Cleanup function to tear down all subscriptions
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const store = createComposedStore();
95
+ * const cleanup = initializeSubscriptions(store);
96
+ *
97
+ * // Later, when shutting down:
98
+ * cleanup();
99
+ * ```
100
+ */
101
+ export declare function initializeSubscriptions(store: StoreApi<ComposedStore>, options?: SubscriptionOptions): CleanupFn;
102
+ //# sourceMappingURL=subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../src/core/store/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAS7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAgBD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,CAqBhD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,SAAS,CA6EX;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,SAAS,CA6BX;AAMD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,SAAS,CAiBX;AAMD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,SAAS,CAkDX;AAMD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC7B,SAAS,CAwBX;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC9B,OAAO,GAAE,mBAAwB,GAChC,SAAS,CA+BX"}