windmill-components 1.623.2 → 1.642.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 (599) hide show
  1. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  2. package/dist/sharedUtils/base.d.ts +1 -0
  3. package/dist/sharedUtils/cloud.d.ts +1 -0
  4. package/dist/sharedUtils/common.d.ts +111 -0
  5. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
  11. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  12. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
  14. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  15. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
  16. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  17. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  19. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  20. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  21. package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
  22. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  23. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
  24. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  25. package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/icons/index.d.ts +101 -0
  37. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  38. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  39. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  40. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  41. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  42. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  43. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  46. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  47. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  48. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  49. package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
  50. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  51. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  52. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  53. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  54. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  55. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  56. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  57. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  58. package/dist/sharedUtils/gen/index.d.ts +6 -0
  59. package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
  60. package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
  61. package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
  62. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  63. package/dist/sharedUtils/hub.d.ts +49 -0
  64. package/dist/sharedUtils/jsr.json +6 -0
  65. package/dist/sharedUtils/lib.d.ts +5 -0
  66. package/dist/sharedUtils/lib.es.js +1588 -0
  67. package/dist/sharedUtils/package.json +12 -0
  68. package/dist/sharedUtils/schema.d.ts +3 -0
  69. package/dist/sharedUtils/stores.d.ts +97 -0
  70. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
  71. package/dist/sharedUtils/toast.d.ts +8 -0
  72. package/dist/sharedUtils/utils.d.ts +265 -0
  73. package/package/assets/app.css +32 -13
  74. package/package/components/AIAgentLogViewer.svelte +2 -2
  75. package/package/components/AIAgentLogViewer.svelte.d.ts +1 -0
  76. package/package/components/AIProviderPicker.svelte +20 -80
  77. package/package/components/AIProviderPicker.svelte.d.ts +2 -7
  78. package/package/components/AddUser.svelte +2 -2
  79. package/package/components/ApiConnectForm.svelte +7 -1
  80. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  81. package/package/components/ArgInput.svelte +15 -5
  82. package/package/components/ArgInput.svelte.d.ts +3 -4
  83. package/package/components/Auth0Setting.svelte +6 -2
  84. package/package/components/AuthSettings.svelte +68 -39
  85. package/package/components/AuthSettings.svelte.d.ts +3 -1
  86. package/package/components/AutheliaSetting.svelte +3 -2
  87. package/package/components/AuthentikSetting.svelte +3 -2
  88. package/package/components/AutoscalingConfigEditor.svelte +2 -1
  89. package/package/components/AutoscalingConfigEditor.svelte.d.ts +1 -0
  90. package/package/components/CenteredModal.svelte +14 -4
  91. package/package/components/CenteredModal.svelte.d.ts +1 -0
  92. package/package/components/ChangeInstanceUsernameInner.svelte +1 -1
  93. package/package/components/CompareWorkspaces.svelte +29 -57
  94. package/package/components/ConcurrentJobsChart.svelte +1 -1
  95. package/package/components/ConnectionSection.svelte +69 -73
  96. package/package/components/CustomSso.svelte +7 -7
  97. package/package/components/DBManager.svelte +15 -4
  98. package/package/components/DBManager.svelte.d.ts +2 -0
  99. package/package/components/DBManagerContent.svelte +5 -0
  100. package/package/components/DBManagerContent.svelte.d.ts +1 -0
  101. package/package/components/DBManagerDrawer.svelte +2 -0
  102. package/package/components/DatatablePicker.svelte +29 -0
  103. package/package/components/DatatablePicker.svelte.d.ts +13 -0
  104. package/package/components/DateTimeInput.svelte +3 -3
  105. package/package/components/DedicatedWorkersSelector.svelte +39 -42
  106. package/package/components/DeployToSetting.svelte +183 -123
  107. package/package/components/DeployToSetting.svelte.d.ts +19 -28
  108. package/package/components/DeployWorkspace.svelte +6 -44
  109. package/package/components/DeployWorkspace.svelte.d.ts +2 -1
  110. package/package/components/DeployWorkspaceDrawer.svelte +18 -7
  111. package/package/components/DeployWorkspaceDrawer.svelte.d.ts +3 -20
  112. package/package/components/Description.svelte +3 -1
  113. package/package/components/Dev.svelte +1 -0
  114. package/package/components/DiffEditor.svelte +7 -6
  115. package/package/components/DiffEditor.svelte.d.ts +2 -6
  116. package/package/components/DisplayResult.svelte +2 -2
  117. package/package/components/DropdownMenu.svelte +39 -0
  118. package/package/components/DropdownMenu.svelte.d.ts +14 -0
  119. package/package/components/DropdownSubmenuItem.svelte +68 -0
  120. package/package/components/DropdownSubmenuItem.svelte.d.ts +10 -0
  121. package/package/components/DropdownV2.svelte +3 -3
  122. package/package/components/DropdownV2Inner.svelte +42 -34
  123. package/package/components/DropdownV2Inner.svelte.d.ts +2 -1
  124. package/package/components/DucklakePicker.svelte +2 -5
  125. package/package/components/EEOnly.svelte +4 -14
  126. package/package/components/EEOnly.svelte.d.ts +0 -1
  127. package/package/components/Editor.svelte +2 -2
  128. package/package/components/Editor.svelte.d.ts +1 -0
  129. package/package/components/EditorBar.svelte +2 -4
  130. package/package/components/ErrorOrRecoveryHandler.svelte +62 -53
  131. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +1 -0
  132. package/package/components/ExploreAssetButton.svelte +1 -2
  133. package/package/components/FileExplorer.svelte +249 -0
  134. package/package/components/FileExplorer.svelte.d.ts +21 -0
  135. package/package/components/FilesetEditor.svelte +103 -0
  136. package/package/components/FilesetEditor.svelte.d.ts +6 -0
  137. package/package/components/FilterSearchbar.svelte +628 -0
  138. package/package/components/FilterSearchbar.svelte.d.ts +86 -0
  139. package/package/components/FlowBuilder.svelte +123 -79
  140. package/package/components/FlowGraphViewerStep.svelte +49 -33
  141. package/package/components/FlowHistoryJobPicker.svelte +2 -1
  142. package/package/components/FlowJobResult.svelte +31 -23
  143. package/package/components/FlowJobResult.svelte.d.ts +0 -1
  144. package/package/components/FlowLogRow.svelte +1 -1
  145. package/package/components/FlowLogViewer.svelte +8 -3
  146. package/package/components/FlowPreviewContent.svelte +65 -49
  147. package/package/components/FlowPreviewContent.svelte.d.ts +4 -0
  148. package/package/components/FlowRestartButton.svelte +47 -47
  149. package/package/components/FlowRestartButton.svelte.d.ts +2 -0
  150. package/package/components/FlowStatusViewer.svelte +2 -3
  151. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  152. package/package/components/FlowStatusViewerInner.svelte +380 -297
  153. package/package/components/FlowStatusViewerInner.svelte.d.ts +2 -2
  154. package/package/components/FlowStatusWaitingForEvents.svelte +11 -10
  155. package/package/components/FolderPicker.svelte +195 -65
  156. package/package/components/FolderPicker.svelte.d.ts +2 -0
  157. package/package/components/HistoricInputs.svelte +3 -4
  158. package/package/components/IconedResourceType.svelte +8 -2
  159. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  160. package/package/components/InputError.svelte +9 -0
  161. package/package/components/InputError.svelte.d.ts +6 -0
  162. package/package/components/InputTransformForm.svelte +46 -39
  163. package/package/components/InputTransformForm.svelte.d.ts +1 -0
  164. package/package/components/InputTransformSchemaForm.svelte +2 -1
  165. package/package/components/InputTransformSchemaForm.svelte.d.ts +1 -0
  166. package/package/components/InputTransformsViewer.svelte +37 -20
  167. package/package/components/InstanceNameEditor.svelte +3 -1
  168. package/package/components/InstanceSetting.svelte +150 -374
  169. package/package/components/InstanceSetting.svelte.d.ts +1 -0
  170. package/package/components/InstanceSettings.svelte +804 -193
  171. package/package/components/InstanceSettings.svelte.d.ts +17 -2
  172. package/package/components/IntegerInput.svelte +58 -0
  173. package/package/components/IntegerInput.svelte.d.ts +14 -0
  174. package/package/components/InviteGlobalUser.svelte +25 -25
  175. package/package/components/InviteGlobalUser.svelte.d.ts +4 -2
  176. package/package/components/JobArgs.svelte +14 -10
  177. package/package/components/JobLoader.svelte +6 -4
  178. package/package/components/JobLoader.svelte.d.ts +2 -2
  179. package/package/components/JobStatus.svelte +29 -26
  180. package/package/components/JobStatus.svelte.d.ts +1 -0
  181. package/package/components/KanidmSetting.svelte +3 -2
  182. package/package/components/KeycloakSetting.svelte +3 -2
  183. package/package/components/Login.svelte +9 -3
  184. package/package/components/ModuleStatus.svelte +5 -5
  185. package/package/components/ModuleTest.svelte +3 -3
  186. package/package/components/MoveDrawer.svelte +47 -76
  187. package/package/components/MoveDrawer.svelte.d.ts +4 -6
  188. package/package/components/NextcloudSetting.svelte +3 -2
  189. package/package/components/NoDirectDeployAlert.svelte +31 -0
  190. package/package/components/NoDirectDeployAlert.svelte.d.ts +6 -0
  191. package/package/components/NumberTypeNarrowing.svelte +65 -67
  192. package/package/components/NumberTypeNarrowing.svelte.d.ts +2 -1
  193. package/package/components/OAuthSetting.svelte +6 -14
  194. package/package/components/ObjectStoreConfigSettings.svelte +150 -55
  195. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +34 -44
  196. package/package/components/OktaSetting.svelte +3 -2
  197. package/package/components/PageHeader.svelte +1 -1
  198. package/package/components/ParentWorkspaceProtectionAlert.svelte +48 -0
  199. package/package/components/ParentWorkspaceProtectionAlert.svelte.d.ts +7 -0
  200. package/package/components/Path.svelte +40 -28
  201. package/package/components/Path.svelte.d.ts +3 -0
  202. package/package/components/PocketIdSetting.svelte +3 -2
  203. package/package/components/ResourceEditor.svelte +9 -3
  204. package/package/components/ResourcePicker.svelte +2 -5
  205. package/package/components/RightClickPopover.svelte +37 -0
  206. package/package/components/RightClickPopover.svelte.d.ts +11 -0
  207. package/package/components/RunChart.svelte +2 -21
  208. package/package/components/RunChart.svelte.d.ts +0 -3
  209. package/package/components/RunsPage.svelte +458 -560
  210. package/package/components/SaveButton.svelte +78 -0
  211. package/package/components/SaveButton.svelte.d.ts +12 -0
  212. package/package/components/SaveInputsButton.svelte +1 -1
  213. package/package/components/SavedInputsV2.svelte +1 -3
  214. package/package/components/SchemaFormWithArgPicker.svelte +34 -30
  215. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +12 -21
  216. package/package/components/SchemaViewer.svelte +56 -53
  217. package/package/components/ScriptBuilder.svelte +12 -12
  218. package/package/components/ScriptEditor.svelte +30 -28
  219. package/package/components/Section.svelte +2 -2
  220. package/package/components/ServiceLogsInner.svelte +21 -82
  221. package/package/components/Star.svelte +8 -22
  222. package/package/components/Star.svelte.d.ts +4 -4
  223. package/package/components/StringTypeNarrowing.svelte +1 -0
  224. package/package/components/SummaryPathDisplay.svelte +177 -0
  225. package/package/components/SummaryPathDisplay.svelte.d.ts +10 -0
  226. package/package/components/SuperadminSettings.svelte +185 -4
  227. package/package/components/SuperadminSettings.svelte.d.ts +4 -1
  228. package/package/components/SuperadminSettingsInner.svelte +307 -192
  229. package/package/components/SuperadminSettingsInner.svelte.d.ts +12 -1
  230. package/package/components/TaggedTextInput.svelte +449 -0
  231. package/package/components/TaggedTextInput.svelte.d.ts +28 -0
  232. package/package/components/Toast.svelte +69 -51
  233. package/package/components/Toast.svelte.d.ts +2 -2
  234. package/package/components/Tooltip.svelte +2 -2
  235. package/package/components/Tooltip.svelte.d.ts +2 -0
  236. package/package/components/TooltipInner.svelte +6 -1
  237. package/package/components/TooltipInner.svelte.d.ts +1 -0
  238. package/package/components/Uptodate.svelte +3 -2
  239. package/package/components/UserSettings.svelte +2 -2
  240. package/package/components/UserSettings.svelte.d.ts +1 -0
  241. package/package/components/WorkerGroup.svelte +320 -192
  242. package/package/components/WorkerGroup.svelte.d.ts +2 -0
  243. package/package/components/WorkspaceDependenciesEditor.svelte +33 -17
  244. package/package/components/ZitadelSetting.svelte +3 -2
  245. package/package/components/aiProviderStorage.d.ts +5 -0
  246. package/package/components/aiProviderStorage.js +50 -0
  247. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +24 -13
  248. package/package/components/apps/components/display/dbtable/metadata.d.ts +1 -0
  249. package/package/components/apps/components/display/dbtable/metadata.js +1 -0
  250. package/package/components/apps/components/display/dbtable/queries/count.js +3 -1
  251. package/package/components/apps/components/display/dbtable/queries/delete.js +3 -1
  252. package/package/components/apps/components/display/dbtable/queries/insert.js +3 -1
  253. package/package/components/apps/components/display/dbtable/queries/select.js +15 -1
  254. package/package/components/apps/components/display/dbtable/queries/update.js +3 -1
  255. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  256. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  257. package/package/components/apps/components/display/table/AppAggridTable.svelte +7 -0
  258. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -3
  259. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  260. package/package/components/apps/components/display/table/theme/windmill-theme.css +8 -7
  261. package/package/components/apps/components/helpers/eval.js +5 -2
  262. package/package/components/apps/components/layout/AppModal.svelte +2 -1
  263. package/package/components/apps/components/layout/AppModal.svelte.d.ts +1 -0
  264. package/package/components/apps/editor/appPolicy.js +5 -4
  265. package/package/components/apps/editor/appUtils.d.ts +1 -1
  266. package/package/components/apps/editor/component/components.d.ts +11 -0
  267. package/package/components/apps/editor/component/components.js +19 -2
  268. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +3 -1
  269. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  270. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  271. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +1 -1
  272. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +66 -29
  273. package/package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +2 -17
  274. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +10 -0
  275. package/package/components/apps/inputType.d.ts +2 -2
  276. package/package/components/assets/AssetButtons.svelte +3 -7
  277. package/package/components/assets/AssetButtons.svelte.d.ts +2 -4
  278. package/package/components/assets/AssetColumnBadges.svelte +35 -0
  279. package/package/components/assets/AssetColumnBadges.svelte.d.ts +10 -0
  280. package/package/components/assets/AssetsDropdownButton.svelte +8 -6
  281. package/package/components/assets/AssetsUsageDrawer.svelte +16 -14
  282. package/package/components/assets/JobAssetsViewer.svelte +4 -6
  283. package/package/components/assets/assetsFilter.d.ts +50 -0
  284. package/package/components/assets/assetsFilter.js +43 -0
  285. package/package/components/assets/lib.d.ts +3 -2
  286. package/package/components/assets/lib.js +8 -1
  287. package/package/components/auditLogs/AuditLogsFilters.svelte +30 -1
  288. package/package/components/common/InlineCalendarInput.svelte +580 -0
  289. package/package/components/common/InlineCalendarInput.svelte.d.ts +31 -0
  290. package/package/components/common/alert/Alert.svelte +2 -8
  291. package/package/components/common/alert/model.d.ts +1 -0
  292. package/package/components/common/alert/model.js +7 -0
  293. package/package/components/common/badge/Badge.svelte +7 -3
  294. package/package/components/common/badge/Badge.svelte.d.ts +1 -0
  295. package/package/components/common/breadcrumb/Breadcrumb.svelte +10 -14
  296. package/package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +8 -23
  297. package/package/components/common/drawer/DrawerContent.svelte +1 -1
  298. package/package/components/common/seconds/SecondsInput.svelte +158 -67
  299. package/package/components/common/seconds/SecondsInput.svelte.d.ts +9 -21
  300. package/package/components/common/sidebar/SidebarNavigation.svelte +50 -0
  301. package/package/components/common/sidebar/SidebarNavigation.svelte.d.ts +25 -0
  302. package/package/components/common/table/AppRow.svelte +7 -10
  303. package/package/components/common/table/AppRow.svelte.d.ts +2 -2
  304. package/package/components/common/table/FlowRow.svelte +12 -15
  305. package/package/components/common/table/FlowRow.svelte.d.ts +2 -2
  306. package/package/components/common/table/RawAppRow.svelte +5 -82
  307. package/package/components/common/table/RawAppRow.svelte.d.ts +2 -23
  308. package/package/components/common/table/Row.svelte +2 -2
  309. package/package/components/common/table/Row.svelte.d.ts +0 -2
  310. package/package/components/common/table/ScriptRow.svelte +8 -11
  311. package/package/components/common/table/ScriptRow.svelte.d.ts +2 -2
  312. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  313. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -1
  314. package/package/components/copilot/TestAIKey.svelte +1 -1
  315. package/package/components/copilot/chat/AIChatInput.svelte +22 -11
  316. package/package/components/copilot/chat/AIChatManager.svelte.js +15 -17
  317. package/package/components/copilot/chat/AvailableContextList.svelte +215 -12
  318. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +1 -0
  319. package/package/components/copilot/chat/ContextTextarea.svelte +15 -2
  320. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +1 -1
  321. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +4 -2
  322. package/package/components/copilot/chat/app/core.js +7 -86
  323. package/package/components/copilot/chat/context.js +4 -1
  324. package/package/components/copilot/chat/flow/core.js +193 -61
  325. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  326. package/package/components/copilot/chat/flow/openFlowZod.d.ts +2 -2
  327. package/package/components/copilot/chat/flow/openFlowZod.js +6 -8
  328. package/package/components/copilot/chat/navigator/core.d.ts +2 -2
  329. package/package/components/copilot/chat/navigator/core.js +11 -2
  330. package/package/components/copilot/chat/script/core.js +4 -1
  331. package/package/components/copilot/chat/shared.d.ts +53 -1
  332. package/package/components/copilot/chat/shared.js +227 -1
  333. package/package/components/copilot/lib.js +42 -0
  334. package/package/components/dedicated_worker.d.ts +7 -0
  335. package/package/components/dedicated_worker.js +36 -0
  336. package/package/components/details/DetailPageHeader.svelte +8 -23
  337. package/package/components/details/DetailPageHeader.svelte.d.ts +1 -0
  338. package/package/components/details/DetailPageLayout.svelte +1 -1
  339. package/package/components/details/createAppFromScript.d.ts +136 -16
  340. package/package/components/details/createAppFromScript.js +13 -12
  341. package/package/components/diffEditorTypes.d.ts +6 -0
  342. package/package/components/diffEditorTypes.js +1 -0
  343. package/package/components/flows/CreateActionsApp.svelte +32 -82
  344. package/package/components/flows/CreateActionsFlow.svelte +28 -28
  345. package/package/components/flows/FlowAssetsHandler.svelte +1 -4
  346. package/package/components/flows/FlowProgressBar.svelte +37 -1
  347. package/package/components/flows/FlowProgressBar.svelte.d.ts +3 -0
  348. package/package/components/flows/agentToolUtils.d.ts +18 -0
  349. package/package/components/flows/agentToolUtils.js +47 -0
  350. package/package/components/flows/common/FlowCardHeader.svelte +8 -9
  351. package/package/components/flows/content/FlowEnvironmentVariables.svelte +3 -2
  352. package/package/components/flows/content/FlowLoop.svelte +3 -4
  353. package/package/components/flows/content/FlowModuleCache.svelte +1 -3
  354. package/package/components/flows/content/FlowModuleComponent.svelte +22 -6
  355. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  356. package/package/components/flows/content/FlowResult.svelte +77 -25
  357. package/package/components/flows/content/FlowRetries.svelte +1 -1
  358. package/package/components/flows/content/FlowSettings.svelte +4 -7
  359. package/package/components/flows/flowState.js +6 -0
  360. package/package/components/flows/flowStateUtils.svelte.js +4 -1
  361. package/package/components/flows/flowStore.svelte.d.ts +1 -1
  362. package/package/components/flows/flowStore.svelte.js +4 -2
  363. package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  364. package/package/components/flows/header/FlowYamlEditor.svelte +2 -2
  365. package/package/components/flows/map/FlowModuleSchemaMap.svelte +12 -6
  366. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -2
  367. package/package/components/flows/map/InsertModuleInner.svelte +7 -0
  368. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  369. package/package/components/flows/missingInputWarnings.js +7 -0
  370. package/package/components/flows/pickers/PickHubScriptQuick.svelte +4 -4
  371. package/package/components/flows/propPicker/OutputPicker.svelte +1 -1
  372. package/package/components/flows/propPicker/PropPickerWrapper.svelte +6 -9
  373. package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +3 -3
  374. package/package/components/flows/scheduleUtils.js +2 -2
  375. package/package/components/flows/types.d.ts +1 -3
  376. package/package/components/flows/utils.svelte.js +5 -1
  377. package/package/components/git_sync/GitSyncRepositoryCard.svelte +23 -21
  378. package/package/components/git_sync/GitSyncSection.svelte +24 -27
  379. package/package/components/graph/FlowGraphV2.svelte +1 -1
  380. package/package/components/graph/graphBuilder.svelte.d.ts +3 -1
  381. package/package/components/graph/model.d.ts +1 -1
  382. package/package/components/graph/renderers/nodes/AIToolNode.svelte +3 -1
  383. package/package/components/graph/renderers/nodes/AssetNode.svelte +25 -13
  384. package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
  385. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +8 -0
  386. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
  387. package/package/components/home/Item.svelte +9 -15
  388. package/package/components/home/Item.svelte.d.ts +8 -7
  389. package/package/components/home/ItemsList.svelte +4 -10
  390. package/package/components/home/ItemsList.svelte.d.ts +1 -0
  391. package/package/components/icons/GoogleCalendarIcon.svelte +41 -0
  392. package/package/components/icons/GoogleCalendarIcon.svelte.d.ts +7 -0
  393. package/package/components/icons/GoogleDriveIcon.svelte +30 -0
  394. package/package/components/icons/GoogleDriveIcon.svelte.d.ts +7 -0
  395. package/package/components/icons/GoogleIcon.svelte +15 -6
  396. package/package/components/icons/GoogleIcon.svelte.d.ts +5 -2
  397. package/package/components/icons/MSSqlServerIcon.svelte +111 -47
  398. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte +94 -0
  399. package/package/components/instanceSettings/IndexerJobIndexSettings.svelte.d.ts +9 -0
  400. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte +67 -0
  401. package/package/components/instanceSettings/IndexerLogIndexSettings.svelte.d.ts +9 -0
  402. package/package/components/instanceSettings/IndexerMemorySettings.svelte +109 -0
  403. package/package/components/instanceSettings/IndexerMemorySettings.svelte.d.ts +9 -0
  404. package/package/components/instanceSettings/SecretBackendConfig.svelte +15 -16
  405. package/package/components/instanceSettings/SettingCard.svelte +47 -0
  406. package/package/components/instanceSettings/SettingCard.svelte.d.ts +19 -0
  407. package/package/components/instanceSettings/SettingsSearchInput.svelte +66 -0
  408. package/package/components/instanceSettings/SettingsSearchInput.svelte.d.ts +9 -0
  409. package/package/components/instanceSettings.d.ts +52 -0
  410. package/package/components/instanceSettings.js +413 -69
  411. package/package/components/meltComponents/MenuItem.svelte +1 -0
  412. package/package/components/meltComponents/Popover.svelte +10 -1
  413. package/package/components/meltComponents/Popover.svelte.d.ts +2 -0
  414. package/package/components/meltComponents/Tooltip.svelte +2 -1
  415. package/package/components/meltComponents/Tooltip.svelte.d.ts +1 -0
  416. package/package/components/moveRenameManager.d.ts +21 -0
  417. package/package/components/moveRenameManager.js +61 -0
  418. package/package/components/progressBar/ProgressBar.svelte +69 -27
  419. package/package/components/progressBar/ProgressBar.svelte.d.ts +7 -0
  420. package/package/components/prop_picker.d.ts +0 -3
  421. package/package/components/propertyPicker/PropPicker.svelte +34 -49
  422. package/package/components/propertyPicker/PropPicker.svelte.d.ts +12 -11
  423. package/package/components/raw_apps/FileTreeNode.svelte +1 -0
  424. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +3 -2
  425. package/package/components/raw_apps/RawAppEditor.svelte +20 -16
  426. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +4 -4
  427. package/package/components/raw_apps/RawAppEditorHeader.svelte +73 -7
  428. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -1
  429. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +1 -2
  430. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +41 -1
  431. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +0 -1
  432. package/package/components/raw_apps/RawAppSidebar.svelte +32 -284
  433. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -1
  434. package/package/components/raw_apps/RunnableRow.svelte +88 -34
  435. package/package/components/raw_apps/RunnableRow.svelte.d.ts +4 -0
  436. package/package/components/resources/resourcesFilter.d.ts +70 -0
  437. package/package/components/resources/resourcesFilter.js +61 -0
  438. package/package/components/runs/BatchReRunOptionsPane.svelte +130 -121
  439. package/package/components/runs/BatchReRunOptionsPane.svelte.d.ts +3 -2
  440. package/package/components/runs/FlowExecutionStatus.svelte +30 -0
  441. package/package/components/runs/FlowExecutionStatus.svelte.d.ts +15 -0
  442. package/package/components/runs/JobDetailFieldConfig.d.ts +47 -0
  443. package/package/components/runs/JobDetailFieldConfig.js +433 -0
  444. package/package/components/runs/JobDetailHeader.svelte +551 -0
  445. package/package/components/runs/JobDetailHeader.svelte.d.ts +17 -0
  446. package/package/components/runs/JobRunsPreview.svelte +174 -218
  447. package/package/components/runs/JobRunsPreview.svelte.d.ts +0 -1
  448. package/package/components/runs/JobStatusIcon.svelte +47 -0
  449. package/package/components/runs/JobStatusIcon.svelte.d.ts +9 -0
  450. package/package/components/runs/RunBadges.svelte +39 -34
  451. package/package/components/runs/RunBadges.svelte.d.ts +2 -1
  452. package/package/components/runs/RunRow.svelte +24 -64
  453. package/package/components/runs/RunRow.svelte.d.ts +1 -2
  454. package/package/components/runs/RunsTable.svelte +312 -131
  455. package/package/components/runs/RunsTable.svelte.d.ts +4 -3
  456. package/package/components/runs/TimeframeSelect.svelte +189 -0
  457. package/package/components/runs/TimeframeSelect.svelte.d.ts +44 -0
  458. package/package/components/runs/runsFilter.d.ts +201 -0
  459. package/package/components/runs/runsFilter.js +182 -0
  460. package/package/components/runs/useJobsLoader.svelte.d.ts +5 -7
  461. package/package/components/runs/useJobsLoader.svelte.js +27 -30
  462. package/package/components/schedules/schedulesFilter.d.ts +65 -0
  463. package/package/components/schedules/schedulesFilter.js +60 -0
  464. package/package/components/schema/EditableSchemaWrapper.svelte +43 -22
  465. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -1
  466. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  467. package/package/components/schema/PropertyEditor.svelte +1 -0
  468. package/package/components/schema/RunningJobSchemaPicker.svelte +1 -1
  469. package/package/components/schema/editable_schema_wrapper.d.ts +1 -0
  470. package/package/components/scripts/CreateActionsScript.svelte +0 -1
  471. package/package/components/search/GlobalSearchModal.svelte +1 -8
  472. package/package/components/select/GenericDropdown.svelte +113 -0
  473. package/package/components/select/GenericDropdown.svelte.d.ts +37 -0
  474. package/package/components/select/Select.svelte +17 -4
  475. package/package/components/select/Select.svelte.d.ts +2 -1
  476. package/package/components/select/SelectDropdown.svelte +76 -155
  477. package/package/components/select/SelectDropdown.svelte.d.ts +4 -1
  478. package/package/components/settings/ChangeWorkspaceColor.svelte +7 -8
  479. package/package/components/settings/ChangeWorkspaceId.svelte +4 -6
  480. package/package/components/settings/ChangeWorkspaceName.svelte +6 -8
  481. package/package/components/settings/PremiumInfo.svelte +268 -128
  482. package/package/components/settings/SettingsPageHeader.svelte +22 -0
  483. package/package/components/settings/SettingsPageHeader.svelte.d.ts +10 -0
  484. package/package/components/settings/WorkspaceUserSettings.svelte +13 -23
  485. package/package/components/sidebar/CriticalAlertModalInner.svelte +28 -22
  486. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +5 -20
  487. package/package/components/sidebar/DarkModeToggle.svelte +2 -2
  488. package/package/components/sidebar/FavoriteMenu.svelte +101 -20
  489. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +29 -1
  490. package/package/components/sidebar/MenuButton.svelte +10 -7
  491. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  492. package/package/components/sidebar/MenuLink.svelte +4 -3
  493. package/package/components/sidebar/OperatorMenu.svelte +3 -1
  494. package/package/components/sidebar/OperatorMenu.svelte.d.ts +6 -1
  495. package/package/components/sidebar/SidebarContent.svelte +3 -3
  496. package/package/components/sidebar/WorkspaceMenu.svelte +3 -2
  497. package/package/components/table/AutoDataTable.svelte +2 -2
  498. package/package/components/toast.js +1 -2
  499. package/package/components/triggers/AddTriggersButton.svelte +11 -0
  500. package/package/components/triggers/TriggerFilters.svelte +71 -0
  501. package/package/components/triggers/TriggerFilters.svelte.d.ts +10 -0
  502. package/package/components/triggers/TriggersEditor.svelte +31 -11
  503. package/package/components/triggers/TriggersWrapper.svelte +10 -0
  504. package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
  505. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +7 -0
  506. package/package/components/triggers/kafka/utils.js +1 -0
  507. package/package/components/triggers/native/NativeTriggerEditor.svelte +22 -17
  508. package/package/components/triggers/native/NativeTriggerTable.svelte +16 -0
  509. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte +112 -0
  510. package/package/components/triggers/native/services/google/GoogleCalendarPicker.svelte.d.ts +8 -0
  511. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte +323 -0
  512. package/package/components/triggers/native/services/google/GoogleDrivePicker.svelte.d.ts +8 -0
  513. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte +116 -0
  514. package/package/components/triggers/native/services/google/GoogleTriggerForm.svelte.d.ts +12 -0
  515. package/package/components/triggers/native/utils.d.ts +0 -1
  516. package/package/components/triggers/native/utils.js +15 -1
  517. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +3 -3
  518. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  519. package/package/components/triggers/triggers.svelte.js +11 -3
  520. package/package/components/triggers/utils.js +33 -6
  521. package/package/components/triggers/websocket/WebsocketEditorConfigSection.svelte +1 -1
  522. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +3 -81
  523. package/package/components/triggers.d.ts +1 -1
  524. package/package/components/variables/variablesFilter.d.ts +56 -0
  525. package/package/components/variables/variablesFilter.js +51 -0
  526. package/package/components/waitJob.d.ts +1 -1
  527. package/package/components/waitJob.js +3 -2
  528. package/package/components/worker_group.d.ts +2 -0
  529. package/package/components/worker_group.js +15 -0
  530. package/package/components/workspaceSettings/AISettings.svelte +36 -42
  531. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -0
  532. package/package/components/workspaceSettings/CreateWorkspace.svelte +4 -4
  533. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte.d.ts +1 -2
  534. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -16
  535. package/package/components/workspaceSettings/DataTableSettings.svelte.d.ts +1 -0
  536. package/package/components/workspaceSettings/DucklakeSettings.svelte +21 -15
  537. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -0
  538. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +24 -66
  539. package/package/components/workspaceSettings/ModelTokenLimits.svelte +6 -10
  540. package/package/components/workspaceSettings/OAuthClientConfig.svelte +46 -75
  541. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +8 -1
  542. package/package/components/workspaceSettings/RulesetEditor.svelte +280 -0
  543. package/package/components/workspaceSettings/RulesetEditor.svelte.d.ts +9 -0
  544. package/package/components/workspaceSettings/SettingsFooter.svelte +35 -0
  545. package/package/components/workspaceSettings/SettingsFooter.svelte.d.ts +12 -0
  546. package/package/components/workspaceSettings/StorageSettings.svelte +48 -34
  547. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  548. package/package/components/workspaceSettings/WorkspaceDependenciesSettings.svelte +66 -27
  549. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +237 -73
  550. package/package/components/workspaceSettings/WorkspaceRulesets.svelte +183 -0
  551. package/package/components/workspaceSettings/WorkspaceRulesets.svelte.d.ts +3 -0
  552. package/package/editorLangUtils.d.ts +1 -1
  553. package/package/gen/core/OpenAPI.js +1 -1
  554. package/package/gen/schemas.gen.d.ts +996 -70
  555. package/package/gen/schemas.gen.js +1352 -378
  556. package/package/gen/services.gen.d.ts +156 -41
  557. package/package/gen/services.gen.js +319 -83
  558. package/package/gen/types.gen.d.ts +1896 -317
  559. package/package/hub.d.ts +1 -0
  560. package/package/hub.js +7 -0
  561. package/package/hubPaths.json +2 -1
  562. package/package/infer.d.ts +2 -0
  563. package/package/mcpEndpointTools.d.ts +3 -0
  564. package/package/mcpEndpointTools.js +574 -147
  565. package/package/rawAppWmillTs.js +12 -11
  566. package/package/scripts.d.ts +1 -1
  567. package/package/scripts.js +1 -1
  568. package/package/storeUtils.js +8 -0
  569. package/package/stores.d.ts +1 -1
  570. package/package/stores.js +4 -2
  571. package/package/svelte5Utils.svelte.d.ts +40 -0
  572. package/package/svelte5Utils.svelte.js +158 -0
  573. package/package/svelte5UtilsKit.svelte.d.ts +13 -3
  574. package/package/svelte5UtilsKit.svelte.js +96 -20
  575. package/package/system_prompts/prompts.d.ts +5 -5
  576. package/package/system_prompts/prompts.js +94 -21
  577. package/package/toast.d.ts +5 -1
  578. package/package/toast.js +14 -5
  579. package/package/utils.js +214 -7
  580. package/package/utils_deployable.d.ts +25 -25
  581. package/package/utils_deployable.js +2 -1
  582. package/package/validators/workspaceSettings.d.ts +12 -0
  583. package/package/validators/workspaceSettings.js +72 -0
  584. package/package/workspaceProtectionRules.svelte.d.ts +73 -0
  585. package/package/workspaceProtectionRules.svelte.js +176 -0
  586. package/package.json +8 -5
  587. package/package/components/DropdownSelect.svelte +0 -26
  588. package/package/components/DropdownSelect.svelte.d.ts +0 -11
  589. package/package/components/FlowPreviewResult.svelte +0 -84
  590. package/package/components/FlowPreviewResult.svelte.d.ts +0 -20
  591. package/package/components/copilot/chat/context.d.ts +0 -119
  592. package/package/components/flows/propPicker/FlowPropPicker.svelte +0 -72
  593. package/package/components/flows/propPicker/FlowPropPicker.svelte.d.ts +0 -23
  594. package/package/components/runs/ManuelDatePicker.svelte +0 -96
  595. package/package/components/runs/ManuelDatePicker.svelte.d.ts +0 -35
  596. package/package/components/runs/RunsBatchActionsDropdown.svelte +0 -82
  597. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +0 -15
  598. package/package/components/runs/RunsFilter.svelte +0 -966
  599. package/package/components/runs/RunsFilter.svelte.d.ts +0 -80
@@ -0,0 +1,580 @@
1
+ <script module lang="ts">export function fromCalendarDate(cd) {
2
+ if (calendarDateIsNull(cd))
3
+ return null;
4
+ const now = new Date();
5
+ return new Date(cd?.year ?? now.getFullYear(), (cd?.month ?? now.getMonth() + 1) - 1, cd?.day ?? now.getDate(), cd?.hour ?? 0, cd?.minute ?? 0);
6
+ }
7
+ export function toCalendarDate(date) {
8
+ if (!date) {
9
+ return { day: null, month: null, year: null, hour: null, minute: null };
10
+ }
11
+ return {
12
+ day: date.getDate(),
13
+ month: date.getMonth() + 1,
14
+ year: date.getFullYear(),
15
+ hour: date.getHours(),
16
+ minute: date.getMinutes()
17
+ };
18
+ }
19
+ function calendarDateIsNull(cd) {
20
+ if (!cd)
21
+ return true;
22
+ return cd.day == null || cd.month == null || cd.year == null;
23
+ }
24
+ </script>
25
+
26
+ <script lang="ts">import { startOfWeek, endOfWeek, eachDayOfInterval, isSameMonth, getDaysInMonth } from 'date-fns';
27
+ import { ChevronLeft, ChevronRight, ClockIcon } from 'lucide-svelte';
28
+ import { twMerge } from 'tailwind-merge';
29
+ import Button from './button/Button.svelte';
30
+ import Select from '../select/Select.svelte';
31
+ import { isUSLocale } from '../../utils';
32
+ let { mode = 'date', value = $bindable(), class: className, ...rest } = $props();
33
+ const onClickBehavior = $derived(mode === 'range' ? (rest.onClickBehavior ?? 'set-range') : 'set-range');
34
+ const infiniteRange = $derived(mode === 'range' && !!rest.infiniteRange);
35
+ const emptyDate = { day: null, month: null, year: null, hour: null, minute: null };
36
+ export function calendarDateIsNull(cd) {
37
+ return !cd || (cd.day == null && cd.month == null && cd.year == null);
38
+ }
39
+ // Pick the date that should be visible on mount
40
+ function initialViewDate() {
41
+ const fallback = { month: today.getMonth() + 1, year: today.getFullYear() };
42
+ let cd;
43
+ if (mode === 'date') {
44
+ cd = value;
45
+ }
46
+ else {
47
+ const v = value;
48
+ const behavior = rest.onClickBehavior ?? 'set-range';
49
+ if (behavior === 'set-start') {
50
+ cd = v?.start;
51
+ }
52
+ else if (behavior === 'set-end') {
53
+ cd = v?.end;
54
+ }
55
+ else {
56
+ cd = !calendarDateIsNull(v?.start) ? v?.start : v?.end;
57
+ }
58
+ }
59
+ if (!calendarDateIsNull(cd) && cd.month != null && cd.year != null) {
60
+ return { month: cd.month, year: cd.year };
61
+ }
62
+ return fallback;
63
+ }
64
+ const today = new Date();
65
+ // Internal navigation state (what month/year is displayed in the calendar)
66
+ const _init = initialViewDate();
67
+ let viewMonth = $state(_init.month);
68
+ let viewYear = $state(_init.year);
69
+ // The date whose month/year the calendar should track (mirrors initialViewDate logic)
70
+ const trackedDate = $derived.by(() => {
71
+ if (mode === 'date') {
72
+ const v = value;
73
+ return v && !calendarDateIsNull(v) ? v : null;
74
+ }
75
+ const v = value;
76
+ if (onClickBehavior === 'set-start')
77
+ return v?.start && !calendarDateIsNull(v.start) ? v.start : null;
78
+ if (onClickBehavior === 'set-end')
79
+ return v?.end && !calendarDateIsNull(v.end) ? v.end : null;
80
+ return null;
81
+ });
82
+ // Keep the view in sync when value is changed externally
83
+ $effect(() => {
84
+ if (trackedDate?.month != null && trackedDate?.year != null) {
85
+ viewMonth = trackedDate.month;
86
+ viewYear = trackedDate.year;
87
+ }
88
+ });
89
+ // Range hover tracking
90
+ let hoverDate = $state(null);
91
+ let rangeSelectingStart = $state(false);
92
+ // Month names for selector
93
+ const MONTH_NAMES = [
94
+ 'January',
95
+ 'February',
96
+ 'March',
97
+ 'April',
98
+ 'May',
99
+ 'June',
100
+ 'July',
101
+ 'August',
102
+ 'September',
103
+ 'October',
104
+ 'November',
105
+ 'December'
106
+ ];
107
+ const YEAR_LIST_DELTA = 4;
108
+ const YEAR_LIST = Array.from({ length: YEAR_LIST_DELTA * 2 + 1 }, (_, i) => new Date().getFullYear() - YEAR_LIST_DELTA + i);
109
+ const DAY_LABELS = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
110
+ // Build the grid: 6 rows × 7 cols of CalendarDate (with nullish fields for padding)
111
+ const calendarDays = $derived.by(() => {
112
+ const firstDay = new Date(viewYear, viewMonth - 1, 1);
113
+ const lastDay = new Date(viewYear, viewMonth - 1, getDaysInMonth(firstDay));
114
+ const gridStart = startOfWeek(firstDay, { weekStartsOn: 0 });
115
+ const gridEnd = endOfWeek(lastDay, { weekStartsOn: 0 });
116
+ const allDays = eachDayOfInterval({ start: gridStart, end: gridEnd });
117
+ return allDays.map((d) => ({
118
+ day: d.getDate(),
119
+ month: d.getMonth() + 1,
120
+ year: d.getFullYear(),
121
+ hour: null,
122
+ minute: null,
123
+ isCurrentMonth: isSameMonth(d, firstDay)
124
+ }));
125
+ });
126
+ // Year options for selector (current year ± 50)
127
+ function calendarDateToDate(cd) {
128
+ if (cd.day == null || cd.month == null || cd.year == null)
129
+ return null;
130
+ return new Date(cd.year, cd.month - 1, cd.day);
131
+ }
132
+ function isSameCalDate(a, b) {
133
+ if (!a || !b)
134
+ return false;
135
+ return a.day === b.day && a.month === b.month && a.year === b.year;
136
+ }
137
+ function isDaySelected(cell) {
138
+ if (mode === 'date') {
139
+ const v = value;
140
+ if (!v)
141
+ return false;
142
+ return isSameCalDate(cell, v);
143
+ }
144
+ else {
145
+ const v = value;
146
+ if (!v)
147
+ return false;
148
+ if (onClickBehavior === 'set-start')
149
+ return isSameCalDate(cell, v.start);
150
+ if (onClickBehavior === 'set-end')
151
+ return isSameCalDate(cell, v.end);
152
+ return isSameCalDate(cell, v.start) || isSameCalDate(cell, v.end);
153
+ }
154
+ }
155
+ function isDayInRange(cell) {
156
+ if (mode !== 'range')
157
+ return false;
158
+ const v = value;
159
+ const startDate = v?.start ? calendarDateToDate(v.start) : null;
160
+ const endDate = v?.end ? calendarDateToDate(v.end) : null;
161
+ const cellDate = calendarDateToDate(cell);
162
+ if (!cellDate)
163
+ return false;
164
+ // If actively selecting (first click done, hovering), show hover range
165
+ if (rangeSelectingStart && startDate && hoverDate) {
166
+ const hDate = calendarDateToDate(hoverDate);
167
+ if (hDate) {
168
+ const lo = startDate < hDate ? startDate : hDate;
169
+ const hi = startDate < hDate ? hDate : startDate;
170
+ return cellDate > lo && cellDate < hi;
171
+ }
172
+ }
173
+ if (infiniteRange) {
174
+ if (!startDate && !endDate)
175
+ return false;
176
+ if (!startDate)
177
+ return cellDate < endDate;
178
+ if (!endDate)
179
+ return cellDate > startDate;
180
+ }
181
+ if (!startDate || !endDate)
182
+ return false;
183
+ return cellDate > startDate && cellDate < endDate;
184
+ }
185
+ function isDayRangeStart(cell) {
186
+ if (mode !== 'range')
187
+ return false;
188
+ const v = value;
189
+ return isSameCalDate(cell, v?.start ?? null);
190
+ }
191
+ function isDayDisabled(cell) {
192
+ if (mode !== 'range')
193
+ return false;
194
+ const v = value;
195
+ const cellDate = calendarDateToDate(cell);
196
+ if (!cellDate)
197
+ return false;
198
+ if (onClickBehavior === 'set-start') {
199
+ const endDate = v?.end ? calendarDateToDate(v.end) : null;
200
+ return endDate != null && cellDate > endDate;
201
+ }
202
+ if (onClickBehavior === 'set-end') {
203
+ const startDate = v?.start ? calendarDateToDate(v.start) : null;
204
+ return startDate != null && cellDate < startDate;
205
+ }
206
+ return false;
207
+ }
208
+ function isDayRangeEnd(cell) {
209
+ if (mode !== 'range')
210
+ return false;
211
+ const v = value;
212
+ if (rangeSelectingStart && hoverDate) {
213
+ const startDate = v?.start ? calendarDateToDate(v.start) : null;
214
+ const hDate = calendarDateToDate(hoverDate);
215
+ const cellDate = calendarDateToDate(cell);
216
+ if (startDate && hDate && cellDate) {
217
+ const end = startDate < hDate ? hoverDate : (v?.start ?? null);
218
+ return isSameCalDate(cell, end);
219
+ }
220
+ }
221
+ return isSameCalDate(cell, v?.end ?? null);
222
+ }
223
+ function handleDayClick(cell) {
224
+ const cd = {
225
+ day: cell.day,
226
+ month: cell.month,
227
+ year: cell.year,
228
+ hour: null,
229
+ minute: null
230
+ };
231
+ if (mode === 'date') {
232
+ const v = value;
233
+ value = isSameCalDate(cd, v ?? null)
234
+ ? emptyDate
235
+ : { ...cd, hour: v?.hour ?? null, minute: v?.minute ?? null };
236
+ }
237
+ else {
238
+ const v = value;
239
+ if (onClickBehavior === 'set-start') {
240
+ const newStart = isSameCalDate(cd, v?.start ?? null)
241
+ ? emptyDate
242
+ : { ...cd, hour: v?.start?.hour ?? null, minute: v?.start?.minute ?? null };
243
+ value = { start: newStart, end: v?.end ?? emptyDate };
244
+ }
245
+ else if (onClickBehavior === 'set-end') {
246
+ const newEnd = isSameCalDate(cd, v?.end ?? null)
247
+ ? emptyDate
248
+ : { ...cd, hour: v?.end?.hour ?? null, minute: v?.end?.minute ?? null };
249
+ value = { start: v?.start ?? emptyDate, end: newEnd };
250
+ }
251
+ else {
252
+ // 'set-range': two-click flow
253
+ if (!rangeSelectingStart) {
254
+ // First click: toggle start (deselect if same day), clear end
255
+ if (isSameCalDate(cd, v?.start ?? null)) {
256
+ value = { start: emptyDate, end: emptyDate };
257
+ }
258
+ else {
259
+ value = { start: cd, end: emptyDate };
260
+ rangeSelectingStart = true;
261
+ }
262
+ }
263
+ else {
264
+ // Second click: set end, auto-swap if needed
265
+ const start = v?.start ?? emptyDate;
266
+ const startDate = calendarDateToDate(start);
267
+ const endDate = calendarDateToDate(cd);
268
+ if (startDate && endDate && endDate < startDate) {
269
+ value = { start: cd, end: start };
270
+ }
271
+ else {
272
+ value = { start, end: cd };
273
+ }
274
+ rangeSelectingStart = false;
275
+ hoverDate = null;
276
+ }
277
+ }
278
+ }
279
+ // Navigate to that month if clicking an out-of-month day
280
+ if (!cell.isCurrentMonth) {
281
+ viewMonth = cell.month;
282
+ viewYear = cell.year;
283
+ }
284
+ }
285
+ function prevMonth() {
286
+ if (viewMonth === 1) {
287
+ viewMonth = 12;
288
+ viewYear -= 1;
289
+ }
290
+ else {
291
+ viewMonth -= 1;
292
+ }
293
+ }
294
+ function nextMonth() {
295
+ if (viewMonth === 12) {
296
+ viewMonth = 1;
297
+ viewYear += 1;
298
+ }
299
+ else {
300
+ viewMonth += 1;
301
+ }
302
+ }
303
+ // The CalendarDate whose hour/minute the time inputs control
304
+ const timeTarget = $derived.by(() => {
305
+ if (mode === 'date')
306
+ return value ?? null;
307
+ const v = value;
308
+ if (onClickBehavior === 'set-start')
309
+ return v?.start ?? null;
310
+ if (onClickBehavior === 'set-end')
311
+ return v?.end ?? null;
312
+ return null; // set-range: no single time target
313
+ });
314
+ const showTime = $derived(timeTarget !== null);
315
+ // Returns the base CalendarDate to mutate, falling back to today if no date selected yet
316
+ function withTodayFallback(cd) {
317
+ if (cd.day != null && cd.month != null && cd.year != null)
318
+ return cd;
319
+ const t = new Date();
320
+ return {
321
+ ...cd,
322
+ day: cd.day ?? t.getDate(),
323
+ month: cd.month ?? t.getMonth() + 1,
324
+ year: cd.year ?? t.getFullYear()
325
+ };
326
+ }
327
+ const usLocale = $derived(isUSLocale());
328
+ function selectAllOnFocus(e) {
329
+ ;
330
+ e.target.select();
331
+ }
332
+ function patchTarget(patch) {
333
+ if (mode === 'date') {
334
+ value = { ...withTodayFallback(value), ...patch };
335
+ }
336
+ else {
337
+ const v = value;
338
+ if (onClickBehavior === 'set-start')
339
+ value = { start: { ...withTodayFallback(v.start), ...patch }, end: v.end };
340
+ else if (onClickBehavior === 'set-end')
341
+ value = { start: v.start, end: { ...withTodayFallback(v.end), ...patch } };
342
+ }
343
+ }
344
+ function setDay(raw) {
345
+ const d = parseInt(raw, 10);
346
+ if (isNaN(d))
347
+ return;
348
+ patchTarget({ day: Math.max(1, Math.min(31, d)) });
349
+ }
350
+ function setMonth(raw) {
351
+ const mo = parseInt(raw, 10);
352
+ if (isNaN(mo))
353
+ return;
354
+ patchTarget({ month: Math.max(1, Math.min(12, mo)) });
355
+ }
356
+ function setYear(raw) {
357
+ const y = parseInt(raw, 10);
358
+ if (isNaN(y))
359
+ return;
360
+ patchTarget({ year: y });
361
+ }
362
+ </script>
363
+
364
+ <div class="flex flex-col {className}">
365
+ <!-- Header -->
366
+ <div class="mb-3 flex items-center gap-1.5">
367
+ <Button
368
+ endIcon={{ icon: ChevronLeft }}
369
+ iconOnly
370
+ unifiedSize="md"
371
+ onClick={prevMonth}
372
+ wrapperClasses="bg-surface-input"
373
+ />
374
+
375
+ <div class="flex flex-1 divide-x">
376
+ <Select
377
+ class="basis-1/2"
378
+ inputClass="text-center !rounded-r-none !border-r-0"
379
+ disablePortal
380
+ bind:value={viewMonth}
381
+ items={MONTH_NAMES.map((name, i) => ({ label: name, value: i + 1 }))}
382
+ />
383
+ <Select
384
+ class="basis-1/2"
385
+ inputClass="text-center !rounded-l-none !border-l-0"
386
+ disablePortal
387
+ bind:value={viewYear}
388
+ onCreateItem={(val) => (viewYear = parseInt(val) || viewYear)}
389
+ items={YEAR_LIST.map((year) => ({ label: year.toString(), value: year }))}
390
+ />
391
+ </div>
392
+
393
+ <Button
394
+ endIcon={{ icon: ChevronRight }}
395
+ iconOnly
396
+ unifiedSize="md"
397
+ onClick={nextMonth}
398
+ wrapperClasses="bg-surface-input"
399
+ />
400
+ </div>
401
+
402
+ <!-- Day-of-week labels -->
403
+ <div class="mb-1 grid grid-cols-7">
404
+ {#each DAY_LABELS as label (label)}
405
+ <div
406
+ class="flex h-7 items-center justify-center text-3xs font-medium uppercase tracking-wide text-secondary"
407
+ >
408
+ {label}
409
+ </div>
410
+ {/each}
411
+ </div>
412
+
413
+ <!-- Day grid -->
414
+ <div class="grid grid-cols-7">
415
+ {#each calendarDays as cell (`${cell.year}-${cell.month}-${cell.day}`)}
416
+ {@const selected = isDaySelected(cell)}
417
+ {@const inRange = isDayInRange(cell)}
418
+ {@const isStart = isDayRangeStart(cell)}
419
+ {@const isEnd = isDayRangeEnd(cell)}
420
+ {@const disabled = isDayDisabled(cell)}
421
+ {@const isToday =
422
+ cell.day === today.getDate() &&
423
+ cell.month === today.getMonth() + 1 &&
424
+ cell.year === today.getFullYear()}
425
+ <button
426
+ type="button"
427
+ onclick={() => !disabled && handleDayClick(cell)}
428
+ onmouseenter={() => {
429
+ if (rangeSelectingStart) hoverDate = cell
430
+ }}
431
+ onmouseleave={() => {
432
+ if (rangeSelectingStart) hoverDate = null
433
+ }}
434
+ class={twMerge(
435
+ 'relative flex my-0.5 h-9 min-w-9 w-full items-center justify-center text-sm transition-colors focus:outline-none',
436
+ disabled ? 'opacity-15' : !cell.isCurrentMonth ? 'text-hint' : 'text-primary',
437
+ !disabled && selected ? 'font-semibold' : 'font-normal',
438
+ !disabled && inRange ? 'bg-surface-secondary' : '',
439
+ !disabled && (isStart || isEnd) ? 'bg-surface-secondary' : '',
440
+ !disabled && isStart && mode === 'range' ? 'rounded-l' : '',
441
+ !disabled && isEnd && mode === 'range' ? 'rounded-r' : ''
442
+ )}
443
+ aria-label="{cell.year}-{String(cell.month).padStart(2, '0')}-{String(cell.day).padStart(
444
+ 2,
445
+ '0'
446
+ )}"
447
+ aria-pressed={selected}
448
+ aria-disabled={disabled}
449
+ >
450
+ <!-- Selection circle / highlight -->
451
+ {#if selected}
452
+ <span class="absolute inset-0 z-0 rounded-md bg-surface-accent-primary"></span>
453
+ {/if}
454
+ <span
455
+ class={twMerge(
456
+ 'relative z-10',
457
+ selected ? 'text-white dark:text-white' : isToday && !disabled ? 'text-accent' : ''
458
+ )}
459
+ >
460
+ {cell.day}
461
+ </span>
462
+ </button>
463
+ {/each}
464
+ </div>
465
+
466
+ <div class="flex-1"></div>
467
+
468
+ <!-- Time inputs -->
469
+ {#if showTime}
470
+ <div class="border-t my-4"></div>
471
+ <div class="flex justify-center">
472
+ <div
473
+ class="px-2 !h-8 flex border bg-surface-secondary dark:bg-surface rounded-l-md w-fit items-center gap-0"
474
+ >
475
+ {#if usLocale}
476
+ <!-- MM / DD / YYYY -->
477
+ <input
478
+ type="text"
479
+ inputmode="numeric"
480
+ maxlength="2"
481
+ value={timeTarget?.month != null ? String(timeTarget.month).padStart(2, '0') : ''}
482
+ placeholder="MM"
483
+ onfocus={selectAllOnFocus}
484
+ onchange={(e) => setMonth((e.target as HTMLInputElement).value)}
485
+ style="background: transparent !important;"
486
+ class="!border-none !w-8 !h-7 !px-1.5 text-center font-mono"
487
+ aria-label="Month"
488
+ />
489
+ <span class="text-sm font-medium font-mono text-secondary">/</span>
490
+ <input
491
+ type="text"
492
+ inputmode="numeric"
493
+ maxlength="2"
494
+ value={timeTarget?.day != null ? String(timeTarget.day).padStart(2, '0') : ''}
495
+ placeholder="DD"
496
+ onfocus={selectAllOnFocus}
497
+ onchange={(e) => setDay((e.target as HTMLInputElement).value)}
498
+ style="background: transparent !important;"
499
+ class="!border-none !w-8 !h-7 !px-1.5 text-center font-mono"
500
+ aria-label="Day"
501
+ />
502
+ {:else}
503
+ <!-- DD / MM / YYYY -->
504
+ <input
505
+ type="text"
506
+ inputmode="numeric"
507
+ maxlength="2"
508
+ value={timeTarget?.day != null ? String(timeTarget.day).padStart(2, '0') : ''}
509
+ placeholder="DD"
510
+ onfocus={selectAllOnFocus}
511
+ onchange={(e) => setDay((e.target as HTMLInputElement).value)}
512
+ style="background: transparent !important;"
513
+ class="!border-none !w-8 !h-7 !px-1.5 text-center font-mono"
514
+ aria-label="Day"
515
+ />
516
+ <span class="text-sm font-medium font-mono text-secondary">/</span>
517
+ <input
518
+ type="text"
519
+ inputmode="numeric"
520
+ maxlength="2"
521
+ value={timeTarget?.month != null ? String(timeTarget.month).padStart(2, '0') : ''}
522
+ placeholder="MM"
523
+ onfocus={selectAllOnFocus}
524
+ onchange={(e) => setMonth((e.target as HTMLInputElement).value)}
525
+ style="background: transparent !important;"
526
+ class="!border-none !w-8 !h-7 !px-1.5 text-center font-mono"
527
+ aria-label="Month"
528
+ />
529
+ {/if}
530
+ <span class="text-sm font-medium font-mono text-secondary">/</span>
531
+ <input
532
+ type="text"
533
+ inputmode="numeric"
534
+ maxlength="4"
535
+ value={timeTarget?.year != null ? String(timeTarget.year) : ''}
536
+ placeholder="YYYY"
537
+ onfocus={selectAllOnFocus}
538
+ onchange={(e) => setYear((e.target as HTMLInputElement).value)}
539
+ style="background: transparent !important;"
540
+ class="!border-none !w-12 !h-7 !px-1.5 text-center font-mono"
541
+ aria-label="Year"
542
+ />
543
+ </div>
544
+ <div
545
+ class="pl-2 !h-8 flex border border-l-0 rounded-r-md w-fit items-center gap-0 bg-surface-input"
546
+ >
547
+ <input
548
+ type="text"
549
+ inputmode="numeric"
550
+ maxlength="2"
551
+ value={timeTarget?.hour != null ? String(timeTarget.hour).padStart(2, '0') : ''}
552
+ placeholder="HH"
553
+ onfocus={selectAllOnFocus}
554
+ onchange={(e) => {
555
+ const h = Math.max(0, Math.min(23, parseInt((e.target as HTMLInputElement).value, 10)))
556
+ if (!isNaN(h)) patchTarget({ hour: h })
557
+ }}
558
+ class="!border-none !w-8 !h-7 !px-1.5 text-right font-mono"
559
+ aria-label="Hour"
560
+ />
561
+ <span class="text-sm font-medium font-mono text-secondary">:</span>
562
+ <input
563
+ type="text"
564
+ inputmode="numeric"
565
+ maxlength="2"
566
+ value={timeTarget?.minute != null ? String(timeTarget.minute).padStart(2, '0') : ''}
567
+ placeholder="MM"
568
+ onfocus={selectAllOnFocus}
569
+ onchange={(e) => {
570
+ const m = Math.max(0, Math.min(59, parseInt((e.target as HTMLInputElement).value, 10)))
571
+ if (!isNaN(m)) patchTarget({ minute: m })
572
+ }}
573
+ class="!border-none !w-8 !h-7 !px-1.5 text-left font-mono"
574
+ aria-label="Minute"
575
+ />
576
+ <ClockIcon size={14} class="mr-3" />
577
+ </div>
578
+ </div>
579
+ {/if}
580
+ </div>
@@ -0,0 +1,31 @@
1
+ export interface CalendarDate {
2
+ day: number | null;
3
+ month: number | null;
4
+ year: number | null;
5
+ hour: number | null;
6
+ minute: number | null;
7
+ }
8
+ export interface CalendarRange {
9
+ start: CalendarDate;
10
+ end: CalendarDate;
11
+ }
12
+ export declare function fromCalendarDate(cd: CalendarDate | null | undefined): Date | null;
13
+ export declare function toCalendarDate(date: Date | null | undefined): CalendarDate;
14
+ interface DateProps {
15
+ mode?: 'date';
16
+ value?: CalendarDate;
17
+ }
18
+ interface RangeProps {
19
+ mode: 'range';
20
+ value?: CalendarRange;
21
+ onClickBehavior?: 'set-range' | 'set-start' | 'set-end';
22
+ infiniteRange?: boolean;
23
+ }
24
+ type Props = (DateProps | RangeProps) & {
25
+ class?: string;
26
+ };
27
+ declare const InlineCalendarInput: import("svelte").Component<Props, {
28
+ calendarDateIsNull: (cd: CalendarDate | null | undefined) => boolean;
29
+ }, "value">;
30
+ type InlineCalendarInput = ReturnType<typeof InlineCalendarInput>;
31
+ export default InlineCalendarInput;
@@ -1,15 +1,9 @@
1
- <script lang="ts">import { classes } from './model';
1
+ <script lang="ts">import { classes, icons } from './model';
2
2
  import Tooltip from '../../Tooltip.svelte';
3
- import { AlertCircle, AlertTriangle, CheckCircle2, Info, ChevronDown, ChevronUp } from 'lucide-svelte';
3
+ import { ChevronDown, ChevronUp } from 'lucide-svelte';
4
4
  import { slide } from 'svelte/transition';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  let { type = 'info', title, notRounded = false, tooltip = '', documentationLink = undefined, size = 'sm', collapsible = false, bgClass = undefined, bgStyle = undefined, iconClass = undefined, iconStyle = undefined, titleClass = undefined, titleStyle = undefined, descriptionClass = undefined, descriptionStyle = undefined, class: classNames = undefined, isCollapsed = $bindable(true), children } = $props();
7
- const icons = {
8
- info: Info,
9
- warning: AlertCircle,
10
- error: AlertTriangle,
11
- success: CheckCircle2
12
- };
13
7
  function toggleCollapse() {
14
8
  if (collapsible) {
15
9
  isCollapsed = !isCollapsed;
@@ -1,2 +1,3 @@
1
1
  export type AlertType = 'success' | 'error' | 'warning' | 'info';
2
2
  export declare const classes: Record<AlertType, Record<string, string>>;
3
+ export declare const icons: Record<AlertType, any>;
@@ -1,3 +1,4 @@
1
+ import { AlertCircle, AlertTriangle, CheckCircle2, Info } from 'lucide-svelte';
1
2
  export const classes = {
2
3
  info: {
3
4
  bgClass: 'bg-blue-50 border-blue-100 border dark:bg-blue-900/60 dark:border-blue-700/40',
@@ -24,3 +25,9 @@ export const classes = {
24
25
  descriptionClass: 'text-green-700 dark:text-green-100/90'
25
26
  }
26
27
  };
28
+ export const icons = {
29
+ info: Info,
30
+ warning: AlertCircle,
31
+ error: AlertTriangle,
32
+ success: CheckCircle2
33
+ };
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">import { twMerge } from 'tailwind-merge';
2
2
  import { ColorModifier } from './model';
3
3
  import { X } from 'lucide-svelte';
4
- let { color = 'gray', large = false, small = false, href = '', rounded = false, dismissable = false, wrapperClass = '', baseClass = 'text-center text-primary font-normal min-h-5', capitalize = false, icon = undefined, verySmall = false, class: classNames = undefined, clickable = false, selected = false, children, onkeydown, onclick, ...rest } = $props();
4
+ let { color = 'gray', large = false, small = false, href = '', rounded = false, roundedFull = false, dismissable = false, wrapperClass = '', baseClass = 'text-center text-primary font-normal', capitalize = false, icon = undefined, verySmall = false, class: classNames = undefined, clickable = false, selected = false, children, onkeydown, onclick, ...rest } = $props();
5
5
  let hidden = $state(false);
6
6
  const colors = {
7
7
  gray: 'bg-surface-sunken text-primary',
@@ -60,11 +60,15 @@ const hovers = {
60
60
  ['dark-violet']: 'hover:bg-violet-600 dark:hover:bg-violet-700',
61
61
  transparent: 'hover:bg-surface-hover dark:hover:border-gray-500'
62
62
  };
63
- let badgeClass = $derived(twMerge(baseClass, small ? 'text-2xs' : verySmall ? 'text-2xs' : large ? 'text-xs' : 'text-2xs', selected ? selectedColors[color] : colors[color], clickable &&
63
+ let badgeClass = $derived(twMerge(baseClass, small ? 'text-2xs' : verySmall ? 'text-2xs' : large ? 'text-sm' : 'text-2xs', selected ? selectedColors[color] : colors[color], clickable &&
64
64
  !selected &&
65
65
  (color.startsWith(ColorModifier)
66
66
  ? hovers[color.replace(ColorModifier, '')]
67
- : hovers[color]), rounded ? 'rounded-full px-2 py-1' : 'rounded-md px-2 py-0.5', verySmall ? 'px-0.5 py-0.5' : '', 'flex flex-row gap-1 items-center', classNames));
67
+ : hovers[color]), roundedFull
68
+ ? 'rounded-full p-2 w-fit h-fit'
69
+ : rounded
70
+ ? 'rounded-full px-2 py-1'
71
+ : 'rounded-md px-2 py-0.5', verySmall ? 'px-0.5 py-0.5' : '', 'flex flex-row gap-1 items-center justify-center', classNames));
68
72
  const handleHide = () => (hidden = !hidden);
69
73
  </script>
70
74
 
@@ -5,6 +5,7 @@ interface Props {
5
5
  small?: boolean;
6
6
  href?: string;
7
7
  rounded?: boolean;
8
+ roundedFull?: boolean;
8
9
  dismissable?: boolean;
9
10
  wrapperClass?: string;
10
11
  baseClass?: string;