@pstdio/ui 0.26.0 → 0.35.0

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 (620) hide show
  1. package/dist/EquationComponent-DDd5UoIP.js +65 -0
  2. package/dist/EquationComponent-DDd5UoIP.js.map +1 -0
  3. package/dist/MermaidComponent-DGDnQ6pb.js +90 -0
  4. package/dist/MermaidComponent-DGDnQ6pb.js.map +1 -0
  5. package/dist/browser-storage-C_ipoNwP.js +37 -0
  6. package/dist/browser-storage-C_ipoNwP.js.map +1 -0
  7. package/dist/chat-ui.d.ts +688 -2
  8. package/dist/chat-ui.js +3271 -2848
  9. package/dist/chat-ui.js.map +1 -1
  10. package/dist/data-table-stats-row-DNJG8tLZ.js +415 -0
  11. package/dist/data-table-stats-row-DNJG8tLZ.js.map +1 -0
  12. package/dist/data-table.d.ts +143 -2
  13. package/dist/data-table.js +1216 -1188
  14. package/dist/data-table.js.map +1 -1
  15. package/dist/diff-bubble-DZsarmSG.js +61 -0
  16. package/dist/diff-bubble-DZsarmSG.js.map +1 -0
  17. package/dist/diff-drawer-45rpk3aq.js +776 -0
  18. package/dist/diff-drawer-45rpk3aq.js.map +1 -0
  19. package/dist/diff-editor-CGpeyoCE.js +124 -0
  20. package/dist/diff-editor-CGpeyoCE.js.map +1 -0
  21. package/dist/diff-size-Dydn_Uw5.js +61 -0
  22. package/dist/diff-size-Dydn_Uw5.js.map +1 -0
  23. package/dist/diff-viewer-hGkaF_zW.js +558 -0
  24. package/dist/diff-viewer-hGkaF_zW.js.map +1 -0
  25. package/dist/diff.d.ts +128 -2
  26. package/dist/diff.js +163 -1302
  27. package/dist/diff.js.map +1 -1
  28. package/dist/empty-state-3mVV_pV-.js +38 -0
  29. package/dist/empty-state-3mVV_pV-.js.map +1 -0
  30. package/dist/file-change-badge-0QFNv82B.js +64 -0
  31. package/dist/file-change-badge-0QFNv82B.js.map +1 -0
  32. package/dist/index-BfFLdci8.d.ts +189 -0
  33. package/dist/index-Dd6e8lU_.d.ts +61 -0
  34. package/dist/index-DlmvvQ6x.d.ts +143 -0
  35. package/dist/index.d.ts +1508 -40
  36. package/dist/index.js +3167 -2707
  37. package/dist/index.js.map +1 -1
  38. package/dist/kanban-renderer.d.ts +337 -2
  39. package/dist/kanban-renderer.js +1413 -1085
  40. package/dist/kanban-renderer.js.map +1 -1
  41. package/dist/list-row-De9R2zKU.js +1008 -0
  42. package/dist/list-row-De9R2zKU.js.map +1 -0
  43. package/dist/mermaid-renderer-DImi0fDp.js +553 -0
  44. package/dist/mermaid-renderer-DImi0fDp.js.map +1 -0
  45. package/dist/mermaid.d.ts +12 -2
  46. package/dist/mermaid.js +2 -5
  47. package/dist/monaco-browser-CLRPSE4-.js +14 -0
  48. package/dist/monaco-browser-CLRPSE4-.js.map +1 -0
  49. package/dist/param-editor-IJzw1cA2.js +225 -0
  50. package/dist/param-editor-IJzw1cA2.js.map +1 -0
  51. package/dist/param-editor-field-DscIjv8s.js +2368 -0
  52. package/dist/param-editor-field-DscIjv8s.js.map +1 -0
  53. package/dist/param-editor.d.ts +407 -2
  54. package/dist/param-editor.js +3 -47
  55. package/dist/prism-pSHJejZx.js +646 -0
  56. package/dist/prism-pSHJejZx.js.map +1 -0
  57. package/dist/radio-CiFrDN6O.js +54 -0
  58. package/dist/radio-CiFrDN6O.js.map +1 -0
  59. package/dist/resource-badge-95WPVlZf.d.ts +76 -0
  60. package/dist/rich-text-DtQpHBlX.js +7018 -0
  61. package/dist/rich-text-DtQpHBlX.js.map +1 -0
  62. package/dist/rich-text.d.ts +3 -2
  63. package/dist/rich-text.js +2 -429
  64. package/dist/rolldown-runtime-Dy4uBu1J.js +11 -0
  65. package/dist/scroll-area-Cr1lNXAr.js +100 -0
  66. package/dist/scroll-area-Cr1lNXAr.js.map +1 -0
  67. package/dist/slider-hwHYe98I.js +423 -0
  68. package/dist/slider-hwHYe98I.js.map +1 -0
  69. package/dist/style.css +2 -1
  70. package/dist/terminal.d.ts +203 -2
  71. package/dist/terminal.js +324 -360
  72. package/dist/terminal.js.map +1 -1
  73. package/dist/theme-kSkOHzbV.js +2852 -0
  74. package/dist/theme-kSkOHzbV.js.map +1 -0
  75. package/dist/theme-preference-pzfuK5cH.js +101 -0
  76. package/dist/theme-preference-pzfuK5cH.js.map +1 -0
  77. package/dist/theme.d.ts +3 -2
  78. package/dist/theme.js +2 -15
  79. package/dist/tree-list-BUfDQz3v.js +1449 -0
  80. package/dist/tree-list-BUfDQz3v.js.map +1 -0
  81. package/dist/types-yjKBk07w.d.ts +161 -0
  82. package/dist/workspace-badge-9g78pXHS.js +245 -0
  83. package/dist/workspace-badge-9g78pXHS.js.map +1 -0
  84. package/dist/workspace-badge-CkJ_jTQw.d.ts +75 -0
  85. package/dist-monaco/assets/codicon-ngg6Pgfi.ttf +0 -0
  86. package/dist-monaco/assets/css.worker-DFdt6_zu.js +89 -0
  87. package/dist-monaco/assets/editor.worker-O-CH8JUO.js +26 -0
  88. package/dist-monaco/assets/html.worker-JUzsMP-j.js +502 -0
  89. package/dist-monaco/assets/json.worker-B4dEhy0e.js +58 -0
  90. package/dist-monaco/assets/ts.worker-CmEKzkmF.js +67734 -0
  91. package/dist-monaco/monaco.css +1 -0
  92. package/dist-monaco/monaco.js +1201 -0
  93. package/package.json +26 -13
  94. package/dist/EquationComponent-DeDYHvqY.js +0 -62
  95. package/dist/EquationComponent-DeDYHvqY.js.map +0 -1
  96. package/dist/MermaidComponent-X__B6qib.js +0 -60
  97. package/dist/MermaidComponent-X__B6qib.js.map +0 -1
  98. package/dist/activity-timeline-BynMjXSB.js +0 -283
  99. package/dist/activity-timeline-BynMjXSB.js.map +0 -1
  100. package/dist/alert-ubcrW24X.js +0 -33
  101. package/dist/alert-ubcrW24X.js.map +0 -1
  102. package/dist/browser-storage-BinyFNJX.js +0 -40
  103. package/dist/browser-storage-BinyFNJX.js.map +0 -1
  104. package/dist/components/activity/activity-avatar.d.ts +0 -9
  105. package/dist/components/activity/activity-comment.d.ts +0 -27
  106. package/dist/components/activity/activity-composer.d.ts +0 -18
  107. package/dist/components/activity/activity-event.d.ts +0 -12
  108. package/dist/components/activity/activity-root.d.ts +0 -15
  109. package/dist/components/activity/activity-timeline.d.ts +0 -6
  110. package/dist/components/activity/activity.types.d.ts +0 -5
  111. package/dist/components/activity/index.d.ts +0 -25
  112. package/dist/components/chat-ui/components/ai-conversation.d.ts +0 -603
  113. package/dist/components/chat-ui/components/ai-message.d.ts +0 -91
  114. package/dist/components/chat-ui/components/ai-response.d.ts +0 -5
  115. package/dist/components/chat-ui/components/approval-prompt.d.ts +0 -8
  116. package/dist/components/chat-ui/components/attachment-list.d.ts +0 -23
  117. package/dist/components/chat-ui/components/auto-scroll.d.ts +0 -37
  118. package/dist/components/chat-ui/components/chat-history-story.d.ts +0 -14
  119. package/dist/components/chat-ui/components/chat-input-actions.d.ts +0 -13
  120. package/dist/components/chat-ui/components/chat-input-attachments.d.ts +0 -12
  121. package/dist/components/chat-ui/components/chat-input-history.d.ts +0 -6
  122. package/dist/components/chat-ui/components/chat-input-question-prompt.d.ts +0 -36
  123. package/dist/components/chat-ui/components/chat-input.d.ts +0 -33
  124. package/dist/components/chat-ui/components/chat-message-animation.d.ts +0 -22
  125. package/dist/components/chat-ui/components/chat-message-list-items.d.ts +0 -17
  126. package/dist/components/chat-ui/components/chat-message-list.d.ts +0 -12
  127. package/dist/components/chat-ui/components/chat-panel-composer.d.ts +0 -49
  128. package/dist/components/chat-ui/components/chat-panel-sticky-user-message.d.ts +0 -13
  129. package/dist/components/chat-ui/components/chat-panel.d.ts +0 -45
  130. package/dist/components/chat-ui/components/chat-skeleton.d.ts +0 -1
  131. package/dist/components/chat-ui/components/composer-constants.d.ts +0 -1
  132. package/dist/components/chat-ui/components/conversation-browse.d.ts +0 -22
  133. package/dist/components/chat-ui/components/message-action-panel.d.ts +0 -10
  134. package/dist/components/chat-ui/components/message-parts-renderer.d.ts +0 -13
  135. package/dist/components/chat-ui/components/message-types.d.ts +0 -116
  136. package/dist/components/chat-ui/components/model-swap-separator.d.ts +0 -5
  137. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +0 -4
  138. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +0 -11
  139. package/dist/components/chat-ui/components/send-button.d.ts +0 -7
  140. package/dist/components/chat-ui/components/timeline-title.d.ts +0 -6
  141. package/dist/components/chat-ui/components/timeline-tool-blocks.d.ts +0 -14
  142. package/dist/components/chat-ui/components/timeline.d.ts +0 -113
  143. package/dist/components/chat-ui/components/tool-invocation-timeline.d.ts +0 -8
  144. package/dist/components/chat-ui/components/use-chat-input-history.d.ts +0 -16
  145. package/dist/components/chat-ui/components/working-indicator.d.ts +0 -9
  146. package/dist/components/chat-ui/components/workspace-hub.d.ts +0 -19
  147. package/dist/components/chat-ui/index.d.ts +0 -19
  148. package/dist/components/chat-ui/mocks/library/index.d.ts +0 -10
  149. package/dist/components/chat-ui/performance/chat-mount-metrics.d.ts +0 -37
  150. package/dist/components/chat-ui/performance/chat-panel.perf.d.ts +0 -18
  151. package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +0 -28
  152. package/dist/components/chat-ui/performance/chat-performance-panel.d.ts +0 -23
  153. package/dist/components/chat-ui/performance/chat-performance-story-utils.d.ts +0 -30
  154. package/dist/components/chat-ui/tool-rendering/apply-patch-renderer.d.ts +0 -2
  155. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +0 -13
  156. package/dist/components/chat-ui/tool-rendering/default-renderers.d.ts +0 -13
  157. package/dist/components/chat-ui/tool-rendering/edit-renderer.d.ts +0 -2
  158. package/dist/components/chat-ui/tool-rendering/index.d.ts +0 -3
  159. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +0 -9
  160. package/dist/components/chat-ui/tool-rendering/question-renderer.d.ts +0 -10
  161. package/dist/components/chat-ui/tool-rendering/shared.d.ts +0 -53
  162. package/dist/components/chat-ui/tool-rendering/standard-renderers.d.ts +0 -7
  163. package/dist/components/chat-ui/tool-rendering/todowrite-renderer.d.ts +0 -10
  164. package/dist/components/chat-ui/tool-rendering/types.d.ts +0 -12
  165. package/dist/components/chat-ui/utils/diff.d.ts +0 -21
  166. package/dist/components/chat-ui/utils/editor-state.d.ts +0 -1
  167. package/dist/components/chat-ui/utils/get-icon.d.ts +0 -36
  168. package/dist/components/chat-ui/utils/tool-name.d.ts +0 -2
  169. package/dist/components/command-palette/index.d.ts +0 -4
  170. package/dist/components/command-palette/palette-filter.d.ts +0 -23
  171. package/dist/components/command-palette/palette-list.d.ts +0 -11
  172. package/dist/components/command-palette/palette-shortcut.d.ts +0 -12
  173. package/dist/components/command-palette/palette.d.ts +0 -48
  174. package/dist/components/data-table/build-columns.d.ts +0 -16
  175. package/dist/components/data-table/categorical-color-cell.d.ts +0 -8
  176. package/dist/components/data-table/color-cell-style.d.ts +0 -13
  177. package/dist/components/data-table/color-scale-cell.d.ts +0 -7
  178. package/dist/components/data-table/data-table-column-menu.d.ts +0 -17
  179. package/dist/components/data-table/data-table-header.d.ts +0 -12
  180. package/dist/components/data-table/data-table-row-display.d.ts +0 -11
  181. package/dist/components/data-table/data-table-skeleton.d.ts +0 -13
  182. package/dist/components/data-table/data-table-stat-chart.d.ts +0 -21
  183. package/dist/components/data-table/data-table-state.d.ts +0 -27
  184. package/dist/components/data-table/data-table-stats-row.d.ts +0 -11
  185. package/dist/components/data-table/data-table-stats.d.ts +0 -19
  186. package/dist/components/data-table/data-table-table-parts.d.ts +0 -22
  187. package/dist/components/data-table/data-table.d.ts +0 -2
  188. package/dist/components/data-table/data-table.story-descriptions.d.ts +0 -6
  189. package/dist/components/data-table/data-table.story-fixtures.d.ts +0 -6
  190. package/dist/components/data-table/edit-mode-data-table-body.d.ts +0 -30
  191. package/dist/components/data-table/edit-mode-data-table-cell.d.ts +0 -16
  192. package/dist/components/data-table/edit-mode-data-table-editors.d.ts +0 -19
  193. package/dist/components/data-table/edit-mode-data-table-header.d.ts +0 -24
  194. package/dist/components/data-table/edit-mode-data-table-selection.d.ts +0 -12
  195. package/dist/components/data-table/edit-mode-data-table.d.ts +0 -2
  196. package/dist/components/data-table/edit-mode-story.d.ts +0 -5
  197. package/dist/components/data-table/friendly-json-display.d.ts +0 -31
  198. package/dist/components/data-table/helpers.d.ts +0 -10
  199. package/dist/components/data-table/index.d.ts +0 -7
  200. package/dist/components/data-table/json-cell.d.ts +0 -6
  201. package/dist/components/data-table/pagination-footer.d.ts +0 -11
  202. package/dist/components/data-table/selection-toolbar.d.ts +0 -11
  203. package/dist/components/data-table/types.d.ts +0 -117
  204. package/dist/components/diff-viewer/build-changed-files-tree.d.ts +0 -4
  205. package/dist/components/diff-viewer/code-editor.d.ts +0 -45
  206. package/dist/components/diff-viewer/diff-bubble.d.ts +0 -14
  207. package/dist/components/diff-viewer/diff-card-body.d.ts +0 -60
  208. package/dist/components/diff-viewer/diff-card-content.d.ts +0 -23
  209. package/dist/components/diff-viewer/diff-card-load-state.d.ts +0 -9
  210. package/dist/components/diff-viewer/diff-card.d.ts +0 -46
  211. package/dist/components/diff-viewer/diff-drawer-empty-state.d.ts +0 -1
  212. package/dist/components/diff-viewer/diff-drawer-height.d.ts +0 -10
  213. package/dist/components/diff-viewer/diff-drawer-scroll.d.ts +0 -28
  214. package/dist/components/diff-viewer/diff-drawer.d.ts +0 -29
  215. package/dist/components/diff-viewer/diff-editor.d.ts +0 -20
  216. package/dist/components/diff-viewer/diff-size.d.ts +0 -16
  217. package/dist/components/diff-viewer/diff-view-adapter.d.ts +0 -27
  218. package/dist/components/diff-viewer/diff-viewer-options-menu.d.ts +0 -16
  219. package/dist/components/diff-viewer/diff-viewer.d.ts +0 -14
  220. package/dist/components/diff-viewer/diff-viewer.store.d.ts +0 -21
  221. package/dist/components/diff-viewer/file-change-badge.d.ts +0 -3
  222. package/dist/components/diff-viewer/file-list-panel.d.ts +0 -18
  223. package/dist/components/diff-viewer/index.d.ts +0 -9
  224. package/dist/components/diff-viewer/monaco-browser.d.ts +0 -1
  225. package/dist/components/diff-viewer/types.d.ts +0 -13
  226. package/dist/components/diff-viewer/use-selected-diff-scroll.d.ts +0 -23
  227. package/dist/components/file-browser/column-file-browser.d.ts +0 -20
  228. package/dist/components/internal/performance-panel.d.ts +0 -40
  229. package/dist/components/internal/style-guide.d.ts +0 -14
  230. package/dist/components/internal/token-editor-controls.d.ts +0 -8
  231. package/dist/components/internal/token-editor-data.d.ts +0 -40
  232. package/dist/components/internal/token-editor-state.d.ts +0 -22
  233. package/dist/components/kanban-renderer/collection-badge.d.ts +0 -7
  234. package/dist/components/kanban-renderer/display-menu.d.ts +0 -16
  235. package/dist/components/kanban-renderer/filter-menu.d.ts +0 -12
  236. package/dist/components/kanban-renderer/index.d.ts +0 -19
  237. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +0 -7
  238. package/dist/components/kanban-renderer/kanban-renderer-badge-helpers.d.ts +0 -46
  239. package/dist/components/kanban-renderer/kanban-renderer-board-column-header.d.ts +0 -8
  240. package/dist/components/kanban-renderer/kanban-renderer-board-group-section.d.ts +0 -17
  241. package/dist/components/kanban-renderer/kanban-renderer-board-move.d.ts +0 -21
  242. package/dist/components/kanban-renderer/kanban-renderer-board.d.ts +0 -49
  243. package/dist/components/kanban-renderer/kanban-renderer-card.d.ts +0 -17
  244. package/dist/components/kanban-renderer/kanban-renderer-content.d.ts +0 -27
  245. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +0 -12
  246. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +0 -10
  247. package/dist/components/kanban-renderer/kanban-renderer-enum-helpers.d.ts +0 -10
  248. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +0 -23
  249. package/dist/components/kanban-renderer/kanban-renderer-helpers.d.ts +0 -58
  250. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +0 -25
  251. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +0 -43
  252. package/dist/components/kanban-renderer/kanban-renderer-story-fixtures.d.ts +0 -14
  253. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +0 -15
  254. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +0 -14
  255. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +0 -12
  256. package/dist/components/kanban-renderer/kanban-renderer.d.ts +0 -43
  257. package/dist/components/kanban-renderer/types.d.ts +0 -159
  258. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +0 -78
  259. package/dist/components/kanban-renderer/use-resolved-attributes.d.ts +0 -14
  260. package/dist/components/layout/header.d.ts +0 -7
  261. package/dist/components/layout/horizontal-menu-stack.d.ts +0 -6
  262. package/dist/components/layout/index.d.ts +0 -8
  263. package/dist/components/layout/item-section.d.ts +0 -11
  264. package/dist/components/layout/panel-header.constants.d.ts +0 -3
  265. package/dist/components/layout/resizable-split-layout.d.ts +0 -22
  266. package/dist/components/layout/resizable-split-layout.geometry.d.ts +0 -56
  267. package/dist/components/layout/resizable-split-layout.handle.d.ts +0 -25
  268. package/dist/components/layout/resizable-split-layout.panels.d.ts +0 -29
  269. package/dist/components/layout/resizable-split-layout.root-size.d.ts +0 -3
  270. package/dist/components/list-row/list-row-actions.d.ts +0 -11
  271. package/dist/components/list-row/list-row-chrome.d.ts +0 -11
  272. package/dist/components/list-row/list-row-content.d.ts +0 -17
  273. package/dist/components/list-row/list-row-menu.d.ts +0 -12
  274. package/dist/components/list-row/list-row-root-props.d.ts +0 -34
  275. package/dist/components/list-row/list-row.d.ts +0 -2
  276. package/dist/components/list-row/list-row.types.d.ts +0 -109
  277. package/dist/components/list-row/searchable-action-menu.d.ts +0 -6
  278. package/dist/components/mermaid-renderer/download-png.d.ts +0 -7
  279. package/dist/components/mermaid-renderer/index.d.ts +0 -2
  280. package/dist/components/mermaid-renderer/mermaid-error-state.d.ts +0 -6
  281. package/dist/components/mermaid-renderer/mermaid-fixtures.d.ts +0 -9
  282. package/dist/components/mermaid-renderer/mermaid-fullscreen.d.ts +0 -10
  283. package/dist/components/mermaid-renderer/mermaid-renderer.d.ts +0 -8
  284. package/dist/components/mermaid-renderer/mermaid-svg-view.d.ts +0 -12
  285. package/dist/components/mermaid-renderer/mermaid-toolbar.d.ts +0 -12
  286. package/dist/components/mermaid-renderer/mermaid-zoom.d.ts +0 -6
  287. package/dist/components/mermaid-renderer/svg-data-url.d.ts +0 -6
  288. package/dist/components/mermaid-renderer/use-mermaid-render.d.ts +0 -5
  289. package/dist/components/notification-center/index.d.ts +0 -2
  290. package/dist/components/notification-center/notification-center.d.ts +0 -2
  291. package/dist/components/notification-center/notification-center.types.d.ts +0 -37
  292. package/dist/components/overlays/attached-menu.d.ts +0 -6
  293. package/dist/components/overlays/attached-panel.d.ts +0 -9
  294. package/dist/components/overlays/attachment-chip.d.ts +0 -13
  295. package/dist/components/overlays/bubble-button.d.ts +0 -10
  296. package/dist/components/overlays/bubble-panel.d.ts +0 -18
  297. package/dist/components/overlays/delete-confirmation-modal.d.ts +0 -13
  298. package/dist/components/overlays/dialog-accept-shortcut.d.ts +0 -12
  299. package/dist/components/overlays/index.d.ts +0 -17
  300. package/dist/components/overlays/repo-picker-dialog.d.ts +0 -25
  301. package/dist/components/overlays/resource-context-menu.d.ts +0 -35
  302. package/dist/components/overlays/search-modal-content.d.ts +0 -20
  303. package/dist/components/overlays/searchable-menu-input.d.ts +0 -9
  304. package/dist/components/overlays/searchable-menu.d.ts +0 -65
  305. package/dist/components/param-editor/index.d.ts +0 -31
  306. package/dist/components/param-editor/inputs/action-input.d.ts +0 -14
  307. package/dist/components/param-editor/inputs/anchor-grid-input.d.ts +0 -12
  308. package/dist/components/param-editor/inputs/anchor-grid.d.ts +0 -4
  309. package/dist/components/param-editor/inputs/boolean-input.d.ts +0 -13
  310. package/dist/components/param-editor/inputs/color-input.d.ts +0 -14
  311. package/dist/components/param-editor/inputs/date-input.d.ts +0 -16
  312. package/dist/components/param-editor/inputs/file-upload-input.d.ts +0 -15
  313. package/dist/components/param-editor/inputs/file-upload-value.d.ts +0 -7
  314. package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +0 -13
  315. package/dist/components/param-editor/inputs/markdown-input.d.ts +0 -13
  316. package/dist/components/param-editor/inputs/number-input.d.ts +0 -18
  317. package/dist/components/param-editor/inputs/numeric-value.d.ts +0 -6
  318. package/dist/components/param-editor/inputs/range-input.d.ts +0 -18
  319. package/dist/components/param-editor/inputs/range-value.d.ts +0 -5
  320. package/dist/components/param-editor/inputs/resource-input-chips.d.ts +0 -15
  321. package/dist/components/param-editor/inputs/resource-input.d.ts +0 -20
  322. package/dist/components/param-editor/inputs/segmented-input.d.ts +0 -15
  323. package/dist/components/param-editor/inputs/selection-input.d.ts +0 -27
  324. package/dist/components/param-editor/inputs/selection-menu.d.ts +0 -39
  325. package/dist/components/param-editor/inputs/slider-marks.d.ts +0 -5
  326. package/dist/components/param-editor/inputs/text-input.d.ts +0 -14
  327. package/dist/components/param-editor/inputs/vector-input.d.ts +0 -17
  328. package/dist/components/param-editor/inputs/vector-value.d.ts +0 -7
  329. package/dist/components/param-editor/param-editor-advanced-field.d.ts +0 -14
  330. package/dist/components/param-editor/param-editor-control-fixtures.d.ts +0 -24
  331. package/dist/components/param-editor/param-editor-control-item.d.ts +0 -15
  332. package/dist/components/param-editor/param-editor-control-list.d.ts +0 -5
  333. package/dist/components/param-editor/param-editor-field-label.d.ts +0 -1
  334. package/dist/components/param-editor/param-editor-field.d.ts +0 -13
  335. package/dist/components/param-editor/param-editor-horizontal.d.ts +0 -11
  336. package/dist/components/param-editor/param-editor-inline-group.d.ts +0 -5
  337. package/dist/components/param-editor/param-editor-label.d.ts +0 -7
  338. package/dist/components/param-editor/param-editor-presentation.d.ts +0 -3
  339. package/dist/components/param-editor/param-editor-read-only-field.d.ts +0 -9
  340. package/dist/components/param-editor/param-editor-read-only-value.d.ts +0 -8
  341. package/dist/components/param-editor/param-editor-row.d.ts +0 -17
  342. package/dist/components/param-editor/param-editor-section.d.ts +0 -17
  343. package/dist/components/param-editor/param-editor.d.ts +0 -12
  344. package/dist/components/param-editor/param-editor.types.d.ts +0 -31
  345. package/dist/components/param-editor/resolve-param-value.d.ts +0 -2
  346. package/dist/components/primitives/alert.d.ts +0 -9
  347. package/dist/components/primitives/breadcrumb.d.ts +0 -20
  348. package/dist/components/primitives/checkbox.d.ts +0 -8
  349. package/dist/components/primitives/chip.d.ts +0 -4
  350. package/dist/components/primitives/content-placeholder.d.ts +0 -6
  351. package/dist/components/primitives/empty-state.d.ts +0 -12
  352. package/dist/components/primitives/error-boundary.d.ts +0 -26
  353. package/dist/components/primitives/glyph-icon.d.ts +0 -16
  354. package/dist/components/primitives/icon-color-picker.d.ts +0 -15
  355. package/dist/components/primitives/icon-options.d.ts +0 -301
  356. package/dist/components/primitives/index.d.ts +0 -39
  357. package/dist/components/primitives/info-card.d.ts +0 -12
  358. package/dist/components/primitives/integration-card.d.ts +0 -12
  359. package/dist/components/primitives/number-input.d.ts +0 -6
  360. package/dist/components/primitives/radio.d.ts +0 -8
  361. package/dist/components/primitives/resource-badge.d.ts +0 -64
  362. package/dist/components/primitives/scroll-area.d.ts +0 -17
  363. package/dist/components/primitives/segmented-control.d.ts +0 -20
  364. package/dist/components/primitives/session-indicator.d.ts +0 -15
  365. package/dist/components/primitives/simple-card.d.ts +0 -5
  366. package/dist/components/primitives/slider.d.ts +0 -5
  367. package/dist/components/primitives/switch.d.ts +0 -15
  368. package/dist/components/primitives/tag-swatch.d.ts +0 -10
  369. package/dist/components/primitives/toaster.d.ts +0 -3
  370. package/dist/components/primitives/tooltip.d.ts +0 -11
  371. package/dist/components/primitives/workspace-badge.d.ts +0 -23
  372. package/dist/components/rich-text/collaborative-markdown-editor/awareness-cursors.d.ts +0 -5
  373. package/dist/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.d.ts +0 -9
  374. package/dist/components/rich-text/index.d.ts +0 -19
  375. package/dist/components/rich-text/lazy-markdown-editor.d.ts +0 -2
  376. package/dist/components/rich-text/markdown-editor/markdown-editor-scrolling.play.d.ts +0 -4
  377. package/dist/components/rich-text/markdown-editor/markdown-editor.d.ts +0 -17
  378. package/dist/components/rich-text/markdown-editor/markdown-table.story-fixture.d.ts +0 -3
  379. package/dist/components/rich-text/markdown-editor/plugins/MarkdownSectionNavigationPlugin.d.ts +0 -8
  380. package/dist/components/rich-text/markdown-editor/plugins/MarkdownSlashCommandPlugin.d.ts +0 -1
  381. package/dist/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkNode.d.ts +0 -21
  382. package/dist/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.d.ts +0 -2
  383. package/dist/components/rich-text/markdown-editor/plugins/ReferenceLinkPlugin/index.d.ts +0 -2
  384. package/dist/components/rich-text/markdown-editor/plugins/markdown-history-plugin.d.ts +0 -1
  385. package/dist/components/rich-text/markdown-editor/plugins/markdown-section-navigation.d.ts +0 -20
  386. package/dist/components/rich-text/prompt-input/commands.d.ts +0 -2
  387. package/dist/components/rich-text/prompt-input/events.d.ts +0 -2
  388. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/CommentPlugin.d.ts +0 -1
  389. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentCommands.d.ts +0 -3
  390. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/hooks/useCommentSchema.d.ts +0 -1
  391. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +0 -16
  392. package/dist/components/rich-text/prompt-input/plugins/ImperativeAPIPlugin.d.ts +0 -7
  393. package/dist/components/rich-text/prompt-input/plugins/KeyboardShortcutPlugin.d.ts +0 -6
  394. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuOption.d.ts +0 -12
  395. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +0 -11
  396. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenu.d.ts +0 -9
  397. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/components/ReferenceMenu/ReferenceMenuItem.d.ts +0 -12
  398. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/constants.d.ts +0 -2
  399. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +0 -14
  400. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/checkForTriggers.d.ts +0 -9
  401. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/utils/getSortedMenuOptions.d.ts +0 -2
  402. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +0 -7
  403. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +0 -25
  404. package/dist/components/rich-text/prompt-input/plugins/keyboard-shortcuts.d.ts +0 -11
  405. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +0 -27
  406. package/dist/components/rich-text/prompt-input/theme/prompt-input-theme.d.ts +0 -3
  407. package/dist/components/rich-text/prompt-input/utils.d.ts +0 -22
  408. package/dist/components/rich-text/resource-activity-feed/resource-activity-feed.d.ts +0 -58
  409. package/dist/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkNode.d.ts +0 -21
  410. package/dist/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/ReferenceLinkTransformer.d.ts +0 -2
  411. package/dist/components/rich-text/rich-message/plugins/ReferenceLinkPlugin/index.d.ts +0 -2
  412. package/dist/components/rich-text/rich-message/rich-message.d.ts +0 -10
  413. package/dist/components/rich-text/shared/components/content-editable.d.ts +0 -9
  414. package/dist/components/rich-text/shared/components/default-rich-text-components.d.ts +0 -3
  415. package/dist/components/rich-text/shared/editor-config.d.ts +0 -5
  416. package/dist/components/rich-text/shared/lexical-code.d.ts +0 -2
  417. package/dist/components/rich-text/shared/markdown-ast.d.ts +0 -7
  418. package/dist/components/rich-text/shared/markdown-codec.d.ts +0 -3
  419. package/dist/components/rich-text/shared/markdown-export.d.ts +0 -2
  420. package/dist/components/rich-text/shared/markdown-import.d.ts +0 -2
  421. package/dist/components/rich-text/shared/markdown-inline.d.ts +0 -5
  422. package/dist/components/rich-text/shared/markdown-source-document.d.ts +0 -7
  423. package/dist/components/rich-text/shared/markdown-source-links.d.ts +0 -11
  424. package/dist/components/rich-text/shared/markdown-source-map.d.ts +0 -10
  425. package/dist/components/rich-text/shared/markdown-table.d.ts +0 -41
  426. package/dist/components/rich-text/shared/markdown-url-context.d.ts +0 -9
  427. package/dist/components/rich-text/shared/markdown-url.d.ts +0 -3
  428. package/dist/components/rich-text/shared/nodes/DataTableNode.d.ts +0 -24
  429. package/dist/components/rich-text/shared/nodes/MarkdownImageNode.d.ts +0 -35
  430. package/dist/components/rich-text/shared/nodes/MarkdownLinkNode.d.ts +0 -18
  431. package/dist/components/rich-text/shared/nodes/RawHtmlNode.d.ts +0 -31
  432. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeBlockActionsPlugin.d.ts +0 -4
  433. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeBlockPlugin.d.ts +0 -3
  434. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeHighlightingPlugin.d.ts +0 -1
  435. package/dist/components/rich-text/shared/plugins/EquationPlugin/EquationComponent.d.ts +0 -6
  436. package/dist/components/rich-text/shared/plugins/EquationPlugin/EquationNode.d.ts +0 -26
  437. package/dist/components/rich-text/shared/plugins/EquationPlugin/EquationPlugin.d.ts +0 -4
  438. package/dist/components/rich-text/shared/plugins/EquationPlugin/KatexRenderer.d.ts +0 -4
  439. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatToolbarPlugin.d.ts +0 -4
  440. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/floating-toolbar-buttons.d.ts +0 -18
  441. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/index.d.ts +0 -1
  442. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/resolve-block-type.d.ts +0 -17
  443. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/should-show-floating-toolbar.d.ts +0 -12
  444. package/dist/components/rich-text/shared/plugins/HorizontalRulePlugin/HorizontalRuleNode.d.ts +0 -13
  445. package/dist/components/rich-text/shared/plugins/HorizontalRulePlugin/horizontalRule.d.ts +0 -2
  446. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/LinkEditorPlugin.d.ts +0 -4
  447. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/LinkPlugin.d.ts +0 -1
  448. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/commands.d.ts +0 -2
  449. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/index.d.ts +0 -3
  450. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/link-editor-content.d.ts +0 -18
  451. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/getSelectedNode.d.ts +0 -2
  452. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/link-edit-state.d.ts +0 -1
  453. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/selection-link-url.d.ts +0 -2
  454. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/setFloatingElemPos.d.ts +0 -1
  455. package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/url.d.ts +0 -2
  456. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.d.ts +0 -6
  457. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +0 -23
  458. package/dist/components/rich-text/shared/plugins/StateUpdatePlugin.d.ts +0 -6
  459. package/dist/components/rich-text/shared/plugins/ToggleEditablePlugin.d.ts +0 -3
  460. package/dist/components/rich-text/shared/plugins/TreeViewPlugin/TreeViewPlugin.d.ts +0 -1
  461. package/dist/components/rich-text/shared/prism-global.d.ts +0 -2
  462. package/dist/components/rich-text/shared/transformers/markdown-transformers-test-utils.d.ts +0 -3
  463. package/dist/components/rich-text/shared/transformers/markdown-transformers.d.ts +0 -16
  464. package/dist/components/rich-text/shared/types/rich-text-components.d.ts +0 -15
  465. package/dist/components/rich-text/theme/rich-text-theme.d.ts +0 -3
  466. package/dist/components/rich-text/types.d.ts +0 -8
  467. package/dist/components/rich-text/utils/inferResourceType.d.ts +0 -1
  468. package/dist/components/rich-text/utils/markdown.d.ts +0 -5
  469. package/dist/components/rich-text/utils/mediaType.d.ts +0 -1
  470. package/dist/components/sidenav/sidenav-footer.d.ts +0 -6
  471. package/dist/components/sidenav/sidenav-header.d.ts +0 -6
  472. package/dist/components/sidenav/sidenav.d.ts +0 -2
  473. package/dist/components/sidenav/sidenav.store.d.ts +0 -49
  474. package/dist/components/sidenav/sidenav.types.d.ts +0 -31
  475. package/dist/components/tab-strip/tab-visibility-filter.d.ts +0 -22
  476. package/dist/components/tab-strip/tab-visibility.store.d.ts +0 -41
  477. package/dist/components/tab-strip/window-tabs.d.ts +0 -15
  478. package/dist/components/tab-strip/window-title-bar.d.ts +0 -6
  479. package/dist/components/tag-editor/index.d.ts +0 -8
  480. package/dist/components/tag-editor/tag-editor-heading.d.ts +0 -11
  481. package/dist/components/tag-editor/tag-editor-row.d.ts +0 -20
  482. package/dist/components/tag-editor/tag-editor-save-bar.d.ts +0 -13
  483. package/dist/components/tag-editor/tag-editor.d.ts +0 -2
  484. package/dist/components/tag-editor/tag-editor.types.d.ts +0 -57
  485. package/dist/components/tag-editor/tag-settings-panel.d.ts +0 -30
  486. package/dist/components/terminal/bind-session.d.ts +0 -33
  487. package/dist/components/terminal/index.d.ts +0 -6
  488. package/dist/components/terminal/scripted-bridge.d.ts +0 -35
  489. package/dist/components/terminal/terminal-contract.d.ts +0 -22
  490. package/dist/components/terminal/terminal-theme.d.ts +0 -12
  491. package/dist/components/terminal/terminal.d.ts +0 -56
  492. package/dist/components/terminal/types.d.ts +0 -35
  493. package/dist/components/terminal/use-terminal-session.d.ts +0 -21
  494. package/dist/components/tree-list/tree-list-background.d.ts +0 -8
  495. package/dist/components/tree-list/tree-list-drag-provider.d.ts +0 -13
  496. package/dist/components/tree-list/tree-list-drag.d.ts +0 -7
  497. package/dist/components/tree-list/tree-list-inline-creation-story.d.ts +0 -3
  498. package/dist/components/tree-list/tree-list-inline-input.d.ts +0 -9
  499. package/dist/components/tree-list/tree-list-model.d.ts +0 -58
  500. package/dist/components/tree-list/tree-list-move-surface.d.ts +0 -7
  501. package/dist/components/tree-list/tree-list-node-row.d.ts +0 -21
  502. package/dist/components/tree-list/tree-list-order-filter.d.ts +0 -2
  503. package/dist/components/tree-list/tree-list-order.store.d.ts +0 -45
  504. package/dist/components/tree-list/tree-list-reorder.d.ts +0 -24
  505. package/dist/components/tree-list/tree-list-section-header.d.ts +0 -14
  506. package/dist/components/tree-list/tree-list-sortable.d.ts +0 -24
  507. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -24
  508. package/dist/components/tree-list/tree-list-visibility.store.d.ts +0 -45
  509. package/dist/components/tree-list/tree-list.d.ts +0 -41
  510. package/dist/components/tree-list/tree-list.types.d.ts +0 -63
  511. package/dist/components/tree-list/use-tree-list-keyboard-navigation.d.ts +0 -15
  512. package/dist/diff-bubble-DvUPRnfB.js +0 -183
  513. package/dist/diff-bubble-DvUPRnfB.js.map +0 -1
  514. package/dist/edit-mode-data-table-Nfmfi7bz.js +0 -847
  515. package/dist/edit-mode-data-table-Nfmfi7bz.js.map +0 -1
  516. package/dist/empty-state-Bo4HVrgr.js +0 -34
  517. package/dist/empty-state-Bo4HVrgr.js.map +0 -1
  518. package/dist/foundations/gallery/gallery-frame.d.ts +0 -21
  519. package/dist/foundations/gallery/sections/badges-section.d.ts +0 -1
  520. package/dist/foundations/gallery/sections/buttons-section.d.ts +0 -1
  521. package/dist/foundations/gallery/sections/composite-chat-section.d.ts +0 -1
  522. package/dist/foundations/gallery/sections/composites-section.d.ts +0 -1
  523. package/dist/foundations/gallery/sections/feedback-section.d.ts +0 -1
  524. package/dist/foundations/gallery/sections/input-authoring-card.d.ts +0 -1
  525. package/dist/foundations/gallery/sections/inputs-section.d.ts +0 -1
  526. package/dist/foundations/gallery/sections/layout-section.d.ts +0 -1
  527. package/dist/foundations/gallery/sections/navigation-identity-section.d.ts +0 -1
  528. package/dist/foundations/gallery/sections/overlays-section.d.ts +0 -1
  529. package/dist/foundations/gallery/sections/panels-section.d.ts +0 -1
  530. package/dist/foundations/gallery/sections/param-editor-composite-card.d.ts +0 -1
  531. package/dist/foundations/gallery/sections/settings-composite-cards.d.ts +0 -1
  532. package/dist/kanban-renderer-toolbar-Buek4icz.js +0 -1375
  533. package/dist/kanban-renderer-toolbar-Buek4icz.js.map +0 -1
  534. package/dist/lazy-markdown-editor-PzIBc9-l.js +0 -42
  535. package/dist/lazy-markdown-editor-PzIBc9-l.js.map +0 -1
  536. package/dist/list-row-DHzRa9-O.js +0 -815
  537. package/dist/list-row-DHzRa9-O.js.map +0 -1
  538. package/dist/markdown-BCfPxNpb.js +0 -1663
  539. package/dist/markdown-BCfPxNpb.js.map +0 -1
  540. package/dist/markdown-editor-CsJ4KNGu.js +0 -1034
  541. package/dist/markdown-editor-CsJ4KNGu.js.map +0 -1
  542. package/dist/mermaid-renderer-D0YP0FmJ.js +0 -425
  543. package/dist/mermaid-renderer-D0YP0FmJ.js.map +0 -1
  544. package/dist/mermaid.js.map +0 -1
  545. package/dist/monaco-browser-l82HnffN.js +0 -22
  546. package/dist/monaco-browser-l82HnffN.js.map +0 -1
  547. package/dist/param-editor-CFM2Nf3l.js +0 -161
  548. package/dist/param-editor-CFM2Nf3l.js.map +0 -1
  549. package/dist/param-editor-field-Bj-AGUY6.js +0 -1728
  550. package/dist/param-editor-field-Bj-AGUY6.js.map +0 -1
  551. package/dist/param-editor.js.map +0 -1
  552. package/dist/prism-n5gcERyD.js +0 -202
  553. package/dist/prism-n5gcERyD.js.map +0 -1
  554. package/dist/radio-BfjibByI.js +0 -51
  555. package/dist/radio-BfjibByI.js.map +0 -1
  556. package/dist/rich-message-q6Y6QJOq.js +0 -633
  557. package/dist/rich-message-q6Y6QJOq.js.map +0 -1
  558. package/dist/rich-text.js.map +0 -1
  559. package/dist/scroll-area-BMbg1WcD.js +0 -91
  560. package/dist/scroll-area-BMbg1WcD.js.map +0 -1
  561. package/dist/slider-DBHjdxsU.js +0 -1092
  562. package/dist/slider-DBHjdxsU.js.map +0 -1
  563. package/dist/test-utils/local-storage.d.ts +0 -1
  564. package/dist/theme/custom/index.d.ts +0 -2
  565. package/dist/theme/custom/vscode-theme.d.ts +0 -32
  566. package/dist/theme/global.d.ts +0 -62
  567. package/dist/theme/index.d.ts +0 -3
  568. package/dist/theme/primitives/colors.d.ts +0 -1081
  569. package/dist/theme/primitives/fonts.d.ts +0 -84
  570. package/dist/theme/primitives/sizes.d.ts +0 -207
  571. package/dist/theme/recipes/activity-comment.d.ts +0 -36
  572. package/dist/theme/recipes/alert.d.ts +0 -1
  573. package/dist/theme/recipes/badge.d.ts +0 -58
  574. package/dist/theme/recipes/button.d.ts +0 -188
  575. package/dist/theme/recipes/color-picker.d.ts +0 -18
  576. package/dist/theme/recipes/dialog.d.ts +0 -1
  577. package/dist/theme/recipes/divider.d.ts +0 -1
  578. package/dist/theme/recipes/drawer.d.ts +0 -1
  579. package/dist/theme/recipes/editable.d.ts +0 -46
  580. package/dist/theme/recipes/form.d.ts +0 -1
  581. package/dist/theme/recipes/input.d.ts +0 -94
  582. package/dist/theme/recipes/kbd.d.ts +0 -41
  583. package/dist/theme/recipes/menu.d.ts +0 -1
  584. package/dist/theme/recipes/number-input.d.ts +0 -98
  585. package/dist/theme/recipes/popover.d.ts +0 -16
  586. package/dist/theme/recipes/progress-circle.d.ts +0 -28
  587. package/dist/theme/recipes/resizable-split-layout.d.ts +0 -106
  588. package/dist/theme/recipes/segmented-control.d.ts +0 -22
  589. package/dist/theme/recipes/skeleton.d.ts +0 -1
  590. package/dist/theme/recipes/switch.d.ts +0 -18
  591. package/dist/theme/recipes/tabs.d.ts +0 -80
  592. package/dist/theme/recipes/textarea.d.ts +0 -62
  593. package/dist/theme/recipes/timeline.d.ts +0 -83
  594. package/dist/theme/recipes/tooltip.d.ts +0 -1
  595. package/dist/theme/recipes/window-title-bar.d.ts +0 -19
  596. package/dist/theme/shadowless-default-config.d.ts +0 -2
  597. package/dist/theme/theme.d.ts +0 -2
  598. package/dist/theme/tokens/borders.d.ts +0 -17
  599. package/dist/theme/tokens/colors-background.d.ts +0 -260
  600. package/dist/theme/tokens/colors-visualization.d.ts +0 -162
  601. package/dist/theme/tokens/colors.d.ts +0 -878
  602. package/dist/theme/tokens/layer-styles.d.ts +0 -1
  603. package/dist/theme/tokens/text.d.ts +0 -1
  604. package/dist/theme-AzJH4Om3.js +0 -3999
  605. package/dist/theme-AzJH4Om3.js.map +0 -1
  606. package/dist/theme-preference-DxGW1qg-.js +0 -114
  607. package/dist/theme-preference-DxGW1qg-.js.map +0 -1
  608. package/dist/theme.js.map +0 -1
  609. package/dist/tree-list-CPjbGTvs.js +0 -1348
  610. package/dist/tree-list-CPjbGTvs.js.map +0 -1
  611. package/dist/utils/apply-file-icon-theme-preference.d.ts +0 -35
  612. package/dist/utils/apply-theme-preference.d.ts +0 -22
  613. package/dist/utils/browser-storage.d.ts +0 -7
  614. package/dist/utils/file-icon-theme-preference.d.ts +0 -15
  615. package/dist/utils/get-file-type-icon.d.ts +0 -2
  616. package/dist/utils/prism.d.ts +0 -1
  617. package/dist/utils/resolve-file-icon-element.d.ts +0 -8
  618. package/dist/utils/theme-preference.d.ts +0 -20
  619. package/dist/workspace-badge-CuOcmnZc.js +0 -175
  620. package/dist/workspace-badge-CuOcmnZc.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-editor-field-Bj-AGUY6.js","sources":["../src/components/param-editor/param-editor-label.tsx","../src/components/param-editor/param-editor-control-item.tsx","../src/components/param-editor/param-editor-read-only-value.tsx","../src/components/param-editor/inputs/boolean-input.tsx","../src/components/param-editor/inputs/color-input.tsx","../src/components/param-editor/inputs/date-input.tsx","../src/components/param-editor/inputs/horizontal-text-input.tsx","../src/components/param-editor/inputs/markdown-input.tsx","../src/components/param-editor/inputs/number-input.tsx","../src/components/param-editor/inputs/resource-input-chips.tsx","../src/components/param-editor/inputs/selection-menu.tsx","../src/components/param-editor/inputs/resource-input.tsx","../src/components/param-editor/inputs/selection-input.tsx","../src/components/param-editor/inputs/text-input.tsx","../src/components/param-editor/inputs/action-input.tsx","../src/components/param-editor/inputs/anchor-grid.ts","../src/components/param-editor/inputs/anchor-grid-input.tsx","../src/components/param-editor/inputs/file-upload-value.ts","../src/components/param-editor/inputs/file-upload-input.tsx","../src/components/param-editor/inputs/numeric-value.ts","../src/components/param-editor/inputs/range-value.ts","../src/components/param-editor/inputs/slider-marks.tsx","../src/components/param-editor/inputs/range-input.tsx","../src/components/param-editor/inputs/segmented-input.tsx","../src/components/param-editor/param-editor-inline-group.tsx","../src/components/param-editor/inputs/vector-value.ts","../src/components/param-editor/inputs/vector-input.tsx","../src/components/param-editor/resolve-param-value.ts","../src/components/param-editor/param-editor-advanced-field.tsx","../src/components/param-editor/param-editor-presentation.ts","../src/components/param-editor/param-editor-read-only-field.tsx","../src/components/param-editor/param-editor-field.tsx"],"sourcesContent":["import { HStack, Icon, Text } from \"@chakra-ui/react\";\nimport { CircleHelp } from \"lucide-react\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\n\ninterface ParamEditorLabelProps {\n name: string;\n description?: string;\n compact?: boolean;\n}\n\nexport const ParamEditorLabel = (props: ParamEditorLabelProps) => {\n const { name, description, compact = false } = props;\n\n return (\n <HStack gap=\"1\" alignItems=\"center\" minW=\"0\">\n <Text\n textStyle={compact ? \"label/XS/medium\" : \"label/S/medium\"}\n color=\"fg.muted\"\n letterSpacing={compact ? \"0.08em\" : undefined}\n textTransform={compact ? \"uppercase\" : undefined}\n truncate\n >\n {name}\n </Text>\n {description ? (\n <Tooltip content={description}>\n <Icon as={CircleHelp} boxSize=\"12px\" color=\"fg.muted\" opacity={0.6} cursor=\"help\" flexShrink={0} />\n </Tooltip>\n ) : null}\n </HStack>\n );\n};\n","import { Box, Flex } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\nimport { ParamEditorFieldLabel } from \"./param-editor-field-label\";\n\ntype ControlItemOrientation = \"auto\" | \"inline\" | \"stacked\";\n\ninterface ParamEditorControlItemProps {\n name?: string;\n description?: string;\n hideLabel?: boolean;\n fullWidth?: boolean;\n /** `auto` renders inline when compact and stacked when full-width. */\n orientation?: ControlItemOrientation;\n /** Rendered on the label row, right-aligned (e.g. an editable value readout). */\n labelTrailing?: ReactNode;\n children: ReactNode;\n}\n\n// Shared row scaffold for control layouts: a labelled control that renders either\n// inline (label left / control right) or stacked (label above the control).\nexport const ParamEditorControlItem = (props: ParamEditorControlItemProps) => {\n const {\n name,\n description,\n hideLabel = false,\n fullWidth = false,\n orientation = \"auto\",\n labelTrailing,\n children,\n } = props;\n\n const label = hideLabel || !name ? null : <ParamEditorFieldLabel name={name} description={description} />;\n const resolved = orientation === \"auto\" ? (fullWidth ? \"stacked\" : \"inline\") : orientation;\n\n if (resolved === \"stacked\") {\n const header = label || labelTrailing;\n return (\n <Box minW=\"0\">\n {header ? (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" gap=\"xs\" mb=\"xs\" minW=\"0\">\n {label}\n {labelTrailing}\n </Flex>\n ) : null}\n {children}\n </Box>\n );\n }\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\" minW=\"0\">\n {label}\n <Flex alignItems=\"center\" gap=\"xs\" minW=\"0\">\n {labelTrailing}\n {children}\n </Flex>\n </Flex>\n );\n};\n","import { Box, type BoxProps } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\ninterface ParamEditorReadOnlyValueProps extends Omit<BoxProps, \"children\"> {\n children: ReactNode;\n preserveWhitespace?: boolean;\n}\n\nexport const ParamEditorReadOnlyValue = (props: ParamEditorReadOnlyValueProps) => {\n const { children, preserveWhitespace = false, ...boxProps } = props;\n\n return (\n <Box minW=\"0\" textStyle=\"label/S/regular\" whiteSpace={preserveWhitespace ? \"pre-wrap\" : undefined} {...boxProps}>\n {children}\n </Box>\n );\n};\n","import { useEffect, useState } from \"react\";\nimport { Switch } from \"@/components/primitives/switch\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface BooleanInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: boolean;\n onChange: (id: string, value: boolean) => void;\n readOnly?: boolean;\n hideLabel?: boolean;\n fullWidth?: boolean;\n size?: \"xs\" | \"sm\";\n}\n\nexport const BooleanInput = (props: BooleanInputProps) => {\n const { id, name, description, defaultValue, onChange, readOnly, hideLabel, fullWidth, size = \"sm\" } = props;\n const [value, setValue] = useState(defaultValue);\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n if (readOnly) {\n return (\n <ParamEditorControlItem\n name={name}\n description={description}\n hideLabel={hideLabel}\n fullWidth={fullWidth}\n orientation=\"inline\"\n >\n <ParamEditorReadOnlyValue>{String(value)}</ParamEditorReadOnlyValue>\n </ParamEditorControlItem>\n );\n }\n\n return (\n <ParamEditorControlItem\n name={name}\n description={description}\n hideLabel={hideLabel}\n fullWidth={fullWidth}\n orientation=\"inline\"\n >\n <Switch\n size={size}\n checked={value}\n inputProps={{ \"aria-label\": name }}\n onCheckedChange={(details) => {\n setValue(details.checked);\n onChange(id, details.checked);\n }}\n />\n </ParamEditorControlItem>\n );\n};\n","import { Box, ColorPicker, type ColorPickerValueChangeDetails, Flex, parseColor } from \"@chakra-ui/react\";\nimport { type FocusEvent as ReactFocusEvent, useEffect, useRef, useState } from \"react\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface ColorInputProps {\n id: string;\n defaultValue: string;\n name: string;\n onChange: (id: string, value: string) => void;\n description: string;\n readOnly?: boolean;\n hideLabel?: boolean;\n tooltipPlacement?: \"top\" | \"right\" | \"bottom\" | \"left\";\n fullWidth?: boolean;\n size?: \"xs\" | \"sm\";\n}\n\nexport const ColorInput = (props: ColorInputProps) => {\n const {\n id,\n defaultValue,\n name,\n onChange,\n description,\n readOnly,\n hideLabel = false,\n fullWidth = false,\n size = \"sm\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n const [open, setOpen] = useState(false);\n const rootRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const scheduleChange = (nextColor: string) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onChange(id, nextColor), 540);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n useEffect(() => {\n if (!open) return;\n\n const isInsidePicker = (target: EventTarget | null) => {\n const node = target as Node;\n return rootRef.current?.contains(node) || contentRef.current?.contains(node);\n };\n\n const handleOutsideInteraction = (event: FocusEvent | PointerEvent) => {\n if (isInsidePicker(event.target)) return;\n\n setOpen(false);\n };\n\n document.addEventListener(\"focusin\", handleOutsideInteraction, true);\n document.addEventListener(\"pointerdown\", handleOutsideInteraction, true);\n document.addEventListener(\"click\", handleOutsideInteraction, true);\n\n return () => {\n document.removeEventListener(\"focusin\", handleOutsideInteraction, true);\n document.removeEventListener(\"pointerdown\", handleOutsideInteraction, true);\n document.removeEventListener(\"click\", handleOutsideInteraction, true);\n };\n }, [open]);\n\n const handleChange = (newColor: string) => {\n setValue(newColor);\n scheduleChange(newColor);\n };\n\n const handleBlur = (event: ReactFocusEvent<HTMLDivElement>) => {\n const root = event.currentTarget;\n\n setTimeout(() => {\n if (!root.contains(root.ownerDocument.activeElement)) setOpen(false);\n });\n };\n\n if (readOnly) {\n const valueElement = (\n <ParamEditorReadOnlyValue>\n <Flex alignItems=\"center\" gap=\"xs\">\n <Box boxSize=\"0.75rem\" borderRadius=\"xs\" bg={value} />\n <Box as=\"span\">{value}</Box>\n </Flex>\n </ParamEditorReadOnlyValue>\n );\n\n if (fullWidth) {\n return (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n {valueElement}\n </Box>\n );\n }\n\n return (\n <Box>\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n {valueElement}\n </Flex>\n </Box>\n );\n }\n\n const rootProps = {\n value: parseColor(value),\n open,\n onOpenChange: (details: { open: boolean }) => setOpen(details.open),\n onFocusOutside: () => setOpen(false),\n onInteractOutside: () => setOpen(false),\n onBlur: handleBlur,\n onValueChange: (details: ColorPickerValueChangeDetails) => handleChange(details.value.toString(\"hex\")),\n disabled: readOnly,\n };\n\n const picker = (\n <ColorPicker.Root ref={rootRef} {...rootProps} size={size} width={fullWidth ? \"100%\" : \"8.75rem\"} maxW=\"100%\">\n <ColorPicker.HiddenInput />\n <ColorPicker.Label srOnly>{name}</ColorPicker.Label>\n <ColorPicker.Control>\n <ColorPicker.Input readOnly={readOnly} onFocus={() => setOpen(false)} />\n <ColorPicker.Trigger />\n </ColorPicker.Control>\n <ColorPicker.Positioner>\n <ColorPicker.Content ref={contentRef} onBlur={handleBlur}>\n <ColorPicker.Area />\n <ColorPicker.Sliders />\n <ColorPicker.SwatchGroup>\n <ColorPicker.SwatchTrigger value={value}>\n <ColorPicker.Swatch value={value} />\n </ColorPicker.SwatchTrigger>\n </ColorPicker.SwatchGroup>\n </ColorPicker.Content>\n </ColorPicker.Positioner>\n </ColorPicker.Root>\n );\n\n return (\n <Box>\n {fullWidth ? (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n {picker}\n </Box>\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n {picker}\n </Flex>\n )}\n </Box>\n );\n};\n","import { Box, Flex, Input } from \"@chakra-ui/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface DateInputProps {\n id: string;\n defaultValue: string;\n name: string;\n min?: string;\n max?: string;\n onChange: (id: string, value: string) => void;\n description: string;\n readOnly?: boolean;\n hideLabel?: boolean;\n tooltipPlacement?: \"top\" | \"right\" | \"bottom\" | \"left\";\n fullWidth?: boolean;\n size?: \"xs\" | \"sm\";\n}\n\nexport const DateInput = (props: DateInputProps) => {\n const {\n id,\n defaultValue,\n name,\n min,\n max,\n onChange,\n description,\n readOnly,\n hideLabel = false,\n fullWidth = false,\n size = \"sm\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const scheduleChange = (nextValue: string) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onChange(id, nextValue), 540);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const handleChange = (newValue: string) => {\n setValue(newValue);\n scheduleChange(newValue);\n };\n\n if (readOnly) {\n const valueElement = <ParamEditorReadOnlyValue>{value}</ParamEditorReadOnlyValue>;\n\n if (fullWidth) {\n return (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n {valueElement}\n </Box>\n );\n }\n\n return (\n <Box>\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n {valueElement}\n </Flex>\n </Box>\n );\n }\n\n return (\n <Box>\n {fullWidth ? (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n <Input\n className=\"nodrag\"\n readOnly={readOnly}\n width=\"100%\"\n size={size}\n type=\"date\"\n placeholder={hideLabel ? name : undefined}\n value={value}\n min={min}\n max={max}\n onChange={(e) => handleChange(e.target.value)}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n </Box>\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n <Input\n className=\"nodrag\"\n readOnly={readOnly}\n width=\"8.75rem\"\n size={size}\n type=\"date\"\n placeholder={hideLabel ? name : undefined}\n value={value}\n min={min}\n max={max}\n onChange={(e) => handleChange(e.target.value)}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n </Flex>\n )}\n </Box>\n );\n};\n","import { Box, Flex, Input, Textarea } from \"@chakra-ui/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface HorizontalTextInputProps {\n id: string;\n defaultValue: string;\n name: string;\n onChange: (id: string, value: string) => void;\n description: string;\n readOnly?: boolean;\n hideLabel?: boolean;\n tooltipPlacement?: \"top\" | \"right\" | \"bottom\" | \"left\";\n size?: \"xs\" | \"sm\";\n}\n\nexport const HorizontalTextInput = (props: HorizontalTextInputProps) => {\n const { id, defaultValue, name, onChange, description, readOnly, hideLabel = false, size = \"sm\" } = props;\n const [value, setValue] = useState(defaultValue);\n const [isExpanded, setIsExpanded] = useState(false);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const scheduleChange = (nextValue: string) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onChange(id, nextValue), 540);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const handleChange = (newValue: string) => {\n setValue(newValue);\n scheduleChange(newValue);\n };\n\n const handleClick = () => {\n if (!readOnly) {\n setIsExpanded(true);\n }\n };\n\n const handleBlur = () => {\n // Only collapse if the value is empty\n if (value.trim().length === 0) {\n setIsExpanded(false);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n // Allow users to collapse with Escape key\n if (e.key === \"Escape\") {\n setIsExpanded(false);\n e.preventDefault();\n }\n };\n\n if (readOnly) {\n return (\n <Box position=\"relative\" flex=\"1\" minW=\"12.5rem\">\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n <ParamEditorReadOnlyValue preserveWhitespace>{value}</ParamEditorReadOnlyValue>\n </Flex>\n </Box>\n );\n }\n\n return (\n <Box position=\"relative\" flex=\"1\" minW=\"12.5rem\">\n <Box position=\"relative\" minHeight=\"2rem\">\n {!isExpanded ? (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" height=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n <Input\n aria-label={name}\n className=\"nodrag\"\n readOnly={readOnly}\n flex=\"1\"\n maxW=\"12.5rem\"\n size={size}\n type=\"text\"\n placeholder={hideLabel ? name : undefined}\n value={value}\n onClick={handleClick}\n onChange={(e) => handleChange(e.target.value)}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n </Flex>\n ) : (\n <Box\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n zIndex=\"10\"\n bg=\"bg\"\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor=\"border\"\n borderRadius=\"lg\"\n p=\"2\"\n transition=\"border-color 0.2s ease-in-out\"\n boxShadow=\"none\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _active={{ borderColor: \"border.accent-light\" }}\n _focusWithin={{ borderColor: \"border.accent-light\", boxShadow: \"none\" }}\n >\n {!hideLabel && (\n <Box mb=\"sm\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n <Textarea\n aria-label={name}\n className=\"nodrag\"\n readOnly={readOnly}\n width=\"100%\"\n size={size}\n placeholder={hideLabel ? name : undefined}\n value={value}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n rows={3}\n resize=\"vertical\"\n autoFocus\n />\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n","import { Box, Flex, Input, Stack } from \"@chakra-ui/react\";\nimport { useEffect, useState } from \"react\";\nimport { LazyMarkdownEditor } from \"@/components/rich-text\";\nimport { ParamEditorFieldLabel } from \"../param-editor-field-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface MarkdownInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: string;\n placeholder?: string;\n onChange: (id: string, value: string) => void;\n readOnly?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n size?: \"xs\" | \"sm\";\n}\n\nexport const MarkdownInput = (props: MarkdownInputProps) => {\n const {\n id,\n name,\n description,\n defaultValue,\n placeholder,\n onChange,\n readOnly,\n presentation = \"stacked\",\n size = \"sm\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n const [isExpanded, setIsExpanded] = useState(false);\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const commit = (next: string) => {\n setValue(next);\n onChange(id, next);\n };\n\n const editor = (editorValue: string) => (\n <Box borderWidth=\"1px\" borderColor=\"border\" borderRadius=\"xs\" minH=\"7rem\" minW=\"0\" overflow=\"visible\" width=\"full\">\n <LazyMarkdownEditor\n defaultState={editorValue}\n isEditable={!readOnly}\n placeholder={placeholder}\n scrollable={false}\n onChange={commit}\n />\n </Box>\n );\n const label = <ParamEditorFieldLabel name={name} description={description} />;\n\n if (presentation === \"horizontal\") {\n if (readOnly) {\n return (\n <Box position=\"relative\" flex=\"1\" minW=\"12.5rem\">\n <Flex alignItems=\"center\" minHeight=\"2rem\">\n <ParamEditorReadOnlyValue preserveWhitespace>{value}</ParamEditorReadOnlyValue>\n </Flex>\n </Box>\n );\n }\n\n return (\n <Box position=\"relative\" flex=\"1\" minW=\"12.5rem\">\n <Box position=\"relative\" minHeight=\"2rem\">\n {!isExpanded ? (\n <Input\n className=\"nodrag\"\n flex=\"1\"\n maxW=\"12.5rem\"\n size={size}\n type=\"text\"\n placeholder={name}\n value={value}\n onClick={() => {\n setIsExpanded(true);\n }}\n onChange={(event) => commit(event.target.value)}\n />\n ) : (\n <Box\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n zIndex=\"10\"\n bg=\"bg\"\n borderWidth=\"1px\"\n borderColor=\"border\"\n borderRadius=\"lg\"\n p=\"2\"\n transition=\"border-color 0.2s ease-in-out\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _focusWithin={{ borderColor: \"border.accent-light\" }}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n setIsExpanded(false);\n event.preventDefault();\n }\n }}\n >\n {editor(value)}\n </Box>\n )}\n </Box>\n </Box>\n );\n }\n\n return (\n <Stack gap=\"xs\" minW=\"0\" width=\"full\">\n {label}\n {editor(value)}\n </Stack>\n );\n};\n","import { Box, Flex, type NumberInputValueChangeDetails, type SliderValueChangeDetails } from \"@chakra-ui/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { NumberInputField, NumberInputRoot } from \"@/components/primitives/number-input\";\nimport { Slider } from \"@/components/primitives/slider\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface NumberInputProps {\n id: string;\n defaultValue: number;\n name: string;\n step?: number;\n min?: number;\n max?: number;\n onChange: (id: string, value: number) => void;\n description: string;\n readOnly?: boolean;\n hideLabel?: boolean;\n hideSlider?: boolean;\n tooltipPlacement?: \"top\" | \"right\" | \"bottom\" | \"left\";\n fullWidth?: boolean;\n size?: \"xs\" | \"sm\";\n}\n\nexport const NumberInput = (props: NumberInputProps) => {\n const {\n id,\n defaultValue,\n name,\n step = 1,\n min,\n max,\n onChange,\n description,\n readOnly,\n hideLabel = false,\n hideSlider = false,\n fullWidth = false,\n size = \"sm\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n const isRange = min !== undefined && max !== undefined;\n const showSlider = isRange && !hideSlider;\n const useFullWidthLayout = fullWidth && !showSlider;\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const scheduleChange = (nextValue: number) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onChange(id, nextValue), 540);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n if (readOnly) {\n const valueElement = <ParamEditorReadOnlyValue>{value}</ParamEditorReadOnlyValue>;\n\n if (fullWidth) {\n return (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n {valueElement}\n </Box>\n );\n }\n\n return (\n <Box>\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n {valueElement}\n </Flex>\n </Box>\n );\n }\n\n return (\n <Box>\n {useFullWidthLayout ? (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n <NumberInputRoot\n disabled={readOnly}\n width=\"100%\"\n size={size}\n value={`${value}`}\n step={step}\n min={min}\n max={max}\n onValueChange={(details: NumberInputValueChangeDetails) => {\n const next = Number.isNaN(details.valueAsNumber) ? (min ?? 0) : details.valueAsNumber;\n setValue(next);\n scheduleChange(next);\n }}\n >\n <NumberInputField\n className=\"nodrag\"\n readOnly={readOnly}\n placeholder={hideLabel ? name : undefined}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n </NumberInputRoot>\n </Box>\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n <NumberInputRoot\n disabled={readOnly}\n width=\"5rem\"\n size={size}\n value={`${value}`}\n step={step}\n min={min}\n max={max}\n onValueChange={(details: NumberInputValueChangeDetails) => {\n const next = Number.isNaN(details.valueAsNumber) ? (min ?? 0) : details.valueAsNumber;\n setValue(next);\n scheduleChange(next);\n }}\n >\n <NumberInputField\n className=\"nodrag\"\n readOnly={readOnly}\n placeholder={hideLabel ? name : undefined}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n </NumberInputRoot>\n </Flex>\n )}\n {showSlider && (\n <Slider\n disabled={readOnly}\n value={[value]}\n step={step}\n min={min}\n max={max}\n onValueChange={(details: SliderValueChangeDetails) => {\n setValue(details.value[0]);\n }}\n onValueChangeEnd={(details: SliderValueChangeDetails) => {\n onChange(id, details.value[0]);\n }}\n />\n )}\n </Box>\n );\n};\n","import { Icon, Text, Wrap } from \"@chakra-ui/react\";\nimport { Chip } from \"../../primitives/chip\";\nimport { getIconComponent } from \"../../primitives/icon-options\";\nimport { ResourceBadge } from \"../../primitives/resource-badge\";\nimport type { ResourceOption, ResourceRefValue } from \"../param-editor.types\";\n\nconst optionIcon = (option: ResourceOption) => (\n <Icon as={getIconComponent(option.icon)} boxSize=\"14px\" color={option.color ? `${option.color}.500` : \"fg.muted\"} />\n);\n\nconst openExternal = (href: string) => window.open(href, \"_blank\", \"noreferrer\");\n\nconst copyToClipboard = (text: string) => void navigator.clipboard?.writeText(text).catch(() => undefined);\n\ninterface ResourceChipProps {\n option: ResourceOption;\n onOpenResource?: (ref: ResourceRefValue) => void;\n onRemove?: () => void;\n}\n\n// A chip opens its external href in a new tab, opens its internal ref via the host, or\n// copies its text to the clipboard — whichever the option declares.\nexport const ResourceChip = (props: ResourceChipProps) => {\n const { option, onOpenResource, onRemove } = props;\n const isReference = Boolean(option.href || option.ref || option.copyText);\n\n if (!isReference) {\n return <Chip>{option.name}</Chip>;\n }\n\n const handleSelect =\n option.href && option.href.length > 0\n ? () => openExternal(option.href!)\n : option.ref && onOpenResource\n ? () => onOpenResource(option.ref!)\n : option.copyText\n ? () => copyToClipboard(option.copyText!)\n : undefined;\n\n return (\n <ResourceBadge\n fileName={option.name}\n icon={optionIcon(option)}\n size=\"md\"\n onSelect={handleSelect ? () => handleSelect() : undefined}\n onRemove={onRemove ? () => onRemove() : undefined}\n />\n );\n};\n\ninterface ResourceChipListProps {\n options: ResourceOption[];\n onOpenResource?: (ref: ResourceRefValue) => void;\n onRemove?: (optionId: string) => void;\n emptyText?: string;\n}\n\nexport const ResourceChipList = (props: ResourceChipListProps) => {\n const { options, onOpenResource, onRemove, emptyText } = props;\n\n if (options.length === 0) {\n return (\n <Text textStyle=\"label/S/regular\" color=\"fg.muted\">\n {emptyText ?? \"None\"}\n </Text>\n );\n }\n\n return (\n <Wrap gap=\"2xs\">\n {options.map((option) => (\n <ResourceChip\n key={option.id}\n option={option}\n onOpenResource={onOpenResource}\n onRemove={onRemove ? () => onRemove(option.id) : undefined}\n />\n ))}\n </Wrap>\n );\n};\n","import { Button, Flex, Icon, IconButton, Menu, Portal } from \"@chakra-ui/react\";\nimport { Check, ChevronDown, Square, SquareCheck } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { ListRow } from \"../../list-row/list-row\";\nimport { SearchableMenu, type SearchableMenuItem } from \"../../overlays/searchable-menu\";\nimport { getIconComponent } from \"../../primitives\";\nimport type { SelectionGroup } from \"../param-editor.types\";\n\nexport interface SelectionMenuOption {\n id: string;\n name: string;\n icon?: string;\n /** Palette key (e.g. \"blue\") applied to the option's icon. */\n color?: string;\n description?: string;\n disabled?: boolean;\n}\n\nexport interface SelectionMenuProps {\n triggerLabel: ReactNode;\n options: SelectionMenuOption[];\n selectedIds: string[];\n multiSelect: boolean;\n disabled?: boolean;\n searchable?: boolean;\n searchPlaceholder?: string;\n emptyText?: string;\n group?: SelectionGroup;\n fullWidth?: boolean;\n triggerVariant?: \"button\" | \"icon\";\n triggerAriaLabel?: string;\n size?: \"xs\" | \"sm\";\n onToggle: (optionId: string) => void;\n onGroupChange?: (optionId: string) => void;\n}\n\nexport const selectionIndicator = (multiSelect: boolean, selected: boolean) => {\n if (multiSelect)\n return <Icon as={selected ? SquareCheck : Square} boxSize=\"14px\" color={selected ? \"fg\" : \"fg.muted\"} />;\n return selected ? <Icon as={Check} boxSize=\"14px\" color=\"fg\" /> : null;\n};\n\nexport const selectionOptionIcon = (option: SelectionMenuOption | undefined, boxSize: string) => {\n if (!option) return null;\n return (\n <Icon\n as={getIconComponent(option.icon ?? null)}\n boxSize={boxSize}\n color={option.color ? `${option.color}.500` : \"fg.muted\"}\n />\n );\n};\n\n/**\n * The single dropdown behind every option picker in the editor — selection\n * params and editable resource params alike. Sharing it is what keeps a\n * resource attribute and a command param from drifting into two looks.\n *\n * Single-selects clear by re-picking the selected option; a dedicated \"none\"\n * row would read as just another value to choose.\n */\nexport const SelectionMenu = (props: SelectionMenuProps) => {\n const {\n triggerLabel,\n options,\n selectedIds,\n multiSelect,\n disabled,\n searchable = false,\n searchPlaceholder = \"Search options…\",\n emptyText = \"No options found\",\n group,\n fullWidth,\n triggerVariant = \"button\",\n triggerAriaLabel,\n size = \"sm\",\n onToggle,\n onGroupChange,\n } = props;\n const trigger =\n triggerVariant === \"icon\" ? (\n <IconButton aria-label={triggerAriaLabel ?? \"Open options\"} size=\"2xs\" variant=\"ghost\" disabled={disabled}>\n {triggerLabel}\n </IconButton>\n ) : (\n <Button\n size={size}\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor=\"border\"\n disabled={disabled}\n textStyle={size === \"xs\" ? \"label/XS\" : \"label/S/regular\"}\n width={fullWidth ? \"100%\" : undefined}\n _hover={{ bg: \"bg.hover\", borderColor: \"border.accent-light\" }}\n _active={{ bg: \"bg.active\", borderColor: \"border.accent-light\" }}\n _expanded={{ bg: \"bg.active\", borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n >\n <Flex alignItems=\"center\" justifyContent=\"space-between\" gap=\"xs\" w={fullWidth ? \"full\" : undefined}>\n <Flex alignItems=\"center\" gap=\"xs\">\n {triggerLabel}\n </Flex>\n <ChevronDown size={14} />\n </Flex>\n </Button>\n );\n\n if (searchable || group) {\n const items: SearchableMenuItem[] = options.map((option) => ({\n id: option.id,\n label: option.name,\n searchText: [option.id, option.description].filter(Boolean).join(\" \"),\n secondaryLabel: option.description,\n icon: getIconComponent(option.icon),\n isDisabled: option.disabled,\n isSelected: selectedIds.includes(option.id),\n onSelect: () => onToggle(option.id),\n }));\n const selectedGroup = group?.options.find((option) => option.id === group.defaultValue);\n\n return (\n <SearchableMenu\n trigger={trigger}\n items={items}\n listId={group?.defaultValue}\n showSearch={searchable}\n searchPlaceholder={searchPlaceholder}\n closeOnSelect={!multiSelect}\n emptyState={\n <Menu.Item value=\"empty\" disabled asChild>\n <ListRow asChild variant=\"full-width\" id=\"empty\" label={emptyText} disabled />\n </Menu.Item>\n }\n parentList={\n group\n ? {\n items: group.options.map((option) => ({\n id: option.id,\n label: option.name,\n searchText: [option.id, option.description].filter(Boolean).join(\" \"),\n secondaryLabel: option.description,\n icon: getIconComponent(option.icon),\n isDisabled: option.disabled,\n isSelected: option.id === group.defaultValue,\n })),\n selectedLabel: selectedGroup?.name ?? group.placeholder ?? `Select ${group.name.toLowerCase()}`,\n selectedIcon: selectedGroup ? getIconComponent(selectedGroup.icon) : undefined,\n ariaLabel: group.name,\n disabled: group.disabled || group.options.length <= 1,\n showSearch: group.searchable,\n searchPlaceholder: group.searchPlaceholder ?? `Search ${group.name.toLowerCase()}…`,\n emptyState: (\n <Menu.Item value=\"group-empty\" disabled asChild>\n <ListRow\n asChild\n variant=\"full-width\"\n id=\"group-empty\"\n label={group.emptyText ?? `No ${group.name.toLowerCase()} found`}\n disabled\n />\n </Menu.Item>\n ),\n onSelect: (item) => onGroupChange?.(item.id),\n }\n : undefined\n }\n />\n );\n }\n\n return (\n <Menu.Root closeOnSelect={!multiSelect}>\n <Menu.Trigger asChild>{trigger}</Menu.Trigger>\n {/* Portaled like every other menu: rendered inline it is clipped by the\n panel's overflow and can extend past the viewport. */}\n <Portal>\n <Menu.Positioner>\n <Menu.Content>\n {options.map((option) => {\n const selected = selectedIds.includes(option.id);\n return (\n <Menu.Item key={option.id} value={option.id} disabled={option.disabled} asChild>\n <ListRow\n asChild\n variant=\"full-width\"\n role={multiSelect ? \"menuitemcheckbox\" : \"menuitemradio\"}\n aria-checked={selected}\n id={option.id}\n label={option.name}\n icon={selectionOptionIcon(option, \"16px\")}\n tooltip={option.description}\n disabled={option.disabled}\n isSelected={selected}\n endContent={selectionIndicator(multiSelect, selected)}\n onActivate={() => onToggle(option.id)}\n />\n </Menu.Item>\n );\n })}\n </Menu.Content>\n </Menu.Positioner>\n </Portal>\n </Menu.Root>\n );\n};\n","import { Box, Flex, Icon, Stack } from \"@chakra-ui/react\";\nimport { Plus } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { getIconComponent } from \"../../primitives/icon-options\";\nimport type { ResourceOption, ResourceRefValue } from \"../param-editor.types\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ResourceChipList } from \"./resource-input-chips\";\nimport { SelectionMenu } from \"./selection-menu\";\n\ninterface ResourceInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: string | string[];\n options: ResourceOption[];\n onChange: (id: string, value: string | string[]) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n editable?: boolean;\n multiSelect?: boolean;\n placeholder?: string;\n emptyText?: string;\n fullWidth?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n size?: \"xs\" | \"sm\";\n}\n\nconst toIds = (value: string | string[]) => {\n if (Array.isArray(value)) return value;\n return value ? [value] : [];\n};\n\nconst resolveOptions = (ids: string[], options: ResourceOption[]) =>\n ids\n .map((id) => options.find((option) => option.id === id))\n .filter((option): option is ResourceOption => Boolean(option));\n\ninterface FieldShellProps {\n fullWidth: boolean;\n label: ReactNode;\n control: ReactNode;\n presentation: \"stacked\" | \"horizontal\";\n}\n\nconst FieldShell = (props: FieldShellProps) => {\n const { fullWidth, label, control, presentation } = props;\n\n if (presentation === \"horizontal\") {\n return (\n <Stack gap=\"2xs\" alignItems=\"start\" minW=\"0\">\n {label}\n {control}\n </Stack>\n );\n }\n\n if (fullWidth) {\n return (\n <Box>\n <Box mb=\"xs\">{label}</Box>\n {control}\n </Box>\n );\n }\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {label}\n {control}\n </Flex>\n );\n};\n\ninterface ResourceSelectMenuProps {\n triggerLabel: ReactNode;\n options: ResourceOption[];\n selectedIds: string[];\n multiSelect: boolean;\n triggerVariant?: \"button\" | \"icon\";\n triggerAriaLabel?: string;\n size?: \"xs\" | \"sm\";\n onToggle: (optionId: string) => void;\n}\n\n// Resource params share the editor's one dropdown, so a ticket property and a\n// command param cannot drift into two looks.\nconst ResourceSelectMenu = (props: ResourceSelectMenuProps) => {\n const { triggerLabel, options, selectedIds, multiSelect, triggerVariant, triggerAriaLabel, size, onToggle } = props;\n\n return (\n <SelectionMenu\n triggerLabel={triggerLabel}\n options={options}\n selectedIds={selectedIds}\n multiSelect={multiSelect}\n triggerVariant={triggerVariant}\n triggerAriaLabel={triggerAriaLabel}\n size={size}\n onToggle={onToggle}\n />\n );\n};\n\nexport const ResourceInput = (props: ResourceInputProps) => {\n const {\n id,\n name,\n description,\n defaultValue,\n options,\n onChange,\n onOpenResource,\n readOnly,\n editable = false,\n multiSelect = false,\n placeholder,\n emptyText,\n fullWidth = false,\n presentation = \"stacked\",\n size = \"sm\",\n } = props;\n\n const [value, setValue] = useState(defaultValue);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const emitChange = (next: string | string[]) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n onChange(id, next);\n };\n\n // Debounce multi-select toggles so a burst of menu clicks makes one update call.\n const scheduleChange = (next: string | string[]) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onChange(id, next), 540);\n };\n\n const selectedIds = toIds(value);\n const selectedOptions = resolveOptions(selectedIds, options);\n const interactive = editable && !readOnly;\n\n const label = <ParamEditorLabel name={name} description={description} compact={presentation === \"horizontal\"} />;\n\n if (!interactive) {\n return (\n <FieldShell\n fullWidth={fullWidth}\n label={label}\n presentation={presentation}\n control={<ResourceChipList options={selectedOptions} onOpenResource={onOpenResource} emptyText={emptyText} />}\n />\n );\n }\n\n const toggleOption = (optionId: string) => {\n if (multiSelect) {\n const next = selectedIds.includes(optionId)\n ? selectedIds.filter((entry) => entry !== optionId)\n : [...selectedIds, optionId];\n setValue(next);\n scheduleChange(next);\n return;\n }\n // Re-picking the selected option clears it.\n const next = selectedIds.includes(optionId) ? \"\" : optionId;\n setValue(next);\n emitChange(next);\n };\n\n const removeOption = (optionId: string) => {\n const next = selectedIds.filter((entry) => entry !== optionId);\n setValue(next);\n scheduleChange(next);\n };\n\n if (multiSelect) {\n const control = (\n <Flex gap=\"2xs\" alignItems=\"center\" flexWrap=\"wrap\" minW=\"0\">\n {selectedOptions.length > 0 ? (\n <ResourceChipList\n options={selectedOptions}\n onOpenResource={onOpenResource}\n onRemove={removeOption}\n emptyText={emptyText}\n />\n ) : null}\n <ResourceSelectMenu\n triggerLabel={<Icon as={Plus} boxSize=\"12px\" />}\n options={options}\n selectedIds={selectedIds}\n multiSelect\n triggerVariant=\"icon\"\n triggerAriaLabel={placeholder ?? `Add ${name}`}\n size={size}\n onToggle={toggleOption}\n />\n </Flex>\n );\n\n return <FieldShell fullWidth={fullWidth} label={label} control={control} presentation={presentation} />;\n }\n\n const selected = selectedOptions[0];\n const triggerLabel = selected ? (\n <Flex align=\"center\" gap=\"2xs\" minW=\"0\">\n <Icon\n as={getIconComponent(selected.icon)}\n boxSize=\"14px\"\n color={selected.color ? `${selected.color}.500` : \"fg.muted\"}\n />\n {selected.name}\n </Flex>\n ) : (\n (placeholder ?? \"Select\")\n );\n\n return (\n <FieldShell\n fullWidth={fullWidth}\n label={label}\n presentation={presentation}\n control={\n <ResourceSelectMenu\n triggerLabel={triggerLabel}\n options={options}\n selectedIds={selectedIds}\n multiSelect={false}\n size={size}\n onToggle={toggleOption}\n />\n }\n />\n );\n};\n","import { Box, Flex } from \"@chakra-ui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { SelectionGroup } from \"../param-editor.types\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\nimport { SelectionMenu, type SelectionMenuOption, selectionOptionIcon } from \"./selection-menu\";\n\ninterface SelectionInputProps {\n id: string;\n defaultValue: string | string[];\n name: string;\n options: SelectionMenuOption[];\n onChange: (id: string, value: string | string[]) => void;\n description: string;\n readOnly?: boolean;\n hideLabel?: boolean;\n multiSelect?: boolean;\n tooltipPlacement?: \"top\" | \"right\" | \"bottom\" | \"left\";\n placeholder?: string;\n fullWidth?: boolean;\n /** Re-picking the selected option clears it. */\n clearable?: boolean;\n /** Inert, but still rendered as a control. */\n disabled?: boolean;\n searchable?: boolean;\n searchPlaceholder?: string;\n emptyText?: string;\n group?: SelectionGroup;\n size?: \"xs\" | \"sm\";\n}\n\nexport const SelectionInput = (props: SelectionInputProps) => {\n const {\n id,\n defaultValue,\n name,\n options,\n onChange,\n description,\n readOnly,\n hideLabel = false,\n multiSelect = false,\n placeholder,\n fullWidth = false,\n clearable = false,\n disabled = false,\n searchable = false,\n searchPlaceholder,\n emptyText,\n group,\n size = \"sm\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n const [groupValue, setGroupValue] = useState(group?.defaultValue ?? \"\");\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n useEffect(() => {\n setGroupValue(group?.defaultValue ?? \"\");\n }, [group?.defaultValue]);\n\n const selectedIds = multiSelect\n ? Array.isArray(value)\n ? value\n : []\n : typeof value === \"string\" && value\n ? [value]\n : [];\n\n const getDisplayText = () => {\n const names = selectedIds\n .map((selectedId) => options.find((option) => option.id === selectedId)?.name)\n .filter((optionName): optionName is string => Boolean(optionName));\n\n if (names.length === 0) return placeholder || \"Select\";\n if (names.length <= 3) return names.join(\", \");\n return `${names.slice(0, 3).join(\", \")} +${(names.length - 3).toString()}`;\n };\n\n const commit = (nextValue: string | string[]) => {\n setValue(nextValue);\n onChange(id, nextValue);\n };\n\n const handleToggle = (optionId: string) => {\n if (!multiSelect) {\n // Re-picking the selected option clears it, so a single-select needs no\n // extra \"none\" row cluttering the list.\n commit(clearable && selectedIds.includes(optionId) ? \"\" : optionId);\n return;\n }\n commit(\n selectedIds.includes(optionId) ? selectedIds.filter((item) => item !== optionId) : [...selectedIds, optionId],\n );\n };\n\n const handleGroupChange = (optionId: string) => {\n if (!group || optionId === groupValue) return;\n setGroupValue(optionId);\n onChange(group.id, optionId);\n };\n\n // Only a lone selection can colour the trigger; a multi-pick has no single icon.\n const triggerOption = selectedIds.length === 1 ? options.find((option) => option.id === selectedIds[0]) : undefined;\n const label = !hideLabel ? <ParamEditorLabel name={name} description={description} /> : null;\n\n if (readOnly) {\n const valueElement = <ParamEditorReadOnlyValue>{getDisplayText()}</ParamEditorReadOnlyValue>;\n\n if (fullWidth)\n return (\n <Box>\n {label ? <Box mb=\"xs\">{label}</Box> : null}\n {valueElement}\n </Box>\n );\n\n return (\n <Box>\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {label}\n {valueElement}\n </Flex>\n </Box>\n );\n }\n\n const menu = (\n <SelectionMenu\n triggerLabel={\n <>\n {selectionOptionIcon(triggerOption, \"14px\")}\n {getDisplayText()}\n </>\n }\n options={options}\n selectedIds={selectedIds}\n multiSelect={multiSelect}\n disabled={disabled}\n searchable={searchable}\n searchPlaceholder={searchPlaceholder}\n emptyText={emptyText}\n group={group ? { ...group, defaultValue: groupValue } : undefined}\n fullWidth={fullWidth}\n size={size}\n onToggle={handleToggle}\n onGroupChange={handleGroupChange}\n />\n );\n\n if (fullWidth)\n return (\n <Box>\n {label ? <Box mb=\"xs\">{label}</Box> : null}\n {menu}\n </Box>\n );\n\n return (\n <Box>\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {label}\n {menu}\n </Flex>\n </Box>\n );\n};\n","import { Box, Flex, Input, Textarea } from \"@chakra-ui/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { ParamEditorLabel } from \"../param-editor-label\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\n\ninterface TextInputProps {\n id: string;\n defaultValue: string;\n name: string;\n onChange: (id: string, value: string) => void;\n description: string;\n readOnly?: boolean;\n singleLine?: boolean;\n hideLabel?: boolean;\n fullWidth?: boolean;\n size?: \"xs\" | \"sm\";\n}\n\nexport const TextInput = (props: TextInputProps) => {\n const {\n id,\n defaultValue,\n name,\n onChange,\n description,\n readOnly,\n singleLine = true,\n hideLabel = false,\n fullWidth = false,\n size = \"sm\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const scheduleChange = (nextValue: string) => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => onChange(id, nextValue), 540);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const handleChange = (newValue: string) => {\n setValue(newValue);\n scheduleChange(newValue);\n };\n\n // Leaving the field is a commit: a form submitted inside the debounce window\n // would otherwise send the value as it was before the last keystrokes.\n const handleBlur = () => {\n if (!timeoutRef.current) return;\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n onChange(id, value);\n };\n\n if (readOnly) {\n const valueElement = <ParamEditorReadOnlyValue preserveWhitespace={!singleLine}>{value}</ParamEditorReadOnlyValue>;\n\n if (singleLine && !fullWidth) {\n return (\n <Box>\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n {valueElement}\n </Flex>\n </Box>\n );\n }\n\n return (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n {valueElement}\n </Box>\n );\n }\n\n return (\n <Box>\n {singleLine && !fullWidth ? (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n {!hideLabel && <ParamEditorLabel name={name} description={description} />}\n <Input\n aria-label={name}\n className=\"nodrag\"\n readOnly={readOnly}\n flex=\"1\"\n maxW=\"12.5rem\"\n size={size}\n type=\"text\"\n placeholder={hideLabel ? name : undefined}\n value={value}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={handleBlur}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n </Flex>\n ) : (\n <Box>\n {!hideLabel && (\n <Box mb=\"xs\">\n <ParamEditorLabel name={name} description={description} />\n </Box>\n )}\n {singleLine ? (\n <Input\n aria-label={name}\n className=\"nodrag\"\n readOnly={readOnly}\n width=\"100%\"\n size={size}\n type=\"text\"\n placeholder={hideLabel ? name : undefined}\n value={value}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={handleBlur}\n onKeyUp={(e) => {\n if (e.key === \"Enter\") {\n e.currentTarget.blur();\n }\n }}\n />\n ) : (\n <Textarea\n aria-label={name}\n className=\"nodrag\"\n readOnly={readOnly}\n width=\"100%\"\n size={size}\n placeholder={hideLabel ? name : undefined}\n value={value}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={handleBlur}\n rows={3}\n resize=\"vertical\"\n />\n )}\n </Box>\n )}\n </Box>\n );\n};\n","import { Button, Flex } from \"@chakra-ui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { ActionOption } from \"../param-editor.types\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { SelectionMenu } from \"./selection-menu\";\n\ninterface ActionInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue?: string;\n options: ActionOption[];\n onChange: (id: string, value: string) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n}\n\nexport const ActionInput = (props: ActionInputProps) => {\n const { id, name, description, defaultValue, options, onChange, readOnly, presentation = \"stacked\" } = props;\n const [active, setActive] = useState(defaultValue);\n\n useEffect(() => {\n setActive(defaultValue);\n }, [defaultValue]);\n\n const run = (optionId: string) => {\n setActive(optionId);\n onChange(id, optionId);\n };\n const horizontal = presentation === \"horizontal\";\n const selectedName = options.find((option) => option.id === active)?.name ?? name;\n\n if (horizontal) {\n return (\n <SelectionMenu\n triggerLabel={selectedName}\n options={options}\n selectedIds={active ? [active] : []}\n multiSelect={false}\n disabled={readOnly}\n onToggle={run}\n />\n );\n }\n\n const row = (\n <Flex gap=\"xs\" wrap=\"wrap\">\n {options.map((option) => (\n <Button\n key={option.id}\n size=\"xs\"\n variant={active === option.id ? \"subtle\" : \"outline\"}\n disabled={option.disabled || readOnly}\n _hover={{ bg: \"bg.hover\", borderColor: \"border.accent-light\" }}\n _active={{ bg: \"bg.active\", borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n onClick={() => run(option.id)}\n >\n {option.name}\n </Button>\n ))}\n </Flex>\n );\n\n return (\n <ParamEditorControlItem name={name} description={description} orientation=\"stacked\">\n {row}\n </ParamEditorControlItem>\n );\n};\n","import type { AnchorGridValue } from \"../param-editor.types\";\n\n/** The nine anchors in row-major order (top-left → bottom-right). */\nexport const ANCHOR_GRID_VALUES: AnchorGridValue[] = [\n \"top-left\",\n \"top\",\n \"top-right\",\n \"left\",\n \"center\",\n \"right\",\n \"bottom-left\",\n \"bottom\",\n \"bottom-right\",\n];\n\nexport const isAnchorGridValue = (value: unknown): value is AnchorGridValue =>\n typeof value === \"string\" && (ANCHOR_GRID_VALUES as string[]).includes(value);\n","import { Box, Grid, IconButton } from \"@chakra-ui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { AnchorGridValue } from \"../param-editor.types\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\nimport { ANCHOR_GRID_VALUES } from \"./anchor-grid\";\n\ninterface AnchorGridInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: AnchorGridValue;\n onChange: (id: string, value: AnchorGridValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n}\n\nexport const AnchorGridInput = (props: AnchorGridInputProps) => {\n const { id, name, description, defaultValue, onChange, readOnly, fullWidth } = props;\n const [value, setValue] = useState<AnchorGridValue>(defaultValue);\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const select = (next: AnchorGridValue) => {\n setValue(next);\n onChange(id, next);\n };\n\n if (readOnly) {\n return (\n <ParamEditorControlItem name={name} description={description} fullWidth={fullWidth}>\n <ParamEditorReadOnlyValue>{value}</ParamEditorReadOnlyValue>\n </ParamEditorControlItem>\n );\n }\n\n const grid = (\n <Grid\n templateColumns=\"repeat(3, 1.5rem)\"\n gap=\"1px\"\n width=\"fit-content\"\n bg=\"border.subtle\"\n p=\"1px\"\n borderRadius=\"sm\"\n overflow=\"hidden\"\n >\n {ANCHOR_GRID_VALUES.map((anchor) => {\n const selected = anchor === value;\n return (\n <IconButton\n key={anchor}\n aria-label={anchor}\n aria-pressed={selected}\n size=\"2xs\"\n variant=\"ghost\"\n bg={selected ? \"fg\" : \"bg\"}\n _hover={{ bg: selected ? \"fg\" : \"bg.muted\" }}\n borderRadius=\"0\"\n onClick={() => select(anchor)}\n >\n <Box boxSize=\"0.375rem\" borderRadius=\"full\" bg={selected ? \"bg\" : \"fg.muted\"} />\n </IconButton>\n );\n })}\n </Grid>\n );\n\n return (\n <ParamEditorControlItem name={name} description={description} orientation={fullWidth ? \"stacked\" : \"inline\"}>\n {grid}\n </ParamEditorControlItem>\n );\n};\n","import type { FileUploadValue } from \"../param-editor.types\";\n\nexport type FileUploadSummaryState = \"empty\" | \"queued\" | \"uploading\" | \"complete\" | \"error\";\n\nconst valueId = (file: File, index: number) =>\n `${file.name}-${file.size.toString()}-${file.lastModified.toString()}-${index.toString()}`;\n\nexport const createFileUploadValues = (\n files: File[],\n existing: FileUploadValue[],\n multiple: boolean,\n): FileUploadValue[] => {\n const offset = multiple ? existing.length : 0;\n const selected = files.map((file, index) => ({\n id: valueId(file, offset + index),\n file,\n status: \"queued\" as const,\n }));\n\n return multiple ? [...existing, ...selected] : selected.slice(0, 1);\n};\n\nexport const getFileUploadSummary = (values: FileUploadValue[]) => {\n const states: FileUploadSummaryState[] = [\"uploading\", \"error\", \"queued\", \"complete\"];\n const state = states.find((candidate) => values.some((value) => value.status === candidate)) ?? \"empty\";\n const count = state === \"empty\" ? 0 : values.filter((value) => value.status === state).length;\n\n return { state, count };\n};\n","import { Button, Flex, Icon, Spinner, Stack, Text, Wrap } from \"@chakra-ui/react\";\nimport { CircleAlert, CircleCheck, Clock3, Paperclip } from \"lucide-react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { AttachmentChip } from \"@/components/overlays/attachment-chip\";\nimport type { FileUploadValue } from \"../param-editor.types\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { createFileUploadValues, getFileUploadSummary } from \"./file-upload-value\";\n\ninterface FileUploadInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: FileUploadValue[];\n accept?: string;\n multiple?: boolean;\n uploadLabel?: string;\n onChange: (id: string, value: FileUploadValue[]) => void;\n readOnly?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n}\n\nconst UploadStatus = (props: { values: FileUploadValue[] }) => {\n const { values } = props;\n const summary = getFileUploadSummary(values);\n if (summary.state === \"empty\") return null;\n\n const noun = summary.count === 1 ? \"file\" : \"files\";\n const labels = {\n queued: `${summary.count.toString()} ${noun} queued`,\n uploading: `Uploading ${summary.count.toString()} ${noun}`,\n complete: `${summary.count.toString()} ${noun} uploaded`,\n error: `${summary.count.toString()} ${noun} failed`,\n empty: \"\",\n };\n const icon =\n summary.state === \"uploading\" ? (\n <Spinner boxSize=\"12px\" borderWidth=\"1px\" />\n ) : (\n <Icon\n as={summary.state === \"error\" ? CircleAlert : summary.state === \"complete\" ? CircleCheck : Clock3}\n boxSize=\"12px\"\n />\n );\n\n return (\n <Flex alignItems=\"center\" gap=\"2xs\" color={summary.state === \"error\" ? \"fg.error\" : \"fg.muted\"}>\n {icon}\n <Text textStyle=\"label/XS/medium\">{labels[summary.state]}</Text>\n </Flex>\n );\n};\n\nconst UploadQueue = (props: { readOnly?: boolean; values: FileUploadValue[]; onRemove: (valueId: string) => void }) => {\n const { readOnly, values, onRemove } = props;\n if (values.length === 0) return null;\n\n return (\n <Stack gap=\"2xs\" minW=\"0\">\n <UploadStatus values={values} />\n <Wrap gap=\"2xs\">\n {values.map((value) => (\n <AttachmentChip\n key={value.id}\n file={value.file}\n disabled={readOnly}\n removeLabel={`Remove ${value.file.name}`}\n onRemove={() => onRemove(value.id)}\n />\n ))}\n </Wrap>\n </Stack>\n );\n};\n\nexport const FileUploadInput = (props: FileUploadInputProps) => {\n const {\n id,\n name,\n description,\n defaultValue,\n accept,\n multiple = true,\n uploadLabel = \"Attach files\",\n onChange,\n readOnly,\n presentation = \"stacked\",\n } = props;\n const [values, setValues] = useState(defaultValue);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setValues(defaultValue);\n }, [defaultValue]);\n\n const commit = (next: FileUploadValue[]) => {\n setValues(next);\n onChange(id, next);\n };\n const remove = (valueId: string) => commit(values.filter((value) => value.id !== valueId));\n const button = readOnly ? null : (\n <Button size=\"xs\" variant=\"ghost\" flexShrink={0} onClick={() => inputRef.current?.click()}>\n <Icon as={Paperclip} boxSize=\"14px\" />\n {uploadLabel}\n </Button>\n );\n const input = (\n <input\n ref={inputRef}\n hidden\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={(event) => {\n commit(createFileUploadValues(Array.from(event.currentTarget.files ?? []), values, multiple));\n event.currentTarget.value = \"\";\n }}\n />\n );\n\n if (presentation === \"horizontal\") {\n return (\n <Flex alignItems=\"center\" gap=\"sm\" minW=\"0\" width=\"full\">\n {input}\n {button}\n <UploadQueue readOnly={readOnly} values={values} onRemove={remove} />\n </Flex>\n );\n }\n\n return (\n <ParamEditorControlItem name={name} description={description} orientation=\"stacked\">\n <Stack alignItems=\"start\" gap=\"xs\" minW=\"0\">\n {input}\n {button}\n <UploadQueue readOnly={readOnly} values={values} onRemove={remove} />\n </Stack>\n </ParamEditorControlItem>\n );\n};\n","/** Clamp `value` into the inclusive range, tolerating an inverted min/max. */\nexport const clampToRange = (value: number, min: number, max: number) => {\n const lower = Math.min(min, max);\n const upper = Math.max(min, max);\n if (value < lower) return lower;\n if (value > upper) return upper;\n return value;\n};\n\n/** Snap `value` to the nearest multiple of `step` measured from `origin`. */\nexport const snapToStep = (value: number, step: number, origin = 0) => {\n if (!(step > 0)) return value;\n const steps = Math.round((value - origin) / step);\n return origin + steps * step;\n};\n\n/** Format a number with an optional unit suffix, trimming float noise. */\nexport const formatUnitValue = (value: number, unit?: string) => {\n const rounded = Number.isInteger(value) ? `${value}` : `${Number(value.toFixed(3))}`;\n return unit ? `${rounded}${unit}` : rounded;\n};\n","import type { RangeValue } from \"../param-editor.types\";\nimport { clampToRange, snapToStep } from \"./numeric-value\";\n\n/** Order both handles and clamp (and optionally snap) them into `[min, max]`. */\nexport const normalizeRange = (value: RangeValue, min: number, max: number, step?: number): RangeValue => {\n const first = clampToRange(value[0], min, max);\n const second = clampToRange(value[1], min, max);\n let start = Math.min(first, second);\n let end = Math.max(first, second);\n if (step && step > 0) {\n start = clampToRange(snapToStep(start, step, min), min, max);\n end = clampToRange(snapToStep(end, step, min), min, max);\n }\n return [start, end];\n};\n\n/** Replace a single handle, keeping the pair ordered. */\nexport const updateRangeHandle = (\n value: RangeValue,\n index: 0 | 1,\n next: number,\n min: number,\n max: number,\n step?: number,\n): RangeValue => {\n const draft: RangeValue = index === 0 ? [next, value[1]] : [value[0], next];\n return normalizeRange(draft, min, max, step);\n};\n","import { Box, Flex } from \"@chakra-ui/react\";\n\ninterface SliderMarksProps {\n count?: number;\n}\n\n// Evenly-spaced tick marks rendered under a slider track. Purely decorative.\nexport const SliderMarks = (props: SliderMarksProps) => {\n const { count } = props;\n if (!count || count < 2) return null;\n const positions = Array.from({ length: count }, (_, index) => index / (count - 1));\n\n return (\n <Flex justifyContent=\"space-between\" mt=\"2xs\" aria-hidden=\"true\">\n {positions.map((position) => (\n <Box key={position} width=\"1px\" height=\"0.375rem\" bg=\"border.subtle\" />\n ))}\n </Flex>\n );\n};\n","import { Box, Button, Flex, Icon, Popover, type SliderValueChangeDetails, Stack, Text } from \"@chakra-ui/react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { Slider } from \"@/components/primitives/slider\";\nimport type { RangeValue } from \"../param-editor.types\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\nimport { formatUnitValue } from \"./numeric-value\";\nimport { normalizeRange } from \"./range-value\";\nimport { SliderMarks } from \"./slider-marks\";\n\ninterface RangeInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: RangeValue;\n min: number;\n max: number;\n step?: number;\n unit?: string;\n markerCount?: number;\n onChange: (id: string, value: RangeValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n}\n\nexport const RangeInput = (props: RangeInputProps) => {\n const {\n id,\n name,\n description,\n defaultValue,\n min,\n max,\n step = 1,\n unit,\n markerCount,\n onChange,\n readOnly,\n fullWidth,\n presentation = \"stacked\",\n } = props;\n\n const [value, setValue] = useState<RangeValue>(() => normalizeRange(defaultValue, min, max, step));\n\n useEffect(() => {\n setValue(normalizeRange(defaultValue, min, max, step));\n }, [defaultValue, min, max, step]);\n\n const label = `${formatUnitValue(value[0], unit)} – ${formatUnitValue(value[1], unit)}`;\n const horizontal = presentation === \"horizontal\";\n\n if (readOnly) {\n if (horizontal) {\n return <ParamEditorReadOnlyValue>{label}</ParamEditorReadOnlyValue>;\n }\n\n return (\n <ParamEditorControlItem name={name} description={description} fullWidth={fullWidth}>\n <ParamEditorReadOnlyValue>{label}</ParamEditorReadOnlyValue>\n </ParamEditorControlItem>\n );\n }\n\n const trailing = (\n <Text textStyle=\"label/S/regular\" color=\"fg.muted\" whiteSpace=\"nowrap\">\n {label}\n </Text>\n );\n const slider = (\n <Box>\n <Slider\n size=\"sm\"\n value={value}\n min={min}\n max={max}\n step={step}\n onValueChange={(details: SliderValueChangeDetails) =>\n setValue(normalizeRange(details.value as RangeValue, min, max, step))\n }\n onValueChangeEnd={(details: SliderValueChangeDetails) => {\n const next = normalizeRange(details.value as RangeValue, min, max, step);\n setValue(next);\n onChange(id, next);\n }}\n />\n <SliderMarks count={markerCount} />\n </Box>\n );\n\n if (horizontal) {\n return (\n <Popover.Root positioning={{ placement: \"bottom-start\", offset: { mainAxis: 4 } }}>\n <Popover.Trigger asChild>\n <Button size=\"xs\" variant=\"ghost\" aria-label={`${name}: ${label}`}>\n {label}\n <Icon as={ChevronDown} boxSize=\"14px\" />\n </Button>\n </Popover.Trigger>\n <Popover.Positioner>\n <Popover.Content width=\"60\" padding=\"sm\" background=\"bg\">\n <Stack gap=\"xs\">\n <Flex alignItems=\"center\" justifyContent=\"space-between\" gap=\"xs\">\n <Text textStyle=\"label/S/medium\">{name}</Text>\n {trailing}\n </Flex>\n {slider}\n </Stack>\n </Popover.Content>\n </Popover.Positioner>\n </Popover.Root>\n );\n }\n\n return (\n <ParamEditorControlItem name={name} description={description} orientation=\"stacked\" labelTrailing={trailing}>\n {slider}\n </ParamEditorControlItem>\n );\n};\n","import { Box, Button, Group } from \"@chakra-ui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { SegmentedOption } from \"../param-editor.types\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\nimport { SelectionMenu } from \"./selection-menu\";\n\ninterface SegmentedInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: string;\n options: SegmentedOption[];\n variant?: \"default\" | \"dots\";\n onChange: (id: string, value: string) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n}\n\nexport const SegmentedInput = (props: SegmentedInputProps) => {\n const {\n id,\n name,\n description,\n defaultValue,\n options,\n variant = \"default\",\n onChange,\n readOnly,\n fullWidth,\n presentation = \"stacked\",\n } = props;\n const [value, setValue] = useState(defaultValue);\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const select = (next: string) => {\n setValue(next);\n onChange(id, next);\n };\n\n const selectedName = options.find((option) => option.id === value)?.name ?? value;\n const horizontal = presentation === \"horizontal\";\n\n if (readOnly) {\n return (\n <ParamEditorControlItem name={name} description={description} hideLabel={horizontal} fullWidth={fullWidth}>\n <ParamEditorReadOnlyValue>{selectedName}</ParamEditorReadOnlyValue>\n </ParamEditorControlItem>\n );\n }\n\n if (horizontal) {\n return (\n <SelectionMenu\n triggerLabel={selectedName}\n options={options}\n selectedIds={[value]}\n multiSelect={false}\n onToggle={select}\n />\n );\n }\n\n const group = (\n <Group\n attached\n width=\"full\"\n borderWidth=\"1px\"\n borderColor=\"border\"\n borderRadius=\"xs\"\n overflow=\"hidden\"\n transition=\"border-color 0.2s ease-in-out\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _active={{ borderColor: \"border.accent-light\" }}\n _focusWithin={{ borderColor: \"border.accent-light\", boxShadow: \"none\" }}\n >\n {options.map((option) => {\n const selected = option.id === value;\n return (\n <Button\n key={option.id}\n flex=\"1\"\n size=\"xs\"\n variant={selected ? \"subtle\" : \"ghost\"}\n borderRadius=\"0\"\n aria-pressed={selected}\n onClick={() => select(option.id)}\n >\n {variant === \"dots\" ? (\n <Box boxSize=\"0.5rem\" borderRadius=\"full\" bg={option.indicatorColor ?? \"fg.muted\"} mr=\"1\" />\n ) : null}\n {option.name}\n </Button>\n );\n })}\n </Group>\n );\n\n return (\n <ParamEditorControlItem name={name} description={description} orientation=\"stacked\">\n {group}\n </ParamEditorControlItem>\n );\n};\n","import { Flex, type FlexProps } from \"@chakra-ui/react\";\n\ninterface ParamEditorInlineGroupProps extends FlexProps {}\n\n// A horizontal row of controls that share a line (e.g. paired x/y inputs).\nexport const ParamEditorInlineGroup = (props: ParamEditorInlineGroupProps) => {\n const { children, ...rest } = props;\n\n return (\n <Flex alignItems=\"center\" gap=\"xs\" minW=\"0\" {...rest}>\n {children}\n </Flex>\n );\n};\n","import type { VectorValue } from \"../param-editor.types\";\nimport { clampToRange } from \"./numeric-value\";\n\nexport interface VectorBounds {\n min?: number;\n max?: number;\n}\n\nconst clampAxis = (value: number, bounds: VectorBounds) => {\n if (bounds.min === undefined && bounds.max === undefined) return value;\n const min = bounds.min ?? Number.NEGATIVE_INFINITY;\n const max = bounds.max ?? Number.POSITIVE_INFINITY;\n return clampToRange(value, min, max);\n};\n\n/** Update a single axis without dropping the other, clamping into optional bounds. */\nexport const updateVectorAxis = (\n value: VectorValue,\n axis: \"x\" | \"y\",\n next: number,\n bounds: VectorBounds = {},\n): VectorValue => {\n const clamped = clampAxis(next, bounds);\n return axis === \"x\" ? { x: clamped, y: value.y } : { x: value.x, y: clamped };\n};\n","import { Flex, Text } from \"@chakra-ui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { VectorValue } from \"../param-editor.types\";\nimport { ParamEditorControlItem } from \"../param-editor-control-item\";\nimport { ParamEditorInlineGroup } from \"../param-editor-inline-group\";\nimport { ParamEditorReadOnlyValue } from \"../param-editor-read-only-value\";\nimport { NumberInput } from \"./number-input\";\nimport { updateVectorAxis } from \"./vector-value\";\n\ninterface VectorInputProps {\n id: string;\n name: string;\n description?: string;\n defaultValue: VectorValue;\n xLabel?: string;\n yLabel?: string;\n min?: number;\n max?: number;\n step?: number;\n onChange: (id: string, value: VectorValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n}\n\ninterface VectorAxisFieldProps {\n label: string;\n fieldId: string;\n value: number;\n min?: number;\n max?: number;\n step?: number;\n onCommit: (value: number) => void;\n}\n\n// A single axis: the shared NumberInput (label/slider hidden) prefixed with its axis letter.\nconst VectorAxisField = (props: VectorAxisFieldProps) => {\n const { label, fieldId, value, min, max, step, onCommit } = props;\n\n return (\n <Flex alignItems=\"center\" gap=\"1\" flexShrink={0}>\n <Text textStyle=\"label/XS/regular\" color=\"fg.muted\" width=\"1rem\" flexShrink={0}>\n {label}\n </Text>\n <NumberInput\n id={fieldId}\n name={label}\n description=\"\"\n defaultValue={value}\n min={min}\n max={max}\n step={step}\n hideLabel\n hideSlider\n onChange={(_, next) => onCommit(next)}\n />\n </Flex>\n );\n};\n\nexport const VectorInput = (props: VectorInputProps) => {\n const {\n id,\n name,\n description,\n defaultValue,\n xLabel = \"X\",\n yLabel = \"Y\",\n min,\n max,\n step = 1,\n onChange,\n readOnly,\n } = props;\n const [value, setValue] = useState<VectorValue>(defaultValue);\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const commitAxis = (axis: \"x\" | \"y\", next: number) => {\n const updated = updateVectorAxis(value, axis, next, { min, max });\n setValue(updated);\n onChange(id, updated);\n };\n\n if (readOnly) {\n return (\n <ParamEditorControlItem name={name} description={description}>\n <ParamEditorReadOnlyValue>{`${value.x}, ${value.y}`}</ParamEditorReadOnlyValue>\n </ParamEditorControlItem>\n );\n }\n\n return (\n <ParamEditorControlItem name={name} description={description} orientation=\"stacked\">\n <ParamEditorInlineGroup>\n <VectorAxisField\n label={xLabel}\n fieldId={`${id}.x`}\n value={value.x}\n min={min}\n max={max}\n step={step}\n onCommit={(next) => commitAxis(\"x\", next)}\n />\n <VectorAxisField\n label={yLabel}\n fieldId={`${id}.y`}\n value={value.y}\n min={min}\n max={max}\n step={step}\n onCommit={(next) => commitAxis(\"y\", next)}\n />\n </ParamEditorInlineGroup>\n </ParamEditorControlItem>\n );\n};\n","import type { ParamValueMap } from \"./param-editor.types\";\n\nexport const resolveParamValue = <T>(defaultValues: ParamValueMap, paramId: string, fallback: T) =>\n defaultValues[paramId] === undefined ? fallback : (defaultValues[paramId] as T);\n","import { ActionInput } from \"./inputs/action-input\";\nimport { AnchorGridInput } from \"./inputs/anchor-grid-input\";\nimport { FileUploadInput } from \"./inputs/file-upload-input\";\nimport { RangeInput } from \"./inputs/range-input\";\nimport { SegmentedInput } from \"./inputs/segmented-input\";\nimport { VectorInput } from \"./inputs/vector-input\";\nimport type { Param, ParamValue, ParamValueMap } from \"./param-editor.types\";\nimport { resolveParamValue } from \"./resolve-param-value\";\n\ntype AdvancedParam = Extract<\n Param,\n { type: \"range\" | \"segmented\" | \"actions\" | \"anchorGrid\" | \"vector\" | \"fileUpload\" }\n>;\n\ninterface ParamEditorAdvancedFieldProps {\n param: AdvancedParam;\n defaultValues: ParamValueMap;\n onChange: (id: string, value: ParamValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n presentation: \"stacked\" | \"horizontal\";\n}\n\nexport const ParamEditorAdvancedField = (props: ParamEditorAdvancedFieldProps) => {\n const { param, defaultValues, onChange, readOnly, fullWidth, presentation } = props;\n const common = {\n id: param.id,\n readOnly: readOnly || param.readOnly,\n onChange,\n fullWidth: presentation === \"horizontal\" ? false : fullWidth,\n };\n\n switch (param.type) {\n case \"range\":\n return (\n <RangeInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n min={param.min}\n max={param.max}\n step={param.step}\n unit={param.unit}\n markerCount={param.markerCount}\n presentation={presentation}\n />\n );\n case \"segmented\":\n return (\n <SegmentedInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n options={param.options}\n variant={param.variant}\n presentation={presentation}\n />\n );\n case \"actions\":\n return (\n <ActionInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n options={param.options}\n presentation={presentation}\n />\n );\n case \"anchorGrid\":\n if (presentation === \"horizontal\") return null;\n return (\n <AnchorGridInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n />\n );\n case \"vector\":\n return (\n <VectorInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n xLabel={param.xLabel}\n yLabel={param.yLabel}\n min={param.min}\n max={param.max}\n step={param.step}\n />\n );\n case \"fileUpload\":\n return (\n <FileUploadInput\n id={param.id}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n accept={param.accept}\n multiple={param.multiple}\n uploadLabel={param.uploadLabel}\n readOnly={common.readOnly}\n presentation={presentation}\n onChange={onChange}\n />\n );\n }\n};\n","import type { Param } from \"./param-editor.types\";\n\nexport const isParamEditorRichControl = (param: Param) => param.type === \"fileUpload\";\n\nexport const isParamEditorHorizontalControl = (param: Param) => param.type !== \"anchorGrid\";\n","import { Badge, HStack, Image } from \"@chakra-ui/react\";\nimport type { Param } from \"./param-editor.types\";\nimport { ParamEditorControlItem } from \"./param-editor-control-item\";\nimport { ParamEditorReadOnlyValue } from \"./param-editor-read-only-value\";\n\ninterface ParamEditorReadOnlyFieldProps {\n param: Extract<Param, { type: \"readOnly\" }>;\n fullWidth?: boolean;\n}\n\nconst formatPrimitive = (value: string | number | boolean | null) => {\n if (value === null || value === \"\") return \"Not provided\";\n return String(value);\n};\n\nconst ReadOnlyContent = (props: Pick<ParamEditorReadOnlyFieldProps[\"param\"], \"value\">) => {\n const { value } = props;\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return <ParamEditorReadOnlyValue color=\"fg.muted\">None</ParamEditorReadOnlyValue>;\n }\n\n return (\n <HStack gap=\"2xs\" flexWrap=\"wrap\">\n {value.map((item, index) => (\n <Badge key={`${String(item)}-${index}`} variant=\"subtle\" colorPalette=\"gray\">\n {formatPrimitive(item)}\n </Badge>\n ))}\n </HStack>\n );\n }\n\n if (typeof value === \"object\" && value !== null) {\n const images = value.type === \"image\" ? [{ src: value.src, alt: value.alt }] : value.images;\n return (\n <HStack gap=\"2xs\" flexWrap=\"wrap\">\n {images.map((image) => (\n <Image\n key={`${image.src}-${image.alt}`}\n src={image.src}\n alt={image.alt}\n width=\"96px\"\n height=\"72px\"\n borderRadius=\"sm\"\n borderWidth=\"1px\"\n borderColor=\"border.subtle\"\n objectFit=\"cover\"\n />\n ))}\n </HStack>\n );\n }\n\n if (typeof value === \"boolean\") {\n return <ParamEditorReadOnlyValue>{formatPrimitive(value)}</ParamEditorReadOnlyValue>;\n }\n\n return (\n <ParamEditorReadOnlyValue color={value === null || value === \"\" ? \"fg.muted\" : \"fg\"}>\n {formatPrimitive(value)}\n </ParamEditorReadOnlyValue>\n );\n};\n\nexport const ParamEditorReadOnlyField = (props: ParamEditorReadOnlyFieldProps) => {\n const { param, fullWidth } = props;\n\n return (\n <ParamEditorControlItem name={param.name} description={param.description} fullWidth={fullWidth}>\n <ReadOnlyContent value={param.value} />\n </ParamEditorControlItem>\n );\n};\n","import { Box, Flex } from \"@chakra-ui/react\";\nimport { BooleanInput } from \"./inputs/boolean-input\";\nimport { ColorInput } from \"./inputs/color-input\";\nimport { DateInput } from \"./inputs/date-input\";\nimport { HorizontalTextInput } from \"./inputs/horizontal-text-input\";\nimport { MarkdownInput } from \"./inputs/markdown-input\";\nimport { NumberInput } from \"./inputs/number-input\";\nimport { ResourceInput } from \"./inputs/resource-input\";\nimport { SelectionInput } from \"./inputs/selection-input\";\nimport { TextInput } from \"./inputs/text-input\";\nimport type { Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorAdvancedField } from \"./param-editor-advanced-field\";\nimport { ParamEditorLabel } from \"./param-editor-label\";\nimport { isParamEditorRichControl } from \"./param-editor-presentation\";\nimport { ParamEditorReadOnlyField } from \"./param-editor-read-only-field\";\nimport { ParamEditorReadOnlyValue } from \"./param-editor-read-only-value\";\nimport { resolveParamValue } from \"./resolve-param-value\";\n\ninterface ParamEditorFieldProps {\n param: Param;\n defaultValues: ParamValueMap;\n onChange: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n presentation?: \"stacked\" | \"horizontal\";\n size?: \"xs\" | \"sm\";\n}\n\nconst PropertyField = (props: { param: Extract<Param, { type: \"property\" }>; fullWidth?: boolean }) => {\n const { param, fullWidth } = props;\n\n if (fullWidth) {\n return (\n <Box>\n <Box mb=\"xs\">\n <ParamEditorLabel name={param.name} description={param.description} />\n </Box>\n <ParamEditorReadOnlyValue>{param.value}</ParamEditorReadOnlyValue>\n </Box>\n );\n }\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2rem\" gap=\"xs\">\n <ParamEditorLabel name={param.name} description={param.description} />\n <ParamEditorReadOnlyValue>{param.value}</ParamEditorReadOnlyValue>\n </Flex>\n );\n};\n\nexport const ParamEditorField = (props: ParamEditorFieldProps) => {\n const {\n param,\n defaultValues,\n onChange,\n onOpenResource,\n readOnly,\n fullWidth = false,\n presentation = \"stacked\",\n size = \"sm\",\n } = props;\n const horizontal = presentation === \"horizontal\";\n const richControl = isParamEditorRichControl(param);\n const common = {\n id: param.id,\n readOnly: readOnly || param.readOnly,\n onChange,\n fullWidth: horizontal ? richControl : fullWidth,\n size,\n };\n\n switch (param.type) {\n case \"number\":\n return (\n <NumberInput\n {...common}\n name={param.name}\n description={param.description || \"\"}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n min={param.min}\n max={param.max}\n step={param.step}\n hideLabel={horizontal}\n hideSlider={horizontal}\n />\n );\n case \"boolean\":\n return (\n <BooleanInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n hideLabel={horizontal}\n />\n );\n case \"text\":\n if (horizontal) {\n return (\n <HorizontalTextInput\n {...common}\n name={param.name}\n description={param.description || \"\"}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n hideLabel\n />\n );\n }\n return (\n <TextInput\n {...common}\n name={param.name}\n description={param.description || \"\"}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n singleLine={param.singleLine}\n />\n );\n case \"markdown\":\n return (\n <MarkdownInput\n id={param.id}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n placeholder={param.placeholder}\n readOnly={common.readOnly}\n presentation={presentation}\n size={size}\n onChange={onChange}\n />\n );\n case \"selection\":\n return (\n <SelectionInput\n {...common}\n name={param.name}\n description={param.description || \"\"}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n options={param.options}\n multiSelect={param.multiSelect}\n placeholder={param.placeholder}\n clearable={param.clearable}\n disabled={param.disabled}\n searchable={param.searchable}\n searchPlaceholder={param.searchPlaceholder}\n emptyText={param.emptyText}\n group={\n param.group\n ? {\n ...param.group,\n defaultValue: resolveParamValue(defaultValues, param.group.id, param.group.defaultValue),\n }\n : undefined\n }\n hideLabel={horizontal}\n />\n );\n case \"date\":\n return (\n <DateInput\n {...common}\n name={param.name}\n description={param.description || \"\"}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n min={param.min}\n max={param.max}\n hideLabel={horizontal}\n />\n );\n case \"color\":\n return (\n <ColorInput\n {...common}\n name={param.name}\n description={param.description || \"\"}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n hideLabel={horizontal}\n />\n );\n case \"property\":\n return <PropertyField param={param} fullWidth={horizontal ? false : fullWidth} />;\n case \"readOnly\":\n return <ParamEditorReadOnlyField param={param} fullWidth={horizontal ? false : fullWidth} />;\n case \"resource\":\n return (\n <ResourceInput\n {...common}\n name={param.name}\n description={param.description}\n defaultValue={resolveParamValue(defaultValues, param.id, param.defaultValue)}\n options={param.options}\n multiSelect={param.multiSelect}\n editable={param.editable}\n placeholder={param.placeholder}\n emptyText={param.emptyText}\n onOpenResource={onOpenResource}\n presentation={presentation}\n />\n );\n case \"range\":\n case \"segmented\":\n case \"actions\":\n case \"anchorGrid\":\n case \"vector\":\n case \"fileUpload\":\n return (\n <ParamEditorAdvancedField\n param={param}\n defaultValues={defaultValues}\n onChange={onChange}\n readOnly={readOnly}\n fullWidth={fullWidth}\n presentation={presentation}\n />\n );\n default:\n return null;\n }\n};\n"],"names":["ParamEditorLabel","props","$","_c","name","description","compact","t0","undefined","t1","t2","t3","t4","jsx","Text","t5","Tooltip","Icon","CircleHelp","t6","HStack","ParamEditorControlItem","hideLabel","fullWidth","orientation","labelTrailing","children","ParamEditorFieldLabel","label","header","jsxs","Flex","Box","ParamEditorReadOnlyValue","boxProps","preserveWhitespace","BooleanInput","id","defaultValue","onChange","readOnly","size","value","setValue","useState","useEffect","String","details","checked","Switch","ColorInput","open","setOpen","rootRef","useRef","contentRef","timeoutRef","nextColor","current","clearTimeout","setTimeout","scheduleChange","t7","isInsidePicker","target","node","contains","handleOutsideInteraction","event","document","addEventListener","removeEventListener","t8","newColor","handleChange","t9","Symbol","for","event_0","root","currentTarget","ownerDocument","activeElement","handleBlur","t10","valueElement","t11","t12","parseColor","t13","t14","details_0","toString","t15","onOpenChange","onFocusOutside","onInteractOutside","onBlur","onValueChange","disabled","rootProps","t16","t17","ColorPicker","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","picker","t28","DateInput","min","max","nextValue","newValue","Input","e","_temp","e_1","_temp2","e_0","key","blur","e_2","HorizontalTextInput","isExpanded","setIsExpanded","handleClick","trim","length","preventDefault","handleKeyDown","borderColor","boxShadow","Textarea","MarkdownInput","placeholder","presentation","next","commit","editorValue","LazyMarkdownEditor","editor","Stack","NumberInput","step","hideSlider","showSlider","useFullWidthLayout","NumberInputRoot","Number","isNaN","valueAsNumber","NumberInputField","next_0","Slider","details_1","details_2","optionIcon","option","getIconComponent","icon","color","openExternal","href","window","copyToClipboard","text","navigator","clipboard","writeText","catch","ResourceChip","onOpenResource","onRemove","Boolean","ref","copyText","Chip","handleSelect","ResourceBadge","ResourceChipList","options","emptyText","map","Wrap","selectionIndicator","multiSelect","selected","SquareCheck","Square","Check","selectionOptionIcon","boxSize","SelectionMenu","triggerLabel","selectedIds","searchable","searchPlaceholder","group","triggerVariant","triggerAriaLabel","onToggle","onGroupChange","IconButton","Button","bg","outline","ChevronDown","trigger","searchText","filter","join","secondaryLabel","isDisabled","isSelected","includes","onSelect","items","selectedGroup","find","option_0","ListRow","SearchableMenu","option_1","selectedLabel","toLowerCase","selectedIcon","ariaLabel","showSearch","emptyState","Menu","item","option_2","Portal","toIds","Array","isArray","resolveOptions","ids","FieldShell","control","ResourceSelectMenu","ResourceInput","editable","emitChange","selectedOptions","interactive","toggleOption","optionId","next_1","entry","next_2","removeOption","optionId_0","next_3","entry_0","Plus","SelectionInput","clearable","groupValue","setGroupValue","names","selectedId","slice","getDisplayText","handleToggle","handleGroupChange","T0","bb0","triggerOption","menu","optionName","TextInput","singleLine","e_3","ActionInput","active","setActive","run","horizontal","selectedName","row","ANCHOR_GRID_VALUES","isAnchorGridValue","AnchorGridInput","select","anchor","Grid","grid","valueId","file","index","lastModified","createFileUploadValues","files","existing","multiple","offset","status","getFileUploadSummary","values","state","candidate","some","count","UploadStatus","noun","summary","queued","uploading","complete","error","empty","labels","Spinner","CircleAlert","CircleCheck","Clock3","UploadQueue","AttachmentChip","FileUploadInput","accept","uploadLabel","setValues","inputRef","remove","click","Paperclip","button","from","input","clampToRange","lower","Math","upper","snapToStep","origin","steps","round","formatUnitValue","unit","rounded","isInteger","toFixed","normalizeRange","first","second","start","end","SliderMarks","_","positions","position","RangeInput","markerCount","trailing","slider","placement","mainAxis","Popover","SegmentedInput","variant","indicatorColor","Group","ParamEditorInlineGroup","rest","clampAxis","bounds","NEGATIVE_INFINITY","POSITIVE_INFINITY","updateVectorAxis","axis","clamped","x","y","VectorAxisField","fieldId","onCommit","VectorInput","xLabel","yLabel","updated","commitAxis","resolveParamValue","defaultValues","paramId","fallback","ParamEditorAdvancedField","param","common","type","isParamEditorRichControl","isParamEditorHorizontalControl","formatPrimitive","ReadOnlyContent","alt","images","src","ParamEditorReadOnlyField","Badge","image","Image","PropertyField","ParamEditorField","richControl"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"param-editor.js","sources":["../src/components/param-editor/param-editor-control-list.tsx"],"sourcesContent":["import { Stack, type StackProps } from \"@chakra-ui/react\";\n\ninterface ParamEditorControlListProps extends StackProps {}\n\n// A vertical stack of control items with consistent authoring density. Use it to\n// compose control layouts outside a full <ParamEditor> section.\nexport const ParamEditorControlList = (props: ParamEditorControlListProps) => {\n const { children, ...rest } = props;\n\n return (\n <Stack gap=\"sm\" minW=\"0\" {...rest}>\n {children}\n </Stack>\n );\n};\n"],"names":["ParamEditorControlList","props","$","_c","children","rest","t0","Stack"],"mappings":";;;;;AAMO,MAAMA,IAAyBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC,GAAAC;AAAA,EAAAH,SAAAD,KACpC;AAAA,IAAAG,UAAAA;AAAAA,IAAA,GAAAC;AAAAA,EAAAA,IAA8BJ,GAAMC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,MAAAD,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,SAAAJ,EAAA,CAAA,MAAAE,KAAAF,SAAAG,KAGlCC,sBAACC,KAAU,KAAA,MAAU,MAAA,QAAQF,gBAE7B,GAAQH,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA,GAFRI;AAEQ;"}