@mastra/playground-ui 58.0.0-alpha.2 → 58.0.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 (218) hide show
  1. package/dist/{code-DhrdtZce.cjs → code-B-x-9sJ1.cjs} +16 -4
  2. package/dist/code-B-x-9sJ1.cjs.map +1 -0
  3. package/dist/{code-D4Vw_fYq.js → code-BeWhOFT4.js} +16 -4
  4. package/dist/code-BeWhOFT4.js.map +1 -0
  5. package/dist/{code-block-BD2N5Yi2.js → code-block-C4caeNBi.js} +2 -2
  6. package/dist/{code-block-BD2N5Yi2.js.map → code-block-C4caeNBi.js.map} +1 -1
  7. package/dist/{code-block-fI67m2KV.cjs → code-block-il1MzQTs.cjs} +2 -2
  8. package/dist/{code-block-fI67m2KV.cjs.map → code-block-il1MzQTs.cjs.map} +1 -1
  9. package/dist/{code-diff-BHZTS4Zh.js → code-diff-Hao35skN.js} +2 -2
  10. package/dist/{code-diff-BHZTS4Zh.js.map → code-diff-Hao35skN.js.map} +1 -1
  11. package/dist/{code-editor-C-0srcj0.js → code-editor-BTxx6wLT.js} +4 -4
  12. package/dist/{code-editor-C-0srcj0.js.map → code-editor-BTxx6wLT.js.map} +1 -1
  13. package/dist/{code-editor-CFu_BYpQ.cjs → code-editor-LgrhXmOy.cjs} +3 -3
  14. package/dist/{code-editor-CFu_BYpQ.cjs.map → code-editor-LgrhXmOy.cjs.map} +1 -1
  15. package/dist/components/Code.cjs.js +1 -1
  16. package/dist/components/Code.es.js +1 -1
  17. package/dist/components/CodeBlock.cjs.js +1 -1
  18. package/dist/components/CodeBlock.es.js +1 -1
  19. package/dist/components/CodeDiff.es.js +1 -1
  20. package/dist/components/CodeEditor.cjs.js +1 -1
  21. package/dist/components/CodeEditor.es.js +1 -1
  22. package/dist/components/DataCodeSection.cjs.js +1 -1
  23. package/dist/components/DataCodeSection.es.js +1 -1
  24. package/dist/components/DataDetailsPanel.cjs.js +2 -78
  25. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  26. package/dist/components/DataDetailsPanel.es.js +2 -78
  27. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  28. package/dist/components/DataList.cjs.js +5 -5
  29. package/dist/components/DataList.es.js +5 -5
  30. package/dist/components/DataPanel.cjs.js +1 -1
  31. package/dist/components/DataPanel.es.js +1 -1
  32. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  33. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  34. package/dist/components/LogsDataList.cjs.js +2 -2
  35. package/dist/components/LogsDataList.es.js +2 -2
  36. package/dist/components/MainSidebar.cjs.js +125 -11
  37. package/dist/components/MainSidebar.cjs.js.map +1 -1
  38. package/dist/components/MainSidebar.es.js +120 -1
  39. package/dist/components/MainSidebar.es.js.map +1 -1
  40. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  41. package/dist/components/MarkdownRenderer.es.js +1 -1
  42. package/dist/components/SideDialog.cjs.js +2 -2
  43. package/dist/components/SideDialog.cjs.js.map +1 -1
  44. package/dist/components/SideDialog.es.js +3 -3
  45. package/dist/components/SideDialog.es.js.map +1 -1
  46. package/dist/components/ThemeProvider.es.js +1 -1
  47. package/dist/components/ThemeToggle.es.js +1 -1
  48. package/dist/components/Workflow.cjs.js +5 -5
  49. package/dist/components/Workflow.cjs.js.map +1 -1
  50. package/dist/components/Workflow.es.js +5 -5
  51. package/dist/components/Workflow.es.js.map +1 -1
  52. package/dist/components/ai/chat-event.cjs.js +1 -1
  53. package/dist/components/ai/chat-event.es.js +1 -1
  54. package/dist/components/ai/plan.cjs.js +1 -1
  55. package/dist/components/ai/plan.es.js +1 -1
  56. package/dist/components/ai/tool-call.cjs.js +2 -2
  57. package/dist/components/ai/tool-call.es.js +2 -2
  58. package/dist/data-code-section-Cth9zVkj.js +199 -0
  59. package/dist/data-code-section-Cth9zVkj.js.map +1 -0
  60. package/dist/{data-code-section-DzLc9O0B.cjs → data-code-section-DE4AgaTU.cjs} +44 -210
  61. package/dist/data-code-section-DE4AgaTU.cjs.map +1 -0
  62. package/dist/{data-list-DXjH5wkB.js → data-list-DisTjDHP.js} +3 -3
  63. package/dist/{data-list-DXjH5wkB.js.map → data-list-DisTjDHP.js.map} +1 -1
  64. package/dist/{data-list-CH3HAhK5.cjs → data-list-PwFpP_mo.cjs} +3 -3
  65. package/dist/{data-list-CH3HAhK5.cjs.map → data-list-PwFpP_mo.cjs.map} +1 -1
  66. package/dist/{data-list-skeleton-K_WmrVke.cjs → data-list-skeleton-CjwR0o3w.cjs} +2 -2
  67. package/dist/{data-list-skeleton-K_WmrVke.cjs.map → data-list-skeleton-CjwR0o3w.cjs.map} +1 -1
  68. package/dist/{data-list-skeleton-h4pILqCC.js → data-list-skeleton-DAfM8AjW.js} +2 -2
  69. package/dist/{data-list-skeleton-h4pILqCC.js.map → data-list-skeleton-DAfM8AjW.js.map} +1 -1
  70. package/dist/{data-list-spacer-BQ4_YeyT.js → data-list-spacer-BmorAN0V.js} +2 -2
  71. package/dist/{data-list-spacer-BQ4_YeyT.js.map → data-list-spacer-BmorAN0V.js.map} +1 -1
  72. package/dist/{data-list-spacer-GIVW2hB1.cjs → data-list-spacer-DEcgVGFM.cjs} +2 -2
  73. package/dist/{data-list-spacer-GIVW2hB1.cjs.map → data-list-spacer-DEcgVGFM.cjs.map} +1 -1
  74. package/dist/{data-list-top-LiaWUw5P.js → data-list-top-DpbOA3uw.js} +2 -2
  75. package/dist/data-list-top-DpbOA3uw.js.map +1 -0
  76. package/dist/{data-list-top-B-gb-FY6.cjs → data-list-top-WGUY167p.cjs} +2 -2
  77. package/dist/data-list-top-WGUY167p.cjs.map +1 -0
  78. package/dist/{data-panel-CPZ2GuZN.js → data-panel-BQVTKo86.js} +2 -2
  79. package/dist/{data-panel-CPZ2GuZN.js.map → data-panel-BQVTKo86.js.map} +1 -1
  80. package/dist/{data-panel-CIu6JToM.cjs → data-panel-XPXrhYJI.cjs} +2 -2
  81. package/dist/{data-panel-CIu6JToM.cjs.map → data-panel-XPXrhYJI.cjs.map} +1 -1
  82. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  83. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  84. package/dist/domains/chat/messages/reasoning.cjs.js +1 -1
  85. package/dist/domains/chat/messages/reasoning.es.js +1 -1
  86. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  87. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  88. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  89. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  90. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  91. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  92. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  93. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  94. package/dist/domains/logs/components/log-data-panel.cjs.js +118 -0
  95. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -0
  96. package/dist/domains/logs/components/log-data-panel.d.ts +2 -0
  97. package/dist/domains/logs/components/log-data-panel.es.js +114 -0
  98. package/dist/domains/logs/components/log-data-panel.es.js.map +1 -0
  99. package/dist/domains/logs/components/logs-list-view.cjs.js +4 -4
  100. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  101. package/dist/domains/logs/components/logs-list-view.es.js +4 -4
  102. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  103. package/dist/domains/logs/components.cjs.js +2 -4
  104. package/dist/domains/logs/components.cjs.js.map +1 -1
  105. package/dist/domains/logs/components.es.js +1 -2
  106. package/dist/domains/logs/components.es.js.map +1 -1
  107. package/dist/domains/logs.cjs.js +2 -4
  108. package/dist/domains/logs.cjs.js.map +1 -1
  109. package/dist/domains/logs.es.js +1 -2
  110. package/dist/domains/logs.es.js.map +1 -1
  111. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  112. package/dist/domains/metrics/components/memory-card-view.cjs.js +1 -1
  113. package/dist/domains/metrics/components/memory-card-view.es.js +1 -1
  114. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  115. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  116. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  117. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  118. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  119. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  120. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  121. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  122. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  123. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  124. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  125. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  126. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +1 -1
  127. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +1 -1
  128. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  129. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  130. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +1 -1
  131. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +1 -1
  132. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  133. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  134. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  135. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  136. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  137. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  138. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  139. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  140. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  141. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  142. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  143. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  144. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  145. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  146. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +1 -1
  147. package/dist/domains/traces/components/trace-data-panel-view.es.js +1 -1
  148. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  149. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  150. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  151. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  152. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  153. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  154. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  155. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  156. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  157. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  158. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
  159. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
  160. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  161. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  162. package/dist/filter-bar-chip.css +34 -14
  163. package/dist/layout/tabbed-container.cjs.js +1 -1
  164. package/dist/layout/tabbed-container.es.js +1 -1
  165. package/dist/{logs-data-list-XU1hCwI5.js → logs-data-list-5BAeLU57.js} +11 -11
  166. package/dist/logs-data-list-5BAeLU57.js.map +1 -0
  167. package/dist/{logs-data-list-BGJTRyO_.cjs → logs-data-list-YL9yLKF3.cjs} +11 -11
  168. package/dist/logs-data-list-YL9yLKF3.cjs.map +1 -0
  169. package/dist/{main-sidebar-BEXzGkDX.js → main-sidebar-link-active-C9QPj3D6.js} +6 -118
  170. package/dist/main-sidebar-link-active-C9QPj3D6.js.map +1 -0
  171. package/dist/{main-sidebar-jbUd9Rz8.cjs → main-sidebar-link-active-UEuukSeT.cjs} +4 -117
  172. package/dist/main-sidebar-link-active-UEuukSeT.cjs.map +1 -0
  173. package/dist/{markdown-renderer-BBYgxsXL.js → markdown-renderer-Ces7VyRK.js} +2 -2
  174. package/dist/{markdown-renderer-BBYgxsXL.js.map → markdown-renderer-Ces7VyRK.js.map} +1 -1
  175. package/dist/{markdown-renderer-Du_Zd1T-.cjs → markdown-renderer-DtH58325.cjs} +2 -2
  176. package/dist/{markdown-renderer-Du_Zd1T-.cjs.map → markdown-renderer-DtH58325.cjs.map} +1 -1
  177. package/dist/new/sidebar.cjs.js +32 -32
  178. package/dist/new/sidebar.cjs.js.map +1 -1
  179. package/dist/new/sidebar.es.js +2 -2
  180. package/dist/{span-payload-primitives-CzLh6axt.js → span-payload-primitives-Buq9V8nK.js} +2 -2
  181. package/dist/{span-payload-primitives-CzLh6axt.js.map → span-payload-primitives-Buq9V8nK.js.map} +1 -1
  182. package/dist/{span-payload-primitives-KEXwIaeZ.cjs → span-payload-primitives-CjlNH9C-.cjs} +2 -2
  183. package/dist/{span-payload-primitives-KEXwIaeZ.cjs.map → span-payload-primitives-CjlNH9C-.cjs.map} +1 -1
  184. package/dist/src/domains/logs/components/index.d.ts +1 -2
  185. package/dist/src/domains/logs/components/log-data-panel.d.ts +12 -0
  186. package/dist/src/ds/components/Code/code.d.ts +3 -1
  187. package/dist/src/ds/components/DataList/shared.d.ts +2 -2
  188. package/dist/style.css +50 -36
  189. package/dist/{theme-provider-C9ih9jSS.js → theme-provider-CQKmlkHX.js} +2 -2
  190. package/dist/{theme-provider-C9ih9jSS.js.map → theme-provider-CQKmlkHX.js.map} +1 -1
  191. package/dist/{traces-data-list-DLeKSbaZ.cjs → traces-data-list-Dam8-XW-.cjs} +4 -4
  192. package/dist/{traces-data-list-DLeKSbaZ.cjs.map → traces-data-list-Dam8-XW-.cjs.map} +1 -1
  193. package/dist/{traces-data-list-Cjy5a-1f.js → traces-data-list-Dvi0s56v.js} +4 -4
  194. package/dist/{traces-data-list-Cjy5a-1f.js.map → traces-data-list-Dvi0s56v.js.map} +1 -1
  195. package/package.json +6 -6
  196. package/dist/code-D4Vw_fYq.js.map +0 -1
  197. package/dist/code-DhrdtZce.cjs.map +0 -1
  198. package/dist/data-code-section-C75shCII.js +0 -365
  199. package/dist/data-code-section-C75shCII.js.map +0 -1
  200. package/dist/data-code-section-DzLc9O0B.cjs.map +0 -1
  201. package/dist/data-list-top-B-gb-FY6.cjs.map +0 -1
  202. package/dist/data-list-top-LiaWUw5P.js.map +0 -1
  203. package/dist/domains/logs/components/log-details-view.cjs.js +0 -131
  204. package/dist/domains/logs/components/log-details-view.cjs.js.map +0 -1
  205. package/dist/domains/logs/components/log-details-view.d.ts +0 -2
  206. package/dist/domains/logs/components/log-details-view.es.js +0 -127
  207. package/dist/domains/logs/components/log-details-view.es.js.map +0 -1
  208. package/dist/domains/logs/components/logs-layout.cjs.js +0 -36
  209. package/dist/domains/logs/components/logs-layout.cjs.js.map +0 -1
  210. package/dist/domains/logs/components/logs-layout.d.ts +0 -2
  211. package/dist/domains/logs/components/logs-layout.es.js +0 -32
  212. package/dist/domains/logs/components/logs-layout.es.js.map +0 -1
  213. package/dist/logs-data-list-BGJTRyO_.cjs.map +0 -1
  214. package/dist/logs-data-list-XU1hCwI5.js.map +0 -1
  215. package/dist/main-sidebar-BEXzGkDX.js.map +0 -1
  216. package/dist/main-sidebar-jbUd9Rz8.cjs.map +0 -1
  217. package/dist/src/domains/logs/components/log-details-view.d.ts +0 -12
  218. package/dist/src/domains/logs/components/logs-layout.d.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"DataDetailsPanel.es.js","sources":["../../src/ds/components/DataDetailsPanel/data-details-panel.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-close-button.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-code-section.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-content.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-header.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-heading.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-key-value-list.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-loading-data.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-no-data.tsx","../../src/ds/components/DataDetailsPanel/index.ts"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelProps {\n collapsed?: boolean;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanel({ collapsed, children }: DataDetailsPanelProps) {\n return (\n <section\n className={cn(\n 'flex flex-col overflow-hidden rounded-xl border border-border bg-background',\n collapsed ? 'h-auto' : 'h-full',\n )}\n >\n {children}\n </section>\n );\n}\n","import { XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport interface DataDetailsPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n className?: string;\n}\n\nexport function DataDetailsPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n className,\n}: DataDetailsPanelCloseButtonProps) {\n return (\n <Button size=\"md\" onClick={onClick} aria-label=\"Close Panel\" tooltip={tooltip} className={className}>\n <XIcon />\n </Button>\n );\n}\n","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 { useMemo, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nfunction buildDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-caption)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: '#939393',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\nfunction buildLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-caption)',\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(--accent1)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--accent6)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--accent2)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--accent5)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--accent3)',\n },\n { tag: [t.variableName, t.number], color: 'var(--accent5)' },\n { tag: [t.name, t.quote], color: 'var(--accent1)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildDarkTheme() : buildLightTheme()), [isDark]);\n};\n\nexport interface DataDetailsPanelCodeSectionProps {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Extra controls rendered in the header, before the built-in copy button. */\n actions?: React.ReactNode;\n}\n\nexport function DataDetailsPanelCodeSection({\n codeStr = '',\n title,\n icon,\n simplified = false,\n className,\n actions,\n}: DataDetailsPanelCodeSectionProps) {\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 const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <div\n className={cn(\n 'flex items-center gap-1.5 text-meta tracking-widest text-placeholder uppercase',\n '[&>svg]:size-3.5',\n )}\n >\n {icon}\n {title}\n </div>\n <div className=\"flex items-center gap-2\">\n {actions}\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(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror\n extensions={[json(), EditorView.lineWrapping]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import type { ReactNode } from 'react';\n\nexport interface DataDetailsPanelContentProps {\n children: ReactNode;\n}\n\nexport function DataDetailsPanelContent({ children }: DataDetailsPanelContentProps) {\n return <div className=\"flex-1 overflow-y-auto p-4\">{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeader({ className, children }: DataDetailsPanelHeaderProps) {\n return (\n <div className={cn('mx-4 flex items-center justify-between gap-2 border-b border-border py-3', className)}>\n {children}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeading({ className, children }: DataDetailsPanelHeadingProps) {\n return (\n <h3\n className={cn('flex gap-2 text-body text-muted-foreground [&>b]:text-caption [&>b]:text-placeholder', className)}\n >\n {children}\n </h3>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelKeyValueListProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Root({ className, children }: DataDetailsPanelKeyValueListProps) {\n return <dl className={cn('grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5', className)}>{children}</dl>;\n}\n\nexport interface DataDetailsPanelKeyValueListKeyProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Key({ className, children }: DataDetailsPanelKeyValueListKeyProps) {\n return <dt className={cn('shrink-0 py-0.5 text-body-sm text-placeholder', className)}>{children}</dt>;\n}\n\nexport interface DataDetailsPanelKeyValueListValueProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Value({ className, children }: DataDetailsPanelKeyValueListValueProps) {\n return <dd className={cn('min-w-0 truncate py-0.5 text-body-sm text-muted-foreground', className)}>{children}</dd>;\n}\n\nexport interface DataDetailsPanelKeyValueListHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Header({ className, children }: DataDetailsPanelKeyValueListHeaderProps) {\n return (\n <dt className={cn('col-span-2 py-3 text-caption tracking-widest text-placeholder uppercase', className)}>\n {children}\n </dt>\n );\n}\n\nexport const DataDetailsPanelKeyValueList = Object.assign(Root, {\n Key,\n Value,\n Header,\n});\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataDetailsPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataDetailsPanelLoadingData({ children }: DataDetailsPanelLoadingDataProps) {\n return (\n <div className=\"flex items-center justify-center gap-2 px-4 py-6 text-caption text-muted-foreground\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-muted-foreground\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","export interface DataDetailsPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataDetailsPanelNoData({ children }: DataDetailsPanelNoDataProps) {\n return <p className=\"px-4 py-6 text-caption text-placeholder\">{children ?? 'No data found.'}</p>;\n}\n","import { DataDetailsPanel as Root } from './data-details-panel';\nimport { DataDetailsPanelCloseButton } from './data-details-panel-close-button';\nimport { DataDetailsPanelCodeSection } from './data-details-panel-code-section';\nimport { DataDetailsPanelContent } from './data-details-panel-content';\nimport { DataDetailsPanelHeader } from './data-details-panel-header';\nimport { DataDetailsPanelHeading } from './data-details-panel-heading';\nimport { DataDetailsPanelKeyValueList } from './data-details-panel-key-value-list';\nimport { DataDetailsPanelLoadingData } from './data-details-panel-loading-data';\nimport { DataDetailsPanelNoData } from './data-details-panel-no-data';\n\nconst DataDetailsPanel = Object.assign(Root, {\n Header: DataDetailsPanelHeader,\n Heading: DataDetailsPanelHeading,\n CloseButton: DataDetailsPanelCloseButton,\n LoadingData: DataDetailsPanelLoadingData,\n NoData: DataDetailsPanelNoData,\n Content: DataDetailsPanelContent,\n KeyValueList: DataDetailsPanelKeyValueList,\n CodeSection: DataDetailsPanelCodeSection,\n});\n\nexport { DataDetailsPanel };\nexport type { DataDetailsPanelProps } from './data-details-panel';\nexport type { DataDetailsPanelHeaderProps } from './data-details-panel-header';\nexport type { DataDetailsPanelHeadingProps } from './data-details-panel-heading';\nexport type { DataDetailsPanelCloseButtonProps } from './data-details-panel-close-button';\nexport type { DataDetailsPanelLoadingDataProps } from './data-details-panel-loading-data';\nexport type { DataDetailsPanelNoDataProps } from './data-details-panel-no-data';\nexport type { DataDetailsPanelContentProps } from './data-details-panel-content';\nexport type {\n DataDetailsPanelKeyValueListProps,\n DataDetailsPanelKeyValueListKeyProps,\n DataDetailsPanelKeyValueListValueProps,\n DataDetailsPanelKeyValueListHeaderProps,\n} from './data-details-panel-key-value-list';\nexport type { DataDetailsPanelCodeSectionProps } from './data-details-panel-code-section';\n"],"names":["DataDetailsPanel","t","Root"],"mappings":";;;;;;;;;;;;;;;;;AAOO,SAASA,kBAAA,CAAiB,EAAE,SAAA,EAAW,QAAA,EAAS,EAA0B;AAC/E,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,6EAAA;AAAA,QACA,YAAY,QAAA,GAAW;AAAA,OACzB;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;ACTO,SAAS,2BAAA,CAA4B;AAAA,EAC1C,OAAA;AAAA,EACA,OAAA,GAAU,aAAA;AAAA,EACV;AACF,CAAA,EAAqC;AACnC,EAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,OAAA,EAAkB,YAAA,EAAW,aAAA,EAAc,OAAA,EAAkB,SAAA,EAC7E,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,CAAA,EACT,CAAA;AAEJ;;ACHA,SAAS,cAAA,GAA4B;AACnC,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,SAAA;AAAA,MAClB,UAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,CAACC,KAAE,SAAA,EAAWA,IAAA,CAAE,YAAY,CAAA,EAAG;AAAA,GAChD,CAAA;AACH;AAEA,SAAS,eAAA,GAA6B;AACpC,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,gBAAA,EAAiB;AAAA,IAC7D,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,MAAMA,IAAA,CAAE,IAAA,EAAMA,IAAA,CAAE,OAAA,CAAQA,IAAA,CAAE,YAAY,CAAC,CAAA,EAAG,OAAO,gBAAA,EAAiB;AAAA,IAC5E,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,OAAA,EAASA,IAAA,CAAE,QAAA,EAAUA,IAAA,CAAE,OAAO,CAAA,EAAG,KAAA,EAAO,gBAAA,EAAiB;AAAA,IACnE,EAAE,GAAA,EAAK,CAACA,IAAA,CAAE,QAAA,CAASA,IAAA,CAAE,YAAY,CAAA,EAAGA,IAAA,CAAE,YAAY,CAAA,EAAG,KAAA,EAAO,gBAAA,EAAiB;AAAA,IAC7E;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,gBAAA,EAAiB;AAAA,IAC3D,EAAE,KAAK,CAACA,IAAA,CAAE,MAAMA,IAAA,CAAE,KAAK,CAAA,EAAG,KAAA,EAAO,gBAAA;AAAiB,GACnD,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,cAAA,KAAmB,eAAA,EAAgB,EAAI,CAAC,MAAM,CAAC,CAAA;AAChF,CAAA;AAYO,SAAS,2BAAA,CAA4B;AAAA,EAC1C,OAAA,GAAU,EAAA;AAAA,EACV,KAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA;AAAA,EACA;AACF,CAAA,EAAqC;AACnC,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;AAC5E,EAAA,MAAM,mBAAmB,UAAA,IAAc,mBAAA;AAEvC,EAAA,IAAI,CAAC,OAAA,IAAW,OAAA,KAAY,MAAA,EAAQ,OAAO,IAAA;AAE3C,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA,EACjD,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,sBAAA,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,gFAAA;AAAA,YACA;AAAA,WACF;AAAA,UAEC,QAAA,EAAA;AAAA,YAAA,IAAA;AAAA,YACA;AAAA;AAAA;AAAA,OACH;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACZ,QAAA,EAAA;AAAA,QAAA,OAAA;AAAA,wBACD,IAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAK,IAAA,EACjB,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAS,OAAA,IAAW,YAAA,EAAc,CAAA;AAAA,UAC7C,gBAAA,oBACC,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,YAAA,EAAY,sBAAsB,uBAAA,GAA0B,qBAAA;AAAA,cAC5D,OAAA,EAAS,MAAM,sBAAA,CAAuB,CAAA,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,cAE5C,QAAA,EAAA,mBAAA,mBAAsB,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA,uBAAM,gBAAA,EAAA,EAAiB;AAAA;AAAA;AAC/D,SAAA,EAEJ;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEC,QAAA,EAAA,gBAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2CAAA,EACb,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EAAa,QAAA,EAAA,YAAA,EAAa,CAAA,EAC3C,CAAA,mBAEA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,UAAA,EAAY,CAAC,IAAA,EAAK,EAAG,WAAW,YAAY,CAAA;AAAA,YAC5C,KAAA;AAAA,YACA,KAAA,EAAO,OAAA;AAAA,YACP,QAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAEJ,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,qBAAqB,GAAA,EAAuB;AACnD,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,MAAM,GAAA,GAAM,GAAA,CAAI,OAAA,CAAQ,IAAI,CAAA;AAC5B,IAAA,OAAO,GAAA,KAAQ,EAAA,IAAM,GAAA,KAAQ,GAAA,CAAI,MAAA,GAAS,CAAA;AAAA,EAC5C,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AAC7B,IAAA,OAAO,GAAA,CAAI,IAAA,CAAK,CAAA,IAAA,KAAQ,oBAAA,CAAqB,IAAI,CAAC,CAAA;AAAA,EACpD,CAAA,MAAA,IAAW,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AACzC,IAAA,OAAO,MAAA,CAAO,OAAO,GAAG,CAAA,CAAE,KAAK,CAAA,KAAA,KAAS,oBAAA,CAAqB,KAAK,CAAC,CAAA;AAAA,EACrE;AACA,EAAA,OAAO,KAAA;AACT;;AC1KO,SAAS,uBAAA,CAAwB,EAAE,QAAA,EAAS,EAAiC;AAClF,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4BAAA,EAA8B,QAAA,EAAS,CAAA;AAC/D;;ACDO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAW,QAAA,EAAS,EAAgC;AAC3F,EAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,0EAAA,EAA4E,SAAS,GACrG,QAAA,EACH,CAAA;AAEJ;;ACNO,SAAS,uBAAA,CAAwB,EAAE,SAAA,EAAW,QAAA,EAAS,EAAiC;AAC7F,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,sFAAA,EAAwF,SAAS,CAAA;AAAA,MAE9G;AAAA;AAAA,GACH;AAEJ;;ACRA,SAAS,IAAA,CAAK,EAAE,SAAA,EAAW,QAAA,EAAS,EAAsC;AACxE,EAAA,2BAAQ,IAAA,EAAA,EAAG,SAAA,EAAW,GAAG,6CAAA,EAA+C,SAAS,GAAI,QAAA,EAAS,CAAA;AAChG;AAOA,SAAS,GAAA,CAAI,EAAE,SAAA,EAAW,QAAA,EAAS,EAAyC;AAC1E,EAAA,2BAAQ,IAAA,EAAA,EAAG,SAAA,EAAW,GAAG,+CAAA,EAAiD,SAAS,GAAI,QAAA,EAAS,CAAA;AAClG;AAOA,SAAS,KAAA,CAAM,EAAE,SAAA,EAAW,QAAA,EAAS,EAA2C;AAC9E,EAAA,2BAAQ,IAAA,EAAA,EAAG,SAAA,EAAW,GAAG,4DAAA,EAA8D,SAAS,GAAI,QAAA,EAAS,CAAA;AAC/G;AAOA,SAAS,MAAA,CAAO,EAAE,SAAA,EAAW,QAAA,EAAS,EAA4C;AAChF,EAAA,2BACG,IAAA,EAAA,EAAG,SAAA,EAAW,GAAG,yEAAA,EAA2E,SAAS,GACnG,QAAA,EACH,CAAA;AAEJ;AAEO,MAAM,4BAAA,GAA+B,MAAA,CAAO,MAAA,CAAO,IAAA,EAAM;AAAA,EAC9D,GAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAC,CAAA;;ACvCM,SAAS,2BAAA,CAA4B,EAAE,QAAA,EAAS,EAAqC;AAC1F,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qFAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAQ,IAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,OAAA,EAAQ,WAAU,uBAAA,EAAwB,CAAA;AAAA,IAAE,GAAA;AAAA,IAAE,QAAA,IAAY;AAAA,GAAA,EACvF,CAAA;AAEJ;;ACTO,SAAS,sBAAA,CAAuB,EAAE,QAAA,EAAS,EAAgC;AAChF,EAAA,uBAAO,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,yCAAA,EAA2C,sBAAY,gBAAA,EAAiB,CAAA;AAC9F;;ACIA,MAAM,gBAAA,GAAmB,MAAA,CAAO,MAAA,CAAOC,kBAAA,EAAM;AAAA,EAC3C,MAAA,EAAQ,sBAAA;AAAA,EACR,OAAA,EAAS,uBAAA;AAAA,EACT,WAAA,EAAa,2BAAA;AAAA,EACb,WAAA,EAAa,2BAAA;AAAA,EACb,MAAA,EAAQ,sBAAA;AAAA,EACR,OAAA,EAAS,uBAAA;AAAA,EACT,YAAA,EAAc,4BAAA;AAAA,EACd,WAAA,EAAa;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"DataDetailsPanel.es.js","sources":["../../src/ds/components/DataDetailsPanel/data-details-panel.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-close-button.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-code-section.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-content.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-header.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-heading.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-key-value-list.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-loading-data.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-no-data.tsx","../../src/ds/components/DataDetailsPanel/index.ts"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelProps {\n collapsed?: boolean;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanel({ collapsed, children }: DataDetailsPanelProps) {\n return (\n <section\n className={cn(\n 'flex flex-col overflow-hidden rounded-xl border border-border bg-background',\n collapsed ? 'h-auto' : 'h-full',\n )}\n >\n {children}\n </section>\n );\n}\n","import { XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport interface DataDetailsPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n className?: string;\n}\n\nexport function DataDetailsPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n className,\n}: DataDetailsPanelCloseButtonProps) {\n return (\n <Button size=\"md\" onClick={onClick} aria-label=\"Close Panel\" tooltip={tooltip} className={className}>\n <XIcon />\n </Button>\n );\n}\n","import { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport { useMemo, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { Code } from '@/ds/components/Code/code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelCodeSectionProps {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Extra controls rendered in the header, before the built-in copy button. */\n actions?: React.ReactNode;\n}\n\nexport function DataDetailsPanelCodeSection({\n codeStr = '',\n title,\n icon,\n simplified = false,\n className,\n actions,\n}: DataDetailsPanelCodeSectionProps) {\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 const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <div\n className={cn(\n 'flex items-center gap-1.5 text-meta tracking-widest text-placeholder uppercase',\n '[&>svg]:size-3.5',\n )}\n >\n {icon}\n {title}\n </div>\n <div className=\"flex items-center gap-2\">\n {actions}\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(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <Code code={codeStr} lang=\"json\" className=\"font-mono text-caption break-all whitespace-pre-wrap\" />\n )}\n </div>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import type { ReactNode } from 'react';\n\nexport interface DataDetailsPanelContentProps {\n children: ReactNode;\n}\n\nexport function DataDetailsPanelContent({ children }: DataDetailsPanelContentProps) {\n return <div className=\"flex-1 overflow-y-auto p-4\">{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeader({ className, children }: DataDetailsPanelHeaderProps) {\n return (\n <div className={cn('mx-4 flex items-center justify-between gap-2 border-b border-border py-3', className)}>\n {children}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeading({ className, children }: DataDetailsPanelHeadingProps) {\n return (\n <h3\n className={cn('flex gap-2 text-body text-muted-foreground [&>b]:text-caption [&>b]:text-placeholder', className)}\n >\n {children}\n </h3>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelKeyValueListProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Root({ className, children }: DataDetailsPanelKeyValueListProps) {\n return <dl className={cn('grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5', className)}>{children}</dl>;\n}\n\nexport interface DataDetailsPanelKeyValueListKeyProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Key({ className, children }: DataDetailsPanelKeyValueListKeyProps) {\n return <dt className={cn('shrink-0 py-0.5 text-body-sm text-placeholder', className)}>{children}</dt>;\n}\n\nexport interface DataDetailsPanelKeyValueListValueProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Value({ className, children }: DataDetailsPanelKeyValueListValueProps) {\n return <dd className={cn('min-w-0 truncate py-0.5 text-body-sm text-muted-foreground', className)}>{children}</dd>;\n}\n\nexport interface DataDetailsPanelKeyValueListHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Header({ className, children }: DataDetailsPanelKeyValueListHeaderProps) {\n return (\n <dt className={cn('col-span-2 py-3 text-caption tracking-widest text-placeholder uppercase', className)}>\n {children}\n </dt>\n );\n}\n\nexport const DataDetailsPanelKeyValueList = Object.assign(Root, {\n Key,\n Value,\n Header,\n});\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataDetailsPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataDetailsPanelLoadingData({ children }: DataDetailsPanelLoadingDataProps) {\n return (\n <div className=\"flex items-center justify-center gap-2 px-4 py-6 text-caption text-muted-foreground\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-muted-foreground\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","export interface DataDetailsPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataDetailsPanelNoData({ children }: DataDetailsPanelNoDataProps) {\n return <p className=\"px-4 py-6 text-caption text-placeholder\">{children ?? 'No data found.'}</p>;\n}\n","import { DataDetailsPanel as Root } from './data-details-panel';\nimport { DataDetailsPanelCloseButton } from './data-details-panel-close-button';\nimport { DataDetailsPanelCodeSection } from './data-details-panel-code-section';\nimport { DataDetailsPanelContent } from './data-details-panel-content';\nimport { DataDetailsPanelHeader } from './data-details-panel-header';\nimport { DataDetailsPanelHeading } from './data-details-panel-heading';\nimport { DataDetailsPanelKeyValueList } from './data-details-panel-key-value-list';\nimport { DataDetailsPanelLoadingData } from './data-details-panel-loading-data';\nimport { DataDetailsPanelNoData } from './data-details-panel-no-data';\n\nconst DataDetailsPanel = Object.assign(Root, {\n Header: DataDetailsPanelHeader,\n Heading: DataDetailsPanelHeading,\n CloseButton: DataDetailsPanelCloseButton,\n LoadingData: DataDetailsPanelLoadingData,\n NoData: DataDetailsPanelNoData,\n Content: DataDetailsPanelContent,\n KeyValueList: DataDetailsPanelKeyValueList,\n CodeSection: DataDetailsPanelCodeSection,\n});\n\nexport { DataDetailsPanel };\nexport type { DataDetailsPanelProps } from './data-details-panel';\nexport type { DataDetailsPanelHeaderProps } from './data-details-panel-header';\nexport type { DataDetailsPanelHeadingProps } from './data-details-panel-heading';\nexport type { DataDetailsPanelCloseButtonProps } from './data-details-panel-close-button';\nexport type { DataDetailsPanelLoadingDataProps } from './data-details-panel-loading-data';\nexport type { DataDetailsPanelNoDataProps } from './data-details-panel-no-data';\nexport type { DataDetailsPanelContentProps } from './data-details-panel-content';\nexport type {\n DataDetailsPanelKeyValueListProps,\n DataDetailsPanelKeyValueListKeyProps,\n DataDetailsPanelKeyValueListValueProps,\n DataDetailsPanelKeyValueListHeaderProps,\n} from './data-details-panel-key-value-list';\nexport type { DataDetailsPanelCodeSectionProps } from './data-details-panel-code-section';\n"],"names":["DataDetailsPanel","Root"],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataList = require('../data-list-CH3HAhK5.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-K_WmrVke.cjs');
5
+ const dataList = require('../data-list-PwFpP_mo.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton-CjwR0o3w.cjs');
7
7
  const jsxRuntime = require('react/jsx-runtime');
8
- const dataListSpacer = require('../data-list-spacer-GIVW2hB1.cjs');
9
- const dataListTop = require('../data-list-top-B-gb-FY6.cjs');
8
+ const dataListSpacer = require('../data-list-spacer-DEcgVGFM.cjs');
9
+ const dataListTop = require('../data-list-top-WGUY167p.cjs');
10
10
  const dateFns = require('date-fns');
11
- const tracesDataList = require('../traces-data-list-DLeKSbaZ.cjs');
11
+ const tracesDataList = require('../traces-data-list-Dam8-XW-.cjs');
12
12
  const useDataListKeyboard = require('../use-data-list-keyboard-DF3tLe10.cjs');
13
13
  const layout_tabbedContainer = require('../layout/tabbed-container.cjs.js');
14
14
 
@@ -1,10 +1,10 @@
1
- export { D as DataList } from '../data-list-DXjH5wkB.js';
2
- export { D as DataListSkeleton } from '../data-list-skeleton-h4pILqCC.js';
1
+ export { D as DataList } from '../data-list-DisTjDHP.js';
2
+ export { D as DataListSkeleton } from '../data-list-skeleton-DAfM8AjW.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
- import { D as DataListNextPageLoading, a as DataListNoMatch, d as DataListRowButton, f as DataListSortableTopCell } from '../data-list-spacer-BQ4_YeyT.js';
5
- import { c as DataListCell, b as DataListTopCell, a as DataListTop, D as DataListRoot } from '../data-list-top-LiaWUw5P.js';
4
+ import { D as DataListNextPageLoading, a as DataListNoMatch, d as DataListRowButton, f as DataListSortableTopCell } from '../data-list-spacer-BmorAN0V.js';
5
+ import { c as DataListCell, b as DataListTopCell, a as DataListTop, D as DataListRoot } from '../data-list-top-DpbOA3uw.js';
6
6
  import { format, isToday } from 'date-fns';
7
- export { T as TracesDataList } from '../traces-data-list-Cjy5a-1f.js';
7
+ export { T as TracesDataList } from '../traces-data-list-Dvi0s56v.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-CIu6JToM.cjs');
5
+ const dataPanel = require('../data-panel-XPXrhYJI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataPanel } from '../data-panel-CPZ2GuZN.js';
1
+ export { D as DataPanel } from '../data-panel-BQVTKo86.js';
2
2
  //# sourceMappingURL=DataPanel.es.js.map
@@ -10,7 +10,7 @@ const Button = require('../Button-BAMnPqos.cjs');
10
10
  const Notice = require('../Notice-AUNd8fqT.cjs');
11
11
  const envFile = require('../env-file-BU2hStkm.cjs');
12
12
  const Txt = require('../Txt-B4-2nLaI.cjs');
13
- const dataList = require('../data-list-CH3HAhK5.cjs');
13
+ const dataList = require('../data-list-PwFpP_mo.cjs');
14
14
  const hooks_useCopyToClipboard = require('../hooks/use-copy-to-clipboard.cjs.js');
15
15
  const fieldErrorId = require('../field-error-id-6EfqmQ4C.cjs');
16
16
  const inputGroup = require('../input-group-BfnJ0RIj.cjs');
@@ -6,7 +6,7 @@ import { B as Button } from '../Button-B8nF87ai.js';
6
6
  import { N as Notice } from '../Notice-WT8G4OA6.js';
7
7
  import { D as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '../env-file-BITYowCx.js';
8
8
  import { T as Txt } from '../Txt-DTh3Pa_a.js';
9
- import { D as DataList } from '../data-list-DXjH5wkB.js';
9
+ import { D as DataList } from '../data-list-DisTjDHP.js';
10
10
  import { useCopyToClipboard } from '../hooks/use-copy-to-clipboard.es.js';
11
11
  import { F as FieldBlock, f as fieldErrorId } from '../field-error-id-DyWx33Fu.js';
12
12
  import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-Jt7lZsN9.js';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const logsDataList = require('../logs-data-list-BGJTRyO_.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-K_WmrVke.cjs');
5
+ const logsDataList = require('../logs-data-list-YL9yLKF3.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton-CjwR0o3w.cjs');
7
7
  require('react');
8
8
  require('../keyboard/keyboard-shortcuts-context.cjs.js');
9
9
 
@@ -1,5 +1,5 @@
1
- export { L as LogsDataList } from '../logs-data-list-XU1hCwI5.js';
2
- export { D as LogsDataListSkeleton } from '../data-list-skeleton-h4pILqCC.js';
1
+ export { L as LogsDataList } from '../logs-data-list-5BAeLU57.js';
2
+ export { D as LogsDataListSkeleton } from '../data-list-skeleton-DAfM8AjW.js';
3
3
  import 'react';
4
4
  import '../keyboard/keyboard-shortcuts-context.es.js';
5
5
  //# sourceMappingURL=LogsDataList.es.js.map
@@ -2,18 +2,132 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const mainSidebar = require('../main-sidebar-jbUd9Rz8.cjs');
5
+ const jsxRuntime = require('react/jsx-runtime');
6
+ const utils_cn = require('../cn-DG0X1KEP.cjs');
7
+ const mainSidebarLinkActive = require('../main-sidebar-link-active-UEuukSeT.cjs');
8
+ const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
9
+ const React = require('react');
6
10
 
11
+ function MainSidebarBottom({ className, children, ...props }) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("mt-auto", className), ...props, children });
13
+ }
7
14
 
15
+ function MainSidebarNavHeader({
16
+ children,
17
+ className,
18
+ state: stateProp,
19
+ href,
20
+ isActive,
21
+ LinkComponent: LinkProp,
22
+ ...props
23
+ }) {
24
+ const ctx = mainSidebarLinkActive.useMaybeSidebarState();
25
+ const state = stateProp ?? ctx?.state ?? "default";
26
+ const isMobile = ctx?.isMobile ?? false;
27
+ const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
28
+ const showTitle = state === "default" && !isMobile;
29
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("mt-2 mb-0.5 flex min-h-8 min-w-0 items-center", className), children: showTitle ? /* @__PURE__ */ jsxRuntime.jsx(
30
+ "header",
31
+ {
32
+ ...props,
33
+ className: utils_cn.cn("max-w-full min-w-0 truncate pl-3 text-column", {
34
+ "text-foreground": isActive,
35
+ "text-muted-foreground/70": !isActive
36
+ }),
37
+ children: href ? /* @__PURE__ */ jsxRuntime.jsx(
38
+ Link,
39
+ {
40
+ href,
41
+ className: utils_cn.cn("block min-w-0 truncate transition-colors duration-normal", {
42
+ "hover:text-foreground": !isActive,
43
+ "text-foreground": isActive
44
+ }),
45
+ children
46
+ }
47
+ ) : children
48
+ }
49
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
50
+ /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("header", { ...props, children }) }),
51
+ /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "mx-3 h-px flex-1 bg-border" })
52
+ ] }) });
53
+ }
8
54
 
9
- exports.MainSidebar = mainSidebar.MainSidebar;
10
- exports.MainSidebarMobileTrigger = mainSidebar.MainSidebarMobileTrigger;
11
- exports.MainSidebarProvider = mainSidebar.MainSidebarProvider;
12
- exports.MainSidebarTrigger = mainSidebar.MainSidebarTrigger;
13
- exports.getIsLinkActive = mainSidebar.getIsLinkActive;
14
- exports.navItemClasses = mainSidebar.navItemClasses;
15
- exports.useMainSidebar = mainSidebar.useMainSidebar;
16
- exports.useMaybeSidebar = mainSidebar.useMaybeSidebar;
17
- exports.useMaybeSidebarState = mainSidebar.useMaybeSidebarState;
18
- exports.useMobileDrawer = mainSidebar.useMobileDrawer;
55
+ function getLinkKey(link) {
56
+ return `${link.url}:${link.name}`;
57
+ }
58
+ function MainSidebarSectionLink({ link, activeCandidates, level = 0, isActive }) {
59
+ const childLinks = link.children ?? [];
60
+ return /* @__PURE__ */ jsxRuntime.jsx(
61
+ mainSidebarLinkActive.MainSidebarNavLink,
62
+ {
63
+ link,
64
+ isActive: isActive?.(link, activeCandidates) ?? link.isActive,
65
+ level,
66
+ subItems: childLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarNavList, { className: "mt-0.5", children: childLinks.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
67
+ MainSidebarSectionLink,
68
+ {
69
+ link: child,
70
+ activeCandidates,
71
+ level: level + 1,
72
+ isActive
73
+ },
74
+ getLinkKey(child)
75
+ )) }) : null
76
+ }
77
+ );
78
+ }
79
+ function MainSidebarSections({ sections, isActive, className }) {
80
+ const baseId = React.useId();
81
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: sections.map((section) => {
82
+ const showSeparator = section.links.length > 0 && section.separator;
83
+ const headerId = section.title ? `${baseId}-${section.key}` : void 0;
84
+ return /* @__PURE__ */ jsxRuntime.jsxs(
85
+ mainSidebarLinkActive.MainSidebarNavSection,
86
+ {
87
+ className,
88
+ "aria-labelledby": headerId,
89
+ "aria-label": !headerId ? section.key : void 0,
90
+ children: [
91
+ showSeparator ? /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarNavSeparator, {}) : null,
92
+ section.title ? /* @__PURE__ */ jsxRuntime.jsx(MainSidebarNavHeader, { id: headerId, href: section.href, isActive: section.isHeaderActive, children: section.title }) : null,
93
+ /* @__PURE__ */ jsxRuntime.jsx(mainSidebarLinkActive.MainSidebarNavList, { children: section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
94
+ MainSidebarSectionLink,
95
+ {
96
+ link,
97
+ activeCandidates: section.links,
98
+ isActive
99
+ },
100
+ getLinkKey(link)
101
+ )) })
102
+ ]
103
+ },
104
+ section.key
105
+ );
106
+ }) });
107
+ }
108
+
109
+ const MainSidebar = Object.assign(mainSidebarLinkActive.MainSidebarRoot, {
110
+ Bottom: MainSidebarBottom,
111
+ Nav: mainSidebarLinkActive.MainSidebarNav,
112
+ NavSection: mainSidebarLinkActive.MainSidebarNavSection,
113
+ NavLink: mainSidebarLinkActive.MainSidebarNavLink,
114
+ NavLabel: mainSidebarLinkActive.MainSidebarNavLabel,
115
+ NavHeader: MainSidebarNavHeader,
116
+ NavList: mainSidebarLinkActive.MainSidebarNavList,
117
+ NavSeparator: mainSidebarLinkActive.MainSidebarNavSeparator,
118
+ Sections: MainSidebarSections,
119
+ Trigger: mainSidebarLinkActive.MainSidebarTrigger,
120
+ MobileTrigger: mainSidebarLinkActive.MainSidebarMobileTrigger
121
+ });
122
+
123
+ exports.MainSidebarMobileTrigger = mainSidebarLinkActive.MainSidebarMobileTrigger;
124
+ exports.MainSidebarProvider = mainSidebarLinkActive.MainSidebarProvider;
125
+ exports.MainSidebarTrigger = mainSidebarLinkActive.MainSidebarTrigger;
126
+ exports.getIsLinkActive = mainSidebarLinkActive.getIsLinkActive;
127
+ exports.navItemClasses = mainSidebarLinkActive.navItemClasses;
128
+ exports.useMainSidebar = mainSidebarLinkActive.useMainSidebar;
129
+ exports.useMaybeSidebar = mainSidebarLinkActive.useMaybeSidebar;
130
+ exports.useMaybeSidebarState = mainSidebarLinkActive.useMaybeSidebarState;
131
+ exports.useMobileDrawer = mainSidebarLinkActive.useMobileDrawer;
132
+ exports.MainSidebar = MainSidebar;
19
133
  //# sourceMappingURL=MainSidebar.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainSidebar.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MainSidebar.cjs.js","sources":["../../src/ds/components/MainSidebar/main-sidebar-bottom.tsx","../../src/ds/components/MainSidebar/main-sidebar-nav-header.tsx","../../src/ds/components/MainSidebar/main-sidebar-sections.tsx","../../src/ds/components/MainSidebar/main-sidebar.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarBottomProps = ComponentPropsWithoutRef<'div'>;\n\nexport function MainSidebarBottom({ className, children, ...props }: MainSidebarBottomProps) {\n return (\n <div className={cn('mt-auto', className)} {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { SidebarState } from './main-sidebar-context';\nimport { useMaybeSidebarState } from './main-sidebar-context';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavHeaderProps = Omit<ComponentPropsWithoutRef<'header'>, 'children'> & {\n children?: React.ReactNode;\n state?: SidebarState;\n href?: string;\n isActive?: boolean;\n LinkComponent?: LinkComponent;\n};\nexport function MainSidebarNavHeader({\n children,\n className,\n state: stateProp,\n href,\n isActive,\n LinkComponent: LinkProp,\n ...props\n}: MainSidebarNavHeaderProps) {\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n const isMobile = ctx?.isMobile ?? false;\n const Link: LinkComponent = LinkProp ?? ctx?.LinkComponent ?? 'a';\n const showTitle = state === 'default' && !isMobile;\n\n return (\n <div className={cn('mt-2 mb-0.5 flex min-h-8 min-w-0 items-center', className)}>\n {showTitle ? (\n <header\n {...props}\n className={cn('max-w-full min-w-0 truncate pl-3 text-column', {\n 'text-foreground': isActive,\n 'text-muted-foreground/70': !isActive,\n })}\n >\n {href ? (\n <Link\n href={href}\n className={cn('block min-w-0 truncate transition-colors duration-normal', {\n 'hover:text-foreground': !isActive,\n 'text-foreground': isActive,\n })}\n >\n {children}\n </Link>\n ) : (\n children\n )}\n </header>\n ) : (\n <>\n <VisuallyHidden asChild>\n <header {...props}>{children}</header>\n </VisuallyHidden>\n <div aria-hidden=\"true\" className=\"mx-3 h-px flex-1 bg-border\" />\n </>\n )}\n </div>\n );\n}\n","import { useId } from 'react';\nimport { MainSidebarNavHeader } from './main-sidebar-nav-header';\nimport { MainSidebarNavLink } from './main-sidebar-nav-link';\nimport type { NavLink } from './main-sidebar-nav-link';\nimport { MainSidebarNavList } from './main-sidebar-nav-list';\nimport { MainSidebarNavSection } from './main-sidebar-nav-section';\nimport type { NavSection } from './main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from './main-sidebar-nav-separator';\n\nexport type MainSidebarSectionsProps = {\n sections: NavSection[];\n /**\n * Called per link to decide the active state. Receives the section's links so\n * callers can use section-aware active logic without re-scanning `sections`\n * from the outside. Default: each link's `isActive`.\n */\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n className?: string;\n};\n\ntype MainSidebarSectionLinkProps = {\n link: NavLink;\n activeCandidates: NavLink[];\n level?: number;\n isActive?: MainSidebarSectionsProps['isActive'];\n};\n\nfunction getLinkKey(link: NavLink) {\n return `${link.url}:${link.name}`;\n}\n\nfunction MainSidebarSectionLink({ link, activeCandidates, level = 0, isActive }: MainSidebarSectionLinkProps) {\n const childLinks = link.children ?? [];\n\n return (\n <MainSidebarNavLink\n link={link}\n isActive={isActive?.(link, activeCandidates) ?? link.isActive}\n level={level}\n subItems={\n childLinks.length > 0 ? (\n <MainSidebarNavList className=\"mt-0.5\">\n {childLinks.map(child => (\n <MainSidebarSectionLink\n key={getLinkKey(child)}\n link={child}\n activeCandidates={activeCandidates}\n level={level + 1}\n isActive={isActive}\n />\n ))}\n </MainSidebarNavList>\n ) : null\n }\n />\n );\n}\n\nexport function MainSidebarSections({ sections, isActive, className }: MainSidebarSectionsProps) {\n const baseId = useId();\n\n return (\n <>\n {sections.map(section => {\n const showSeparator = section.links.length > 0 && section.separator;\n const headerId = section.title ? `${baseId}-${section.key}` : undefined;\n return (\n <MainSidebarNavSection\n key={section.key}\n className={className}\n aria-labelledby={headerId}\n aria-label={!headerId ? section.key : undefined}\n >\n {/* Render separator and header independently — a section can have\n both (titled group preceded by a divider). */}\n {showSeparator ? <MainSidebarNavSeparator /> : null}\n {section.title ? (\n <MainSidebarNavHeader id={headerId} href={section.href} isActive={section.isHeaderActive}>\n {section.title}\n </MainSidebarNavHeader>\n ) : null}\n <MainSidebarNavList>\n {section.links.map(link => (\n <MainSidebarSectionLink\n key={getLinkKey(link)}\n link={link}\n activeCandidates={section.links}\n isActive={isActive}\n />\n ))}\n </MainSidebarNavList>\n </MainSidebarNavSection>\n );\n })}\n </>\n );\n}\n","import { MainSidebarBottom } from './main-sidebar-bottom';\nimport { MainSidebarMobileTrigger } from './main-sidebar-mobile-trigger';\nimport { MainSidebarNav } from './main-sidebar-nav';\nimport { MainSidebarNavHeader } from './main-sidebar-nav-header';\nimport { MainSidebarNavLabel } from './main-sidebar-nav-label';\nimport { MainSidebarNavLink } from './main-sidebar-nav-link';\nimport { MainSidebarNavList } from './main-sidebar-nav-list';\nimport { MainSidebarNavSection } from './main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from './main-sidebar-nav-separator';\nimport { MainSidebarRoot } from './main-sidebar-root';\nimport { MainSidebarSections } from './main-sidebar-sections';\nimport { MainSidebarTrigger } from './main-sidebar-trigger';\n\nexport type { MainSidebarStateContextValue, MobileDrawerContextValue, SidebarState } from './main-sidebar-context';\nexport { useMainSidebar, useMaybeSidebar, useMaybeSidebarState, useMobileDrawer } from './main-sidebar-context';\nexport { MainSidebarProvider, type MainSidebarProviderProps } from './main-sidebar-provider';\nexport { navItemClasses } from './main-sidebar-nav-item-classes';\nexport { type MainSidebarNavItemSize } from './main-sidebar-nav-item-classes';\nexport { type NavLink } from './main-sidebar-nav-link';\nexport { type NavSection } from './main-sidebar-nav-section';\nexport { MainSidebarTrigger } from './main-sidebar-trigger';\nexport { MainSidebarMobileTrigger } from './main-sidebar-mobile-trigger';\nexport { getIsLinkActive } from './main-sidebar-link-active';\n\nexport const MainSidebar = Object.assign(MainSidebarRoot, {\n Bottom: MainSidebarBottom,\n Nav: MainSidebarNav,\n NavSection: MainSidebarNavSection,\n NavLink: MainSidebarNavLink,\n NavLabel: MainSidebarNavLabel,\n NavHeader: MainSidebarNavHeader,\n NavList: MainSidebarNavList,\n NavSeparator: MainSidebarNavSeparator,\n Sections: MainSidebarSections,\n Trigger: MainSidebarTrigger,\n MobileTrigger: MainSidebarMobileTrigger,\n});\n"],"names":["jsx","cn","useMaybeSidebarState","jsxs","Fragment","VisuallyHidden","MainSidebarNavLink","MainSidebarNavList","useId","MainSidebarNavSection","MainSidebarNavSeparator","MainSidebarRoot","MainSidebarNav","MainSidebarNavLabel","MainSidebarTrigger","MainSidebarMobileTrigger"],"mappings":"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"}
@@ -1,2 +1,121 @@
1
- export { M as MainSidebar, a as MainSidebarMobileTrigger, b as MainSidebarProvider, c as MainSidebarTrigger, g as getIsLinkActive, n as navItemClasses, u as useMainSidebar, d as useMaybeSidebar, e as useMaybeSidebarState, f as useMobileDrawer } from '../main-sidebar-BEXzGkDX.js';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { c as cn } from '../cn-65Adrsfj.js';
3
+ import { u as useMaybeSidebarState, M as MainSidebarNavSection, a as MainSidebarNavSeparator, b as MainSidebarNavList, c as MainSidebarNavLink, d as MainSidebarRoot, e as MainSidebarMobileTrigger, f as MainSidebarTrigger, g as MainSidebarNavLabel, h as MainSidebarNav } from '../main-sidebar-link-active-C9QPj3D6.js';
4
+ export { i as MainSidebarProvider, j as getIsLinkActive, n as navItemClasses, k as useMainSidebar, l as useMaybeSidebar, m as useMobileDrawer } from '../main-sidebar-link-active-C9QPj3D6.js';
5
+ import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
6
+ import { useId } from 'react';
7
+
8
+ function MainSidebarBottom({ className, children, ...props }) {
9
+ return /* @__PURE__ */ jsx("div", { className: cn("mt-auto", className), ...props, children });
10
+ }
11
+
12
+ function MainSidebarNavHeader({
13
+ children,
14
+ className,
15
+ state: stateProp,
16
+ href,
17
+ isActive,
18
+ LinkComponent: LinkProp,
19
+ ...props
20
+ }) {
21
+ const ctx = useMaybeSidebarState();
22
+ const state = stateProp ?? ctx?.state ?? "default";
23
+ const isMobile = ctx?.isMobile ?? false;
24
+ const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
25
+ const showTitle = state === "default" && !isMobile;
26
+ return /* @__PURE__ */ jsx("div", { className: cn("mt-2 mb-0.5 flex min-h-8 min-w-0 items-center", className), children: showTitle ? /* @__PURE__ */ jsx(
27
+ "header",
28
+ {
29
+ ...props,
30
+ className: cn("max-w-full min-w-0 truncate pl-3 text-column", {
31
+ "text-foreground": isActive,
32
+ "text-muted-foreground/70": !isActive
33
+ }),
34
+ children: href ? /* @__PURE__ */ jsx(
35
+ Link,
36
+ {
37
+ href,
38
+ className: cn("block min-w-0 truncate transition-colors duration-normal", {
39
+ "hover:text-foreground": !isActive,
40
+ "text-foreground": isActive
41
+ }),
42
+ children
43
+ }
44
+ ) : children
45
+ }
46
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
47
+ /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx("header", { ...props, children }) }),
48
+ /* @__PURE__ */ jsx("div", { "aria-hidden": "true", className: "mx-3 h-px flex-1 bg-border" })
49
+ ] }) });
50
+ }
51
+
52
+ function getLinkKey(link) {
53
+ return `${link.url}:${link.name}`;
54
+ }
55
+ function MainSidebarSectionLink({ link, activeCandidates, level = 0, isActive }) {
56
+ const childLinks = link.children ?? [];
57
+ return /* @__PURE__ */ jsx(
58
+ MainSidebarNavLink,
59
+ {
60
+ link,
61
+ isActive: isActive?.(link, activeCandidates) ?? link.isActive,
62
+ level,
63
+ subItems: childLinks.length > 0 ? /* @__PURE__ */ jsx(MainSidebarNavList, { className: "mt-0.5", children: childLinks.map((child) => /* @__PURE__ */ jsx(
64
+ MainSidebarSectionLink,
65
+ {
66
+ link: child,
67
+ activeCandidates,
68
+ level: level + 1,
69
+ isActive
70
+ },
71
+ getLinkKey(child)
72
+ )) }) : null
73
+ }
74
+ );
75
+ }
76
+ function MainSidebarSections({ sections, isActive, className }) {
77
+ const baseId = useId();
78
+ return /* @__PURE__ */ jsx(Fragment, { children: sections.map((section) => {
79
+ const showSeparator = section.links.length > 0 && section.separator;
80
+ const headerId = section.title ? `${baseId}-${section.key}` : void 0;
81
+ return /* @__PURE__ */ jsxs(
82
+ MainSidebarNavSection,
83
+ {
84
+ className,
85
+ "aria-labelledby": headerId,
86
+ "aria-label": !headerId ? section.key : void 0,
87
+ children: [
88
+ showSeparator ? /* @__PURE__ */ jsx(MainSidebarNavSeparator, {}) : null,
89
+ section.title ? /* @__PURE__ */ jsx(MainSidebarNavHeader, { id: headerId, href: section.href, isActive: section.isHeaderActive, children: section.title }) : null,
90
+ /* @__PURE__ */ jsx(MainSidebarNavList, { children: section.links.map((link) => /* @__PURE__ */ jsx(
91
+ MainSidebarSectionLink,
92
+ {
93
+ link,
94
+ activeCandidates: section.links,
95
+ isActive
96
+ },
97
+ getLinkKey(link)
98
+ )) })
99
+ ]
100
+ },
101
+ section.key
102
+ );
103
+ }) });
104
+ }
105
+
106
+ const MainSidebar = Object.assign(MainSidebarRoot, {
107
+ Bottom: MainSidebarBottom,
108
+ Nav: MainSidebarNav,
109
+ NavSection: MainSidebarNavSection,
110
+ NavLink: MainSidebarNavLink,
111
+ NavLabel: MainSidebarNavLabel,
112
+ NavHeader: MainSidebarNavHeader,
113
+ NavList: MainSidebarNavList,
114
+ NavSeparator: MainSidebarNavSeparator,
115
+ Sections: MainSidebarSections,
116
+ Trigger: MainSidebarTrigger,
117
+ MobileTrigger: MainSidebarMobileTrigger
118
+ });
119
+
120
+ export { MainSidebar, MainSidebarMobileTrigger, MainSidebarTrigger, useMaybeSidebarState };
2
121
  //# sourceMappingURL=MainSidebar.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MainSidebar.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"MainSidebar.es.js","sources":["../../src/ds/components/MainSidebar/main-sidebar-bottom.tsx","../../src/ds/components/MainSidebar/main-sidebar-nav-header.tsx","../../src/ds/components/MainSidebar/main-sidebar-sections.tsx","../../src/ds/components/MainSidebar/main-sidebar.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarBottomProps = ComponentPropsWithoutRef<'div'>;\n\nexport function MainSidebarBottom({ className, children, ...props }: MainSidebarBottomProps) {\n return (\n <div className={cn('mt-auto', className)} {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { SidebarState } from './main-sidebar-context';\nimport { useMaybeSidebarState } from './main-sidebar-context';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavHeaderProps = Omit<ComponentPropsWithoutRef<'header'>, 'children'> & {\n children?: React.ReactNode;\n state?: SidebarState;\n href?: string;\n isActive?: boolean;\n LinkComponent?: LinkComponent;\n};\nexport function MainSidebarNavHeader({\n children,\n className,\n state: stateProp,\n href,\n isActive,\n LinkComponent: LinkProp,\n ...props\n}: MainSidebarNavHeaderProps) {\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n const isMobile = ctx?.isMobile ?? false;\n const Link: LinkComponent = LinkProp ?? ctx?.LinkComponent ?? 'a';\n const showTitle = state === 'default' && !isMobile;\n\n return (\n <div className={cn('mt-2 mb-0.5 flex min-h-8 min-w-0 items-center', className)}>\n {showTitle ? (\n <header\n {...props}\n className={cn('max-w-full min-w-0 truncate pl-3 text-column', {\n 'text-foreground': isActive,\n 'text-muted-foreground/70': !isActive,\n })}\n >\n {href ? (\n <Link\n href={href}\n className={cn('block min-w-0 truncate transition-colors duration-normal', {\n 'hover:text-foreground': !isActive,\n 'text-foreground': isActive,\n })}\n >\n {children}\n </Link>\n ) : (\n children\n )}\n </header>\n ) : (\n <>\n <VisuallyHidden asChild>\n <header {...props}>{children}</header>\n </VisuallyHidden>\n <div aria-hidden=\"true\" className=\"mx-3 h-px flex-1 bg-border\" />\n </>\n )}\n </div>\n );\n}\n","import { useId } from 'react';\nimport { MainSidebarNavHeader } from './main-sidebar-nav-header';\nimport { MainSidebarNavLink } from './main-sidebar-nav-link';\nimport type { NavLink } from './main-sidebar-nav-link';\nimport { MainSidebarNavList } from './main-sidebar-nav-list';\nimport { MainSidebarNavSection } from './main-sidebar-nav-section';\nimport type { NavSection } from './main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from './main-sidebar-nav-separator';\n\nexport type MainSidebarSectionsProps = {\n sections: NavSection[];\n /**\n * Called per link to decide the active state. Receives the section's links so\n * callers can use section-aware active logic without re-scanning `sections`\n * from the outside. Default: each link's `isActive`.\n */\n isActive?: (link: NavLink, activeCandidates: NavLink[]) => boolean;\n className?: string;\n};\n\ntype MainSidebarSectionLinkProps = {\n link: NavLink;\n activeCandidates: NavLink[];\n level?: number;\n isActive?: MainSidebarSectionsProps['isActive'];\n};\n\nfunction getLinkKey(link: NavLink) {\n return `${link.url}:${link.name}`;\n}\n\nfunction MainSidebarSectionLink({ link, activeCandidates, level = 0, isActive }: MainSidebarSectionLinkProps) {\n const childLinks = link.children ?? [];\n\n return (\n <MainSidebarNavLink\n link={link}\n isActive={isActive?.(link, activeCandidates) ?? link.isActive}\n level={level}\n subItems={\n childLinks.length > 0 ? (\n <MainSidebarNavList className=\"mt-0.5\">\n {childLinks.map(child => (\n <MainSidebarSectionLink\n key={getLinkKey(child)}\n link={child}\n activeCandidates={activeCandidates}\n level={level + 1}\n isActive={isActive}\n />\n ))}\n </MainSidebarNavList>\n ) : null\n }\n />\n );\n}\n\nexport function MainSidebarSections({ sections, isActive, className }: MainSidebarSectionsProps) {\n const baseId = useId();\n\n return (\n <>\n {sections.map(section => {\n const showSeparator = section.links.length > 0 && section.separator;\n const headerId = section.title ? `${baseId}-${section.key}` : undefined;\n return (\n <MainSidebarNavSection\n key={section.key}\n className={className}\n aria-labelledby={headerId}\n aria-label={!headerId ? section.key : undefined}\n >\n {/* Render separator and header independently — a section can have\n both (titled group preceded by a divider). */}\n {showSeparator ? <MainSidebarNavSeparator /> : null}\n {section.title ? (\n <MainSidebarNavHeader id={headerId} href={section.href} isActive={section.isHeaderActive}>\n {section.title}\n </MainSidebarNavHeader>\n ) : null}\n <MainSidebarNavList>\n {section.links.map(link => (\n <MainSidebarSectionLink\n key={getLinkKey(link)}\n link={link}\n activeCandidates={section.links}\n isActive={isActive}\n />\n ))}\n </MainSidebarNavList>\n </MainSidebarNavSection>\n );\n })}\n </>\n );\n}\n","import { MainSidebarBottom } from './main-sidebar-bottom';\nimport { MainSidebarMobileTrigger } from './main-sidebar-mobile-trigger';\nimport { MainSidebarNav } from './main-sidebar-nav';\nimport { MainSidebarNavHeader } from './main-sidebar-nav-header';\nimport { MainSidebarNavLabel } from './main-sidebar-nav-label';\nimport { MainSidebarNavLink } from './main-sidebar-nav-link';\nimport { MainSidebarNavList } from './main-sidebar-nav-list';\nimport { MainSidebarNavSection } from './main-sidebar-nav-section';\nimport { MainSidebarNavSeparator } from './main-sidebar-nav-separator';\nimport { MainSidebarRoot } from './main-sidebar-root';\nimport { MainSidebarSections } from './main-sidebar-sections';\nimport { MainSidebarTrigger } from './main-sidebar-trigger';\n\nexport type { MainSidebarStateContextValue, MobileDrawerContextValue, SidebarState } from './main-sidebar-context';\nexport { useMainSidebar, useMaybeSidebar, useMaybeSidebarState, useMobileDrawer } from './main-sidebar-context';\nexport { MainSidebarProvider, type MainSidebarProviderProps } from './main-sidebar-provider';\nexport { navItemClasses } from './main-sidebar-nav-item-classes';\nexport { type MainSidebarNavItemSize } from './main-sidebar-nav-item-classes';\nexport { type NavLink } from './main-sidebar-nav-link';\nexport { type NavSection } from './main-sidebar-nav-section';\nexport { MainSidebarTrigger } from './main-sidebar-trigger';\nexport { MainSidebarMobileTrigger } from './main-sidebar-mobile-trigger';\nexport { getIsLinkActive } from './main-sidebar-link-active';\n\nexport const MainSidebar = Object.assign(MainSidebarRoot, {\n Bottom: MainSidebarBottom,\n Nav: MainSidebarNav,\n NavSection: MainSidebarNavSection,\n NavLink: MainSidebarNavLink,\n NavLabel: MainSidebarNavLabel,\n NavHeader: MainSidebarNavHeader,\n NavList: MainSidebarNavList,\n NavSeparator: MainSidebarNavSeparator,\n Sections: MainSidebarSections,\n Trigger: MainSidebarTrigger,\n MobileTrigger: MainSidebarMobileTrigger,\n});\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const markdownRenderer = require('../markdown-renderer-Du_Zd1T-.cjs');
5
+ const markdownRenderer = require('../markdown-renderer-DtH58325.cjs');
6
6
  const useReveal = require('../use-reveal-Sa456jZb.cjs');
7
7
 
8
8
 
@@ -1,3 +1,3 @@
1
- export { M as MarkdownRenderer } from '../markdown-renderer-BBYgxsXL.js';
1
+ export { M as MarkdownRenderer } from '../markdown-renderer-Ces7VyRK.js';
2
2
  export { u as useRevealedText } from '../use-reveal-d77hxHz9.js';
3
3
  //# sourceMappingURL=MarkdownRenderer.es.js.map
@@ -8,7 +8,7 @@ const language = require('@codemirror/language');
8
8
  const view = require('@codemirror/view');
9
9
  const highlight = require('@lezer/highlight');
10
10
  const codemirrorThemeDracula = require('@uiw/codemirror-theme-dracula');
11
- const ReactCodeMirror = require('@uiw/react-codemirror');
11
+ const CodeMirror = require('@uiw/react-codemirror');
12
12
  const lucideReact = require('lucide-react');
13
13
  const React = require('react');
14
14
  const Button = require('../Button-BAMnPqos.cjs');
@@ -136,7 +136,7 @@ function SideDialogCodeSection({ codeStr = "", title, icon, simplified = false }
136
136
  "div",
137
137
  {
138
138
  className: `${primitives_raisedSurface.raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`,
139
- children: simplified ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 font-mono break-all text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-wrap", children: codeStr }) }) : /* @__PURE__ */ jsxRuntime.jsx(ReactCodeMirror, { extensions: [langJson.json(), view.EditorView.lineWrapping], theme, value: finalCodeStr })
139
+ children: simplified ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 font-mono break-all text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-wrap", children: codeStr }) }) : /* @__PURE__ */ jsxRuntime.jsx(CodeMirror, { extensions: [langJson.json(), view.EditorView.lineWrapping], theme, value: finalCodeStr })
140
140
  }
141
141
  )
142
142
  ] });