@buoy-gg/ask-buoy 7.0.33 → 7.0.34

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 (153) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/blocks/AskBlocks.js +1 -338
  3. package/lib/commonjs/blocks/BlockRenderer.js +1 -250
  4. package/lib/commonjs/blocks/ChromePrototypes.js +1 -514
  5. package/lib/commonjs/blocks/DataBlocks.js +1 -545
  6. package/lib/commonjs/blocks/ExtraBlocks.js +1 -1821
  7. package/lib/commonjs/blocks/MediaBlocks.js +1 -140
  8. package/lib/commonjs/blocks/ReceiptBlocks.js +1 -596
  9. package/lib/commonjs/blocks/context.js +1 -42
  10. package/lib/commonjs/blocks/icons.js +1 -96
  11. package/lib/commonjs/blocks/index.js +1 -95
  12. package/lib/commonjs/blocks/primitives.js +1 -312
  13. package/lib/commonjs/blocks/primitivesIndex.js +1 -56
  14. package/lib/commonjs/components/ApprovalCard.js +1 -140
  15. package/lib/commonjs/components/AskBuoyHeader.js +1 -127
  16. package/lib/commonjs/components/AskBuoyIcon.js +1 -19
  17. package/lib/commonjs/components/AskBuoyModal.js +1 -322
  18. package/lib/commonjs/components/ChangesBar.js +1 -211
  19. package/lib/commonjs/components/Composer.js +1 -175
  20. package/lib/commonjs/components/EmptyState.js +1 -154
  21. package/lib/commonjs/components/Markdown.js +1 -252
  22. package/lib/commonjs/components/MessageList.js +1 -648
  23. package/lib/commonjs/components/TypingDots.js +1 -63
  24. package/lib/commonjs/index.js +1 -205
  25. package/lib/commonjs/preset.js +1 -90
  26. package/lib/commonjs/store/askBuoyStore.js +1 -279
  27. package/lib/commonjs/store/useAskBuoy.js +1 -299
  28. package/lib/commonjs/sync/askBuoySyncAdapter.js +1 -119
  29. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +1 -136
  30. package/lib/commonjs/sync/wire.js +1 -58
  31. package/lib/commonjs/types.js +1 -6
  32. package/lib/module/blocks/AskBlocks.js +1 -331
  33. package/lib/module/blocks/BlockRenderer.js +1 -245
  34. package/lib/module/blocks/ChromePrototypes.js +1 -503
  35. package/lib/module/blocks/DataBlocks.js +1 -532
  36. package/lib/module/blocks/ExtraBlocks.js +1 -1794
  37. package/lib/module/blocks/MediaBlocks.js +1 -135
  38. package/lib/module/blocks/ReceiptBlocks.js +1 -584
  39. package/lib/module/blocks/context.js +1 -35
  40. package/lib/module/blocks/icons.js +1 -91
  41. package/lib/module/blocks/index.js +1 -8
  42. package/lib/module/blocks/primitives.js +1 -301
  43. package/lib/module/blocks/primitivesIndex.js +1 -5
  44. package/lib/module/components/ApprovalCard.js +1 -135
  45. package/lib/module/components/AskBuoyHeader.js +1 -124
  46. package/lib/module/components/AskBuoyIcon.js +1 -8
  47. package/lib/module/components/AskBuoyModal.js +1 -317
  48. package/lib/module/components/ChangesBar.js +1 -206
  49. package/lib/module/components/Composer.js +1 -170
  50. package/lib/module/components/EmptyState.js +1 -149
  51. package/lib/module/components/Markdown.js +1 -246
  52. package/lib/module/components/MessageList.js +1 -642
  53. package/lib/module/components/TypingDots.js +1 -58
  54. package/lib/module/index.js +1 -29
  55. package/lib/module/preset.js +1 -73
  56. package/lib/module/store/askBuoyStore.js +1 -275
  57. package/lib/module/store/useAskBuoy.js +1 -293
  58. package/lib/module/sync/askBuoySyncAdapter.js +1 -114
  59. package/lib/module/sync/askBuoySyncAdapter.test.js +1 -135
  60. package/lib/module/sync/wire.js +1 -47
  61. package/lib/module/types.js +1 -4
  62. package/lib/typescript/preset.d.ts +1 -1
  63. package/package.json +8 -8
  64. package/lib/commonjs/blocks/AskBlocks.js.map +0 -1
  65. package/lib/commonjs/blocks/BlockRenderer.js.map +0 -1
  66. package/lib/commonjs/blocks/ChromePrototypes.js.map +0 -1
  67. package/lib/commonjs/blocks/DataBlocks.js.map +0 -1
  68. package/lib/commonjs/blocks/ExtraBlocks.js.map +0 -1
  69. package/lib/commonjs/blocks/MediaBlocks.js.map +0 -1
  70. package/lib/commonjs/blocks/ReceiptBlocks.js.map +0 -1
  71. package/lib/commonjs/blocks/context.js.map +0 -1
  72. package/lib/commonjs/blocks/icons.js.map +0 -1
  73. package/lib/commonjs/blocks/index.js.map +0 -1
  74. package/lib/commonjs/blocks/primitives.js.map +0 -1
  75. package/lib/commonjs/blocks/primitivesIndex.js.map +0 -1
  76. package/lib/commonjs/components/ApprovalCard.js.map +0 -1
  77. package/lib/commonjs/components/AskBuoyHeader.js.map +0 -1
  78. package/lib/commonjs/components/AskBuoyIcon.js.map +0 -1
  79. package/lib/commonjs/components/AskBuoyModal.js.map +0 -1
  80. package/lib/commonjs/components/ChangesBar.js.map +0 -1
  81. package/lib/commonjs/components/Composer.js.map +0 -1
  82. package/lib/commonjs/components/EmptyState.js.map +0 -1
  83. package/lib/commonjs/components/Markdown.js.map +0 -1
  84. package/lib/commonjs/components/MessageList.js.map +0 -1
  85. package/lib/commonjs/components/TypingDots.js.map +0 -1
  86. package/lib/commonjs/index.js.map +0 -1
  87. package/lib/commonjs/preset.js.map +0 -1
  88. package/lib/commonjs/store/askBuoyStore.js.map +0 -1
  89. package/lib/commonjs/store/useAskBuoy.js.map +0 -1
  90. package/lib/commonjs/sync/askBuoySyncAdapter.js.map +0 -1
  91. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +0 -1
  92. package/lib/commonjs/sync/wire.js.map +0 -1
  93. package/lib/commonjs/types.js.map +0 -1
  94. package/lib/module/blocks/AskBlocks.js.map +0 -1
  95. package/lib/module/blocks/BlockRenderer.js.map +0 -1
  96. package/lib/module/blocks/ChromePrototypes.js.map +0 -1
  97. package/lib/module/blocks/DataBlocks.js.map +0 -1
  98. package/lib/module/blocks/ExtraBlocks.js.map +0 -1
  99. package/lib/module/blocks/MediaBlocks.js.map +0 -1
  100. package/lib/module/blocks/ReceiptBlocks.js.map +0 -1
  101. package/lib/module/blocks/context.js.map +0 -1
  102. package/lib/module/blocks/icons.js.map +0 -1
  103. package/lib/module/blocks/index.js.map +0 -1
  104. package/lib/module/blocks/primitives.js.map +0 -1
  105. package/lib/module/blocks/primitivesIndex.js.map +0 -1
  106. package/lib/module/components/ApprovalCard.js.map +0 -1
  107. package/lib/module/components/AskBuoyHeader.js.map +0 -1
  108. package/lib/module/components/AskBuoyIcon.js.map +0 -1
  109. package/lib/module/components/AskBuoyModal.js.map +0 -1
  110. package/lib/module/components/ChangesBar.js.map +0 -1
  111. package/lib/module/components/Composer.js.map +0 -1
  112. package/lib/module/components/EmptyState.js.map +0 -1
  113. package/lib/module/components/Markdown.js.map +0 -1
  114. package/lib/module/components/MessageList.js.map +0 -1
  115. package/lib/module/components/TypingDots.js.map +0 -1
  116. package/lib/module/index.js.map +0 -1
  117. package/lib/module/preset.js.map +0 -1
  118. package/lib/module/store/askBuoyStore.js.map +0 -1
  119. package/lib/module/store/useAskBuoy.js.map +0 -1
  120. package/lib/module/sync/askBuoySyncAdapter.js.map +0 -1
  121. package/lib/module/sync/askBuoySyncAdapter.test.js.map +0 -1
  122. package/lib/module/sync/wire.js.map +0 -1
  123. package/lib/module/types.js.map +0 -1
  124. package/lib/typescript/blocks/AskBlocks.d.ts.map +0 -1
  125. package/lib/typescript/blocks/BlockRenderer.d.ts.map +0 -1
  126. package/lib/typescript/blocks/ChromePrototypes.d.ts.map +0 -1
  127. package/lib/typescript/blocks/DataBlocks.d.ts.map +0 -1
  128. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +0 -1
  129. package/lib/typescript/blocks/MediaBlocks.d.ts.map +0 -1
  130. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +0 -1
  131. package/lib/typescript/blocks/context.d.ts.map +0 -1
  132. package/lib/typescript/blocks/icons.d.ts.map +0 -1
  133. package/lib/typescript/blocks/index.d.ts.map +0 -1
  134. package/lib/typescript/blocks/primitives.d.ts.map +0 -1
  135. package/lib/typescript/blocks/primitivesIndex.d.ts.map +0 -1
  136. package/lib/typescript/components/ApprovalCard.d.ts.map +0 -1
  137. package/lib/typescript/components/AskBuoyHeader.d.ts.map +0 -1
  138. package/lib/typescript/components/AskBuoyIcon.d.ts.map +0 -1
  139. package/lib/typescript/components/AskBuoyModal.d.ts.map +0 -1
  140. package/lib/typescript/components/ChangesBar.d.ts.map +0 -1
  141. package/lib/typescript/components/Composer.d.ts.map +0 -1
  142. package/lib/typescript/components/EmptyState.d.ts.map +0 -1
  143. package/lib/typescript/components/Markdown.d.ts.map +0 -1
  144. package/lib/typescript/components/MessageList.d.ts.map +0 -1
  145. package/lib/typescript/components/TypingDots.d.ts.map +0 -1
  146. package/lib/typescript/index.d.ts.map +0 -1
  147. package/lib/typescript/preset.d.ts.map +0 -1
  148. package/lib/typescript/store/askBuoyStore.d.ts.map +0 -1
  149. package/lib/typescript/store/useAskBuoy.d.ts.map +0 -1
  150. package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +0 -1
  151. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +0 -1
  152. package/lib/typescript/sync/wire.d.ts.map +0 -1
  153. package/lib/typescript/types.d.ts.map +0 -1
@@ -1,545 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Chart = Chart;
7
- exports.Code = Code;
8
- exports.Diff = Diff;
9
- exports.Finding = Finding;
10
- exports.KeyValue = KeyValue;
11
- exports.List = List;
12
- exports.Notice = Notice;
13
- exports.Steps = Steps;
14
- exports.Table = Table;
15
- var _react = require("react");
16
- var _reactNative = require("react-native");
17
- var _sharedUi = require("@buoy-gg/shared-ui");
18
- var _agentCore = require("@buoy-gg/agent-core");
19
- var _primitivesIndex = require("./primitivesIndex");
20
- var _Markdown = require("../components/Markdown");
21
- var _icons = require("./icons");
22
- var _jsxRuntime = require("react/jsx-runtime");
23
- /**
24
- * Show blocks — data the user should see rather than read.
25
- * Every one honours a cap and says "+N more" rather than growing the page.
26
- */
27
-
28
- function fmt(v) {
29
- if (v === undefined) return "—";
30
- if (v === null) return "null";
31
- if (typeof v === "string") return v;
32
- if (typeof v === "number" || typeof v === "boolean") return String(v);
33
- try {
34
- const s = JSON.stringify(v);
35
- return s.length > 120 ? `${s.slice(0, 117)}…` : s;
36
- } catch {
37
- return String(v);
38
- }
39
- }
40
- function Table({
41
- block
42
- }) {
43
- const {
44
- visible,
45
- expanded,
46
- toggle
47
- } = (0, _primitivesIndex.useExpand)(block.rows, _agentCore.CAPS.tableRows);
48
- const cols = block.columns.slice(0, 4);
49
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitivesIndex.Card, {
50
- title: block.title,
51
- source: block.source,
52
- testID: `buoy-block-table-${block.id}`,
53
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
54
- style: styles.tableHead,
55
- children: cols.map((c, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
56
- style: [styles.th, i === 0 && styles.firstCol],
57
- numberOfLines: 1,
58
- children: c
59
- }, c))
60
- }), visible.map((row, r) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
61
- style: [styles.tr, r > 0 && _primitivesIndex.blockStyles.rowDivider],
62
- children: cols.map((_, i) => {
63
- const cell = row[i];
64
- const text = typeof cell === "string" ? cell : cell?.text ?? "";
65
- const tone = typeof cell === "string" ? undefined : cell?.tone;
66
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
67
- style: [styles.td, i === 0 && styles.firstCol, i === 0 && styles.tdFirst, tone && {
68
- color: (0, _primitivesIndex.toneColor)(tone)
69
- }],
70
- numberOfLines: 2,
71
- children: (0, _Markdown.renderInline)(text, styles.td)
72
- }, i);
73
- })
74
- }, r)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.More, {
75
- shown: visible.length,
76
- total: block.total ?? block.rows.length,
77
- onExpand: block.rows.length > visible.length || expanded ? toggle : undefined,
78
- expanded: expanded
79
- })]
80
- });
81
- }
82
- function KeyValue({
83
- block
84
- }) {
85
- const {
86
- visible,
87
- expanded,
88
- toggle
89
- } = (0, _primitivesIndex.useExpand)(block.pairs, _agentCore.CAPS.keyValuePairs);
90
- const [open, setOpen] = (0, _react.useState)(null);
91
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitivesIndex.Card, {
92
- title: block.title,
93
- source: block.source,
94
- testID: `buoy-block-keyvalue-${block.id}`,
95
- children: [visible.map((p, i) => {
96
- const long = typeof p.value === "object" && p.value !== null;
97
- const isOpen = open === p.key;
98
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
99
- onPress: long ? () => setOpen(isOpen ? null : p.key) : undefined,
100
- style: [styles.kvRow, i > 0 && _primitivesIndex.blockStyles.rowDivider],
101
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
102
- style: styles.kvKey,
103
- numberOfLines: 1,
104
- children: p.key
105
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
106
- style: [styles.kvValue, isOpen && _primitivesIndex.blockStyles.mono],
107
- numberOfLines: isOpen ? undefined : 2,
108
- selectable: true,
109
- children: isOpen ? JSON.stringify(p.value, null, 2) : fmt(p.value)
110
- })]
111
- }, p.key);
112
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.More, {
113
- shown: visible.length,
114
- total: block.pairs.length,
115
- onExpand: block.pairs.length > _agentCore.CAPS.keyValuePairs ? toggle : undefined,
116
- expanded: expanded
117
- })]
118
- });
119
- }
120
- function List({
121
- block
122
- }) {
123
- const h = (0, _primitivesIndex.useBlockHandlers)();
124
- const {
125
- visible,
126
- expanded,
127
- toggle
128
- } = (0, _primitivesIndex.useExpand)(block.items, _agentCore.CAPS.listItems);
129
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitivesIndex.Card, {
130
- title: block.title,
131
- source: block.source,
132
- testID: `buoy-block-list-${block.id}`,
133
- children: [visible.map((it, i) => {
134
- const Row = it.action ? _reactNative.Pressable : _reactNative.View;
135
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Row, {
136
- ...(it.action ? {
137
- onPress: () => void h.runAction(it.action, block.id),
138
- accessibilityRole: "button"
139
- } : {}),
140
- style: [_primitivesIndex.blockStyles.row, i > 0 && _primitivesIndex.blockStyles.rowDivider],
141
- children: [it.image ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
142
- source: {
143
- uri: it.image
144
- },
145
- style: styles.thumb,
146
- accessibilityLabel: it.title
147
- }) : it.icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.BlockIcon, {
148
- name: it.icon
149
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
150
- style: styles.flex,
151
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
152
- style: [_primitivesIndex.blockStyles.rowTitle, it.tone && {
153
- color: (0, _primitivesIndex.toneColor)(it.tone)
154
- }],
155
- numberOfLines: 2,
156
- children: (0, _Markdown.renderInline)(it.title, _primitivesIndex.blockStyles.rowTitle)
157
- }), it.subtitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
158
- style: _primitivesIndex.blockStyles.rowSub,
159
- numberOfLines: 2,
160
- children: (0, _Markdown.renderInline)(it.subtitle, _primitivesIndex.blockStyles.rowSub)
161
- }) : null]
162
- }), it.trailing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
163
- style: [_primitivesIndex.blockStyles.rowTrailing, it.tone && {
164
- color: (0, _primitivesIndex.toneColor)(it.tone)
165
- }],
166
- numberOfLines: 1,
167
- children: it.trailing
168
- }) : null, it.action ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
169
- style: styles.rowAction,
170
- children: it.action.label
171
- }) : null]
172
- }, it.id ?? `${it.title}-${i}`);
173
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.More, {
174
- shown: visible.length,
175
- total: block.total ?? block.items.length,
176
- onExpand: block.items.length > visible.length || expanded ? toggle : undefined,
177
- expanded: expanded
178
- })]
179
- });
180
- }
181
- function Diff({
182
- block
183
- }) {
184
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitivesIndex.Card, {
185
- title: block.title ?? "What changed",
186
- source: block.source,
187
- testID: `buoy-block-diff-${block.id}`,
188
- children: [block.changes.slice(0, _agentCore.CAPS.keyValuePairs).map((c, i) => {
189
- const added = c.before === undefined && c.after !== undefined;
190
- const removed = c.after === undefined && c.before !== undefined;
191
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
192
- style: [styles.diffRow, i > 0 && _primitivesIndex.blockStyles.rowDivider],
193
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
194
- style: styles.diffPath,
195
- numberOfLines: 1,
196
- children: c.path
197
- }), !added ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
198
- style: styles.diffLine,
199
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
200
- style: [styles.diffMark, {
201
- color: _sharedUi.night.color.danger
202
- }],
203
- children: "\u2212"
204
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
205
- style: [styles.diffValue, {
206
- color: _sharedUi.night.color.danger
207
- }],
208
- numberOfLines: 3,
209
- selectable: true,
210
- children: fmt(c.before)
211
- })]
212
- }) : null, !removed ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
213
- style: styles.diffLine,
214
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
215
- style: [styles.diffMark, {
216
- color: _sharedUi.night.color.accent
217
- }],
218
- children: "+"
219
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
220
- style: [styles.diffValue, {
221
- color: _sharedUi.night.color.accent
222
- }],
223
- numberOfLines: 3,
224
- selectable: true,
225
- children: fmt(c.after)
226
- })]
227
- }) : null]
228
- }, `${c.path}-${i}`);
229
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.More, {
230
- shown: Math.min(block.changes.length, _agentCore.CAPS.keyValuePairs),
231
- total: block.changes.length
232
- })]
233
- });
234
- }
235
- function Chart({
236
- block
237
- }) {
238
- const bars = block.bars.slice(0, _agentCore.CAPS.chartBars);
239
- const max = block.max ?? Math.max(1, ...bars.map(x => x.value));
240
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.Card, {
241
- title: block.title,
242
- source: block.source,
243
- testID: `buoy-block-chart-${block.id}`,
244
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
245
- style: styles.chart,
246
- children: bars.map(x => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
247
- style: styles.barRow,
248
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
249
- style: styles.barLabel,
250
- numberOfLines: 1,
251
- children: x.label
252
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
253
- style: styles.barTrack,
254
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
255
- style: [styles.bar, {
256
- width: `${Math.max(2, Math.round(x.value / max * 100))}%`,
257
- backgroundColor: (0, _primitivesIndex.toneColor)(x.tone ?? "accent")
258
- }]
259
- })
260
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
261
- style: styles.barValue,
262
- numberOfLines: 1,
263
- children: [x.value, x.unit ? ` ${x.unit}` : ""]
264
- })]
265
- }, x.label))
266
- })
267
- });
268
- }
269
- function Steps({
270
- block
271
- }) {
272
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.Card, {
273
- title: block.title,
274
- testID: `buoy-block-steps-${block.id}`,
275
- children: block.steps.map((s, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
276
- style: [styles.step, i > 0 && _primitivesIndex.blockStyles.rowDivider],
277
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
278
- style: [styles.stepMark, s.state === "done" && styles.stepDone, s.state === "failed" && styles.stepFailed],
279
- children: s.state === "done" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Check, {
280
- size: 10,
281
- color: _sharedUi.night.color.onAccent
282
- }) : s.state === "failed" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
283
- size: 10,
284
- color: _sharedUi.night.color.text
285
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
286
- style: styles.stepNum,
287
- children: i + 1
288
- })
289
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
290
- style: [_primitivesIndex.blockStyles.rowTitle, s.state === "done" && styles.stepTextDone],
291
- children: s.text
292
- })]
293
- }, i))
294
- });
295
- }
296
- function Code({
297
- block
298
- }) {
299
- const text = block.language === "json" ? tryPretty(block.text) : block.text;
300
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.Card, {
301
- title: block.title,
302
- testID: `buoy-block-code-${block.id}`,
303
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
304
- style: [_primitivesIndex.blockStyles.mono, styles.code],
305
- selectable: true,
306
- children: text
307
- })
308
- });
309
- }
310
- function tryPretty(text) {
311
- try {
312
- return JSON.stringify(JSON.parse(text), null, 2);
313
- } catch {
314
- return text;
315
- }
316
- }
317
- function Notice({
318
- block
319
- }) {
320
- const color = block.tone === "danger" ? _sharedUi.night.color.danger : block.tone === "warning" ? _sharedUi.night.color.warning : _sharedUi.night.color.info;
321
- const Icon = block.tone === "info" ? _sharedUi.Info : _sharedUi.AlertTriangle;
322
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitivesIndex.Card, {
323
- tone: block.tone,
324
- testID: `buoy-block-notice-${block.id}`,
325
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
326
- style: styles.noticeRow,
327
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
328
- size: 14,
329
- color: color
330
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
331
- style: styles.noticeText,
332
- children: block.text
333
- })]
334
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.ActionRow, {
335
- actions: block.actions,
336
- blockId: block.id
337
- })]
338
- });
339
- }
340
- function Finding({
341
- block
342
- }) {
343
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitivesIndex.Card, {
344
- title: block.title,
345
- source: block.source,
346
- testID: `buoy-block-finding-${block.id}`,
347
- tone: "warning",
348
- children: [block.evidence.map((e, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
349
- style: [styles.kvRow, i > 0 && _primitivesIndex.blockStyles.rowDivider],
350
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
351
- style: styles.kvKey,
352
- numberOfLines: 1,
353
- children: e.label
354
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
355
- style: [styles.kvValue, e.tone && {
356
- color: (0, _primitivesIndex.toneColor)(e.tone)
357
- }],
358
- numberOfLines: 3,
359
- children: e.value
360
- })]
361
- }, `${e.label}-${i}`)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitivesIndex.ActionRow, {
362
- actions: block.actions,
363
- blockId: block.id
364
- })]
365
- });
366
- }
367
- const styles = _reactNative.StyleSheet.create({
368
- flex: {
369
- flex: 1
370
- },
371
- tableHead: {
372
- flexDirection: "row",
373
- paddingHorizontal: 12,
374
- paddingVertical: 6,
375
- gap: 8,
376
- backgroundColor: _sharedUi.night.color.fill
377
- },
378
- th: {
379
- flex: 1,
380
- color: _sharedUi.night.color.textTertiary,
381
- fontSize: _sharedUi.night.font.micro,
382
- fontWeight: "700",
383
- letterSpacing: 0.6,
384
- textTransform: "uppercase"
385
- },
386
- tr: {
387
- flexDirection: "row",
388
- paddingHorizontal: 12,
389
- paddingVertical: 8,
390
- gap: 8,
391
- alignItems: "center"
392
- },
393
- td: {
394
- flex: 1,
395
- color: _sharedUi.night.color.textSecondary,
396
- fontSize: _sharedUi.night.font.caption,
397
- lineHeight: 17
398
- },
399
- tdFirst: {
400
- color: _sharedUi.night.color.text,
401
- fontWeight: "500"
402
- },
403
- firstCol: {
404
- flex: 1.4
405
- },
406
- kvRow: {
407
- flexDirection: "row",
408
- gap: 12,
409
- paddingHorizontal: 12,
410
- paddingVertical: 8,
411
- alignItems: "flex-start"
412
- },
413
- kvKey: {
414
- width: 110,
415
- color: _sharedUi.night.color.textSecondary,
416
- fontSize: _sharedUi.night.font.caption,
417
- paddingTop: 1
418
- },
419
- kvValue: {
420
- flex: 1,
421
- color: _sharedUi.night.color.text,
422
- fontSize: _sharedUi.night.font.caption,
423
- lineHeight: 17
424
- },
425
- thumb: {
426
- width: 40,
427
- height: 40,
428
- borderRadius: 8,
429
- backgroundColor: _sharedUi.night.color.fill
430
- },
431
- rowAction: {
432
- color: _sharedUi.night.color.accent,
433
- fontSize: _sharedUi.night.font.caption,
434
- fontWeight: "600"
435
- },
436
- diffRow: {
437
- paddingHorizontal: 12,
438
- paddingVertical: 8,
439
- gap: 3
440
- },
441
- diffPath: {
442
- color: _sharedUi.night.color.textSecondary,
443
- fontSize: _sharedUi.night.font.micro,
444
- fontWeight: "600",
445
- letterSpacing: 0.3
446
- },
447
- diffLine: {
448
- flexDirection: "row",
449
- gap: 8,
450
- alignItems: "flex-start"
451
- },
452
- diffMark: {
453
- fontFamily: "Menlo",
454
- fontSize: 12,
455
- width: 10
456
- },
457
- diffValue: {
458
- flex: 1,
459
- fontFamily: "Menlo",
460
- fontSize: 12,
461
- lineHeight: 16
462
- },
463
- chart: {
464
- paddingHorizontal: 12,
465
- paddingVertical: 10,
466
- gap: 8
467
- },
468
- barRow: {
469
- flexDirection: "row",
470
- alignItems: "center",
471
- gap: 8
472
- },
473
- barLabel: {
474
- width: 96,
475
- color: _sharedUi.night.color.textSecondary,
476
- fontSize: _sharedUi.night.font.caption
477
- },
478
- barTrack: {
479
- flex: 1,
480
- height: 10,
481
- borderRadius: 5,
482
- backgroundColor: _sharedUi.night.color.fill,
483
- overflow: "hidden"
484
- },
485
- bar: {
486
- height: 10,
487
- borderRadius: 5
488
- },
489
- barValue: {
490
- width: 72,
491
- textAlign: "right",
492
- color: _sharedUi.night.color.text,
493
- fontSize: _sharedUi.night.font.caption,
494
- fontWeight: "600"
495
- },
496
- step: {
497
- flexDirection: "row",
498
- alignItems: "center",
499
- gap: 10,
500
- paddingHorizontal: 12,
501
- paddingVertical: 9
502
- },
503
- stepMark: {
504
- width: 20,
505
- height: 20,
506
- borderRadius: 10,
507
- backgroundColor: _sharedUi.night.color.fillTertiary,
508
- alignItems: "center",
509
- justifyContent: "center"
510
- },
511
- stepDone: {
512
- backgroundColor: _sharedUi.night.color.accent
513
- },
514
- stepFailed: {
515
- backgroundColor: _sharedUi.night.color.danger
516
- },
517
- stepNum: {
518
- color: _sharedUi.night.color.text,
519
- fontSize: _sharedUi.night.font.micro,
520
- fontWeight: "700"
521
- },
522
- stepTextDone: {
523
- color: _sharedUi.night.color.textSecondary
524
- },
525
- code: {
526
- paddingHorizontal: 12,
527
- paddingVertical: 10,
528
- lineHeight: 17
529
- },
530
- noticeRow: {
531
- flexDirection: "row",
532
- alignItems: "flex-start",
533
- gap: 8,
534
- paddingHorizontal: 12,
535
- paddingTop: 10,
536
- paddingBottom: 4
537
- },
538
- noticeText: {
539
- flex: 1,
540
- color: _sharedUi.night.color.text,
541
- fontSize: _sharedUi.night.font.caption,
542
- lineHeight: 18
543
- }
544
- });
545
- //# sourceMappingURL=DataBlocks.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Chart=Chart,exports.Code=Code,exports.Diff=Diff,exports.Finding=Finding,exports.KeyValue=KeyValue,exports.List=List,exports.Notice=Notice,exports.Steps=Steps,exports.Table=Table;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_agentCore=require("@buoy-gg/agent-core"),_primitivesIndex=require("./primitivesIndex"),_Markdown=require("../components/Markdown"),_icons=require("./icons"),_jsxRuntime=require("react/jsx-runtime");function fmt(e){if(void 0===e)return"—";if(null===e)return"null";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);try{const t=JSON.stringify(e);return t.length>120?`${t.slice(0,117)}…`:t}catch{return String(e)}}function Table({block:e}){const{visible:t,expanded:i,toggle:n}=(0,_primitivesIndex.useExpand)(e.rows,_agentCore.CAPS.tableRows),r=e.columns.slice(0,4);return(0,_jsxRuntime.jsxs)(_primitivesIndex.Card,{title:e.title,source:e.source,testID:`buoy-block-table-${e.id}`,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.tableHead,children:r.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.th,0===t&&styles.firstCol],numberOfLines:1,children:e},e))}),t.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.tr,t>0&&_primitivesIndex.blockStyles.rowDivider],children:r.map((t,i)=>{const n=e[i],r="string"==typeof n?n:n?.text??"",s="string"==typeof n?void 0:n?.tone;return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.td,0===i&&styles.firstCol,0===i&&styles.tdFirst,s&&{color:(0,_primitivesIndex.toneColor)(s)}],numberOfLines:2,children:(0,_Markdown.renderInline)(r,styles.td)},i)})},t)),(0,_jsxRuntime.jsx)(_primitivesIndex.More,{shown:t.length,total:e.total??e.rows.length,onExpand:e.rows.length>t.length||i?n:void 0,expanded:i})]})}function KeyValue({block:e}){const{visible:t,expanded:i,toggle:n}=(0,_primitivesIndex.useExpand)(e.pairs,_agentCore.CAPS.keyValuePairs),[r,s]=(0,_react.useState)(null);return(0,_jsxRuntime.jsxs)(_primitivesIndex.Card,{title:e.title,source:e.source,testID:`buoy-block-keyvalue-${e.id}`,children:[t.map((e,t)=>{const i="object"==typeof e.value&&null!==e.value,n=r===e.key;return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:i?()=>s(n?null:e.key):void 0,style:[styles.kvRow,t>0&&_primitivesIndex.blockStyles.rowDivider],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.kvKey,numberOfLines:1,children:e.key}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.kvValue,n&&_primitivesIndex.blockStyles.mono],numberOfLines:n?void 0:2,selectable:!0,children:n?JSON.stringify(e.value,null,2):fmt(e.value)})]},e.key)}),(0,_jsxRuntime.jsx)(_primitivesIndex.More,{shown:t.length,total:e.pairs.length,onExpand:e.pairs.length>_agentCore.CAPS.keyValuePairs?n:void 0,expanded:i})]})}function List({block:e}){const t=(0,_primitivesIndex.useBlockHandlers)(),{visible:i,expanded:n,toggle:r}=(0,_primitivesIndex.useExpand)(e.items,_agentCore.CAPS.listItems);return(0,_jsxRuntime.jsxs)(_primitivesIndex.Card,{title:e.title,source:e.source,testID:`buoy-block-list-${e.id}`,children:[i.map((i,n)=>{const r=i.action?_reactNative.Pressable:_reactNative.View;return(0,_jsxRuntime.jsxs)(r,{...i.action?{onPress:()=>{t.runAction(i.action,e.id)},accessibilityRole:"button"}:{},style:[_primitivesIndex.blockStyles.row,n>0&&_primitivesIndex.blockStyles.rowDivider],children:[i.image?(0,_jsxRuntime.jsx)(_reactNative.Image,{source:{uri:i.image},style:styles.thumb,accessibilityLabel:i.title}):i.icon?(0,_jsxRuntime.jsx)(_icons.BlockIcon,{name:i.icon}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.flex,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[_primitivesIndex.blockStyles.rowTitle,i.tone&&{color:(0,_primitivesIndex.toneColor)(i.tone)}],numberOfLines:2,children:(0,_Markdown.renderInline)(i.title,_primitivesIndex.blockStyles.rowTitle)}),i.subtitle?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:_primitivesIndex.blockStyles.rowSub,numberOfLines:2,children:(0,_Markdown.renderInline)(i.subtitle,_primitivesIndex.blockStyles.rowSub)}):null]}),i.trailing?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[_primitivesIndex.blockStyles.rowTrailing,i.tone&&{color:(0,_primitivesIndex.toneColor)(i.tone)}],numberOfLines:1,children:i.trailing}):null,i.action?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.rowAction,children:i.action.label}):null]},i.id??`${i.title}-${n}`)}),(0,_jsxRuntime.jsx)(_primitivesIndex.More,{shown:i.length,total:e.total??e.items.length,onExpand:e.items.length>i.length||n?r:void 0,expanded:n})]})}function Diff({block:e}){return(0,_jsxRuntime.jsxs)(_primitivesIndex.Card,{title:e.title??"What changed",source:e.source,testID:`buoy-block-diff-${e.id}`,children:[e.changes.slice(0,_agentCore.CAPS.keyValuePairs).map((e,t)=>{const i=void 0===e.before&&void 0!==e.after,n=void 0===e.after&&void 0!==e.before;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.diffRow,t>0&&_primitivesIndex.blockStyles.rowDivider],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.diffPath,numberOfLines:1,children:e.path}),i?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.diffLine,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.diffMark,{color:_sharedUi.night.color.danger}],children:"−"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.diffValue,{color:_sharedUi.night.color.danger}],numberOfLines:3,selectable:!0,children:fmt(e.before)})]}),n?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.diffLine,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.diffMark,{color:_sharedUi.night.color.accent}],children:"+"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.diffValue,{color:_sharedUi.night.color.accent}],numberOfLines:3,selectable:!0,children:fmt(e.after)})]})]},`${e.path}-${t}`)}),(0,_jsxRuntime.jsx)(_primitivesIndex.More,{shown:Math.min(e.changes.length,_agentCore.CAPS.keyValuePairs),total:e.changes.length})]})}function Chart({block:e}){const t=e.bars.slice(0,_agentCore.CAPS.chartBars),i=e.max??Math.max(1,...t.map(e=>e.value));return(0,_jsxRuntime.jsx)(_primitivesIndex.Card,{title:e.title,source:e.source,testID:`buoy-block-chart-${e.id}`,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.chart,children:t.map(e=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.barRow,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.barLabel,numberOfLines:1,children:e.label}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.barTrack,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.bar,{width:`${Math.max(2,Math.round(e.value/i*100))}%`,backgroundColor:(0,_primitivesIndex.toneColor)(e.tone??"accent")}]})}),(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:styles.barValue,numberOfLines:1,children:[e.value,e.unit?` ${e.unit}`:""]})]},e.label))})})}function Steps({block:e}){return(0,_jsxRuntime.jsx)(_primitivesIndex.Card,{title:e.title,testID:`buoy-block-steps-${e.id}`,children:e.steps.map((e,t)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.step,t>0&&_primitivesIndex.blockStyles.rowDivider],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.stepMark,"done"===e.state&&styles.stepDone,"failed"===e.state&&styles.stepFailed],children:"done"===e.state?(0,_jsxRuntime.jsx)(_sharedUi.Check,{size:10,color:_sharedUi.night.color.onAccent}):"failed"===e.state?(0,_jsxRuntime.jsx)(_sharedUi.X,{size:10,color:_sharedUi.night.color.text}):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.stepNum,children:t+1})}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[_primitivesIndex.blockStyles.rowTitle,"done"===e.state&&styles.stepTextDone],children:e.text})]},t))})}function Code({block:e}){const t="json"===e.language?tryPretty(e.text):e.text;return(0,_jsxRuntime.jsx)(_primitivesIndex.Card,{title:e.title,testID:`buoy-block-code-${e.id}`,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[_primitivesIndex.blockStyles.mono,styles.code],selectable:!0,children:t})})}function tryPretty(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function Notice({block:e}){const t="danger"===e.tone?_sharedUi.night.color.danger:"warning"===e.tone?_sharedUi.night.color.warning:_sharedUi.night.color.info,i="info"===e.tone?_sharedUi.Info:_sharedUi.AlertTriangle;return(0,_jsxRuntime.jsxs)(_primitivesIndex.Card,{tone:e.tone,testID:`buoy-block-notice-${e.id}`,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.noticeRow,children:[(0,_jsxRuntime.jsx)(i,{size:14,color:t}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.noticeText,children:e.text})]}),(0,_jsxRuntime.jsx)(_primitivesIndex.ActionRow,{actions:e.actions,blockId:e.id})]})}function Finding({block:e}){return(0,_jsxRuntime.jsxs)(_primitivesIndex.Card,{title:e.title,source:e.source,testID:`buoy-block-finding-${e.id}`,tone:"warning",children:[e.evidence.map((e,t)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.kvRow,t>0&&_primitivesIndex.blockStyles.rowDivider],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.kvKey,numberOfLines:1,children:e.label}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.kvValue,e.tone&&{color:(0,_primitivesIndex.toneColor)(e.tone)}],numberOfLines:3,children:e.value})]},`${e.label}-${t}`)),(0,_jsxRuntime.jsx)(_primitivesIndex.ActionRow,{actions:e.actions,blockId:e.id})]})}const styles=_reactNative.StyleSheet.create({flex:{flex:1},tableHead:{flexDirection:"row",paddingHorizontal:12,paddingVertical:6,gap:8,backgroundColor:_sharedUi.night.color.fill},th:{flex:1,color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,fontWeight:"700",letterSpacing:.6,textTransform:"uppercase"},tr:{flexDirection:"row",paddingHorizontal:12,paddingVertical:8,gap:8,alignItems:"center"},td:{flex:1,color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption,lineHeight:17},tdFirst:{color:_sharedUi.night.color.text,fontWeight:"500"},firstCol:{flex:1.4},kvRow:{flexDirection:"row",gap:12,paddingHorizontal:12,paddingVertical:8,alignItems:"flex-start"},kvKey:{width:110,color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption,paddingTop:1},kvValue:{flex:1,color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.caption,lineHeight:17},thumb:{width:40,height:40,borderRadius:8,backgroundColor:_sharedUi.night.color.fill},rowAction:{color:_sharedUi.night.color.accent,fontSize:_sharedUi.night.font.caption,fontWeight:"600"},diffRow:{paddingHorizontal:12,paddingVertical:8,gap:3},diffPath:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.micro,fontWeight:"600",letterSpacing:.3},diffLine:{flexDirection:"row",gap:8,alignItems:"flex-start"},diffMark:{fontFamily:"Menlo",fontSize:12,width:10},diffValue:{flex:1,fontFamily:"Menlo",fontSize:12,lineHeight:16},chart:{paddingHorizontal:12,paddingVertical:10,gap:8},barRow:{flexDirection:"row",alignItems:"center",gap:8},barLabel:{width:96,color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption},barTrack:{flex:1,height:10,borderRadius:5,backgroundColor:_sharedUi.night.color.fill,overflow:"hidden"},bar:{height:10,borderRadius:5},barValue:{width:72,textAlign:"right",color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.caption,fontWeight:"600"},step:{flexDirection:"row",alignItems:"center",gap:10,paddingHorizontal:12,paddingVertical:9},stepMark:{width:20,height:20,borderRadius:10,backgroundColor:_sharedUi.night.color.fillTertiary,alignItems:"center",justifyContent:"center"},stepDone:{backgroundColor:_sharedUi.night.color.accent},stepFailed:{backgroundColor:_sharedUi.night.color.danger},stepNum:{color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.micro,fontWeight:"700"},stepTextDone:{color:_sharedUi.night.color.textSecondary},code:{paddingHorizontal:12,paddingVertical:10,lineHeight:17},noticeRow:{flexDirection:"row",alignItems:"flex-start",gap:8,paddingHorizontal:12,paddingTop:10,paddingBottom:4},noticeText:{flex:1,color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.caption,lineHeight:18}});