windmill-components 1.448.50 → 1.472.2

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 (533) hide show
  1. package/package/components/AddUser.svelte +52 -54
  2. package/package/components/ApiConnectForm.svelte +57 -45
  3. package/package/components/AppConnectInner.svelte +18 -8
  4. package/package/components/ArgInput.svelte +132 -83
  5. package/package/components/ArgInput.svelte.d.ts +12 -1
  6. package/package/components/ArrayTypeNarrowing.svelte +35 -30
  7. package/package/components/ArrayTypeNarrowing.svelte.d.ts +1 -0
  8. package/package/components/AssignableTags.svelte +10 -6
  9. package/package/components/AssignableTagsInner.svelte +1 -1
  10. package/package/components/Auth0Setting.svelte +103 -0
  11. package/package/components/Auth0Setting.svelte.d.ts +16 -0
  12. package/package/components/AuthSettings.svelte +7 -2
  13. package/package/components/AutoscalingConfigEditor.svelte +12 -17
  14. package/package/components/ChangeInstanceUsername.svelte +15 -13
  15. package/package/components/ChangeInstanceUsernameInner.svelte +4 -5
  16. package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +1 -0
  17. package/package/components/ConnectionSection.svelte +176 -0
  18. package/package/components/ConnectionSection.svelte.d.ts +28 -0
  19. package/package/components/ContentSearchInner.svelte +13 -3
  20. package/package/components/CronBuilder.svelte +12 -13
  21. package/package/components/CronBuilder.svelte.d.ts +1 -1
  22. package/package/components/CronInput.svelte +1 -1
  23. package/package/components/DBSchemaExplorer.svelte +18 -5
  24. package/package/components/DateTimeInput.svelte +3 -3
  25. package/package/components/DefaultTags.svelte +8 -8
  26. package/package/components/Dev.svelte +30 -8
  27. package/package/components/DisplayResult.svelte +132 -80
  28. package/package/components/DisplayResult.svelte.d.ts +2 -0
  29. package/package/components/DropdownV2.svelte +89 -16
  30. package/package/components/DropdownV2.svelte.d.ts +10 -27
  31. package/package/components/DropdownV2Inner.svelte +7 -4
  32. package/package/components/DropdownV2Inner.svelte.d.ts +4 -25
  33. package/package/components/DynSelect.svelte +6 -2
  34. package/package/components/EditableSchemaForm.svelte +48 -45
  35. package/package/components/EditableSchemaForm.svelte.d.ts +4 -1
  36. package/package/components/Editor.svelte +1 -1
  37. package/package/components/EditorBar.svelte +15 -13
  38. package/package/components/EditorBar.svelte.d.ts +1 -1
  39. package/package/components/EditorSettings.svelte +9 -7
  40. package/package/components/ErrorOrRecoveryHandler.svelte +195 -18
  41. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -2
  42. package/package/components/FlowBuilder.svelte +10 -31
  43. package/package/components/FlowBuilder.svelte.d.ts +3 -0
  44. package/package/components/FlowBuilderTutorials.svelte +34 -64
  45. package/package/components/FlowBuilderTutorials.svelte.d.ts +0 -1
  46. package/package/components/FlowHistoryJobPicker.svelte +48 -0
  47. package/package/components/FlowHistoryJobPicker.svelte.d.ts +21 -0
  48. package/package/components/FlowJobResult.svelte +6 -3
  49. package/package/components/FlowPreviewContent.svelte +264 -182
  50. package/package/components/FlowPreviewContent.svelte.d.ts +3 -0
  51. package/package/components/FlowStatusViewerInner.svelte +28 -7
  52. package/package/components/FlowStatusWaitingForEvents.svelte +2 -2
  53. package/package/components/FolderEditor.svelte +14 -7
  54. package/package/components/GroupEditor.svelte +4 -0
  55. package/package/components/HistoricInputs.svelte +51 -110
  56. package/package/components/HistoricInputs.svelte.d.ts +9 -3
  57. package/package/components/HistoricList.svelte +95 -0
  58. package/package/components/HistoricList.svelte.d.ts +24 -0
  59. package/package/components/IconedResourceType.svelte +4 -1
  60. package/package/components/InfiniteList.svelte +12 -6
  61. package/package/components/InputTransformForm.svelte +25 -5
  62. package/package/components/InstanceNameEditor.svelte +100 -103
  63. package/package/components/InstanceSetting.svelte +777 -607
  64. package/package/components/InstanceSettings.svelte +33 -36
  65. package/package/components/InviteUser.svelte +43 -43
  66. package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte → JsonEditor.svelte} +1 -1
  67. package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts → JsonEditor.svelte.d.ts} +1 -1
  68. package/package/components/JsonInputs.svelte +63 -0
  69. package/package/components/JsonInputs.svelte.d.ts +23 -0
  70. package/package/components/Label.svelte +6 -4
  71. package/package/components/Login.svelte +8 -2
  72. package/package/components/OAuthSetting.svelte +42 -15
  73. package/package/components/OAuthSetting.svelte.d.ts +1 -0
  74. package/package/components/ObjectResourceInput.svelte +6 -3
  75. package/package/components/ObjectResourceInput.svelte.d.ts +1 -1
  76. package/package/components/OktaSetting.svelte +9 -3
  77. package/package/components/PasswordArgInput.svelte +1 -1
  78. package/package/components/Path.svelte +16 -1
  79. package/package/components/Path.svelte.d.ts +1 -1
  80. package/package/components/ResourceEditor.svelte +6 -2
  81. package/package/components/ResourcePicker.svelte +3 -3
  82. package/package/components/ResourceTypePicker.svelte +10 -11
  83. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  84. package/package/components/RunForm.svelte +51 -47
  85. package/package/components/RunForm.svelte.d.ts +3 -0
  86. package/package/components/RunFormAdvancedPopup.svelte +2 -7
  87. package/package/components/RunFormAdvancedPopup.svelte.d.ts +0 -2
  88. package/package/components/RunPageSchedules.svelte +3 -2
  89. package/package/components/S3FilePicker.svelte +9 -1
  90. package/package/components/S3FilePicker.svelte.d.ts +1 -0
  91. package/package/components/S3ObjectPicker.svelte +13 -12
  92. package/package/components/S3ObjectPicker.svelte.d.ts +1 -1
  93. package/package/components/SavedInputsPicker.svelte +95 -56
  94. package/package/components/SavedInputsPicker.svelte.d.ts +10 -1
  95. package/package/components/SavedInputsV2.svelte +113 -0
  96. package/package/components/SavedInputsV2.svelte.d.ts +26 -0
  97. package/package/components/ScheduleEditorInner.svelte +40 -13
  98. package/package/components/SchemaForm.svelte +158 -191
  99. package/package/components/SchemaForm.svelte.d.ts +16 -3
  100. package/package/components/SchemaFormWithArgPicker.svelte +166 -0
  101. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +29 -0
  102. package/package/components/ScriptBuilder.svelte +139 -71
  103. package/package/components/ScriptBuilder.svelte.d.ts +3 -0
  104. package/package/components/ScriptEditor.svelte +28 -2
  105. package/package/components/ScriptEditor.svelte.d.ts +2 -2
  106. package/package/components/ScriptPicker.svelte +6 -3
  107. package/package/components/ScriptSchema.svelte +2 -1
  108. package/package/components/ScriptSchema.svelte.d.ts +2 -0
  109. package/package/components/ScriptVersionHistory.svelte +9 -3
  110. package/package/components/Section.svelte +21 -9
  111. package/package/components/Section.svelte.d.ts +4 -0
  112. package/package/components/ShareModal.svelte +10 -5
  113. package/package/components/ShareModal.svelte.d.ts +2 -2
  114. package/package/components/SharedBadge.svelte +3 -3
  115. package/package/components/StringTypeNarrowing.svelte +10 -1
  116. package/package/components/SuperadminSettings.svelte +9 -2
  117. package/package/components/TestJobLoader.svelte +1 -1
  118. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  119. package/package/components/TimelineBar.svelte.d.ts +1 -1
  120. package/package/components/ToggleHubWorkspace.svelte +3 -3
  121. package/package/components/ToggleHubWorkspaceQuick.svelte +4 -4
  122. package/package/components/Tooltip.svelte +36 -30
  123. package/package/components/VariableEditor.svelte +27 -20
  124. package/package/components/WorkerGroup.svelte +12 -3
  125. package/package/components/apps/components/buttons/AppButton.svelte +22 -2
  126. package/package/components/apps/components/buttons/AppFormButton.svelte +74 -70
  127. package/package/components/apps/components/buttons/AppSchemaForm.svelte +4 -2
  128. package/package/components/apps/components/display/AppAccordionList.svelte +149 -0
  129. package/package/components/apps/components/display/AppAccordionList.svelte.d.ts +25 -0
  130. package/package/components/apps/components/display/AppCarouselList.svelte +114 -106
  131. package/package/components/apps/components/display/AppCustomComponent.svelte +13 -13
  132. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
  133. package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +3 -1
  134. package/package/components/apps/components/display/AppHtml.svelte +28 -22
  135. package/package/components/apps/components/display/AppMarkdown.svelte +98 -31
  136. package/package/components/apps/components/display/AppMenu.svelte +77 -66
  137. package/package/components/apps/components/display/AppMenu.svelte.d.ts +0 -3
  138. package/package/components/apps/components/display/AppRecomputeAll.svelte +12 -1
  139. package/package/components/apps/components/display/AppText.svelte +8 -3
  140. package/package/components/apps/components/display/PlotlyHtml.svelte +16 -12
  141. package/package/components/apps/components/display/PlotlyHtmlV2.svelte +16 -12
  142. package/package/components/apps/components/display/VegaLiteHtml.svelte +9 -5
  143. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
  144. package/package/components/apps/components/display/dbtable/InsertRow.svelte +4 -4
  145. package/package/components/apps/components/display/dbtable/utils.js +19 -1
  146. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  147. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +4 -0
  148. package/package/components/apps/components/display/table/AppAggridTable.svelte +1 -1
  149. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +27 -19
  150. package/package/components/apps/components/display/table/AppTable.svelte +19 -15
  151. package/package/components/apps/components/helpers/InitializeComponent.svelte +1 -0
  152. package/package/components/apps/components/helpers/InputValue.svelte +4 -3
  153. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +0 -2
  154. package/package/components/apps/components/helpers/RunnableComponent.svelte +16 -4
  155. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  156. package/package/components/apps/components/helpers/RunnableWrapper.svelte +32 -3
  157. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  158. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
  159. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +29 -21
  160. package/package/components/apps/components/layout/AppContainer.svelte +28 -20
  161. package/package/components/apps/components/layout/AppDecisionTree.svelte +59 -49
  162. package/package/components/apps/components/layout/AppDrawer.svelte +94 -87
  163. package/package/components/apps/components/layout/AppList.svelte +70 -62
  164. package/package/components/apps/components/layout/AppModal.svelte +83 -79
  165. package/package/components/apps/components/layout/AppSplitpanes.svelte +51 -43
  166. package/package/components/apps/components/layout/AppStepper.svelte +97 -83
  167. package/package/components/apps/components/layout/AppTabs.svelte +128 -74
  168. package/package/components/apps/editor/AppEditor.svelte +21 -3
  169. package/package/components/apps/editor/AppEditor.svelte.d.ts +24 -1
  170. package/package/components/apps/editor/AppEditorHeader.svelte +73 -61
  171. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +24 -1
  172. package/package/components/apps/editor/AppEditorTutorial.svelte +53 -60
  173. package/package/components/apps/editor/AppJsonEditor.svelte +1 -1
  174. package/package/components/apps/editor/AppPreview.svelte +5 -5
  175. package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -0
  176. package/package/components/apps/editor/ComponentHeader.svelte +44 -20
  177. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
  178. package/package/components/apps/editor/DecisionTreeDebug.svelte +56 -73
  179. package/package/components/apps/editor/GridEditor.svelte +7 -4
  180. package/package/components/apps/editor/GridViewer.svelte +19 -7
  181. package/package/components/apps/editor/GridViewer.svelte.d.ts +1 -3
  182. package/package/components/apps/editor/PreviewToggle.svelte +3 -0
  183. package/package/components/apps/editor/RecomputeAllButton.svelte +7 -40
  184. package/package/components/apps/editor/RecomputeAllComponents.svelte +52 -19
  185. package/package/components/apps/editor/RecomputeAllWrapper.svelte +1 -10
  186. package/package/components/apps/editor/SubGridEditor.svelte +147 -145
  187. package/package/components/apps/editor/TabsDebug.svelte +43 -56
  188. package/package/components/apps/editor/component/Component.svelte +26 -926
  189. package/package/components/apps/editor/component/Component.svelte.d.ts +2 -3
  190. package/package/components/apps/editor/component/ComponentInner.svelte +775 -0
  191. package/package/components/apps/editor/component/ComponentInner.svelte.d.ts +22 -0
  192. package/package/components/apps/editor/component/ComponentRendered.svelte +195 -0
  193. package/package/components/apps/editor/component/ComponentRendered.svelte.d.ts +28 -0
  194. package/package/components/apps/editor/component/components.d.ts +154 -83
  195. package/package/components/apps/editor/component/components.js +59 -5
  196. package/package/components/apps/editor/component/sets.js +2 -1
  197. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +8 -4
  198. package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte +12 -22
  199. package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte.d.ts +0 -1
  200. package/package/components/apps/editor/componentsPanel/CustomComponentsList.svelte +0 -2
  201. package/package/components/apps/editor/componentsPanel/GroupRow.svelte +12 -22
  202. package/package/components/apps/editor/componentsPanel/GroupRow.svelte.d.ts +0 -1
  203. package/package/components/apps/editor/componentsPanel/NameEditor.svelte +21 -20
  204. package/package/components/apps/editor/componentsPanel/ThemeNameEditor.svelte +9 -9
  205. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +32 -52
  206. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte.d.ts +0 -1
  207. package/package/components/apps/editor/componentsPanel/cssUtils.js +7 -0
  208. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +3 -0
  209. package/package/components/apps/editor/contextPanel/LazyModePanel.svelte +46 -0
  210. package/package/components/apps/editor/contextPanel/LazyModePanel.svelte.d.ts +14 -0
  211. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +19 -13
  212. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +10 -7
  213. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +11 -7
  214. package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +2 -2
  215. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +8 -6
  216. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +7 -0
  217. package/package/components/apps/editor/settingsPanel/ComponentPanelDataSource.svelte +5 -2
  218. package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +1 -1
  219. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +17 -7
  220. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +3 -0
  221. package/package/components/apps/editor/settingsPanel/TableActions.svelte +10 -1
  222. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +53 -51
  223. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +0 -1
  224. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
  225. package/package/components/apps/rx.d.ts +3 -3
  226. package/package/components/apps/rx.js +5 -5
  227. package/package/components/apps/svelte-grid/Grid.svelte +121 -99
  228. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +0 -1
  229. package/package/components/apps/svelte-grid/MoveResize.svelte +2 -1
  230. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
  231. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +8 -8
  232. package/package/components/apps/types.d.ts +2 -0
  233. package/package/components/apps/utils.js +1 -1
  234. package/package/components/auditLogs/AuditLogMobileFilters.svelte +7 -6
  235. package/package/components/auditLogs/AuditLogsFilters.svelte +75 -37
  236. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +2 -0
  237. package/package/components/auditLogs/AuditLogsTable.svelte +2 -1
  238. package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
  239. package/package/components/common/alert/Alert.svelte +2 -27
  240. package/package/components/common/alert/Alert.svelte.d.ts +1 -1
  241. package/package/components/common/alert/model.d.ts +1 -0
  242. package/package/components/common/alert/model.js +26 -1
  243. package/package/components/common/button/Button.svelte +25 -39
  244. package/package/components/common/button/Button.svelte.d.ts +0 -1
  245. package/package/components/common/calendarPicker/CalendarPicker.svelte +30 -25
  246. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +12 -10
  247. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +2 -3
  248. package/package/components/common/confirmationModal/unsavedTypes.d.ts +6 -0
  249. package/package/components/common/confirmationModal/unsavedTypes.js +1 -0
  250. package/package/components/common/drawer/Disposable.svelte +3 -1
  251. package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
  252. package/package/components/common/drawer/Drawer.svelte +2 -0
  253. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  254. package/package/components/common/fileInput/FileInput.svelte +63 -20
  255. package/package/components/common/fileInput/FileInput.svelte.d.ts +4 -1
  256. package/package/components/common/fileUpload/FileUpload.svelte +102 -20
  257. package/package/components/common/fileUpload/FileUpload.svelte.d.ts +7 -0
  258. package/package/components/common/index.d.ts +0 -1
  259. package/package/components/common/index.js +0 -1
  260. package/package/components/common/layout/List.svelte.d.ts +1 -1
  261. package/package/components/common/toggleButton-v2/ToggleButton.svelte +42 -39
  262. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +3 -1
  263. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +28 -29
  264. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +23 -7
  265. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +17 -18
  266. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +2 -1
  267. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +1 -1
  268. package/package/components/copilot/CodeCompletionStatus.svelte +1 -1
  269. package/package/components/copilot/CronGen.svelte +50 -50
  270. package/package/components/copilot/FlowCopilotDrawer.svelte +3 -2
  271. package/package/components/copilot/FlowCopilotStatus.svelte +16 -19
  272. package/package/components/copilot/PredicateGen.svelte +9 -10
  273. package/package/components/copilot/RegexGen.svelte +67 -66
  274. package/package/components/copilot/ScriptFix.svelte +122 -105
  275. package/package/components/copilot/ScriptGen.svelte +177 -135
  276. package/package/components/copilot/StepInputsGen.svelte +31 -28
  277. package/package/components/copilot/{TestAiKey.svelte → TestAIKey.svelte} +13 -2
  278. package/package/components/copilot/{TestAiKey.svelte.d.ts → TestAIKey.svelte.d.ts} +4 -2
  279. package/package/components/copilot/completion.d.ts +2 -2
  280. package/package/components/copilot/completion.js +1 -1
  281. package/package/components/copilot/flow.d.ts +3 -4
  282. package/package/components/copilot/flow.js +1 -1
  283. package/package/components/copilot/lib.d.ts +46 -54
  284. package/package/components/copilot/lib.js +278 -209
  285. package/package/components/copilot/prompts/edit.yaml +19 -0
  286. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  287. package/package/components/copilot/prompts/editPrompt.js +3 -0
  288. package/package/components/copilot/prompts/fix.yaml +19 -0
  289. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  290. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  291. package/package/components/copilot/prompts/gen.yaml +12 -0
  292. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  293. package/package/components/copilot/prompts/genPrompt.js +3 -0
  294. package/package/components/custom_ui.d.ts +37 -0
  295. package/package/components/details/DetailPageDetailPanel.svelte +3 -1
  296. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +7 -1
  297. package/package/components/details/DetailPageHeader.svelte +12 -27
  298. package/package/components/details/DetailPageLayout.svelte +4 -0
  299. package/package/components/details/DetailPageLayout.svelte.d.ts +6 -0
  300. package/package/components/details/DetailPageTriggerPanel.svelte +20 -8
  301. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +4 -2
  302. package/package/components/details/EmailTriggerConfigSection.svelte +3 -3
  303. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +3 -1
  304. package/package/components/details/EmailTriggerPanel.svelte +1 -0
  305. package/package/components/flows/content/FlowInput.svelte +35 -44
  306. package/package/components/flows/content/FlowInputs.svelte +4 -1
  307. package/package/components/flows/content/FlowModuleComponent.svelte +10 -5
  308. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -1
  309. package/package/components/flows/content/FlowModuleMock.svelte +1 -1
  310. package/package/components/flows/content/FlowModuleSuspend.svelte +15 -2
  311. package/package/components/flows/content/FlowRetries.svelte +4 -3
  312. package/package/components/flows/content/ScriptEditorDrawer.svelte +0 -1
  313. package/package/components/flows/flowStateUtils.js +1 -1
  314. package/package/components/flows/flowStore.d.ts +1 -1
  315. package/package/components/flows/header/FlowPreviewButtons.svelte +25 -16
  316. package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -0
  317. package/package/components/flows/map/FlowJobsMenu.svelte +60 -47
  318. package/package/components/flows/previousResults.js +1 -1
  319. package/package/components/flows/propPicker/FlowPropPicker.svelte +28 -25
  320. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -0
  321. package/package/components/flows/scheduleUtils.d.ts +2 -2
  322. package/package/components/flows/scheduleUtils.js +17 -13
  323. package/package/components/graph/FlowGraphV2.svelte +3 -2
  324. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +9 -4
  325. package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
  326. package/package/components/home/FlowIcon.svelte +4 -1
  327. package/package/components/home/FlowIcon.svelte.d.ts +1 -0
  328. package/package/components/home/ItemsList.svelte +32 -24
  329. package/package/components/icons/Auth0Icon.svelte +17 -0
  330. package/package/components/icons/Auth0Icon.svelte.d.ts +23 -0
  331. package/package/components/icons/AwsIcon.svelte +25 -6
  332. package/package/components/icons/AwsIcon.svelte.d.ts +3 -2
  333. package/package/components/icons/brands/Auth0.svelte +24 -0
  334. package/package/components/icons/brands/Auth0.svelte.d.ts +18 -0
  335. package/package/components/icons/index.d.ts +3 -1
  336. package/package/components/icons/index.js +3 -1
  337. package/package/components/instanceSettings.d.ts +5 -0
  338. package/package/components/instanceSettings.js +34 -3
  339. package/package/components/meltComponents/MeltButton.svelte +10 -0
  340. package/package/components/meltComponents/MeltButton.svelte.d.ts +23 -0
  341. package/package/components/meltComponents/Menu.svelte +70 -0
  342. package/package/components/meltComponents/Menu.svelte.d.ts +51 -0
  343. package/package/components/meltComponents/MenuItem.svelte +42 -0
  344. package/package/components/meltComponents/MenuItem.svelte.d.ts +27 -0
  345. package/package/components/meltComponents/MenuSingleItem.svelte +12 -0
  346. package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +36 -0
  347. package/package/components/meltComponents/Menubar.svelte +7 -0
  348. package/package/components/meltComponents/Menubar.svelte.d.ts +255 -0
  349. package/package/components/meltComponents/Popover.svelte +78 -24
  350. package/package/components/meltComponents/Popover.svelte.d.ts +23 -4
  351. package/package/components/meltComponents/SideBarTab.svelte +18 -6
  352. package/package/components/meltComponents/SideBarTab.svelte.d.ts +2 -0
  353. package/package/components/meltComponents/Tooltip.svelte +66 -0
  354. package/package/components/meltComponents/Tooltip.svelte.d.ts +29 -0
  355. package/package/components/meltComponents/index.d.ts +5 -0
  356. package/package/components/meltComponents/index.js +5 -0
  357. package/package/components/preview/FlowPreviewStatus.svelte +2 -1
  358. package/package/components/propertyPicker/ObjectViewer.svelte +15 -3
  359. package/package/components/propertyPicker/PropPicker.svelte +0 -1
  360. package/package/components/runs/JobLoader.svelte +18 -18
  361. package/package/components/runs/JobLoader.svelte.d.ts +1 -1
  362. package/package/components/runs/MobileFilters.svelte +12 -11
  363. package/package/components/runs/PreprocessedArgsDisplay.svelte +2 -3
  364. package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +1 -1
  365. package/package/components/runs/RunsFilter.svelte +350 -320
  366. package/package/components/schema/AddPropertyFormV2.svelte +7 -7
  367. package/package/components/schema/AddPropertyFormV2.svelte.d.ts +3 -1
  368. package/package/components/schema/EditableSchemaDrawer.svelte +0 -1
  369. package/package/components/schema/EditableSchemaWrapper.svelte +1 -2
  370. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
  371. package/package/components/schema/FlowPropertyEditor.svelte +51 -67
  372. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +0 -1
  373. package/package/components/schema/InputSelectedBadge.svelte +28 -0
  374. package/package/components/schema/InputSelectedBadge.svelte.d.ts +18 -0
  375. package/package/components/schema/PropertyEditor.svelte +7 -3
  376. package/package/components/schema/SchemaFormDND.svelte +4 -2
  377. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -1
  378. package/package/components/schema/SchemaPickerRow.svelte +11 -3
  379. package/package/components/schema/SchemaPickerRow.svelte.d.ts +1 -1
  380. package/package/components/scriptEditor/LogPanel.svelte +8 -2
  381. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  382. package/package/components/settings/ChangeWorkspaceId.svelte +24 -12
  383. package/package/components/settings/PremiumInfo.svelte +4 -4
  384. package/package/components/settings/WorkspaceOperatorSettings.svelte +159 -0
  385. package/package/components/settings/WorkspaceOperatorSettings.svelte.d.ts +14 -0
  386. package/package/components/settings/WorkspaceUserSettings.svelte +108 -96
  387. package/package/components/sidebar/CriticalAlertModal.svelte +66 -60
  388. package/package/components/sidebar/FavoriteMenu.svelte +30 -21
  389. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +2 -0
  390. package/package/components/sidebar/MenuButton.svelte +20 -5
  391. package/package/components/sidebar/MenuButton.svelte.d.ts +3 -0
  392. package/package/components/sidebar/MenuLink.svelte +8 -5
  393. package/package/components/sidebar/MenuLink.svelte.d.ts +2 -0
  394. package/package/components/sidebar/OperatorMenu.svelte +219 -126
  395. package/package/components/sidebar/SidebarContent.svelte +107 -127
  396. package/package/components/sidebar/SidebarContent.svelte.d.ts +0 -1
  397. package/package/components/sidebar/UserMenu.svelte +91 -111
  398. package/package/components/sidebar/UserMenu.svelte.d.ts +2 -0
  399. package/package/components/sidebar/WorkspaceMenu.svelte +59 -54
  400. package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +2 -0
  401. package/package/components/sidebar/changelogs.js +55 -0
  402. package/package/components/table/DataTable.svelte +6 -14
  403. package/package/components/table/DataTable.svelte.d.ts +1 -0
  404. package/package/components/triggers/CaptureButton.svelte +51 -68
  405. package/package/components/triggers/CaptureSection.svelte +5 -2
  406. package/package/components/triggers/CaptureSection.svelte.d.ts +3 -1
  407. package/package/components/triggers/CaptureTable.svelte +61 -23
  408. package/package/components/triggers/CaptureWrapper.svelte +87 -46
  409. package/package/components/triggers/CaptureWrapper.svelte.d.ts +8 -4
  410. package/package/components/triggers/TestTriggerConnection.svelte +82 -0
  411. package/package/components/triggers/TestTriggerConnection.svelte.d.ts +21 -0
  412. package/package/components/triggers/TriggersEditor.svelte +46 -14
  413. package/package/components/triggers/TriggersEditorSection.svelte +53 -46
  414. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
  415. package/package/components/triggers/TriggersWrapper.svelte +26 -8
  416. package/package/components/triggers/{RouteEditorConfigSection.svelte → http/RouteEditorConfigSection.svelte} +57 -57
  417. package/package/components/triggers/{RouteEditorConfigSection.svelte.d.ts → http/RouteEditorConfigSection.svelte.d.ts} +8 -9
  418. package/package/components/triggers/{RouteEditorInner.svelte → http/RouteEditorInner.svelte} +190 -147
  419. package/package/components/triggers/{RoutesPanel.svelte → http/RoutesPanel.svelte} +44 -47
  420. package/package/components/triggers/{KafkaTriggerEditorInner.svelte → kafka/KafkaTriggerEditorInner.svelte} +23 -23
  421. package/package/components/triggers/{KafkaTriggersConfigSection.svelte → kafka/KafkaTriggersConfigSection.svelte} +29 -17
  422. package/package/components/triggers/{KafkaTriggersConfigSection.svelte.d.ts → kafka/KafkaTriggersConfigSection.svelte.d.ts} +5 -3
  423. package/package/components/triggers/{KafkaTriggersPanel.svelte → kafka/KafkaTriggersPanel.svelte} +40 -45
  424. package/package/components/triggers/{NatsTriggerEditorInner.svelte → nats/NatsTriggerEditorInner.svelte} +19 -20
  425. package/package/components/triggers/{NatsTriggersConfigSection.svelte → nats/NatsTriggersConfigSection.svelte} +25 -18
  426. package/package/components/triggers/{NatsTriggersConfigSection.svelte.d.ts → nats/NatsTriggersConfigSection.svelte.d.ts} +5 -3
  427. package/package/components/triggers/{NatsTriggersPanel.svelte → nats/NatsTriggersPanel.svelte} +41 -44
  428. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte +71 -0
  429. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte.d.ts +18 -0
  430. package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte +152 -0
  431. package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte.d.ts +40 -0
  432. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte +19 -0
  433. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +21 -0
  434. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +578 -0
  435. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte.d.ts +21 -0
  436. package/package/components/triggers/postgres/PostgresTriggersPanel.svelte +112 -0
  437. package/package/components/triggers/postgres/PostgresTriggersPanel.svelte.d.ts +28 -0
  438. package/package/components/triggers/postgres/PublicationPicker.svelte +129 -0
  439. package/package/components/triggers/postgres/PublicationPicker.svelte.d.ts +23 -0
  440. package/package/components/triggers/postgres/RelationPicker.svelte +266 -0
  441. package/package/components/triggers/postgres/RelationPicker.svelte.d.ts +19 -0
  442. package/package/components/triggers/postgres/SlotPicker.svelte +92 -0
  443. package/package/components/triggers/postgres/SlotPicker.svelte.d.ts +18 -0
  444. package/package/components/triggers/postgres/utils.d.ts +5 -0
  445. package/package/components/triggers/postgres/utils.js +80 -0
  446. package/package/components/triggers/{ScheduledPollPanel.svelte → scheduled/ScheduledPollPanel.svelte} +3 -3
  447. package/package/components/triggers/sqs/SqsTriggerEditor.svelte +19 -0
  448. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +21 -0
  449. package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte +152 -0
  450. package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte.d.ts +40 -0
  451. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +234 -0
  452. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte.d.ts +21 -0
  453. package/package/components/triggers/sqs/SqsTriggerPanel.svelte +123 -0
  454. package/package/components/triggers/sqs/SqsTriggerPanel.svelte.d.ts +28 -0
  455. package/package/components/triggers/{WebhooksConfigSection.svelte → webhook/WebhooksConfigSection.svelte} +26 -21
  456. package/package/components/triggers/{WebhooksConfigSection.svelte.d.ts → webhook/WebhooksConfigSection.svelte.d.ts} +6 -4
  457. package/package/components/triggers/{WebhooksPanel.svelte → webhook/WebhooksPanel.svelte} +5 -4
  458. package/package/components/triggers/{WebsocketEditorConfigSection.svelte → websocket/WebsocketEditorConfigSection.svelte} +42 -34
  459. package/package/components/triggers/{WebsocketEditorConfigSection.svelte.d.ts → websocket/WebsocketEditorConfigSection.svelte.d.ts} +5 -3
  460. package/package/components/triggers/{WebsocketTriggerEditorInner.svelte → websocket/WebsocketTriggerEditorInner.svelte} +62 -43
  461. package/package/components/triggers/{WebsocketTriggersPanel.svelte → websocket/WebsocketTriggersPanel.svelte} +45 -49
  462. package/package/components/triggers.d.ts +1 -1
  463. package/package/components/triggers.js +4 -0
  464. package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +1 -1
  465. package/package/components/wizards/AgChartWizard.svelte +26 -24
  466. package/package/components/wizards/AgGridWizard.svelte +166 -161
  467. package/package/components/wizards/ChartJSWizard.svelte +32 -30
  468. package/package/components/wizards/DBExplorerWizard.svelte +21 -12
  469. package/package/components/wizards/NavbarWizard.svelte +108 -107
  470. package/package/components/wizards/PlotlyWizard.svelte +84 -75
  471. package/package/components/wizards/TableActionsWizard.svelte +69 -66
  472. package/package/components/wizards/TableColumnWizard.svelte +52 -47
  473. package/package/gen/core/OpenAPI.js +1 -1
  474. package/package/gen/schemas.gen.d.ts +456 -111
  475. package/package/gen/schemas.gen.js +470 -112
  476. package/package/gen/services.gen.d.ts +429 -2
  477. package/package/gen/services.gen.js +890 -17
  478. package/package/gen/types.gen.d.ts +1491 -158
  479. package/package/hub.d.ts +3 -0
  480. package/package/hubPaths.json +5 -1
  481. package/package/inferArgSig.js +11 -4
  482. package/package/script_helpers.d.ts +5 -3
  483. package/package/script_helpers.js +138 -98
  484. package/package/scripts.d.ts +1 -1
  485. package/package/stores.d.ts +6 -3
  486. package/package/stores.js +5 -3
  487. package/package/utils.d.ts +15 -0
  488. package/package/utils.js +17 -3
  489. package/package/zIndexes.d.ts +2 -0
  490. package/package/zIndexes.js +3 -1
  491. package/package.json +5 -5
  492. package/package/components/CapturesInputs.svelte +0 -16
  493. package/package/components/CapturesInputs.svelte.d.ts +0 -21
  494. package/package/components/LightweightArgInput.svelte +0 -622
  495. package/package/components/LightweightArgInput.svelte.d.ts +0 -70
  496. package/package/components/LightweightObjectResourceInput.svelte +0 -40
  497. package/package/components/LightweightObjectResourceInput.svelte.d.ts +0 -19
  498. package/package/components/LightweightSchemaForm.svelte +0 -100
  499. package/package/components/LightweightSchemaForm.svelte.d.ts +0 -43
  500. package/package/components/common/button/ButtonDropdown.svelte +0 -61
  501. package/package/components/common/button/ButtonDropdown.svelte.d.ts +0 -22
  502. package/package/components/common/menu/MenuV2.svelte +0 -51
  503. package/package/components/common/menu/MenuV2.svelte.d.ts +0 -26
  504. package/package/components/common/popup/Popup.svelte +0 -66
  505. package/package/components/common/popup/Popup.svelte.d.ts +0 -35
  506. package/package/components/common/toggleButton-v2/ToggleEnable.svelte +0 -34
  507. package/package/components/common/toggleButton-v2/ToggleEnable.svelte.d.ts +0 -23
  508. package/package/components/details/Menu.svelte +0 -58
  509. package/package/components/details/Menu.svelte.d.ts +0 -16
  510. package/package/components/flows/map/FlowCopilotButton.svelte +0 -54
  511. package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +0 -16
  512. package/package/components/meltComponents/ButtonDropDown.svelte +0 -32
  513. package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +0 -27
  514. package/package/components/tutorials/TutorialItem.svelte +0 -27
  515. package/package/components/tutorials/TutorialItem.svelte.d.ts +0 -22
  516. /package/package/components/triggers/{RouteEditor.svelte → http/RouteEditor.svelte} +0 -0
  517. /package/package/components/triggers/{RouteEditor.svelte.d.ts → http/RouteEditor.svelte.d.ts} +0 -0
  518. /package/package/components/triggers/{RouteEditorInner.svelte.d.ts → http/RouteEditorInner.svelte.d.ts} +0 -0
  519. /package/package/components/triggers/{RoutesPanel.svelte.d.ts → http/RoutesPanel.svelte.d.ts} +0 -0
  520. /package/package/components/triggers/{KafkaTriggerEditor.svelte → kafka/KafkaTriggerEditor.svelte} +0 -0
  521. /package/package/components/triggers/{KafkaTriggerEditor.svelte.d.ts → kafka/KafkaTriggerEditor.svelte.d.ts} +0 -0
  522. /package/package/components/triggers/{KafkaTriggerEditorInner.svelte.d.ts → kafka/KafkaTriggerEditorInner.svelte.d.ts} +0 -0
  523. /package/package/components/triggers/{KafkaTriggersPanel.svelte.d.ts → kafka/KafkaTriggersPanel.svelte.d.ts} +0 -0
  524. /package/package/components/triggers/{NatsTriggerEditor.svelte → nats/NatsTriggerEditor.svelte} +0 -0
  525. /package/package/components/triggers/{NatsTriggerEditor.svelte.d.ts → nats/NatsTriggerEditor.svelte.d.ts} +0 -0
  526. /package/package/components/triggers/{NatsTriggerEditorInner.svelte.d.ts → nats/NatsTriggerEditorInner.svelte.d.ts} +0 -0
  527. /package/package/components/triggers/{NatsTriggersPanel.svelte.d.ts → nats/NatsTriggersPanel.svelte.d.ts} +0 -0
  528. /package/package/components/triggers/{ScheduledPollPanel.svelte.d.ts → scheduled/ScheduledPollPanel.svelte.d.ts} +0 -0
  529. /package/package/components/triggers/{WebhooksPanel.svelte.d.ts → webhook/WebhooksPanel.svelte.d.ts} +0 -0
  530. /package/package/components/triggers/{WebsocketTriggerEditor.svelte → websocket/WebsocketTriggerEditor.svelte} +0 -0
  531. /package/package/components/triggers/{WebsocketTriggerEditor.svelte.d.ts → websocket/WebsocketTriggerEditor.svelte.d.ts} +0 -0
  532. /package/package/components/triggers/{WebsocketTriggerEditorInner.svelte.d.ts → websocket/WebsocketTriggerEditorInner.svelte.d.ts} +0 -0
  533. /package/package/components/triggers/{WebsocketTriggersPanel.svelte.d.ts → websocket/WebsocketTriggersPanel.svelte.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
- <script>import { DraftService, ScriptService, ScheduleService } from '../gen';
1
+ <script>import { DraftService, ScriptService, ScheduleService, PostgresTriggerService } from '../gen';
2
2
  import { inferArgs } from '../infer';
3
3
  import { initialCode } from '../script_helpers';
4
+ import { page } from '$app/stores';
4
5
  import { defaultScripts, enterpriseLicense, userStore, workspaceStore } from '../stores';
5
6
  import { cleanValueProperties, emptySchema, emptyString, encodeState, formatCron, orderedJsonStringify, replaceFalseWithUndefined } from '../utils';
6
7
  import Path from './Path.svelte';
@@ -49,6 +50,12 @@ export let disableHistoryChange = false;
49
50
  export let replaceStateFn = (url) => window.history.replaceState(null, '', url);
50
51
  export let customUi = {};
51
52
  export let savedPrimarySchedule = undefined;
53
+ export function getInitialAndModifiedValues() {
54
+ return {
55
+ savedValue: savedScript,
56
+ modifiedValue: script
57
+ };
58
+ }
52
59
  let deployedValue = undefined; // Value to diff against
53
60
  let deployedBy = undefined; // Author
54
61
  let confirmCallback = () => { }; // What happens when user clicks `override` in warning
@@ -109,7 +116,13 @@ export function setCode(code) {
109
116
  }
110
117
  $: langs = processLangs(script.language, $defaultScripts?.order ?? Object.keys(defaultScriptLanguages))
111
118
  .map((l) => [defaultScriptLanguages[l], l])
112
- .filter((x) => $defaultScripts?.hidden == undefined || !$defaultScripts.hidden.includes(x[1]));
119
+ .filter((x) => $defaultScripts?.hidden == undefined || !$defaultScripts.hidden.includes(x[1]))
120
+ .filter((x) => {
121
+ if (customUi?.settingsPanel?.metadata?.languages === undefined) {
122
+ return true;
123
+ }
124
+ return customUi.settingsPanel.metadata.languages.includes(x[1]);
125
+ });
113
126
  const scriptKindOptions = [
114
127
  {
115
128
  value: 'script',
@@ -161,9 +174,29 @@ $: !disableHistoryChange &&
161
174
  if (script.content == '') {
162
175
  initContent(script.language, script.kind, template);
163
176
  }
164
- function initContent(language, kind, template) {
177
+ async function isTemplateScript() {
178
+ let getInitBlockTemplate = $page.url.searchParams.get('id');
179
+ if (getInitBlockTemplate === null) {
180
+ return undefined;
181
+ }
182
+ try {
183
+ getInitBlockTemplate = await PostgresTriggerService.getTemplateScript({
184
+ workspace: $workspaceStore,
185
+ id: getInitBlockTemplate
186
+ });
187
+ return getInitBlockTemplate;
188
+ }
189
+ catch (error) {
190
+ sendUserToast('An error occured when trying to load your template script, please try again later', true);
191
+ }
192
+ }
193
+ async function initContent(language, kind, template) {
165
194
  scriptEditor?.disableCollaboration();
166
- script.content = initialCode(language, kind, template);
195
+ const templateScript = await isTemplateScript();
196
+ script.content = initialCode(language, kind, template, templateScript != undefined);
197
+ if (templateScript) {
198
+ script.content += '\r\n' + templateScript;
199
+ }
167
200
  scriptEditor?.inferSchema(script.content, language, true);
168
201
  if (script.content != editor?.getCode()) {
169
202
  setCode(script.content);
@@ -515,7 +548,23 @@ function onKeyDown(event) {
515
548
  }
516
549
  let path = undefined;
517
550
  let dirtyPath = false;
518
- let selectedTab = 'metadata';
551
+ let selectedTab = (() => {
552
+ if (customUi?.settingsPanel?.disableMetadata !== true) {
553
+ // first option: either no custom UI or metadata is enabled
554
+ return 'metadata';
555
+ }
556
+ if (customUi?.settingsPanel?.disableRuntime !== true) {
557
+ return 'runtime';
558
+ }
559
+ if (customUi?.settingsPanel?.disableGeneratedUi !== true) {
560
+ return 'ui';
561
+ }
562
+ if (customUi?.settingsPanel?.disableTriggers !== true) {
563
+ return 'triggers';
564
+ }
565
+ return 'metadata';
566
+ })();
567
+ setContext('disableTooltips', customUi?.disableTooltips === true);
519
568
  let deploymentMsg = '';
520
569
  let msgInput = undefined;
521
570
  function langToLanguage(lang) {
@@ -580,23 +629,31 @@ function addPreprocessor() {
580
629
  <!-- svelte-ignore a11y-autofocus -->
581
630
  <div class="flex flex-col h-full">
582
631
  <Tabs bind:selected={selectedTab} wrapperClass="flex-none w-full">
583
- <Tab value="metadata">Metadata</Tab>
584
- <Tab value="runtime">Runtime</Tab>
585
- <Tab value="ui">
586
- Generated UI
587
- <Tooltip
588
- documentationLink="https://www.windmill.dev/docs/core_concepts/json_schema_and_parsing"
589
- >
590
- The arguments are synced with the main signature but you may refine the parts that
591
- cannot be inferred from the type directly.
592
- </Tooltip>
593
- </Tab>
594
- <Tab value="triggers">
595
- Triggers
596
- <Tooltip documentationLink="https://www.windmill.dev/docs/getting_started/triggers">
597
- Configure how this script will be triggered.
598
- </Tooltip>
599
- </Tab>
632
+ {#if customUi?.settingsPanel?.disableMetadata !== true}
633
+ <Tab value="metadata">Metadata</Tab>
634
+ {/if}
635
+ {#if customUi?.settingsPanel?.disableRuntime !== true}
636
+ <Tab value="runtime">Runtime</Tab>
637
+ {/if}
638
+ {#if customUi?.settingsPanel?.disableGeneratedUi !== true}
639
+ <Tab value="ui">
640
+ Generated UI
641
+ <Tooltip
642
+ documentationLink="https://www.windmill.dev/docs/core_concepts/json_schema_and_parsing"
643
+ >
644
+ The arguments are synced with the main signature but you may refine the parts that
645
+ cannot be inferred from the type directly.
646
+ </Tooltip>
647
+ </Tab>
648
+ {/if}
649
+ {#if customUi?.settingsPanel?.disableTriggers !== true}
650
+ <Tab value="triggers">
651
+ Triggers
652
+ <Tooltip documentationLink="https://www.windmill.dev/docs/getting_started/triggers">
653
+ Configure how this script will be triggered.
654
+ </Tooltip>
655
+ </Tab>
656
+ {/if}
600
657
 
601
658
  <svelte:fragment slot="content">
602
659
  <div class="min-h-0 grow overflow-y-auto">
@@ -604,14 +661,16 @@ function addPreprocessor() {
604
661
  <div class="flex flex-col gap-8 px-4 py-2">
605
662
  <Section label="Metadata">
606
663
  <svelte:fragment slot="action">
607
- <div class="flex flex-row items-center gap-2">
608
- <ErrorHandlerToggleButton
609
- kind="script"
610
- scriptOrFlowPath={script.path}
611
- bind:errorHandlerMuted={script.ws_error_handler_muted}
612
- iconOnly={false}
613
- />
614
- </div>
664
+ {#if customUi?.settingsPanel?.metadata?.disableMute !== true}
665
+ <div class="flex flex-row items-center gap-2">
666
+ <ErrorHandlerToggleButton
667
+ kind="script"
668
+ scriptOrFlowPath={script.path}
669
+ bind:errorHandlerMuted={script.ws_error_handler_muted}
670
+ iconOnly={false}
671
+ />
672
+ </div>
673
+ {/if}
615
674
  </svelte:fragment>
616
675
  <div class="flex flex-col gap-4">
617
676
  <Label label="Summary">
@@ -745,36 +804,40 @@ function addPreprocessor() {
745
804
  </div>
746
805
  </Section>
747
806
 
748
- <Section label="Script kind">
749
- <svelte:fragment slot="header">
750
- <Tooltip
751
- documentationLink="https://www.windmill.dev/docs/script_editor/script_kinds"
807
+ {#if customUi?.settingsPanel?.metadata?.disableScriptKind !== true}
808
+ <Section label="Script kind">
809
+ <svelte:fragment slot="header">
810
+ <Tooltip
811
+ documentationLink="https://www.windmill.dev/docs/script_editor/script_kinds"
812
+ >
813
+ Tag this script's purpose within flows such that it is available as the
814
+ corresponding action.
815
+ </Tooltip>
816
+ </svelte:fragment>
817
+ <ToggleButtonGroup
818
+ class="h-10"
819
+ selected={script.kind}
820
+ on:selected={({ detail }) => {
821
+ template = 'script'
822
+ script.kind = detail
823
+ initContent(script.language, detail, template)
824
+ }}
825
+ let:item
752
826
  >
753
- Tag this script's purpose within flows such that it is available as the
754
- corresponding action.
755
- </Tooltip>
756
- </svelte:fragment>
757
- <ToggleButtonGroup
758
- class="h-10"
759
- selected={script.kind}
760
- on:selected={({ detail }) => {
761
- template = 'script'
762
- script.kind = detail
763
- initContent(script.language, detail, template)
764
- }}
765
- >
766
- {#each scriptKindOptions as { value, title, desc, documentationLink, Icon }}
767
- <ToggleButton
768
- label={title}
769
- {value}
770
- tooltip={desc}
771
- {documentationLink}
772
- icon={Icon}
773
- showTooltipIcon={Boolean(desc)}
774
- />
775
- {/each}
776
- </ToggleButtonGroup>
777
- </Section>
827
+ {#each scriptKindOptions as { value, title, desc, documentationLink, Icon }}
828
+ <ToggleButton
829
+ label={title}
830
+ {value}
831
+ tooltip={desc}
832
+ {documentationLink}
833
+ icon={Icon}
834
+ showTooltipIcon={Boolean(desc)}
835
+ {item}
836
+ />
837
+ {/each}
838
+ </ToggleButtonGroup>
839
+ </Section>
840
+ {/if}
778
841
  </div>
779
842
  </TabContent>
780
843
  <TabContent value="runtime">
@@ -1173,7 +1236,10 @@ function addPreprocessor() {
1173
1236
  </div>
1174
1237
  </TabContent>
1175
1238
  <TabContent value="ui" class="h-full p-4">
1176
- <ScriptSchema bind:schema={script.schema} />
1239
+ <ScriptSchema
1240
+ bind:schema={script.schema}
1241
+ customUi={customUi?.settingsPanel?.metadata?.editableSchemaForm}
1242
+ />
1177
1243
  </TabContent>
1178
1244
  <TabContent value="triggers">
1179
1245
  <TriggersEditor
@@ -1248,18 +1314,20 @@ function addPreprocessor() {
1248
1314
  {#if customUi?.topBar?.path != false}
1249
1315
  <div class="flex justify-start w-full border rounded-md overflow-hidden">
1250
1316
  <div>
1251
- <button
1252
- on:click={async () => {
1253
- metadataOpen = true
1254
- }}
1255
- >
1256
- <Badge
1257
- color="gray"
1258
- class="center-center !bg-surface-secondary !text-tertiary !h-[28px] !w-[70px] rounded-none hover:!bg-surface-hover transition-all"
1317
+ {#if customUi?.topBar?.editablePath}
1318
+ <button
1319
+ on:click={async () => {
1320
+ metadataOpen = true
1321
+ }}
1259
1322
  >
1260
- <Pen size={12} class="mr-2" /> Path
1261
- </Badge>
1262
- </button>
1323
+ <Badge
1324
+ color="gray"
1325
+ class="center-center !bg-surface-secondary !text-tertiary !h-[28px] !w-[70px] rounded-none hover:!bg-surface-hover transition-all"
1326
+ >
1327
+ <Pen size={12} class="mr-2" /> Path
1328
+ </Badge>
1329
+ </button>
1330
+ {/if}
1263
1331
  </div>
1264
1332
  <input
1265
1333
  type="text"
@@ -3,6 +3,7 @@ import { type NewScript, type NewScriptWithDraft } from '../gen';
3
3
  import type DiffDrawer from './DiffDrawer.svelte';
4
4
  import type { ScriptBuilderWhitelabelCustomUi } from './custom_ui';
5
5
  import type { ScheduleTrigger } from './triggers';
6
+ import type { SavedAndModifiedValue } from './common/confirmationModal/unsavedTypes';
6
7
  declare const __propDef: {
7
8
  props: {
8
9
  script: NewScript;
@@ -20,6 +21,7 @@ declare const __propDef: {
20
21
  replaceStateFn?: ((url: string) => void) | undefined;
21
22
  customUi?: ScriptBuilderWhitelabelCustomUi | undefined;
22
23
  savedPrimarySchedule?: ScheduleTrigger | undefined;
24
+ getInitialAndModifiedValues?: (() => SavedAndModifiedValue) | undefined;
23
25
  setPrimarySchedule?: ((schedule: ScheduleTrigger | undefined | false) => void) | undefined;
24
26
  setCode?: ((code: string) => void) | undefined;
25
27
  };
@@ -42,6 +44,7 @@ export type ScriptBuilderProps = typeof __propDef.props;
42
44
  export type ScriptBuilderEvents = typeof __propDef.events;
43
45
  export type ScriptBuilderSlots = typeof __propDef.slots;
44
46
  export default class ScriptBuilder extends SvelteComponent<ScriptBuilderProps, ScriptBuilderEvents, ScriptBuilderSlots> {
47
+ get getInitialAndModifiedValues(): () => SavedAndModifiedValue;
45
48
  get setPrimarySchedule(): (schedule: false | ScheduleTrigger | undefined) => void;
46
49
  get setCode(): (code: string) => void;
47
50
  }
@@ -26,6 +26,7 @@ import Tab from './common/tabs/Tab.svelte';
26
26
  import { slide } from 'svelte/transition';
27
27
  import CaptureTable from './triggers/CaptureTable.svelte';
28
28
  import CaptureButton from './triggers/CaptureButton.svelte';
29
+ import { setContext } from 'svelte';
29
30
  // Exported
30
31
  export let schema = emptySchema();
31
32
  export let code;
@@ -44,7 +45,7 @@ export let edit = true;
44
45
  export let noHistory = false;
45
46
  export let saveToWorkspace = false;
46
47
  export let watchChanges = false;
47
- export let customUi = {};
48
+ export let customUi = undefined;
48
49
  export let args = initialArgs;
49
50
  export let selectedTab = 'main';
50
51
  export let hasPreprocessor = false;
@@ -204,6 +205,7 @@ export async function updateArgs(newArgs) {
204
205
  }
205
206
  }
206
207
  let setFocusToLogs = () => { };
208
+ setContext('disableTooltips', customUi?.disableTooltips === true);
207
209
  </script>
208
210
 
209
211
  <TestJobLoader
@@ -353,7 +355,7 @@ let setFocusToLogs = () => { };
353
355
  />
354
356
  Cancel
355
357
  </Button>
356
- {:else}
358
+ {:else if customUi?.previewPanel?.disableTriggerButton !== true}
357
359
  <div class="flex flex-row divide-x divide-gray-800 dark:divide-gray-300 items-stretch">
358
360
  <Button
359
361
  color="dark"
@@ -376,6 +378,28 @@ let setFocusToLogs = () => { };
376
378
  </Button>
377
379
  <CaptureButton on:openTriggers />
378
380
  </div>
381
+ {:else}
382
+ <div class="flex flex-row divide-x divide-gray-800 dark:divide-gray-300 items-stretch">
383
+ <Button
384
+ color="dark"
385
+ on:click={() => {
386
+ runTest()
387
+ }}
388
+ btnClasses="w-full"
389
+ size="xs"
390
+ startIcon={{
391
+ icon: Play,
392
+ classes: 'animate-none'
393
+ }}
394
+ shortCut={{ Icon: CornerDownLeft, hide: testIsLoading }}
395
+ >
396
+ {#if testIsLoading}
397
+ Running
398
+ {:else}
399
+ Test
400
+ {/if}
401
+ </Button>
402
+ </div>
379
403
  {/if}
380
404
  </div>
381
405
  <Splitpanes horizontal class="!max-h-[calc(100%-43px)]">
@@ -394,6 +418,7 @@ let setFocusToLogs = () => { };
394
418
  {schema}
395
419
  bind:args
396
420
  bind:isValid
421
+ noVariablePicker={customUi?.previewPanel?.disableVariablePicker === true}
397
422
  showSchemaExplorer
398
423
  />
399
424
  {/key}
@@ -411,6 +436,7 @@ let setFocusToLogs = () => { };
411
436
  {diffEditor}
412
437
  {args}
413
438
  showCaptures={true}
439
+ customUi={customUi?.previewPanel}
414
440
  >
415
441
  {#if scriptProgress}
416
442
  <!-- Put to the slot in logpanel -->
@@ -12,7 +12,7 @@ declare const __propDef: {
12
12
  path: string | undefined;
13
13
  lang: Preview['language'];
14
14
  kind?: string | undefined;
15
- template?: "powershell" | "mysql" | "script" | "bunnative" | "docker" | "pgsql" | undefined;
15
+ template?: "script" | "powershell" | "mysql" | "bunnative" | "docker" | "pgsql" | undefined;
16
16
  tag: string | undefined;
17
17
  initialArgs?: Record<string, any> | undefined;
18
18
  fixedOverflowWidgets?: boolean | undefined;
@@ -63,7 +63,7 @@ export type ScriptEditorProps = typeof __propDef.props;
63
63
  export type ScriptEditorEvents = typeof __propDef.events;
64
64
  export type ScriptEditorSlots = typeof __propDef.slots;
65
65
  export default class ScriptEditor extends SvelteComponent<ScriptEditorProps, ScriptEditorEvents, ScriptEditorSlots> {
66
- get inferSchema(): (code: string, nlang?: "python3" | "deno" | "go" | "bash" | "powershell" | "postgresql" | "mysql" | "bigquery" | "snowflake" | "mssql" | "oracledb" | "graphql" | "nativets" | "bun" | "php" | "rust" | "ansible" | "csharp" | undefined, resetArgs?: boolean) => Promise<void>;
66
+ get inferSchema(): (code: string, nlang?: import("../gen").ScriptLang | undefined, resetArgs?: boolean) => Promise<void>;
67
67
  get setCollaborationMode(): () => Promise<void>;
68
68
  get disableCollaboration(): () => void;
69
69
  get updateArgs(): (newArgs: Record<string, any>) => Promise<void>;
@@ -39,7 +39,10 @@ async function loadItems() {
39
39
  }));
40
40
  }
41
41
  else if (itemKind == 'script') {
42
- items = (await ScriptService.listScripts({ workspace: $workspaceStore, kinds: kinds.join(',') })).map((script) => ({
42
+ items = (await ScriptService.listScripts({
43
+ workspace: $workspaceStore,
44
+ kinds: kinds.join(',')
45
+ })).map((script) => ({
43
46
  value: script.path,
44
47
  label: `${script.path}${script.summary ? ` | ${truncate(script.summary, 20)}` : ''}`
45
48
  }));
@@ -72,9 +75,9 @@ let darkMode = false;
72
75
  <div class="flex flex-row items-center gap-4 w-full mt-2">
73
76
  {#if options.length > 1}
74
77
  <div>
75
- <ToggleButtonGroup bind:selected={itemKind}>
78
+ <ToggleButtonGroup bind:selected={itemKind} let:item>
76
79
  {#each options as [label, value, icon, selectedColor]}
77
- <ToggleButton {icon} {disabled} {value} {label} {selectedColor} />
80
+ <ToggleButton {icon} {disabled} {value} {label} {selectedColor} {item} />
78
81
  {/each}
79
82
  </ToggleButtonGroup>
80
83
  </div>
@@ -1,8 +1,9 @@
1
1
  <script>import EditableSchemaForm from './EditableSchemaForm.svelte';
2
2
  export let schema;
3
+ export let customUi = undefined;
3
4
  export function setSchema(newSchema) {
4
5
  schema = newSchema;
5
6
  }
6
7
  </script>
7
8
 
8
- <EditableSchemaForm bind:schema uiOnly editTab="inputEditor" />
9
+ <EditableSchemaForm bind:schema uiOnly {customUi} editTab="inputEditor" />
@@ -1,8 +1,10 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type { Schema } from '../common';
3
+ import type { EditableSchemaFormUi } from './custom_ui';
3
4
  declare const __propDef: {
4
5
  props: {
5
6
  schema: Schema | any;
7
+ customUi?: EditableSchemaFormUi | undefined;
6
8
  setSchema?: ((newSchema: Schema) => void) | undefined;
7
9
  };
8
10
  events: {
@@ -179,9 +179,15 @@ let previousHash = undefined;
179
179
  {#if selectedVersionIndex !== undefined && versions?.slice(selectedVersionIndex + 1).length}
180
180
  <div class="p-2 flex flex-row items-center gap-2 h-8">
181
181
  <div class="w-min">
182
- <ToggleButtonGroup bind:selected={showDiff}>
183
- <ToggleButton light small value={false} label="Code" icon={Code} />
184
- <ToggleButton light small value={true} label="Diff" icon={Diff} />
182
+ <ToggleButtonGroup
183
+ selected={showDiff ? 'diff' : 'code'}
184
+ let:item
185
+ on:selected={({ detail }) => {
186
+ showDiff = detail === 'diff'
187
+ }}
188
+ >
189
+ <ToggleButton light small value="code" label="Code" icon={Code} {item} />
190
+ <ToggleButton light small value="diff" label="Diff" icon={Diff} {item} />
185
191
  </ToggleButtonGroup>
186
192
  </div>
187
193
 
@@ -1,17 +1,21 @@
1
1
  <script>import { enterpriseLicense } from '../stores';
2
- import { AlertTriangle, ChevronDown, ChevronRight } from 'lucide-svelte';
2
+ import { AlertTriangle, ChevronRight } from 'lucide-svelte';
3
3
  import Tooltip from './Tooltip.svelte';
4
4
  import { twMerge } from 'tailwind-merge';
5
+ import { slide } from 'svelte/transition';
5
6
  export let label = undefined;
6
7
  export let tooltip = undefined;
8
+ export let documentationLink = undefined;
7
9
  export let eeOnly = false;
8
10
  export let small = false;
11
+ export let wrapperClass = '';
9
12
  export let collapsable = false;
10
13
  export let collapsed = true;
11
14
  export let headless = false;
15
+ export let animate = false;
12
16
  </script>
13
17
 
14
- <div class="w-full flex flex-col">
18
+ <div class={twMerge('w-full flex flex-col', wrapperClass)}>
15
19
  {#if !headless}
16
20
  <div class="flex flex-row justify-between items-center mb-2">
17
21
  <h2
@@ -22,11 +26,14 @@ export let headless = false;
22
26
  >
23
27
  {#if collapsable}
24
28
  <button class="flex items-center gap-1" on:click={() => (collapsed = !collapsed)}>
25
- {#if collapsed}
26
- <ChevronRight size={16} />
27
- {:else}
28
- <ChevronDown size={16} />
29
- {/if}
29
+ <ChevronRight
30
+ size={16}
31
+ class={twMerge(
32
+ 'transition',
33
+ collapsed ? '' : 'rotate-90',
34
+ animate ? 'duration-200' : 'duration-0'
35
+ )}
36
+ />
30
37
  {label}
31
38
  </button>
32
39
  {:else}
@@ -35,7 +42,9 @@ export let headless = false;
35
42
 
36
43
  <slot name="header" />
37
44
  {#if tooltip}
38
- <Tooltip>{tooltip}</Tooltip>
45
+ <Tooltip {documentationLink}>{tooltip}</Tooltip>
46
+ {:else if $$slots.tooltip}
47
+ <slot name="tooltip" />
39
48
  {/if}
40
49
  {#if eeOnly}
41
50
  {#if !$enterpriseLicense}
@@ -53,7 +62,10 @@ export let headless = false;
53
62
  </div>
54
63
  {/if}
55
64
  {#if !collapsable || !collapsed}
56
- <div class={twMerge('grow min-h-0', $$props.class)}>
65
+ <div
66
+ class={twMerge('grow min-h-0', $$props.class)}
67
+ transition:slide={animate ? { duration: 200 } : { duration: 0 }}
68
+ >
57
69
  <slot />
58
70
  </div>
59
71
  {/if}
@@ -4,17 +4,21 @@ declare const __propDef: {
4
4
  [x: string]: any;
5
5
  label?: string | undefined;
6
6
  tooltip?: string | undefined;
7
+ documentationLink?: string | undefined;
7
8
  eeOnly?: boolean | undefined;
8
9
  small?: boolean | undefined;
10
+ wrapperClass?: string | undefined;
9
11
  collapsable?: boolean | undefined;
10
12
  collapsed?: boolean | undefined;
11
13
  headless?: boolean | undefined;
14
+ animate?: boolean | undefined;
12
15
  };
13
16
  events: {
14
17
  [evt: string]: CustomEvent<any>;
15
18
  };
16
19
  slots: {
17
20
  header: {};
21
+ tooltip: {};
18
22
  action: {};
19
23
  badge: {};
20
24
  default: {};
@@ -91,9 +91,13 @@ async function addAcl(owner, write) {
91
91
  {#if own}
92
92
  <div class="flex flex-row flex-wrap gap-2 items-center">
93
93
  <div>
94
- <ToggleButtonGroup bind:selected={ownerKind} on:selected={() => (owner = '')}>
95
- <ToggleButton value="user" size="xs" label="User" />
96
- <ToggleButton value="group" size="xs" label="Group" />
94
+ <ToggleButtonGroup
95
+ bind:selected={ownerKind}
96
+ on:selected={() => (owner = '')}
97
+ let:item
98
+ >
99
+ <ToggleButton value="user" size="xs" label="User" {item} />
100
+ <ToggleButton value="group" size="xs" label="Group" {item} />
97
101
  </ToggleButtonGroup>
98
102
  </div>
99
103
  {#key ownerKind}
@@ -131,9 +135,10 @@ async function addAcl(owner, write) {
131
135
  }
132
136
  loadAcls()
133
137
  }}
138
+ let:item
134
139
  >
135
- <ToggleButton value="viewer" size="xs" label="Viewer" />
136
- <ToggleButton value="writer" size="xs" label="Writer" />
140
+ <ToggleButton value="viewer" size="xs" label="Viewer" {item} />
141
+ <ToggleButton value="writer" size="xs" label="Writer" {item} />
137
142
  </ToggleButtonGroup>
138
143
  </div>
139
144
  {:else}{write}{/if}</td
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- openDrawer?: ((newPath: string, kind_l: "script" | "flow" | "resource" | "schedule" | "app" | "variable" | "group_" | "raw_app" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger") => Promise<void>) | undefined;
4
+ openDrawer?: ((newPath: string, kind_l: "script" | "flow" | "resource" | "schedule" | "app" | "variable" | "group_" | "raw_app" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger" | "postgres_trigger" | "sqs_trigger") => Promise<void>) | undefined;
5
5
  };
6
6
  events: {
7
7
  change: CustomEvent<any>;
@@ -14,6 +14,6 @@ export type ShareModalProps = typeof __propDef.props;
14
14
  export type ShareModalEvents = typeof __propDef.events;
15
15
  export type ShareModalSlots = typeof __propDef.slots;
16
16
  export default class ShareModal extends SvelteComponent<ShareModalProps, ShareModalEvents, ShareModalSlots> {
17
- get openDrawer(): (newPath: string, kind_l: "script" | "flow" | "resource" | "schedule" | "app" | "variable" | "group_" | "raw_app" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger") => Promise<void>;
17
+ get openDrawer(): (newPath: string, kind_l: "script" | "flow" | "resource" | "schedule" | "app" | "variable" | "group_" | "raw_app" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger" | "postgres_trigger" | "sqs_trigger") => Promise<void>;
18
18
  }
19
19
  export {};
@@ -14,9 +14,9 @@ $: {
14
14
  let username = $userStore?.username ?? '';
15
15
  let pgroups = $userStore?.pgroups ?? [];
16
16
  let pusername = `u/${username}`;
17
- let extraPermsKeys = Object.keys(extraPerms);
17
+ let extraPermsKeys = Object.keys(extraPerms ?? {});
18
18
  if (pusername in extraPermsKeys) {
19
- if (extraPerms[pusername]) {
19
+ if (extraPerms?.[pusername]) {
20
20
  kind = 'write';
21
21
  }
22
22
  else {
@@ -25,7 +25,7 @@ $: {
25
25
  reason = 'This item was shared to you personally';
26
26
  }
27
27
  else {
28
- let writeGroup = pgroups.find((x) => extraPermsKeys.includes(x) && extraPerms[x]);
28
+ let writeGroup = pgroups.find((x) => extraPermsKeys.includes(x) && extraPerms?.[x]);
29
29
  if (writeGroup) {
30
30
  kind = 'write';
31
31
  reason = `This item was write shared to the group ${writeGroup} which you are a member of`;
@@ -103,6 +103,8 @@ function onEnumKeyChange(oldKey, newKey) {
103
103
  }
104
104
  if (e.detail == 'date-time') {
105
105
  format = 'date-time'
106
+ } else if (format) {
107
+ format = undefined
106
108
  }
107
109
  if (e.detail == 'none') {
108
110
  pattern = undefined
@@ -114,9 +116,16 @@ function onEnumKeyChange(oldKey, newKey) {
114
116
  disableVariablePicker = undefined
115
117
  }
116
118
  }}
119
+ let:item
117
120
  >
118
121
  {#each FIELD_SETTINGS as x}
119
- <ToggleButton value={x[1]} label={x[0]} tooltip={x[2]} showTooltipIcon={Boolean(x[2])} />
122
+ <ToggleButton
123
+ value={x[1]}
124
+ label={x[0]}
125
+ tooltip={x[2]}
126
+ showTooltipIcon={Boolean(x[2])}
127
+ {item}
128
+ />
120
129
  {/each}
121
130
  </ToggleButtonGroup>
122
131
  {/if}