@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.
Files changed (129) hide show
  1. package/lib/commonjs/JsModal.js +18 -2
  2. package/lib/commonjs/JsModal.web.js +7 -4
  3. package/lib/commonjs/dataViewer/DataTreeActionDock.js +4 -2
  4. package/lib/commonjs/dataViewer/LiveExplorer.js +930 -0
  5. package/lib/commonjs/dataViewer/ValueEditModal.js +385 -0
  6. package/lib/commonjs/dataViewer/index.js +47 -0
  7. package/lib/commonjs/dataViewer/nestedPath.js +115 -0
  8. package/lib/commonjs/dataViewer/treeActions.js +3 -2
  9. package/lib/commonjs/dataViewer/useTreeDraft.js +125 -0
  10. package/lib/commonjs/dataViewer/useTreeEditor.js +105 -0
  11. package/lib/commonjs/env/EnvironmentIndicator.js +7 -1
  12. package/lib/commonjs/hooks/safe-area-impl.js +1 -1
  13. package/lib/commonjs/index.js +24 -0
  14. package/lib/commonjs/license/tierLimits.js +14 -0
  15. package/lib/commonjs/storage/devToolsStorageKeys.js +36 -0
  16. package/lib/commonjs/sync/toolActionRegistry.js +166 -0
  17. package/lib/commonjs/sync/toolUiBridge.js +74 -0
  18. package/lib/commonjs/ui/components/CompactRow.js +4 -0
  19. package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.js +9 -1
  20. package/lib/commonjs/ui/components/ExpandedInfoRow.js +3 -1
  21. package/lib/commonjs/ui/components/ModalHeader.js +7 -4
  22. package/lib/commonjs/ui/components/SearchBar.js +5 -109
  23. package/lib/commonjs/ui/components/ToolButton.js +5 -2
  24. package/lib/module/JsModal.js +18 -2
  25. package/lib/module/JsModal.web.js +7 -4
  26. package/lib/module/dataViewer/DataTreeActionDock.js +4 -2
  27. package/lib/module/dataViewer/LiveExplorer.js +925 -0
  28. package/lib/module/dataViewer/ValueEditModal.js +381 -0
  29. package/lib/module/dataViewer/index.js +10 -1
  30. package/lib/module/dataViewer/nestedPath.js +109 -0
  31. package/lib/module/dataViewer/treeActions.js +3 -2
  32. package/lib/module/dataViewer/useTreeDraft.js +121 -0
  33. package/lib/module/dataViewer/useTreeEditor.js +101 -0
  34. package/lib/module/env/EnvironmentIndicator.js +7 -1
  35. package/lib/module/hooks/safe-area-impl.js +1 -1
  36. package/lib/module/index.js +2 -0
  37. package/lib/module/license/tierLimits.js +14 -0
  38. package/lib/module/storage/devToolsStorageKeys.js +36 -0
  39. package/lib/module/sync/toolActionRegistry.js +154 -0
  40. package/lib/module/sync/toolUiBridge.js +68 -0
  41. package/lib/module/ui/components/CompactRow.js +4 -0
  42. package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.js +9 -1
  43. package/lib/module/ui/components/ExpandedInfoRow.js +3 -1
  44. package/lib/module/ui/components/ModalHeader.js +7 -4
  45. package/lib/module/ui/components/SearchBar.js +8 -112
  46. package/lib/module/ui/components/ToolButton.js +5 -2
  47. package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts +6 -1
  50. package/lib/typescript/commonjs/dataViewer/DataTreeActionDock.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts +73 -0
  52. package/lib/typescript/commonjs/dataViewer/LiveExplorer.d.ts.map +1 -0
  53. package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts +40 -0
  54. package/lib/typescript/commonjs/dataViewer/ValueEditModal.d.ts.map +1 -0
  55. package/lib/typescript/commonjs/dataViewer/index.d.ts +5 -0
  56. package/lib/typescript/commonjs/dataViewer/index.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/dataViewer/nestedPath.d.ts +20 -0
  58. package/lib/typescript/commonjs/dataViewer/nestedPath.d.ts.map +1 -0
  59. package/lib/typescript/commonjs/dataViewer/treeActions.d.ts +10 -0
  60. package/lib/typescript/commonjs/dataViewer/treeActions.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/dataViewer/useTreeDraft.d.ts +81 -0
  62. package/lib/typescript/commonjs/dataViewer/useTreeDraft.d.ts.map +1 -0
  63. package/lib/typescript/commonjs/dataViewer/useTreeEditor.d.ts +52 -0
  64. package/lib/typescript/commonjs/dataViewer/useTreeEditor.d.ts.map +1 -0
  65. package/lib/typescript/commonjs/env/EnvironmentIndicator.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  67. package/lib/typescript/commonjs/index.d.ts +2 -0
  68. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/license/tierLimits.d.ts +10 -0
  70. package/lib/typescript/commonjs/license/tierLimits.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts +36 -0
  72. package/lib/typescript/commonjs/storage/devToolsStorageKeys.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts +85 -0
  74. package/lib/typescript/commonjs/sync/toolActionRegistry.d.ts.map +1 -0
  75. package/lib/typescript/commonjs/sync/toolUiBridge.d.ts +39 -0
  76. package/lib/typescript/commonjs/sync/toolUiBridge.d.ts.map +1 -0
  77. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts +5 -1
  78. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts +6 -0
  81. package/lib/typescript/commonjs/ui/components/EventHistoryViewer/types.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts +7 -1
  83. package/lib/typescript/commonjs/ui/components/ExpandedInfoRow.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/ui/components/SearchBar.d.ts +1 -3
  85. package/lib/typescript/commonjs/ui/components/SearchBar.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/ui/components/ToolButton.d.ts +5 -1
  87. package/lib/typescript/commonjs/ui/components/ToolButton.d.ts.map +1 -1
  88. package/lib/typescript/module/JsModal.d.ts.map +1 -1
  89. package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
  90. package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts +6 -1
  91. package/lib/typescript/module/dataViewer/DataTreeActionDock.d.ts.map +1 -1
  92. package/lib/typescript/module/dataViewer/LiveExplorer.d.ts +73 -0
  93. package/lib/typescript/module/dataViewer/LiveExplorer.d.ts.map +1 -0
  94. package/lib/typescript/module/dataViewer/ValueEditModal.d.ts +40 -0
  95. package/lib/typescript/module/dataViewer/ValueEditModal.d.ts.map +1 -0
  96. package/lib/typescript/module/dataViewer/index.d.ts +5 -0
  97. package/lib/typescript/module/dataViewer/index.d.ts.map +1 -1
  98. package/lib/typescript/module/dataViewer/nestedPath.d.ts +20 -0
  99. package/lib/typescript/module/dataViewer/nestedPath.d.ts.map +1 -0
  100. package/lib/typescript/module/dataViewer/treeActions.d.ts +10 -0
  101. package/lib/typescript/module/dataViewer/treeActions.d.ts.map +1 -1
  102. package/lib/typescript/module/dataViewer/useTreeDraft.d.ts +81 -0
  103. package/lib/typescript/module/dataViewer/useTreeDraft.d.ts.map +1 -0
  104. package/lib/typescript/module/dataViewer/useTreeEditor.d.ts +52 -0
  105. package/lib/typescript/module/dataViewer/useTreeEditor.d.ts.map +1 -0
  106. package/lib/typescript/module/env/EnvironmentIndicator.d.ts.map +1 -1
  107. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  108. package/lib/typescript/module/index.d.ts +2 -0
  109. package/lib/typescript/module/index.d.ts.map +1 -1
  110. package/lib/typescript/module/license/tierLimits.d.ts +10 -0
  111. package/lib/typescript/module/license/tierLimits.d.ts.map +1 -1
  112. package/lib/typescript/module/storage/devToolsStorageKeys.d.ts +36 -0
  113. package/lib/typescript/module/storage/devToolsStorageKeys.d.ts.map +1 -1
  114. package/lib/typescript/module/sync/toolActionRegistry.d.ts +85 -0
  115. package/lib/typescript/module/sync/toolActionRegistry.d.ts.map +1 -0
  116. package/lib/typescript/module/sync/toolUiBridge.d.ts +39 -0
  117. package/lib/typescript/module/sync/toolUiBridge.d.ts.map +1 -0
  118. package/lib/typescript/module/ui/components/CompactRow.d.ts +5 -1
  119. package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
  120. package/lib/typescript/module/ui/components/EventHistoryViewer/DiffModeTabs.d.ts.map +1 -1
  121. package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts +6 -0
  122. package/lib/typescript/module/ui/components/EventHistoryViewer/types.d.ts.map +1 -1
  123. package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts +7 -1
  124. package/lib/typescript/module/ui/components/ExpandedInfoRow.d.ts.map +1 -1
  125. package/lib/typescript/module/ui/components/SearchBar.d.ts +1 -3
  126. package/lib/typescript/module/ui/components/SearchBar.d.ts.map +1 -1
  127. package/lib/typescript/module/ui/components/ToolButton.d.ts +5 -1
  128. package/lib/typescript/module/ui/components/ToolButton.d.ts.map +1 -1
  129. package/package.json +4 -4
@@ -0,0 +1,81 @@
1
+ /**
2
+ * A local draft of a tree value, edited in place and written ONCE.
3
+ *
4
+ * Applying each tree op straight to the owning document was the obvious first
5
+ * cut and it behaves badly for two compounding reasons:
6
+ *
7
+ * 1. **Every op is a round trip.** The write lands, the owner emits an event,
8
+ * a snapshot comes back, and the browser re-reads everything — so a six-tap
9
+ * reorder is six writes and six full refreshes. The tree rebuilds under the
10
+ * user mid-gesture.
11
+ * 2. **The highlight and the value fall out of step.** Selection is local and
12
+ * moves instantly; the value it points at only catches up when the round
13
+ * trip completes, so for a beat the highlight sits on the old contents.
14
+ *
15
+ * Optimistic updates — the React Query pattern of rendering the expected result
16
+ * and reconciling later — fix (2) but not (1): they still write per change.
17
+ * Buffering fixes both, and it's what every editor that owns a document does
18
+ * (a form's dirty state, an IDE's unsaved buffer, JSON Editor's in-memory doc
19
+ * with an explicit save).
20
+ *
21
+ * The trade is that the buffer can go stale if the owner writes the same
22
+ * document while you're editing. That's the same last-write-wins a text editor
23
+ * has, and `isDirty` at least makes it visible that you're holding unsaved
24
+ * changes.
25
+ *
26
+ * Grew up as the Storage tool's key editor; hoisted here so the Zustand store
27
+ * editor is the same editor rather than a drifting copy. The save contract
28
+ * takes the VALUE — a storage host stringifies it, a zustand host diffs it
29
+ * into a merge partial.
30
+ */
31
+ import { type JsonOp } from "./jsonOps";
32
+ export interface TreeDraft {
33
+ /** True while the tree is in edit mode. */
34
+ isEditing: boolean;
35
+ /** What the tree should render — the draft while editing, else the live value. */
36
+ value: unknown;
37
+ /** True when the draft differs from what's stored. */
38
+ isDirty: boolean;
39
+ /** True while the single write is in flight. */
40
+ isSaving: boolean;
41
+ /** Error from the last save attempt, or null. */
42
+ error: string | null;
43
+ /** Where the tree should move its highlight after the last op. */
44
+ selectPath: string[] | null | undefined;
45
+ begin: () => void;
46
+ /** Apply one op to the DRAFT. Nothing is written. */
47
+ apply: (op: JsonOp) => void;
48
+ /**
49
+ * Move the highlight explicitly, for the ops that CREATE a node.
50
+ * `selectionPathAfterOp` handles the ones that move or delete a node, but it
51
+ * can't handle these — it doesn't see the container, so it can't know an
52
+ * append landed at index 3.
53
+ */
54
+ selectAt: (path: string[]) => void;
55
+ /**
56
+ * Write the draft to its owner and leave edit mode. No-op write when clean.
57
+ *
58
+ * Resolves `true` when the value is safely written and `false` when the write
59
+ * was refused — it never rejects, because a failed save is a state this hook
60
+ * handles (it keeps edit mode open and sets `error`). Callers that navigate
61
+ * away on save MUST check the result, or they'll close over a draft that was
62
+ * never written and show the user nothing.
63
+ */
64
+ commit: () => Promise<boolean>;
65
+ /**
66
+ * Throw the draft away — back to the value as stored, still editing.
67
+ *
68
+ * Deliberately NOT "leave edit mode": Discard sits next to Save in the
69
+ * commit row and leaves you on the editor. Dropping out of edit mode there
70
+ * left a screen that looked fine and silently swallowed every subsequent
71
+ * edit — `value` fell back to the live value, `isDirty` was pinned false,
72
+ * and Save never came back, because nothing re-enters edit mode after mount.
73
+ */
74
+ discard: () => void;
75
+ }
76
+ /**
77
+ * @param liveValue the value as its owner currently holds it (already parsed)
78
+ * @param save persists the draft VALUE; rejecting keeps edit mode open
79
+ */
80
+ export declare function useTreeDraft(liveValue: unknown, save?: (value: unknown) => Promise<void>): TreeDraft;
81
+ //# sourceMappingURL=useTreeDraft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTreeDraft.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/useTreeDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAqC,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAE3E,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kEAAkE;IAClE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAExC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,qDAAqD;IACrD,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnC;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,OAAO,EAClB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GACvC,SAAS,CAuFX"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Everything editing a tree document involves, minus how it looks.
3
+ *
4
+ * The phone and the dashboard run the same editor: one buffered draft, one
5
+ * write on save, a selection the structural actions operate on, a modal for
6
+ * typing a value, and a guard so closing can't silently drop unsaved work.
7
+ * What differs is presentation — thumb-sized tiles under a full screen versus
8
+ * chips docked in a panel — which is a rendering concern and nothing more.
9
+ *
10
+ * Keeping the rules here means the surfaces (and the tools — storage keys and
11
+ * zustand stores run this same hook) can't drift on the things that would
12
+ * actually hurt: whether a boolean opens an editor, whether a failed write
13
+ * closes the editor anyway, what "dirty" means.
14
+ */
15
+ import type { DataTreeSelection } from "./treeActions";
16
+ import { type TreeDraft } from "./useTreeDraft";
17
+ export interface TreeEditor {
18
+ draft: TreeDraft;
19
+ /** The tree row the structural actions apply to. */
20
+ selection: DataTreeSelection | null;
21
+ setSelection: (selection: DataTreeSelection | null) => void;
22
+ /** Which node the value modal is open on. Null means it's closed. */
23
+ valuePath: string[] | null;
24
+ /** Open the value modal — or, for a boolean, just flip it. */
25
+ openValueEditor: (path: string[]) => void;
26
+ closeValueEditor: () => void;
27
+ /** Take the modal's result into the draft. */
28
+ applyValue: (next: unknown) => void;
29
+ /** Open the modal on the whole value — the manual/raw JSON escape hatch. */
30
+ openRawEditor: () => void;
31
+ /** Leave, resolving unsaved work first. */
32
+ requestClose: () => void;
33
+ /** Write, and leave only if the write landed. */
34
+ saveAndClose: () => void;
35
+ }
36
+ export interface TreeEditorOptions {
37
+ /** The value as its owner holds it, already un-stringified. */
38
+ value: unknown;
39
+ /** Performs the single write. Rejecting keeps the work on screen. */
40
+ save: (value: unknown) => Promise<void>;
41
+ onClose: () => void;
42
+ /**
43
+ * Asks the user what to do about unsaved work. Called only when dirty; the
44
+ * host owns this because a phone wants a native alert and a panel may not.
45
+ */
46
+ confirmDiscard: (choices: {
47
+ save: () => void;
48
+ discard: () => void;
49
+ }) => void;
50
+ }
51
+ export declare function useTreeEditor({ value, save, onClose, confirmDiscard, }: TreeEditorOptions): TreeEditor;
52
+ //# sourceMappingURL=useTreeEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTreeEditor.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/useTreeEditor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,oDAAoD;IACpD,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,qEAAqE;IACrE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,8DAA8D;IAC9D,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,4EAA4E;IAC5E,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,iDAAiD;IACjD,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE;QACxB,IAAI,EAAE,MAAM,IAAI,CAAC;QACjB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,IAAI,CAAC;CACZ;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,OAAO,EACP,cAAc,GACf,EAAE,iBAAiB,GAAG,UAAU,CA2EhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentIndicator.d.ts","sourceRoot":"","sources":["../../../../src/env/EnvironmentIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,cAAc,CAAC;AAWxE,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAyDD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,QAAQ,EACR,WAAmB,EACnB,OAAO,GACR,EAAE,yBAAyB,+BAkE3B"}
1
+ {"version":3,"file":"EnvironmentIndicator.d.ts","sourceRoot":"","sources":["../../../../src/env/EnvironmentIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,cAAc,CAAC;AAWxE,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAyDD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,QAAQ,EACR,WAAmB,EACnB,OAAO,GACR,EAAE,yBAAyB,+BAwE3B"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated safe area implementation
3
3
  * Detected: none
4
- * Generated at: 2026-08-24T19:34:02.929Z
4
+ * Generated at: 2026-08-29T17:41:46.184Z
5
5
  *
6
6
  * DO NOT EDIT - This file is generated by scripts/detect-safe-area.js
7
7
  *
@@ -1,6 +1,8 @@
1
1
  export * from "./ui";
2
2
  export * from "./stores";
3
3
  export * from "./sync/wireBudget";
4
+ export * from "./sync/toolActionRegistry";
5
+ export * from "./sync/toolUiBridge";
4
6
  export { absoluteFill, displayValue, parseDisplayValue, getSafeAreaInsets, persistentStorage, isUsingPersistentStorage, getStorageBackendType, safeStringify, getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstructorName, isEmpty, getValueSize, parseValue, formatValue, getTypeColor, truncateText, flattenObject, formatPath, loadOptionalModule, getCachedOptionalModule, setRenderCaptureProvider, getRenderCaptureProvider, type RenderCaptureProvider, type RenderCaptureSummary, type RenderCaptureTopComponent, type RenderCauseCounts, registerStateSnapshotProvider, getStateSnapshotProviders, getStateSnapshotProvider, subscribeToStateSnapshotProviders, type StateSnapshotProvider, type StateSnapshotProviderStatus, type StateSnapshotCapture, type StateSnapshotRestoreResult, type StateSnapshotPreview, type StateSnapshotPreviewItem, type StateSnapshotPreviewVerdict, superJsonSerialize, superJsonDeserialize, type SuperJSONResult, reloadApp, scheduleReloadApp, resolveReloadStrategy, REMOTE_RELOAD_DELAY_MS, type ReloadStrategy, type ResolvedReloadStrategy, getDevServerOrigin, Subscribable, type SubscribableListener, subscriberCountNotifier, subscribeToSubscriberCountChanges, notifySubscriberCountChange, useSafeRouter, useSafePathname, useSafeSegments, useSafeGlobalSearchParams, getSafeRouter, getSafeCurrentPathname, getSafeCurrentRoute, isExpoRouterAvailable, } from "./utils";
5
7
  export type { SafeRouteLocation } from "./utils";
6
8
  export * from "./utils/formatting";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,16 @@ declare const LIMITS: {
99
99
  free: number;
100
100
  pro: number;
101
101
  };
102
+ "scenarios.saved": {
103
+ anonymous: number;
104
+ free: number;
105
+ pro: number;
106
+ };
107
+ "scenarios.active": {
108
+ anonymous: number;
109
+ free: number;
110
+ pro: number;
111
+ };
102
112
  };
103
113
  export type TierLimitKey = keyof typeof LIMITS;
104
114
  export declare const TIER_LIMITS: Record<TierLimitKey, TierLimit>;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BX,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"}
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;;;;QAID,oCAAoC;;QAGpC,wCAAwC;;QAGxC,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"}
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,+BAkIjB"}
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,+CAqCvB,CAAC"}
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":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/EventHistoryViewer/types.ts"],"names":[],"mappings":"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"}
@@ -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;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAW,EAAE,EAAE,cAAc,+BAgB/E"}
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, suggestions, recentSearches, showFilters, onFilterPress, style, containerStyle, autoFocus, onSubmitEditing, testID, returnKeyType, }: SearchBarProps): import("react").JSX.Element;
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,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,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,WAAgB,EAChB,cAAmB,EACnB,WAAmB,EACnB,aAAa,EACb,KAAK,EACL,cAAc,EACd,SAAiB,EACjB,eAAe,EACf,MAAM,EACN,aAAa,GACd,EAAE,cAAc,+BA8HhB;yBA7Ie,SAAS;mDAyJtB,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"}
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;CACnB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,OAAmB,EACnB,IAAe,EACf,QAAgB,EAChB,IAAI,EACJ,KAAK,GACN,EAAE,eAAe,+BAgCjB"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/shared-ui",
3
- "version": "7.0.29",
3
+ "version": "7.0.31",
4
4
  "description": "Shared UI components, hooks, and utilities",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -136,10 +136,10 @@
136
136
  ],
137
137
  "sideEffects": false,
138
138
  "dependencies": {
139
- "@buoy-gg/floating-tools-core": "^7.0.29"
139
+ "@buoy-gg/floating-tools-core": "^7.0.31"
140
140
  },
141
141
  "peerDependencies": {
142
- "@buoy-gg/license": "7.0.29",
142
+ "@buoy-gg/license": "7.0.31",
143
143
  "@react-native-clipboard/clipboard": "*",
144
144
  "expo-clipboard": "*",
145
145
  "expo-file-system": "*",
@@ -167,7 +167,7 @@
167
167
  "expo-clipboard": "~7.1.5",
168
168
  "react-native-safe-area-context": "^5.6.2",
169
169
  "typescript": "~5.8.3",
170
- "@buoy-gg/license": "^7.0.29"
170
+ "@buoy-gg/license": "^7.0.31"
171
171
  },
172
172
  "react-native-builder-bob": {
173
173
  "source": "src",