windmill-components 1.60.3 → 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 (335) 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 +4 -3
  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 +25 -28
  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/display/AppHtml.svelte +32 -0
  70. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +1 -3
  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/display/VegaLiteHtml.svelte +52 -0
  86. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +3 -2
  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 +44 -23
  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 +32 -5
  148. package/components/apps/editor/AppPreview.svelte.d.ts +2 -0
  149. package/components/apps/editor/ComponentHeader.svelte +40 -2
  150. package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -1
  151. package/components/apps/editor/GridEditor.svelte +75 -32
  152. package/components/apps/editor/GridEditor.svelte.d.ts +2 -0
  153. package/components/apps/editor/SettingsPanel.svelte +31 -3
  154. package/components/apps/editor/SubGridEditor.svelte +111 -0
  155. package/components/apps/editor/SubGridEditor.svelte.d.ts +24 -0
  156. package/components/apps/editor/TablePanel.svelte +2 -0
  157. package/components/apps/editor/TablePanel.svelte.d.ts +1 -1
  158. package/components/apps/editor/appUtils.d.ts +9 -0
  159. package/components/apps/editor/appUtils.js +141 -0
  160. package/components/apps/editor/component/Component.svelte +209 -0
  161. package/components/apps/editor/component/Component.svelte.d.ts +23 -0
  162. package/components/apps/editor/component/README.md +15 -0
  163. package/components/apps/editor/component/components.d.ts +65 -0
  164. package/components/apps/editor/component/components.js +1102 -0
  165. package/components/apps/editor/component/default-codes.d.ts +3 -0
  166. package/components/apps/editor/component/default-codes.js +322 -0
  167. package/components/apps/editor/component/index.d.ts +4 -0
  168. package/components/apps/editor/component/index.js +4 -0
  169. package/components/apps/editor/component/sets.d.ts +2 -0
  170. package/components/apps/editor/component/sets.js +47 -0
  171. package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -105
  172. package/components/apps/editor/componentsPanel/CssProperty.svelte +31 -0
  173. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +20 -0
  174. package/components/apps/editor/componentsPanel/CssSettings.svelte +141 -0
  175. package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
  176. package/components/apps/editor/componentsPanel/ListItem.svelte +28 -0
  177. package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +20 -0
  178. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +4 -1
  179. package/components/apps/editor/componentsPanel/componentStaticValues.js +4 -1
  180. package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
  181. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +98 -9
  182. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +38 -29
  183. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +21 -1
  184. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +66 -8
  185. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +92 -46
  186. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -1
  187. package/components/apps/editor/inlineScriptsPanel/utils.js +30 -0
  188. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  189. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
  190. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +4 -1
  191. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +59 -1
  192. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +64 -34
  193. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +5 -3
  194. package/components/apps/editor/settingsPanel/GridTab.svelte +73 -0
  195. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +18 -0
  196. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +3 -0
  197. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  198. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +92 -77
  199. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  200. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +85 -0
  201. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +18 -0
  202. package/components/apps/editor/settingsPanel/Recompute.svelte +4 -1
  203. package/components/apps/editor/settingsPanel/TableActions.svelte +17 -6
  204. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  205. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +5 -3
  206. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +83 -0
  207. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +19 -0
  208. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +6 -1
  209. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +2 -0
  210. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +23 -0
  211. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
  212. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +3 -20
  213. package/components/apps/gridUtils.d.ts +3 -1
  214. package/components/apps/gridUtils.js +5 -3
  215. package/components/apps/inputType.d.ts +33 -6
  216. package/components/apps/types.d.ts +35 -39
  217. package/components/apps/types.js +1 -1
  218. package/components/apps/utils.d.ts +6 -5
  219. package/components/apps/utils.js +90 -90
  220. package/components/common/button/Button.svelte +12 -5
  221. package/components/common/button/Button.svelte.d.ts +3 -1
  222. package/components/common/button/ButtonPopup.svelte.d.ts +1 -1
  223. package/components/common/button/model.d.ts +2 -2
  224. package/components/common/button/model.js +21 -6
  225. package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
  226. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
  227. package/components/common/drawer/Drawer.svelte +3 -1
  228. package/components/common/fileInput/FileInput.svelte +112 -0
  229. package/components/common/fileInput/FileInput.svelte.d.ts +27 -0
  230. package/components/common/index.d.ts +1 -0
  231. package/components/common/index.js +1 -0
  232. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  233. package/components/common/modal/Modal.svelte +74 -0
  234. package/components/common/modal/Modal.svelte.d.ts +22 -0
  235. package/components/common/popup/Popup.svelte +34 -17
  236. package/components/common/popup/Popup.svelte.d.ts +11 -4
  237. package/components/common/table/FlowRow.svelte +22 -3
  238. package/components/common/table/LanguageBadge.svelte +10 -4
  239. package/components/common/table/Row.svelte +1 -1
  240. package/components/common/table/ScriptRow.svelte +2 -2
  241. package/components/common/tabs/Tabs.svelte +9 -7
  242. package/components/common/tabs/Tabs.svelte.d.ts +3 -1
  243. package/components/flows/CreateActionsFlow.svelte +2 -3
  244. package/components/flows/content/BranchPredicateEditor.svelte +10 -8
  245. package/components/flows/content/CapturePayload.svelte +3 -3
  246. package/components/flows/content/FlowInputs.svelte +109 -99
  247. package/components/flows/content/FlowLoop.svelte +1 -1
  248. package/components/flows/content/FlowModuleComponent.svelte +3 -2
  249. package/components/flows/content/FlowRetries.svelte +8 -6
  250. package/components/flows/content/FlowSettings.svelte +72 -26
  251. package/components/flows/flowState.d.ts +1 -0
  252. package/components/flows/flowState.js +1 -0
  253. package/components/flows/flowStateUtils.js +4 -2
  254. package/components/flows/flowStore.d.ts +1 -0
  255. package/components/flows/flowStore.js +1 -0
  256. package/components/flows/map/FlowBranchAllMap.svelte +1 -1
  257. package/components/flows/map/FlowBranchOneMap.svelte +2 -2
  258. package/components/flows/map/FlowModuleSchemaItem.svelte +5 -5
  259. package/components/flows/map/FlowModuleSchemaMap.svelte +15 -8
  260. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
  261. package/components/flows/map/InsertModuleButton.svelte +24 -10
  262. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
  263. package/components/flows/map/MapItem.svelte +3 -1
  264. package/components/flows/utils.js +16 -10
  265. package/components/graph/FlowGraph.svelte +38 -15
  266. package/components/graph/FlowGraph.svelte.d.ts +1 -0
  267. package/components/icons/SquareIcon.svelte +9 -0
  268. package/components/icons/SquareIcon.svelte.d.ts +17 -0
  269. package/components/icons/index.d.ts +2 -0
  270. package/components/icons/index.js +2 -0
  271. package/components/jobs/JobDetail.svelte +29 -5
  272. package/components/propertyPicker/ObjectViewer.svelte +8 -5
  273. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  274. package/components/propertyPicker/PropPicker.svelte +8 -1
  275. package/components/propertyPicker/PropPickerResult.svelte +1 -1
  276. package/components/random_positive_adjetive.d.ts +1 -0
  277. package/components/random_positive_adjetive.js +961 -0
  278. package/components/scriptEditor/LogPanel.svelte +2 -1
  279. package/components/sidebar/SidebarContent.svelte +1 -1
  280. package/components/sidebar/UserMenu.svelte +46 -16
  281. package/components/sidebar/UserMenu.svelte.d.ts +0 -3
  282. package/components/sidebar/WorkspaceMenu.svelte +3 -1
  283. package/components/sidebar/settings.d.ts +2 -0
  284. package/components/sidebar/settings.js +2 -0
  285. package/gen/core/OpenAPI.js +1 -1
  286. package/gen/models/CompletedJob.d.ts +1 -0
  287. package/gen/models/FlowModule.d.ts +0 -1
  288. package/gen/models/QueuedJob.d.ts +1 -0
  289. package/gen/models/WorkerPing.d.ts +1 -1
  290. package/gen/services/FlowService.d.ts +9 -0
  291. package/gen/services/FlowService.js +15 -0
  292. package/gen/services/JobService.d.ts +97 -15
  293. package/gen/services/JobService.js +74 -15
  294. package/gen/services/ScriptService.d.ts +10 -1
  295. package/gen/services/ScriptService.js +16 -1
  296. package/gen/services/VariableService.d.ts +4 -2
  297. package/gen/services/VariableService.js +8 -2
  298. package/gen/services/WorkspaceService.d.ts +17 -0
  299. package/gen/services/WorkspaceService.js +16 -0
  300. package/infer.js +3 -0
  301. package/init_scripts/python_failure_module.py +10 -0
  302. package/init_scripts/python_init_code.py +37 -0
  303. package/init_scripts/python_init_code_clear.py +5 -0
  304. package/init_scripts/python_init_code_trigger.py +14 -0
  305. package/logout.js +2 -1
  306. package/package.json +577 -522
  307. package/script_helpers.d.ts +6 -5
  308. package/script_helpers.js +7 -73
  309. package/stores.d.ts +5 -1
  310. package/stores.js +8 -1
  311. package/user.d.ts +1 -1
  312. package/user.js +14 -8
  313. package/utils.d.ts +1 -1
  314. package/utils.js +8 -7
  315. package/components/apps/components/DisplayComponent.svelte +0 -16
  316. package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
  317. package/components/apps/components/dataDisplay/AppHtml.svelte +0 -35
  318. package/components/apps/components/dataDisplay/VegaLiteHtml.svelte +0 -28
  319. package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
  320. package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
  321. package/components/apps/editor/ComponentEditor.svelte +0 -138
  322. package/components/apps/editor/ComponentEditor.svelte.d.ts +0 -23
  323. package/components/apps/editor/componentsPanel/data.d.ts +0 -3
  324. package/components/apps/editor/componentsPanel/data.js +0 -465
  325. package/components/apps/editorUtils.d.ts +0 -1
  326. package/components/apps/editorUtils.js +0 -253
  327. /package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +0 -0
  328. /package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +0 -0
  329. /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
  330. /package/components/apps/components/{table → display/table}/tableOptions.js +0 -0
  331. /package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +0 -0
  332. /package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +0 -0
  333. /package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +0 -0
  334. /package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +0 -0
  335. /package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +0 -0
@@ -85,7 +85,7 @@ async function updatePath() {
85
85
  <input
86
86
  type="text"
87
87
  bind:value={summary}
88
- placeholder="A short summary displayed when it is listed"
88
+ placeholder="Short summary to be displayed when listed"
89
89
  disabled={!own}
90
90
  />
91
91
 
@@ -4,8 +4,8 @@
4
4
  export default class Multiselect extends SvelteComponentTyped<{
5
5
  value?: any[] | undefined;
6
6
  id?: string | undefined;
7
- readonly?: boolean | undefined;
8
7
  placeholder?: string | undefined;
8
+ readonly?: boolean | undefined;
9
9
  }, {
10
10
  [evt: string]: CustomEvent<any>;
11
11
  }, {
@@ -20,8 +20,8 @@ declare const __propDef: {
20
20
  props: {
21
21
  value?: any[] | undefined;
22
22
  id?: string | undefined;
23
- readonly?: boolean | undefined;
24
23
  placeholder?: string | undefined;
24
+ readonly?: boolean | undefined;
25
25
  };
26
26
  events: {
27
27
  [evt: string]: CustomEvent<any>;
@@ -24,7 +24,12 @@ async function loadSchema(format) {
24
24
  }
25
25
  }
26
26
  function resourceToValue() {
27
- value = `$res:${path}`;
27
+ if (path) {
28
+ value = `$res:${path}`;
29
+ }
30
+ else {
31
+ value = undefined;
32
+ }
28
33
  }
29
34
  function isResource() {
30
35
  return isString(value) && value.length >= '$res:'.length;
@@ -11,6 +11,7 @@ import { Icon } from 'svelte-awesome';
11
11
  import Tooltip from './Tooltip.svelte';
12
12
  import FolderEditor from './FolderEditor.svelte';
13
13
  import GroupEditor from './GroupEditor.svelte';
14
+ import { random_adj } from './random_positive_adjetive';
14
15
  let meta = undefined;
15
16
  export let namePlaceholder = '';
16
17
  export let initialPath;
@@ -45,13 +46,21 @@ function handleKeyUp(event) {
45
46
  }
46
47
  export async function reset() {
47
48
  if (path == '' || path == 'u//') {
48
- meta = { ownerKind: 'user', name: namePlaceholder, owner: '' };
49
+ meta = {
50
+ ownerKind: 'user',
51
+ name: random_adj() + '_' + namePlaceholder,
52
+ owner: ''
53
+ };
49
54
  meta.owner = $userStore.username.split('@')[0];
50
- let i = 1;
51
- while (await pathExists(metaToPath(meta), kind)) {
52
- meta.name = `${namePlaceholder}_${i}`;
53
- i += 1;
55
+ let newMeta = { ...meta };
56
+ while (await pathExists(metaToPath(newMeta), kind)) {
57
+ disabled = true;
58
+ error = 'finding an available name...';
59
+ newMeta.name = random_adj() + '_' + namePlaceholder;
54
60
  }
61
+ error = '';
62
+ disabled = false;
63
+ meta = newMeta;
55
64
  path = metaToPath(meta);
56
65
  }
57
66
  else {
@@ -2,6 +2,7 @@
2
2
  export let placement = 'auto';
3
3
  export let notClickable = false;
4
4
  export let popupClass = '';
5
+ export let disablePopup = false;
5
6
  export let disapperTimoout = 100;
6
7
  const [popperRef, popperContent] = createPopperActions({ placement });
7
8
  const betterPreventOverflow = (options) => ({
@@ -15,7 +16,12 @@ const betterPreventOverflow = (options) => ({
15
16
  const extraOpts = {
16
17
  modifiers: [
17
18
  betterPreventOverflow({ padding: 10 }),
18
- { name: 'offset', options: { offset: [8, 8] } },
19
+ {
20
+ name: 'offset',
21
+ options: {
22
+ offset: [8, 8]
23
+ }
24
+ },
19
25
  {
20
26
  name: 'arrow',
21
27
  options: {
@@ -55,7 +61,7 @@ function close() {
55
61
  <slot />
56
62
  </button>
57
63
  {/if}
58
- {#if showTooltip}
64
+ {#if showTooltip && !disablePopup}
59
65
  <div
60
66
  use:popperContent={extraOpts}
61
67
  on:mouseenter={open}
@@ -6,6 +6,7 @@ declare const __propDef: {
6
6
  placement?: PopoverPlacement | undefined;
7
7
  notClickable?: boolean | undefined;
8
8
  popupClass?: string | undefined;
9
+ disablePopup?: boolean | undefined;
9
10
  disapperTimoout?: number | undefined;
10
11
  };
11
12
  events: {
@@ -4,8 +4,8 @@
4
4
  export default class Range extends SvelteComponentTyped<{
5
5
  value?: number | undefined;
6
6
  id?: null | undefined;
7
- min?: number | undefined;
8
7
  max?: number | undefined;
8
+ min?: number | undefined;
9
9
  initialValue?: number | undefined;
10
10
  }, {
11
11
  pointerdown: PointerEvent;
@@ -22,8 +22,8 @@ declare const __propDef: {
22
22
  props: {
23
23
  value?: number | undefined;
24
24
  id?: null | undefined;
25
- min?: number | undefined;
26
25
  max?: number | undefined;
26
+ min?: number | undefined;
27
27
  initialValue?: number | undefined;
28
28
  };
29
29
  events: {
@@ -10,6 +10,7 @@ import autosize from 'svelte-autosize';
10
10
  import SimpleEditor from './SimpleEditor.svelte';
11
11
  import { faSave } from '@fortawesome/free-solid-svg-icons';
12
12
  import SchemaForm from './SchemaForm.svelte';
13
+ import Toggle from './Toggle.svelte';
13
14
  let path = '';
14
15
  let initialPath = '';
15
16
  let resourceToEdit;
@@ -29,6 +30,7 @@ export async function initEdit(p) {
29
30
  path = p;
30
31
  resourceToEdit = undefined;
31
32
  resourceSchema = undefined;
33
+ viewJsonSchema = false;
32
34
  loadingSchema = true;
33
35
  drawer.openDrawer?.();
34
36
  resourceToEdit = await ResourceService.getResource({ workspace: $workspaceStore, path: p });
@@ -98,6 +100,16 @@ function updateArgsFromLinkedVars() {
98
100
  args[k] = `$var:${path}`;
99
101
  });
100
102
  }
103
+ let viewJsonSchema = false;
104
+ function switchTab(asJson) {
105
+ viewJsonSchema = asJson;
106
+ if (asJson) {
107
+ rawCode = JSON.stringify(args, null, 2);
108
+ }
109
+ else {
110
+ parseJson();
111
+ }
112
+ }
101
113
  </script>
102
114
 
103
115
  <Drawer bind:this={drawer} size="800px">
@@ -119,25 +131,25 @@ function updateArgsFromLinkedVars() {
119
131
  disabled={!can_write}
120
132
  bind:path
121
133
  {initialPath}
122
- namePlaceholder="my_resource"
134
+ namePlaceholder="resource"
123
135
  kind="resource"
124
136
  />
125
137
  </div>
126
- <h3>Description <Required required={false} /> </h3>
127
- <textarea
128
- type="text"
129
- disabled={!can_write}
130
- use:autosize
131
- bind:value={description}
132
- placeholder={DESCRIPTION_PLACEHOLDER}
133
- />
134
-
135
- <h3 class="mt-4">Value</h3>
138
+ <div class="flex w-full justify-between max-w-lg items-center mt-4">
139
+ <h3>Value</h3>
140
+ <Toggle
141
+ on:change={(e) => switchTab(e.detail)}
142
+ options={{
143
+ right: 'As JSON'
144
+ }}
145
+ />
146
+ </div>
136
147
  <div class="text-sm">
137
148
  {#if loadingSchema}
138
149
  <Skeleton layout={[[4]]} />
139
- {:else if resourceSchema && resourceSchema?.properties}
150
+ {:else if !viewJsonSchema && resourceSchema && resourceSchema?.properties}
140
151
  <SchemaForm
152
+ noDelete
141
153
  disabled={!can_write}
142
154
  compact
143
155
  schema={resourceSchema}
@@ -147,10 +159,13 @@ function updateArgsFromLinkedVars() {
147
159
  {:else if !can_write}
148
160
  <input type="text" disabled value={rawCode} />
149
161
  {:else}
150
- <p class="italic text-gray-500 text-xs mb-4"
151
- >No corresponding resource type found in your workspace for {selectedResourceType}.
152
- Define the value in JSON directly</p
153
- >
162
+ {#if !viewJsonSchema}
163
+ <p class="italic text-gray-500 text-xs mb-4"
164
+ >No corresponding resource type found in your workspace for {selectedResourceType}.
165
+ Define the value in JSON directly</p
166
+ >
167
+ {/if}
168
+
154
169
  {#if !emptyString(jsonError)}<span
155
170
  class="text-red-400 text-xs mb-1 flex flex-row-reverse">{jsonError}</span
156
171
  >{:else}<div class="py-2" />{/if}
@@ -165,6 +180,14 @@ function updateArgsFromLinkedVars() {
165
180
  </div>
166
181
  {/if}
167
182
  </div>
183
+ <h3 class="mt-4">Description <Required required={false} /> </h3>
184
+ <textarea
185
+ type="text"
186
+ disabled={!can_write}
187
+ use:autosize
188
+ bind:value={description}
189
+ placeholder={DESCRIPTION_PLACEHOLDER}
190
+ />
168
191
  </div>
169
192
  </div>
170
193
  <svelte:fragment slot="actions">
@@ -7,7 +7,6 @@ import { Button } from './common';
7
7
  import Select from 'svelte-select';
8
8
  import AppConnect from './AppConnect.svelte';
9
9
  import ResourceEditor from './ResourceEditor.svelte';
10
- import { truncate } from '../utils';
11
10
  const dispatch = createEventDispatcher();
12
11
  let resources = [];
13
12
  export let initialValue = undefined;
@@ -8,6 +8,8 @@ import SharedBadge from './SharedBadge.svelte';
8
8
  import Toggle from './Toggle.svelte';
9
9
  import { userStore } from '../stores';
10
10
  import Tooltip from './Tooltip.svelte';
11
+ import CliHelpBox from './CliHelpBox.svelte';
12
+ import InlineCodeCopy from './InlineCodeCopy.svelte';
11
13
  export let runnable;
12
14
  export let runAction;
13
15
  export let buttonText = 'Run';
@@ -17,15 +19,19 @@ export let autofocus = false;
17
19
  export let topButton = false;
18
20
  export let loading = false;
19
21
  export let noVariablePicker = false;
22
+ export let viewCliRun = false;
20
23
  export let args = decodeArgs($page.url.searchParams.get('args') ?? undefined);
21
24
  export function run() {
22
25
  runAction(scheduledForStr, args, invisible_to_owner);
23
26
  }
24
27
  export let isValid = true;
25
- // Run later
26
28
  let viewOptions = false;
29
+ let viewCliOptions = false;
27
30
  let scheduledForStr;
28
31
  let invisible_to_owner;
32
+ $: cliCommand = `wmill ${runnable?.kind} run ${runnable?.path} ${Object.entries(args)
33
+ .map(([k, v]) => `-i ${k}=${JSON.stringify(v)}`)
34
+ .join(' ')}`;
29
35
  </script>
30
36
 
31
37
  <div class="max-w-6xl">
@@ -138,7 +144,7 @@ let invisible_to_owner;
138
144
  <div class="flex items-center gap-1">
139
145
  <Toggle
140
146
  options={{
141
- right: `run only visible to you`
147
+ right: `make run invisible to others`
142
148
  }}
143
149
  bind:checked={invisible_to_owner}
144
150
  />
@@ -167,4 +173,22 @@ let invisible_to_owner;
167
173
  {buttonText}
168
174
  </Button>
169
175
  {/if}
176
+
177
+ {#if viewCliRun}
178
+ <div class="my-10" />
179
+ <Button
180
+ color="light"
181
+ size="sm"
182
+ endIcon={{ icon: viewCliOptions ? faChevronUp : faChevronDown }}
183
+ on:click={() => (viewCliOptions = !viewCliOptions)}
184
+ >
185
+ Run it from the CLI
186
+ </Button>
187
+ {#if viewCliOptions}
188
+ <div transition:slide class="mt-2 px-4 pt-2">
189
+ <InlineCodeCopy content={cliCommand} />
190
+ <CliHelpBox />
191
+ </div>
192
+ {/if}
193
+ {/if}
170
194
  </div>
@@ -23,6 +23,7 @@ declare const __propDef: {
23
23
  topButton?: boolean | undefined;
24
24
  loading?: boolean | undefined;
25
25
  noVariablePicker?: boolean | undefined;
26
+ viewCliRun?: boolean | undefined;
26
27
  args?: Record<string, any> | undefined;
27
28
  run?: (() => void) | undefined;
28
29
  isValid?: boolean | undefined;
@@ -165,7 +165,7 @@ let drawer;
165
165
  bind:error={pathError}
166
166
  bind:path
167
167
  {initialPath}
168
- namePlaceholder={'my_schedule'}
168
+ namePlaceholder="schedule"
169
169
  kind="schedule"
170
170
  />
171
171
  <div class="mb-8" />
@@ -166,8 +166,8 @@ let error = '';
166
166
  />
167
167
  <div class="ml-2">
168
168
  <Tooltip>
169
- Arguments can be edited either using the wizard, or by editing their json-schema
170
- <a href="https://docs.windmill.dev/docs/reference/script_arguments_reference">docs</a>
169
+ Arguments can be edited either using the wizard, or by editing their JSON Schema,
170
+ <a href="https://docs.windmill.dev/docs/reference/#script-parameters-to-json-schema">see docs</a>
171
171
  </Tooltip>
172
172
  </div>
173
173
  </div>
@@ -25,6 +25,7 @@ export let noVariablePicker = false;
25
25
  export let filter = undefined;
26
26
  export let noDynamicToggle = false;
27
27
  export let flexWrap = false;
28
+ export let noDelete = false;
28
29
  let clazz = '';
29
30
  export { clazz as class };
30
31
  let inputCheck = {};
@@ -34,21 +35,30 @@ $: if (args == undefined || typeof args !== 'object') {
34
35
  }
35
36
  function removeExtraKey() {
36
37
  Object.keys(args ?? {}).forEach((key) => {
37
- if (!Object.keys(schema?.properties ?? {}).includes(key)) {
38
+ if (!keys.includes(key)) {
38
39
  delete args[key];
39
40
  delete inputCheck[key];
40
41
  }
41
42
  });
42
43
  }
43
- $: schema?.properties && removeExtraKey();
44
44
  let pickForField;
45
45
  let itemPicker = undefined;
46
46
  let variableEditor = undefined;
47
+ let keys = [];
48
+ $: {
49
+ let lkeys = Object.keys(schema?.properties ?? {});
50
+ if (schema?.properties && JSON.stringify(lkeys) != JSON.stringify(keys)) {
51
+ keys = lkeys;
52
+ if (!noDelete) {
53
+ removeExtraKey();
54
+ }
55
+ }
56
+ }
47
57
  </script>
48
58
 
49
59
  <div class="w-full {clazz} {flexWrap ? 'flex flex-row flex-wrap gap-x-6 gap-y-2' : ''}">
50
- {#if Object.keys(schema?.properties ?? {}).length > 0}
51
- {#each Object.keys(schema?.properties ?? {}) as argName, i (argName)}
60
+ {#if keys.length > 0}
61
+ {#each keys as argName, i (argName)}
52
62
  {#if !filter || filter.includes(argName)}
53
63
  <div transition:slide|local>
54
64
  {#if inputTransform}
@@ -19,6 +19,7 @@ declare const __propDef: {
19
19
  filter?: string[] | undefined;
20
20
  noDynamicToggle?: boolean | undefined;
21
21
  flexWrap?: boolean | undefined;
22
+ noDelete?: boolean | undefined;
22
23
  class?: string | undefined;
23
24
  };
24
25
  events: {
@@ -12,15 +12,15 @@ import ScriptSchema from './ScriptSchema.svelte';
12
12
  import CenteredPage from './CenteredPage.svelte';
13
13
  import UnsavedConfirmationModal from './common/confirmationModal/UnsavedConfirmationModal.svelte';
14
14
  import { dirtyStore } from './common/confirmationModal/dirtyStore';
15
- import { Button } from './common';
15
+ import { Button, Kbd } from './common';
16
16
  import { faChevronDown, faChevronUp, faPen, faSave } from '@fortawesome/free-solid-svg-icons';
17
17
  import Breadcrumb from './common/breadcrumb/Breadcrumb.svelte';
18
- import Toggle from './Toggle.svelte';
19
18
  import LanguageIcon from './common/languageIcons/LanguageIcon.svelte';
20
19
  export let script;
21
20
  export let initialPath = '';
22
21
  export let template = 'script';
23
22
  export let initialArgs = {};
23
+ export let lockedLanguage = false;
24
24
  const langs = [
25
25
  ['Typescript', Script.language.DENO],
26
26
  ['Python', Script.language.PYTHON3],
@@ -44,9 +44,12 @@ async function editScript() {
44
44
  $dirtyStore = false;
45
45
  localStorage.removeItem(script.path);
46
46
  script.schema = script.schema ?? emptySchema();
47
- if (!script.schema) {
47
+ try {
48
48
  await inferArgs(script.language, script.content, script.schema);
49
49
  }
50
+ catch (error) {
51
+ sendUserToast(`Impossible to infer the schema. Assuming this is a script without main function`, true);
52
+ }
50
53
  const newHash = await ScriptService.createScript({
51
54
  workspace: $workspaceStore,
52
55
  requestBody: {
@@ -61,8 +64,9 @@ async function editScript() {
61
64
  kind: script.kind
62
65
  }
63
66
  });
64
- sendUserToast(`Success! New script version created with hash ${newHash}`);
65
- goto(`/scripts/get/${newHash}`);
67
+ sendUserToast(`New script created at hash ${newHash}`);
68
+ history.replaceState(history.state, '', `/scripts/edit/${newHash}?step=2`);
69
+ goto(`/scripts/get/${newHash}?workspace_id=${$workspaceStore}`);
66
70
  }
67
71
  catch (error) {
68
72
  sendUserToast(`Impossible to save the script: ${error.body}`, true);
@@ -71,13 +75,25 @@ async function editScript() {
71
75
  async function changeStep(step) {
72
76
  if (step > 1) {
73
77
  script.schema = script.schema ?? emptySchema();
74
- await inferArgs(script.language, script.content, script.schema);
78
+ try {
79
+ await inferArgs(script.language, script.content, script.schema);
80
+ }
81
+ catch (error) {
82
+ console.info('Impossible to infer the schema. Assuming this is a script without main function');
83
+ }
75
84
  }
76
85
  goto(`?step=${step}`);
77
86
  }
78
87
  $: kind = script.kind;
88
+ function onKeyDown(event) {
89
+ if (event.key == 'Enter' && step == 1) {
90
+ changeStep(2);
91
+ }
92
+ }
79
93
  </script>
80
94
 
95
+ <svelte:window on:keydown={onKeyDown} />
96
+
81
97
  {#if !$userStore?.operator}
82
98
  <UnsavedConfirmationModal />
83
99
  <div class="flex flex-col h-screen">
@@ -139,11 +155,11 @@ $: kind = script.kind;
139
155
  <Button
140
156
  size="sm"
141
157
  variant={step == 1 ? 'contained' : 'border'}
142
- btnClasses={step == 3 ? 'invisible' : ''}
158
+ btnClasses={step == 3 ? 'invisible' : 'inline-flex gap-2'}
143
159
  disabled={step === 1 && pathError !== ''}
144
160
  on:click={() => changeStep(step + 1)}
145
161
  >
146
- Next
162
+ Next {#if step == 1}<Kbd>Enter</Kbd>{/if}
147
163
  </Button>
148
164
  <Button
149
165
  size="sm"
@@ -160,24 +176,30 @@ $: kind = script.kind;
160
176
  <!-- metadata -->
161
177
  {#if step === 1}
162
178
  <CenteredPage>
163
- <h2 class="border-b pb-1 mt-4 mb-2">Path</h2>
179
+ <h2 class="border-b pb-1 mt-8 mb-2">Path</h2>
164
180
  <Path
165
181
  bind:this={pathC}
166
182
  bind:error={pathError}
167
183
  bind:path={script.path}
168
184
  {initialPath}
169
185
  on:enter={() => changeStep(2)}
170
- namePlaceholder="my_script"
186
+ namePlaceholder="script"
171
187
  kind="script"
172
188
  />
173
- <h2 class="border-b pb-1 mt-8 mb-4">Summary</h2>
189
+ <h2 class="border-b pb-1 mt-12 mb-4">Summary</h2>
174
190
  <input
175
191
  type="text"
176
192
  bind:this={summaryC}
177
193
  bind:value={script.summary}
178
- placeholder="A short summary of the script displayed when the script is listed"
194
+ placeholder="Short summary to be displayed when listed"
179
195
  />
180
- <h2 class="border-b pb-1 mt-8 mb-6">Language</h2>
196
+
197
+ <h2 class="border-b pb-1 mt-12 mb-6">Language</h2>
198
+ {#if lockedLanguage}
199
+ <div class="text-sm text-gray-600 italic mb-2">
200
+ As a forked script, the language '{script.language}' cannot be modified.
201
+ </div>
202
+ {/if}
181
203
  <div class="flex flex-row gap-2 flex-wrap">
182
204
  {#each langs as [label, lang]}
183
205
  {@const isPicked = script.language == lang && template == 'script'}
@@ -191,8 +213,9 @@ $: kind = script.kind;
191
213
  template = 'script'
192
214
  initContent(lang, script.kind, template)
193
215
  }}
216
+ disabled={lockedLanguage}
194
217
  >
195
- <LanguageIcon {lang} /><span class="ml-2">{label}</span>
218
+ <LanguageIcon {lang} /><span class="ml-2 py-4">{label}</span>
196
219
  </Button>
197
220
  {/each}
198
221
  <Button
@@ -200,15 +223,16 @@ $: kind = script.kind;
200
223
  variant="border"
201
224
  color={template == 'pgsql' ? 'blue' : 'dark'}
202
225
  btnClasses={template == 'pgsql' ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
226
+ disabled={lockedLanguage}
203
227
  on:click={() => {
204
228
  script.language = Script.language.DENO
205
229
  template = 'pgsql'
206
230
  initContent(script.language, script.kind, template)
207
231
  }}
208
232
  >
209
- <LanguageIcon lang="pgsql" /><span class="ml-2">PostgreSQL</span>
233
+ <LanguageIcon lang="pgsql" /><span class="ml-2 py-4">PostgreSQL</span>
210
234
  </Button>
211
- <Button
235
+ <!-- <Button
212
236
  size="sm"
213
237
  variant="border"
214
238
  color={template == 'mysql' ? 'blue' : 'dark'}
@@ -219,11 +243,10 @@ $: kind = script.kind;
219
243
  initContent(script.language, script.kind, template)
220
244
  }}
221
245
  >
222
- <LanguageIcon lang="mysql" /><span class="ml-2">MySQL</span>
223
- </Button>
246
+ <LanguageIcon lang="mysql" /><span class="ml-2 py-4">MySQL</span>
247
+ </Button> -->
224
248
  </div>
225
- <h2 class="border-b pb-1 mt-8 mb-4">Advanced</h2>
226
- <div class="mb-4">
249
+ <div class="mt-16 mb-4">
227
250
  <Button
228
251
  color="light"
229
252
  size="sm"
@@ -273,12 +296,12 @@ $: kind = script.kind;
273
296
  />
274
297
  </div>
275
298
  {/if}
276
- <div class="ml-3">
299
+ <!-- <div class="ml-3">
277
300
  <Toggle
278
301
  bind:checked={script.is_template}
279
302
  options={{ right: 'Save as a workspace template' }}
280
303
  />
281
- </div>
304
+ </div> -->
282
305
  </CenteredPage>
283
306
  {:else if step === 2}
284
307
  <ScriptEditor
@@ -6,6 +6,7 @@ declare const __propDef: {
6
6
  initialPath?: string | undefined;
7
7
  template?: "script" | "pgsql" | "mysql" | undefined;
8
8
  initialArgs?: Record<string, any> | undefined;
9
+ lockedLanguage?: boolean | undefined;
9
10
  };
10
11
  events: {
11
12
  [evt: string]: CustomEvent<any>;
@@ -83,6 +83,7 @@ async function inferSchema(code) {
83
83
  }
84
84
  onMount(() => {
85
85
  inferSchema(code);
86
+ loadPastTests();
86
87
  });
87
88
  </script>
88
89
 
@@ -1,6 +1,7 @@
1
1
  <script>import { userStore } from '../stores';
2
2
  import { Users } from 'lucide-svelte';
3
3
  import Badge from './common/badge/Badge.svelte';
4
+ import Popover from './Popover.svelte';
4
5
  import Tooltip from './Tooltip.svelte';
5
6
  export let extraPerms = {};
6
7
  export let canWrite;
@@ -49,10 +50,9 @@ $: {
49
50
 
50
51
  {#if kind === 'read' || kind === 'write'}
51
52
  <Badge capitalize color="blue" baseClass="border border-blue-200 flex gap-1 items-center">
52
- <Users size={12} />
53
- {kind}
54
- {#if reason}
55
- <Tooltip><span class="normal-case">{reason}</span></Tooltip>
56
- {/if}
53
+ <Popover notClickable>
54
+ <Users size={12} />
55
+ <span slot="text">{kind == 'read' ? 'Shared & read-only' : 'Read & Write'} {reason}</span>
56
+ </Popover>
57
57
  </Badge>
58
58
  {/if}
@@ -0,0 +1,14 @@
1
+ <script>import { ChevronDown, ChevronUp } from 'lucide-svelte';
2
+ import { slide } from 'svelte/transition';
3
+ import Button from './common/button/Button.svelte';
4
+ export let text;
5
+ export let view = false;
6
+ </script>
7
+
8
+ <Button color="light" on:click={() => (view = !view)} variant="border"
9
+ >{text}
10
+ {#if !view}<ChevronDown />{:else}<ChevronUp />{/if}</Button
11
+ >
12
+ {#if view}
13
+ <div class="my-4 px-2" transition:slide><slot /></div>
14
+ {/if}
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ text: string;
5
+ view?: boolean | undefined;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: {};
12
+ };
13
+ };
14
+ export type SliderProps = typeof __propDef.props;
15
+ export type SliderEvents = typeof __propDef.events;
16
+ export type SliderSlots = typeof __propDef.slots;
17
+ export default class Slider extends SvelteComponentTyped<SliderProps, SliderEvents, SliderSlots> {
18
+ }
19
+ export {};
@@ -61,7 +61,6 @@ function computeKind() {
61
61
  ['None', 'none'],
62
62
  ['File (base64)', 'base64'],
63
63
  ['Enum', 'enum'],
64
- ['Resource Path', 'resource'],
65
64
  ['Format', 'format'],
66
65
  ['Pattern', 'pattern']
67
66
  ]}