@mastra/playground-ui 62.0.0-alpha.0 → 62.0.0-alpha.2

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 (646) hide show
  1. package/README.md +2 -2
  2. package/dist/{Button-BTuu6_hv.cjs → Button-BpSkkuzG.cjs} +3 -2
  3. package/dist/Button-BpSkkuzG.cjs.map +1 -0
  4. package/dist/{Button-D76HGlPP.js → Button-MHlMpc97.js} +3 -2
  5. package/dist/Button-MHlMpc97.js.map +1 -0
  6. package/dist/{ErrorBoundary-C83aOlVF.cjs → ErrorBoundary-B3MbPdHS.cjs} +2 -2
  7. package/dist/{ErrorBoundary-C83aOlVF.cjs.map → ErrorBoundary-B3MbPdHS.cjs.map} +1 -1
  8. package/dist/{ErrorBoundary-DzbqNJsa.js → ErrorBoundary-DECw8zU9.js} +2 -2
  9. package/dist/{ErrorBoundary-DzbqNJsa.js.map → ErrorBoundary-DECw8zU9.js.map} +1 -1
  10. package/dist/Notice.css +1 -1
  11. package/dist/{alert-dialog-BMRR6-5l.cjs → alert-dialog-B0lV1i6F.cjs} +3 -3
  12. package/dist/{alert-dialog-BMRR6-5l.cjs.map → alert-dialog-B0lV1i6F.cjs.map} +1 -1
  13. package/dist/{alert-dialog-D7rfyRBL.js → alert-dialog-CTVE09r5.js} +3 -3
  14. package/dist/{alert-dialog-D7rfyRBL.js.map → alert-dialog-CTVE09r5.js.map} +1 -1
  15. package/dist/{ask-user-card-Dt8r5Zaj.js → ask-user-card-C01JQ7bo.js} +2 -2
  16. package/dist/{ask-user-card-Dt8r5Zaj.js.map → ask-user-card-C01JQ7bo.js.map} +1 -1
  17. package/dist/{ask-user-card-DBnVT9H_.cjs → ask-user-card-C14RGsoO.cjs} +2 -2
  18. package/dist/{ask-user-card-DBnVT9H_.cjs.map → ask-user-card-C14RGsoO.cjs.map} +1 -1
  19. package/dist/buttons-group.css +15 -5
  20. package/dist/{code-block-zZDgdkEU.js → code-block-CVPoRNhl.js} +4 -4
  21. package/dist/{code-block-zZDgdkEU.js.map → code-block-CVPoRNhl.js.map} +1 -1
  22. package/dist/{code-block-CEwp58Id.cjs → code-block-Cgjl4ne8.cjs} +4 -4
  23. package/dist/{code-block-CEwp58Id.cjs.map → code-block-Cgjl4ne8.cjs.map} +1 -1
  24. package/dist/{code-editor-CIiMtHPN.js → code-editor-5psksCEZ.js} +2 -2
  25. package/dist/{code-editor-CIiMtHPN.js.map → code-editor-5psksCEZ.js.map} +1 -1
  26. package/dist/{code-editor-Bw_rGwp9.cjs → code-editor-B9oLjXB-.cjs} +2 -2
  27. package/dist/{code-editor-Bw_rGwp9.cjs.map → code-editor-B9oLjXB-.cjs.map} +1 -1
  28. package/dist/{collapsible-box-DV-uekuM.js → collapsible-box-BccWteHB.js} +2 -2
  29. package/dist/{collapsible-box-DV-uekuM.js.map → collapsible-box-BccWteHB.js.map} +1 -1
  30. package/dist/{collapsible-box-BiKTbrqx.cjs → collapsible-box-CW66gtXC.cjs} +2 -2
  31. package/dist/{collapsible-box-BiKTbrqx.cjs.map → collapsible-box-CW66gtXC.cjs.map} +1 -1
  32. package/dist/{combobox-Cm87oqoh.js → combobox-8_JEWMYs.js} +3 -3
  33. package/dist/{combobox-Cm87oqoh.js.map → combobox-8_JEWMYs.js.map} +1 -1
  34. package/dist/{combobox-C94lovBP.cjs → combobox-Csiduxme.cjs} +3 -3
  35. package/dist/{combobox-C94lovBP.cjs.map → combobox-Csiduxme.cjs.map} +1 -1
  36. package/dist/{combobox-styles-DeCDIVg-.js → combobox-styles-B7F9wakX.js} +2 -2
  37. package/dist/{combobox-styles-DeCDIVg-.js.map → combobox-styles-B7F9wakX.js.map} +1 -1
  38. package/dist/{combobox-styles-Beu-UEji.cjs → combobox-styles-CvSgj0g8.cjs} +2 -2
  39. package/dist/{combobox-styles-Beu-UEji.cjs.map → combobox-styles-CvSgj0g8.cjs.map} +1 -1
  40. package/dist/{command-BFo5_Ilw.js → command-C-i5cx8D.js} +2 -2
  41. package/dist/{command-BFo5_Ilw.js.map → command-C-i5cx8D.js.map} +1 -1
  42. package/dist/{command-Dd66rlOH.cjs → command-Cq-K24jI.cjs} +2 -2
  43. package/dist/{command-Dd66rlOH.cjs.map → command-Cq-K24jI.cjs.map} +1 -1
  44. package/dist/components/AlertDialog.cjs.js +1 -1
  45. package/dist/components/AlertDialog.es.js +1 -1
  46. package/dist/components/Button.cjs.js +1 -1
  47. package/dist/components/Button.es.js +2 -2
  48. package/dist/components/ClampedText.cjs.js +1 -1
  49. package/dist/components/ClampedText.es.js +1 -1
  50. package/dist/components/CodeBlock.cjs.js +1 -1
  51. package/dist/components/CodeBlock.es.js +1 -1
  52. package/dist/components/CodeEditor.cjs.js +1 -1
  53. package/dist/components/CodeEditor.es.js +1 -1
  54. package/dist/components/CollapsibleBox.cjs.js +1 -1
  55. package/dist/components/CollapsibleBox.es.js +1 -1
  56. package/dist/components/Combobox.cjs.js +2 -2
  57. package/dist/components/Combobox.es.js +2 -2
  58. package/dist/components/Command.cjs.js +1 -1
  59. package/dist/components/Command.es.js +1 -1
  60. package/dist/components/CommandPalette.cjs.js +1 -1
  61. package/dist/components/CommandPalette.es.js +1 -1
  62. package/dist/components/Comment.cjs.js +2 -2
  63. package/dist/components/Comment.es.js +2 -2
  64. package/dist/components/CopyButton.cjs.js +1 -1
  65. package/dist/components/CopyButton.es.js +1 -1
  66. package/dist/components/DataCodeSection.cjs.js +1 -1
  67. package/dist/components/DataCodeSection.es.js +1 -1
  68. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  69. package/dist/components/DataDetailsPanel.es.js +2 -2
  70. package/dist/components/DataList.cjs.js +3 -3
  71. package/dist/components/DataList.es.js +4 -4
  72. package/dist/components/DataPanel.cjs.js +1 -1
  73. package/dist/components/DataPanel.es.js +1 -1
  74. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  75. package/dist/components/DateRangeTimeline.es.js +1 -1
  76. package/dist/components/DateTimePicker.cjs.js +2 -2
  77. package/dist/components/DateTimePicker.es.js +2 -2
  78. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  79. package/dist/components/DateTimeRangePicker.es.js +1 -1
  80. package/dist/components/Dialog.cjs.js +2 -2
  81. package/dist/components/Dialog.es.js +2 -2
  82. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  83. package/dist/components/DisabledFeatureButton.es.js +1 -1
  84. package/dist/components/Drawer.cjs.js +1 -1
  85. package/dist/components/Drawer.es.js +1 -1
  86. package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
  87. package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
  88. package/dist/components/ErrorBoundary.cjs.js +1 -1
  89. package/dist/components/ErrorBoundary.es.js +1 -1
  90. package/dist/components/FilterBar.cjs.js +7 -6
  91. package/dist/components/FilterBar.cjs.js.map +1 -1
  92. package/dist/components/FilterBar.es.js +8 -7
  93. package/dist/components/FilterBar.es.js.map +1 -1
  94. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  95. package/dist/components/FormFieldBlocks.es.js +2 -2
  96. package/dist/components/InputGroup.cjs.js +1 -1
  97. package/dist/components/InputGroup.es.js +1 -1
  98. package/dist/components/InputNumber.cjs.js +2 -2
  99. package/dist/components/InputNumber.es.js +2 -2
  100. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  101. package/dist/components/JSONSchemaForm.es.js +2 -2
  102. package/dist/components/ListSearch.cjs.js +1 -1
  103. package/dist/components/ListSearch.es.js +1 -1
  104. package/dist/components/LogsDataList.cjs.js +3 -3
  105. package/dist/components/LogsDataList.es.js +3 -3
  106. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  107. package/dist/components/MarkdownRenderer.es.js +1 -1
  108. package/dist/components/Message.cjs.js +1 -1
  109. package/dist/components/Message.es.js +1 -1
  110. package/dist/components/MetricsCard.cjs.js +1 -1
  111. package/dist/components/MetricsCard.es.js +1 -1
  112. package/dist/components/PageHeader.cjs.js +1 -1
  113. package/dist/components/PageHeader.es.js +1 -1
  114. package/dist/components/PrevNextNav.cjs.js +1 -1
  115. package/dist/components/PrevNextNav.es.js +1 -1
  116. package/dist/components/PropertyFilter.cjs.js +3 -3
  117. package/dist/components/PropertyFilter.es.js +4 -4
  118. package/dist/components/RuleBuilder.cjs.js +2 -2
  119. package/dist/components/RuleBuilder.es.js +2 -2
  120. package/dist/components/SavedViews.cjs.js +2 -2
  121. package/dist/components/SavedViews.es.js +2 -2
  122. package/dist/components/SearchInput.cjs.js +1 -1
  123. package/dist/components/SearchInput.es.js +1 -1
  124. package/dist/components/Select.cjs.js +1 -1
  125. package/dist/components/Select.es.js +1 -1
  126. package/dist/components/SideDialog.cjs.js +1 -1
  127. package/dist/components/SideDialog.es.js +1 -1
  128. package/dist/components/Sidebar.cjs.js +3 -3
  129. package/dist/components/Sidebar.es.js +3 -3
  130. package/dist/components/Tabs.cjs.js +1 -1
  131. package/dist/components/Tabs.es.js +1 -1
  132. package/dist/components/ThinkingLevel.cjs.js +36 -24
  133. package/dist/components/ThinkingLevel.cjs.js.map +1 -1
  134. package/dist/components/ThinkingLevel.es.js +36 -25
  135. package/dist/components/ThinkingLevel.es.js.map +1 -1
  136. package/dist/components/ThreadList.cjs.js +1 -1
  137. package/dist/components/ThreadList.es.js +1 -1
  138. package/dist/components/Truncate.cjs.js +1 -1
  139. package/dist/components/Truncate.es.js +1 -1
  140. package/dist/components/Workflow.cjs.js +6 -6
  141. package/dist/components/Workflow.es.js +6 -6
  142. package/dist/components/ai/activity.cjs.js +1 -1
  143. package/dist/components/ai/activity.es.js +1 -1
  144. package/dist/components/ai/ask-user.cjs.js +1 -1
  145. package/dist/components/ai/ask-user.es.js +1 -1
  146. package/dist/components/ai/plan.cjs.js +1 -1
  147. package/dist/components/ai/plan.es.js +1 -1
  148. package/dist/components/ai/tool-approval.cjs.js +1 -1
  149. package/dist/components/ai/tool-approval.es.js +1 -1
  150. package/dist/components/ai/tool-call.cjs.js +3 -3
  151. package/dist/components/ai/tool-call.es.js +3 -3
  152. package/dist/{copy-button-CRWQE6VF.js → copy-button-Ddbg9IZn.js} +2 -2
  153. package/dist/{copy-button-CRWQE6VF.js.map → copy-button-Ddbg9IZn.js.map} +1 -1
  154. package/dist/{copy-button-Q9i32p1G.cjs → copy-button-c9mSgKKR.cjs} +2 -2
  155. package/dist/{copy-button-Q9i32p1G.cjs.map → copy-button-c9mSgKKR.cjs.map} +1 -1
  156. package/dist/{data-code-section-c2n-IXav.js → data-code-section-CvLs4lM8.js} +5 -5
  157. package/dist/{data-code-section-c2n-IXav.js.map → data-code-section-CvLs4lM8.js.map} +1 -1
  158. package/dist/{data-code-section-CDH9qfwl.cjs → data-code-section-D0NR1REP.cjs} +5 -5
  159. package/dist/{data-code-section-CDH9qfwl.cjs.map → data-code-section-D0NR1REP.cjs.map} +1 -1
  160. package/dist/{data-list-D5XeKpNR.js → data-list-BfepBJLG.js} +2 -2
  161. package/dist/{data-list-D5XeKpNR.js.map → data-list-BfepBJLG.js.map} +1 -1
  162. package/dist/{data-list-DLFiFrph.cjs → data-list-oQsJVUa6.cjs} +2 -2
  163. package/dist/{data-list-DLFiFrph.cjs.map → data-list-oQsJVUa6.cjs.map} +1 -1
  164. package/dist/{data-list-skeleton-B4G2Rtpm.cjs → data-list-skeleton-BE7yRNks.cjs} +2 -2
  165. package/dist/{data-list-skeleton-B4G2Rtpm.cjs.map → data-list-skeleton-BE7yRNks.cjs.map} +1 -1
  166. package/dist/{data-list-skeleton-CRQBCdB2.js → data-list-skeleton-DnVnqTGL.js} +2 -2
  167. package/dist/{data-list-skeleton-CRQBCdB2.js.map → data-list-skeleton-DnVnqTGL.js.map} +1 -1
  168. package/dist/{data-panel-CQb99UIM.js → data-panel-BLk0mZe6.js} +3 -3
  169. package/dist/{data-panel-CQb99UIM.js.map → data-panel-BLk0mZe6.js.map} +1 -1
  170. package/dist/{data-panel-C3ympXVb.cjs → data-panel-BaqnMzRn.cjs} +3 -3
  171. package/dist/{data-panel-C3ympXVb.cjs.map → data-panel-BaqnMzRn.cjs.map} +1 -1
  172. package/dist/{date-time-range-picker-CRvT0pWo.js → date-time-range-picker-BA3e2LFA.js} +3 -3
  173. package/dist/{date-time-range-picker-CRvT0pWo.js.map → date-time-range-picker-BA3e2LFA.js.map} +1 -1
  174. package/dist/{date-time-range-picker-BwgosA0R.cjs → date-time-range-picker-BNepacnP.cjs} +3 -3
  175. package/dist/{date-time-range-picker-BwgosA0R.cjs.map → date-time-range-picker-BNepacnP.cjs.map} +1 -1
  176. package/dist/{dialog-Bl_yLOAi.cjs → dialog-Cn-8vN46.cjs} +2 -2
  177. package/dist/{dialog-Bl_yLOAi.cjs.map → dialog-Cn-8vN46.cjs.map} +1 -1
  178. package/dist/{dialog-BXtm6e9u.js → dialog-CxFcqD_P.js} +2 -2
  179. package/dist/{dialog-BXtm6e9u.js.map → dialog-CxFcqD_P.js.map} +1 -1
  180. package/dist/{dialog-action-C-p24Zfp.cjs → dialog-action-Cn1hO7s4.cjs} +3 -3
  181. package/dist/{dialog-action-C-p24Zfp.cjs.map → dialog-action-Cn1hO7s4.cjs.map} +1 -1
  182. package/dist/{dialog-action-BmcloPa9.js → dialog-action-DznfKiIm.js} +3 -3
  183. package/dist/{dialog-action-BmcloPa9.js.map → dialog-action-DznfKiIm.js.map} +1 -1
  184. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  185. package/dist/domains/auth/components/session-expired.es.js +1 -1
  186. package/dist/domains/capabilities.cjs.js +4 -0
  187. package/dist/domains/capabilities.cjs.js.map +1 -1
  188. package/dist/domains/capabilities.es.js +1 -1
  189. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  190. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  191. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  192. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  193. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  194. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  195. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  196. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  197. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  198. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  199. package/dist/domains/chat/messages/message-row.cjs.js +3 -3
  200. package/dist/domains/chat/messages/message-row.es.js +3 -3
  201. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  202. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  203. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  204. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  205. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  206. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  207. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  208. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  209. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  210. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  211. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  212. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  213. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  214. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  215. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  216. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  217. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  218. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  219. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  220. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  221. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  222. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  223. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  224. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  225. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  226. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  227. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  228. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  229. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
  230. package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
  231. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +5 -4
  232. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  233. package/dist/domains/chat/tools/badges/workflow-badge.es.js +5 -4
  234. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  235. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  236. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  237. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  238. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  239. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  240. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  241. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  242. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  243. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -3
  244. package/dist/domains/logs/components/logs-list-view.es.js +3 -3
  245. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  246. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  247. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  248. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  249. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  250. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  251. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  252. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  253. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  254. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  255. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  256. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  257. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  258. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  259. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  260. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  261. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  262. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  263. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  264. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  265. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  266. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  267. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  268. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  269. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  270. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  271. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  272. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  273. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  274. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  275. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  276. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  277. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  278. package/dist/domains/metrics/drilldown.es.js +1 -1
  279. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
  280. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
  281. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  282. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  283. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  284. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  285. package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -2
  286. package/dist/domains/scores/components/trace-scores-tab.es.js +2 -2
  287. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  288. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  289. package/dist/domains/traces/components/span-data-panel-view.cjs.js +3 -3
  290. package/dist/domains/traces/components/span-data-panel-view.es.js +3 -3
  291. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  292. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  293. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  294. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  295. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  296. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  297. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  298. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  299. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  300. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  301. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  302. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  303. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  304. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  305. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
  306. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
  307. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  308. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  309. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  310. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  311. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  312. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  313. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  314. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  315. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  316. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  317. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  318. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  319. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -1
  320. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  321. package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -1
  322. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  323. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  324. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  325. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +8 -6
  326. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  327. package/dist/domains/traces/components/trace-data-panel-view.es.js +8 -6
  328. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  329. package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -3
  330. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  331. package/dist/domains/traces/components/trace-data-panel.es.js +4 -3
  332. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  333. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  334. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  335. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  336. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  337. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  338. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  339. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  340. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  341. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  342. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  343. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +4 -4
  344. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
  345. package/dist/domains/traces/components/trace-time-range-chip.es.js +4 -4
  346. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
  347. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  348. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  349. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  350. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  351. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  352. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  353. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +16 -6
  354. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js.map +1 -1
  355. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +16 -6
  356. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js.map +1 -1
  357. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -1
  358. package/dist/domains/traces/hooks/use-trace-url-state.es.js +1 -1
  359. package/dist/domains/traces/trace-filters.cjs.js +1 -2
  360. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  361. package/dist/domains/traces/trace-filters.es.js +1 -2
  362. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  363. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  364. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  365. package/dist/domains/traces.cjs.js +1 -1
  366. package/dist/domains/traces.es.js +1 -1
  367. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  368. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  369. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  370. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  371. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  372. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  373. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  374. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  375. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  376. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  377. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  378. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  379. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  380. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  381. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  382. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  383. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  384. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  385. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  386. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  387. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  388. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  389. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  390. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  391. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  392. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  393. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  394. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  395. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  396. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  397. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  398. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  399. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  400. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  401. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  402. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  403. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  404. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  405. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  406. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  407. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  408. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  409. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
  410. package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
  411. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  412. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  413. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  414. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  415. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  416. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  417. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  418. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  419. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
  420. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
  421. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  422. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  423. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  424. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  425. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  426. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  427. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  428. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  429. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  430. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  431. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
  432. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
  433. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  434. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  435. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  436. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  437. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  438. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  439. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  440. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  441. package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
  442. package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
  443. package/dist/{drawer-BXfqQ-yo.cjs → drawer-WMbPLzk5.cjs} +2 -2
  444. package/dist/{drawer-BXfqQ-yo.cjs.map → drawer-WMbPLzk5.cjs.map} +1 -1
  445. package/dist/{drawer-DrorcKlE.js → drawer-YqdQEgNH.js} +2 -2
  446. package/dist/{drawer-DrorcKlE.js.map → drawer-YqdQEgNH.js.map} +1 -1
  447. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  448. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  449. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  450. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  451. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +5 -5
  452. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
  453. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  454. package/dist/ee/signals/examples-pager.es.js +1 -1
  455. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  456. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  457. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  458. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  459. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  460. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  461. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  462. package/dist/ee/signals/signals-error-state.es.js +1 -1
  463. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  464. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  465. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  466. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  467. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  468. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  469. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  470. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  471. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  472. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  473. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  474. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  475. package/dist/{filter-bar-chip-CYuMQS_q.cjs → filter-bar-chip-BBPHw-rX.cjs} +59 -25
  476. package/dist/filter-bar-chip-BBPHw-rX.cjs.map +1 -0
  477. package/dist/{filter-bar-chip-fXsAVwGZ.js → filter-bar-chip-SX3vDA7h.js} +59 -25
  478. package/dist/filter-bar-chip-SX3vDA7h.js.map +1 -0
  479. package/dist/grain-fill.css +3 -3
  480. package/dist/{input-group-3jsDUOOK.js → input-group-C7WC6xGL.js} +2 -2
  481. package/dist/{input-group-3jsDUOOK.js.map → input-group-C7WC6xGL.js.map} +1 -1
  482. package/dist/{input-group-B_60bxtW.cjs → input-group-CGbhXsmd.cjs} +2 -2
  483. package/dist/{input-group-B_60bxtW.cjs.map → input-group-CGbhXsmd.cjs.map} +1 -1
  484. package/dist/layout/tabbed-container.cjs.js +4 -4
  485. package/dist/layout/tabbed-container.es.js +4 -4
  486. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  487. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  488. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  489. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  490. package/dist/lib/form/components/date-field.cjs.js +1 -1
  491. package/dist/lib/form/components/date-field.es.js +1 -1
  492. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  493. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  494. package/dist/lib/form/components/record-field.cjs.js +1 -1
  495. package/dist/lib/form/components/record-field.es.js +1 -1
  496. package/dist/lib/form/components/select-field.cjs.js +1 -1
  497. package/dist/lib/form/components/select-field.es.js +1 -1
  498. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  499. package/dist/lib/form/components/submit-button.es.js +1 -1
  500. package/dist/{list-search-CtuCqehq.js → list-search-CTZVTRUd.js} +2 -2
  501. package/dist/{list-search-CtuCqehq.js.map → list-search-CTZVTRUd.js.map} +1 -1
  502. package/dist/{list-search-BlgDm306.cjs → list-search-DTVH9Fbj.cjs} +2 -2
  503. package/dist/{list-search-BlgDm306.cjs.map → list-search-DTVH9Fbj.cjs.map} +1 -1
  504. package/dist/{logs-data-list-Bz3LB9tJ.cjs → logs-data-list-BgFT_0qi.cjs} +2 -2
  505. package/dist/{logs-data-list-Bz3LB9tJ.cjs.map → logs-data-list-BgFT_0qi.cjs.map} +1 -1
  506. package/dist/{logs-data-list-CmGZY-tj.js → logs-data-list-C-F2jh04.js} +2 -2
  507. package/dist/{logs-data-list-CmGZY-tj.js.map → logs-data-list-C-F2jh04.js.map} +1 -1
  508. package/dist/{markdown-renderer-hN46cpXk.js → markdown-renderer-9YP7IIQd.js} +3 -3
  509. package/dist/{markdown-renderer-hN46cpXk.js.map → markdown-renderer-9YP7IIQd.js.map} +1 -1
  510. package/dist/{markdown-renderer-C9pb3n-P.cjs → markdown-renderer-B2RV53gr.cjs} +3 -3
  511. package/dist/{markdown-renderer-C9pb3n-P.cjs.map → markdown-renderer-B2RV53gr.cjs.map} +1 -1
  512. package/dist/{message-copy-button-DR5YO8Ms.js → message-copy-button-BSwxcs4F.js} +2 -2
  513. package/dist/{message-copy-button-DR5YO8Ms.js.map → message-copy-button-BSwxcs4F.js.map} +1 -1
  514. package/dist/{message-copy-button-UJ-4xx1Z.cjs → message-copy-button-mKHZUK1g.cjs} +2 -2
  515. package/dist/{message-copy-button-UJ-4xx1Z.cjs.map → message-copy-button-mKHZUK1g.cjs.map} +1 -1
  516. package/dist/{metrics-card-DoO7LGMR.js → metrics-card-BGQys8PU.js} +2 -2
  517. package/dist/{metrics-card-DoO7LGMR.js.map → metrics-card-BGQys8PU.js.map} +1 -1
  518. package/dist/{metrics-card-DwMMmvo-.cjs → metrics-card-QVSVExtn.cjs} +2 -2
  519. package/dist/{metrics-card-DwMMmvo-.cjs.map → metrics-card-QVSVExtn.cjs.map} +1 -1
  520. package/dist/new/layout/page-header.cjs.js +1 -1
  521. package/dist/new/layout/page-header.es.js +1 -1
  522. package/dist/{page-header-BELC4V_d.js → page-header-Bf0zLkyY.js} +26 -13
  523. package/dist/page-header-Bf0zLkyY.js.map +1 -0
  524. package/dist/{page-header-B7iNJsvN.cjs → page-header-CLxPq7T5.cjs} +26 -13
  525. package/dist/page-header-CLxPq7T5.cjs.map +1 -0
  526. package/dist/page-header.css +7 -0
  527. package/dist/{plan-CneICd0O.cjs → plan-D6dxWNaj.cjs} +4 -4
  528. package/dist/{plan-CneICd0O.cjs.map → plan-D6dxWNaj.cjs.map} +1 -1
  529. package/dist/{plan-HG66GE5J.js → plan-mzZj_aS2.js} +4 -4
  530. package/dist/{plan-HG66GE5J.js.map → plan-mzZj_aS2.js.map} +1 -1
  531. package/dist/primitives/menu-item.cjs.js +1 -1
  532. package/dist/primitives/menu-item.es.js +1 -1
  533. package/dist/primitives/trigger-button.cjs.js +1 -1
  534. package/dist/primitives/trigger-button.es.js +1 -1
  535. package/dist/{property-filter-applied-D8ksUq0V.cjs → property-filter-applied-7dHzckeW.cjs} +2 -2
  536. package/dist/{property-filter-applied-D8ksUq0V.cjs.map → property-filter-applied-7dHzckeW.cjs.map} +1 -1
  537. package/dist/{property-filter-applied-BI8sBH9b.js → property-filter-applied-CdbOixsW.js} +2 -2
  538. package/dist/{property-filter-applied-BI8sBH9b.js.map → property-filter-applied-CdbOixsW.js.map} +1 -1
  539. package/dist/{reasoning-activity-Cuk7KOLH.js → reasoning-activity-Cpp4iYTw.js} +2 -2
  540. package/dist/{reasoning-activity-Cuk7KOLH.js.map → reasoning-activity-Cpp4iYTw.js.map} +1 -1
  541. package/dist/{reasoning-activity-dSUBYE37.cjs → reasoning-activity-D2sXBAxE.cjs} +2 -2
  542. package/dist/{reasoning-activity-dSUBYE37.cjs.map → reasoning-activity-D2sXBAxE.cjs.map} +1 -1
  543. package/dist/resize/panel-drawer.cjs.js +1 -1
  544. package/dist/resize/panel-drawer.es.js +1 -1
  545. package/dist/{search-input-C_PutmWo.cjs → search-input-CUGl4cVg.cjs} +2 -2
  546. package/dist/{search-input-C_PutmWo.cjs.map → search-input-CUGl4cVg.cjs.map} +1 -1
  547. package/dist/{search-input-DRbe8Fm2.js → search-input-iS3IW0Qo.js} +2 -2
  548. package/dist/{search-input-DRbe8Fm2.js.map → search-input-iS3IW0Qo.js.map} +1 -1
  549. package/dist/{select-BFHGp0Gs.cjs → select-Cnf7ilWA.cjs} +2 -2
  550. package/dist/{select-BFHGp0Gs.cjs.map → select-Cnf7ilWA.cjs.map} +1 -1
  551. package/dist/{select-CzDDdAMs.js → select-DN0-Usy1.js} +2 -2
  552. package/dist/{select-CzDDdAMs.js.map → select-DN0-Usy1.js.map} +1 -1
  553. package/dist/{side-dialog-CUmxpQRz.js → side-dialog-Qyfm7rKU.js} +4 -4
  554. package/dist/{side-dialog-CUmxpQRz.js.map → side-dialog-Qyfm7rKU.js.map} +1 -1
  555. package/dist/{side-dialog-CJC2Tj0i.cjs → side-dialog-tOsly_KZ.cjs} +4 -4
  556. package/dist/{side-dialog-CJC2Tj0i.cjs.map → side-dialog-tOsly_KZ.cjs.map} +1 -1
  557. package/dist/{span-payload-primitives-BlmorE-u.cjs → span-payload-primitives-DqZn_Q29.cjs} +2 -2
  558. package/dist/{span-payload-primitives-BlmorE-u.cjs.map → span-payload-primitives-DqZn_Q29.cjs.map} +1 -1
  559. package/dist/{span-payload-primitives-DCho2ZIs.js → span-payload-primitives-wxQ0IDhF.js} +2 -2
  560. package/dist/{span-payload-primitives-DCho2ZIs.js.map → span-payload-primitives-wxQ0IDhF.js.map} +1 -1
  561. package/dist/src/domains/capabilities/index.d.ts +1 -1
  562. package/dist/src/domains/traces/hooks/use-trace-filter-persistence.d.ts +5 -1
  563. package/dist/src/domains/traces/trace-filters.d.ts +6 -3
  564. package/dist/src/domains/traces/trace-query-filters.d.ts +3 -1
  565. package/dist/src/ds/components/Button/Button.d.ts +2 -0
  566. package/dist/src/ds/components/FilterBar/use-value-step.d.ts +10 -6
  567. package/dist/src/ds/components/ThinkingLevel/thinking-level-picker.d.ts +9 -1
  568. package/dist/src/ds/new/layout/page-header/page-header-root.d.ts +4 -2
  569. package/dist/style.css +12 -0
  570. package/dist/{tabs-tab-rYy3Vtvm.cjs → tabs-tab-D5ilwDSA.cjs} +2 -2
  571. package/dist/{tabs-tab-rYy3Vtvm.cjs.map → tabs-tab-D5ilwDSA.cjs.map} +1 -1
  572. package/dist/{tabs-tab-BvPKLjyo.js → tabs-tab-sxXpEPLh.js} +2 -2
  573. package/dist/{tabs-tab-BvPKLjyo.js.map → tabs-tab-sxXpEPLh.js.map} +1 -1
  574. package/dist/{thread-list-Dj-L1-NP.cjs → thread-list-8dSs2FNI.cjs} +2 -2
  575. package/dist/{thread-list-Dj-L1-NP.cjs.map → thread-list-8dSs2FNI.cjs.map} +1 -1
  576. package/dist/{thread-list-DwGHKNEn.js → thread-list-Belzl58i.js} +2 -2
  577. package/dist/{thread-list-DwGHKNEn.js.map → thread-list-Belzl58i.js.map} +1 -1
  578. package/dist/{time-picker-CmXQ_gAe.cjs → time-picker-876yLgUN.cjs} +2 -2
  579. package/dist/{time-picker-CmXQ_gAe.cjs.map → time-picker-876yLgUN.cjs.map} +1 -1
  580. package/dist/{time-picker-BovSnZzV.js → time-picker-BWarCKzE.js} +2 -2
  581. package/dist/{time-picker-BovSnZzV.js.map → time-picker-BWarCKzE.js.map} +1 -1
  582. package/dist/{tool-approval-5-OydkZ3.js → tool-approval-BabMPJSL.js} +3 -3
  583. package/dist/{tool-approval-5-OydkZ3.js.map → tool-approval-BabMPJSL.js.map} +1 -1
  584. package/dist/{tool-approval-oCaL8VoJ.cjs → tool-approval-CWOuZz47.cjs} +3 -3
  585. package/dist/{tool-approval-oCaL8VoJ.cjs.map → tool-approval-CWOuZz47.cjs.map} +1 -1
  586. package/dist/{tool-call-arguments-C76bEiB4.cjs → tool-call-arguments-D_59g8vR.cjs} +3 -3
  587. package/dist/{tool-call-arguments-C76bEiB4.cjs.map → tool-call-arguments-D_59g8vR.cjs.map} +1 -1
  588. package/dist/{tool-call-arguments-BWD0lShJ.js → tool-call-arguments-fd023vLB.js} +3 -3
  589. package/dist/{tool-call-arguments-BWD0lShJ.js.map → tool-call-arguments-fd023vLB.js.map} +1 -1
  590. package/dist/{tool-call-mono-DKg1LlPc.cjs → tool-call-mono-BrQxLrvE.cjs} +2 -2
  591. package/dist/{tool-call-mono-DKg1LlPc.cjs.map → tool-call-mono-BrQxLrvE.cjs.map} +1 -1
  592. package/dist/{tool-call-mono-D_2EN3gC.js → tool-call-mono-D0V_wI07.js} +2 -2
  593. package/dist/{tool-call-mono-D_2EN3gC.js.map → tool-call-mono-D0V_wI07.js.map} +1 -1
  594. package/dist/{tool-call-output-CWMj5m4d.js → tool-call-output-BAel_ixd.js} +2 -2
  595. package/dist/{tool-call-output-CWMj5m4d.js.map → tool-call-output-BAel_ixd.js.map} +1 -1
  596. package/dist/{tool-call-output-BOvcdKkE.cjs → tool-call-output-C5PqIAC1.cjs} +2 -2
  597. package/dist/{tool-call-output-BOvcdKkE.cjs.map → tool-call-output-C5PqIAC1.cjs.map} +1 -1
  598. package/dist/{tool-card-BMbGwgpE.js → tool-card-D-w1SgXq.js} +4 -4
  599. package/dist/{tool-card-BMbGwgpE.js.map → tool-card-D-w1SgXq.js.map} +1 -1
  600. package/dist/{tool-card-DC0HF9cD.cjs → tool-card-LNK49o-E.cjs} +4 -4
  601. package/dist/{tool-card-DC0HF9cD.cjs.map → tool-card-LNK49o-E.cjs.map} +1 -1
  602. package/dist/{trace-filters-Cvo41yor.cjs → trace-filters-B9myZP-l.cjs} +64 -52
  603. package/dist/trace-filters-B9myZP-l.cjs.map +1 -0
  604. package/dist/{trace-filters-dZ3rnTH3.js → trace-filters-Cvra0Aum.js} +64 -52
  605. package/dist/trace-filters-Cvra0Aum.js.map +1 -0
  606. package/dist/{traces-data-list-BckeY4Ro.js → traces-data-list-C89IFLf8.js} +2 -2
  607. package/dist/{traces-data-list-BckeY4Ro.js.map → traces-data-list-C89IFLf8.js.map} +1 -1
  608. package/dist/{traces-data-list-CneTHNqI.cjs → traces-data-list-DRSy_7KT.cjs} +2 -2
  609. package/dist/{traces-data-list-CneTHNqI.cjs.map → traces-data-list-DRSy_7KT.cjs.map} +1 -1
  610. package/dist/{use-workflow-graph-runtime-bj7VLhz_.cjs → use-workflow-graph-runtime-FHoQYtWa.cjs} +3 -3
  611. package/dist/{use-workflow-graph-runtime-bj7VLhz_.cjs.map → use-workflow-graph-runtime-FHoQYtWa.cjs.map} +1 -1
  612. package/dist/{use-workflow-graph-runtime-CR0rDgyB.js → use-workflow-graph-runtime-XT_aoo-Z.js} +3 -3
  613. package/dist/{use-workflow-graph-runtime-CR0rDgyB.js.map → use-workflow-graph-runtime-XT_aoo-Z.js.map} +1 -1
  614. package/dist/{workflow-code-dialog-content-PM6SdYjA.cjs → workflow-code-dialog-content-BP55qUnT.cjs} +3 -3
  615. package/dist/{workflow-code-dialog-content-PM6SdYjA.cjs.map → workflow-code-dialog-content-BP55qUnT.cjs.map} +1 -1
  616. package/dist/{workflow-code-dialog-content-DulChA9c.js → workflow-code-dialog-content-CmnuHQzF.js} +3 -3
  617. package/dist/{workflow-code-dialog-content-DulChA9c.js.map → workflow-code-dialog-content-CmnuHQzF.js.map} +1 -1
  618. package/dist/{workflow-condition-card-Jz9a_WTL.js → workflow-condition-card-D30tufXt.js} +3 -3
  619. package/dist/{workflow-condition-card-Jz9a_WTL.js.map → workflow-condition-card-D30tufXt.js.map} +1 -1
  620. package/dist/{workflow-condition-card-Cva9h6Za.cjs → workflow-condition-card-Dy-0c_PT.cjs} +3 -3
  621. package/dist/{workflow-condition-card-Cva9h6Za.cjs.map → workflow-condition-card-Dy-0c_PT.cjs.map} +1 -1
  622. package/dist/{workflow-data-edge-view-DGgf7oiq.cjs → workflow-data-edge-view-AMALwkid.cjs} +2 -2
  623. package/dist/{workflow-data-edge-view-DGgf7oiq.cjs.map → workflow-data-edge-view-AMALwkid.cjs.map} +1 -1
  624. package/dist/{workflow-data-edge-view-Bm9lzG6l.js → workflow-data-edge-view-vb3nHPsI.js} +2 -2
  625. package/dist/{workflow-data-edge-view-Bm9lzG6l.js.map → workflow-data-edge-view-vb3nHPsI.js.map} +1 -1
  626. package/dist/{workflow-debug-controls-CTONMgJw.cjs → workflow-debug-controls-BHsYftQx.cjs} +2 -2
  627. package/dist/{workflow-debug-controls-CTONMgJw.cjs.map → workflow-debug-controls-BHsYftQx.cjs.map} +1 -1
  628. package/dist/{workflow-debug-controls-RqL-k3Mm.js → workflow-debug-controls-VGOzv5eL.js} +2 -2
  629. package/dist/{workflow-debug-controls-RqL-k3Mm.js.map → workflow-debug-controls-VGOzv5eL.js.map} +1 -1
  630. package/dist/{workflow-edge-data-button-BOX0QYw3.js → workflow-edge-data-button-D-XKNKj_.js} +4 -4
  631. package/dist/{workflow-edge-data-button-BOX0QYw3.js.map → workflow-edge-data-button-D-XKNKj_.js.map} +1 -1
  632. package/dist/{workflow-edge-data-button-0J0U0_IH.cjs → workflow-edge-data-button-ETNa_T9p.cjs} +4 -4
  633. package/dist/{workflow-edge-data-button-0J0U0_IH.cjs.map → workflow-edge-data-button-ETNa_T9p.cjs.map} +1 -1
  634. package/dist/{workflow-step-action-Bh8ie_d0.cjs → workflow-step-action-CDBpEltB.cjs} +2 -2
  635. package/dist/{workflow-step-action-Bh8ie_d0.cjs.map → workflow-step-action-CDBpEltB.cjs.map} +1 -1
  636. package/dist/{workflow-step-action-CDCo6X1b.js → workflow-step-action-Dnf3HqLP.js} +2 -2
  637. package/dist/{workflow-step-action-CDCo6X1b.js.map → workflow-step-action-Dnf3HqLP.js.map} +1 -1
  638. package/package.json +10 -10
  639. package/dist/Button-BTuu6_hv.cjs.map +0 -1
  640. package/dist/Button-D76HGlPP.js.map +0 -1
  641. package/dist/filter-bar-chip-CYuMQS_q.cjs.map +0 -1
  642. package/dist/filter-bar-chip-fXsAVwGZ.js.map +0 -1
  643. package/dist/page-header-B7iNJsvN.cjs.map +0 -1
  644. package/dist/page-header-BELC4V_d.js.map +0 -1
  645. package/dist/trace-filters-Cvo41yor.cjs.map +0 -1
  646. package/dist/trace-filters-dZ3rnTH3.js.map +0 -1
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const workflowCanvasInset = require('../workflow-canvas-inset-CMasaX9u.cjs');
6
- const workflowConditionCard = require('../workflow-condition-card-Cva9h6Za.cjs');
7
- const workflowCodeDialogContent = require('../workflow-code-dialog-content-PM6SdYjA.cjs');
8
- const workflowEdgeDataButton = require('../workflow-edge-data-button-0J0U0_IH.cjs');
6
+ const workflowConditionCard = require('../workflow-condition-card-Dy-0c_PT.cjs');
7
+ const workflowCodeDialogContent = require('../workflow-code-dialog-content-BP55qUnT.cjs');
8
+ const workflowEdgeDataButton = require('../workflow-edge-data-button-ETNa_T9p.cjs');
9
9
  const types = require('../types-1cBe2TOn.cjs');
10
- const workflowDataEdgeView = require('../workflow-data-edge-view-DGgf7oiq.cjs');
11
- const workflowDebugControls = require('../workflow-debug-controls-CTONMgJw.cjs');
10
+ const workflowDataEdgeView = require('../workflow-data-edge-view-AMALwkid.cjs');
11
+ const workflowDebugControls = require('../workflow-debug-controls-BHsYftQx.cjs');
12
12
  const workflowGraphPlaceholder = require('../workflow-graph-placeholder-Dy6rewSw.cjs');
13
- const workflowStepAction = require('../workflow-step-action-Bh8ie_d0.cjs');
13
+ const workflowStepAction = require('../workflow-step-action-CDBpEltB.cjs');
14
14
 
15
15
 
16
16
 
@@ -1,10 +1,10 @@
1
1
  export { W as WorkflowCanvasInsetContext, w as workflowFitOptions } from '../workflow-canvas-inset-23mBz2N6.js';
2
- export { B as BADGE_COLORS, a as BADGE_ICONS, W as WorkflowBoundaryNode, b as WorkflowClock, c as WorkflowConditionCard, d as WorkflowConditionCardView, e as WorkflowGraphCanvas, f as WorkflowNodeFrame, g as WorkflowStepCardView, h as WorkflowTypeBadge, i as getConditionIconAndColor, j as getConditionIndicator, k as getNodeBadgeInfo, l as getNodeIndicators } from '../workflow-condition-card-Jz9a_WTL.js';
3
- export { W as WorkflowCodeContent } from '../workflow-code-dialog-content-DulChA9c.js';
4
- export { W as WorkflowEdgeDataButton } from '../workflow-edge-data-button-BOX0QYw3.js';
2
+ export { B as BADGE_COLORS, a as BADGE_ICONS, W as WorkflowBoundaryNode, b as WorkflowClock, c as WorkflowConditionCard, d as WorkflowConditionCardView, e as WorkflowGraphCanvas, f as WorkflowNodeFrame, g as WorkflowStepCardView, h as WorkflowTypeBadge, i as getConditionIconAndColor, j as getConditionIndicator, k as getNodeBadgeInfo, l as getNodeIndicators } from '../workflow-condition-card-D30tufXt.js';
3
+ export { W as WorkflowCodeContent } from '../workflow-code-dialog-content-CmnuHQzF.js';
4
+ export { W as WorkflowEdgeDataButton } from '../workflow-edge-data-button-D-XKNKj_.js';
5
5
  export { W as WORKFLOW_BOUNDARY_NODE_TYPE, a as WORKFLOW_DATA_EDGE_TYPE } from '../types-CvneO3z0.js';
6
- export { W as WorkflowDataEdgeView } from '../workflow-data-edge-view-Bm9lzG6l.js';
7
- export { W as WorkflowDebugControls } from '../workflow-debug-controls-RqL-k3Mm.js';
6
+ export { W as WorkflowDataEdgeView } from '../workflow-data-edge-view-vb3nHPsI.js';
7
+ export { W as WorkflowDebugControls } from '../workflow-debug-controls-VGOzv5eL.js';
8
8
  export { W as WorkflowGraphPlaceholder } from '../workflow-graph-placeholder-CEmqBy8j.js';
9
- export { W as WorkflowStepAction, a as WorkflowStepActions } from '../workflow-step-action-CDCo6X1b.js';
9
+ export { W as WorkflowStepAction, a as WorkflowStepActions } from '../workflow-step-action-Dnf3HqLP.js';
10
10
  //# sourceMappingURL=Workflow.es.js.map
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const activity = require('../../activity-pXCpwxxi.cjs');
6
6
  const notificationActivity = require('../../notification-activity-Bz0h5LOR.cjs');
7
- const reasoningActivity = require('../../reasoning-activity-dSUBYE37.cjs');
7
+ const reasoningActivity = require('../../reasoning-activity-D2sXBAxE.cjs');
8
8
  const reasoningVisibility = require('../../reasoning-visibility-DXho4jGC.cjs');
9
9
  const signalActivity = require('../../signal-activity-Rh1YO0x6.cjs');
10
10
 
@@ -1,6 +1,6 @@
1
1
  export { A as Activity, a as ActivityContent, b as ActivityDetail, c as ActivityDisclosure, d as ActivityHeader, e as ActivityHeadline, f as ActivityIcon, g as ActivityItem, h as ActivityLabel, i as ActivityLeading, j as ActivitySpacer, k as ActivitySummary, l as ActivityTrailing, m as ActivityTrigger } from '../../activity-maXCNWZp.js';
2
2
  export { N as NotificationActivity } from '../../notification-activity-DTXzghFr.js';
3
- export { R as ReasoningActivity } from '../../reasoning-activity-Cuk7KOLH.js';
3
+ export { R as ReasoningActivity } from '../../reasoning-activity-Cpp4iYTw.js';
4
4
  export { h as hasVisibleReasoning } from '../../reasoning-visibility-B9rA0AIj.js';
5
5
  export { S as SignalActivity } from '../../signal-activity-CtSExTzh.js';
6
6
  //# sourceMappingURL=activity.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const askUserCard = require('../../ask-user-card-DBnVT9H_.cjs');
5
+ const askUserCard = require('../../ask-user-card-C14RGsoO.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { A as AskUser, a as AskUserBody, b as AskUserContainer, c as AskUserCustomAnswer, d as AskUserLabel, e as AskUserOptionItem, f as AskUserOptionRow, g as AskUserOptions, h as AskUserOutput, i as AskUserPending, j as AskUserQuestion, k as AskUserRoot, l as AskUserSubmit, m as AskUserTextAnswer, a as Body, c as CustomAnswer, e as Option, g as Options, h as Output, i as Pending, j as Question, k as Root, l as Submit, m as TextAnswer } from '../../ask-user-card-Dt8r5Zaj.js';
1
+ export { A as AskUser, a as AskUserBody, b as AskUserContainer, c as AskUserCustomAnswer, d as AskUserLabel, e as AskUserOptionItem, f as AskUserOptionRow, g as AskUserOptions, h as AskUserOutput, i as AskUserPending, j as AskUserQuestion, k as AskUserRoot, l as AskUserSubmit, m as AskUserTextAnswer, a as Body, c as CustomAnswer, e as Option, g as Options, h as Output, i as Pending, j as Question, k as Root, l as Submit, m as TextAnswer } from '../../ask-user-card-C01JQ7bo.js';
2
2
  //# sourceMappingURL=ask-user.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const plan = require('../../plan-CneICd0O.cjs');
5
+ const plan = require('../../plan-D6dxWNaj.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { P as Plan, a as PlanActionGroup, b as PlanBody, c as PlanContent, d as PlanControls, e as PlanCopyButton, f as PlanExpandButton, g as PlanFile, h as PlanHeader, i as PlanHeaderActions, j as PlanIntro, k as PlanLabel, l as PlanMain, m as PlanPath, n as PlanStatus, o as PlanTitle } from '../../plan-HG66GE5J.js';
1
+ export { P as Plan, a as PlanActionGroup, b as PlanBody, c as PlanContent, d as PlanControls, e as PlanCopyButton, f as PlanExpandButton, g as PlanFile, h as PlanHeader, i as PlanHeaderActions, j as PlanIntro, k as PlanLabel, l as PlanMain, m as PlanPath, n as PlanStatus, o as PlanTitle } from '../../plan-mzZj_aS2.js';
2
2
  //# sourceMappingURL=plan.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const toolApproval = require('../../tool-approval-oCaL8VoJ.cjs');
5
+ const toolApproval = require('../../tool-approval-CWOuZz47.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { T as ToolApproval, a as ToolApprovalActions, b as ToolApprovalStatus } from '../../tool-approval-5-OydkZ3.js';
1
+ export { T as ToolApproval, a as ToolApprovalActions, b as ToolApprovalStatus } from '../../tool-approval-BabMPJSL.js';
2
2
  //# sourceMappingURL=tool-approval.es.js.map
@@ -4,10 +4,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const ansi = require('../../ansi-fAtbeDQN.cjs');
6
6
  const groupConsecutive = require('../../group-consecutive-KN5O6teY.cjs');
7
- const toolCallMono = require('../../tool-call-mono-DKg1LlPc.cjs');
8
- const toolCallArguments = require('../../tool-call-arguments-C76bEiB4.cjs');
7
+ const toolCallMono = require('../../tool-call-mono-BrQxLrvE.cjs');
8
+ const toolCallArguments = require('../../tool-call-arguments-D_59g8vR.cjs');
9
9
  const toolCallGroup = require('../../tool-call-group-BPQTXJST.cjs');
10
- const toolCallOutput = require('../../tool-call-output-BOvcdKkE.cjs');
10
+ const toolCallOutput = require('../../tool-call-output-C5PqIAC1.cjs');
11
11
  const toolPresentation = require('../../tool-presentation-WLS6d1ws.cjs');
12
12
  const jsxRuntime = require('react/jsx-runtime');
13
13
  const utils_dateFormat = require('../../utils/date-format.cjs.js');
@@ -1,9 +1,9 @@
1
1
  export { a as stripAnsi, s as stripSerializedAnsi } from '../../ansi-Cq_bKF5J.js';
2
2
  export { T as TOOL_GROUP_MIN, g as groupConsecutive } from '../../group-consecutive-EVLIMgcO.js';
3
- export { T as ToolCallCommand, a as ToolCallMono } from '../../tool-call-mono-D_2EN3gC.js';
4
- export { T as ToolCallArguments, a as ToolCallEdit } from '../../tool-call-arguments-BWD0lShJ.js';
3
+ export { T as ToolCallCommand, a as ToolCallMono } from '../../tool-call-mono-D0V_wI07.js';
4
+ export { T as ToolCallArguments, a as ToolCallEdit } from '../../tool-call-arguments-fd023vLB.js';
5
5
  export { T as ToolCallGroup } from '../../tool-call-group-bE2C2hCK.js';
6
- export { T as ToolCallOutput } from '../../tool-call-output-CWMj5m4d.js';
6
+ export { T as ToolCallOutput } from '../../tool-call-output-BAel_ixd.js';
7
7
  export { h as hasToolArguments, i as isTaskTool, p as presentTool, s as stringifyToolValue, t as toolEdit, v as visibleToolArgumentsText } from '../../tool-presentation-BXAo24Ir.js';
8
8
  import { jsx } from 'react/jsx-runtime';
9
9
  import { toDate, formatDate } from '../../utils/date-format.es.js';
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { CheckIcon, CopyIcon } from 'lucide-react';
3
- import { B as Button } from './Button-D76HGlPP.js';
3
+ import { B as Button } from './Button-MHlMpc97.js';
4
4
  import { useCopyToClipboard } from './hooks/use-copy-to-clipboard.es.js';
5
5
 
6
6
  function CopyButton({
@@ -33,4 +33,4 @@ function CopyButton({
33
33
  }
34
34
 
35
35
  export { CopyButton as C };
36
- //# sourceMappingURL=copy-button-CRWQE6VF.js.map
36
+ //# sourceMappingURL=copy-button-Ddbg9IZn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-button-CRWQE6VF.js","sources":["../src/ds/components/CopyButton/copy-button.tsx"],"sourcesContent":["import { CopyIcon, CheckIcon } from 'lucide-react';\n\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\n\nexport type CopyButtonProps = {\n content: string;\n copyMessage?: string;\n showToast?: boolean;\n tooltip?: string;\n className?: string;\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nexport function CopyButton({\n content,\n copyMessage,\n showToast,\n tooltip = 'Copy to clipboard',\n size = 'sm',\n variant,\n className,\n}: CopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copyMessage,\n showToast,\n });\n\n return (\n <Button\n onClick={handleCopy}\n type=\"button\"\n size={size}\n variant={variant}\n className={className}\n tooltip={isCopied ? 'Copied!' : tooltip}\n aria-label={isCopied ? 'Copied!' : tooltip}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n"],"names":[],"mappings":";;;;;AAgBO,SAAS,UAAA,CAAW;AAAA,EACzB,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA,GAAU,mBAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAClB,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAW,GAAI,kBAAA,CAAmB;AAAA,IAClD,IAAA,EAAM,OAAA;AAAA,IACN,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,UAAA;AAAA,MACT,IAAA,EAAK,QAAA;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAS,WAAW,SAAA,GAAY,OAAA;AAAA,MAChC,YAAA,EAAY,WAAW,SAAA,GAAY,OAAA;AAAA,MAElC,QAAA,EAAA,QAAA,mBAAW,GAAA,CAAC,SAAA,EAAA,EAAU,CAAA,uBAAM,QAAA,EAAA,EAAS;AAAA;AAAA,GACxC;AAEJ;;;;"}
1
+ {"version":3,"file":"copy-button-Ddbg9IZn.js","sources":["../src/ds/components/CopyButton/copy-button.tsx"],"sourcesContent":["import { CopyIcon, CheckIcon } from 'lucide-react';\n\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\n\nexport type CopyButtonProps = {\n content: string;\n copyMessage?: string;\n showToast?: boolean;\n tooltip?: string;\n className?: string;\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nexport function CopyButton({\n content,\n copyMessage,\n showToast,\n tooltip = 'Copy to clipboard',\n size = 'sm',\n variant,\n className,\n}: CopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copyMessage,\n showToast,\n });\n\n return (\n <Button\n onClick={handleCopy}\n type=\"button\"\n size={size}\n variant={variant}\n className={className}\n tooltip={isCopied ? 'Copied!' : tooltip}\n aria-label={isCopied ? 'Copied!' : tooltip}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n"],"names":[],"mappings":";;;;;AAgBO,SAAS,UAAA,CAAW;AAAA,EACzB,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA,GAAU,mBAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAClB,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAW,GAAI,kBAAA,CAAmB;AAAA,IAClD,IAAA,EAAM,OAAA;AAAA,IACN,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,UAAA;AAAA,MACT,IAAA,EAAK,QAAA;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAS,WAAW,SAAA,GAAY,OAAA;AAAA,MAChC,YAAA,EAAY,WAAW,SAAA,GAAY,OAAA;AAAA,MAElC,QAAA,EAAA,QAAA,mBAAW,GAAA,CAAC,SAAA,EAAA,EAAU,CAAA,uBAAM,QAAA,EAAA,EAAS;AAAA;AAAA,GACxC;AAEJ;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const lucideReact = require('lucide-react');
5
- const Button = require('./Button-BTuu6_hv.cjs');
5
+ const Button = require('./Button-BpSkkuzG.cjs');
6
6
  const hooks_useCopyToClipboard = require('./hooks/use-copy-to-clipboard.cjs.js');
7
7
 
8
8
  function CopyButton({
@@ -35,4 +35,4 @@ function CopyButton({
35
35
  }
36
36
 
37
37
  exports.CopyButton = CopyButton;
38
- //# sourceMappingURL=copy-button-Q9i32p1G.cjs.map
38
+ //# sourceMappingURL=copy-button-c9mSgKKR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-button-Q9i32p1G.cjs","sources":["../src/ds/components/CopyButton/copy-button.tsx"],"sourcesContent":["import { CopyIcon, CheckIcon } from 'lucide-react';\n\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\n\nexport type CopyButtonProps = {\n content: string;\n copyMessage?: string;\n showToast?: boolean;\n tooltip?: string;\n className?: string;\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nexport function CopyButton({\n content,\n copyMessage,\n showToast,\n tooltip = 'Copy to clipboard',\n size = 'sm',\n variant,\n className,\n}: CopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copyMessage,\n showToast,\n });\n\n return (\n <Button\n onClick={handleCopy}\n type=\"button\"\n size={size}\n variant={variant}\n className={className}\n tooltip={isCopied ? 'Copied!' : tooltip}\n aria-label={isCopied ? 'Copied!' : tooltip}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n"],"names":["useCopyToClipboard","jsx","Button","CheckIcon","CopyIcon"],"mappings":";;;;;;;AAgBO,SAAS,UAAA,CAAW;AAAA,EACzB,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA,GAAU,mBAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAClB,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAW,GAAIA,2CAAA,CAAmB;AAAA,IAClD,IAAA,EAAM,OAAA;AAAA,IACN,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBACEC,cAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,UAAA;AAAA,MACT,IAAA,EAAK,QAAA;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAS,WAAW,SAAA,GAAY,OAAA;AAAA,MAChC,YAAA,EAAY,WAAW,SAAA,GAAY,OAAA;AAAA,MAElC,QAAA,EAAA,QAAA,mBAAWD,cAAA,CAACE,qBAAA,EAAA,EAAU,CAAA,kCAAMC,oBAAA,EAAA,EAAS;AAAA;AAAA,GACxC;AAEJ;;;;"}
1
+ {"version":3,"file":"copy-button-c9mSgKKR.cjs","sources":["../src/ds/components/CopyButton/copy-button.tsx"],"sourcesContent":["import { CopyIcon, CheckIcon } from 'lucide-react';\n\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\n\nexport type CopyButtonProps = {\n content: string;\n copyMessage?: string;\n showToast?: boolean;\n tooltip?: string;\n className?: string;\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nexport function CopyButton({\n content,\n copyMessage,\n showToast,\n tooltip = 'Copy to clipboard',\n size = 'sm',\n variant,\n className,\n}: CopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copyMessage,\n showToast,\n });\n\n return (\n <Button\n onClick={handleCopy}\n type=\"button\"\n size={size}\n variant={variant}\n className={className}\n tooltip={isCopied ? 'Copied!' : tooltip}\n aria-label={isCopied ? 'Copied!' : tooltip}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n"],"names":["useCopyToClipboard","jsx","Button","CheckIcon","CopyIcon"],"mappings":";;;;;;;AAgBO,SAAS,UAAA,CAAW;AAAA,EACzB,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA,GAAU,mBAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,OAAA;AAAA,EACA;AACF,CAAA,EAAoB;AAClB,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAW,GAAIA,2CAAA,CAAmB;AAAA,IAClD,IAAA,EAAM,OAAA;AAAA,IACN,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBACEC,cAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,UAAA;AAAA,MACT,IAAA,EAAK,QAAA;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAS,WAAW,SAAA,GAAY,OAAA;AAAA,MAChC,YAAA,EAAY,WAAW,SAAA,GAAY,OAAA;AAAA,MAElC,QAAA,EAAA,QAAA,mBAAWD,cAAA,CAACE,qBAAA,EAAA,EAAU,CAAA,kCAAMC,oBAAA,EAAA,EAAS;AAAA;AAAA,GACxC;AAEJ;;;;"}
@@ -3,13 +3,13 @@ import { Chunk } from '@codemirror/merge';
3
3
  import { Text } from '@codemirror/state';
4
4
  import { SearchIcon, AlignLeftIcon, AlignJustifyIcon, ExpandIcon } from 'lucide-react';
5
5
  import { useMemo, useState, useRef, useEffect, useCallback } from 'react';
6
- import { B as Button } from './Button-D76HGlPP.js';
6
+ import { B as Button } from './Button-MHlMpc97.js';
7
7
  import { B as ButtonsGroup } from './buttons-group-BU9ErJSH.js';
8
8
  import { C as Code } from './code-DAXWNzvf.js';
9
- import { C as CopyButton } from './copy-button-CRWQE6VF.js';
9
+ import { C as CopyButton } from './copy-button-Ddbg9IZn.js';
10
10
  import { D as DataPanelSectionHeading } from './data-panel-section-heading-D20aa5uF.js';
11
- import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from './dialog-BXtm6e9u.js';
12
- import { S as SearchInput } from './search-input-DRbe8Fm2.js';
11
+ import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from './dialog-CxFcqD_P.js';
12
+ import { S as SearchInput } from './search-input-iS3IW0Qo.js';
13
13
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
14
14
  import { c as cn } from './cn-coERSHz5.js';
15
15
 
@@ -188,4 +188,4 @@ function containsInnerNewline(obj) {
188
188
  }
189
189
 
190
190
  export { DataCodeSection as D };
191
- //# sourceMappingURL=data-code-section-c2n-IXav.js.map
191
+ //# sourceMappingURL=data-code-section-CvLs4lM8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-code-section-c2n-IXav.js","sources":["../src/ds/components/DataCodeSection/data-code-section.tsx"],"sourcesContent":["import { Chunk } from '@codemirror/merge';\nimport { Text } from '@codemirror/state';\nimport { AlignJustifyIcon, AlignLeftIcon, ExpandIcon, SearchIcon } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { Code } from '@/ds/components/Code/code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataPanelSectionHeading } from '@/ds/components/DataPanel/data-panel-section-heading';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface DataCodeSectionDiff {\n /** The other document to compare against. */\n against: string;\n /** `a` = this document is the \"before\" (changes in red), `b` = \"after\" (changes in green). */\n side: 'a' | 'b';\n}\n\n/** Zero-based indexes of the lines of `doc` that differ from `diff.against`. */\nfunction changedLines(doc: string, { against, side }: DataCodeSectionDiff): Set<number> {\n const [a, b] = side === 'a' ? [doc, against] : [against, doc];\n const text = Text.of(doc.split('\\n'));\n const lines = new Set<number>();\n for (const chunk of Chunk.build(Text.of(a.split('\\n')), Text.of(b.split('\\n')))) {\n const from = side === 'a' ? chunk.fromA : chunk.fromB;\n const to = side === 'a' ? chunk.endA : chunk.endB;\n if (from >= to) continue;\n for (let pos = from; pos <= Math.min(to, text.length);) {\n const line = text.lineAt(pos);\n lines.add(line.number - 1);\n if (line.to >= to) break;\n pos = line.to + 1;\n }\n }\n return lines;\n}\n\nconst diffLineStyles = {\n removed: 'code-diff-removed bg-destructive-subtle',\n added: 'code-diff-added bg-success-subtle',\n};\nconst searchMatchStyle = 'code-search-match rounded-sm bg-badge-amber-strong';\n\ninterface CodeViewProps {\n code: string;\n changed?: Set<number>;\n diffSide?: DataCodeSectionDiff['side'];\n searchQuery: string;\n}\n\nfunction CodeView({ code, changed, diffSide, searchQuery }: CodeViewProps) {\n const ref = useRef<HTMLDivElement>(null);\n const query = searchQuery.toLowerCase();\n\n useEffect(() => {\n if (query) ref.current?.querySelector('.code-search-match')?.scrollIntoView({ block: 'nearest' });\n }, [query]);\n\n const lineClassName = useCallback(\n (index: number, text: string) => {\n const classes: string[] = [];\n if (diffSide && changed?.has(index)) classes.push(diffLineStyles[diffSide === 'a' ? 'removed' : 'added']);\n if (query && text.toLowerCase().includes(query)) classes.push(searchMatchStyle);\n return classes.length ? classes.join(' ') : undefined;\n },\n [changed, diffSide, query],\n );\n\n return (\n <div ref={ref}>\n <Code\n code={code}\n lang=\"json\"\n lineClassName={lineClassName}\n className=\"font-mono text-caption break-all whitespace-pre-wrap\"\n />\n </div>\n );\n}\n\nexport interface DataCodeSectionProps {\n title: React.ReactNode;\n dialogTitle?: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Highlight lines that differ from another document. */\n diff?: DataCodeSectionDiff;\n /** Extra controls rendered in the header, before the built-in copy/expand buttons. */\n actions?: React.ReactNode;\n}\n\nexport function DataCodeSection({\n codeStr = '',\n title,\n dialogTitle,\n icon,\n simplified = false,\n className,\n diff,\n actions,\n}: DataCodeSectionProps) {\n const changed = useMemo(() => (diff ? changedLines(codeStr, diff) : undefined), [codeStr, diff]);\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const [searchMinimized, setSearchMinimized] = useState(true);\n const [searchQuery, setSearchQuery] = useState('');\n const [expandedOpen, setExpandedOpen] = useState(false);\n const [expandedSearchQuery, setExpandedSearchQuery] = useState('');\n const [expandedMultiline, setExpandedMultiline] = useState(false);\n\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const expandedFinalCodeStr = expandedMultiline ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <DataPanelSectionHeading icon={icon}>{title}</DataPanelSectionHeading>\n <div className=\"flex items-center gap-2\">\n {actions}\n {!usePlainTextView &&\n (searchMinimized ? (\n <Button\n size=\"sm\"\n aria-label=\"Search code\"\n tooltip=\"Search code\"\n onClick={() => setSearchMinimized(false)}\n >\n <SearchIcon />\n </Button>\n ) : (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={searchQuery}\n onValueChange={setSearchQuery}\n onClose={() => setSearchMinimized(true)}\n autoFocus\n />\n ))}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <Button aria-label=\"Expand\" tooltip=\"Expand\" onClick={() => setExpandedOpen(true)}>\n <ExpandIcon />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={searchQuery} />\n )}\n </div>\n\n <Dialog open={expandedOpen} onOpenChange={setExpandedOpen}>\n <DialogContent size=\"full\">\n <DialogHeader>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DialogTitle className=\"flex min-w-0 items-center gap-1.5 truncate [&>svg]:size-3.5\">\n {dialogTitle ?? (\n <>\n {icon}\n {title}\n </>\n )}\n </DialogTitle>\n <div className=\"flex shrink-0 items-center gap-2\">\n {!expandedMultiline && (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={expandedSearchQuery}\n onValueChange={setExpandedSearchQuery}\n />\n )}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setExpandedMultiline(v => !v)}\n >\n {expandedMultiline ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n </DialogHeader>\n <DialogBody layout=\"fill\">\n <div className=\"min-h-0 flex-1 overflow-auto\">\n {expandedMultiline ? (\n <div className={cn(raisedSurfaceStyle, 'rounded-lg p-3 text-caption break-all text-muted-foreground')}>\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{expandedFinalCodeStr}</pre>\n </div>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={expandedSearchQuery} />\n )}\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-code-section-CvLs4lM8.js","sources":["../src/ds/components/DataCodeSection/data-code-section.tsx"],"sourcesContent":["import { Chunk } from '@codemirror/merge';\nimport { Text } from '@codemirror/state';\nimport { AlignJustifyIcon, AlignLeftIcon, ExpandIcon, SearchIcon } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { Code } from '@/ds/components/Code/code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataPanelSectionHeading } from '@/ds/components/DataPanel/data-panel-section-heading';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface DataCodeSectionDiff {\n /** The other document to compare against. */\n against: string;\n /** `a` = this document is the \"before\" (changes in red), `b` = \"after\" (changes in green). */\n side: 'a' | 'b';\n}\n\n/** Zero-based indexes of the lines of `doc` that differ from `diff.against`. */\nfunction changedLines(doc: string, { against, side }: DataCodeSectionDiff): Set<number> {\n const [a, b] = side === 'a' ? [doc, against] : [against, doc];\n const text = Text.of(doc.split('\\n'));\n const lines = new Set<number>();\n for (const chunk of Chunk.build(Text.of(a.split('\\n')), Text.of(b.split('\\n')))) {\n const from = side === 'a' ? chunk.fromA : chunk.fromB;\n const to = side === 'a' ? chunk.endA : chunk.endB;\n if (from >= to) continue;\n for (let pos = from; pos <= Math.min(to, text.length);) {\n const line = text.lineAt(pos);\n lines.add(line.number - 1);\n if (line.to >= to) break;\n pos = line.to + 1;\n }\n }\n return lines;\n}\n\nconst diffLineStyles = {\n removed: 'code-diff-removed bg-destructive-subtle',\n added: 'code-diff-added bg-success-subtle',\n};\nconst searchMatchStyle = 'code-search-match rounded-sm bg-badge-amber-strong';\n\ninterface CodeViewProps {\n code: string;\n changed?: Set<number>;\n diffSide?: DataCodeSectionDiff['side'];\n searchQuery: string;\n}\n\nfunction CodeView({ code, changed, diffSide, searchQuery }: CodeViewProps) {\n const ref = useRef<HTMLDivElement>(null);\n const query = searchQuery.toLowerCase();\n\n useEffect(() => {\n if (query) ref.current?.querySelector('.code-search-match')?.scrollIntoView({ block: 'nearest' });\n }, [query]);\n\n const lineClassName = useCallback(\n (index: number, text: string) => {\n const classes: string[] = [];\n if (diffSide && changed?.has(index)) classes.push(diffLineStyles[diffSide === 'a' ? 'removed' : 'added']);\n if (query && text.toLowerCase().includes(query)) classes.push(searchMatchStyle);\n return classes.length ? classes.join(' ') : undefined;\n },\n [changed, diffSide, query],\n );\n\n return (\n <div ref={ref}>\n <Code\n code={code}\n lang=\"json\"\n lineClassName={lineClassName}\n className=\"font-mono text-caption break-all whitespace-pre-wrap\"\n />\n </div>\n );\n}\n\nexport interface DataCodeSectionProps {\n title: React.ReactNode;\n dialogTitle?: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Highlight lines that differ from another document. */\n diff?: DataCodeSectionDiff;\n /** Extra controls rendered in the header, before the built-in copy/expand buttons. */\n actions?: React.ReactNode;\n}\n\nexport function DataCodeSection({\n codeStr = '',\n title,\n dialogTitle,\n icon,\n simplified = false,\n className,\n diff,\n actions,\n}: DataCodeSectionProps) {\n const changed = useMemo(() => (diff ? changedLines(codeStr, diff) : undefined), [codeStr, diff]);\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const [searchMinimized, setSearchMinimized] = useState(true);\n const [searchQuery, setSearchQuery] = useState('');\n const [expandedOpen, setExpandedOpen] = useState(false);\n const [expandedSearchQuery, setExpandedSearchQuery] = useState('');\n const [expandedMultiline, setExpandedMultiline] = useState(false);\n\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const expandedFinalCodeStr = expandedMultiline ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <DataPanelSectionHeading icon={icon}>{title}</DataPanelSectionHeading>\n <div className=\"flex items-center gap-2\">\n {actions}\n {!usePlainTextView &&\n (searchMinimized ? (\n <Button\n size=\"sm\"\n aria-label=\"Search code\"\n tooltip=\"Search code\"\n onClick={() => setSearchMinimized(false)}\n >\n <SearchIcon />\n </Button>\n ) : (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={searchQuery}\n onValueChange={setSearchQuery}\n onClose={() => setSearchMinimized(true)}\n autoFocus\n />\n ))}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <Button aria-label=\"Expand\" tooltip=\"Expand\" onClick={() => setExpandedOpen(true)}>\n <ExpandIcon />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={searchQuery} />\n )}\n </div>\n\n <Dialog open={expandedOpen} onOpenChange={setExpandedOpen}>\n <DialogContent size=\"full\">\n <DialogHeader>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DialogTitle className=\"flex min-w-0 items-center gap-1.5 truncate [&>svg]:size-3.5\">\n {dialogTitle ?? (\n <>\n {icon}\n {title}\n </>\n )}\n </DialogTitle>\n <div className=\"flex shrink-0 items-center gap-2\">\n {!expandedMultiline && (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={expandedSearchQuery}\n onValueChange={setExpandedSearchQuery}\n />\n )}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setExpandedMultiline(v => !v)}\n >\n {expandedMultiline ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n </DialogHeader>\n <DialogBody layout=\"fill\">\n <div className=\"min-h-0 flex-1 overflow-auto\">\n {expandedMultiline ? (\n <div className={cn(raisedSurfaceStyle, 'rounded-lg p-3 text-caption break-all text-muted-foreground')}>\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{expandedFinalCodeStr}</pre>\n </div>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={expandedSearchQuery} />\n )}\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ const merge = require('@codemirror/merge');
5
5
  const state = require('@codemirror/state');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
- const Button = require('./Button-BTuu6_hv.cjs');
8
+ const Button = require('./Button-BpSkkuzG.cjs');
9
9
  const buttonsGroup = require('./buttons-group-C2lPe7sm.cjs');
10
10
  const code = require('./code-Dcah35Gp.cjs');
11
- const copyButton = require('./copy-button-Q9i32p1G.cjs');
11
+ const copyButton = require('./copy-button-c9mSgKKR.cjs');
12
12
  const dataPanelSectionHeading = require('./data-panel-section-heading-CePIkoDI.cjs');
13
- const dialog = require('./dialog-Bl_yLOAi.cjs');
14
- const searchInput = require('./search-input-C_PutmWo.cjs');
13
+ const dialog = require('./dialog-Cn-8vN46.cjs');
14
+ const searchInput = require('./search-input-CUGl4cVg.cjs');
15
15
  const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
16
16
  const utils_cn = require('./cn-TqD01zH-.cjs');
17
17
 
@@ -190,4 +190,4 @@ function containsInnerNewline(obj) {
190
190
  }
191
191
 
192
192
  exports.DataCodeSection = DataCodeSection;
193
- //# sourceMappingURL=data-code-section-CDH9qfwl.cjs.map
193
+ //# sourceMappingURL=data-code-section-D0NR1REP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-code-section-CDH9qfwl.cjs","sources":["../src/ds/components/DataCodeSection/data-code-section.tsx"],"sourcesContent":["import { Chunk } from '@codemirror/merge';\nimport { Text } from '@codemirror/state';\nimport { AlignJustifyIcon, AlignLeftIcon, ExpandIcon, SearchIcon } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { Code } from '@/ds/components/Code/code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataPanelSectionHeading } from '@/ds/components/DataPanel/data-panel-section-heading';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface DataCodeSectionDiff {\n /** The other document to compare against. */\n against: string;\n /** `a` = this document is the \"before\" (changes in red), `b` = \"after\" (changes in green). */\n side: 'a' | 'b';\n}\n\n/** Zero-based indexes of the lines of `doc` that differ from `diff.against`. */\nfunction changedLines(doc: string, { against, side }: DataCodeSectionDiff): Set<number> {\n const [a, b] = side === 'a' ? [doc, against] : [against, doc];\n const text = Text.of(doc.split('\\n'));\n const lines = new Set<number>();\n for (const chunk of Chunk.build(Text.of(a.split('\\n')), Text.of(b.split('\\n')))) {\n const from = side === 'a' ? chunk.fromA : chunk.fromB;\n const to = side === 'a' ? chunk.endA : chunk.endB;\n if (from >= to) continue;\n for (let pos = from; pos <= Math.min(to, text.length);) {\n const line = text.lineAt(pos);\n lines.add(line.number - 1);\n if (line.to >= to) break;\n pos = line.to + 1;\n }\n }\n return lines;\n}\n\nconst diffLineStyles = {\n removed: 'code-diff-removed bg-destructive-subtle',\n added: 'code-diff-added bg-success-subtle',\n};\nconst searchMatchStyle = 'code-search-match rounded-sm bg-badge-amber-strong';\n\ninterface CodeViewProps {\n code: string;\n changed?: Set<number>;\n diffSide?: DataCodeSectionDiff['side'];\n searchQuery: string;\n}\n\nfunction CodeView({ code, changed, diffSide, searchQuery }: CodeViewProps) {\n const ref = useRef<HTMLDivElement>(null);\n const query = searchQuery.toLowerCase();\n\n useEffect(() => {\n if (query) ref.current?.querySelector('.code-search-match')?.scrollIntoView({ block: 'nearest' });\n }, [query]);\n\n const lineClassName = useCallback(\n (index: number, text: string) => {\n const classes: string[] = [];\n if (diffSide && changed?.has(index)) classes.push(diffLineStyles[diffSide === 'a' ? 'removed' : 'added']);\n if (query && text.toLowerCase().includes(query)) classes.push(searchMatchStyle);\n return classes.length ? classes.join(' ') : undefined;\n },\n [changed, diffSide, query],\n );\n\n return (\n <div ref={ref}>\n <Code\n code={code}\n lang=\"json\"\n lineClassName={lineClassName}\n className=\"font-mono text-caption break-all whitespace-pre-wrap\"\n />\n </div>\n );\n}\n\nexport interface DataCodeSectionProps {\n title: React.ReactNode;\n dialogTitle?: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Highlight lines that differ from another document. */\n diff?: DataCodeSectionDiff;\n /** Extra controls rendered in the header, before the built-in copy/expand buttons. */\n actions?: React.ReactNode;\n}\n\nexport function DataCodeSection({\n codeStr = '',\n title,\n dialogTitle,\n icon,\n simplified = false,\n className,\n diff,\n actions,\n}: DataCodeSectionProps) {\n const changed = useMemo(() => (diff ? changedLines(codeStr, diff) : undefined), [codeStr, diff]);\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const [searchMinimized, setSearchMinimized] = useState(true);\n const [searchQuery, setSearchQuery] = useState('');\n const [expandedOpen, setExpandedOpen] = useState(false);\n const [expandedSearchQuery, setExpandedSearchQuery] = useState('');\n const [expandedMultiline, setExpandedMultiline] = useState(false);\n\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const expandedFinalCodeStr = expandedMultiline ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <DataPanelSectionHeading icon={icon}>{title}</DataPanelSectionHeading>\n <div className=\"flex items-center gap-2\">\n {actions}\n {!usePlainTextView &&\n (searchMinimized ? (\n <Button\n size=\"sm\"\n aria-label=\"Search code\"\n tooltip=\"Search code\"\n onClick={() => setSearchMinimized(false)}\n >\n <SearchIcon />\n </Button>\n ) : (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={searchQuery}\n onValueChange={setSearchQuery}\n onClose={() => setSearchMinimized(true)}\n autoFocus\n />\n ))}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <Button aria-label=\"Expand\" tooltip=\"Expand\" onClick={() => setExpandedOpen(true)}>\n <ExpandIcon />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={searchQuery} />\n )}\n </div>\n\n <Dialog open={expandedOpen} onOpenChange={setExpandedOpen}>\n <DialogContent size=\"full\">\n <DialogHeader>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DialogTitle className=\"flex min-w-0 items-center gap-1.5 truncate [&>svg]:size-3.5\">\n {dialogTitle ?? (\n <>\n {icon}\n {title}\n </>\n )}\n </DialogTitle>\n <div className=\"flex shrink-0 items-center gap-2\">\n {!expandedMultiline && (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={expandedSearchQuery}\n onValueChange={setExpandedSearchQuery}\n />\n )}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setExpandedMultiline(v => !v)}\n >\n {expandedMultiline ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n </DialogHeader>\n <DialogBody layout=\"fill\">\n <div className=\"min-h-0 flex-1 overflow-auto\">\n {expandedMultiline ? (\n <div className={cn(raisedSurfaceStyle, 'rounded-lg p-3 text-caption break-all text-muted-foreground')}>\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{expandedFinalCodeStr}</pre>\n </div>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={expandedSearchQuery} />\n )}\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n"],"names":["Text","Chunk","code","useRef","useEffect","useCallback","jsx","Code","useMemo","useState","cn","jsxs","DataPanelSectionHeading","Button","SearchIcon","SearchInput","ButtonsGroup","CopyButton","AlignLeftIcon","AlignJustifyIcon","ExpandIcon","raisedSurfaceStyle","Dialog","DialogContent","DialogHeader","DialogTitle","Fragment","DialogBody"],"mappings":"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"}
1
+ {"version":3,"file":"data-code-section-D0NR1REP.cjs","sources":["../src/ds/components/DataCodeSection/data-code-section.tsx"],"sourcesContent":["import { Chunk } from '@codemirror/merge';\nimport { Text } from '@codemirror/state';\nimport { AlignJustifyIcon, AlignLeftIcon, ExpandIcon, SearchIcon } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { Code } from '@/ds/components/Code/code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataPanelSectionHeading } from '@/ds/components/DataPanel/data-panel-section-heading';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface DataCodeSectionDiff {\n /** The other document to compare against. */\n against: string;\n /** `a` = this document is the \"before\" (changes in red), `b` = \"after\" (changes in green). */\n side: 'a' | 'b';\n}\n\n/** Zero-based indexes of the lines of `doc` that differ from `diff.against`. */\nfunction changedLines(doc: string, { against, side }: DataCodeSectionDiff): Set<number> {\n const [a, b] = side === 'a' ? [doc, against] : [against, doc];\n const text = Text.of(doc.split('\\n'));\n const lines = new Set<number>();\n for (const chunk of Chunk.build(Text.of(a.split('\\n')), Text.of(b.split('\\n')))) {\n const from = side === 'a' ? chunk.fromA : chunk.fromB;\n const to = side === 'a' ? chunk.endA : chunk.endB;\n if (from >= to) continue;\n for (let pos = from; pos <= Math.min(to, text.length);) {\n const line = text.lineAt(pos);\n lines.add(line.number - 1);\n if (line.to >= to) break;\n pos = line.to + 1;\n }\n }\n return lines;\n}\n\nconst diffLineStyles = {\n removed: 'code-diff-removed bg-destructive-subtle',\n added: 'code-diff-added bg-success-subtle',\n};\nconst searchMatchStyle = 'code-search-match rounded-sm bg-badge-amber-strong';\n\ninterface CodeViewProps {\n code: string;\n changed?: Set<number>;\n diffSide?: DataCodeSectionDiff['side'];\n searchQuery: string;\n}\n\nfunction CodeView({ code, changed, diffSide, searchQuery }: CodeViewProps) {\n const ref = useRef<HTMLDivElement>(null);\n const query = searchQuery.toLowerCase();\n\n useEffect(() => {\n if (query) ref.current?.querySelector('.code-search-match')?.scrollIntoView({ block: 'nearest' });\n }, [query]);\n\n const lineClassName = useCallback(\n (index: number, text: string) => {\n const classes: string[] = [];\n if (diffSide && changed?.has(index)) classes.push(diffLineStyles[diffSide === 'a' ? 'removed' : 'added']);\n if (query && text.toLowerCase().includes(query)) classes.push(searchMatchStyle);\n return classes.length ? classes.join(' ') : undefined;\n },\n [changed, diffSide, query],\n );\n\n return (\n <div ref={ref}>\n <Code\n code={code}\n lang=\"json\"\n lineClassName={lineClassName}\n className=\"font-mono text-caption break-all whitespace-pre-wrap\"\n />\n </div>\n );\n}\n\nexport interface DataCodeSectionProps {\n title: React.ReactNode;\n dialogTitle?: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Highlight lines that differ from another document. */\n diff?: DataCodeSectionDiff;\n /** Extra controls rendered in the header, before the built-in copy/expand buttons. */\n actions?: React.ReactNode;\n}\n\nexport function DataCodeSection({\n codeStr = '',\n title,\n dialogTitle,\n icon,\n simplified = false,\n className,\n diff,\n actions,\n}: DataCodeSectionProps) {\n const changed = useMemo(() => (diff ? changedLines(codeStr, diff) : undefined), [codeStr, diff]);\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const [searchMinimized, setSearchMinimized] = useState(true);\n const [searchQuery, setSearchQuery] = useState('');\n const [expandedOpen, setExpandedOpen] = useState(false);\n const [expandedSearchQuery, setExpandedSearchQuery] = useState('');\n const [expandedMultiline, setExpandedMultiline] = useState(false);\n\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const expandedFinalCodeStr = expandedMultiline ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <DataPanelSectionHeading icon={icon}>{title}</DataPanelSectionHeading>\n <div className=\"flex items-center gap-2\">\n {actions}\n {!usePlainTextView &&\n (searchMinimized ? (\n <Button\n size=\"sm\"\n aria-label=\"Search code\"\n tooltip=\"Search code\"\n onClick={() => setSearchMinimized(false)}\n >\n <SearchIcon />\n </Button>\n ) : (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={searchQuery}\n onValueChange={setSearchQuery}\n onClose={() => setSearchMinimized(true)}\n autoFocus\n />\n ))}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <Button aria-label=\"Expand\" tooltip=\"Expand\" onClick={() => setExpandedOpen(true)}>\n <ExpandIcon />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={searchQuery} />\n )}\n </div>\n\n <Dialog open={expandedOpen} onOpenChange={setExpandedOpen}>\n <DialogContent size=\"full\">\n <DialogHeader>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DialogTitle className=\"flex min-w-0 items-center gap-1.5 truncate [&>svg]:size-3.5\">\n {dialogTitle ?? (\n <>\n {icon}\n {title}\n </>\n )}\n </DialogTitle>\n <div className=\"flex shrink-0 items-center gap-2\">\n {!expandedMultiline && (\n <SearchInput\n label=\"Search code\"\n placeholder=\"Search...\"\n size=\"sm\"\n value={expandedSearchQuery}\n onValueChange={setExpandedSearchQuery}\n />\n )}\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setExpandedMultiline(v => !v)}\n >\n {expandedMultiline ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n </DialogHeader>\n <DialogBody layout=\"fill\">\n <div className=\"min-h-0 flex-1 overflow-auto\">\n {expandedMultiline ? (\n <div className={cn(raisedSurfaceStyle, 'rounded-lg p-3 text-caption break-all text-muted-foreground')}>\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{expandedFinalCodeStr}</pre>\n </div>\n </div>\n ) : (\n <CodeView code={codeStr} changed={changed} diffSide={diff?.side} searchQuery={expandedSearchQuery} />\n )}\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n"],"names":["Text","Chunk","code","useRef","useEffect","useCallback","jsx","Code","useMemo","useState","cn","jsxs","DataPanelSectionHeading","Button","SearchIcon","SearchInput","ButtonsGroup","CopyButton","AlignLeftIcon","AlignJustifyIcon","ExpandIcon","raisedSurfaceStyle","Dialog","DialogContent","DialogHeader","DialogTitle","Fragment","DialogBody"],"mappings":";;;;;;;;;;;;;;;;;AAsBA,SAAS,YAAA,CAAa,GAAA,EAAa,EAAE,OAAA,EAAS,MAAK,EAAqC;AACtF,EAAA,MAAM,CAAC,CAAA,EAAG,CAAC,CAAA,GAAI,IAAA,KAAS,GAAA,GAAM,CAAC,GAAA,EAAK,OAAO,CAAA,GAAI,CAAC,OAAA,EAAS,GAAG,CAAA;AAC5D,EAAA,MAAM,OAAOA,UAAA,CAAK,EAAA,CAAG,GAAA,CAAI,KAAA,CAAM,IAAI,CAAC,CAAA;AACpC,EAAA,MAAM,KAAA,uBAAY,GAAA,EAAY;AAC9B,EAAA,KAAA,MAAW,SAASC,WAAA,CAAM,KAAA,CAAMD,UAAA,CAAK,EAAA,CAAG,EAAE,KAAA,CAAM,IAAI,CAAC,CAAA,EAAGA,WAAK,EAAA,CAAG,CAAA,CAAE,MAAM,IAAI,CAAC,CAAC,CAAA,EAAG;AAC/E,IAAA,MAAM,IAAA,GAAO,IAAA,KAAS,GAAA,GAAM,KAAA,CAAM,QAAQ,KAAA,CAAM,KAAA;AAChD,IAAA,MAAM,EAAA,GAAK,IAAA,KAAS,GAAA,GAAM,KAAA,CAAM,OAAO,KAAA,CAAM,IAAA;AAC7C,IAAA,IAAI,QAAQ,EAAA,EAAI;AAChB,IAAA,KAAA,IAAS,GAAA,GAAM,MAAM,GAAA,IAAO,IAAA,CAAK,IAAI,EAAA,EAAI,IAAA,CAAK,MAAM,CAAA,IAAI;AACtD,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA;AAC5B,MAAA,KAAA,CAAM,GAAA,CAAI,IAAA,CAAK,MAAA,GAAS,CAAC,CAAA;AACzB,MAAA,IAAI,IAAA,CAAK,MAAM,EAAA,EAAI;AACnB,MAAA,GAAA,GAAM,KAAK,EAAA,GAAK,CAAA;AAAA,IAClB;AAAA,EACF;AACA,EAAA,OAAO,KAAA;AACT;AAEA,MAAM,cAAA,GAAiB;AAAA,EACrB,OAAA,EAAS,yCAAA;AAAA,EACT,KAAA,EAAO;AACT,CAAA;AACA,MAAM,gBAAA,GAAmB,oDAAA;AASzB,SAAS,SAAS,QAAEE,MAAA,EAAM,OAAA,EAAS,QAAA,EAAU,aAAY,EAAkB;AACzE,EAAA,MAAM,GAAA,GAAMC,aAAuB,IAAI,CAAA;AACvC,EAAA,MAAM,KAAA,GAAQ,YAAY,WAAA,EAAY;AAEtC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,KAAA,EAAO,GAAA,CAAI,OAAA,EAAS,aAAA,CAAc,oBAAoB,GAAG,cAAA,CAAe,EAAE,KAAA,EAAO,SAAA,EAAW,CAAA;AAAA,EAClG,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,aAAA,GAAgBC,iBAAA;AAAA,IACpB,CAAC,OAAe,IAAA,KAAiB;AAC/B,MAAA,MAAM,UAAoB,EAAC;AAC3B,MAAA,IAAI,QAAA,IAAY,OAAA,EAAS,GAAA,CAAI,KAAK,CAAA,EAAG,OAAA,CAAQ,IAAA,CAAK,cAAA,CAAe,QAAA,KAAa,GAAA,GAAM,SAAA,GAAY,OAAO,CAAC,CAAA;AACxG,MAAA,IAAI,KAAA,IAAS,KAAK,WAAA,EAAY,CAAE,SAAS,KAAK,CAAA,EAAG,OAAA,CAAQ,IAAA,CAAK,gBAAgB,CAAA;AAC9E,MAAA,OAAO,OAAA,CAAQ,MAAA,GAAS,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA,GAAI,MAAA;AAAA,IAC9C,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,QAAA,EAAU,KAAK;AAAA,GAC3B;AAEA,EAAA,uBACEC,cAAA,CAAC,SAAI,GAAA,EACH,QAAA,kBAAAA,cAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,YACCL,MAAA;AAAA,MACA,IAAA,EAAK,MAAA;AAAA,MACL,aAAA;AAAA,MACA,SAAA,EAAU;AAAA;AAAA,GACZ,EACF,CAAA;AAEJ;AAeO,SAAS,eAAA,CAAgB;AAAA,EAC9B,OAAA,GAAU,EAAA;AAAA,EACV,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAyB;AACvB,EAAA,MAAM,OAAA,GAAUM,aAAA,CAAQ,MAAO,IAAA,GAAO,YAAA,CAAa,OAAA,EAAS,IAAI,CAAA,GAAI,MAAA,EAAY,CAAC,OAAA,EAAS,IAAI,CAAC,CAAA;AAC/F,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIC,eAAS,KAAK,CAAA;AACpE,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,eAAS,IAAI,CAAA;AAC3D,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,EAAE,CAAA;AACjD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,eAAS,KAAK,CAAA;AACtD,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIA,eAAS,EAAE,CAAA;AACjE,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,eAAS,KAAK,CAAA;AAEhE,EAAA,MAAM,gBAAA,GAAmBD,cAAQ,MAAM;AACrC,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA;AACjC,MAAA,OAAO,oBAAA,CAAqB,UAAU,EAAE,CAAA;AAAA,IAC1C,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,MAAM,eAAe,mBAAA,GAAsB,OAAA,EAAS,OAAA,CAAQ,MAAA,EAAQ,IAAI,CAAA,GAAI,OAAA;AAC5E,EAAA,MAAM,uBAAuB,iBAAA,GAAoB,OAAA,EAAS,OAAA,CAAQ,MAAA,EAAQ,IAAI,CAAA,GAAI,OAAA;AAClF,EAAA,MAAM,mBAAmB,UAAA,IAAc,mBAAA;AAEvC,EAAA,IAAI,CAAC,OAAA,IAAW,OAAA,KAAY,MAAA,EAAQ,OAAO,IAAA;AAE3C,EAAA,uCACG,KAAA,EAAA,EAAI,SAAA,EAAWE,WAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA,EACjD,QAAA,EAAA;AAAA,oBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,sBAAAL,cAAA,CAACM,+CAAA,EAAA,EAAwB,MAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,sBAC5CD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,QAAA,OAAA;AAAA,QACA,CAAC,qBACC,eAAA,mBACCL,cAAA;AAAA,UAACO,aAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,IAAA;AAAA,YACL,YAAA,EAAW,aAAA;AAAA,YACX,OAAA,EAAQ,aAAA;AAAA,YACR,OAAA,EAAS,MAAM,kBAAA,CAAmB,KAAK,CAAA;AAAA,YAEvC,yCAACC,sBAAA,EAAA,EAAW;AAAA;AAAA,SACd,mBAEAR,cAAA;AAAA,UAACS,uBAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAM,aAAA;AAAA,YACN,WAAA,EAAY,WAAA;AAAA,YACZ,IAAA,EAAK,IAAA;AAAA,YACL,KAAA,EAAO,WAAA;AAAA,YACP,aAAA,EAAe,cAAA;AAAA,YACf,OAAA,EAAS,MAAM,kBAAA,CAAmB,IAAI,CAAA;AAAA,YACtC,SAAA,EAAS;AAAA;AAAA,SACX,CAAA;AAAA,wBAEJJ,eAAA,CAACK,yBAAA,EAAA,EAAa,IAAA,EAAK,IAAA,EACjB,QAAA,EAAA;AAAA,0BAAAV,cAAA,CAACW,qBAAA,EAAA,EAAW,OAAA,EAAS,OAAA,IAAW,YAAA,EAAc,CAAA;AAAA,UAC7C,gBAAA,oBACCX,cAAA;AAAA,YAACO,aAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAY,sBAAsB,uBAAA,GAA0B,qBAAA;AAAA,cAC5D,OAAA,EAAS,sBAAsB,uBAAA,GAA0B,qBAAA;AAAA,cACzD,OAAA,EAAS,MAAM,sBAAA,CAAuB,CAAA,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,cAE5C,QAAA,EAAA,mBAAA,mBAAsBP,cAAA,CAACY,yBAAA,EAAA,EAAc,CAAA,kCAAMC,4BAAA,EAAA,EAAiB;AAAA;AAAA,WAC/D;AAAA,0BAEFb,cAAA,CAACO,aAAA,EAAA,EAAO,YAAA,EAAW,QAAA,EAAS,OAAA,EAAQ,QAAA,EAAS,OAAA,EAAS,MAAM,eAAA,CAAgB,IAAI,CAAA,EAC9E,QAAA,kBAAAP,cAAA,CAACc,0BAAW,CAAA,EACd;AAAA,SAAA,EACF;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBAEAd,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWI,WAAA;AAAA,UACTW,2CAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEC,QAAA,EAAA,gBAAA,kCACE,KAAA,EAAA,EAAI,SAAA,EAAU,6CACb,QAAA,kBAAAf,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,WAAA,EAAa,QAAA,EAAA,YAAA,EAAa,GAC3C,CAAA,mBAEAA,cAAA,CAAC,YAAS,IAAA,EAAM,OAAA,EAAS,SAAkB,QAAA,EAAU,IAAA,EAAM,MAAM,WAAA,EAA0B;AAAA;AAAA,KAE/F;AAAA,oBAEAA,cAAA,CAACgB,iBAAO,IAAA,EAAM,YAAA,EAAc,cAAc,eAAA,EACxC,QAAA,kBAAAX,eAAA,CAACY,oBAAA,EAAA,EAAc,IAAA,EAAK,MAAA,EAClB,QAAA,EAAA;AAAA,sBAAAjB,cAAA,CAACkB,mBAAA,EAAA,EACC,QAAA,kBAAAb,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iDAAA,EACb,QAAA,EAAA;AAAA,wBAAAL,cAAA,CAACmB,kBAAA,EAAA,EAAY,SAAA,EAAU,6DAAA,EACpB,QAAA,EAAA,WAAA,oBACCd,eAAA,CAAAe,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,IAAA;AAAA,UACA;AAAA,SAAA,EACH,CAAA,EAEJ,CAAA;AAAA,wBACAf,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACZ,QAAA,EAAA;AAAA,UAAA,CAAC,iBAAA,oBACAL,cAAA;AAAA,YAACS,uBAAA;AAAA,YAAA;AAAA,cACC,KAAA,EAAM,aAAA;AAAA,cACN,WAAA,EAAY,WAAA;AAAA,cACZ,IAAA,EAAK,IAAA;AAAA,cACL,KAAA,EAAO,mBAAA;AAAA,cACP,aAAA,EAAe;AAAA;AAAA,WACjB;AAAA,0BAEFJ,eAAA,CAACK,yBAAA,EAAA,EAAa,IAAA,EAAK,IAAA,EACjB,QAAA,EAAA;AAAA,4BAAAV,cAAA,CAACW,qBAAA,EAAA,EAAW,OAAA,EAAS,OAAA,IAAW,YAAA,EAAc,CAAA;AAAA,YAC7C,gBAAA,oBACCX,cAAA;AAAA,cAACO,aAAA;AAAA,cAAA;AAAA,gBACC,YAAA,EAAY,oBAAoB,uBAAA,GAA0B,qBAAA;AAAA,gBAC1D,OAAA,EAAS,oBAAoB,uBAAA,GAA0B,qBAAA;AAAA,gBACvD,OAAA,EAAS,MAAM,oBAAA,CAAqB,CAAA,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,gBAE1C,QAAA,EAAA,iBAAA,mBAAoBP,cAAA,CAACY,yBAAA,EAAA,EAAc,CAAA,kCAAMC,4BAAA,EAAA,EAAiB;AAAA;AAAA;AAC7D,WAAA,EAEJ;AAAA,SAAA,EACF;AAAA,OAAA,EACF,CAAA,EACF,CAAA;AAAA,qCACCQ,iBAAA,EAAA,EAAW,MAAA,EAAO,MAAA,EACjB,QAAA,kBAAArB,cAAA,CAAC,SAAI,SAAA,EAAU,8BAAA,EACZ,QAAA,EAAA,iBAAA,mBACCA,cAAA,CAAC,SAAI,SAAA,EAAWI,WAAA,CAAGW,6CAAoB,6DAA6D,CAAA,EAClG,yCAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2CAAA,EACb,QAAA,kBAAAf,cAAA,CAAC,SAAI,SAAA,EAAU,WAAA,EAAa,gCAAqB,CAAA,EACnD,CAAA,EACF,oBAEAA,cAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAM,OAAA,EAAS,SAAkB,QAAA,EAAU,IAAA,EAAM,MAAM,WAAA,EAAa,mBAAA,EAAqB,GAEvG,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,qBAAqB,GAAA,EAAuB;AACnD,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,MAAM,GAAA,GAAM,GAAA,CAAI,OAAA,CAAQ,IAAI,CAAA;AAC5B,IAAA,OAAO,GAAA,KAAQ,EAAA,IAAM,GAAA,KAAQ,GAAA,CAAI,MAAA,GAAS,CAAA;AAAA,EAC5C,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AAC7B,IAAA,OAAO,GAAA,CAAI,IAAA,CAAK,CAAA,IAAA,KAAQ,oBAAA,CAAqB,IAAI,CAAC,CAAA;AAAA,EACpD,CAAA,MAAA,IAAW,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AACzC,IAAA,OAAO,MAAA,CAAO,OAAO,GAAG,CAAA,CAAE,KAAK,CAAA,KAAA,KAAS,oBAAA,CAAqB,KAAK,CAAC,CAAA;AAAA,EACrE;AACA,EAAA,OAAO,KAAA;AACT;;;;"}
@@ -8,7 +8,7 @@ import { getShortId } from './utils/id.es.js';
8
8
  import { GROUP_ATTR } from './hooks/use-fluid-hover.es.js';
9
9
  import { T as Txt } from './Txt-BuzYj7Vy.js';
10
10
  import { ArrowLeftIcon, ArrowRightIcon, ArrowUpDown, ArrowDown, ArrowUp } from 'lucide-react';
11
- import { B as Button } from './Button-D76HGlPP.js';
11
+ import { B as Button } from './Button-MHlMpc97.js';
12
12
  import { S as ScrollArea, a as ScrollAreaViewport } from './scroll-area-BywIlj3F.js';
13
13
  import { useFluidMenu, FluidMenuItems, useFluidMenuItemRef } from './primitives/fluid-menu.es.js';
14
14
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
@@ -672,4 +672,4 @@ const DataList = Object.assign(DataListRoot, {
672
672
  });
673
673
 
674
674
  export { DataListRoot as D, DataListTop as a, DataListTopCell as b, DataListCell as c, dataListRowOuterStyles as d, DataList as e, DataListTextCell as f, DataListNextPageLoading as g, DataListTimeCell as h, DataListDateCell as i, DataListNoMatch as j, DataListSpacer as k, DataListRowLink as l, DataListRowButton as m, DataListRowWrapper as n, DataListTopCellSmart as o, DataListTopCellWithTooltip as p, DataListSortableTopCell as q, DataListCreatedCell as r, splitColumns as s, DataListIdCell as t, DataListSubHeading as u, DataListSubheader as v };
675
- //# sourceMappingURL=data-list-D5XeKpNR.js.map
675
+ //# sourceMappingURL=data-list-BfepBJLG.js.map