@buoy-gg/ask-buoy 7.0.38 → 7.0.40

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 (306) hide show
  1. package/lib/commonjs/blocks/AskBlocks.js +338 -1
  2. package/lib/commonjs/blocks/AskBlocks.js.map +1 -0
  3. package/lib/commonjs/blocks/BlockRenderer.js +262 -1
  4. package/lib/commonjs/blocks/BlockRenderer.js.map +1 -0
  5. package/lib/commonjs/blocks/ChromePrototypes.js +514 -1
  6. package/lib/commonjs/blocks/ChromePrototypes.js.map +1 -0
  7. package/lib/commonjs/blocks/DataBlocks.js +781 -1
  8. package/lib/commonjs/blocks/DataBlocks.js.map +1 -0
  9. package/lib/commonjs/blocks/ExtraBlocks.js +1860 -1
  10. package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -0
  11. package/lib/commonjs/blocks/MediaBlocks.js +156 -1
  12. package/lib/commonjs/blocks/MediaBlocks.js.map +1 -0
  13. package/lib/commonjs/blocks/ReceiptBlocks.js +586 -1
  14. package/lib/commonjs/blocks/ReceiptBlocks.js.map +1 -0
  15. package/lib/commonjs/blocks/blockText.js +60 -1
  16. package/lib/commonjs/blocks/blockText.js.map +1 -0
  17. package/lib/commonjs/blocks/blockText.test.js +53 -1
  18. package/lib/commonjs/blocks/blockText.test.js.map +1 -0
  19. package/lib/commonjs/blocks/context.js +42 -1
  20. package/lib/commonjs/blocks/context.js.map +1 -0
  21. package/lib/commonjs/blocks/icons.js +96 -1
  22. package/lib/commonjs/blocks/icons.js.map +1 -0
  23. package/lib/commonjs/blocks/index.js +95 -1
  24. package/lib/commonjs/blocks/index.js.map +1 -0
  25. package/lib/commonjs/blocks/listRow.test.js +55 -1
  26. package/lib/commonjs/blocks/listRow.test.js.map +1 -0
  27. package/lib/commonjs/blocks/pageState.js +34 -1
  28. package/lib/commonjs/blocks/pageState.js.map +1 -0
  29. package/lib/commonjs/blocks/pageState.test.js +57 -1
  30. package/lib/commonjs/blocks/pageState.test.js.map +1 -0
  31. package/lib/commonjs/blocks/primitives.js +457 -1
  32. package/lib/commonjs/blocks/primitives.js.map +1 -0
  33. package/lib/commonjs/blocks/primitivesIndex.js +62 -1
  34. package/lib/commonjs/blocks/primitivesIndex.js.map +1 -0
  35. package/lib/commonjs/components/ApprovalCard.js +297 -1
  36. package/lib/commonjs/components/ApprovalCard.js.map +1 -0
  37. package/lib/commonjs/components/AskBuoyHeader.js +196 -1
  38. package/lib/commonjs/components/AskBuoyHeader.js.map +1 -0
  39. package/lib/commonjs/components/AskBuoyIcon.js +19 -1
  40. package/lib/commonjs/components/AskBuoyIcon.js.map +1 -0
  41. package/lib/commonjs/components/AskBuoyModal.js +479 -1
  42. package/lib/commonjs/components/AskBuoyModal.js.map +1 -0
  43. package/lib/commonjs/components/AskBuoySettings.js +181 -1
  44. package/lib/commonjs/components/AskBuoySettings.js.map +1 -0
  45. package/lib/commonjs/components/ChangesBar.js +211 -1
  46. package/lib/commonjs/components/ChangesBar.js.map +1 -0
  47. package/lib/commonjs/components/Composer.js +255 -1
  48. package/lib/commonjs/components/Composer.js.map +1 -0
  49. package/lib/commonjs/components/EmptyState.js +161 -1
  50. package/lib/commonjs/components/EmptyState.js.map +1 -0
  51. package/lib/commonjs/components/KeyboardPad.js +80 -1
  52. package/lib/commonjs/components/KeyboardPad.js.map +1 -0
  53. package/lib/commonjs/components/Markdown.js +310 -1
  54. package/lib/commonjs/components/Markdown.js.map +1 -0
  55. package/lib/commonjs/components/MessageList.js +970 -1
  56. package/lib/commonjs/components/MessageList.js.map +1 -0
  57. package/lib/commonjs/components/QueuedMessages.js +145 -1
  58. package/lib/commonjs/components/QueuedMessages.js.map +1 -0
  59. package/lib/commonjs/components/ThinkingStrip.js +223 -1
  60. package/lib/commonjs/components/ThinkingStrip.js.map +1 -0
  61. package/lib/commonjs/components/TypingDots.js +63 -1
  62. package/lib/commonjs/components/TypingDots.js.map +1 -0
  63. package/lib/commonjs/components/markdownParse.js +131 -1
  64. package/lib/commonjs/components/markdownParse.js.map +1 -0
  65. package/lib/commonjs/components/markdownParse.test.js +99 -1
  66. package/lib/commonjs/components/markdownParse.test.js.map +1 -0
  67. package/lib/commonjs/components/useCopyAction.js +50 -1
  68. package/lib/commonjs/components/useCopyAction.js.map +1 -0
  69. package/lib/commonjs/index.js +252 -1
  70. package/lib/commonjs/index.js.map +1 -0
  71. package/lib/commonjs/preset.js +91 -1
  72. package/lib/commonjs/preset.js.map +1 -0
  73. package/lib/commonjs/store/activityGroups.js +110 -1
  74. package/lib/commonjs/store/activityGroups.js.map +1 -0
  75. package/lib/commonjs/store/activityGroups.test.js +78 -1
  76. package/lib/commonjs/store/activityGroups.test.js.map +1 -0
  77. package/lib/commonjs/store/askBuoySettings.js +72 -1
  78. package/lib/commonjs/store/askBuoySettings.js.map +1 -0
  79. package/lib/commonjs/store/askBuoyStore.js +589 -1
  80. package/lib/commonjs/store/askBuoyStore.js.map +1 -0
  81. package/lib/commonjs/store/blockPlacement.js +64 -1
  82. package/lib/commonjs/store/blockPlacement.js.map +1 -0
  83. package/lib/commonjs/store/blockPlacement.test.js +123 -1
  84. package/lib/commonjs/store/blockPlacement.test.js.map +1 -0
  85. package/lib/commonjs/store/queue.test.js +150 -1
  86. package/lib/commonjs/store/queue.test.js.map +1 -0
  87. package/lib/commonjs/store/resetConversation.js +77 -1
  88. package/lib/commonjs/store/resetConversation.js.map +1 -0
  89. package/lib/commonjs/store/restorePending.test.js +63 -1
  90. package/lib/commonjs/store/restorePending.test.js.map +1 -0
  91. package/lib/commonjs/store/restoredIds.test.js +47 -1
  92. package/lib/commonjs/store/restoredIds.test.js.map +1 -0
  93. package/lib/commonjs/store/suggestions.js +54 -1
  94. package/lib/commonjs/store/suggestions.js.map +1 -0
  95. package/lib/commonjs/store/suggestions.test.js +58 -1
  96. package/lib/commonjs/store/suggestions.test.js.map +1 -0
  97. package/lib/commonjs/store/systemLine.test.js +77 -1
  98. package/lib/commonjs/store/systemLine.test.js.map +1 -0
  99. package/lib/commonjs/store/ticketPrompt.js +17 -1
  100. package/lib/commonjs/store/ticketPrompt.js.map +1 -0
  101. package/lib/commonjs/store/traceText.js +81 -1
  102. package/lib/commonjs/store/traceText.js.map +1 -0
  103. package/lib/commonjs/store/traceText.test.js +112 -1
  104. package/lib/commonjs/store/traceText.test.js.map +1 -0
  105. package/lib/commonjs/store/transcriptPersistence.js +297 -1
  106. package/lib/commonjs/store/transcriptPersistence.js.map +1 -0
  107. package/lib/commonjs/store/transcriptPersistence.test.js +333 -1
  108. package/lib/commonjs/store/transcriptPersistence.test.js.map +1 -0
  109. package/lib/commonjs/store/turnRendering.test.js +151 -1
  110. package/lib/commonjs/store/turnRendering.test.js.map +1 -0
  111. package/lib/commonjs/store/useAskBuoy.js +651 -1
  112. package/lib/commonjs/store/useAskBuoy.js.map +1 -0
  113. package/lib/commonjs/store/useAskBuoySettings.js +14 -1
  114. package/lib/commonjs/store/useAskBuoySettings.js.map +1 -0
  115. package/lib/commonjs/sync/askBuoySyncAdapter.js +153 -1
  116. package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -0
  117. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +141 -1
  118. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -0
  119. package/lib/commonjs/sync/wire.js +58 -1
  120. package/lib/commonjs/sync/wire.js.map +1 -0
  121. package/lib/commonjs/types.js +6 -1
  122. package/lib/commonjs/types.js.map +1 -0
  123. package/lib/module/blocks/AskBlocks.js +331 -1
  124. package/lib/module/blocks/AskBlocks.js.map +1 -0
  125. package/lib/module/blocks/BlockRenderer.js +257 -1
  126. package/lib/module/blocks/BlockRenderer.js.map +1 -0
  127. package/lib/module/blocks/ChromePrototypes.js +503 -1
  128. package/lib/module/blocks/ChromePrototypes.js.map +1 -0
  129. package/lib/module/blocks/DataBlocks.js +767 -1
  130. package/lib/module/blocks/DataBlocks.js.map +1 -0
  131. package/lib/module/blocks/ExtraBlocks.js +1833 -1
  132. package/lib/module/blocks/ExtraBlocks.js.map +1 -0
  133. package/lib/module/blocks/MediaBlocks.js +151 -1
  134. package/lib/module/blocks/MediaBlocks.js.map +1 -0
  135. package/lib/module/blocks/ReceiptBlocks.js +574 -1
  136. package/lib/module/blocks/ReceiptBlocks.js.map +1 -0
  137. package/lib/module/blocks/blockText.js +55 -1
  138. package/lib/module/blocks/blockText.js.map +1 -0
  139. package/lib/module/blocks/blockText.test.js +53 -1
  140. package/lib/module/blocks/blockText.test.js.map +1 -0
  141. package/lib/module/blocks/context.js +35 -1
  142. package/lib/module/blocks/context.js.map +1 -0
  143. package/lib/module/blocks/icons.js +91 -1
  144. package/lib/module/blocks/icons.js.map +1 -0
  145. package/lib/module/blocks/index.js +8 -1
  146. package/lib/module/blocks/index.js.map +1 -0
  147. package/lib/module/blocks/listRow.test.js +56 -1
  148. package/lib/module/blocks/listRow.test.js.map +1 -0
  149. package/lib/module/blocks/pageState.js +30 -1
  150. package/lib/module/blocks/pageState.js.map +1 -0
  151. package/lib/module/blocks/pageState.test.js +56 -1
  152. package/lib/module/blocks/pageState.test.js.map +1 -0
  153. package/lib/module/blocks/primitives.js +445 -1
  154. package/lib/module/blocks/primitives.js.map +1 -0
  155. package/lib/module/blocks/primitivesIndex.js +5 -1
  156. package/lib/module/blocks/primitivesIndex.js.map +1 -0
  157. package/lib/module/components/ApprovalCard.js +292 -1
  158. package/lib/module/components/ApprovalCard.js.map +1 -0
  159. package/lib/module/components/AskBuoyHeader.js +193 -1
  160. package/lib/module/components/AskBuoyHeader.js.map +1 -0
  161. package/lib/module/components/AskBuoyIcon.js +8 -1
  162. package/lib/module/components/AskBuoyIcon.js.map +1 -0
  163. package/lib/module/components/AskBuoyModal.js +474 -1
  164. package/lib/module/components/AskBuoyModal.js.map +1 -0
  165. package/lib/module/components/AskBuoySettings.js +176 -1
  166. package/lib/module/components/AskBuoySettings.js.map +1 -0
  167. package/lib/module/components/ChangesBar.js +206 -1
  168. package/lib/module/components/ChangesBar.js.map +1 -0
  169. package/lib/module/components/Composer.js +250 -1
  170. package/lib/module/components/Composer.js.map +1 -0
  171. package/lib/module/components/EmptyState.js +156 -1
  172. package/lib/module/components/EmptyState.js.map +1 -0
  173. package/lib/module/components/KeyboardPad.js +75 -1
  174. package/lib/module/components/KeyboardPad.js.map +1 -0
  175. package/lib/module/components/Markdown.js +305 -1
  176. package/lib/module/components/Markdown.js.map +1 -0
  177. package/lib/module/components/MessageList.js +964 -1
  178. package/lib/module/components/MessageList.js.map +1 -0
  179. package/lib/module/components/QueuedMessages.js +140 -1
  180. package/lib/module/components/QueuedMessages.js.map +1 -0
  181. package/lib/module/components/ThinkingStrip.js +218 -1
  182. package/lib/module/components/ThinkingStrip.js.map +1 -0
  183. package/lib/module/components/TypingDots.js +58 -1
  184. package/lib/module/components/TypingDots.js.map +1 -0
  185. package/lib/module/components/markdownParse.js +125 -1
  186. package/lib/module/components/markdownParse.js.map +1 -0
  187. package/lib/module/components/markdownParse.test.js +98 -1
  188. package/lib/module/components/markdownParse.test.js.map +1 -0
  189. package/lib/module/components/useCopyAction.js +46 -1
  190. package/lib/module/components/useCopyAction.js.map +1 -0
  191. package/lib/module/index.js +34 -1
  192. package/lib/module/index.js.map +1 -0
  193. package/lib/module/preset.js +74 -1
  194. package/lib/module/preset.js.map +1 -0
  195. package/lib/module/store/activityGroups.js +103 -1
  196. package/lib/module/store/activityGroups.js.map +1 -0
  197. package/lib/module/store/activityGroups.test.js +77 -1
  198. package/lib/module/store/activityGroups.test.js.map +1 -0
  199. package/lib/module/store/askBuoySettings.js +67 -1
  200. package/lib/module/store/askBuoySettings.js.map +1 -0
  201. package/lib/module/store/askBuoyStore.js +583 -1
  202. package/lib/module/store/askBuoyStore.js.map +1 -0
  203. package/lib/module/store/blockPlacement.js +59 -1
  204. package/lib/module/store/blockPlacement.js.map +1 -0
  205. package/lib/module/store/blockPlacement.test.js +122 -1
  206. package/lib/module/store/blockPlacement.test.js.map +1 -0
  207. package/lib/module/store/queue.test.js +149 -1
  208. package/lib/module/store/queue.test.js.map +1 -0
  209. package/lib/module/store/resetConversation.js +72 -1
  210. package/lib/module/store/resetConversation.js.map +1 -0
  211. package/lib/module/store/restorePending.test.js +62 -1
  212. package/lib/module/store/restorePending.test.js.map +1 -0
  213. package/lib/module/store/restoredIds.test.js +46 -1
  214. package/lib/module/store/restoredIds.test.js.map +1 -0
  215. package/lib/module/store/suggestions.js +49 -1
  216. package/lib/module/store/suggestions.js.map +1 -0
  217. package/lib/module/store/suggestions.test.js +57 -1
  218. package/lib/module/store/suggestions.test.js.map +1 -0
  219. package/lib/module/store/systemLine.test.js +76 -1
  220. package/lib/module/store/systemLine.test.js.map +1 -0
  221. package/lib/module/store/ticketPrompt.js +13 -1
  222. package/lib/module/store/ticketPrompt.js.map +1 -0
  223. package/lib/module/store/traceText.js +75 -1
  224. package/lib/module/store/traceText.js.map +1 -0
  225. package/lib/module/store/traceText.test.js +111 -1
  226. package/lib/module/store/traceText.test.js.map +1 -0
  227. package/lib/module/store/transcriptPersistence.js +287 -1
  228. package/lib/module/store/transcriptPersistence.js.map +1 -0
  229. package/lib/module/store/transcriptPersistence.test.js +332 -1
  230. package/lib/module/store/transcriptPersistence.test.js.map +1 -0
  231. package/lib/module/store/turnRendering.test.js +150 -1
  232. package/lib/module/store/turnRendering.test.js.map +1 -0
  233. package/lib/module/store/useAskBuoy.js +646 -1
  234. package/lib/module/store/useAskBuoy.js.map +1 -0
  235. package/lib/module/store/useAskBuoySettings.js +9 -1
  236. package/lib/module/store/useAskBuoySettings.js.map +1 -0
  237. package/lib/module/sync/askBuoySyncAdapter.js +148 -1
  238. package/lib/module/sync/askBuoySyncAdapter.js.map +1 -0
  239. package/lib/module/sync/askBuoySyncAdapter.test.js +140 -1
  240. package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -0
  241. package/lib/module/sync/wire.js +47 -1
  242. package/lib/module/sync/wire.js.map +1 -0
  243. package/lib/module/types.js +4 -1
  244. package/lib/module/types.js.map +1 -0
  245. package/lib/typescript/blocks/AskBlocks.d.ts.map +1 -0
  246. package/lib/typescript/blocks/BlockRenderer.d.ts.map +1 -0
  247. package/lib/typescript/blocks/ChromePrototypes.d.ts.map +1 -0
  248. package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -0
  249. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -0
  250. package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -0
  251. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -0
  252. package/lib/typescript/blocks/blockText.d.ts.map +1 -0
  253. package/lib/typescript/blocks/blockText.test.d.ts.map +1 -0
  254. package/lib/typescript/blocks/context.d.ts.map +1 -0
  255. package/lib/typescript/blocks/icons.d.ts.map +1 -0
  256. package/lib/typescript/blocks/index.d.ts.map +1 -0
  257. package/lib/typescript/blocks/listRow.test.d.ts.map +1 -0
  258. package/lib/typescript/blocks/pageState.d.ts.map +1 -0
  259. package/lib/typescript/blocks/pageState.test.d.ts.map +1 -0
  260. package/lib/typescript/blocks/primitives.d.ts.map +1 -0
  261. package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -0
  262. package/lib/typescript/components/ApprovalCard.d.ts.map +1 -0
  263. package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -0
  264. package/lib/typescript/components/AskBuoyIcon.d.ts.map +1 -0
  265. package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -0
  266. package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -0
  267. package/lib/typescript/components/ChangesBar.d.ts.map +1 -0
  268. package/lib/typescript/components/Composer.d.ts.map +1 -0
  269. package/lib/typescript/components/EmptyState.d.ts.map +1 -0
  270. package/lib/typescript/components/KeyboardPad.d.ts.map +1 -0
  271. package/lib/typescript/components/Markdown.d.ts.map +1 -0
  272. package/lib/typescript/components/MessageList.d.ts.map +1 -0
  273. package/lib/typescript/components/QueuedMessages.d.ts.map +1 -0
  274. package/lib/typescript/components/ThinkingStrip.d.ts.map +1 -0
  275. package/lib/typescript/components/TypingDots.d.ts.map +1 -0
  276. package/lib/typescript/components/markdownParse.d.ts.map +1 -0
  277. package/lib/typescript/components/markdownParse.test.d.ts.map +1 -0
  278. package/lib/typescript/components/useCopyAction.d.ts.map +1 -0
  279. package/lib/typescript/index.d.ts.map +1 -0
  280. package/lib/typescript/preset.d.ts.map +1 -0
  281. package/lib/typescript/store/activityGroups.d.ts.map +1 -0
  282. package/lib/typescript/store/activityGroups.test.d.ts.map +1 -0
  283. package/lib/typescript/store/askBuoySettings.d.ts.map +1 -0
  284. package/lib/typescript/store/askBuoyStore.d.ts.map +1 -0
  285. package/lib/typescript/store/blockPlacement.d.ts.map +1 -0
  286. package/lib/typescript/store/blockPlacement.test.d.ts.map +1 -0
  287. package/lib/typescript/store/queue.test.d.ts.map +1 -0
  288. package/lib/typescript/store/resetConversation.d.ts.map +1 -0
  289. package/lib/typescript/store/restorePending.test.d.ts.map +1 -0
  290. package/lib/typescript/store/restoredIds.test.d.ts.map +1 -0
  291. package/lib/typescript/store/suggestions.d.ts.map +1 -0
  292. package/lib/typescript/store/suggestions.test.d.ts.map +1 -0
  293. package/lib/typescript/store/systemLine.test.d.ts.map +1 -0
  294. package/lib/typescript/store/ticketPrompt.d.ts.map +1 -0
  295. package/lib/typescript/store/traceText.d.ts.map +1 -0
  296. package/lib/typescript/store/traceText.test.d.ts.map +1 -0
  297. package/lib/typescript/store/transcriptPersistence.d.ts.map +1 -0
  298. package/lib/typescript/store/transcriptPersistence.test.d.ts.map +1 -0
  299. package/lib/typescript/store/turnRendering.test.d.ts.map +1 -0
  300. package/lib/typescript/store/useAskBuoy.d.ts.map +1 -0
  301. package/lib/typescript/store/useAskBuoySettings.d.ts.map +1 -0
  302. package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -0
  303. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +1 -0
  304. package/lib/typescript/sync/wire.d.ts.map +1 -0
  305. package/lib/typescript/types.d.ts.map +1 -0
  306. package/package.json +8 -8
@@ -1 +1,310 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Markdown=Markdown,exports.renderInline=renderInline;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_markdownParse=require("./markdownParse"),_jsxRuntime=require("react/jsx-runtime");function renderInline(e,t){const r=e.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1"),i=[],s=/(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;let l,o=0,n=0;for(;l=s.exec(r);){l.index>o&&i.push(r.slice(o,l.index));const e=l[0];e.startsWith("**")?i.push((0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.bold],children:e.slice(2,-2)},n++)):e.startsWith("`")?i.push((0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.code],children:e.slice(1,-1)},n++)):i.push((0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.italic],children:e.slice(1,-1)},n++)),o=l.index+e.length}return o<r.length&&i.push(r.slice(o)),i}const stripLinks=e=>e.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1");function MarkdownTable({header:e,rows:t}){const[r,i]=(0,_react.useState)(!1),s=(0,_markdownParse.tableTruncation)(e,t),l=r?e:e.slice(0,_markdownParse.TABLE_PREVIEW_COLS),o=r?t:t.slice(0,_markdownParse.TABLE_PREVIEW_ROWS),n=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:r&&styles.tableWide,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.tableHead,children:l.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.th,0===t&&styles.firstCol,r&&styles.colFixed],numberOfLines:1,children:e.replace(/\*\*/g,"")},t))}),o.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.tr,t>0&&styles.trDivider],children:l.map((t,i)=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.td,0===i&&styles.firstCol,0===i&&styles.tdFirst,r&&styles.colFixed],numberOfLines:r?3:2,children:renderInline(stripLinks(e[i]??""),styles.td)},i))},t))]});return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.table,testID:"buoy-ask-buoy-md-table",children:[r?(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{style:styles.tableScrollV,nestedScrollEnabled:!0,children:(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!0,children:n})}):n,s?(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{testID:"buoy-ask-buoy-md-table-toggle",accessibilityRole:"button",accessibilityLabel:r?"Show fewer rows":"Show all rows and columns",onPress:()=>i(e=>!e),style:({pressed:e})=>[styles.tfoot,e&&styles.pressed],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.tfootText,children:r?`All ${t.length} rows · ${e.length} columns`:s}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.tfootAction,children:r?"Show fewer":"Show all"})]}):null]})}function Markdown({text:e,style:t}){const r=(0,_markdownParse.parseBlocks)(e);return(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.wrap,children:r.map((e,r)=>"table"===e.kind?(0,_jsxRuntime.jsx)(MarkdownTable,{header:e.header,rows:e.rows},r):"code"===e.kind?(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,style:styles.codeBlock,contentContainerStyle:styles.codeBlockContent,testID:"buoy-ask-buoy-md-code",children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.codeText,selectable:!0,children:e.text})},r):"li"===e.kind?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.li,{paddingLeft:4+14*e.depth}],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.marker],children:e.marker}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.liText],selectable:!0,children:renderInline(e.text,t)})]},r):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,"h"===e.kind&&styles.bold],selectable:!0,children:renderInline(e.text,t)},r))})}const styles=_reactNative.StyleSheet.create({wrap:{gap:8},bold:{fontWeight:"600"},italic:{fontStyle:"italic"},code:{fontFamily:"Menlo",fontSize:13,color:_sharedUi.night.color.accent,backgroundColor:_sharedUi.night.color.fill},codeBlock:{borderRadius:_sharedUi.night.radius.row,borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:_sharedUi.night.color.border,backgroundColor:_sharedUi.night.color.surface},codeBlockContent:{paddingHorizontal:12,paddingVertical:10},codeText:{fontFamily:"Menlo",fontSize:12,lineHeight:18,color:_sharedUi.night.color.text},li:{flexDirection:"row",gap:8},table:{borderRadius:_sharedUi.night.radius.row,borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:_sharedUi.night.color.border,backgroundColor:_sharedUi.night.color.surface,overflow:"hidden"},tableWide:{minWidth:"100%"},tableScrollV:{maxHeight:320},tableHead:{flexDirection:"row",paddingHorizontal:10,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:10,paddingVertical:7,gap:8},trDivider:{borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:_sharedUi.night.color.separator},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.3},colFixed:{flex:0,width:110},tfoot:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:10,paddingVertical:8,borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:_sharedUi.night.color.border},tfootText:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.micro},tfootAction:{color:_sharedUi.night.color.accent,fontSize:_sharedUi.night.font.micro,fontWeight:"600"},pressed:{opacity:.7},marker:{color:_sharedUi.night.color.textSecondary,minWidth:14,textAlign:"right"},liText:{flex:1}});
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Markdown = Markdown;
7
+ exports.renderInline = renderInline;
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _sharedUi = require("@buoy-gg/shared-ui");
11
+ var _markdownParse = require("./markdownParse");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * Just enough Markdown for a chat answer.
15
+ *
16
+ * Models write `**bold**`, bullet lists and `code` whether or not the prompt
17
+ * asks for prose, and the asterisks rendered raw made every answer look like
18
+ * a broken template. This handles the subset a chat actually receives —
19
+ * paragraphs, `-`/`*`/`1.` lists, `#` headings (rendered bold, not huge),
20
+ * pipe tables, fenced code, bold, italics and inline code — with no
21
+ * dependency and no HTML. Anything it does not understand falls through as
22
+ * plain text, never as a blank. The parser lives in markdownParse.ts so it
23
+ * can be tested without React Native.
24
+ */
25
+
26
+ /**
27
+ * `**bold**`, `*italic*` / `_italic_`, `` `code` `` → styled spans. Links and
28
+ * images collapse to their text: a phone chat has nowhere to open a URL, and
29
+ * `![Snorlax](https://raw.githubusercontent.com/…/143.png)` printed raw is
30
+ * three lines of noise for one word of meaning.
31
+ */
32
+ function renderInline(source, base) {
33
+ const text = source.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
34
+ const out = [];
35
+ const re = /(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;
36
+ let last = 0;
37
+ let m;
38
+ let i = 0;
39
+ while (m = re.exec(text)) {
40
+ if (m.index > last) out.push(text.slice(last, m.index));
41
+ const tok = m[0];
42
+ if (tok.startsWith("**")) {
43
+ out.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
44
+ style: [base, styles.bold],
45
+ children: tok.slice(2, -2)
46
+ }, i++));
47
+ } else if (tok.startsWith("`")) {
48
+ out.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
49
+ style: [base, styles.code],
50
+ children: tok.slice(1, -1)
51
+ }, i++));
52
+ } else {
53
+ out.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
54
+ style: [base, styles.italic],
55
+ children: tok.slice(1, -1)
56
+ }, i++));
57
+ }
58
+ last = m.index + tok.length;
59
+ }
60
+ if (last < text.length) out.push(text.slice(last));
61
+ return out;
62
+ }
63
+ const stripLinks = s => s.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
64
+
65
+ /**
66
+ * A pipe table, cut to a preview that SAYS it is cut.
67
+ *
68
+ * It used to slice to four columns and twelve rows in silence. A model asked
69
+ * for "all 30 bag lines" sent 30; the tester read 12 and filed "the bag only
70
+ * has 12 items". Evidence that is cut must say so — a footer names what is
71
+ * missing and Show all expands to every row and column inside a capped,
72
+ * horizontally scrollable box, the same shape the approval card uses for its
73
+ * long description.
74
+ */
75
+ function MarkdownTable({
76
+ header,
77
+ rows
78
+ }) {
79
+ const [expanded, setExpanded] = (0, _react.useState)(false);
80
+ const truncation = (0, _markdownParse.tableTruncation)(header, rows);
81
+ const cols = expanded ? header : header.slice(0, _markdownParse.TABLE_PREVIEW_COLS);
82
+ const shownRows = expanded ? rows : rows.slice(0, _markdownParse.TABLE_PREVIEW_ROWS);
83
+ const body = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
+ style: expanded && styles.tableWide,
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
86
+ style: styles.tableHead,
87
+ children: cols.map((c, k) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
88
+ style: [styles.th, k === 0 && styles.firstCol, expanded && styles.colFixed],
89
+ numberOfLines: 1,
90
+ children: c.replace(/\*\*/g, "")
91
+ }, k))
92
+ }), shownRows.map((r, ri) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
93
+ style: [styles.tr, ri > 0 && styles.trDivider],
94
+ children: cols.map((_, k) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
95
+ style: [styles.td, k === 0 && styles.firstCol, k === 0 && styles.tdFirst, expanded && styles.colFixed],
96
+ numberOfLines: expanded ? 3 : 2,
97
+ children: renderInline(stripLinks(r[k] ?? ""), styles.td)
98
+ }, k))
99
+ }, ri))]
100
+ });
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
102
+ style: styles.table,
103
+ testID: "buoy-ask-buoy-md-table",
104
+ children: [expanded ?
105
+ /*#__PURE__*/
106
+ // Capped both ways: every column gets a real width and scrolls
107
+ // sideways; the rows scroll inside the card rather than taking the
108
+ // whole transcript with them.
109
+ (0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
110
+ style: styles.tableScrollV,
111
+ nestedScrollEnabled: true,
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
113
+ horizontal: true,
114
+ showsHorizontalScrollIndicator: true,
115
+ children: body
116
+ })
117
+ }) : body, truncation ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
118
+ testID: "buoy-ask-buoy-md-table-toggle",
119
+ accessibilityRole: "button",
120
+ accessibilityLabel: expanded ? "Show fewer rows" : "Show all rows and columns",
121
+ onPress: () => setExpanded(v => !v),
122
+ style: ({
123
+ pressed
124
+ }) => [styles.tfoot, pressed && styles.pressed],
125
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
126
+ style: styles.tfootText,
127
+ children: expanded ? `All ${rows.length} rows · ${header.length} columns` : truncation
128
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
129
+ style: styles.tfootAction,
130
+ children: expanded ? "Show fewer" : "Show all"
131
+ })]
132
+ }) : null]
133
+ });
134
+ }
135
+ function Markdown({
136
+ text,
137
+ style
138
+ }) {
139
+ const blocks = (0, _markdownParse.parseBlocks)(text);
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
141
+ style: styles.wrap,
142
+ children: blocks.map((b, i) => {
143
+ if (b.kind === "table") return /*#__PURE__*/(0, _jsxRuntime.jsx)(MarkdownTable, {
144
+ header: b.header,
145
+ rows: b.rows
146
+ }, i);
147
+ if (b.kind === "code") {
148
+ return (
149
+ /*#__PURE__*/
150
+ // Newlines and indentation kept; long lines scroll sideways rather
151
+ // than wrapping a JSON object into soup.
152
+ (0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
153
+ horizontal: true,
154
+ style: styles.codeBlock,
155
+ contentContainerStyle: styles.codeBlockContent,
156
+ testID: "buoy-ask-buoy-md-code",
157
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
158
+ style: styles.codeText,
159
+ selectable: true,
160
+ children: b.text
161
+ })
162
+ }, i)
163
+ );
164
+ }
165
+ if (b.kind === "li") {
166
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
167
+ style: [styles.li, {
168
+ paddingLeft: 4 + b.depth * 14
169
+ }],
170
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
171
+ style: [style, styles.marker],
172
+ children: b.marker
173
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
174
+ style: [style, styles.liText],
175
+ selectable: true,
176
+ children: renderInline(b.text, style)
177
+ })]
178
+ }, i);
179
+ }
180
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
181
+ style: [style, b.kind === "h" && styles.bold],
182
+ selectable: true,
183
+ children: renderInline(b.text, style)
184
+ }, i);
185
+ })
186
+ });
187
+ }
188
+ const styles = _reactNative.StyleSheet.create({
189
+ wrap: {
190
+ gap: 8
191
+ },
192
+ bold: {
193
+ fontWeight: "600"
194
+ },
195
+ italic: {
196
+ fontStyle: "italic"
197
+ },
198
+ code: {
199
+ fontFamily: "Menlo",
200
+ fontSize: 13,
201
+ color: _sharedUi.night.color.accent,
202
+ backgroundColor: _sharedUi.night.color.fill
203
+ },
204
+ codeBlock: {
205
+ borderRadius: _sharedUi.night.radius.row,
206
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
207
+ borderColor: _sharedUi.night.color.border,
208
+ backgroundColor: _sharedUi.night.color.surface
209
+ },
210
+ codeBlockContent: {
211
+ paddingHorizontal: 12,
212
+ paddingVertical: 10
213
+ },
214
+ codeText: {
215
+ fontFamily: "Menlo",
216
+ fontSize: 12,
217
+ lineHeight: 18,
218
+ color: _sharedUi.night.color.text
219
+ },
220
+ li: {
221
+ flexDirection: "row",
222
+ gap: 8
223
+ },
224
+ table: {
225
+ borderRadius: _sharedUi.night.radius.row,
226
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
227
+ borderColor: _sharedUi.night.color.border,
228
+ backgroundColor: _sharedUi.night.color.surface,
229
+ overflow: "hidden"
230
+ },
231
+ tableWide: {
232
+ minWidth: "100%"
233
+ },
234
+ tableScrollV: {
235
+ maxHeight: 320
236
+ },
237
+ tableHead: {
238
+ flexDirection: "row",
239
+ paddingHorizontal: 10,
240
+ paddingVertical: 6,
241
+ gap: 8,
242
+ backgroundColor: _sharedUi.night.color.fill
243
+ },
244
+ th: {
245
+ flex: 1,
246
+ color: _sharedUi.night.color.textTertiary,
247
+ fontSize: _sharedUi.night.font.micro,
248
+ fontWeight: "700",
249
+ letterSpacing: 0.6,
250
+ textTransform: "uppercase"
251
+ },
252
+ tr: {
253
+ flexDirection: "row",
254
+ paddingHorizontal: 10,
255
+ paddingVertical: 7,
256
+ gap: 8
257
+ },
258
+ trDivider: {
259
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
260
+ borderTopColor: _sharedUi.night.color.separator
261
+ },
262
+ td: {
263
+ flex: 1,
264
+ color: _sharedUi.night.color.textSecondary,
265
+ fontSize: _sharedUi.night.font.caption,
266
+ lineHeight: 17
267
+ },
268
+ tdFirst: {
269
+ color: _sharedUi.night.color.text,
270
+ fontWeight: "500"
271
+ },
272
+ firstCol: {
273
+ flex: 1.3
274
+ },
275
+ // Expanded: a real width per column so six of them don't share one row.
276
+ colFixed: {
277
+ flex: 0,
278
+ width: 110
279
+ },
280
+ tfoot: {
281
+ flexDirection: "row",
282
+ justifyContent: "space-between",
283
+ alignItems: "center",
284
+ paddingHorizontal: 10,
285
+ paddingVertical: 8,
286
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
287
+ borderTopColor: _sharedUi.night.color.border
288
+ },
289
+ tfootText: {
290
+ color: _sharedUi.night.color.textSecondary,
291
+ fontSize: _sharedUi.night.font.micro
292
+ },
293
+ tfootAction: {
294
+ color: _sharedUi.night.color.accent,
295
+ fontSize: _sharedUi.night.font.micro,
296
+ fontWeight: "600"
297
+ },
298
+ pressed: {
299
+ opacity: 0.7
300
+ },
301
+ marker: {
302
+ color: _sharedUi.night.color.textSecondary,
303
+ minWidth: 14,
304
+ textAlign: "right"
305
+ },
306
+ liText: {
307
+ flex: 1
308
+ }
309
+ });
310
+ //# sourceMappingURL=Markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_markdownParse","_jsxRuntime","renderInline","source","base","text","replace","out","re","last","m","i","exec","index","push","slice","tok","startsWith","jsx","Text","style","styles","bold","children","code","italic","length","stripLinks","s","MarkdownTable","header","rows","expanded","setExpanded","useState","truncation","tableTruncation","cols","TABLE_PREVIEW_COLS","shownRows","TABLE_PREVIEW_ROWS","body","jsxs","View","tableWide","tableHead","map","c","k","th","firstCol","colFixed","numberOfLines","r","ri","tr","trDivider","_","td","tdFirst","table","testID","ScrollView","tableScrollV","nestedScrollEnabled","horizontal","showsHorizontalScrollIndicator","Pressable","accessibilityRole","accessibilityLabel","onPress","v","pressed","tfoot","tfootText","tfootAction","Markdown","blocks","parseBlocks","wrap","b","kind","codeBlock","contentContainerStyle","codeBlockContent","codeText","selectable","li","paddingLeft","depth","marker","liText","StyleSheet","create","gap","fontWeight","fontStyle","fontFamily","fontSize","color","night","accent","backgroundColor","fill","borderRadius","radius","row","borderWidth","hairlineWidth","borderColor","border","surface","paddingHorizontal","paddingVertical","lineHeight","flexDirection","overflow","minWidth","maxHeight","flex","textTertiary","font","micro","letterSpacing","textTransform","borderTopWidth","borderTopColor","separator","textSecondary","caption","width","justifyContent","alignItems","opacity","textAlign"],"sourceRoot":"../../../src","sources":["components/Markdown.tsx"],"mappings":";;;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAKyB,IAAAI,WAAA,GAAAJ,OAAA;AArBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,YAAYA,CAACC,MAAc,EAAEC,IAAe,EAAqB;EAC/E,MAAMC,IAAI,GAAGF,MAAM,CAACG,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC;EAC7D,MAAMC,GAAsB,GAAG,EAAE;EACjC,MAAMC,EAAE,GAAG,wDAAwD;EACnE,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,CAAyB;EAC7B,IAAIC,CAAC,GAAG,CAAC;EACT,OAAQD,CAAC,GAAGF,EAAE,CAACI,IAAI,CAACP,IAAI,CAAC,EAAG;IAC1B,IAAIK,CAAC,CAACG,KAAK,GAAGJ,IAAI,EAAEF,GAAG,CAACO,IAAI,CAACT,IAAI,CAACU,KAAK,CAACN,IAAI,EAAEC,CAAC,CAACG,KAAK,CAAC,CAAC;IACvD,MAAMG,GAAG,GAAGN,CAAC,CAAC,CAAC,CAAC;IAChB,IAAIM,GAAG,CAACC,UAAU,CAAC,IAAI,CAAC,EAAE;MACxBV,GAAG,CAACO,IAAI,cACN,IAAAb,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAAWC,KAAK,EAAE,CAAChB,IAAI,EAAEiB,MAAM,CAACC,IAAI,CAAE;QAAAC,QAAA,EACxCP,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;MAAC,GADRJ,CAAC,EAEN,CACR,CAAC;IACH,CAAC,MAAM,IAAIK,GAAG,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;MAC9BV,GAAG,CAACO,IAAI,cACN,IAAAb,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAAWC,KAAK,EAAE,CAAChB,IAAI,EAAEiB,MAAM,CAACG,IAAI,CAAE;QAAAD,QAAA,EACxCP,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;MAAC,GADRJ,CAAC,EAEN,CACR,CAAC;IACH,CAAC,MAAM;MACLJ,GAAG,CAACO,IAAI,cACN,IAAAb,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAAWC,KAAK,EAAE,CAAChB,IAAI,EAAEiB,MAAM,CAACI,MAAM,CAAE;QAAAF,QAAA,EAC1CP,GAAG,CAACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;MAAC,GADRJ,CAAC,EAEN,CACR,CAAC;IACH;IACAF,IAAI,GAAGC,CAAC,CAACG,KAAK,GAAGG,GAAG,CAACU,MAAM;EAC7B;EACA,IAAIjB,IAAI,GAAGJ,IAAI,CAACqB,MAAM,EAAEnB,GAAG,CAACO,IAAI,CAACT,IAAI,CAACU,KAAK,CAACN,IAAI,CAAC,CAAC;EAClD,OAAOF,GAAG;AACZ;AAEA,MAAMoB,UAAU,GAAIC,CAAS,IAAKA,CAAC,CAACtB,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC;;AAE7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASuB,aAAaA,CAAC;EAAEC,MAAM;EAAEC;AAA6C,CAAC,EAAE;EAC/E,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC/C,MAAMC,UAAU,GAAG,IAAAC,8BAAe,EAACN,MAAM,EAAEC,IAAI,CAAC;EAChD,MAAMM,IAAI,GAAGL,QAAQ,GAAGF,MAAM,GAAGA,MAAM,CAACf,KAAK,CAAC,CAAC,EAAEuB,iCAAkB,CAAC;EACpE,MAAMC,SAAS,GAAGP,QAAQ,GAAGD,IAAI,GAAGA,IAAI,CAAChB,KAAK,CAAC,CAAC,EAAEyB,iCAAkB,CAAC;EAErE,MAAMC,IAAI,gBACR,IAAAxC,WAAA,CAAAyC,IAAA,EAAC5C,YAAA,CAAA6C,IAAI;IAACvB,KAAK,EAAEY,QAAQ,IAAIX,MAAM,CAACuB,SAAU;IAAArB,QAAA,gBACxC,IAAAtB,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAA6C,IAAI;MAACvB,KAAK,EAAEC,MAAM,CAACwB,SAAU;MAAAtB,QAAA,EAC3Bc,IAAI,CAACS,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBACb,IAAA/C,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAEHC,KAAK,EAAE,CAACC,MAAM,CAAC4B,EAAE,EAAED,CAAC,KAAK,CAAC,IAAI3B,MAAM,CAAC6B,QAAQ,EAAElB,QAAQ,IAAIX,MAAM,CAAC8B,QAAQ,CAAE;QAC5EC,aAAa,EAAE,CAAE;QAAA7B,QAAA,EAEhBwB,CAAC,CAACzC,OAAO,CAAC,OAAO,EAAE,EAAE;MAAC,GAJlB0C,CAKD,CACP;IAAC,CACE,CAAC,EACNT,SAAS,CAACO,GAAG,CAAC,CAACO,CAAC,EAAEC,EAAE,kBACnB,IAAArD,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAA6C,IAAI;MAAUvB,KAAK,EAAE,CAACC,MAAM,CAACkC,EAAE,EAAED,EAAE,GAAG,CAAC,IAAIjC,MAAM,CAACmC,SAAS,CAAE;MAAAjC,QAAA,EAC3Dc,IAAI,CAACS,GAAG,CAAC,CAACW,CAAC,EAAET,CAAC,kBACb,IAAA/C,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAEHC,KAAK,EAAE,CAACC,MAAM,CAACqC,EAAE,EAAEV,CAAC,KAAK,CAAC,IAAI3B,MAAM,CAAC6B,QAAQ,EAAEF,CAAC,KAAK,CAAC,IAAI3B,MAAM,CAACsC,OAAO,EAAE3B,QAAQ,IAAIX,MAAM,CAAC8B,QAAQ,CAAE;QACvGC,aAAa,EAAEpB,QAAQ,GAAG,CAAC,GAAG,CAAE;QAAAT,QAAA,EAE/BrB,YAAY,CAACyB,UAAU,CAAC0B,CAAC,CAACL,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE3B,MAAM,CAACqC,EAAE;MAAC,GAJ3CV,CAKD,CACP;IAAC,GATOM,EAUL,CACP,CAAC;EAAA,CACE,CACP;EAED,oBACE,IAAArD,WAAA,CAAAyC,IAAA,EAAC5C,YAAA,CAAA6C,IAAI;IAACvB,KAAK,EAAEC,MAAM,CAACuC,KAAM;IAACC,MAAM,EAAC,wBAAwB;IAAAtC,QAAA,GACvDS,QAAQ;IAAA;IACP;IACA;IACA;IACA,IAAA/B,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAgE,UAAU;MAAC1C,KAAK,EAAEC,MAAM,CAAC0C,YAAa;MAACC,mBAAmB;MAAAzC,QAAA,eACzD,IAAAtB,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAgE,UAAU;QAACG,UAAU;QAACC,8BAA8B;QAAA3C,QAAA,EAClDkB;MAAI,CACK;IAAC,CACH,CAAC,GAEbA,IACD,EACAN,UAAU,gBACT,IAAAlC,WAAA,CAAAyC,IAAA,EAAC5C,YAAA,CAAAqE,SAAS;MACRN,MAAM,EAAC,+BAA+B;MACtCO,iBAAiB,EAAC,QAAQ;MAC1BC,kBAAkB,EAAErC,QAAQ,GAAG,iBAAiB,GAAG,2BAA4B;MAC/EsC,OAAO,EAAEA,CAAA,KAAMrC,WAAW,CAAEsC,CAAC,IAAK,CAACA,CAAC,CAAE;MACtCnD,KAAK,EAAEA,CAAC;QAAEoD;MAAQ,CAAC,KAAK,CAACnD,MAAM,CAACoD,KAAK,EAAED,OAAO,IAAInD,MAAM,CAACmD,OAAO,CAAE;MAAAjD,QAAA,gBAElE,IAAAtB,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACqD,SAAU;QAAAnD,QAAA,EAC3BS,QAAQ,GAAG,OAAOD,IAAI,CAACL,MAAM,WAAWI,MAAM,CAACJ,MAAM,UAAU,GAAGS;MAAU,CACzE,CAAC,eACP,IAAAlC,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACsD,WAAY;QAAApD,QAAA,EAAES,QAAQ,GAAG,YAAY,GAAG;MAAU,CAAO,CAAC;IAAA,CACrE,CAAC,GACV,IAAI;EAAA,CACJ,CAAC;AAEX;AAEO,SAAS4C,QAAQA,CAAC;EAAEvE,IAAI;EAAEe;AAA0C,CAAC,EAAE;EAC5E,MAAMyD,MAAM,GAAG,IAAAC,0BAAW,EAACzE,IAAI,CAAC;EAChC,oBACE,IAAAJ,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAA6C,IAAI;IAACvB,KAAK,EAAEC,MAAM,CAAC0D,IAAK;IAAAxD,QAAA,EACtBsD,MAAM,CAAC/B,GAAG,CAAC,CAACkC,CAAC,EAAErE,CAAC,KAAK;MACpB,IAAIqE,CAAC,CAACC,IAAI,KAAK,OAAO,EAAE,oBAAO,IAAAhF,WAAA,CAAAiB,GAAA,EAACW,aAAa;QAASC,MAAM,EAAEkD,CAAC,CAAClD,MAAO;QAACC,IAAI,EAAEiD,CAAC,CAACjD;MAAK,GAAlCpB,CAAoC,CAAC;MACxF,IAAIqE,CAAC,CAACC,IAAI,KAAK,MAAM,EAAE;QACrB;UAAA;UACE;UACA;UACA,IAAAhF,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAgE,UAAU;YAASG,UAAU;YAAC7C,KAAK,EAAEC,MAAM,CAAC6D,SAAU;YAACC,qBAAqB,EAAE9D,MAAM,CAAC+D,gBAAiB;YAACvB,MAAM,EAAC,uBAAuB;YAAAtC,QAAA,eACpI,IAAAtB,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;cAACC,KAAK,EAAEC,MAAM,CAACgE,QAAS;cAACC,UAAU;cAAA/D,QAAA,EACrCyD,CAAC,CAAC3E;YAAI,CACH;UAAC,GAHQM,CAIL;QAAC;MAEjB;MACA,IAAIqE,CAAC,CAACC,IAAI,KAAK,IAAI,EAAE;QACnB,oBACE,IAAAhF,WAAA,CAAAyC,IAAA,EAAC5C,YAAA,CAAA6C,IAAI;UAASvB,KAAK,EAAE,CAACC,MAAM,CAACkE,EAAE,EAAE;YAAEC,WAAW,EAAE,CAAC,GAAGR,CAAC,CAACS,KAAK,GAAG;UAAG,CAAC,CAAE;UAAAlE,QAAA,gBAClE,IAAAtB,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;YAACC,KAAK,EAAE,CAACA,KAAK,EAAEC,MAAM,CAACqE,MAAM,CAAE;YAAAnE,QAAA,EAAEyD,CAAC,CAACU;UAAM,CAAO,CAAC,eACtD,IAAAzF,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;YAACC,KAAK,EAAE,CAACA,KAAK,EAAEC,MAAM,CAACsE,MAAM,CAAE;YAACL,UAAU;YAAA/D,QAAA,EAC5CrB,YAAY,CAAC8E,CAAC,CAAC3E,IAAI,EAAEe,KAAK;UAAC,CACxB,CAAC;QAAA,GAJET,CAKL,CAAC;MAEX;MACA,oBACE,IAAAV,WAAA,CAAAiB,GAAA,EAACpB,YAAA,CAAAqB,IAAI;QAASC,KAAK,EAAE,CAACA,KAAK,EAAE4D,CAAC,CAACC,IAAI,KAAK,GAAG,IAAI5D,MAAM,CAACC,IAAI,CAAE;QAACgE,UAAU;QAAA/D,QAAA,EACpErB,YAAY,CAAC8E,CAAC,CAAC3E,IAAI,EAAEe,KAAK;MAAC,GADnBT,CAEL,CAAC;IAEX,CAAC;EAAC,CACE,CAAC;AAEX;AAEA,MAAMU,MAAM,GAAGuE,uBAAU,CAACC,MAAM,CAAC;EAC/Bd,IAAI,EAAE;IAAEe,GAAG,EAAE;EAAE,CAAC;EAChBxE,IAAI,EAAE;IAAEyE,UAAU,EAAE;EAAM,CAAC;EAC3BtE,MAAM,EAAE;IAAEuE,SAAS,EAAE;EAAS,CAAC;EAC/BxE,IAAI,EAAE;IACJyE,UAAU,EAAE,OAAO;IACnBC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEC,eAAK,CAACD,KAAK,CAACE,MAAM;IACzBC,eAAe,EAAEF,eAAK,CAACD,KAAK,CAACI;EAC/B,CAAC;EACDrB,SAAS,EAAE;IACTsB,YAAY,EAAEJ,eAAK,CAACK,MAAM,CAACC,GAAG;IAC9BC,WAAW,EAAEf,uBAAU,CAACgB,aAAa;IACrCC,WAAW,EAAET,eAAK,CAACD,KAAK,CAACW,MAAM;IAC/BR,eAAe,EAAEF,eAAK,CAACD,KAAK,CAACY;EAC/B,CAAC;EACD3B,gBAAgB,EAAE;IAAE4B,iBAAiB,EAAE,EAAE;IAAEC,eAAe,EAAE;EAAG,CAAC;EAChE5B,QAAQ,EAAE;IACRY,UAAU,EAAE,OAAO;IACnBC,QAAQ,EAAE,EAAE;IACZgB,UAAU,EAAE,EAAE;IACdf,KAAK,EAAEC,eAAK,CAACD,KAAK,CAAC9F;EACrB,CAAC;EACDkF,EAAE,EAAE;IAAE4B,aAAa,EAAE,KAAK;IAAErB,GAAG,EAAE;EAAE,CAAC;EACpClC,KAAK,EAAE;IAAE4C,YAAY,EAAEJ,eAAK,CAACK,MAAM,CAACC,GAAG;IAAEC,WAAW,EAAEf,uBAAU,CAACgB,aAAa;IAAEC,WAAW,EAAET,eAAK,CAACD,KAAK,CAACW,MAAM;IAAER,eAAe,EAAEF,eAAK,CAACD,KAAK,CAACY,OAAO;IAAEK,QAAQ,EAAE;EAAS,CAAC;EAC3KxE,SAAS,EAAE;IAAEyE,QAAQ,EAAE;EAAO,CAAC;EAC/BtD,YAAY,EAAE;IAAEuD,SAAS,EAAE;EAAI,CAAC;EAChCzE,SAAS,EAAE;IAAEsE,aAAa,EAAE,KAAK;IAAEH,iBAAiB,EAAE,EAAE;IAAEC,eAAe,EAAE,CAAC;IAAEnB,GAAG,EAAE,CAAC;IAAEQ,eAAe,EAAEF,eAAK,CAACD,KAAK,CAACI;EAAK,CAAC;EACzHtD,EAAE,EAAE;IAAEsE,IAAI,EAAE,CAAC;IAAEpB,KAAK,EAAEC,eAAK,CAACD,KAAK,CAACqB,YAAY;IAAEtB,QAAQ,EAAEE,eAAK,CAACqB,IAAI,CAACC,KAAK;IAAE3B,UAAU,EAAE,KAAK;IAAE4B,aAAa,EAAE,GAAG;IAAEC,aAAa,EAAE;EAAY,CAAC;EAC/IrE,EAAE,EAAE;IAAE4D,aAAa,EAAE,KAAK;IAAEH,iBAAiB,EAAE,EAAE;IAAEC,eAAe,EAAE,CAAC;IAAEnB,GAAG,EAAE;EAAE,CAAC;EAC/EtC,SAAS,EAAE;IAAEqE,cAAc,EAAEjC,uBAAU,CAACgB,aAAa;IAAEkB,cAAc,EAAE1B,eAAK,CAACD,KAAK,CAAC4B;EAAU,CAAC;EAC9FrE,EAAE,EAAE;IAAE6D,IAAI,EAAE,CAAC;IAAEpB,KAAK,EAAEC,eAAK,CAACD,KAAK,CAAC6B,aAAa;IAAE9B,QAAQ,EAAEE,eAAK,CAACqB,IAAI,CAACQ,OAAO;IAAEf,UAAU,EAAE;EAAG,CAAC;EAC/FvD,OAAO,EAAE;IAAEwC,KAAK,EAAEC,eAAK,CAACD,KAAK,CAAC9F,IAAI;IAAE0F,UAAU,EAAE;EAAM,CAAC;EACvD7C,QAAQ,EAAE;IAAEqE,IAAI,EAAE;EAAI,CAAC;EACvB;EACApE,QAAQ,EAAE;IAAEoE,IAAI,EAAE,CAAC;IAAEW,KAAK,EAAE;EAAI,CAAC;EACjCzD,KAAK,EAAE;IACL0C,aAAa,EAAE,KAAK;IACpBgB,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBpB,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClBY,cAAc,EAAEjC,uBAAU,CAACgB,aAAa;IACxCkB,cAAc,EAAE1B,eAAK,CAACD,KAAK,CAACW;EAC9B,CAAC;EACDpC,SAAS,EAAE;IAAEyB,KAAK,EAAEC,eAAK,CAACD,KAAK,CAAC6B,aAAa;IAAE9B,QAAQ,EAAEE,eAAK,CAACqB,IAAI,CAACC;EAAM,CAAC;EAC3E/C,WAAW,EAAE;IAAEwB,KAAK,EAAEC,eAAK,CAACD,KAAK,CAACE,MAAM;IAAEH,QAAQ,EAAEE,eAAK,CAACqB,IAAI,CAACC,KAAK;IAAE3B,UAAU,EAAE;EAAM,CAAC;EACzFvB,OAAO,EAAE;IAAE6D,OAAO,EAAE;EAAI,CAAC;EACzB3C,MAAM,EAAE;IAAES,KAAK,EAAEC,eAAK,CAACD,KAAK,CAAC6B,aAAa;IAAEX,QAAQ,EAAE,EAAE;IAAEiB,SAAS,EAAE;EAAQ,CAAC;EAC9E3C,MAAM,EAAE;IAAE4B,IAAI,EAAE;EAAE;AACpB,CAAC,CAAC","ignoreList":[]}