@atom8n/n8n-editor-ui 2.2.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 (310) hide show
  1. package/.stylelintcache +1 -0
  2. package/README.md +59 -0
  3. package/biome.jsonc +8 -0
  4. package/build.log +55 -0
  5. package/data/node-popularity.json +3998 -0
  6. package/dist/assets/AddDataTableModal-UINkk54_.js +1555 -0
  7. package/dist/assets/AgentEditorModal-CVww87TJ.js +358 -0
  8. package/dist/assets/Alert-Dy86dyOr.js +102 -0
  9. package/dist/assets/AnimatedSpinner-DmPN4poP.js +15 -0
  10. package/dist/assets/AnnotationTagsDropdown.ee-BJ7N9lek.js +71 -0
  11. package/dist/assets/AuthView-D2LWHrMp.js +106 -0
  12. package/dist/assets/BottomMenu-CIQiK_dJ.js +532 -0
  13. package/dist/assets/CalendarDate-DgQUMbNo.js +875 -0
  14. package/dist/assets/ChangePasswordView-Z6tUkw0u.js +133 -0
  15. package/dist/assets/ChatAgentAvatar-50YBnv3N.js +67 -0
  16. package/dist/assets/ChatFile-xZxmc2nV.js +146 -0
  17. package/dist/assets/ChatLayout-CTE_5SiM.js +96 -0
  18. package/dist/assets/ChatPersonalAgentsView-BGpHk03K.js +149 -0
  19. package/dist/assets/ChatSidebar-BkVwIypC.js +528 -0
  20. package/dist/assets/ChatView-BbbdeU9x.js +1559 -0
  21. package/dist/assets/ChatWorkflowAgentsView-BtunOxlC.js +116 -0
  22. package/dist/assets/CollectionParameter-BdcPG1lu.js +52 -0
  23. package/dist/assets/CommitMonoVariable-ytizKI8U.woff2 +0 -0
  24. package/dist/assets/CommunityNodeUpdateInfo-C37kca4W.js +273 -0
  25. package/dist/assets/CopyInput-DDZVu2iU.js +74 -0
  26. package/dist/assets/CredentialIcon-8YdTTFZ1.js +80 -0
  27. package/dist/assets/CredentialPicker-DWtj314o.js +293 -0
  28. package/dist/assets/CredentialSelectorModal-DTW2fKh0.js +138 -0
  29. package/dist/assets/CredentialsView-BjUchcCu.js +480 -0
  30. package/dist/assets/DataTableActions-DpAkoxg_.js +95 -0
  31. package/dist/assets/DataTableDetailsView-Coq7zdW5.js +41922 -0
  32. package/dist/assets/DataTableView-Cs-BIkzw.js +293 -0
  33. package/dist/assets/DemoFooter-Cga3jvi-.js +65 -0
  34. package/dist/assets/Draggable-vfvXl9Sp.js +105 -0
  35. package/dist/assets/EmptySharedSectionActionBox-DOXZtTCv.js +36 -0
  36. package/dist/assets/EnterpriseEdition.ee-D_rCFexM.js +15 -0
  37. package/dist/assets/EntityNotFound-3dhTRWsE.js +85 -0
  38. package/dist/assets/EntityUnAuthorised-ChJYZakE.js +66 -0
  39. package/dist/assets/ErrorView-zT9cX76a.js +61 -0
  40. package/dist/assets/EvaluationsRootView-C-OVWYnY.js +523 -0
  41. package/dist/assets/EvaluationsView-CJwJTruc.js +469 -0
  42. package/dist/assets/ExecutionsTime-DEQiyozR.js +573 -0
  43. package/dist/assets/ExecutionsView-Bd5Oh8TH.js +791 -0
  44. package/dist/assets/ExternalSecretsProviderConnectionSwitch.ee-C7Ih-uRo.js +191 -0
  45. package/dist/assets/FixedCollectionParameter-CYuTDW9t.js +496 -0
  46. package/dist/assets/ForgotMyPasswordView-Bs_L9P27.js +102 -0
  47. package/dist/assets/InsightsChartAverageRuntime-Bp3VA8_7.js +62 -0
  48. package/dist/assets/InsightsChartFailed-KPaNWoEr.js +52 -0
  49. package/dist/assets/InsightsChartFailureRate-DE6kE3FM.js +54 -0
  50. package/dist/assets/InsightsChartTimeSaved-auABNZlc.js +68 -0
  51. package/dist/assets/InsightsChartTotal-BKzYRKE7.js +56 -0
  52. package/dist/assets/InsightsDashboard-JWx4W6Db.js +473 -0
  53. package/dist/assets/InsightsPaywall-C8zLLKe8.js +63 -0
  54. package/dist/assets/InsightsSummary-cmN1lHDm.js +210 -0
  55. package/dist/assets/InsightsTableWorkflows-CqcC3IbQ.js +203 -0
  56. package/dist/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
  57. package/dist/assets/InterVariable-Italic-FCBEiFp6.woff2 +0 -0
  58. package/dist/assets/ItemsRenderer-DC8WVyMv.js +922 -0
  59. package/dist/assets/KeyboardShortcutTooltip-D8PAK5JP.js +31 -0
  60. package/dist/assets/LogsPanel-BR06u9RK.js +52 -0
  61. package/dist/assets/LogsPanel-C-_acMHp.js +2325 -0
  62. package/dist/assets/MCPConnectWorkflowsModal-3g8_iUa4.js +303 -0
  63. package/dist/assets/MainHeader-DiQc1edn.js +2153 -0
  64. package/dist/assets/MainSidebar-CoPGG5Ea.js +804 -0
  65. package/dist/assets/MigrationRuleDetail-BAxk1Pvl.js +295 -0
  66. package/dist/assets/MigrationRules-IW9lZMpE.js +285 -0
  67. package/dist/assets/Modal-CIzXlZdZ.js +204 -0
  68. package/dist/assets/ModelByIdSelectorModal-DLvBjzJO.js +115 -0
  69. package/dist/assets/NDVEmptyState-33UoX00I.js +19743 -0
  70. package/dist/assets/NodeCreation-BNzbSWSB.js +240 -0
  71. package/dist/assets/NodeCreator-BftgCKx7.js +1288 -0
  72. package/dist/assets/NodeDetailsView-CsoQCpcF.js +1075 -0
  73. package/dist/assets/NodeDetailsViewV2-C_wNQR_3.js +981 -0
  74. package/dist/assets/NodeIcon-B9VW6tX6.js +87 -0
  75. package/dist/assets/NodeSettings-ZwVip6VR.js +1872 -0
  76. package/dist/assets/NodeView-D4WUEvLB.js +2452 -0
  77. package/dist/assets/OAuthConsentView-DlrUqZbT.js +230 -0
  78. package/dist/assets/PageViewLayout-NT1KPFgy.js +12 -0
  79. package/dist/assets/ParameterInputList-sG2nz-Jo.js +38091 -0
  80. package/dist/assets/PrebuiltAgentTemplatesView-Csi5U8dc.js +154 -0
  81. package/dist/assets/ProjectBreadcrumb-C_XiY7sc.js +98 -0
  82. package/dist/assets/ProjectCardBadge-t_hs7vzx.js +209 -0
  83. package/dist/assets/ProjectHeader-Dq5Ihb26.js +549 -0
  84. package/dist/assets/ProjectIcon-DY8gGuHX.js +64 -0
  85. package/dist/assets/ProjectRoleView-Du-KTrAC.js +435 -0
  86. package/dist/assets/ProjectRolesView-DjxM_y4u.js +239 -0
  87. package/dist/assets/ProjectSettings-C6kWuV21.js +966 -0
  88. package/dist/assets/ProjectSharing-CVUgNWAY.js +262 -0
  89. package/dist/assets/ProjectVariables-CJlAo3dv.js +467 -0
  90. package/dist/assets/ProviderSettingsModal-BUFC2ZLv.js +307 -0
  91. package/dist/assets/PushConnectionTracker-DPBnGV0v.js +27 -0
  92. package/dist/assets/ResolversView-3BdkvvYA.js +209 -0
  93. package/dist/assets/ResourceFiltersDropdown-dgyXpcEX.js +159 -0
  94. package/dist/assets/ResourcesListLayout-qBLtomK6.js +631 -0
  95. package/dist/assets/RunDataHtml-BrW0OQra.js +7 -0
  96. package/dist/assets/RunDataHtml-Cleia4Cj.js +40 -0
  97. package/dist/assets/RunDataJson-uxkrhYRK.js +227 -0
  98. package/dist/assets/RunDataJsonActions-DkPk7E8d.js +5007 -0
  99. package/dist/assets/RunDataParsedAiContent-CtPRjig-.js +26 -0
  100. package/dist/assets/RunDataParsedAiContent-WAuqLQ5M.js +192 -0
  101. package/dist/assets/RunDataSearch-YBWUr93C.js +141 -0
  102. package/dist/assets/RunDataTable-DcXaBynW.js +631 -0
  103. package/dist/assets/SamlOnboarding-BTdQ_hr3.js +78 -0
  104. package/dist/assets/SaveButton-D5sQSxIk.js +89 -0
  105. package/dist/assets/SelectedItemsInfo-BHZ-NvF5.js +58 -0
  106. package/dist/assets/SettingsApiView-IfZTMXx1.js +313 -0
  107. package/dist/assets/SettingsChatHubView-gWh2X6vX.js +285 -0
  108. package/dist/assets/SettingsCommunityNodesView-D8VQtpGY.js +349 -0
  109. package/dist/assets/SettingsExternalSecrets-CpMc7mkW.js +233 -0
  110. package/dist/assets/SettingsLdapView-CU5a2MAy.js +2553 -0
  111. package/dist/assets/SettingsLogStreamingView-uojTe-oX.js +375 -0
  112. package/dist/assets/SettingsMCPView-B5Swp1C_.js +1214 -0
  113. package/dist/assets/SettingsPersonalView-Cr3aGood.js +402 -0
  114. package/dist/assets/SettingsSourceControl-DXOvFDEY.js +547 -0
  115. package/dist/assets/SettingsSso-27MfU1HV.js +1032 -0
  116. package/dist/assets/SettingsUsageAndPlan-DqIO-G46.js +419 -0
  117. package/dist/assets/SettingsUsersView-DfHB4_Kh.js +833 -0
  118. package/dist/assets/SettingsView-C4sA7Uny.js +90 -0
  119. package/dist/assets/SetupTemplateFormStep-BmiSzZin.js +258 -0
  120. package/dist/assets/SetupView-VORZ-L_u.js +112 -0
  121. package/dist/assets/SetupWorkflowCredentialsButton-DTmkOAW5.js +73 -0
  122. package/dist/assets/SetupWorkflowFromTemplateView-B9NupdJE.js +286 -0
  123. package/dist/assets/SeverityTag-CX1qTTNA.js +45 -0
  124. package/dist/assets/SigninView-D9_Pm16j.js +358 -0
  125. package/dist/assets/SignoutView-BFsjEAGz.js +19 -0
  126. package/dist/assets/SignupView-Am4ot0QZ.js +137 -0
  127. package/dist/assets/SkeletonAgentCard-C5TL-h8F.js +191 -0
  128. package/dist/assets/TagsDropdown-Bvx_Hd6Q.js +230 -0
  129. package/dist/assets/TemplateCard-CyQ1GuVz.js +105 -0
  130. package/dist/assets/TemplateDetails-CZRusTxE.js +124 -0
  131. package/dist/assets/TemplateList-DKvbwuiY.js +333 -0
  132. package/dist/assets/TemplatesCollectionView-D8dxU8By.js +184 -0
  133. package/dist/assets/TemplatesSearchView-CebC_GLs.js +1230 -0
  134. package/dist/assets/TemplatesView-025CcmIY.js +57 -0
  135. package/dist/assets/TemplatesWorkflowView-C2JfwJAn.js +170 -0
  136. package/dist/assets/TestRunDetailView-Ck78TTWO.js +395 -0
  137. package/dist/assets/TextWithHighlights-BxumwGnv.js +57 -0
  138. package/dist/assets/TimeAgo-C6EN4lCs.js +123 -0
  139. package/dist/assets/ToolsSelectorModal-8QJoUvRL.js +368 -0
  140. package/dist/assets/TriggerPanel-B6pacLkk.js +1225 -0
  141. package/dist/assets/VirtualSchema-B3zGe_8b.js +2402 -0
  142. package/dist/assets/VirtualSchema-Dkh0Cu5z.js +37 -0
  143. package/dist/assets/VueMarkdown-CQqJL9vK.js +28 -0
  144. package/dist/assets/WorkerView-Caznsljo.js +563 -0
  145. package/dist/assets/WorkflowActivationErrorMessage-CGrfPi9O.js +17 -0
  146. package/dist/assets/WorkflowActivator-BINnz0f7.js +362 -0
  147. package/dist/assets/WorkflowExecutionsInfoAccordion-Dg37yEfT.js +166 -0
  148. package/dist/assets/WorkflowExecutionsLandingPage-V2wdubhK.js +93 -0
  149. package/dist/assets/WorkflowExecutionsPreview-DdJaqYV6.js +616 -0
  150. package/dist/assets/WorkflowExecutionsView-DV8ySTfn.js +808 -0
  151. package/dist/assets/WorkflowHistory-GtaBMzIM.js +973 -0
  152. package/dist/assets/WorkflowLocation-CQ9Sq-2y.js +164 -0
  153. package/dist/assets/WorkflowOnboardingView-C49gt0Jr.js +61 -0
  154. package/dist/assets/WorkflowPreview-CXdvv4Nq.js +186 -0
  155. package/dist/assets/WorkflowTagsDropdown-QwbICWjN.js +71 -0
  156. package/dist/assets/WorkflowsView-B-MWIECO.js +3253 -0
  157. package/dist/assets/_MapCache-CcdIl4Ae.js +363 -0
  158. package/dist/assets/_baseOrderBy-N8Be_6z6.js +2989 -0
  159. package/dist/assets/_initCloneObject-viQQyT6o.js +80 -0
  160. package/dist/assets/_plugin-vue_export-helper-BwBpWJRZ.js +6 -0
  161. package/dist/assets/aiTemplatesStarterCollection.store-nL9nePkK.js +656 -0
  162. package/dist/assets/apiKeys.store-BhOFmP2j.js +51 -0
  163. package/dist/assets/assistant.store-CNywgN4S.js +518 -0
  164. package/dist/assets/auth.eventBus-CWXS0Qp7.js +5 -0
  165. package/dist/assets/banners.store-CGEcBTDn.js +195 -0
  166. package/dist/assets/builder.store-Czk2ipDE.js +31417 -0
  167. package/dist/assets/buttons.esm-yintpW2E.js +364 -0
  168. package/dist/assets/chart-CNvyywtJ.js +10958 -0
  169. package/dist/assets/chartjs.utils-BAE52Cv9.js +155 -0
  170. package/dist/assets/chat.store-290YeyrQ.js +865 -0
  171. package/dist/assets/chatPanel.store-NDaawEZL.js +118 -0
  172. package/dist/assets/chunk-6z4oVpB-.js +36 -0
  173. package/dist/assets/col-Cmt4cmuS.js +158 -0
  174. package/dist/assets/constants-C8OH4tTq.js +106256 -0
  175. package/dist/assets/constants-DMrsrpD7.js +32 -0
  176. package/dist/assets/core-B9gt_4yk.js +4 -0
  177. package/dist/assets/core-CP5FY4aX.js +1202 -0
  178. package/dist/assets/core-CRbPymLT.js +9741 -0
  179. package/dist/assets/dataTable.store-DmipQsol.js +207 -0
  180. package/dist/assets/date-picker-2IDsBs2n.js +4115 -0
  181. package/dist/assets/dateFormatter-ik4-9_9r.js +33 -0
  182. package/dist/assets/dateformat-hG8NERse.js +181 -0
  183. package/dist/assets/dialog-lMho1TD8.js +425 -0
  184. package/dist/assets/dist-Cw46Is-h.js +151 -0
  185. package/dist/assets/doppler-B__k0MeW.webp +0 -0
  186. package/dist/assets/element-icons-B-tDfklg.woff +0 -0
  187. package/dist/assets/element-icons-_lZGOqcG.ttf +0 -0
  188. package/dist/assets/empty-BuGRxzl4.js +2210 -0
  189. package/dist/assets/en-CF30SCh2.js +95 -0
  190. package/dist/assets/en-DyO2pPiC.js +2 -0
  191. package/dist/assets/es-BkUFJVtD.js +43338 -0
  192. package/dist/assets/evaluation.constants-GYAwmJnh.js +284 -0
  193. package/dist/assets/executions.store-B9uRYwgv.js +205 -0
  194. package/dist/assets/exports-Crx_gvt_.js +1799 -0
  195. package/dist/assets/externalSecrets.ee.store-BJh4a_6G.js +118 -0
  196. package/dist/assets/fileUtils-CRWqOQje.js +20 -0
  197. package/dist/assets/folders.store-yAFj-5Vl.js +235 -0
  198. package/dist/assets/get-BcEmeOxn.js +2781 -0
  199. package/dist/assets/index-SL8542zQ.js +28372 -0
  200. package/dist/assets/insights.constants-BkJCYJTL.js +55 -0
  201. package/dist/assets/insights.store-BFc3kDUo.js +61 -0
  202. package/dist/assets/insights.utils-CcLXdrrz.js +77 -0
  203. package/dist/assets/isEmpty-C3XXoHqJ.js +35216 -0
  204. package/dist/assets/languageModules-9LyndCqU.js +13862 -0
  205. package/dist/assets/logStreaming.store-IZhWe_VK.js +190 -0
  206. package/dist/assets/mcp.constants-_Jcn7fPq.js +10 -0
  207. package/dist/assets/mcp.store-B9yfcAN9.js +116 -0
  208. package/dist/assets/merge-DhuTk1HM.js +564 -0
  209. package/dist/assets/nodeCreator.store-Bpnrwp2l.js +5444 -0
  210. package/dist/assets/nodeIcon-D6X-ENYt.js +102 -0
  211. package/dist/assets/nodeTransforms-RzcOM0v2.js +42 -0
  212. package/dist/assets/orderBy-Cu9F9DU_.js +15 -0
  213. package/dist/assets/path-browserify-RUt2u7iT.js +328 -0
  214. package/dist/assets/personalizedTemplatesV3.store-BGYp0YBN.js +334 -0
  215. package/dist/assets/pickBy-UI0Jt4wC.js +18 -0
  216. package/dist/assets/preload-helper-dyVz7ck7.js +59 -0
  217. package/dist/assets/radio-CSce3UT0.js +262 -0
  218. package/dist/assets/readyToRun.store-YEMvPUqo.js +626 -0
  219. package/dist/assets/readyToRunWorkflows.store-G3srgIze.js +1319 -0
  220. package/dist/assets/retry-BgHaYzbB.js +23 -0
  221. package/dist/assets/roles.store-CRf_zJTb.js +51 -0
  222. package/dist/assets/router-DNpzz3GH.js +2631 -0
  223. package/dist/assets/sanitize-html-CbW56HUN.js +10758 -0
  224. package/dist/assets/schemaPreview.store-DUgN1yVE.js +113 -0
  225. package/dist/assets/semver-Bk6DGseV.js +1306 -0
  226. package/dist/assets/smartDecimal-DAZl4HKA.js +6 -0
  227. package/dist/assets/sortByProperty-Cn7iGKYu.js +8 -0
  228. package/dist/assets/sourceControl.eventBus-D47xXSc_.js +3 -0
  229. package/dist/assets/sqlite3-DBpDb1lf.wasm +0 -0
  230. package/dist/assets/sqlite3-opfs-async-proxy-vVtmDGHX.js +461 -0
  231. package/dist/assets/sqlite3-worker1-bundler-friendly-DLarOZDL.js +9405 -0
  232. package/dist/assets/src-jviYSG25.js +55454 -0
  233. package/dist/assets/sso.store-DyApJwhx.js +139 -0
  234. package/dist/assets/style-E3CrYFV8.css +111829 -0
  235. package/dist/assets/table-we1DjFMV.js +3944 -0
  236. package/dist/assets/templateActions-bEDSARw2.js +65 -0
  237. package/dist/assets/templateTransforms-BHWiRbtR.js +43 -0
  238. package/dist/assets/truncate-C0KYt7i3.js +4176 -0
  239. package/dist/assets/typescript.worker-CYqLvLHh.js +152048 -0
  240. package/dist/assets/uniqBy-xDyuCRP0.js +10 -0
  241. package/dist/assets/usage.store-CU5J_nGm.js +100 -0
  242. package/dist/assets/useActions-B1JckIRj.js +255 -0
  243. package/dist/assets/useBeforeUnload-DiDkvI8p.js +40 -0
  244. package/dist/assets/useCanvasMapping-BXT7rGhC.js +12570 -0
  245. package/dist/assets/useCanvasOperations-8ULLtMkY.js +1765 -0
  246. package/dist/assets/useClipboard-DvjhVHqJ.js +39 -0
  247. package/dist/assets/useCommandBar-C4tLJbKt.js +2425 -0
  248. package/dist/assets/useCredentialResolvers-BKeFGJnY.js +78 -0
  249. package/dist/assets/useCustomAgent-DpILEt5e.js +471 -0
  250. package/dist/assets/useDebounce-Br5_1ug-.js +147 -0
  251. package/dist/assets/useExecutionData-M5iKsX6z.js +23 -0
  252. package/dist/assets/useExecutionDebugging-8azMzbnd.js +191 -0
  253. package/dist/assets/useExecutionHelpers-BgRRhpBM.js +91 -0
  254. package/dist/assets/useImportCurlCommand-CKiEmX5P.js +8891 -0
  255. package/dist/assets/useIntersectionObserver-BWMwOueh.js +33 -0
  256. package/dist/assets/useKeybindings-B2jfN6rd.js +62 -0
  257. package/dist/assets/useLogsTreeExpand-sZViUfdM.js +843 -0
  258. package/dist/assets/useMcp-DoMOIfqT.js +27 -0
  259. package/dist/assets/usePageRedirectionHelper-DjkznpX6.js +51 -0
  260. package/dist/assets/usePinnedData-BhZkqttf.js +203 -0
  261. package/dist/assets/usePushConnection-DMS-F_IW.js +513 -0
  262. package/dist/assets/useRecentResources-BVORr7eM.js +118 -0
  263. package/dist/assets/useRunWorkflow-LO7ffLp9.js +950 -0
  264. package/dist/assets/useSettingsItems-BhZXwMZn.js +144 -0
  265. package/dist/assets/useTelemetryContext-V6bv4YRq.js +34 -0
  266. package/dist/assets/useWorkflowActivate-DeSmDXjI.js +152 -0
  267. package/dist/assets/useWorkflowsCache-DtcEEAIR.js +179 -0
  268. package/dist/assets/userRoleProvisioning.store-kkSIdeTo.js +33 -0
  269. package/dist/assets/utils-DI7dLldp.js +54 -0
  270. package/dist/assets/versions.store-B1z2OrLE.js +191 -0
  271. package/dist/assets/vue-CydWIhxN.js +4378 -0
  272. package/dist/assets/vue-json-pretty-CsGX66mG.js +1130 -0
  273. package/dist/assets/vue.runtime.esm-bundler-tP5dCd7J.js +7325 -0
  274. package/dist/assets/xml-B_oj6Mle.js +2060 -0
  275. package/dist/favicon.ico +0 -0
  276. package/dist/index.html +157 -0
  277. package/dist/static/base-path.js +1 -0
  278. package/dist/static/community_package_tooltip_img.png +0 -0
  279. package/dist/static/data-mapping-gif.gif +0 -0
  280. package/dist/static/form-grey.svg +1 -0
  281. package/dist/static/google-auth/disabled.dark.png +0 -0
  282. package/dist/static/google-auth/disabled.png +0 -0
  283. package/dist/static/google-auth/focus.dark.png +0 -0
  284. package/dist/static/google-auth/focus.png +0 -0
  285. package/dist/static/google-auth/normal.dark.png +0 -0
  286. package/dist/static/google-auth/normal.png +0 -0
  287. package/dist/static/google-auth/pressed.dark.png +0 -0
  288. package/dist/static/google-auth/pressed.png +0 -0
  289. package/dist/static/n8n-logo.png +0 -0
  290. package/dist/static/og_image.png +0 -0
  291. package/dist/static/open-ai.svg +1 -0
  292. package/dist/static/openChat.png +0 -0
  293. package/dist/static/posthog.init.js +41 -0
  294. package/dist/static/prefers-color-scheme.css +5 -0
  295. package/dist/static/webhook-icon.svg +1 -0
  296. package/dist/tree-sitter-bash.wasm +0 -0
  297. package/dist/tree-sitter.wasm +0 -0
  298. package/eslint.config.mjs +59 -0
  299. package/index.html +45 -0
  300. package/index.js +0 -0
  301. package/package.json +147 -0
  302. package/postcss.config.cjs +6 -0
  303. package/scripts/fetch-node-popularity.mjs +102 -0
  304. package/stylelint.config.mjs +9 -0
  305. package/tailwind.config.js +8 -0
  306. package/tsconfig.json +36 -0
  307. package/vite/i18n-locales-hmr-helpers.ts +19 -0
  308. package/vite/source-map-js-shim.ts +1 -0
  309. package/vite/vite-plugin-node-popularity.mts +32 -0
  310. package/vite.config.mts +304 -0
@@ -0,0 +1,2553 @@
1
+ import { o as __toESM, t as __commonJSMin } from "./chunk-6z4oVpB-.js";
2
+ import { C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, Gt as unref, It as ref, M as createVNode, P as defineComponent, T as createBlock, Z as onMounted, bt as withCtx, et as openBlock, j as createTextVNode, st as resolveDirective, vn as normalizeClass, w as createBaseVNode, xt as withDirectives } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
3
+ import { rt as useI18n } from "./core-CRbPymLT.js";
4
+ import { Ct as N8nActionBox_default, H as N8nFormInputs_default, R as N8nInfoTip_default, bt as createFormEventBus, vn as N8nHeading_default, xn as N8nButton_default } from "./src-jviYSG25.js";
5
+ import "./en-CF30SCh2.js";
6
+ import "./preload-helper-dyVz7ck7.js";
7
+ import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BwBpWJRZ.js";
8
+ import "./truncate-C0KYt7i3.js";
9
+ import "./_initCloneObject-viQQyT6o.js";
10
+ import { n as ElTableColumn, t as ElTable } from "./table-we1DjFMV.js";
11
+ import { Ri as convertToDisplayDate, S as capitalizeFirstLetter, Xn as useDocumentTitle, h as useMessage, ms as useSettingsStore, y as useToast } from "./builder.store-Czk2ipDE.js";
12
+ import "./empty-BuGRxzl4.js";
13
+ import "./get-BcEmeOxn.js";
14
+ import "./sanitize-html-CbW56HUN.js";
15
+ import "./CalendarDate-DgQUMbNo.js";
16
+ import "./path-browserify-RUt2u7iT.js";
17
+ import "./_MapCache-CcdIl4Ae.js";
18
+ import { rs as MODAL_CONFIRM } from "./constants-C8OH4tTq.js";
19
+ import "./merge-DhuTk1HM.js";
20
+ import "./_baseOrderBy-N8Be_6z6.js";
21
+ import "./dateformat-hG8NERse.js";
22
+ import "./useDebounce-Br5_1ug-.js";
23
+ import "./versions.store-B1z2OrLE.js";
24
+ import { t as usePageRedirectionHelper } from "./usePageRedirectionHelper-DjkznpX6.js";
25
+ import { n as useSSOStore } from "./sso.store-DyApJwhx.js";
26
+ import { t as require_vue } from "./vue-CydWIhxN.js";
27
+ var require_humanize_duration = /* @__PURE__ */ __commonJSMin(((exports, module) => {
28
+ (function() {
29
+ var greek = {
30
+ y: function(c) {
31
+ return c === 1 ? "χρόνος" : "χρόνια";
32
+ },
33
+ mo: function(c) {
34
+ return c === 1 ? "μήνας" : "μήνες";
35
+ },
36
+ w: function(c) {
37
+ return c === 1 ? "εβδομάδα" : "εβδομάδες";
38
+ },
39
+ d: function(c) {
40
+ return c === 1 ? "μέρα" : "μέρες";
41
+ },
42
+ h: function(c) {
43
+ return c === 1 ? "ώρα" : "ώρες";
44
+ },
45
+ m: function(c) {
46
+ return c === 1 ? "λεπτό" : "λεπτά";
47
+ },
48
+ s: function(c) {
49
+ return c === 1 ? "δευτερόλεπτο" : "δευτερόλεπτα";
50
+ },
51
+ ms: function(c) {
52
+ return (c === 1 ? "χιλιοστό" : "χιλιοστά") + " του δευτερολέπτου";
53
+ },
54
+ decimal: ","
55
+ };
56
+ var ARABIC_DIGITS = [
57
+ "۰",
58
+ "١",
59
+ "٢",
60
+ "٣",
61
+ "٤",
62
+ "٥",
63
+ "٦",
64
+ "٧",
65
+ "٨",
66
+ "٩"
67
+ ];
68
+ var LANGUAGES = {
69
+ af: {
70
+ y: "jaar",
71
+ mo: function(c) {
72
+ return "maand" + (c === 1 ? "" : "e");
73
+ },
74
+ w: function(c) {
75
+ return c === 1 ? "week" : "weke";
76
+ },
77
+ d: function(c) {
78
+ return c === 1 ? "dag" : "dae";
79
+ },
80
+ h: function(c) {
81
+ return c === 1 ? "uur" : "ure";
82
+ },
83
+ m: function(c) {
84
+ return c === 1 ? "minuut" : "minute";
85
+ },
86
+ s: function(c) {
87
+ return "sekonde" + (c === 1 ? "" : "s");
88
+ },
89
+ ms: function(c) {
90
+ return "millisekonde" + (c === 1 ? "" : "s");
91
+ },
92
+ decimal: ","
93
+ },
94
+ ar: {
95
+ y: function(c) {
96
+ return [
97
+ "سنة",
98
+ "سنتان",
99
+ "سنوات"
100
+ ][getArabicForm(c)];
101
+ },
102
+ mo: function(c) {
103
+ return [
104
+ "شهر",
105
+ "شهران",
106
+ "أشهر"
107
+ ][getArabicForm(c)];
108
+ },
109
+ w: function(c) {
110
+ return [
111
+ "أسبوع",
112
+ "أسبوعين",
113
+ "أسابيع"
114
+ ][getArabicForm(c)];
115
+ },
116
+ d: function(c) {
117
+ return [
118
+ "يوم",
119
+ "يومين",
120
+ "أيام"
121
+ ][getArabicForm(c)];
122
+ },
123
+ h: function(c) {
124
+ return [
125
+ "ساعة",
126
+ "ساعتين",
127
+ "ساعات"
128
+ ][getArabicForm(c)];
129
+ },
130
+ m: function(c) {
131
+ return [
132
+ "دقيقة",
133
+ "دقيقتان",
134
+ "دقائق"
135
+ ][getArabicForm(c)];
136
+ },
137
+ s: function(c) {
138
+ return [
139
+ "ثانية",
140
+ "ثانيتان",
141
+ "ثواني"
142
+ ][getArabicForm(c)];
143
+ },
144
+ ms: function(c) {
145
+ return [
146
+ "جزء من الثانية",
147
+ "جزآن من الثانية",
148
+ "أجزاء من الثانية"
149
+ ][getArabicForm(c)];
150
+ },
151
+ decimal: ",",
152
+ delimiter: " و ",
153
+ _formatCount: function(count, decimal) {
154
+ var replacements = assign(ARABIC_DIGITS, { ".": decimal });
155
+ var characters = count.toString().split("");
156
+ for (var i = 0; i < characters.length; i++) {
157
+ var character = characters[i];
158
+ if (has(replacements, character)) characters[i] = replacements[character];
159
+ }
160
+ return characters.join("");
161
+ }
162
+ },
163
+ bg: {
164
+ y: function(c) {
165
+ return [
166
+ "години",
167
+ "година",
168
+ "години"
169
+ ][getSlavicForm(c)];
170
+ },
171
+ mo: function(c) {
172
+ return [
173
+ "месеца",
174
+ "месец",
175
+ "месеца"
176
+ ][getSlavicForm(c)];
177
+ },
178
+ w: function(c) {
179
+ return [
180
+ "седмици",
181
+ "седмица",
182
+ "седмици"
183
+ ][getSlavicForm(c)];
184
+ },
185
+ d: function(c) {
186
+ return [
187
+ "дни",
188
+ "ден",
189
+ "дни"
190
+ ][getSlavicForm(c)];
191
+ },
192
+ h: function(c) {
193
+ return [
194
+ "часа",
195
+ "час",
196
+ "часа"
197
+ ][getSlavicForm(c)];
198
+ },
199
+ m: function(c) {
200
+ return [
201
+ "минути",
202
+ "минута",
203
+ "минути"
204
+ ][getSlavicForm(c)];
205
+ },
206
+ s: function(c) {
207
+ return [
208
+ "секунди",
209
+ "секунда",
210
+ "секунди"
211
+ ][getSlavicForm(c)];
212
+ },
213
+ ms: function(c) {
214
+ return [
215
+ "милисекунди",
216
+ "милисекунда",
217
+ "милисекунди"
218
+ ][getSlavicForm(c)];
219
+ },
220
+ decimal: ","
221
+ },
222
+ bn: {
223
+ y: "বছর",
224
+ mo: "মাস",
225
+ w: "সপ্তাহ",
226
+ d: "দিন",
227
+ h: "ঘন্টা",
228
+ m: "মিনিট",
229
+ s: "সেকেন্ড",
230
+ ms: "মিলিসেকেন্ড"
231
+ },
232
+ ca: {
233
+ y: function(c) {
234
+ return "any" + (c === 1 ? "" : "s");
235
+ },
236
+ mo: function(c) {
237
+ return "mes" + (c === 1 ? "" : "os");
238
+ },
239
+ w: function(c) {
240
+ return "setman" + (c === 1 ? "a" : "es");
241
+ },
242
+ d: function(c) {
243
+ return "di" + (c === 1 ? "a" : "es");
244
+ },
245
+ h: function(c) {
246
+ return "hor" + (c === 1 ? "a" : "es");
247
+ },
248
+ m: function(c) {
249
+ return "minut" + (c === 1 ? "" : "s");
250
+ },
251
+ s: function(c) {
252
+ return "segon" + (c === 1 ? "" : "s");
253
+ },
254
+ ms: function(c) {
255
+ return "milisegon" + (c === 1 ? "" : "s");
256
+ },
257
+ decimal: ","
258
+ },
259
+ cs: {
260
+ y: function(c) {
261
+ return [
262
+ "rok",
263
+ "roku",
264
+ "roky",
265
+ "let"
266
+ ][getCzechOrSlovakForm(c)];
267
+ },
268
+ mo: function(c) {
269
+ return [
270
+ "měsíc",
271
+ "měsíce",
272
+ "měsíce",
273
+ "měsíců"
274
+ ][getCzechOrSlovakForm(c)];
275
+ },
276
+ w: function(c) {
277
+ return [
278
+ "týden",
279
+ "týdne",
280
+ "týdny",
281
+ "týdnů"
282
+ ][getCzechOrSlovakForm(c)];
283
+ },
284
+ d: function(c) {
285
+ return [
286
+ "den",
287
+ "dne",
288
+ "dny",
289
+ "dní"
290
+ ][getCzechOrSlovakForm(c)];
291
+ },
292
+ h: function(c) {
293
+ return [
294
+ "hodina",
295
+ "hodiny",
296
+ "hodiny",
297
+ "hodin"
298
+ ][getCzechOrSlovakForm(c)];
299
+ },
300
+ m: function(c) {
301
+ return [
302
+ "minuta",
303
+ "minuty",
304
+ "minuty",
305
+ "minut"
306
+ ][getCzechOrSlovakForm(c)];
307
+ },
308
+ s: function(c) {
309
+ return [
310
+ "sekunda",
311
+ "sekundy",
312
+ "sekundy",
313
+ "sekund"
314
+ ][getCzechOrSlovakForm(c)];
315
+ },
316
+ ms: function(c) {
317
+ return [
318
+ "milisekunda",
319
+ "milisekundy",
320
+ "milisekundy",
321
+ "milisekund"
322
+ ][getCzechOrSlovakForm(c)];
323
+ },
324
+ decimal: ","
325
+ },
326
+ cy: {
327
+ y: "flwyddyn",
328
+ mo: "mis",
329
+ w: "wythnos",
330
+ d: "diwrnod",
331
+ h: "awr",
332
+ m: "munud",
333
+ s: "eiliad",
334
+ ms: "milieiliad"
335
+ },
336
+ da: {
337
+ y: "år",
338
+ mo: function(c) {
339
+ return "måned" + (c === 1 ? "" : "er");
340
+ },
341
+ w: function(c) {
342
+ return "uge" + (c === 1 ? "" : "r");
343
+ },
344
+ d: function(c) {
345
+ return "dag" + (c === 1 ? "" : "e");
346
+ },
347
+ h: function(c) {
348
+ return "time" + (c === 1 ? "" : "r");
349
+ },
350
+ m: function(c) {
351
+ return "minut" + (c === 1 ? "" : "ter");
352
+ },
353
+ s: function(c) {
354
+ return "sekund" + (c === 1 ? "" : "er");
355
+ },
356
+ ms: function(c) {
357
+ return "millisekund" + (c === 1 ? "" : "er");
358
+ },
359
+ decimal: ","
360
+ },
361
+ de: {
362
+ y: function(c) {
363
+ return "Jahr" + (c === 1 ? "" : "e");
364
+ },
365
+ mo: function(c) {
366
+ return "Monat" + (c === 1 ? "" : "e");
367
+ },
368
+ w: function(c) {
369
+ return "Woche" + (c === 1 ? "" : "n");
370
+ },
371
+ d: function(c) {
372
+ return "Tag" + (c === 1 ? "" : "e");
373
+ },
374
+ h: function(c) {
375
+ return "Stunde" + (c === 1 ? "" : "n");
376
+ },
377
+ m: function(c) {
378
+ return "Minute" + (c === 1 ? "" : "n");
379
+ },
380
+ s: function(c) {
381
+ return "Sekunde" + (c === 1 ? "" : "n");
382
+ },
383
+ ms: function(c) {
384
+ return "Millisekunde" + (c === 1 ? "" : "n");
385
+ },
386
+ decimal: ","
387
+ },
388
+ el: greek,
389
+ en: {
390
+ y: function(c) {
391
+ return "year" + (c === 1 ? "" : "s");
392
+ },
393
+ mo: function(c) {
394
+ return "month" + (c === 1 ? "" : "s");
395
+ },
396
+ w: function(c) {
397
+ return "week" + (c === 1 ? "" : "s");
398
+ },
399
+ d: function(c) {
400
+ return "day" + (c === 1 ? "" : "s");
401
+ },
402
+ h: function(c) {
403
+ return "hour" + (c === 1 ? "" : "s");
404
+ },
405
+ m: function(c) {
406
+ return "minute" + (c === 1 ? "" : "s");
407
+ },
408
+ s: function(c) {
409
+ return "second" + (c === 1 ? "" : "s");
410
+ },
411
+ ms: function(c) {
412
+ return "millisecond" + (c === 1 ? "" : "s");
413
+ },
414
+ decimal: "."
415
+ },
416
+ eo: {
417
+ y: function(c) {
418
+ return "jaro" + (c === 1 ? "" : "j");
419
+ },
420
+ mo: function(c) {
421
+ return "monato" + (c === 1 ? "" : "j");
422
+ },
423
+ w: function(c) {
424
+ return "semajno" + (c === 1 ? "" : "j");
425
+ },
426
+ d: function(c) {
427
+ return "tago" + (c === 1 ? "" : "j");
428
+ },
429
+ h: function(c) {
430
+ return "horo" + (c === 1 ? "" : "j");
431
+ },
432
+ m: function(c) {
433
+ return "minuto" + (c === 1 ? "" : "j");
434
+ },
435
+ s: function(c) {
436
+ return "sekundo" + (c === 1 ? "" : "j");
437
+ },
438
+ ms: function(c) {
439
+ return "milisekundo" + (c === 1 ? "" : "j");
440
+ },
441
+ decimal: ","
442
+ },
443
+ es: {
444
+ y: function(c) {
445
+ return "año" + (c === 1 ? "" : "s");
446
+ },
447
+ mo: function(c) {
448
+ return "mes" + (c === 1 ? "" : "es");
449
+ },
450
+ w: function(c) {
451
+ return "semana" + (c === 1 ? "" : "s");
452
+ },
453
+ d: function(c) {
454
+ return "día" + (c === 1 ? "" : "s");
455
+ },
456
+ h: function(c) {
457
+ return "hora" + (c === 1 ? "" : "s");
458
+ },
459
+ m: function(c) {
460
+ return "minuto" + (c === 1 ? "" : "s");
461
+ },
462
+ s: function(c) {
463
+ return "segundo" + (c === 1 ? "" : "s");
464
+ },
465
+ ms: function(c) {
466
+ return "milisegundo" + (c === 1 ? "" : "s");
467
+ },
468
+ decimal: ","
469
+ },
470
+ et: {
471
+ y: function(c) {
472
+ return "aasta" + (c === 1 ? "" : "t");
473
+ },
474
+ mo: function(c) {
475
+ return "kuu" + (c === 1 ? "" : "d");
476
+ },
477
+ w: function(c) {
478
+ return "nädal" + (c === 1 ? "" : "at");
479
+ },
480
+ d: function(c) {
481
+ return "päev" + (c === 1 ? "" : "a");
482
+ },
483
+ h: function(c) {
484
+ return "tund" + (c === 1 ? "" : "i");
485
+ },
486
+ m: function(c) {
487
+ return "minut" + (c === 1 ? "" : "it");
488
+ },
489
+ s: function(c) {
490
+ return "sekund" + (c === 1 ? "" : "it");
491
+ },
492
+ ms: function(c) {
493
+ return "millisekund" + (c === 1 ? "" : "it");
494
+ },
495
+ decimal: ","
496
+ },
497
+ eu: {
498
+ y: "urte",
499
+ mo: "hilabete",
500
+ w: "aste",
501
+ d: "egun",
502
+ h: "ordu",
503
+ m: "minutu",
504
+ s: "segundo",
505
+ ms: "milisegundo",
506
+ decimal: ","
507
+ },
508
+ fa: {
509
+ y: "سال",
510
+ mo: "ماه",
511
+ w: "هفته",
512
+ d: "روز",
513
+ h: "ساعت",
514
+ m: "دقیقه",
515
+ s: "ثانیه",
516
+ ms: "میلی ثانیه",
517
+ decimal: "."
518
+ },
519
+ fi: {
520
+ y: function(c) {
521
+ return c === 1 ? "vuosi" : "vuotta";
522
+ },
523
+ mo: function(c) {
524
+ return c === 1 ? "kuukausi" : "kuukautta";
525
+ },
526
+ w: function(c) {
527
+ return "viikko" + (c === 1 ? "" : "a");
528
+ },
529
+ d: function(c) {
530
+ return "päivä" + (c === 1 ? "" : "ä");
531
+ },
532
+ h: function(c) {
533
+ return "tunti" + (c === 1 ? "" : "a");
534
+ },
535
+ m: function(c) {
536
+ return "minuutti" + (c === 1 ? "" : "a");
537
+ },
538
+ s: function(c) {
539
+ return "sekunti" + (c === 1 ? "" : "a");
540
+ },
541
+ ms: function(c) {
542
+ return "millisekunti" + (c === 1 ? "" : "a");
543
+ },
544
+ decimal: ","
545
+ },
546
+ fo: {
547
+ y: "ár",
548
+ mo: function(c) {
549
+ return c === 1 ? "mánaður" : "mánaðir";
550
+ },
551
+ w: function(c) {
552
+ return c === 1 ? "vika" : "vikur";
553
+ },
554
+ d: function(c) {
555
+ return c === 1 ? "dagur" : "dagar";
556
+ },
557
+ h: function(c) {
558
+ return c === 1 ? "tími" : "tímar";
559
+ },
560
+ m: function(c) {
561
+ return c === 1 ? "minuttur" : "minuttir";
562
+ },
563
+ s: "sekund",
564
+ ms: "millisekund",
565
+ decimal: ","
566
+ },
567
+ fr: {
568
+ y: function(c) {
569
+ return "an" + (c >= 2 ? "s" : "");
570
+ },
571
+ mo: "mois",
572
+ w: function(c) {
573
+ return "semaine" + (c >= 2 ? "s" : "");
574
+ },
575
+ d: function(c) {
576
+ return "jour" + (c >= 2 ? "s" : "");
577
+ },
578
+ h: function(c) {
579
+ return "heure" + (c >= 2 ? "s" : "");
580
+ },
581
+ m: function(c) {
582
+ return "minute" + (c >= 2 ? "s" : "");
583
+ },
584
+ s: function(c) {
585
+ return "seconde" + (c >= 2 ? "s" : "");
586
+ },
587
+ ms: function(c) {
588
+ return "milliseconde" + (c >= 2 ? "s" : "");
589
+ },
590
+ decimal: ","
591
+ },
592
+ gr: greek,
593
+ he: {
594
+ y: function(c) {
595
+ return c === 1 ? "שנה" : "שנים";
596
+ },
597
+ mo: function(c) {
598
+ return c === 1 ? "חודש" : "חודשים";
599
+ },
600
+ w: function(c) {
601
+ return c === 1 ? "שבוע" : "שבועות";
602
+ },
603
+ d: function(c) {
604
+ return c === 1 ? "יום" : "ימים";
605
+ },
606
+ h: function(c) {
607
+ return c === 1 ? "שעה" : "שעות";
608
+ },
609
+ m: function(c) {
610
+ return c === 1 ? "דקה" : "דקות";
611
+ },
612
+ s: function(c) {
613
+ return c === 1 ? "שניה" : "שניות";
614
+ },
615
+ ms: function(c) {
616
+ return c === 1 ? "מילישנייה" : "מילישניות";
617
+ },
618
+ decimal: "."
619
+ },
620
+ hr: {
621
+ y: function(c) {
622
+ if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) return "godine";
623
+ return "godina";
624
+ },
625
+ mo: function(c) {
626
+ if (c === 1) return "mjesec";
627
+ else if (c === 2 || c === 3 || c === 4) return "mjeseca";
628
+ return "mjeseci";
629
+ },
630
+ w: function(c) {
631
+ if (c % 10 === 1 && c !== 11) return "tjedan";
632
+ return "tjedna";
633
+ },
634
+ d: function(c) {
635
+ return c === 1 ? "dan" : "dana";
636
+ },
637
+ h: function(c) {
638
+ if (c === 1) return "sat";
639
+ else if (c === 2 || c === 3 || c === 4) return "sata";
640
+ return "sati";
641
+ },
642
+ m: function(c) {
643
+ var mod10 = c % 10;
644
+ if ((mod10 === 2 || mod10 === 3 || mod10 === 4) && (c < 10 || c > 14)) return "minute";
645
+ return "minuta";
646
+ },
647
+ s: function(c) {
648
+ var mod10 = c % 10;
649
+ if (mod10 === 5 || Math.floor(c) === c && c >= 10 && c <= 19) return "sekundi";
650
+ else if (mod10 === 1) return "sekunda";
651
+ else if (mod10 === 2 || mod10 === 3 || mod10 === 4) return "sekunde";
652
+ return "sekundi";
653
+ },
654
+ ms: function(c) {
655
+ if (c === 1) return "milisekunda";
656
+ else if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) return "milisekunde";
657
+ return "milisekundi";
658
+ },
659
+ decimal: ","
660
+ },
661
+ hi: {
662
+ y: "साल",
663
+ mo: function(c) {
664
+ return c === 1 ? "महीना" : "महीने";
665
+ },
666
+ w: function(c) {
667
+ return c === 1 ? "हफ़्ता" : "हफ्ते";
668
+ },
669
+ d: "दिन",
670
+ h: function(c) {
671
+ return c === 1 ? "घंटा" : "घंटे";
672
+ },
673
+ m: "मिनट",
674
+ s: "सेकंड",
675
+ ms: "मिलीसेकंड",
676
+ decimal: "."
677
+ },
678
+ hu: {
679
+ y: "év",
680
+ mo: "hónap",
681
+ w: "hét",
682
+ d: "nap",
683
+ h: "óra",
684
+ m: "perc",
685
+ s: "másodperc",
686
+ ms: "ezredmásodperc",
687
+ decimal: ","
688
+ },
689
+ id: {
690
+ y: "tahun",
691
+ mo: "bulan",
692
+ w: "minggu",
693
+ d: "hari",
694
+ h: "jam",
695
+ m: "menit",
696
+ s: "detik",
697
+ ms: "milidetik",
698
+ decimal: "."
699
+ },
700
+ is: {
701
+ y: "ár",
702
+ mo: function(c) {
703
+ return "mánuð" + (c === 1 ? "ur" : "ir");
704
+ },
705
+ w: function(c) {
706
+ return "vik" + (c === 1 ? "a" : "ur");
707
+ },
708
+ d: function(c) {
709
+ return "dag" + (c === 1 ? "ur" : "ar");
710
+ },
711
+ h: function(c) {
712
+ return "klukkutím" + (c === 1 ? "i" : "ar");
713
+ },
714
+ m: function(c) {
715
+ return "mínút" + (c === 1 ? "a" : "ur");
716
+ },
717
+ s: function(c) {
718
+ return "sekúnd" + (c === 1 ? "a" : "ur");
719
+ },
720
+ ms: function(c) {
721
+ return "millisekúnd" + (c === 1 ? "a" : "ur");
722
+ },
723
+ decimal: "."
724
+ },
725
+ it: {
726
+ y: function(c) {
727
+ return "ann" + (c === 1 ? "o" : "i");
728
+ },
729
+ mo: function(c) {
730
+ return "mes" + (c === 1 ? "e" : "i");
731
+ },
732
+ w: function(c) {
733
+ return "settiman" + (c === 1 ? "a" : "e");
734
+ },
735
+ d: function(c) {
736
+ return "giorn" + (c === 1 ? "o" : "i");
737
+ },
738
+ h: function(c) {
739
+ return "or" + (c === 1 ? "a" : "e");
740
+ },
741
+ m: function(c) {
742
+ return "minut" + (c === 1 ? "o" : "i");
743
+ },
744
+ s: function(c) {
745
+ return "second" + (c === 1 ? "o" : "i");
746
+ },
747
+ ms: function(c) {
748
+ return "millisecond" + (c === 1 ? "o" : "i");
749
+ },
750
+ decimal: ","
751
+ },
752
+ ja: {
753
+ y: "年",
754
+ mo: "ヶ月",
755
+ w: "週",
756
+ d: "日",
757
+ h: "時間",
758
+ m: "分",
759
+ s: "秒",
760
+ ms: "ミリ秒",
761
+ decimal: "."
762
+ },
763
+ km: {
764
+ y: "ឆ្នាំ",
765
+ mo: "ខែ",
766
+ w: "សប្តាហ៍",
767
+ d: "ថ្ងៃ",
768
+ h: "ម៉ោង",
769
+ m: "នាទី",
770
+ s: "វិនាទី",
771
+ ms: "មិល្លីវិនាទី"
772
+ },
773
+ kn: {
774
+ y: function(c) {
775
+ return c === 1 ? "ವರ್ಷ" : "ವರ್ಷಗಳು";
776
+ },
777
+ mo: function(c) {
778
+ return c === 1 ? "ತಿಂಗಳು" : "ತಿಂಗಳುಗಳು";
779
+ },
780
+ w: function(c) {
781
+ return c === 1 ? "ವಾರ" : "ವಾರಗಳು";
782
+ },
783
+ d: function(c) {
784
+ return c === 1 ? "ದಿನ" : "ದಿನಗಳು";
785
+ },
786
+ h: function(c) {
787
+ return c === 1 ? "ಗಂಟೆ" : "ಗಂಟೆಗಳು";
788
+ },
789
+ m: function(c) {
790
+ return c === 1 ? "ನಿಮಿಷ" : "ನಿಮಿಷಗಳು";
791
+ },
792
+ s: function(c) {
793
+ return c === 1 ? "ಸೆಕೆಂಡ್" : "ಸೆಕೆಂಡುಗಳು";
794
+ },
795
+ ms: function(c) {
796
+ return c === 1 ? "ಮಿಲಿಸೆಕೆಂಡ್" : "ಮಿಲಿಸೆಕೆಂಡುಗಳು";
797
+ }
798
+ },
799
+ ko: {
800
+ y: "년",
801
+ mo: "개월",
802
+ w: "주일",
803
+ d: "일",
804
+ h: "시간",
805
+ m: "분",
806
+ s: "초",
807
+ ms: "밀리 초",
808
+ decimal: "."
809
+ },
810
+ ku: {
811
+ y: "sal",
812
+ mo: "meh",
813
+ w: "hefte",
814
+ d: "roj",
815
+ h: "seet",
816
+ m: "deqe",
817
+ s: "saniye",
818
+ ms: "mîlîçirk",
819
+ decimal: ","
820
+ },
821
+ lo: {
822
+ y: "ປີ",
823
+ mo: "ເດືອນ",
824
+ w: "ອາທິດ",
825
+ d: "ມື້",
826
+ h: "ຊົ່ວໂມງ",
827
+ m: "ນາທີ",
828
+ s: "ວິນາທີ",
829
+ ms: "ມິນລິວິນາທີ",
830
+ decimal: ","
831
+ },
832
+ lt: {
833
+ y: function(c) {
834
+ return c % 10 === 0 || c % 100 >= 10 && c % 100 <= 20 ? "metų" : "metai";
835
+ },
836
+ mo: function(c) {
837
+ return [
838
+ "mėnuo",
839
+ "mėnesiai",
840
+ "mėnesių"
841
+ ][getLithuanianForm(c)];
842
+ },
843
+ w: function(c) {
844
+ return [
845
+ "savaitė",
846
+ "savaitės",
847
+ "savaičių"
848
+ ][getLithuanianForm(c)];
849
+ },
850
+ d: function(c) {
851
+ return [
852
+ "diena",
853
+ "dienos",
854
+ "dienų"
855
+ ][getLithuanianForm(c)];
856
+ },
857
+ h: function(c) {
858
+ return [
859
+ "valanda",
860
+ "valandos",
861
+ "valandų"
862
+ ][getLithuanianForm(c)];
863
+ },
864
+ m: function(c) {
865
+ return [
866
+ "minutė",
867
+ "minutės",
868
+ "minučių"
869
+ ][getLithuanianForm(c)];
870
+ },
871
+ s: function(c) {
872
+ return [
873
+ "sekundė",
874
+ "sekundės",
875
+ "sekundžių"
876
+ ][getLithuanianForm(c)];
877
+ },
878
+ ms: function(c) {
879
+ return [
880
+ "milisekundė",
881
+ "milisekundės",
882
+ "milisekundžių"
883
+ ][getLithuanianForm(c)];
884
+ },
885
+ decimal: ","
886
+ },
887
+ lv: {
888
+ y: function(c) {
889
+ return getLatvianForm(c) ? "gads" : "gadi";
890
+ },
891
+ mo: function(c) {
892
+ return getLatvianForm(c) ? "mēnesis" : "mēneši";
893
+ },
894
+ w: function(c) {
895
+ return getLatvianForm(c) ? "nedēļa" : "nedēļas";
896
+ },
897
+ d: function(c) {
898
+ return getLatvianForm(c) ? "diena" : "dienas";
899
+ },
900
+ h: function(c) {
901
+ return getLatvianForm(c) ? "stunda" : "stundas";
902
+ },
903
+ m: function(c) {
904
+ return getLatvianForm(c) ? "minūte" : "minūtes";
905
+ },
906
+ s: function(c) {
907
+ return getLatvianForm(c) ? "sekunde" : "sekundes";
908
+ },
909
+ ms: function(c) {
910
+ return getLatvianForm(c) ? "milisekunde" : "milisekundes";
911
+ },
912
+ decimal: ","
913
+ },
914
+ mk: {
915
+ y: function(c) {
916
+ return c === 1 ? "година" : "години";
917
+ },
918
+ mo: function(c) {
919
+ return c === 1 ? "месец" : "месеци";
920
+ },
921
+ w: function(c) {
922
+ return c === 1 ? "недела" : "недели";
923
+ },
924
+ d: function(c) {
925
+ return c === 1 ? "ден" : "дена";
926
+ },
927
+ h: function(c) {
928
+ return c === 1 ? "час" : "часа";
929
+ },
930
+ m: function(c) {
931
+ return c === 1 ? "минута" : "минути";
932
+ },
933
+ s: function(c) {
934
+ return c === 1 ? "секунда" : "секунди";
935
+ },
936
+ ms: function(c) {
937
+ return c === 1 ? "милисекунда" : "милисекунди";
938
+ },
939
+ decimal: ","
940
+ },
941
+ mr: {
942
+ y: function(c) {
943
+ return c === 1 ? "वर्ष" : "वर्षे";
944
+ },
945
+ mo: function(c) {
946
+ return c === 1 ? "महिना" : "महिने";
947
+ },
948
+ w: function(c) {
949
+ return c === 1 ? "आठवडा" : "आठवडे";
950
+ },
951
+ d: "दिवस",
952
+ h: "तास",
953
+ m: function(c) {
954
+ return c === 1 ? "मिनिट" : "मिनिटे";
955
+ },
956
+ s: "सेकंद",
957
+ ms: "मिलिसेकंद"
958
+ },
959
+ ms: {
960
+ y: "tahun",
961
+ mo: "bulan",
962
+ w: "minggu",
963
+ d: "hari",
964
+ h: "jam",
965
+ m: "minit",
966
+ s: "saat",
967
+ ms: "milisaat",
968
+ decimal: "."
969
+ },
970
+ nl: {
971
+ y: "jaar",
972
+ mo: function(c) {
973
+ return c === 1 ? "maand" : "maanden";
974
+ },
975
+ w: function(c) {
976
+ return c === 1 ? "week" : "weken";
977
+ },
978
+ d: function(c) {
979
+ return c === 1 ? "dag" : "dagen";
980
+ },
981
+ h: "uur",
982
+ m: function(c) {
983
+ return c === 1 ? "minuut" : "minuten";
984
+ },
985
+ s: function(c) {
986
+ return c === 1 ? "seconde" : "seconden";
987
+ },
988
+ ms: function(c) {
989
+ return c === 1 ? "milliseconde" : "milliseconden";
990
+ },
991
+ decimal: ","
992
+ },
993
+ no: {
994
+ y: "år",
995
+ mo: function(c) {
996
+ return "måned" + (c === 1 ? "" : "er");
997
+ },
998
+ w: function(c) {
999
+ return "uke" + (c === 1 ? "" : "r");
1000
+ },
1001
+ d: function(c) {
1002
+ return "dag" + (c === 1 ? "" : "er");
1003
+ },
1004
+ h: function(c) {
1005
+ return "time" + (c === 1 ? "" : "r");
1006
+ },
1007
+ m: function(c) {
1008
+ return "minutt" + (c === 1 ? "" : "er");
1009
+ },
1010
+ s: function(c) {
1011
+ return "sekund" + (c === 1 ? "" : "er");
1012
+ },
1013
+ ms: function(c) {
1014
+ return "millisekund" + (c === 1 ? "" : "er");
1015
+ },
1016
+ decimal: ","
1017
+ },
1018
+ pl: {
1019
+ y: function(c) {
1020
+ return [
1021
+ "rok",
1022
+ "roku",
1023
+ "lata",
1024
+ "lat"
1025
+ ][getPolishForm(c)];
1026
+ },
1027
+ mo: function(c) {
1028
+ return [
1029
+ "miesiąc",
1030
+ "miesiąca",
1031
+ "miesiące",
1032
+ "miesięcy"
1033
+ ][getPolishForm(c)];
1034
+ },
1035
+ w: function(c) {
1036
+ return [
1037
+ "tydzień",
1038
+ "tygodnia",
1039
+ "tygodnie",
1040
+ "tygodni"
1041
+ ][getPolishForm(c)];
1042
+ },
1043
+ d: function(c) {
1044
+ return [
1045
+ "dzień",
1046
+ "dnia",
1047
+ "dni",
1048
+ "dni"
1049
+ ][getPolishForm(c)];
1050
+ },
1051
+ h: function(c) {
1052
+ return [
1053
+ "godzina",
1054
+ "godziny",
1055
+ "godziny",
1056
+ "godzin"
1057
+ ][getPolishForm(c)];
1058
+ },
1059
+ m: function(c) {
1060
+ return [
1061
+ "minuta",
1062
+ "minuty",
1063
+ "minuty",
1064
+ "minut"
1065
+ ][getPolishForm(c)];
1066
+ },
1067
+ s: function(c) {
1068
+ return [
1069
+ "sekunda",
1070
+ "sekundy",
1071
+ "sekundy",
1072
+ "sekund"
1073
+ ][getPolishForm(c)];
1074
+ },
1075
+ ms: function(c) {
1076
+ return [
1077
+ "milisekunda",
1078
+ "milisekundy",
1079
+ "milisekundy",
1080
+ "milisekund"
1081
+ ][getPolishForm(c)];
1082
+ },
1083
+ decimal: ","
1084
+ },
1085
+ pt: {
1086
+ y: function(c) {
1087
+ return "ano" + (c === 1 ? "" : "s");
1088
+ },
1089
+ mo: function(c) {
1090
+ return c === 1 ? "mês" : "meses";
1091
+ },
1092
+ w: function(c) {
1093
+ return "semana" + (c === 1 ? "" : "s");
1094
+ },
1095
+ d: function(c) {
1096
+ return "dia" + (c === 1 ? "" : "s");
1097
+ },
1098
+ h: function(c) {
1099
+ return "hora" + (c === 1 ? "" : "s");
1100
+ },
1101
+ m: function(c) {
1102
+ return "minuto" + (c === 1 ? "" : "s");
1103
+ },
1104
+ s: function(c) {
1105
+ return "segundo" + (c === 1 ? "" : "s");
1106
+ },
1107
+ ms: function(c) {
1108
+ return "milissegundo" + (c === 1 ? "" : "s");
1109
+ },
1110
+ decimal: ","
1111
+ },
1112
+ ro: {
1113
+ y: function(c) {
1114
+ return c === 1 ? "an" : "ani";
1115
+ },
1116
+ mo: function(c) {
1117
+ return c === 1 ? "lună" : "luni";
1118
+ },
1119
+ w: function(c) {
1120
+ return c === 1 ? "săptămână" : "săptămâni";
1121
+ },
1122
+ d: function(c) {
1123
+ return c === 1 ? "zi" : "zile";
1124
+ },
1125
+ h: function(c) {
1126
+ return c === 1 ? "oră" : "ore";
1127
+ },
1128
+ m: function(c) {
1129
+ return c === 1 ? "minut" : "minute";
1130
+ },
1131
+ s: function(c) {
1132
+ return c === 1 ? "secundă" : "secunde";
1133
+ },
1134
+ ms: function(c) {
1135
+ return c === 1 ? "milisecundă" : "milisecunde";
1136
+ },
1137
+ decimal: ","
1138
+ },
1139
+ ru: {
1140
+ y: function(c) {
1141
+ return [
1142
+ "лет",
1143
+ "год",
1144
+ "года"
1145
+ ][getSlavicForm(c)];
1146
+ },
1147
+ mo: function(c) {
1148
+ return [
1149
+ "месяцев",
1150
+ "месяц",
1151
+ "месяца"
1152
+ ][getSlavicForm(c)];
1153
+ },
1154
+ w: function(c) {
1155
+ return [
1156
+ "недель",
1157
+ "неделя",
1158
+ "недели"
1159
+ ][getSlavicForm(c)];
1160
+ },
1161
+ d: function(c) {
1162
+ return [
1163
+ "дней",
1164
+ "день",
1165
+ "дня"
1166
+ ][getSlavicForm(c)];
1167
+ },
1168
+ h: function(c) {
1169
+ return [
1170
+ "часов",
1171
+ "час",
1172
+ "часа"
1173
+ ][getSlavicForm(c)];
1174
+ },
1175
+ m: function(c) {
1176
+ return [
1177
+ "минут",
1178
+ "минута",
1179
+ "минуты"
1180
+ ][getSlavicForm(c)];
1181
+ },
1182
+ s: function(c) {
1183
+ return [
1184
+ "секунд",
1185
+ "секунда",
1186
+ "секунды"
1187
+ ][getSlavicForm(c)];
1188
+ },
1189
+ ms: function(c) {
1190
+ return [
1191
+ "миллисекунд",
1192
+ "миллисекунда",
1193
+ "миллисекунды"
1194
+ ][getSlavicForm(c)];
1195
+ },
1196
+ decimal: ","
1197
+ },
1198
+ sq: {
1199
+ y: function(c) {
1200
+ return c === 1 ? "vit" : "vjet";
1201
+ },
1202
+ mo: "muaj",
1203
+ w: "javë",
1204
+ d: "ditë",
1205
+ h: "orë",
1206
+ m: function(c) {
1207
+ return "minut" + (c === 1 ? "ë" : "a");
1208
+ },
1209
+ s: function(c) {
1210
+ return "sekond" + (c === 1 ? "ë" : "a");
1211
+ },
1212
+ ms: function(c) {
1213
+ return "milisekond" + (c === 1 ? "ë" : "a");
1214
+ },
1215
+ decimal: ","
1216
+ },
1217
+ sr: {
1218
+ y: function(c) {
1219
+ return [
1220
+ "години",
1221
+ "година",
1222
+ "године"
1223
+ ][getSlavicForm(c)];
1224
+ },
1225
+ mo: function(c) {
1226
+ return [
1227
+ "месеци",
1228
+ "месец",
1229
+ "месеца"
1230
+ ][getSlavicForm(c)];
1231
+ },
1232
+ w: function(c) {
1233
+ return [
1234
+ "недељи",
1235
+ "недеља",
1236
+ "недеље"
1237
+ ][getSlavicForm(c)];
1238
+ },
1239
+ d: function(c) {
1240
+ return [
1241
+ "дани",
1242
+ "дан",
1243
+ "дана"
1244
+ ][getSlavicForm(c)];
1245
+ },
1246
+ h: function(c) {
1247
+ return [
1248
+ "сати",
1249
+ "сат",
1250
+ "сата"
1251
+ ][getSlavicForm(c)];
1252
+ },
1253
+ m: function(c) {
1254
+ return [
1255
+ "минута",
1256
+ "минут",
1257
+ "минута"
1258
+ ][getSlavicForm(c)];
1259
+ },
1260
+ s: function(c) {
1261
+ return [
1262
+ "секунди",
1263
+ "секунда",
1264
+ "секунде"
1265
+ ][getSlavicForm(c)];
1266
+ },
1267
+ ms: function(c) {
1268
+ return [
1269
+ "милисекунди",
1270
+ "милисекунда",
1271
+ "милисекунде"
1272
+ ][getSlavicForm(c)];
1273
+ },
1274
+ decimal: ","
1275
+ },
1276
+ ta: {
1277
+ y: function(c) {
1278
+ return c === 1 ? "வருடம்" : "ஆண்டுகள்";
1279
+ },
1280
+ mo: function(c) {
1281
+ return c === 1 ? "மாதம்" : "மாதங்கள்";
1282
+ },
1283
+ w: function(c) {
1284
+ return c === 1 ? "வாரம்" : "வாரங்கள்";
1285
+ },
1286
+ d: function(c) {
1287
+ return c === 1 ? "நாள்" : "நாட்கள்";
1288
+ },
1289
+ h: function(c) {
1290
+ return c === 1 ? "மணி" : "மணிநேரம்";
1291
+ },
1292
+ m: function(c) {
1293
+ return "நிமிட" + (c === 1 ? "ம்" : "ங்கள்");
1294
+ },
1295
+ s: function(c) {
1296
+ return "வினாடி" + (c === 1 ? "" : "கள்");
1297
+ },
1298
+ ms: function(c) {
1299
+ return "மில்லி விநாடி" + (c === 1 ? "" : "கள்");
1300
+ }
1301
+ },
1302
+ te: {
1303
+ y: function(c) {
1304
+ return "సంవత్స" + (c === 1 ? "రం" : "రాల");
1305
+ },
1306
+ mo: function(c) {
1307
+ return "నెల" + (c === 1 ? "" : "ల");
1308
+ },
1309
+ w: function(c) {
1310
+ return c === 1 ? "వారం" : "వారాలు";
1311
+ },
1312
+ d: function(c) {
1313
+ return "రోజు" + (c === 1 ? "" : "లు");
1314
+ },
1315
+ h: function(c) {
1316
+ return "గంట" + (c === 1 ? "" : "లు");
1317
+ },
1318
+ m: function(c) {
1319
+ return c === 1 ? "నిమిషం" : "నిమిషాలు";
1320
+ },
1321
+ s: function(c) {
1322
+ return c === 1 ? "సెకను" : "సెకన్లు";
1323
+ },
1324
+ ms: function(c) {
1325
+ return c === 1 ? "మిల్లీసెకన్" : "మిల్లీసెకన్లు";
1326
+ }
1327
+ },
1328
+ uk: {
1329
+ y: function(c) {
1330
+ return [
1331
+ "років",
1332
+ "рік",
1333
+ "роки"
1334
+ ][getSlavicForm(c)];
1335
+ },
1336
+ mo: function(c) {
1337
+ return [
1338
+ "місяців",
1339
+ "місяць",
1340
+ "місяці"
1341
+ ][getSlavicForm(c)];
1342
+ },
1343
+ w: function(c) {
1344
+ return [
1345
+ "тижнів",
1346
+ "тиждень",
1347
+ "тижні"
1348
+ ][getSlavicForm(c)];
1349
+ },
1350
+ d: function(c) {
1351
+ return [
1352
+ "днів",
1353
+ "день",
1354
+ "дні"
1355
+ ][getSlavicForm(c)];
1356
+ },
1357
+ h: function(c) {
1358
+ return [
1359
+ "годин",
1360
+ "година",
1361
+ "години"
1362
+ ][getSlavicForm(c)];
1363
+ },
1364
+ m: function(c) {
1365
+ return [
1366
+ "хвилин",
1367
+ "хвилина",
1368
+ "хвилини"
1369
+ ][getSlavicForm(c)];
1370
+ },
1371
+ s: function(c) {
1372
+ return [
1373
+ "секунд",
1374
+ "секунда",
1375
+ "секунди"
1376
+ ][getSlavicForm(c)];
1377
+ },
1378
+ ms: function(c) {
1379
+ return [
1380
+ "мілісекунд",
1381
+ "мілісекунда",
1382
+ "мілісекунди"
1383
+ ][getSlavicForm(c)];
1384
+ },
1385
+ decimal: ","
1386
+ },
1387
+ ur: {
1388
+ y: "سال",
1389
+ mo: function(c) {
1390
+ return c === 1 ? "مہینہ" : "مہینے";
1391
+ },
1392
+ w: function(c) {
1393
+ return c === 1 ? "ہفتہ" : "ہفتے";
1394
+ },
1395
+ d: "دن",
1396
+ h: function(c) {
1397
+ return c === 1 ? "گھنٹہ" : "گھنٹے";
1398
+ },
1399
+ m: "منٹ",
1400
+ s: "سیکنڈ",
1401
+ ms: "ملی سیکنڈ",
1402
+ decimal: "."
1403
+ },
1404
+ sk: {
1405
+ y: function(c) {
1406
+ return [
1407
+ "rok",
1408
+ "roky",
1409
+ "roky",
1410
+ "rokov"
1411
+ ][getCzechOrSlovakForm(c)];
1412
+ },
1413
+ mo: function(c) {
1414
+ return [
1415
+ "mesiac",
1416
+ "mesiace",
1417
+ "mesiace",
1418
+ "mesiacov"
1419
+ ][getCzechOrSlovakForm(c)];
1420
+ },
1421
+ w: function(c) {
1422
+ return [
1423
+ "týždeň",
1424
+ "týždne",
1425
+ "týždne",
1426
+ "týždňov"
1427
+ ][getCzechOrSlovakForm(c)];
1428
+ },
1429
+ d: function(c) {
1430
+ return [
1431
+ "deň",
1432
+ "dni",
1433
+ "dni",
1434
+ "dní"
1435
+ ][getCzechOrSlovakForm(c)];
1436
+ },
1437
+ h: function(c) {
1438
+ return [
1439
+ "hodina",
1440
+ "hodiny",
1441
+ "hodiny",
1442
+ "hodín"
1443
+ ][getCzechOrSlovakForm(c)];
1444
+ },
1445
+ m: function(c) {
1446
+ return [
1447
+ "minúta",
1448
+ "minúty",
1449
+ "minúty",
1450
+ "minút"
1451
+ ][getCzechOrSlovakForm(c)];
1452
+ },
1453
+ s: function(c) {
1454
+ return [
1455
+ "sekunda",
1456
+ "sekundy",
1457
+ "sekundy",
1458
+ "sekúnd"
1459
+ ][getCzechOrSlovakForm(c)];
1460
+ },
1461
+ ms: function(c) {
1462
+ return [
1463
+ "milisekunda",
1464
+ "milisekundy",
1465
+ "milisekundy",
1466
+ "milisekúnd"
1467
+ ][getCzechOrSlovakForm(c)];
1468
+ },
1469
+ decimal: ","
1470
+ },
1471
+ sl: {
1472
+ y: function(c) {
1473
+ if (c % 10 === 1) return "leto";
1474
+ else if (c % 100 === 2) return "leti";
1475
+ else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c && c % 100 <= 5) return "leta";
1476
+ else return "let";
1477
+ },
1478
+ mo: function(c) {
1479
+ if (c % 10 === 1) return "mesec";
1480
+ else if (c % 100 === 2 || Math.floor(c) !== c && c % 100 <= 5) return "meseca";
1481
+ else if (c % 10 === 3 || c % 10 === 4) return "mesece";
1482
+ else return "mesecev";
1483
+ },
1484
+ w: function(c) {
1485
+ if (c % 10 === 1) return "teden";
1486
+ else if (c % 10 === 2 || Math.floor(c) !== c && c % 100 <= 4) return "tedna";
1487
+ else if (c % 10 === 3 || c % 10 === 4) return "tedne";
1488
+ else return "tednov";
1489
+ },
1490
+ d: function(c) {
1491
+ return c % 100 === 1 ? "dan" : "dni";
1492
+ },
1493
+ h: function(c) {
1494
+ if (c % 10 === 1) return "ura";
1495
+ else if (c % 100 === 2) return "uri";
1496
+ else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c) return "ure";
1497
+ else return "ur";
1498
+ },
1499
+ m: function(c) {
1500
+ if (c % 10 === 1) return "minuta";
1501
+ else if (c % 10 === 2) return "minuti";
1502
+ else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c && c % 100 <= 4) return "minute";
1503
+ else return "minut";
1504
+ },
1505
+ s: function(c) {
1506
+ if (c % 10 === 1) return "sekunda";
1507
+ else if (c % 100 === 2) return "sekundi";
1508
+ else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) return "sekunde";
1509
+ else return "sekund";
1510
+ },
1511
+ ms: function(c) {
1512
+ if (c % 10 === 1) return "milisekunda";
1513
+ else if (c % 100 === 2) return "milisekundi";
1514
+ else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) return "milisekunde";
1515
+ else return "milisekund";
1516
+ },
1517
+ decimal: ","
1518
+ },
1519
+ sv: {
1520
+ y: "år",
1521
+ mo: function(c) {
1522
+ return "månad" + (c === 1 ? "" : "er");
1523
+ },
1524
+ w: function(c) {
1525
+ return "veck" + (c === 1 ? "a" : "or");
1526
+ },
1527
+ d: function(c) {
1528
+ return "dag" + (c === 1 ? "" : "ar");
1529
+ },
1530
+ h: function(c) {
1531
+ return "timm" + (c === 1 ? "e" : "ar");
1532
+ },
1533
+ m: function(c) {
1534
+ return "minut" + (c === 1 ? "" : "er");
1535
+ },
1536
+ s: function(c) {
1537
+ return "sekund" + (c === 1 ? "" : "er");
1538
+ },
1539
+ ms: function(c) {
1540
+ return "millisekund" + (c === 1 ? "" : "er");
1541
+ },
1542
+ decimal: ","
1543
+ },
1544
+ sw: {
1545
+ y: function(c) {
1546
+ return c === 1 ? "mwaka" : "miaka";
1547
+ },
1548
+ mo: function(c) {
1549
+ return c === 1 ? "mwezi" : "miezi";
1550
+ },
1551
+ w: "wiki",
1552
+ d: function(c) {
1553
+ return c === 1 ? "siku" : "masiku";
1554
+ },
1555
+ h: function(c) {
1556
+ return c === 1 ? "saa" : "masaa";
1557
+ },
1558
+ m: "dakika",
1559
+ s: "sekunde",
1560
+ ms: "milisekunde",
1561
+ decimal: ".",
1562
+ _numberFirst: true
1563
+ },
1564
+ tr: {
1565
+ y: "yıl",
1566
+ mo: "ay",
1567
+ w: "hafta",
1568
+ d: "gün",
1569
+ h: "saat",
1570
+ m: "dakika",
1571
+ s: "saniye",
1572
+ ms: "milisaniye",
1573
+ decimal: ","
1574
+ },
1575
+ th: {
1576
+ y: "ปี",
1577
+ mo: "เดือน",
1578
+ w: "สัปดาห์",
1579
+ d: "วัน",
1580
+ h: "ชั่วโมง",
1581
+ m: "นาที",
1582
+ s: "วินาที",
1583
+ ms: "มิลลิวินาที",
1584
+ decimal: "."
1585
+ },
1586
+ vi: {
1587
+ y: "năm",
1588
+ mo: "tháng",
1589
+ w: "tuần",
1590
+ d: "ngày",
1591
+ h: "giờ",
1592
+ m: "phút",
1593
+ s: "giây",
1594
+ ms: "mili giây",
1595
+ decimal: ","
1596
+ },
1597
+ zh_CN: {
1598
+ y: "年",
1599
+ mo: "个月",
1600
+ w: "周",
1601
+ d: "天",
1602
+ h: "小时",
1603
+ m: "分钟",
1604
+ s: "秒",
1605
+ ms: "毫秒",
1606
+ decimal: "."
1607
+ },
1608
+ zh_TW: {
1609
+ y: "年",
1610
+ mo: "個月",
1611
+ w: "周",
1612
+ d: "天",
1613
+ h: "小時",
1614
+ m: "分鐘",
1615
+ s: "秒",
1616
+ ms: "毫秒",
1617
+ decimal: "."
1618
+ }
1619
+ };
1620
+ function humanizer(passedOptions) {
1621
+ var result = function humanizer$1(ms, humanizerOptions) {
1622
+ return doHumanization(ms, assign({}, result, humanizerOptions || {}));
1623
+ };
1624
+ return assign(result, {
1625
+ language: "en",
1626
+ spacer: " ",
1627
+ conjunction: "",
1628
+ serialComma: true,
1629
+ units: [
1630
+ "y",
1631
+ "mo",
1632
+ "w",
1633
+ "d",
1634
+ "h",
1635
+ "m",
1636
+ "s"
1637
+ ],
1638
+ languages: {},
1639
+ round: false,
1640
+ unitMeasures: {
1641
+ y: 315576e5,
1642
+ mo: 26298e5,
1643
+ w: 6048e5,
1644
+ d: 864e5,
1645
+ h: 36e5,
1646
+ m: 6e4,
1647
+ s: 1e3,
1648
+ ms: 1
1649
+ }
1650
+ }, passedOptions);
1651
+ }
1652
+ var humanizeDuration$1 = humanizer({});
1653
+ function getDictionary(options) {
1654
+ var languagesFromOptions = [options.language];
1655
+ if (has(options, "fallbacks")) if (isArray(options.fallbacks) && options.fallbacks.length) languagesFromOptions = languagesFromOptions.concat(options.fallbacks);
1656
+ else throw new Error("fallbacks must be an array with at least one element");
1657
+ for (var i = 0; i < languagesFromOptions.length; i++) {
1658
+ var languageToTry = languagesFromOptions[i];
1659
+ if (has(options.languages, languageToTry)) return options.languages[languageToTry];
1660
+ else if (has(LANGUAGES, languageToTry)) return LANGUAGES[languageToTry];
1661
+ }
1662
+ throw new Error("No language found.");
1663
+ }
1664
+ function doHumanization(ms, options) {
1665
+ var i, len, piece;
1666
+ ms = Math.abs(ms);
1667
+ var dictionary = getDictionary(options);
1668
+ var pieces = [];
1669
+ var unitName, unitMS, unitCount;
1670
+ for (i = 0, len = options.units.length; i < len; i++) {
1671
+ unitName = options.units[i];
1672
+ unitMS = options.unitMeasures[unitName];
1673
+ if (i + 1 === len) if (has(options, "maxDecimalPoints")) {
1674
+ var expValue = Math.pow(10, options.maxDecimalPoints);
1675
+ var unitCountFloat = ms / unitMS;
1676
+ unitCount = parseFloat((Math.floor(expValue * unitCountFloat) / expValue).toFixed(options.maxDecimalPoints));
1677
+ } else unitCount = ms / unitMS;
1678
+ else unitCount = Math.floor(ms / unitMS);
1679
+ pieces.push({
1680
+ unitCount,
1681
+ unitName
1682
+ });
1683
+ ms -= unitCount * unitMS;
1684
+ }
1685
+ var firstOccupiedUnitIndex = 0;
1686
+ for (i = 0; i < pieces.length; i++) if (pieces[i].unitCount) {
1687
+ firstOccupiedUnitIndex = i;
1688
+ break;
1689
+ }
1690
+ if (options.round) {
1691
+ var ratioToLargerUnit, previousPiece;
1692
+ for (i = pieces.length - 1; i >= 0; i--) {
1693
+ piece = pieces[i];
1694
+ piece.unitCount = Math.round(piece.unitCount);
1695
+ if (i === 0) break;
1696
+ previousPiece = pieces[i - 1];
1697
+ ratioToLargerUnit = options.unitMeasures[previousPiece.unitName] / options.unitMeasures[piece.unitName];
1698
+ if (piece.unitCount % ratioToLargerUnit === 0 || options.largest && options.largest - 1 < i - firstOccupiedUnitIndex) {
1699
+ previousPiece.unitCount += piece.unitCount / ratioToLargerUnit;
1700
+ piece.unitCount = 0;
1701
+ }
1702
+ }
1703
+ }
1704
+ var result = [];
1705
+ for (i = 0, pieces.length; i < len; i++) {
1706
+ piece = pieces[i];
1707
+ if (piece.unitCount) result.push(render(piece.unitCount, piece.unitName, dictionary, options));
1708
+ if (result.length === options.largest) break;
1709
+ }
1710
+ if (result.length) {
1711
+ var delimiter;
1712
+ if (has(options, "delimiter")) delimiter = options.delimiter;
1713
+ else if (has(dictionary, "delimiter")) delimiter = dictionary.delimiter;
1714
+ else delimiter = ", ";
1715
+ if (!options.conjunction || result.length === 1) return result.join(delimiter);
1716
+ else if (result.length === 2) return result.join(options.conjunction);
1717
+ else if (result.length > 2) return result.slice(0, -1).join(delimiter) + (options.serialComma ? "," : "") + options.conjunction + result.slice(-1);
1718
+ } else return render(0, options.units[options.units.length - 1], dictionary, options);
1719
+ }
1720
+ function render(count, type, dictionary, options) {
1721
+ var decimal;
1722
+ if (has(options, "decimal")) decimal = options.decimal;
1723
+ else if (has(dictionary, "decimal")) decimal = dictionary.decimal;
1724
+ else decimal = ".";
1725
+ var countStr;
1726
+ if (typeof dictionary._formatCount === "function") countStr = dictionary._formatCount(count, decimal);
1727
+ else countStr = count.toString().replace(".", decimal);
1728
+ var dictionaryValue = dictionary[type];
1729
+ var word;
1730
+ if (typeof dictionaryValue === "function") word = dictionaryValue(count);
1731
+ else word = dictionaryValue;
1732
+ if (dictionary._numberFirst) return word + options.spacer + countStr;
1733
+ return countStr + options.spacer + word;
1734
+ }
1735
+ function assign(destination) {
1736
+ var source;
1737
+ for (var i = 1; i < arguments.length; i++) {
1738
+ source = arguments[i];
1739
+ for (var prop in source) if (has(source, prop)) destination[prop] = source[prop];
1740
+ }
1741
+ return destination;
1742
+ }
1743
+ function getArabicForm(c) {
1744
+ if (c === 1) return 0;
1745
+ if (c === 2) return 1;
1746
+ if (c > 2 && c < 11) return 2;
1747
+ return 0;
1748
+ }
1749
+ function getPolishForm(c) {
1750
+ if (c === 1) return 0;
1751
+ else if (Math.floor(c) !== c) return 1;
1752
+ else if (c % 10 >= 2 && c % 10 <= 4 && !(c % 100 > 10 && c % 100 < 20)) return 2;
1753
+ else return 3;
1754
+ }
1755
+ function getSlavicForm(c) {
1756
+ if (Math.floor(c) !== c) return 2;
1757
+ else if (c % 100 >= 5 && c % 100 <= 20 || c % 10 >= 5 && c % 10 <= 9 || c % 10 === 0) return 0;
1758
+ else if (c % 10 === 1) return 1;
1759
+ else if (c > 1) return 2;
1760
+ else return 0;
1761
+ }
1762
+ function getCzechOrSlovakForm(c) {
1763
+ if (c === 1) return 0;
1764
+ else if (Math.floor(c) !== c) return 1;
1765
+ else if (c % 10 >= 2 && c % 10 <= 4 && c % 100 < 10) return 2;
1766
+ else return 3;
1767
+ }
1768
+ function getLithuanianForm(c) {
1769
+ if (c === 1 || c % 10 === 1 && c % 100 > 20) return 0;
1770
+ else if (Math.floor(c) !== c || c % 10 >= 2 && c % 100 > 20 || c % 10 >= 2 && c % 100 < 10) return 1;
1771
+ else return 2;
1772
+ }
1773
+ function getLatvianForm(c) {
1774
+ return c % 10 === 1 && c % 100 !== 11;
1775
+ }
1776
+ var isArray = Array.isArray || function(arg) {
1777
+ return Object.prototype.toString.call(arg) === "[object Array]";
1778
+ };
1779
+ function has(obj, key) {
1780
+ return Object.prototype.hasOwnProperty.call(obj, key);
1781
+ }
1782
+ humanizeDuration$1.getSupportedLanguages = function getSupportedLanguages() {
1783
+ var result = [];
1784
+ for (var language in LANGUAGES) if (has(LANGUAGES, language) && language !== "gr") result.push(language);
1785
+ return result;
1786
+ };
1787
+ humanizeDuration$1.humanizer = humanizer;
1788
+ if (typeof define === "function" && define.amd) define(function() {
1789
+ return humanizeDuration$1;
1790
+ });
1791
+ else if (typeof module !== "undefined" && module.exports) module.exports = humanizeDuration$1;
1792
+ else this.humanizeDuration = humanizeDuration$1;
1793
+ })();
1794
+ }));
1795
+ var require_v3_infinite_loading_umd = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1796
+ (function(s, e) {
1797
+ typeof exports == "object" && typeof module < "u" ? e(exports, require_vue()) : typeof define == "function" && define.amd ? define(["exports", "vue"], e) : (s = typeof globalThis < "u" ? globalThis : s || self, e(s.V3InfiniteLoading = {}, s.Vue));
1798
+ })(exports, function(s, e) {
1799
+ const f = (t, i) => {
1800
+ const n = t.__vccOpts || t;
1801
+ for (const [o, c] of i) n[o] = c;
1802
+ return n;
1803
+ }, g = {}, y = (t) => (e.pushScopeId("data-v-259be2b2"), t = t(), e.popScopeId(), t), h = { class: "container" }, b = [y(() => e.createElementVNode("div", { class: "spinner" }, null, -1))];
1804
+ function E(t, i) {
1805
+ return e.openBlock(), e.createElementBlock("div", h, b);
1806
+ }
1807
+ const S = f(g, [
1808
+ ["render", E],
1809
+ ["__scopeId", "data-v-259be2b2"],
1810
+ ["__file", "/home/oumoussa/side-projects/infinite/src/components/Spinner.vue"]
1811
+ ]), x = (t) => ({
1812
+ loading() {
1813
+ t.value = "loading";
1814
+ },
1815
+ loaded() {
1816
+ t.value = "loaded";
1817
+ },
1818
+ complete() {
1819
+ t.value = "complete";
1820
+ },
1821
+ error() {
1822
+ t.value = "error";
1823
+ }
1824
+ }), v = (t, i, n) => () => {
1825
+ n.prevHeight = (n.parentEl || document.documentElement).scrollHeight, i.loading(), t("infinite", i);
1826
+ }, I = (t, i) => {
1827
+ const n = t.getBoundingClientRect();
1828
+ if (!i) return n.top >= 0 && n.bottom <= window.innerHeight;
1829
+ const o = i.getBoundingClientRect();
1830
+ return n.top >= o.top && n.bottom <= o.bottom;
1831
+ }, u = (t) => {
1832
+ t.parentEl = document.querySelector(t.target) || null;
1833
+ let i = `0px 0px ${t.distance}px 0px`;
1834
+ t.top && (i = `${t.distance}px 0px 0px 0px`);
1835
+ const n = new IntersectionObserver((o) => {
1836
+ o[0].isIntersecting && (t.firstload && t.emit(), t.firstload = !0);
1837
+ }, {
1838
+ root: t.parentEl,
1839
+ rootMargin: i
1840
+ });
1841
+ return n.observe(t.infiniteLoading.value), n;
1842
+ }, k = { class: "state-error" };
1843
+ s.default = f({
1844
+ __name: "InfiniteLoading",
1845
+ props: {
1846
+ top: {
1847
+ type: Boolean,
1848
+ required: !1
1849
+ },
1850
+ target: {
1851
+ type: [String, Boolean],
1852
+ required: !1
1853
+ },
1854
+ distance: {
1855
+ type: Number,
1856
+ required: !1,
1857
+ default: 0
1858
+ },
1859
+ identifier: { required: !1 },
1860
+ firstload: {
1861
+ type: Boolean,
1862
+ required: !1,
1863
+ default: !0
1864
+ },
1865
+ slots: {
1866
+ type: Object,
1867
+ required: !1
1868
+ }
1869
+ },
1870
+ emits: ["infinite"],
1871
+ setup(t, { emit: i }) {
1872
+ const n = t;
1873
+ let o = null;
1874
+ const c = e.ref(null), d = e.ref("ready"), { top: _, firstload: V, target: B, distance: q } = n, { identifier: m } = e.toRefs(n), r = {
1875
+ infiniteLoading: c,
1876
+ target: B,
1877
+ top: _,
1878
+ firstload: V,
1879
+ distance: q,
1880
+ prevHeight: 0,
1881
+ parentEl: null
1882
+ };
1883
+ r.emit = v(i, x(d), r);
1884
+ const L = () => e.watch(d, async (l) => {
1885
+ const a = r.parentEl || document.documentElement;
1886
+ await e.nextTick(), l == "loaded" && _ && (a.scrollTop = a.scrollHeight - r.prevHeight), l == "loaded" && I(c.value, r.parentEl) && r.emit(), l == "complete" && o.disconnect();
1887
+ }), w = () => e.watch(m, () => {
1888
+ d.value = "ready", o.disconnect(), o = u(r);
1889
+ });
1890
+ return e.onMounted(() => {
1891
+ o = u(r), L(), m && w();
1892
+ }), e.onUnmounted(() => {
1893
+ o.disconnect();
1894
+ }), (l, a) => (e.openBlock(), e.createElementBlock("div", {
1895
+ ref_key: "infiniteLoading",
1896
+ ref: c
1897
+ }, [
1898
+ d.value == "loading" ? e.renderSlot(l.$slots, "spinner", { key: 0 }, () => [e.createVNode(S)], !0) : e.createCommentVNode("v-if", !0),
1899
+ d.value == "complete" ? e.renderSlot(l.$slots, "complete", { key: 1 }, () => {
1900
+ var p;
1901
+ return [e.createElementVNode("span", null, e.toDisplayString(((p = t.slots) == null ? void 0 : p.complete) || "No more results!"), 1)];
1902
+ }, !0) : e.createCommentVNode("v-if", !0),
1903
+ d.value == "error" ? e.renderSlot(l.$slots, "error", {
1904
+ key: 2,
1905
+ retry: r.emit
1906
+ }, () => {
1907
+ var p;
1908
+ return [e.createElementVNode("span", k, [e.createElementVNode("span", null, e.toDisplayString(((p = t.slots) == null ? void 0 : p.error) || "Oops something went wrong!"), 1), e.createElementVNode("button", {
1909
+ class: "retry",
1910
+ onClick: a[0] || (a[0] = (...$) => r.emit && r.emit(...$))
1911
+ }, " retry ")])];
1912
+ }, !0) : e.createCommentVNode("v-if", !0)
1913
+ ], 512));
1914
+ }
1915
+ }, [["__scopeId", "data-v-9d82030b"], ["__file", "/home/oumoussa/side-projects/infinite/src/components/InfiniteLoading.vue"]]), Object.defineProperties(s, {
1916
+ __esModule: { value: !0 },
1917
+ [Symbol.toStringTag]: { value: "Module" }
1918
+ });
1919
+ });
1920
+ }));
1921
+ var import_humanize_duration = /* @__PURE__ */ __toESM(require_humanize_duration());
1922
+ var import_v3_infinite_loading_umd = /* @__PURE__ */ __toESM(require_v3_infinite_loading_umd());
1923
+ var _hoisted_1 = { key: 0 };
1924
+ var _hoisted_2 = { key: 1 };
1925
+ var _hoisted_3 = { key: 0 };
1926
+ var _hoisted_4 = { class: "pb-3xl" };
1927
+ var SettingsLdapView_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1928
+ __name: "SettingsLdapView",
1929
+ setup(__props) {
1930
+ const toast = useToast();
1931
+ const i18n = useI18n();
1932
+ const message = useMessage();
1933
+ const documentTitle = useDocumentTitle();
1934
+ const pageRedirectionHelper = usePageRedirectionHelper();
1935
+ const settingsStore = useSettingsStore();
1936
+ const ssoStore = useSSOStore();
1937
+ const dataTable = ref([]);
1938
+ const tableKey = ref(0);
1939
+ const adConfig = ref();
1940
+ const loadingTestConnection = ref(false);
1941
+ const loadingDryRun = ref(false);
1942
+ const loadingLiveRun = ref(false);
1943
+ const loadingTable = ref(false);
1944
+ const hasAnyChanges = ref(false);
1945
+ const formInputs = ref(null);
1946
+ const formBus = createFormEventBus();
1947
+ const readyToSubmit = ref(false);
1948
+ const page = ref(0);
1949
+ const loginEnabled = ref(false);
1950
+ const syncEnabled = ref(false);
1951
+ const ldapConfigFormRef = ref();
1952
+ const isLDAPFeatureEnabled = computed(() => settingsStore.settings.enterprise.ldap);
1953
+ const goToUpgrade = async () => await pageRedirectionHelper.goToUpgrade("ldap", "upgrade-ldap");
1954
+ const cellClassStyle = ({ row, column }) => {
1955
+ if (column.property === "status") {
1956
+ if (row.status === "Success") return { color: "green" };
1957
+ else if (row.status === "Error") return { color: "red" };
1958
+ }
1959
+ if (column.property === "runMode") {
1960
+ if (row.runMode === "Dry") return { color: "orange" };
1961
+ else if (row.runMode === "Live") return { color: "blue" };
1962
+ }
1963
+ return {};
1964
+ };
1965
+ const onInput = (input) => {
1966
+ if (input.name === "loginEnabled" && typeof input.value === "boolean") loginEnabled.value = input.value;
1967
+ if (input.name === "synchronizationEnabled" && typeof input.value === "boolean") syncEnabled.value = input.value;
1968
+ hasAnyChanges.value = true;
1969
+ };
1970
+ const onReadyToSubmit = (ready) => {
1971
+ readyToSubmit.value = ready;
1972
+ };
1973
+ const syncDataMapper = (sync) => {
1974
+ const startedAt = new Date(sync.startedAt);
1975
+ const endedAt = new Date(sync.endedAt);
1976
+ return {
1977
+ runTime: (0, import_humanize_duration.default)(endedAt.getTime() - startedAt.getTime()),
1978
+ runMode: capitalizeFirstLetter(sync.runMode),
1979
+ status: capitalizeFirstLetter(sync.status),
1980
+ endedAt: convertToDisplayDate(endedAt.getTime()),
1981
+ details: i18n.baseText("settings.ldap.usersScanned", { interpolate: { scanned: sync.scanned.toString() } })
1982
+ };
1983
+ };
1984
+ const onSubmit = async () => {
1985
+ if (!hasAnyChanges.value || !ldapConfigFormRef.value) return;
1986
+ const formValues = ldapConfigFormRef.value.getValues();
1987
+ const newConfiguration = {
1988
+ loginEnabled: formValues.loginEnabled,
1989
+ loginLabel: formValues.loginLabel,
1990
+ connectionUrl: formValues.serverAddress,
1991
+ allowUnauthorizedCerts: formValues.allowUnauthorizedCerts,
1992
+ connectionPort: +formValues.port,
1993
+ connectionSecurity: formValues.connectionSecurity,
1994
+ baseDn: formValues.baseDn,
1995
+ bindingAdminDn: formValues.bindingType === "admin" ? formValues.adminDn : "",
1996
+ bindingAdminPassword: formValues.bindingType === "admin" ? formValues.adminPassword : "",
1997
+ emailAttribute: formValues.email,
1998
+ firstNameAttribute: formValues.firstName,
1999
+ lastNameAttribute: formValues.lastName,
2000
+ loginIdAttribute: formValues.loginId,
2001
+ ldapIdAttribute: formValues.ldapId,
2002
+ userFilter: formValues.userFilter,
2003
+ synchronizationEnabled: formValues.synchronizationEnabled,
2004
+ synchronizationInterval: +formValues.synchronizationInterval,
2005
+ searchPageSize: +formValues.pageSize,
2006
+ searchTimeout: +formValues.searchTimeout,
2007
+ enforceEmailUniqueness: formValues.enforceEmailUniqueness
2008
+ };
2009
+ let saveForm = true;
2010
+ if (!adConfig.value) return;
2011
+ try {
2012
+ if (adConfig.value.loginEnabled && !newConfiguration.loginEnabled) saveForm = await message.confirm(i18n.baseText("settings.ldap.confirmMessage.beforeSaveForm.message"), i18n.baseText("settings.ldap.confirmMessage.beforeSaveForm.headline"), {
2013
+ cancelButtonText: i18n.baseText("settings.ldap.confirmMessage.beforeSaveForm.cancelButtonText"),
2014
+ confirmButtonText: i18n.baseText("settings.ldap.confirmMessage.beforeSaveForm.confirmButtonText")
2015
+ }) === MODAL_CONFIRM;
2016
+ if (!saveForm) hasAnyChanges.value = true;
2017
+ adConfig.value = await ssoStore.updateLdapConfig(newConfiguration);
2018
+ toast.showToast({
2019
+ title: i18n.baseText("settings.ldap.updateConfiguration"),
2020
+ message: "",
2021
+ type: "success"
2022
+ });
2023
+ } catch (error) {
2024
+ toast.showError(error, i18n.baseText("settings.ldap.configurationError"));
2025
+ } finally {
2026
+ if (saveForm) hasAnyChanges.value = false;
2027
+ }
2028
+ };
2029
+ const onSaveClick = () => {
2030
+ formBus.emit("submit");
2031
+ };
2032
+ const onTestConnectionClick = async () => {
2033
+ loadingTestConnection.value = true;
2034
+ try {
2035
+ await ssoStore.testLdapConnection();
2036
+ toast.showToast({
2037
+ title: i18n.baseText("settings.ldap.connectionTest"),
2038
+ message: i18n.baseText("settings.ldap.toast.connection.success"),
2039
+ type: "success"
2040
+ });
2041
+ } catch (error) {
2042
+ toast.showToast({
2043
+ title: i18n.baseText("settings.ldap.connectionTestError"),
2044
+ message: error.message,
2045
+ type: "error"
2046
+ });
2047
+ } finally {
2048
+ loadingTestConnection.value = false;
2049
+ }
2050
+ };
2051
+ const onDryRunClick = async () => {
2052
+ loadingDryRun.value = true;
2053
+ try {
2054
+ await ssoStore.runLdapSync({ type: "dry" });
2055
+ toast.showToast({
2056
+ title: i18n.baseText("settings.ldap.runSync.title"),
2057
+ message: i18n.baseText("settings.ldap.toast.sync.success"),
2058
+ type: "success"
2059
+ });
2060
+ } catch (error) {
2061
+ toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
2062
+ } finally {
2063
+ loadingDryRun.value = false;
2064
+ await reloadLdapSynchronizations();
2065
+ }
2066
+ };
2067
+ const onLiveRunClick = async () => {
2068
+ loadingLiveRun.value = true;
2069
+ try {
2070
+ await ssoStore.runLdapSync({ type: "live" });
2071
+ toast.showToast({
2072
+ title: i18n.baseText("settings.ldap.runSync.title"),
2073
+ message: i18n.baseText("settings.ldap.toast.sync.success"),
2074
+ type: "success"
2075
+ });
2076
+ } catch (error) {
2077
+ toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
2078
+ } finally {
2079
+ loadingLiveRun.value = false;
2080
+ await reloadLdapSynchronizations();
2081
+ }
2082
+ };
2083
+ const getLdapConfig = async () => {
2084
+ try {
2085
+ adConfig.value = await ssoStore.getLdapConfig();
2086
+ loginEnabled.value = adConfig.value.loginEnabled;
2087
+ syncEnabled.value = adConfig.value.synchronizationEnabled;
2088
+ const whenLoginEnabled = (values) => values.loginEnabled === true;
2089
+ const whenSyncAndLoginEnabled = (values) => values.synchronizationEnabled === true && values.loginEnabled === true;
2090
+ const whenAdminBindingAndLoginEnabled = (values) => values.bindingType === "admin" && values.loginEnabled === true;
2091
+ formInputs.value = [
2092
+ {
2093
+ name: "loginEnabled",
2094
+ initialValue: adConfig.value.loginEnabled,
2095
+ properties: {
2096
+ type: "toggle",
2097
+ label: i18n.baseText("settings.ldap.form.loginEnabled.label"),
2098
+ tooltipText: i18n.baseText("settings.ldap.form.loginEnabled.tooltip"),
2099
+ required: true
2100
+ }
2101
+ },
2102
+ {
2103
+ name: "loginLabel",
2104
+ initialValue: adConfig.value.loginLabel,
2105
+ properties: {
2106
+ label: i18n.baseText("settings.ldap.form.loginLabel.label"),
2107
+ required: true,
2108
+ placeholder: i18n.baseText("settings.ldap.form.loginLabel.placeholder"),
2109
+ infoText: i18n.baseText("settings.ldap.form.loginLabel.infoText")
2110
+ },
2111
+ shouldDisplay: whenLoginEnabled
2112
+ },
2113
+ {
2114
+ name: "serverAddress",
2115
+ initialValue: adConfig.value.connectionUrl,
2116
+ properties: {
2117
+ label: i18n.baseText("settings.ldap.form.serverAddress.label"),
2118
+ required: true,
2119
+ capitalize: true,
2120
+ placeholder: i18n.baseText("settings.ldap.form.serverAddress.placeholder"),
2121
+ infoText: i18n.baseText("settings.ldap.form.serverAddress.infoText")
2122
+ },
2123
+ shouldDisplay: whenLoginEnabled
2124
+ },
2125
+ {
2126
+ name: "port",
2127
+ initialValue: adConfig.value.connectionPort,
2128
+ properties: {
2129
+ type: "number",
2130
+ label: i18n.baseText("settings.ldap.form.port.label"),
2131
+ capitalize: true,
2132
+ infoText: i18n.baseText("settings.ldap.form.port.infoText")
2133
+ },
2134
+ shouldDisplay: whenLoginEnabled
2135
+ },
2136
+ {
2137
+ name: "connectionSecurity",
2138
+ initialValue: adConfig.value.connectionSecurity,
2139
+ properties: {
2140
+ type: "select",
2141
+ label: i18n.baseText("settings.ldap.form.connectionSecurity.label"),
2142
+ infoText: i18n.baseText("settings.ldap.form.connectionSecurity.infoText"),
2143
+ options: [
2144
+ {
2145
+ label: "None",
2146
+ value: "none"
2147
+ },
2148
+ {
2149
+ label: "TLS",
2150
+ value: "tls"
2151
+ },
2152
+ {
2153
+ label: "STARTTLS",
2154
+ value: "startTls"
2155
+ }
2156
+ ],
2157
+ required: true,
2158
+ capitalize: true
2159
+ },
2160
+ shouldDisplay: whenLoginEnabled
2161
+ },
2162
+ {
2163
+ name: "allowUnauthorizedCerts",
2164
+ initialValue: adConfig.value.allowUnauthorizedCerts,
2165
+ properties: {
2166
+ type: "toggle",
2167
+ label: i18n.baseText("settings.ldap.form.allowUnauthorizedCerts.label"),
2168
+ required: false
2169
+ },
2170
+ shouldDisplay(values) {
2171
+ return values.connectionSecurity !== "none" && values.loginEnabled === true;
2172
+ }
2173
+ },
2174
+ {
2175
+ name: "baseDn",
2176
+ initialValue: adConfig.value.baseDn,
2177
+ properties: {
2178
+ label: i18n.baseText("settings.ldap.form.baseDn.label"),
2179
+ required: true,
2180
+ capitalize: true,
2181
+ placeholder: i18n.baseText("settings.ldap.form.baseDn.placeholder"),
2182
+ infoText: i18n.baseText("settings.ldap.form.baseDn.infoText")
2183
+ },
2184
+ shouldDisplay: whenLoginEnabled
2185
+ },
2186
+ {
2187
+ name: "bindingType",
2188
+ initialValue: "admin",
2189
+ properties: {
2190
+ type: "select",
2191
+ label: i18n.baseText("settings.ldap.form.bindingType.label"),
2192
+ infoText: i18n.baseText("settings.ldap.form.bindingType.infoText"),
2193
+ options: [{
2194
+ value: "admin",
2195
+ label: "Admin"
2196
+ }, {
2197
+ value: "anonymous",
2198
+ label: "Anonymous"
2199
+ }]
2200
+ },
2201
+ shouldDisplay: whenLoginEnabled
2202
+ },
2203
+ {
2204
+ name: "adminDn",
2205
+ initialValue: adConfig.value.bindingAdminDn,
2206
+ properties: {
2207
+ label: i18n.baseText("settings.ldap.form.adminDn.label"),
2208
+ placeholder: i18n.baseText("settings.ldap.form.adminDn.placeholder"),
2209
+ infoText: i18n.baseText("settings.ldap.form.adminDn.infoText"),
2210
+ capitalize: true
2211
+ },
2212
+ shouldDisplay: whenAdminBindingAndLoginEnabled
2213
+ },
2214
+ {
2215
+ name: "adminPassword",
2216
+ initialValue: adConfig.value.bindingAdminPassword,
2217
+ properties: {
2218
+ label: i18n.baseText("settings.ldap.form.adminPassword.label"),
2219
+ type: "password",
2220
+ capitalize: true,
2221
+ infoText: i18n.baseText("settings.ldap.form.adminPassword.infoText")
2222
+ },
2223
+ shouldDisplay: whenAdminBindingAndLoginEnabled
2224
+ },
2225
+ {
2226
+ name: "userFilter",
2227
+ initialValue: adConfig.value.userFilter,
2228
+ properties: {
2229
+ label: i18n.baseText("settings.ldap.form.userFilter.label"),
2230
+ type: "text",
2231
+ required: false,
2232
+ capitalize: true,
2233
+ placeholder: i18n.baseText("settings.ldap.form.userFilter.placeholder"),
2234
+ infoText: i18n.baseText("settings.ldap.form.userFilter.infoText")
2235
+ },
2236
+ shouldDisplay: whenLoginEnabled
2237
+ },
2238
+ {
2239
+ name: "attributeMappingInfo",
2240
+ properties: {
2241
+ label: i18n.baseText("settings.ldap.form.attributeMappingInfo.label"),
2242
+ type: "info",
2243
+ labelSize: "large",
2244
+ labelAlignment: "left"
2245
+ },
2246
+ shouldDisplay: whenLoginEnabled
2247
+ },
2248
+ {
2249
+ name: "ldapId",
2250
+ initialValue: adConfig.value.ldapIdAttribute,
2251
+ properties: {
2252
+ label: i18n.baseText("settings.ldap.form.ldapId.label"),
2253
+ type: "text",
2254
+ required: true,
2255
+ capitalize: true,
2256
+ placeholder: i18n.baseText("settings.ldap.form.ldapId.placeholder"),
2257
+ infoText: i18n.baseText("settings.ldap.form.ldapId.infoText")
2258
+ },
2259
+ shouldDisplay: whenLoginEnabled
2260
+ },
2261
+ {
2262
+ name: "loginId",
2263
+ initialValue: adConfig.value.loginIdAttribute,
2264
+ properties: {
2265
+ label: i18n.baseText("settings.ldap.form.loginId.label"),
2266
+ type: "text",
2267
+ autocomplete: "email",
2268
+ required: true,
2269
+ capitalize: true,
2270
+ placeholder: i18n.baseText("settings.ldap.form.loginId.placeholder"),
2271
+ infoText: i18n.baseText("settings.ldap.form.loginId.infoText")
2272
+ },
2273
+ shouldDisplay: whenLoginEnabled
2274
+ },
2275
+ {
2276
+ name: "email",
2277
+ initialValue: adConfig.value.emailAttribute,
2278
+ properties: {
2279
+ label: i18n.baseText("settings.ldap.form.email.label"),
2280
+ type: "text",
2281
+ autocomplete: "email",
2282
+ required: true,
2283
+ capitalize: true,
2284
+ placeholder: i18n.baseText("settings.ldap.form.email.placeholder"),
2285
+ infoText: i18n.baseText("settings.ldap.form.email.infoText")
2286
+ },
2287
+ shouldDisplay: whenLoginEnabled
2288
+ },
2289
+ {
2290
+ name: "firstName",
2291
+ initialValue: adConfig.value.firstNameAttribute,
2292
+ properties: {
2293
+ label: i18n.baseText("settings.ldap.form.firstName.label"),
2294
+ type: "text",
2295
+ autocomplete: "email",
2296
+ required: true,
2297
+ capitalize: true,
2298
+ placeholder: i18n.baseText("settings.ldap.form.firstName.placeholder"),
2299
+ infoText: i18n.baseText("settings.ldap.form.firstName.infoText")
2300
+ },
2301
+ shouldDisplay: whenLoginEnabled
2302
+ },
2303
+ {
2304
+ name: "lastName",
2305
+ initialValue: adConfig.value.lastNameAttribute,
2306
+ properties: {
2307
+ label: i18n.baseText("settings.ldap.form.lastName.label"),
2308
+ type: "text",
2309
+ autocomplete: "email",
2310
+ required: true,
2311
+ capitalize: true,
2312
+ placeholder: i18n.baseText("settings.ldap.form.lastName.placeholder"),
2313
+ infoText: i18n.baseText("settings.ldap.form.lastName.infoText")
2314
+ },
2315
+ shouldDisplay: whenLoginEnabled
2316
+ },
2317
+ {
2318
+ name: "synchronizationEnabled",
2319
+ initialValue: adConfig.value.synchronizationEnabled,
2320
+ properties: {
2321
+ type: "toggle",
2322
+ label: i18n.baseText("settings.ldap.form.synchronizationEnabled.label"),
2323
+ tooltipText: i18n.baseText("settings.ldap.form.synchronizationEnabled.tooltip"),
2324
+ required: true
2325
+ },
2326
+ shouldDisplay: whenLoginEnabled
2327
+ },
2328
+ {
2329
+ name: "synchronizationInterval",
2330
+ initialValue: adConfig.value.synchronizationInterval,
2331
+ properties: {
2332
+ type: "number",
2333
+ label: i18n.baseText("settings.ldap.form.synchronizationInterval.label"),
2334
+ infoText: i18n.baseText("settings.ldap.form.synchronizationInterval.infoText")
2335
+ },
2336
+ shouldDisplay: whenSyncAndLoginEnabled
2337
+ },
2338
+ {
2339
+ name: "pageSize",
2340
+ initialValue: adConfig.value.searchPageSize,
2341
+ properties: {
2342
+ type: "number",
2343
+ label: i18n.baseText("settings.ldap.form.pageSize.label"),
2344
+ infoText: i18n.baseText("settings.ldap.form.pageSize.infoText")
2345
+ },
2346
+ shouldDisplay: whenSyncAndLoginEnabled
2347
+ },
2348
+ {
2349
+ name: "searchTimeout",
2350
+ initialValue: adConfig.value.searchTimeout,
2351
+ properties: {
2352
+ type: "number",
2353
+ label: i18n.baseText("settings.ldap.form.searchTimeout.label"),
2354
+ infoText: i18n.baseText("settings.ldap.form.searchTimeout.infoText")
2355
+ },
2356
+ shouldDisplay: whenSyncAndLoginEnabled
2357
+ },
2358
+ {
2359
+ name: "enforceEmailUniqueness",
2360
+ initialValue: adConfig.value.enforceEmailUniqueness,
2361
+ properties: {
2362
+ type: "toggle",
2363
+ label: i18n.baseText("settings.ldap.form.enforceEmailUniqueness.label"),
2364
+ tooltipText: i18n.baseText("settings.ldap.form.enforceEmailUniqueness.tooltip"),
2365
+ required: false
2366
+ },
2367
+ shouldDisplay: whenLoginEnabled
2368
+ }
2369
+ ];
2370
+ } catch (error) {
2371
+ toast.showError(error, i18n.baseText("settings.ldap.configurationError"));
2372
+ }
2373
+ };
2374
+ const getLdapSynchronizations = async (state) => {
2375
+ try {
2376
+ loadingTable.value = true;
2377
+ const data = await ssoStore.getLdapSynchronizations({ page: page.value });
2378
+ if (data.length !== 0) {
2379
+ dataTable.value.push(...data.map(syncDataMapper));
2380
+ page.value += 1;
2381
+ state.loaded();
2382
+ } else state.complete();
2383
+ loadingTable.value = false;
2384
+ } catch (error) {
2385
+ toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
2386
+ }
2387
+ };
2388
+ const reloadLdapSynchronizations = async () => {
2389
+ try {
2390
+ page.value = 0;
2391
+ tableKey.value += 1;
2392
+ dataTable.value = [];
2393
+ } catch (error) {
2394
+ toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
2395
+ }
2396
+ };
2397
+ onMounted(async () => {
2398
+ documentTitle.set(i18n.baseText("settings.ldap"));
2399
+ if (!isLDAPFeatureEnabled.value) return;
2400
+ await getLdapConfig();
2401
+ });
2402
+ return (_ctx, _cache) => {
2403
+ const _directive_n8n_html = resolveDirective("n8n-html");
2404
+ const _directive_loading = resolveDirective("loading");
2405
+ return !isLDAPFeatureEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
2406
+ createBaseVNode("div", { class: normalizeClass([_ctx.$style.header, "mb-2xl"]) }, [createVNode(unref(N8nHeading_default), { size: "2xlarge" }, {
2407
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap")), 1)]),
2408
+ _: 1
2409
+ })], 2),
2410
+ createVNode(unref(N8nInfoTip_default), {
2411
+ type: "note",
2412
+ theme: "info",
2413
+ "tooltip-placement": "right",
2414
+ class: "mb-l"
2415
+ }, {
2416
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap.note")), 1)]),
2417
+ _: 1
2418
+ }),
2419
+ createVNode(unref(N8nActionBox_default), {
2420
+ description: unref(i18n).baseText("settings.ldap.disabled.description"),
2421
+ "button-text": unref(i18n).baseText("settings.ldap.disabled.buttonText"),
2422
+ "onClick:button": goToUpgrade
2423
+ }, {
2424
+ heading: withCtx(() => [createBaseVNode("span", null, toDisplayString(unref(i18n).baseText("settings.ldap.disabled.title")), 1)]),
2425
+ _: 1
2426
+ }, 8, ["description", "button-text"])
2427
+ ])) : (openBlock(), createElementBlock("div", _hoisted_2, [createBaseVNode("div", { class: normalizeClass(_ctx.$style.container) }, [
2428
+ createBaseVNode("div", { class: normalizeClass(_ctx.$style.header) }, [createVNode(unref(N8nHeading_default), { size: "2xlarge" }, {
2429
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap")), 1)]),
2430
+ _: 1
2431
+ })], 2),
2432
+ createBaseVNode("div", { class: normalizeClass(_ctx.$style.docsInfoTip) }, [createVNode(unref(N8nInfoTip_default), {
2433
+ theme: "info",
2434
+ type: "note"
2435
+ }, {
2436
+ default: withCtx(() => [withDirectives(createBaseVNode("span", null, null, 512), [[_directive_n8n_html, unref(i18n).baseText("settings.ldap.infoTip")]])]),
2437
+ _: 1
2438
+ })], 2),
2439
+ createBaseVNode("div", { class: normalizeClass(_ctx.$style.settingsForm) }, [formInputs.value ? (openBlock(), createBlock(unref(N8nFormInputs_default), {
2440
+ key: 0,
2441
+ ref_key: "ldapConfigFormRef",
2442
+ ref: ldapConfigFormRef,
2443
+ inputs: formInputs.value,
2444
+ "event-bus": unref(formBus),
2445
+ "column-view": true,
2446
+ "vertical-spacing": "l",
2447
+ onUpdate: onInput,
2448
+ onReady: onReadyToSubmit,
2449
+ onSubmit
2450
+ }, null, 8, ["inputs", "event-bus"])) : createCommentVNode("", true)], 2),
2451
+ createBaseVNode("div", null, [loginEnabled.value ? (openBlock(), createBlock(unref(N8nButton_default), {
2452
+ key: 0,
2453
+ label: loadingTestConnection.value ? unref(i18n).baseText("settings.ldap.testingConnection") : unref(i18n).baseText("settings.ldap.testConnection"),
2454
+ size: "large",
2455
+ class: "mr-s",
2456
+ disabled: hasAnyChanges.value || !readyToSubmit.value,
2457
+ loading: loadingTestConnection.value,
2458
+ onClick: onTestConnectionClick
2459
+ }, null, 8, [
2460
+ "label",
2461
+ "disabled",
2462
+ "loading"
2463
+ ])) : createCommentVNode("", true), createVNode(unref(N8nButton_default), {
2464
+ label: unref(i18n).baseText("settings.ldap.save"),
2465
+ size: "large",
2466
+ disabled: !hasAnyChanges.value || !readyToSubmit.value,
2467
+ onClick: onSaveClick
2468
+ }, null, 8, ["label", "disabled"])])
2469
+ ], 2), loginEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
2470
+ createVNode(unref(N8nHeading_default), {
2471
+ tag: "h1",
2472
+ class: "mb-xl mt-3xl",
2473
+ size: "medium"
2474
+ }, {
2475
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap.section.synchronization.title")), 1)]),
2476
+ _: 1
2477
+ }),
2478
+ createBaseVNode("div", { class: normalizeClass(_ctx.$style.syncTable) }, [withDirectives((openBlock(), createBlock(unref(ElTable), {
2479
+ key: tableKey.value,
2480
+ border: true,
2481
+ stripe: true,
2482
+ data: dataTable.value,
2483
+ "cell-style": cellClassStyle,
2484
+ style: { "width": "100%" },
2485
+ "max-height": "250"
2486
+ }, {
2487
+ empty: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap.synchronizationTable.empty.message")), 1)]),
2488
+ append: withCtx(() => [createVNode(unref(import_v3_infinite_loading_umd.default), {
2489
+ target: ".el-table__body-wrapper",
2490
+ onInfinite: getLdapSynchronizations
2491
+ })]),
2492
+ default: withCtx(() => [
2493
+ createVNode(unref(ElTableColumn), {
2494
+ prop: "status",
2495
+ label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.status")
2496
+ }, null, 8, ["label"]),
2497
+ createVNode(unref(ElTableColumn), {
2498
+ prop: "endedAt",
2499
+ label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.endedAt")
2500
+ }, null, 8, ["label"]),
2501
+ createVNode(unref(ElTableColumn), {
2502
+ prop: "runMode",
2503
+ label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.runMode")
2504
+ }, null, 8, ["label"]),
2505
+ createVNode(unref(ElTableColumn), {
2506
+ prop: "runTime",
2507
+ label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.runTime")
2508
+ }, null, 8, ["label"]),
2509
+ createVNode(unref(ElTableColumn), {
2510
+ prop: "details",
2511
+ label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.details")
2512
+ }, null, 8, ["label"])
2513
+ ]),
2514
+ _: 1
2515
+ }, 8, ["data"])), [[_directive_loading, loadingTable.value]])], 2),
2516
+ createBaseVNode("div", _hoisted_4, [createVNode(unref(N8nButton_default), {
2517
+ label: unref(i18n).baseText("settings.ldap.dryRun"),
2518
+ type: "secondary",
2519
+ size: "large",
2520
+ class: "mr-s",
2521
+ disabled: hasAnyChanges.value || !readyToSubmit.value,
2522
+ loading: loadingDryRun.value,
2523
+ onClick: onDryRunClick
2524
+ }, null, 8, [
2525
+ "label",
2526
+ "disabled",
2527
+ "loading"
2528
+ ]), createVNode(unref(N8nButton_default), {
2529
+ label: unref(i18n).baseText("settings.ldap.synchronizeNow"),
2530
+ size: "large",
2531
+ disabled: hasAnyChanges.value || !readyToSubmit.value,
2532
+ loading: loadingLiveRun.value,
2533
+ onClick: onLiveRunClick
2534
+ }, null, 8, [
2535
+ "label",
2536
+ "disabled",
2537
+ "loading"
2538
+ ])])
2539
+ ])) : createCommentVNode("", true)]));
2540
+ };
2541
+ }
2542
+ });
2543
+ var SettingsLdapView_vue_vue_type_style_index_0_lang_module_default = {
2544
+ container: "_container_y6w94_123",
2545
+ syncTable: "_syncTable_y6w94_127",
2546
+ header: "_header_y6w94_131",
2547
+ enableFeatureContainer: "_enableFeatureContainer_y6w94_140",
2548
+ sectionHeader: "_sectionHeader_y6w94_152",
2549
+ settingsForm: "_settingsForm_y6w94_156",
2550
+ docsInfoTip: "_docsInfoTip_y6w94_160"
2551
+ };
2552
+ var SettingsLdapView_default = /* @__PURE__ */ __plugin_vue_export_helper_default(SettingsLdapView_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": SettingsLdapView_vue_vue_type_style_index_0_lang_module_default }]]);
2553
+ export { SettingsLdapView_default as default };