windmill-components 1.70.0 → 1.75.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 (408) hide show
  1. package/assets/app.css +12 -1
  2. package/components/AppConnect.svelte +4 -3
  3. package/components/DisplayResult.svelte +27 -9
  4. package/components/FieldHeader.svelte +12 -8
  5. package/components/FlowBuilder.svelte +107 -39
  6. package/components/FlowBuilder.svelte.d.ts +5 -0
  7. package/components/FlowGraphViewer.svelte +5 -4
  8. package/components/FlowJobResult.svelte +3 -3
  9. package/components/FlowPreviewContent.svelte +3 -8
  10. package/components/FlowStatusViewer.svelte +21 -8
  11. package/components/GroupEditor.svelte +8 -0
  12. package/components/InputTransformForm.svelte +13 -20
  13. package/components/InputTransformSchemaForm.svelte +103 -0
  14. package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
  15. package/components/LogViewer.svelte +1 -1
  16. package/components/ModulePreview.svelte +3 -2
  17. package/components/Multiselect.svelte +1 -1
  18. package/components/Path.svelte +15 -11
  19. package/components/Popover.svelte +2 -13
  20. package/components/ResourcePicker.svelte +33 -14
  21. package/components/RunChart.svelte +24 -5
  22. package/components/RunForm.svelte +5 -6
  23. package/components/RunForm.svelte.d.ts +1 -0
  24. package/components/SchemaForm.svelte +59 -57
  25. package/components/SchemaForm.svelte.d.ts +0 -5
  26. package/components/ScriptBuilder.svelte +30 -14
  27. package/components/ScriptPicker.svelte +3 -0
  28. package/components/SimpleEditor.svelte +4 -1
  29. package/components/SimpleEditor.svelte.d.ts +2 -0
  30. package/components/Slider.svelte +6 -1
  31. package/components/Slider.svelte.d.ts +1 -0
  32. package/components/TemplateEditor.svelte +1 -1
  33. package/components/TestJobLoader.svelte +2 -2
  34. package/components/Toggle.svelte +17 -4
  35. package/components/Toggle.svelte.d.ts +2 -0
  36. package/components/Tooltip.svelte +1 -1
  37. package/components/UserSettings.svelte +2 -0
  38. package/components/apps/components/buttons/AppButton.svelte +38 -22
  39. package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  40. package/components/apps/components/buttons/AppForm.svelte +16 -6
  41. package/components/apps/components/buttons/AppForm.svelte.d.ts +3 -0
  42. package/components/apps/components/buttons/AppFormButton.svelte +12 -4
  43. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +3 -0
  44. package/components/apps/components/display/AppBarChart.svelte +15 -7
  45. package/components/apps/components/display/AppBarChart.svelte.d.ts +3 -0
  46. package/components/apps/components/display/AppDisplayComponent.svelte +17 -12
  47. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +1 -0
  48. package/components/apps/components/display/AppHtml.svelte +18 -4
  49. package/components/apps/components/display/AppHtml.svelte.d.ts +3 -0
  50. package/components/apps/components/display/AppIcon.svelte +20 -8
  51. package/components/apps/components/display/AppIcon.svelte.d.ts +3 -0
  52. package/components/apps/components/display/AppImage.svelte +17 -10
  53. package/components/apps/components/display/AppImage.svelte.d.ts +3 -0
  54. package/components/apps/components/display/AppMap.svelte +214 -0
  55. package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
  56. package/components/apps/components/display/AppPdf.svelte +304 -0
  57. package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
  58. package/components/apps/components/display/AppPieChart.svelte +15 -7
  59. package/components/apps/components/display/AppPieChart.svelte.d.ts +3 -0
  60. package/components/apps/components/display/AppScatterChart.svelte +12 -4
  61. package/components/apps/components/display/AppScatterChart.svelte.d.ts +3 -0
  62. package/components/apps/components/display/AppText.svelte +38 -32
  63. package/components/apps/components/display/AppText.svelte.d.ts +1 -0
  64. package/components/apps/components/display/AppTimeseries.svelte +12 -4
  65. package/components/apps/components/display/AppTimeseries.svelte.d.ts +3 -0
  66. package/components/apps/components/display/PlotlyHtml.svelte +8 -14
  67. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +1 -1
  68. package/components/apps/components/display/VegaLiteHtml.svelte +3 -8
  69. package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +1 -0
  70. package/components/apps/components/display/index.d.ts +3 -0
  71. package/components/apps/components/display/index.js +3 -0
  72. package/components/apps/components/display/table/AppAggridTable.svelte +16 -7
  73. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  74. package/components/apps/components/display/table/AppTable.svelte +65 -20
  75. package/components/apps/components/display/table/AppTable.svelte.d.ts +3 -1
  76. package/components/apps/components/display/table/AppTableFooter.svelte +8 -1
  77. package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -0
  78. package/components/apps/components/helpers/AlignWrapper.svelte +13 -7
  79. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +3 -1
  80. package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
  81. package/components/apps/components/helpers/InputValue.svelte +38 -15
  82. package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
  83. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
  84. package/components/apps/components/helpers/RefreshButton.svelte +1 -1
  85. package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
  86. package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
  87. package/components/apps/components/helpers/RunnableComponent.svelte +76 -68
  88. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -1
  89. package/components/apps/components/helpers/RunnableWrapper.svelte +9 -5
  90. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +3 -1
  91. package/components/apps/components/inputs/AppCheckbox.svelte +8 -2
  92. package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +3 -0
  93. package/components/apps/components/inputs/AppDateInput.svelte +25 -18
  94. package/components/apps/components/inputs/AppDateInput.svelte.d.ts +6 -1
  95. package/components/apps/components/inputs/AppFileInput.svelte +22 -14
  96. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +3 -0
  97. package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
  98. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
  99. package/components/apps/components/inputs/AppNumberInput.svelte +20 -16
  100. package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +5 -0
  101. package/components/apps/components/inputs/AppRangeInput.svelte +55 -14
  102. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +3 -0
  103. package/components/apps/components/inputs/AppSelect.svelte +58 -21
  104. package/components/apps/components/inputs/AppSelect.svelte.d.ts +3 -0
  105. package/components/apps/components/inputs/AppSliderInputs.svelte +41 -9
  106. package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +3 -0
  107. package/components/apps/components/inputs/AppTextInput.svelte +53 -19
  108. package/components/apps/components/inputs/AppTextInput.svelte.d.ts +6 -0
  109. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +13 -3
  110. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +3 -0
  111. package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -0
  112. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +1 -0
  113. package/components/apps/components/layout/AppContainer.svelte +21 -13
  114. package/components/apps/components/layout/AppContainer.svelte.d.ts +3 -0
  115. package/components/apps/components/layout/AppDivider.svelte +24 -4
  116. package/components/apps/components/layout/AppDivider.svelte.d.ts +3 -1
  117. package/components/apps/components/layout/AppDrawer.svelte +89 -0
  118. package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
  119. package/components/apps/components/layout/AppSplitpanes.svelte +88 -0
  120. package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
  121. package/components/apps/components/layout/AppTabs.svelte +62 -21
  122. package/components/apps/components/layout/AppTabs.svelte.d.ts +3 -0
  123. package/components/apps/components/layout/index.d.ts +2 -0
  124. package/components/apps/components/layout/index.js +2 -0
  125. package/components/apps/editor/AppEditor.svelte +83 -19
  126. package/components/apps/editor/AppEditor.svelte.d.ts +3 -1
  127. package/components/apps/editor/AppEditorHeader.svelte +107 -32
  128. package/components/apps/editor/AppInputs.svelte +3 -3
  129. package/components/apps/editor/AppPreview.svelte +20 -7
  130. package/components/apps/editor/ComponentHeader.svelte +14 -3
  131. package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
  132. package/components/apps/editor/GridEditor.svelte +85 -71
  133. package/components/apps/editor/GridPanel.svelte +29 -0
  134. package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
  135. package/components/apps/editor/RecomputeAllComponents.svelte +8 -6
  136. package/components/apps/editor/SettingsPanel.svelte +14 -24
  137. package/components/apps/editor/SubGridEditor.svelte +46 -18
  138. package/components/apps/editor/SubGridEditor.svelte.d.ts +5 -0
  139. package/components/apps/editor/appUtils.d.ts +12 -2
  140. package/components/apps/editor/appUtils.js +121 -21
  141. package/components/apps/editor/component/Component.svelte +282 -57
  142. package/components/apps/editor/component/Component.svelte.d.ts +3 -1
  143. package/components/apps/editor/component/ComponentNavigation.svelte +125 -0
  144. package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
  145. package/components/apps/editor/component/components.d.ts +14 -2
  146. package/components/apps/editor/component/components.js +417 -43
  147. package/components/apps/editor/component/default-codes.js +6 -6
  148. package/components/apps/editor/component/sets.js +11 -3
  149. package/components/apps/editor/componentsPanel/ComponentList.svelte +72 -29
  150. package/components/apps/editor/componentsPanel/CssProperty.svelte +59 -23
  151. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -1
  152. package/components/apps/editor/componentsPanel/CssSettings.svelte +56 -9
  153. package/components/apps/editor/componentsPanel/ListItem.svelte +23 -12
  154. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +1 -0
  155. package/components/apps/editor/componentsPanel/componentStaticValues.js +14 -2
  156. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
  157. package/components/apps/editor/contextPanel/ContextPanel.svelte +107 -61
  158. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +13 -3
  159. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
  160. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +63 -25
  161. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
  162. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -5
  163. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
  164. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +26 -17
  165. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +95 -85
  166. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -9
  167. package/components/apps/editor/inlineScriptsPanel/utils.js +19 -8
  168. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +10 -9
  169. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +21 -12
  170. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
  171. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +95 -56
  172. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
  173. package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
  174. package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
  175. package/components/apps/editor/settingsPanel/GridTab.svelte +5 -5
  176. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +2 -0
  177. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
  178. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
  179. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +13 -6
  180. package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
  181. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +1 -1
  182. package/components/apps/editor/settingsPanel/TableActions.svelte +28 -1
  183. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +2 -2
  184. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
  185. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
  186. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +1 -1
  187. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +1 -1
  188. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +27 -3
  189. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +2 -0
  190. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
  191. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +2 -1
  192. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +54 -6
  193. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +1 -0
  194. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +7 -9
  195. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +1 -1
  196. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
  197. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
  198. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +1 -1
  199. package/components/apps/inputType.d.ts +6 -5
  200. package/components/apps/rx.js +2 -1
  201. package/components/apps/store.d.ts +6 -1
  202. package/components/apps/types.d.ts +14 -4
  203. package/components/apps/utils.d.ts +2 -2
  204. package/components/apps/utils.js +21 -49
  205. package/components/common/button/ButtonPopup.svelte +2 -0
  206. package/components/common/button/ButtonPopup.svelte.d.ts +1 -0
  207. package/components/common/button/UndoRedo.svelte +32 -0
  208. package/components/common/button/UndoRedo.svelte.d.ts +20 -0
  209. package/components/common/drawer/Drawer.svelte +10 -4
  210. package/components/common/drawer/Drawer.svelte.d.ts +3 -1
  211. package/components/common/drawer/DrawerContent.svelte +0 -1
  212. package/components/common/fileInput/FileInput.svelte +47 -21
  213. package/components/common/fileInput/FileInput.svelte.d.ts +3 -1
  214. package/components/common/fileInput/model.d.ts +1 -0
  215. package/components/common/fileInput/model.js +1 -0
  216. package/components/common/index.d.ts +1 -0
  217. package/components/common/index.js +1 -0
  218. package/components/common/menu/Menu.svelte +3 -2
  219. package/components/common/menu/Menu.svelte.d.ts +2 -1
  220. package/components/common/modal/Modal.svelte +9 -4
  221. package/components/common/modal/Modal.svelte.d.ts +2 -0
  222. package/components/common/table/AppRow.svelte +13 -4
  223. package/components/common/table/AppRow.svelte.d.ts +1 -0
  224. package/components/common/table/FlowRow.svelte +21 -8
  225. package/components/common/table/FlowRow.svelte.d.ts +1 -0
  226. package/components/common/table/ScriptRow.svelte +42 -10
  227. package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  228. package/components/common/tabs/Tab.svelte +12 -5
  229. package/components/common/tabs/Tab.svelte.d.ts +4 -1
  230. package/components/common/tabs/Tabs.svelte +8 -6
  231. package/components/common/tabs/Tabs.svelte.d.ts +3 -1
  232. package/components/flows/FlowEditor.svelte +6 -4
  233. package/components/flows/common/FlowCardHeader.svelte +4 -1
  234. package/components/flows/content/BranchPredicateEditor.svelte +3 -4
  235. package/components/flows/content/CapturePayload.svelte +1 -2
  236. package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  237. package/components/flows/content/FlowConstants.svelte +7 -13
  238. package/components/flows/content/FlowEditorPanel.svelte +4 -3
  239. package/components/flows/content/FlowFailureModule.svelte +2 -1
  240. package/components/flows/content/FlowInput.svelte +4 -2
  241. package/components/flows/content/FlowLoop.svelte +3 -4
  242. package/components/flows/content/FlowModuleComponent.svelte +23 -11
  243. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  244. package/components/flows/content/FlowModuleHeader.svelte +26 -3
  245. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  246. package/components/flows/content/FlowModuleSleep.svelte +2 -2
  247. package/components/flows/content/FlowModuleWrapper.svelte +2 -8
  248. package/components/flows/content/FlowSchedules.svelte +1 -2
  249. package/components/flows/content/FlowSettings.svelte +17 -37
  250. package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
  251. package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
  252. package/components/flows/flowState.d.ts +2 -3
  253. package/components/flows/flowState.js +1 -4
  254. package/components/flows/flowStateUtils.d.ts +7 -6
  255. package/components/flows/flowStateUtils.js +5 -9
  256. package/components/flows/flowStore.d.ts +5 -4
  257. package/components/flows/flowStore.js +5 -17
  258. package/components/flows/header/FlowImportExportMenu.svelte +2 -1
  259. package/components/flows/map/FlowConstantsItem.svelte +2 -2
  260. package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
  261. package/components/flows/map/FlowInputsItem.svelte +2 -3
  262. package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
  263. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
  264. package/components/flows/map/FlowModuleSchemaMap.svelte +164 -138
  265. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
  266. package/components/flows/map/FlowSettingsItem.svelte +5 -4
  267. package/components/flows/map/InsertModuleButton.svelte +12 -10
  268. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
  269. package/components/flows/map/MapItem.svelte +176 -103
  270. package/components/flows/map/MapItem.svelte.d.ts +20 -2
  271. package/components/flows/map/VirtualItem.svelte +129 -0
  272. package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
  273. package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
  274. package/components/flows/previousResults.d.ts +1 -1
  275. package/components/flows/previousResults.js +32 -17
  276. package/components/flows/types.d.ts +13 -1
  277. package/components/flows/utils.js +1 -1
  278. package/components/graph/FlowGraph.svelte +227 -167
  279. package/components/graph/FlowGraph.svelte.d.ts +14 -1
  280. package/components/graph/model.d.ts +6 -36
  281. package/components/graph/model.js +1 -1
  282. package/components/graph/svelvet/LICENSE +21 -0
  283. package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
  284. package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
  285. package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
  286. package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
  287. package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
  288. package/components/graph/svelvet/collapsible/types/types.js +1 -0
  289. package/components/graph/svelvet/container/README.md +7 -0
  290. package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
  291. package/components/graph/svelvet/container/controllers/middleware.js +101 -0
  292. package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
  293. package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
  294. package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
  295. package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
  296. package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
  297. package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
  298. package/components/graph/svelvet/d3/controllers/README.md +3 -0
  299. package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
  300. package/components/graph/svelvet/d3/controllers/d3.js +59 -0
  301. package/components/graph/svelvet/d3/controllers/d3Old.d.ts +1 -0
  302. package/components/graph/svelvet/d3/controllers/d3Old.js +43 -0
  303. package/components/graph/svelvet/docs/CHANGELOG.md +145 -0
  304. package/components/graph/svelvet/docs/DESIGN_PATTERNS.md +44 -0
  305. package/components/graph/svelvet/docs/DOCUMENTATION.md +5 -0
  306. package/components/graph/svelvet/docs/README.md +34 -0
  307. package/components/graph/svelvet/docs/TODO.md +14 -0
  308. package/components/graph/svelvet/docs/Tutorials.md +25 -0
  309. package/components/graph/svelvet/docs/images/css-background-after.png +0 -0
  310. package/components/graph/svelvet/docs/images/css-background-before.png +0 -0
  311. package/components/graph/svelvet/docs/images/custom-edges-after.png +0 -0
  312. package/components/graph/svelvet/docs/images/custom-edges-before.png +0 -0
  313. package/components/graph/svelvet/docs/images/custom-nodes-after.png +0 -0
  314. package/components/graph/svelvet/docs/images/custom-nodes-before.png +0 -0
  315. package/components/graph/svelvet/docs/images/custom-svelte-components-after.png +0 -0
  316. package/components/graph/svelvet/docs/images/custom-svelte-components-before.png +0 -0
  317. package/components/graph/svelvet/docs/images/html-docs-after.png +0 -0
  318. package/components/graph/svelvet/docs/images/html-docs-before.png +0 -0
  319. package/components/graph/svelvet/docs/images/minimap-after.png +0 -0
  320. package/components/graph/svelvet/docs/images/minimap-before.png +0 -0
  321. package/components/graph/svelvet/docs/images/node-classes-after.png +0 -0
  322. package/components/graph/svelvet/docs/images/node-classes-before.png +0 -0
  323. package/components/graph/svelvet/docs/images/node-create-after.png +0 -0
  324. package/components/graph/svelvet/docs/images/node-create-before.png +0 -0
  325. package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
  326. package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
  327. package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
  328. package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
  329. package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
  330. package/components/graph/svelvet/edges/controllers/util.js +72 -0
  331. package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
  332. package/components/graph/svelvet/edges/models/Anchor.js +122 -0
  333. package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
  334. package/components/graph/svelvet/edges/models/Edge.js +107 -0
  335. package/components/graph/svelvet/edges/types/types.d.ts +18 -0
  336. package/components/graph/svelvet/edges/types/types.js +1 -0
  337. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
  338. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
  339. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
  340. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
  341. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
  342. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
  343. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
  344. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
  345. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
  346. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
  347. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
  348. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
  349. package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
  350. package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
  351. package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
  352. package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
  353. package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
  354. package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
  355. package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
  356. package/components/graph/svelvet/nodes/controllers/util.js +13 -0
  357. package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
  358. package/components/graph/svelvet/nodes/models/Node.js +195 -0
  359. package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
  360. package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
  361. package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
  362. package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
  363. package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
  364. package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
  365. package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
  366. package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
  367. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
  368. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
  369. package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
  370. package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
  371. package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
  372. package/components/graph/svelvet/store/controllers/userApi.js +18 -0
  373. package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
  374. package/components/graph/svelvet/store/controllers/util.js +180 -0
  375. package/components/graph/svelvet/store/models/store.d.ts +12 -0
  376. package/components/graph/svelvet/store/models/store.js +9 -0
  377. package/components/graph/svelvet/store/types/types.d.ts +134 -0
  378. package/components/graph/svelvet/store/types/types.js +1 -0
  379. package/components/graph/svelvet/types/README.md +3 -0
  380. package/components/graph/svelvet/types/index.d.ts +2 -0
  381. package/components/graph/svelvet/types/index.js +1 -0
  382. package/components/graph/svelvet/types/types.d.ts +49 -0
  383. package/components/graph/svelvet/types/types.js +18 -0
  384. package/components/graph/util.js +2 -2
  385. package/components/home/ItemsList.svelte +53 -5
  386. package/components/home/ItemsList.svelte.d.ts +1 -0
  387. package/components/home/ListFilters.svelte +7 -2
  388. package/components/jobs/JobDetail.svelte +12 -1
  389. package/components/propertyPicker/ObjectViewer.svelte +6 -4
  390. package/consts.d.ts +1 -0
  391. package/consts.js +1 -0
  392. package/defaults.d.ts +4 -0
  393. package/defaults.js +4 -0
  394. package/history.d.ts +9 -0
  395. package/history.js +56 -0
  396. package/package.json +92 -8
  397. package/script_helpers.d.ts +1 -1
  398. package/script_helpers.js +1 -0
  399. package/scripts.d.ts +1 -1
  400. package/scripts.js +8 -1
  401. package/utils.d.ts +9 -4
  402. package/utils.js +44 -8
  403. package/components/apps/editor/TablePanel.svelte +0 -19
  404. package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
  405. package/components/flows/map/FlowBranchAllMap.svelte +0 -100
  406. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
  407. package/components/flows/map/FlowBranchOneMap.svelte +0 -124
  408. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
@@ -1,4 +1,4 @@
1
- <script>import { Loader2 } from 'lucide-svelte';
1
+ <script>import { Loader2, X } from 'lucide-svelte';
2
2
  import { Popup } from '../../../../common';
3
3
  export let componentInput;
4
4
  let anchor;
@@ -40,7 +40,25 @@ function select(label) {
40
40
  }
41
41
  </script>
42
42
 
43
- <input readonly value={formatName(componentInput.value)} bind:this={anchor} on:focus={getData} />
43
+ <div class="relative">
44
+ <input
45
+ readonly
46
+ value={formatName(componentInput.value)}
47
+ bind:this={anchor}
48
+ on:focus={getData}
49
+ class="pr-8"
50
+ />
51
+ {#if componentInput.value}
52
+ <button
53
+ class="absolute right-2 top-1/2 transform -translate-y-1/2 hover:bg-gray-200 rounded-full p-0.5"
54
+ on:click|stopPropagation|preventDefault={() => (componentInput.value = undefined)}
55
+ title="Clear"
56
+ aria-label="Clear"
57
+ >
58
+ <X size="14" />
59
+ </button>
60
+ {/if}
61
+ </div>
44
62
  {#if anchor}
45
63
  <Popup ref={anchor} options={{ placement: 'bottom' }} let:close>
46
64
  <div class="max-w-xs shadow-[0_10px_40px_-5px_rgba(0,0,0,0.25)] bg-white rounded-md p-2">
@@ -49,7 +67,13 @@ function select(label) {
49
67
  <Loader2 class="animate-spin" size={18} />
50
68
  </div>
51
69
  {:else if filteredItems}
52
- <input bind:value={search} type="text" placeholder="Search" class="col-span-4 mb-2" />
70
+ <input
71
+ on:keydown|stopPropagation
72
+ bind:value={search}
73
+ type="text"
74
+ placeholder="Search"
75
+ class="col-span-4 mb-2"
76
+ />
53
77
  <div class="grid gap-1 grid-cols-4 max-h-[300px] overflow-auto">
54
78
  {#each filteredItems as { label, icon }}
55
79
  {@const formatedLabel = formatName(label)}
@@ -7,6 +7,8 @@ declare const __propDef: {
7
7
  }>;
8
8
  };
9
9
  events: {
10
+ keydown: KeyboardEvent;
11
+ } & {
10
12
  [evt: string]: CustomEvent<any>;
11
13
  };
12
14
  slots: {};
@@ -1,6 +1,7 @@
1
1
  <script>import SimpleEditor from '../../../../SimpleEditor.svelte';
2
2
  export let code;
3
- export let value;
3
+ export let value = undefined;
4
+ export let error = '';
4
5
  function parseJson() {
5
6
  try {
6
7
  value = JSON.parse(code);
@@ -10,7 +11,6 @@ function parseJson() {
10
11
  error = e.message;
11
12
  }
12
13
  }
13
- let error = '';
14
14
  $: code && parseJson();
15
15
  </script>
16
16
 
@@ -2,7 +2,8 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  code: string;
5
- value: any;
5
+ value?: any;
6
+ error?: string | undefined;
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;
@@ -5,22 +5,26 @@ import ResourcePicker from '../../../../ResourcePicker.svelte';
5
5
  import JsonEditor from './JsonEditor.svelte';
6
6
  import { getContext } from 'svelte';
7
7
  import IconSelectInput from './IconSelectInput.svelte';
8
+ import ColorInput from './ColorInput.svelte';
9
+ import { Icon } from 'svelte-awesome';
10
+ import { faDollarSign } from '@fortawesome/free-solid-svg-icons';
8
11
  export let componentInput;
9
- const { onchange } = getContext('AppEditorContext');
12
+ const { onchange } = getContext('AppViewerContext');
13
+ const { pickVariableCallback } = getContext('AppEditorContext');
10
14
  $: componentInput && onchange?.();
11
15
  </script>
12
16
 
13
17
  {#if componentInput?.type === 'static'}
14
18
  {#if componentInput.fieldType === 'number'}
15
- <input type="number" bind:value={componentInput.value} />
19
+ <input on:keydown|stopPropagation type="number" bind:value={componentInput.value} />
16
20
  {:else if componentInput.fieldType === 'textarea'}
17
- <textarea bind:value={componentInput.value} />
21
+ <textarea on:keydown|stopPropagation bind:value={componentInput.value} />
18
22
  {:else if componentInput.fieldType === 'date'}
19
- <input type="date" bind:value={componentInput.value} />
23
+ <input on:keydown|stopPropagation type="date" bind:value={componentInput.value} />
20
24
  {:else if componentInput.fieldType === 'boolean'}
21
25
  <Toggle bind:checked={componentInput.value} />
22
26
  {:else if componentInput.fieldType === 'select'}
23
- <select bind:value={componentInput.value}>
27
+ <select on:keydown|stopPropagation on:keydown|stopPropagation bind:value={componentInput.value}>
24
28
  {#each staticValues[componentInput.optionValuesKey] || [] as option}
25
29
  <option value={option}>
26
30
  {option}
@@ -29,6 +33,31 @@ $: componentInput && onchange?.();
29
33
  </select>
30
34
  {:else if componentInput.fieldType === 'icon-select'}
31
35
  <IconSelectInput bind:componentInput />
36
+ {:else if componentInput.fieldType === 'labeledresource'}
37
+ {#if componentInput?.value && typeof componentInput?.value == 'object' && 'label' in componentInput?.value}
38
+ <div class="flex flex-col gap-1 w-full">
39
+ <input
40
+ on:keydown|stopPropagation
41
+ placeholder="Label"
42
+ type="text"
43
+ bind:value={componentInput.value['label']}
44
+ />
45
+ <ResourcePicker
46
+ initialValue={componentInput.value?.['value']?.split('$res:')[1] || ''}
47
+ on:change={(e) => {
48
+ let path = e.detail
49
+
50
+ if (componentInput && path) {
51
+ componentInput.value['value'] = `$res:${path}`
52
+ }
53
+ }}
54
+ />
55
+ </div>
56
+ {:else}
57
+ Inconsistent labeled resource object
58
+ {/if}
59
+ {:else if componentInput.fieldType === 'color'}
60
+ <ColorInput bind:componentInput />
32
61
  {:else if componentInput.fieldType === 'object'}
33
62
  {#if componentInput?.format?.startsWith('resource-')}
34
63
  <ResourcePicker
@@ -55,6 +84,25 @@ $: componentInput && onchange?.();
55
84
  {:else if componentInput.fieldType === 'array'}
56
85
  <ArrayStaticInputEditor bind:componentInput on:deleteArrayItem />
57
86
  {:else}
58
- <input type="text" placeholder="Static value" bind:value={componentInput.value} />
87
+ <div class="flex gap-1">
88
+ <input
89
+ on:keydown|stopPropagation
90
+ type="text"
91
+ placeholder="Static value"
92
+ bind:value={componentInput.value}
93
+ />
94
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
95
+ <div
96
+ class="min-w-min min-h-[34px] items-center leading-4 px-3 text-gray-600 cursor-pointer border border-gray-700 rounded center-center"
97
+ on:click={() => {
98
+ $pickVariableCallback = (variable) => {
99
+ if (componentInput) {
100
+ componentInput.value = `$var:${variable}`
101
+ }
102
+ }
103
+ }}
104
+ ><Icon data={faDollarSign} />
105
+ </div>
106
+ </div>
59
107
  {/if}
60
108
  {/if}
@@ -5,6 +5,7 @@ declare const __propDef: {
5
5
  componentInput: StaticAppInput | undefined;
6
6
  };
7
7
  events: {
8
+ keydown: KeyboardEvent;
8
9
  deleteArrayItem: CustomEvent<any>;
9
10
  } & {
10
11
  [evt: string]: CustomEvent<any>;
@@ -1,23 +1,21 @@
1
- <script>import { FileInput } from "../../../../common";
1
+ <script>import { FileInput } from '../../../../common';
2
2
  export let componentInput;
3
3
  </script>
4
4
 
5
5
  <FileInput
6
6
  accept={componentInput?.fileUpload?.accept}
7
7
  multiple={componentInput?.fileUpload?.multiple}
8
- convertToBase64={componentInput?.fileUpload?.base64}
8
+ convertTo={componentInput?.fileUpload?.convertTo}
9
9
  iconSize={24}
10
10
  class="text-sm py-4"
11
- on:change={({detail}) => {
12
- if(componentInput) {
13
- componentInput.value = componentInput?.fileUpload?.multiple
14
- ? detail
15
- : detail?.[0]
11
+ on:change={({ detail }) => {
12
+ if (componentInput) {
13
+ componentInput.value = componentInput?.fileUpload?.multiple ? detail : detail?.[0]
16
14
  }
17
15
  }}
18
16
  >
19
17
  <svelte:fragment slot="selected-title">
20
18
  <!-- Removing the title when there is a selected file -->
21
- <span></span>
19
+ <span />
22
20
  </svelte:fragment>
23
- </FileInput>
21
+ </FileInput>
@@ -1,5 +1,5 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { UploadAppInput } from "../../../inputType";
2
+ import type { UploadAppInput } from '../../../inputType';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  componentInput: UploadAppInput | undefined;
@@ -14,6 +14,7 @@ const dispatch = createEventDispatcher();
14
14
  <div class="w-full flex mt-1 items-center gap-2">
15
15
  <slot />
16
16
  <input
17
+ on:keydown|stopPropagation
17
18
  type="text"
18
19
  placeholder="Search inline scripts"
19
20
  bind:value={filter}
@@ -5,6 +5,7 @@ declare const __propDef: {
5
5
  inlineScripts?: string[] | undefined;
6
6
  };
7
7
  events: {
8
+ keydown: KeyboardEvent;
8
9
  pick: CustomEvent<any>;
9
10
  } & {
10
11
  [evt: string]: CustomEvent<any>;
@@ -13,7 +13,7 @@ export let defaultUserInput = false;
13
13
  let tab = 'inlinescripts';
14
14
  let filter = '';
15
15
  let picker;
16
- const { app, workspace } = getContext('AppEditorContext');
16
+ const { app, workspace } = getContext('AppViewerContext');
17
17
  async function loadSchemaFromTriggerable(path, runType) {
18
18
  return loadSchema(workspace, path, runType) ?? emptySchema();
19
19
  }
@@ -1,6 +1,7 @@
1
+ import type { ReadFileAs } from '../common/fileInput/model';
1
2
  import type { staticValues } from './editor/componentsPanel/componentStaticValues';
2
3
  import type { InlineScript } from './types';
3
- export type InputType = 'text' | 'textarea' | 'template' | 'number' | 'boolean' | 'select' | 'icon-select' | 'date' | 'time' | 'datetime' | 'object' | 'array' | 'any';
4
+ export type InputType = 'text' | 'textarea' | 'template' | 'number' | 'boolean' | 'select' | 'icon-select' | 'color' | 'date' | 'time' | 'datetime' | 'object' | 'array' | 'any' | 'labeledresource';
4
5
  export type InputConnection = {
5
6
  componentId: string;
6
7
  path: string;
@@ -65,10 +66,10 @@ type InputConfiguration<T extends InputType, U, V extends InputType> = {
65
66
  */
66
67
  multiple?: boolean;
67
68
  /**
68
- * Controls if the uploaded file(s) will be returned as `Base64` strings.
69
+ * Controls if the uploaded file(s) will be converted or not.
69
70
  * @default false
70
71
  */
71
- base64?: boolean;
72
+ convertTo?: ReadFileAs;
72
73
  };
73
74
  };
74
75
  type StaticOptions = {
@@ -82,9 +83,9 @@ export type AppInput = AppInputSpec<'text', string> | AppInputSpec<'textarea', s
82
83
  * One of the keys of `staticValues` from `lib/components/apps/editor/componentsPanel/componentStaticValues`
83
84
  */
84
85
  optionValuesKey: keyof typeof staticValues;
85
- }) | (AppInputSpec<'select', string> & StaticOptions) | AppInputSpec<'icon-select', string> | AppInputSpec<'array', string[], 'text'> | AppInputSpec<'array', string[], 'textarea'> | AppInputSpec<'array', number[], 'number'> | AppInputSpec<'array', boolean[], 'boolean'> | AppInputSpec<'array', string[], 'date'> | AppInputSpec<'array', string[], 'time'> | AppInputSpec<'array', string[], 'datetime'> | AppInputSpec<'array', object[], 'object'> | (AppInputSpec<'array', string[], 'select'> & {
86
+ }) | (AppInputSpec<'select', string> & StaticOptions) | AppInputSpec<'icon-select', string> | AppInputSpec<'color', string> | AppInputSpec<'array', string[], 'text'> | AppInputSpec<'array', string[], 'textarea'> | AppInputSpec<'array', number[], 'number'> | AppInputSpec<'array', boolean[], 'boolean'> | AppInputSpec<'array', string[], 'date'> | AppInputSpec<'array', string[], 'time'> | AppInputSpec<'array', string[], 'datetime'> | AppInputSpec<'array', object[], 'object'> | (AppInputSpec<'array', string[], 'select'> & {
86
87
  optionValuesKey: keyof typeof staticValues;
87
- }) | (AppInputSpec<'array', string[], 'select'> & StaticOptions);
88
+ }) | (AppInputSpec<'array', string[], 'select'> & StaticOptions) | AppInputSpec<'array', object[], 'labeledresource'> | AppInputSpec<'labeledresource', object>;
88
89
  export type RowAppInput = Extract<AppInput, {
89
90
  type: 'row';
90
91
  }>;
@@ -1,4 +1,5 @@
1
1
  import { writable } from 'svelte/store';
2
+ import { deepEqual } from 'fast-equals';
2
3
  export function buildWorld(components, previousWorld, context) {
3
4
  const newWorld = buildObservableWorld();
4
5
  const state = writable(0);
@@ -95,7 +96,7 @@ export function settableOutput(state, previousValue) {
95
96
  }
96
97
  }
97
98
  function set(x, force = false) {
98
- if (value != x || force) {
99
+ if (!deepEqual(value, x) || force) {
99
100
  state.update((x) => x + 1);
100
101
  value = x;
101
102
  subscribers.forEach((x) => x.next(value));
@@ -1,2 +1,7 @@
1
+ import type { Policy } from "../../gen";
1
2
  import type { App } from './types';
2
- export declare const importStore: import("svelte/store").Writable<App | undefined>;
3
+ export declare const importStore: import("svelte/store").Writable<{
4
+ summary: string;
5
+ value: App;
6
+ policy: Policy;
7
+ } | undefined>;
@@ -1,5 +1,6 @@
1
1
  import type { Schema } from '../../common';
2
2
  import type { Preview } from '../../gen';
3
+ import type { History } from '../../history';
3
4
  import type { FilledItem } from '@windmill-labs/svelte-grid';
4
5
  import type { Writable } from 'svelte/store';
5
6
  import type { AppComponent } from './editor/component/components';
@@ -17,8 +18,8 @@ export interface GeneralAppInput {
17
18
  tooltip?: string;
18
19
  }
19
20
  export type ComponentCssProperty = {
20
- class: string;
21
- style: string;
21
+ class?: string;
22
+ style?: string;
22
23
  };
23
24
  export type ComponentCustomCSS<T extends string = string> = Record<T, ComponentCssProperty>;
24
25
  export interface BaseAppComponent extends Partial<Aligned> {
@@ -75,10 +76,9 @@ export type ConnectingInput = {
75
76
  sourceName?: string;
76
77
  hoveredComponent: string | undefined;
77
78
  };
78
- export type AppEditorContext = {
79
+ export type AppViewerContext = {
79
80
  worldStore: Writable<World | undefined>;
80
81
  staticOutputs: Writable<Record<string, string[]>>;
81
- lazyGrid: Writable<GridItem[]>;
82
82
  app: Writable<App>;
83
83
  summary: Writable<string>;
84
84
  selectedComponent: Writable<string | undefined>;
@@ -102,6 +102,16 @@ export type AppEditorContext = {
102
102
  }>>;
103
103
  openDebugRun: Writable<((componentID: string) => void) | undefined>;
104
104
  focusedGrid: Writable<FocusedGrid | undefined>;
105
+ stateId: Writable<number>;
106
+ parentWidth: Writable<number>;
107
+ };
108
+ export type AppEditorContext = {
109
+ history: History<App> | undefined;
110
+ componentControl: Writable<Record<string, {
111
+ left?: () => boolean;
112
+ right?: () => boolean;
113
+ }>>;
114
+ pickVariableCallback: Writable<((path: string) => void) | undefined>;
105
115
  };
106
116
  export type FocusedGrid = {
107
117
  parentComponentId: string;
@@ -1,9 +1,8 @@
1
1
  import type { Schema } from '../../common';
2
+ import type { App, ComponentCssProperty, ComponentCustomCSS, GridItem } from './types';
2
3
  import type { AppInput, InputType, ResultAppInput, StaticAppInput } from './inputType';
3
4
  import type { Output } from './rx';
4
- import type { App, GridItem } from './types';
5
5
  export declare function allItems(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): GridItem[];
6
- export declare function allItemsWithParent(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): [GridItem, string | undefined][];
7
6
  export declare function loadSchema(workspace: string, path: string, runType: 'script' | 'flow' | 'hubscript'): Promise<Schema>;
8
7
  export declare function schemaToInputsSpec(schema: Schema, defaultUserInput: boolean): Record<string, StaticAppInput>;
9
8
  export declare function accessPropertyByPath<T>(object: T, path: string): T | undefined;
@@ -19,3 +18,4 @@ export declare function buildExtraLib(components: Record<string, Record<string,
19
18
  export declare function getAllScriptNames(app: App): string[];
20
19
  export declare function toPascalCase(text: string): string;
21
20
  export declare function toKebabCase(text: string): string;
21
+ export declare function concatCustomCss<T extends string = string>(appCss?: ComponentCustomCSS<T>, componentCss?: ComponentCustomCSS<T>): Record<T, ComponentCssProperty> | undefined;
@@ -1,60 +1,13 @@
1
1
  import { FlowService, ScriptService } from '../../gen';
2
2
  import { inferArgs } from '../../infer';
3
3
  import { emptySchema } from '../../utils';
4
- /*
5
- export function deleteComponent(
6
- subgrid: string | undefined,
7
- component: AppComponent,
8
- app: App,
9
- staticOutputs: Record<string, any>,
10
- runnableComponents: Record<string, any>
11
- ) {
12
- if (parentItems) {
13
- let index = parentItems.findIndex((item) => item.data?.id === component.id)
14
- if (index != -1) {
15
- parentItems.splice(index, 1)
16
- }
17
- }
18
-
19
- delete staticOutputs[component.id]
20
- delete runnableComponents[component.id]
21
-
22
- if (
23
- component.componentInput?.type === 'runnable' &&
24
- component.componentInput?.runnable?.type === 'runnableByName'
25
- ) {
26
- const { name, inlineScript } = component.componentInput.runnable
27
-
28
- if (inlineScript) {
29
- if (!app.unusedInlineScripts) {
30
- app.unusedInlineScripts = []
31
- }
32
-
33
- app.unusedInlineScripts.push({
34
- name,
35
- inlineScript
36
- })
37
- }
38
- }
39
- }
40
-
41
- */
4
+ import { twMerge } from 'tailwind-merge';
42
5
  export function allItems(grid, subgrids) {
43
6
  if (subgrids == undefined) {
44
7
  return grid;
45
8
  }
46
9
  return [...grid, ...Object.values(subgrids).flat()];
47
10
  }
48
- export function allItemsWithParent(grid, subgrids) {
49
- const items = grid.map((item) => [item, undefined]);
50
- if (subgrids == undefined) {
51
- return items;
52
- }
53
- return [
54
- ...items,
55
- ...Object.entries(subgrids).flatMap(([k, v]) => v.map((g) => [g, k]))
56
- ];
57
- }
58
11
  export async function loadSchema(workspace, path, runType) {
59
12
  if (runType === 'script') {
60
13
  const script = await ScriptService.getScriptByPath({
@@ -106,7 +59,7 @@ export function accessPropertyByPath(object, path) {
106
59
  let a = path.split('.');
107
60
  for (let i = 0, depth = a.length; i < depth; ++i) {
108
61
  let key = a[i];
109
- if (object[key]) {
62
+ if (object[key] != undefined) {
110
63
  object = object[key];
111
64
  }
112
65
  else {
@@ -209,3 +162,22 @@ export function toPascalCase(text) {
209
162
  export function toKebabCase(text) {
210
163
  return text.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
211
164
  }
165
+ export function concatCustomCss(appCss, componentCss) {
166
+ if (!componentCss)
167
+ return undefined;
168
+ const customStyle = {};
169
+ Object.keys(componentCss).forEach((key) => {
170
+ const k = key;
171
+ // This is the general style of the component type
172
+ const appStyle = appCss?.[k]?.style?.trim() || '';
173
+ const appEnding = appStyle?.endsWith(';') || !appStyle ? ' ' : '; ';
174
+ // This is the custom style of the component instance
175
+ const compStyle = componentCss[k]?.style?.trim() || '';
176
+ const compEnding = compStyle?.endsWith(';') || !compStyle ? ' ' : ';';
177
+ customStyle[k] = {
178
+ style: (appStyle + appEnding + compStyle + compEnding).trim(),
179
+ class: twMerge(appCss?.[k]?.class, componentCss[k]?.class)
180
+ };
181
+ });
182
+ return customStyle;
183
+ }
@@ -13,6 +13,7 @@ export let target = '_self';
13
13
  export let startIcon = undefined;
14
14
  export let endIcon = undefined;
15
15
  export let spacingSize = size;
16
+ export let loading = false;
16
17
  let ref;
17
18
  setContext(ButtonType.ItemContextKey, { size, color });
18
19
  $: separator = color === 'red' || color === 'blue' ? 'border-gray-200' : 'border-gray-400';
@@ -28,6 +29,7 @@ $: commonProps = {
28
29
  <div class="flex justy-start items-center">
29
30
  {#if $$slots.main}
30
31
  <Button
32
+ {loading}
31
33
  {...commonProps}
32
34
  {href}
33
35
  {target}
@@ -14,6 +14,7 @@ declare const __propDef: {
14
14
  startIcon?: ButtonType.Icon | undefined;
15
15
  endIcon?: ButtonType.Icon | undefined;
16
16
  spacingSize?: ButtonType.Size | undefined;
17
+ loading?: boolean | undefined;
17
18
  };
18
19
  events: {
19
20
  click: CustomEvent<any>;
@@ -0,0 +1,32 @@
1
+ <script>import { Redo, Undo } from 'lucide-svelte';
2
+ import { createEventDispatcher } from 'svelte';
3
+ import { Button } from '..';
4
+ export let undoProps = {};
5
+ export let redoProps = {};
6
+ const dispatch = createEventDispatcher();
7
+ </script>
8
+
9
+ <div class="flex">
10
+ <Button
11
+ title="Undo"
12
+ variant="border"
13
+ color="light"
14
+ size="xs"
15
+ btnClasses="!min-h-[30px] !rounded-r-none"
16
+ on:click={() => dispatch('undo')}
17
+ {...undoProps}
18
+ >
19
+ <Undo size={14} />
20
+ </Button>
21
+ <Button
22
+ title="Redo"
23
+ variant="border"
24
+ color="light"
25
+ size="xs"
26
+ btnClasses="!min-h-[30px] !rounded-l-none !border-l-0"
27
+ on:click={() => dispatch('redo')}
28
+ {...redoProps}
29
+ >
30
+ <Redo size={14} />
31
+ </Button>
32
+ </div>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ undoProps?: Record<string, any> | undefined;
5
+ redoProps?: Record<string, any> | undefined;
6
+ };
7
+ events: {
8
+ undo: CustomEvent<any>;
9
+ redo: CustomEvent<any>;
10
+ } & {
11
+ [evt: string]: CustomEvent<any>;
12
+ };
13
+ slots: {};
14
+ };
15
+ export type UndoRedoProps = typeof __propDef.props;
16
+ export type UndoRedoEvents = typeof __propDef.events;
17
+ export type UndoRedoSlots = typeof __propDef.slots;
18
+ export default class UndoRedo extends SvelteComponentTyped<UndoRedoProps, UndoRedoEvents, UndoRedoSlots> {
19
+ }
20
+ export {};
@@ -61,11 +61,17 @@ onMount(() => {
61
61
 
62
62
  <svelte:window on:keydown={onKeyDown} />
63
63
 
64
- <aside class="drawer {$$props.class}" class:open class:close={!open && timeout} {style}>
65
- <div class="overlay" on:click={handleClickAway} />
66
- <div class="panel {placement}" class:size>
64
+ <aside
65
+ class="drawer {$$props.class} {$$props.positionClass}"
66
+ class:open
67
+ class:close={!open && timeout}
68
+ {style}
69
+ >
70
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
71
+ <div class="overlay {$$props.positionClass}" on:click={handleClickAway} />
72
+ <div class="panel {placement} {$$props.positionClass}" class:size>
67
73
  {#if open || !timeout || alwaysOpen}
68
- <slot />
74
+ <slot {open} />
69
75
  {/if}
70
76
  </div>
71
77
  </aside>
@@ -20,7 +20,9 @@ declare const __propDef: {
20
20
  [evt: string]: CustomEvent<any>;
21
21
  };
22
22
  slots: {
23
- default: {};
23
+ default: {
24
+ open: boolean;
25
+ };
24
26
  };
25
27
  };
26
28
  export type DrawerProps = typeof __propDef.props;
@@ -2,7 +2,6 @@
2
2
  import { faClose } from '@fortawesome/free-solid-svg-icons';
3
3
  import { createEventDispatcher } from 'svelte';
4
4
  import { Icon } from 'svelte-awesome';
5
- import Button from '../button/Button.svelte';
6
5
  export let title = undefined;
7
6
  export let overflow_y = true;
8
7
  export let noPadding = false;