uilint-react 0.2.88 → 0.2.89
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/dist/core/store/category-slice.d.ts +87 -0
- package/dist/core/store/category-slice.d.ts.map +1 -0
- package/dist/core/store/composed-store.d.ts +4 -2
- package/dist/core/store/composed-store.d.ts.map +1 -1
- package/dist/devtools.js +81 -81
- package/dist/devtools.js.map +1 -1
- package/dist/index.js +3314 -3423
- package/dist/index.js.map +1 -1
- package/dist/ui/components/CommandPalette/CategorySidebar.d.ts +1 -1
- package/dist/ui/components/CommandPalette/CategorySidebar.d.ts.map +1 -1
- package/dist/ui/components/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/ui/components/CommandPalette/MobileCategoryTabs.d.ts +1 -1
- package/dist/ui/components/CommandPalette/MobileCategoryTabs.d.ts.map +1 -1
- package/dist/ui/hooks/index.d.ts +1 -1
- package/dist/ui/hooks/index.d.ts.map +1 -1
- package/dist/ui/hooks/useCategoryRegistry.d.ts +29 -3
- package/dist/ui/hooks/useCategoryRegistry.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { StateCreator } from 'zustand';
|
|
2
|
+
import { CategoryProvider, CategoryItem, CategoryLoadingState, CategoryPriority, PluginServices, Plugin } from '../plugin-system/types';
|
|
3
|
+
/**
|
|
4
|
+
* Cached category data with loading state.
|
|
5
|
+
*/
|
|
6
|
+
export interface CategoryCache {
|
|
7
|
+
/** Loaded items (empty until loaded) */
|
|
8
|
+
items: CategoryItem[];
|
|
9
|
+
/** Current loading state */
|
|
10
|
+
state: CategoryLoadingState;
|
|
11
|
+
/** Timestamp when items were loaded */
|
|
12
|
+
loadedAt: number;
|
|
13
|
+
/** Error message if loading failed */
|
|
14
|
+
error?: string;
|
|
15
|
+
/** Item count (may be available before items are loaded) */
|
|
16
|
+
count?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A category node for the sidebar tree structure.
|
|
20
|
+
*/
|
|
21
|
+
export interface CategoryNode {
|
|
22
|
+
/** Category ID */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Display label */
|
|
25
|
+
label: string;
|
|
26
|
+
/** Item count (undefined if not yet loaded) */
|
|
27
|
+
count?: number;
|
|
28
|
+
/** Whether the category is currently loading */
|
|
29
|
+
isLoading: boolean;
|
|
30
|
+
/** Child categories (for plugin grouping) */
|
|
31
|
+
children?: CategoryNode[];
|
|
32
|
+
/** Parent plugin ID */
|
|
33
|
+
parentId?: string;
|
|
34
|
+
/** Load priority */
|
|
35
|
+
priority: CategoryPriority;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Category registry slice state and actions.
|
|
39
|
+
*/
|
|
40
|
+
export interface CategorySlice {
|
|
41
|
+
/** Registered category providers */
|
|
42
|
+
categoryProviders: Map<string, CategoryProvider>;
|
|
43
|
+
/** Cache for loaded items */
|
|
44
|
+
categoryCache: Map<string, CategoryCache>;
|
|
45
|
+
/** Active loading promises (for deduplication) */
|
|
46
|
+
categoryLoadingPromises: Map<string, Promise<CategoryItem[]>>;
|
|
47
|
+
/** Plugin services reference */
|
|
48
|
+
categoryServices: PluginServices | null;
|
|
49
|
+
/** Computed category tree for sidebar display */
|
|
50
|
+
categoryTree: CategoryNode[];
|
|
51
|
+
/** Initialize the category registry with services */
|
|
52
|
+
initializeCategoryRegistry: (services: PluginServices) => void;
|
|
53
|
+
/** Register a category provider */
|
|
54
|
+
registerCategoryProvider: (provider: CategoryProvider) => void;
|
|
55
|
+
/** Unregister a category provider */
|
|
56
|
+
unregisterCategoryProvider: (providerId: string) => void;
|
|
57
|
+
/** Register all category providers from a plugin */
|
|
58
|
+
registerCategoryProvidersFromPlugin: (plugin: Plugin) => void;
|
|
59
|
+
/** Load items for a category (async, updates state when done) */
|
|
60
|
+
loadCategoryItems: (categoryId: string) => Promise<CategoryItem[]>;
|
|
61
|
+
/** Invalidate cache for one or all categories */
|
|
62
|
+
invalidateCategoryCache: (categoryId?: string) => void;
|
|
63
|
+
/** Search items across categories */
|
|
64
|
+
searchCategoryItems: (query: string, categoryId?: string) => CategoryItem[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create the category registry slice.
|
|
68
|
+
*/
|
|
69
|
+
export declare const createCategorySlice: StateCreator<CategorySlice>;
|
|
70
|
+
/**
|
|
71
|
+
* Selector to get cached items for a category.
|
|
72
|
+
* Use with: useComposedStore((s) => selectCategoryItems(s, categoryId))
|
|
73
|
+
*/
|
|
74
|
+
export declare function selectCategoryItems(state: CategorySlice, categoryId: string | null): CategoryItem[];
|
|
75
|
+
/**
|
|
76
|
+
* Selector to check if a category is loading.
|
|
77
|
+
*/
|
|
78
|
+
export declare function selectCategoryIsLoading(state: CategorySlice, categoryId: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Selector to check if any category is loading.
|
|
81
|
+
*/
|
|
82
|
+
export declare function selectAnyCategoryLoading(state: CategorySlice): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Selector to build the category tree for the sidebar.
|
|
85
|
+
*/
|
|
86
|
+
export declare function selectCategoryTree(state: CategorySlice): CategoryNode[];
|
|
87
|
+
//# sourceMappingURL=category-slice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category-slice.d.ts","sourceRoot":"","sources":["../../../src/core/store/category-slice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StoreApi, UseBoundStore } from 'zustand';
|
|
2
2
|
import { CoreSlice } from './core-slice';
|
|
3
|
+
import { CategorySlice } from './category-slice';
|
|
3
4
|
import { PluginRegistry } from '../plugin-system/registry';
|
|
4
5
|
import { PluginServices, WebSocketService, DOMObserverService } from '../plugin-system/types';
|
|
5
6
|
import { ESLintPluginSlice } from '../../plugins/eslint/slice';
|
|
@@ -42,9 +43,10 @@ export interface PluginSlices {
|
|
|
42
43
|
/**
|
|
43
44
|
* The composed store state combines:
|
|
44
45
|
* 1. CoreSlice - Core UI state (floating icon, command palette, inspector, etc.)
|
|
45
|
-
* 2.
|
|
46
|
+
* 2. CategorySlice - Category provider state for command palette sidebar
|
|
47
|
+
* 3. PluginSlices - Namespaced plugin state accessible via `plugins.{pluginId}`
|
|
46
48
|
*/
|
|
47
|
-
export type ComposedState = CoreSlice & PluginSlices;
|
|
49
|
+
export type ComposedState = CoreSlice & CategorySlice & PluginSlices;
|
|
48
50
|
/**
|
|
49
51
|
* Actions for managing the composed store
|
|
50
52
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composed-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/composed-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAU,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"composed-store.d.ts","sourceRoot":"","sources":["../../../src/core/store/composed-store.ts"],"names":[],"mappings":"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"}
|