uidex 0.6.0 → 0.7.0
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 +3 -3
- package/dist/cli/cli.cjs +1510 -1244
- package/dist/cli/cli.cjs.map +1 -1
- package/dist/cloud/index.cjs +385 -175
- package/dist/cloud/index.cjs.map +1 -1
- package/dist/cloud/index.d.cts +192 -4
- package/dist/cloud/index.d.ts +192 -4
- package/dist/cloud/index.js +377 -177
- package/dist/cloud/index.js.map +1 -1
- package/dist/headless/index.cjs +82 -255
- package/dist/headless/index.cjs.map +1 -1
- package/dist/headless/index.d.cts +5 -11
- package/dist/headless/index.d.ts +5 -11
- package/dist/headless/index.js +82 -257
- package/dist/headless/index.js.map +1 -1
- package/dist/index.cjs +721 -1053
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +149 -160
- package/dist/index.d.ts +149 -160
- package/dist/index.js +741 -1068
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +729 -1000
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +99 -86
- package/dist/react/index.d.ts +99 -86
- package/dist/react/index.js +745 -1015
- package/dist/react/index.js.map +1 -1
- package/dist/scan/index.cjs +1518 -1237
- package/dist/scan/index.cjs.map +1 -1
- package/dist/scan/index.d.cts +209 -12
- package/dist/scan/index.d.ts +209 -12
- package/dist/scan/index.js +1515 -1236
- package/dist/scan/index.js.map +1 -1
- package/package.json +22 -21
- package/templates/claude/SKILL.md +71 -0
- package/templates/claude/references/audit.md +43 -0
- package/templates/claude/{rules.md → references/conventions.md} +25 -28
- package/templates/claude/audit.md +0 -43
- /package/templates/claude/{api.md → references/api.md} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -110,7 +110,7 @@ interface Registry {
|
|
|
110
110
|
setReports(kind: EntityKind, id: string, reports: readonly ReportRecord[]): void;
|
|
111
111
|
getReports(kind: EntityKind, id: string): readonly ReportRecord[];
|
|
112
112
|
listReportKeys(): readonly string[];
|
|
113
|
-
|
|
113
|
+
closeReport?: (reportId: string, status?: string) => void | Promise<void>;
|
|
114
114
|
onReportsChange(cb: () => void): () => void;
|
|
115
115
|
}
|
|
116
116
|
declare function createRegistry(): Registry;
|
|
@@ -127,110 +127,6 @@ declare const KIND_STYLE: Record<EntityKind, KindStyleEntry>;
|
|
|
127
127
|
declare function prettify(id: string): string;
|
|
128
128
|
declare function displayName(entity: Entity, node?: Element | null): string;
|
|
129
129
|
|
|
130
|
-
interface UserIdentity {
|
|
131
|
-
id: string;
|
|
132
|
-
name?: string;
|
|
133
|
-
avatar?: string;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
type ThemePreference = "light" | "dark" | "auto";
|
|
137
|
-
type ResolvedTheme = "light" | "dark";
|
|
138
|
-
interface ViewStackEntry {
|
|
139
|
-
id: string;
|
|
140
|
-
ref: EntityRef | null;
|
|
141
|
-
}
|
|
142
|
-
interface SessionSnapshot {
|
|
143
|
-
hover: EntityRef | null;
|
|
144
|
-
selection: EntityRef | null;
|
|
145
|
-
stack: ViewStackEntry[];
|
|
146
|
-
/** Sticky overlay highlight. Set by "Highlight Element" actions; cleared on Esc. */
|
|
147
|
-
pinnedHighlight: EntityRef | null;
|
|
148
|
-
inspectorActive: boolean;
|
|
149
|
-
theme: ThemePreference;
|
|
150
|
-
resolvedTheme: ResolvedTheme;
|
|
151
|
-
ingestActive: boolean;
|
|
152
|
-
/**
|
|
153
|
-
* Identity for the local user. Set once at session creation; gates realtime
|
|
154
|
-
* features (cursor labels, presence) and auto-populates report attribution.
|
|
155
|
-
*/
|
|
156
|
-
user: UserIdentity | null;
|
|
157
|
-
}
|
|
158
|
-
type SessionState = SessionSnapshot;
|
|
159
|
-
|
|
160
|
-
interface NavigationState {
|
|
161
|
-
stack: ViewStackEntry[];
|
|
162
|
-
}
|
|
163
|
-
interface NavigationActions {
|
|
164
|
-
push(entry: ViewStackEntry): void;
|
|
165
|
-
pop(): void;
|
|
166
|
-
replace(entry: ViewStackEntry): void;
|
|
167
|
-
clear(): void;
|
|
168
|
-
reset(stack: ViewStackEntry[]): void;
|
|
169
|
-
}
|
|
170
|
-
type NavigationStore = StoreApi<NavigationState> & {
|
|
171
|
-
nav: NavigationActions;
|
|
172
|
-
};
|
|
173
|
-
declare function createNavigationStore(): NavigationStore;
|
|
174
|
-
|
|
175
|
-
type SurfaceMode = "idle" | "inspecting" | "palette" | "viewing";
|
|
176
|
-
interface ModeSnapshot {
|
|
177
|
-
mode: SurfaceMode;
|
|
178
|
-
inspectorActive: boolean;
|
|
179
|
-
}
|
|
180
|
-
interface ModeBindings {
|
|
181
|
-
mountInspector?: () => void;
|
|
182
|
-
destroyInspector?: () => void;
|
|
183
|
-
}
|
|
184
|
-
interface ModeTransitions {
|
|
185
|
-
openPalette(): void;
|
|
186
|
-
openInspector(): void;
|
|
187
|
-
closeInspector(): void;
|
|
188
|
-
toggleInspector(): void;
|
|
189
|
-
enterViewing(initialStack: ViewStackEntry[]): void;
|
|
190
|
-
dismiss(): void;
|
|
191
|
-
popOrTransition(): void;
|
|
192
|
-
pushView(entry: ViewStackEntry): void;
|
|
193
|
-
}
|
|
194
|
-
type ModeStore = StoreApi<ModeSnapshot> & {
|
|
195
|
-
transition: ModeTransitions;
|
|
196
|
-
};
|
|
197
|
-
interface CreateModeStoreOptions {
|
|
198
|
-
nav: NavigationStore;
|
|
199
|
-
bindings?: ModeBindings;
|
|
200
|
-
}
|
|
201
|
-
declare function createModeStore(options: CreateModeStoreOptions): ModeStore;
|
|
202
|
-
|
|
203
|
-
interface HighlightContext {
|
|
204
|
-
ref: EntityRef | null;
|
|
205
|
-
element: HTMLElement | null;
|
|
206
|
-
pinnedRef: EntityRef | null;
|
|
207
|
-
color: string | null;
|
|
208
|
-
}
|
|
209
|
-
interface HighlightActions {
|
|
210
|
-
hover(ref: EntityRef, element?: HTMLElement | null, color?: string | null): void;
|
|
211
|
-
unhover(): void;
|
|
212
|
-
pin(ref?: EntityRef): void;
|
|
213
|
-
unpin(): void;
|
|
214
|
-
}
|
|
215
|
-
type SessionStore = StoreApi<SessionState> & {
|
|
216
|
-
readonly nav: NavigationStore;
|
|
217
|
-
readonly mode: ModeStore;
|
|
218
|
-
readonly highlight: HighlightActions;
|
|
219
|
-
select(ref: EntityRef | null): void;
|
|
220
|
-
setTheme(theme: ThemePreference, resolved?: ResolvedTheme): void;
|
|
221
|
-
setIngest(active: boolean): void;
|
|
222
|
-
};
|
|
223
|
-
interface CreateSessionOptions extends Partial<SessionSnapshot> {
|
|
224
|
-
detectTheme?: () => ResolvedTheme;
|
|
225
|
-
onMountInspector?: () => void;
|
|
226
|
-
onDestroyInspector?: () => void;
|
|
227
|
-
onShowOverlay?: (context: HighlightContext) => void;
|
|
228
|
-
onHideOverlay?: () => void;
|
|
229
|
-
onUpdateOverlay?: (context: HighlightContext) => void;
|
|
230
|
-
}
|
|
231
|
-
declare function resolveTheme(preference: ThemePreference, detect?: () => ResolvedTheme): ResolvedTheme;
|
|
232
|
-
declare function createSession(options?: CreateSessionOptions): SessionStore;
|
|
233
|
-
|
|
234
130
|
type ConsoleLevel = "warn" | "error";
|
|
235
131
|
interface ConsoleEntry {
|
|
236
132
|
level: ConsoleLevel;
|
|
@@ -275,7 +171,12 @@ interface NetworkCapture {
|
|
|
275
171
|
declare function createNetworkCapture(options?: NetworkCaptureOptions): NetworkCapture;
|
|
276
172
|
|
|
277
173
|
declare const nativeFetch: typeof fetch | undefined;
|
|
278
|
-
|
|
174
|
+
|
|
175
|
+
interface UserIdentity {
|
|
176
|
+
id: string;
|
|
177
|
+
name?: string;
|
|
178
|
+
avatar?: string;
|
|
179
|
+
}
|
|
279
180
|
|
|
280
181
|
type RealtimePresenceUser = {
|
|
281
182
|
userId: string;
|
|
@@ -294,6 +195,8 @@ interface RealtimeChannel {
|
|
|
294
195
|
joinRoute(route: string): void;
|
|
295
196
|
onPresence(cb: (users: RealtimePresenceUser[]) => void): () => void;
|
|
296
197
|
onPin(cb: (pin: PinRecord) => void): () => void;
|
|
198
|
+
/** Optional so pre-existing channel stubs keep satisfying the interface. */
|
|
199
|
+
onPinArchived?(cb: (reportId: string) => void): () => void;
|
|
297
200
|
}
|
|
298
201
|
interface CloudAdapter<TPayload = ReportPayload, TResult = ReportResult, TIntegrations = {
|
|
299
202
|
getConfig(): Promise<IngestConfig>;
|
|
@@ -315,8 +218,17 @@ interface CloudAdapter<TPayload = ReportPayload, TResult = ReportResult, TIntegr
|
|
|
315
218
|
route?: string;
|
|
316
219
|
entities?: string;
|
|
317
220
|
}): Promise<PinRecord[]>;
|
|
318
|
-
|
|
221
|
+
/**
|
|
222
|
+
* Pin records travel without their screenshot (kept out of `pins.list`
|
|
223
|
+
* so multi-MB frames don't stall the shared socket); the report detail
|
|
224
|
+
* view fetches it lazily through here. Optional for host-provided
|
|
225
|
+
* adapters that inline screenshots on the record instead.
|
|
226
|
+
*/
|
|
227
|
+
screenshot?(reportId: string): Promise<string | null>;
|
|
228
|
+
close(reportId: string, reason?: ArchiveReason): Promise<void>;
|
|
319
229
|
};
|
|
230
|
+
/** Closes the adapter's shared socket. Any later RPC call revives it. */
|
|
231
|
+
dispose?(): void;
|
|
320
232
|
}
|
|
321
233
|
|
|
322
234
|
interface IngestOptions {
|
|
@@ -335,12 +247,104 @@ interface Ingest {
|
|
|
335
247
|
readonly console: ConsoleCapture | null;
|
|
336
248
|
readonly network: NetworkCapture | null;
|
|
337
249
|
}
|
|
338
|
-
|
|
339
|
-
session?: SessionStore;
|
|
340
|
-
}
|
|
250
|
+
type CreateIngestOptions = IngestOptions;
|
|
341
251
|
declare function createIngest(options?: CreateIngestOptions): Ingest;
|
|
342
252
|
declare function resolveIngestOptions(explicit: IngestOptions | null | undefined, hasCloud: boolean): IngestOptions | null;
|
|
343
253
|
|
|
254
|
+
type ThemePreference = "light" | "dark" | "auto";
|
|
255
|
+
type ResolvedTheme = "light" | "dark";
|
|
256
|
+
interface ViewStackEntry {
|
|
257
|
+
id: string;
|
|
258
|
+
ref: EntityRef | null;
|
|
259
|
+
}
|
|
260
|
+
interface SessionSnapshot {
|
|
261
|
+
stack: ViewStackEntry[];
|
|
262
|
+
/** Sticky overlay highlight. Set by "Highlight Element" actions; cleared on Esc. */
|
|
263
|
+
pinnedHighlight: EntityRef | null;
|
|
264
|
+
/** Mirrored from the mode store; the surface mode the session is currently in. */
|
|
265
|
+
mode: SurfaceMode;
|
|
266
|
+
theme: ThemePreference;
|
|
267
|
+
resolvedTheme: ResolvedTheme;
|
|
268
|
+
/**
|
|
269
|
+
* Identity for the local user. Set once at session creation; gates realtime
|
|
270
|
+
* features (cursor labels, presence) and auto-populates report attribution.
|
|
271
|
+
*/
|
|
272
|
+
user: UserIdentity | null;
|
|
273
|
+
}
|
|
274
|
+
type SessionState = SessionSnapshot;
|
|
275
|
+
|
|
276
|
+
interface NavigationState {
|
|
277
|
+
stack: ViewStackEntry[];
|
|
278
|
+
}
|
|
279
|
+
interface NavigationActions {
|
|
280
|
+
push(entry: ViewStackEntry): void;
|
|
281
|
+
pop(): void;
|
|
282
|
+
clear(): void;
|
|
283
|
+
reset(stack: ViewStackEntry[]): void;
|
|
284
|
+
}
|
|
285
|
+
type NavigationStore = StoreApi<NavigationState> & {
|
|
286
|
+
nav: NavigationActions;
|
|
287
|
+
};
|
|
288
|
+
declare function createNavigationStore(): NavigationStore;
|
|
289
|
+
|
|
290
|
+
type SurfaceMode = "idle" | "inspecting" | "palette" | "viewing";
|
|
291
|
+
interface ModeSnapshot {
|
|
292
|
+
mode: SurfaceMode;
|
|
293
|
+
}
|
|
294
|
+
interface ModeBindings {
|
|
295
|
+
mountInspector?: () => void;
|
|
296
|
+
destroyInspector?: () => void;
|
|
297
|
+
}
|
|
298
|
+
interface ModeTransitions {
|
|
299
|
+
openPalette(): void;
|
|
300
|
+
openInspector(): void;
|
|
301
|
+
closeInspector(): void;
|
|
302
|
+
toggleInspector(): void;
|
|
303
|
+
enterViewing(initialStack: ViewStackEntry[]): void;
|
|
304
|
+
dismiss(): void;
|
|
305
|
+
popOrTransition(): void;
|
|
306
|
+
pushView(entry: ViewStackEntry): void;
|
|
307
|
+
}
|
|
308
|
+
type ModeStore = StoreApi<ModeSnapshot> & {
|
|
309
|
+
transition: ModeTransitions;
|
|
310
|
+
};
|
|
311
|
+
interface CreateModeStoreOptions {
|
|
312
|
+
nav: NavigationStore;
|
|
313
|
+
bindings?: ModeBindings;
|
|
314
|
+
}
|
|
315
|
+
declare function createModeStore(options: CreateModeStoreOptions): ModeStore;
|
|
316
|
+
|
|
317
|
+
interface HighlightContext {
|
|
318
|
+
ref: EntityRef | null;
|
|
319
|
+
element: HTMLElement | null;
|
|
320
|
+
pinnedRef: EntityRef | null;
|
|
321
|
+
color: string | null;
|
|
322
|
+
}
|
|
323
|
+
interface HighlightActions {
|
|
324
|
+
hover(ref: EntityRef, element?: HTMLElement | null, color?: string | null): void;
|
|
325
|
+
unhover(): void;
|
|
326
|
+
pin(ref?: EntityRef): void;
|
|
327
|
+
unpin(): void;
|
|
328
|
+
}
|
|
329
|
+
type SessionStore = StoreApi<SessionState> & {
|
|
330
|
+
readonly nav: NavigationStore;
|
|
331
|
+
readonly mode: ModeStore;
|
|
332
|
+
readonly highlight: HighlightActions;
|
|
333
|
+
setTheme(theme: ThemePreference, resolved?: ResolvedTheme): void;
|
|
334
|
+
};
|
|
335
|
+
interface CreateSessionOptions extends Partial<SessionSnapshot> {
|
|
336
|
+
detectTheme?: () => ResolvedTheme;
|
|
337
|
+
onMountInspector?: () => void;
|
|
338
|
+
onDestroyInspector?: () => void;
|
|
339
|
+
onShowOverlay?: (context: HighlightContext) => void;
|
|
340
|
+
onHideOverlay?: () => void;
|
|
341
|
+
onUpdateOverlay?: (context: HighlightContext) => void;
|
|
342
|
+
/** When true, start the session in inspector mode. */
|
|
343
|
+
inspectorActive?: boolean;
|
|
344
|
+
}
|
|
345
|
+
declare function resolveTheme(preference: ThemePreference, detect?: () => ResolvedTheme): ResolvedTheme;
|
|
346
|
+
declare function createSession(options?: CreateSessionOptions): SessionStore;
|
|
347
|
+
|
|
344
348
|
interface SurfaceHost {
|
|
345
349
|
readonly hostEl: HTMLElement;
|
|
346
350
|
readonly shadowRoot: ShadowRoot;
|
|
@@ -382,31 +386,9 @@ interface CursorTooltip {
|
|
|
382
386
|
}
|
|
383
387
|
interface CursorTooltipDeps {
|
|
384
388
|
container: Element;
|
|
385
|
-
session: SessionStore;
|
|
386
389
|
}
|
|
387
390
|
declare function createCursorTooltip(deps: CursorTooltipDeps): CursorTooltip;
|
|
388
391
|
|
|
389
|
-
interface OverlayShowOptions {
|
|
390
|
-
label?: string;
|
|
391
|
-
color?: string;
|
|
392
|
-
padding?: number;
|
|
393
|
-
borderStyle?: string;
|
|
394
|
-
borderWidth?: number;
|
|
395
|
-
fillOpacity?: number;
|
|
396
|
-
backdrop?: boolean;
|
|
397
|
-
}
|
|
398
|
-
interface Overlay {
|
|
399
|
-
show(target: Element, options?: OverlayShowOptions): void;
|
|
400
|
-
hide(): void;
|
|
401
|
-
destroy(): void;
|
|
402
|
-
onDismiss: (() => void) | null;
|
|
403
|
-
readonly isVisible: boolean;
|
|
404
|
-
}
|
|
405
|
-
interface OverlayDeps {
|
|
406
|
-
container: Element | ShadowRoot;
|
|
407
|
-
}
|
|
408
|
-
declare function createOverlay(deps: OverlayDeps): Overlay;
|
|
409
|
-
|
|
410
392
|
interface InspectorMatch {
|
|
411
393
|
element: HTMLElement;
|
|
412
394
|
ref: EntityRef;
|
|
@@ -445,39 +427,20 @@ interface Inspector {
|
|
|
445
427
|
mount(): void;
|
|
446
428
|
destroy(): void;
|
|
447
429
|
}
|
|
448
|
-
declare function defaultResolveMatch(target: Element, registry?: Registry): InspectorMatch | null;
|
|
449
430
|
declare function resolveEntityElement(ref: EntityRef): HTMLElement | null;
|
|
450
|
-
interface HighlightControllerLike {
|
|
451
|
-
show(ref: EntityRef, opts?: OverlayShowOptions): void;
|
|
452
|
-
hide(): void;
|
|
453
|
-
}
|
|
454
|
-
declare function createHighlightController(overlay: Overlay): HighlightControllerLike;
|
|
455
431
|
declare function createInspector(options: InspectorOptions): Inspector;
|
|
456
432
|
|
|
457
433
|
type PinMatchMode = "route" | "pathname" | "component";
|
|
458
|
-
interface PinFilter {
|
|
459
|
-
branch: string | null;
|
|
460
|
-
commit: string | null;
|
|
461
|
-
}
|
|
462
|
-
interface PinFilterState extends PinFilter {
|
|
463
|
-
readonly commits: readonly string[];
|
|
464
|
-
readonly commitIndex: number;
|
|
465
|
-
}
|
|
466
434
|
interface PinLayer {
|
|
467
435
|
setPins(pins: readonly PinRecord[]): void;
|
|
468
436
|
addPin(pin: PinRecord): void;
|
|
469
437
|
removePin(reportId: string): void;
|
|
470
438
|
clear(): void;
|
|
471
439
|
getPinsForElement(componentId: string): readonly PinRecord[];
|
|
472
|
-
getAllPinsForElement(componentId: string): readonly PinRecord[];
|
|
473
440
|
getAllPins(): readonly PinRecord[];
|
|
474
441
|
attachChannel(channel: RealtimeChannel): () => void;
|
|
475
442
|
attachCloud(opts: AttachCloudOpts): () => void;
|
|
476
443
|
refresh(): Promise<void>;
|
|
477
|
-
readonly filterState: PinFilterState;
|
|
478
|
-
setFilter(filter: Partial<PinFilter>): void;
|
|
479
|
-
nextCommit(): void;
|
|
480
|
-
prevCommit(): void;
|
|
481
444
|
onFilterChange(cb: () => void): () => void;
|
|
482
445
|
readonly visible: boolean;
|
|
483
446
|
setVisible(visible: boolean): void;
|
|
@@ -497,7 +460,6 @@ interface PinLayerOptions {
|
|
|
497
460
|
onOpenPinDetail?: (componentId: string, reportId: string) => void;
|
|
498
461
|
onHoverPin?: (anchor: HTMLElement | null, componentId: string | null) => void;
|
|
499
462
|
onPinsChanged?: () => void;
|
|
500
|
-
currentBranch?: string | null;
|
|
501
463
|
}
|
|
502
464
|
declare function createPinLayer(options: PinLayerOptions): PinLayer;
|
|
503
465
|
|
|
@@ -520,6 +482,27 @@ interface MenuBar {
|
|
|
520
482
|
}
|
|
521
483
|
declare function createMenuBar(options: MenuBarOptions): MenuBar;
|
|
522
484
|
|
|
485
|
+
interface OverlayShowOptions {
|
|
486
|
+
label?: string;
|
|
487
|
+
color?: string;
|
|
488
|
+
padding?: number;
|
|
489
|
+
borderStyle?: string;
|
|
490
|
+
borderWidth?: number;
|
|
491
|
+
fillOpacity?: number;
|
|
492
|
+
backdrop?: boolean;
|
|
493
|
+
}
|
|
494
|
+
interface Overlay {
|
|
495
|
+
show(target: Element, options?: OverlayShowOptions): void;
|
|
496
|
+
hide(): void;
|
|
497
|
+
destroy(): void;
|
|
498
|
+
onDismiss: (() => void) | null;
|
|
499
|
+
readonly isVisible: boolean;
|
|
500
|
+
}
|
|
501
|
+
interface OverlayDeps {
|
|
502
|
+
container: Element | ShadowRoot;
|
|
503
|
+
}
|
|
504
|
+
declare function createOverlay(deps: OverlayDeps): Overlay;
|
|
505
|
+
|
|
523
506
|
interface ThemeDetector {
|
|
524
507
|
destroy(): void;
|
|
525
508
|
/** Resolve the current theme preference against the environment. */
|
|
@@ -719,9 +702,16 @@ type DetailSection = {
|
|
|
719
702
|
id: "routes";
|
|
720
703
|
paths: readonly string[];
|
|
721
704
|
filterable?: boolean;
|
|
722
|
-
}
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* `url` renders immediately; `load` fetches lazily (cloud pins travel
|
|
708
|
+
* without their screenshot) and the section stays hidden until — and
|
|
709
|
+
* unless — the promise resolves with a data URL.
|
|
710
|
+
*/
|
|
711
|
+
| {
|
|
723
712
|
id: "screenshot";
|
|
724
|
-
url
|
|
713
|
+
url?: string;
|
|
714
|
+
load?: () => Promise<string | null>;
|
|
725
715
|
} | {
|
|
726
716
|
id: "metadata";
|
|
727
717
|
entries: readonly MetadataEntry[];
|
|
@@ -920,8 +910,9 @@ interface View {
|
|
|
920
910
|
* when the declared target has been removed from the host.
|
|
921
911
|
*/
|
|
922
912
|
focusTarget?: (root: HTMLElement, ctx: ViewContext) => HTMLElement | null;
|
|
923
|
-
|
|
924
|
-
|
|
913
|
+
/** Required unless `render` is provided. */
|
|
914
|
+
surface?: (ctx: ViewContext) => ViewSurface;
|
|
915
|
+
/** Direct render for integration adapters (React, etc.). Takes precedence over `surface` when both are present. */
|
|
925
916
|
render?: (ctx: ViewContext, root: HTMLElement) => Cleanup | void;
|
|
926
917
|
parent?: (ref: EntityRef | null) => ViewStackEntry | null;
|
|
927
918
|
}
|
|
@@ -951,12 +942,11 @@ declare function formatShortcutLabel(shortcut: PaletteShortcut): string;
|
|
|
951
942
|
type EscapeHandler = () => boolean;
|
|
952
943
|
|
|
953
944
|
declare const SURFACE_HOST_CLASS = "uidex-surface-host";
|
|
954
|
-
declare const SURFACE_CONTAINER_CLASS = "uidex-container";
|
|
955
945
|
declare const Z_BASE = 2147483630;
|
|
956
946
|
declare const Z_OVERLAY = 2147483635;
|
|
957
947
|
declare const Z_PIN_LAYER = 2147483640;
|
|
958
948
|
declare const Z_CHROME = 2147483645;
|
|
959
|
-
declare const SURFACE_IGNORE_SELECTOR = ".uidex-surface-host
|
|
949
|
+
declare const SURFACE_IGNORE_SELECTOR = ".uidex-surface-host";
|
|
960
950
|
|
|
961
951
|
interface ViewStackOptions {
|
|
962
952
|
container: HTMLElement;
|
|
@@ -965,7 +955,6 @@ interface ViewStackOptions {
|
|
|
965
955
|
registry: Registry;
|
|
966
956
|
cloud?: CloudAdapter | null;
|
|
967
957
|
highlight: HighlightController;
|
|
968
|
-
globalActions?: (ctx: ViewContext) => ShellAction[];
|
|
969
958
|
shortcut?: PaletteShortcut;
|
|
970
959
|
dev?: boolean;
|
|
971
960
|
pushEscapeLayer?: ViewContext["pushEscapeLayer"];
|
|
@@ -1052,4 +1041,4 @@ interface Uidex {
|
|
|
1052
1041
|
}
|
|
1053
1042
|
declare function createUidex(options?: CreateUidexOptions): Uidex;
|
|
1054
1043
|
|
|
1055
|
-
export { type AttachCloudOpts, type Cleanup, type CloudAdapter, type ConsoleCapture, type ConsoleEntry, type ConsoleLevel, type Corner, type CreateRouterOptions, type CreateSessionOptions, type CreateSurfaceShellOptions, type CreateUidexOptions, type CursorTooltip, type CursorTooltipDeps, type DetailAction, type DetailActionIcon, type DetailActionRunContext, type DetailSection, type DetailSubtitle, type DetailSurface, ENTITY_KINDS, type Element$1 as Element, type Entity, type EntityByKind, type EntityKind, type EntityRef, type Feature, type Flow, type FormField, type FormSubmit, type FormSubmitResult, type FormSurface, type FormValue, type HighlightActions, type HighlightController, type Ingest, type IngestOptions, type Inspector, type InspectorMatch, type InspectorMatchStack, type InspectorOptions, KIND_STYLE, type KindStyleEntry, type ListItem, type ListSurface, type Location, type MenuBar, type MenuBarOptions, type MetaEntityKind, type Metadata, type ModeBindings, type ModeSnapshot, type ModeStore, type ModeTransitions, type NavigationActions, type NavigationState, type NavigationStore, type NetworkCapture, type NetworkEntry, type Overlay, type OverlayShowOptions, type Page, type PaletteShortcut, type PinLayer, type PinLayerOptions, type PinMatchMode, type Primitive, type RealtimeChannel, type RealtimeChannelState, type RealtimePresenceUser, type Region, type Registry, type ReportRecord, type ResolvedTheme, type Route, type RouteMatch, type Router,
|
|
1044
|
+
export { type AttachCloudOpts, type Cleanup, type CloudAdapter, type ConsoleCapture, type ConsoleEntry, type ConsoleLevel, type Corner, type CreateRouterOptions, type CreateSessionOptions, type CreateSurfaceShellOptions, type CreateUidexOptions, type CursorTooltip, type CursorTooltipDeps, type DetailAction, type DetailActionIcon, type DetailActionRunContext, type DetailSection, type DetailSubtitle, type DetailSurface, ENTITY_KINDS, type Element$1 as Element, type Entity, type EntityByKind, type EntityKind, type EntityRef, type Feature, type Flow, type FormField, type FormSubmit, type FormSubmitResult, type FormSurface, type FormValue, type HighlightActions, type HighlightController, type Ingest, type IngestOptions, type Inspector, type InspectorMatch, type InspectorMatchStack, type InspectorOptions, KIND_STYLE, type KindStyleEntry, type ListItem, type ListSurface, type Location, type MenuBar, type MenuBarOptions, type MetaEntityKind, type Metadata, type ModeBindings, type ModeSnapshot, type ModeStore, type ModeTransitions, type NavigationActions, type NavigationState, type NavigationStore, type NetworkCapture, type NetworkEntry, type Overlay, type OverlayShowOptions, type Page, type PaletteShortcut, type PinLayer, type PinLayerOptions, type PinMatchMode, type Primitive, type RealtimeChannel, type RealtimeChannelState, type RealtimePresenceUser, type Region, type Registry, type ReportRecord, type ResolvedTheme, type Route, type RouteMatch, type Router, SURFACE_HOST_CLASS, SURFACE_IGNORE_SELECTOR, type Scope, type SessionSnapshot, type SessionState, type SessionStore, type ShellAction, type ShellHint, type SurfaceHost, type SurfaceHostOptions, type SurfaceMode, type SurfaceShell, type ThemeDetector, type ThemeDetectorDeps, type ThemePreference, type Uidex, UnknownEntityKindError, type UserIdentity, type View, type ViewContext, type ViewPalette, type ViewPushTarget, type ViewStack, type ViewStackEntry, type ViewStackOptions, type ViewSurface, ViewValidationError, type Widget, Z_BASE, Z_CHROME, Z_OVERLAY, Z_PIN_LAYER, assertEntityKind, buildDefaultViews, componentDetailView, createCommandPaletteView, createConsoleCapture, createCursorTooltip, createIngest, createInspector, createMenuBar, createModeStore, createNavigationStore, createNetworkCapture, createOverlay, createPinLayer, createRegistry, createRouter, createSession, createSurfaceHost, createSurfaceShell, createThemeDetector, createUidex, createViewStack, displayName, entityKey, featureDetailView, flowDetailView, formatShortcutLabel, isMetaKind, nativeFetch, pageDetailView, pinSettingsView, prettify, primitiveDetailView, regionDetailView, reportView, resolveEntityElement, resolveIngestOptions, resolveTheme, widgetDetailView };
|