windmill-components 1.60.4 → 1.70.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 (331) hide show
  1. package/assets/app.css +3 -0
  2. package/common.d.ts +5 -1
  3. package/components/ApiConnectForm.svelte +66 -5
  4. package/components/AppConnect.svelte +24 -9
  5. package/components/ArgInput.svelte +1 -1
  6. package/components/CliHelpBox.svelte +49 -0
  7. package/components/CliHelpBox.svelte.d.ts +14 -0
  8. package/components/DisplayResult.svelte +51 -1
  9. package/components/DisplayResult.svelte.d.ts +1 -0
  10. package/components/Editor.svelte +17 -7
  11. package/components/EditorBar.svelte +129 -111
  12. package/components/FlowBuilder.svelte +2 -2
  13. package/components/FlowJobResult.svelte +10 -2
  14. package/components/FlowJobResult.svelte.d.ts +1 -0
  15. package/components/FlowMetadata.svelte +24 -8
  16. package/components/FlowPreviewContent.svelte +3 -4
  17. package/components/FlowStatusViewer.svelte +41 -9
  18. package/components/FolderEditor.svelte +3 -2
  19. package/components/HighlightCode.svelte +7 -1
  20. package/components/InlineCodeCopy.svelte +11 -0
  21. package/components/InlineCodeCopy.svelte.d.ts +16 -0
  22. package/components/InputTransformForm.svelte +9 -5
  23. package/components/LogViewer.svelte +6 -0
  24. package/components/LogViewer.svelte.d.ts +1 -0
  25. package/components/ModulePreview.svelte +11 -2
  26. package/components/MoveDrawer.svelte +1 -1
  27. package/components/Multiselect.svelte.d.ts +2 -2
  28. package/components/ObjectResourceInput.svelte +6 -1
  29. package/components/Path.svelte +14 -5
  30. package/components/Popover.svelte +8 -2
  31. package/components/Popover.svelte.d.ts +1 -0
  32. package/components/Range.svelte.d.ts +2 -2
  33. package/components/ResourceEditor.svelte +39 -16
  34. package/components/ResourcePicker.svelte +0 -1
  35. package/components/RunForm.svelte +26 -2
  36. package/components/RunForm.svelte.d.ts +1 -0
  37. package/components/ScheduleEditor.svelte +1 -1
  38. package/components/SchemaEditor.svelte +2 -2
  39. package/components/SchemaForm.svelte +14 -4
  40. package/components/SchemaForm.svelte.d.ts +1 -0
  41. package/components/ScriptBuilder.svelte +45 -22
  42. package/components/ScriptBuilder.svelte.d.ts +1 -0
  43. package/components/ScriptEditor.svelte +1 -0
  44. package/components/SharedBadge.svelte +5 -5
  45. package/components/Slider.svelte +14 -0
  46. package/components/Slider.svelte.d.ts +19 -0
  47. package/components/StringTypeNarrowing.svelte +0 -1
  48. package/components/SuperadminSettings.svelte +11 -3
  49. package/components/SuperadminSettings.svelte.d.ts +2 -0
  50. package/components/TemplateEditor.svelte.d.ts +204 -0
  51. package/components/TestJobLoader.svelte +3 -3
  52. package/components/Toggle.svelte +1 -2
  53. package/components/UserSettings.svelte +11 -3
  54. package/components/UserSettings.svelte.d.ts +2 -0
  55. package/components/VariableEditor.svelte +1 -1
  56. package/components/WhitelistIp.svelte +23 -0
  57. package/components/WhitelistIp.svelte.d.ts +14 -0
  58. package/components/apps/components/buttons/AppButton.svelte +52 -6
  59. package/components/apps/components/buttons/AppButton.svelte.d.ts +3 -0
  60. package/components/apps/components/{form → buttons}/AppForm.svelte +3 -1
  61. package/components/apps/components/buttons/AppFormButton.svelte +137 -0
  62. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +25 -0
  63. package/components/apps/components/buttons/index.d.ts +3 -0
  64. package/components/apps/components/buttons/index.js +3 -0
  65. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +15 -4
  66. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +1 -0
  67. package/components/apps/components/display/AppDisplayComponent.svelte +31 -0
  68. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +23 -0
  69. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte +6 -5
  70. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +1 -1
  71. package/components/apps/components/display/AppIcon.svelte +35 -0
  72. package/components/apps/components/display/AppIcon.svelte.d.ts +22 -0
  73. package/components/apps/components/display/AppImage.svelte +27 -0
  74. package/components/apps/components/display/AppImage.svelte.d.ts +22 -0
  75. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte +2 -1
  76. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +1 -0
  77. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +2 -1
  78. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +1 -0
  79. package/components/apps/components/{dataDisplay → display}/AppText.svelte +16 -14
  80. package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +3 -0
  81. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +3 -2
  82. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +1 -0
  83. package/components/apps/components/display/PlotlyHtml.svelte +38 -0
  84. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
  85. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte +2 -3
  86. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +1 -0
  87. package/components/apps/components/display/index.d.ts +12 -0
  88. package/components/apps/components/display/index.js +12 -0
  89. package/components/apps/components/display/table/AppAggridTable.svelte +83 -0
  90. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +24 -0
  91. package/components/apps/components/{table → display/table}/AppTable.svelte +32 -21
  92. package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +4 -2
  93. package/components/apps/components/{table → display/table}/AppTableFooter.svelte +1 -1
  94. package/components/apps/components/helpers/AlignWrapper.svelte +19 -19
  95. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +4 -2
  96. package/components/apps/components/helpers/HiddenComponent.svelte +22 -0
  97. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
  98. package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
  99. package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
  100. package/components/apps/components/helpers/InputValue.svelte +5 -7
  101. package/components/apps/components/helpers/InputValue.svelte.d.ts +0 -1
  102. package/components/apps/components/helpers/RunnableComponent.svelte +37 -48
  103. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
  104. package/components/apps/components/helpers/RunnableWrapper.svelte +7 -2
  105. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +2 -1
  106. package/components/apps/components/helpers/index.d.ts +10 -0
  107. package/components/apps/components/helpers/index.js +10 -0
  108. package/components/apps/components/icon.d.ts +1 -0
  109. package/components/apps/components/icon.js +18 -0
  110. package/components/apps/components/index.d.ts +5 -0
  111. package/components/apps/components/index.js +5 -0
  112. package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte +4 -2
  113. package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte +6 -0
  114. package/components/apps/components/inputs/AppFileInput.svelte +34 -0
  115. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +20 -0
  116. package/components/apps/components/inputs/AppNumberInput.svelte +48 -0
  117. package/components/apps/components/inputs/AppRangeInput.svelte +44 -0
  118. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +23 -0
  119. package/components/apps/components/inputs/AppSelect.svelte +90 -0
  120. package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +2 -0
  121. package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte +13 -9
  122. package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte +6 -0
  123. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +49 -0
  124. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +21 -0
  125. package/components/apps/components/inputs/currency/CurrencyInput.svelte +181 -0
  126. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +32 -0
  127. package/components/apps/components/inputs/index.d.ts +9 -0
  128. package/components/apps/components/inputs/index.js +9 -0
  129. package/components/apps/components/layout/AppContainer.svelte +32 -0
  130. package/components/apps/components/layout/AppContainer.svelte.d.ts +21 -0
  131. package/components/apps/components/layout/AppDivider.svelte +20 -0
  132. package/components/apps/components/layout/AppDivider.svelte.d.ts +22 -0
  133. package/components/apps/components/layout/AppTabs.svelte +58 -0
  134. package/components/apps/components/layout/AppTabs.svelte.d.ts +24 -0
  135. package/components/apps/components/layout/index.d.ts +3 -0
  136. package/components/apps/components/layout/index.js +3 -0
  137. package/components/apps/editor/AppComponentInput.svelte +33 -0
  138. package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
  139. package/components/apps/editor/AppComponentInputs.svelte +13 -0
  140. package/components/apps/editor/AppComponentInputs.svelte.d.ts +20 -0
  141. package/components/apps/editor/AppEditor.svelte +66 -31
  142. package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
  143. package/components/apps/editor/AppEditorHeader.svelte +74 -18
  144. package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  145. package/components/apps/editor/AppInputs.svelte +60 -0
  146. package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
  147. package/components/apps/editor/AppPreview.svelte +11 -6
  148. package/components/apps/editor/ComponentHeader.svelte +40 -2
  149. package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -1
  150. package/components/apps/editor/GridEditor.svelte +75 -32
  151. package/components/apps/editor/GridEditor.svelte.d.ts +2 -0
  152. package/components/apps/editor/SettingsPanel.svelte +31 -3
  153. package/components/apps/editor/SubGridEditor.svelte +111 -0
  154. package/components/apps/editor/SubGridEditor.svelte.d.ts +24 -0
  155. package/components/apps/editor/TablePanel.svelte +2 -0
  156. package/components/apps/editor/TablePanel.svelte.d.ts +1 -1
  157. package/components/apps/editor/appUtils.d.ts +9 -0
  158. package/components/apps/editor/appUtils.js +141 -0
  159. package/components/apps/editor/component/Component.svelte +209 -0
  160. package/components/apps/editor/component/Component.svelte.d.ts +23 -0
  161. package/components/apps/editor/component/README.md +15 -0
  162. package/components/apps/editor/component/components.d.ts +65 -0
  163. package/components/apps/editor/component/components.js +1102 -0
  164. package/components/apps/editor/component/default-codes.d.ts +3 -0
  165. package/components/apps/editor/component/default-codes.js +322 -0
  166. package/components/apps/editor/component/index.d.ts +4 -0
  167. package/components/apps/editor/component/index.js +4 -0
  168. package/components/apps/editor/component/sets.d.ts +2 -0
  169. package/components/apps/editor/component/sets.js +47 -0
  170. package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -106
  171. package/components/apps/editor/componentsPanel/CssProperty.svelte +31 -0
  172. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +20 -0
  173. package/components/apps/editor/componentsPanel/CssSettings.svelte +141 -0
  174. package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
  175. package/components/apps/editor/componentsPanel/ListItem.svelte +28 -0
  176. package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +20 -0
  177. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +4 -1
  178. package/components/apps/editor/componentsPanel/componentStaticValues.js +4 -1
  179. package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
  180. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +98 -9
  181. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +38 -29
  182. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +21 -1
  183. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +66 -8
  184. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +92 -46
  185. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -1
  186. package/components/apps/editor/inlineScriptsPanel/utils.js +30 -0
  187. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  188. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
  189. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +4 -1
  190. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +59 -1
  191. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +64 -34
  192. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +5 -3
  193. package/components/apps/editor/settingsPanel/GridTab.svelte +73 -0
  194. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +18 -0
  195. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +3 -0
  196. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  197. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +92 -77
  198. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  199. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +85 -0
  200. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +18 -0
  201. package/components/apps/editor/settingsPanel/Recompute.svelte +4 -1
  202. package/components/apps/editor/settingsPanel/TableActions.svelte +17 -6
  203. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  204. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +5 -3
  205. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +83 -0
  206. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +19 -0
  207. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +6 -1
  208. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +2 -0
  209. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +23 -0
  210. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
  211. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +3 -20
  212. package/components/apps/gridUtils.d.ts +3 -1
  213. package/components/apps/gridUtils.js +5 -3
  214. package/components/apps/inputType.d.ts +33 -6
  215. package/components/apps/types.d.ts +35 -40
  216. package/components/apps/types.js +1 -1
  217. package/components/apps/utils.d.ts +6 -5
  218. package/components/apps/utils.js +90 -94
  219. package/components/common/button/Button.svelte +12 -5
  220. package/components/common/button/Button.svelte.d.ts +3 -1
  221. package/components/common/button/ButtonPopup.svelte.d.ts +1 -1
  222. package/components/common/button/model.d.ts +2 -2
  223. package/components/common/button/model.js +21 -6
  224. package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
  225. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
  226. package/components/common/drawer/Drawer.svelte +3 -1
  227. package/components/common/fileInput/FileInput.svelte +112 -0
  228. package/components/common/fileInput/FileInput.svelte.d.ts +27 -0
  229. package/components/common/index.d.ts +1 -0
  230. package/components/common/index.js +1 -0
  231. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  232. package/components/common/modal/Modal.svelte +74 -0
  233. package/components/common/modal/Modal.svelte.d.ts +22 -0
  234. package/components/common/popup/Popup.svelte +34 -17
  235. package/components/common/popup/Popup.svelte.d.ts +11 -4
  236. package/components/common/table/FlowRow.svelte +22 -3
  237. package/components/common/table/LanguageBadge.svelte +10 -4
  238. package/components/common/table/Row.svelte +1 -1
  239. package/components/common/table/ScriptRow.svelte +2 -2
  240. package/components/common/tabs/Tabs.svelte +9 -7
  241. package/components/common/tabs/Tabs.svelte.d.ts +3 -1
  242. package/components/flows/CreateActionsFlow.svelte +2 -3
  243. package/components/flows/content/BranchPredicateEditor.svelte +10 -8
  244. package/components/flows/content/FlowInputs.svelte +109 -99
  245. package/components/flows/content/FlowLoop.svelte +1 -1
  246. package/components/flows/content/FlowModuleComponent.svelte +3 -2
  247. package/components/flows/content/FlowRetries.svelte +8 -6
  248. package/components/flows/content/FlowSettings.svelte +72 -26
  249. package/components/flows/flowState.d.ts +1 -0
  250. package/components/flows/flowState.js +1 -0
  251. package/components/flows/flowStateUtils.js +4 -2
  252. package/components/flows/flowStore.d.ts +1 -0
  253. package/components/flows/flowStore.js +1 -0
  254. package/components/flows/map/FlowBranchAllMap.svelte +1 -1
  255. package/components/flows/map/FlowBranchOneMap.svelte +2 -2
  256. package/components/flows/map/FlowModuleSchemaItem.svelte +5 -5
  257. package/components/flows/map/FlowModuleSchemaMap.svelte +15 -8
  258. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
  259. package/components/flows/map/InsertModuleButton.svelte +24 -10
  260. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
  261. package/components/flows/map/MapItem.svelte +3 -1
  262. package/components/flows/utils.js +16 -10
  263. package/components/graph/FlowGraph.svelte +38 -15
  264. package/components/graph/FlowGraph.svelte.d.ts +1 -0
  265. package/components/icons/SquareIcon.svelte +9 -0
  266. package/components/icons/SquareIcon.svelte.d.ts +17 -0
  267. package/components/icons/index.d.ts +2 -0
  268. package/components/icons/index.js +2 -0
  269. package/components/jobs/JobDetail.svelte +29 -5
  270. package/components/propertyPicker/ObjectViewer.svelte +8 -5
  271. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  272. package/components/propertyPicker/PropPicker.svelte +8 -1
  273. package/components/propertyPicker/PropPickerResult.svelte +1 -1
  274. package/components/random_positive_adjetive.d.ts +1 -0
  275. package/components/random_positive_adjetive.js +961 -0
  276. package/components/scriptEditor/LogPanel.svelte +2 -1
  277. package/components/sidebar/SidebarContent.svelte +1 -1
  278. package/components/sidebar/UserMenu.svelte +46 -16
  279. package/components/sidebar/UserMenu.svelte.d.ts +0 -3
  280. package/components/sidebar/WorkspaceMenu.svelte +3 -1
  281. package/components/sidebar/settings.d.ts +2 -0
  282. package/components/sidebar/settings.js +2 -0
  283. package/gen/core/OpenAPI.js +1 -1
  284. package/gen/models/CompletedJob.d.ts +1 -0
  285. package/gen/models/FlowModule.d.ts +0 -1
  286. package/gen/models/QueuedJob.d.ts +1 -0
  287. package/gen/models/WorkerPing.d.ts +1 -1
  288. package/gen/services/FlowService.d.ts +9 -0
  289. package/gen/services/FlowService.js +15 -0
  290. package/gen/services/JobService.d.ts +97 -15
  291. package/gen/services/JobService.js +74 -15
  292. package/gen/services/ScriptService.d.ts +10 -1
  293. package/gen/services/ScriptService.js +16 -1
  294. package/gen/services/VariableService.d.ts +4 -2
  295. package/gen/services/VariableService.js +8 -2
  296. package/gen/services/WorkspaceService.d.ts +17 -0
  297. package/gen/services/WorkspaceService.js +16 -0
  298. package/infer.js +3 -0
  299. package/init_scripts/python_failure_module.py +10 -0
  300. package/init_scripts/python_init_code.py +37 -0
  301. package/init_scripts/python_init_code_clear.py +5 -0
  302. package/init_scripts/python_init_code_trigger.py +14 -0
  303. package/logout.js +2 -1
  304. package/package.json +577 -522
  305. package/script_helpers.d.ts +6 -5
  306. package/script_helpers.js +7 -73
  307. package/stores.d.ts +5 -1
  308. package/stores.js +8 -1
  309. package/user.d.ts +1 -1
  310. package/user.js +14 -8
  311. package/utils.d.ts +1 -1
  312. package/utils.js +8 -7
  313. package/components/apps/components/DisplayComponent.svelte +0 -16
  314. package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
  315. package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
  316. package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
  317. package/components/apps/editor/ComponentEditor.svelte +0 -145
  318. package/components/apps/editor/ComponentEditor.svelte.d.ts +0 -23
  319. package/components/apps/editor/componentsPanel/data.d.ts +0 -3
  320. package/components/apps/editor/componentsPanel/data.js +0 -499
  321. package/components/apps/editorUtils.d.ts +0 -1
  322. package/components/apps/editorUtils.js +0 -292
  323. /package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +0 -0
  324. /package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +0 -0
  325. /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
  326. /package/components/apps/components/{table → display/table}/tableOptions.js +0 -0
  327. /package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +0 -0
  328. /package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +0 -0
  329. /package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +0 -0
  330. /package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +0 -0
  331. /package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +0 -0
@@ -0,0 +1,3 @@
1
+ import type { AppComponent } from ".";
2
+ export declare function defaultCode(component: string, language: string): string | undefined;
3
+ export declare const DEFAULT_CODES: Partial<Record<AppComponent['type'], Record<'deno' | 'python3', string>>>;
@@ -0,0 +1,322 @@
1
+ export function defaultCode(component, language) {
2
+ return DEFAULT_CODES[component]?.[language];
3
+ }
4
+ export const DEFAULT_CODES = {
5
+ tablecomponent: {
6
+ deno: `export async function main() {
7
+ return [
8
+ {
9
+ "id": 1,
10
+ "name": "A cell with a long name",
11
+ "age": 42
12
+ },
13
+ {
14
+ "id": 2,
15
+ "name": "A briefer cell",
16
+ "age": 84
17
+ }
18
+ ]
19
+ }`,
20
+ python3: `def main():
21
+ return [
22
+ {
23
+ "id": 1,
24
+ "name": "A cell with a long name",
25
+ "age": 42
26
+ },
27
+ {
28
+ "id": 2,
29
+ "name": "A briefer cell",
30
+ "age": 84
31
+ }
32
+ ]`
33
+ },
34
+ textcomponent: {
35
+ deno: `export async function main() {
36
+ return "foo"
37
+ }`,
38
+ python3: `def main():
39
+ return "foo"`
40
+ },
41
+ barchartcomponent: {
42
+ deno: `export async function main() {
43
+ return {
44
+ "data": [
45
+ 25,
46
+ 50,
47
+ 25
48
+ ],
49
+ "labels": [
50
+ "Bar",
51
+ "Charts",
52
+ "<3"
53
+ ]
54
+ }
55
+ }`,
56
+ python3: `def main():
57
+ return {
58
+ "data": [
59
+ 25,
60
+ 50,
61
+ 25
62
+ ],
63
+ "labels": [
64
+ "Bar",
65
+ "Charts",
66
+ "<3"
67
+ ]
68
+ }`
69
+ },
70
+ displaycomponent: {
71
+ deno: `export async function main() {
72
+ return {
73
+ "foo": 42
74
+ }
75
+ }`,
76
+ python3: `def main():
77
+ return {
78
+ "foo": 42
79
+ }`
80
+ },
81
+ htmlcomponent: {
82
+ deno: `export async function main() {
83
+ return \`<img
84
+ src="https://images.unsplash.com/photo-1554629947-334ff61d85dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&amp;ixlib=rb-1.2.1&amp;auto=format&amp;fit=crop&amp;w=1024&amp;h=1280&amp;q=80"
85
+ >
86
+ <h1 class="absolute top-4 left-2 text-white">
87
+ Hello world
88
+ </h1>\`
89
+ }`,
90
+ python3: `def main():
91
+ return '''<img
92
+ src="https://images.unsplash.com/photo-1554629947-334ff61d85dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&amp;ixlib=rb-1.2.1&amp;auto=format&amp;fit=crop&amp;w=1024&amp;h=1280&amp;q=80"
93
+ >
94
+ <h1 class="absolute top-4 left-2 text-white">
95
+ Hello world
96
+ </h1>'''`
97
+ },
98
+ vegalitecomponent: {
99
+ deno: `export async function main() {
100
+ return {
101
+ data: {
102
+ values: [
103
+ { a: "A", b: 28 },
104
+ { a: "B", b: 55 },
105
+ { a: "C", b: 43 },
106
+ { a: "D", b: 91 },
107
+ ],
108
+ },
109
+ mark: "bar",
110
+ encoding: {
111
+ x: { field: "a", type: "ordinal" },
112
+ y: { field: "b", type: "quantitative" },
113
+ },
114
+ }
115
+ }`,
116
+ python3: `def main():
117
+ return {
118
+ "data": {
119
+ "values": [
120
+ { "a": "A", "b": 28 },
121
+ { "a": "B", "b": 55 },
122
+ { "a": "C", "b": 43 },
123
+ { "a": "D", "b": 91 },
124
+ ],
125
+ },
126
+ "mark": "bar",
127
+ "encoding": {
128
+ "x": { "field": "a", "type": "ordinal" },
129
+ "y": { "field": "b", "type": "quantitative" },
130
+ },
131
+ }`
132
+ },
133
+ plotlycomponent: {
134
+ deno: `export async function main() {
135
+ return {
136
+ type: 'bar',
137
+ x: [1, 2, 3, 4],
138
+ y: [5, 10, 2, 8],
139
+ marker: {
140
+ color: '#C8A2C8',
141
+ line: {
142
+ width: 2.5
143
+ }
144
+ }
145
+ };
146
+ }`,
147
+ python3: `def main():
148
+ return {
149
+ "type": "bar",
150
+ "x": [1, 2, 3, 4],
151
+ "y": [5, 10, 2, 8],
152
+ "marker": {
153
+ "color": "#C8A2C8",
154
+ "line": {
155
+ "width": 2.5
156
+ }
157
+ }
158
+ }`
159
+ },
160
+ piechartcomponent: {
161
+ deno: `export async function main() {
162
+ return {
163
+ "data": [
164
+ 25,
165
+ 50,
166
+ 25
167
+ ],
168
+ "labels": [
169
+ "Pie",
170
+ "Charts",
171
+ "<3"
172
+ ]
173
+ }
174
+ }`,
175
+ python3: `def main():
176
+ return {
177
+ "data": [
178
+ 25,
179
+ 50,
180
+ 25
181
+ ],
182
+ "labels": [
183
+ "Pie",
184
+ "Charts",
185
+ "<3"
186
+ ]
187
+ }`
188
+ },
189
+ scatterchartcomponent: {
190
+ deno: `export async function main() {
191
+ return [
192
+ {
193
+ "label": "foo",
194
+ "data": [
195
+ { "x": 25, "y": 50 },
196
+ { "x": 23, "y": 23 },
197
+ { "x": 12, "y": 37 }
198
+ ],
199
+ "backgroundColor": "rgb(255, 12, 137)"
200
+ },
201
+ {
202
+ "label": "bar",
203
+ "data": [
204
+ { "x": 32, "y": 32 },
205
+ { "x": 25, "y": 42 },
206
+ { "x": 3, "y": 27 }
207
+ ],
208
+ "backgroundColor": "orange"
209
+ }
210
+ ]
211
+ }`,
212
+ python3: `def main():
213
+ return [
214
+ {
215
+ "label": "foo",
216
+ "data": [
217
+ { "x": 25, "y": 50 },
218
+ { "x": 23, "y": 23 },
219
+ { "x": 12, "y": 37 }
220
+ ],
221
+ "backgroundColor": "rgb(255, 12, 137)"
222
+ },
223
+ {
224
+ "label": "bar",
225
+ "data": [
226
+ { "x": 32, "y": 32 },
227
+ { "x": 25, "y": 42 },
228
+ { "x": 3, "y": 27 }
229
+ ],
230
+ "backgroundColor": "orange"
231
+ }
232
+ ]`
233
+ },
234
+ timeseriescomponent: {
235
+ deno: `export async function main() {
236
+ return [
237
+ {
238
+ "label": "foo",
239
+ "data": [
240
+ {
241
+ "x": "2021-11-06 23:39:30",
242
+ "y": 50
243
+ },
244
+ {
245
+ "x": "2021-11-07 01:00:28",
246
+ "y": 60
247
+ },
248
+ {
249
+ "x": "2021-11-07 09:00:28",
250
+ "y": 20
251
+ }
252
+ ],
253
+ "backgroundColor": "rgb(255, 12, 137)"
254
+ },
255
+ {
256
+ "label": "bar",
257
+ "data": [
258
+ {
259
+ "x": "2021-11-06 23:39:30",
260
+ "y": 20
261
+ },
262
+ {
263
+ "x": "2021-11-07 01:00:28",
264
+ "y": 13
265
+ },
266
+ {
267
+ "x": "2021-11-07 09:00:28",
268
+ "y": 45
269
+ }
270
+ ],
271
+ "backgroundColor": "orange"
272
+ }
273
+ ]
274
+ }`,
275
+ python3: `def main():
276
+ return [
277
+ {
278
+ "label": "foo",
279
+ "data": [
280
+ {
281
+ "x": "2021-11-06 23:39:30",
282
+ "y": 50
283
+ },
284
+ {
285
+ "x": "2021-11-07 01:00:28",
286
+ "y": 60
287
+ },
288
+ {
289
+ "x": "2021-11-07 09:00:28",
290
+ "y": 20
291
+ }
292
+ ],
293
+ "backgroundColor": "rgb(255, 12, 137)"
294
+ },
295
+ {
296
+ "label": "bar",
297
+ "data": [
298
+ {
299
+ "x": "2021-11-06 23:39:30",
300
+ "y": 20
301
+ },
302
+ {
303
+ "x": "2021-11-07 01:00:28",
304
+ "y": 13
305
+ },
306
+ {
307
+ "x": "2021-11-07 09:00:28",
308
+ "y": 45
309
+ }
310
+ ],
311
+ "backgroundColor": "orange"
312
+ }
313
+ ]`
314
+ },
315
+ iconcomponent: {
316
+ deno: `export async function main() {
317
+ return "smile";
318
+ }`,
319
+ python3: `def main():
320
+ return "smile"`
321
+ }
322
+ };
@@ -0,0 +1,4 @@
1
+ export { default as Component } from './Component.svelte';
2
+ export * from './components';
3
+ export * from './default-codes';
4
+ export * from './sets';
@@ -0,0 +1,4 @@
1
+ export { default as Component } from './Component.svelte';
2
+ export * from './components';
3
+ export * from './default-codes';
4
+ export * from './sets';
@@ -0,0 +1,2 @@
1
+ import type { ComponentSet } from '../../types';
2
+ export declare const COMPONENT_SETS: readonly [ComponentSet, ComponentSet, ComponentSet, ComponentSet];
@@ -0,0 +1,47 @@
1
+ const layout = {
2
+ title: 'Layout',
3
+ components: [
4
+ 'tabscomponent',
5
+ 'containercomponent',
6
+ 'horizontaldividercomponent',
7
+ 'verticaldividercomponent'
8
+ ]
9
+ };
10
+ const buttons = {
11
+ title: 'Buttons',
12
+ components: ['buttoncomponent', 'formcomponent', 'formbuttoncomponent']
13
+ };
14
+ const inputs = {
15
+ title: 'Inputs',
16
+ components: [
17
+ 'textinputcomponent',
18
+ 'passwordinputcomponent',
19
+ 'numberinputcomponent',
20
+ 'currencycomponent',
21
+ 'slidercomponent',
22
+ 'rangecomponent',
23
+ 'dateinputcomponent',
24
+ 'fileinputcomponent',
25
+ 'checkboxcomponent',
26
+ 'selectcomponent'
27
+ ]
28
+ };
29
+ const display = {
30
+ title: 'Display',
31
+ components: [
32
+ 'textcomponent',
33
+ 'iconcomponent',
34
+ 'imagecomponent',
35
+ 'htmlcomponent',
36
+ 'tablecomponent',
37
+ 'aggridcomponent',
38
+ 'barchartcomponent',
39
+ 'piechartcomponent',
40
+ 'vegalitecomponent',
41
+ 'plotlycomponent',
42
+ 'scatterchartcomponent',
43
+ 'timeseriescomponent',
44
+ 'displaycomponent',
45
+ ]
46
+ };
47
+ export const COMPONENT_SETS = [layout, buttons, inputs, display];
@@ -1,118 +1,42 @@
1
- <script>import { slide } from 'svelte/transition';
2
- import Icon from 'svelte-awesome';
3
- import { displayData } from '../../utils';
4
- import { componentSets } from './data';
5
- import gridHelp from 'svelte-grid/build/helper/index.mjs';
6
- import { getContext, onMount } from 'svelte';
7
- import { getNextId } from '../../../flows/flowStateUtils';
8
- import { faAngleDown } from '@fortawesome/free-solid-svg-icons';
1
+ <script>import { getContext, onMount } from 'svelte';
9
2
  import { isOpenStore } from './store';
10
- import { gridColumns } from '../../gridUtils';
11
3
  import { dirtyStore } from '../../../common/confirmationModal/dirtyStore';
12
- const { app, selectedComponent } = getContext('AppEditorContext');
13
- function getRecommendedDimensionsByComponent(componentType, column) {
14
- // Dimensions key formula: <mobile width>:<mobile height>-<desktop width>:<desktop height>
15
- const dimensions = {
16
- '1:1-3:1': ['textcomponent'],
17
- '1:1-2:1': ['buttoncomponent', 'checkboxcomponent'],
18
- '1:2-1:2': ['htmlcomponent'],
19
- '2:1-3:1': [
20
- 'textinputcomponent',
21
- 'numberinputcomponent',
22
- 'selectcomponent',
23
- 'passwordinputcomponent',
24
- 'dateinputcomponent'
25
- ],
26
- '3:5-6:5': ['formcomponent'],
27
- '2:8-6:8': [
28
- 'timeseriescomponent',
29
- 'barchartcomponent',
30
- 'piechartcomponent',
31
- 'displaycomponent',
32
- 'scatterchartcomponent',
33
- 'vegalitecomponent'
34
- ],
35
- '3:10-6:10': ['tablecomponent']
36
- };
37
- // Finds the key that is associated with the component type and extracts the dimensions from it
38
- const [dimension] = Object.entries(dimensions).find(([_, value]) => value.includes(componentType)) || ['2:1-2:1'];
39
- const size = dimension.split('-')[column === 3 ? 0 : 1].split(':');
40
- return { w: +size[0], h: +size[1] };
41
- }
42
- function addComponent(appComponent) {
4
+ import { components as componentsRecord, COMPONENT_SETS } from '../component';
5
+ import ListItem from './ListItem.svelte';
6
+ import { insertNewGridItem } from '../appUtils';
7
+ const TITLE_PREFIX = 'Component.';
8
+ const { app, selectedComponent, focusedGrid } = getContext('AppEditorContext');
9
+ function addComponent(appComponentType) {
43
10
  $dirtyStore = true;
44
- const grid = $app.grid ?? [];
45
- const id = getNextId(grid.map((gridItem) => gridItem.data.id));
46
- appComponent.id = id;
47
- const newComponent = {
48
- fixed: false,
49
- resizable: true,
50
- draggable: true,
51
- customDragger: false,
52
- customResizer: false,
53
- x: 0,
54
- y: 0
55
- };
56
- let newData = JSON.parse(JSON.stringify(appComponent));
57
- const newItem = {
58
- data: newData,
59
- id: id
60
- };
61
- gridColumns.forEach((column) => {
62
- const rec = getRecommendedDimensionsByComponent(appComponent.type, column);
63
- newItem[column] = {
64
- ...newComponent,
65
- min: { w: 1, h: 1 },
66
- max: { w: column, h: 100 },
67
- w: rec.w,
68
- h: rec.h
69
- };
70
- const position = gridHelp.findSpace(newItem, grid, column);
71
- newItem[column] = { ...newItem[column], ...position };
72
- });
73
- $app.grid = [...grid, newItem];
11
+ const data = componentsRecord[appComponentType].data;
12
+ const id = insertNewGridItem($app, data, $focusedGrid);
74
13
  $selectedComponent = id;
75
14
  }
76
15
  onMount(() => {
77
- isOpenStore.addItems(componentSets.map((set) => ({ [set.title]: true })));
16
+ isOpenStore.addItems(COMPONENT_SETS.map((set) => ({ [TITLE_PREFIX + set.title]: true })));
78
17
  });
79
18
  </script>
80
19
 
81
- {#each componentSets as { title, components }, index (index)}
82
- {@const isOpen = $isOpenStore[title]}
83
- <section class="mt-1 mb-2 px-2">
84
- <button
85
- on:click|preventDefault={() => isOpenStore.toggle(title)}
86
- class="w-full flex justify-between items-center text-gray-700 px-2 py-1
87
- rounded-sm duration-200 hover:bg-gray-100"
88
- >
89
- <h1 class="text-sm font-semibold text-left">{title}</h1>
90
- <Icon data={faAngleDown} class="rotate-0 duration-300 {isOpen ? '!rotate-180' : ''}" />
91
- </button>
92
- {#if isOpen}
93
- <div transition:slide|local={{ duration: 300 }}>
94
- {#if components.length}
95
- <div class="flex flex-wrap gap-2 py-2">
96
- {#each components as item}
97
- <button
98
- on:click={() => addComponent(item)}
99
- title={displayData[item.type].name}
100
- class="border w-24 shadow-sm h-16 p-2 flex flex-col gap-2 items-center
101
- justify-center bg-white rounded-md hover:bg-gray-100 duration-200"
102
- >
103
- <svelte:component this={displayData[item.type].icon} />
104
- <div class="text-xs w-full text-center ellipsize">
105
- {displayData[item.type].name}
106
- </div>
107
- </button>
108
- {/each}
109
- </div>
110
- {:else}
111
- <div class="text-xs text-gray-500 py-1 px-2">
112
- There are no components in this group yet
113
- </div>
114
- {/if}
20
+ {#each COMPONENT_SETS as { title, components }, index (index)}
21
+ <ListItem {title} prefix={TITLE_PREFIX}>
22
+ {#if components.length}
23
+ <div class="flex flex-wrap gap-2 py-2">
24
+ {#each components as item}
25
+ <button
26
+ on:click={() => addComponent(item)}
27
+ title={componentsRecord[item].name}
28
+ class="border w-24 shadow-sm h-16 p-2 flex flex-col gap-2 items-center
29
+ justify-center bg-white rounded-md hover:bg-gray-100 duration-200"
30
+ >
31
+ <svelte:component this={componentsRecord[item].icon} />
32
+ <div class="text-xs w-full text-center ellipsize">
33
+ {componentsRecord[item].name}
34
+ </div>
35
+ </button>
36
+ {/each}
115
37
  </div>
38
+ {:else}
39
+ <div class="text-xs text-gray-500 py-1 px-2"> There are no components in this group yet </div>
116
40
  {/if}
117
- </section>
41
+ </ListItem>
118
42
  {/each}
@@ -0,0 +1,31 @@
1
+ <script>export let name;
2
+ export let value;
3
+ </script>
4
+
5
+ <div class="text-sm font-semibold text-gray-500 capitalize pt-2">
6
+ {name}
7
+ </div>
8
+ {#if value}
9
+ <div class="border-l border-gray-400/80 py-1 pl-3.5 mt-1 ml-0.5">
10
+ <label class="block pb-2">
11
+ <div class="text-xs font-medium pb-0.5">
12
+ Style
13
+ </div>
14
+ <input
15
+ type="text"
16
+ bind:value={value.style}
17
+ on:focus
18
+ />
19
+ </label>
20
+ <label class="block">
21
+ <div class="text-xs font-medium pb-0.5">
22
+ Tailwind classes
23
+ </div>
24
+ <input
25
+ type="text"
26
+ bind:value={value.class}
27
+ on:focus
28
+ />
29
+ </label>
30
+ </div>
31
+ {/if}
@@ -0,0 +1,20 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { ComponentCssProperty } from "../../types";
3
+ declare const __propDef: {
4
+ props: {
5
+ name: string;
6
+ value: ComponentCssProperty | undefined;
7
+ };
8
+ events: {
9
+ focus: FocusEvent;
10
+ } & {
11
+ [evt: string]: CustomEvent<any>;
12
+ };
13
+ slots: {};
14
+ };
15
+ export type CssPropertyProps = typeof __propDef.props;
16
+ export type CssPropertyEvents = typeof __propDef.events;
17
+ export type CssPropertySlots = typeof __propDef.slots;
18
+ export default class CssProperty extends SvelteComponentTyped<CssPropertyProps, CssPropertyEvents, CssPropertySlots> {
19
+ }
20
+ export {};