uilint-react 0.2.58 → 0.2.60

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/vision/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAqC,MAAM,gCAAgC,CAAC;AAEhG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,CAyL5C,CAAC;AAGF,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAExH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/vision/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAoD,MAAM,gCAAgC,CAAC;AAE/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA0F3C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,CA4N5C,CAAC;AAGF,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAExH,eAAe,YAAY,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { VisionIssue, ScreenshotCapture, VisionAutoScanSettings, VisionErrorInfo, VisionAnalysisResult, CaptureMode, CaptureRegion } from './types';
2
+ import { PluginServices } from '../../core/plugin-system/types';
2
3
  /**
3
4
  * Vision plugin state
4
5
  */
5
6
  export interface VisionSliceState {
7
+ /** Whether vision/LLM capability is available (Ollama connected and model available) */
8
+ visionAvailable: boolean;
6
9
  /** Whether vision analysis is in progress */
7
10
  visionAnalyzing: boolean;
8
11
  /** Current vision analysis progress phase */
@@ -38,6 +41,8 @@ export interface VisionSliceState {
38
41
  * Vision plugin actions
39
42
  */
40
43
  export interface VisionSliceActions {
44
+ /** Set vision availability status (based on LLM/Ollama connection) */
45
+ setVisionAvailable: (available: boolean) => void;
41
46
  /** Trigger vision analysis for current page */
42
47
  triggerVisionAnalysis: () => Promise<void>;
43
48
  /** Clear vision results */
@@ -101,4 +106,18 @@ export declare function saveVisionAutoScanSettings(settings: VisionAutoScanSetti
101
106
  * @param get - Zustand get function
102
107
  */
103
108
  export declare function createVisionSlice(set: <T>(partial: T | Partial<T> | ((state: T) => T | Partial<T>), replace?: boolean) => void, get: () => VisionSlice): VisionSlice;
109
+ /**
110
+ * Create the triggerVisionAnalysis function that integrates with PluginServices
111
+ *
112
+ * This factory creates a function that:
113
+ * 1. Captures a screenshot (full page or region based on state)
114
+ * 2. Builds an element manifest
115
+ * 3. Sends the screenshot to the server for saving
116
+ * 4. Waits for the saved filename
117
+ * 5. Sends the analysis request
118
+ *
119
+ * @param services - Plugin services providing WebSocket and state access
120
+ * @returns The triggerVisionAnalysis async function
121
+ */
122
+ export declare function createTriggerVisionAnalysis(services: PluginServices): () => Promise<void>;
104
123
  //# sourceMappingURL=slice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../../../src/plugins/vision/slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../../../src/plugins/vision/slice.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UILint.d.ts","sourceRoot":"","sources":["../../src/ui/UILint.tsx"],"names":[],"mappings":"AA4CA,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,OAAc,EAAE,EAAE,WAAW,kDA0BrD;AAED,eAAe,MAAM,CAAC"}
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 +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;AA2BxE,wBAAgB,YAAY,sBAgO3B"}
1
+ {"version":3,"file":"FloatingIcon.d.ts","sourceRoot":"","sources":["../../../src/ui/components/FloatingIcon.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAmD,MAAM,OAAO,CAAC;AA0FxE,wBAAgB,YAAY,sBAiU3B"}
@@ -0,0 +1,18 @@
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
+ export 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 or too small selection) */
14
+ onCancel: () => void;
15
+ }
16
+ export declare function RegionSelector({ active, onRegionSelected, onCancel, }: RegionSelectorProps): React.ReactPortal | null;
17
+ export default RegionSelector;
18
+ //# sourceMappingURL=RegionSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionSelector.d.ts","sourceRoot":"","sources":["../../../src/ui/components/RegionSelector.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,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;AAgBD,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,gBAAgB,EAChB,QAAQ,GACT,EAAE,mBAAmB,4BA0NrB;AAED,eAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilint-react",
3
- "version": "0.2.58",
3
+ "version": "0.2.60",
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-eslint": "0.2.58",
51
- "uilint-core": "0.2.58"
50
+ "uilint-core": "0.2.60",
51
+ "uilint-eslint": "0.2.60"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "^19.0.0",
@@ -57,6 +57,8 @@
57
57
  "devDependencies": {
58
58
  "@eslint/js": "^9.39.2",
59
59
  "@tailwindcss/postcss": "^4.1.18",
60
+ "@testing-library/dom": "^10.4.1",
61
+ "@testing-library/react": "^16.3.1",
60
62
  "@types/jsdom": "^27.0.0",
61
63
  "@types/react": "^19.2.8",
62
64
  "@types/react-dom": "^19.2.3",