uilint-react 0.2.8 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -31
- package/dist/DevTool.d.ts +3 -3
- package/dist/DevTool.d.ts.map +1 -1
- package/dist/components/ui-lint/ElementBadges.d.ts.map +1 -1
- package/dist/components/ui-lint/InspectionPanel.d.ts.map +1 -1
- package/dist/components/ui-lint/LocatorOverlay.d.ts.map +1 -1
- package/dist/components/ui-lint/ScanResultsPopover.d.ts.map +1 -1
- package/dist/components/ui-lint/UILintUI.d.ts +5 -0
- package/dist/components/ui-lint/UILintUI.d.ts.map +1 -0
- package/dist/components/ui-lint/hooks/index.d.ts +4 -0
- package/dist/components/ui-lint/hooks/index.d.ts.map +1 -0
- package/dist/components/ui-lint/hooks/useAutoScans.d.ts +5 -0
- package/dist/components/ui-lint/hooks/useAutoScans.d.ts.map +1 -0
- package/dist/components/ui-lint/hooks/useDevToolEventHandlers.d.ts +5 -0
- package/dist/components/ui-lint/hooks/useDevToolEventHandlers.d.ts.map +1 -0
- package/dist/components/ui-lint/hooks/useNavigationDetection.d.ts +6 -0
- package/dist/components/ui-lint/hooks/useNavigationDetection.d.ts.map +1 -0
- package/dist/components/ui-lint/index.d.ts +1 -2
- package/dist/components/ui-lint/index.d.ts.map +1 -1
- package/dist/components/ui-lint/store.d.ts +18 -6
- package/dist/components/ui-lint/store.d.ts.map +1 -1
- package/dist/components/ui-lint/toolbar/icons.d.ts +4 -0
- package/dist/components/ui-lint/toolbar/icons.d.ts.map +1 -1
- package/dist/components/ui-lint/toolbar/index.d.ts.map +1 -1
- package/dist/components/ui-lint/toolbar/tabs/ConfigureTab.d.ts.map +1 -1
- package/dist/components/ui-lint/toolbar/tabs/ESLintTab.d.ts.map +1 -1
- package/dist/components/ui-lint/toolbar/tabs/VisionTab.d.ts.map +1 -1
- package/dist/components/ui-lint/types.d.ts +80 -35
- package/dist/components/ui-lint/types.d.ts.map +1 -1
- package/dist/devtools-types.d.ts +31 -0
- package/dist/devtools.js +93 -93
- package/dist/devtools.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12953 -42
- package/dist/index.js.map +1 -1
- package/dist/scanner/vision-capture.d.ts +1 -1
- package/dist/scanner/vision-capture.d.ts.map +1 -1
- package/dist/{vision-capture-EIrYA_XF.js → vision-capture-l4ZJB8M8.js} +89 -76
- package/dist/vision-capture-l4ZJB8M8.js.map +1 -0
- package/package.json +5 -4
- package/dist/ElementBadges-H5_y7fLt.js +0 -672
- package/dist/ElementBadges-H5_y7fLt.js.map +0 -1
- package/dist/VisionIssueBadge-Bw_1zmLh.js +0 -154
- package/dist/VisionIssueBadge-Bw_1zmLh.js.map +0 -1
- package/dist/components/ui-lint/UILintProvider.d.ts +0 -11
- package/dist/components/ui-lint/UILintProvider.d.ts.map +0 -1
- package/dist/index-Cu1-cGo1.js +0 -12839
- package/dist/index-Cu1-cGo1.js.map +0 -1
- package/dist/vision-capture-EIrYA_XF.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ React component for AI-powered UI consistency checking in running applications.
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
`uilint-react` provides the
|
|
7
|
+
`uilint-react` provides the `<uilint-devtools>` web component that enables element inspection and LLM-powered code analysis in your React/Next.js application.
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
@@ -20,27 +20,42 @@ npx uilint install
|
|
|
20
20
|
|
|
21
21
|
## Usage in a Running App
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Add the devtools web component to your app:
|
|
24
24
|
|
|
25
25
|
### Next.js Setup
|
|
26
26
|
|
|
27
27
|
```tsx
|
|
28
28
|
// app/layout.tsx
|
|
29
|
-
import
|
|
29
|
+
import "uilint-react/devtools";
|
|
30
30
|
|
|
31
31
|
export default function RootLayout({ children }) {
|
|
32
32
|
return (
|
|
33
33
|
<html>
|
|
34
34
|
<body>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
</UILintProvider>
|
|
35
|
+
{children}
|
|
36
|
+
<uilint-devtools />
|
|
38
37
|
</body>
|
|
39
38
|
</html>
|
|
40
39
|
);
|
|
41
40
|
}
|
|
42
41
|
```
|
|
43
42
|
|
|
43
|
+
### Vite Setup
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
// src/main.tsx
|
|
47
|
+
import "uilint-react/devtools";
|
|
48
|
+
import { createRoot } from "react-dom/client";
|
|
49
|
+
import App from "./App";
|
|
50
|
+
|
|
51
|
+
createRoot(document.getElementById("root")!).render(
|
|
52
|
+
<>
|
|
53
|
+
<App />
|
|
54
|
+
<uilint-devtools />
|
|
55
|
+
</>
|
|
56
|
+
);
|
|
57
|
+
```
|
|
58
|
+
|
|
44
59
|
### Features
|
|
45
60
|
|
|
46
61
|
- **Alt+Click** on any element to open the inspector sidebar
|
|
@@ -50,11 +65,13 @@ export default function RootLayout({ children }) {
|
|
|
50
65
|
- **Scan with LLM** - analyze the component for style issues
|
|
51
66
|
- **Copy fix prompt** - paste into Cursor agent for automatic fixes
|
|
52
67
|
|
|
53
|
-
###
|
|
68
|
+
### Web Component Attributes
|
|
54
69
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
| `enabled`
|
|
70
|
+
| Attribute | Type | Default | Description |
|
|
71
|
+
| ---------- | --------- | --------------- | ------------------------------------- |
|
|
72
|
+
| `enabled` | `string` | `"true"` | Enable/disable UILint ("true"/"false")|
|
|
73
|
+
| `position` | `string` | `"bottom-left"` | Toolbar position |
|
|
74
|
+
| `theme` | `string` | `"system"` | Theme ("light", "dark", "system") |
|
|
58
75
|
|
|
59
76
|
### API Routes
|
|
60
77
|
|
|
@@ -103,30 +120,17 @@ test("custom adapter usage", async () => {
|
|
|
103
120
|
|
|
104
121
|
## API
|
|
105
122
|
|
|
106
|
-
###
|
|
107
|
-
|
|
108
|
-
```tsx
|
|
109
|
-
interface UILintProviderProps {
|
|
110
|
-
enabled?: boolean;
|
|
111
|
-
children: React.ReactNode;
|
|
112
|
-
}
|
|
123
|
+
### Zustand Store (Direct Access)
|
|
113
124
|
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### useUILintContext
|
|
125
|
+
For advanced use cases, you can access the UILint state directly via the Zustand store:
|
|
118
126
|
|
|
119
127
|
```tsx
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
settings
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
locatorTarget: LocatorTarget | null;
|
|
127
|
-
inspectedElement: InspectedElement | null;
|
|
128
|
-
setInspectedElement: (element: InspectedElement | null) => void;
|
|
129
|
-
// ... additional context values
|
|
128
|
+
import { useUILintStore } from "uilint-react";
|
|
129
|
+
|
|
130
|
+
function MyComponent() {
|
|
131
|
+
const settings = useUILintStore((s) => s.settings);
|
|
132
|
+
const inspectedElement = useUILintStore((s) => s.inspectedElement);
|
|
133
|
+
// ... use store state
|
|
130
134
|
}
|
|
131
135
|
```
|
|
132
136
|
|
package/dist/DevTool.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ export type DevToolProps = {
|
|
|
4
4
|
/**
|
|
5
5
|
* Main devtool React root.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Handles all UILint functionality including event handlers,
|
|
8
|
+
* WebSocket connection, auto-scans, and UI rendering.
|
|
9
9
|
*/
|
|
10
|
-
export declare function DevTool({ enabled }: DevToolProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function DevTool({ enabled }: DevToolProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
11
|
//# sourceMappingURL=DevTool.d.ts.map
|
package/dist/DevTool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevTool.d.ts","sourceRoot":"","sources":["../src/DevTool.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevTool.d.ts","sourceRoot":"","sources":["../src/DevTool.tsx"],"names":[],"mappings":"AA2BA,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,OAAc,EAAE,EAAE,YAAY,kDAsFvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementBadges.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/ElementBadges.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ElementBadges.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/ElementBadges.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AAiJzE;;GAEG;AACH,wBAAgB,aAAa,6BAiP5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InspectionPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/InspectionPanel.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InspectionPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/InspectionPanel.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AA+Bf;;GAEG;AACH,wBAAgB,eAAe,6BAoX9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocatorOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/LocatorOverlay.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LocatorOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/LocatorOverlay.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAe5D;;GAEG;AACH,wBAAgB,cAAc,6BA6D7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,6BA+DnC;AA6DD;;GAEG;AACH,wBAAgB,yBAAyB,6BA8ExC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScanResultsPopover.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/ScanResultsPopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScanResultsPopover.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/ScanResultsPopover.tsx"],"names":[],"mappings":"AAqDA,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,2CA8VtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UILintUI.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/UILintUI.tsx"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAgB,QAAQ,mDAuEvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoScans.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/hooks/useAutoScans.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,QAoHhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDevToolEventHandlers.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/hooks/useDevToolEventHandlers.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QA6KvD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to detect navigation changes
|
|
3
|
+
* Monitors pathname changes and fires callback with debounce
|
|
4
|
+
*/
|
|
5
|
+
export declare function useNavigationDetection(enabled: boolean, onNavigate: (route: string, previousRoute: string | null) => void): void;
|
|
6
|
+
//# sourceMappingURL=useNavigationDetection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNavigationDetection.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/hooks/useNavigationDetection.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,QAwDlE"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* A dev overlay for inspecting React components and analyzing code with LLM.
|
|
5
5
|
* Use Alt+Click on any element to open the inspector sidebar.
|
|
6
6
|
*/
|
|
7
|
-
export { UILintProvider, useUILintContext } from './UILintProvider';
|
|
8
7
|
export { useUILintStore } from './store';
|
|
9
8
|
export type { UILintStore } from './store';
|
|
10
9
|
export { UILintToolbar } from './toolbar';
|
|
@@ -16,7 +15,7 @@ export { ScreenshotViewer } from './ScreenshotViewer';
|
|
|
16
15
|
export { scanDOMForSources, groupBySourceFile, cleanupDataAttributes, getElementById, updateElementRects, buildEditorUrl, isNodeModulesPath, getDisplayName, getSourceFromDataLoc, } from './dom-utils';
|
|
17
16
|
export { useDOMObserver, getDataLocElementCount } from './useDOMObserver';
|
|
18
17
|
export { fetchSource, fetchSourceWithContext, clearSourceCache, getCachedSource, prefetchSources, } from './source-fetcher';
|
|
19
|
-
export type { SourceLocation, ScannedElement, SourceFile, UILintSettings,
|
|
18
|
+
export type { SourceLocation, ScannedElement, SourceFile, UILintSettings, SourceApiResponse, CachedSource, LocatorTarget, InspectedElement, VisionIssue, VisionAnalysisResult, ElementManifest, } from './types';
|
|
20
19
|
export { FILE_COLORS, DEFAULT_SETTINGS, DATA_UILINT_ID } from './types';
|
|
21
20
|
export { collectElementManifest, captureScreenshot, getCurrentRoute, matchIssuesToManifest, } from '../../scanner/vision-capture';
|
|
22
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGxE,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,GACtB,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UILintSettings, LocatorTarget, InspectedElement, AutoScanState, ElementIssue, ScannedElement, ESLintIssue } from './types';
|
|
1
|
+
import { UILintSettings, LocatorTarget, InspectedElement, AutoScanState, ElementIssue, ScannedElement, ESLintIssue, AutoScanSettings, ScreenshotCapture } from './types';
|
|
2
2
|
import { VisionIssue, VisionAnalysisResult } from '../../scanner/vision-capture';
|
|
3
3
|
type VisionStage = "capture" | "manifest" | "ws" | "vision";
|
|
4
4
|
export type VisionErrorInfo = {
|
|
@@ -53,6 +53,13 @@ type ServerMessage = LintResultMessage | LintProgressMessage | FileChangedMessag
|
|
|
53
53
|
export interface UILintStore {
|
|
54
54
|
settings: UILintSettings;
|
|
55
55
|
updateSettings: (partial: Partial<UILintSettings>) => void;
|
|
56
|
+
/** Auto-scan settings (persisted to localStorage) */
|
|
57
|
+
autoScanSettings: AutoScanSettings;
|
|
58
|
+
/** Update auto-scan settings (persists to localStorage) */
|
|
59
|
+
updateAutoScanSettings: (partial: Partial<{
|
|
60
|
+
eslint: Partial<AutoScanSettings["eslint"]>;
|
|
61
|
+
vision: Partial<AutoScanSettings["vision"]>;
|
|
62
|
+
}>) => void;
|
|
56
63
|
altKeyHeld: boolean;
|
|
57
64
|
setAltKeyHeld: (held: boolean) => void;
|
|
58
65
|
locatorTarget: LocatorTarget | null;
|
|
@@ -126,11 +133,10 @@ export interface UILintStore {
|
|
|
126
133
|
visionResult: VisionAnalysisResult | null;
|
|
127
134
|
/** Vision issues cache by route */
|
|
128
135
|
visionIssuesCache: Map<string, VisionIssue[]>;
|
|
129
|
-
/** Screenshot
|
|
130
|
-
screenshotHistory: Map<string,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}>;
|
|
136
|
+
/** Screenshot gallery - captures with unique IDs, supports both full-page and region */
|
|
137
|
+
screenshotHistory: Map<string, ScreenshotCapture>;
|
|
138
|
+
/** Currently selected screenshot ID for gallery display */
|
|
139
|
+
selectedScreenshotId: string | null;
|
|
134
140
|
/** Current route being analyzed or last analyzed */
|
|
135
141
|
visionCurrentRoute: string | null;
|
|
136
142
|
/** Highlighted vision issue element ID (for click-to-highlight) */
|
|
@@ -181,6 +187,12 @@ export interface UILintStore {
|
|
|
181
187
|
width: number;
|
|
182
188
|
height: number;
|
|
183
189
|
} | null) => void;
|
|
190
|
+
/** Set selected screenshot ID for gallery display */
|
|
191
|
+
setSelectedScreenshotId: (id: string | null) => void;
|
|
192
|
+
/** Whether persisted screenshots are being loaded */
|
|
193
|
+
loadingPersistedScreenshots: boolean;
|
|
194
|
+
/** Fetch persisted screenshots from disk (via API) */
|
|
195
|
+
fetchPersistedScreenshots: () => Promise<void>;
|
|
184
196
|
_setScanState: (state: Partial<AutoScanState>) => void;
|
|
185
197
|
_runScanLoop: (elements: ScannedElement[]) => Promise<void>;
|
|
186
198
|
_handleWsMessage: (data: ServerMessage) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,WAAW,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,10 @@ export declare const Icons: {
|
|
|
24
24
|
Grid: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
25
|
Contrast: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
26
|
AlertCircle: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
CheckCircle: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
Image: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
ChevronLeft: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
Plus: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
31
|
};
|
|
28
32
|
export {};
|
|
29
33
|
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/toolbar/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,SAAU,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;CAAG;AAE5D;;GAEG;AACH,eAAO,MAAM,KAAK;iBACH,SAAS;sBAgBJ,SAAS;mBAgBZ,SAAS;2BAeD,SAAS;yBAiBX,SAAS;eAenB,SAAS;oBAgBJ,SAAS;kBAmBX,SAAS;oBAmBP,SAAS;kBAgBX,SAAS;qBAgBN,SAAS;kBAgBZ,SAAS;oBAeP,SAAS;kBAiBX,SAAS;qBAiBN,SAAS;uBAeP,SAAS;kBAkBd,SAAS;sBAkBL,SAAS;yBAgBN,SAAS;
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/toolbar/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,SAAU,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;CAAG;AAE5D;;GAEG;AACH,eAAO,MAAM,KAAK;iBACH,SAAS;sBAgBJ,SAAS;mBAgBZ,SAAS;2BAeD,SAAS;yBAiBX,SAAS;eAenB,SAAS;oBAgBJ,SAAS;kBAmBX,SAAS;oBAmBP,SAAS;kBAgBX,SAAS;qBAgBN,SAAS;kBAgBZ,SAAS;oBAeP,SAAS;kBAiBX,SAAS;qBAiBN,SAAS;uBAeP,SAAS;kBAkBd,SAAS;sBAkBL,SAAS;yBAgBN,SAAS;yBAiBT,SAAS;mBAgBf,SAAS;yBAiBH,SAAS;kBAehB,SAAS;CAgBxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/toolbar/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui-lint/toolbar/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAQxE,wBAAgB,aAAa,6BA6J5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigureTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui-lint/toolbar/tabs/ConfigureTab.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigureTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui-lint/toolbar/tabs/ConfigureTab.tsx"],"names":[],"mappings":"AAgFA,wBAAgB,YAAY,4CA+I3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESLintTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui-lint/toolbar/tabs/ESLintTab.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ESLintTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui-lint/toolbar/tabs/ESLintTab.tsx"],"names":[],"mappings":"AAsCA,wBAAgB,SAAS,4CAuOxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisionTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui-lint/toolbar/tabs/VisionTab.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VisionTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui-lint/toolbar/tabs/VisionTab.tsx"],"names":[],"mappings":"AA6fA,wBAAgB,SAAS,4CA2HxB"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Types for UILint Source Visualization
|
|
3
|
-
*/
|
|
1
|
+
import { VisionIssue } from '../../scanner/vision-capture';
|
|
4
2
|
/**
|
|
5
3
|
* Source location from data-loc attribute
|
|
6
4
|
*/
|
|
@@ -42,6 +40,85 @@ export interface UILintSettings {
|
|
|
42
40
|
hideNodeModules: boolean;
|
|
43
41
|
autoScanEnabled: boolean;
|
|
44
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Auto-scan settings for ESLint and Vision analysis
|
|
45
|
+
* Persisted to localStorage
|
|
46
|
+
*/
|
|
47
|
+
export interface AutoScanSettings {
|
|
48
|
+
eslint: {
|
|
49
|
+
/** Auto-scan when page first loads */
|
|
50
|
+
onPageLoad: boolean;
|
|
51
|
+
/** Re-scan when files change (existing behavior) */
|
|
52
|
+
onFileChange: boolean;
|
|
53
|
+
};
|
|
54
|
+
vision: {
|
|
55
|
+
/** Auto-capture and analyze on route change */
|
|
56
|
+
onRouteChange: boolean;
|
|
57
|
+
/** Auto-capture and analyze on initial page load */
|
|
58
|
+
onInitialLoad: boolean;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Default auto-scan settings
|
|
63
|
+
*/
|
|
64
|
+
export declare const DEFAULT_AUTO_SCAN_SETTINGS: AutoScanSettings;
|
|
65
|
+
/**
|
|
66
|
+
* Screenshot capture entry for the gallery
|
|
67
|
+
*/
|
|
68
|
+
export interface ScreenshotCapture {
|
|
69
|
+
/** Unique ID for this capture */
|
|
70
|
+
id: string;
|
|
71
|
+
/** Route where the capture was taken */
|
|
72
|
+
route: string;
|
|
73
|
+
/** Base64 data URL of the screenshot (for in-memory captures) */
|
|
74
|
+
dataUrl?: string;
|
|
75
|
+
/** Filename for persisted screenshots (used to fetch from API) */
|
|
76
|
+
filename?: string;
|
|
77
|
+
/** Unix timestamp when captured */
|
|
78
|
+
timestamp: number;
|
|
79
|
+
/** Type of capture */
|
|
80
|
+
type: "full" | "region";
|
|
81
|
+
/** Region bounds if type is 'region' */
|
|
82
|
+
region?: {
|
|
83
|
+
x: number;
|
|
84
|
+
y: number;
|
|
85
|
+
width: number;
|
|
86
|
+
height: number;
|
|
87
|
+
};
|
|
88
|
+
/** Whether this is a persisted screenshot loaded from disk */
|
|
89
|
+
persisted?: boolean;
|
|
90
|
+
/** Vision issues specific to this capture */
|
|
91
|
+
issues?: VisionIssue[];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Persisted screenshot metadata from the API
|
|
95
|
+
*/
|
|
96
|
+
export interface PersistedScreenshotMetadata {
|
|
97
|
+
filename: string;
|
|
98
|
+
timestamp: number;
|
|
99
|
+
screenshotFile: string;
|
|
100
|
+
route: string | null;
|
|
101
|
+
issues: VisionIssue[] | null;
|
|
102
|
+
manifest: unknown | null;
|
|
103
|
+
analysisResult: {
|
|
104
|
+
route: string;
|
|
105
|
+
timestamp: number;
|
|
106
|
+
issues: VisionIssue[];
|
|
107
|
+
analysisTime: number;
|
|
108
|
+
error?: string;
|
|
109
|
+
} | null;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* API response for listing screenshots
|
|
113
|
+
*/
|
|
114
|
+
export interface ScreenshotListResponse {
|
|
115
|
+
screenshots: Array<{
|
|
116
|
+
filename: string;
|
|
117
|
+
metadata: PersistedScreenshotMetadata | null;
|
|
118
|
+
}>;
|
|
119
|
+
projectRoot: string;
|
|
120
|
+
screenshotsDir: string;
|
|
121
|
+
}
|
|
45
122
|
/**
|
|
46
123
|
* State for the auto-scan feature
|
|
47
124
|
*/
|
|
@@ -100,38 +177,6 @@ export interface FileIssue {
|
|
|
100
177
|
filePath: string;
|
|
101
178
|
issues: ESLintIssue[];
|
|
102
179
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Context value provided by UILintProvider
|
|
105
|
-
*/
|
|
106
|
-
export interface UILintContextValue {
|
|
107
|
-
settings: UILintSettings;
|
|
108
|
-
updateSettings: (settings: Partial<UILintSettings>) => void;
|
|
109
|
-
/** True when Alt/Option key is held down */
|
|
110
|
-
altKeyHeld: boolean;
|
|
111
|
-
/** Current element under cursor when Alt is held */
|
|
112
|
-
locatorTarget: LocatorTarget | null;
|
|
113
|
-
/** Element currently being inspected in sidebar */
|
|
114
|
-
inspectedElement: InspectedElement | null;
|
|
115
|
-
/** Set the element to inspect (opens sidebar) */
|
|
116
|
-
setInspectedElement: (element: InspectedElement | null) => void;
|
|
117
|
-
/** Whether live scanning is enabled */
|
|
118
|
-
liveScanEnabled: boolean;
|
|
119
|
-
/** Auto-scan state (for progress tracking) */
|
|
120
|
-
autoScanState: AutoScanState;
|
|
121
|
-
/** Cache of element issues from scanning */
|
|
122
|
-
elementIssuesCache: Map<string, ElementIssue>;
|
|
123
|
-
/** Enable live scanning */
|
|
124
|
-
enableLiveScan: () => void;
|
|
125
|
-
/** Disable live scanning */
|
|
126
|
-
disableLiveScan: () => void;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Props for the UILintProvider component
|
|
130
|
-
*/
|
|
131
|
-
export interface UILintProviderProps {
|
|
132
|
-
children: React.ReactNode;
|
|
133
|
-
enabled?: boolean;
|
|
134
|
-
}
|
|
135
180
|
/**
|
|
136
181
|
* Response from the source API
|
|
137
182
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ui-lint/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type declarations for the <uilint-devtools> custom element.
|
|
3
|
+
*
|
|
4
|
+
* This extends React.JSX.IntrinsicElements to allow using the web component in TSX.
|
|
5
|
+
* Works with React 19 and Next.js.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { DetailedHTMLProps, HTMLAttributes } from "react";
|
|
9
|
+
|
|
10
|
+
declare global {
|
|
11
|
+
namespace React {
|
|
12
|
+
namespace JSX {
|
|
13
|
+
interface IntrinsicElements {
|
|
14
|
+
"uilint-devtools": DetailedHTMLProps<
|
|
15
|
+
HTMLAttributes<HTMLElement> & {
|
|
16
|
+
enabled?: string;
|
|
17
|
+
position?:
|
|
18
|
+
| "bottom-left"
|
|
19
|
+
| "bottom-right"
|
|
20
|
+
| "top-left"
|
|
21
|
+
| "top-right";
|
|
22
|
+
theme?: "light" | "dark" | "system";
|
|
23
|
+
},
|
|
24
|
+
HTMLElement
|
|
25
|
+
>;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export {};
|