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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/semantic/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,mBAAmB,CAgLtD,CAAC;AAEF,eAAe,cAAc,CAAC;AAG9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/semantic/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,mBAAmB,CAuLtD,CAAC;AAEF,eAAe,cAAc,CAAC;AAG9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ interface DuplicateSimilarityBadgeProps {
2
+ /** Similarity score as a decimal (0-1) or percentage (0-100) */
3
+ similarity: number;
4
+ /** Optional custom className */
5
+ className?: string;
6
+ }
7
+ /**
8
+ * Get color based on similarity percentage
9
+ */
10
+ export declare function getSimilarityColor(percentage: number): {
11
+ bg: string;
12
+ text: string;
13
+ border: string;
14
+ };
15
+ /**
16
+ * Get label based on similarity percentage
17
+ */
18
+ export declare function getSimilarityLabel(percentage: number): string;
19
+ export declare function DuplicateSimilarityBadge({ similarity, className, }: DuplicateSimilarityBadgeProps): import("react/jsx-runtime").JSX.Element;
20
+ export default DuplicateSimilarityBadge;
21
+ //# sourceMappingURL=DuplicateSimilarityBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DuplicateSimilarityBadge.d.ts","sourceRoot":"","sources":["../../../../src/plugins/semantic/panels/DuplicateSimilarityBadge.tsx"],"names":[],"mappings":"AAUA,UAAU,6BAA6B;IACrC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAoBA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,SAAS,GACV,EAAE,6BAA6B,2CAwC/B;AAED,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { InspectorPanelProps } from '../../../core/plugin-system/types';
2
+ export declare function DuplicatesInspectorPanel({ data, services }: InspectorPanelProps): import("react/jsx-runtime").JSX.Element;
3
+ /**
4
+ * Panel title function
5
+ */
6
+ export declare function getDuplicatesPanelTitle(): string;
7
+ export default DuplicatesInspectorPanel;
8
+ //# sourceMappingURL=DuplicatesInspectorPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DuplicatesInspectorPanel.d.ts","sourceRoot":"","sources":["../../../../src/plugins/semantic/panels/DuplicatesInspectorPanel.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAyG7E,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAoO/E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+ import { DiffLine } from './useDiffHighlights';
3
+ interface ScrollableCodeSectionProps {
4
+ /** Section label ("This Code" | "Similar Code") */
5
+ label: string;
6
+ /** Icon to show next to label */
7
+ icon: ReactNode;
8
+ /** File path to display */
9
+ filePath: string;
10
+ /** Full source code string */
11
+ code: string;
12
+ /** Starting line number (1-indexed) */
13
+ startLine: number;
14
+ /** Ending line number (1-indexed) */
15
+ endLine: number;
16
+ /** Line to center on initially (1-indexed) */
17
+ focusLine: number;
18
+ /** Pre-computed diff highlights (optional) */
19
+ diffLines?: DiffLine[];
20
+ /** Callback when file path is clicked */
21
+ onNavigate?: () => void;
22
+ /** Maximum height for the code section */
23
+ maxHeight?: number;
24
+ }
25
+ export declare function ScrollableCodeSection({ label, icon, filePath, code, startLine, endLine, focusLine, diffLines, onNavigate, maxHeight, }: ScrollableCodeSectionProps): import("react/jsx-runtime").JSX.Element;
26
+ export default ScrollableCodeSection;
27
+ //# sourceMappingURL=ScrollableCodeSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollableCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/plugins/semantic/panels/ScrollableCodeSection.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,UAAU,0BAA0B;IAClC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAe,GAChB,EAAE,0BAA0B,2CA6Q5B;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Semantic Plugin Panels
3
+ *
4
+ * Inspector panels for the semantic analysis plugin.
5
+ */
6
+ export { DuplicatesInspectorPanel, getDuplicatesPanelTitle } from './DuplicatesInspectorPanel';
7
+ export { DuplicateSimilarityBadge } from './DuplicateSimilarityBadge';
8
+ export { ScrollableCodeSection } from './ScrollableCodeSection';
9
+ export { useDiffHighlights, getSegmentOpacity } from './useDiffHighlights';
10
+ export type { DiffSegment, DiffLine, DiffHighlightsResult } from './useDiffHighlights';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/semantic/panels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * A segment of text with its diff type
3
+ */
4
+ export interface DiffSegment {
5
+ /** The text content */
6
+ text: string;
7
+ /** Type of segment: match (in both), source-only, or target-only */
8
+ type: "match" | "source-only" | "target-only";
9
+ }
10
+ /**
11
+ * Line with diff segments for rendering
12
+ */
13
+ export interface DiffLine {
14
+ /** Line number (1-indexed) */
15
+ lineNumber: number;
16
+ /** Segments within this line */
17
+ segments: DiffSegment[];
18
+ /** Whether this line has any differences */
19
+ hasDiff: boolean;
20
+ }
21
+ /**
22
+ * Result of diff computation
23
+ */
24
+ export interface DiffHighlightsResult {
25
+ /** Lines for the source code with diff segments */
26
+ sourceLines: DiffLine[];
27
+ /** Lines for the target code with diff segments */
28
+ targetLines: DiffLine[];
29
+ /** Whether diff was computed (false if code too large) */
30
+ computed: boolean;
31
+ }
32
+ /**
33
+ * Hook to compute diff highlights between source and target code
34
+ *
35
+ * @param sourceCode - The source code string
36
+ * @param targetCode - The target code string
37
+ * @returns Diff highlights for both source and target
38
+ */
39
+ export declare function useDiffHighlights(sourceCode: string, targetCode: string): DiffHighlightsResult;
40
+ /**
41
+ * Get opacity for a diff segment type
42
+ */
43
+ export declare function getSegmentOpacity(type: DiffSegment["type"]): number;
44
+ export default useDiffHighlights;
45
+ //# sourceMappingURL=useDiffHighlights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDiffHighlights.d.ts","sourceRoot":"","sources":["../../../../src/plugins/semantic/panels/useDiffHighlights.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,mDAAmD;IACnD,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAsEtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAEnE;AAED,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UILint.d.ts","sourceRoot":"","sources":["../../src/ui/UILint.tsx"],"names":[],"mappings":"AAgDA,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,OAAc,EAAE,EAAE,WAAW,kDA4DrD;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"UILint.d.ts","sourceRoot":"","sources":["../../src/ui/UILint.tsx"],"names":[],"mappings":"AAkDA,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,OAAc,EAAE,EAAE,WAAW,kDA4DrD;AAED,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AAwRzE,wBAAgB,cAAc,sBAylB7B"}
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AAwRpD,wBAAgB,cAAc,sBA8kB7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollSelectedIntoView.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/useScrollSelectedIntoView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzC;;;;GAIG;AAEH,UAAU,0BAA0B;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,0BAA0B,CAiB3F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAWvE"}
1
+ {"version":3,"file":"useScrollSelectedIntoView.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/useScrollSelectedIntoView.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzC;;;;GAIG;AAEH,UAAU,0BAA0B;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,0BAA0B,CAkB3F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAWvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingIcon.d.ts","sourceRoot":"","sources":["../../../src/ui/components/FloatingIcon.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAA+D,MAAM,OAAO,CAAC;AA4QpF,wBAAgB,YAAY,6BA+X3B"}
1
+ {"version":3,"file":"FloatingIcon.d.ts","sourceRoot":"","sources":["../../../src/ui/components/FloatingIcon.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAoE,MAAM,OAAO,CAAC;AAoOzF,wBAAgB,YAAY,6BAkW3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeatmapOverlay.d.ts","sourceRoot":"","sources":["../../../src/ui/components/HeatmapOverlay.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAyGvC,wBAAgB,cAAc,6BA6D7B"}
1
+ {"version":3,"file":"HeatmapOverlay.d.ts","sourceRoot":"","sources":["../../../src/ui/components/HeatmapOverlay.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAyGvC,wBAAgB,cAAc,6BAoF7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"InspectorSidebar.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Inspector/InspectorSidebar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAkBjF,wBAAgB,gBAAgB,sBA4W/B"}
1
+ {"version":3,"file":"InspectorSidebar.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Inspector/InspectorSidebar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAqE,MAAM,OAAO,CAAC;AAiB1F,wBAAgB,gBAAgB,sBA2U/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegionSelector.d.ts","sourceRoot":"","sources":["../../../src/ui/components/RegionSelector.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAA6C,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAuED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,gBAAgB,EAChB,QAAQ,GACT,EAAE,mBAAmB,4BAgNrB;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RegionSelector.d.ts","sourceRoot":"","sources":["../../../src/ui/components/RegionSelector.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAA8D,MAAM,OAAO,CAAC;AAGnF,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAuED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,gBAAgB,EAChB,QAAQ,GACT,EAAE,mBAAmB,4BAiNrB;AAED,eAAe,cAAc,CAAC"}
@@ -1,8 +1,6 @@
1
1
  export { useIssues } from './useIssues';
2
- export { useKeyboardShortcuts } from './useKeyboardShortcuts';
3
2
  export { useElementRects } from './useElementRects';
4
3
  export { useSourceCode } from './useSourceCode';
5
4
  export { useCategoryRegistry, useCategoryItems, useCategoryItemsDirect, useLoadCategoryItems, useLoadCategoryWithChildren, type UseCategoryRegistryReturn, } from './useCategoryRegistry';
6
- export { useIsMobile, BREAKPOINTS } from './useIsMobile';
7
- export { useTouchDrag } from './useTouchDrag';
5
+ export { BREAKPOINTS } from '../../core/store/core-slice';
8
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
@@ -7,7 +7,7 @@ export { UILint, type UILintProps } from './UILint';
7
7
  export { UILint as default } from './UILint';
8
8
  export type { Issue, IssueSeverity, IssueStatus, RawESLintIssue } from './types';
9
9
  export { parseDataLoc, createIssueId, severityFromNumber, severityToColor, fromESLintIssue } from './types';
10
- export { useIssues, useKeyboardShortcuts, useElementRects } from './hooks';
10
+ export { useIssues, useElementRects } from './hooks';
11
11
  export { FloatingIcon } from './components/FloatingIcon';
12
12
  export { HeatmapOverlay } from './components/HeatmapOverlay';
13
13
  export { CommandPalette } from './components/CommandPalette';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAG7C,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAG7C,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilint-react",
3
- "version": "0.2.91",
3
+ "version": "0.2.93",
4
4
  "description": "React component for AI-powered UI consistency checking",
5
5
  "author": "Peter Suggate",
6
6
  "repository": {
@@ -39,6 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@emotion/is-prop-valid": "^1.4.0",
42
+ "diff": "^7.0.0",
42
43
  "@radix-ui/react-scroll-area": "^1.2.10",
43
44
  "@radix-ui/react-slot": "^1.2.4",
44
45
  "class-variance-authority": "^0.7.1",
@@ -47,8 +48,8 @@
47
48
  "react-use-measure": "^2.1.7",
48
49
  "tw-animate-css": "^1.4.0",
49
50
  "zustand": "^5.0.10",
50
- "uilint-eslint": "0.2.91",
51
- "uilint-core": "0.2.91"
51
+ "uilint-core": "0.2.93",
52
+ "uilint-eslint": "0.2.93"
52
53
  },
53
54
  "peerDependencies": {
54
55
  "react": "^19.0.0",
@@ -56,6 +57,7 @@
56
57
  },
57
58
  "devDependencies": {
58
59
  "@eslint/js": "^9.39.2",
60
+ "@types/diff": "^7.0.0",
59
61
  "@tailwindcss/postcss": "^4.1.18",
60
62
  "@testing-library/dom": "^10.4.1",
61
63
  "@testing-library/react": "^16.3.1",
@@ -1,14 +0,0 @@
1
- interface MobileState {
2
- isMobile: boolean;
3
- isTablet: boolean;
4
- isTouchDevice: boolean;
5
- isSmallScreen: boolean;
6
- }
7
- export declare const BREAKPOINTS: {
8
- readonly sm: 640;
9
- readonly md: 768;
10
- readonly lg: 1024;
11
- };
12
- export declare function useIsMobile(): MobileState;
13
- export {};
14
- //# sourceMappingURL=useIsMobile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsMobile.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useIsMobile.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,WAAW;;;;CAId,CAAC;AA+BX,wBAAgB,WAAW,IAAI,WAAW,CAyBzC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Hook for global keyboard shortcuts
3
- * - Cmd/Ctrl+K: Toggle command palette
4
- * - Cmd/Ctrl+Shift+C: Vision capture full page
5
- * - Cmd/Ctrl+Shift+R: Vision capture region
6
- * - Escape: Close command palette
7
- * - Alt: Enable heatmap hover details
8
- */
9
- export declare function useKeyboardShortcuts(): void;
10
- //# sourceMappingURL=useKeyboardShortcuts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,SA+EnC"}
@@ -1,19 +0,0 @@
1
- interface Position {
2
- x: number;
3
- y: number;
4
- }
5
- interface UseTouchDragOptions {
6
- onDragStart?: (position: Position) => void;
7
- onDragMove?: (position: Position, delta: Position) => void;
8
- onDragEnd?: (position: Position, velocity: Position) => void;
9
- threshold?: number;
10
- }
11
- export declare function useTouchDrag(options?: UseTouchDragOptions): {
12
- isDragging: boolean;
13
- handlers: {
14
- onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void;
15
- onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void;
16
- };
17
- };
18
- export {};
19
- //# sourceMappingURL=useTouchDrag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTouchDrag.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useTouchDrag.ts"],"names":[],"mappings":"AAKA,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AASD,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB;;;yBAkGtD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;0BAAnC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;;EAuB1C"}