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

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 (473) hide show
  1. package/dist/alert-dialog-R9z2SJLl.js +40 -0
  2. package/dist/alert-dialog-R9z2SJLl.js.map +1 -0
  3. package/dist/alert-dialog-j626w-Qb.cjs +42 -0
  4. package/dist/alert-dialog-j626w-Qb.cjs.map +1 -0
  5. package/dist/{ask-user-card-xR8YiiQa.js → ask-user-card-CwKfl6M2.js} +5 -6
  6. package/dist/{ask-user-card-xR8YiiQa.js.map → ask-user-card-CwKfl6M2.js.map} +1 -1
  7. package/dist/{ask-user-card-40a18Qea.cjs → ask-user-card-g8cqh8KI.cjs} +1 -2
  8. package/dist/{ask-user-card-40a18Qea.cjs.map → ask-user-card-g8cqh8KI.cjs.map} +1 -1
  9. package/dist/{checkbox-mmR3rD2j.js → checkbox-B3tvJLCl.js} +2 -2
  10. package/dist/{checkbox-mmR3rD2j.js.map → checkbox-B3tvJLCl.js.map} +1 -1
  11. package/dist/{code-block-BQZUoOfS.js → code-block-9sT-CaoF.js} +2 -2
  12. package/dist/{code-block-BQZUoOfS.js.map → code-block-9sT-CaoF.js.map} +1 -1
  13. package/dist/{code-editor-D69saH4C.js → code-editor-DgfDaPAD.js} +2 -2
  14. package/dist/{code-editor-D69saH4C.js.map → code-editor-DgfDaPAD.js.map} +1 -1
  15. package/dist/{combobox-DDUIREaG.js → combobox-DJu0ggNa.js} +2 -2
  16. package/dist/{combobox-DDUIREaG.js.map → combobox-DJu0ggNa.js.map} +1 -1
  17. package/dist/{command-Cx5QAS4E.cjs → command-DbZ6CSAy.cjs} +3 -3
  18. package/dist/command-DbZ6CSAy.cjs.map +1 -0
  19. package/dist/{command-B141Sxts.js → command-DtIlcv-t.js} +3 -3
  20. package/dist/command-DtIlcv-t.js.map +1 -0
  21. package/dist/components/AlertDialog.cjs.js +1 -1
  22. package/dist/components/AlertDialog.es.js +1 -1
  23. package/dist/components/Checkbox.es.js +1 -1
  24. package/dist/components/CodeBlock.es.js +1 -1
  25. package/dist/components/CodeEditor.es.js +1 -1
  26. package/dist/components/Combobox.es.js +1 -1
  27. package/dist/components/Command.cjs.js +1 -1
  28. package/dist/components/Command.es.js +1 -1
  29. package/dist/components/CommandPalette.cjs.js +1 -1
  30. package/dist/components/CommandPalette.es.js +1 -1
  31. package/dist/components/Comment.cjs.js +0 -1
  32. package/dist/components/Comment.cjs.js.map +1 -1
  33. package/dist/components/Comment.es.js +2 -3
  34. package/dist/components/Comment.es.js.map +1 -1
  35. package/dist/components/DataCodeSection.cjs.js +1 -1
  36. package/dist/components/DataCodeSection.es.js +1 -1
  37. package/dist/components/DataList.cjs.js +15 -17
  38. package/dist/components/DataList.cjs.js.map +1 -1
  39. package/dist/components/DataList.es.js +4 -5
  40. package/dist/components/DataList.es.js.map +1 -1
  41. package/dist/components/DataPanel.cjs.js +1 -1
  42. package/dist/components/DataPanel.es.js +1 -1
  43. package/dist/components/DateTimePicker.cjs.js +0 -1
  44. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  45. package/dist/components/DateTimePicker.es.js +3 -4
  46. package/dist/components/DateTimePicker.es.js.map +1 -1
  47. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  48. package/dist/components/DateTimeRangePicker.es.js +1 -1
  49. package/dist/components/Dialog.cjs.js +2 -2
  50. package/dist/components/Dialog.es.js +2 -2
  51. package/dist/components/Drawer.cjs.js +1 -1
  52. package/dist/components/Drawer.es.js +1 -1
  53. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -2
  54. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  55. package/dist/components/EnvironmentVariablesEditor.es.js +3 -4
  56. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  57. package/dist/components/Field.es.js +2 -2
  58. package/dist/components/FilterBar.cjs.js +2 -2
  59. package/dist/components/FilterBar.cjs.js.map +1 -1
  60. package/dist/components/FilterBar.es.js +3 -3
  61. package/dist/components/FilterBar.es.js.map +1 -1
  62. package/dist/components/FormFieldBlocks.es.js +2 -2
  63. package/dist/components/Input.es.js +1 -1
  64. package/dist/components/InputGroup.es.js +1 -1
  65. package/dist/components/InputNumber.es.js +1 -1
  66. package/dist/components/JSONSchemaForm.cjs.js +0 -1
  67. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  68. package/dist/components/JSONSchemaForm.es.js +4 -5
  69. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  70. package/dist/components/ListSearch.cjs.js +1 -1
  71. package/dist/components/ListSearch.es.js +1 -1
  72. package/dist/components/LogsDataList.cjs.js +5 -2
  73. package/dist/components/LogsDataList.cjs.js.map +1 -1
  74. package/dist/components/LogsDataList.es.js +5 -2
  75. package/dist/components/LogsDataList.es.js.map +1 -1
  76. package/dist/components/MarkdownRenderer.es.js +1 -1
  77. package/dist/components/PropertyFilter.cjs.js +0 -1
  78. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  79. package/dist/components/PropertyFilter.es.js +4 -5
  80. package/dist/components/PropertyFilter.es.js.map +1 -1
  81. package/dist/components/RadioGroup.es.js +1 -1
  82. package/dist/components/RuleBuilder.es.js +2 -2
  83. package/dist/components/SavedViews.cjs.js +1 -1
  84. package/dist/components/SavedViews.es.js +1 -1
  85. package/dist/components/SearchInput.cjs.js +1 -1
  86. package/dist/components/SearchInput.es.js +1 -1
  87. package/dist/components/Section.cjs.js +1 -1
  88. package/dist/components/Section.es.js +1 -1
  89. package/dist/components/SegmentedControl.es.js +1 -1
  90. package/dist/components/Select.es.js +1 -1
  91. package/dist/components/SideDialog.cjs.js +1 -1
  92. package/dist/components/SideDialog.es.js +1 -1
  93. package/dist/components/Sidebar.cjs.js +2 -2
  94. package/dist/components/Sidebar.es.js +3 -3
  95. package/dist/components/Switch.es.js +1 -1
  96. package/dist/components/ThemeToggle.es.js +1 -1
  97. package/dist/components/Workflow.cjs.js +2 -2
  98. package/dist/components/Workflow.es.js +3 -3
  99. package/dist/components/ai/activity.es.js +1 -1
  100. package/dist/components/ai/ask-user.cjs.js +1 -1
  101. package/dist/components/ai/ask-user.es.js +1 -1
  102. package/dist/components/ai/plan.es.js +1 -1
  103. package/dist/components/ai/tool-approval.es.js +1 -1
  104. package/dist/components/ai/tool-call.es.js +1 -1
  105. package/dist/{data-code-section-zG2S1MPX.js → data-code-section-BGLC-hxm.js} +3 -3
  106. package/dist/{data-code-section-zG2S1MPX.js.map → data-code-section-BGLC-hxm.js.map} +1 -1
  107. package/dist/{data-code-section-hVbIXLNC.cjs → data-code-section-BTRNa1SD.cjs} +3 -3
  108. package/dist/{data-code-section-hVbIXLNC.cjs.map → data-code-section-BTRNa1SD.cjs.map} +1 -1
  109. package/dist/{data-list-top-BJCC62oy.js → data-list-DDGpWucH.js} +333 -6
  110. package/dist/data-list-DDGpWucH.js.map +1 -0
  111. package/dist/{data-list-top-Ds-NWyPO.cjs → data-list-_yDPF5wR.cjs} +339 -13
  112. package/dist/data-list-_yDPF5wR.cjs.map +1 -0
  113. package/dist/{data-list-skeleton-BmsDYJrA.js → data-list-skeleton-CJFwZBlW.js} +2 -2
  114. package/dist/{data-list-skeleton-BmsDYJrA.js.map → data-list-skeleton-CJFwZBlW.js.map} +1 -1
  115. package/dist/{data-list-skeleton-CfVsXhx1.cjs → data-list-skeleton-maUWF7Ri.cjs} +6 -6
  116. package/dist/{data-list-skeleton-CfVsXhx1.cjs.map → data-list-skeleton-maUWF7Ri.cjs.map} +1 -1
  117. package/dist/{data-panel-BLqydW68.js → data-panel-DfVGx0Ea.js} +3 -3
  118. package/dist/{data-panel-BLqydW68.js.map → data-panel-DfVGx0Ea.js.map} +1 -1
  119. package/dist/{data-panel-BdeebdMA.cjs → data-panel-Dhg7s3fD.cjs} +4 -4
  120. package/dist/{data-panel-BdeebdMA.cjs.map → data-panel-Dhg7s3fD.cjs.map} +1 -1
  121. package/dist/{date-time-range-picker-BvRPfy1i.cjs → date-time-range-picker-BNaXCa7r.cjs} +1 -2
  122. package/dist/{date-time-range-picker-BvRPfy1i.cjs.map → date-time-range-picker-BNaXCa7r.cjs.map} +1 -1
  123. package/dist/{date-time-range-picker-CIfaXUuy.js → date-time-range-picker-C5x_33hB.js} +3 -4
  124. package/dist/{date-time-range-picker-CIfaXUuy.js.map → date-time-range-picker-C5x_33hB.js.map} +1 -1
  125. package/dist/{dialog-wL-fuFON.cjs → dialog-DQI9ChYf.cjs} +74 -37
  126. package/dist/dialog-DQI9ChYf.cjs.map +1 -0
  127. package/dist/{dialog-BYsQZGIj.js → dialog-DlZmNahd.js} +75 -35
  128. package/dist/dialog-DlZmNahd.js.map +1 -0
  129. package/dist/{dialog-action-B-pF99m0.js → dialog-action-c4nfPomF.js} +2 -2
  130. package/dist/{dialog-action-B-pF99m0.js.map → dialog-action-c4nfPomF.js.map} +1 -1
  131. package/dist/{dialog-action-CcMhvjM-.cjs → dialog-action-gdo9CwUv.cjs} +2 -2
  132. package/dist/{dialog-action-CcMhvjM-.cjs.map → dialog-action-gdo9CwUv.cjs.map} +1 -1
  133. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +1 -1
  134. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +1 -1
  135. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  136. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +2 -2
  137. package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -3
  138. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  139. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -6
  140. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  141. package/dist/domains/chat/messages/message-row.cjs.js +0 -1
  142. package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
  143. package/dist/domains/chat/messages/message-row.es.js +1 -2
  144. package/dist/domains/chat/messages/message-row.es.js.map +1 -1
  145. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  146. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  147. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  148. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  149. package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
  150. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  151. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  152. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  153. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +2 -2
  154. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  155. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  156. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  157. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  158. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  159. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  160. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -2
  161. package/dist/domains/chat/tools/badges/workflow-badge.es.js +3 -3
  162. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  163. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  164. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +1 -2
  165. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  166. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -5
  167. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  168. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  169. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  170. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -2
  171. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  172. package/dist/domains/logs/components/logs-list-view.es.js +3 -2
  173. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  174. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  175. package/dist/domains/memory/components/observation-detail-view.cjs.js +0 -1
  176. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  177. package/dist/domains/memory/components/observation-detail-view.es.js +2 -3
  178. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  179. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  180. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  181. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  182. package/dist/domains/metrics/drilldown.es.js +1 -1
  183. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +1 -2
  184. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  185. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -5
  186. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  187. package/dist/domains/request-context/components/request-context-label.cjs.js +0 -1
  188. package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
  189. package/dist/domains/request-context/components/request-context-label.es.js +1 -2
  190. package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
  191. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  192. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  193. package/dist/domains/scores/components/span-scoring.cjs.js +2 -2
  194. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  195. package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -1
  196. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  197. package/dist/domains/scores/components/trace-scores-tab.es.js +2 -1
  198. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  199. package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
  200. package/dist/domains/traces/components/feedback-thread.es.js +2 -2
  201. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -2
  202. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  203. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -2
  204. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  205. package/dist/domains/traces/components/span-details-view.cjs.js +0 -1
  206. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  207. package/dist/domains/traces/components/span-details-view.es.js +0 -1
  208. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  209. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  210. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  211. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  212. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  213. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  214. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  215. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  216. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  217. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  218. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  219. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  220. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  221. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +0 -2
  222. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  223. package/dist/domains/traces/components/thread-view-by-trace.es.js +0 -2
  224. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  225. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -3
  226. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  227. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -5
  228. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  229. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  230. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  231. package/dist/domains/traces/components/trace-data-panel.cjs.js +3 -4
  232. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  233. package/dist/domains/traces/components/trace-data-panel.es.js +3 -4
  234. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  235. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  236. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  237. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  238. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  239. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  240. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  241. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +3 -3
  242. package/dist/domains/traces/components/trace-time-range-chip.es.js +3 -3
  243. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -5
  244. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  245. package/dist/domains/traces/components/traces-list-view.es.js +3 -4
  246. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  247. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -1
  248. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  249. package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -1
  250. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  251. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +1 -1
  252. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +1 -1
  253. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -1
  254. package/dist/domains/traces/hooks/use-trace-url-state.es.js +1 -1
  255. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  256. package/dist/domains/traces/trace-filters.es.js +1 -1
  257. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  258. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  259. package/dist/domains/traces.cjs.js +1 -1
  260. package/dist/domains/traces.es.js +1 -1
  261. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  262. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  263. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  264. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  265. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
  266. package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
  267. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  268. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  269. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
  270. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +0 -1
  271. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js.map +1 -1
  272. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +2 -3
  273. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js.map +1 -1
  274. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +0 -1
  275. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
  276. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +2 -3
  277. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
  278. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  279. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  280. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  281. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  282. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +0 -1
  283. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -1
  284. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +2 -3
  285. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -1
  286. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +1 -1
  287. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  288. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +0 -2
  289. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  290. package/dist/domains/workflows/workflow/workflow-input-data.es.js +0 -2
  291. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  292. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  293. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +2 -2
  294. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
  295. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  296. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  297. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
  298. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  299. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  300. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +0 -1
  301. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js.map +1 -1
  302. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -3
  303. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js.map +1 -1
  304. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  305. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +3 -4
  306. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  307. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +6 -7
  308. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  309. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
  310. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  311. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  312. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  313. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  314. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  315. package/dist/{drawer-B-t4ydEh.js → drawer-CZlqOjd2.js} +17 -7
  316. package/dist/{drawer-B-t4ydEh.js.map → drawer-CZlqOjd2.js.map} +1 -1
  317. package/dist/{drawer-DE2b3eld.cjs → drawer-CeUYCG-S.cjs} +16 -6
  318. package/dist/{drawer-DE2b3eld.cjs.map → drawer-CeUYCG-S.cjs.map} +1 -1
  319. package/dist/ee/signals/components/entity-index-list.cjs.js +3 -1
  320. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  321. package/dist/ee/signals/components/entity-index-list.es.js +3 -1
  322. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  323. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +4 -2
  324. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  325. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -3
  326. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  327. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  328. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  329. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -3
  330. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  331. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +4 -5
  332. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  333. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  334. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  335. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  336. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  337. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  338. package/dist/{field-B89BEZg4.js → field-Bc8Ewf_M.js} +2 -2
  339. package/dist/{field-B89BEZg4.js.map → field-Bc8Ewf_M.js.map} +1 -1
  340. package/dist/{field-control-aria-DB6y41tQ.js → field-control-aria-CCJ4-mUe.js} +2 -2
  341. package/dist/{field-control-aria-DB6y41tQ.js.map → field-control-aria-CCJ4-mUe.js.map} +1 -1
  342. package/dist/{filter-bar-chip-uPmGVzPR.cjs → filter-bar-chip-C_371aon.cjs} +35 -6
  343. package/dist/filter-bar-chip-C_371aon.cjs.map +1 -0
  344. package/dist/{filter-bar-chip-Bu27EjSO.js → filter-bar-chip-Dc6phYqZ.js} +35 -6
  345. package/dist/filter-bar-chip-Dc6phYqZ.js.map +1 -0
  346. package/dist/hooks/use-is-mobile.cjs.js +14 -10
  347. package/dist/hooks/use-is-mobile.cjs.js.map +1 -1
  348. package/dist/hooks/use-is-mobile.es.js +15 -11
  349. package/dist/hooks/use-is-mobile.es.js.map +1 -1
  350. package/dist/{input-DQFUjtnh.js → input-Ds171RJ5.js} +2 -2
  351. package/dist/{input-DQFUjtnh.js.map → input-Ds171RJ5.js.map} +1 -1
  352. package/dist/{input-group-BWsGYnES.js → input-group-Cxv64rPB.js} +2 -2
  353. package/dist/{input-group-BWsGYnES.js.map → input-group-Cxv64rPB.js.map} +1 -1
  354. package/dist/layout/tabbed-container.cjs.js +2 -2
  355. package/dist/layout/tabbed-container.es.js +3 -3
  356. package/dist/lib/form/components/boolean-field.cjs.js +0 -1
  357. package/dist/lib/form/components/boolean-field.cjs.js.map +1 -1
  358. package/dist/lib/form/components/boolean-field.es.js +2 -3
  359. package/dist/lib/form/components/boolean-field.es.js.map +1 -1
  360. package/dist/lib/form/components/date-field.es.js +1 -1
  361. package/dist/lib/form/components/field-wrapper.cjs.js +0 -1
  362. package/dist/lib/form/components/field-wrapper.cjs.js.map +1 -1
  363. package/dist/lib/form/components/field-wrapper.es.js +1 -2
  364. package/dist/lib/form/components/field-wrapper.es.js.map +1 -1
  365. package/dist/lib/form/components/number-field.es.js +1 -1
  366. package/dist/lib/form/components/record-field.es.js +1 -1
  367. package/dist/lib/form/components/select-field.es.js +1 -1
  368. package/dist/{list-search-xHadeMHl.cjs → list-search-C3yXcTRO.cjs} +2 -2
  369. package/dist/{list-search-xHadeMHl.cjs.map → list-search-C3yXcTRO.cjs.map} +1 -1
  370. package/dist/{list-search-BNnMwbpv.js → list-search-CmPRFDsn.js} +2 -2
  371. package/dist/{list-search-BNnMwbpv.js.map → list-search-CmPRFDsn.js.map} +1 -1
  372. package/dist/{logs-data-list-DfuVMd6f.cjs → logs-data-list-Bf_vIsFb.cjs} +21 -22
  373. package/dist/{logs-data-list-DfuVMd6f.cjs.map → logs-data-list-Bf_vIsFb.cjs.map} +1 -1
  374. package/dist/{logs-data-list-C262Be3o.js → logs-data-list-Cudh6b-c.js} +2 -3
  375. package/dist/{logs-data-list-C262Be3o.js.map → logs-data-list-Cudh6b-c.js.map} +1 -1
  376. package/dist/{markdown-renderer-D5Wjk1Cs.js → markdown-renderer-Cly6VMDr.js} +2 -2
  377. package/dist/{markdown-renderer-D5Wjk1Cs.js.map → markdown-renderer-Cly6VMDr.js.map} +1 -1
  378. package/dist/new/settings.cjs.js +1 -1
  379. package/dist/new/settings.es.js +1 -1
  380. package/dist/{plan-Cl3-JgbI.js → plan-DIbhFPRL.js} +2 -2
  381. package/dist/{plan-Cl3-JgbI.js.map → plan-DIbhFPRL.js.map} +1 -1
  382. package/dist/primitives/textarea-control.es.js +1 -1
  383. package/dist/{property-filter-applied-CZLzY0OH.js → property-filter-applied-DXH81ffT.js} +2 -2
  384. package/dist/{property-filter-applied-CZLzY0OH.js.map → property-filter-applied-DXH81ffT.js.map} +1 -1
  385. package/dist/{radio-group-Bk52hNNb.js → radio-group-C2zsCipq.js} +2 -2
  386. package/dist/{radio-group-Bk52hNNb.js.map → radio-group-C2zsCipq.js.map} +1 -1
  387. package/dist/{reasoning-activity-CIuVSAGA.js → reasoning-activity-B1r4JQxm.js} +2 -2
  388. package/dist/{reasoning-activity-CIuVSAGA.js.map → reasoning-activity-B1r4JQxm.js.map} +1 -1
  389. package/dist/resize/panel-drawer.cjs.js +1 -1
  390. package/dist/resize/panel-drawer.es.js +1 -1
  391. package/dist/{search-input-fqSrRTLU.js → search-input-D23h16CB.js} +3 -4
  392. package/dist/{search-input-fqSrRTLU.js.map → search-input-D23h16CB.js.map} +1 -1
  393. package/dist/{search-input-UtTJMjJu.cjs → search-input-DbEE2zEz.cjs} +1 -2
  394. package/dist/{search-input-UtTJMjJu.cjs.map → search-input-DbEE2zEz.cjs.map} +1 -1
  395. package/dist/{section-DhZbtWhu.cjs → section-CdaSS9M7.cjs} +2 -2
  396. package/dist/{section-DhZbtWhu.cjs.map → section-CdaSS9M7.cjs.map} +1 -1
  397. package/dist/{section-Dq6aFxlH.js → section-DcjTdrqz.js} +2 -2
  398. package/dist/{section-Dq6aFxlH.js.map → section-DcjTdrqz.js.map} +1 -1
  399. package/dist/{segmented-control-CUnvFStD.js → segmented-control-BfY7F0NZ.js} +2 -2
  400. package/dist/{segmented-control-CUnvFStD.js.map → segmented-control-BfY7F0NZ.js.map} +1 -1
  401. package/dist/{select-N2lgBRsg.js → select-BGAiIHnS.js} +2 -2
  402. package/dist/{select-N2lgBRsg.js.map → select-BGAiIHnS.js.map} +1 -1
  403. package/dist/{settings-row-CwZ3JffC.cjs → settings-row-rOI4yGvi.cjs} +1 -2
  404. package/dist/{settings-row-CwZ3JffC.cjs.map → settings-row-rOI4yGvi.cjs.map} +1 -1
  405. package/dist/{settings-row-gpwIVAMN.js → settings-row-ylIw4rfC.js} +2 -3
  406. package/dist/{settings-row-gpwIVAMN.js.map → settings-row-ylIw4rfC.js.map} +1 -1
  407. package/dist/{side-dialog-BIyr498B.js → side-dialog-CB_wrLtE.js} +3 -3
  408. package/dist/{side-dialog-BIyr498B.js.map → side-dialog-CB_wrLtE.js.map} +1 -1
  409. package/dist/{side-dialog-BT2xywA8.cjs → side-dialog-OPXvmRDA.cjs} +3 -3
  410. package/dist/{side-dialog-BT2xywA8.cjs.map → side-dialog-OPXvmRDA.cjs.map} +1 -1
  411. package/dist/{span-payload-primitives-WqYTBiGx.js → span-payload-primitives-Cixom2Py.js} +2 -2
  412. package/dist/{span-payload-primitives-WqYTBiGx.js.map → span-payload-primitives-Cixom2Py.js.map} +1 -1
  413. package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +8 -11
  414. package/dist/src/ds/components/Dialog/dialog-shell.d.ts +1 -0
  415. package/dist/src/ds/components/Dialog/dialog.d.ts +9 -3
  416. package/dist/src/ds/components/FilterBar/filter-bar-tree.d.ts +9 -1
  417. package/dist/src/ds/components/FilterBar/types.d.ts +6 -0
  418. package/dist/style.css +17 -4
  419. package/dist/{switch-DiSlsWUt.js → switch-BBeMfeQ2.js} +2 -2
  420. package/dist/{switch-DiSlsWUt.js.map → switch-BBeMfeQ2.js.map} +1 -1
  421. package/dist/{time-picker-J7GaNaEd.js → time-picker-Bo6GJcmz.js} +2 -2
  422. package/dist/{time-picker-J7GaNaEd.js.map → time-picker-Bo6GJcmz.js.map} +1 -1
  423. package/dist/{tool-approval-nsbG8-qI.js → tool-approval-BQ6sDvyS.js} +2 -2
  424. package/dist/{tool-approval-nsbG8-qI.js.map → tool-approval-BQ6sDvyS.js.map} +1 -1
  425. package/dist/{tool-call-arguments-RKyYP3xh.js → tool-call-arguments-B86JP3Dy.js} +2 -2
  426. package/dist/{tool-call-arguments-RKyYP3xh.js.map → tool-call-arguments-B86JP3Dy.js.map} +1 -1
  427. package/dist/{tool-card-BtPh44u6.js → tool-card-C8IrtMuQ.js} +2 -2
  428. package/dist/{tool-card-BtPh44u6.js.map → tool-card-C8IrtMuQ.js.map} +1 -1
  429. package/dist/{trace-filters-B9myZP-l.cjs → trace-filters-Bh4dVNPX.cjs} +16 -20
  430. package/dist/trace-filters-Bh4dVNPX.cjs.map +1 -0
  431. package/dist/{trace-filters-Cvra0Aum.js → trace-filters-C71gmCq4.js} +16 -20
  432. package/dist/trace-filters-C71gmCq4.js.map +1 -0
  433. package/dist/{traces-data-list-Cf_PpmSN.cjs → traces-data-list-DaFA1Ccg.cjs} +17 -19
  434. package/dist/{traces-data-list-Cf_PpmSN.cjs.map → traces-data-list-DaFA1Ccg.cjs.map} +1 -1
  435. package/dist/{traces-data-list-_mFOMw0U.js → traces-data-list-L_r2GAtr.js} +2 -4
  436. package/dist/{traces-data-list-_mFOMw0U.js.map → traces-data-list-L_r2GAtr.js.map} +1 -1
  437. package/dist/types-CIPrYAzY.js.map +1 -1
  438. package/dist/types-Ns4ZNp-g.cjs.map +1 -1
  439. package/dist/{use-workflow-graph-runtime-CAyNWN_Z.js → use-workflow-graph-runtime-DS7eWso7.js} +2 -2
  440. package/dist/{use-workflow-graph-runtime-CAyNWN_Z.js.map → use-workflow-graph-runtime-DS7eWso7.js.map} +1 -1
  441. package/dist/{workflow-code-dialog-content-CNDoMFAV.js → workflow-code-dialog-content-BUCZZoKf.js} +2 -2
  442. package/dist/{workflow-code-dialog-content-CNDoMFAV.js.map → workflow-code-dialog-content-BUCZZoKf.js.map} +1 -1
  443. package/dist/{workflow-data-edge-view-CMdPlcQj.cjs → workflow-data-edge-view-BHvpuvmp.cjs} +2 -2
  444. package/dist/{workflow-data-edge-view-CMdPlcQj.cjs.map → workflow-data-edge-view-BHvpuvmp.cjs.map} +1 -1
  445. package/dist/{workflow-data-edge-view-DeX0gykV.js → workflow-data-edge-view-BIiMA9zg.js} +2 -2
  446. package/dist/{workflow-data-edge-view-DeX0gykV.js.map → workflow-data-edge-view-BIiMA9zg.js.map} +1 -1
  447. package/dist/{workflow-edge-data-button-CSeMH2Ky.cjs → workflow-edge-data-button-Cz2rcoDr.cjs} +2 -2
  448. package/dist/{workflow-edge-data-button-CSeMH2Ky.cjs.map → workflow-edge-data-button-Cz2rcoDr.cjs.map} +1 -1
  449. package/dist/{workflow-edge-data-button-DfyJCI6R.js → workflow-edge-data-button-D5oK4NS5.js} +3 -3
  450. package/dist/{workflow-edge-data-button-DfyJCI6R.js.map → workflow-edge-data-button-D5oK4NS5.js.map} +1 -1
  451. package/package.json +9 -9
  452. package/dist/alert-dialog-BJlS-v3z.cjs +0 -55
  453. package/dist/alert-dialog-BJlS-v3z.cjs.map +0 -1
  454. package/dist/alert-dialog-BvzVYar8.js +0 -53
  455. package/dist/alert-dialog-BvzVYar8.js.map +0 -1
  456. package/dist/command-B141Sxts.js.map +0 -1
  457. package/dist/command-Cx5QAS4E.cjs.map +0 -1
  458. package/dist/data-list-DkVOwk8l.cjs +0 -142
  459. package/dist/data-list-DkVOwk8l.cjs.map +0 -1
  460. package/dist/data-list-Dv2lP-dU.js +0 -138
  461. package/dist/data-list-Dv2lP-dU.js.map +0 -1
  462. package/dist/data-list-spacer-DEMquKp9.js +0 -209
  463. package/dist/data-list-spacer-DEMquKp9.js.map +0 -1
  464. package/dist/data-list-spacer-pXP8xDlg.cjs +0 -218
  465. package/dist/data-list-spacer-pXP8xDlg.cjs.map +0 -1
  466. package/dist/data-list-top-BJCC62oy.js.map +0 -1
  467. package/dist/data-list-top-Ds-NWyPO.cjs.map +0 -1
  468. package/dist/dialog-BYsQZGIj.js.map +0 -1
  469. package/dist/dialog-wL-fuFON.cjs.map +0 -1
  470. package/dist/filter-bar-chip-Bu27EjSO.js.map +0 -1
  471. package/dist/filter-bar-chip-uPmGVzPR.cjs.map +0 -1
  472. package/dist/trace-filters-B9myZP-l.cjs.map +0 -1
  473. package/dist/trace-filters-Cvra0Aum.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"section-Dq6aFxlH.js","sources":["../src/ds/components/Section/section-content.tsx","../src/ds/components/Section/section-description.tsx","../src/ds/components/Section/section-divider.tsx","../src/ds/components/Section/section-header.tsx","../src/ds/components/Section/section-header-text.tsx","../src/ds/components/Section/section-heading.tsx","../src/ds/components/Section/section-root.tsx","../src/ds/components/Section/section-row.tsx","../src/ds/components/Section/section.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { SettingsContainerLayout } from '@/ds/new/settings/settings-container';\n\nexport type SectionContentProps = ComponentProps<'div'>;\n\nexport function SectionContent(props: SectionContentProps) {\n return <SettingsContainerLayout {...props} layout=\"section\" />;\n}\n","import type { ComponentProps } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDescriptionProps = ComponentProps<'p'>;\n\nexport function SectionDescription({ className, ...props }: SectionDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"section-description\"\n className={cn('max-w-[62ch] text-pretty', className)}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDividerProps = ComponentProps<'div'>;\n\nexport function SectionDivider({ className, ...props }: SectionDividerProps) {\n return <div role=\"separator\" aria-orientation=\"horizontal\" className={cn('h-px bg-border', className)} {...props} />;\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderProps = ComponentProps<'header'> & {\n inset?: boolean;\n};\n\nexport function SectionHeader({ children, className, inset = false, ...props }: SectionHeaderProps) {\n return (\n <header\n data-slot=\"section-header\"\n className={cn(\n 'group-data-[variant=default]/section:grid group-data-[variant=default]/section:grid-cols-[1fr_auto] group-data-[variant=default]/section:items-center',\n 'group-data-[variant=flat]/section:flex group-data-[variant=flat]/section:min-w-0 group-data-[variant=flat]/section:flex-col group-data-[variant=flat]/section:gap-3 group-data-[variant=flat]/section:pb-3 sm:group-data-[variant=flat]/section:flex-row sm:group-data-[variant=flat]/section:items-start sm:group-data-[variant=flat]/section:justify-between sm:group-data-[variant=flat]/section:gap-4',\n 'group-data-[variant=factory]/section:flex group-data-[variant=factory]/section:min-w-0 group-data-[variant=factory]/section:flex-col group-data-[variant=factory]/section:gap-2 sm:group-data-[variant=factory]/section:flex-row sm:group-data-[variant=factory]/section:items-start sm:group-data-[variant=factory]/section:justify-between sm:group-data-[variant=factory]/section:gap-4',\n inset && 'px-4',\n className,\n )}\n {...props}\n >\n {children}\n </header>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderTextProps = ComponentProps<'div'>;\n\nexport function SectionHeaderText({ className, ...props }: SectionHeaderTextProps) {\n return <div data-slot=\"section-header-text\" className={cn('flex min-w-0 flex-col gap-1.5', className)} {...props} />;\n}\n","import type { ComponentProps, ElementType } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeadingProps = ComponentProps<'h2'> & {\n headingLevel?: 'h2' | 'h3' | 'h4';\n};\n\nexport function SectionHeading({ headingLevel = 'h2', children, className, ...props }: SectionHeadingProps) {\n const HeadingTag: ElementType = headingLevel;\n\n return (\n <HeadingTag\n data-slot=\"section-heading\"\n className={cn(\n 'group-data-[variant=default]/section:flex group-data-[variant=default]/section:items-center group-data-[variant=default]/section:gap-2 group-data-[variant=default]/section:text-subheading group-data-[variant=default]/section:text-muted-foreground group-data-[variant=default]/section:[&>svg]:size-[1.2em] group-data-[variant=default]/section:[&>svg]:opacity-50',\n 'group-data-[variant=flat]/section:text-subheading group-data-[variant=flat]/section:text-balance group-data-[variant=flat]/section:text-foreground',\n 'group-data-[variant=factory]/section:text-subheading group-data-[variant=factory]/section:text-balance group-data-[variant=factory]/section:text-foreground',\n className,\n )}\n {...props}\n >\n {children}\n </HeadingTag>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionVariant = 'default' | 'flat' | 'factory';\n\nexport type SectionRootProps = ComponentProps<'section'> & {\n variant?: SectionVariant;\n};\n\nexport function SectionRoot({ variant = 'default', children, className, ...props }: SectionRootProps) {\n return (\n <section\n data-slot=\"section\"\n data-variant={variant}\n className={cn(\n 'group/section',\n variant === 'default' && 'grid gap-3',\n variant === 'flat' && 'w-full min-w-0',\n variant === 'factory' && 'flex w-full min-w-0 flex-col gap-2',\n className,\n )}\n {...props}\n >\n {children}\n </section>\n );\n}\n\nexport function SubSectionRoot({ children, className, ...props }: ComponentProps<'section'>) {\n return (\n <section className={cn('grid gap-2', className)} {...props}>\n {children}\n </section>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SettingsRowLayout } from '@/ds/new/settings/settings-row';\nimport type { SettingsRowProps } from '@/ds/new/settings/settings-row';\n\nexport type SectionRowProps = Omit<SettingsRowProps, 'tone' | 'viewOnly'>;\nexport type SectionViewOnlyRowProps = SectionRowProps & { children: ReactNode };\nexport type SectionDestructiveRowProps = SectionRowProps & { children: ReactNode };\n\n/** @deprecated Use SettingsRow from @mastra/playground-ui/new/settings for settings pages. */\nexport function SectionRow(props: SectionRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" />;\n}\n\n/** @deprecated Use SettingsRow with viewOnly from @mastra/playground-ui/new/settings. */\nexport function SectionViewOnlyRow(props: SectionViewOnlyRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" viewOnly />;\n}\n\n/** @deprecated Use SettingsRow with tone=\"destructive\" from @mastra/playground-ui/new/settings. */\nexport function SectionDestructiveRow(props: SectionDestructiveRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" tone=\"destructive\" />;\n}\n","import { SectionContent } from './section-content';\nimport { SectionDescription } from './section-description';\nimport { SectionDivider } from './section-divider';\nimport { SectionHeader } from './section-header';\nimport { SectionHeaderText } from './section-header-text';\nimport { SectionHeading } from './section-heading';\nimport { SectionRoot, type SectionRootProps } from './section-root';\nimport { SectionDestructiveRow, SectionRow, SectionViewOnlyRow } from './section-row';\n\nexport { type SectionContentProps } from './section-content';\nexport { type SectionDescriptionProps } from './section-description';\nexport { type SectionDividerProps } from './section-divider';\nexport { type SectionHeaderProps } from './section-header';\nexport { type SectionHeaderTextProps } from './section-header-text';\nexport { type SectionHeadingProps } from './section-heading';\nexport { type SectionRootProps as SectionProps, type SectionVariant } from './section-root';\nexport { type SectionDestructiveRowProps, type SectionRowProps, type SectionViewOnlyRowProps } from './section-row';\n\nexport function Section(props: SectionRootProps) {\n return <SectionRoot {...props} />;\n}\n\nSection.Header = SectionHeader;\nSection.HeaderText = SectionHeaderText;\nSection.Heading = SectionHeading;\nSection.Description = SectionDescription;\nSection.Content = SectionContent;\nSection.Row = SectionRow;\nSection.ViewOnlyRow = SectionViewOnlyRow;\nSection.DestructiveRow = SectionDestructiveRow;\nSection.Divider = SectionDivider;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-DcjTdrqz.js","sources":["../src/ds/components/Section/section-content.tsx","../src/ds/components/Section/section-description.tsx","../src/ds/components/Section/section-divider.tsx","../src/ds/components/Section/section-header.tsx","../src/ds/components/Section/section-header-text.tsx","../src/ds/components/Section/section-heading.tsx","../src/ds/components/Section/section-root.tsx","../src/ds/components/Section/section-row.tsx","../src/ds/components/Section/section.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { SettingsContainerLayout } from '@/ds/new/settings/settings-container';\n\nexport type SectionContentProps = ComponentProps<'div'>;\n\nexport function SectionContent(props: SectionContentProps) {\n return <SettingsContainerLayout {...props} layout=\"section\" />;\n}\n","import type { ComponentProps } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDescriptionProps = ComponentProps<'p'>;\n\nexport function SectionDescription({ className, ...props }: SectionDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"section-description\"\n className={cn('max-w-[62ch] text-pretty', className)}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDividerProps = ComponentProps<'div'>;\n\nexport function SectionDivider({ className, ...props }: SectionDividerProps) {\n return <div role=\"separator\" aria-orientation=\"horizontal\" className={cn('h-px bg-border', className)} {...props} />;\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderProps = ComponentProps<'header'> & {\n inset?: boolean;\n};\n\nexport function SectionHeader({ children, className, inset = false, ...props }: SectionHeaderProps) {\n return (\n <header\n data-slot=\"section-header\"\n className={cn(\n 'group-data-[variant=default]/section:grid group-data-[variant=default]/section:grid-cols-[1fr_auto] group-data-[variant=default]/section:items-center',\n 'group-data-[variant=flat]/section:flex group-data-[variant=flat]/section:min-w-0 group-data-[variant=flat]/section:flex-col group-data-[variant=flat]/section:gap-3 group-data-[variant=flat]/section:pb-3 sm:group-data-[variant=flat]/section:flex-row sm:group-data-[variant=flat]/section:items-start sm:group-data-[variant=flat]/section:justify-between sm:group-data-[variant=flat]/section:gap-4',\n 'group-data-[variant=factory]/section:flex group-data-[variant=factory]/section:min-w-0 group-data-[variant=factory]/section:flex-col group-data-[variant=factory]/section:gap-2 sm:group-data-[variant=factory]/section:flex-row sm:group-data-[variant=factory]/section:items-start sm:group-data-[variant=factory]/section:justify-between sm:group-data-[variant=factory]/section:gap-4',\n inset && 'px-4',\n className,\n )}\n {...props}\n >\n {children}\n </header>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderTextProps = ComponentProps<'div'>;\n\nexport function SectionHeaderText({ className, ...props }: SectionHeaderTextProps) {\n return <div data-slot=\"section-header-text\" className={cn('flex min-w-0 flex-col gap-1.5', className)} {...props} />;\n}\n","import type { ComponentProps, ElementType } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeadingProps = ComponentProps<'h2'> & {\n headingLevel?: 'h2' | 'h3' | 'h4';\n};\n\nexport function SectionHeading({ headingLevel = 'h2', children, className, ...props }: SectionHeadingProps) {\n const HeadingTag: ElementType = headingLevel;\n\n return (\n <HeadingTag\n data-slot=\"section-heading\"\n className={cn(\n 'group-data-[variant=default]/section:flex group-data-[variant=default]/section:items-center group-data-[variant=default]/section:gap-2 group-data-[variant=default]/section:text-subheading group-data-[variant=default]/section:text-muted-foreground group-data-[variant=default]/section:[&>svg]:size-[1.2em] group-data-[variant=default]/section:[&>svg]:opacity-50',\n 'group-data-[variant=flat]/section:text-subheading group-data-[variant=flat]/section:text-balance group-data-[variant=flat]/section:text-foreground',\n 'group-data-[variant=factory]/section:text-subheading group-data-[variant=factory]/section:text-balance group-data-[variant=factory]/section:text-foreground',\n className,\n )}\n {...props}\n >\n {children}\n </HeadingTag>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionVariant = 'default' | 'flat' | 'factory';\n\nexport type SectionRootProps = ComponentProps<'section'> & {\n variant?: SectionVariant;\n};\n\nexport function SectionRoot({ variant = 'default', children, className, ...props }: SectionRootProps) {\n return (\n <section\n data-slot=\"section\"\n data-variant={variant}\n className={cn(\n 'group/section',\n variant === 'default' && 'grid gap-3',\n variant === 'flat' && 'w-full min-w-0',\n variant === 'factory' && 'flex w-full min-w-0 flex-col gap-2',\n className,\n )}\n {...props}\n >\n {children}\n </section>\n );\n}\n\nexport function SubSectionRoot({ children, className, ...props }: ComponentProps<'section'>) {\n return (\n <section className={cn('grid gap-2', className)} {...props}>\n {children}\n </section>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SettingsRowLayout } from '@/ds/new/settings/settings-row';\nimport type { SettingsRowProps } from '@/ds/new/settings/settings-row';\n\nexport type SectionRowProps = Omit<SettingsRowProps, 'tone' | 'viewOnly'>;\nexport type SectionViewOnlyRowProps = SectionRowProps & { children: ReactNode };\nexport type SectionDestructiveRowProps = SectionRowProps & { children: ReactNode };\n\n/** @deprecated Use SettingsRow from @mastra/playground-ui/new/settings for settings pages. */\nexport function SectionRow(props: SectionRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" />;\n}\n\n/** @deprecated Use SettingsRow with viewOnly from @mastra/playground-ui/new/settings. */\nexport function SectionViewOnlyRow(props: SectionViewOnlyRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" viewOnly />;\n}\n\n/** @deprecated Use SettingsRow with tone=\"destructive\" from @mastra/playground-ui/new/settings. */\nexport function SectionDestructiveRow(props: SectionDestructiveRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" tone=\"destructive\" />;\n}\n","import { SectionContent } from './section-content';\nimport { SectionDescription } from './section-description';\nimport { SectionDivider } from './section-divider';\nimport { SectionHeader } from './section-header';\nimport { SectionHeaderText } from './section-header-text';\nimport { SectionHeading } from './section-heading';\nimport { SectionRoot, type SectionRootProps } from './section-root';\nimport { SectionDestructiveRow, SectionRow, SectionViewOnlyRow } from './section-row';\n\nexport { type SectionContentProps } from './section-content';\nexport { type SectionDescriptionProps } from './section-description';\nexport { type SectionDividerProps } from './section-divider';\nexport { type SectionHeaderProps } from './section-header';\nexport { type SectionHeaderTextProps } from './section-header-text';\nexport { type SectionHeadingProps } from './section-heading';\nexport { type SectionRootProps as SectionProps, type SectionVariant } from './section-root';\nexport { type SectionDestructiveRowProps, type SectionRowProps, type SectionViewOnlyRowProps } from './section-row';\n\nexport function Section(props: SectionRootProps) {\n return <SectionRoot {...props} />;\n}\n\nSection.Header = SectionHeader;\nSection.HeaderText = SectionHeaderText;\nSection.Heading = SectionHeading;\nSection.Description = SectionDescription;\nSection.Content = SectionContent;\nSection.Row = SectionRow;\nSection.ViewOnlyRow = SectionViewOnlyRow;\nSection.DestructiveRow = SectionDestructiveRow;\nSection.Divider = SectionDivider;\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Radio } from '@base-ui/react/radio';
3
3
  import { RadioGroup } from '@base-ui/react/radio-group';
4
4
  import * as React from 'react';
5
- import { k as keepOwnAccessibleName } from './field-control-aria-DB6y41tQ.js';
5
+ import { k as keepOwnAccessibleName } from './field-control-aria-CCJ4-mUe.js';
6
6
  import { controlHeight } from './primitives/control-size.es.js';
7
7
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
8
8
  import { controlStateColorTransition } from './primitives/transitions.es.js';
@@ -135,4 +135,4 @@ function SegmentedControlItem({
135
135
  }
136
136
 
137
137
  export { SegmentedControl as S, SegmentedControlItem as a };
138
- //# sourceMappingURL=segmented-control-CUnvFStD.js.map
138
+ //# sourceMappingURL=segmented-control-BfY7F0NZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-control-CUnvFStD.js","sources":["../src/ds/components/SegmentedControl/segmented-control.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport * as React from 'react';\n\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { controlHeight } from '@/ds/primitives/control-size';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { mergeRefs } from '@/lib/merge-refs';\nimport { cn } from '@/lib/utils';\n\ntype SegmentedControlContextValue = {\n iconOnly: boolean;\n registerItem: (value: string, element: HTMLElement) => void;\n unregisterItem: (value: string) => void;\n};\n\nconst SegmentedControlContext = React.createContext<SegmentedControlContextValue | undefined>(undefined);\n\ntype RadioGroupPassthroughProps = Omit<\n RadioGroupPrimitive.Props,\n 'value' | 'defaultValue' | 'onValueChange' | 'onChange' | 'className' | 'children' | 'aria-label'\n>;\n\nexport type SegmentedControlProps<T extends string = string> = RadioGroupPassthroughProps & {\n value: T;\n onValueChange: (value: T) => void;\n /** Accessible name of the group. */\n 'aria-label': string;\n /** The track's outer height matches the control rung, so it lines up with a Button or Select in the same row. */\n size?: ControlSize;\n /** Every item is a circle holding only an icon; each item then needs its own `aria-label`. */\n iconOnly?: boolean;\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * A single choice between a few short options, all visible at once. A radio group underneath:\n * one tab stop, arrow keys move the selection. The selected item is marked by a thumb that\n * slides between items, so items keep their natural width.\n *\n * Use it to set a value (a policy, a theme, on/off), where the layout around it stays the same.\n * When the choice swaps what is shown below it (Form vs JSON, Overview vs Playground), use `Tabs`.\n *\n * ```tsx\n * <SegmentedControl aria-label=\"Permission\" value={policy} onValueChange={setPolicy}>\n * <SegmentedControlItem value=\"allow\">Allow</SegmentedControlItem>\n * <SegmentedControlItem value=\"ask\">Ask</SegmentedControlItem>\n * </SegmentedControl>\n * ```\n */\nexport function SegmentedControl<T extends string = string>({\n value,\n onValueChange,\n 'aria-label': ariaLabel,\n size = 'md',\n iconOnly = false,\n className,\n children,\n ...props\n}: SegmentedControlProps<T>) {\n const itemRefs = React.useRef(new Map<string, HTMLElement>());\n const thumbRef = React.useRef<HTMLSpanElement>(null);\n\n const context: SegmentedControlContextValue = {\n iconOnly,\n registerItem: (itemValue, element) => itemRefs.current.set(itemValue, element),\n unregisterItem: itemValue => itemRefs.current.delete(itemValue),\n };\n\n // Base UI reports the chosen value as `unknown`; accept only a value one of our items carries.\n const isItemValue = (next: unknown): next is T => typeof next === 'string' && itemRefs.current.has(next);\n\n // Measuring is layout work, so the thumb is positioned straight on the DOM instead of through\n // state: no extra render, and it is in place before paint.\n React.useLayoutEffect(() => {\n const thumb = thumbRef.current;\n const item = itemRefs.current.get(value);\n if (!thumb) return;\n if (!item) {\n thumb.hidden = true;\n return;\n }\n const measure = () => {\n thumb.style.width = `${item.offsetWidth}px`;\n thumb.style.transform = `translateX(${item.offsetLeft}px)`;\n };\n measure();\n let frame: number | undefined;\n if (thumb.hidden) {\n // The first placement snaps; transitions switch on after it has painted.\n thumb.hidden = false;\n frame = requestAnimationFrame(() => thumb.setAttribute('data-ready', ''));\n }\n // Labels reflow when fonts load or the text changes; a sibling's resize moves this item too.\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(measure);\n itemRefs.current.forEach(element => observer?.observe(element));\n return () => {\n if (frame !== undefined) cancelAnimationFrame(frame);\n observer?.disconnect();\n };\n }, [value, children]);\n\n return (\n <SegmentedControlContext.Provider value={context}>\n <RadioGroupPrimitive\n {...props}\n value={value}\n onValueChange={next => {\n if (isItemValue(next)) onValueChange(next);\n }}\n aria-label={ariaLabel}\n {...keepOwnAccessibleName({ 'aria-label': ariaLabel, 'aria-labelledby': props['aria-labelledby'] })}\n data-slot=\"segmented-control\"\n data-size={size}\n className={cn(\n raisedSurfaceStyle,\n 'relative inline-flex w-fit shrink-0 items-stretch rounded-full p-0.5',\n // Circular icon items have no padding of their own to keep them apart.\n iconOnly && 'gap-0.5',\n controlHeight[size],\n 'data-[disabled]:opacity-50',\n className,\n )}\n >\n <span\n ref={thumbRef}\n hidden\n aria-hidden=\"true\"\n data-slot=\"segmented-control-thumb\"\n className={cn(\n 'pointer-events-none absolute inset-y-0.5 left-0 rounded-full bg-fill-hover ring-1 ring-border ring-inset',\n 'motion-safe:data-[ready]:transition-[transform,width] motion-safe:data-[ready]:duration-normal motion-safe:data-[ready]:ease-out-custom',\n )}\n />\n {children}\n </RadioGroupPrimitive>\n </SegmentedControlContext.Provider>\n );\n}\n\nexport type SegmentedControlItemProps = Omit<RadioPrimitive.Root.Props, 'className' | 'value' | 'children'> & {\n value: string;\n /** Text, an icon and text, or only an icon when the control is `iconOnly`. */\n children: React.ReactNode;\n className?: string;\n};\n\nexport function SegmentedControlItem({\n value,\n disabled,\n className,\n children,\n ref,\n ...props\n}: SegmentedControlItemProps) {\n const context = React.useContext(SegmentedControlContext);\n if (!context) throw new Error('SegmentedControlItem must be used inside a SegmentedControl');\n const { iconOnly, registerItem, unregisterItem } = context;\n const itemRef = mergeRefs<HTMLElement>(ref, element => {\n if (element) registerItem(value, element);\n return () => unregisterItem(value);\n });\n\n return (\n <RadioPrimitive.Root\n {...props}\n render={<span aria-labelledby={props['aria-labelledby']} />}\n ref={itemRef}\n value={value}\n disabled={disabled}\n data-slot=\"segmented-control-item\"\n className={cn(\n 'relative inline-flex cursor-pointer items-center justify-center gap-1.5 rounded-full text-label whitespace-nowrap select-none',\n iconOnly ? 'aspect-square' : 'px-3',\n // A whole disabled group is dimmed on the track; a single disabled item dims itself.\n disabled && 'opacity-50',\n '[&_svg]:size-3.5 [&_svg]:shrink-0',\n 'text-muted-foreground hover:text-foreground data-[checked]:text-foreground',\n 'focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-border-focus',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:hover:text-muted-foreground',\n controlStateColorTransition,\n className,\n )}\n >\n {children}\n </RadioPrimitive.Root>\n );\n}\n"],"names":["RadioGroupPrimitive","RadioPrimitive"],"mappings":"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"}
1
+ {"version":3,"file":"segmented-control-BfY7F0NZ.js","sources":["../src/ds/components/SegmentedControl/segmented-control.tsx"],"sourcesContent":["import { Radio as RadioPrimitive } from '@base-ui/react/radio';\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';\nimport * as React from 'react';\n\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { controlHeight } from '@/ds/primitives/control-size';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { mergeRefs } from '@/lib/merge-refs';\nimport { cn } from '@/lib/utils';\n\ntype SegmentedControlContextValue = {\n iconOnly: boolean;\n registerItem: (value: string, element: HTMLElement) => void;\n unregisterItem: (value: string) => void;\n};\n\nconst SegmentedControlContext = React.createContext<SegmentedControlContextValue | undefined>(undefined);\n\ntype RadioGroupPassthroughProps = Omit<\n RadioGroupPrimitive.Props,\n 'value' | 'defaultValue' | 'onValueChange' | 'onChange' | 'className' | 'children' | 'aria-label'\n>;\n\nexport type SegmentedControlProps<T extends string = string> = RadioGroupPassthroughProps & {\n value: T;\n onValueChange: (value: T) => void;\n /** Accessible name of the group. */\n 'aria-label': string;\n /** The track's outer height matches the control rung, so it lines up with a Button or Select in the same row. */\n size?: ControlSize;\n /** Every item is a circle holding only an icon; each item then needs its own `aria-label`. */\n iconOnly?: boolean;\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * A single choice between a few short options, all visible at once. A radio group underneath:\n * one tab stop, arrow keys move the selection. The selected item is marked by a thumb that\n * slides between items, so items keep their natural width.\n *\n * Use it to set a value (a policy, a theme, on/off), where the layout around it stays the same.\n * When the choice swaps what is shown below it (Form vs JSON, Overview vs Playground), use `Tabs`.\n *\n * ```tsx\n * <SegmentedControl aria-label=\"Permission\" value={policy} onValueChange={setPolicy}>\n * <SegmentedControlItem value=\"allow\">Allow</SegmentedControlItem>\n * <SegmentedControlItem value=\"ask\">Ask</SegmentedControlItem>\n * </SegmentedControl>\n * ```\n */\nexport function SegmentedControl<T extends string = string>({\n value,\n onValueChange,\n 'aria-label': ariaLabel,\n size = 'md',\n iconOnly = false,\n className,\n children,\n ...props\n}: SegmentedControlProps<T>) {\n const itemRefs = React.useRef(new Map<string, HTMLElement>());\n const thumbRef = React.useRef<HTMLSpanElement>(null);\n\n const context: SegmentedControlContextValue = {\n iconOnly,\n registerItem: (itemValue, element) => itemRefs.current.set(itemValue, element),\n unregisterItem: itemValue => itemRefs.current.delete(itemValue),\n };\n\n // Base UI reports the chosen value as `unknown`; accept only a value one of our items carries.\n const isItemValue = (next: unknown): next is T => typeof next === 'string' && itemRefs.current.has(next);\n\n // Measuring is layout work, so the thumb is positioned straight on the DOM instead of through\n // state: no extra render, and it is in place before paint.\n React.useLayoutEffect(() => {\n const thumb = thumbRef.current;\n const item = itemRefs.current.get(value);\n if (!thumb) return;\n if (!item) {\n thumb.hidden = true;\n return;\n }\n const measure = () => {\n thumb.style.width = `${item.offsetWidth}px`;\n thumb.style.transform = `translateX(${item.offsetLeft}px)`;\n };\n measure();\n let frame: number | undefined;\n if (thumb.hidden) {\n // The first placement snaps; transitions switch on after it has painted.\n thumb.hidden = false;\n frame = requestAnimationFrame(() => thumb.setAttribute('data-ready', ''));\n }\n // Labels reflow when fonts load or the text changes; a sibling's resize moves this item too.\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(measure);\n itemRefs.current.forEach(element => observer?.observe(element));\n return () => {\n if (frame !== undefined) cancelAnimationFrame(frame);\n observer?.disconnect();\n };\n }, [value, children]);\n\n return (\n <SegmentedControlContext.Provider value={context}>\n <RadioGroupPrimitive\n {...props}\n value={value}\n onValueChange={next => {\n if (isItemValue(next)) onValueChange(next);\n }}\n aria-label={ariaLabel}\n {...keepOwnAccessibleName({ 'aria-label': ariaLabel, 'aria-labelledby': props['aria-labelledby'] })}\n data-slot=\"segmented-control\"\n data-size={size}\n className={cn(\n raisedSurfaceStyle,\n 'relative inline-flex w-fit shrink-0 items-stretch rounded-full p-0.5',\n // Circular icon items have no padding of their own to keep them apart.\n iconOnly && 'gap-0.5',\n controlHeight[size],\n 'data-[disabled]:opacity-50',\n className,\n )}\n >\n <span\n ref={thumbRef}\n hidden\n aria-hidden=\"true\"\n data-slot=\"segmented-control-thumb\"\n className={cn(\n 'pointer-events-none absolute inset-y-0.5 left-0 rounded-full bg-fill-hover ring-1 ring-border ring-inset',\n 'motion-safe:data-[ready]:transition-[transform,width] motion-safe:data-[ready]:duration-normal motion-safe:data-[ready]:ease-out-custom',\n )}\n />\n {children}\n </RadioGroupPrimitive>\n </SegmentedControlContext.Provider>\n );\n}\n\nexport type SegmentedControlItemProps = Omit<RadioPrimitive.Root.Props, 'className' | 'value' | 'children'> & {\n value: string;\n /** Text, an icon and text, or only an icon when the control is `iconOnly`. */\n children: React.ReactNode;\n className?: string;\n};\n\nexport function SegmentedControlItem({\n value,\n disabled,\n className,\n children,\n ref,\n ...props\n}: SegmentedControlItemProps) {\n const context = React.useContext(SegmentedControlContext);\n if (!context) throw new Error('SegmentedControlItem must be used inside a SegmentedControl');\n const { iconOnly, registerItem, unregisterItem } = context;\n const itemRef = mergeRefs<HTMLElement>(ref, element => {\n if (element) registerItem(value, element);\n return () => unregisterItem(value);\n });\n\n return (\n <RadioPrimitive.Root\n {...props}\n render={<span aria-labelledby={props['aria-labelledby']} />}\n ref={itemRef}\n value={value}\n disabled={disabled}\n data-slot=\"segmented-control-item\"\n className={cn(\n 'relative inline-flex cursor-pointer items-center justify-center gap-1.5 rounded-full text-label whitespace-nowrap select-none',\n iconOnly ? 'aspect-square' : 'px-3',\n // A whole disabled group is dimmed on the track; a single disabled item dims itself.\n disabled && 'opacity-50',\n '[&_svg]:size-3.5 [&_svg]:shrink-0',\n 'text-muted-foreground hover:text-foreground data-[checked]:text-foreground',\n 'focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-border-focus',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:hover:text-muted-foreground',\n controlStateColorTransition,\n className,\n )}\n >\n {children}\n </RadioPrimitive.Root>\n );\n}\n"],"names":["RadioGroupPrimitive","RadioPrimitive"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Select as Select$1 } from '@base-ui/react/select';
3
3
  import { ChevronDown, Check } from 'lucide-react';
4
4
  import * as React from 'react';
5
5
  import { b as buttonVariants } from './Button-C8QDEN9j.js';
6
- import { k as keepOwnAccessibleName } from './field-control-aria-DB6y41tQ.js';
6
+ import { k as keepOwnAccessibleName } from './field-control-aria-CCJ4-mUe.js';
7
7
  import { controlTriggerOpenState } from './primitives/control-size.es.js';
8
8
  import { FLOATING_POSITION_METHOD } from './primitives/floating.es.js';
9
9
  import { useFluidMenu, FluidMenuItems, useFluidMenuItemRef } from './primitives/fluid-menu.es.js';
@@ -138,4 +138,4 @@ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) =>
138
138
  SelectItem.displayName = "SelectItem";
139
139
 
140
140
  export { Select as S, SelectContent as a, SelectGroup as b, SelectItem as c, SelectTrigger as d, SelectValue as e };
141
- //# sourceMappingURL=select-N2lgBRsg.js.map
141
+ //# sourceMappingURL=select-BGAiIHnS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-N2lgBRsg.js","sources":["../src/ds/components/Select/select.tsx"],"sourcesContent":["import { Select as SelectPrimitive } from '@base-ui/react/select';\nimport type { SelectPopupProps, SelectPositionerProps } from '@base-ui/react/select';\nimport { Check, ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { buttonVariants } from '../Button/Button';\nimport type { TextButtonSize } from '../Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { controlTriggerOpenState } from '@/ds/primitives/control-size';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { fieldTriggerErrorBorder, fieldTriggerStyle, fieldTriggerWidthStyle } from '@/ds/primitives/form-element';\nimport { menuItemCheckClass, menuItemClass, menuPopupClass, menuPositionerClass } from '@/ds/primitives/menu-item';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n/**\n * Select migrated from `@radix-ui/react-select` to Base UI (`@base-ui/react/select`).\n *\n * The public API (`Select`, `SelectGroup`, `SelectValue`, `SelectTrigger`,\n * `SelectContent`, `SelectItem`) is intentionally kept stable so existing\n * consumers do not need changes.\n *\n * Notable behavioral differences vs. Radix that consumers should be aware of:\n * - `onValueChange` now receives a second `eventDetails` argument. Existing\n * handlers typed as `(value: string) => void` keep working (extra arg ignored).\n * - The dropdown no longer overlaps the trigger by default\n * (`alignItemWithTrigger={false}`), matching the previous Radix `popper`\n * positioning behavior.\n *\n * Implementation note: unlike Radix, Base UI's `Select.Value` can only resolve\n * a selected value to its label once the popup has mounted (it reads labels\n * from rendered items). To preserve the Radix behavior where the trigger shows\n * the selected label even while closed, `Select` auto-derives an `items` map\n * from the `SelectItem`s declared inside `SelectContent` and passes it to\n * `Select.Root`. Consumers can still pass an explicit `items` prop to override.\n */\ntype SelectItemNode = React.ReactElement<{ value: unknown; children?: React.ReactNode }>;\n\nfunction isSelectItem(node: React.ReactNode): node is SelectItemNode {\n return React.isValidElement(node) && (node.type as { displayName?: string })?.displayName === 'SelectItem';\n}\n\n/** Recursively collect `{ value, label }` pairs from declared `SelectItem`s. */\nfunction collectItems(children: React.ReactNode, acc: Array<{ value: unknown; label: React.ReactNode }>): void {\n React.Children.forEach(children, child => {\n if (!React.isValidElement(child)) return;\n if (isSelectItem(child)) {\n acc.push({ value: child.props.value, label: child.props.children });\n return;\n }\n const nested = (child.props as { children?: React.ReactNode })?.children;\n if (nested != null) collectItems(nested, acc);\n });\n}\n\ntype SelectRootProps<Value> = SelectPrimitive.Root.Props<Value, false>;\ntype SelectChangeDetails = Parameters<NonNullable<SelectRootProps<unknown>['onValueChange']>>[1];\n\n/**\n * `onValueChange` is intentionally narrowed to a non-null value: these selects\n * always hold a value once changed, which keeps existing `(value) => void`\n * consumer handlers valid (Base UI's own callback type is `Value | null`).\n */\ntype SelectProps<Value = string> = Omit<SelectRootProps<Value>, 'onValueChange'> & {\n onValueChange?: (value: Value, eventDetails: SelectChangeDetails) => void;\n};\n\nfunction Select<Value = string>({ children, items, onValueChange, ...props }: SelectProps<Value>) {\n const derivedItems = React.useMemo(() => {\n if (items != null) return items;\n const acc: Array<{ value: unknown; label: React.ReactNode }> = [];\n collectItems(children, acc);\n return acc.length > 0 ? acc : undefined;\n }, [items, children]);\n\n return (\n <SelectPrimitive.Root\n items={derivedItems as SelectRootProps<Value>['items']}\n onValueChange={onValueChange ? (value, eventDetails) => onValueChange(value as Value, eventDetails) : undefined}\n {...props}\n >\n {children}\n </SelectPrimitive.Root>\n );\n}\nSelect.displayName = 'Select';\n\nconst SelectGroup = SelectPrimitive.Group;\n\nexport type SelectValueProps = Omit<SelectPrimitive.Value.Props, 'className'> & {\n className?: string;\n};\n\n/**\n * Displays the selected value. Radix's `Select.Value` took a `placeholder`\n * prop and rendered the selected item's text automatically; Base UI's\n * `Select.Value` behaves the same way (renders the value, falls back to\n * `placeholder` when nothing is selected), so this is a thin passthrough.\n */\nconst SelectValue = React.forwardRef<HTMLSpanElement, SelectValueProps>(({ className, ...props }, ref) => (\n <SelectPrimitive.Value ref={ref} className={cn('truncate', className)} {...props} />\n));\nSelectValue.displayName = 'SelectValue';\n\n/**\n * A select is a form field, so it reuses the Button's size/shape recipe with\n * these looks: `default` (the Input's overlay surface — the default here too,\n * so a select sits next to an Input as the same kind of thing) and `ghost`\n * (borderless, for dense toolbars/inline pickers). The high-emphasis `primary` look is the only one intentionally NOT\n * offered (a field is not a call-to-action).\n */\nexport type SelectTriggerVariant = 'default' | 'ghost';\ntype SelectTriggerLegacyVariant = 'primary';\n\nexport type SelectTriggerProps = Omit<SelectPrimitive.Trigger.Props, 'className'> & {\n className?: string;\n size?: TextButtonSize;\n variant?: SelectTriggerVariant | SelectTriggerLegacyVariant;\n};\n\nfunction normalizeSelectTriggerVariant(\n variant: SelectTriggerVariant | SelectTriggerLegacyVariant,\n): SelectTriggerVariant {\n return variant === 'primary' ? 'default' : variant;\n}\n\nconst SelectTrigger = React.forwardRef<HTMLButtonElement, SelectTriggerProps>(\n ({ className, children, size = 'md', variant = 'default', ...props }, ref) => {\n const visualVariant = normalizeSelectTriggerVariant(variant);\n\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n data-slot=\"select-trigger\"\n // A select = a button + a trailing chevron: reuse the Button recipe\n // (variant colors, size = height/text/padding/radius, unified border\n // focus, disabled) and layer only the select-specific extras.\n className={cn(\n buttonVariants({ variant: visualVariant, size }),\n visualVariant === 'default' && fieldTriggerStyle,\n // Fill the field and push the value left / chevron right (Button's\n // base centers its content with `justify-center`).\n fieldTriggerWidthStyle,\n 'justify-between',\n // Read as \"active\" while the menu is open, per variant (see map above).\n controlTriggerOpenState[visualVariant],\n 'data-[placeholder]:text-muted-foreground',\n fieldTriggerErrorBorder,\n '[&>span]:truncate',\n className,\n )}\n {...props}\n {...keepOwnAccessibleName(props)}\n >\n {children}\n {/* `SelectPrimitive.Icon` renders the provided element in place of its\n default `<span>`, so the chevron would land as a *direct* `<svg>`\n child of the trigger — where Button's `TEXT_MODE_ADORNMENTS`\n `[&>svg]` rules (negative `mx`, forced 50% opacity, 1.1em sizing)\n would distort and mis-position it. Wrapping it in a `<span>` keeps\n the svg one level deep so those rules can't reach it, leaving the\n chevron pinned at the right edge at its intended size and color. */}\n <SelectPrimitive.Icon\n render={\n <span className=\"flex shrink-0 items-center\">\n <ChevronDown className={cn('size-4 text-muted-foreground', transitions.colors)} />\n </span>\n }\n />\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'SelectTrigger';\n\ntype SelectContentPositionerProps = Omit<SelectPositionerProps, keyof SelectPopupProps>;\n\nexport type SelectContentProps = Omit<SelectPopupProps, 'className'> &\n SelectContentPositionerProps & {\n className?: string;\n /**\n * Kept for API compatibility with the previous Radix API. Radix supported\n * `position=\"popper\" | \"item-aligned\"`; Base UI always uses popper-style\n * positioning so this prop is accepted but has no effect.\n */\n position?: 'popper' | 'item-aligned';\n /** Optional portal container, forwarded to `Select.Portal`. */\n container?: HTMLElement | null;\n };\n\nconst SelectContent = React.forwardRef<HTMLDivElement, SelectContentProps>(\n (\n {\n className,\n children,\n position: _position,\n container,\n side = 'bottom',\n align = 'start',\n sideOffset = 4,\n alignItemWithTrigger = false,\n anchor,\n positionMethod = FLOATING_POSITION_METHOD,\n alignOffset,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n ...props\n },\n ref,\n ) => {\n // Default to the nearest SideDialog/Drawer popup so the dropdown stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const menu = useFluidMenu<HTMLDivElement>();\n const positionerProps: SelectContentPositionerProps = {\n side,\n align,\n sideOffset,\n alignItemWithTrigger,\n anchor,\n positionMethod,\n alignOffset,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n };\n\n return (\n <SelectPrimitive.Portal container={resolvedContainer}>\n <SelectPrimitive.Positioner className={menuPositionerClass} {...positionerProps}>\n <SelectPrimitive.Popup ref={ref} className={cn(menuPopupClass, className)} {...props}>\n <SelectPrimitive.List className={menu.containerClassName} {...menu.getContainerProps({})}>\n <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n </SelectPrimitive.List>\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'SelectContent';\n\nexport type SelectItemProps = Omit<SelectPrimitive.Item.Props, 'className'> & {\n className?: string;\n};\n\nconst SelectItem = React.forwardRef<HTMLDivElement, SelectItemProps>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item ref={useFluidMenuItemRef(ref)} className={cn(menuItemClass, className)} {...props}>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <SelectPrimitive.ItemIndicator className={menuItemCheckClass}>\n <Check />\n </SelectPrimitive.ItemIndicator>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = 'SelectItem';\n\nexport { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem };\n"],"names":["SelectPrimitive"],"mappings":"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"}
1
+ {"version":3,"file":"select-BGAiIHnS.js","sources":["../src/ds/components/Select/select.tsx"],"sourcesContent":["import { Select as SelectPrimitive } from '@base-ui/react/select';\nimport type { SelectPopupProps, SelectPositionerProps } from '@base-ui/react/select';\nimport { Check, ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { buttonVariants } from '../Button/Button';\nimport type { TextButtonSize } from '../Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { controlTriggerOpenState } from '@/ds/primitives/control-size';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { fieldTriggerErrorBorder, fieldTriggerStyle, fieldTriggerWidthStyle } from '@/ds/primitives/form-element';\nimport { menuItemCheckClass, menuItemClass, menuPopupClass, menuPositionerClass } from '@/ds/primitives/menu-item';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n/**\n * Select migrated from `@radix-ui/react-select` to Base UI (`@base-ui/react/select`).\n *\n * The public API (`Select`, `SelectGroup`, `SelectValue`, `SelectTrigger`,\n * `SelectContent`, `SelectItem`) is intentionally kept stable so existing\n * consumers do not need changes.\n *\n * Notable behavioral differences vs. Radix that consumers should be aware of:\n * - `onValueChange` now receives a second `eventDetails` argument. Existing\n * handlers typed as `(value: string) => void` keep working (extra arg ignored).\n * - The dropdown no longer overlaps the trigger by default\n * (`alignItemWithTrigger={false}`), matching the previous Radix `popper`\n * positioning behavior.\n *\n * Implementation note: unlike Radix, Base UI's `Select.Value` can only resolve\n * a selected value to its label once the popup has mounted (it reads labels\n * from rendered items). To preserve the Radix behavior where the trigger shows\n * the selected label even while closed, `Select` auto-derives an `items` map\n * from the `SelectItem`s declared inside `SelectContent` and passes it to\n * `Select.Root`. Consumers can still pass an explicit `items` prop to override.\n */\ntype SelectItemNode = React.ReactElement<{ value: unknown; children?: React.ReactNode }>;\n\nfunction isSelectItem(node: React.ReactNode): node is SelectItemNode {\n return React.isValidElement(node) && (node.type as { displayName?: string })?.displayName === 'SelectItem';\n}\n\n/** Recursively collect `{ value, label }` pairs from declared `SelectItem`s. */\nfunction collectItems(children: React.ReactNode, acc: Array<{ value: unknown; label: React.ReactNode }>): void {\n React.Children.forEach(children, child => {\n if (!React.isValidElement(child)) return;\n if (isSelectItem(child)) {\n acc.push({ value: child.props.value, label: child.props.children });\n return;\n }\n const nested = (child.props as { children?: React.ReactNode })?.children;\n if (nested != null) collectItems(nested, acc);\n });\n}\n\ntype SelectRootProps<Value> = SelectPrimitive.Root.Props<Value, false>;\ntype SelectChangeDetails = Parameters<NonNullable<SelectRootProps<unknown>['onValueChange']>>[1];\n\n/**\n * `onValueChange` is intentionally narrowed to a non-null value: these selects\n * always hold a value once changed, which keeps existing `(value) => void`\n * consumer handlers valid (Base UI's own callback type is `Value | null`).\n */\ntype SelectProps<Value = string> = Omit<SelectRootProps<Value>, 'onValueChange'> & {\n onValueChange?: (value: Value, eventDetails: SelectChangeDetails) => void;\n};\n\nfunction Select<Value = string>({ children, items, onValueChange, ...props }: SelectProps<Value>) {\n const derivedItems = React.useMemo(() => {\n if (items != null) return items;\n const acc: Array<{ value: unknown; label: React.ReactNode }> = [];\n collectItems(children, acc);\n return acc.length > 0 ? acc : undefined;\n }, [items, children]);\n\n return (\n <SelectPrimitive.Root\n items={derivedItems as SelectRootProps<Value>['items']}\n onValueChange={onValueChange ? (value, eventDetails) => onValueChange(value as Value, eventDetails) : undefined}\n {...props}\n >\n {children}\n </SelectPrimitive.Root>\n );\n}\nSelect.displayName = 'Select';\n\nconst SelectGroup = SelectPrimitive.Group;\n\nexport type SelectValueProps = Omit<SelectPrimitive.Value.Props, 'className'> & {\n className?: string;\n};\n\n/**\n * Displays the selected value. Radix's `Select.Value` took a `placeholder`\n * prop and rendered the selected item's text automatically; Base UI's\n * `Select.Value` behaves the same way (renders the value, falls back to\n * `placeholder` when nothing is selected), so this is a thin passthrough.\n */\nconst SelectValue = React.forwardRef<HTMLSpanElement, SelectValueProps>(({ className, ...props }, ref) => (\n <SelectPrimitive.Value ref={ref} className={cn('truncate', className)} {...props} />\n));\nSelectValue.displayName = 'SelectValue';\n\n/**\n * A select is a form field, so it reuses the Button's size/shape recipe with\n * these looks: `default` (the Input's overlay surface — the default here too,\n * so a select sits next to an Input as the same kind of thing) and `ghost`\n * (borderless, for dense toolbars/inline pickers). The high-emphasis `primary` look is the only one intentionally NOT\n * offered (a field is not a call-to-action).\n */\nexport type SelectTriggerVariant = 'default' | 'ghost';\ntype SelectTriggerLegacyVariant = 'primary';\n\nexport type SelectTriggerProps = Omit<SelectPrimitive.Trigger.Props, 'className'> & {\n className?: string;\n size?: TextButtonSize;\n variant?: SelectTriggerVariant | SelectTriggerLegacyVariant;\n};\n\nfunction normalizeSelectTriggerVariant(\n variant: SelectTriggerVariant | SelectTriggerLegacyVariant,\n): SelectTriggerVariant {\n return variant === 'primary' ? 'default' : variant;\n}\n\nconst SelectTrigger = React.forwardRef<HTMLButtonElement, SelectTriggerProps>(\n ({ className, children, size = 'md', variant = 'default', ...props }, ref) => {\n const visualVariant = normalizeSelectTriggerVariant(variant);\n\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n data-slot=\"select-trigger\"\n // A select = a button + a trailing chevron: reuse the Button recipe\n // (variant colors, size = height/text/padding/radius, unified border\n // focus, disabled) and layer only the select-specific extras.\n className={cn(\n buttonVariants({ variant: visualVariant, size }),\n visualVariant === 'default' && fieldTriggerStyle,\n // Fill the field and push the value left / chevron right (Button's\n // base centers its content with `justify-center`).\n fieldTriggerWidthStyle,\n 'justify-between',\n // Read as \"active\" while the menu is open, per variant (see map above).\n controlTriggerOpenState[visualVariant],\n 'data-[placeholder]:text-muted-foreground',\n fieldTriggerErrorBorder,\n '[&>span]:truncate',\n className,\n )}\n {...props}\n {...keepOwnAccessibleName(props)}\n >\n {children}\n {/* `SelectPrimitive.Icon` renders the provided element in place of its\n default `<span>`, so the chevron would land as a *direct* `<svg>`\n child of the trigger — where Button's `TEXT_MODE_ADORNMENTS`\n `[&>svg]` rules (negative `mx`, forced 50% opacity, 1.1em sizing)\n would distort and mis-position it. Wrapping it in a `<span>` keeps\n the svg one level deep so those rules can't reach it, leaving the\n chevron pinned at the right edge at its intended size and color. */}\n <SelectPrimitive.Icon\n render={\n <span className=\"flex shrink-0 items-center\">\n <ChevronDown className={cn('size-4 text-muted-foreground', transitions.colors)} />\n </span>\n }\n />\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'SelectTrigger';\n\ntype SelectContentPositionerProps = Omit<SelectPositionerProps, keyof SelectPopupProps>;\n\nexport type SelectContentProps = Omit<SelectPopupProps, 'className'> &\n SelectContentPositionerProps & {\n className?: string;\n /**\n * Kept for API compatibility with the previous Radix API. Radix supported\n * `position=\"popper\" | \"item-aligned\"`; Base UI always uses popper-style\n * positioning so this prop is accepted but has no effect.\n */\n position?: 'popper' | 'item-aligned';\n /** Optional portal container, forwarded to `Select.Portal`. */\n container?: HTMLElement | null;\n };\n\nconst SelectContent = React.forwardRef<HTMLDivElement, SelectContentProps>(\n (\n {\n className,\n children,\n position: _position,\n container,\n side = 'bottom',\n align = 'start',\n sideOffset = 4,\n alignItemWithTrigger = false,\n anchor,\n positionMethod = FLOATING_POSITION_METHOD,\n alignOffset,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n ...props\n },\n ref,\n ) => {\n // Default to the nearest SideDialog/Drawer popup so the dropdown stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const menu = useFluidMenu<HTMLDivElement>();\n const positionerProps: SelectContentPositionerProps = {\n side,\n align,\n sideOffset,\n alignItemWithTrigger,\n anchor,\n positionMethod,\n alignOffset,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n };\n\n return (\n <SelectPrimitive.Portal container={resolvedContainer}>\n <SelectPrimitive.Positioner className={menuPositionerClass} {...positionerProps}>\n <SelectPrimitive.Popup ref={ref} className={cn(menuPopupClass, className)} {...props}>\n <SelectPrimitive.List className={menu.containerClassName} {...menu.getContainerProps({})}>\n <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n </SelectPrimitive.List>\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'SelectContent';\n\nexport type SelectItemProps = Omit<SelectPrimitive.Item.Props, 'className'> & {\n className?: string;\n};\n\nconst SelectItem = React.forwardRef<HTMLDivElement, SelectItemProps>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item ref={useFluidMenuItemRef(ref)} className={cn(menuItemClass, className)} {...props}>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <SelectPrimitive.ItemIndicator className={menuItemCheckClass}>\n <Check />\n </SelectPrimitive.ItemIndicator>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = 'SelectItem';\n\nexport { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem };\n"],"names":["SelectPrimitive"],"mappings":"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"}
@@ -6,7 +6,6 @@ const utils_cn = require('./cn-TqD01zH-.cjs');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const field = require('./field-D1SVMPMz.cjs');
9
- require('./field-control-aria-WzMGs0A4.cjs');
10
9
 
11
10
  function SettingsContainerLayout({
12
11
  layout,
@@ -134,4 +133,4 @@ exports.SettingsContainerLayout = SettingsContainerLayout;
134
133
  exports.SettingsFieldsetRow = SettingsFieldsetRow;
135
134
  exports.SettingsRow = SettingsRow;
136
135
  exports.SettingsRowLayout = SettingsRowLayout;
137
- //# sourceMappingURL=settings-row-CwZ3JffC.cjs.map
136
+ //# sourceMappingURL=settings-row-rOI4yGvi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-row-CwZ3JffC.cjs","sources":["../src/ds/new/settings/settings-container.tsx","../src/ds/new/settings/settings-row.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport function SettingsContainerLayout({\n layout,\n className,\n ...props\n}: ComponentProps<'div'> & { layout: 'factory' | 'section' }) {\n return (\n <div\n data-slot={layout === 'section' ? 'section-content' : 'settings-container'}\n className={cn(\n layout === 'factory'\n ? cn(raisedSurfaceStyle, 'divide-y divide-border rounded-xl')\n : cn(\n 'group-data-[variant=factory]/section:overflow-hidden group-data-[variant=factory]/section:rounded-xl',\n 'group-data-[variant=factory]/section:bg-card group-data-[variant=factory]/section:shadow-raised',\n ),\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function SettingsContainer(props: ComponentProps<'div'>) {\n return <SettingsContainerLayout {...props} layout=\"factory\" />;\n}\n","import { LockKeyholeIcon } from 'lucide-react';\nimport { useId } from 'react';\nimport type { ReactNode } from 'react';\nimport { Field, FieldDescription, FieldError, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldProps, FieldsetProps } from '@/ds/components/Field';\nimport { cn } from '@/lib/utils';\n\nexport type SettingsRowProps = Omit<FieldProps, 'children' | 'invalid' | 'orientation'> & {\n label: ReactNode;\n description?: ReactNode;\n /** @deprecated The row's `Field` names the control it holds; drop `htmlFor` and the control's `id`. */\n htmlFor?: string;\n children?: ReactNode;\n tone?: 'default' | 'destructive';\n viewOnly?: boolean;\n required?: boolean;\n errorMsg?: ReactNode;\n};\n\ntype SettingsRowLayoutProps = SettingsRowProps & {\n layout: 'factory' | 'section';\n};\n\nconst factoryRowClassName = 'gap-2 px-4 py-3 sm:justify-between sm:gap-4';\nconst factoryRowSideControlWidthClassName = 'sm:[--field-shrink:0] sm:[--field-width:16rem]';\nconst factoryRowHeadingClassName = 'flex min-w-0 flex-col gap-0.5';\n\nexport function SettingsRowLayout({\n label,\n description,\n htmlFor,\n children,\n className,\n layout,\n tone = 'default',\n viewOnly = false,\n required = false,\n errorMsg,\n disabled,\n ...props\n}: SettingsRowLayoutProps) {\n const isSectionLayout = layout === 'section';\n const control = viewOnly ? (\n <>\n <LockKeyholeIcon className=\"size-4 shrink-0\" aria-hidden />\n <span className=\"sr-only\">View only: </span>\n {children}\n </>\n ) : (\n children\n );\n\n return (\n <Field\n orientation=\"responsive\"\n invalid={Boolean(errorMsg)}\n disabled={disabled || viewOnly}\n data-slot={isSectionLayout ? 'section-row' : 'settings-row'}\n className={cn(\n isSectionLayout\n ? 'grid min-w-0 gap-3 group-data-[variant=factory]/section:px-3 group-data-[variant=factory]/section:py-2 group-data-[variant=flat]/section:p-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center sm:group-data-[variant=default]/section:gap-4 sm:group-data-[variant=factory]/section:gap-4 sm:group-data-[variant=flat]/section:gap-6'\n : 'min-w-0',\n layout === 'factory' && factoryRowClassName,\n layout === 'factory' && factoryRowSideControlWidthClassName,\n className,\n )}\n {...props}\n >\n <div className={isSectionLayout ? 'min-w-0' : factoryRowHeadingClassName}>\n <FieldLabel\n {...(htmlFor ? { htmlFor } : {})}\n required={required}\n className={cn(tone === 'destructive' && 'text-destructive-foreground')}\n >\n {label}\n </FieldLabel>\n {description != null && (\n <FieldDescription\n render={isSectionLayout ? undefined : <div />}\n className={cn('mt-0', isSectionLayout ? 'mt-1 max-w-[62ch] text-pretty' : 'flex flex-col gap-0.5')}\n >\n {description}\n </FieldDescription>\n )}\n <FieldError className={cn('mt-0', isSectionLayout && 'mt-1')}>{errorMsg}</FieldError>\n </div>\n {children != null &&\n (isSectionLayout || viewOnly ? (\n <div\n data-slot={isSectionLayout ? 'section-control' : undefined}\n className={cn(\n 'min-w-0',\n isSectionLayout && 'sm:justify-self-end',\n viewOnly && 'flex items-center gap-2 text-body-sm text-muted-foreground',\n )}\n >\n {control}\n </div>\n ) : (\n control\n ))}\n </Field>\n );\n}\n\nexport function SettingsRow(props: SettingsRowProps) {\n return <SettingsRowLayout {...props} layout=\"factory\" />;\n}\n\nexport type SettingsFieldsetRowProps = Omit<FieldsetProps, 'children'> & {\n label: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n};\n\nexport function SettingsFieldsetRow({ label, description, children, className, ...props }: SettingsFieldsetRowProps) {\n const descriptionId = useId();\n\n return (\n <Fieldset\n data-slot=\"settings-row\"\n aria-describedby={description == null ? undefined : descriptionId}\n className={cn('flex flex-col sm:flex-row sm:items-center', factoryRowClassName, className)}\n {...props}\n >\n <div className={factoryRowHeadingClassName}>\n <FieldsetLegend>{label}</FieldsetLegend>\n {description != null && (\n <div id={descriptionId} className=\"flex flex-col gap-0.5 text-caption text-muted-foreground\">\n {description}\n </div>\n )}\n </div>\n {children}\n </Fieldset>\n );\n}\n"],"names":["jsx","cn","raisedSurfaceStyle","jsxs","Fragment","LockKeyholeIcon","Field","FieldLabel","FieldDescription","FieldError","useId","Fieldset","FieldsetLegend"],"mappings":"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"}
1
+ {"version":3,"file":"settings-row-rOI4yGvi.cjs","sources":["../src/ds/new/settings/settings-container.tsx","../src/ds/new/settings/settings-row.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport function SettingsContainerLayout({\n layout,\n className,\n ...props\n}: ComponentProps<'div'> & { layout: 'factory' | 'section' }) {\n return (\n <div\n data-slot={layout === 'section' ? 'section-content' : 'settings-container'}\n className={cn(\n layout === 'factory'\n ? cn(raisedSurfaceStyle, 'divide-y divide-border rounded-xl')\n : cn(\n 'group-data-[variant=factory]/section:overflow-hidden group-data-[variant=factory]/section:rounded-xl',\n 'group-data-[variant=factory]/section:bg-card group-data-[variant=factory]/section:shadow-raised',\n ),\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function SettingsContainer(props: ComponentProps<'div'>) {\n return <SettingsContainerLayout {...props} layout=\"factory\" />;\n}\n","import { LockKeyholeIcon } from 'lucide-react';\nimport { useId } from 'react';\nimport type { ReactNode } from 'react';\nimport { Field, FieldDescription, FieldError, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldProps, FieldsetProps } from '@/ds/components/Field';\nimport { cn } from '@/lib/utils';\n\nexport type SettingsRowProps = Omit<FieldProps, 'children' | 'invalid' | 'orientation'> & {\n label: ReactNode;\n description?: ReactNode;\n /** @deprecated The row's `Field` names the control it holds; drop `htmlFor` and the control's `id`. */\n htmlFor?: string;\n children?: ReactNode;\n tone?: 'default' | 'destructive';\n viewOnly?: boolean;\n required?: boolean;\n errorMsg?: ReactNode;\n};\n\ntype SettingsRowLayoutProps = SettingsRowProps & {\n layout: 'factory' | 'section';\n};\n\nconst factoryRowClassName = 'gap-2 px-4 py-3 sm:justify-between sm:gap-4';\nconst factoryRowSideControlWidthClassName = 'sm:[--field-shrink:0] sm:[--field-width:16rem]';\nconst factoryRowHeadingClassName = 'flex min-w-0 flex-col gap-0.5';\n\nexport function SettingsRowLayout({\n label,\n description,\n htmlFor,\n children,\n className,\n layout,\n tone = 'default',\n viewOnly = false,\n required = false,\n errorMsg,\n disabled,\n ...props\n}: SettingsRowLayoutProps) {\n const isSectionLayout = layout === 'section';\n const control = viewOnly ? (\n <>\n <LockKeyholeIcon className=\"size-4 shrink-0\" aria-hidden />\n <span className=\"sr-only\">View only: </span>\n {children}\n </>\n ) : (\n children\n );\n\n return (\n <Field\n orientation=\"responsive\"\n invalid={Boolean(errorMsg)}\n disabled={disabled || viewOnly}\n data-slot={isSectionLayout ? 'section-row' : 'settings-row'}\n className={cn(\n isSectionLayout\n ? 'grid min-w-0 gap-3 group-data-[variant=factory]/section:px-3 group-data-[variant=factory]/section:py-2 group-data-[variant=flat]/section:p-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center sm:group-data-[variant=default]/section:gap-4 sm:group-data-[variant=factory]/section:gap-4 sm:group-data-[variant=flat]/section:gap-6'\n : 'min-w-0',\n layout === 'factory' && factoryRowClassName,\n layout === 'factory' && factoryRowSideControlWidthClassName,\n className,\n )}\n {...props}\n >\n <div className={isSectionLayout ? 'min-w-0' : factoryRowHeadingClassName}>\n <FieldLabel\n {...(htmlFor ? { htmlFor } : {})}\n required={required}\n className={cn(tone === 'destructive' && 'text-destructive-foreground')}\n >\n {label}\n </FieldLabel>\n {description != null && (\n <FieldDescription\n render={isSectionLayout ? undefined : <div />}\n className={cn('mt-0', isSectionLayout ? 'mt-1 max-w-[62ch] text-pretty' : 'flex flex-col gap-0.5')}\n >\n {description}\n </FieldDescription>\n )}\n <FieldError className={cn('mt-0', isSectionLayout && 'mt-1')}>{errorMsg}</FieldError>\n </div>\n {children != null &&\n (isSectionLayout || viewOnly ? (\n <div\n data-slot={isSectionLayout ? 'section-control' : undefined}\n className={cn(\n 'min-w-0',\n isSectionLayout && 'sm:justify-self-end',\n viewOnly && 'flex items-center gap-2 text-body-sm text-muted-foreground',\n )}\n >\n {control}\n </div>\n ) : (\n control\n ))}\n </Field>\n );\n}\n\nexport function SettingsRow(props: SettingsRowProps) {\n return <SettingsRowLayout {...props} layout=\"factory\" />;\n}\n\nexport type SettingsFieldsetRowProps = Omit<FieldsetProps, 'children'> & {\n label: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n};\n\nexport function SettingsFieldsetRow({ label, description, children, className, ...props }: SettingsFieldsetRowProps) {\n const descriptionId = useId();\n\n return (\n <Fieldset\n data-slot=\"settings-row\"\n aria-describedby={description == null ? undefined : descriptionId}\n className={cn('flex flex-col sm:flex-row sm:items-center', factoryRowClassName, className)}\n {...props}\n >\n <div className={factoryRowHeadingClassName}>\n <FieldsetLegend>{label}</FieldsetLegend>\n {description != null && (\n <div id={descriptionId} className=\"flex flex-col gap-0.5 text-caption text-muted-foreground\">\n {description}\n </div>\n )}\n </div>\n {children}\n </Fieldset>\n );\n}\n"],"names":["jsx","cn","raisedSurfaceStyle","jsxs","Fragment","LockKeyholeIcon","Field","FieldLabel","FieldDescription","FieldError","useId","Fieldset","FieldsetLegend"],"mappings":";;;;;;;;;AAIO,SAAS,uBAAA,CAAwB;AAAA,EACtC,MAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA8D;AAC5D,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAW,MAAA,KAAW,SAAA,GAAY,iBAAA,GAAoB,oBAAA;AAAA,MACtD,SAAA,EAAWC,WAAA;AAAA,QACT,MAAA,KAAW,SAAA,GACPA,WAAA,CAAGC,2CAAA,EAAoB,mCAAmC,CAAA,GAC1DD,WAAA;AAAA,UACE,sGAAA;AAAA,UACA;AAAA,SACF;AAAA,QACJ;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEO,SAAS,kBAAkB,KAAA,EAA8B;AAC9D,EAAA,uBAAOD,cAAA,CAAC,uBAAA,EAAA,EAAyB,GAAG,KAAA,EAAO,QAAO,SAAA,EAAU,CAAA;AAC9D;;ACLA,MAAM,mBAAA,GAAsB,6CAAA;AAC5B,MAAM,mCAAA,GAAsC,gDAAA;AAC5C,MAAM,0BAAA,GAA6B,+BAAA;AAE5B,SAAS,iBAAA,CAAkB;AAAA,EAChC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA,GAAO,SAAA;AAAA,EACP,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,kBAAkB,MAAA,KAAW,SAAA;AACnC,EAAA,MAAM,OAAA,GAAU,2BACdG,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAJ,cAAA,CAACK,2BAAA,EAAA,EAAgB,SAAA,EAAU,iBAAA,EAAkB,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,oBACzDL,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,aAAA,EAAW,CAAA;AAAA,IACpC;AAAA,GAAA,EACH,CAAA,GAEA,QAAA;AAGF,EAAA,uBACEG,eAAA;AAAA,IAACG,WAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAY,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,QAAQ,CAAA;AAAA,MACzB,UAAU,QAAA,IAAY,QAAA;AAAA,MACtB,WAAA,EAAW,kBAAkB,aAAA,GAAgB,cAAA;AAAA,MAC7C,SAAA,EAAWL,WAAA;AAAA,QACT,kBACI,uUAAA,GACA,SAAA;AAAA,QACJ,WAAW,SAAA,IAAa,mBAAA;AAAA,QACxB,WAAW,SAAA,IAAa,mCAAA;AAAA,QACxB;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAE,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,eAAA,GAAkB,SAAA,GAAY,0BAAA,EAC5C,QAAA,EAAA;AAAA,0BAAAH,cAAA;AAAA,YAACO,gBAAA;AAAA,YAAA;AAAA,cACE,GAAI,OAAA,GAAU,EAAE,OAAA,KAAY,EAAC;AAAA,cAC9B,QAAA;AAAA,cACA,SAAA,EAAWN,WAAA,CAAG,IAAA,KAAS,aAAA,IAAiB,6BAA6B,CAAA;AAAA,cAEpE,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,eAAe,IAAA,oBACdD,cAAA;AAAA,YAACQ,sBAAA;AAAA,YAAA;AAAA,cACC,MAAA,EAAQ,eAAA,GAAkB,MAAA,mBAAYR,cAAA,CAAC,KAAA,EAAA,EAAI,CAAA;AAAA,cAC3C,SAAA,EAAWC,WAAA,CAAG,MAAA,EAAQ,eAAA,GAAkB,kCAAkC,uBAAuB,CAAA;AAAA,cAEhG,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,0BAEFD,cAAA,CAACS,oBAAW,SAAA,EAAWR,WAAA,CAAG,QAAQ,eAAA,IAAmB,MAAM,GAAI,QAAA,EAAA,QAAA,EAAS;AAAA,SAAA,EAC1E,CAAA;AAAA,QACC,QAAA,IAAY,IAAA,KACV,eAAA,IAAmB,QAAA,mBAClBD,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAW,kBAAkB,iBAAA,GAAoB,MAAA;AAAA,YACjD,SAAA,EAAWC,WAAA;AAAA,cACT,SAAA;AAAA,cACA,eAAA,IAAmB,qBAAA;AAAA,cACnB,QAAA,IAAY;AAAA,aACd;AAAA,YAEC,QAAA,EAAA;AAAA;AAAA,SACH,GAEA,OAAA;AAAA;AAAA;AAAA,GAEN;AAEJ;AAEO,SAAS,YAAY,KAAA,EAAyB;AACnD,EAAA,uBAAOD,cAAA,CAAC,iBAAA,EAAA,EAAmB,GAAG,KAAA,EAAO,QAAO,SAAA,EAAU,CAAA;AACxD;AAQO,SAAS,mBAAA,CAAoB,EAAE,KAAA,EAAO,WAAA,EAAa,UAAU,SAAA,EAAW,GAAG,OAAM,EAA6B;AACnH,EAAA,MAAM,gBAAgBU,WAAA,EAAM;AAE5B,EAAA,uBACEP,eAAA;AAAA,IAACQ,cAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,kBAAA,EAAkB,WAAA,IAAe,IAAA,GAAO,MAAA,GAAY,aAAA;AAAA,MACpD,SAAA,EAAWV,WAAA,CAAG,2CAAA,EAA6C,mBAAA,EAAqB,SAAS,CAAA;AAAA,MACxF,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAE,eAAA,CAAC,KAAA,EAAA,EAAI,WAAW,0BAAA,EACd,QAAA,EAAA;AAAA,0BAAAH,cAAA,CAACY,wBAAgB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACtB,WAAA,IAAe,wBACdZ,cAAA,CAAC,KAAA,EAAA,EAAI,IAAI,aAAA,EAAe,SAAA,EAAU,4DAC/B,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;;;;;;;;"}
@@ -3,8 +3,7 @@ import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
3
3
  import { c as cn } from './cn-coERSHz5.js';
4
4
  import { LockKeyholeIcon } from 'lucide-react';
5
5
  import { useId } from 'react';
6
- import { f as Fieldset, g as FieldsetLegend, F as Field, e as FieldLabel, b as FieldDescription, c as FieldError } from './field-B89BEZg4.js';
7
- import './field-control-aria-DB6y41tQ.js';
6
+ import { f as Fieldset, g as FieldsetLegend, F as Field, e as FieldLabel, b as FieldDescription, c as FieldError } from './field-Bc8Ewf_M.js';
8
7
 
9
8
  function SettingsContainerLayout({
10
9
  layout,
@@ -128,4 +127,4 @@ function SettingsFieldsetRow({ label, description, children, className, ...props
128
127
  }
129
128
 
130
129
  export { SettingsContainer as S, SettingsFieldsetRow as a, SettingsRow as b, SettingsContainerLayout as c, SettingsRowLayout as d };
131
- //# sourceMappingURL=settings-row-gpwIVAMN.js.map
130
+ //# sourceMappingURL=settings-row-ylIw4rfC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-row-gpwIVAMN.js","sources":["../src/ds/new/settings/settings-container.tsx","../src/ds/new/settings/settings-row.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport function SettingsContainerLayout({\n layout,\n className,\n ...props\n}: ComponentProps<'div'> & { layout: 'factory' | 'section' }) {\n return (\n <div\n data-slot={layout === 'section' ? 'section-content' : 'settings-container'}\n className={cn(\n layout === 'factory'\n ? cn(raisedSurfaceStyle, 'divide-y divide-border rounded-xl')\n : cn(\n 'group-data-[variant=factory]/section:overflow-hidden group-data-[variant=factory]/section:rounded-xl',\n 'group-data-[variant=factory]/section:bg-card group-data-[variant=factory]/section:shadow-raised',\n ),\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function SettingsContainer(props: ComponentProps<'div'>) {\n return <SettingsContainerLayout {...props} layout=\"factory\" />;\n}\n","import { LockKeyholeIcon } from 'lucide-react';\nimport { useId } from 'react';\nimport type { ReactNode } from 'react';\nimport { Field, FieldDescription, FieldError, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldProps, FieldsetProps } from '@/ds/components/Field';\nimport { cn } from '@/lib/utils';\n\nexport type SettingsRowProps = Omit<FieldProps, 'children' | 'invalid' | 'orientation'> & {\n label: ReactNode;\n description?: ReactNode;\n /** @deprecated The row's `Field` names the control it holds; drop `htmlFor` and the control's `id`. */\n htmlFor?: string;\n children?: ReactNode;\n tone?: 'default' | 'destructive';\n viewOnly?: boolean;\n required?: boolean;\n errorMsg?: ReactNode;\n};\n\ntype SettingsRowLayoutProps = SettingsRowProps & {\n layout: 'factory' | 'section';\n};\n\nconst factoryRowClassName = 'gap-2 px-4 py-3 sm:justify-between sm:gap-4';\nconst factoryRowSideControlWidthClassName = 'sm:[--field-shrink:0] sm:[--field-width:16rem]';\nconst factoryRowHeadingClassName = 'flex min-w-0 flex-col gap-0.5';\n\nexport function SettingsRowLayout({\n label,\n description,\n htmlFor,\n children,\n className,\n layout,\n tone = 'default',\n viewOnly = false,\n required = false,\n errorMsg,\n disabled,\n ...props\n}: SettingsRowLayoutProps) {\n const isSectionLayout = layout === 'section';\n const control = viewOnly ? (\n <>\n <LockKeyholeIcon className=\"size-4 shrink-0\" aria-hidden />\n <span className=\"sr-only\">View only: </span>\n {children}\n </>\n ) : (\n children\n );\n\n return (\n <Field\n orientation=\"responsive\"\n invalid={Boolean(errorMsg)}\n disabled={disabled || viewOnly}\n data-slot={isSectionLayout ? 'section-row' : 'settings-row'}\n className={cn(\n isSectionLayout\n ? 'grid min-w-0 gap-3 group-data-[variant=factory]/section:px-3 group-data-[variant=factory]/section:py-2 group-data-[variant=flat]/section:p-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center sm:group-data-[variant=default]/section:gap-4 sm:group-data-[variant=factory]/section:gap-4 sm:group-data-[variant=flat]/section:gap-6'\n : 'min-w-0',\n layout === 'factory' && factoryRowClassName,\n layout === 'factory' && factoryRowSideControlWidthClassName,\n className,\n )}\n {...props}\n >\n <div className={isSectionLayout ? 'min-w-0' : factoryRowHeadingClassName}>\n <FieldLabel\n {...(htmlFor ? { htmlFor } : {})}\n required={required}\n className={cn(tone === 'destructive' && 'text-destructive-foreground')}\n >\n {label}\n </FieldLabel>\n {description != null && (\n <FieldDescription\n render={isSectionLayout ? undefined : <div />}\n className={cn('mt-0', isSectionLayout ? 'mt-1 max-w-[62ch] text-pretty' : 'flex flex-col gap-0.5')}\n >\n {description}\n </FieldDescription>\n )}\n <FieldError className={cn('mt-0', isSectionLayout && 'mt-1')}>{errorMsg}</FieldError>\n </div>\n {children != null &&\n (isSectionLayout || viewOnly ? (\n <div\n data-slot={isSectionLayout ? 'section-control' : undefined}\n className={cn(\n 'min-w-0',\n isSectionLayout && 'sm:justify-self-end',\n viewOnly && 'flex items-center gap-2 text-body-sm text-muted-foreground',\n )}\n >\n {control}\n </div>\n ) : (\n control\n ))}\n </Field>\n );\n}\n\nexport function SettingsRow(props: SettingsRowProps) {\n return <SettingsRowLayout {...props} layout=\"factory\" />;\n}\n\nexport type SettingsFieldsetRowProps = Omit<FieldsetProps, 'children'> & {\n label: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n};\n\nexport function SettingsFieldsetRow({ label, description, children, className, ...props }: SettingsFieldsetRowProps) {\n const descriptionId = useId();\n\n return (\n <Fieldset\n data-slot=\"settings-row\"\n aria-describedby={description == null ? undefined : descriptionId}\n className={cn('flex flex-col sm:flex-row sm:items-center', factoryRowClassName, className)}\n {...props}\n >\n <div className={factoryRowHeadingClassName}>\n <FieldsetLegend>{label}</FieldsetLegend>\n {description != null && (\n <div id={descriptionId} className=\"flex flex-col gap-0.5 text-caption text-muted-foreground\">\n {description}\n </div>\n )}\n </div>\n {children}\n </Fieldset>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAIO,SAAS,uBAAA,CAAwB;AAAA,EACtC,MAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA8D;AAC5D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAW,MAAA,KAAW,SAAA,GAAY,iBAAA,GAAoB,oBAAA;AAAA,MACtD,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,KAAW,SAAA,GACP,EAAA,CAAG,kBAAA,EAAoB,mCAAmC,CAAA,GAC1D,EAAA;AAAA,UACE,sGAAA;AAAA,UACA;AAAA,SACF;AAAA,QACJ;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEO,SAAS,kBAAkB,KAAA,EAA8B;AAC9D,EAAA,uBAAO,GAAA,CAAC,uBAAA,EAAA,EAAyB,GAAG,KAAA,EAAO,QAAO,SAAA,EAAU,CAAA;AAC9D;;ACLA,MAAM,mBAAA,GAAsB,6CAAA;AAC5B,MAAM,mCAAA,GAAsC,gDAAA;AAC5C,MAAM,0BAAA,GAA6B,+BAAA;AAE5B,SAAS,iBAAA,CAAkB;AAAA,EAChC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA,GAAO,SAAA;AAAA,EACP,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,kBAAkB,MAAA,KAAW,SAAA;AACnC,EAAA,MAAM,OAAA,GAAU,2BACd,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,SAAA,EAAU,iBAAA,EAAkB,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,oBACzD,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,aAAA,EAAW,CAAA;AAAA,IACpC;AAAA,GAAA,EACH,CAAA,GAEA,QAAA;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAY,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,QAAQ,CAAA;AAAA,MACzB,UAAU,QAAA,IAAY,QAAA;AAAA,MACtB,WAAA,EAAW,kBAAkB,aAAA,GAAgB,cAAA;AAAA,MAC7C,SAAA,EAAW,EAAA;AAAA,QACT,kBACI,uUAAA,GACA,SAAA;AAAA,QACJ,WAAW,SAAA,IAAa,mBAAA;AAAA,QACxB,WAAW,SAAA,IAAa,mCAAA;AAAA,QACxB;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,eAAA,GAAkB,SAAA,GAAY,0BAAA,EAC5C,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACE,GAAI,OAAA,GAAU,EAAE,OAAA,KAAY,EAAC;AAAA,cAC9B,QAAA;AAAA,cACA,SAAA,EAAW,EAAA,CAAG,IAAA,KAAS,aAAA,IAAiB,6BAA6B,CAAA;AAAA,cAEpE,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UACC,eAAe,IAAA,oBACd,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cACC,MAAA,EAAQ,eAAA,GAAkB,MAAA,mBAAY,GAAA,CAAC,KAAA,EAAA,EAAI,CAAA;AAAA,cAC3C,SAAA,EAAW,EAAA,CAAG,MAAA,EAAQ,eAAA,GAAkB,kCAAkC,uBAAuB,CAAA;AAAA,cAEhG,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,0BAEF,GAAA,CAAC,cAAW,SAAA,EAAW,EAAA,CAAG,QAAQ,eAAA,IAAmB,MAAM,GAAI,QAAA,EAAA,QAAA,EAAS;AAAA,SAAA,EAC1E,CAAA;AAAA,QACC,QAAA,IAAY,IAAA,KACV,eAAA,IAAmB,QAAA,mBAClB,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAW,kBAAkB,iBAAA,GAAoB,MAAA;AAAA,YACjD,SAAA,EAAW,EAAA;AAAA,cACT,SAAA;AAAA,cACA,eAAA,IAAmB,qBAAA;AAAA,cACnB,QAAA,IAAY;AAAA,aACd;AAAA,YAEC,QAAA,EAAA;AAAA;AAAA,SACH,GAEA,OAAA;AAAA;AAAA;AAAA,GAEN;AAEJ;AAEO,SAAS,YAAY,KAAA,EAAyB;AACnD,EAAA,uBAAO,GAAA,CAAC,iBAAA,EAAA,EAAmB,GAAG,KAAA,EAAO,QAAO,SAAA,EAAU,CAAA;AACxD;AAQO,SAAS,mBAAA,CAAoB,EAAE,KAAA,EAAO,WAAA,EAAa,UAAU,SAAA,EAAW,GAAG,OAAM,EAA6B;AACnH,EAAA,MAAM,gBAAgB,KAAA,EAAM;AAE5B,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,kBAAA,EAAkB,WAAA,IAAe,IAAA,GAAO,MAAA,GAAY,aAAA;AAAA,MACpD,SAAA,EAAW,EAAA,CAAG,2CAAA,EAA6C,mBAAA,EAAqB,SAAS,CAAA;AAAA,MACxF,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAW,0BAAA,EACd,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,kBAAgB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,UACtB,WAAA,IAAe,wBACd,GAAA,CAAC,KAAA,EAAA,EAAI,IAAI,aAAA,EAAe,SAAA,EAAU,4DAC/B,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
1
+ {"version":3,"file":"settings-row-ylIw4rfC.js","sources":["../src/ds/new/settings/settings-container.tsx","../src/ds/new/settings/settings-row.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport function SettingsContainerLayout({\n layout,\n className,\n ...props\n}: ComponentProps<'div'> & { layout: 'factory' | 'section' }) {\n return (\n <div\n data-slot={layout === 'section' ? 'section-content' : 'settings-container'}\n className={cn(\n layout === 'factory'\n ? cn(raisedSurfaceStyle, 'divide-y divide-border rounded-xl')\n : cn(\n 'group-data-[variant=factory]/section:overflow-hidden group-data-[variant=factory]/section:rounded-xl',\n 'group-data-[variant=factory]/section:bg-card group-data-[variant=factory]/section:shadow-raised',\n ),\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function SettingsContainer(props: ComponentProps<'div'>) {\n return <SettingsContainerLayout {...props} layout=\"factory\" />;\n}\n","import { LockKeyholeIcon } from 'lucide-react';\nimport { useId } from 'react';\nimport type { ReactNode } from 'react';\nimport { Field, FieldDescription, FieldError, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldProps, FieldsetProps } from '@/ds/components/Field';\nimport { cn } from '@/lib/utils';\n\nexport type SettingsRowProps = Omit<FieldProps, 'children' | 'invalid' | 'orientation'> & {\n label: ReactNode;\n description?: ReactNode;\n /** @deprecated The row's `Field` names the control it holds; drop `htmlFor` and the control's `id`. */\n htmlFor?: string;\n children?: ReactNode;\n tone?: 'default' | 'destructive';\n viewOnly?: boolean;\n required?: boolean;\n errorMsg?: ReactNode;\n};\n\ntype SettingsRowLayoutProps = SettingsRowProps & {\n layout: 'factory' | 'section';\n};\n\nconst factoryRowClassName = 'gap-2 px-4 py-3 sm:justify-between sm:gap-4';\nconst factoryRowSideControlWidthClassName = 'sm:[--field-shrink:0] sm:[--field-width:16rem]';\nconst factoryRowHeadingClassName = 'flex min-w-0 flex-col gap-0.5';\n\nexport function SettingsRowLayout({\n label,\n description,\n htmlFor,\n children,\n className,\n layout,\n tone = 'default',\n viewOnly = false,\n required = false,\n errorMsg,\n disabled,\n ...props\n}: SettingsRowLayoutProps) {\n const isSectionLayout = layout === 'section';\n const control = viewOnly ? (\n <>\n <LockKeyholeIcon className=\"size-4 shrink-0\" aria-hidden />\n <span className=\"sr-only\">View only: </span>\n {children}\n </>\n ) : (\n children\n );\n\n return (\n <Field\n orientation=\"responsive\"\n invalid={Boolean(errorMsg)}\n disabled={disabled || viewOnly}\n data-slot={isSectionLayout ? 'section-row' : 'settings-row'}\n className={cn(\n isSectionLayout\n ? 'grid min-w-0 gap-3 group-data-[variant=factory]/section:px-3 group-data-[variant=factory]/section:py-2 group-data-[variant=flat]/section:p-3 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-center sm:group-data-[variant=default]/section:gap-4 sm:group-data-[variant=factory]/section:gap-4 sm:group-data-[variant=flat]/section:gap-6'\n : 'min-w-0',\n layout === 'factory' && factoryRowClassName,\n layout === 'factory' && factoryRowSideControlWidthClassName,\n className,\n )}\n {...props}\n >\n <div className={isSectionLayout ? 'min-w-0' : factoryRowHeadingClassName}>\n <FieldLabel\n {...(htmlFor ? { htmlFor } : {})}\n required={required}\n className={cn(tone === 'destructive' && 'text-destructive-foreground')}\n >\n {label}\n </FieldLabel>\n {description != null && (\n <FieldDescription\n render={isSectionLayout ? undefined : <div />}\n className={cn('mt-0', isSectionLayout ? 'mt-1 max-w-[62ch] text-pretty' : 'flex flex-col gap-0.5')}\n >\n {description}\n </FieldDescription>\n )}\n <FieldError className={cn('mt-0', isSectionLayout && 'mt-1')}>{errorMsg}</FieldError>\n </div>\n {children != null &&\n (isSectionLayout || viewOnly ? (\n <div\n data-slot={isSectionLayout ? 'section-control' : undefined}\n className={cn(\n 'min-w-0',\n isSectionLayout && 'sm:justify-self-end',\n viewOnly && 'flex items-center gap-2 text-body-sm text-muted-foreground',\n )}\n >\n {control}\n </div>\n ) : (\n control\n ))}\n </Field>\n );\n}\n\nexport function SettingsRow(props: SettingsRowProps) {\n return <SettingsRowLayout {...props} layout=\"factory\" />;\n}\n\nexport type SettingsFieldsetRowProps = Omit<FieldsetProps, 'children'> & {\n label: ReactNode;\n description?: ReactNode;\n children?: ReactNode;\n};\n\nexport function SettingsFieldsetRow({ label, description, children, className, ...props }: SettingsFieldsetRowProps) {\n const descriptionId = useId();\n\n return (\n <Fieldset\n data-slot=\"settings-row\"\n aria-describedby={description == null ? undefined : descriptionId}\n className={cn('flex flex-col sm:flex-row sm:items-center', factoryRowClassName, className)}\n {...props}\n >\n <div className={factoryRowHeadingClassName}>\n <FieldsetLegend>{label}</FieldsetLegend>\n {description != null && (\n <div id={descriptionId} className=\"flex flex-col gap-0.5 text-caption text-muted-foreground\">\n {description}\n </div>\n )}\n </div>\n {children}\n </Fieldset>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ import { useState, useMemo } from 'react';
11
11
  import { B as Button } from './Button-C8QDEN9j.js';
12
12
  import { B as ButtonsGroup } from './buttons-group-BU9ErJSH.js';
13
13
  import { C as CopyButton } from './copy-button-CDyuUYUr.js';
14
- import { S as Section } from './section-Dq6aFxlH.js';
14
+ import { S as Section } from './section-DcjTdrqz.js';
15
15
  import { u as useTheme } from './theme-provider-BbMYMtxP.js';
16
16
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
17
- import { j as DrawerInteractive, D as Drawer, l as DrawerPortal, a as DrawerBackdrop, q as DrawerViewport, k as DrawerPopup, o as DrawerTitle, e as DrawerDescription, c as DrawerClose } from './drawer-B-t4ydEh.js';
17
+ import { j as DrawerInteractive, D as Drawer, l as DrawerPortal, a as DrawerBackdrop, q as DrawerViewport, k as DrawerPopup, o as DrawerTitle, e as DrawerDescription, c as DrawerClose } from './drawer-CZlqOjd2.js';
18
18
  import { c as cn } from './cn-coERSHz5.js';
19
19
  import { PortalContainerProvider } from './primitives/portal-container.es.js';
20
20
  import { transitions } from './primitives/transitions.es.js';
@@ -271,4 +271,4 @@ const SideDialog = Object.assign(SideDialogRoot, {
271
271
  });
272
272
 
273
273
  export { SideDialog as S };
274
- //# sourceMappingURL=side-dialog-BIyr498B.js.map
274
+ //# sourceMappingURL=side-dialog-CB_wrLtE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"side-dialog-BIyr498B.js","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["t","ReactCodeMirror"],"mappings":"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"}
1
+ {"version":3,"file":"side-dialog-CB_wrLtE.js","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["t","ReactCodeMirror"],"mappings":"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"}
@@ -12,10 +12,10 @@ const React = require('react');
12
12
  const Button = require('./Button-BfZzgZrA.cjs');
13
13
  const buttonsGroup = require('./buttons-group-C2lPe7sm.cjs');
14
14
  const copyButton = require('./copy-button-CUVxXN4H.cjs');
15
- const section = require('./section-DhZbtWhu.cjs');
15
+ const section = require('./section-CdaSS9M7.cjs');
16
16
  const themeProvider = require('./theme-provider-DDGNiyY_.cjs');
17
17
  const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
18
- const drawer = require('./drawer-DE2b3eld.cjs');
18
+ const drawer = require('./drawer-CeUYCG-S.cjs');
19
19
  const utils_cn = require('./cn-TqD01zH-.cjs');
20
20
  const primitives_portalContainer = require('./primitives/portal-container.cjs.js');
21
21
  const primitives_transitions = require('./primitives/transitions.cjs.js');
@@ -291,4 +291,4 @@ const SideDialog = Object.assign(SideDialogRoot, {
291
291
  });
292
292
 
293
293
  exports.SideDialog = SideDialog;
294
- //# sourceMappingURL=side-dialog-BT2xywA8.cjs.map
294
+ //# sourceMappingURL=side-dialog-OPXvmRDA.cjs.map