uilint-react 0.2.48 → 0.2.50

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 (174) hide show
  1. package/dist/DevTool.d.ts +1 -2
  2. package/dist/DevTool.d.ts.map +1 -1
  3. package/dist/components/ui-lint/index.d.ts +3 -10
  4. package/dist/components/ui-lint/index.d.ts.map +1 -1
  5. package/dist/consistency/highlights.d.ts.map +1 -1
  6. package/dist/core/index.d.ts +13 -0
  7. package/dist/core/index.d.ts.map +1 -0
  8. package/dist/core/plugin-system/index.d.ts +7 -0
  9. package/dist/core/plugin-system/index.d.ts.map +1 -0
  10. package/dist/core/plugin-system/loader.d.ts +38 -0
  11. package/dist/core/plugin-system/loader.d.ts.map +1 -0
  12. package/dist/core/plugin-system/registry.d.ts +130 -0
  13. package/dist/core/plugin-system/registry.d.ts.map +1 -0
  14. package/dist/core/plugin-system/types.d.ts +353 -0
  15. package/dist/core/plugin-system/types.d.ts.map +1 -0
  16. package/dist/core/services/dom-observer.d.ts +171 -0
  17. package/dist/core/services/dom-observer.d.ts.map +1 -0
  18. package/dist/core/services/index.d.ts +6 -0
  19. package/dist/core/services/index.d.ts.map +1 -0
  20. package/dist/core/services/websocket.d.ts +112 -0
  21. package/dist/core/services/websocket.d.ts.map +1 -0
  22. package/dist/core/store/composed-store.d.ts +212 -0
  23. package/dist/core/store/composed-store.d.ts.map +1 -0
  24. package/dist/core/store/core-slice.d.ts +126 -0
  25. package/dist/core/store/core-slice.d.ts.map +1 -0
  26. package/dist/core/store/index.d.ts +6 -0
  27. package/dist/core/store/index.d.ts.map +1 -0
  28. package/dist/devtools.js +117 -136
  29. package/dist/devtools.js.map +1 -1
  30. package/dist/index.d.ts +4 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1677 -12464
  33. package/dist/index.js.map +1 -1
  34. package/dist/plugins/eslint/commands.d.ts +6 -0
  35. package/dist/plugins/eslint/commands.d.ts.map +1 -0
  36. package/dist/plugins/eslint/index.d.ts +10 -0
  37. package/dist/plugins/eslint/index.d.ts.map +1 -0
  38. package/dist/plugins/eslint/slice.d.ts +66 -0
  39. package/dist/plugins/eslint/slice.d.ts.map +1 -0
  40. package/dist/plugins/eslint/types.d.ts +128 -0
  41. package/dist/plugins/eslint/types.d.ts.map +1 -0
  42. package/dist/plugins/semantic/commands.d.ts +6 -0
  43. package/dist/plugins/semantic/commands.d.ts.map +1 -0
  44. package/dist/plugins/semantic/index.d.ts +15 -0
  45. package/dist/plugins/semantic/index.d.ts.map +1 -0
  46. package/dist/plugins/semantic/slice.d.ts +52 -0
  47. package/dist/plugins/semantic/slice.d.ts.map +1 -0
  48. package/dist/plugins/semantic/types.d.ts +121 -0
  49. package/dist/plugins/semantic/types.d.ts.map +1 -0
  50. package/dist/plugins/vision/commands.d.ts +6 -0
  51. package/dist/plugins/vision/commands.d.ts.map +1 -0
  52. package/dist/plugins/vision/index.d.ts +12 -0
  53. package/dist/plugins/vision/index.d.ts.map +1 -0
  54. package/dist/plugins/vision/slice.d.ts +104 -0
  55. package/dist/plugins/vision/slice.d.ts.map +1 -0
  56. package/dist/plugins/vision/types.d.ts +169 -0
  57. package/dist/plugins/vision/types.d.ts.map +1 -0
  58. package/dist/scanner/vision-capture.d.ts.map +1 -1
  59. package/dist/ui/UILint.d.ts +11 -0
  60. package/dist/ui/UILint.d.ts.map +1 -0
  61. package/dist/ui/components/CommandPalette/CommandPalette.d.ts +3 -0
  62. package/dist/ui/components/CommandPalette/CommandPalette.d.ts.map +1 -0
  63. package/dist/ui/components/CommandPalette/ResultItem.d.ts +9 -0
  64. package/dist/ui/components/CommandPalette/ResultItem.d.ts.map +1 -0
  65. package/dist/ui/components/CommandPalette/SearchInput.d.ts +8 -0
  66. package/dist/ui/components/CommandPalette/SearchInput.d.ts.map +1 -0
  67. package/dist/ui/components/CommandPalette/index.d.ts +2 -0
  68. package/dist/ui/components/CommandPalette/index.d.ts.map +1 -0
  69. package/dist/ui/components/FloatingIcon.d.ts +3 -0
  70. package/dist/ui/components/FloatingIcon.d.ts.map +1 -0
  71. package/dist/ui/components/HeatmapOverlay.d.ts.map +1 -0
  72. package/dist/ui/components/Inspector/ElementDetail.d.ts +8 -0
  73. package/dist/ui/components/Inspector/ElementDetail.d.ts.map +1 -0
  74. package/dist/ui/components/Inspector/InspectorSidebar.d.ts +3 -0
  75. package/dist/ui/components/Inspector/InspectorSidebar.d.ts.map +1 -0
  76. package/dist/ui/components/Inspector/IssueDetail.d.ts +7 -0
  77. package/dist/ui/components/Inspector/IssueDetail.d.ts.map +1 -0
  78. package/dist/ui/components/Inspector/index.d.ts +2 -0
  79. package/dist/ui/components/Inspector/index.d.ts.map +1 -0
  80. package/dist/ui/hooks/index.d.ts +4 -0
  81. package/dist/ui/hooks/index.d.ts.map +1 -0
  82. package/dist/ui/hooks/useElementRects.d.ts +12 -0
  83. package/dist/ui/hooks/useElementRects.d.ts.map +1 -0
  84. package/dist/ui/hooks/useIssues.d.ts +17 -0
  85. package/dist/ui/hooks/useIssues.d.ts.map +1 -0
  86. package/dist/ui/hooks/useKeyboardShortcuts.d.ts +8 -0
  87. package/dist/ui/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  88. package/dist/ui/icons.d.ts +20 -0
  89. package/dist/ui/icons.d.ts.map +1 -0
  90. package/dist/ui/index.d.ts +16 -0
  91. package/dist/ui/index.d.ts.map +1 -0
  92. package/dist/ui/types.d.ts +69 -0
  93. package/dist/ui/types.d.ts.map +1 -0
  94. package/package.json +3 -3
  95. package/dist/components/ui-lint/FloatingIcon.d.ts +0 -3
  96. package/dist/components/ui-lint/FloatingIcon.d.ts.map +0 -1
  97. package/dist/components/ui-lint/HeatmapOverlay.d.ts.map +0 -1
  98. package/dist/components/ui-lint/IndexingIndicator.d.ts +0 -3
  99. package/dist/components/ui-lint/IndexingIndicator.d.ts.map +0 -1
  100. package/dist/components/ui-lint/RegionSelector.d.ts +0 -18
  101. package/dist/components/ui-lint/RegionSelector.d.ts.map +0 -1
  102. package/dist/components/ui-lint/ScreenshotViewer.d.ts +0 -11
  103. package/dist/components/ui-lint/ScreenshotViewer.d.ts.map +0 -1
  104. package/dist/components/ui-lint/UILintUI.d.ts +0 -5
  105. package/dist/components/ui-lint/UILintUI.d.ts.map +0 -1
  106. package/dist/components/ui-lint/VisionIssuesPanel.d.ts +0 -12
  107. package/dist/components/ui-lint/VisionIssuesPanel.d.ts.map +0 -1
  108. package/dist/components/ui-lint/command-palette/CategorySidebar.d.ts +0 -29
  109. package/dist/components/ui-lint/command-palette/CategorySidebar.d.ts.map +0 -1
  110. package/dist/components/ui-lint/command-palette/CommandPalette.d.ts +0 -7
  111. package/dist/components/ui-lint/command-palette/CommandPalette.d.ts.map +0 -1
  112. package/dist/components/ui-lint/command-palette/CommandPaletteInput.d.ts +0 -18
  113. package/dist/components/ui-lint/command-palette/CommandPaletteInput.d.ts.map +0 -1
  114. package/dist/components/ui-lint/command-palette/CommandPaletteItem.d.ts +0 -26
  115. package/dist/components/ui-lint/command-palette/CommandPaletteItem.d.ts.map +0 -1
  116. package/dist/components/ui-lint/command-palette/CommandPaletteResults.d.ts +0 -46
  117. package/dist/components/ui-lint/command-palette/CommandPaletteResults.d.ts.map +0 -1
  118. package/dist/components/ui-lint/command-palette/FilterChips.d.ts +0 -11
  119. package/dist/components/ui-lint/command-palette/FilterChips.d.ts.map +0 -1
  120. package/dist/components/ui-lint/command-palette/RuleDetailItem.d.ts +0 -15
  121. package/dist/components/ui-lint/command-palette/RuleDetailItem.d.ts.map +0 -1
  122. package/dist/components/ui-lint/command-palette/RuleEditor.d.ts +0 -22
  123. package/dist/components/ui-lint/command-palette/RuleEditor.d.ts.map +0 -1
  124. package/dist/components/ui-lint/command-palette/RuleToggleItem.d.ts +0 -20
  125. package/dist/components/ui-lint/command-palette/RuleToggleItem.d.ts.map +0 -1
  126. package/dist/components/ui-lint/command-palette/SourceCodePreview.d.ts +0 -17
  127. package/dist/components/ui-lint/command-palette/SourceCodePreview.d.ts.map +0 -1
  128. package/dist/components/ui-lint/command-palette/icons.d.ts +0 -39
  129. package/dist/components/ui-lint/command-palette/icons.d.ts.map +0 -1
  130. package/dist/components/ui-lint/command-palette/index.d.ts +0 -13
  131. package/dist/components/ui-lint/command-palette/index.d.ts.map +0 -1
  132. package/dist/components/ui-lint/command-palette/types.d.ts +0 -160
  133. package/dist/components/ui-lint/command-palette/types.d.ts.map +0 -1
  134. package/dist/components/ui-lint/command-palette/use-fuzzy-search.d.ts +0 -19
  135. package/dist/components/ui-lint/command-palette/use-fuzzy-search.d.ts.map +0 -1
  136. package/dist/components/ui-lint/command-palette/use-keyboard-navigation.d.ts +0 -10
  137. package/dist/components/ui-lint/command-palette/use-keyboard-navigation.d.ts.map +0 -1
  138. package/dist/components/ui-lint/hooks/index.d.ts +0 -4
  139. package/dist/components/ui-lint/hooks/index.d.ts.map +0 -1
  140. package/dist/components/ui-lint/hooks/useAutoScans.d.ts +0 -5
  141. package/dist/components/ui-lint/hooks/useAutoScans.d.ts.map +0 -1
  142. package/dist/components/ui-lint/hooks/useDevToolEventHandlers.d.ts +0 -5
  143. package/dist/components/ui-lint/hooks/useDevToolEventHandlers.d.ts.map +0 -1
  144. package/dist/components/ui-lint/hooks/useNavigationDetection.d.ts +0 -6
  145. package/dist/components/ui-lint/hooks/useNavigationDetection.d.ts.map +0 -1
  146. package/dist/components/ui-lint/inspector/ElementInspector.d.ts +0 -9
  147. package/dist/components/ui-lint/inspector/ElementInspector.d.ts.map +0 -1
  148. package/dist/components/ui-lint/inspector/FixesInspector.d.ts +0 -6
  149. package/dist/components/ui-lint/inspector/FixesInspector.d.ts.map +0 -1
  150. package/dist/components/ui-lint/inspector/FullFileViewer.d.ts +0 -17
  151. package/dist/components/ui-lint/inspector/FullFileViewer.d.ts.map +0 -1
  152. package/dist/components/ui-lint/inspector/InspectorSidebar.d.ts +0 -12
  153. package/dist/components/ui-lint/inspector/InspectorSidebar.d.ts.map +0 -1
  154. package/dist/components/ui-lint/inspector/IssueInspector.d.ts +0 -12
  155. package/dist/components/ui-lint/inspector/IssueInspector.d.ts.map +0 -1
  156. package/dist/components/ui-lint/inspector/MarkdownRenderer.d.ts +0 -11
  157. package/dist/components/ui-lint/inspector/MarkdownRenderer.d.ts.map +0 -1
  158. package/dist/components/ui-lint/inspector/ResizeHandle.d.ts +0 -19
  159. package/dist/components/ui-lint/inspector/ResizeHandle.d.ts.map +0 -1
  160. package/dist/components/ui-lint/inspector/RuleInspector.d.ts +0 -10
  161. package/dist/components/ui-lint/inspector/RuleInspector.d.ts.map +0 -1
  162. package/dist/components/ui-lint/inspector/index.d.ts +0 -8
  163. package/dist/components/ui-lint/inspector/index.d.ts.map +0 -1
  164. package/dist/components/ui-lint/portal-host.d.ts +0 -3
  165. package/dist/components/ui-lint/portal-host.d.ts.map +0 -1
  166. package/dist/components/ui-lint/store.d.ts +0 -431
  167. package/dist/components/ui-lint/store.d.ts.map +0 -1
  168. package/dist/components/ui-lint/useDOMObserver.d.ts +0 -11
  169. package/dist/components/ui-lint/useDOMObserver.d.ts.map +0 -1
  170. package/dist/index-L3Zm-CoX.js +0 -513
  171. package/dist/index-L3Zm-CoX.js.map +0 -1
  172. package/dist/vision-capture-8mhdjw77.js +0 -235
  173. package/dist/vision-capture-8mhdjw77.js.map +0 -1
  174. /package/dist/{components/ui-lint → ui/components}/HeatmapOverlay.d.ts +0 -0
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Vision Plugin Types
3
+ *
4
+ * Types for AI-powered visual consistency analysis.
5
+ * Extracted from scanner/vision-capture.ts and components/ui-lint/store.ts.
6
+ */
7
+ /**
8
+ * Vision analysis issue from the LLM
9
+ */
10
+ export interface VisionIssue {
11
+ /** Text of the element this issue refers to */
12
+ elementText: string;
13
+ /** Issue description */
14
+ message: string;
15
+ /** Issue category */
16
+ category: "spacing" | "alignment" | "color" | "typography" | "layout" | "contrast" | "visual-hierarchy" | "other";
17
+ /** Severity level */
18
+ severity: "error" | "warning" | "info";
19
+ /** Matched dataLoc from manifest (filled in after text matching) */
20
+ dataLoc?: string;
21
+ /** Matched element ID (filled in after text matching) */
22
+ elementId?: string;
23
+ }
24
+ /**
25
+ * Screenshot capture entry for the gallery
26
+ */
27
+ export interface ScreenshotCapture {
28
+ /** Unique ID for this capture */
29
+ id: string;
30
+ /** Route where the capture was taken */
31
+ route: string;
32
+ /** Base64 data URL of the screenshot (for in-memory captures) */
33
+ dataUrl?: string;
34
+ /** Filename for persisted screenshots (used to fetch from API) */
35
+ filename?: string;
36
+ /** Unix timestamp when captured */
37
+ timestamp: number;
38
+ /** Type of capture */
39
+ type: "full" | "region";
40
+ /** Region bounds if type is 'region' */
41
+ region?: {
42
+ x: number;
43
+ y: number;
44
+ width: number;
45
+ height: number;
46
+ };
47
+ /** Whether this is a persisted screenshot loaded from disk */
48
+ persisted?: boolean;
49
+ /** Vision issues specific to this capture */
50
+ issues?: VisionIssue[];
51
+ }
52
+ /**
53
+ * Auto-scan settings for Vision analysis
54
+ * Persisted to localStorage
55
+ */
56
+ export interface VisionAutoScanSettings {
57
+ /** Auto-capture and analyze on route change */
58
+ onRouteChange: boolean;
59
+ /** Auto-capture and analyze on initial page load */
60
+ onInitialLoad: boolean;
61
+ }
62
+ /**
63
+ * Default vision auto-scan settings
64
+ */
65
+ export declare const DEFAULT_VISION_AUTO_SCAN_SETTINGS: VisionAutoScanSettings;
66
+ /**
67
+ * Vision pipeline stage (for error tracking)
68
+ */
69
+ export type VisionStage = "capture" | "manifest" | "ws" | "vision";
70
+ /**
71
+ * Vision error information with stage context for user-friendly UI
72
+ */
73
+ export interface VisionErrorInfo {
74
+ /** The stage where the error occurred */
75
+ stage: VisionStage;
76
+ /** Human-readable error message */
77
+ message: string;
78
+ /** Route that was being analyzed */
79
+ route: string;
80
+ /** Timestamp of the error */
81
+ timestamp: number;
82
+ }
83
+ /**
84
+ * Region selection bounds for partial screenshot capture
85
+ */
86
+ export interface CaptureRegion {
87
+ x: number;
88
+ y: number;
89
+ width: number;
90
+ height: number;
91
+ }
92
+ /**
93
+ * Capture mode for vision analysis
94
+ */
95
+ export type CaptureMode = "full" | "region";
96
+ /**
97
+ * Element manifest entry for vision analysis
98
+ * (Re-exported from vision-capture for convenience)
99
+ */
100
+ export interface ElementManifest {
101
+ /** Unique ID (data-loc if present, otherwise generated) */
102
+ id: string;
103
+ /** Visible text content (truncated to 100 chars) */
104
+ text: string;
105
+ /** data-loc value: "path:line:column" */
106
+ dataLoc: string;
107
+ /** Bounding rectangle */
108
+ rect: {
109
+ x: number;
110
+ y: number;
111
+ width: number;
112
+ height: number;
113
+ };
114
+ /** HTML tag name */
115
+ tagName: string;
116
+ /** Inferred semantic role (button, heading, link, etc.) */
117
+ role?: string;
118
+ /** Total instances with same dataLoc (if deduplicated) */
119
+ instanceCount?: number;
120
+ }
121
+ /**
122
+ * Vision analysis result
123
+ */
124
+ export interface VisionAnalysisResult {
125
+ /** Route/path that was analyzed */
126
+ route: string;
127
+ /** Timestamp of capture */
128
+ timestamp: number;
129
+ /** Screenshot as base64 data URL */
130
+ screenshotDataUrl?: string;
131
+ /** Element manifest */
132
+ manifest: ElementManifest[];
133
+ /** Issues found by vision analysis */
134
+ issues: VisionIssue[];
135
+ /** Analysis duration in ms */
136
+ analysisTime: number;
137
+ /** Error message if analysis failed */
138
+ error?: string;
139
+ }
140
+ /**
141
+ * Persisted screenshot metadata from the API
142
+ */
143
+ export interface PersistedScreenshotMetadata {
144
+ filename: string;
145
+ timestamp: number;
146
+ screenshotFile: string;
147
+ route: string | null;
148
+ issues: VisionIssue[] | null;
149
+ manifest: unknown | null;
150
+ analysisResult: {
151
+ route: string;
152
+ timestamp: number;
153
+ issues: VisionIssue[];
154
+ analysisTime: number;
155
+ error?: string;
156
+ } | null;
157
+ }
158
+ /**
159
+ * API response for listing screenshots
160
+ */
161
+ export interface ScreenshotListResponse {
162
+ screenshots: Array<{
163
+ filename: string;
164
+ metadata: PersistedScreenshotMetadata | null;
165
+ }>;
166
+ projectRoot: string;
167
+ screenshotsDir: string;
168
+ }
169
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/vision/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vision-capture.d.ts","sourceRoot":"","sources":["../../src/scanner/vision-capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,EACJ,SAAS,GACT,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,kBAAkB,GAElB,OAAO,CAAC;IACZ,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,sCAAsC;IACtC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0KD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,GAAE,OAAuB,EAClC,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC/D,eAAe,EAAE,CA0GnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EAAE,EACrB,QAAQ,EAAE,eAAe,EAAE,GAC1B,WAAW,EAAE,CA0Bf;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAqCzD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDlB;AAyDD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;;;;;;;EASA"}
1
+ {"version":3,"file":"vision-capture.d.ts","sourceRoot":"","sources":["../../src/scanner/vision-capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,EACJ,SAAS,GACT,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,kBAAkB,GAElB,OAAO,CAAC;IACZ,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,sCAAsC;IACtC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0KD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,GAAE,OAAuB,EAClC,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC/D,eAAe,EAAE,CA0GnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EAAE,EACrB,QAAQ,EAAE,eAAe,EAAE,GAC1B,WAAW,EAAE,CA0Bf;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAqCzD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDlB;AAyDD;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;;;;;;;EASA"}
@@ -0,0 +1,11 @@
1
+ export interface UILintProps {
2
+ /** Whether the UI is enabled */
3
+ enabled?: boolean;
4
+ }
5
+ /**
6
+ * Main UILint component
7
+ * Add this to your app to enable the UILint overlay
8
+ */
9
+ export declare function UILint({ enabled }: UILintProps): import("react/jsx-runtime").JSX.Element | null;
10
+ export default UILint;
11
+ //# sourceMappingURL=UILint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UILint.d.ts","sourceRoot":"","sources":["../../src/ui/UILint.tsx"],"names":[],"mappings":"AA8BA,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,OAAc,EAAE,EAAE,WAAW,kDAuBrD;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function CommandPalette(): React.ReactPortal | null;
3
+ //# sourceMappingURL=CommandPalette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAS9D,wBAAgB,cAAc,6BAoJ7B"}
@@ -0,0 +1,9 @@
1
+ import { Issue } from '../../types';
2
+ interface ResultItemProps {
3
+ issue: Issue;
4
+ isSelected: boolean;
5
+ onClick: () => void;
6
+ }
7
+ export declare function ResultItem({ issue, isSelected, onClick }: ResultItemProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=ResultItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultItem.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/ResultItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,UAAU,eAAe;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,eAAe,2CAwDzE"}
@@ -0,0 +1,8 @@
1
+ interface SearchInputProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ placeholder?: string;
5
+ }
6
+ export declare function SearchInput({ value, onChange, placeholder }: SearchInputProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/SearchInput.tsx"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAA8C,EAAE,EAAE,gBAAgB,2CAgDhH"}
@@ -0,0 +1,2 @@
1
+ export { CommandPalette } from './CommandPalette';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/CommandPalette/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function FloatingIcon(): React.ReactPortal;
3
+ //# sourceMappingURL=FloatingIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingIcon.d.ts","sourceRoot":"","sources":["../../../src/ui/components/FloatingIcon.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAkBxE,wBAAgB,YAAY,sBAwI3B"}
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ import { Issue } from '../../types';
2
+ interface ElementDetailProps {
3
+ dataLoc: string;
4
+ onSelectIssue: (issue: Issue) => void;
5
+ }
6
+ export declare function ElementDetail({ dataLoc, onSelectIssue }: ElementDetailProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ElementDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementDetail.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Inspector/ElementDetail.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,kBAAkB,2CA6E3E"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function InspectorSidebar(): React.ReactPortal | null;
3
+ //# sourceMappingURL=InspectorSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorSidebar.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Inspector/InspectorSidebar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,wBAAgB,gBAAgB,6BAuF/B"}
@@ -0,0 +1,7 @@
1
+ import { Issue } from '../../types';
2
+ interface IssueDetailProps {
3
+ issue: Issue;
4
+ }
5
+ export declare function IssueDetail({ issue }: IssueDetailProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=IssueDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IssueDetail.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Inspector/IssueDetail.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,UAAU,gBAAgB;IACxB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,2CAmEtD"}
@@ -0,0 +1,2 @@
1
+ export { InspectorSidebar } from './InspectorSidebar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { useIssues } from './useIssues';
2
+ export { useKeyboardShortcuts } from './useKeyboardShortcuts';
3
+ export { useElementRects } from './useElementRects';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,12 @@
1
+ interface ElementRect {
2
+ dataLoc: string;
3
+ rect: DOMRect;
4
+ element: Element;
5
+ }
6
+ /**
7
+ * Hook that tracks DOM element positions for heatmap overlay
8
+ * @param dataLocs - Set or Map of dataLoc strings to track
9
+ */
10
+ export declare function useElementRects(dataLocs: Set<string> | Map<string, unknown> | undefined): Map<string, ElementRect>;
11
+ export {};
12
+ //# sourceMappingURL=useElementRects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementRects.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useElementRects.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,4BAuEzD"}
@@ -0,0 +1,17 @@
1
+ import { Issue } from '../types';
2
+ /**
3
+ * Hook that aggregates issues from all plugin slices
4
+ */
5
+ export declare function useIssues(): {
6
+ allIssues: Issue[];
7
+ byFile: Map<string, Issue[]>;
8
+ byDataLoc: Map<any, any>;
9
+ getIssuesForDataLoc: (dataLoc: string) => Issue[];
10
+ totalCount: number;
11
+ countBySeverity: {
12
+ error: number;
13
+ warning: number;
14
+ info: number;
15
+ };
16
+ };
17
+ //# sourceMappingURL=useIssues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIssues.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useIssues.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,SAAS;;;;mCAwBX,MAAM,KAAG,KAAK,EAAE;;;;;;;EA2B7B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hook for global keyboard shortcuts
3
+ * - Cmd/Ctrl+K: Toggle command palette
4
+ * - Escape: Close command palette
5
+ * - Alt: Enable heatmap hover details
6
+ */
7
+ export declare function useKeyboardShortcuts(): void;
8
+ //# sourceMappingURL=useKeyboardShortcuts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,oBAAoB,SA8CnC"}
@@ -0,0 +1,20 @@
1
+ interface IconProps {
2
+ size?: number;
3
+ color?: string;
4
+ className?: string;
5
+ }
6
+ export declare function UILintIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function SearchIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function CloseIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function WarningIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ErrorIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function InfoIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function FileIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function RuleIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ChevronRightIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ChevronDownIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function SettingsIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function CheckIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function ConnectionIcon({ size, color, className }: IconProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/ui/icons.tsx"],"names":[],"mappings":"AAIA,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAOrF;AAGD,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAOrF;AAGD,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAOpF;AAGD,wBAAgB,WAAW,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAQtF;AAGD,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAQpF;AAGD,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAQnF;AAGD,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAOnF;AAGD,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAQnF;AAGD,wBAAgB,gBAAgB,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAM3F;AAGD,wBAAgB,eAAe,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAM1F;AAGD,wBAAgB,YAAY,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAOvF;AAGD,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAMpF;AAGD,wBAAgB,cAAc,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,SAAS,EAAE,EAAE,SAAS,2CAQzF"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * UILint React UI
3
+ *
4
+ * Minimal, elegant UI for displaying lint issues as overlays
5
+ */
6
+ export { UILint, type UILintProps } from './UILint';
7
+ export { UILint as default } from './UILint';
8
+ export type { Issue, IssueSeverity, IssueStatus, RawESLintIssue } from './types';
9
+ export { parseDataLoc, createIssueId, severityFromNumber, severityToColor, fromESLintIssue } from './types';
10
+ export { useIssues, useKeyboardShortcuts, useElementRects } from './hooks';
11
+ export { FloatingIcon } from './components/FloatingIcon';
12
+ export { HeatmapOverlay } from './components/HeatmapOverlay';
13
+ export { CommandPalette } from './components/CommandPalette';
14
+ export { InspectorSidebar } from './components/Inspector';
15
+ export * from './icons';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Unified Issue type for UILint UI
3
+ * Replaces: ESLintIssue, ElementIssue, VisionIssue, PluginIssue
4
+ */
5
+ /** Issue severity levels */
6
+ export type IssueSeverity = "error" | "warning" | "info";
7
+ /** Issue scan status for a dataLoc */
8
+ export type IssueStatus = "pending" | "scanning" | "complete" | "error";
9
+ /**
10
+ * Unified Issue type - single representation used everywhere
11
+ */
12
+ export interface Issue {
13
+ /** Unique ID: `${pluginId}:${ruleId}:${dataLoc}:${line}` */
14
+ id: string;
15
+ /** Issue message */
16
+ message: string;
17
+ /** Severity level */
18
+ severity: IssueSeverity;
19
+ /** Source location key (format: "path:line:column") */
20
+ dataLoc: string;
21
+ /** Rule ID that generated this issue */
22
+ ruleId: string;
23
+ /** Plugin that provided this issue */
24
+ pluginId: string;
25
+ /** Source file path */
26
+ filePath: string;
27
+ /** Line number (1-indexed) */
28
+ line: number;
29
+ /** Column number (1-indexed, optional) */
30
+ column?: number;
31
+ /** Additional metadata */
32
+ metadata?: Record<string, unknown>;
33
+ }
34
+ /** Raw ESLint issue from WebSocket */
35
+ export interface RawESLintIssue {
36
+ line: number;
37
+ column?: number;
38
+ message: string;
39
+ ruleId?: string;
40
+ dataLoc?: string;
41
+ severity?: 1 | 2;
42
+ }
43
+ /**
44
+ * Parse dataLoc string into components
45
+ * Format: "path:line:column" or "path:line"
46
+ */
47
+ export declare function parseDataLoc(dataLoc: string): {
48
+ filePath: string;
49
+ line: number;
50
+ column: number;
51
+ };
52
+ /**
53
+ * Create unique issue ID
54
+ */
55
+ export declare function createIssueId(pluginId: string, ruleId: string, dataLoc: string, line: number): string;
56
+ /**
57
+ * Convert severity number to string
58
+ */
59
+ export declare function severityFromNumber(num: 1 | 2 | number): IssueSeverity;
60
+ /**
61
+ * Get CSS color for severity
62
+ */
63
+ export declare function severityToColor(severity: IssueSeverity): string;
64
+ /**
65
+ * Convert raw ESLint issue to unified Issue
66
+ * Returns null if issue is invalid
67
+ */
68
+ export declare function fromESLintIssue(raw: RawESLintIssue, pluginId?: string): Issue | null;
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ui/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4BAA4B;AAC5B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAMA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,aAAa,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAS/D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,QAAQ,GAAE,MAAiB,GAC1B,KAAK,GAAG,IAAI,CAmBd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilint-react",
3
- "version": "0.2.48",
3
+ "version": "0.2.50",
4
4
  "description": "React component for AI-powered UI consistency checking",
5
5
  "author": "Peter Suggate",
6
6
  "repository": {
@@ -47,8 +47,8 @@
47
47
  "react-use-measure": "^2.1.7",
48
48
  "tw-animate-css": "^1.4.0",
49
49
  "zustand": "^5.0.10",
50
- "uilint-core": "0.2.48",
51
- "uilint-eslint": "0.2.48"
50
+ "uilint-core": "0.2.50",
51
+ "uilint-eslint": "0.2.50"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "^19.0.0",
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- export declare function FloatingIcon(): React.ReactPortal | null;
3
- //# sourceMappingURL=FloatingIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FloatingIcon.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/FloatingIcon.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAoCjF,wBAAgB,YAAY,6BA+S3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeatmapOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/HeatmapOverlay.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAsCxE,wBAAgB,cAAc,6BA8R7B"}
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- export declare function IndexingIndicator(): React.ReactPortal | null;
3
- //# sourceMappingURL=IndexingIndicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IndexingIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/IndexingIndicator.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,wBAAgB,iBAAiB,6BA2FhC"}
@@ -1,18 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface SelectedRegion {
3
- x: number;
4
- y: number;
5
- width: number;
6
- height: number;
7
- }
8
- interface RegionSelectorProps {
9
- /** Whether the selector is active */
10
- active: boolean;
11
- /** Called when a region is selected (on mouse up) */
12
- onRegionSelected: (region: SelectedRegion) => void;
13
- /** Called when selection is cancelled (Escape key) */
14
- onCancel: () => void;
15
- }
16
- export declare function RegionSelector({ active, onRegionSelected, onCancel, }: RegionSelectorProps): React.ReactPortal | null;
17
- export {};
18
- //# sourceMappingURL=RegionSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegionSelector.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/RegionSelector.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAIxE,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,UAAU,mBAAmB;IAC3B,qCAAqC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,sDAAsD;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAaD,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,gBAAgB,EAChB,QAAQ,GACT,EAAE,mBAAmB,4BAuNrB"}
@@ -1,11 +0,0 @@
1
- import { default as React } from 'react';
2
- interface ScreenshotViewerProps {
3
- show: boolean;
4
- onClose: () => void;
5
- }
6
- /**
7
- * Screenshot Viewer Component
8
- */
9
- export declare function ScreenshotViewer({ show, onClose }: ScreenshotViewerProps): React.ReactPortal | null;
10
- export {};
11
- //# sourceMappingURL=ScreenshotViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScreenshotViewer.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/ScreenshotViewer.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAsBrD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,qBAAqB,4BAmcxE"}
@@ -1,5 +0,0 @@
1
- /**
2
- * UI components rendered when UILint is active
3
- */
4
- export declare function UILintUI(): import("react/jsx-runtime").JSX.Element | null;
5
- //# sourceMappingURL=UILintUI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UILintUI.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/UILintUI.tsx"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAgB,QAAQ,mDA6DvB"}
@@ -1,12 +0,0 @@
1
- interface VisionIssuesPanelProps {
2
- show: boolean;
3
- onClose: () => void;
4
- /** If true, renders inline instead of as a portal */
5
- embedded?: boolean;
6
- }
7
- /**
8
- * Vision Issues Panel Component
9
- */
10
- export declare function VisionIssuesPanel({ show, onClose, embedded, }: VisionIssuesPanelProps): import("react/jsx-runtime").JSX.Element | null;
11
- export {};
12
- //# sourceMappingURL=VisionIssuesPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VisionIssuesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/VisionIssuesPanel.tsx"],"names":[],"mappings":"AAgZA,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,QAAgB,GACjB,EAAE,sBAAsB,kDA0exB"}