windmill-components 1.37.0 → 1.46.1

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 (401) hide show
  1. package/common.d.ts +1 -0
  2. package/components/AppConnect.svelte +45 -49
  3. package/components/ArgInfo.svelte +37 -15
  4. package/components/ArgInput.svelte +33 -34
  5. package/components/ArgInput.svelte.d.ts +3 -1
  6. package/components/ButtonAndDropdown.svelte +1 -1
  7. package/components/CenteredPage.svelte +2 -2
  8. package/components/CronInput.svelte +24 -20
  9. package/components/CronInput.svelte.d.ts +1 -0
  10. package/components/DisplayResult.svelte +2 -2
  11. package/components/Dropdown.svelte +10 -13
  12. package/components/Dropdown.svelte.d.ts +4 -1
  13. package/components/Editor.svelte +27 -3
  14. package/components/Editor.svelte.d.ts +3 -1
  15. package/components/EditorBar.svelte +77 -30
  16. package/components/EditorBar.svelte.d.ts +3 -1
  17. package/components/FieldHeader.svelte +6 -5
  18. package/components/FlowBuilder.svelte +52 -55
  19. package/components/FlowBuilder.svelte.d.ts +2 -0
  20. package/components/FlowJobResult.svelte +11 -18
  21. package/components/FlowJobResult.svelte.d.ts +2 -2
  22. package/components/FlowMetadata.svelte +65 -0
  23. package/components/FlowMetadata.svelte.d.ts +17 -0
  24. package/components/FlowModulesViewer.svelte +18 -4
  25. package/components/FlowPreviewContent.svelte +88 -50
  26. package/components/FlowPreviewContent.svelte.d.ts +1 -0
  27. package/components/FlowStatusViewer.svelte +123 -61
  28. package/components/FlowStatusViewer.svelte.d.ts +8 -3
  29. package/components/FlowViewer.svelte +84 -9
  30. package/components/FlowViewer.svelte.d.ts +1 -0
  31. package/components/GroupModal.svelte +43 -44
  32. package/components/GroupModal.svelte.d.ts +2 -2
  33. package/components/HighlightCode.svelte +4 -1
  34. package/components/HighlightCode.svelte.d.ts +1 -1
  35. package/components/IconedResourceType.svelte +6 -4
  36. package/components/IconedResourceType.svelte.d.ts +1 -0
  37. package/components/InputTransformForm.svelte +38 -27
  38. package/components/InputTransformsViewer.svelte +2 -1
  39. package/components/InviteGlobalUser.svelte +6 -10
  40. package/components/InviteGlobalUser.svelte.d.ts +1 -4
  41. package/components/InviteUser.svelte +4 -8
  42. package/components/InviteUser.svelte.d.ts +1 -4
  43. package/components/ItemPicker.svelte +50 -43
  44. package/components/ItemPicker.svelte.d.ts +2 -2
  45. package/components/JobArgs.svelte +33 -0
  46. package/components/JobArgs.svelte.d.ts +16 -0
  47. package/components/JobStatus.svelte +21 -17
  48. package/components/LogViewer.svelte +11 -6
  49. package/components/Modal.svelte +5 -5
  50. package/components/Modal.svelte.d.ts +4 -4
  51. package/components/ModulePreview.svelte +47 -63
  52. package/components/ModulePreview.svelte.d.ts +0 -1
  53. package/components/PageHeader.svelte +6 -6
  54. package/components/Password.svelte +1 -1
  55. package/components/Path.svelte +28 -7
  56. package/components/Path.svelte.d.ts +3 -3
  57. package/components/Popover.svelte +61 -0
  58. package/components/Popover.svelte.d.ts +17 -0
  59. package/components/Required.svelte +4 -4
  60. package/components/Required.svelte.d.ts +1 -0
  61. package/components/ResourceEditor.svelte +105 -116
  62. package/components/ResourceEditor.svelte.d.ts +0 -1
  63. package/components/ResourcePicker.svelte +9 -6
  64. package/components/ResourceTypePicker.svelte +3 -1
  65. package/components/RunChart.svelte +102 -0
  66. package/components/RunChart.svelte.d.ts +20 -0
  67. package/components/RunForm.svelte +58 -40
  68. package/components/RunForm.svelte.d.ts +13 -0
  69. package/components/SchemaEditor.svelte +5 -5
  70. package/components/SchemaEditorProperty.svelte +1 -1
  71. package/components/SchemaForm.svelte +3 -1
  72. package/components/SchemaForm.svelte.d.ts +1 -0
  73. package/components/SchemaModal.svelte +113 -105
  74. package/components/SchemaModal.svelte.d.ts +4 -4
  75. package/components/SchemaViewer.svelte +7 -4
  76. package/components/ScriptBuilder.svelte +143 -163
  77. package/components/ScriptBuilder.svelte.d.ts +1 -0
  78. package/components/ScriptEditor.svelte +117 -114
  79. package/components/ScriptEditor.svelte.d.ts +1 -0
  80. package/components/ScriptPicker.svelte +16 -24
  81. package/components/ScriptSchema.svelte +33 -32
  82. package/components/ShareModal.svelte +74 -68
  83. package/components/ShareModal.svelte.d.ts +2 -2
  84. package/components/SimpleEditor.svelte +4 -2
  85. package/components/SuperadminSettings.svelte +134 -0
  86. package/components/SuperadminSettings.svelte.d.ts +19 -0
  87. package/components/TableCustom.svelte +1 -1
  88. package/components/TableSimple.svelte +1 -1
  89. package/components/TestJobLoader.svelte +14 -6
  90. package/components/TestJobLoader.svelte.d.ts +4 -2
  91. package/components/Toggle.svelte +5 -3
  92. package/components/Toggle.svelte.d.ts +2 -0
  93. package/components/Tooltip.svelte +9 -64
  94. package/components/UserSettings.svelte +241 -0
  95. package/components/UserSettings.svelte.d.ts +19 -0
  96. package/components/VariableEditor.svelte +80 -74
  97. package/components/common/actionRow/ActionRow.svelte +5 -4
  98. package/components/common/alert/Alert.svelte +1 -1
  99. package/components/common/alert/Alert.svelte.d.ts +1 -0
  100. package/components/common/badge/Badge.svelte +2 -2
  101. package/components/common/breadcrumb/Breadcrumb.svelte +24 -0
  102. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +22 -0
  103. package/components/common/button/Button.svelte +20 -8
  104. package/components/common/button/Button.svelte.d.ts +1 -0
  105. package/components/common/button/model.d.ts +1 -1
  106. package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
  107. package/components/common/drawer/Drawer.svelte +38 -7
  108. package/components/common/drawer/Drawer.svelte.d.ts +6 -0
  109. package/components/common/drawer/DrawerContent.svelte +21 -7
  110. package/components/common/drawer/DrawerContent.svelte.d.ts +4 -0
  111. package/components/common/index.d.ts +1 -0
  112. package/components/common/index.js +1 -0
  113. package/components/common/kbd/Kbd.svelte +1 -1
  114. package/components/common/languageIcons/Bash.svelte +18 -0
  115. package/components/common/languageIcons/Bash.svelte.d.ts +27 -0
  116. package/components/common/languageIcons/Go.svelte +34 -0
  117. package/components/common/languageIcons/Go.svelte.d.ts +27 -0
  118. package/components/common/languageIcons/LanguageIcon.svelte +19 -0
  119. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +21 -0
  120. package/components/common/languageIcons/Python.svelte +51 -0
  121. package/components/common/languageIcons/Python.svelte.d.ts +27 -0
  122. package/components/common/languageIcons/TypeScript.svelte +31 -0
  123. package/components/common/languageIcons/TypeScript.svelte.d.ts +27 -0
  124. package/components/common/languageIcons/index.d.ts +5 -0
  125. package/components/common/languageIcons/index.js +5 -0
  126. package/components/common/menu/Menu.svelte +15 -19
  127. package/components/common/skeleton/Skeleton.svelte +1 -2
  128. package/components/common/skeleton/Skeleton.svelte.d.ts +0 -1
  129. package/components/common/skeleton/SkeletonElement.svelte +1 -1
  130. package/components/common/tabs/TabContent.svelte +2 -1
  131. package/components/common/tabs/TabContent.svelte.d.ts +1 -0
  132. package/components/common/tabs/Tabs.svelte +8 -6
  133. package/components/common/tabs/Tabs.svelte.d.ts +1 -0
  134. package/components/flows/FlowEditor.svelte +11 -20
  135. package/components/flows/FlowProgressBar.svelte +55 -0
  136. package/components/flows/FlowProgressBar.svelte.d.ts +21 -0
  137. package/components/flows/common/FlowCardHeader.svelte +5 -6
  138. package/components/flows/content/CapturePayload.svelte +112 -0
  139. package/components/flows/content/CapturePayload.svelte.d.ts +17 -0
  140. package/components/flows/content/DynamicInputHelpBox.svelte +6 -10
  141. package/components/flows/content/FlowBranchAllWrapper.svelte +21 -0
  142. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +21 -0
  143. package/components/flows/content/FlowBranchOneWrapper.svelte +49 -0
  144. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +23 -0
  145. package/components/flows/content/FlowBranchesWrapper.svelte +140 -0
  146. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +19 -0
  147. package/components/flows/content/FlowEditorPanel.svelte +8 -6
  148. package/components/flows/content/FlowFailureModule.svelte +4 -6
  149. package/components/flows/content/FlowInput.svelte +31 -5
  150. package/components/flows/content/FlowInputs.svelte +119 -50
  151. package/components/flows/content/FlowInputs.svelte.d.ts +5 -4
  152. package/components/flows/content/FlowLoop.svelte +85 -142
  153. package/components/flows/content/FlowLoop.svelte.d.ts +2 -1
  154. package/components/flows/content/FlowModuleComponent.svelte +231 -0
  155. package/components/flows/content/FlowModuleComponent.svelte.d.ts +20 -0
  156. package/components/flows/content/FlowModuleEarlyStop.svelte +45 -48
  157. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +1 -0
  158. package/components/flows/content/FlowModuleHeader.svelte +11 -40
  159. package/components/flows/content/FlowModuleHeader.svelte.d.ts +0 -1
  160. package/components/flows/content/FlowModuleScript.svelte +7 -12
  161. package/components/flows/content/FlowModuleScript.svelte.d.ts +1 -2
  162. package/components/flows/content/FlowModuleSuspend.svelte +31 -15
  163. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +1 -0
  164. package/components/flows/content/FlowModuleWrapper.svelte +138 -38
  165. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +6 -1
  166. package/components/flows/content/FlowRetries.svelte +13 -2
  167. package/components/flows/content/FlowRetries.svelte.d.ts +1 -0
  168. package/components/flows/content/FlowSchedules.svelte +0 -2
  169. package/components/flows/content/FlowSettings.svelte +103 -72
  170. package/components/flows/flowState.d.ts +8 -8
  171. package/components/flows/flowState.js +32 -17
  172. package/components/flows/flowStateUtils.d.ts +21 -38
  173. package/components/flows/flowStateUtils.js +86 -158
  174. package/components/flows/flowStore.d.ts +3 -2
  175. package/components/flows/flowStore.js +60 -7
  176. package/components/flows/header/FlowImportExportMenu.svelte +12 -22
  177. package/components/flows/header/FlowPreviewButtons.svelte +11 -11
  178. package/components/flows/map/FlowBranchAllMap.svelte +90 -0
  179. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +17 -0
  180. package/components/flows/map/FlowBranchOneMap.svelte +116 -0
  181. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +17 -0
  182. package/components/flows/map/FlowErrorHandlerItem.svelte +14 -11
  183. package/components/flows/map/FlowInputsItem.svelte +19 -0
  184. package/components/flows/map/FlowInputsItem.svelte.d.ts +14 -0
  185. package/components/flows/map/FlowModuleSchemaItem.svelte +53 -36
  186. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  187. package/components/flows/map/FlowModuleSchemaMap.svelte +73 -144
  188. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -3
  189. package/components/flows/map/FlowSettingsItem.svelte +29 -0
  190. package/components/flows/map/FlowSettingsItem.svelte.d.ts +14 -0
  191. package/components/flows/map/InsertModuleButton.svelte +11 -0
  192. package/components/flows/map/InsertModuleButton.svelte.d.ts +16 -0
  193. package/components/flows/map/MapItem.svelte +105 -0
  194. package/components/flows/map/MapItem.svelte.d.ts +22 -0
  195. package/components/flows/pickers/FlowScriptPicker.svelte +14 -4
  196. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  197. package/components/flows/pickers/PickHubScript.svelte +5 -4
  198. package/components/flows/pickers/PickHubScript.svelte.d.ts +1 -0
  199. package/components/flows/pickers/PickScript.svelte +6 -5
  200. package/components/flows/pickers/PickScript.svelte.d.ts +1 -0
  201. package/components/flows/previousResults.d.ts +14 -0
  202. package/components/flows/previousResults.js +118 -0
  203. package/components/flows/propPicker/PropPickerWrapper.svelte +22 -15
  204. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +6 -2
  205. package/components/flows/utils.d.ts +8 -5
  206. package/components/flows/utils.js +86 -56
  207. package/components/graph/FlowGraph.svelte +259 -0
  208. package/components/graph/FlowGraph.svelte.d.ts +20 -0
  209. package/components/graph/index.d.ts +3 -0
  210. package/components/graph/index.js +3 -0
  211. package/components/graph/model.d.ts +20 -0
  212. package/components/graph/model.js +9 -0
  213. package/components/graph/util.d.ts +9 -0
  214. package/components/graph/util.js +14 -0
  215. package/components/icons/WindmillIcon.svelte +85 -52
  216. package/components/icons/WindmillIcon.svelte.d.ts +2 -0
  217. package/components/jobs/JobDetail.svelte +40 -30
  218. package/components/landing/FlowGettingStarted.svelte +4 -3
  219. package/components/landing/FlowLandingBox.svelte +23 -53
  220. package/components/landing/RessourceGettingStarted.svelte +1 -1
  221. package/components/landing/ScriptBox.svelte +25 -27
  222. package/components/landing/ScriptGettingStarted.svelte +4 -3
  223. package/components/preview/FlowPreviewStatus.svelte +1 -1
  224. package/components/progressBar/ProgressBar.svelte +89 -0
  225. package/components/{ProgressBar.svelte.d.ts → progressBar/ProgressBar.svelte.d.ts} +5 -2
  226. package/components/progressBar/ProgressBarGeneralPart.svelte +22 -0
  227. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +19 -0
  228. package/components/progressBar/ProgressBarLoopAccessor.svelte +14 -0
  229. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +19 -0
  230. package/components/progressBar/ProgressBarLoopPart.svelte +34 -0
  231. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +19 -0
  232. package/components/progressBar/index.d.ts +2 -0
  233. package/components/progressBar/index.js +2 -0
  234. package/components/progressBar/model.d.ts +32 -0
  235. package/components/progressBar/model.js +14 -0
  236. package/components/propertyPicker/ObjectViewer.svelte +18 -13
  237. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  238. package/components/propertyPicker/PropPicker.svelte +90 -44
  239. package/components/propertyPicker/PropPicker.svelte.d.ts +4 -1
  240. package/components/propertyPicker/PropPickerResult.svelte +12 -0
  241. package/components/propertyPicker/PropPickerResult.svelte.d.ts +18 -0
  242. package/components/propertyPicker/utils.d.ts +1 -1
  243. package/components/propertyPicker/utils.js +4 -1
  244. package/components/{script_editor → scriptEditor}/LogPanel.svelte +30 -20
  245. package/components/{script_editor → scriptEditor}/LogPanel.svelte.d.ts +0 -0
  246. package/components/scripts/CreateActions.svelte +2 -2
  247. package/components/sidebar/SidebarContent.svelte +1 -1
  248. package/components/sidebar/UserMenu.svelte +17 -1
  249. package/components/sidebar/UserMenu.svelte.d.ts +3 -0
  250. package/components/sidebar/WorkspaceMenu.svelte +16 -14
  251. package/components/splitPanes/SplitPanesWrapper.svelte +34 -0
  252. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +20 -0
  253. package/editorUtils.js +2 -0
  254. package/gen/core/OpenAPI.js +1 -1
  255. package/gen/index.d.ts +8 -1
  256. package/gen/index.js +5 -0
  257. package/gen/models/AppWithLastVersion.d.ts +21 -0
  258. package/gen/models/AppWithLastVersion.js +12 -0
  259. package/gen/models/BranchAll.d.ts +10 -0
  260. package/gen/models/{Branches.js → BranchAll.js} +0 -0
  261. package/gen/models/{Branches.d.ts → BranchOne.d.ts} +3 -5
  262. package/gen/models/BranchOne.js +4 -0
  263. package/gen/models/CompletedJob.d.ts +4 -2
  264. package/gen/models/CompletedJob.js +2 -0
  265. package/gen/models/FlowModule.d.ts +2 -1
  266. package/gen/models/FlowModuleValue.d.ts +4 -2
  267. package/gen/models/FlowStatusModule.d.ts +11 -2
  268. package/gen/models/ForloopFlow.d.ts +1 -0
  269. package/gen/models/Identity.d.ts +3 -0
  270. package/gen/models/Identity.js +4 -0
  271. package/gen/models/ListableApp.d.ts +16 -0
  272. package/gen/models/ListableApp.js +12 -0
  273. package/gen/models/ListableVariable.d.ts +1 -1
  274. package/gen/models/PathScript.d.ts +2 -0
  275. package/gen/models/Policy.d.ts +12 -0
  276. package/gen/models/Policy.js +12 -0
  277. package/gen/models/Preview.d.ts +2 -1
  278. package/gen/models/Preview.js +1 -0
  279. package/gen/models/QueuedJob.d.ts +4 -2
  280. package/gen/models/QueuedJob.js +2 -0
  281. package/gen/models/RawScript.d.ts +4 -1
  282. package/gen/models/RawScript.js +1 -0
  283. package/gen/models/Script.d.ts +4 -2
  284. package/gen/models/Script.js +2 -0
  285. package/gen/services/AppService.d.ts +31 -0
  286. package/gen/services/AppService.js +49 -0
  287. package/gen/services/CaptureService.d.ts +30 -0
  288. package/gen/services/CaptureService.js +52 -0
  289. package/gen/services/FlowService.d.ts +90 -0
  290. package/gen/services/FlowService.js +72 -0
  291. package/gen/services/JobService.d.ts +57 -8
  292. package/gen/services/JobService.js +78 -10
  293. package/gen/services/OauthService.d.ts +6 -15
  294. package/gen/services/OauthService.js +6 -19
  295. package/gen/services/ResourceService.d.ts +10 -1
  296. package/gen/services/ResourceService.js +16 -1
  297. package/gen/services/ScriptService.d.ts +28 -3
  298. package/gen/services/ScriptService.js +27 -0
  299. package/gen/services/UserService.d.ts +14 -6
  300. package/gen/services/UserService.js +25 -11
  301. package/infer.d.ts +1 -1
  302. package/infer.js +35 -18
  303. package/logout.d.ts +1 -1
  304. package/logout.js +7 -9
  305. package/package.json +74 -68
  306. package/script_helpers.d.ts +5 -3
  307. package/script_helpers.js +42 -12
  308. package/scripts.js +9 -4
  309. package/utils.d.ts +8 -9
  310. package/utils.js +42 -81
  311. package/components/AutosizedTextarea.svelte +0 -34
  312. package/components/AutosizedTextarea.svelte.d.ts +0 -19
  313. package/components/ProgressBar.svelte +0 -31
  314. package/components/ProgressBarPart.svelte +0 -20
  315. package/components/ProgressBarPart.svelte.d.ts +0 -20
  316. package/components/Switch.svelte +0 -61
  317. package/components/Switch.svelte.d.ts +0 -31
  318. package/components/flows/content/CopyFirstStepSchema.svelte +0 -13
  319. package/components/flows/content/CopyFirstStepSchema.svelte.d.ts +0 -14
  320. package/components/flows/content/FlowLoopWrapper.svelte +0 -9
  321. package/components/flows/content/FlowLoopWrapper.svelte.d.ts +0 -14
  322. package/components/flows/content/FlowModule.svelte +0 -217
  323. package/components/flows/content/FlowModule.svelte.d.ts +0 -29
  324. package/gen/schemas/$AuditLog.d.ts +0 -32
  325. package/gen/schemas/$AuditLog.js +0 -35
  326. package/gen/schemas/$CompletedJob.d.ts +0 -98
  327. package/gen/schemas/$CompletedJob.js +0 -103
  328. package/gen/schemas/$ContextualVariable.d.ts +0 -16
  329. package/gen/schemas/$ContextualVariable.js +0 -19
  330. package/gen/schemas/$CreateResource.d.ts +0 -22
  331. package/gen/schemas/$CreateResource.js +0 -25
  332. package/gen/schemas/$CreateVariable.d.ts +0 -26
  333. package/gen/schemas/$CreateVariable.js +0 -29
  334. package/gen/schemas/$CreateWorkspace.d.ts +0 -20
  335. package/gen/schemas/$CreateWorkspace.js +0 -23
  336. package/gen/schemas/$EditResource.d.ts +0 -13
  337. package/gen/schemas/$EditResource.js +0 -16
  338. package/gen/schemas/$EditResourceType.d.ts +0 -10
  339. package/gen/schemas/$EditResourceType.js +0 -13
  340. package/gen/schemas/$EditSchedule.d.ts +0 -20
  341. package/gen/schemas/$EditSchedule.js +0 -23
  342. package/gen/schemas/$EditVariable.d.ts +0 -16
  343. package/gen/schemas/$EditVariable.js +0 -19
  344. package/gen/schemas/$EditWorkspaceUser.d.ts +0 -7
  345. package/gen/schemas/$EditWorkspaceUser.js +0 -10
  346. package/gen/schemas/$Flow.d.ts +0 -23
  347. package/gen/schemas/$Flow.js +0 -26
  348. package/gen/schemas/$FlowMetadata.d.ts +0 -31
  349. package/gen/schemas/$FlowMetadata.js +0 -34
  350. package/gen/schemas/$FlowPreview.d.ts +0 -80
  351. package/gen/schemas/$FlowPreview.js +0 -83
  352. package/gen/schemas/$GlobalUserInfo.d.ts +0 -26
  353. package/gen/schemas/$GlobalUserInfo.js +0 -29
  354. package/gen/schemas/$Group.d.ts +0 -23
  355. package/gen/schemas/$Group.js +0 -26
  356. package/gen/schemas/$Job.d.ts +0 -17
  357. package/gen/schemas/$Job.js +0 -20
  358. package/gen/schemas/$ListableVariable.d.ts +0 -35
  359. package/gen/schemas/$ListableVariable.js +0 -38
  360. package/gen/schemas/$Login.d.ts +0 -12
  361. package/gen/schemas/$Login.js +0 -15
  362. package/gen/schemas/$MainArgSignature.d.ts +0 -50
  363. package/gen/schemas/$MainArgSignature.js +0 -53
  364. package/gen/schemas/$NewSchedule.d.ts +0 -30
  365. package/gen/schemas/$NewSchedule.js +0 -33
  366. package/gen/schemas/$NewToken.d.ts +0 -11
  367. package/gen/schemas/$NewToken.js +0 -14
  368. package/gen/schemas/$NewUser.d.ts +0 -16
  369. package/gen/schemas/$NewUser.js +0 -19
  370. package/gen/schemas/$Preview.d.ts +0 -19
  371. package/gen/schemas/$Preview.js +0 -22
  372. package/gen/schemas/$QueuedJob.d.ts +0 -139
  373. package/gen/schemas/$QueuedJob.js +0 -144
  374. package/gen/schemas/$Resource.d.ts +0 -31
  375. package/gen/schemas/$Resource.js +0 -34
  376. package/gen/schemas/$ResourceType.d.ts +0 -17
  377. package/gen/schemas/$ResourceType.js +0 -20
  378. package/gen/schemas/$Schedule.d.ts +0 -47
  379. package/gen/schemas/$Schedule.js +0 -50
  380. package/gen/schemas/$Script.d.ts +0 -77
  381. package/gen/schemas/$Script.js +0 -80
  382. package/gen/schemas/$ScriptArgs.d.ts +0 -6
  383. package/gen/schemas/$ScriptArgs.js +0 -9
  384. package/gen/schemas/$SlackToken.d.ts +0 -24
  385. package/gen/schemas/$SlackToken.js +0 -27
  386. package/gen/schemas/$TokenResponse.d.ts +0 -23
  387. package/gen/schemas/$TokenResponse.js +0 -26
  388. package/gen/schemas/$TruncatedToken.d.ts +0 -25
  389. package/gen/schemas/$TruncatedToken.js +0 -28
  390. package/gen/schemas/$Usage.d.ts +0 -13
  391. package/gen/schemas/$Usage.js +0 -16
  392. package/gen/schemas/$User.d.ts +0 -42
  393. package/gen/schemas/$User.js +0 -45
  394. package/gen/schemas/$UserWorkspaceList.d.ts +0 -28
  395. package/gen/schemas/$UserWorkspaceList.js +0 -31
  396. package/gen/schemas/$WorkerPing.d.ts +0 -31
  397. package/gen/schemas/$WorkerPing.js +0 -34
  398. package/gen/schemas/$Workspace.d.ts +0 -19
  399. package/gen/schemas/$Workspace.js +0 -22
  400. package/gen/schemas/$WorkspaceInvite.d.ts +0 -16
  401. package/gen/schemas/$WorkspaceInvite.js +0 -19
@@ -1,23 +1,25 @@
1
1
  <script>import { createEventDispatcher } from 'svelte';
2
2
  export let options = {};
3
3
  export let checked = false;
4
+ export let disabled = false;
4
5
  const id = (Math.random() + 1).toString(36).substring(10);
5
6
  const dispatch = createEventDispatcher();
6
7
  </script>
7
8
 
8
- <span>
9
+ <span class={$$props.class}>
9
10
  <label for={id} class="inline-flex items-center cursor-pointer mt-2">
10
11
  {#if Boolean(options?.left)}
11
12
  <span class="mr-2 text-sm font-medium text-gray-900">{options?.left}</span>
12
13
  {/if}
13
- <div class="relative">
14
+ <div class="relative" on:click|stopPropagation={() => {}}>
14
15
  <input
16
+ {disabled}
15
17
  type="checkbox"
16
18
  value={false}
17
19
  {id}
18
20
  class="sr-only peer"
19
21
  bind:checked
20
- on:change={() => {
22
+ on:change|stopPropagation={(e) => {
21
23
  dispatch('change', checked)
22
24
  }}
23
25
  />
@@ -1,11 +1,13 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ [x: string]: any;
4
5
  options?: {
5
6
  left?: string | undefined;
6
7
  right?: string | undefined;
7
8
  } | undefined;
8
9
  checked?: boolean | undefined;
10
+ disabled?: boolean | undefined;
9
11
  };
10
12
  events: {
11
13
  change: CustomEvent<any>;
@@ -1,68 +1,13 @@
1
1
  <script>import { faInfoCircle } from '@fortawesome/free-solid-svg-icons';
2
2
  import Icon from 'svelte-awesome';
3
- import { createPopperActions } from 'svelte-popperjs';
4
- import { fade } from 'svelte/transition';
5
- const [popperRef, popperContent] = createPopperActions({
6
- placement: 'auto'
7
- });
8
- const betterPreventOverflow = (options) => ({
9
- name: 'preventOverflow',
10
- options,
11
- effect: ({ state }) => {
12
- const { padding = 0 } = options;
13
- state.elements.popper.style.maxWidth = `calc(100vw - ${padding * 2}px)`;
14
- }
15
- });
16
- const extraOpts = {
17
- modifiers: [
18
- betterPreventOverflow({ padding: 50 }),
19
- { name: 'offset', options: { offset: [8, 8] } },
20
- {
21
- name: 'arrow',
22
- options: {
23
- padding: 10 // 5px from the edges of the popper
24
- }
25
- }
26
- ]
27
- };
28
- let showTooltip = false;
29
- let timeout;
30
- function open() {
31
- clearTimeout(timeout);
32
- showTooltip = true;
33
- }
34
- function close() {
35
- timeout = setTimeout(() => (showTooltip = false), 200);
36
- }
3
+ import Popover from './Popover.svelte';
37
4
  </script>
38
5
 
39
- <button use:popperRef on:mouseenter={open} on:mouseleave={close}>
40
- <Icon class="text-gray-500 font-thin inline-block align-middle" data={faInfoCircle} scale={0.8} />
41
- </button>
42
- {#if showTooltip}
43
- <div
44
- transition:fade
45
- id="tooltip"
46
- use:popperContent={extraOpts}
47
- on:mouseenter={open}
48
- on:mouseleave={close}
49
- class="w-96 text-left"
50
- >
51
- <slot />
52
- </div>
53
- {/if}
54
-
55
- <style>
56
- #tooltip {
57
- z-index: 50;
58
- white-space: normal;
59
- border-radius: 0.75rem;
60
- --tw-bg-opacity: 1;
61
- background-color: rgb(31 41 55 / var(--tw-bg-opacity));
62
- padding: 1rem;
63
- font-size: 1rem;
64
- line-height: 1.5rem;
65
- font-weight: 400;
66
- --tw-text-opacity: 1;
67
- color: rgb(209 213 219 / var(--tw-text-opacity))
68
- }</style>
6
+ <Popover>
7
+ <Icon
8
+ class="text-gray-500 font-thin inline-block align-middle w-4"
9
+ data={faInfoCircle}
10
+ scale={0.8}
11
+ />
12
+ <span slot="text"> <slot /> </span>
13
+ </Popover>
@@ -0,0 +1,241 @@
1
+ <script>import { usersWorkspaceStore } from '../stores';
2
+ import { UserService, SettingsService } from '../gen';
3
+ import { displayDate, sendUserToast, getToday, copyToClipboard, truncate } from '../utils';
4
+ import { faClipboard, faPlus } from '@fortawesome/free-solid-svg-icons';
5
+ import TableCustom from './TableCustom.svelte';
6
+ import { Button } from './common';
7
+ import Icon from 'svelte-awesome';
8
+ let newPassword;
9
+ let passwordError;
10
+ let version;
11
+ let tokens;
12
+ let newToken;
13
+ let newTokenLabel;
14
+ let newTokenExpiration;
15
+ let displayCreateToken = false;
16
+ let login_type = 'none';
17
+ import Drawer from './common/drawer/Drawer.svelte';
18
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
19
+ let drawer;
20
+ export function openDrawer() {
21
+ loadVersion();
22
+ loadLoginType();
23
+ listTokens();
24
+ drawer?.openDrawer();
25
+ }
26
+ export function toggleDrawer() {
27
+ drawer?.toggleDrawer();
28
+ }
29
+ async function setPassword() {
30
+ if (newPassword) {
31
+ await UserService.setPassword({
32
+ requestBody: {
33
+ password: newPassword
34
+ }
35
+ });
36
+ sendUserToast('Your password was successfully updated');
37
+ }
38
+ else {
39
+ sendUserToast('Specify a new password value to change your passord', true);
40
+ }
41
+ }
42
+ async function loadVersion() {
43
+ version = await SettingsService.backendVersion();
44
+ }
45
+ async function loadLoginType() {
46
+ login_type = (await UserService.globalWhoami()).login_type;
47
+ }
48
+ async function createToken() {
49
+ newToken = undefined;
50
+ let expirationISO;
51
+ if (newTokenExpiration) {
52
+ expirationISO = new Date(newTokenExpiration);
53
+ }
54
+ newToken = await UserService.createToken({
55
+ requestBody: { label: newTokenLabel, expiration: expirationISO?.toISOString() }
56
+ });
57
+ listTokens();
58
+ displayCreateToken = false;
59
+ }
60
+ async function listTokens() {
61
+ tokens = await UserService.listTokens();
62
+ }
63
+ async function deleteToken(tokenPrefix) {
64
+ await UserService.deleteToken({ tokenPrefix });
65
+ sendUserToast('Succesfully deleted token');
66
+ listTokens();
67
+ }
68
+ </script>
69
+
70
+ <Drawer bind:this={drawer} size="800px">
71
+ <DrawerContent title="User Settings" on:close={drawer.toggleDrawer}>
72
+ <div class="flex flex-col h-full">
73
+ <div>
74
+ <div class="text-xs pt-1 pb-2 text-gray-500 ">
75
+ Windmill {version}
76
+ </div>
77
+
78
+ <h2 class="border-b">User info</h2>
79
+ <div class="">
80
+ {#if passwordError}
81
+ <div class="text-red-600 text-2xs grow">{passwordError}</div>
82
+ {/if}
83
+ <div class="flex flex-col gap-2 w-full ">
84
+ <div class="mt-4">
85
+ <label class="block w-60 mb-2 text-gray-500">
86
+ <div class="text-gray-700">email</div>
87
+ <input
88
+ type="text"
89
+ disabled
90
+ value={$usersWorkspaceStore?.email}
91
+ class="input mt-1"
92
+ />
93
+ </label>
94
+ {#if login_type == 'password'}
95
+ <label class="block w-120">
96
+ <div class="text-gray-700">password</div>
97
+ <input
98
+ type="password"
99
+ bind:value={newPassword}
100
+ class="
101
+ w-full
102
+ block
103
+ py-1
104
+ px-2
105
+ rounded-md
106
+ border
107
+ border-gray-300
108
+ shadow-sm
109
+ focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
110
+ text-sm
111
+ "
112
+ />
113
+ <Button size="sm" btnClasses="mt-4" on:click={setPassword}>Set password</Button>
114
+ </label>
115
+ {:else if login_type == 'github'}
116
+ <span>Authentified through Github OAuth2. Cannot set a password.</span>
117
+ {/if}
118
+ </div>
119
+ </div>
120
+ </div>
121
+
122
+ <div class="grid grid-cols-2 pt-8 pb-1">
123
+ <h2 class="py-0 my-0 border-b">Tokens</h2>
124
+ <div class="flex justify-end border-b pb-1">
125
+ <Button
126
+ size="sm"
127
+ startIcon={{ icon: faPlus }}
128
+ btnClasses={displayCreateToken ? 'hidden' : ''}
129
+ on:click={() => {
130
+ displayCreateToken = !displayCreateToken
131
+ newToken = undefined
132
+ newTokenExpiration = undefined
133
+ newTokenLabel = undefined
134
+ }}
135
+ >
136
+ Create token
137
+ </Button>
138
+ </div>
139
+ </div>
140
+ <div class="text-2xs text-gray-500 italic pb-6">
141
+ Authentify to the Windmill API with access tokens.
142
+ </div>
143
+
144
+ <div>
145
+ <div
146
+ class="{newToken
147
+ ? ''
148
+ : 'hidden'} border rounded-md mb-6 px-2 py-2 bg-green-50 flex flex-row flex-wrap "
149
+ >
150
+ <div>
151
+ Added token: <button on:click={() => copyToClipboard(newToken ?? '')} class="inline"
152
+ >{truncate(newToken ?? '', 10, '****')} <Icon data={faClipboard} />
153
+ </button>
154
+ </div>
155
+ <div class="pt-1 text-xs text-right">
156
+ Make sure to copy your personal access token now. You won’t be able to see it again!
157
+ </div>
158
+ </div>
159
+
160
+ <!-- Token creation interface -->
161
+ <div
162
+ class="{displayCreateToken
163
+ ? ''
164
+ : 'hidden'} py-3 px-3 border rounded-md mb-6 bg-gray-50 min-w-min"
165
+ >
166
+ <h3 class="pb-3 font-semibold">Add new token</h3>
167
+ <div class="flex flex-row flex-wrap gap-x-2 w-full justify-between">
168
+ <div class="flex flex-col">
169
+ <label for="label"
170
+ >Label <span class="text-xs text-gray-500">(optional)</span></label
171
+ >
172
+ <input type="text" bind:value={newTokenLabel} />
173
+ </div>
174
+ <div class="flex flex-col ">
175
+ <label for="expires"
176
+ >Expires on <span class="text-xs text-gray-500">(optional)</span>
177
+ </label>
178
+ <input
179
+ class="block md:w-1/2"
180
+ type="date"
181
+ id="expires"
182
+ name="expiration-date"
183
+ bind:value={newTokenExpiration}
184
+ min={getToday().getFullYear() +
185
+ '/' +
186
+ getToday().getMonth() +
187
+ '/' +
188
+ getToday().getDate()}
189
+ max={getToday().getFullYear() +
190
+ 1 +
191
+ '/' +
192
+ getToday().getMonth() +
193
+ '/' +
194
+ getToday().getDate()}
195
+ />
196
+ </div>
197
+ <div class="flex items-end">
198
+ <Button btnClasses="!mt-2" on:click={createToken}>Submit</Button>
199
+ </div>
200
+ </div>
201
+ </div>
202
+ </div>
203
+ <div class="overflow-auto">
204
+ <TableCustom>
205
+ <tr slot="header-row">
206
+ <th>prefix</th>
207
+ <th>label</th>
208
+ <th>expiration</th>
209
+ <th />
210
+ </tr>
211
+ <tbody slot="body">
212
+ {#if tokens && tokens.length > 0}
213
+ {#each tokens as { token_prefix, expiration, label }}
214
+ <tr>
215
+ <td class="grow">{token_prefix}****</td>
216
+ <td class="grow">{label ?? ''}</td>
217
+ <td class="grow">{displayDate(expiration ?? '')}</td>
218
+ <td class="grow"
219
+ ><button
220
+ class="text-red-500 text-xs underline"
221
+ on:click={() => {
222
+ deleteToken(token_prefix)
223
+ }}>Delete</button
224
+ ></td
225
+ >
226
+ </tr>
227
+ {/each}
228
+ {:else if tokens && tokens.length === 0}
229
+ <tr class="px-6"
230
+ ><td class="text-gray-700 italic text-xs"> There are no tokens yet</td></tr
231
+ >
232
+ {:else}
233
+ <tr> Loading...</tr>
234
+ {/if}
235
+ </tbody>
236
+ </TableCustom>
237
+ </div>
238
+ </div>
239
+ </div>
240
+ </DrawerContent>
241
+ </Drawer>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ openDrawer?: (() => void) | undefined;
5
+ toggleDrawer?: (() => void) | undefined;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export declare type UserSettingsProps = typeof __propDef.props;
13
+ export declare type UserSettingsEvents = typeof __propDef.events;
14
+ export declare type UserSettingsSlots = typeof __propDef.slots;
15
+ export default class UserSettings extends SvelteComponentTyped<UserSettingsProps, UserSettingsEvents, UserSettingsSlots> {
16
+ get openDrawer(): () => void;
17
+ get toggleDrawer(): () => void;
18
+ }
19
+ export {};
@@ -1,14 +1,16 @@
1
- <script>import Password from './Password.svelte';
2
- import { sendUserToast } from '../utils';
1
+ <script>import { sendUserToast } from '../utils';
3
2
  import { VariableService } from '../gen';
4
- import AutosizedTextarea from './AutosizedTextarea.svelte';
5
3
  import Path from './Path.svelte';
6
- import Modal from './Modal.svelte';
7
4
  import { createEventDispatcher } from 'svelte';
8
5
  import { workspaceStore } from '../stores';
9
6
  import Required from './Required.svelte';
10
7
  import Tooltip from './Tooltip.svelte';
11
8
  import { Button } from './common';
9
+ import Drawer from './common/drawer/Drawer.svelte';
10
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
11
+ import Alert from './common/alert/Alert.svelte';
12
+ import autosize from 'svelte-autosize';
13
+ import Toggle from './Toggle.svelte';
12
14
  const dispatch = createEventDispatcher();
13
15
  let path = '';
14
16
  let variable = {
@@ -17,7 +19,7 @@ let variable = {
17
19
  description: ''
18
20
  };
19
21
  let valid = true;
20
- let modal;
22
+ let drawer;
21
23
  let edit = false;
22
24
  let initialPath;
23
25
  let pathError = '';
@@ -30,7 +32,7 @@ export function initNew() {
30
32
  edit = false;
31
33
  initialPath = '';
32
34
  path = '';
33
- modal.openModal();
35
+ drawer.openDrawer();
34
36
  }
35
37
  export async function editVariable(path) {
36
38
  edit = true;
@@ -45,7 +47,7 @@ export async function editVariable(path) {
45
47
  description: getV.description ?? ''
46
48
  };
47
49
  initialPath = path;
48
- modal.openModal();
50
+ drawer.openDrawer();
49
51
  }
50
52
  const MAX_VARIABLE_LENGTH = 3000;
51
53
  $: valid = variable.value.length <= MAX_VARIABLE_LENGTH;
@@ -61,7 +63,7 @@ async function createVariable() {
61
63
  });
62
64
  sendUserToast(`Successfully created variable ${path}`);
63
65
  dispatch('create');
64
- modal.closeModal();
66
+ drawer.closeDrawer();
65
67
  }
66
68
  async function updateVariable() {
67
69
  try {
@@ -82,7 +84,7 @@ async function updateVariable() {
82
84
  });
83
85
  sendUserToast(`Successfully updated variable at ${initialPath}`);
84
86
  dispatch('create');
85
- modal.closeModal();
87
+ drawer.closeDrawer();
86
88
  }
87
89
  catch (err) {
88
90
  sendUserToast(`Could not update variable: ${err.body}`, true);
@@ -90,80 +92,84 @@ async function updateVariable() {
90
92
  }
91
93
  </script>
92
94
 
93
- <Modal z="z-50" bind:this={modal}>
94
- <div slot="title">
95
- {#if edit}
96
- Update variable at {initialPath}
97
- {:else}
98
- Add a variable
99
- {/if}
100
- </div>
101
-
102
- <div slot="content">
103
- <div class="text-gray-700 text-2xs mb-6">
104
- Variables have a globally unique name represented by their path. When passed to scripts, <pre
105
- class="inline text-red-700 bg-gray-50 rounded round-sm">/</pre
106
- >
107
- are converted to
108
- <pre class="inline text-red-700 bg-gray-50 rounded round-sm">_</pre>
109
- </div>
110
-
111
- <div class="flex flex-col gap-2 ">
95
+ <Drawer bind:this={drawer}>
96
+ <DrawerContent
97
+ title={edit ? `Update variable at ${initialPath}` : 'Add a variable'}
98
+ on:close={drawer.closeDrawer}
99
+ >
100
+ <div class="flex flex-col gap-6">
112
101
  <div>
113
- <div class="text-gray-700 mb-0 pb-0">path</div>
114
- <Path
115
- bind:error={pathError}
116
- bind:path
117
- {initialPath}
118
- namePlaceholder="my_variable"
119
- kind="variable"
120
- />
102
+ <div>
103
+ <div class="mb-1 font-semibold text-gray-700">General</div>
104
+ <Path
105
+ bind:error={pathError}
106
+ bind:path
107
+ {initialPath}
108
+ namePlaceholder="my_variable"
109
+ kind="variable"
110
+ />
111
+ </div>
112
+ <div class="mt-4">
113
+ <Toggle bind:checked={variable.is_secret} options={{ right: 'Secret' }} />
114
+ {#if variable.is_secret}
115
+ <Alert type="warning" title="Not visible after this">
116
+ If the variable is a secret, you will not be able to read the value of it from the
117
+ variable editor UI but only within scripts.
118
+ <Tooltip>
119
+ Within scripts, every read of the value create the audit log:
120
+ 'variables.decrypt_secret'
121
+ </Tooltip>
122
+ </Alert>
123
+ {/if}
124
+ </div>
121
125
  </div>
122
-
123
- <label class="block pb-6">
124
- <input type="checkbox" bind:checked={variable.is_secret} />
125
- <span class="ml-2">Secret</span>
126
- {#if variable.is_secret}
127
- <div
128
- class="bg-orange-100 border-l-4 border-orange-500 text-orange-700 p-1 mt-1 text-sm"
129
- role="alert"
130
- >
131
- When a secret, you will not be able to read this variable value from the variable editor
132
- UI but only within scripts. <Tooltip>
133
- Within scripts, every read of the value create the audit log:
134
- 'variables.decrypt_secret'</Tooltip
135
- >
136
- </div>
137
- {/if}
138
- </label>
126
+ <!--
139
127
  {#if variable.is_secret}
140
- <div class="font-semibold text-gray-700 col-span-10 }">
128
+ <div class="mb-1 col-span-10">
141
129
  <Password
142
130
  bind:password={variable.value}
143
131
  placeholder={'******** (only fill to update value)'}
144
- label={`Secret value (${variable.value.length}/3000 characters)`}
132
+ label={`<span class="font-semibold text-gray-700">Secret value</span>
133
+ <span class="text-sm text-gray-500">(${variable.value.length}/3000 characters)</span>`}
145
134
  />
146
135
  </div>
147
- {:else}
148
- <div>
149
- <span>Variable value ({variable.value.length}/3000 characters)</span>
150
- <AutosizedTextarea bind:value={variable.value} minRows={5} />
136
+ {:else} -->
137
+ <div>
138
+ <div class="mb-1">
139
+ <span class="font-semibold text-gray-700">Variable value</span>
140
+ <span class="text-sm text-gray-500">({variable.value.length}/3000 characters)</span>
151
141
  </div>
152
- {/if}
142
+ <textarea
143
+ rows="4"
144
+ type="text"
145
+ use:autosize
146
+ bind:value={variable.value}
147
+ placeholder="My variable value"
148
+ />
149
+ </div>
150
+ <!-- {/if} -->
153
151
 
154
- <div class="flex flex-col w-full">
155
- <span class="text-gray-700">Description<Required required={false} /></span>
156
- <AutosizedTextarea bind:value={variable.description} placeholder={''} minRows={3} />
152
+ <div>
153
+ <div class="mb-1 font-semibold text-gray-700">
154
+ Description
155
+ <Required required={false} />
156
+ </div>
157
+ <textarea
158
+ rows="4"
159
+ type="text"
160
+ use:autosize
161
+ bind:value={variable.description}
162
+ placeholder="Used for X"
163
+ />
157
164
  </div>
158
165
  </div>
159
- </div>
160
- <div slot="submission">
161
- <Button
162
- size="sm"
163
- on:click={() => (edit ? updateVariable() : createVariable())}
164
- disabled={!valid || pathError != ''}
165
- >
166
- {edit ? 'Save' : 'Add a variable'}
167
- </Button>
168
- </div>
169
- </Modal>
166
+ <div slot="submission">
167
+ <Button
168
+ on:click={() => (edit ? updateVariable() : createVariable())}
169
+ disabled={!valid || pathError != ''}
170
+ >
171
+ {edit ? 'Save' : 'Add'}
172
+ </Button>
173
+ </div>
174
+ </DrawerContent>
175
+ </Drawer>
@@ -1,15 +1,16 @@
1
1
  <script>export let applyPageWidth = false;
2
2
  export let stickToTop = false;
3
- $: wide = applyPageWidth ? 'max-w-6xl mx-auto px-4 sm:px-6 md:px-8 ' : '';
4
- let scrollY;
3
+ $: wide = applyPageWidth ? 'max-w-6xl mx-auto px-4 sm:px-6 md:px-8' : '';
4
+ let scrollY = 0;
5
5
  </script>
6
6
 
7
7
  <svelte:window bind:scrollY />
8
8
 
9
9
  <div
10
10
  class={'bg-white py-3 ' +
11
- (stickToTop ? 'sticky top-0 ' + (scrollY >= 30 ? 'border-b ' : '') : '') +
12
- $$props.class}
11
+ (stickToTop ? 'lg:sticky lg:top-0 z-[500] border-b border-gray-200 border-opacity-0 duration-300 '
12
+ + (scrollY >= 30 ? 'border-opacity-100 ' : '') : '')
13
+ + ($$props.class || '')}
13
14
  >
14
15
  <div class={'w-full flex flex-wrap justify-between items-center gap-4 ' + wide}>
15
16
  <div class="flex flex-wrap items-center gap-2">
@@ -37,7 +37,7 @@ const classes = {
37
37
  };
38
38
  </script>
39
39
 
40
- <div class={classNames('rounded-md p-4', classes[type].bgClass)}>
40
+ <div class={classNames('rounded-md p-4', classes[type].bgClass, $$props.class)}>
41
41
  <div class="flex">
42
42
  <div class="flex h-8 w-8 items-center justify-center rounded-full">
43
43
  <Icon data={icons[type]} class={classes[type].iconClass} />
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  import type { AlertType } from './model';
3
3
  declare const __propDef: {
4
4
  props: {
5
+ [x: string]: any;
5
6
  type?: AlertType | undefined;
6
7
  title: string;
7
8
  };
@@ -41,14 +41,14 @@ const hovers = {
41
41
  };
42
42
  $: badgeClass = classNames(baseClass, large ? 'text-sm font-medium' : 'text-xs font-semibold', colors[color], href &&
43
43
  (color.startsWith(ColorModifier) ? hovers[color.replace(ColorModifier, '')] : hovers[color]), rounded ? 'rounded-full px-2 py-1' : 'rounded px-2.5 py-0.5', index
44
- ? 'absolute flex justify-center items-center font-bold overflow-hidden border-2 border-white dark:border-gray-900 ' +
44
+ ? 'absolute flex justify-center items-center font-bold overflow-hidden border-2 border-white dark:border-gray-900' +
45
45
  (large ? 'w-7 h-7 -top-3.5 -right-3.5' : 'w-6 h-6 -top-3 -right-3')
46
46
  : '', $$props.class);
47
47
  $: iconProps = icon ? { ...defaulIconProps, ...icon } : { data: undefined };
48
48
  const handleHide = () => (hidden = !hidden);
49
49
  </script>
50
50
 
51
- <span class="inline-flex justify-center items-center">
51
+ <span class="inline-flex justify-center items-center whitespace-nowrap">
52
52
  <svelte:element
53
53
  this={href ? 'a' : 'span'}
54
54
  {href}
@@ -0,0 +1,24 @@
1
+ <script>import { createEventDispatcher } from 'svelte';
2
+ import Button from '../button/Button.svelte';
3
+ export let items;
4
+ export let selectedIndex;
5
+ export let disabled = false;
6
+ const dispatch = createEventDispatcher();
7
+ </script>
8
+
9
+ <div class="flex items-center justify-center">
10
+ {#each items as item, index}
11
+ {#if index > 0}
12
+ <slot name="separator" />
13
+ {/if}
14
+ <Button
15
+ size="sm"
16
+ color="light"
17
+ btnClasses={selectedIndex - 1 === index ? 'text-gray-800 !font-bold' : '!text-gray-500'}
18
+ on:click={() => dispatch('select', { index })}
19
+ disabled={selectedIndex - 1 === index ? disabled : false}
20
+ >
21
+ {item}
22
+ </Button>
23
+ {/each}
24
+ </div>