@buoy-gg/shared-ui 7.0.29 → 7.0.31
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/lib/commonjs/JsModal.js +18 -2
- package/lib/commonjs/JsModal.web.js +7 -4
- package/lib/commonjs/dataViewer/DataTreeActionDock.js +4 -2
- package/lib/commonjs/dataViewer/LiveExplorer.js +930 -0
- package/lib/commonjs/dataViewer/ValueEditModal.js +385 -0
- package/lib/commonjs/dataViewer/index.js +47 -0
- package/lib/commonjs/dataViewer/nestedPath.js +115 -0
- package/lib/commonjs/dataViewer/treeActions.js +3 -2
- package/lib/commonjs/dataViewer/useTreeDraft.js +125 -0
- package/lib/commonjs/dataViewer/useTreeEditor.js +105 -0
- package/lib/commonjs/env/EnvironmentIndicator.js +7 -1
- package/lib/commonjs/hooks/safe-area-impl.js +1 -1
- package/lib/commonjs/index.js +24 -0
- package/lib/commonjs/license/tierLimits.js +14 -0
- package/lib/commonjs/storage/devToolsStorageKeys.js +36 -0
- package/lib/commonjs/sync/toolActionRegistry.js +166 -0
- package/lib/commonjs/sync/toolUiBridge.js +74 -0
- package/lib/commonjs/ui/components/CompactRow.js +4 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +9 -1
- package/lib/commonjs/ui/components/ExpandedInfoRow.js +3 -1
- package/lib/commonjs/ui/components/ModalHeader.js +7 -4
- package/lib/commonjs/ui/components/SearchBar.js +5 -109
- package/lib/commonjs/ui/components/ToolButton.js +5 -2
- package/lib/module/JsModal.js +18 -2
- package/lib/module/JsModal.web.js +7 -4
- package/lib/module/dataViewer/DataTreeActionDock.js +4 -2
- package/lib/module/dataViewer/LiveExplorer.js +925 -0
- package/lib/module/dataViewer/ValueEditModal.js +381 -0
- package/lib/module/dataViewer/index.js +10 -1
- package/lib/module/dataViewer/nestedPath.js +109 -0
- package/lib/module/dataViewer/treeActions.js +3 -2
- package/lib/module/dataViewer/useTreeDraft.js +121 -0
- package/lib/module/dataViewer/useTreeEditor.js +101 -0
- package/lib/module/env/EnvironmentIndicator.js +7 -1
- package/lib/module/hooks/safe-area-impl.js +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/license/tierLimits.js +14 -0
- package/lib/module/storage/devToolsStorageKeys.js +36 -0
- package/lib/module/sync/toolActionRegistry.js +154 -0
- package/lib/module/sync/toolUiBridge.js +68 -0
- package/lib/module/ui/components/CompactRow.js +4 -0
- package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +9 -1
- package/lib/module/ui/components/ExpandedInfoRow.js +3 -1
- package/lib/module/ui/components/ModalHeader.js +7 -4
- package/lib/module/ui/components/SearchBar.js +8 -112
- package/lib/module/ui/components/ToolButton.js +5 -2
- package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts +6 -1
- package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts +73 -0
- package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +1 -0
- package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts +40 -0
- package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts.map +1 -0
- package/lib/typescript/commonjs/dataViewer/index.d.ts +5 -0
- package/lib/typescript/commonjs/dataViewer/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/nestedPath.d.ts +20 -0
- package/lib/typescript/commonjs/dataViewer/nestedPath.d.ts.map +1 -0
- package/lib/typescript/commonjs/dataViewer/treeActions.d.ts +10 -0
- package/lib/typescript/commonjs/dataViewer/treeActions.d.ts.map +1 -1
- package/lib/typescript/commonjs/dataViewer/useTreeDraft.d.ts +81 -0
- package/lib/typescript/commonjs/dataViewer/useTreeDraft.d.ts.map +1 -0
- package/lib/typescript/commonjs/dataViewer/useTreeEditor.d.ts +52 -0
- package/lib/typescript/commonjs/dataViewer/useTreeEditor.d.ts.map +1 -0
- package/lib/typescript/commonjs/env/EnvironmentIndicator.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/license/tierLimits.d.ts +10 -0
- package/lib/typescript/commonjs/license/tierLimits.d.ts.map +1 -1
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts +36 -0
- package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts +85 -0
- package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts.map +1 -0
- package/lib/typescript/commonjs/sync/toolUiBridge.d.ts +39 -0
- package/lib/typescript/commonjs/sync/toolUiBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/CompactRow.d.ts +5 -1
- package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts +6 -0
- package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts +7 -1
- package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SearchBar.d.ts +1 -3
- package/lib/typescript/commonjs/ui/components/SearchBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ToolButton.d.ts +5 -1
- package/lib/typescript/commonjs/ui/components/ToolButton.d.ts.map +1 -1
- package/lib/typescript/module/JsModal.d.ts.map +1 -1
- package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts +6 -1
- package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/LiveExplorer.d.ts +73 -0
- package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +1 -0
- package/lib/typescript/module/dataViewer/ValueEditModal.d.ts +40 -0
- package/lib/typescript/module/dataViewer/ValueEditModal.d.ts.map +1 -0
- package/lib/typescript/module/dataViewer/index.d.ts +5 -0
- package/lib/typescript/module/dataViewer/index.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/nestedPath.d.ts +20 -0
- package/lib/typescript/module/dataViewer/nestedPath.d.ts.map +1 -0
- package/lib/typescript/module/dataViewer/treeActions.d.ts +10 -0
- package/lib/typescript/module/dataViewer/treeActions.d.ts.map +1 -1
- package/lib/typescript/module/dataViewer/useTreeDraft.d.ts +81 -0
- package/lib/typescript/module/dataViewer/useTreeDraft.d.ts.map +1 -0
- package/lib/typescript/module/dataViewer/useTreeEditor.d.ts +52 -0
- package/lib/typescript/module/dataViewer/useTreeEditor.d.ts.map +1 -0
- package/lib/typescript/module/env/EnvironmentIndicator.d.ts.map +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/license/tierLimits.d.ts +10 -0
- package/lib/typescript/module/license/tierLimits.d.ts.map +1 -1
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts +36 -0
- package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +1 -1
- package/lib/typescript/module/sync/toolActionRegistry.d.ts +85 -0
- package/lib/typescript/module/sync/toolActionRegistry.d.ts.map +1 -0
- package/lib/typescript/module/sync/toolUiBridge.d.ts +39 -0
- package/lib/typescript/module/sync/toolUiBridge.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/CompactRow.d.ts +5 -1
- package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts +6 -0
- package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts +7 -1
- package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SearchBar.d.ts +1 -3
- package/lib/typescript/module/ui/components/SearchBar.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ToolButton.d.ts +5 -1
- package/lib/typescript/module/ui/components/ToolButton.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tierLimits.d.ts","sourceRoot":"","sources":["../../../../src/license/tierLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAEzB,UAAU,SAAS;IACjB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"tierLimits.d.ts","sourceRoot":"","sources":["../../../../src/license/tierLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAEzB,UAAU,SAAS;IACjB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCX,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,MAAM,CAAC;AAE/C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAU,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,OAAO,GACpB,QAAQ,CAMV;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAMxD"}
|
|
@@ -123,6 +123,18 @@ export declare const devToolsStorageKeys: {
|
|
|
123
123
|
readonly root: () => "@react_buoy_time_machine";
|
|
124
124
|
readonly diffViewerMode: () => "@react_buoy_time_machine_diff_viewer_mode";
|
|
125
125
|
};
|
|
126
|
+
/**
|
|
127
|
+
* Scenarios storage keys. The library (saved + draft scenarios) and the
|
|
128
|
+
* active-scenario record live in separate keys deliberately: the active
|
|
129
|
+
* record is written on every run and deactivation, while the library changes
|
|
130
|
+
* rarely, and a single blob would rewrite the whole library each run.
|
|
131
|
+
*/
|
|
132
|
+
readonly scenarios: {
|
|
133
|
+
readonly root: () => "@react_buoy_scenarios";
|
|
134
|
+
readonly modal: () => "@react_buoy_scenarios_modal";
|
|
135
|
+
readonly library: () => "@react_buoy_scenarios_library";
|
|
136
|
+
readonly active: () => "@react_buoy_scenarios_active";
|
|
137
|
+
};
|
|
126
138
|
/**
|
|
127
139
|
* React Query-related storage keys
|
|
128
140
|
*/
|
|
@@ -196,16 +208,40 @@ export declare const devToolsStorageKeys: {
|
|
|
196
208
|
readonly settings: () => "@react_buoy_benchmark_settings";
|
|
197
209
|
readonly selectedReports: () => "@react_buoy_benchmark_selected_reports";
|
|
198
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* Debug Borders overlay keys
|
|
213
|
+
*/
|
|
214
|
+
readonly debugBorders: {
|
|
215
|
+
readonly root: () => "@react_buoy_debug_borders";
|
|
216
|
+
/** JsModal `persistenceKey` for the overlay's info window. */
|
|
217
|
+
readonly infoModal: () => "@react_buoy_debug_borders_info_modal";
|
|
218
|
+
};
|
|
199
219
|
/**
|
|
200
220
|
* Unified events-related storage keys
|
|
201
221
|
*/
|
|
202
222
|
readonly events: {
|
|
203
223
|
readonly root: () => "@react_buoy_events";
|
|
224
|
+
/**
|
|
225
|
+
* NOT what the Events tool uses. Its preset passes the literal
|
|
226
|
+
* `"buoy-events-modal"` to JsModal, and three things outside this repo's
|
|
227
|
+
* runtime now pin that string: the website's live tour, its QA script, and
|
|
228
|
+
* the e2e runner's reset. `isDevToolsStorageKey` treats the `buoy-` prefix
|
|
229
|
+
* as internal, so nothing leaks — this is a naming inconsistency, not a
|
|
230
|
+
* bug, and moving the key would cost a coordinated change across four
|
|
231
|
+
* surfaces to buy tidiness. Kept so the shape of this file stays uniform.
|
|
232
|
+
*/
|
|
204
233
|
readonly modal: () => "@react_buoy_events_modal";
|
|
205
234
|
/** Selected badge/source filters */
|
|
206
235
|
readonly enabledSources: () => "@react_buoy_events_enabled_sources";
|
|
207
236
|
/** Whether event capturing is active */
|
|
208
237
|
readonly isCapturing: () => "@react_buoy_events_is_capturing";
|
|
238
|
+
/**
|
|
239
|
+
* When capture was last switched off (ms epoch). Persisted with the
|
|
240
|
+
* capturing flag so a remount/relaunch while paused keeps hiding events
|
|
241
|
+
* captured into the shared store after the ORIGINAL pause moment (a
|
|
242
|
+
* watching dashboard keeps sources alive through the device's pause).
|
|
243
|
+
*/
|
|
244
|
+
readonly pausedAt: () => "@react_buoy_events_paused_at";
|
|
209
245
|
/** Copy/export settings */
|
|
210
246
|
readonly copySettings: () => "@react_buoy_events_copy_settings";
|
|
211
247
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devToolsStorageKeys.d.ts","sourceRoot":"","sources":["../../../../src/storage/devToolsStorageKeys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;IAGH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;IAUH;;;;;;;;;;OAUG;8BACc,MAAM;;QAInB,kEAAkE;;;QAGlE,iCAAiC;sBACnB,MAAM;;IAIxB;;OAEG;;;;;;QAQD,kDAAkD;;QAElD,gCAAgC;;QAGhC,gCAAgC;;;IAKlC;;OAEG;;;QAGD,mCAAmC;;QAEnC,qEAAqE;;;IAIvE;;OAEG;;;;;IAOH;;OAEG;;;;;;;IAQH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;;;;;;;IAuBH;;;;OAIG;;;;;IAOH;;OAEG;;;;;;;;;;;IAiBH;;OAEG;;;;;;;;;;QAcD;;;WAGG;;QAEH;;;;;WAKG;;;IAIL;;OAEG;;;;;;;;;;IAgBH;;OAEG;;;;;;;QAUD,2BAA2B;;;IAK7B;;OAEG;;;;;;;;;IAcH;;OAEG
|
|
1
|
+
{"version":3,"file":"devToolsStorageKeys.d.ts","sourceRoot":"","sources":["../../../../src/storage/devToolsStorageKeys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;IAGH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;IAUH;;;;;;;;;;OAUG;8BACc,MAAM;;QAInB,kEAAkE;;;QAGlE,iCAAiC;sBACnB,MAAM;;IAIxB;;OAEG;;;;;;QAQD,kDAAkD;;QAElD,gCAAgC;;QAGhC,gCAAgC;;;IAKlC;;OAEG;;;QAGD,mCAAmC;;QAEnC,qEAAqE;;;IAIvE;;OAEG;;;;;IAOH;;OAEG;;;;;;;IAQH;;OAEG;;;;;;;IASH;;OAEG;;;;;;;;;;;;;;IAuBH;;;;OAIG;;;;;IAOH;;;;;OAKG;;;;;;;IAQH;;OAEG;;;;;;;;;;;IAiBH;;OAEG;;;;;;;;;;QAcD;;;WAGG;;QAEH;;;;;WAKG;;;IAIL;;OAEG;;;;;;;;;;IAgBH;;OAEG;;;;;;;QAUD,2BAA2B;;;IAK7B;;OAEG;;;;;;;;;IAcH;;OAEG;;;QAGD,8DAA8D;;;IAKhE;;OAEG;;;QAGD;;;;;;;;WAQG;;QAEH,oCAAoC;;QAGpC,wCAAwC;;QAGxC;;;;;WAKG;;QAEH,2BAA2B;;;CAIrB,CAAC;AAwBX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA0BzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAsBpD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolActionRegistry — the on-device twin of the broker's action dispatch.
|
|
3
|
+
*
|
|
4
|
+
* Buoy already has exactly one place where `{toolId, action, params}` becomes a
|
|
5
|
+
* real call into a tool: `handleAction` in external-sync, fed by the adapter
|
|
6
|
+
* map that `autoExternalSync` assembles. That map was private to the React
|
|
7
|
+
* tree, so anything running ON the device (the Scenarios runner) had no way to
|
|
8
|
+
* reach it and would have had to duplicate the map — two dispatch paths that
|
|
9
|
+
* drift the first time an adapter changes.
|
|
10
|
+
*
|
|
11
|
+
* This module publishes the SAME map through a global seam, so a scenario step,
|
|
12
|
+
* a desktop click and an MCP call are one code path with two entry points.
|
|
13
|
+
*
|
|
14
|
+
* WHY A GLOBAL, NOT AN IMPORT: the map is built inside a component (the
|
|
15
|
+
* react-query adapter is a hook, the env adapter is a factory closed over a
|
|
16
|
+
* prop, and custom tools arrive as props), so it cannot be a module constant.
|
|
17
|
+
* Meanwhile the consumer must not import `@buoy-gg/core` — that package imports
|
|
18
|
+
* the tools, and a tool importing it back is the require cycle that puts a
|
|
19
|
+
* LogBox on every reload. Same reasoning, and the same shape, as
|
|
20
|
+
* `crashFlush.ts` in external-sync.
|
|
21
|
+
*
|
|
22
|
+
* WE STORE A GETTER, NOT A SNAPSHOT, for the reason `attachDeviceSync` does:
|
|
23
|
+
* the adapter map is re-created on renders that change its inputs, and a stale
|
|
24
|
+
* captured copy would keep dispatching into adapters the tree has replaced.
|
|
25
|
+
*
|
|
26
|
+
* SAFETY: this registry is populated only while `AutoExternalSync` is mounted,
|
|
27
|
+
* which is itself gated (dev, or release + an explicit opt-in + a real Pro
|
|
28
|
+
* license). It is deliberately NOT a substitute for a caller's own production
|
|
29
|
+
* gate — anything that bends app state through it must check `__DEV__` itself,
|
|
30
|
+
* because the actions reachable here (network overrides, storage writes,
|
|
31
|
+
* impersonation) have no business running in a shipped app.
|
|
32
|
+
*/
|
|
33
|
+
/** The duck-typed adapter shape, matching external-sync's `ToolSyncAdapter`. */
|
|
34
|
+
export interface RegisteredToolAdapter {
|
|
35
|
+
version?: number;
|
|
36
|
+
getSnapshot?: () => unknown;
|
|
37
|
+
subscribe?: (onChange: () => void) => () => void;
|
|
38
|
+
actions?: Record<string, (params: unknown) => unknown | Promise<unknown>>;
|
|
39
|
+
}
|
|
40
|
+
export type ToolAdapterMap = Record<string, RegisteredToolAdapter>;
|
|
41
|
+
/**
|
|
42
|
+
* Publish the live adapter map. Called by `autoExternalSync` with a getter that
|
|
43
|
+
* reads its current `useMemo` value. Returns the unregister function.
|
|
44
|
+
*/
|
|
45
|
+
export declare function registerToolAdapters(getTools: () => ToolAdapterMap): () => void;
|
|
46
|
+
/** The merged adapter map across every live source. */
|
|
47
|
+
export declare function getToolAdapters(): ToolAdapterMap;
|
|
48
|
+
/** Tool ids currently dispatchable. */
|
|
49
|
+
export declare function listToolIds(): string[];
|
|
50
|
+
/** `toolId -> action names`, for pre-flight validation and capability display. */
|
|
51
|
+
export declare function listToolActions(): Record<string, string[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Tool ids whose adapter publishes a `getSnapshot`.
|
|
54
|
+
*
|
|
55
|
+
* Buoy's read surface is split in two: some tools answer through `actions`
|
|
56
|
+
* (`listQueries`, `async.getAllKeys`), and some answer only through the
|
|
57
|
+
* snapshot the sync layer polls — console entries, network events, the route
|
|
58
|
+
* sitemap, the env table. Anything driving tools ON the device sees only the
|
|
59
|
+
* first half unless it asks for the second, which is why the console and
|
|
60
|
+
* network panels look empty to an in-app agent that has an action for
|
|
61
|
+
* everything except reading them.
|
|
62
|
+
*/
|
|
63
|
+
export declare function listSnapshotToolIds(): string[];
|
|
64
|
+
/**
|
|
65
|
+
* Read one tool's snapshot — the same value `attachDeviceSync` puts on the wire
|
|
66
|
+
* for MCP's `get_snapshot`, without a socket.
|
|
67
|
+
*
|
|
68
|
+
* Async to match {@link dispatchToolAction}: every caller already awaits, and
|
|
69
|
+
* an adapter is free to make this a promise later without breaking them.
|
|
70
|
+
*/
|
|
71
|
+
export declare function readToolSnapshot(toolId: string): Promise<unknown>;
|
|
72
|
+
export declare function isToolRegistryReady(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Dispatch one action, shaping failures exactly as `handleAction` does: an
|
|
75
|
+
* unknown tool and an unknown action are distinguishable, and adapter errors
|
|
76
|
+
* surface as plain messages rather than objects nobody can read on a phone.
|
|
77
|
+
*/
|
|
78
|
+
export declare function dispatchToolAction(toolId: string, action: string, params?: unknown): Promise<unknown>;
|
|
79
|
+
/**
|
|
80
|
+
* Wait for the registry to be populated, for the narrow window between first
|
|
81
|
+
* frame and `AutoExternalSync` mounting. Resolves false on timeout so the
|
|
82
|
+
* caller can say "Buoy tools are still starting up" instead of "unknown tool".
|
|
83
|
+
*/
|
|
84
|
+
export declare function waitForToolRegistry(timeoutMs?: number): Promise<boolean>;
|
|
85
|
+
//# sourceMappingURL=toolActionRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolActionRegistry.d.ts","sourceRoot":"","sources":["../../../../src/sync/toolActionRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3E;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAenE;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,cAAc,GAC7B,MAAM,IAAI,CAMZ;AAED,uDAAuD;AACvD,wBAAgB,eAAe,IAAI,cAAc,CAUhD;AAED,uCAAuC;AACvC,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,kFAAkF;AAClF,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAM1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAI9C;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ5E"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolUiBridge — let a tool ask the host to bring another tool back on screen.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. Buoy's tool overlays (the SIMULATED banner, the recording
|
|
5
|
+
* banner, the perf HUD) render as siblings of `AppHostProvider`, not inside it,
|
|
6
|
+
* so none of them can reach the host that knows how to open and restore tools.
|
|
7
|
+
* That is usually fine — an overlay's job is to be seen, not to navigate. It
|
|
8
|
+
* stops being fine the moment an overlay is the ONLY thing on screen and the
|
|
9
|
+
* next step lives inside a tool: the macro recorder minimizes Scenarios so a
|
|
10
|
+
* tester can drive the app, and when they stop, the review screen they need is
|
|
11
|
+
* behind a tool icon they have to know to hunt for.
|
|
12
|
+
*
|
|
13
|
+
* The alternative was moving every overlay inside the provider, which would
|
|
14
|
+
* re-order the stacking of six unrelated tools to fix one banner's button. This
|
|
15
|
+
* is the same global-seam shape `toolActionRegistry` already uses for the same
|
|
16
|
+
* reason: the capability lives inside a component tree, the caller must not
|
|
17
|
+
* import `@buoy-gg/core` (that package imports the tools, and a tool importing
|
|
18
|
+
* it back is a require cycle), so it is published through a global.
|
|
19
|
+
*
|
|
20
|
+
* A SET of openers, not one slot, for the reason the action registry keeps one:
|
|
21
|
+
* React can briefly mount two providers, or re-run an effect's setup before the
|
|
22
|
+
* previous cleanup, and a last-writer-wins slot lets the second registration
|
|
23
|
+
* silently blank the first.
|
|
24
|
+
*/
|
|
25
|
+
/** Returns true when the tool was actually brought back on screen. */
|
|
26
|
+
export type ToolOpener = (toolId: string) => boolean;
|
|
27
|
+
/** Published by the host, inside the provider that owns open tools. */
|
|
28
|
+
export declare function registerToolOpener(opener: ToolOpener): () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Ask the host to show a tool.
|
|
31
|
+
*
|
|
32
|
+
* Returns false when nothing could do it — no host mounted, or the tool isn't
|
|
33
|
+
* open for it to restore. Callers must treat that as a real answer and say so,
|
|
34
|
+
* rather than rendering a button that silently does nothing.
|
|
35
|
+
*/
|
|
36
|
+
export declare function openBuoyTool(toolId: string): boolean;
|
|
37
|
+
/** True when some host is listening — for deciding whether to offer the button. */
|
|
38
|
+
export declare function canOpenBuoyTools(): boolean;
|
|
39
|
+
//# sourceMappingURL=toolUiBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolUiBridge.d.ts","sourceRoot":"","sources":["../../../../src/sync/toolUiBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;AAUrD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,CAMjE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CASpD;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
|
|
@@ -23,7 +23,11 @@ export interface CompactRowProps {
|
|
|
23
23
|
statusTestID?: string;
|
|
24
24
|
/** Handle for the line under it ("Required", "Wrong type", …). */
|
|
25
25
|
statusSublabelTestID?: string;
|
|
26
|
+
/** Handle for the row's main line — the value, the keys, the preview. */
|
|
27
|
+
primaryTestID?: string;
|
|
28
|
+
/** Handle for the line under it — the row's own metadata. */
|
|
29
|
+
secondaryTestID?: string;
|
|
26
30
|
accessibilityLabel?: string;
|
|
27
31
|
}
|
|
28
|
-
export declare function CompactRow({ statusDotColor, statusLabel, statusSublabel, primaryText, secondaryText, secondaryAccessory, expandedContent, isExpanded, badgeText, badgeColor, customBadge, showChevron, bottomRightText, isSelected, onPress, disabled, expandedGlowColor, testID, statusTestID, statusSublabelTestID, accessibilityLabel, }: CompactRowProps): import("react").JSX.Element;
|
|
32
|
+
export declare function CompactRow({ statusDotColor, statusLabel, statusSublabel, primaryText, secondaryText, secondaryAccessory, expandedContent, isExpanded, badgeText, badgeColor, customBadge, showChevron, bottomRightText, isSelected, onPress, disabled, expandedGlowColor, testID, statusTestID, statusSublabelTestID, primaryTestID, secondaryTestID, accessibilityLabel, }: CompactRowProps): import("react").JSX.Element;
|
|
29
33
|
//# sourceMappingURL=CompactRow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactRow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/CompactRow.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,eAAe;IAE9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAG3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,GACnB,EAAE,eAAe,+
|
|
1
|
+
{"version":3,"file":"CompactRow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/CompactRow.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,eAAe;IAE9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAG3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,EAAE,eAAe,+BAuIjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiffModeTabs.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/EventHistoryViewer/DiffModeTabs.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,YAAY,+
|
|
1
|
+
{"version":3,"file":"DiffModeTabs.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/EventHistoryViewer/DiffModeTabs.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAe,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,YAAY,+CA0CvB,CAAC"}
|
|
@@ -103,6 +103,12 @@ export interface DiffModeTabsProps {
|
|
|
103
103
|
activeTab: string;
|
|
104
104
|
/** Callback when tab changes */
|
|
105
105
|
onTabChange: (tab: string) => void;
|
|
106
|
+
/**
|
|
107
|
+
* Handle stem for the tabs: each one gets `${testIDPrefix}-${tab.key}`.
|
|
108
|
+
* Per-host, because several tools render this bar and a shared handle would
|
|
109
|
+
* match more than one element the moment two of them are mounted.
|
|
110
|
+
*/
|
|
111
|
+
testIDPrefix?: string;
|
|
106
112
|
}
|
|
107
113
|
/**
|
|
108
114
|
* Item in the event picker modal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/EventHistoryViewer/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,UAAU,EAAE,QAAQ,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,6BAA6B;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAG7B,8BAA8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/EventHistoryViewer/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,UAAU,EAAE,QAAQ,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,6BAA6B;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAG7B,8BAA8B;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,qCAAqC;IACrC,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IAEtC;;;;;;;OAOG;IACH,UAAU,EAAE,QAAQ,CAAC;IACrB,wEAAwE;IACxE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iCAAiC;IACjC,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,YAAY,EAAE,aAAa,CAAC;IAG5B,+CAA+C;IAC/C,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,SAAS,CAAC;IAGpC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,SAAS,CAAC;IAGnC,6BAA6B;IAC7B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,6BAA6B;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAE7B,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,sCAAsC;IACtC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B"}
|
|
@@ -28,7 +28,13 @@ interface PillBadgeProps {
|
|
|
28
28
|
icon?: ReactNode;
|
|
29
29
|
/** "sm" renders a more compact pill for inline use next to text. */
|
|
30
30
|
size?: "sm" | "md";
|
|
31
|
+
/**
|
|
32
|
+
* Handle for the pill's TEXT, not its wrapper — a badge is read for the
|
|
33
|
+
* word it carries, and on Fabric a label on the wrapper merges the icon in
|
|
34
|
+
* with it.
|
|
35
|
+
*/
|
|
36
|
+
testID?: string;
|
|
31
37
|
}
|
|
32
|
-
export declare function PillBadge({ color, children, icon, size }: PillBadgeProps): import("react").JSX.Element;
|
|
38
|
+
export declare function PillBadge({ color, children, icon, size, testID }: PillBadgeProps): import("react").JSX.Element;
|
|
33
39
|
export {};
|
|
34
40
|
//# sourceMappingURL=ExpandedInfoRow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandedInfoRow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ExpandedInfoRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BAOxE;AAED;;;GAGG;AACH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpandedInfoRow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ExpandedInfoRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BAOxE;AAED;;;GAGG;AACH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAW,EAAE,MAAM,EAAE,EAAE,cAAc,+BAmBvF"}
|
|
@@ -4,8 +4,6 @@ interface SearchBarProps {
|
|
|
4
4
|
onChange: (text: string) => void;
|
|
5
5
|
onClear?: () => void;
|
|
6
6
|
placeholder?: string;
|
|
7
|
-
suggestions?: string[];
|
|
8
|
-
recentSearches?: string[];
|
|
9
7
|
showFilters?: boolean;
|
|
10
8
|
onFilterPress?: () => void;
|
|
11
9
|
style?: TextStyle;
|
|
@@ -20,7 +18,7 @@ interface SearchBarProps {
|
|
|
20
18
|
testID?: string;
|
|
21
19
|
returnKeyType?: "done" | "go" | "next" | "search" | "send" | "default" | "emergency-call" | "google" | "join" | "route" | "yahoo";
|
|
22
20
|
}
|
|
23
|
-
export declare function SearchBar({ value, onChange, onClear, placeholder,
|
|
21
|
+
export declare function SearchBar({ value, onChange, onClear, placeholder, showFilters, onFilterPress, style, containerStyle, autoFocus, onSubmitEditing, testID, returnKeyType, }: SearchBarProps): import("react").JSX.Element;
|
|
24
22
|
export declare namespace SearchBar {
|
|
25
23
|
var Quick: ({ onSearch, placeholder, style, }: QuickSearchProps) => import("react").JSX.Element;
|
|
26
24
|
var WithFilters: ({ filterCount, ...props }: WithFiltersProps) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/SearchBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAItB,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/SearchBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAItB,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EACV,MAAM,GACN,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,CAAC;CACb;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAyB,EACzB,WAAmB,EACnB,aAAa,EACb,KAAK,EACL,cAAc,EACd,SAAiB,EACjB,eAAe,EACf,MAAM,EACN,aAAa,GACd,EAAE,cAAc,+BAiDhB;yBA9De,SAAS;mDA0EtB,gBAAgB;iDA8BhB,gBAAgB;;AAxCnB,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA4BD,UAAU,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC;IACpE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -15,10 +15,14 @@ export interface ToolButtonProps {
|
|
|
15
15
|
/** Optional leading icon element. */
|
|
16
16
|
icon?: ReactNode;
|
|
17
17
|
style?: ViewStyle;
|
|
18
|
+
/** Automation handle. Without it a screen's buttons are untargetable. */
|
|
19
|
+
testID?: string;
|
|
20
|
+
/** Defaults to `label`; set it when the label alone isn't the whole story. */
|
|
21
|
+
accessibilityLabel?: string;
|
|
18
22
|
}
|
|
19
23
|
/**
|
|
20
24
|
* The shared action button for dev-tool surfaces. Fills the gap where every
|
|
21
25
|
* tool hand-styled its own TouchableOpacity for "Clear", "Apply", "Reset".
|
|
22
26
|
*/
|
|
23
|
-
export declare function ToolButton({ label, onPress, variant, size, disabled, icon, style, }: ToolButtonProps): import("react").JSX.Element;
|
|
27
|
+
export declare function ToolButton({ label, onPress, variant, size, disabled, icon, style, testID, accessibilityLabel, }: ToolButtonProps): import("react").JSX.Element;
|
|
24
28
|
//# sourceMappingURL=ToolButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ToolButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/ToolButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,OAAmB,EACnB,IAAe,EACf,QAAgB,EAChB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,kBAAkB,GACnB,EAAE,eAAe,+BAiCjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsModal.d.ts","sourceRoot":"","sources":["../../../src/JsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAUL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAML,QAAQ,EAGR,SAAS,EAEV,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"JsModal.d.ts","sourceRoot":"","sources":["../../../src/JsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAUL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAML,QAAQ,EAGR,SAAS,EAEV,MAAM,cAAc,CAAC;AAyHtB,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC;;;+BAG2B;IAC3B,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gIAAgI;IAChI,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AA6xDD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsModal.web.d.ts","sourceRoot":"","sources":["../../../src/JsModal.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EASL,KAAK,aAAa,EAGlB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAyHf,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IAEpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"JsModal.web.d.ts","sourceRoot":"","sources":["../../../src/JsModal.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EASL,KAAK,aAAa,EAGlB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAyHf,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IAEpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B;AAwgDD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
|
|
@@ -28,6 +28,11 @@ export interface DataTreeActionDockProps {
|
|
|
28
28
|
* mode). The phone's does.
|
|
29
29
|
*/
|
|
30
30
|
containersEditable?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Top-level entries can be edited but not removed — for merge-write
|
|
33
|
+
* documents (see `TreeActionOptions.rootEntriesLocked`).
|
|
34
|
+
*/
|
|
35
|
+
rootEntriesLocked?: boolean;
|
|
31
36
|
}
|
|
32
|
-
export declare function DataTreeActionDock({ root, selection, onEdit, onSelectPath, onEditValue, containersEditable, }: DataTreeActionDockProps): import("react").JSX.Element;
|
|
37
|
+
export declare function DataTreeActionDock({ root, selection, onEdit, onSelectPath, onEditValue, containersEditable, rootEntriesLocked, }: DataTreeActionDockProps): import("react").JSX.Element;
|
|
33
38
|
//# sourceMappingURL=DataTreeActionDock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTreeActionDock.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/DataTreeActionDock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAIL,KAAK,iBAAiB,EAGvB,MAAM,eAAe,CAAC;AAqCvB,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,IAAI,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,iCAAiC;IACjC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,sEAAsE;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,8DAA8D;IAC9D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTreeActionDock.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/DataTreeActionDock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAIL,KAAK,iBAAiB,EAGvB,MAAM,eAAe,CAAC;AAqCvB,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,IAAI,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,iCAAiC;IACjC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,sEAAsE;IACtE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,8DAA8D;IAC9D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAqCD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,MAAM,EACN,YAAY,EACZ,WAAW,EACX,kBAAyB,EACzB,iBAAyB,GAC1B,EAAE,uBAAuB,+BA2CzB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The LIVE data editor — a recursive JSON tree whose leaves are inputs.
|
|
3
|
+
*
|
|
4
|
+
* Hoisted from @buoy-gg/react-query's `query-browser/Explorer.tsx` (the Data
|
|
5
|
+
* Editor that tool has always shipped) so every tool edits data through ONE
|
|
6
|
+
* implementation: react-query wraps it with a setQueryData writer, zustand
|
|
7
|
+
* with a merge-only setState writer, storage with a whole-key writer. There
|
|
8
|
+
* is no draft and no Save: each change writes through immediately (or on a
|
|
9
|
+
* short debounce — see below) and the app reacts while you type.
|
|
10
|
+
*
|
|
11
|
+
* What a leaf renders as is the ORIGINAL value's type, which is also what
|
|
12
|
+
* keeps edits type-safe without asking anything: strings and numbers get an
|
|
13
|
+
* inline input (numbers with +/- steppers and a numeric keyboard), booleans a
|
|
14
|
+
* one-tap TRUE/FALSE toggle, container members a delete ✕, arrays a clear-[]
|
|
15
|
+
* button. Structural edits this tree can't express (add key, rename) belong
|
|
16
|
+
* to the host's Raw escape hatch, not here.
|
|
17
|
+
*
|
|
18
|
+
* The one knob the RQ original doesn't use: `debounceMs`. A cache write is
|
|
19
|
+
* free and unlogged, so RQ writes per keystroke (`debounceMs: 0`). Zustand
|
|
20
|
+
* and storage writes are RECORDED — events timeline, per-store change counts,
|
|
21
|
+
* the free tier's change cap — and storage's hit disk, so those hosts pass
|
|
22
|
+
* ~300ms: the input echoes instantly, the write lands one beat after you stop
|
|
23
|
+
* typing (flushed on blur/unmount), and "granola" is one recorded change
|
|
24
|
+
* instead of seven. Discrete gestures — toggle, stepper, delete, clear —
|
|
25
|
+
* always write immediately.
|
|
26
|
+
*/
|
|
27
|
+
import type { JsonValue } from "../types/types";
|
|
28
|
+
/**
|
|
29
|
+
* How the explorer writes into whatever owns the data. The tree never mutates
|
|
30
|
+
* anything itself — every edit is handed to the host through this.
|
|
31
|
+
*/
|
|
32
|
+
export interface LiveEditWriter {
|
|
33
|
+
/** Replace the node at `path` with `value`. Fired per committed change. */
|
|
34
|
+
update(path: string[], value: unknown): void;
|
|
35
|
+
/** Remove the node at `path`. Omit entirely → no delete affordances. */
|
|
36
|
+
remove?(path: string[]): void;
|
|
37
|
+
/**
|
|
38
|
+
* Per-node removal veto. Zustand vetoes depth-1 paths — its merge write can
|
|
39
|
+
* rewrite a top-level key but never delete one. Default: allowed.
|
|
40
|
+
*/
|
|
41
|
+
canRemove?(path: string[]): boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface LiveExplorerProps {
|
|
44
|
+
editable?: boolean;
|
|
45
|
+
label: string;
|
|
46
|
+
value: JsonValue;
|
|
47
|
+
defaultExpanded?: string[];
|
|
48
|
+
/** Absent writer = read-only tree, exactly like `editable: false`. */
|
|
49
|
+
writer?: LiveEditWriter;
|
|
50
|
+
dataPath?: string[];
|
|
51
|
+
itemsDeletable?: boolean;
|
|
52
|
+
/** Bump when the subject changes externally to re-sync focused inputs. */
|
|
53
|
+
dataVersion?: number;
|
|
54
|
+
/** Handle scheme for rows/controls; hosts keep their own namespaces. */
|
|
55
|
+
testIDForPath?: (dataPath: string[]) => string;
|
|
56
|
+
/**
|
|
57
|
+
* Trailing debounce for TYPED commits (text/number input). 0 = write per
|
|
58
|
+
* keystroke (react-query). Discrete gestures always write immediately.
|
|
59
|
+
*/
|
|
60
|
+
debounceMs?: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Recursive live data explorer — see the module docstring. Used for both
|
|
64
|
+
* editable and read-only JSON trees.
|
|
65
|
+
*/
|
|
66
|
+
export declare function LiveExplorer({ editable, label, value, defaultExpanded, writer, dataPath, itemsDeletable, dataVersion, testIDForPath, debounceMs, }: LiveExplorerProps): import("react").JSX.Element;
|
|
67
|
+
/** A writer for plain local data — host supplies get/set of the whole root. */
|
|
68
|
+
export declare function makeRootWriter(options: {
|
|
69
|
+
getRoot: () => JsonValue;
|
|
70
|
+
setRoot: (next: JsonValue) => void;
|
|
71
|
+
canRemove?: (path: string[]) => boolean;
|
|
72
|
+
}): LiveEditWriter;
|
|
73
|
+
//# sourceMappingURL=LiveExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveExplorer.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/LiveExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQhD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,wEAAwE;IACxE,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;CACrC;AAgRD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAC/C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,eAAe,EACf,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAe,EACf,aAAoC,EACpC,UAAc,GACf,EAAE,iBAAiB,+BA+ZnB;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,OAAO,EAAE,MAAM,SAAS,CAAC;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;CACzC,GAAG,cAAc,CAcjB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Editing one value: a panel at the top of the screen, with Cancel and Save.
|
|
3
|
+
*
|
|
4
|
+
* This started as a pushed full screen and that was more ceremony than the task
|
|
5
|
+
* deserves — changing one string is the most ordinary thing in these tools, and
|
|
6
|
+
* it shouldn't cost a navigation. A modal is what people expect, and the reason
|
|
7
|
+
* it's pinned to the TOP rather than centred is the keyboard: a centred panel
|
|
8
|
+
* gets shoved up or covered the moment the field focuses, and a bottom sheet is
|
|
9
|
+
* simply underneath it. At the top it stays put and stays readable.
|
|
10
|
+
*
|
|
11
|
+
* The field is multiline for anything textual. Stored values are routinely
|
|
12
|
+
* tokens, URLs and serialized blobs, and a single line shows you roughly forty
|
|
13
|
+
* characters of them, scrolling sideways — which is how you edit the wrong part
|
|
14
|
+
* of a string without noticing.
|
|
15
|
+
*
|
|
16
|
+
* Type is preserved by construction: the ORIGINAL value's type picks the editor
|
|
17
|
+
* AND decides how the draft is read back, so editing a number can only produce
|
|
18
|
+
* a number. Raw JSON — the escape hatch for containers — re-checks the parsed
|
|
19
|
+
* result and refuses a different shape.
|
|
20
|
+
*
|
|
21
|
+
* Nothing here writes. `onSave` hands the value to whoever owns it.
|
|
22
|
+
*
|
|
23
|
+
* Hoisted from the Storage tool (which keeps its testIDs via `testIDPrefix`)
|
|
24
|
+
* so the Zustand store editor types values through the same rules.
|
|
25
|
+
*/
|
|
26
|
+
export interface ValueEditModalProps {
|
|
27
|
+
/** Path into the value being edited — labels the panel, never used to write. */
|
|
28
|
+
path: string[];
|
|
29
|
+
value: unknown;
|
|
30
|
+
onSave: (next: unknown) => void;
|
|
31
|
+
onCancel: () => void;
|
|
32
|
+
/** "Save" when this writes, "Apply" when it only updates a draft. */
|
|
33
|
+
saveLabel?: string;
|
|
34
|
+
/** Disables the controls while a write is in flight. */
|
|
35
|
+
busy?: boolean;
|
|
36
|
+
/** Handle root for the panel's controls (`<prefix>-input`, `-save`, …). */
|
|
37
|
+
testIDPrefix?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function ValueEditModal({ path, value, onSave, onCancel, saveLabel, busy, testIDPrefix, }: ValueEditModalProps): import("react").JSX.Element;
|
|
40
|
+
//# sourceMappingURL=ValueEditModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueEditModal.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/ValueEditModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAgBH,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAkCD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAkB,EAClB,IAAY,EACZ,YAAgC,GACjC,EAAE,mBAAmB,+BA+HrB"}
|
|
@@ -29,4 +29,9 @@ export { computeLineDiff, DiffType, ABSENT_VALUE, isAbsent, type LineDiffInfo, t
|
|
|
29
29
|
export { diffThemes, gitClassicTheme, devToolsDefaultTheme, type DiffTheme, type DiffThemeKey, } from "./diffThemes";
|
|
30
30
|
export { objectDiff, boundedDeepEqual, toDiffable, jsonLikelyLargerThan, type ObjectDiffOptions, type ObjectDiffResult, } from "./objectDiff";
|
|
31
31
|
export { ThemedSplitView, type DiffOptions, type DiffCompareMethod, } from "./ThemedSplitView";
|
|
32
|
+
export { useTreeDraft, type TreeDraft } from "./useTreeDraft";
|
|
33
|
+
export { useTreeEditor, type TreeEditor, type TreeEditorOptions, } from "./useTreeEditor";
|
|
34
|
+
export { ValueEditModal, type ValueEditModalProps } from "./ValueEditModal";
|
|
35
|
+
export { LiveExplorer, makeRootWriter, type LiveEditWriter, type LiveExplorerProps, } from "./LiveExplorer";
|
|
36
|
+
export { updateNestedDataByPath, deleteNestedDataByPath } from "./nestedPath";
|
|
32
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C;;;;GAIG;AACH,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,MAAM,GACZ,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Immutable path writes over arbitrary JSON-ish data — the write kernel the
|
|
3
|
+
* live explorer edits through.
|
|
4
|
+
*
|
|
5
|
+
* Hoisted verbatim from @buoy-gg/react-query (utils/updateNestedDataByPath +
|
|
6
|
+
* utils/deleteNestedDataByPath), where the RQ Data Editor has run on them in
|
|
7
|
+
* production; react-query re-exports from here. Handles objects, arrays, and
|
|
8
|
+
* Map/Set (a Set edit round-trips through an array).
|
|
9
|
+
*/
|
|
10
|
+
import type { JsonValue } from "../types/types";
|
|
11
|
+
/**
|
|
12
|
+
* Returns a copy of `oldData` with the node at `updatePath` replaced by
|
|
13
|
+
* `value`. An empty path replaces the whole document.
|
|
14
|
+
*/
|
|
15
|
+
export declare const updateNestedDataByPath: (oldData: JsonValue, updatePath: string[], value: JsonValue) => JsonValue;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a copy of `oldData` without the node at `deletePath`.
|
|
18
|
+
*/
|
|
19
|
+
export declare const deleteNestedDataByPath: (oldData: unknown, deletePath: string[]) => unknown;
|
|
20
|
+
//# sourceMappingURL=nestedPath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestedPath.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/nestedPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,EAClB,YAAY,MAAM,EAAE,EACpB,OAAO,SAAS,KACf,SAiEF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,OAAO,EAChB,YAAY,MAAM,EAAE,KACnB,OAmDF,CAAC"}
|
|
@@ -55,6 +55,16 @@ export interface TreeActionOptions {
|
|
|
55
55
|
* physically cannot show it.
|
|
56
56
|
*/
|
|
57
57
|
containersEditable?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Depth-1 entries can be changed but never removed.
|
|
60
|
+
*
|
|
61
|
+
* For documents whose write path is a top-level shallow MERGE (a zustand
|
|
62
|
+
* store's `setState(partial, false)`): a merge can rewrite a top-level key
|
|
63
|
+
* but has no way to delete one, so offering Remove there would produce an
|
|
64
|
+
* edit the save cannot express. Everything nested is unaffected — removing
|
|
65
|
+
* `lines[0]` just rewrites `lines`.
|
|
66
|
+
*/
|
|
67
|
+
rootEntriesLocked?: boolean;
|
|
58
68
|
}
|
|
59
69
|
/** The node's type, as a badge shows it. */
|
|
60
70
|
export declare function typeLabel(value: unknown): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeActions.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/treeActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AAEnB,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,KAAK,GACL,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"treeActions.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/treeActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AAEnB,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,KAAK,GACL,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,4CAA4C;AAC5C,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKhD;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,UAAU,EAAE,GACpB,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAIlC;AAUD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,OAAO,GAAE,iBAAsB,GAC9B,UAAU,EAAE,CAiGd"}
|