windmill-components 1.542.5 → 1.555.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 (399) hide show
  1. package/package/aiStore.d.ts +13 -0
  2. package/package/aiStore.js +70 -0
  3. package/package/common.d.ts +6 -2
  4. package/package/components/AIAgentLogViewer.svelte +1 -1
  5. package/package/components/AIProviderPicker.svelte +25 -8
  6. package/package/components/ArgEnum.svelte +17 -7
  7. package/package/components/ArgEnum.svelte.d.ts +1 -0
  8. package/package/components/ArgInput.svelte +257 -188
  9. package/package/components/ArgInput.svelte.d.ts +4 -1
  10. package/package/components/ArrayTypeNarrowing.svelte +38 -32
  11. package/package/components/AutoscalingEvents.svelte +21 -5
  12. package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
  13. package/package/components/ChannelSelector.svelte +92 -18
  14. package/package/components/ChannelSelector.svelte.d.ts +2 -0
  15. package/package/components/ConnectionSection.svelte +12 -1
  16. package/package/components/DateTimeInput.svelte +8 -6
  17. package/package/components/DeployButton.svelte +1 -1
  18. package/package/components/Dev.svelte +24 -9
  19. package/package/components/Dev.svelte.d.ts +23 -1
  20. package/package/components/DisplayResult.svelte +36 -23
  21. package/package/components/DropdownV2.svelte +8 -2
  22. package/package/components/DropdownV2.svelte.d.ts +1 -0
  23. package/package/components/DynamicInput.svelte +10 -10
  24. package/package/components/EditableSchemaForm.svelte +28 -13
  25. package/package/components/Editor.svelte +2 -1
  26. package/package/components/EditorSettings.svelte +5 -5
  27. package/package/components/EditorSettings.svelte.d.ts +4 -18
  28. package/package/components/ErrorOrRecoveryHandler.svelte +14 -20
  29. package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
  30. package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
  31. package/package/components/FieldHeader.svelte +5 -7
  32. package/package/components/FirstStepInputs.svelte +1 -1
  33. package/package/components/FlowHistoryJobPicker.svelte +3 -0
  34. package/package/components/FlowHistoryJobPicker.svelte.d.ts +1 -0
  35. package/package/components/FlowJobResult.svelte +5 -5
  36. package/package/components/FlowLogRow.svelte +2 -2
  37. package/package/components/FlowLogViewer.svelte +228 -57
  38. package/package/components/FlowLogViewer.svelte.d.ts +16 -5
  39. package/package/components/FlowLogViewerWrapper.svelte +56 -3
  40. package/package/components/FlowLogViewerWrapper.svelte.d.ts +4 -3
  41. package/package/components/FlowLoopIterationPreview.svelte +4 -4
  42. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  43. package/package/components/FlowMetadata.svelte +3 -4
  44. package/package/components/FlowMetadata.svelte.d.ts +4 -18
  45. package/package/components/FlowPlugConnect.svelte +8 -2
  46. package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
  47. package/package/components/FlowPreviewContent.svelte +121 -94
  48. package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
  49. package/package/components/FlowStatusViewer.svelte +63 -59
  50. package/package/components/FlowStatusViewer.svelte.d.ts +2 -2
  51. package/package/components/FlowStatusViewerInner.svelte +186 -94
  52. package/package/components/FlowStatusViewerInner.svelte.d.ts +10 -3
  53. package/package/components/FlowTimeline.svelte +110 -131
  54. package/package/components/FlowTimeline.svelte.d.ts +13 -4
  55. package/package/components/FlowTimelineBar.svelte +227 -0
  56. package/package/components/FlowTimelineBar.svelte.d.ts +24 -0
  57. package/package/components/FolderEditor.svelte +6 -7
  58. package/package/components/GroupEditor.svelte +148 -141
  59. package/package/components/GroupEditor.svelte.d.ts +5 -4
  60. package/package/components/InputTransformForm.svelte +193 -71
  61. package/package/components/InputTransformForm.svelte.d.ts +3 -0
  62. package/package/components/InputTransformSchemaForm.svelte +10 -5
  63. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  64. package/package/components/InstanceSetting.svelte +34 -51
  65. package/package/components/InstanceSettings.svelte +12 -21
  66. package/package/components/JobArgs.svelte +15 -16
  67. package/package/components/JobArgs.svelte.d.ts +4 -18
  68. package/package/components/JobLoader.svelte +23 -42
  69. package/package/components/JobLoader.svelte.d.ts +2 -0
  70. package/package/components/JobStatus.svelte +1 -1
  71. package/package/components/JobStatus.svelte.d.ts +4 -18
  72. package/package/components/JsonEditor.svelte +18 -9
  73. package/package/components/JsonEditor.svelte.d.ts +1 -1
  74. package/package/components/JsonInputs.svelte +1 -1
  75. package/package/components/ModulePreviewForm.svelte +23 -19
  76. package/package/components/ModulePreviewResultViewer.svelte +1 -7
  77. package/package/components/NextcloudSetting.svelte +6 -1
  78. package/package/components/NumberTypeNarrowing.svelte +32 -16
  79. package/package/components/ObjectStoreConfigSettings.svelte +27 -19
  80. package/package/components/Password.svelte +7 -11
  81. package/package/components/Password.svelte.d.ts +5 -20
  82. package/package/components/PasswordArgInput.svelte +35 -15
  83. package/package/components/PasswordArgInput.svelte.d.ts +4 -18
  84. package/package/components/Path.svelte +2 -8
  85. package/package/components/Path.svelte.d.ts +1 -1
  86. package/package/components/QueuePosition.svelte +6 -2
  87. package/package/components/ResourceEditor.svelte +3 -10
  88. package/package/components/ResourcePicker.svelte +85 -72
  89. package/package/components/ResourcePicker.svelte.d.ts +2 -0
  90. package/package/components/RunChart.svelte +1 -1
  91. package/package/components/RunForm.svelte +16 -21
  92. package/package/components/S3ArrayHelperButton.svelte +18 -0
  93. package/package/components/S3ArrayHelperButton.svelte.d.ts +9 -0
  94. package/package/components/S3FilePicker.svelte +1 -1
  95. package/package/components/SchemaForm.svelte +18 -10
  96. package/package/components/SchemaForm.svelte.d.ts +7 -1
  97. package/package/components/SchemaFormWithArgPicker.svelte +1 -1
  98. package/package/components/ScriptBuilder.svelte +2 -2
  99. package/package/components/ScriptEditor.svelte +9 -9
  100. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  101. package/package/components/ShareModal.svelte +4 -4
  102. package/package/components/SimpleEditor.svelte +6 -2
  103. package/package/components/SimpleEditor.svelte.d.ts +3 -0
  104. package/package/components/StringTypeNarrowing.svelte +44 -25
  105. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  106. package/package/components/SuperadminSettingsInner.svelte +3 -3
  107. package/package/components/TeamSelector.svelte +83 -37
  108. package/package/components/TeamSelector.svelte.d.ts +0 -1
  109. package/package/components/TemplateEditor.svelte +18 -9
  110. package/package/components/Toast.svelte +2 -7
  111. package/package/components/Toast.svelte.d.ts +4 -18
  112. package/package/components/Toggle.svelte +17 -7
  113. package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
  114. package/package/components/WorkerGroup.svelte +2 -14
  115. package/package/components/apps/components/buttons/AppButton.svelte +66 -38
  116. package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
  117. package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
  118. package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
  119. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +13 -4
  120. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +2 -2
  121. package/package/components/apps/components/display/table/utils.js +14 -4
  122. package/package/components/apps/components/helpers/RefreshButton.svelte +5 -1
  123. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -5
  124. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  125. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
  126. package/package/components/apps/components/layout/AppTabs.svelte +116 -71
  127. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  128. package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
  129. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
  130. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
  131. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
  132. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
  133. package/package/components/apps/editor/GridEditor.svelte +7 -2
  134. package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
  135. package/package/components/apps/editor/appDeploy.svelte.js +6 -0
  136. package/package/components/apps/editor/appUtils.d.ts +1 -0
  137. package/package/components/apps/editor/appUtils.js +30 -1
  138. package/package/components/apps/editor/component/ComponentInner.svelte +1 -0
  139. package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
  140. package/package/components/apps/editor/component/components.d.ts +19 -4
  141. package/package/components/apps/editor/component/components.js +23 -3
  142. package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
  143. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
  144. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  145. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  146. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  147. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +2 -0
  148. package/package/components/apps/editor/settingsPanel/GridTab.svelte +19 -1
  149. package/package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +3 -1
  150. package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte +52 -0
  151. package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte.d.ts +9 -0
  152. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +58 -8
  153. package/package/components/auditLogs/AuditLogsFilters.svelte +7 -1
  154. package/package/components/auditLogs/AuditLogsTable.svelte +17 -7
  155. package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
  156. package/package/components/common/CloseButton.svelte +2 -2
  157. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  158. package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
  159. package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
  160. package/package/components/common/badge/CountBadge.svelte +29 -0
  161. package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
  162. package/package/components/common/button/Button.svelte +1 -0
  163. package/package/components/common/button/ConnectionButton.svelte +6 -1
  164. package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
  165. package/package/components/common/button/RefreshButton.svelte +8 -4
  166. package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
  167. package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
  168. package/package/components/common/fileInput/FileInput.svelte +7 -6
  169. package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
  170. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
  171. package/package/components/common/layout/List.svelte +3 -7
  172. package/package/components/common/layout/List.svelte.d.ts +7 -29
  173. package/package/components/common/popup/PopupV2.svelte +14 -25
  174. package/package/components/common/popup/PopupV2.svelte.d.ts +4 -2
  175. package/package/components/common/table/ScriptRow.svelte +22 -2
  176. package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
  177. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
  178. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  179. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
  180. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  181. package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
  182. package/package/components/copilot/CronGen.svelte +1 -1
  183. package/package/components/copilot/FlowCopilotInputsModal.svelte +26 -23
  184. package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
  185. package/package/components/copilot/IteratorGen.svelte +30 -25
  186. package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
  187. package/package/components/copilot/MetadataGen.svelte +4 -3
  188. package/package/components/copilot/PredicateGen.svelte +15 -12
  189. package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
  190. package/package/components/copilot/RegexGen.svelte +1 -1
  191. package/package/components/copilot/ScriptFix.svelte +1 -1
  192. package/package/components/copilot/ScriptGen.svelte +2 -1
  193. package/package/components/copilot/StepGenQuick.svelte +15 -16
  194. package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
  195. package/package/components/copilot/StepInputGen.svelte +50 -36
  196. package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
  197. package/package/components/copilot/StepInputsGen.svelte +18 -19
  198. package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
  199. package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
  200. package/package/components/copilot/autocomplete/request.js +1 -1
  201. package/package/components/copilot/chat/AIChat.svelte +2 -1
  202. package/package/components/copilot/chat/AIChatManager.svelte.js +5 -3
  203. package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
  204. package/package/components/copilot/chat/ProviderModelSelector.svelte +11 -10
  205. package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
  206. package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
  207. package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -2
  208. package/package/components/copilot/chat/script/core.d.ts +4 -4
  209. package/package/components/copilot/chat/script/core.js +95 -35
  210. package/package/components/copilot/chat/shared.js +2 -1
  211. package/package/components/copilot/lib.d.ts +1 -0
  212. package/package/components/copilot/lib.js +7 -3
  213. package/package/components/custom_ui.d.ts +1 -0
  214. package/package/components/details/DetailPageLayout.svelte +3 -2
  215. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  216. package/package/components/flows/CreateActionsFlow.svelte +1 -1
  217. package/package/components/flows/FlowChatInterface.svelte +404 -0
  218. package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
  219. package/package/components/flows/FlowChatMessage.svelte +41 -0
  220. package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
  221. package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
  222. package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
  223. package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
  224. package/package/components/flows/FlowModuleIcon.svelte +10 -10
  225. package/package/components/flows/FlowProgressBar.svelte +16 -16
  226. package/package/components/flows/FlowProgressBar.svelte.d.ts +7 -22
  227. package/package/components/flows/common/FlowCard.svelte +10 -2
  228. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  229. package/package/components/flows/common/FlowCardHeader.svelte +2 -1
  230. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  231. package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
  232. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
  233. package/package/components/flows/content/FlowInput.svelte +381 -259
  234. package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  235. package/package/components/flows/content/FlowInputsQuick.svelte +56 -34
  236. package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +3 -2
  237. package/package/components/flows/content/FlowModuleComponent.svelte +29 -11
  238. package/package/components/flows/flowInfers.d.ts +60 -0
  239. package/package/components/flows/flowInfers.js +72 -40
  240. package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +5 -1
  241. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
  242. package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
  243. package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
  244. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  245. package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -1
  246. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  247. package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
  248. package/package/components/flows/map/FlowStickyNode.svelte +2 -2
  249. package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
  250. package/package/components/flows/map/InsertModuleButton.svelte +8 -15
  251. package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
  252. package/package/components/flows/map/InsertModuleInner.svelte +19 -20
  253. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
  254. package/package/components/flows/map/MapItem.svelte +1 -1
  255. package/package/components/flows/map/VirtualItem.svelte +1 -2
  256. package/package/components/flows/pickers/PickHubScriptQuick.svelte +43 -52
  257. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +2 -1
  258. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +41 -26
  259. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +1 -0
  260. package/package/components/flows/propPicker/OutputPicker.svelte +2 -0
  261. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
  262. package/package/components/git_sync/DetectionFlow.svelte +33 -44
  263. package/package/components/git_sync/DetectionFlow.svelte.d.ts +1 -0
  264. package/package/components/git_sync/GitSyncContext.svelte.d.ts +22 -0
  265. package/package/components/git_sync/GitSyncContext.svelte.js +145 -5
  266. package/package/components/git_sync/GitSyncModeDisplay.svelte +14 -0
  267. package/package/components/git_sync/GitSyncModeDisplay.svelte.d.ts +9 -0
  268. package/package/components/git_sync/GitSyncRepositoryCard.svelte +365 -253
  269. package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +10 -1
  270. package/package/components/git_sync/GitSyncSection.svelte +134 -14
  271. package/package/components/git_sync/PullWorkspaceModal.svelte +24 -32
  272. package/package/components/git_sync/PushWorkspaceModal.svelte +24 -32
  273. package/package/components/graph/FlowGraphV2.svelte +2 -1
  274. package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
  275. package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
  276. package/package/components/graph/graphBuilder.svelte.js +1 -0
  277. package/package/components/graph/model.d.ts +5 -5
  278. package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
  279. package/package/components/graph/renderers/edges/EmptyEdge.svelte +3 -10
  280. package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +4 -18
  281. package/package/components/graph/renderers/nodes/AIToolNode.svelte +2 -2
  282. package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
  283. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +5 -10
  284. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
  285. package/package/components/home/ItemsList.svelte +1 -1
  286. package/package/components/instanceSettings.js +17 -0
  287. package/package/components/jobs/JobProgressBar.svelte +27 -21
  288. package/package/components/jobs/JobProgressBar.svelte.d.ts +9 -24
  289. package/package/components/meltComponents/MenuSingleItem.svelte +3 -8
  290. package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +0 -3
  291. package/package/components/meltComponents/Popover.svelte +3 -2
  292. package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
  293. package/package/components/meltComponents/Tooltip.svelte +1 -1
  294. package/package/components/progressBar/ProgressBar.svelte +39 -53
  295. package/package/components/progressBar/ProgressBar.svelte.d.ts +11 -26
  296. package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
  297. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
  298. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
  299. package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
  300. package/package/components/raw_apps/RawAppEditor.svelte +6 -7
  301. package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
  302. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
  303. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
  304. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
  305. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
  306. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
  307. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
  308. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
  309. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
  310. package/package/components/raw_apps/RawAppPreview.svelte +3 -7
  311. package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
  312. package/package/components/raw_apps/utils.d.ts +1 -1
  313. package/package/components/raw_apps/utils.js +3 -3
  314. package/package/components/runs/JobsLoader.svelte +1 -1
  315. package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
  316. package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -1
  317. package/package/components/runs/RunOption.svelte +2 -2
  318. package/package/components/runs/RunsFilter.svelte +15 -12
  319. package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
  320. package/package/components/schema/AddPropertyV2.svelte +7 -4
  321. package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
  322. package/package/components/schema/FlowPropertyEditor.svelte +9 -2
  323. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  324. package/package/components/schema/PropertyEditor.svelte +22 -26
  325. package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
  326. package/package/components/schema/SchemaFormDND.svelte +3 -2
  327. package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
  328. package/package/components/select/DraggableTags.svelte +2 -2
  329. package/package/components/select/MultiSelect.svelte +15 -9
  330. package/package/components/select/MultiSelect.svelte.d.ts +1 -0
  331. package/package/components/select/Select.svelte +12 -5
  332. package/package/components/select/Select.svelte.d.ts +11 -0
  333. package/package/components/select/SelectDropdown.svelte +98 -46
  334. package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
  335. package/package/components/select/utils.svelte.js +2 -0
  336. package/package/components/settings/CreateToken.svelte +76 -49
  337. package/package/components/settings/WorkspaceUserSettings.svelte +111 -17
  338. package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
  339. package/package/components/sidebar/Linkify.svelte +14 -0
  340. package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
  341. package/package/components/sidebar/MenuLink.svelte +2 -1
  342. package/package/components/sidebar/MenuLink.svelte.d.ts +1 -0
  343. package/package/components/sidebar/SidebarContent.svelte +27 -27
  344. package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
  345. package/package/components/table/Cell.svelte +7 -14
  346. package/package/components/table/Cell.svelte.d.ts +13 -35
  347. package/package/components/table/tableUtils.js +1 -1
  348. package/package/components/text_input/TextInput.svelte +30 -0
  349. package/package/components/text_input/TextInput.svelte.d.ts +17 -0
  350. package/package/components/triggers/AddTriggersButton.svelte +1 -0
  351. package/package/components/triggers/TriggersEditor.svelte +11 -1
  352. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
  353. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
  354. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +28 -5
  355. package/package/components/triggers/gcp/utils.js +1 -0
  356. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +1 -0
  357. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  358. package/package/components/triggers/triggers.svelte.js +8 -4
  359. package/package/components/triggers/webhook/WebhooksConfigSection.svelte +143 -63
  360. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -0
  361. package/package/components/triggers/websocket/utils.js +1 -0
  362. package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
  363. package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
  364. package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
  365. package/package/components/tutorials/Tutorial.svelte +9 -0
  366. package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
  367. package/package/components/tutorials/app/AppTutorial.svelte +41 -57
  368. package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
  369. package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
  370. package/package/components/tutorials/utils.js +2 -154
  371. package/package/components/vscode.js +16 -8
  372. package/package/components/workspaceSettings/AISettings.svelte +12 -5
  373. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  374. package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
  375. package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
  376. package/package/components/workspaceSettings/ModelTokenLimits.svelte +165 -0
  377. package/package/components/workspaceSettings/ModelTokenLimits.svelte.d.ts +8 -0
  378. package/package/components/workspaceSettings/StorageSettings.svelte +147 -77
  379. package/package/editorUtils.d.ts +1 -1
  380. package/package/gen/core/OpenAPI.js +1 -1
  381. package/package/gen/schemas.gen.d.ts +223 -17
  382. package/package/gen/schemas.gen.js +226 -17
  383. package/package/gen/services.gen.d.ts +221 -27
  384. package/package/gen/services.gen.js +440 -48
  385. package/package/gen/types.gen.d.ts +1067 -218
  386. package/package/hubPaths.json +2 -1
  387. package/package/script_helpers.js +5 -5
  388. package/package/services/JobManager.js +14 -9
  389. package/package/stores.d.ts +4 -12
  390. package/package/stores.js +5 -65
  391. package/package/timelineCompute.svelte.d.ts +21 -0
  392. package/package/timelineCompute.svelte.js +113 -0
  393. package/package/toast.js +2 -1
  394. package/package/utils.d.ts +16 -8
  395. package/package/utils.js +65 -12
  396. package/package/workspace_settings.d.ts +13 -8
  397. package/package/workspace_settings.js +46 -11
  398. package/package.json +4 -4
  399. /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
@@ -0,0 +1,233 @@
1
+ <script lang="ts">import { Alert } from '../../common';
2
+ import Toggle from '../../Toggle.svelte';
3
+ import { enterpriseLicense, userStore, workspaceStore } from '../../../stores';
4
+ import { Loader2, AlertTriangle } from 'lucide-svelte';
5
+ import Tooltip from '../../Tooltip.svelte';
6
+ import ClipboardPanel from '../../details/ClipboardPanel.svelte';
7
+ import { untrack } from 'svelte';
8
+ import { AppService, SettingService } from '../../../gen';
9
+ import Path from '../../Path.svelte';
10
+ import { computeSecretUrl } from './appDeploy.svelte';
11
+ import { base } from '../../../base';
12
+ import { isCloudHosted } from '../../../cloud';
13
+ let { policy, setPublishState, appPath, customPath = $bindable(), onLatest, savedApp, summary = $bindable(), deploymentMsg = $bindable(), customPathError = $bindable(), pathError = $bindable(), newEditedPath = $bindable(), newPath, hideSecretUrl = false } = $props();
14
+ let dirtyCustomPath = $state(false);
15
+ let path = $state(undefined);
16
+ let dirtyPath = $state(false);
17
+ async function appExists(customPath) {
18
+ return await AppService.customPathExists({
19
+ workspace: $workspaceStore,
20
+ customPath
21
+ });
22
+ }
23
+ let globalWorkspacedRoute = $state(false);
24
+ async function loadGlobalWorkspacedRouteSetting() {
25
+ try {
26
+ const setting = await SettingService.getGlobal({ key: 'app_workspaced_route' });
27
+ globalWorkspacedRoute = setting ?? false;
28
+ }
29
+ catch (error) {
30
+ globalWorkspacedRoute = false;
31
+ }
32
+ }
33
+ loadGlobalWorkspacedRouteSetting();
34
+ let secretUrl = $state(undefined);
35
+ let secretUrlHref = $derived(secretUrl ? computeSecretUrl(secretUrl) : undefined);
36
+ let fullCustomUrl = $derived(`${window.location.origin}${base}/a/${isCloudHosted() || globalWorkspacedRoute ? $workspaceStore + '/' : ''}${customPath}`);
37
+ async function getSecretUrl() {
38
+ secretUrl = await AppService.getPublicSecretOfApp({
39
+ workspace: $workspaceStore,
40
+ path: appPath
41
+ });
42
+ }
43
+ let validateTimeout = undefined;
44
+ async function validateCustomPath(customPath) {
45
+ customPathError = '';
46
+ if (validateTimeout) {
47
+ clearTimeout(validateTimeout);
48
+ }
49
+ validateTimeout = setTimeout(async () => {
50
+ if (!/^[\w-]+(\/[\w-]+)*$/.test(customPath)) {
51
+ customPathError = 'Invalid path';
52
+ }
53
+ else if (customPath !== savedApp?.custom_path && (await appExists(customPath))) {
54
+ customPathError = 'Path already taken';
55
+ }
56
+ else {
57
+ customPathError = '';
58
+ }
59
+ validateTimeout = undefined;
60
+ }, 500);
61
+ }
62
+ $effect(() => {
63
+ ;
64
+ [customPath];
65
+ untrack(() => customPath !== undefined && validateCustomPath(customPath));
66
+ });
67
+ $effect(() => {
68
+ appPath && appPath != '' && secretUrl == undefined && untrack(() => getSecretUrl());
69
+ });
70
+ </script>
71
+
72
+ {#if !onLatest}
73
+ <Alert title="You're not on the latest app version. " type="warning">
74
+ By deploying, you may overwrite changes made by other users. Press 'Deploy' to see diff.
75
+ </Alert>
76
+ <div class="py-2"></div>
77
+ {/if}
78
+ <span class="text-secondary text-sm font-bold">Summary</span>
79
+ <div class="w-full pt-2">
80
+ <!-- svelte-ignore a11y_autofocus -->
81
+ <input
82
+ autofocus
83
+ type="text"
84
+ placeholder="App summary"
85
+ class="text-sm w-full"
86
+ bind:value={summary}
87
+ onkeydown={(e) => {
88
+ e.stopPropagation()
89
+ }}
90
+ onkeyup={() => {
91
+ if (appPath == '' && summary?.length > 0 && !dirtyPath) {
92
+ path?.setName(
93
+ summary
94
+ .toLowerCase()
95
+ .replace(/[^a-z0-9_]/g, '_')
96
+ .replace(/-+/g, '_')
97
+ .replace(/^-|-$/g, '')
98
+ )
99
+ }
100
+ }}
101
+ />
102
+ </div>
103
+ <div class="py-4"></div>
104
+ <span class="text-secondary text-sm font-bold">Deployment message</span>
105
+ <div class="w-full pt-2">
106
+ <!-- svelte-ignore a11y_autofocus -->
107
+ <input
108
+ type="text"
109
+ placeholder="Optional deployment message"
110
+ class="text-sm w-full"
111
+ bind:value={deploymentMsg}
112
+ />
113
+ </div>
114
+ <div class="py-4"></div>
115
+ <span class="text-secondary text-sm font-bold">Path</span>
116
+ <Path
117
+ bind:this={path}
118
+ bind:dirty={dirtyPath}
119
+ bind:error={pathError}
120
+ bind:path={newEditedPath}
121
+ initialPath={newPath}
122
+ namePlaceholder="app"
123
+ kind="app"
124
+ autofocus={false}
125
+ />
126
+
127
+ <div class="py-2"></div>
128
+ <Alert title="App executed on behalf of you">
129
+ A viewer of the app will execute the runnables of the app on behalf of the publisher (you)
130
+ <Tooltip>
131
+ It ensures that all required resources/runnable visible for publisher but not for viewer at time
132
+ of creating the app would prevent the execution of the app. To guarantee tight security, a
133
+ policy is computed at time of deployment of the app which only allow the scripts/flows referred
134
+ to in the app to be called on behalf of. Furthermore, static parameters are not overridable.
135
+ Hence, users will only be able to use the app as intended by the publisher without risk for
136
+ leaking resources not used in the app.
137
+ </Tooltip>
138
+ </Alert>
139
+
140
+ <div class="mt-10"></div>
141
+
142
+ {#if !hideSecretUrl}
143
+ <h2>Public URL</h2>
144
+
145
+ <div class="my-6">
146
+ <div class="flex gap-2 items-center mb-2">
147
+ <Toggle
148
+ options={{
149
+ left: `Require login and read-access`,
150
+ right: `No login required`
151
+ }}
152
+ checked={policy.execution_mode == 'anonymous'}
153
+ on:change={(e) => {
154
+ policy.execution_mode = e.detail ? 'anonymous' : 'publisher'
155
+ setPublishState()
156
+ }}
157
+ disabled={appPath == ''}
158
+ />
159
+ </div>
160
+ {#if appPath == ''}
161
+ <ClipboardPanel content={`Save this app once to get the public secret URL`} size="md" />
162
+ {:else if secretUrlHref}
163
+ <ClipboardPanel content={secretUrlHref} size="md" />
164
+ {:else}<Loader2 class="animate-spin" />
165
+ {/if}
166
+ <div class="text-xs text-secondary mt-1">
167
+ Share this url directly or embed it using an iframe (if requiring login, top-level domain of
168
+ embedding app must be the same as the one of Windmill)
169
+ </div>
170
+
171
+ <div class="mt-4">
172
+ {#if !($userStore?.is_admin || $userStore?.is_super_admin)}
173
+ <Alert type="warning" title="Admin only" size="xs">
174
+ Custom path can only be set by workspace admins
175
+ </Alert>
176
+ <div class="mb-2"></div>
177
+ {/if}
178
+ {#if !$enterpriseLicense}
179
+ <div class="flex text-xs items-center gap-1 text-yellow-500 whitespace-nowrap mb-2">
180
+ <AlertTriangle size={16} />
181
+ EE only <Tooltip>Enterprise Edition only feature</Tooltip>
182
+ </div>
183
+ {/if}
184
+ <Toggle
185
+ on:change={({ detail }) => {
186
+ customPath = detail ? '' : undefined
187
+ if (customPath === undefined) {
188
+ customPathError = ''
189
+ }
190
+ }}
191
+ checked={customPath !== undefined}
192
+ options={{
193
+ right: 'Use a custom URL'
194
+ }}
195
+ disabled={!$enterpriseLicense || !($userStore?.is_admin || $userStore?.is_super_admin)}
196
+ />
197
+
198
+ {#if customPath !== undefined}
199
+ <div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
200
+ <div>Custom path</div>
201
+ </div>
202
+ <input
203
+ disabled={!($userStore?.is_admin || $userStore?.is_super_admin)}
204
+ type="text"
205
+ autocomplete="off"
206
+ bind:value={customPath}
207
+ class={customPathError === ''
208
+ ? ''
209
+ : 'border border-red-700 bg-red-100 border-opacity-30 focus:border-red-700 focus:border-opacity-30 focus-visible:ring-red-700 focus-visible:ring-opacity-25 focus-visible:border-red-700'}
210
+ oninput={() => {
211
+ dirtyCustomPath = true
212
+ }}
213
+ />
214
+ <div class="text-secondary text-sm flex items-center gap-1 mt-2 w-full justify-between">
215
+ <div>Custom public URL</div>
216
+ </div>
217
+ <ClipboardPanel content={fullCustomUrl} size="md" />
218
+
219
+ <div class="text-red-600 dark:text-red-400 text-2xs mt-1.5"
220
+ >{dirtyCustomPath ? customPathError : ''}
221
+ </div>
222
+ {/if}
223
+ </div>
224
+ </div>
225
+ <Alert type="info" title="Only latest deployed app is publicly available">
226
+ You will still need to deploy the app to make visible the latest changes
227
+ </Alert>
228
+
229
+ <a
230
+ href="https://www.windmill.dev/docs/advanced/external_auth_with_jwt#embed-public-apps-using-your-own-authentification"
231
+ class="mt-4 text-2xs">Embed this app in your own product to be used by your own users</a
232
+ >
233
+ {/if}
@@ -0,0 +1,18 @@
1
+ type $$ComponentProps = {
2
+ policy: any;
3
+ setPublishState: () => void;
4
+ appPath: string;
5
+ customPath: string | undefined;
6
+ onLatest: boolean;
7
+ savedApp: any;
8
+ summary: string;
9
+ deploymentMsg: string | undefined;
10
+ customPathError: string;
11
+ pathError: string;
12
+ newEditedPath: string;
13
+ newPath: string;
14
+ hideSecretUrl: boolean;
15
+ };
16
+ declare const AppEditorHeaderDeploy: import("svelte").Component<$$ComponentProps, {}, "summary" | "customPath" | "deploymentMsg" | "customPathError" | "pathError" | "newEditedPath">;
17
+ type AppEditorHeaderDeploy = ReturnType<typeof AppEditorHeaderDeploy>;
18
+ export default AppEditorHeaderDeploy;
@@ -0,0 +1,47 @@
1
+ <script lang="ts">import { Alert } from '../../common';
2
+ import Path from '../../Path.svelte';
3
+ let { summary, appPath, pathError = $bindable(), newEditedPath = $bindable() } = $props();
4
+ let path = $state(undefined);
5
+ let dirtyPath = $state(false);
6
+ </script>
7
+
8
+ <Alert bgClass="mb-4" title="Require path" type="info">
9
+ Choose a path to save the initial draft of the app.
10
+ </Alert>
11
+ <h3>Summary</h3>
12
+ <div class="w-full pt-2">
13
+ <!-- svelte-ignore a11y_autofocus -->
14
+ <input
15
+ autofocus
16
+ type="text"
17
+ placeholder="App summary"
18
+ class="text-sm w-full font-semibold"
19
+ onkeydown={(e) => {
20
+ e.stopPropagation()
21
+ }}
22
+ bind:value={$summary}
23
+ onkeyup={() => {
24
+ if ($appPath == '' && $summary?.length > 0 && !dirtyPath) {
25
+ path?.setName(
26
+ $summary
27
+ .toLowerCase()
28
+ .replace(/[^a-z0-9_]/g, '_')
29
+ .replace(/-+/g, '_')
30
+ .replace(/^-|-$/g, '')
31
+ )
32
+ }
33
+ }}
34
+ />
35
+ </div>
36
+ <div class="py-2"></div>
37
+ <Path
38
+ autofocus={false}
39
+ bind:this={path}
40
+ bind:error={pathError}
41
+ bind:path={newEditedPath}
42
+ bind:dirty={dirtyPath}
43
+ initialPath=""
44
+ namePlaceholder="app"
45
+ kind="app"
46
+ />
47
+ <div class="py-4"></div>
@@ -0,0 +1,8 @@
1
+ declare const AppEditorHeaderDeployInitialDraft: import("svelte").Component<{
2
+ summary: any;
3
+ appPath: any;
4
+ pathError?: any;
5
+ newEditedPath?: any;
6
+ }, {}, "pathError" | "newEditedPath">;
7
+ type AppEditorHeaderDeployInitialDraft = ReturnType<typeof AppEditorHeaderDeployInitialDraft>;
8
+ export default AppEditorHeaderDeployInitialDraft;
@@ -74,7 +74,6 @@ export function moveComponentBetweenSubgrids(componentId, subgrid, position) {
74
74
  }
75
75
  </script>
76
76
 
77
- <input />
78
77
  <div class="w-full z-[1000] overflow-visible h-full">
79
78
  <div class={$app.hideLegacyTopBar ? 'hidden' : ''}>
80
79
  <div
@@ -113,7 +112,13 @@ export function moveComponentBetweenSubgrids(componentId, subgrid, position) {
113
112
  <div class="flex text-2xs gap-8 items-center">
114
113
  <div class="py-2 pr-2 text-secondary flex gap-1 items-center">
115
114
  Hide bar on view
116
- <Toggle size="xs" bind:checked={$app.norefreshbar} />
115
+ <Toggle
116
+ size="xs"
117
+ bind:checked={
118
+ () => $app.norefreshbar ?? false,
119
+ (v) => ($app.norefreshbar !== undefined || v) && ($app.norefreshbar = v)
120
+ }
121
+ />
117
122
  </div>
118
123
  <div>
119
124
  {policy.on_behalf_of ? `Author ${policy.on_behalf_of_email}` : ''}
@@ -0,0 +1 @@
1
+ export declare function computeSecretUrl(secretUrl: string): string;
@@ -0,0 +1,6 @@
1
+ import { base } from "../../../base";
2
+ import { workspaceStore } from "../../../stores";
3
+ import { get } from "svelte/store";
4
+ export function computeSecretUrl(secretUrl) {
5
+ return `${window.location.origin}${base}/public/${get(workspaceStore)}/${secretUrl}`;
6
+ }
@@ -124,4 +124,5 @@ export type GridShadow = {
124
124
  };
125
125
  export declare function areShadowsTheSame(shadow1: GridShadow | undefined, shadow2: GridShadow | undefined): boolean;
126
126
  export declare function animateTo(start: number, end: number, onUpdate: (newValue: number) => void): void;
127
+ export declare function emptyApp(): App;
127
128
  export {};
@@ -1,4 +1,4 @@
1
- import { ccomponents, components, getRecommendedDimensionsByComponent } from './component';
1
+ import { ccomponents, components, getRecommendedDimensionsByComponent, presets, processDimension } from './component';
2
2
  import { gridColumns } from '../gridUtils';
3
3
  import { allItems, processSubcomponents } from '../utils';
4
4
  import { get } from 'svelte/store';
@@ -7,6 +7,7 @@ import { sendUserToast } from '../../../toast';
7
7
  import { getNextId } from '../../flows/idUtils';
8
8
  import { enterpriseLicense } from '../../../stores';
9
9
  import gridHelp from '../svelte-grid/utils/helper';
10
+ import { DEFAULT_THEME } from './componentsPanel/themeUtils';
10
11
  export function allItemsWithLocation(grid, subgrids) {
11
12
  const gridItems = grid.map((x, i) => ({
12
13
  location: {
@@ -968,3 +969,31 @@ export function animateTo(start, end, onUpdate) {
968
969
  function easeInOut(t) {
969
970
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
970
971
  }
972
+ export function emptyApp() {
973
+ let value = {
974
+ grid: [],
975
+ fullscreen: false,
976
+ unusedInlineScripts: [],
977
+ hiddenInlineScripts: [],
978
+ theme: {
979
+ type: 'path',
980
+ path: DEFAULT_THEME
981
+ }
982
+ };
983
+ const preset = presets['topbarcomponent'];
984
+ const id = insertNewGridItem(value, appComponentFromType(preset.targetComponent, preset.configuration, undefined, {
985
+ customCss: {
986
+ container: {
987
+ class: '!p-0',
988
+ style: ''
989
+ }
990
+ }
991
+ }), undefined, undefined, 'topbar', { x: 0, y: 0 }, {
992
+ 3: processDimension(preset.dims, 3),
993
+ 12: processDimension(preset.dims, 12)
994
+ }, true, true);
995
+ setUpTopBarComponentContent(id, value);
996
+ value.hideLegacyTopBar = true;
997
+ value.mobileViewOnSmallerScreens = false;
998
+ return value;
999
+ }
@@ -833,6 +833,7 @@ const chunk9Components = new Set(['verticalsplitpanescomponent']);
833
833
  id={component.id}
834
834
  tabs={component.tabs}
835
835
  disabledTabs={component.disabledTabs}
836
+ hiddenTabs={component.hiddenTabs}
836
837
  onTabChange={component.onTabChange}
837
838
  customCss={component.customCss}
838
839
  {componentContainerHeight}
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">import { getContext } from 'svelte';
2
2
  import { handleEscape, handlePaste, handleArrowUp, handleCut, handleCopy, down, right, left } from './componentCallbacks.svelte';
3
+ import { isCurrentlyInTutorial } from '../../../../stores';
3
4
  const { history, movingcomponents, jobsDrawerOpen, runnableJobEditorPanel } = getContext('AppEditorContext');
4
5
  const { app, selectedComponent, focusedGrid, componentControl } = getContext('AppViewerContext');
5
6
  const ctx = {
@@ -17,7 +18,8 @@ function keydown(event) {
17
18
  let classes = event.target?.['className'];
18
19
  if ((typeof classes === 'string' && classes.includes('inputarea')) ||
19
20
  ['INPUT', 'TEXTAREA'].includes(document.activeElement?.tagName) ||
20
- $runnableJobEditorPanel.focused) {
21
+ $runnableJobEditorPanel.focused ||
22
+ isCurrentlyInTutorial.val) {
21
23
  return;
22
24
  }
23
25
  switch (event.key) {
@@ -150,6 +150,7 @@ export type FileInputComponent = BaseComponent<'fileinputcomponent'> & {
150
150
  export type TabsComponent = BaseComponent<'tabscomponent'> & {
151
151
  tabs: string[];
152
152
  disabledTabs: RichConfiguration[];
153
+ hiddenTabs: RichConfiguration[];
153
154
  onTabChange?: string[];
154
155
  };
155
156
  export type ListComponent = BaseComponent<'listcomponent'>;
@@ -706,11 +707,23 @@ export declare const components: {
706
707
  readonly value: undefined;
707
708
  readonly fieldType: "icon-select";
708
709
  };
710
+ readonly tooltip: {
711
+ readonly type: "static";
712
+ readonly value: "";
713
+ readonly fieldType: "text";
714
+ readonly tooltip: "Tooltip text to show on hover";
715
+ };
709
716
  readonly triggerOnAppLoad: {
710
717
  readonly type: "static";
711
718
  readonly value: false;
712
719
  readonly fieldType: "boolean";
713
720
  };
721
+ readonly runInBackground: {
722
+ readonly type: "static";
723
+ readonly value: false;
724
+ readonly fieldType: "boolean";
725
+ readonly tooltip: "Run the job in the background without blocking the button. Multiple clicks will trigger multiple jobs.";
726
+ };
714
727
  readonly onSuccess: {
715
728
  readonly type: "oneOf";
716
729
  readonly tooltip: "Action to perform on success";
@@ -866,7 +879,7 @@ export declare const components: {
866
879
  readonly tooltip: "The message of the toast to display";
867
880
  readonly fieldType: "text";
868
881
  readonly type: "static";
869
- readonly value: "An error occured";
882
+ readonly value: "An error occurred";
870
883
  readonly placeholder: "Hello there";
871
884
  readonly onDemandOnly: true;
872
885
  };
@@ -1197,7 +1210,7 @@ export declare const components: {
1197
1210
  readonly tooltip: "The message of the toast to display";
1198
1211
  readonly fieldType: "text";
1199
1212
  readonly type: "static";
1200
- readonly value: "An error occured";
1213
+ readonly value: "An error occurred";
1201
1214
  readonly placeholder: "Hello there";
1202
1215
  readonly onDemandOnly: true;
1203
1216
  };
@@ -1435,7 +1448,7 @@ export declare const components: {
1435
1448
  readonly tooltip: "The message of the toast to display";
1436
1449
  readonly fieldType: "text";
1437
1450
  readonly type: "static";
1438
- readonly value: "An error occured";
1451
+ readonly value: "An error occurred";
1439
1452
  readonly placeholder: "Hello there";
1440
1453
  readonly onDemandOnly: true;
1441
1454
  };
@@ -3276,6 +3289,8 @@ export declare const components: {
3276
3289
  readonly componentInput: undefined;
3277
3290
  readonly numberOfSubgrids: 2;
3278
3291
  readonly tabs: string[];
3292
+ readonly disabledTabs: RichConfiguration[];
3293
+ readonly hiddenTabs: RichConfiguration[];
3279
3294
  };
3280
3295
  };
3281
3296
  readonly steppercomponent: {
@@ -3857,7 +3872,7 @@ export declare const components: {
3857
3872
  readonly type: "static";
3858
3873
  readonly fieldType: "object";
3859
3874
  readonly value: {};
3860
- readonly tooltip: "This enables setting form enum values dynamically using an object: keys are field names, and values are arrays of strings.";
3875
+ readonly tooltip: "This enables setting form enum values dynamically using an object: keys are field names, and values are arrays of strings or { \"label\": \"myLabel\", \"value\": \"myValue\" }.";
3861
3876
  };
3862
3877
  readonly displayType: {
3863
3878
  readonly fieldType: "boolean";
@@ -199,7 +199,7 @@ const onErrorClick = {
199
199
  tooltip: 'The message of the toast to display',
200
200
  fieldType: 'text',
201
201
  type: 'static',
202
- value: 'An error occured',
202
+ value: 'An error occurred',
203
203
  placeholder: 'Hello there',
204
204
  onDemandOnly: true
205
205
  },
@@ -879,11 +879,23 @@ export const components = {
879
879
  value: undefined,
880
880
  fieldType: 'icon-select'
881
881
  },
882
+ tooltip: {
883
+ type: 'static',
884
+ value: '',
885
+ fieldType: 'text',
886
+ tooltip: 'Tooltip text to show on hover'
887
+ },
882
888
  triggerOnAppLoad: {
883
889
  type: 'static',
884
890
  value: false,
885
891
  fieldType: 'boolean'
886
892
  },
893
+ runInBackground: {
894
+ type: 'static',
895
+ value: false,
896
+ fieldType: 'boolean',
897
+ tooltip: 'Run the job in the background without blocking the button. Multiple clicks will trigger multiple jobs.'
898
+ },
887
899
  onSuccess: onSuccessClick,
888
900
  onError: onErrorClick,
889
901
  confirmationModal: {
@@ -2456,7 +2468,15 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy HH:mm'
2456
2468
  },
2457
2469
  componentInput: undefined,
2458
2470
  numberOfSubgrids: 2,
2459
- tabs: ['First tab', 'Second tab']
2471
+ tabs: ['First tab', 'Second tab'],
2472
+ disabledTabs: [
2473
+ { type: 'static', value: false, fieldType: 'boolean' },
2474
+ { type: 'static', value: false, fieldType: 'boolean' }
2475
+ ],
2476
+ hiddenTabs: [
2477
+ { type: 'static', value: false, fieldType: 'boolean' },
2478
+ { type: 'static', value: false, fieldType: 'boolean' }
2479
+ ]
2460
2480
  }
2461
2481
  },
2462
2482
  steppercomponent: {
@@ -2994,7 +3014,7 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy HH:mm'
2994
3014
  type: 'static',
2995
3015
  fieldType: 'object',
2996
3016
  value: {},
2997
- tooltip: 'This enables setting form enum values dynamically using an object: keys are field names, and values are arrays of strings.'
3017
+ tooltip: 'This enables setting form enum values dynamically using an object: keys are field names, and values are arrays of strings or { "label": "myLabel", "value": "myValue" }.'
2998
3018
  },
2999
3019
  displayType: {
3000
3020
  fieldType: 'boolean',
@@ -35,7 +35,7 @@ $effect(() => {
35
35
 
36
36
  {#if render && object != undefined && Object.keys(object).length > 0}
37
37
  {#if $hasResult[componentId] || $search == ''}
38
- <div class="pl-2 !cursor-pointer" data-connection-button>
38
+ <div class="pl-2 !cursor-pointer component-output-viewer-{componentId}" data-connection-button>
39
39
  <ObjectViewer
40
40
  json={filtered}
41
41
  on:select
@@ -8,12 +8,12 @@ import { emptySchema } from '../../../../utils';
8
8
  import { defaultScriptLanguages, getScriptByPath, processLangs } from '../../../../scripts';
9
9
  import { Building, GitFork, Globe2 } from 'lucide-svelte';
10
10
  import { createEventDispatcher } from 'svelte';
11
- import { fly } from 'svelte/transition';
12
11
  import { defaultCode } from '../component';
13
12
  import WorkspaceScriptList from '../settingsPanel/mainInput/WorkspaceScriptList.svelte';
14
13
  import RunnableSelector from '../settingsPanel/mainInput/RunnableSelector.svelte';
15
- import { defaultScripts } from '../../../../stores';
14
+ import { defaultScripts, isCurrentlyInTutorial } from '../../../../stores';
16
15
  import DefaultScripts from '../../../DefaultScripts.svelte';
16
+ import { twMerge } from 'tailwind-merge';
17
17
  let { componentType = undefined, showScriptPicker = false, rawApps = false, unusedInlineScripts } = $props();
18
18
  let tab = $state('workspacescripts');
19
19
  let filter = $state('');
@@ -92,8 +92,10 @@ let langs = $derived(processLangs(undefined, $defaultScripts?.order ?? Object.ke
92
92
  </Drawer>
93
93
 
94
94
  <div
95
- class="flex flex-col px-4 gap-2 text-sm"
96
- in:fly={{ duration: 50 }}
95
+ class={twMerge(
96
+ 'flex flex-col px-4 gap-2 text-sm',
97
+ isCurrentlyInTutorial.val ? 'h-full overflow-y-clip' : ''
98
+ )}
97
99
  id="app-editor-empty-runnable"
98
100
  >
99
101
  <div class="mt-2 flex justify-between gap-4" id="app-editor-runnable-header">
@@ -30,6 +30,6 @@ declare const InlineScriptEditor: $$__sveltets_2_IsomorphicComponent<Props, {
30
30
  delete: CustomEvent<any>;
31
31
  } & {
32
32
  [evt: string]: CustomEvent<any>;
33
- }, {}, {}, "name" | "fields" | "editor" | "inlineScript">;
33
+ }, {}, {}, "name" | "fields" | "inlineScript" | "editor">;
34
34
  type InlineScriptEditor = InstanceType<typeof InlineScriptEditor>;
35
35
  export default InlineScriptEditor;
@@ -26,6 +26,6 @@ declare const InlineScriptEditorDrawer: $$__sveltets_2_IsomorphicComponent<Props
26
26
  [evt: string]: CustomEvent<any>;
27
27
  }, {}, {
28
28
  openDrawer: () => void;
29
- }, "isOpen" | "inlineScript">;
29
+ }, "inlineScript" | "isOpen">;
30
30
  type InlineScriptEditorDrawer = InstanceType<typeof InlineScriptEditorDrawer>;
31
31
  export default InlineScriptEditorDrawer;
@@ -26,6 +26,6 @@ declare const InlineScriptRunnableByPath: $$__sveltets_2_IsomorphicComponent<Pro
26
26
  fork: CustomEvent<any>;
27
27
  } & {
28
28
  [evt: string]: CustomEvent<any>;
29
- }, {}, {}, "fields" | "runnable">;
29
+ }, {}, {}, "runnable" | "fields">;
30
30
  type InlineScriptRunnableByPath = InstanceType<typeof InlineScriptRunnableByPath>;
31
31
  export default InlineScriptRunnableByPath;
@@ -337,8 +337,10 @@ function onTemplateChange(e) {
337
337
  <GridTab
338
338
  bind:tabs={item.data.tabs}
339
339
  bind:disabledTabs={item.data.disabledTabs}
340
+ bind:hiddenTabs={item.data.hiddenTabs}
340
341
  bind:component={item.data}
341
342
  canDisableTabs
343
+ canHideTabs
342
344
  />
343
345
  {:else if item.data.type === 'aggridcomponentee'}
344
346
  <GridAgGridLicenseKey bind:license={item.data.license} />