@mastra/playground-ui 63.1.0-alpha.2 → 63.1.0-alpha.4

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 (292) hide show
  1. package/dist/{code-Dcah35Gp.cjs → code-DJReJPSX.cjs} +3 -2
  2. package/dist/code-DJReJPSX.cjs.map +1 -0
  3. package/dist/{code-DAXWNzvf.js → code-DLuATvYu.js} +3 -2
  4. package/dist/code-DLuATvYu.js.map +1 -0
  5. package/dist/{code-block-BzUcNWrb.js → code-block-BQV4o92x.js} +2 -2
  6. package/dist/{code-block-BzUcNWrb.js.map → code-block-BQV4o92x.js.map} +1 -1
  7. package/dist/{code-block-CKLCdWtP.cjs → code-block-DZb0Tb3k.cjs} +2 -2
  8. package/dist/{code-block-CKLCdWtP.cjs.map → code-block-DZb0Tb3k.cjs.map} +1 -1
  9. package/dist/components/Code.cjs.js +1 -1
  10. package/dist/components/Code.es.js +1 -1
  11. package/dist/components/CodeBlock.cjs.js +1 -1
  12. package/dist/components/CodeBlock.es.js +1 -1
  13. package/dist/components/ContentBlocks.cjs.js +6 -2
  14. package/dist/components/ContentBlocks.cjs.js.map +1 -1
  15. package/dist/components/ContentBlocks.es.js +6 -2
  16. package/dist/components/ContentBlocks.es.js.map +1 -1
  17. package/dist/components/DataCodeSection.cjs.js +1 -1
  18. package/dist/components/DataCodeSection.es.js +1 -1
  19. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  20. package/dist/components/DataDetailsPanel.es.js +1 -1
  21. package/dist/components/DataList.cjs.js +3 -3
  22. package/dist/components/DataList.es.js +4 -4
  23. package/dist/components/DataPanel.cjs.js +1 -1
  24. package/dist/components/DataPanel.es.js +1 -1
  25. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  26. package/dist/components/DateTimeRangePicker.es.js +1 -1
  27. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  28. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  29. package/dist/components/FilterBar.cjs.js +3 -1
  30. package/dist/components/FilterBar.cjs.js.map +1 -1
  31. package/dist/components/FilterBar.es.js +4 -2
  32. package/dist/components/FilterBar.es.js.map +1 -1
  33. package/dist/components/LogsDataList.cjs.js +3 -3
  34. package/dist/components/LogsDataList.es.js +3 -3
  35. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  36. package/dist/components/MarkdownRenderer.es.js +1 -1
  37. package/dist/components/SavedViews.cjs.js +1 -1
  38. package/dist/components/SavedViews.es.js +1 -1
  39. package/dist/components/Sidebar.cjs.js +33 -0
  40. package/dist/components/Sidebar.cjs.js.map +1 -1
  41. package/dist/components/Sidebar.es.js +33 -1
  42. package/dist/components/Sidebar.es.js.map +1 -1
  43. package/dist/components/Workflow.cjs.js +1 -1
  44. package/dist/components/Workflow.es.js +1 -1
  45. package/dist/components/ai/activity.cjs.js +1 -1
  46. package/dist/components/ai/activity.es.js +1 -1
  47. package/dist/components/ai/plan.cjs.js +1 -1
  48. package/dist/components/ai/plan.es.js +1 -1
  49. package/dist/components/ai/tool-approval.cjs.js +1 -1
  50. package/dist/components/ai/tool-approval.es.js +1 -1
  51. package/dist/components/ai/tool-call.cjs.js +1 -1
  52. package/dist/components/ai/tool-call.es.js +1 -1
  53. package/dist/{data-code-section-BB2RWius.cjs → data-code-section-DCuBY9Mf.cjs} +2 -2
  54. package/dist/{data-code-section-BB2RWius.cjs.map → data-code-section-DCuBY9Mf.cjs.map} +1 -1
  55. package/dist/{data-code-section-DsU-ubVW.js → data-code-section-DOSV2o6P.js} +2 -2
  56. package/dist/{data-code-section-DsU-ubVW.js.map → data-code-section-DOSV2o6P.js.map} +1 -1
  57. package/dist/{data-list-BbOYiz4B.js → data-list-B4Ho_OCZ.js} +5 -2
  58. package/dist/data-list-B4Ho_OCZ.js.map +1 -0
  59. package/dist/{data-list-2svaWtkq.cjs → data-list-CYpGCm6F.cjs} +5 -2
  60. package/dist/data-list-CYpGCm6F.cjs.map +1 -0
  61. package/dist/{data-list-skeleton-C9Zm5XMX.js → data-list-skeleton-AfVi5OHw.js} +2 -2
  62. package/dist/{data-list-skeleton-C9Zm5XMX.js.map → data-list-skeleton-AfVi5OHw.js.map} +1 -1
  63. package/dist/{data-list-skeleton-C-j6Sf0F.cjs → data-list-skeleton-CIfVTfq4.cjs} +2 -2
  64. package/dist/{data-list-skeleton-C-j6Sf0F.cjs.map → data-list-skeleton-CIfVTfq4.cjs.map} +1 -1
  65. package/dist/{data-panel-CwIdwpov.js → data-panel-C8sHDwrx.js} +2 -2
  66. package/dist/{data-panel-CwIdwpov.js.map → data-panel-C8sHDwrx.js.map} +1 -1
  67. package/dist/{data-panel-CtFwwsPs.cjs → data-panel-DIVqWg0V.cjs} +2 -2
  68. package/dist/{data-panel-CtFwwsPs.cjs.map → data-panel-DIVqWg0V.cjs.map} +1 -1
  69. package/dist/{date-time-range-picker-BT9qan60.js → date-time-range-picker-B9me2TUa.js} +21 -4
  70. package/dist/date-time-range-picker-B9me2TUa.js.map +1 -0
  71. package/dist/{date-time-range-picker-DQa5XLST.cjs → date-time-range-picker-CyoaOAsi.cjs} +21 -4
  72. package/dist/date-time-range-picker-CyoaOAsi.cjs.map +1 -0
  73. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  74. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  75. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  76. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  77. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  78. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  79. package/dist/domains/chat/messages/tripwire-notice.cjs.js +1 -1
  80. package/dist/domains/chat/messages/tripwire-notice.es.js +1 -1
  81. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  82. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  83. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  84. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  85. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  86. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  87. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  88. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  89. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  90. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  91. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
  92. package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
  93. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -1
  94. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
  95. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  96. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  97. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  98. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  99. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -3
  100. package/dist/domains/logs/components/logs-list-view.es.js +3 -3
  101. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  102. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  103. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  104. package/dist/domains/metrics/drilldown.es.js +1 -1
  105. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  106. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  107. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  108. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  109. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  110. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  111. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  112. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  113. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  114. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  115. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  116. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  117. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  118. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  119. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  120. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  121. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  122. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  123. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  124. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  125. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  126. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  127. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  128. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  129. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  130. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  131. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  132. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  133. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  134. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  135. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  136. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  137. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -2
  138. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  139. package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -2
  140. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  141. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +1 -1
  142. package/dist/domains/traces/components/trace-data-panel-view.es.js +1 -1
  143. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  144. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  145. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  146. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  147. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  148. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  149. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  150. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  151. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +3 -3
  152. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
  153. package/dist/domains/traces/components/trace-time-range-chip.es.js +3 -3
  154. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
  155. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  156. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  157. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  158. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  159. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  160. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  161. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +1 -1
  162. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +1 -1
  163. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -1
  164. package/dist/domains/traces/hooks/use-trace-url-state.es.js +1 -1
  165. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +15 -3
  166. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
  167. package/dist/domains/traces/hooks/use-traces-list-source.es.js +13 -4
  168. package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
  169. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  170. package/dist/domains/traces/trace-filters.es.js +1 -1
  171. package/dist/domains/traces/trace-query-filters.cjs.js +1 -3
  172. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  173. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  174. package/dist/domains/traces.cjs.js +1 -3
  175. package/dist/domains/traces.cjs.js.map +1 -1
  176. package/dist/domains/traces.es.js +1 -1
  177. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  178. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  179. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  180. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  181. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  182. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  183. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  184. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  185. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +1 -1
  186. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +1 -1
  187. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  188. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  189. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  190. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  191. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +2 -2
  192. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
  193. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  194. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  195. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
  196. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
  197. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  198. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  199. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  200. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  201. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -2
  202. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -2
  203. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  204. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  205. package/dist/{errors-BiY55qIh.cjs → errors-7WFF-9EC.cjs} +3 -2
  206. package/dist/errors-7WFF-9EC.cjs.map +1 -0
  207. package/dist/{errors-CDTokuME.js → errors-BFVXW8Dr.js} +3 -2
  208. package/dist/errors-BFVXW8Dr.js.map +1 -0
  209. package/dist/{filter-bar-chip-BBErw_aR.cjs → filter-bar-chip-CYCOeX1B.cjs} +8 -4
  210. package/dist/filter-bar-chip-CYCOeX1B.cjs.map +1 -0
  211. package/dist/{filter-bar-chip-DvRTWRwT.js → filter-bar-chip-U55TxGOw.js} +8 -4
  212. package/dist/filter-bar-chip-U55TxGOw.js.map +1 -0
  213. package/dist/hooks/use-local-storage-store.cjs.js +71 -0
  214. package/dist/hooks/use-local-storage-store.cjs.js.map +1 -0
  215. package/dist/hooks/use-local-storage-store.d.ts +2 -0
  216. package/dist/hooks/use-local-storage-store.es.js +66 -0
  217. package/dist/hooks/use-local-storage-store.es.js.map +1 -0
  218. package/dist/layout/tabbed-container.cjs.js +1 -1
  219. package/dist/layout/tabbed-container.es.js +1 -1
  220. package/dist/{logs-data-list-D4sVbF23.cjs → logs-data-list-Bh_wPam2.cjs} +2 -2
  221. package/dist/{logs-data-list-D4sVbF23.cjs.map → logs-data-list-Bh_wPam2.cjs.map} +1 -1
  222. package/dist/{logs-data-list-0_z4s0Sj.js → logs-data-list-CZ2TvWyb.js} +2 -2
  223. package/dist/{logs-data-list-0_z4s0Sj.js.map → logs-data-list-CZ2TvWyb.js.map} +1 -1
  224. package/dist/{markdown-renderer-WesDzhMr.js → markdown-renderer-B55LVMsv.js} +2 -2
  225. package/dist/{markdown-renderer-WesDzhMr.js.map → markdown-renderer-B55LVMsv.js.map} +1 -1
  226. package/dist/{markdown-renderer-BRu3RpQD.cjs → markdown-renderer-B8Zmudqn.cjs} +2 -2
  227. package/dist/{markdown-renderer-BRu3RpQD.cjs.map → markdown-renderer-B8Zmudqn.cjs.map} +1 -1
  228. package/dist/{plan-ColU7p3H.cjs → plan-BxKWT5Jc.cjs} +2 -2
  229. package/dist/{plan-ColU7p3H.cjs.map → plan-BxKWT5Jc.cjs.map} +1 -1
  230. package/dist/{plan-CBiLa54G.js → plan-CoeSire7.js} +2 -2
  231. package/dist/{plan-CBiLa54G.js.map → plan-CoeSire7.js.map} +1 -1
  232. package/dist/{reasoning-activity-DLrXgE9k.js → reasoning-activity-C6KlS9dD.js} +2 -2
  233. package/dist/{reasoning-activity-DLrXgE9k.js.map → reasoning-activity-C6KlS9dD.js.map} +1 -1
  234. package/dist/{reasoning-activity-B8bR8ib_.cjs → reasoning-activity-DwvH_xWp.cjs} +2 -2
  235. package/dist/{reasoning-activity-B8bR8ib_.cjs.map → reasoning-activity-DwvH_xWp.cjs.map} +1 -1
  236. package/dist/{span-payload-primitives-DBNNkmHo.js → span-payload-primitives-DPAyz0rW.js} +2 -2
  237. package/dist/{span-payload-primitives-DBNNkmHo.js.map → span-payload-primitives-DPAyz0rW.js.map} +1 -1
  238. package/dist/{span-payload-primitives-BymKsUAo.cjs → span-payload-primitives-nXrFCYgn.cjs} +2 -2
  239. package/dist/{span-payload-primitives-BymKsUAo.cjs.map → span-payload-primitives-nXrFCYgn.cjs.map} +1 -1
  240. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +1 -1
  241. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +6 -0
  242. package/dist/src/domains/traces/trace-query-filters.d.ts +0 -11
  243. package/dist/src/ds/components/ContentBlocks/content-blocks.d.ts +3 -2
  244. package/dist/src/ds/components/DataList/shared.d.ts +4 -4
  245. package/dist/src/ds/components/DateTimeRangePicker/custom-range-editor.d.ts +3 -1
  246. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +3 -1
  247. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +11 -1
  248. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +6 -1
  249. package/dist/src/ds/components/Sidebar/index.d.ts +1 -0
  250. package/dist/src/ds/components/Sidebar/nav/sidebar-nav-show-more.d.ts +9 -0
  251. package/dist/src/ds/components/Sidebar/sidebar.d.ts +2 -0
  252. package/dist/src/hooks/use-local-storage-store.d.ts +15 -0
  253. package/dist/style.css +20 -0
  254. package/dist/{tool-approval-BK2j7aj_.js → tool-approval-CYmQJ2i4.js} +2 -2
  255. package/dist/{tool-approval-BK2j7aj_.js.map → tool-approval-CYmQJ2i4.js.map} +1 -1
  256. package/dist/{tool-approval-Bza_sgxa.cjs → tool-approval-aWNKG9dK.cjs} +2 -2
  257. package/dist/{tool-approval-Bza_sgxa.cjs.map → tool-approval-aWNKG9dK.cjs.map} +1 -1
  258. package/dist/{tool-call-arguments-BLCAiFYg.js → tool-call-arguments-Bk13pV6A.js} +3 -3
  259. package/dist/{tool-call-arguments-BLCAiFYg.js.map → tool-call-arguments-Bk13pV6A.js.map} +1 -1
  260. package/dist/{tool-call-arguments-CK3kQ_FX.cjs → tool-call-arguments-DTwVq7AB.cjs} +3 -3
  261. package/dist/{tool-call-arguments-CK3kQ_FX.cjs.map → tool-call-arguments-DTwVq7AB.cjs.map} +1 -1
  262. package/dist/{trace-filters-C71gmCq4.js → trace-filters-C91h9X86.js} +2 -10
  263. package/dist/trace-filters-C91h9X86.js.map +1 -0
  264. package/dist/{trace-filters-Bh4dVNPX.cjs → trace-filters-Dz4oj8yV.cjs} +1 -11
  265. package/dist/trace-filters-Dz4oj8yV.cjs.map +1 -0
  266. package/dist/{traces-data-list-C05UwTiE.js → traces-data-list-BXotATNk.js} +2 -2
  267. package/dist/{traces-data-list-C05UwTiE.js.map → traces-data-list-BXotATNk.js.map} +1 -1
  268. package/dist/{traces-data-list-DPA5T14k.cjs → traces-data-list-D6pq_WLy.cjs} +2 -2
  269. package/dist/{traces-data-list-DPA5T14k.cjs.map → traces-data-list-D6pq_WLy.cjs.map} +1 -1
  270. package/dist/{use-workflow-graph-runtime-DX56livO.js → use-workflow-graph-runtime-S5G_ZvSM.js} +2 -2
  271. package/dist/{use-workflow-graph-runtime-DX56livO.js.map → use-workflow-graph-runtime-S5G_ZvSM.js.map} +1 -1
  272. package/dist/{use-workflow-graph-runtime-C8TkqjvM.cjs → use-workflow-graph-runtime-UxUOrRDb.cjs} +2 -2
  273. package/dist/{use-workflow-graph-runtime-C8TkqjvM.cjs.map → use-workflow-graph-runtime-UxUOrRDb.cjs.map} +1 -1
  274. package/dist/utils/errors.cjs.js +1 -1
  275. package/dist/utils/errors.es.js +1 -1
  276. package/dist/{workflow-condition-card-bn5mrwKe.cjs → workflow-condition-card-CHV32SJm.cjs} +2 -2
  277. package/dist/{workflow-condition-card-bn5mrwKe.cjs.map → workflow-condition-card-CHV32SJm.cjs.map} +1 -1
  278. package/dist/{workflow-condition-card-DMkPh5TM.js → workflow-condition-card-DNsQmIae.js} +2 -2
  279. package/dist/{workflow-condition-card-DMkPh5TM.js.map → workflow-condition-card-DNsQmIae.js.map} +1 -1
  280. package/package.json +8 -8
  281. package/dist/code-DAXWNzvf.js.map +0 -1
  282. package/dist/code-Dcah35Gp.cjs.map +0 -1
  283. package/dist/data-list-2svaWtkq.cjs.map +0 -1
  284. package/dist/data-list-BbOYiz4B.js.map +0 -1
  285. package/dist/date-time-range-picker-BT9qan60.js.map +0 -1
  286. package/dist/date-time-range-picker-DQa5XLST.cjs.map +0 -1
  287. package/dist/errors-BiY55qIh.cjs.map +0 -1
  288. package/dist/errors-CDTokuME.js.map +0 -1
  289. package/dist/filter-bar-chip-BBErw_aR.cjs.map +0 -1
  290. package/dist/filter-bar-chip-DvRTWRwT.js.map +0 -1
  291. package/dist/trace-filters-Bh4dVNPX.cjs.map +0 -1
  292. package/dist/trace-filters-C71gmCq4.js.map +0 -1
@@ -27,10 +27,11 @@ const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
27
27
  const HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;
28
28
  function useHighlight(code, lang) {
29
29
  const [highlighted, setHighlighted] = React.useState(null);
30
- const [sampledCode] = useDebounce.useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {
30
+ const [sampledCode, sampler] = useDebounce.useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {
31
31
  leading: true,
32
32
  maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS
33
33
  });
34
+ React.useEffect(() => () => sampler.cancel(), [sampler]);
34
35
  React.useEffect(() => {
35
36
  if (!lang) return;
36
37
  let cancelled = false;
@@ -97,4 +98,4 @@ const Code = React__namespace.memo(function Code2({ code, lang, lineClassName, .
97
98
  exports.Code = Code;
98
99
  exports.tokenStyle = tokenStyle;
99
100
  exports.useHighlight = useHighlight;
100
- //# sourceMappingURL=code-Dcah35Gp.cjs.map
101
+ //# sourceMappingURL=code-DJReJPSX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-DJReJPSX.cjs","sources":["../src/ds/components/Code/use-highlight.ts","../src/ds/components/Code/code.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport type { ThemedToken } from 'shiki/core';\nimport { useDebounce } from 'use-debounce';\n\nimport { highlight } from '../CodeEditor/highlight';\n\nexport interface Highlighted {\n code: string;\n lang: string;\n tokens: ThemedToken[][];\n}\n\nconst HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;\n\n/** Tokens land a pass behind the code, so the value may still describe the previous code. */\nexport function useHighlight(code: string, lang: string | undefined): Highlighted | null {\n const [highlighted, setHighlighted] = useState<Highlighted | null>(null);\n // maxWait equal to the delay turns the debounce into a throttle.\n const [sampledCode, sampler] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {\n leading: true,\n maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS,\n });\n\n // With `leading`, use-debounce's pending timer still calls setState after unmount.\n useEffect(() => () => sampler.cancel(), [sampler]);\n\n useEffect(() => {\n if (!lang) return;\n\n let cancelled = false;\n\n void highlight(sampledCode, lang)\n .then(tokens => {\n if (!cancelled && tokens?.length) setHighlighted({ code: sampledCode, lang, tokens });\n })\n .catch(() => {});\n\n return () => {\n cancelled = true;\n };\n }, [sampledCode, lang]);\n\n return lang ? highlighted : null;\n}\n\nexport function tokenStyle(token: ThemedToken): CSSProperties | undefined {\n if (token.htmlStyle && typeof token.htmlStyle === 'object') {\n return token.htmlStyle as CSSProperties;\n }\n\n return token.color ? { color: token.color } : undefined;\n}\n","import * as React from 'react';\n\nimport { tokenStyle, useHighlight } from './use-highlight';\nimport type { Highlighted } from './use-highlight';\n\nexport interface CodeProps extends React.HTMLAttributes<HTMLPreElement> {\n code: string;\n lang?: string;\n /** Per-line class, e.g. for diff or search highlighting. When set, every line is wrapped in a `[data-line]` span. */\n lineClassName?: (lineIndex: number, lineText: string) => string | undefined;\n}\n\n/** Colors from an earlier pass still hold when the new code only appends to the old. */\nfunction usableHighlight(highlighted: Highlighted | null, code: string, lang?: string): Highlighted | null {\n if (!highlighted || highlighted.lang !== lang) return null;\n return code.startsWith(highlighted.code) ? highlighted : null;\n}\n\n/**\n * Low-level shiki token renderer shared by `CodeBlock` and `MarkdownRenderer`.\n * Dual-theme colors stay as `--shiki-light` / `--shiki-dark` CSS variables on\n * each token span; the `.shiki-token` class (index.css) picks the variant from\n * the `.dark` root class, so theme switching is pure CSS — no ThemeProvider\n * required. Renders plain text while highlighting is pending or when the\n * language is missing/unknown.\n *\n * A streaming fence re-renders on every delta while highlighting stays a sample\n * behind. Dropping the previous tokens each time would strobe the whole block\n * between colored and plain, so the settled prefix keeps its colors and only\n * the newly arrived tail waits, uncolored, for the next pass.\n */\nexport const Code = React.memo(function Code({ code, lang, lineClassName, ...props }: CodeProps) {\n const highlighted = useHighlight(code, lang);\n\n const usable = usableHighlight(highlighted, code, lang);\n if (!usable) {\n if (!lineClassName) return <pre {...props}>{code}</pre>;\n const lines = code.split('\\n');\n return (\n <pre {...props}>\n {lines.map((text, i) => (\n <React.Fragment key={i}>\n <span data-line={i} className={lineClassName(i, text)}>\n {text}\n </span>\n {i !== lines.length - 1 && '\\n'}\n </React.Fragment>\n ))}\n </pre>\n );\n }\n\n const tail = code.slice(usable.code.length);\n let codeOffset = 0;\n\n return (\n <pre {...props}>\n <code className=\"font-[inherit]\">\n {usable.tokens.map((line, lineIndex) => {\n const lineOffset = codeOffset;\n let tokenOffset = lineOffset;\n const tokenSpans = line.map(token => {\n const key = tokenOffset;\n tokenOffset += token.content.length;\n\n return (\n <span key={key} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n );\n });\n\n codeOffset = tokenOffset + 1;\n\n return (\n <React.Fragment key={lineOffset}>\n {lineClassName ? (\n <span\n data-line={lineIndex}\n className={lineClassName(lineIndex, line.map(token => token.content).join(''))}\n >\n {tokenSpans}\n </span>\n ) : (\n <span>{tokenSpans}</span>\n )}\n {lineIndex !== usable.tokens.length - 1 && '\\n'}\n </React.Fragment>\n );\n })}\n {tail}\n </code>\n </pre>\n );\n});\n"],"names":["useState","useDebounce","useEffect","highlight","React","Code","jsx","jsxs"],"mappings":"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"}
@@ -7,10 +7,11 @@ import { h as highlight } from './highlight-BmpoELR4.js';
7
7
  const HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;
8
8
  function useHighlight(code, lang) {
9
9
  const [highlighted, setHighlighted] = useState(null);
10
- const [sampledCode] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {
10
+ const [sampledCode, sampler] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {
11
11
  leading: true,
12
12
  maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS
13
13
  });
14
+ useEffect(() => () => sampler.cancel(), [sampler]);
14
15
  useEffect(() => {
15
16
  if (!lang) return;
16
17
  let cancelled = false;
@@ -75,4 +76,4 @@ const Code = React.memo(function Code2({ code, lang, lineClassName, ...props })
75
76
  });
76
77
 
77
78
  export { Code as C, tokenStyle as t, useHighlight as u };
78
- //# sourceMappingURL=code-DAXWNzvf.js.map
79
+ //# sourceMappingURL=code-DLuATvYu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-DLuATvYu.js","sources":["../src/ds/components/Code/use-highlight.ts","../src/ds/components/Code/code.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport type { ThemedToken } from 'shiki/core';\nimport { useDebounce } from 'use-debounce';\n\nimport { highlight } from '../CodeEditor/highlight';\n\nexport interface Highlighted {\n code: string;\n lang: string;\n tokens: ThemedToken[][];\n}\n\nconst HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;\n\n/** Tokens land a pass behind the code, so the value may still describe the previous code. */\nexport function useHighlight(code: string, lang: string | undefined): Highlighted | null {\n const [highlighted, setHighlighted] = useState<Highlighted | null>(null);\n // maxWait equal to the delay turns the debounce into a throttle.\n const [sampledCode, sampler] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {\n leading: true,\n maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS,\n });\n\n // With `leading`, use-debounce's pending timer still calls setState after unmount.\n useEffect(() => () => sampler.cancel(), [sampler]);\n\n useEffect(() => {\n if (!lang) return;\n\n let cancelled = false;\n\n void highlight(sampledCode, lang)\n .then(tokens => {\n if (!cancelled && tokens?.length) setHighlighted({ code: sampledCode, lang, tokens });\n })\n .catch(() => {});\n\n return () => {\n cancelled = true;\n };\n }, [sampledCode, lang]);\n\n return lang ? highlighted : null;\n}\n\nexport function tokenStyle(token: ThemedToken): CSSProperties | undefined {\n if (token.htmlStyle && typeof token.htmlStyle === 'object') {\n return token.htmlStyle as CSSProperties;\n }\n\n return token.color ? { color: token.color } : undefined;\n}\n","import * as React from 'react';\n\nimport { tokenStyle, useHighlight } from './use-highlight';\nimport type { Highlighted } from './use-highlight';\n\nexport interface CodeProps extends React.HTMLAttributes<HTMLPreElement> {\n code: string;\n lang?: string;\n /** Per-line class, e.g. for diff or search highlighting. When set, every line is wrapped in a `[data-line]` span. */\n lineClassName?: (lineIndex: number, lineText: string) => string | undefined;\n}\n\n/** Colors from an earlier pass still hold when the new code only appends to the old. */\nfunction usableHighlight(highlighted: Highlighted | null, code: string, lang?: string): Highlighted | null {\n if (!highlighted || highlighted.lang !== lang) return null;\n return code.startsWith(highlighted.code) ? highlighted : null;\n}\n\n/**\n * Low-level shiki token renderer shared by `CodeBlock` and `MarkdownRenderer`.\n * Dual-theme colors stay as `--shiki-light` / `--shiki-dark` CSS variables on\n * each token span; the `.shiki-token` class (index.css) picks the variant from\n * the `.dark` root class, so theme switching is pure CSS — no ThemeProvider\n * required. Renders plain text while highlighting is pending or when the\n * language is missing/unknown.\n *\n * A streaming fence re-renders on every delta while highlighting stays a sample\n * behind. Dropping the previous tokens each time would strobe the whole block\n * between colored and plain, so the settled prefix keeps its colors and only\n * the newly arrived tail waits, uncolored, for the next pass.\n */\nexport const Code = React.memo(function Code({ code, lang, lineClassName, ...props }: CodeProps) {\n const highlighted = useHighlight(code, lang);\n\n const usable = usableHighlight(highlighted, code, lang);\n if (!usable) {\n if (!lineClassName) return <pre {...props}>{code}</pre>;\n const lines = code.split('\\n');\n return (\n <pre {...props}>\n {lines.map((text, i) => (\n <React.Fragment key={i}>\n <span data-line={i} className={lineClassName(i, text)}>\n {text}\n </span>\n {i !== lines.length - 1 && '\\n'}\n </React.Fragment>\n ))}\n </pre>\n );\n }\n\n const tail = code.slice(usable.code.length);\n let codeOffset = 0;\n\n return (\n <pre {...props}>\n <code className=\"font-[inherit]\">\n {usable.tokens.map((line, lineIndex) => {\n const lineOffset = codeOffset;\n let tokenOffset = lineOffset;\n const tokenSpans = line.map(token => {\n const key = tokenOffset;\n tokenOffset += token.content.length;\n\n return (\n <span key={key} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n );\n });\n\n codeOffset = tokenOffset + 1;\n\n return (\n <React.Fragment key={lineOffset}>\n {lineClassName ? (\n <span\n data-line={lineIndex}\n className={lineClassName(lineIndex, line.map(token => token.content).join(''))}\n >\n {tokenSpans}\n </span>\n ) : (\n <span>{tokenSpans}</span>\n )}\n {lineIndex !== usable.tokens.length - 1 && '\\n'}\n </React.Fragment>\n );\n })}\n {tail}\n </code>\n </pre>\n );\n});\n"],"names":["Code"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { C as Code } from './code-DAXWNzvf.js';
2
+ import { C as Code } from './code-DLuATvYu.js';
3
3
  import { C as CopyButton } from './copy-button-Af_Qt7G1.js';
4
4
  import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-BvYdi3X0.js';
5
5
  import { T as TabList } from './tabs-list-CDep3C2w.js';
@@ -84,4 +84,4 @@ function CodeBlock({
84
84
  }
85
85
 
86
86
  export { CodeBlock as C };
87
- //# sourceMappingURL=code-block-BzUcNWrb.js.map
87
+ //# sourceMappingURL=code-block-BQV4o92x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-BzUcNWrb.js","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-block-BQV4o92x.js","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const code = require('./code-Dcah35Gp.cjs');
4
+ const code = require('./code-DJReJPSX.cjs');
5
5
  const copyButton = require('./copy-button-5tVWqoTk.cjs');
6
6
  const select = require('./select-D5cu0K7R.cjs');
7
7
  const tabsList = require('./tabs-list-DwQsMVKI.cjs');
@@ -86,4 +86,4 @@ function CodeBlock({
86
86
  }
87
87
 
88
88
  exports.CodeBlock = CodeBlock;
89
- //# sourceMappingURL=code-block-CKLCdWtP.cjs.map
89
+ //# sourceMappingURL=code-block-DZb0Tb3k.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-CKLCdWtP.cjs","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":["code","jsxs","cn","jsx","Tabs","TabList","Tab","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Code","CopyButton","transitions"],"mappings":"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"}
1
+ {"version":3,"file":"code-block-DZb0Tb3k.cjs","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":["code","jsxs","cn","jsx","Tabs","TabList","Tab","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Code","CopyButton","transitions"],"mappings":";;;;;;;;;;;;AAoCO,SAAS,SAAA,CAAU;AAAA,QACxBA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA,GAAW,QAAA;AAAA,EACX,QAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,MAAA;AAAA,EACX,WAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAAmB;AACjB,EAAA,MAAM,UAAA,GAAa,OAAA,IAAW,OAAA,CAAQ,MAAA,GAAS,CAAA;AAC/C,EAAA,MAAM,OAAA,GAAU,cAAc,QAAA,KAAa,MAAA;AAC3C,EAAA,MAAM,SAAA,GAAY,cAAc,QAAA,KAAa,QAAA;AAC7C,EAAA,MAAM,WAAA,GAAc,UAAU,CAAC,CAAA;AAC/B,EAAA,MAAM,WAAA,GAAc,SAAS,WAAA,EAAa,KAAA;AAE1C,EAAA,uBACEC,eAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MAGC,SAAA,EAAWC,WAAA;AAAA,QACT,0HAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,OAAA,IAAW,WAAA,oBACVC,cAAA,CAACC,aAAA,EAAA,EAAK,UAAA,EAAY,WAAA,CAAY,OAAO,KAAA,EAAO,WAAA,EAAa,aAAA,EAAe,aAAA,KAAkB,MAAM;AAAA,QAAC,CAAA,CAAA,EAC/F,QAAA,kBAAAH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oBAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA,CAAC,SAAI,SAAA,EAAU,gBAAA,EACb,yCAACE,gBAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,IAAI,CAAA,GAAA,qBACXF,cAAA,CAACG,eAAoB,KAAA,EAAO,GAAA,CAAI,OAC7B,QAAA,EAAA,GAAA,CAAI,KAAA,EAAA,EADG,IAAI,KAEd,CACD,GACH,CAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAWH,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+DAA+D,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EACpG,CAAA,EACF,CAAA;AAAA,QAGD,SAAA,IAAa,OAAA,oBACZF,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sDAAA,EACb,QAAA,EAAA;AAAA,0BAAAA,eAAA,CAACM,aAAA,EAAA,EAAO,KAAA,EAAO,WAAA,EAAa,aAAA,EAC1B,QAAA,EAAA;AAAA,4BAAAJ,cAAA,CAACK,oBAAA,EAAA,EAAc,MAAK,IAAA,EAAK,OAAA,EAAQ,SAAQ,SAAA,EAAU,QAAA,EACjD,QAAA,kBAAAL,cAAA,CAACM,kBAAA,EAAA,EAAY,CAAA,EACf,CAAA;AAAA,4BACAN,cAAA,CAACO,oBAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,yBACXP,cAAA,CAACQ,iBAAA,EAAA,EAA2B,KAAA,EAAO,GAAA,CAAI,OACpC,QAAA,EAAA,GAAA,CAAI,KAAA,EAAA,EADU,GAAA,CAAI,KAErB,CACD,CAAA,EACH;AAAA,WAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAWR,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAA6B,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EAClE,CAAA;AAAA,QAGD,CAAC,UAAA,IAAc,QAAA,oBACdF,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,oDAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA,CAAC,YAAA,EAAA,EAAW,SAAA,EAAU,8CAAA,EAAgD,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,UAC9E,OAAA,oBAAWA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAA6B,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EAClE,CAAA;AAAA,QAGD,CAAC,cAAc,CAAC,QAAA,IAAY,2BAC3BA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kEAAA,EAAoE,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,wBAG7FF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,UAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA;AAAA,YAACS,SAAA;AAAA,YAAA;AAAA,oBACCZ,MAAA;AAAA,cACA,IAAA;AAAA,cACA,SAAA,EAAWE,WAAA;AAAA,gBACT,kDAAA;AAAA,gBACA,QAAA,KAAa,WAAW,gCAAA,GAAmC;AAAA;AAC7D;AAAA,WACF;AAAA,0BACAC,cAAA;AAAA,YAACU,qBAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAASb,MAAA;AAAA,cACT,WAAA;AAAA,cACA,OAAA,EAAS,WAAA;AAAA,cACT,IAAA,EAAK,IAAA;AAAA,cACL,SAAA,EAAWE,WAAA;AAAA,gBACT,kHAAA;AAAA,gBACAY,kCAAA,CAAY;AAAA;AACd;AAAA;AACF,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const code = require('../code-Dcah35Gp.cjs');
5
+ const code = require('../code-DJReJPSX.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { C as Code, t as tokenStyle, u as useHighlight } from '../code-DAXWNzvf.js';
1
+ export { C as Code, t as tokenStyle, u as useHighlight } from '../code-DLuATvYu.js';
2
2
  //# sourceMappingURL=Code.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const codeBlock = require('../code-block-CKLCdWtP.cjs');
5
+ const codeBlock = require('../code-block-DZb0Tb3k.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { C as CodeBlock } from '../code-block-BzUcNWrb.js';
1
+ export { C as CodeBlock } from '../code-block-BQV4o92x.js';
2
2
  //# sourceMappingURL=CodeBlock.es.js.map
@@ -12,13 +12,17 @@ const reorder = (list, startIndex, endIndex) => {
12
12
  result.splice(endIndex, 0, removed);
13
13
  return result;
14
14
  };
15
- function ContentBlocks({ children, items, onChange, className }) {
15
+ const dragPreviewOnBody = (items, renderDragPreview) => (provided, _snapshot, { source }) => {
16
+ const draggedItem = items[source.index];
17
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: provided.innerRef, ...provided.draggableProps, ...provided.dragHandleProps, children: draggedItem !== void 0 && renderDragPreview(draggedItem) });
18
+ };
19
+ function ContentBlocks({ children, items, onChange, className, renderDragPreview }) {
16
20
  const handleDragEnd = (result) => {
17
21
  if (!result.destination) return;
18
22
  const nextItems = reorder(items, result.source.index, result.destination.index);
19
23
  onChange(nextItems);
20
24
  };
21
- return /* @__PURE__ */ jsxRuntime.jsx(dnd.DragDropContext, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsxRuntime.jsx(dnd.Droppable, { droppableId: "droppable", children: (provided) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ...provided.droppableProps, ref: provided.innerRef, className, children: [
25
+ return /* @__PURE__ */ jsxRuntime.jsx(dnd.DragDropContext, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsxRuntime.jsx(dnd.Droppable, { droppableId: "droppable", renderClone: renderDragPreview && dragPreviewOnBody(items, renderDragPreview), children: (provided) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ...provided.droppableProps, ref: provided.innerRef, className, children: [
22
26
  children,
23
27
  provided.placeholder
24
28
  ] }) }) });
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBlocks.cjs.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: Array<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n}\n\nconst reorder = <T,>(list: Array<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport function ContentBlocks<T>({ children, items, onChange, className }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n | React.ReactNode\n | ((dragHandleProps: DraggableProvidedDragHandleProps | null) => React.ReactNode);\n\nexport interface ContentBlockProps {\n children: ContentBlockChildren;\n index: number;\n draggableId: string;\n className?: string;\n}\n\nexport const ContentBlock = ({ children, index, draggableId, className }: ContentBlockProps) => {\n const isRenderProp = typeof children === 'function';\n\n return (\n <Draggable draggableId={draggableId} index={index}>\n {provided => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(isRenderProp ? {} : provided.dragHandleProps)}\n className={className}\n style={provided.draggableProps.style}\n >\n {isRenderProp ? children(provided.dragHandleProps) : children}\n </div>\n )}\n </Draggable>\n );\n};\n"],"names":["DragDropContext","jsx","Droppable","jsxs","Draggable"],"mappings":";;;;;;;AAUA,MAAM,OAAA,GAAU,CAAK,IAAA,EAAgB,UAAA,EAAoB,QAAA,KAA+B;AACtF,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7C,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,MAAA;AAClC,EAAA,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,SAAS,cAAiB,EAAE,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,WAAU,EAA0B;AAChG,EAAA,MAAM,aAAA,GAAgB,CAAC,MAAA,KAAuB;AAC5C,IAAA,IAAI,CAAC,OAAO,WAAA,EAAa;AAEzB,IAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,EAAO,MAAA,CAAO,OAAO,KAAA,EAAO,MAAA,CAAO,YAAY,KAAK,CAAA;AAE9E,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,sCACGA,mBAAA,EAAA,EAAgB,SAAA,EAAW,eAC1B,QAAA,kBAAAC,cAAA,CAACC,aAAA,EAAA,EAAU,aAAY,WAAA,EACpB,QAAA,EAAA,CAAC,QAAA,qBACAC,eAAA,CAAC,SAAK,GAAG,QAAA,CAAS,gBAAgB,GAAA,EAAK,QAAA,CAAS,UAAU,SAAA,EACvD,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA,CAAS;AAAA,GAAA,EACZ,GAEJ,CAAA,EACF,CAAA;AAEJ;;ACzBO,MAAM,eAAe,CAAC,EAAE,UAAU,KAAA,EAAO,WAAA,EAAa,WAAU,KAAyB;AAC9F,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,UAAA;AAEzC,EAAA,uBACEF,cAAA,CAACG,aAAA,EAAA,EAAU,WAAA,EAA0B,KAAA,EAClC,QAAA,EAAA,CAAA,QAAA,qBACCH,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,QAAA,CAAS,QAAA;AAAA,MACb,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,GAAI,YAAA,GAAe,EAAC,GAAI,QAAA,CAAS,eAAA;AAAA,MAClC,SAAA;AAAA,MACA,KAAA,EAAO,SAAS,cAAA,CAAe,KAAA;AAAA,MAE9B,QAAA,EAAA,YAAA,GAAe,QAAA,CAAS,QAAA,CAAS,eAAe,CAAA,GAAI;AAAA;AAAA,GACvD,EAEJ,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"ContentBlocks.cjs.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DraggableChildrenFn, DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: ReadonlyArray<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n // Inside a transformed ancestor (a menu or popover positioner) a dragged row is offset; this renders it on document.body.\n renderDragPreview?: (item: T) => React.ReactNode;\n}\n\nconst reorder = <T,>(list: ReadonlyArray<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nconst dragPreviewOnBody =\n <T,>(items: ReadonlyArray<T>, renderDragPreview: (item: T) => React.ReactNode): DraggableChildrenFn =>\n (provided, _snapshot, { source }) => {\n const draggedItem = items[source.index];\n return (\n <div ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps}>\n {draggedItem !== undefined && renderDragPreview(draggedItem)}\n </div>\n );\n };\n\nexport function ContentBlocks<T>({ children, items, onChange, className, renderDragPreview }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\" renderClone={renderDragPreview && dragPreviewOnBody(items, renderDragPreview)}>\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n | React.ReactNode\n | ((dragHandleProps: DraggableProvidedDragHandleProps | null) => React.ReactNode);\n\nexport interface ContentBlockProps {\n children: ContentBlockChildren;\n index: number;\n draggableId: string;\n className?: string;\n}\n\nexport const ContentBlock = ({ children, index, draggableId, className }: ContentBlockProps) => {\n const isRenderProp = typeof children === 'function';\n\n return (\n <Draggable draggableId={draggableId} index={index}>\n {provided => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(isRenderProp ? {} : provided.dragHandleProps)}\n className={className}\n style={provided.draggableProps.style}\n >\n {isRenderProp ? children(provided.dragHandleProps) : children}\n </div>\n )}\n </Draggable>\n );\n};\n"],"names":["jsx","DragDropContext","Droppable","jsxs","Draggable"],"mappings":";;;;;;;AAYA,MAAM,OAAA,GAAU,CAAK,IAAA,EAAwB,UAAA,EAAoB,QAAA,KAA+B;AAC9F,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7C,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,MAAA;AAClC,EAAA,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,OAAO,MAAA;AACT,CAAA;AAEA,MAAM,iBAAA,GACJ,CAAK,KAAA,EAAyB,iBAAA,KAC9B,CAAC,QAAA,EAAU,SAAA,EAAW,EAAE,MAAA,EAAO,KAAM;AACnC,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,MAAA,CAAO,KAAK,CAAA;AACtC,EAAA,uBACEA,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,QAAA,CAAS,UAAW,GAAG,QAAA,CAAS,cAAA,EAAiB,GAAG,SAAS,eAAA,EACpE,QAAA,EAAA,WAAA,KAAgB,MAAA,IAAa,iBAAA,CAAkB,WAAW,CAAA,EAC7D,CAAA;AAEJ,CAAA;AAEK,SAAS,cAAiB,EAAE,QAAA,EAAU,OAAO,QAAA,EAAU,SAAA,EAAW,mBAAkB,EAA0B;AACnH,EAAA,MAAM,aAAA,GAAgB,CAAC,MAAA,KAAuB;AAC5C,IAAA,IAAI,CAAC,OAAO,WAAA,EAAa;AAEzB,IAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,EAAO,MAAA,CAAO,OAAO,KAAA,EAAO,MAAA,CAAO,YAAY,KAAK,CAAA;AAE9E,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,uBACEA,cAAA,CAACC,mBAAA,EAAA,EAAgB,SAAA,EAAW,aAAA,EAC1B,QAAA,kBAAAD,cAAA,CAACE,iBAAU,WAAA,EAAY,WAAA,EAAY,WAAA,EAAa,iBAAA,IAAqB,iBAAA,CAAkB,KAAA,EAAO,iBAAiB,CAAA,EAC5G,QAAA,EAAA,CAAC,QAAA,qBACAC,eAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAS,cAAA,EAAgB,GAAA,EAAK,QAAA,CAAS,QAAA,EAAU,SAAA,EACvD,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA,CAAS;AAAA,GAAA,EACZ,GAEJ,CAAA,EACF,CAAA;AAEJ;;ACtCO,MAAM,eAAe,CAAC,EAAE,UAAU,KAAA,EAAO,WAAA,EAAa,WAAU,KAAyB;AAC9F,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,UAAA;AAEzC,EAAA,uBACEH,cAAA,CAACI,aAAA,EAAA,EAAU,WAAA,EAA0B,KAAA,EAClC,QAAA,EAAA,CAAA,QAAA,qBACCJ,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,QAAA,CAAS,QAAA;AAAA,MACb,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,GAAI,YAAA,GAAe,EAAC,GAAI,QAAA,CAAS,eAAA;AAAA,MAClC,SAAA;AAAA,MACA,KAAA,EAAO,SAAS,cAAA,CAAe,KAAA;AAAA,MAE9B,QAAA,EAAA,YAAA,GAAe,QAAA,CAAS,QAAA,CAAS,eAAe,CAAA,GAAI;AAAA;AAAA,GACvD,EAEJ,CAAA;AAEJ;;;;;"}
@@ -8,13 +8,17 @@ const reorder = (list, startIndex, endIndex) => {
8
8
  result.splice(endIndex, 0, removed);
9
9
  return result;
10
10
  };
11
- function ContentBlocks({ children, items, onChange, className }) {
11
+ const dragPreviewOnBody = (items, renderDragPreview) => (provided, _snapshot, { source }) => {
12
+ const draggedItem = items[source.index];
13
+ return /* @__PURE__ */ jsx("div", { ref: provided.innerRef, ...provided.draggableProps, ...provided.dragHandleProps, children: draggedItem !== void 0 && renderDragPreview(draggedItem) });
14
+ };
15
+ function ContentBlocks({ children, items, onChange, className, renderDragPreview }) {
12
16
  const handleDragEnd = (result) => {
13
17
  if (!result.destination) return;
14
18
  const nextItems = reorder(items, result.source.index, result.destination.index);
15
19
  onChange(nextItems);
16
20
  };
17
- return /* @__PURE__ */ jsx(DragDropContext, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(Droppable, { droppableId: "droppable", children: (provided) => /* @__PURE__ */ jsxs("div", { ...provided.droppableProps, ref: provided.innerRef, className, children: [
21
+ return /* @__PURE__ */ jsx(DragDropContext, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(Droppable, { droppableId: "droppable", renderClone: renderDragPreview && dragPreviewOnBody(items, renderDragPreview), children: (provided) => /* @__PURE__ */ jsxs("div", { ...provided.droppableProps, ref: provided.innerRef, className, children: [
18
22
  children,
19
23
  provided.placeholder
20
24
  ] }) }) });
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBlocks.es.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: Array<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n}\n\nconst reorder = <T,>(list: Array<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nexport function ContentBlocks<T>({ children, items, onChange, className }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n | React.ReactNode\n | ((dragHandleProps: DraggableProvidedDragHandleProps | null) => React.ReactNode);\n\nexport interface ContentBlockProps {\n children: ContentBlockChildren;\n index: number;\n draggableId: string;\n className?: string;\n}\n\nexport const ContentBlock = ({ children, index, draggableId, className }: ContentBlockProps) => {\n const isRenderProp = typeof children === 'function';\n\n return (\n <Draggable draggableId={draggableId} index={index}>\n {provided => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(isRenderProp ? {} : provided.dragHandleProps)}\n className={className}\n style={provided.draggableProps.style}\n >\n {isRenderProp ? children(provided.dragHandleProps) : children}\n </div>\n )}\n </Draggable>\n );\n};\n"],"names":[],"mappings":";;;AAUA,MAAM,OAAA,GAAU,CAAK,IAAA,EAAgB,UAAA,EAAoB,QAAA,KAA+B;AACtF,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7C,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,MAAA;AAClC,EAAA,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,SAAS,cAAiB,EAAE,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,WAAU,EAA0B;AAChG,EAAA,MAAM,aAAA,GAAgB,CAAC,MAAA,KAAuB;AAC5C,IAAA,IAAI,CAAC,OAAO,WAAA,EAAa;AAEzB,IAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,EAAO,MAAA,CAAO,OAAO,KAAA,EAAO,MAAA,CAAO,YAAY,KAAK,CAAA;AAE9E,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,2BACG,eAAA,EAAA,EAAgB,SAAA,EAAW,eAC1B,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,aAAY,WAAA,EACpB,QAAA,EAAA,CAAC,QAAA,qBACA,IAAA,CAAC,SAAK,GAAG,QAAA,CAAS,gBAAgB,GAAA,EAAK,QAAA,CAAS,UAAU,SAAA,EACvD,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA,CAAS;AAAA,GAAA,EACZ,GAEJ,CAAA,EACF,CAAA;AAEJ;;ACzBO,MAAM,eAAe,CAAC,EAAE,UAAU,KAAA,EAAO,WAAA,EAAa,WAAU,KAAyB;AAC9F,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,UAAA;AAEzC,EAAA,uBACE,GAAA,CAAC,SAAA,EAAA,EAAU,WAAA,EAA0B,KAAA,EAClC,QAAA,EAAA,CAAA,QAAA,qBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,QAAA,CAAS,QAAA;AAAA,MACb,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,GAAI,YAAA,GAAe,EAAC,GAAI,QAAA,CAAS,eAAA;AAAA,MAClC,SAAA;AAAA,MACA,KAAA,EAAO,SAAS,cAAA,CAAe,KAAA;AAAA,MAE9B,QAAA,EAAA,YAAA,GAAe,QAAA,CAAS,QAAA,CAAS,eAAe,CAAA,GAAI;AAAA;AAAA,GACvD,EAEJ,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ContentBlocks.es.js","sources":["../../src/ds/components/ContentBlocks/content-blocks.tsx","../../src/ds/components/ContentBlocks/content-block.tsx"],"sourcesContent":["import type { DraggableChildrenFn, DropResult, DroppableProvided } from '@hello-pangea/dnd';\nimport { DragDropContext, Droppable } from '@hello-pangea/dnd';\n\nexport interface ContentBlocksProps<T> {\n children: React.ReactNode;\n items: ReadonlyArray<T>;\n onChange: (items: Array<T>) => void;\n className?: string;\n // Inside a transformed ancestor (a menu or popover positioner) a dragged row is offset; this renders it on document.body.\n renderDragPreview?: (item: T) => React.ReactNode;\n}\n\nconst reorder = <T,>(list: ReadonlyArray<T>, startIndex: number, endIndex: number): Array<T> => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n if (removed === undefined) return result;\n result.splice(endIndex, 0, removed);\n return result;\n};\n\nconst dragPreviewOnBody =\n <T,>(items: ReadonlyArray<T>, renderDragPreview: (item: T) => React.ReactNode): DraggableChildrenFn =>\n (provided, _snapshot, { source }) => {\n const draggedItem = items[source.index];\n return (\n <div ref={provided.innerRef} {...provided.draggableProps} {...provided.dragHandleProps}>\n {draggedItem !== undefined && renderDragPreview(draggedItem)}\n </div>\n );\n };\n\nexport function ContentBlocks<T>({ children, items, onChange, className, renderDragPreview }: ContentBlocksProps<T>) {\n const handleDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n\n const nextItems = reorder(items, result.source.index, result.destination.index);\n\n onChange(nextItems);\n };\n\n return (\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable\" renderClone={renderDragPreview && dragPreviewOnBody(items, renderDragPreview)}>\n {(provided: DroppableProvided) => (\n <div {...provided.droppableProps} ref={provided.innerRef} className={className}>\n {children}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n}\n","import type { DraggableProvidedDragHandleProps } from '@hello-pangea/dnd';\nimport { Draggable } from '@hello-pangea/dnd';\n\nexport type ContentBlockChildren =\n | React.ReactNode\n | ((dragHandleProps: DraggableProvidedDragHandleProps | null) => React.ReactNode);\n\nexport interface ContentBlockProps {\n children: ContentBlockChildren;\n index: number;\n draggableId: string;\n className?: string;\n}\n\nexport const ContentBlock = ({ children, index, draggableId, className }: ContentBlockProps) => {\n const isRenderProp = typeof children === 'function';\n\n return (\n <Draggable draggableId={draggableId} index={index}>\n {provided => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...(isRenderProp ? {} : provided.dragHandleProps)}\n className={className}\n style={provided.draggableProps.style}\n >\n {isRenderProp ? children(provided.dragHandleProps) : children}\n </div>\n )}\n </Draggable>\n );\n};\n"],"names":[],"mappings":";;;AAYA,MAAM,OAAA,GAAU,CAAK,IAAA,EAAwB,UAAA,EAAoB,QAAA,KAA+B;AAC9F,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,YAAY,CAAC,CAAA;AAC7C,EAAA,IAAI,OAAA,KAAY,QAAW,OAAO,MAAA;AAClC,EAAA,MAAA,CAAO,MAAA,CAAO,QAAA,EAAU,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,OAAO,MAAA;AACT,CAAA;AAEA,MAAM,iBAAA,GACJ,CAAK,KAAA,EAAyB,iBAAA,KAC9B,CAAC,QAAA,EAAU,SAAA,EAAW,EAAE,MAAA,EAAO,KAAM;AACnC,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,MAAA,CAAO,KAAK,CAAA;AACtC,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,QAAA,CAAS,UAAW,GAAG,QAAA,CAAS,cAAA,EAAiB,GAAG,SAAS,eAAA,EACpE,QAAA,EAAA,WAAA,KAAgB,MAAA,IAAa,iBAAA,CAAkB,WAAW,CAAA,EAC7D,CAAA;AAEJ,CAAA;AAEK,SAAS,cAAiB,EAAE,QAAA,EAAU,OAAO,QAAA,EAAU,SAAA,EAAW,mBAAkB,EAA0B;AACnH,EAAA,MAAM,aAAA,GAAgB,CAAC,MAAA,KAAuB;AAC5C,IAAA,IAAI,CAAC,OAAO,WAAA,EAAa;AAEzB,IAAA,MAAM,SAAA,GAAY,QAAQ,KAAA,EAAO,MAAA,CAAO,OAAO,KAAA,EAAO,MAAA,CAAO,YAAY,KAAK,CAAA;AAE9E,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,uBACE,GAAA,CAAC,eAAA,EAAA,EAAgB,SAAA,EAAW,aAAA,EAC1B,QAAA,kBAAA,GAAA,CAAC,aAAU,WAAA,EAAY,WAAA,EAAY,WAAA,EAAa,iBAAA,IAAqB,iBAAA,CAAkB,KAAA,EAAO,iBAAiB,CAAA,EAC5G,QAAA,EAAA,CAAC,QAAA,qBACA,IAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAS,cAAA,EAAgB,GAAA,EAAK,QAAA,CAAS,QAAA,EAAU,SAAA,EACvD,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA,CAAS;AAAA,GAAA,EACZ,GAEJ,CAAA,EACF,CAAA;AAEJ;;ACtCO,MAAM,eAAe,CAAC,EAAE,UAAU,KAAA,EAAO,WAAA,EAAa,WAAU,KAAyB;AAC9F,EAAA,MAAM,YAAA,GAAe,OAAO,QAAA,KAAa,UAAA;AAEzC,EAAA,uBACE,GAAA,CAAC,SAAA,EAAA,EAAU,WAAA,EAA0B,KAAA,EAClC,QAAA,EAAA,CAAA,QAAA,qBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAK,QAAA,CAAS,QAAA;AAAA,MACb,GAAG,QAAA,CAAS,cAAA;AAAA,MACZ,GAAI,YAAA,GAAe,EAAC,GAAI,QAAA,CAAS,eAAA;AAAA,MAClC,SAAA;AAAA,MACA,KAAA,EAAO,SAAS,cAAA,CAAe,KAAA;AAAA,MAE9B,QAAA,EAAA,YAAA,GAAe,QAAA,CAAS,QAAA,CAAS,eAAe,CAAA,GAAI;AAAA;AAAA,GACvD,EAEJ,CAAA;AAEJ;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataCodeSection = require('../data-code-section-BB2RWius.cjs');
5
+ const dataCodeSection = require('../data-code-section-DCuBY9Mf.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataCodeSection } from '../data-code-section-DsU-ubVW.js';
1
+ export { D as DataCodeSection } from '../data-code-section-DOSV2o6P.js';
2
2
  //# sourceMappingURL=DataCodeSection.es.js.map
@@ -8,7 +8,7 @@ const lucideReact = require('lucide-react');
8
8
  const Button = require('../Button-CAVPKK09.cjs');
9
9
  const React = require('react');
10
10
  const buttonsGroup = require('../buttons-group-C2lPe7sm.cjs');
11
- const code = require('../code-Dcah35Gp.cjs');
11
+ const code = require('../code-DJReJPSX.cjs');
12
12
  const copyButton = require('../copy-button-5tVWqoTk.cjs');
13
13
  const primitives_raisedSurface = require('../primitives/raised-surface.cjs.js');
14
14
  const Txt = require('../Txt-DXjXpX9r.cjs');
@@ -4,7 +4,7 @@ import { XIcon, AlignLeftIcon, AlignJustifyIcon } from 'lucide-react';
4
4
  import { B as Button } from '../Button-60jVnaHt.js';
5
5
  import { useState, useMemo } from 'react';
6
6
  import { B as ButtonsGroup } from '../buttons-group-BU9ErJSH.js';
7
- import { C as Code } from '../code-DAXWNzvf.js';
7
+ import { C as Code } from '../code-DLuATvYu.js';
8
8
  import { C as CopyButton } from '../copy-button-Af_Qt7G1.js';
9
9
  import { raisedSurfaceStyle } from '../primitives/raised-surface.es.js';
10
10
  import { T as Txt } from '../Txt-BuzYj7Vy.js';
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataList = require('../data-list-2svaWtkq.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-C-j6Sf0F.cjs');
5
+ const dataList = require('../data-list-CYpGCm6F.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton-CIfVTfq4.cjs');
7
7
  const jsxRuntime = require('react/jsx-runtime');
8
8
  const Txt = require('../Txt-DXjXpX9r.cjs');
9
9
  const utils_dateFormat = require('../utils/date-format.cjs.js');
10
- const tracesDataList = require('../traces-data-list-DPA5T14k.cjs');
10
+ const tracesDataList = require('../traces-data-list-D6pq_WLy.cjs');
11
11
  const useDataListKeyboard = require('../use-data-list-keyboard-DF3tLe10.cjs');
12
12
  const layout_tabbedContainer = require('../layout/tabbed-container.cjs.js');
13
13
 
@@ -1,10 +1,10 @@
1
- import { c as DataListCell, g as DataListNextPageLoading, j as DataListNoMatch, m as DataListRowButton, q as DataListSortableTopCell, b as DataListTopCell, a as DataListTop, D as DataListRoot } from '../data-list-BbOYiz4B.js';
2
- export { e as DataList } from '../data-list-BbOYiz4B.js';
3
- export { D as DataListSkeleton, a as DataListSkeletonRows } from '../data-list-skeleton-C9Zm5XMX.js';
1
+ import { c as DataListCell, g as DataListNextPageLoading, j as DataListNoMatch, m as DataListRowButton, q as DataListSortableTopCell, b as DataListTopCell, a as DataListTop, D as DataListRoot } from '../data-list-B4Ho_OCZ.js';
2
+ export { e as DataList } from '../data-list-B4Ho_OCZ.js';
3
+ export { D as DataListSkeleton, a as DataListSkeletonRows } from '../data-list-skeleton-AfVi5OHw.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
  import { T as Txt } from '../Txt-BuzYj7Vy.js';
6
6
  import { formatDate } from '../utils/date-format.es.js';
7
- export { T as TracesDataList } from '../traces-data-list-C05UwTiE.js';
7
+ export { T as TracesDataList } from '../traces-data-list-BXotATNk.js';
8
8
  export { u as useDataListKeyboard } from '../use-data-list-keyboard-DFQr4t38.js';
9
9
  export { TabbedContainer } from '../layout/tabbed-container.es.js';
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataPanel = require('../data-panel-CtFwwsPs.cjs');
5
+ const dataPanel = require('../data-panel-DIVqWg0V.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataPanel } from '../data-panel-CwIdwpov.js';
1
+ export { D as DataPanel } from '../data-panel-C8sHDwrx.js';
2
2
  //# sourceMappingURL=DataPanel.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dateTimeRangePicker = require('../date-time-range-picker-DQa5XLST.cjs');
5
+ const dateTimeRangePicker = require('../date-time-range-picker-CyoaOAsi.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DateTimeRangePicker } from '../date-time-range-picker-BT9qan60.js';
1
+ export { D as DateTimeRangePicker } from '../date-time-range-picker-B9me2TUa.js';
2
2
  //# sourceMappingURL=DateTimeRangePicker.es.js.map
@@ -10,7 +10,7 @@ const Button = require('../Button-CAVPKK09.cjs');
10
10
  const Notice = require('../Notice-c8dMiAtZ.cjs');
11
11
  const envFile = require('../env-file-BU2hStkm.cjs');
12
12
  const Txt = require('../Txt-DXjXpX9r.cjs');
13
- const dataList = require('../data-list-2svaWtkq.cjs');
13
+ const dataList = require('../data-list-CYpGCm6F.cjs');
14
14
  const hooks_useCopyToClipboard = require('../hooks/use-copy-to-clipboard.cjs.js');
15
15
  const field = require('../field-D1SVMPMz.cjs');
16
16
  require('../field-control-aria-WzMGs0A4.cjs');
@@ -6,7 +6,7 @@ import { B as Button } from '../Button-60jVnaHt.js';
6
6
  import { N as Notice } from '../Notice-Wy1grdLu.js';
7
7
  import { D as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '../env-file-BITYowCx.js';
8
8
  import { T as Txt } from '../Txt-BuzYj7Vy.js';
9
- import { e as DataList } from '../data-list-BbOYiz4B.js';
9
+ import { e as DataList } from '../data-list-B4Ho_OCZ.js';
10
10
  import { useCopyToClipboard } from '../hooks/use-copy-to-clipboard.es.js';
11
11
  import { F as Field, e as FieldLabel, c as FieldError } from '../field-B89BEZg4.js';
12
12
  import '../field-control-aria-DB6y41tQ.js';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const lucideReact = require('lucide-react');
8
- const filterBarChip = require('../filter-bar-chip-BBErw_aR.cjs');
8
+ const filterBarChip = require('../filter-bar-chip-CYCOeX1B.cjs');
9
9
  const reactDom = require('react-dom');
10
10
  const types = require('../types-Ns4ZNp-g.cjs');
11
11
  const Button = require('../Button-CAVPKK09.cjs');
@@ -824,6 +824,7 @@ function FilterBar({
824
824
  createItemId,
825
825
  maxDepth,
826
826
  "aria-label": ariaLabel = "Filters",
827
+ describeSuggestionsError,
827
828
  clearLabel = "Clear filters",
828
829
  className,
829
830
  children
@@ -838,6 +839,7 @@ function FilterBar({
838
839
  createItemId,
839
840
  maxDepth,
840
841
  ariaLabel,
842
+ describeSuggestionsError,
841
843
  children: /* @__PURE__ */ jsxRuntime.jsx(FilterBarSurface, { className, clearLabel, children })
842
844
  }
843
845
  );