@parallelworks/ui 0.43.0 → 0.45.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 (622) hide show
  1. package/README.md +348 -25
  2. package/dist/ai/agent/diff.d.ts +2 -1
  3. package/dist/ai/agent/diff.js +4 -12
  4. package/dist/ai/agent/diffHighlight.d.ts +1 -1
  5. package/dist/ai/agent/diffHighlight.js +4 -3
  6. package/dist/ai/agent/index.d.ts +2 -1
  7. package/dist/ai/agent/toolStrings.d.ts +37 -0
  8. package/dist/ai/agent/toolStrings.js +35 -0
  9. package/dist/ai/agent/toolfmt.d.ts +8 -3
  10. package/dist/ai/agent/toolfmt.js +50 -65
  11. package/dist/ai/ai.css +18 -31
  12. package/dist/ai/components/AllocationSelector.js +2 -2
  13. package/dist/ai/components/AttachmentManager.js +28 -29
  14. package/dist/ai/components/AttachmentUpload.js +25 -30
  15. package/dist/ai/components/BlockedGroupBanner.js +2 -2
  16. package/dist/ai/components/BranchNavigator.js +3 -4
  17. package/dist/ai/components/ChatEmptyState.js +8 -7
  18. package/dist/ai/components/ChatInput.js +10 -12
  19. package/dist/ai/components/ChatLayout.js +3 -3
  20. package/dist/ai/components/ChatMessage.js +49 -61
  21. package/dist/ai/components/ChatMessageList.js +46 -42
  22. package/dist/ai/components/ChatSidebar.js +26 -34
  23. package/dist/ai/components/ChatStage.js +1 -1
  24. package/dist/ai/components/ComposerChrome.js +3 -4
  25. package/dist/ai/components/DragOverlay.js +6 -4
  26. package/dist/ai/components/ModelSelector.js +14 -15
  27. package/dist/ai/components/PastedText.js +18 -14
  28. package/dist/ai/components/ProviderIssueBanner.js +3 -4
  29. package/dist/ai/components/Reasoning.d.ts +12 -6
  30. package/dist/ai/components/Reasoning.js +31 -18
  31. package/dist/ai/components/ShareDialog.js +25 -28
  32. package/dist/ai/components/SlashMenu.js +3 -3
  33. package/dist/ai/components/agent/ActivityLine.d.ts +0 -5
  34. package/dist/ai/components/agent/ActivityLine.js +17 -54
  35. package/dist/ai/components/agent/AgentMessageParts.js +139 -149
  36. package/dist/ai/components/conversationActions.js +16 -16
  37. package/dist/ai/core/ChatProvider.d.ts +2 -4
  38. package/dist/ai/core/ChatProvider.js +25 -38
  39. package/dist/ai/core/exportConversation.js +4 -4
  40. package/dist/ai/core/sidebarState.d.ts +8 -6
  41. package/dist/ai/core/sidebarState.js +21 -28
  42. package/dist/ai/core/useKeyboardShortcuts.js +14 -5
  43. package/dist/ai/index.d.ts +4 -5
  44. package/dist/ai/index.js +7 -7
  45. package/dist/ai/strings.d.ts +14 -31
  46. package/dist/ai/strings.js +19 -39
  47. package/dist/ai/types.d.ts +0 -5
  48. package/dist/ai/ui/ConversationSidebar.d.ts +12 -9
  49. package/dist/ai/ui/ConversationSidebar.js +43 -87
  50. package/dist/ai/ui/Markdown.d.ts +3 -6
  51. package/dist/ai/ui/Markdown.js +6 -73
  52. package/dist/ai/ui/Notice.js +10 -12
  53. package/dist/ai/ui/chip.d.ts +2 -2
  54. package/dist/ai/ui/chip.js +1 -1
  55. package/dist/ai/ui/sidebar.d.ts +4 -20
  56. package/dist/ai/ui/sidebar.js +30 -67
  57. package/dist/ai/utils.d.ts +0 -1
  58. package/dist/ai/utils.js +1 -14
  59. package/dist/brandIcons.d.ts +51 -0
  60. package/dist/brandIcons.js +75 -0
  61. package/dist/components/Avatar.d.ts +3 -1
  62. package/dist/components/Avatar.js +34 -28
  63. package/dist/components/Button.d.ts +12 -7
  64. package/dist/components/Button.js +39 -44
  65. package/dist/components/Callout.js +18 -12
  66. package/dist/components/Card.d.ts +18 -8
  67. package/dist/components/Card.js +17 -6
  68. package/dist/components/Checkbox.d.ts +9 -0
  69. package/dist/components/Checkbox.js +30 -0
  70. package/dist/components/Combobox.d.ts +9 -1
  71. package/dist/components/Combobox.js +71 -44
  72. package/dist/components/ConfirmModal.js +11 -11
  73. package/dist/components/ContextMenu.d.ts +2 -8
  74. package/dist/components/ContextMenu.js +2 -29
  75. package/dist/components/CopyToClipboard.js +17 -36
  76. package/dist/components/CreateModal.d.ts +3 -24
  77. package/dist/components/CreateModal.js +46 -113
  78. package/dist/components/DatePicker.d.ts +31 -0
  79. package/dist/components/DatePicker.js +191 -0
  80. package/dist/components/DescriptionList.js +4 -4
  81. package/dist/components/Disclosure.d.ts +34 -0
  82. package/dist/components/Disclosure.js +46 -0
  83. package/dist/components/Drawer.d.ts +47 -0
  84. package/dist/components/Drawer.js +120 -0
  85. package/dist/components/EmptyState.d.ts +15 -10
  86. package/dist/components/EmptyState.js +13 -8
  87. package/dist/components/ExternalLink.d.ts +8 -0
  88. package/dist/components/ExternalLink.js +29 -0
  89. package/dist/components/Field.d.ts +70 -0
  90. package/dist/components/Field.js +159 -0
  91. package/dist/components/HoverCard.js +11 -14
  92. package/dist/components/IconButton.d.ts +16 -13
  93. package/dist/components/IconButton.js +27 -18
  94. package/dist/components/InfoTip.js +16 -23
  95. package/dist/components/Input.d.ts +10 -9
  96. package/dist/components/Input.js +54 -96
  97. package/dist/components/LetterBadge.js +2 -2
  98. package/dist/components/Loader.d.ts +15 -8
  99. package/dist/components/Loader.js +29 -19
  100. package/dist/components/Markdown.d.ts +7 -1
  101. package/dist/components/Markdown.js +2 -0
  102. package/dist/components/MarkdownImpl.d.ts +1 -1
  103. package/dist/components/MarkdownImpl.js +55 -14
  104. package/dist/components/Menu.js +13 -15
  105. package/dist/components/MenuEntries.js +11 -16
  106. package/dist/components/Meter.d.ts +48 -0
  107. package/dist/components/Meter.js +94 -0
  108. package/dist/components/Modal.js +11 -14
  109. package/dist/components/NumberInput.d.ts +25 -0
  110. package/dist/components/NumberInput.js +55 -0
  111. package/dist/components/Overview.js +12 -10
  112. package/dist/components/PageHeader.d.ts +2 -3
  113. package/dist/components/PageHeader.js +30 -21
  114. package/dist/components/Pagination.d.ts +27 -14
  115. package/dist/components/Pagination.js +86 -25
  116. package/dist/components/Popover.d.ts +47 -0
  117. package/dist/components/Popover.js +63 -0
  118. package/dist/components/Provider.d.ts +197 -80
  119. package/dist/components/Provider.js +200 -118
  120. package/dist/components/Radio.d.ts +1 -1
  121. package/dist/components/Radio.js +4 -4
  122. package/dist/components/RefreshButton.d.ts +15 -0
  123. package/dist/components/RefreshButton.js +53 -0
  124. package/dist/components/RunStatusIcon.d.ts +12 -0
  125. package/dist/components/RunStatusIcon.js +84 -0
  126. package/dist/components/SearchInput.d.ts +16 -0
  127. package/dist/components/SearchInput.js +52 -0
  128. package/dist/components/Section.d.ts +28 -0
  129. package/dist/components/Section.js +76 -0
  130. package/dist/components/SegmentedControl.d.ts +7 -11
  131. package/dist/components/SegmentedControl.js +25 -56
  132. package/dist/components/Select.d.ts +8 -1
  133. package/dist/components/Select.js +47 -43
  134. package/dist/components/SettingModeOption.d.ts +3 -5
  135. package/dist/components/SettingModeOption.js +5 -6
  136. package/dist/components/SettingsCard.d.ts +32 -19
  137. package/dist/components/SettingsCard.js +40 -13
  138. package/dist/components/Skeleton.d.ts +22 -0
  139. package/dist/components/Skeleton.js +34 -0
  140. package/dist/components/Slider.d.ts +16 -0
  141. package/dist/components/Slider.js +30 -0
  142. package/dist/components/Sort.js +4 -6
  143. package/dist/components/StatusBadge.d.ts +3 -1
  144. package/dist/components/StatusBadge.js +9 -32
  145. package/dist/components/StatusIcons.d.ts +0 -4
  146. package/dist/components/StatusIcons.js +5 -13
  147. package/dist/components/Switch.d.ts +5 -1
  148. package/dist/components/Switch.js +23 -6
  149. package/dist/components/Table.js +13 -20
  150. package/dist/components/Tabs.d.ts +52 -0
  151. package/dist/components/Tabs.js +75 -0
  152. package/dist/components/ThemeEditor.d.ts +29 -0
  153. package/dist/components/ThemeEditor.js +397 -0
  154. package/dist/components/Toast.d.ts +57 -0
  155. package/dist/components/Toast.js +203 -0
  156. package/dist/components/Tooltip.js +12 -15
  157. package/dist/components/buttonClasses.d.ts +18 -0
  158. package/dist/components/buttonClasses.js +31 -0
  159. package/dist/components/codeTheme.d.ts +5 -0
  160. package/dist/components/codeTheme.js +93 -0
  161. package/dist/components/fieldBox.d.ts +14 -0
  162. package/dist/components/fieldBox.js +29 -0
  163. package/dist/components/floating.d.ts +26 -5
  164. package/dist/components/floating.js +31 -9
  165. package/dist/{ai/ui/codeBreaks.js → components/markdownCodeBreaks.js} +1 -1
  166. package/dist/components/persistedState.d.ts +2 -0
  167. package/dist/components/persistedState.js +63 -0
  168. package/dist/components/relativeTime.d.ts +36 -8
  169. package/dist/components/relativeTime.js +106 -23
  170. package/dist/components/segmented.d.ts +17 -0
  171. package/dist/components/segmented.js +27 -0
  172. package/dist/components/shortcutKey.d.ts +4 -0
  173. package/dist/components/shortcutKey.js +27 -0
  174. package/dist/components/splitter.d.ts +26 -0
  175. package/dist/components/splitter.js +69 -0
  176. package/dist/components/tone.d.ts +9 -0
  177. package/dist/components/tone.js +30 -0
  178. package/dist/components/useCopy.d.ts +14 -0
  179. package/dist/components/useCopy.js +31 -0
  180. package/dist/components/useCssIsDark.d.ts +2 -0
  181. package/dist/components/useCssIsDark.js +2 -1
  182. package/dist/components/useTheme.d.ts +10 -0
  183. package/dist/components/useTheme.js +40 -0
  184. package/dist/cx.d.ts +5 -0
  185. package/dist/cx.js +11 -0
  186. package/dist/editor/Editor.js +2 -2
  187. package/dist/editor/EditorField.js +7 -10
  188. package/dist/editor/FormCodePanel.js +10 -23
  189. package/dist/editor/Monaco.js +7 -4
  190. package/dist/editor/index.d.ts +1 -1
  191. package/dist/editor/index.js +2 -2
  192. package/dist/editor/themes.d.ts +4 -0
  193. package/dist/editor/themes.js +75 -76
  194. package/dist/file-explorer/FileExplorer.js +180 -187
  195. package/dist/file-explorer/FileExplorerContext.js +36 -58
  196. package/dist/file-explorer/FilePreview/CodePreviewEditor.js +2 -1
  197. package/dist/file-explorer/FilePreview/Inline.js +9 -7
  198. package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
  199. package/dist/file-explorer/FilePreview/Viewer.js +32 -34
  200. package/dist/file-explorer/FilePreview/index.js +60 -92
  201. package/dist/file-explorer/FileRow.js +10 -15
  202. package/dist/file-explorer/FileRowsWindow.js +2 -6
  203. package/dist/file-explorer/FileTable.js +2 -2
  204. package/dist/file-explorer/FileTableHeaders.js +8 -11
  205. package/dist/file-explorer/LoadMoreRow.js +8 -9
  206. package/dist/file-explorer/TreeView.js +16 -16
  207. package/dist/file-explorer/helpers.d.ts +1 -4
  208. package/dist/file-explorer/helpers.js +101 -114
  209. package/dist/file-explorer/lib/utils.d.ts +0 -2
  210. package/dist/file-explorer/lib/utils.js +1 -25
  211. package/dist/file-explorer/toasts.js +104 -185
  212. package/dist/form/Fields/BooleanField.js +12 -14
  213. package/dist/form/Fields/CheckboxGroupField.d.ts +1 -1
  214. package/dist/form/Fields/CheckboxGroupField.js +16 -18
  215. package/dist/form/Fields/ColorField.js +11 -11
  216. package/dist/form/Fields/DropdownField.d.ts +1 -1
  217. package/dist/form/Fields/DropdownField.js +20 -36
  218. package/dist/form/Fields/DurationField.d.ts +1 -1
  219. package/dist/form/Fields/DurationField.js +36 -50
  220. package/dist/form/Fields/LabelField.js +2 -2
  221. package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
  222. package/dist/form/Fields/MultiDropdownField.js +9 -14
  223. package/dist/form/Fields/NumberField.d.ts +1 -1
  224. package/dist/form/Fields/NumberField.js +13 -48
  225. package/dist/form/Fields/ObjectField.js +3 -3
  226. package/dist/form/Fields/RadioField.d.ts +1 -1
  227. package/dist/form/Fields/RadioField.js +15 -18
  228. package/dist/form/Fields/RangeField.js +34 -35
  229. package/dist/form/Fields/StringField.d.ts +1 -1
  230. package/dist/form/Fields/StringField.js +15 -25
  231. package/dist/form/Fields/TextAreaField.js +10 -15
  232. package/dist/form/Form.d.ts +7 -2
  233. package/dist/form/Form.js +144 -49
  234. package/dist/form/FormLayout.js +18 -12
  235. package/dist/form/Wizard/WizardContainer.js +44 -18
  236. package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
  237. package/dist/form/Wizard/WizardNavigation.js +31 -56
  238. package/dist/form/Wizard/WizardStepIndicator.d.ts +3 -0
  239. package/dist/form/Wizard/WizardStepIndicator.js +98 -114
  240. package/dist/form/Wizard/types.d.ts +2 -2
  241. package/dist/form/fieldFrame.d.ts +7 -0
  242. package/dist/form/fieldFrame.js +19 -0
  243. package/dist/form/index.d.ts +5 -5
  244. package/dist/form/index.js +4 -6
  245. package/dist/form/layoutCSS.js +5 -4
  246. package/dist/form/types/fieldComponentTypes.d.ts +5 -3
  247. package/dist/form/useChoiceField.js +2 -3
  248. package/dist/form/useFieldValue.d.ts +3 -0
  249. package/dist/form/useFieldValue.js +24 -7
  250. package/dist/form/utils/duration.d.ts +2 -2
  251. package/dist/form/utils/duration.js +3 -3
  252. package/dist/form/utils/fieldPath.d.ts +5 -3
  253. package/dist/form/utils/fieldPath.js +18 -3
  254. package/dist/form/utils/secondaryField.d.ts +0 -7
  255. package/dist/form/utils/secondaryField.js +1 -12
  256. package/dist/form/validation.d.ts +29 -0
  257. package/dist/form/validation.js +14 -0
  258. package/dist/format.d.ts +28 -0
  259. package/dist/format.js +64 -0
  260. package/dist/graph/AnnotationBanner.js +20 -31
  261. package/dist/graph/Connectors.js +1 -1
  262. package/dist/graph/DependencyGraph.js +51 -65
  263. package/dist/graph/GraphEditor.js +24 -28
  264. package/dist/graph/GraphEditorDialogs.js +239 -245
  265. package/dist/graph/InputDialog.js +93 -112
  266. package/dist/graph/InputsEditor.js +83 -84
  267. package/dist/graph/JobSummary.js +10 -11
  268. package/dist/graph/MatrixGroup.js +3 -3
  269. package/dist/graph/ProblemsButton.js +9 -10
  270. package/dist/graph/ShortcutsButton.js +12 -17
  271. package/dist/graph/SuggestionInput.d.ts +1 -2
  272. package/dist/graph/SuggestionInput.js +1 -3
  273. package/dist/graph/TreeView.js +47 -45
  274. package/dist/graph/WorkflowSettingsDialog.js +97 -102
  275. package/dist/graph/editorChrome.js +10 -12
  276. package/dist/graph/editorFields.d.ts +19 -16
  277. package/dist/graph/editorFields.js +97 -135
  278. package/dist/graph/editorPrimitives.js +2 -2
  279. package/dist/graph/editorRows.js +22 -25
  280. package/dist/graph/editorStrings.d.ts +16 -19
  281. package/dist/graph/editorStrings.js +11 -23
  282. package/dist/graph/fieldProblems.js +2 -2
  283. package/dist/graph/graphEditorState.d.ts +4 -4
  284. package/dist/graph/inputRefs.d.ts +0 -13
  285. package/dist/graph/inputRefs.js +121 -159
  286. package/dist/graph/settingsViews.js +5 -3
  287. package/dist/graph/stepWith.js +100 -100
  288. package/dist/graph/toolbarPanel.d.ts +8 -0
  289. package/dist/graph/toolbarPanel.js +11 -0
  290. package/dist/icons.d.ts +234 -23
  291. package/dist/icons.js +249 -264
  292. package/dist/index.d.ts +38 -21
  293. package/dist/index.js +42 -21
  294. package/dist/list/ActionToolbar.d.ts +1 -5
  295. package/dist/list/ActionToolbar.js +21 -20
  296. package/dist/list/ListPage.js +7 -7
  297. package/dist/list/ListTable.d.ts +3 -2
  298. package/dist/list/ListTable.js +33 -29
  299. package/dist/list/ListViewControls.d.ts +0 -17
  300. package/dist/list/ListViewControls.js +50 -118
  301. package/dist/list/UserHoverCard.js +24 -32
  302. package/dist/list/index.d.ts +2 -4
  303. package/dist/list/index.js +3 -5
  304. package/dist/list/listSearch.d.ts +1 -1
  305. package/dist/list/listSearch.js +19 -14
  306. package/dist/list/rowMenu.js +20 -26
  307. package/dist/logviewer/LogViewer.js +268 -382
  308. package/dist/logviewer/logviewer.css +53 -41
  309. package/dist/styles/base.css +16 -40
  310. package/dist/styles/theme.css +75 -106
  311. package/dist/styles.css +1 -1
  312. package/dist/theme/color.d.ts +40 -0
  313. package/dist/theme/color.js +228 -0
  314. package/dist/theme/contrast.d.ts +42 -0
  315. package/dist/theme/contrast.js +145 -0
  316. package/dist/theme/derive.d.ts +25 -0
  317. package/dist/theme/derive.js +475 -0
  318. package/dist/theme/fit.d.ts +35 -0
  319. package/dist/theme/fit.js +185 -0
  320. package/dist/theme/index.d.ts +14 -29
  321. package/dist/theme/index.js +20 -279
  322. package/dist/theme/model.d.ts +64 -0
  323. package/dist/theme/model.js +219 -0
  324. package/package.json +9 -5
  325. package/dist/ai/ui/Avatar.d.ts +0 -7
  326. package/dist/ai/ui/Avatar.js +0 -24
  327. package/dist/components/Filter.d.ts +0 -15
  328. package/dist/components/Filter.js +0 -32
  329. package/dist/components/FilterPill.d.ts +0 -7
  330. package/dist/components/FilterPill.js +0 -14
  331. package/dist/components/Indicator.d.ts +0 -4
  332. package/dist/components/Indicator.js +0 -44
  333. package/dist/components/SectionHeader.d.ts +0 -8
  334. package/dist/components/SectionHeader.js +0 -11
  335. package/dist/components/SettingRow.d.ts +0 -18
  336. package/dist/components/SettingRow.js +0 -35
  337. package/dist/components/SettingsGroup.d.ts +0 -8
  338. package/dist/components/SettingsGroup.js +0 -17
  339. package/dist/components/ghostButton.d.ts +0 -4
  340. package/dist/components/ghostButton.js +0 -7
  341. package/dist/components/inputClasses.d.ts +0 -1
  342. package/dist/components/inputClasses.js +0 -4
  343. package/dist/duration.d.ts +0 -3
  344. package/dist/duration.js +0 -17
  345. package/dist/form/FieldGroup.d.ts +0 -11
  346. package/dist/form/FieldGroup.js +0 -36
  347. package/dist/form/FieldWrapper.d.ts +0 -16
  348. package/dist/form/FieldWrapper.js +0 -55
  349. package/dist/form/fieldContext.d.ts +0 -19
  350. package/dist/form/fieldContext.js +0 -26
  351. package/dist/graph/Collapse.d.ts +0 -7
  352. package/dist/graph/Collapse.js +0 -15
  353. package/dist/graph/ToolbarPopover.d.ts +0 -13
  354. package/dist/graph/ToolbarPopover.js +0 -39
  355. package/dist/icons/ai/AiOutlineRollback.js +0 -16
  356. package/dist/icons/bi/BiBell.js +0 -16
  357. package/dist/icons/bi/BiBellOff.js +0 -16
  358. package/dist/icons/bi/BiBuildings.js +0 -20
  359. package/dist/icons/bi/BiError.js +0 -20
  360. package/dist/icons/bi/BiExpandVertical.js +0 -16
  361. package/dist/icons/bi/BiPause.js +0 -16
  362. package/dist/icons/bi/BiPlay.js +0 -16
  363. package/dist/icons/bi/BiRedo.js +0 -16
  364. package/dist/icons/bi/BiSolidCheckShield.js +0 -16
  365. package/dist/icons/bi/BiSolidTrashAlt.js +0 -16
  366. package/dist/icons/bi/BiStop.js +0 -16
  367. package/dist/icons/bi/BiUndo.js +0 -16
  368. package/dist/icons/bs/BsArrowsCollapse.js +0 -22
  369. package/dist/icons/bs/BsBank2.js +0 -19
  370. package/dist/icons/bs/BsBriefcase.js +0 -19
  371. package/dist/icons/bs/BsBucket.js +0 -19
  372. package/dist/icons/bs/BsCalendarX.js +0 -23
  373. package/dist/icons/bs/BsChatLeft.js +0 -19
  374. package/dist/icons/bs/BsChevronDoubleDown.js +0 -29
  375. package/dist/icons/bs/BsChevronDoubleUp.js +0 -29
  376. package/dist/icons/bs/BsClipboardCheck.js +0 -34
  377. package/dist/icons/bs/BsCurrencyDollar.js +0 -19
  378. package/dist/icons/bs/BsDash.js +0 -19
  379. package/dist/icons/bs/BsFileEarmarkZip.js +0 -23
  380. package/dist/icons/bs/BsFiles.js +0 -19
  381. package/dist/icons/bs/BsGeoAlt.js +0 -23
  382. package/dist/icons/bs/BsGrid.js +0 -19
  383. package/dist/icons/bs/BsLayers.js +0 -19
  384. package/dist/icons/bs/BsLayoutThreeColumns.js +0 -19
  385. package/dist/icons/bs/BsListUl.js +0 -22
  386. package/dist/icons/bs/BsMortarboard.js +0 -23
  387. package/dist/icons/bs/BsMusicNoteBeamed.js +0 -34
  388. package/dist/icons/bs/BsOpenai.js +0 -19
  389. package/dist/icons/bs/BsPersonPlus.js +0 -26
  390. package/dist/icons/bs/BsSearch.js +0 -19
  391. package/dist/icons/bs/BsSend.js +0 -19
  392. package/dist/icons/bs/BsShieldSlash.js +0 -22
  393. package/dist/icons/bs/BsStar.js +0 -19
  394. package/dist/icons/bs/BsStarFill.js +0 -19
  395. package/dist/icons/bs/BsStopCircle.js +0 -23
  396. package/dist/icons/bs/BsTag.js +0 -23
  397. package/dist/icons/bs/BsTelephone.js +0 -19
  398. package/dist/icons/bs/BsTerminal.js +0 -23
  399. package/dist/icons/bs/BsTerminalFill.js +0 -19
  400. package/dist/icons/bs/BsThreeDots.js +0 -19
  401. package/dist/icons/bs/BsThreeDotsVertical.js +0 -19
  402. package/dist/icons/bs/BsZoomIn.js +0 -37
  403. package/dist/icons/fa/FaAmazon.js +0 -16
  404. package/dist/icons/fa/FaAngleDown.js +0 -16
  405. package/dist/icons/fa/FaAngleLeft.js +0 -16
  406. package/dist/icons/fa/FaAngleRight.js +0 -16
  407. package/dist/icons/fa/FaAngleUp.js +0 -16
  408. package/dist/icons/fa/FaArrowDown.js +0 -16
  409. package/dist/icons/fa/FaArrowLeft.js +0 -16
  410. package/dist/icons/fa/FaArrowRight.js +0 -16
  411. package/dist/icons/fa/FaArrowUp.js +0 -16
  412. package/dist/icons/fa/FaBalanceScale.js +0 -16
  413. package/dist/icons/fa/FaCaretDown.js +0 -16
  414. package/dist/icons/fa/FaCentos.js +0 -16
  415. package/dist/icons/fa/FaChartLine.js +0 -16
  416. package/dist/icons/fa/FaChartPie.js +0 -16
  417. package/dist/icons/fa/FaCheck.js +0 -16
  418. package/dist/icons/fa/FaChevronDown.js +0 -16
  419. package/dist/icons/fa/FaChevronUp.js +0 -16
  420. package/dist/icons/fa/FaChrome.js +0 -16
  421. package/dist/icons/fa/FaCircleNotch.js +0 -16
  422. package/dist/icons/fa/FaCloud.js +0 -16
  423. package/dist/icons/fa/FaCloudDownloadAlt.js +0 -16
  424. package/dist/icons/fa/FaCog.js +0 -16
  425. package/dist/icons/fa/FaCogs.js +0 -16
  426. package/dist/icons/fa/FaComments.js +0 -16
  427. package/dist/icons/fa/FaCompress.js +0 -16
  428. package/dist/icons/fa/FaDesktop.js +0 -16
  429. package/dist/icons/fa/FaDocker.js +0 -16
  430. package/dist/icons/fa/FaDollarSign.js +0 -16
  431. package/dist/icons/fa/FaEdge.js +0 -16
  432. package/dist/icons/fa/FaEdit.js +0 -16
  433. package/dist/icons/fa/FaExclamationTriangle.js +0 -16
  434. package/dist/icons/fa/FaExpand.js +0 -16
  435. package/dist/icons/fa/FaEye.js +0 -16
  436. package/dist/icons/fa/FaEyeSlash.js +0 -16
  437. package/dist/icons/fa/FaFile.js +0 -16
  438. package/dist/icons/fa/FaFilePdf.js +0 -16
  439. package/dist/icons/fa/FaFilter.js +0 -16
  440. package/dist/icons/fa/FaFirefoxBrowser.js +0 -16
  441. package/dist/icons/fa/FaFlask.js +0 -16
  442. package/dist/icons/fa/FaFolder.js +0 -16
  443. package/dist/icons/fa/FaGithub.js +0 -16
  444. package/dist/icons/fa/FaGitlab.js +0 -16
  445. package/dist/icons/fa/FaGlobe.js +0 -16
  446. package/dist/icons/fa/FaGlobeAmericas.js +0 -16
  447. package/dist/icons/fa/FaImage.js +0 -16
  448. package/dist/icons/fa/FaInfoCircle.js +0 -16
  449. package/dist/icons/fa/FaKey.js +0 -16
  450. package/dist/icons/fa/FaLayerGroup.js +0 -16
  451. package/dist/icons/fa/FaLink.js +0 -16
  452. package/dist/icons/fa/FaLinkedin.js +0 -16
  453. package/dist/icons/fa/FaLinux.js +0 -16
  454. package/dist/icons/fa/FaList.js +0 -16
  455. package/dist/icons/fa/FaLock.js +0 -16
  456. package/dist/icons/fa/FaOpenid.js +0 -16
  457. package/dist/icons/fa/FaOpera.js +0 -16
  458. package/dist/icons/fa/FaPaperclip.js +0 -16
  459. package/dist/icons/fa/FaPlus.js +0 -16
  460. package/dist/icons/fa/FaPowerOff.js +0 -16
  461. package/dist/icons/fa/FaPrint.js +0 -16
  462. package/dist/icons/fa/FaQrcode.js +0 -16
  463. package/dist/icons/fa/FaQuestionCircle.js +0 -16
  464. package/dist/icons/fa/FaRedhat.js +0 -16
  465. package/dist/icons/fa/FaRegCircle.js +0 -16
  466. package/dist/icons/fa/FaRegFileImage.js +0 -16
  467. package/dist/icons/fa/FaRegFolder.js +0 -16
  468. package/dist/icons/fa/FaRobot.js +0 -16
  469. package/dist/icons/fa/FaRocket.js +0 -16
  470. package/dist/icons/fa/FaRunning.js +0 -16
  471. package/dist/icons/fa/FaSafari.js +0 -16
  472. package/dist/icons/fa/FaSave.js +0 -16
  473. package/dist/icons/fa/FaSearch.js +0 -16
  474. package/dist/icons/fa/FaShieldAlt.js +0 -16
  475. package/dist/icons/fa/FaSlack.js +0 -16
  476. package/dist/icons/fa/FaStar.js +0 -16
  477. package/dist/icons/fa/FaStop.js +0 -16
  478. package/dist/icons/fa/FaSuse.js +0 -16
  479. package/dist/icons/fa/FaTerminal.js +0 -16
  480. package/dist/icons/fa/FaTimes.js +0 -16
  481. package/dist/icons/fa/FaUbuntu.js +0 -16
  482. package/dist/icons/fa/FaUndoAlt.js +0 -16
  483. package/dist/icons/fa/FaUnlink.js +0 -16
  484. package/dist/icons/fa/FaUser.js +0 -16
  485. package/dist/icons/fa/FaUsers.js +0 -16
  486. package/dist/icons/fa/FaWindows.js +0 -16
  487. package/dist/icons/fa6/FaApple.js +0 -16
  488. package/dist/icons/fa6/FaArrowsRotate.js +0 -16
  489. package/dist/icons/fa6/FaDebian.js +0 -16
  490. package/dist/icons/fa6/FaFilterCircleXmark.js +0 -16
  491. package/dist/icons/fa6/FaInbox.js +0 -16
  492. package/dist/icons/fa6/FaLocationDot.js +0 -16
  493. package/dist/icons/fa6/FaRegFilePdf.js +0 -16
  494. package/dist/icons/fa6/FaRegFolderOpen.js +0 -16
  495. package/dist/icons/fa6/FaUpRightFromSquare.js +0 -16
  496. package/dist/icons/fa6/FaWandMagicSparkles.js +0 -16
  497. package/dist/icons/fa6/FaXTwitter.js +0 -16
  498. package/dist/icons/fi/FiActivity.js +0 -23
  499. package/dist/icons/fi/FiAlertCircle.js +0 -49
  500. package/dist/icons/fi/FiChevronDown.js +0 -23
  501. package/dist/icons/fi/FiClock.js +0 -31
  502. package/dist/icons/fi/FiCopy.js +0 -34
  503. package/dist/icons/fi/FiDownload.js +0 -40
  504. package/dist/icons/fi/FiFile.js +0 -27
  505. package/dist/icons/fi/FiFileText.js +0 -55
  506. package/dist/icons/fi/FiHardDrive.js +0 -55
  507. package/dist/icons/fi/FiRotateCcw.js +0 -27
  508. package/dist/icons/fi/FiUpload.js +0 -40
  509. package/dist/icons/fi/FiX.js +0 -37
  510. package/dist/icons/fi/FiZap.js +0 -23
  511. package/dist/icons/gi/GiSpy.js +0 -16
  512. package/dist/icons/go/GoGitCommit.js +0 -16
  513. package/dist/icons/go/GoGitPullRequest.js +0 -20
  514. package/dist/icons/go/GoIssueOpened.js +0 -16
  515. package/dist/icons/go/GoPlus.js +0 -16
  516. package/dist/icons/go/GoRepoForked.js +0 -28
  517. package/dist/icons/go/GoSignOut.js +0 -16
  518. package/dist/icons/go/GoSkip.js +0 -20
  519. package/dist/icons/go/GoVideo.js +0 -20
  520. package/dist/icons/gr/GrCloudComputer.js +0 -20
  521. package/dist/icons/gr/GrInbox.js +0 -20
  522. package/dist/icons/gr/GrServerCluster.js +0 -20
  523. package/dist/icons/gr/GrStorage.js +0 -20
  524. package/dist/icons/gr/GrTasks.js +0 -20
  525. package/dist/icons/hi/HiCog.js +0 -24
  526. package/dist/icons/hi/HiDuplicate.js +0 -24
  527. package/dist/icons/hi/HiOutlineArchive.js +0 -26
  528. package/dist/icons/hi/HiOutlineClipboardCopy.js +0 -26
  529. package/dist/icons/hi/HiOutlineHome.js +0 -26
  530. package/dist/icons/hi/HiQuestionMarkCircle.js +0 -24
  531. package/dist/icons/hi/HiServer.js +0 -24
  532. package/dist/icons/hi2/HiMiniCheckCircle.js +0 -24
  533. package/dist/icons/hi2/HiMiniLanguage.js +0 -28
  534. package/dist/icons/hi2/HiMiniMinusCircle.js +0 -24
  535. package/dist/icons/hi2/HiMiniXCircle.js +0 -24
  536. package/dist/icons/hi2/HiSparkles.js +0 -24
  537. package/dist/icons/im/ImSpinner5.js +0 -19
  538. package/dist/icons/io/IoIosNotifications.js +0 -16
  539. package/dist/icons/io/IoMdBuild.js +0 -16
  540. package/dist/icons/io/IoMdClose.js +0 -16
  541. package/dist/icons/io5/IoCloudUploadOutline.js +0 -32
  542. package/dist/icons/io5/IoDocumentTextOutline.js +0 -31
  543. package/dist/icons/io5/IoFileTrayFullOutline.js +0 -31
  544. package/dist/icons/io5/IoHeart.js +0 -16
  545. package/dist/icons/io5/IoHeartDislike.js +0 -16
  546. package/dist/icons/io5/IoHeartOutline.js +0 -22
  547. package/dist/icons/io5/IoInformationCircleOutline.js +0 -50
  548. package/dist/icons/io5/IoSettingsOutline.js +0 -22
  549. package/dist/icons/io5/IoWarningOutline.js +0 -40
  550. package/dist/icons/lu/LuArrowRight.js +0 -27
  551. package/dist/icons/lu/LuBadgeCheck.js +0 -27
  552. package/dist/icons/lu/LuBraces.js +0 -27
  553. package/dist/icons/lu/LuBrainCircuit.js +0 -101
  554. package/dist/icons/lu/LuCalendar.js +0 -46
  555. package/dist/icons/lu/LuCheck.js +0 -23
  556. package/dist/icons/lu/LuChevronLeft.js +0 -23
  557. package/dist/icons/lu/LuChevronRight.js +0 -23
  558. package/dist/icons/lu/LuCode.js +0 -27
  559. package/dist/icons/lu/LuExternalLink.js +0 -35
  560. package/dist/icons/lu/LuEye.js +0 -31
  561. package/dist/icons/lu/LuEyeOff.js +0 -40
  562. package/dist/icons/lu/LuFolderTree.js +0 -40
  563. package/dist/icons/lu/LuIdCard.js +0 -55
  564. package/dist/icons/lu/LuKeyboard.js +0 -71
  565. package/dist/icons/lu/LuLogs.js +0 -65
  566. package/dist/icons/lu/LuMail.js +0 -33
  567. package/dist/icons/lu/LuMegaphone.js +0 -27
  568. package/dist/icons/lu/LuMoon.js +0 -23
  569. package/dist/icons/lu/LuNetwork.js +0 -63
  570. package/dist/icons/lu/LuPartyPopper.js +0 -65
  571. package/dist/icons/lu/LuSettings2.js +0 -48
  572. package/dist/icons/lu/LuSheet.js +0 -72
  573. package/dist/icons/lu/LuShield.js +0 -23
  574. package/dist/icons/lu/LuSun.js +0 -69
  575. package/dist/icons/lu/LuTextCursorInput.js +0 -45
  576. package/dist/icons/lu/LuX.js +0 -27
  577. package/dist/icons/lu/LuZoomIn.js +0 -59
  578. package/dist/icons/lu/LuZoomOut.js +0 -49
  579. package/dist/icons/md/MdClear.js +0 -23
  580. package/dist/icons/md/MdDragHandle.js +0 -23
  581. package/dist/icons/md/MdInstallDesktop.js +0 -31
  582. package/dist/icons/md/MdOutlineAttachMoney.js +0 -23
  583. package/dist/icons/md/MdOutlineMoneyOff.js +0 -23
  584. package/dist/icons/md/MdPieChart.js +0 -23
  585. package/dist/icons/md/MdRefresh.js +0 -23
  586. package/dist/icons/md/MdReplay.js +0 -23
  587. package/dist/icons/md/MdSmartphone.js +0 -23
  588. package/dist/icons/pi/PiArrowBendUpRightBold.js +0 -19
  589. package/dist/icons/pi/PiPlugsConnectedFill.js +0 -19
  590. package/dist/icons/pi/PiRectangleDashed.js +0 -19
  591. package/dist/icons/pi/PiShareBold.js +0 -19
  592. package/dist/icons/si/SiAnthropic.js +0 -19
  593. package/dist/icons/si/SiHelm.js +0 -19
  594. package/dist/icons/si/SiKubernetes.js +0 -19
  595. package/dist/icons/tb/TbAlertTriangle.js +0 -35
  596. package/dist/icons/tb/TbAlertTriangleFilled.js +0 -19
  597. package/dist/icons/tb/TbApi.js +0 -40
  598. package/dist/icons/tb/TbBrain.js +0 -50
  599. package/dist/icons/tb/TbBuildingTunnel.js +0 -65
  600. package/dist/icons/tb/TbEdit.js +0 -35
  601. package/dist/icons/tb/TbLayoutSidebar.js +0 -27
  602. package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +0 -35
  603. package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +0 -35
  604. package/dist/icons/tb/TbUser.js +0 -27
  605. package/dist/icons/tb/TbUserOff.js +0 -35
  606. package/dist/icons/tb/TbWorldShare.js +0 -55
  607. package/dist/icons/tb/TbWorldWww.js +0 -65
  608. package/dist/icons/ti/TiArrowSortedDown.js +0 -20
  609. package/dist/icons/ti/TiArrowSortedUp.js +0 -20
  610. package/dist/icons/ti/TiArrowUnsorted.js +0 -20
  611. package/dist/icons/ti/TiCancel.js +0 -20
  612. package/dist/icons/vsc/VscChromeMinimize.js +0 -19
  613. package/dist/icons/vsc/VscJson.js +0 -19
  614. package/dist/icons/vsc/VscLayoutSidebarLeft.js +0 -19
  615. package/dist/icons/vsc/VscPass.js +0 -27
  616. package/dist/icons/vsc/VscSplitHorizontal.js +0 -19
  617. package/dist/icons/vsc/VscTerminalPowershell.js +0 -19
  618. package/dist/list/ListPager.d.ts +0 -14
  619. package/dist/list/ListPager.js +0 -62
  620. package/dist/list/textEntry.d.ts +0 -2
  621. package/dist/list/textEntry.js +0 -10
  622. /package/dist/{ai/ui/codeBreaks.d.ts → components/markdownCodeBreaks.d.ts} +0 -0
@@ -1,24 +1,23 @@
1
- import { BiSolidTrashAlt } from "../icons/bi/BiSolidTrashAlt.js";
2
- import { FaArrowDown } from "../icons/fa/FaArrowDown.js";
3
- import { FaArrowUp } from "../icons/fa/FaArrowUp.js";
4
- import { IoMdClose } from "../icons/io/IoMdClose.js";
1
+ import { ArrowDownIcon, ArrowUpIcon, RemoveIcon, TrashIcon } from "../icons.js";
5
2
  import { withPositionKeys } from "../components/keys.js";
6
3
  import { useWorkflowActions, useWorkflowEditing } from "../components/Provider.js";
4
+ import { Checkbox } from "../components/Checkbox.js";
5
+ import { ErrorText, FieldOption } from "../components/Field.js";
7
6
  import { IconButton } from "../components/IconButton.js";
8
- import { Input, fieldBoxClasses } from "../components/Input.js";
7
+ import { Input } from "../components/Input.js";
8
+ import { Select } from "../components/Select.js";
9
9
  import { useGraphEditorStrings } from "./editorStrings.js";
10
10
  import { asRecord } from "./records.js";
11
11
  import { useLintContext, useLintEditing } from "../editor/lintContext.js";
12
12
  import { JOB_YAML_PATH, STEP_YAML_PATH } from "../editor/settingsYaml.js";
13
13
  import { FieldProblems, LintScope, ProblemList, useFieldProblems } from "./fieldProblems.js";
14
- import { AddRowButton, ChoiceButtons, DialogShell, ENV_KEY, EXPRESSION, ExpressionToggle, FieldError, FieldLabel, KeyValueEditor, LabelledField, Section, SectionMemory, ToggleField, conditionText, countError, diffPatch, durationError, expressionError, flagError, flagOf, isEmptyPatch, isScalar, labelled, orUndefined, parseCondition, parseCount, parseJson, parseScalar, removeAt, rowsError, rowsFrom, rowsTo, sameValue, text, unchangedValue, updateAt, useSectionMemory } from "./editorFields.js";
14
+ import { AddRowButton, ChoiceButtons, DialogSection, DialogShell, ENV_KEY, EXPRESSION, ExpressionToggle, KeyValueEditor, SectionMemory, ToggleField, YamlField, conditionText, countError, diffPatch, durationError, expressionError, flagError, flagOf, isEmptyPatch, isScalar, labelled, orUndefined, parseCondition, parseCount, parseJson, parseScalar, removeAt, rowsError, rowsFrom, rowsTo, sameValue, text, unchangedValue, updateAt, useSectionMemory } from "./editorFields.js";
15
15
  import { ConditionField, FlagField, InputRefSelect, ScriptField, ValueOrInputField, readRef, refExpression, refSuggestions } from "./inputRefs.js";
16
16
  import { expressionRefs } from "./expressionRefs.js";
17
17
  import { NO_SCOPED, ViewSwitch, YamlPane, yamlProblem } from "./settingsViews.js";
18
18
  import { useNewInputs } from "./InputDialog.js";
19
19
  import { editErrorText } from "./refusalText.js";
20
20
  import { UsesPicker, WithEditor, usesKind, withDraftFrom, withError, withValue } from "./stepWith.js";
21
- import { clsx } from "clsx";
22
21
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
23
22
  import { useId, useMemo, useRef, useState } from "react";
24
23
  //#region src/graph/GraphEditorDialogs.tsx
@@ -168,10 +167,10 @@ function runsOnError(fields, sshUsed, t) {
168
167
  if (sshUsed) return t.runsOnWithSsh;
169
168
  if (fields.kind === "target") {
170
169
  if (!TARGET_MODES.includes(fields.mode.trim())) return t.runsOnNeedsMode;
171
- return rowsError(fields.schedulingParams, PARAM_KEY, t.invalidKey, t);
170
+ return rowsError(fields.schedulingParams, PARAM_KEY, t.common.invalidName, t);
172
171
  }
173
172
  if (!fields.cluster.trim() || !fields.name.trim()) return t.runsOnNeedsEnvironment;
174
- return rowsError(fields.params, PARAM_KEY, t.invalidKey, t);
173
+ return rowsError(fields.params, PARAM_KEY, t.common.invalidName, t);
175
174
  }
176
175
  function sshHelp(key, t) {
177
176
  return key === "disconnect-timeout" ? t.help.disconnectTimeout : t.help[key];
@@ -219,14 +218,14 @@ function SshEditor({ fields, onChange, error, source }) {
219
218
  value: fields[key],
220
219
  onChange: (e) => set(key)(e.target.value)
221
220
  }, key)),
222
- /* @__PURE__ */ jsx(FieldError, { message: error })
221
+ /* @__PURE__ */ jsx(ErrorText, { children: error })
223
222
  ]
224
223
  });
225
224
  }
226
225
  /** A job's or step's env, each value checked against what it reads. */
227
226
  function EnvSection({ description, rows, onChange, error, source }) {
228
227
  const t = useGraphEditorStrings();
229
- return /* @__PURE__ */ jsx(Section, {
228
+ return /* @__PURE__ */ jsx(DialogSection, {
230
229
  title: t.sectionEnvironment,
231
230
  description,
232
231
  open: rows.length > 0,
@@ -271,7 +270,7 @@ function outputsTo(rows, job) {
271
270
  function outputsError(rows, t) {
272
271
  const names = rows.map((row) => row.name.trim());
273
272
  for (const [i, row] of rows.entries()) {
274
- if (!OUTPUT_KEY.test(names[i] ?? "")) return t.invalidKey;
273
+ if (!OUTPUT_KEY.test(names[i] ?? "")) return t.common.invalidName;
275
274
  if (names.indexOf(names[i] ?? "") !== i) return t.duplicateKey;
276
275
  if (row.custom !== void 0 && !row.custom.trim()) return t.required;
277
276
  if (row.custom === void 0 && (!row.step || !OUTPUT_KEY.test(row.output.trim()))) return t.outputNeedsStep;
@@ -313,19 +312,16 @@ function OutputsEditor({ rows, onChange, stepIds, error }) {
313
312
  })
314
313
  }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
315
314
  className: "w-1/3",
316
- children: /* @__PURE__ */ jsxs("select", {
315
+ children: /* @__PURE__ */ jsx(Select, {
317
316
  "aria-label": t.outputStep,
318
- value: row.step,
319
- onChange: (e) => update(i, { step: e.target.value }),
320
- className: fieldBoxClasses,
321
- children: [/* @__PURE__ */ jsx("option", {
322
- value: "",
323
- disabled: true,
324
- children: t.outputStep
325
- }), stepIds.map((id) => /* @__PURE__ */ jsx("option", {
317
+ placeholder: t.outputStep,
318
+ items: stepIds.map((id) => ({
326
319
  value: id,
327
- children: id
328
- }, id))]
320
+ label: id
321
+ })),
322
+ value: row.step || null,
323
+ onValueChange: (step) => update(i, { step: step ?? "" }),
324
+ className: "font-mono"
329
325
  })
330
326
  }), /* @__PURE__ */ jsx("div", {
331
327
  className: "flex-1",
@@ -351,17 +347,17 @@ function OutputsEditor({ rows, onChange, stepIds, error }) {
351
347
  } : other))
352
348
  }),
353
349
  /* @__PURE__ */ jsx(IconButton, {
354
- icon: /* @__PURE__ */ jsx(IoMdClose, { className: "h-4 w-4" }),
355
- label: t.removeRow,
350
+ icon: /* @__PURE__ */ jsx(RemoveIcon, {}),
351
+ label: t.common.remove,
356
352
  variant: "ghost",
357
353
  size: "sm",
358
354
  onClick: () => onChange(removeAt(rows, i))
359
355
  })
360
356
  ]
361
357
  }, key)),
362
- /* @__PURE__ */ jsx(FieldError, { message: error }),
358
+ /* @__PURE__ */ jsx(ErrorText, { children: error }),
363
359
  /* @__PURE__ */ jsx(AddRowButton, {
364
- label: t.addRow,
360
+ label: t.common.add,
365
361
  onClick: () => onChange([...rows, {
366
362
  name: "",
367
363
  step: stepIds[0] ?? "",
@@ -423,31 +419,31 @@ function entriesTo(entries) {
423
419
  }
424
420
  function entriesError(entries, t) {
425
421
  for (const rows of entries) {
426
- const error = rows.length === 0 ? t.invalidMatrixEntry : rowsError(rows, MATRIX_KEY, t.invalidKey, t);
422
+ const error = rows.length === 0 ? t.invalidMatrixEntry : rowsError(rows, MATRIX_KEY, t.common.invalidName, t);
427
423
  if (error) return error;
428
424
  }
429
425
  }
430
426
  /** Combinations to add or skip, as entries of keys and values or as one expression. */
431
427
  function MatrixEntries({ label, yamlKey, description, entries, onChange, text, onText, error }) {
432
428
  const t = useGraphEditorStrings();
433
- return /* @__PURE__ */ jsxs("div", {
434
- className: "flex flex-col gap-2",
435
- children: [/* @__PURE__ */ jsx(FieldLabel, {
436
- label,
437
- yamlKey,
438
- description,
439
- actions: /* @__PURE__ */ jsx(ExpressionToggle, {
440
- active: text !== void 0,
441
- onChange: (on) => onText(on ? "" : void 0)
442
- })
443
- }), text !== void 0 ? /* @__PURE__ */ jsx(Input, {
429
+ return /* @__PURE__ */ jsx(YamlField, {
430
+ label,
431
+ yamlKey,
432
+ description,
433
+ error,
434
+ actions: /* @__PURE__ */ jsx(ExpressionToggle, {
435
+ active: text !== void 0,
436
+ onChange: (on) => onText(on ? "" : void 0)
437
+ }),
438
+ children: text !== void 0 ? /* @__PURE__ */ jsx(Input, {
444
439
  mono: true,
445
440
  "aria-label": label,
441
+ "aria-invalid": error ? true : void 0,
446
442
  value: text,
447
- error,
448
443
  onChange: (e) => onText(e.target.value)
449
- }) : /* @__PURE__ */ jsxs(Fragment, { children: [
450
- withPositionKeys(entries).map(({ key, item: rows }, i) => /* @__PURE__ */ jsxs("div", {
444
+ }) : /* @__PURE__ */ jsxs("div", {
445
+ className: "flex flex-col gap-2",
446
+ children: [withPositionKeys(entries).map(({ key, item: rows }, i) => /* @__PURE__ */ jsxs("div", {
451
447
  className: "flex items-start gap-2",
452
448
  children: [/* @__PURE__ */ jsx("div", {
453
449
  className: "flex-1 rounded-md border theme-border p-2",
@@ -457,22 +453,20 @@ function MatrixEntries({ label, yamlKey, description, entries, onChange, text, o
457
453
  error: void 0
458
454
  })
459
455
  }), /* @__PURE__ */ jsx(IconButton, {
460
- icon: /* @__PURE__ */ jsx(IoMdClose, { className: "h-4 w-4" }),
456
+ icon: /* @__PURE__ */ jsx(RemoveIcon, {}),
461
457
  label: t.removeEntry,
462
458
  variant: "ghost",
463
459
  size: "sm",
464
460
  onClick: () => onChange(removeAt(entries, i))
465
461
  })]
466
- }, key)),
467
- /* @__PURE__ */ jsx(FieldError, { message: error }),
468
- /* @__PURE__ */ jsx(AddRowButton, {
462
+ }, key)), /* @__PURE__ */ jsx(AddRowButton, {
469
463
  label: t.addEntry,
470
464
  onClick: () => onChange([...entries, [{
471
465
  key: "",
472
466
  value: ""
473
467
  }]])
474
- })
475
- ] })]
468
+ })]
469
+ })
476
470
  });
477
471
  }
478
472
  /** One matrix variable: values listed here, or the selections of a multi-select input. */
@@ -502,6 +496,7 @@ function MatrixVariable({ row, source, onChange, onRemove }) {
502
496
  }), /* @__PURE__ */ jsx("div", {
503
497
  className: "flex-1",
504
498
  children: /* @__PURE__ */ jsx(ChoiceButtons, {
499
+ label: t.matrixValuesFrom,
505
500
  options: [{
506
501
  value: "values",
507
502
  label: t.matrixValuesListed
@@ -548,7 +543,7 @@ function MatrixVariable({ row, source, onChange, onRemove }) {
548
543
  })
549
544
  })]
550
545
  }), /* @__PURE__ */ jsx(IconButton, {
551
- icon: /* @__PURE__ */ jsx(IoMdClose, { className: "h-4 w-4" }),
546
+ icon: /* @__PURE__ */ jsx(RemoveIcon, {}),
552
547
  label: t.removeVariable,
553
548
  variant: "ghost",
554
549
  size: "sm",
@@ -681,47 +676,46 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
681
676
  error: errors.name,
682
677
  onChange: (e) => setName(e.target.value)
683
678
  }),
684
- /* @__PURE__ */ jsxs(Section, {
679
+ /* @__PURE__ */ jsxs(DialogSection, {
685
680
  title: t.sectionDependencies,
686
681
  open: true,
687
- children: [
688
- /* @__PURE__ */ jsx(FieldLabel, {
689
- label: t.fields.needs,
690
- yamlKey: "needs",
691
- description: needsTyped ? t.help.needsExpression : t.help.needs,
692
- actions: /* @__PURE__ */ jsx(ExpressionToggle, {
693
- active: needsTyped,
694
- onChange: setNeedsTyped
695
- })
682
+ children: [/* @__PURE__ */ jsx(YamlField, {
683
+ label: t.fields.needs,
684
+ yamlKey: "needs",
685
+ description: needsTyped ? t.help.needsExpression : t.help.needs,
686
+ error: needsTyped && errors.needs || needsLint,
687
+ actions: /* @__PURE__ */ jsx(ExpressionToggle, {
688
+ active: needsTyped,
689
+ onChange: setNeedsTyped
696
690
  }),
697
- needsTyped ? /* @__PURE__ */ jsx(Input, {
691
+ children: needsTyped ? /* @__PURE__ */ jsx(Input, {
698
692
  id: needsId,
699
693
  mono: true,
700
694
  "aria-label": t.fields.needs,
695
+ "aria-invalid": errors.needs || needsLint ? true : void 0,
701
696
  value: needsText,
702
- error: errors.needs ?? (needsLint || void 0),
703
697
  onChange: (e) => setNeedsText(e.target.value)
704
698
  }) : others.length === 0 ? /* @__PURE__ */ jsx("div", {
705
699
  className: "text-xs theme-muted-text",
706
700
  children: t.noOtherJobs
707
- }) : /* @__PURE__ */ jsxs("div", {
701
+ }) : /* @__PURE__ */ jsx("div", {
708
702
  id: needsId,
709
703
  tabIndex: -1,
710
704
  className: "flex flex-col gap-1.5",
711
- children: [[...others, ...missing].map((other) => {
705
+ children: [...others, ...missing].map((other) => {
712
706
  const entry = needs.find((need) => needTarget(need) === other);
713
707
  const cycle = !entry && editing.dependsOn(allNeeds, other, job);
714
708
  return /* @__PURE__ */ jsxs("div", {
715
709
  className: "flex items-center gap-2 text-sm",
716
- children: [/* @__PURE__ */ jsxs("label", {
717
- className: clsx("flex flex-1 items-center gap-2", cycle ? "cursor-not-allowed opacity-50" : "cursor-pointer"),
718
- title: cycle ? t.dependsOnThisJob : void 0,
710
+ title: cycle ? t.dependsOnThisJob : void 0,
711
+ children: [/* @__PURE__ */ jsxs(FieldOption, {
712
+ disabled: cycle,
713
+ className: "flex flex-1 items-center gap-2",
719
714
  children: [
720
- /* @__PURE__ */ jsx("input", {
721
- type: "checkbox",
715
+ /* @__PURE__ */ jsx(Checkbox, {
722
716
  checked: !!entry,
723
717
  disabled: cycle,
724
- onChange: (e) => toggleNeed(other, e.target.checked)
718
+ onCheckedChange: (on) => toggleNeed(other, on)
725
719
  }),
726
720
  /* @__PURE__ */ jsx("span", {
727
721
  className: "font-mono",
@@ -732,30 +726,30 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
732
726
  children: t.missingJob
733
727
  })
734
728
  ]
735
- }), entry && isMatrixJob(other) && /* @__PURE__ */ jsxs("label", {
736
- className: "flex cursor-pointer items-center gap-1.5 text-xs theme-muted-text",
729
+ }), entry && isMatrixJob(other) && /* @__PURE__ */ jsx("span", {
737
730
  title: t.help.waitForAny,
738
- children: [/* @__PURE__ */ jsx("input", {
739
- type: "checkbox",
740
- checked: entry.endsWith(":any"),
741
- onChange: (e) => toggleAny(other, e.target.checked)
742
- }), t.waitForAny]
731
+ children: /* @__PURE__ */ jsxs(FieldOption, {
732
+ className: "flex items-center gap-1.5 text-xs theme-muted-text",
733
+ children: [/* @__PURE__ */ jsx(Checkbox, {
734
+ checked: entry.endsWith(":any"),
735
+ onCheckedChange: (on) => toggleAny(other, on)
736
+ }), t.waitForAny]
737
+ })
743
738
  })]
744
739
  }, other);
745
- }), /* @__PURE__ */ jsx(FieldError, { message: needsLint || void 0 })]
746
- }),
747
- /* @__PURE__ */ jsx(ConditionField, {
748
- scope: "job",
749
- label: t.fields.condition,
750
- yamlKey: "if",
751
- description: t.help.jobIf,
752
- value: condition,
753
- onChange: setCondition,
754
- source
740
+ })
755
741
  })
756
- ]
742
+ }), /* @__PURE__ */ jsx(ConditionField, {
743
+ scope: "job",
744
+ label: t.fields.condition,
745
+ yamlKey: "if",
746
+ description: t.help.jobIf,
747
+ value: condition,
748
+ onChange: setCondition,
749
+ source
750
+ })]
757
751
  }),
758
- /* @__PURE__ */ jsx(Section, {
752
+ /* @__PURE__ */ jsx(DialogSection, {
759
753
  title: t.sectionRemoteHost,
760
754
  description: t.runsInWorkspace,
761
755
  open: !!sshTo(ssh, original["ssh"]),
@@ -767,29 +761,29 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
767
761
  source
768
762
  })
769
763
  }),
770
- /* @__PURE__ */ jsx(Section, {
764
+ /* @__PURE__ */ jsx(DialogSection, {
771
765
  title: t.sectionComputeEnvironment,
772
766
  description: t.runsOnHint,
773
767
  open: runsOnTyped ? !!runsOnText.trim() : !!runsOnTo(runsOn),
774
768
  alert: !!errors.runsOn,
775
769
  children: /* @__PURE__ */ jsxs(LintScope, {
776
770
  at: "runs-on",
777
- children: [/* @__PURE__ */ jsx(FieldLabel, {
771
+ children: [/* @__PURE__ */ jsx(YamlField, {
778
772
  label: t.fields.runsOn,
779
773
  yamlKey: "runs-on",
780
774
  description: t.help.runsOn,
775
+ error: errors.runsOn,
781
776
  actions: /* @__PURE__ */ jsx(ExpressionToggle, {
782
777
  active: runsOnTyped,
783
778
  onChange: setRunsOnTyped
784
- })
785
- }), runsOnTyped ? /* @__PURE__ */ jsx(Input, {
786
- mono: true,
787
- "aria-label": t.fields.runsOn,
788
- value: runsOnText,
789
- error: errors.runsOn,
790
- onChange: (e) => setRunsOnText(e.target.value)
791
- }) : /* @__PURE__ */ jsxs(Fragment, { children: [
792
- /* @__PURE__ */ jsx(ChoiceButtons, {
779
+ }),
780
+ children: runsOnTyped ? /* @__PURE__ */ jsx(Input, {
781
+ mono: true,
782
+ "aria-label": t.fields.runsOn,
783
+ "aria-invalid": errors.runsOn ? true : void 0,
784
+ value: runsOnText,
785
+ onChange: (e) => setRunsOnText(e.target.value)
786
+ }) : /* @__PURE__ */ jsx(ChoiceButtons, {
793
787
  options: [{
794
788
  value: "name",
795
789
  label: t.runsOnByName
@@ -802,117 +796,115 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
802
796
  ...runsOn,
803
797
  kind
804
798
  })
799
+ })
800
+ }), !runsOnTyped && (runsOn.kind === "name" ? /* @__PURE__ */ jsxs(Fragment, { children: [
801
+ /* @__PURE__ */ jsx(Input, {
802
+ mono: true,
803
+ ...labelled(t.fields.environmentCluster, "cluster"),
804
+ description: t.help.environmentCluster,
805
+ value: runsOn.cluster,
806
+ onChange: (e) => setRunsOn({
807
+ ...runsOn,
808
+ cluster: e.target.value
809
+ })
805
810
  }),
806
- runsOn.kind === "name" ? /* @__PURE__ */ jsxs(Fragment, { children: [
807
- /* @__PURE__ */ jsx(Input, {
808
- mono: true,
809
- ...labelled(t.fields.environmentCluster, "cluster"),
810
- description: t.help.environmentCluster,
811
- value: runsOn.cluster,
812
- onChange: (e) => setRunsOn({
813
- ...runsOn,
814
- cluster: e.target.value
815
- })
816
- }),
817
- /* @__PURE__ */ jsx(Input, {
818
- mono: true,
819
- ...labelled(t.fields.environmentName, "name"),
820
- description: t.help.environmentName,
821
- value: runsOn.name,
822
- onChange: (e) => setRunsOn({
823
- ...runsOn,
824
- name: e.target.value
825
- })
826
- }),
827
- /* @__PURE__ */ jsx(LabelledField, {
828
- label: t.fields.schedulingParams,
829
- yamlKey: "params",
830
- description: t.help.schedulingParams,
831
- children: /* @__PURE__ */ jsx(KeyValueEditor, {
832
- rows: runsOn.params,
833
- onChange: (params) => setRunsOn({
834
- ...runsOn,
835
- params
836
- }),
837
- error: void 0
838
- })
811
+ /* @__PURE__ */ jsx(Input, {
812
+ mono: true,
813
+ ...labelled(t.fields.environmentName, "name"),
814
+ description: t.help.environmentName,
815
+ value: runsOn.name,
816
+ onChange: (e) => setRunsOn({
817
+ ...runsOn,
818
+ name: e.target.value
839
819
  })
840
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
841
- /* @__PURE__ */ jsx(LabelledField, {
842
- label: t.fields.targetMode,
843
- yamlKey: "mode",
844
- description: t.help.targetMode,
845
- children: /* @__PURE__ */ jsx(ChoiceButtons, {
846
- options: TARGET_MODES.map((mode) => ({
847
- value: mode,
848
- label: t.targetModes[mode]
849
- })),
850
- value: runsOn.mode,
851
- onChange: (mode) => setRunsOn({
852
- ...runsOn,
853
- mode
854
- })
855
- })
856
- }),
857
- /* @__PURE__ */ jsx(Input, {
858
- mono: true,
859
- ...labelled(t.fields.targetId, "targetId"),
860
- description: t.help.targetId,
861
- value: runsOn.targetId,
862
- onChange: (e) => setRunsOn({
863
- ...runsOn,
864
- targetId: e.target.value
865
- })
866
- }),
867
- /* @__PURE__ */ jsx(Input, {
868
- mono: true,
869
- ...labelled(t.fields.environmentId, "environmentId"),
870
- description: t.help.environmentId,
871
- value: runsOn.environmentId,
872
- onChange: (e) => setRunsOn({
820
+ }),
821
+ /* @__PURE__ */ jsx(YamlField, {
822
+ label: t.fields.schedulingParams,
823
+ yamlKey: "params",
824
+ description: t.help.schedulingParams,
825
+ children: /* @__PURE__ */ jsx(KeyValueEditor, {
826
+ rows: runsOn.params,
827
+ onChange: (params) => setRunsOn({
873
828
  ...runsOn,
874
- environmentId: e.target.value
875
- })
876
- }),
877
- /* @__PURE__ */ jsx(LabelledField, {
878
- label: t.fields.schedulingParams,
879
- yamlKey: "schedulingParams",
880
- description: t.help.schedulingParams,
881
- children: /* @__PURE__ */ jsx(KeyValueEditor, {
882
- rows: runsOn.schedulingParams,
883
- onChange: (schedulingParams) => setRunsOn({
884
- ...runsOn,
885
- schedulingParams
886
- }),
887
- error: void 0
888
- })
889
- }),
890
- /* @__PURE__ */ jsx(ToggleField, {
891
- label: t.fields.newWorker,
892
- yamlKey: "newWorker",
893
- description: t.help.newWorker,
894
- checked: runsOn.newWorker === true,
895
- onChange: (newWorker) => setRunsOn({
829
+ params
830
+ }),
831
+ error: void 0
832
+ })
833
+ })
834
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
835
+ /* @__PURE__ */ jsx(YamlField, {
836
+ label: t.fields.targetMode,
837
+ yamlKey: "mode",
838
+ description: t.help.targetMode,
839
+ children: /* @__PURE__ */ jsx(ChoiceButtons, {
840
+ options: TARGET_MODES.map((mode) => ({
841
+ value: mode,
842
+ label: t.targetModes[mode]
843
+ })),
844
+ value: runsOn.mode,
845
+ onChange: (mode) => setRunsOn({
896
846
  ...runsOn,
897
- newWorker
847
+ mode
898
848
  })
899
- }),
900
- /* @__PURE__ */ jsx(Input, {
901
- mono: true,
902
- ...labelled(t.fields.workerId, "workerId"),
903
- description: t.help.workerId,
904
- value: runsOn.workerId,
905
- onChange: (e) => setRunsOn({
849
+ })
850
+ }),
851
+ /* @__PURE__ */ jsx(Input, {
852
+ mono: true,
853
+ ...labelled(t.fields.targetId, "targetId"),
854
+ description: t.help.targetId,
855
+ value: runsOn.targetId,
856
+ onChange: (e) => setRunsOn({
857
+ ...runsOn,
858
+ targetId: e.target.value
859
+ })
860
+ }),
861
+ /* @__PURE__ */ jsx(Input, {
862
+ mono: true,
863
+ ...labelled(t.fields.environmentId, "environmentId"),
864
+ description: t.help.environmentId,
865
+ value: runsOn.environmentId,
866
+ onChange: (e) => setRunsOn({
867
+ ...runsOn,
868
+ environmentId: e.target.value
869
+ })
870
+ }),
871
+ /* @__PURE__ */ jsx(YamlField, {
872
+ label: t.fields.schedulingParams,
873
+ yamlKey: "schedulingParams",
874
+ description: t.help.schedulingParams,
875
+ children: /* @__PURE__ */ jsx(KeyValueEditor, {
876
+ rows: runsOn.schedulingParams,
877
+ onChange: (schedulingParams) => setRunsOn({
906
878
  ...runsOn,
907
- workerId: e.target.value
908
- })
879
+ schedulingParams
880
+ }),
881
+ error: void 0
882
+ })
883
+ }),
884
+ /* @__PURE__ */ jsx(ToggleField, {
885
+ label: t.fields.newWorker,
886
+ yamlKey: "newWorker",
887
+ description: t.help.newWorker,
888
+ checked: runsOn.newWorker === true,
889
+ onChange: (newWorker) => setRunsOn({
890
+ ...runsOn,
891
+ newWorker
909
892
  })
910
- ] }),
911
- /* @__PURE__ */ jsx(FieldError, { message: errors.runsOn })
912
- ] })]
893
+ }),
894
+ /* @__PURE__ */ jsx(Input, {
895
+ mono: true,
896
+ ...labelled(t.fields.workerId, "workerId"),
897
+ description: t.help.workerId,
898
+ value: runsOn.workerId,
899
+ onChange: (e) => setRunsOn({
900
+ ...runsOn,
901
+ workerId: e.target.value
902
+ })
903
+ })
904
+ ] }))]
913
905
  })
914
906
  }),
915
- /* @__PURE__ */ jsxs(Section, {
907
+ /* @__PURE__ */ jsxs(DialogSection, {
916
908
  title: t.sectionMatrix,
917
909
  open: matrixOn,
918
910
  alert: !!(errors.matrix || errors.include || errors.exclude || errors.failFast || errors.maxParallel),
@@ -926,23 +918,24 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
926
918
  if (on && matrixMode === "variables") addVariableRow();
927
919
  }
928
920
  }), matrixOn && /* @__PURE__ */ jsxs(Fragment, { children: [
929
- typeof rawMatrix === "string" && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(FieldLabel, {
921
+ typeof rawMatrix === "string" && /* @__PURE__ */ jsx(YamlField, {
930
922
  label: t.fields.matrixSource,
931
- description: t.help.matrixMode
932
- }), /* @__PURE__ */ jsx(ChoiceButtons, {
933
- options: [{
934
- value: "variables",
935
- label: t.matrixFromVariables
936
- }, {
937
- value: "expression",
938
- label: t.matrixFromExpression
939
- }],
940
- value: matrixMode,
941
- onChange: (mode) => {
942
- setMatrixMode(mode);
943
- if (mode === "variables") addVariableRow();
944
- }
945
- })] }),
923
+ description: t.help.matrixMode,
924
+ children: /* @__PURE__ */ jsx(ChoiceButtons, {
925
+ options: [{
926
+ value: "variables",
927
+ label: t.matrixFromVariables
928
+ }, {
929
+ value: "expression",
930
+ label: t.matrixFromExpression
931
+ }],
932
+ value: matrixMode,
933
+ onChange: (mode) => {
934
+ setMatrixMode(mode);
935
+ if (mode === "variables") addVariableRow();
936
+ }
937
+ })
938
+ }),
946
939
  matrixMode === "expression" ? /* @__PURE__ */ jsx(Input, {
947
940
  mono: true,
948
941
  ...labelled(t.fields.matrixExpression, "strategy.matrix"),
@@ -961,7 +954,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
961
954
  onChange: (next) => setMatrixRows((rows) => updateAt(rows, i, next)),
962
955
  onRemove: () => setMatrixRows((rows) => removeAt(rows, i))
963
956
  }, row.key)),
964
- /* @__PURE__ */ jsx(FieldError, { message: errors.matrix }),
957
+ /* @__PURE__ */ jsx(ErrorText, { children: errors.matrix }),
965
958
  /* @__PURE__ */ jsx(AddRowButton, {
966
959
  label: t.addVariable,
967
960
  onClick: () => setMatrixRows((rows) => [...rows, matrixRow({
@@ -1017,7 +1010,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
1017
1010
  error: errors.env,
1018
1011
  source
1019
1012
  }),
1020
- /* @__PURE__ */ jsx(Section, {
1013
+ /* @__PURE__ */ jsx(DialogSection, {
1021
1014
  title: t.sectionOutputs,
1022
1015
  description: t.help.outputs,
1023
1016
  open: outputs.length > 0,
@@ -1029,7 +1022,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
1029
1022
  error: errors.outputs
1030
1023
  })
1031
1024
  }),
1032
- /* @__PURE__ */ jsxs(Section, {
1025
+ /* @__PURE__ */ jsxs(DialogSection, {
1033
1026
  title: t.sectionAdvanced,
1034
1027
  open: !!workingDirectory || !!timeout,
1035
1028
  alert: !!errors.timeout,
@@ -1165,20 +1158,20 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1165
1158
  value: name,
1166
1159
  onChange: (e) => setName(e.target.value)
1167
1160
  }),
1168
- /* @__PURE__ */ jsx("div", {
1169
- className: "text-xs theme-muted-text",
1170
- children: t.help.stepKind
1171
- }),
1172
- /* @__PURE__ */ jsx(ChoiceButtons, {
1173
- options: [{
1174
- value: "run",
1175
- label: t.stepRun
1176
- }, {
1177
- value: "uses",
1178
- label: t.stepUses
1179
- }],
1180
- value: kind,
1181
- onChange: setKind
1161
+ /* @__PURE__ */ jsx(YamlField, {
1162
+ label: t.stepKind,
1163
+ description: t.help.stepKind,
1164
+ children: /* @__PURE__ */ jsx(ChoiceButtons, {
1165
+ options: [{
1166
+ value: "run",
1167
+ label: t.stepRun
1168
+ }, {
1169
+ value: "uses",
1170
+ label: t.stepUses
1171
+ }],
1172
+ value: kind,
1173
+ onChange: setKind
1174
+ })
1182
1175
  }),
1183
1176
  kind === "run" ? /* @__PURE__ */ jsx(ScriptField, {
1184
1177
  label: t.fields.run,
@@ -1205,7 +1198,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1205
1198
  error: errors.with,
1206
1199
  source
1207
1200
  })] }),
1208
- /* @__PURE__ */ jsx(Section, {
1201
+ /* @__PURE__ */ jsx(DialogSection, {
1209
1202
  title: t.sectionCleanup,
1210
1203
  open: !!cleanup.trim(),
1211
1204
  children: /* @__PURE__ */ jsx(ScriptField, {
@@ -1217,7 +1210,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1217
1210
  source
1218
1211
  })
1219
1212
  }),
1220
- /* @__PURE__ */ jsxs(Section, {
1213
+ /* @__PURE__ */ jsxs(DialogSection, {
1221
1214
  title: t.sectionBehavior,
1222
1215
  open: !!condition || !!timeout || ignoreErrors !== void 0 || earlyCancel,
1223
1216
  alert: !!(errors.timeout || errors.ignoreErrors),
@@ -1257,7 +1250,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1257
1250
  })
1258
1251
  ]
1259
1252
  }),
1260
- /* @__PURE__ */ jsxs(Section, {
1253
+ /* @__PURE__ */ jsxs(DialogSection, {
1261
1254
  title: t.sectionRetry,
1262
1255
  open: retryOn,
1263
1256
  alert: !!(errors.maxRetries || errors.interval || errors.retryTimeout || errors.cleanOnRetry),
@@ -1307,12 +1300,13 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1307
1300
  })
1308
1301
  ] })]
1309
1302
  }),
1310
- /* @__PURE__ */ jsxs(Section, {
1303
+ /* @__PURE__ */ jsxs(DialogSection, {
1311
1304
  title: t.sectionRemoteHost,
1312
1305
  description: t.help.stepSsh,
1313
1306
  open: sshMode !== "inherit",
1314
1307
  alert: !!errors.ssh,
1315
1308
  children: [/* @__PURE__ */ jsx(ChoiceButtons, {
1309
+ label: t.sectionRemoteHost,
1316
1310
  options: [
1317
1311
  {
1318
1312
  value: "inherit",
@@ -1343,7 +1337,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1343
1337
  error: errors.env,
1344
1338
  source
1345
1339
  }),
1346
- /* @__PURE__ */ jsxs(Section, {
1340
+ /* @__PURE__ */ jsxs(DialogSection, {
1347
1341
  title: t.sectionAdvanced,
1348
1342
  open: !!workingDirectory || !!id || !!shell,
1349
1343
  alert: !!(errors.id || errors.shell),
@@ -1387,7 +1381,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1387
1381
  },
1388
1382
  footerStart: /* @__PURE__ */ jsxs(Fragment, { children: [
1389
1383
  /* @__PURE__ */ jsx(IconButton, {
1390
- icon: /* @__PURE__ */ jsx(BiSolidTrashAlt, { className: "h-4 w-4" }),
1384
+ icon: /* @__PURE__ */ jsx(TrashIcon, {}),
1391
1385
  label: t.deleteStep,
1392
1386
  variant: "ghost",
1393
1387
  size: "sm",
@@ -1398,8 +1392,8 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1398
1392
  })
1399
1393
  }),
1400
1394
  /* @__PURE__ */ jsx(IconButton, {
1401
- icon: /* @__PURE__ */ jsx(FaArrowUp, { className: "h-4 w-4" }),
1402
- label: t.moveUp,
1395
+ icon: /* @__PURE__ */ jsx(ArrowUpIcon, {}),
1396
+ label: t.common.moveUp,
1403
1397
  variant: "ghost",
1404
1398
  size: "sm",
1405
1399
  disabled: dirty || pending || index === 0,
@@ -1411,8 +1405,8 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
1411
1405
  })
1412
1406
  }),
1413
1407
  /* @__PURE__ */ jsx(IconButton, {
1414
- icon: /* @__PURE__ */ jsx(FaArrowDown, { className: "h-4 w-4" }),
1415
- label: t.moveDown,
1408
+ icon: /* @__PURE__ */ jsx(ArrowDownIcon, {}),
1409
+ label: t.common.moveDown,
1416
1410
  variant: "ghost",
1417
1411
  size: "sm",
1418
1412
  disabled: dirty || pending || index >= steps.length - 1,
@@ -1716,7 +1710,7 @@ function useSettingsViews(o) {
1716
1710
  openOnAdd: o.openOnAdd,
1717
1711
  onSubmit: () => save(drafted()),
1718
1712
  children: [
1719
- /* @__PURE__ */ jsx(FieldError, { message: problem }),
1713
+ /* @__PURE__ */ jsx(ErrorText, { children: problem }),
1720
1714
  /* @__PURE__ */ jsx(ProblemList, { problems: scoped.problems }),
1721
1715
  shellProps.children
1722
1716
  ]