@mastra/playground-ui 63.0.0-alpha.1 → 63.0.0-alpha.3

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 (768) hide show
  1. package/README.md +98 -0
  2. package/dist/Avatar-0u68PVfu.cjs +184 -0
  3. package/dist/Avatar-0u68PVfu.cjs.map +1 -0
  4. package/dist/Avatar-BwkyFiED.js +182 -0
  5. package/dist/Avatar-BwkyFiED.js.map +1 -0
  6. package/dist/{Button-C8QDEN9j.js → Button-60jVnaHt.js} +10 -4
  7. package/dist/Button-60jVnaHt.js.map +1 -0
  8. package/dist/{Button-BfZzgZrA.cjs → Button-CAVPKK09.cjs} +10 -4
  9. package/dist/Button-CAVPKK09.cjs.map +1 -0
  10. package/dist/{ErrorBoundary-3wDeQWo0.js → ErrorBoundary-BqNfJHRT.js} +2 -2
  11. package/dist/{ErrorBoundary-3wDeQWo0.js.map → ErrorBoundary-BqNfJHRT.js.map} +1 -1
  12. package/dist/{ErrorBoundary-BLsO6xv6.cjs → ErrorBoundary-SRNDrd4h.cjs} +2 -2
  13. package/dist/{ErrorBoundary-BLsO6xv6.cjs.map → ErrorBoundary-SRNDrd4h.cjs.map} +1 -1
  14. package/dist/{alert-dialog-j626w-Qb.cjs → alert-dialog-C-ODvRWT.cjs} +3 -3
  15. package/dist/{alert-dialog-j626w-Qb.cjs.map → alert-dialog-C-ODvRWT.cjs.map} +1 -1
  16. package/dist/{alert-dialog-R9z2SJLl.js → alert-dialog-DVAC9zdj.js} +3 -3
  17. package/dist/{alert-dialog-R9z2SJLl.js.map → alert-dialog-DVAC9zdj.js.map} +1 -1
  18. package/dist/{ask-user-card-g8cqh8KI.cjs → ask-user-card-BMiCYmFY.cjs} +3 -2
  19. package/dist/{ask-user-card-g8cqh8KI.cjs.map → ask-user-card-BMiCYmFY.cjs.map} +1 -1
  20. package/dist/{ask-user-card-CwKfl6M2.js → ask-user-card-CmfZg1wt.js} +7 -6
  21. package/dist/{ask-user-card-CwKfl6M2.js.map → ask-user-card-CmfZg1wt.js.map} +1 -1
  22. package/dist/avatar-size-CNR0U-LW.js +27 -0
  23. package/dist/avatar-size-CNR0U-LW.js.map +1 -0
  24. package/dist/avatar-size-DxStOo5A.cjs +32 -0
  25. package/dist/avatar-size-DxStOo5A.cjs.map +1 -0
  26. package/dist/{checkbox-B3tvJLCl.js → checkbox-mmR3rD2j.js} +2 -2
  27. package/dist/{checkbox-B3tvJLCl.js.map → checkbox-mmR3rD2j.js.map} +1 -1
  28. package/dist/{code-block-DQJ3NHRf.cjs → code-block-BuGosknt.cjs} +4 -4
  29. package/dist/{code-block-DQJ3NHRf.cjs.map → code-block-BuGosknt.cjs.map} +1 -1
  30. package/dist/{code-block-9sT-CaoF.js → code-block-vvYFcnqm.js} +4 -4
  31. package/dist/{code-block-9sT-CaoF.js.map → code-block-vvYFcnqm.js.map} +1 -1
  32. package/dist/{code-editor-DgfDaPAD.js → code-editor-B_v1EfzX.js} +3 -3
  33. package/dist/{code-editor-DgfDaPAD.js.map → code-editor-B_v1EfzX.js.map} +1 -1
  34. package/dist/{code-editor-Dg6Y6Q8z.cjs → code-editor-CH8c-KF1.cjs} +2 -2
  35. package/dist/{code-editor-Dg6Y6Q8z.cjs.map → code-editor-CH8c-KF1.cjs.map} +1 -1
  36. package/dist/{collapsible-box-B7YQWv7L.js → collapsible-box-CMmJEn3f.js} +2 -2
  37. package/dist/{collapsible-box-B7YQWv7L.js.map → collapsible-box-CMmJEn3f.js.map} +1 -1
  38. package/dist/{collapsible-box-Bu2jHdsK.cjs → collapsible-box-oUO65pxW.cjs} +2 -2
  39. package/dist/{collapsible-box-Bu2jHdsK.cjs.map → collapsible-box-oUO65pxW.cjs.map} +1 -1
  40. package/dist/{combobox-D9CFzzx8.cjs → combobox-fEMKH9nJ.cjs} +3 -3
  41. package/dist/{combobox-D9CFzzx8.cjs.map → combobox-fEMKH9nJ.cjs.map} +1 -1
  42. package/dist/{combobox-DJu0ggNa.js → combobox-so2V71F7.js} +4 -4
  43. package/dist/{combobox-DJu0ggNa.js.map → combobox-so2V71F7.js.map} +1 -1
  44. package/dist/{combobox-styles-BGCZADLP.cjs → combobox-styles-BJPT0TpQ.cjs} +2 -2
  45. package/dist/{combobox-styles-BGCZADLP.cjs.map → combobox-styles-BJPT0TpQ.cjs.map} +1 -1
  46. package/dist/{combobox-styles-wLpeTjOR.js → combobox-styles-BQnNIOpr.js} +2 -2
  47. package/dist/{combobox-styles-wLpeTjOR.js.map → combobox-styles-BQnNIOpr.js.map} +1 -1
  48. package/dist/{command-DbZ6CSAy.cjs → command-B_C36ppQ.cjs} +2 -2
  49. package/dist/{command-DbZ6CSAy.cjs.map → command-B_C36ppQ.cjs.map} +1 -1
  50. package/dist/{command-DtIlcv-t.js → command-DMqzDhzs.js} +2 -2
  51. package/dist/{command-DtIlcv-t.js.map → command-DMqzDhzs.js.map} +1 -1
  52. package/dist/components/AlertDialog.cjs.js +1 -1
  53. package/dist/components/AlertDialog.es.js +1 -1
  54. package/dist/components/Avatar.cjs.js +1 -1
  55. package/dist/components/Avatar.es.js +1 -1
  56. package/dist/components/Button.cjs.js +1 -1
  57. package/dist/components/Button.es.js +2 -2
  58. package/dist/components/Checkbox.es.js +1 -1
  59. package/dist/components/ClampedText.cjs.js +1 -1
  60. package/dist/components/ClampedText.es.js +1 -1
  61. package/dist/components/CodeBlock.cjs.js +1 -1
  62. package/dist/components/CodeBlock.es.js +1 -1
  63. package/dist/components/CodeEditor.cjs.js +1 -1
  64. package/dist/components/CodeEditor.es.js +1 -1
  65. package/dist/components/CollapsibleBox.cjs.js +1 -1
  66. package/dist/components/CollapsibleBox.es.js +1 -1
  67. package/dist/components/Combobox.cjs.js +2 -2
  68. package/dist/components/Combobox.es.js +2 -2
  69. package/dist/components/Command.cjs.js +1 -1
  70. package/dist/components/Command.es.js +1 -1
  71. package/dist/components/CommandPalette.cjs.js +1 -1
  72. package/dist/components/CommandPalette.es.js +1 -1
  73. package/dist/components/Comment.cjs.js +3 -2
  74. package/dist/components/Comment.cjs.js.map +1 -1
  75. package/dist/components/Comment.es.js +4 -3
  76. package/dist/components/Comment.es.js.map +1 -1
  77. package/dist/components/CopyButton.cjs.js +1 -1
  78. package/dist/components/CopyButton.es.js +1 -1
  79. package/dist/components/DataCodeSection.cjs.js +1 -1
  80. package/dist/components/DataCodeSection.es.js +1 -1
  81. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  82. package/dist/components/DataDetailsPanel.es.js +2 -2
  83. package/dist/components/DataList.cjs.js +3 -3
  84. package/dist/components/DataList.es.js +4 -4
  85. package/dist/components/DataPanel.cjs.js +1 -1
  86. package/dist/components/DataPanel.es.js +1 -1
  87. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  88. package/dist/components/DateRangeTimeline.es.js +1 -1
  89. package/dist/components/DateTimePicker.cjs.js +3 -2
  90. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  91. package/dist/components/DateTimePicker.es.js +5 -4
  92. package/dist/components/DateTimePicker.es.js.map +1 -1
  93. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  94. package/dist/components/DateTimeRangePicker.es.js +1 -1
  95. package/dist/components/Dialog.cjs.js +2 -2
  96. package/dist/components/Dialog.es.js +2 -2
  97. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  98. package/dist/components/DisabledFeatureButton.es.js +1 -1
  99. package/dist/components/Drawer.cjs.js +1 -1
  100. package/dist/components/Drawer.es.js +1 -1
  101. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -3
  102. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  103. package/dist/components/EnvironmentVariablesEditor.es.js +5 -4
  104. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  105. package/dist/components/ErrorBoundary.cjs.js +1 -1
  106. package/dist/components/ErrorBoundary.es.js +1 -1
  107. package/dist/components/Field.es.js +2 -2
  108. package/dist/components/FilterBar.cjs.js +3 -3
  109. package/dist/components/FilterBar.es.js +4 -4
  110. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  111. package/dist/components/FormFieldBlocks.es.js +3 -3
  112. package/dist/components/Input.es.js +1 -1
  113. package/dist/components/InputGroup.cjs.js +1 -1
  114. package/dist/components/InputGroup.es.js +1 -1
  115. package/dist/components/InputNumber.cjs.js +2 -2
  116. package/dist/components/InputNumber.es.js +2 -2
  117. package/dist/components/JSONSchemaForm.cjs.js +3 -2
  118. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  119. package/dist/components/JSONSchemaForm.es.js +6 -5
  120. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  121. package/dist/components/ListSearch.cjs.js +1 -1
  122. package/dist/components/ListSearch.es.js +1 -1
  123. package/dist/components/LogsDataList.cjs.js +3 -3
  124. package/dist/components/LogsDataList.es.js +3 -3
  125. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  126. package/dist/components/MarkdownRenderer.es.js +1 -1
  127. package/dist/components/Message.cjs.js +1 -1
  128. package/dist/components/Message.es.js +1 -1
  129. package/dist/components/MetricsCard.cjs.js +1 -1
  130. package/dist/components/MetricsCard.es.js +1 -1
  131. package/dist/components/Pagination.cjs.js +17 -0
  132. package/dist/components/Pagination.cjs.js.map +1 -0
  133. package/dist/components/Pagination.d.ts +2 -0
  134. package/dist/components/Pagination.es.js +2 -0
  135. package/dist/components/Pagination.es.js.map +1 -0
  136. package/dist/components/PrevNextNav.cjs.js +1 -1
  137. package/dist/components/PrevNextNav.es.js +1 -1
  138. package/dist/components/ProductAvatar.cjs.js +19 -2
  139. package/dist/components/ProductAvatar.cjs.js.map +1 -1
  140. package/dist/components/ProductAvatar.es.js +19 -2
  141. package/dist/components/ProductAvatar.es.js.map +1 -1
  142. package/dist/components/PropertyFilter.cjs.js +4 -3
  143. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  144. package/dist/components/PropertyFilter.es.js +6 -5
  145. package/dist/components/PropertyFilter.es.js.map +1 -1
  146. package/dist/components/RadioGroup.es.js +1 -1
  147. package/dist/components/RuleBuilder.cjs.js +2 -2
  148. package/dist/components/RuleBuilder.es.js +3 -3
  149. package/dist/components/SavedViews.cjs.js +2 -2
  150. package/dist/components/SavedViews.es.js +2 -2
  151. package/dist/components/SearchInput.cjs.js +1 -1
  152. package/dist/components/SearchInput.es.js +1 -1
  153. package/dist/components/Section.cjs.js +1 -1
  154. package/dist/components/Section.es.js +1 -1
  155. package/dist/components/SegmentedControl.es.js +1 -1
  156. package/dist/components/Select.cjs.js +1 -1
  157. package/dist/components/Select.es.js +1 -1
  158. package/dist/components/SideDialog.cjs.js +1 -1
  159. package/dist/components/SideDialog.es.js +1 -1
  160. package/dist/components/Sidebar.cjs.js +3 -3
  161. package/dist/components/Sidebar.es.js +3 -3
  162. package/dist/components/Switch.es.js +1 -1
  163. package/dist/components/Table.cjs.js +286 -47
  164. package/dist/components/Table.cjs.js.map +1 -1
  165. package/dist/components/Table.es.js +284 -49
  166. package/dist/components/Table.es.js.map +1 -1
  167. package/dist/components/Tabs.cjs.js +1 -1
  168. package/dist/components/Tabs.es.js +1 -1
  169. package/dist/components/ThemeToggle.es.js +1 -1
  170. package/dist/components/ThreadList.cjs.js +1 -1
  171. package/dist/components/ThreadList.es.js +1 -1
  172. package/dist/components/Truncate.cjs.js +1 -1
  173. package/dist/components/Truncate.es.js +1 -1
  174. package/dist/components/Workflow.cjs.js +6 -6
  175. package/dist/components/Workflow.es.js +6 -6
  176. package/dist/components/ai/activity.cjs.js +1 -1
  177. package/dist/components/ai/activity.es.js +1 -1
  178. package/dist/components/ai/ask-user.cjs.js +1 -1
  179. package/dist/components/ai/ask-user.es.js +1 -1
  180. package/dist/components/ai/plan.cjs.js +1 -1
  181. package/dist/components/ai/plan.es.js +1 -1
  182. package/dist/components/ai/tool-approval.cjs.js +1 -1
  183. package/dist/components/ai/tool-approval.es.js +1 -1
  184. package/dist/components/ai/tool-call.cjs.js +3 -3
  185. package/dist/components/ai/tool-call.es.js +3 -3
  186. package/dist/{copy-button-CUVxXN4H.cjs → copy-button-5tVWqoTk.cjs} +2 -2
  187. package/dist/{copy-button-CUVxXN4H.cjs.map → copy-button-5tVWqoTk.cjs.map} +1 -1
  188. package/dist/{copy-button-CDyuUYUr.js → copy-button-Af_Qt7G1.js} +2 -2
  189. package/dist/{copy-button-CDyuUYUr.js.map → copy-button-Af_Qt7G1.js.map} +1 -1
  190. package/dist/{data-code-section-BTRNa1SD.cjs → data-code-section-Bs8sHDux.cjs} +5 -5
  191. package/dist/{data-code-section-BTRNa1SD.cjs.map → data-code-section-Bs8sHDux.cjs.map} +1 -1
  192. package/dist/{data-code-section-BGLC-hxm.js → data-code-section-CqdjmClK.js} +5 -5
  193. package/dist/{data-code-section-BGLC-hxm.js.map → data-code-section-CqdjmClK.js.map} +1 -1
  194. package/dist/{data-list-DDGpWucH.js → data-list-B2ArWwsJ.js} +3 -3
  195. package/dist/{data-list-DDGpWucH.js.map → data-list-B2ArWwsJ.js.map} +1 -1
  196. package/dist/{data-list-_yDPF5wR.cjs → data-list-BLfHObw8.cjs} +2 -2
  197. package/dist/{data-list-_yDPF5wR.cjs.map → data-list-BLfHObw8.cjs.map} +1 -1
  198. package/dist/{data-list-skeleton-maUWF7Ri.cjs → data-list-skeleton-BGJD4qMF.cjs} +2 -2
  199. package/dist/{data-list-skeleton-maUWF7Ri.cjs.map → data-list-skeleton-BGJD4qMF.cjs.map} +1 -1
  200. package/dist/{data-list-skeleton-CJFwZBlW.js → data-list-skeleton-BNsWWamC.js} +2 -2
  201. package/dist/{data-list-skeleton-CJFwZBlW.js.map → data-list-skeleton-BNsWWamC.js.map} +1 -1
  202. package/dist/{data-panel-Dhg7s3fD.cjs → data-panel-FG2S84x7.cjs} +45 -22
  203. package/dist/data-panel-FG2S84x7.cjs.map +1 -0
  204. package/dist/{data-panel-DfVGx0Ea.js → data-panel-nbeducTl.js} +46 -23
  205. package/dist/data-panel-nbeducTl.js.map +1 -0
  206. package/dist/{date-time-range-picker-BNaXCa7r.cjs → date-time-range-picker-ByNvjYuV.cjs} +4 -3
  207. package/dist/{date-time-range-picker-BNaXCa7r.cjs.map → date-time-range-picker-ByNvjYuV.cjs.map} +1 -1
  208. package/dist/{date-time-range-picker-C5x_33hB.js → date-time-range-picker-SU1Q1h1h.js} +5 -4
  209. package/dist/{date-time-range-picker-C5x_33hB.js.map → date-time-range-picker-SU1Q1h1h.js.map} +1 -1
  210. package/dist/{dialog-DQI9ChYf.cjs → dialog-B5nLi0ER.cjs} +3 -3
  211. package/dist/{dialog-DQI9ChYf.cjs.map → dialog-B5nLi0ER.cjs.map} +1 -1
  212. package/dist/{dialog-DlZmNahd.js → dialog-Jz2ZfO-z.js} +3 -3
  213. package/dist/{dialog-DlZmNahd.js.map → dialog-Jz2ZfO-z.js.map} +1 -1
  214. package/dist/{dialog-action-c4nfPomF.js → dialog-action-BxXhAz-P.js} +3 -3
  215. package/dist/{dialog-action-c4nfPomF.js.map → dialog-action-BxXhAz-P.js.map} +1 -1
  216. package/dist/{dialog-action-gdo9CwUv.cjs → dialog-action-DdkbsKfP.cjs} +3 -3
  217. package/dist/{dialog-action-gdo9CwUv.cjs.map → dialog-action-DdkbsKfP.cjs.map} +1 -1
  218. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  219. package/dist/domains/auth/components/session-expired.es.js +1 -1
  220. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  221. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  222. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  223. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  224. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  225. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  226. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  227. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  228. package/dist/domains/chat/messages/dataset-save-action.cjs.js +7 -5
  229. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  230. package/dist/domains/chat/messages/dataset-save-action.es.js +8 -6
  231. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  232. package/dist/domains/chat/messages/message-row.cjs.js +3 -2
  233. package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
  234. package/dist/domains/chat/messages/message-row.es.js +3 -2
  235. package/dist/domains/chat/messages/message-row.es.js.map +1 -1
  236. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  237. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  238. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  239. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  240. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  241. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  242. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  243. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  244. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  245. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  246. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  247. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  248. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  249. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  250. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  251. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  252. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  253. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  254. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  255. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  256. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  257. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  258. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  259. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  260. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  261. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  262. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  263. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  264. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
  265. package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
  266. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +6 -4
  267. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  268. package/dist/domains/chat/tools/badges/workflow-badge.es.js +6 -4
  269. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  270. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  271. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  272. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  273. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  274. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +12 -6
  275. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  276. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +13 -7
  277. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  278. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  279. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  280. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -3
  281. package/dist/domains/logs/components/logs-list-view.es.js +3 -3
  282. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  283. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  284. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  285. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  286. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  287. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  288. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  289. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  290. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -0
  291. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  292. package/dist/domains/memory/components/observation-detail-view.es.js +3 -2
  293. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  294. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  295. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  296. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  297. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  298. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  299. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  300. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  301. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  302. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  303. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  304. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  305. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  306. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  307. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  308. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  309. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  310. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  311. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  312. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  313. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  314. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  315. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  316. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  317. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  318. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +6 -4
  319. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  320. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +7 -5
  321. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  322. package/dist/domains/request-context/components/request-context-label.cjs.js +1 -0
  323. package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
  324. package/dist/domains/request-context/components/request-context-label.es.js +2 -1
  325. package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
  326. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  327. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  328. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  329. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  330. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  331. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  332. package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
  333. package/dist/domains/traces/components/feedback-thread.es.js +4 -4
  334. package/dist/domains/traces/components/span-data-panel-view.cjs.js +3 -2
  335. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  336. package/dist/domains/traces/components/span-data-panel-view.es.js +3 -2
  337. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  338. package/dist/domains/traces/components/span-details-view.cjs.js +1 -0
  339. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  340. package/dist/domains/traces/components/span-details-view.es.js +1 -0
  341. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  342. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  343. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  344. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  345. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  346. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  347. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  348. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  349. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  350. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  351. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  352. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  353. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  354. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
  355. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
  356. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  357. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  358. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  359. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  360. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  361. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  362. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  363. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  364. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  365. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  366. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  367. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  368. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +3 -1
  369. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  370. package/dist/domains/traces/components/thread-view-by-trace.es.js +3 -1
  371. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  372. package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -4
  373. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  374. package/dist/domains/traces/components/trace-columns-menu.es.js +6 -5
  375. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  376. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  377. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  378. package/dist/domains/traces/components/trace-data-panel.cjs.js +5 -2
  379. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  380. package/dist/domains/traces/components/trace-data-panel.es.js +5 -2
  381. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  382. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  383. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  384. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  385. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  386. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  387. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  388. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  389. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  390. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  391. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  392. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  393. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  394. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  395. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  396. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  397. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  398. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  399. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  400. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  401. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  402. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  403. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  404. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  405. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  406. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  407. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  408. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  409. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  410. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  411. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  412. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  413. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  414. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  415. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  416. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -1
  417. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js.map +1 -1
  418. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +3 -2
  419. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js.map +1 -1
  420. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -1
  421. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
  422. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +3 -2
  423. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
  424. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  425. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  426. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  427. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  428. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  429. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  430. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  431. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  432. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -0
  433. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -1
  434. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +3 -2
  435. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -1
  436. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  437. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  438. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  439. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  440. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  441. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  442. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  443. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  444. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +2 -0
  445. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  446. package/dist/domains/workflows/workflow/workflow-input-data.es.js +2 -0
  447. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  448. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  449. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  450. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  451. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  452. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
  453. package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
  454. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  455. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  456. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  457. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  458. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  459. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  460. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  461. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  462. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -1
  463. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js.map +1 -1
  464. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -2
  465. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js.map +1 -1
  466. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  467. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  468. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  469. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  470. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  471. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  472. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  473. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  474. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  475. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  476. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +6 -5
  477. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  478. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +7 -6
  479. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  480. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  481. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  482. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  483. package/dist/domains/workspace/components/workspace-create-directory.es.js +3 -3
  484. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  485. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  486. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  487. package/dist/domains/workspace/components/workspace-search.es.js +2 -2
  488. package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
  489. package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
  490. package/dist/{drawer-CeUYCG-S.cjs → drawer-C6PBqg__.cjs} +2 -2
  491. package/dist/{drawer-CeUYCG-S.cjs.map → drawer-C6PBqg__.cjs.map} +1 -1
  492. package/dist/{drawer-CZlqOjd2.js → drawer-CwVDeB8H.js} +2 -2
  493. package/dist/{drawer-CZlqOjd2.js.map → drawer-CwVDeB8H.js.map} +1 -1
  494. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -6
  495. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  496. package/dist/ee/signals/components/entity-index-compact-grid.es.js +6 -8
  497. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  498. package/dist/ee/signals/components/entity-index-list.cjs.js +31 -32
  499. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  500. package/dist/ee/signals/components/entity-index-list.es.js +33 -34
  501. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  502. package/dist/ee/signals/components/entity-index-model.cjs.js +7 -0
  503. package/dist/ee/signals/components/entity-index-model.cjs.js.map +1 -1
  504. package/dist/ee/signals/components/entity-index-model.es.js +7 -1
  505. package/dist/ee/signals/components/entity-index-model.es.js.map +1 -1
  506. package/dist/ee/signals/components/entity-index-status.cjs.js +26 -0
  507. package/dist/ee/signals/components/entity-index-status.cjs.js.map +1 -0
  508. package/dist/ee/signals/components/entity-index-status.d.ts +2 -0
  509. package/dist/ee/signals/components/entity-index-status.es.js +22 -0
  510. package/dist/ee/signals/components/entity-index-status.es.js.map +1 -0
  511. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  512. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  513. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +14 -14
  514. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  515. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +14 -14
  516. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  517. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  518. package/dist/ee/signals/examples-pager.es.js +1 -1
  519. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  520. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  521. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +3 -2
  522. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  523. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +5 -4
  524. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  525. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  526. package/dist/ee/signals/settings/trace-signal-settings.es.js +2 -2
  527. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  528. package/dist/ee/signals/signals-error-state.es.js +1 -1
  529. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  530. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  531. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  532. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  533. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  534. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  535. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  536. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  537. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  538. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  539. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  540. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  541. package/dist/{field-Bc8Ewf_M.js → field-B89BEZg4.js} +2 -2
  542. package/dist/{field-Bc8Ewf_M.js.map → field-B89BEZg4.js.map} +1 -1
  543. package/dist/{field-control-aria-CCJ4-mUe.js → field-control-aria-DB6y41tQ.js} +2 -2
  544. package/dist/{field-control-aria-CCJ4-mUe.js.map → field-control-aria-DB6y41tQ.js.map} +1 -1
  545. package/dist/{filter-bar-chip-C_371aon.cjs → filter-bar-chip-BBErw_aR.cjs} +3 -3
  546. package/dist/{filter-bar-chip-C_371aon.cjs.map → filter-bar-chip-BBErw_aR.cjs.map} +1 -1
  547. package/dist/{filter-bar-chip-Dc6phYqZ.js → filter-bar-chip-DvRTWRwT.js} +3 -3
  548. package/dist/{filter-bar-chip-Dc6phYqZ.js.map → filter-bar-chip-DvRTWRwT.js.map} +1 -1
  549. package/dist/{input-Ds171RJ5.js → input-DQFUjtnh.js} +2 -2
  550. package/dist/{input-Ds171RJ5.js.map → input-DQFUjtnh.js.map} +1 -1
  551. package/dist/{input-group-Cxv64rPB.js → input-group-CIIwoggO.js} +3 -3
  552. package/dist/{input-group-Cxv64rPB.js.map → input-group-CIIwoggO.js.map} +1 -1
  553. package/dist/{input-group-Cy7k5JRg.cjs → input-group-DQuyC9Pz.cjs} +2 -2
  554. package/dist/{input-group-Cy7k5JRg.cjs.map → input-group-DQuyC9Pz.cjs.map} +1 -1
  555. package/dist/layout/tabbed-container.cjs.js +4 -4
  556. package/dist/layout/tabbed-container.es.js +4 -4
  557. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  558. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  559. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  560. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  561. package/dist/lib/form/components/boolean-field.cjs.js +1 -0
  562. package/dist/lib/form/components/boolean-field.cjs.js.map +1 -1
  563. package/dist/lib/form/components/boolean-field.es.js +3 -2
  564. package/dist/lib/form/components/boolean-field.es.js.map +1 -1
  565. package/dist/lib/form/components/date-field.cjs.js +1 -1
  566. package/dist/lib/form/components/date-field.es.js +2 -2
  567. package/dist/lib/form/components/field-wrapper.cjs.js +1 -0
  568. package/dist/lib/form/components/field-wrapper.cjs.js.map +1 -1
  569. package/dist/lib/form/components/field-wrapper.es.js +2 -1
  570. package/dist/lib/form/components/field-wrapper.es.js.map +1 -1
  571. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  572. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  573. package/dist/lib/form/components/number-field.es.js +1 -1
  574. package/dist/lib/form/components/record-field.cjs.js +1 -1
  575. package/dist/lib/form/components/record-field.es.js +2 -2
  576. package/dist/lib/form/components/select-field.cjs.js +1 -1
  577. package/dist/lib/form/components/select-field.es.js +1 -1
  578. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  579. package/dist/lib/form/components/submit-button.es.js +1 -1
  580. package/dist/{list-search-C3yXcTRO.cjs → list-search-C5j3HYkb.cjs} +2 -2
  581. package/dist/{list-search-C3yXcTRO.cjs.map → list-search-C5j3HYkb.cjs.map} +1 -1
  582. package/dist/{list-search-CmPRFDsn.js → list-search-Cwp-OPvC.js} +2 -2
  583. package/dist/{list-search-CmPRFDsn.js.map → list-search-Cwp-OPvC.js.map} +1 -1
  584. package/dist/{logs-data-list-Cudh6b-c.js → logs-data-list-B-gmgU74.js} +2 -2
  585. package/dist/{logs-data-list-Cudh6b-c.js.map → logs-data-list-B-gmgU74.js.map} +1 -1
  586. package/dist/{logs-data-list-Bf_vIsFb.cjs → logs-data-list-CaXnNnC5.cjs} +2 -2
  587. package/dist/{logs-data-list-Bf_vIsFb.cjs.map → logs-data-list-CaXnNnC5.cjs.map} +1 -1
  588. package/dist/{markdown-renderer-DaXAim8y.cjs → markdown-renderer-BXTNiZbz.cjs} +3 -3
  589. package/dist/{markdown-renderer-DaXAim8y.cjs.map → markdown-renderer-BXTNiZbz.cjs.map} +1 -1
  590. package/dist/{markdown-renderer-Cly6VMDr.js → markdown-renderer-Ct-q_KTF.js} +3 -3
  591. package/dist/{markdown-renderer-Cly6VMDr.js.map → markdown-renderer-Ct-q_KTF.js.map} +1 -1
  592. package/dist/{message-copy-button-CREuo4t5.cjs → message-copy-button-Cni-zv0j.cjs} +2 -2
  593. package/dist/{message-copy-button-CREuo4t5.cjs.map → message-copy-button-Cni-zv0j.cjs.map} +1 -1
  594. package/dist/{message-copy-button-BlwQej7y.js → message-copy-button-DDgqbtbv.js} +2 -2
  595. package/dist/{message-copy-button-BlwQej7y.js.map → message-copy-button-DDgqbtbv.js.map} +1 -1
  596. package/dist/{metrics-card-oEbbYDo7.js → metrics-card-C33VsuXf.js} +2 -2
  597. package/dist/{metrics-card-oEbbYDo7.js.map → metrics-card-C33VsuXf.js.map} +1 -1
  598. package/dist/{metrics-card-Bv2A5G41.cjs → metrics-card-CxOVpP1t.cjs} +2 -2
  599. package/dist/{metrics-card-Bv2A5G41.cjs.map → metrics-card-CxOVpP1t.cjs.map} +1 -1
  600. package/dist/new/layout/app-shell.cjs.js +9 -4
  601. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  602. package/dist/new/layout/app-shell.es.js +10 -5
  603. package/dist/new/layout/app-shell.es.js.map +1 -1
  604. package/dist/new/settings.cjs.js +1 -1
  605. package/dist/new/settings.es.js +1 -1
  606. package/dist/pagination-range-BlUsZjqD.js +191 -0
  607. package/dist/pagination-range-BlUsZjqD.js.map +1 -0
  608. package/dist/pagination-range-C0i6gunh.cjs +200 -0
  609. package/dist/pagination-range-C0i6gunh.cjs.map +1 -0
  610. package/dist/{plan-CdtX72kw.cjs → plan-CL-lbDuy.cjs} +4 -4
  611. package/dist/{plan-CdtX72kw.cjs.map → plan-CL-lbDuy.cjs.map} +1 -1
  612. package/dist/{plan-DIbhFPRL.js → plan-TXWANP1R.js} +4 -4
  613. package/dist/{plan-DIbhFPRL.js.map → plan-TXWANP1R.js.map} +1 -1
  614. package/dist/primitives/menu-item.cjs.js +1 -1
  615. package/dist/primitives/menu-item.es.js +1 -1
  616. package/dist/primitives/raised-surface.cjs.js +2 -0
  617. package/dist/primitives/raised-surface.cjs.js.map +1 -1
  618. package/dist/primitives/raised-surface.es.js +2 -1
  619. package/dist/primitives/raised-surface.es.js.map +1 -1
  620. package/dist/primitives/textarea-control.es.js +1 -1
  621. package/dist/primitives/trigger-button.cjs.js +1 -1
  622. package/dist/primitives/trigger-button.es.js +1 -1
  623. package/dist/{property-filter-applied-BeLCh3zo.cjs → property-filter-applied-BBvaTC4B.cjs} +2 -2
  624. package/dist/{property-filter-applied-BeLCh3zo.cjs.map → property-filter-applied-BBvaTC4B.cjs.map} +1 -1
  625. package/dist/{property-filter-applied-DXH81ffT.js → property-filter-applied-Ru3OQoGo.js} +3 -3
  626. package/dist/{property-filter-applied-DXH81ffT.js.map → property-filter-applied-Ru3OQoGo.js.map} +1 -1
  627. package/dist/{radio-group-C2zsCipq.js → radio-group-Bk52hNNb.js} +2 -2
  628. package/dist/{radio-group-C2zsCipq.js.map → radio-group-Bk52hNNb.js.map} +1 -1
  629. package/dist/{reasoning-activity-DehWtcyc.cjs → reasoning-activity-CFEaSv4J.cjs} +2 -2
  630. package/dist/{reasoning-activity-DehWtcyc.cjs.map → reasoning-activity-CFEaSv4J.cjs.map} +1 -1
  631. package/dist/{reasoning-activity-B1r4JQxm.js → reasoning-activity-CHlEe011.js} +2 -2
  632. package/dist/{reasoning-activity-B1r4JQxm.js.map → reasoning-activity-CHlEe011.js.map} +1 -1
  633. package/dist/resize/panel-drawer.cjs.js +1 -1
  634. package/dist/resize/panel-drawer.es.js +1 -1
  635. package/dist/{search-input-DbEE2zEz.cjs → search-input-2DhcUIvn.cjs} +3 -2
  636. package/dist/{search-input-DbEE2zEz.cjs.map → search-input-2DhcUIvn.cjs.map} +1 -1
  637. package/dist/{search-input-D23h16CB.js → search-input-RybUdqzg.js} +4 -3
  638. package/dist/{search-input-D23h16CB.js.map → search-input-RybUdqzg.js.map} +1 -1
  639. package/dist/{section-CdaSS9M7.cjs → section-DhZbtWhu.cjs} +2 -2
  640. package/dist/{section-CdaSS9M7.cjs.map → section-DhZbtWhu.cjs.map} +1 -1
  641. package/dist/{section-DcjTdrqz.js → section-Dq6aFxlH.js} +2 -2
  642. package/dist/{section-DcjTdrqz.js.map → section-Dq6aFxlH.js.map} +1 -1
  643. package/dist/{segmented-control-BfY7F0NZ.js → segmented-control-CUnvFStD.js} +2 -2
  644. package/dist/{segmented-control-BfY7F0NZ.js.map → segmented-control-CUnvFStD.js.map} +1 -1
  645. package/dist/{select-BGAiIHnS.js → select-BvYdi3X0.js} +3 -3
  646. package/dist/{select-BGAiIHnS.js.map → select-BvYdi3X0.js.map} +1 -1
  647. package/dist/{select-Cdz5I0A5.cjs → select-D5cu0K7R.cjs} +2 -2
  648. package/dist/{select-Cdz5I0A5.cjs.map → select-D5cu0K7R.cjs.map} +1 -1
  649. package/dist/{settings-row-rOI4yGvi.cjs → settings-row-CwZ3JffC.cjs} +2 -1
  650. package/dist/{settings-row-rOI4yGvi.cjs.map → settings-row-CwZ3JffC.cjs.map} +1 -1
  651. package/dist/{settings-row-ylIw4rfC.js → settings-row-gpwIVAMN.js} +3 -2
  652. package/dist/{settings-row-ylIw4rfC.js.map → settings-row-gpwIVAMN.js.map} +1 -1
  653. package/dist/{side-dialog-OPXvmRDA.cjs → side-dialog-CUQGSSLs.cjs} +5 -5
  654. package/dist/{side-dialog-OPXvmRDA.cjs.map → side-dialog-CUQGSSLs.cjs.map} +1 -1
  655. package/dist/{side-dialog-CB_wrLtE.js → side-dialog-DSxU1To7.js} +5 -5
  656. package/dist/{side-dialog-CB_wrLtE.js.map → side-dialog-DSxU1To7.js.map} +1 -1
  657. package/dist/{span-payload-primitives-sEGOgFlX.cjs → span-payload-primitives-DIxmotnO.cjs} +2 -2
  658. package/dist/{span-payload-primitives-sEGOgFlX.cjs.map → span-payload-primitives-DIxmotnO.cjs.map} +1 -1
  659. package/dist/{span-payload-primitives-Cixom2Py.js → span-payload-primitives-dTs5UrjA.js} +2 -2
  660. package/dist/{span-payload-primitives-Cixom2Py.js.map → span-payload-primitives-dTs5UrjA.js.map} +1 -1
  661. package/dist/src/ds/components/Avatar/Avatar.d.ts +20 -9
  662. package/dist/src/ds/components/Avatar/avatar-badge.d.ts +6 -0
  663. package/dist/src/ds/components/Avatar/avatar-element.d.ts +3 -0
  664. package/dist/src/ds/components/Avatar/avatar-fallback.d.ts +5 -0
  665. package/dist/src/ds/components/Avatar/avatar-group-count.d.ts +3 -0
  666. package/dist/src/ds/components/Avatar/avatar-group.d.ts +6 -0
  667. package/dist/src/ds/components/Avatar/avatar-image.d.ts +6 -0
  668. package/dist/src/ds/components/Avatar/avatar-named.d.ts +10 -0
  669. package/dist/src/ds/components/Avatar/avatar-root.d.ts +8 -0
  670. package/dist/src/ds/components/Avatar/avatar-size.d.ts +5 -0
  671. package/dist/src/ds/components/DataPanel/data-panel-context.d.ts +3 -0
  672. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +28 -9
  673. package/dist/src/ds/components/DataPanel/index.d.ts +1 -1
  674. package/dist/src/ds/components/Pagination/index.d.ts +2 -0
  675. package/dist/src/ds/components/Pagination/pagination-context.d.ts +10 -0
  676. package/dist/src/ds/components/Pagination/pagination-range.d.ts +8 -0
  677. package/dist/src/ds/components/Pagination/pagination.d.ts +23 -0
  678. package/dist/src/ds/components/ProductAvatar/ProductAvatar.d.ts +3 -1
  679. package/dist/src/ds/components/ProductAvatar/product-avatar-size.d.ts +3 -0
  680. package/dist/src/ds/components/Table/Cells.d.ts +6 -2
  681. package/dist/src/ds/components/Table/Table.d.ts +30 -7
  682. package/dist/src/ds/components/Table/index.d.ts +10 -0
  683. package/dist/src/ds/components/Table/table-align.d.ts +7 -0
  684. package/dist/src/ds/components/Table/table-context.d.ts +4 -0
  685. package/dist/src/ds/components/Table/table-pagination.d.ts +7 -0
  686. package/dist/src/ds/components/Table/table-row-button.d.ts +3 -0
  687. package/dist/src/ds/components/Table/table-row-link.d.ts +3 -0
  688. package/dist/src/ds/components/Table/table-row-target.d.ts +2 -0
  689. package/dist/src/ds/components/Table/table-sort-button.d.ts +6 -0
  690. package/dist/src/ds/primitives/raised-surface.d.ts +5 -0
  691. package/dist/src/ee/signals/components/entity-index-model.d.ts +5 -0
  692. package/dist/src/ee/signals/components/entity-index-status.d.ts +4 -0
  693. package/dist/style.css +272 -33
  694. package/dist/{switch-BBeMfeQ2.js → switch-DiSlsWUt.js} +2 -2
  695. package/dist/{switch-BBeMfeQ2.js.map → switch-DiSlsWUt.js.map} +1 -1
  696. package/dist/{tabs-tab-D9ndsGQu.cjs → tabs-tab-CqcY4tHE.cjs} +2 -2
  697. package/dist/{tabs-tab-D9ndsGQu.cjs.map → tabs-tab-CqcY4tHE.cjs.map} +1 -1
  698. package/dist/{tabs-tab-BchiQf0E.js → tabs-tab-CzpXzpf-.js} +2 -2
  699. package/dist/{tabs-tab-BchiQf0E.js.map → tabs-tab-CzpXzpf-.js.map} +1 -1
  700. package/dist/{thread-list-D6tyuO1M.cjs → thread-list-D-VuTZnC.cjs} +2 -2
  701. package/dist/{thread-list-D6tyuO1M.cjs.map → thread-list-D-VuTZnC.cjs.map} +1 -1
  702. package/dist/{thread-list-2YHnS82L.js → thread-list-Duf5N74Z.js} +2 -2
  703. package/dist/{thread-list-2YHnS82L.js.map → thread-list-Duf5N74Z.js.map} +1 -1
  704. package/dist/{time-picker-Bo6GJcmz.js → time-picker-CF6_miti.js} +2 -2
  705. package/dist/{time-picker-Bo6GJcmz.js.map → time-picker-CF6_miti.js.map} +1 -1
  706. package/dist/{time-picker-D7hr3X0_.cjs → time-picker-DbDeIg8E.cjs} +2 -2
  707. package/dist/{time-picker-D7hr3X0_.cjs.map → time-picker-DbDeIg8E.cjs.map} +1 -1
  708. package/dist/{tool-approval-BpskZTWy.cjs → tool-approval-S6ml_xyU.cjs} +3 -3
  709. package/dist/{tool-approval-BpskZTWy.cjs.map → tool-approval-S6ml_xyU.cjs.map} +1 -1
  710. package/dist/{tool-approval-BQ6sDvyS.js → tool-approval-TB8r2U_c.js} +3 -3
  711. package/dist/{tool-approval-BQ6sDvyS.js.map → tool-approval-TB8r2U_c.js.map} +1 -1
  712. package/dist/{tool-call-arguments-B86JP3Dy.js → tool-call-arguments-CCkJ1btR.js} +3 -3
  713. package/dist/{tool-call-arguments-B86JP3Dy.js.map → tool-call-arguments-CCkJ1btR.js.map} +1 -1
  714. package/dist/{tool-call-arguments-Bj2MA4SW.cjs → tool-call-arguments-DyukJmhY.cjs} +3 -3
  715. package/dist/{tool-call-arguments-Bj2MA4SW.cjs.map → tool-call-arguments-DyukJmhY.cjs.map} +1 -1
  716. package/dist/{tool-call-mono-BAYC7OZl.js → tool-call-mono-CASKyxNt.js} +2 -2
  717. package/dist/{tool-call-mono-BAYC7OZl.js.map → tool-call-mono-CASKyxNt.js.map} +1 -1
  718. package/dist/{tool-call-mono-C42l0zrM.cjs → tool-call-mono-D8XffwXR.cjs} +2 -2
  719. package/dist/{tool-call-mono-C42l0zrM.cjs.map → tool-call-mono-D8XffwXR.cjs.map} +1 -1
  720. package/dist/{tool-call-output-CO6lqtGh.js → tool-call-output-qgqn19KC.js} +2 -2
  721. package/dist/{tool-call-output-CO6lqtGh.js.map → tool-call-output-qgqn19KC.js.map} +1 -1
  722. package/dist/{tool-call-output-BDua5O1z.cjs → tool-call-output-xx1drXqO.cjs} +2 -2
  723. package/dist/{tool-call-output-BDua5O1z.cjs.map → tool-call-output-xx1drXqO.cjs.map} +1 -1
  724. package/dist/{tool-card-C8IrtMuQ.js → tool-card-BftktBoV.js} +4 -4
  725. package/dist/{tool-card-C8IrtMuQ.js.map → tool-card-BftktBoV.js.map} +1 -1
  726. package/dist/{tool-card-C0pNVEva.cjs → tool-card-NFkMpChW.cjs} +4 -4
  727. package/dist/{tool-card-C0pNVEva.cjs.map → tool-card-NFkMpChW.cjs.map} +1 -1
  728. package/dist/{traces-data-list-L_r2GAtr.js → traces-data-list-1X6UBM6Y.js} +2 -2
  729. package/dist/{traces-data-list-L_r2GAtr.js.map → traces-data-list-1X6UBM6Y.js.map} +1 -1
  730. package/dist/{traces-data-list-DaFA1Ccg.cjs → traces-data-list-BXSXW3E6.cjs} +2 -2
  731. package/dist/{traces-data-list-DaFA1Ccg.cjs.map → traces-data-list-BXSXW3E6.cjs.map} +1 -1
  732. package/dist/{use-workflow-graph-runtime-CwDL7DzY.cjs → use-workflow-graph-runtime-C8TkqjvM.cjs} +3 -3
  733. package/dist/{use-workflow-graph-runtime-CwDL7DzY.cjs.map → use-workflow-graph-runtime-C8TkqjvM.cjs.map} +1 -1
  734. package/dist/{use-workflow-graph-runtime-DS7eWso7.js → use-workflow-graph-runtime-DX56livO.js} +3 -3
  735. package/dist/{use-workflow-graph-runtime-DS7eWso7.js.map → use-workflow-graph-runtime-DX56livO.js.map} +1 -1
  736. package/dist/{workflow-code-dialog-content-BUCZZoKf.js → workflow-code-dialog-content-DG-Lmvgu.js} +3 -3
  737. package/dist/{workflow-code-dialog-content-BUCZZoKf.js.map → workflow-code-dialog-content-DG-Lmvgu.js.map} +1 -1
  738. package/dist/{workflow-code-dialog-content-B7YU2kfe.cjs → workflow-code-dialog-content-vC_ddCYp.cjs} +3 -3
  739. package/dist/{workflow-code-dialog-content-B7YU2kfe.cjs.map → workflow-code-dialog-content-vC_ddCYp.cjs.map} +1 -1
  740. package/dist/{workflow-condition-card-DnSlcZ2s.js → workflow-condition-card-DMkPh5TM.js} +3 -3
  741. package/dist/{workflow-condition-card-DnSlcZ2s.js.map → workflow-condition-card-DMkPh5TM.js.map} +1 -1
  742. package/dist/{workflow-condition-card-CbaDpVa_.cjs → workflow-condition-card-bn5mrwKe.cjs} +3 -3
  743. package/dist/{workflow-condition-card-CbaDpVa_.cjs.map → workflow-condition-card-bn5mrwKe.cjs.map} +1 -1
  744. package/dist/{workflow-data-edge-view-BIiMA9zg.js → workflow-data-edge-view-De0xCrVu.js} +2 -2
  745. package/dist/{workflow-data-edge-view-BIiMA9zg.js.map → workflow-data-edge-view-De0xCrVu.js.map} +1 -1
  746. package/dist/{workflow-data-edge-view-BHvpuvmp.cjs → workflow-data-edge-view-kmB6j-ui.cjs} +2 -2
  747. package/dist/{workflow-data-edge-view-BHvpuvmp.cjs.map → workflow-data-edge-view-kmB6j-ui.cjs.map} +1 -1
  748. package/dist/{workflow-debug-controls-h7Q-RlJ2.js → workflow-debug-controls-CJTqoarc.js} +2 -2
  749. package/dist/{workflow-debug-controls-h7Q-RlJ2.js.map → workflow-debug-controls-CJTqoarc.js.map} +1 -1
  750. package/dist/{workflow-debug-controls-D9rmMeH-.cjs → workflow-debug-controls-CqaM7s-K.cjs} +2 -2
  751. package/dist/{workflow-debug-controls-D9rmMeH-.cjs.map → workflow-debug-controls-CqaM7s-K.cjs.map} +1 -1
  752. package/dist/{workflow-edge-data-button-D5oK4NS5.js → workflow-edge-data-button-CXbj67U9.js} +4 -4
  753. package/dist/{workflow-edge-data-button-D5oK4NS5.js.map → workflow-edge-data-button-CXbj67U9.js.map} +1 -1
  754. package/dist/{workflow-edge-data-button-Cz2rcoDr.cjs → workflow-edge-data-button-av1zCMfP.cjs} +4 -4
  755. package/dist/{workflow-edge-data-button-Cz2rcoDr.cjs.map → workflow-edge-data-button-av1zCMfP.cjs.map} +1 -1
  756. package/dist/{workflow-step-action-DmUW2AMM.js → workflow-step-action-AG05Ly8P.js} +2 -2
  757. package/dist/{workflow-step-action-DmUW2AMM.js.map → workflow-step-action-AG05Ly8P.js.map} +1 -1
  758. package/dist/{workflow-step-action-Ssz6Z2t5.cjs → workflow-step-action-BsBZk7j6.cjs} +2 -2
  759. package/dist/{workflow-step-action-Ssz6Z2t5.cjs.map → workflow-step-action-BsBZk7j6.cjs.map} +1 -1
  760. package/package.json +10 -10
  761. package/dist/Avatar-BPHG0wrq.cjs +0 -45
  762. package/dist/Avatar-BPHG0wrq.cjs.map +0 -1
  763. package/dist/Avatar-DAnyIHjm.js +0 -43
  764. package/dist/Avatar-DAnyIHjm.js.map +0 -1
  765. package/dist/Button-BfZzgZrA.cjs.map +0 -1
  766. package/dist/Button-C8QDEN9j.js.map +0 -1
  767. package/dist/data-panel-DfVGx0Ea.js.map +0 -1
  768. package/dist/data-panel-Dhg7s3fD.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"side-dialog-OPXvmRDA.cjs","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\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\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\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 onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\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","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["draculaInit","t","EditorView","HighlightStyle","syntaxHighlighting","useTheme","useMemo","useState","Section","jsxs","ButtonsGroup","jsx","CopyButton","Button","AlignLeftIcon","AlignJustifyIcon","raisedSurfaceStyle","ReactCodeMirror","json","DrawerInteractive","cn","ArrowUpIcon","ArrowDownIcon","React","Drawer","DrawerPortal","DrawerBackdrop","DrawerViewport","DrawerPopup","DrawerTitle","DrawerDescription","DrawerClose","transitions","ChevronsRightIcon","PortalContainerProvider"],"mappings":"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"}
1
+ {"version":3,"file":"side-dialog-CUQGSSLs.cjs","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\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\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\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 onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\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","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["draculaInit","t","EditorView","HighlightStyle","syntaxHighlighting","useTheme","useMemo","useState","Section","jsxs","ButtonsGroup","jsx","CopyButton","Button","AlignLeftIcon","AlignJustifyIcon","raisedSurfaceStyle","ReactCodeMirror","json","DrawerInteractive","cn","ArrowUpIcon","ArrowDownIcon","React","Drawer","DrawerPortal","DrawerBackdrop","DrawerViewport","DrawerPopup","DrawerTitle","DrawerDescription","DrawerClose","transitions","ChevronsRightIcon","PortalContainerProvider"],"mappings":"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"}
@@ -8,13 +8,13 @@ import CodeMirror from '@uiw/react-codemirror';
8
8
  import { AlignLeftIcon, AlignJustifyIcon, ArrowUpIcon, ArrowDownIcon, ChevronsRightIcon } from 'lucide-react';
9
9
  import * as React from 'react';
10
10
  import { useState, useMemo } from 'react';
11
- import { B as Button } from './Button-C8QDEN9j.js';
11
+ import { B as Button } from './Button-60jVnaHt.js';
12
12
  import { B as ButtonsGroup } from './buttons-group-BU9ErJSH.js';
13
- import { C as CopyButton } from './copy-button-CDyuUYUr.js';
14
- import { S as Section } from './section-DcjTdrqz.js';
13
+ import { C as CopyButton } from './copy-button-Af_Qt7G1.js';
14
+ import { S as Section } from './section-Dq6aFxlH.js';
15
15
  import { u as useTheme } from './theme-provider-BbMYMtxP.js';
16
16
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
17
- import { j as DrawerInteractive, D as Drawer, l as DrawerPortal, a as DrawerBackdrop, q as DrawerViewport, k as DrawerPopup, o as DrawerTitle, e as DrawerDescription, c as DrawerClose } from './drawer-CZlqOjd2.js';
17
+ import { j as DrawerInteractive, D as Drawer, l as DrawerPortal, a as DrawerBackdrop, q as DrawerViewport, k as DrawerPopup, o as DrawerTitle, e as DrawerDescription, c as DrawerClose } from './drawer-CwVDeB8H.js';
18
18
  import { c as cn } from './cn-coERSHz5.js';
19
19
  import { PortalContainerProvider } from './primitives/portal-container.es.js';
20
20
  import { transitions } from './primitives/transitions.es.js';
@@ -271,4 +271,4 @@ const SideDialog = Object.assign(SideDialogRoot, {
271
271
  });
272
272
 
273
273
  export { SideDialog as S };
274
- //# sourceMappingURL=side-dialog-CB_wrLtE.js.map
274
+ //# sourceMappingURL=side-dialog-DSxU1To7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"side-dialog-CB_wrLtE.js","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\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\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\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 onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\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","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["t","ReactCodeMirror"],"mappings":"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"}
1
+ {"version":3,"file":"side-dialog-DSxU1To7.js","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\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\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\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 onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\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","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["t","ReactCodeMirror"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,SAAS,wBAAA,GAAsC;AAC7C,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,QAAA,EAAU;AAAA,MACR,UAAA,EAAY,kBAAA;AAAA,MACZ,QAAA,EAAU,qBAAA;AAAA,MACV,aAAA,EAAe,aAAA;AAAA,MACf,gBAAA,EAAkB,aAAA;AAAA,MAClB,gBAAA,EAAkB,yBAAA;AAAA,MAClB,UAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,CAACA,KAAE,SAAA,EAAWA,IAAA,CAAE,YAAY,CAAA,EAAG;AAAA,GAChD,CAAA;AACH;AAGA,SAAS,yBAAA,GAAuC;AAC9C,EAAA,MAAM,WAAA,GAAc,WAAW,KAAA,CAAM;AAAA,IACnC,GAAA,EAAK;AAAA,MACH,eAAA,EAAiB,aAAA;AAAA,MACjB,KAAA,EAAO,mBAAA;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,0BAAA,EAA4B;AAAA,MAC1B,UAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,eAAA,EAAiB,aAAA;AAAA,MACjB,KAAA,EAAO,oBAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAO,mBAAA;AAAA,MACP,UAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,eAAA,EAAiB;AAAA,KACnB;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,eAAA,EAAiB;AAAA,KACnB;AAAA,IACA,4BAAA,EAA8B;AAAA,MAC5B,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,eAAe,MAAA,CAAO;AAAA,IAC3C,EAAE,KAAK,CAACA,IAAA,CAAE,SAASA,IAAA,CAAE,OAAO,CAAA,EAAG,KAAA,EAAO,oBAAA,EAAqB;AAAA,IAC3D,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,MAAA,EAAQA,IAAA,CAAE,IAAA,EAAMA,IAAA,CAAE,MAAM,CAAA,EAAG,KAAA,EAAO,sBAAA,EAAuB;AAAA,IACnE,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,MAAMA,IAAA,CAAE,IAAA,EAAMA,IAAA,CAAE,OAAA,CAAQA,IAAA,CAAE,YAAY,CAAC,CAAA,EAAG,OAAO,uBAAA,EAAwB;AAAA,IACnF,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,OAAA,EAASA,IAAA,CAAE,QAAA,EAAUA,IAAA,CAAE,OAAO,CAAA,EAAG,KAAA,EAAO,uBAAA,EAAwB;AAAA,IAC1E,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,QAAA,CAASA,IAAA,CAAE,YAAY,CAAA,EAAGA,IAAA,CAAE,YAAY,CAAA,EAAG,KAAA,EAAO,oBAAA,EAAqB;AAAA,IACjF;AAAA,MACE,GAAA,EAAK,CAACA,IAAA,CAAE,UAAA,CAAWA,KAAE,YAAY,CAAA,EAAGA,IAAA,CAAE,QAAA,CAASA,KAAE,YAAY,CAAA,EAAGA,IAAA,CAAE,SAAA,EAAWA,KAAE,aAAa,CAAA;AAAA,MAC5F,KAAA,EAAO;AAAA,KACT;AAAA,IACA,EAAE,KAAK,CAACA,IAAA,CAAE,cAAcA,IAAA,CAAE,MAAM,CAAA,EAAG,KAAA,EAAO,oBAAA,EAAqB;AAAA,IAC/D,EAAE,KAAK,CAACA,IAAA,CAAE,MAAMA,IAAA,CAAE,KAAK,CAAA,EAAG,KAAA,EAAO,sBAAA;AAAuB,GACzD,CAAA;AAED,EAAA,OAAO,CAAC,WAAA,EAAa,kBAAA,CAAmB,cAAc,CAAC,CAAA;AACzD;AAEA,MAAM,qBAAqB,MAAiB;AAC1C,EAAA,MAAM,MAAA,GAAS,QAAA,EAAS,CAAE,aAAA,KAAkB,MAAA;AAC5C,EAAA,OAAO,OAAA,CAAQ,MAAO,MAAA,GAAS,wBAAA,KAA6B,yBAAA,EAA0B,EAAI,CAAC,MAAM,CAAC,CAAA;AACpG,CAAA;AASO,SAAS,qBAAA,CAAsB,EAAE,OAAA,GAAU,EAAA,EAAI,OAAO,IAAA,EAAM,UAAA,GAAa,OAAM,EAA+B;AACnH,EAAA,MAAM,QAAQ,kBAAA,EAAmB;AACjC,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAI,SAAS,KAAK,CAAA;AACpE,EAAA,MAAM,gBAAA,GAAmB,QAAQ,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;AAE5E,EAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,OAAA,CAAQ,QAAR,EACC,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,OAAA,CAAQ,SAAR,EACE,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA;AAAA,OAAA,EACH,CAAA;AAAA,sBACA,IAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,IAAA,EACjB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAS,OAAA,IAAW,YAAA,EAAc,CAAA;AAAA,QAC7C,gBAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAY,sBAAsB,uBAAA,GAA0B,qBAAA;AAAA,YAC5D,OAAA,EAAS,MAAM,sBAAA,CAAuB,CAAC,mBAAmB,CAAA;AAAA,YAEzD,QAAA,EAAA,mBAAA,mBAAsB,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA,uBAAM,gBAAA,EAAA,EAAiB;AAAA;AAAA;AAC/D,OAAA,EAEJ;AAAA,KAAA,EACF,CAAA;AAAA,IACC,OAAA,oBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,GAAG,kBAAkB,CAAA,sGAAA,CAAA;AAAA,QAE/B,QAAA,EAAA,UAAA,uBACE,KAAA,EAAA,EAAI,SAAA,EAAU,kDACb,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EAAa,QAAA,EAAA,OAAA,EAAQ,CAAA,EACtC,oBAEA,GAAA,CAACC,UAAA,EAAA,EAAgB,UAAA,EAAY,CAAC,IAAA,EAAK,EAAG,WAAW,YAAY,CAAA,EAAG,KAAA,EAAc,KAAA,EAAO,YAAA,EAAc;AAAA;AAAA;AAEvG,GAAA,EAEJ,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;;AC/IO,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA2B;AACjF,EAAA,uBACE,GAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACC,MAAA,sBACG,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,0DAAA,EAA4D,SAAS,GAAI,QAAA,EAAS;AAAA;AAAA,GAEzG;AAEJ;;ACTO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA0B;AAC/E,EAAA,2BAAQ,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,wCAAA,EAA0C,SAAS,GAAI,QAAA,EAAS,CAAA;AAC5F;;ACDO,SAAS,kBAAkB,EAAE,QAAA,EAAU,SAAA,EAAW,EAAA,GAAK,MAAK,EAA2B;AAC5F,EAAA,MAAM,UAAA,GAAa,EAAA;AAEnB,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,wBAAA;AAAA,QACA,EAAA,KAAO,OAAO,8BAAA,GAAiC,iCAAA;AAAA,QAC/C,0EAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;ACbO,SAAS,aAAA,CAAc,EAAE,MAAA,EAAQ,UAAA,EAAY,WAAU,EAAuB;AACnF,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,MAAA,IAAS;AAAA,EACX,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,UAAA,IAAa;AAAA,EACf,CAAA;AAEA,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,2BAA2B,oDAAA,EAAsD,SAAS,CAAA,EACzG,QAAA,EAAA,CAAA,MAAA,IAAU,+BACV,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,2BAA2B,CAAA,EAC5C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,gBAAA,EAAkB,QAAA,EAAU,CAAC,YAAY,IAAA,kBAAM,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA,EAAI,QAAA,EAAA,UAAA,EAEjF,CAAA;AAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,YAAA,EAAc,QAAA,EAAU,CAAC,MAAA,EAAQ,IAAA,kBAAM,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA,EAAI,QAAA,EAAA,MAAA,EAE3E;AAAA,GAAA,EACF,CAAA,EAEJ,CAAA;AAEJ;;ACLO,SAAS,cAAA,CAAe;AAAA,EAC7B,WAAA;AAAA,EACA,iBAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,KAAA,GAAQ,CAAA;AAAA,EACR;AACF,CAAA,EAAwB;AACtB,EAAA,MAAM,iBAAiB,OAAA,KAAY,cAAA;AASnC,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,KAAA,CAAM,SAAgC,IAAI,CAAA;AAE9E,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,IAAA,EAAM,MAAA;AAAA,MACN,cAAc,CAAA,IAAA,KAAQ;AACpB,QAAA,IAAI,CAAC,MAAM,OAAA,IAAU;AAAA,MACvB,CAAA;AAAA,MAEA,+BAAC,YAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,CAAC,cAAA,oBAAkB,GAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAU,kBAAA,EAAmB,CAAA;AAAA,wBACjE,GAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAW,cAAA,GAAiB,wBAAwB,MAAA,EAClE,QAAA,kBAAA,IAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,4GAAA;AAAA,cACA;AAAA,gBACE,sCAAsC,KAAA,KAAU,CAAA;AAAA,gBAChD,sCAAsC,KAAA,KAAU,CAAA;AAAA,gBAChD,sCAAsC,KAAA,KAAU,CAAA;AAAA,gBAChD,mEAAA,EAAqE;AAAA,eACvE;AAAA,cACA;AAAA,aACF;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,8BAC9C,GAAA,CAAC,iBAAA,EAAA,EAAkB,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,iBAAA,EAAkB,CAAA;AAAA,cAEzD,CAAC,cAAA,oBACA,GAAA;AAAA,gBAAC,WAAA;AAAA,gBAAA;AAAA,kBACC,MAAA,kBACE,GAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,IAAA,EAAK,QAAA;AAAA,sBACL,SAAA,EAAW,EAAA;AAAA,wBACT,2KAAA;AAAA,wBACA,WAAA,CAAY,GAAA;AAAA,wBACZ;AAAA,uBACF;AAAA,sBACA,YAAA,EAAW,OAAA;AAAA,sBAEX,8BAAC,iBAAA,EAAA,EAAkB;AAAA;AAAA;AACrB;AAAA,eAEJ;AAAA,8BAIF,GAAA,CAAC,qBAAkB,MAAA,kBAAQ,GAAA,CAAC,SAAI,GAAA,EAAK,aAAA,EAAe,SAAA,EAAU,UAAA,EAAW,CAAA,EAAI,CAAA;AAAA,8BAE7E,GAAA,CAAC,uBAAA,EAAA,EAAwB,SAAA,EAAW,UAAA,EAClC,QAAA,kBAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,GAAG,aAAA,EAAe;AAAA,oBAC3B,wBAAwB,CAAC;AAAA,mBAC1B,CAAA;AAAA,kBAEA;AAAA;AAAA,eACH,EACF;AAAA;AAAA;AAAA,SACF,EACF;AAAA,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;;ACvGO,SAAS,aAAA,CAAc,EAAE,QAAA,EAAU,SAAA,EAAU,EAAuB;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,CAAA,6EAAA,CAAA;AAAA,QACA,6HAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;ACTO,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,cAAA,EAAgB;AAAA,EACtD,GAAA,EAAK,aAAA;AAAA,EACL,MAAA,EAAQ,gBAAA;AAAA,EACR,OAAA,EAAS,iBAAA;AAAA,EACT,OAAA,EAAS,iBAAA;AAAA,EACT,WAAA,EAAa,qBAAA;AAAA,EACb,GAAA,EAAK;AACP,CAAC;;;;"}
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const domains_traces_components_spanPayload_spanPayloadJson = require('./domains/traces/components/span-payload/span-payload-json.cjs.js');
5
5
  const collapsible = require('./collapsible-C6BZhVRG.cjs');
6
6
  const disclosureChevron = require('./disclosure-chevron-B_gmYFR5.cjs');
7
- const markdownRenderer = require('./markdown-renderer-DaXAim8y.cjs');
7
+ const markdownRenderer = require('./markdown-renderer-BXTNiZbz.cjs');
8
8
  const Txt = require('./Txt-DXjXpX9r.cjs');
9
9
  const domains_chat_components_badgeWrapper = require('./domains/chat/components/badge-wrapper.cjs.js');
10
10
  const activity = require('./activity-CaFdLiPz.cjs');
@@ -75,4 +75,4 @@ exports.SpanPayloadLabel = SpanPayloadLabel;
75
75
  exports.SpanPayloadMarkdown = SpanPayloadMarkdown;
76
76
  exports.SpanPayloadTool = SpanPayloadTool;
77
77
  exports.SpanPayloadToolCalls = SpanPayloadToolCalls;
78
- //# sourceMappingURL=span-payload-primitives-sEGOgFlX.cjs.map
78
+ //# sourceMappingURL=span-payload-primitives-DIxmotnO.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-sEGOgFlX.cjs","sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField, SpanPayloadLabel } from './span-payload-primitives';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function SpanPayloadTool({ value, showLabel = true }: { value: unknown; showLabel?: boolean }) {\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const hasBody = input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n {showLabel && <SpanPayloadLabel>{value.type === 'tool-result' ? 'Tool result' : 'Tool call'}</SpanPayloadLabel>}\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} showLabel={false} />\n </li>\n ))}\n </ul>\n );\n}\n"],"names":["jsx","SpanPayloadJson","presentTool","jsxs","BadgeWrapper","ActivityHeadline","Txt","MarkdownRenderer","Collapsible","CollapsibleTrigger","DisclosureChevron","CollapsibleContent"],"mappings":"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"}
1
+ {"version":3,"file":"span-payload-primitives-DIxmotnO.cjs","sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField, SpanPayloadLabel } from './span-payload-primitives';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function SpanPayloadTool({ value, showLabel = true }: { value: unknown; showLabel?: boolean }) {\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const hasBody = input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n {showLabel && <SpanPayloadLabel>{value.type === 'tool-result' ? 'Tool result' : 'Tool call'}</SpanPayloadLabel>}\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} showLabel={false} />\n </li>\n ))}\n </ul>\n );\n}\n"],"names":["jsx","SpanPayloadJson","presentTool","jsxs","BadgeWrapper","ActivityHeadline","Txt","MarkdownRenderer","Collapsible","CollapsibleTrigger","DisclosureChevron","CollapsibleContent"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { SpanPayloadJson } from './domains/traces/components/span-payload/span-payload-json.es.js';
3
3
  import { C as Collapsible, b as CollapsibleTrigger, a as CollapsibleContent } from './collapsible-DglEffBF.js';
4
4
  import { D as DisclosureChevron } from './disclosure-chevron-BWZ8Alz1.js';
5
- import { M as MarkdownRenderer } from './markdown-renderer-Cly6VMDr.js';
5
+ import { M as MarkdownRenderer } from './markdown-renderer-Ct-q_KTF.js';
6
6
  import { T as Txt } from './Txt-BuzYj7Vy.js';
7
7
  import { BadgeWrapper } from './domains/chat/components/badge-wrapper.es.js';
8
8
  import { e as ActivityHeadline } from './activity-BsrB5ADa.js';
@@ -68,4 +68,4 @@ function SpanPayloadToolCalls({ toolCalls }) {
68
68
  }
69
69
 
70
70
  export { SpanPayloadField as S, SpanPayloadMarkdown as a, SpanPayloadToolCalls as b, SpanPayloadCollapsible as c, SpanPayloadLabel as d, SpanPayloadTool as e };
71
- //# sourceMappingURL=span-payload-primitives-Cixom2Py.js.map
71
+ //# sourceMappingURL=span-payload-primitives-dTs5UrjA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-Cixom2Py.js","sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField, SpanPayloadLabel } from './span-payload-primitives';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function SpanPayloadTool({ value, showLabel = true }: { value: unknown; showLabel?: boolean }) {\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const hasBody = input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n {showLabel && <SpanPayloadLabel>{value.type === 'tool-result' ? 'Tool result' : 'Tool call'}</SpanPayloadLabel>}\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} showLabel={false} />\n </li>\n ))}\n </ul>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"span-payload-primitives-dTs5UrjA.js","sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField, SpanPayloadLabel } from './span-payload-primitives';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function SpanPayloadTool({ value, showLabel = true }: { value: unknown; showLabel?: boolean }) {\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const hasBody = input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n {showLabel && <SpanPayloadLabel>{value.type === 'tool-result' ? 'Tool result' : 'Tool call'}</SpanPayloadLabel>}\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} showLabel={false} />\n </li>\n ))}\n </ul>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
- export type AvatarSize = 'sm' | 'md' | 'lg';
2
- export type AvatarProps = {
3
- src?: string;
4
- name: string;
5
- size?: AvatarSize;
6
- interactive?: boolean;
7
- color?: string;
8
- textColor?: string;
1
+ import { AvatarBadge } from './avatar-badge';
2
+ import { AvatarElement } from './avatar-element';
3
+ import { AvatarFallback } from './avatar-fallback';
4
+ import { AvatarGroup } from './avatar-group';
5
+ import { AvatarGroupCount } from './avatar-group-count';
6
+ import { AvatarImage } from './avatar-image';
7
+ export type { AvatarSize } from './avatar-size';
8
+ export type { AvatarProps } from './avatar-named';
9
+ export type { AvatarRootProps } from './avatar-root';
10
+ export type { AvatarImageProps } from './avatar-image';
11
+ export type { AvatarFallbackProps } from './avatar-fallback';
12
+ export type { AvatarBadgeProps, AvatarBadgeTone } from './avatar-badge';
13
+ export type { AvatarGroupProps } from './avatar-group';
14
+ export type { AvatarGroupCountProps } from './avatar-group-count';
15
+ export declare const Avatar: typeof AvatarElement & {
16
+ Image: typeof AvatarImage;
17
+ Fallback: typeof AvatarFallback;
18
+ Badge: typeof AvatarBadge;
19
+ Group: typeof AvatarGroup;
20
+ GroupCount: typeof AvatarGroupCount;
9
21
  };
10
- export declare const Avatar: ({ src, name, size, interactive, color, textColor }: AvatarProps) => import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from 'react';
2
+ export type AvatarBadgeTone = 'neutral' | 'success' | 'warning' | 'destructive' | 'info';
3
+ export type AvatarBadgeProps = ComponentProps<'span'> & {
4
+ tone?: AvatarBadgeTone;
5
+ };
6
+ export declare function AvatarBadge({ tone, className, children, ...props }: AvatarBadgeProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { AvatarProps } from './avatar-named';
2
+ import { AvatarRootProps } from './avatar-root';
3
+ export declare function AvatarElement(props: AvatarProps | AvatarRootProps): import("react").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { Avatar as BaseAvatar } from '@base-ui/react/avatar';
2
+ export type AvatarFallbackProps = Omit<BaseAvatar.Fallback.Props, 'className'> & {
3
+ className?: string;
4
+ };
5
+ export declare function AvatarFallback({ className, ...props }: AvatarFallbackProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ export type AvatarGroupCountProps = ComponentProps<'div'>;
3
+ export declare function AvatarGroupCount({ className, ...props }: AvatarGroupCountProps): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from 'react';
2
+ import { AvatarSize } from './avatar-size';
3
+ export type AvatarGroupProps = ComponentProps<'div'> & {
4
+ size?: AvatarSize;
5
+ };
6
+ export declare function AvatarGroup({ size, className, children, ...props }: AvatarGroupProps): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Avatar as BaseAvatar } from '@base-ui/react/avatar';
2
+ export type AvatarImageProps = Omit<BaseAvatar.Image.Props, 'className' | 'alt'> & {
3
+ alt: string;
4
+ className?: string;
5
+ };
6
+ export declare function AvatarImage({ className, ...props }: AvatarImageProps): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { AvatarSize } from './avatar-size';
2
+ export type AvatarProps = {
3
+ src?: string;
4
+ name: string;
5
+ size?: AvatarSize;
6
+ interactive?: boolean;
7
+ color?: string;
8
+ textColor?: string;
9
+ };
10
+ export declare function AvatarNamed({ src, name, size, interactive, color, textColor }: AvatarProps): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Avatar as BaseAvatar } from '@base-ui/react/avatar';
2
+ import { AvatarSize } from './avatar-size';
3
+ export type AvatarRootProps = Omit<BaseAvatar.Root.Props, 'className'> & {
4
+ size?: AvatarSize;
5
+ className?: string;
6
+ name?: never;
7
+ };
8
+ export declare function AvatarRoot({ size, className, ...props }: AvatarRootProps): import("react").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'control';
2
+ export declare const avatarSizeClasses: Record<AvatarSize, string>;
3
+ export declare const avatarTextClasses: Record<AvatarSize, string>;
4
+ export declare const avatarIconClasses: Record<AvatarSize, string>;
5
+ export declare const AvatarSizeContext: import('react').Context<AvatarSize | undefined>;
@@ -0,0 +1,3 @@
1
+ export type DataPanelVariant = 'drawer' | 'inline';
2
+ export declare const DataPanelVariantContext: import('react').Context<DataPanelVariant>;
3
+ export declare const useDataPanelVariant: () => DataPanelVariant;
@@ -1,13 +1,19 @@
1
1
  import * as React from 'react';
2
- export interface DataPanelProps {
3
- /** Whether the panel is shown. The panel is always a modal Drawer dialog. */
2
+ interface DataPanelBaseProps {
3
+ /** Accessible name (screen-reader only; the visible title comes from `DataPanel.Heading`). */
4
+ title: string;
5
+ /** Accessible description (screen-reader only). */
6
+ description?: string;
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ }
10
+ export interface DataPanelDrawerProps extends DataPanelBaseProps {
11
+ /** `drawer` (default): a modal side drawer portaled to the right edge of the page. */
12
+ variant?: 'drawer';
13
+ /** Whether the drawer is shown. */
4
14
  open: boolean;
5
15
  /** Called when the user dismisses the panel (close button, Escape, backdrop, swipe). */
6
16
  onClose?: () => void;
7
- /** Accessible dialog name (screen-reader only; the visible title comes from `DataPanel.Heading`). */
8
- title: string;
9
- /** Accessible dialog description (screen-reader only). */
10
- description?: string;
11
17
  /**
12
18
  * Elevation level when several sibling panels are open at once (not nested in
13
19
  * the React tree, so Base UI's own stacking doesn't apply). A deeper panel is
@@ -23,7 +29,20 @@ export interface DataPanelProps {
23
29
  * animates the width.
24
30
  */
25
31
  size?: 'md' | 'half' | 'wide' | 'full';
26
- children: React.ReactNode;
27
- className?: string;
28
32
  }
29
- export declare function DataPanelRoot({ open, onClose, title, description, depth, size, children, className, }: DataPanelProps): React.JSX.Element;
33
+ export interface DataPanelInlineProps extends DataPanelBaseProps {
34
+ /**
35
+ * `inline`: the panel card is rendered where it is mounted, in the normal
36
+ * document flow (no portal, backdrop, focus trap or dismissal gestures).
37
+ * Mount/unmount it to show/hide it. It fills its container's height, so give
38
+ * the parent a bounded height for `DataPanel.Content` to scroll.
39
+ */
40
+ variant: 'inline';
41
+ open?: never;
42
+ onClose?: never;
43
+ depth?: never;
44
+ size?: never;
45
+ }
46
+ export type DataPanelProps = DataPanelDrawerProps | DataPanelInlineProps;
47
+ export declare function DataPanelRoot(props: DataPanelProps): React.JSX.Element;
48
+ export {};
@@ -1,5 +1,5 @@
1
1
  export { DataPanel } from './data-panel';
2
- export type { DataPanelProps } from './data-panel-root';
2
+ export type { DataPanelProps, DataPanelDrawerProps, DataPanelInlineProps } from './data-panel-root';
3
3
  export type { DataPanelHeaderProps } from './data-panel-header';
4
4
  export type { DataPanelHeaderContentProps } from './data-panel-header-content';
5
5
  export type { DataPanelHeaderActionsProps } from './data-panel-header-actions';
@@ -0,0 +1,2 @@
1
+ export * from './pagination';
2
+ export * from './pagination-range';
@@ -0,0 +1,10 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { UseFluidHoverReturn } from '../../../hooks/use-fluid-hover';
3
+ export type PaginationContextValue = {
4
+ registerItem: UseFluidHoverReturn['registerItem'];
5
+ allocateIndex: () => number;
6
+ releaseIndex: (index: number) => void;
7
+ setCurrentIndex: Dispatch<SetStateAction<number | null>>;
8
+ };
9
+ export declare const PaginationContext: import('react').Context<PaginationContextValue | undefined>;
10
+ export declare function usePaginationItemRef(): (element: HTMLElement | null) => void;
@@ -0,0 +1,8 @@
1
+ export type PaginationRangeItem = {
2
+ kind: 'page';
3
+ page: number;
4
+ } | {
5
+ kind: 'ellipsis';
6
+ key: 'start' | 'end';
7
+ };
8
+ export declare function getPaginationRange(page: number, pageCount: number): PaginationRangeItem[];