@zextras/carbonio-shell-ui 0.4.5 → 0.4.6
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.
- package/dist/CHANGELOG.md +14 -0
- package/dist/PKGBUILD +6 -6
- package/dist/commit +1 -1
- package/dist/component.json +3 -3
- package/dist/i18n/de.json +91 -6
- package/dist/i18n/en.json +140 -91
- package/dist/i18n/es.json +91 -6
- package/dist/i18n/fr.json +81 -5
- package/dist/i18n/hi.json +120 -5
- package/dist/i18n/id.json +120 -5
- package/dist/i18n/it.json +4 -1
- package/dist/i18n/ja.json +120 -5
- package/dist/i18n/nl.json +91 -6
- package/dist/i18n/pt_BR.json +91 -6
- package/dist/i18n/ru.json +6 -4
- package/dist/i18n/th.json +120 -5
- package/dist/i18n/tr.json +3 -1
- package/dist/i18n/zh_Hans.json +91 -6
- package/dist/index.html +3 -3
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.15e5aa63.chunk.js → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.b2fa4170.chunk.js} +1094 -303
- package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.b2fa4170.chunk.js.map +1 -0
- package/dist/src_workers_folder_ts.00bb811e.chunk.js +549 -0
- package/dist/src_workers_folder_ts.00bb811e.chunk.js.map +1 -0
- package/dist/{src_workers_tag_ts.2d4d45d9.chunk.js → src_workers_tag_ts.6c2c1688.chunk.js} +118 -13
- package/dist/src_workers_tag_ts.6c2c1688.chunk.js.map +1 -0
- package/dist/{style.34e02677.css → style.e7c1b109.css} +1 -1
- package/dist/{style.34e02677.css.map → style.e7c1b109.css.map} +1 -1
- package/dist/vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_s-261a68.e87ecee6.chunk.js +288 -0
- package/dist/vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_s-261a68.e87ecee6.chunk.js.map +1 -0
- package/dist/{vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-84ce1e.93156963.chunk.js → vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-a012fe.428e0a2a.chunk.js} +2 -17
- package/dist/vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-a012fe.428e0a2a.chunk.js.map +1 -0
- package/dist/{vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-6bcff8.23638bf9.chunk.js → vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.5b2b999c.chunk.js} +2 -88
- package/dist/vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.5b2b999c.chunk.js.map +1 -0
- package/dist/vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.cc38c8f6.chunk.js +869 -0
- package/dist/vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.cc38c8f6.chunk.js.map +1 -0
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-706ed2.css → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-d86d9b.css} +1 -1
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-706ed2.css.map → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-d86d9b.css.map} +1 -1
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-706ed2.2e8c7e6c.chunk.js → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-d86d9b.dc7aedf1.chunk.js} +379 -1115
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-706ed2.2e8c7e6c.chunk.js.map → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-d86d9b.dc7aedf1.chunk.js.map} +1 -1
- package/dist/zapp-shell.bundle.js +4 -4
- package/dist/zapp-shell.bundle.js.map +1 -1
- package/package.json +4 -4
- package/types/exports/index.d.ts +36 -1
- package/types/folder/index.d.ts +33 -0
- package/types/index.d.ts +1 -0
- package/types/misc/index.d.ts +190 -26
- package/types/network/index.d.ts +2 -59
- package/types/network/soap.d.ts +76 -0
- package/types/workers/index.d.ts +7 -8
- package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.15e5aa63.chunk.js.map +0 -1
- package/dist/src_workers_tag_ts.2d4d45d9.chunk.js.map +0 -1
- package/dist/vendors-node_modules_core-js_internals_array-iteration_js-node_modules_core-js_internals_arra-84ce1e.93156963.chunk.js.map +0 -1
- package/dist/vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-6bcff8.23638bf9.chunk.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.15e5aa63.chunk.js","mappings":"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,KAAK,EAAE;AALR,GAzG0F,EAgH1F;AACC3Q,IAAAA,EAAE,EAAE,IADL;AAEClF,IAAAA,IAAI,EAAE,UAFP;AAGCo6B,IAAAA,SAAS,EAAEh1B,CAAC,CAAC,eAAD,EAAkB,QAAlB,CAHb;AAICG,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAEyQ,MAAAA,KAAK,EAAE,UAAT;AAAqBkjB,MAAAA,YAAY,EAAE;AAAnC,KAAxB,CAJT;AAKCljB,IAAAA,KAAK,EAAE;AALR,GAhH0F,CAFjE;AAAA,CAAnB,EA0HP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;A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MC,gBAAN,EACP;AACA;;AACO,IAAMC,cAAN,EACP;;AACO,IAAMC,iBAAN,EACP;AACA;;AACO,IAAMC,uBAAN,EACP;;AACO,IAAMC,0BAAN,EACP;AACA;;AACO,IAAMC,yBAAN,EACP;;AACO,IAAMC,4BAAN;AACA,IAAMnF,sBAAN;AACA,IAAME,yBAAN;AACA,IAAMD,wBAAN;AACA,IAAMM,WAAN;AACA,IAAMF,cAAN;AACA,IAAMC,aAAN;AACA,IAAMF,eAAN;AACA,IAAMD,eAAN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1LP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;CAqBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-context-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-error-catcher.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-functions.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-mounter.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-setters.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/default-views.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-app.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-apps.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/shared-libraries.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-context.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-router.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/init.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/theme-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/constants/index.ts","webpack://@zextras/carbonio-shell-ui/./src/dev/dev-board-trigger.tsx","webpack://@zextras/carbonio-shell-ui/./src/dev/dev-board.tsx","webpack://@zextras/carbonio-shell-ui/./src/history/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/i18n/i18n-factory.ts","webpack://@zextras/carbonio-shell-ui/./src/network/edit-settings.ts","webpack://@zextras/carbonio-shell-ui/./src/network/fetch.ts","webpack://@zextras/carbonio-shell-ui/./src/network/get-info.ts","webpack://@zextras/carbonio-shell-ui/./src/network/go-to-login.ts","webpack://@zextras/carbonio-shell-ui/./src/network/logout.ts","webpack://@zextras/carbonio-shell-ui/./src/network/tags.ts","webpack://@zextras/carbonio-shell-ui/./src/network/user-agent.ts","webpack://@zextras/carbonio-shell-ui/./src/redux/store-factory.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/feedback.tsx","webpack://@zextras/carbonio-shell-ui/./src/reporting/functions.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/index.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/store.ts","webpack://@zextras/carbonio-shell-ui/./src/search/module-selector.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-store.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/account-wrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/accounts-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/accounts-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/delegates.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/password-recovery-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-use-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/primary-account-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/settings-sent-messages.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-picker-style.jsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-time-select-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/appearance-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/logout.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/module-version-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/out-of-office-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/user-quota.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-heading.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings-sub-sections.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/language-and-timezone-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/search-settings-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-sidebar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/app-view-container.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/badge-wrap.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/app-board-tab.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/app-board-window.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/app-board.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-context-provider.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-context.js","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/collapser.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/creation-button.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context-provider.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context.js","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-mobile-nav.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-navigation-bar.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-primary-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-secondary-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-view.jsx","webpack://@zextras/carbonio-shell-ui/./src/store/account/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/normalization.ts","webpack://@zextras/carbonio-shell-ui/./src/store/account/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/app/utils.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/context-bridge.ts","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/composer.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/getters.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/store.ts","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/app-link.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/nav-guard.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/spinner.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/index.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/panel.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/store.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/workers/index.ts","webpack://@zextras/carbonio-shell-ui/./types/exports/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/index.d.ts","webpack://@zextras/carbonio-shell-ui//tmp/workspace/extras_carbonio-shell-ui_release/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Provider } from 'react-redux';\nimport { I18nextProvider } from 'react-i18next';\nimport { ModalManager, SnackbarManager } from '@zextras/carbonio-design-system';\nimport { useStoreFactory, useI18nFactory } from '../bootstrapper-context';\nimport AppErrorCatcher from './app-error-catcher';\nimport { getApp, getShell } from '../../store/app';\n\nconst AppContextProvider: FC<{ pkg: string }> = ({ pkg, children }) => {\n\tconst i18nFactory = useI18nFactory();\n\tconst storeFactory = useStoreFactory();\n\tconst app = useMemo(() => getApp(pkg)() ?? getShell(), [pkg]);\n\tconst store = useMemo(() => storeFactory.getStoreForApp(app), [app, storeFactory]);\n\tconst i18n = useMemo(() => i18nFactory.getAppI18n(app), [i18nFactory, app]);\n\treturn (\n\t\t<Provider store={store}>\n\t\t\t<I18nextProvider i18n={i18n}>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t<SnackbarManager>\n\t\t\t\t\t\t<AppErrorCatcher>{children}</AppErrorCatcher>\n\t\t\t\t\t</SnackbarManager>\n\t\t\t\t</ModalManager>\n\t\t\t</I18nextProvider>\n\t\t</Provider>\n\t);\n};\n\nexport default AppContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback } from 'react';\nimport { Catcher } from '@zextras/carbonio-design-system';\n\nconst AppErrorCatcher: FC = ({ children }) => {\n\tconst onError = useCallback((error) => {\n\t\tconsole.error(error);\n\t\t// ({event: 'report-exception',data: { exception: error }});\n\t}, []);\n\treturn <Catcher onError={onError}>{children}</Catcher>;\n};\nexport default AppErrorCatcher;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { reduce } from 'lodash';\nimport { getApp, getAppContext, useApp, useAppContext } from '../../store/app';\nimport { useContextBridge } from '../../store/context-bridge';\nimport {\n\tgetAction,\n\tgetActions,\n\tgetActionsFactory,\n\tgetActionFactory,\n\tgetIntegratedComponent,\n\tgetIntegratedFunction,\n\tgetIntegratedHook\n} from '../../store/integrations/getters';\nimport {\n\tgetUserAccount,\n\tgetUserAccounts,\n\tgetUserSettings,\n\tuseUserAccount,\n\tuseUserAccounts,\n\tuseUserSettings,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights\n} from '../../store/account';\nimport { useIsMobile } from '../../shell/hooks';\nimport {\n\tuseAction,\n\tuseActions,\n\tuseActionsFactory,\n\tuseActionFactory,\n\tuseIntegratedComponent,\n\tuseIntegratedFunction,\n\tuseIntegratedHook\n} from '../../store/integrations/hooks';\nimport { CarbonioModule } from '../../../types';\nimport {\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tgetCurrentRoute,\n\tuseCurrentRoute,\n\treplaceHistory,\n\tgoBackHistory,\n\tpushHistory\n} from '../../history/hooks';\nimport {\n\tgetUseAddBoardCallback,\n\tuseBoardConfig,\n\tuseRemoveCurrentBoard,\n\tuseUpdateCurrentBoard\n} from '../../shell/boards/board-hooks';\nimport { getSoapFetch, getXmlSoapFetch } from '../../network/fetch';\nimport { getTags, useTags } from '../../store/tags';\nimport { useNotify, useRefresh } from '../../store/network';\nimport { changeTagColor, createTag, deleteTag, renameTag, updateTag } from '../../network/tags';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppFunctions = (pkg: CarbonioModule): Record<string, Function> => ({\n\tsoapFetch: getSoapFetch(pkg.name),\n\txmlSoapFetch: getXmlSoapFetch(pkg.name),\n\n\t// APP STORE FUNCTIONS\n\tuseAppContext: useAppContext(pkg.name),\n\tgetAppContext: getAppContext(pkg.name),\n\tuseApp: useApp(pkg.name),\n\tgetApp: getApp(pkg.name),\n\n\t// INTEGRATIONS\n\tuseIntegratedHook,\n\tgetIntegratedHook,\n\tuseIntegratedFunction,\n\tgetIntegratedFunction,\n\tuseIntegratedComponent,\n\tgetIntegratedComponent,\n\tuseAction,\n\tgetAction,\n\tuseActions,\n\tgetActions,\n\tuseActionsFactory,\n\tgetActionsFactory,\n\tuseActionFactory,\n\tgetActionFactory,\n\t// ACCOUNTS\n\tuseUserAccount,\n\tgetUserAccount,\n\tuseUserAccounts,\n\tgetUserAccounts,\n\tuseUserSettings,\n\tgetUserSettings,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights,\n\tuseTags,\n\tgetTags,\n\tuseNotify,\n\tuseRefresh,\n\t// BOARDS\n\tuseAddBoardCallback: getUseAddBoardCallback(pkg.name),\n\tuseUpdateCurrentBoard,\n\tuseRemoveCurrentBoard,\n\tuseBoardConfig,\n\t// HISTORY\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tuseCurrentRoute,\n\tgetCurrentRoute,\n\tpushHistory,\n\tgoBackHistory,\n\treplaceHistory,\n\t// TAGS\n\tcreateTag,\n\trenameTag,\n\tchangeTagColor,\n\tdeleteTag,\n\tupdateTag,\n\t// STUFF\n\tuseIsMobile,\n\tgetBridgedFunctions: (): unknown => {\n\t\tconst { packageDependentFunctions, functions } = useContextBridge.getState();\n\t\treturn {\n\t\t\t...functions,\n\t\t\t...reduce(packageDependentFunctions, (acc, f, name) => ({ ...acc, [name]: f(pkg.name) }), {})\n\t\t};\n\t}\n});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, memo, Suspense, useMemo } from 'react';\nimport { isEmpty, map } from 'lodash';\nimport { useAppStore } from '../../store/app';\nimport AppContextProvider from './app-context-provider';\n\nconst Mounter: FC<{ appId: string }> = ({ children, appId }) => (\n\t<div key={appId} id={appId}>\n\t\t<AppContextProvider key={appId} pkg={appId}>\n\t\t\t<Suspense fallback={''}>{children}</Suspense>\n\t\t</AppContextProvider>\n\t</div>\n);\n\nconst AppLoaderMounter: FC = () => {\n\tconst entryPoints = useAppStore((s) => s.entryPoints);\n\tconst entries = useMemo(\n\t\t() =>\n\t\t\tisEmpty(entryPoints)\n\t\t\t\t? null\n\t\t\t\t: map(entryPoints, (Comp, appId) => {\n\t\t\t\t\t\tconst MemoComp = memo(Comp);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Mounter key={appId} appId={appId}>\n\t\t\t\t\t\t\t\t<MemoComp />\n\t\t\t\t\t\t\t</Mounter>\n\t\t\t\t\t\t);\n\t\t\t\t }),\n\t\t[entryPoints]\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"app-mounter\"\n\t\t\tkey=\"app-mounter\"\n\t\t\thidden\n\t\t\tstyle={{ height: 0, overflow: 'hidden' }}\n\t\t>\n\t\t\t{entries}\n\t\t</div>\n\t);\n};\n\nexport default AppLoaderMounter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport {\n\tAppRouteDescriptor,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { getEditSettingsForApp } from '../../network/edit-settings';\nimport { useAppStore } from '../../store/app';\nimport {\n\tnormalizeRoute,\n\tnormalizeSettingsView,\n\tnormalizeSearchView,\n\tnormalizeUtilityView,\n\tnormalizePrimaryAccessoryView,\n\tnormalizeSecondaryAccessoryView,\n\tnormalizeBoardView\n} from '../../store/app/utils';\nimport { useIntegrationsStore } from '../../store/integrations/store';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppSetters = (pkg: CarbonioModule): Record<string, Function> => {\n\tconst appSetters = useAppStore.getState().setters;\n\tconst integrations = useIntegrationsStore.getState();\n\treturn {\n\t\tupdatePrimaryBadge: appSetters.updatePrimaryBadge,\n\t\tupdateUtilityBadge: appSetters.updateUtilityBadge,\n\t\tsetAppContext: appSetters.setAppContext(pkg.name),\n\t\taddRoute: (route: Partial<AppRouteDescriptor>) =>\n\t\t\tappSetters.addRoute(normalizeRoute(route, pkg)),\n\t\tsetRouteVisibility: (routeId: string, visible: boolean) =>\n\t\t\tappSetters.setRouteVisibility(routeId, visible),\n\t\tremoveRoute: (routeId: string) => appSetters.removeRoute(routeId),\n\t\t// add board\n\t\taddBoardView: (data: Partial<BoardView>) =>\n\t\t\tappSetters.addBoardView(normalizeBoardView(data, pkg)),\n\t\t// remove board\n\t\tremoveBoardView: appSetters.removeBoardView,\n\t\t//\n\t\t// add settings\n\t\taddSettingsView: (data: Partial<SettingsView>) =>\n\t\t\tappSetters.addSettingsView(normalizeSettingsView(data, pkg)),\n\t\t// remove settings\n\t\tremoveSettingsView: appSetters.removeSettingsView,\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: Partial<SearchView>) =>\n\t\t\tappSetters.addSearchView(normalizeSearchView(data, pkg)),\n\t\t// remove search\n\t\tremoveSearchView: appSetters.removeSearchView,\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: Partial<UtilityView>) =>\n\t\t\tappSetters.addUtilityView(normalizeUtilityView(data, pkg)),\n\t\t// remove utility\n\t\tremoveUtilityView: appSetters.removeUtilityView,\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) =>\n\t\t\tappSetters.addPrimaryAccessoryView(normalizePrimaryAccessoryView(data, pkg)),\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: appSetters.removePrimaryAccessoryView,\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) =>\n\t\t\tappSetters.addSecondaryAccessoryView(normalizeSecondaryAccessoryView(data, pkg)),\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: appSetters.removeSecondaryAccessoryView,\n\t\tregisterHooks: integrations.registerHooks,\n\t\tremoveHooks: integrations.removeHooks,\n\t\tregisterFunctions: integrations.registerFunctions,\n\t\tremoveFunctions: integrations.removeFunctions,\n\t\tregisterActions: integrations.registerActions,\n\t\tremoveActions: integrations.removeActions,\n\t\tregisterComponents: integrations.registerComponents(pkg.name),\n\t\tremoveComponents: integrations.removeComponents,\n\t\teditSettings: getEditSettingsForApp(pkg.name)\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n/* eslint-disable no-param-reassign */\n\nimport produce from 'immer';\nimport { TFunction } from 'i18next';\nimport { useAppStore } from '../../store/app';\nimport { SearchAppView } from '../../search/search-app-view';\nimport { SettingsAppView } from '../../settings/settings-app-view';\nimport { SettingsSidebar } from '../../settings/settings-sidebar';\nimport { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport GeneralSettings from '../../settings/general-settings';\nimport Feedback from '../../reporting/feedback';\nimport DevBoard from '../../dev/dev-board';\nimport DevBoardTrigger from '../../dev/dev-board-trigger';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\nimport AccountWrapper from '../../settings/account-wrapper';\nimport { settingsSubSections } from '../../settings/general-settings-sub-sections';\n\nconst settingsRoute = {\n\troute: SETTINGS_APP_ID,\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID\n};\nconst settingsPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: 'SettingsModOutline',\n\tposition: 16,\n\tvisible: true,\n\tlabel: t('settings.app', 'Settings'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst settingsSecondaryBar = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsSidebar\n};\n\nconst settingsAppView = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsAppView\n};\nconst settingsGeneralView = (t: TFunction): SettingsView => ({\n\tid: 'general',\n\troute: 'general',\n\tapp: SHELL_APP_ID,\n\tcomponent: GeneralSettings,\n\ticon: 'SettingsModOutline',\n\tlabel: t('settings.general.general', 'General'),\n\tposition: 1,\n\tsubSections: settingsSubSections(t)\n});\n\nconst settingsAccountsView = (t: TFunction): SettingsView => ({\n\tid: 'accounts',\n\troute: 'accounts',\n\tapp: SHELL_APP_ID,\n\tcomponent: AccountWrapper,\n\ticon: 'PersonOutline',\n\tlabel: t('settings.accounts', 'Accounts'),\n\tposition: 1\n});\n\nconst searchRoute = {\n\troute: SEARCH_APP_ID,\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID\n};\nconst searchPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: 'SearchModOutline',\n\tposition: 15,\n\tvisible: true,\n\tlabel: t('search.app', 'Search'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst searchAppView = {\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: SearchAppView\n};\n\nconst feedbackBoardView = {\n\tid: 'feedback',\n\tapp: SHELL_APP_ID,\n\tcomponent: Feedback,\n\troute: 'feedback'\n};\nconst devModeBoardView = {\n\tid: 'dev-mode',\n\tapp: SHELL_APP_ID,\n\tcomponent: DevBoard,\n\troute: 'devtools'\n};\nconst devModeTrigger = {\n\tid: 'dev-mode-t',\n\tcomponent: DevBoardTrigger,\n\tlabel: 'Dev Tools',\n\tapp: SHELL_APP_ID,\n\tposition: 100\n};\nexport const registerDefaultViews = (t: TFunction): void => {\n\tuseAppStore.setState(\n\t\tproduce((s: AppState) => {\n\t\t\ts.routes = {\n\t\t\t\t[SEARCH_APP_ID]: searchRoute,\n\t\t\t\t[SETTINGS_APP_ID]: settingsRoute\n\t\t\t};\n\t\t\ts.views.primaryBar = [searchPrimaryBar(t), settingsPrimaryBar(t)];\n\t\t\ts.views.secondaryBar = [settingsSecondaryBar];\n\t\t\ts.views.appView = [searchAppView, settingsAppView];\n\t\t\ts.views.settings = [settingsGeneralView(t), settingsAccountsView(t)];\n\t\t\ts.views.board = [feedbackBoardView];\n\t\t\tif (__CARBONIO_DEV__) {\n\t\t\t\ts.views.board.push(devModeBoardView);\n\t\t\t\ts.views.primaryBarAccessories.push(devModeTrigger);\n\t\t\t}\n\t\t})\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\nimport { forOwn } from 'lodash';\nimport { ComponentType } from 'react';\nimport { Reducer, Store } from '@reduxjs/toolkit';\nimport StoreFactory from '../../redux/store-factory';\n\nimport { useAppStore } from '../../store/app';\nimport { getAppFunctions } from './app-loader-functions';\nimport { Spinner } from '../../ui-extras/spinner';\nimport { AppLink } from '../../ui-extras/app-link';\nimport * as CONSTANTS from '../../constants';\nimport { IShellWindow, CarbonioModule } from '../../../types';\nimport { getAppSetters } from './app-loader-setters';\nimport { report } from '../../reporting';\nimport SettingsHeader from '../../settings/components/settings-header';\n\nexport const _scripts: { [pkgName: string]: HTMLScriptElement } = {};\nlet _scriptId = 0;\n// const _revertableActions: { [pkgName: string]: RevertableActionCollection } = {};\n\n// export function updateAppHandlers(appPkg: CarbonioModule, handlers: RequestHandlersList): void {\n// \tif (FLAVOR === 'NPM' && typeof devUtils !== 'undefined') {\n// \t\tconst worker = devUtils.getMSWorker<SetupWorkerApi>();\n// \t\tif (worker) {\n// \t\t\tworker.resetHandlers();\n// \t\t\tforEach(handlers, (h) => worker.use(h));\n// \t\t}\n// \t}\n// }\n\nfunction loadAppModule(appPkg: CarbonioModule, store: Store<any>): Promise<CarbonioModule> {\n\treturn new Promise((_resolve, _reject) => {\n\t\tlet resolved = false;\n\t\tconst resolve: (...args: any[]) => void = (...args) => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_resolve(appPkg);\n\t\t\t}\n\t\t};\n\t\tconst reject: (e: Error) => void = (e) => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_reject(e);\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\t(window as unknown as IShellWindow).__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][\n\t\t\t\tappPkg.name\n\t\t\t] = {\n\t\t\t\tstore: {\n\t\t\t\t\tstore,\n\t\t\t\t\tsetReducer: (reducer: Reducer): void => store.replaceReducer(reducer)\n\t\t\t\t},\n\t\t\t\treport: report(appPkg.name),\n\t\t\t\tAppLink,\n\t\t\t\tSpinner,\n\t\t\t\tSettingsHeader,\n\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t...CONSTANTS\n\t\t\t};\n\n\t\t\t(window as unknown as IShellWindow).__ZAPP_HMR_EXPORT__[appPkg.name] = (\n\t\t\t\tappComponent: ComponentType\n\t\t\t): void => {\n\t\t\t\tuseAppStore.setState((state) => ({\n\t\t\t\t\tentryPoints: {\n\t\t\t\t\t\t...state.entryPoints,\n\t\t\t\t\t\t[appPkg.name]: appComponent\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%c loaded ${appPkg.name}`,\n\t\t\t\t\t'color: white; background: #539507;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t\t\t\t);\n\t\t\t\tresolve(appPkg);\n\t\t\t};\n\n\t\t\t// if (FLAVOR === 'NPM' && typeof cliSettings !== 'undefined' && cliSettings.hasHandlers) {\n\t\t\t// eslint-disable-next-line max-len\n\t\t\t// (\n\t\t\t// \twindow as unknown as IShellWindow<SharedLibrariesAppsMap, ComponentClass>\n\t\t\t// ).__ZAPP_HMR_HANDLERS__[appPkg.name] = (handlers: RequestHandlersList): void =>\n\t\t\t// \tupdateAppHandlers(appPkg, handlers);\n\t\t\t// }\n\t\t\tconst script: HTMLScriptElement = document.createElement('script');\n\t\t\tscript.setAttribute('type', 'text/javascript');\n\t\t\tscript.setAttribute('data-pkg_name', appPkg.name);\n\t\t\tscript.setAttribute('data-pkg_version', appPkg.version);\n\t\t\tscript.setAttribute('data-is_app', 'true');\n\t\t\tscript.setAttribute('src', `${appPkg.js_entrypoint}`);\n\t\t\tdocument.body.appendChild(script);\n\t\t\t_scripts[`${appPkg.name}-loader-${(_scriptId += 1)}`] = script;\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\treject(err);\n\t\t}\n\t});\n}\n\nexport function loadApp(pkg: CarbonioModule, storeFactory: StoreFactory): Promise<CarbonioModule> {\n\tconst store = storeFactory.getStoreForApp(pkg);\n\treturn loadAppModule(pkg, store);\n}\n\nexport function unloadApps(): Promise<void> {\n\treturn Promise.resolve().then(() => {\n\t\tforOwn(_scripts, (script) => {\n\t\t\tif (script.parentNode) script.parentNode.removeChild(script);\n\t\t});\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\nimport { filter, map } from 'lodash';\n\nimport StoreFactory from '../../redux/store-factory';\n\nimport { loadApp, unloadApps } from './load-app';\nimport { CarbonioModule } from '../../../types';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { getUserSetting } from '../../store/account';\nimport { useReporter } from '../../reporting';\nimport { SHELL_APP_ID } from '../../constants';\n\nexport function loadApps(storeFactory: StoreFactory, apps: Array<CarbonioModule>): void {\n\tinjectSharedLibraries();\n\tconst appsToLoad = filter(apps, (app) => {\n\t\tif (app.name === SHELL_APP_ID) return false;\n\t\tif (app.attrKey && getUserSetting('attrs', app.attrKey) !== 'TRUE') return false;\n\t\treturn true;\n\t});\n\tconsole.log(\n\t\t'%cLOADING APPS',\n\t\t'color: white; background: #2b73d2;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t);\n\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app, storeFactory)));\n}\n\nexport function unloadAllApps(): Promise<void> {\n\treturn unloadApps();\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\n\nimport React, { ComponentClass } from 'react';\nimport * as PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport * as Lodash from 'lodash';\nimport * as ReactRouterDom from 'react-router-dom';\nimport * as Moment from 'moment';\nimport * as ReactI18n from 'react-i18next';\n// import * as Msw from 'msw';\n// import * as Faker from 'faker';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ZappUI from '@zextras/carbonio-design-system';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as StyledComponents from 'styled-components';\n\nimport { IShellWindow } from '../../../types';\n\nexport function injectSharedLibraries(): void {\n\t// eslint-disable-next-line max-len\n\tconst wnd: IShellWindow = window as unknown as IShellWindow;\n\tif (wnd.__ZAPP_SHARED_LIBRARIES__) {\n\t\treturn;\n\t}\n\twnd.__ZAPP_SHARED_LIBRARIES__ = {\n\t\t'prop-types': PropTypes,\n\t\treact: React,\n\t\t'react-dom': ReactDOM,\n\t\t'react-i18next': ReactI18n,\n\t\t'react-redux': ReactRedux,\n\t\tlodash: Lodash,\n\t\t'react-router-dom': ReactRouterDom,\n\t\tmoment: Moment,\n\t\t'styled-components': StyledComponents,\n\t\t'@reduxjs/toolkit': {\n\t\t\t...ReduxJSToolkit,\n\t\t\tconfigureStore: (): void => {\n\t\t\t\tthrow new Error('Apps must use the store given by the Shell.');\n\t\t\t},\n\t\t\tcreateStore: (): void => {\n\t\t\t\tthrow new Error('Apps must use the store given by the Shell.');\n\t\t\t}\n\t\t},\n\t\t'@zextras/carbonio-shell-ui': {},\n\t\t'@zextras/carbonio-design-system': ZappUI\n\t};\n\twnd.__ZAPP_HMR_EXPORT__ = {};\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext, useContext } from 'react';\n\nexport const BootstrapperContext = createContext<any>({});\n\nexport function useI18nFactory(): any {\n\tconst { i18nFactory } = useContext(BootstrapperContext);\n\treturn i18nFactory;\n}\n\nexport function useStoreFactory(): any {\n\tconst { storeFactory } = useContext(BootstrapperContext);\n\treturn storeFactory;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport BoardContextProvider from '../shell/boards/board-context-provider';\nimport { BootstrapperContext } from './bootstrapper-context';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\n\nconst BootstrapperContextProvider: FC<{ i18nFactory: I18nFactory; storeFactory: StoreFactory }> = ({\n\tchildren,\n\ti18nFactory,\n\tstoreFactory\n}) => (\n\t<BootstrapperContext.Provider\n\t\tvalue={{\n\t\t\tstoreFactory,\n\t\t\ti18nFactory\n\t\t}}\n\t>\n\t\t<I18nextProvider i18n={i18nFactory.getShellI18n()}>\n\t\t\t<BoardContextProvider>{children}</BoardContextProvider>\n\t\t</I18nextProvider>\n\t</BootstrapperContext.Provider>\n);\nexport default BootstrapperContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useContext } from 'react';\nimport { BrowserRouter, useHistory } from 'react-router-dom';\nimport { SnackbarManagerContext, ModalManagerContext } from '@zextras/carbonio-design-system';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { useBridge } from '../store/context-bridge';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellView from '../shell/shell-view';\nimport { BASENAME } from '../constants';\n\nconst ContextBridge: FC = () => {\n\tconst history = useHistory();\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createSnackbar = useContext(SnackbarManagerContext) as Function;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createModal = useContext(ModalManagerContext) as Function;\n\tuseBridge({\n\t\tfunctions: {\n\t\t\tgetHistory: () => history,\n\t\t\tcreateSnackbar,\n\t\t\tcreateModal\n\t\t}\n\t});\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => (\n\t<BrowserRouter basename={BASENAME}>\n\t\t<ContextBridge />\n\t\t<AppLoaderMounter />\n\t\t<ShellView />\n\t</BrowserRouter>\n);\n\nexport default BootstrapperRouter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { SnackbarManager, ModalManager } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { unloadAllApps } from './app/load-apps';\nimport { registerDefaultViews } from './app/default-views';\nimport { useBridge } from '../store/context-bridge';\n\nconst DefaultViewsRegister: FC = () => {\n\tconst [t] = useTranslation();\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst TBridge: FC<{ i18nFactory: I18nFactory }> = ({ i18nFactory }) => {\n\tuseBridge({\n\t\tfunctions: {},\n\t\tpackageDependentFunctions: {\n\t\t\tt: (app) => i18nFactory.getAppI18n({ name: app }).t\n\t\t}\n\t});\n\treturn null;\n};\n\nconst Bootstrapper: FC = () => {\n\tconst i18nFactory = useMemo(() => new I18nFactory(), []);\n\tconst storeFactory = useMemo(() => new StoreFactory(), []);\n\tuseEffect(() => {\n\t\tinit(i18nFactory, storeFactory);\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, [i18nFactory, storeFactory]);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t<BootstrapperContextProvider i18nFactory={i18nFactory} storeFactory={storeFactory}>\n\t\t\t\t\t\t<TBridge i18nFactory={i18nFactory} />\n\t\t\t\t\t\t<DefaultViewsRegister />\n\t\t\t\t\t\t<BootstrapperRouter />\n\t\t\t\t\t</BootstrapperContextProvider>\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</ThemeProvider>\n\t);\n};\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useAccountStore } from '../store/account';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\nimport { loadApps } from './app/load-apps';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { getInfo } from '../network/get-info';\n\nexport const init = (_i18nFactory: I18nFactory, _storeFactory: StoreFactory): void => {\n\tgetInfo().then(() => {\n\t\t_i18nFactory.setLocale(\n\t\t\t(\n\t\t\t\t(useAccountStore.getState().settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t\t\t(useAccountStore.getState().settings?.attrs?.zimbraLocale as string)\n\t\t\t)?.split?.('_')?.[0] ?? 'en'\n\t\t);\n\t\tloadApps(_storeFactory, Object.values(useAppStore.getState().apps));\n\t});\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { createContext, FC, useCallback, useEffect, useState } from 'react';\nimport { ThemeProvider as UIThemeProvider } from '@zextras/carbonio-design-system';\nimport { enable, disable, auto, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { useAccountStore } from '../store/account';\nimport { ThemeExtension, ThemeExtensionMap } from '../../types';\nimport { darkReaderDynamicThemeFixes } from '../constants';\n\nsetFetchMethod(window.fetch);\n\nexport const ThemeCallbacksContext = createContext<{\n\taddExtension: (newExtension: ThemeExtension, id: string) => void;\n\tsetDarkReaderState: (newState: 'auto' | 'enabled' | 'disabled') => void;\n}>({\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\taddExtension: (newExtension: ThemeExtension, id: string) => {},\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tsetDarkReaderState: (newState: 'auto' | 'enabled' | 'disabled') => {}\n});\n\nconst themeSizes = (\n\tsize: 'small' | 'normal' | 'large' | 'larger' | 'default' | string\n): ThemeExtension => {\n\tswitch (size) {\n\t\tcase 'small': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '10px',\n\t\t\t\t\tsmall: '12px',\n\t\t\t\t\tmedium: '14px',\n\t\t\t\t\tlarge: '16px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'large': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '14px',\n\t\t\t\t\tsmall: '16px',\n\t\t\t\t\tmedium: '18px',\n\t\t\t\t\tlarge: '20px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'larger': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '16px',\n\t\t\t\t\tsmall: '18px',\n\t\t\t\t\tmedium: '20px',\n\t\t\t\t\tlarge: '22px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'default':\n\t\tcase 'normal':\n\t\tdefault: {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '12px',\n\t\t\t\t\tsmall: '14px',\n\t\t\t\t\tmedium: '16px',\n\t\t\t\t\tlarge: '18px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t}\n};\n\nexport const ThemeProvider: FC = ({ children }) => {\n\tconst zimbraPrefFontSize = useAccountStore((s) => s.settings.prefs?.zimbraPrefFontSize as string);\n\t// TODO: update when the DS is fully typed :D\n\tconst [extensions, setExtensions] = useState<ThemeExtensionMap>({\n\t\tfonts: (theme) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\ttheme.sizes.font = {\n\t\t\t\textrasmall: '12px',\n\t\t\t\tsmall: '14px',\n\t\t\t\tmedium: '16px',\n\t\t\t\tlarge: '18px'\n\t\t\t};\n\t\t\treturn theme;\n\t\t}\n\t});\n\tuseEffect(() => {\n\t\tsetExtensions((e) => ({\n\t\t\t...e,\n\t\t\tfonts: themeSizes(zimbraPrefFontSize)\n\t\t}));\n\t}, [zimbraPrefFontSize]);\n\tconst [darkReaderState, setDarkReaderState] = useState<'auto' | 'disabled' | 'enabled'>('auto');\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tenable(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\tauto(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}, [darkReaderState]);\n\tconst aggregatedExtensions = useCallback(\n\t\t(theme: any) => reduce(extensions, (acc, val) => val(acc), theme),\n\t\t[extensions]\n\t);\n\tconst addExtension = useCallback((newExtension: ThemeExtension, id: string) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t{children}\n\t\t\t</ThemeCallbacksContext.Provider>\n\t\t</UIThemeProvider>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { DynamicThemeFix } from 'darkreader';\n\n/*\n\treference: https://zextras.atlassian.net/wiki/spaces/IRIS/pages/223215854/UI+Guidelines+and+theming\n*/\nexport const ZIMBRA_STANDARD_COLORS = [\n\t{ zValue: 0, hex: '#000000', zLabel: 'black' },\n\t{ zValue: 1, hex: '#2b73d2', zLabel: 'blue' },\n\t{ zValue: 2, hex: '#2196d3', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#639030', zLabel: 'green' },\n\t{ zValue: 4, hex: '#1a75a7', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#d74942', zLabel: 'red' },\n\t{ zValue: 6, hex: '#ffc107', zLabel: 'yellow' },\n\t{ zValue: 7, hex: '#edaeab', zLabel: 'pink' },\n\t{ zValue: 8, hex: '#828282', zLabel: 'gray' },\n\t{ zValue: 9, hex: '#ba8b00', zLabel: 'orange' }\n];\n\nexport const FOLDERS = {\n\tUSER_ROOT: '1',\n\tINBOX: '2',\n\tTRASH: '3',\n\tSPAM: '4',\n\tSENT: '5',\n\tDRAFTS: '6',\n\tCONTACTS: '7',\n\tTAGS: '8',\n\tCONVERSATIONS: '9',\n\tCALENDAR: '10',\n\tROOT: '11',\n\tNOTEBOOK: '12', // no longer created in new mailboxes since Helix (bug 39647). old mailboxes may still contain a system folder with id 12\n\tAUTO_CONTACTS: '13',\n\tIM_LOGS: '14',\n\tTASKS: '15',\n\tBRIEFCASE: '16'\n};\n\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const ACCOUNTS_APP_ID = 'accounts';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES = {\n\tCONVERSATION: 'conversation',\n\tCONVERSATION_lIST: 'conversation_list',\n\tMESSAGE: 'message',\n\tMESSAGE_lIST: 'message_list',\n\tCONTACT: 'contact',\n\tCONTACT_lIST: 'contact_list',\n\tINVITE: 'invite',\n\tINVITE_lIST: 'invite_list',\n\tAPPOINTMENT: 'appointment',\n\tAPPOINTMENT_lIST: 'appointment_list',\n\tFOLDER: 'folder',\n\tFOLDER_lIST: 'folder_list',\n\tCALENDAR: 'calendar',\n\tCALENDAR_lIST: 'calendar_list',\n\tNEW: 'new'\n};\n\nexport const darkReaderDynamicThemeFixes: DynamicThemeFix = {\n\tignoreImageAnalysis: ['.no-dr-invert *'],\n\tinvert: [],\n\tcss: `\n\t\t.tox, .force-white-bg, .tox-swatches-menu, .tox .tox-edit-area__iframe {\n\t\t\tbackground-color: #fff !important;\n\t\t\tbackground: #fff !important;\n\t\t}\n\t`,\n\tignoreInlineStyle: ['.tox-menu *'],\n\tdisableStyleSheetsProxy: false\n};\n\nexport const BASENAME = `/carbonio/`;\nexport const EMAIL_VALIDATION_REGEX =\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars, max-len, no-control-regex\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC } from 'react';\nimport { IconButton } from '@zextras/carbonio-design-system';\nimport { useContextBridge } from '../store/context-bridge';\nimport { SHELL_APP_ID } from '../../types';\n\nconst DevBoardTrigger: FC = () => (\n\t<IconButton\n\t\ticon=\"Code\"\n\t\tsize=\"large\"\n\t\tonClick={(): void =>\n\t\t\tuseContextBridge.getState().packageDependentFunctions?.addBoard(SHELL_APP_ID)('/devtools/', {\n\t\t\t\ttitle: 'Dev Tools'\n\t\t\t})\n\t\t}\n\t/>\n);\n\nexport default DevBoardTrigger;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC } from 'react';\n\nconst DevBoard: FC = () => <p>Test</p>;\n\nexport default DevBoard;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { To } from 'history';\nimport { find, startsWith, replace, trim } from 'lodash';\nimport { useMemo, useCallback } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { AppRoute, HistoryParams } from '../../types';\nimport { useRoutes, getRoutes } from '../store/app';\nimport { useContextBridge } from '../store/context-bridge';\n\nexport const useCurrentRoute = (): AppRoute | undefined => {\n\tconst location = useLocation();\n\tconst routes = useRoutes();\n\treturn useMemo(\n\t\t() => find(routes, (r) => startsWith(trim(location.pathname, '/'), r.route)),\n\t\t[location.pathname, routes]\n\t);\n};\nexport const getCurrentRoute = (): AppRoute | undefined => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\tconst routes = getRoutes();\n\treturn find(routes, (r) => startsWith(trim(history.location.pathname, '/'), r.route));\n};\n\nexport const parseParams = (params: HistoryParams): To => {\n\tif (typeof params === 'string') {\n\t\treturn replace(`/${getCurrentRoute()?.route}/${params}`, '//', '/');\n\t}\n\tconst routeToApply = params.route\n\t\t? find(getRoutes(), (r) => r.id === params.route || r.route === params.route)\n\t\t: getCurrentRoute();\n\treturn typeof params.path === 'string'\n\t\t? replace(`/${routeToApply?.route}/${params.path}`, '//', '/')\n\t\t: {\n\t\t\t\tsearch: params.path.search,\n\t\t\t\thash: params.path.hash,\n\t\t\t\tpathname: replace(`/${routeToApply?.route}/${params.path.pathname}`, '//', '/')\n\t\t };\n};\n\nexport const usePushHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.push(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport const useReplaceHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.replace(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport function useGoBackHistoryCallback(): () => void {\n\tconst history = useHistory();\n\treturn history.goBack;\n}\n\nexport const pushHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.push(parseParams(params));\n};\n\nexport const replaceHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.replace(parseParams(params));\n};\n\nexport const goBackHistory = (): void =>\n\tuseContextBridge.getState().functions.getHistory?.().goBack();\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport i18next, { i18n } from 'i18next';\nimport Backend from 'i18next-http-backend';\n// import LanguageDetector from 'i18next-browser-languagedetector';\nimport { dropRight, forEach } from 'lodash';\nimport { II18nFactory, CarbonioModule } from '../../types';\nimport { getShell } from '../store/app';\nimport { SHELL_APP_ID } from '../constants';\n\nexport default class I18nFactory implements II18nFactory {\n\t_cache: { [pkg: string]: i18n } = {};\n\n\tlocale = 'en';\n\n\tpublic getShellI18n(): i18n {\n\t\treturn this.getAppI18n(getShell() ?? { name: SHELL_APP_ID });\n\t}\n\n\tpublic setLocale(locale: string): void {\n\t\tif (this.locale !== locale) {\n\t\t\tthis.locale = locale;\n\t\t\tforEach(this._cache, (appI18n) => {\n\t\t\t\tappI18n.changeLanguage(locale);\n\t\t\t});\n\t\t}\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tpublic getAppI18n(appPkgDescription: CarbonioModule | { name: string }): i18n {\n\t\tif (this._cache[appPkgDescription.name]) {\n\t\t\treturn this._cache[appPkgDescription.name];\n\t\t}\n\t\tconst newI18n = i18next.createInstance();\n\t\tconst baseI18nPath =\n\t\t\tappPkgDescription.name === SHELL_APP_ID\n\t\t\t\t? BASE_PATH\n\t\t\t\t: dropRight((appPkgDescription as CarbonioModule).js_entrypoint.split('/')).join('/');\n\t\tnewI18n\n\t\t\t// load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\n\t\t\t// learn more: https://github.com/i18next/i18next-http-backend\n\t\t\t.use(Backend)\n\t\t\t// detect user language\n\t\t\t// learn more: https://github.com/i18next/i18next-browser-languageDetector\n\t\t\t// .use(LanguageDetector)\n\t\t\t// init i18next\n\t\t\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t\t\t.init({\n\t\t\t\tlng: this.locale,\n\t\t\t\tfallbackLng: 'en',\n\t\t\t\tdebug: false,\n\t\t\t\tinterpolation: {\n\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t},\n\t\t\t\tmissingKeyHandler: (lng, ns, key, fallbackValue) => {\n\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t},\n\t\t\t\tbackend: {\n\t\t\t\t\tloadPath: `${baseI18nPath}/i18n/{{lng}}.json`\n\t\t\t\t}\n\t\t\t});\n\t\tthis._cache[appPkgDescription.name] = newI18n;\n\t\treturn newI18n;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, find, findIndex, forEach, map, reduce } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account/store';\nimport { AccountState, Mods, Account } from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\nexport const editSettings = (mods: Mods, appId: string = SHELL_APP_ID): Promise<any> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t'Batch',\n\t\t`<BatchRequest xmlns=\"urn:zimbra\" onerror=\"stop\">${\n\t\t\tmods.props\n\t\t\t\t? `<ModifyPropertiesRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t(prop, key) => `<prop name=\"${key}\" zimlet=\"${prop.app ?? appId}\">${prop.value}</prop>`\n\t\t\t\t )}</ModifyPropertiesRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.prefs\n\t\t\t\t? `<ModifyPrefsRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.prefs,\n\t\t\t\t\t\t(pref, key) => `<pref name=\"${key}\">${pref}</pref>`\n\t\t\t\t ).join('')}</ModifyPrefsRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.modifyList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.modifyList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<ModifyIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${\n\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t}\">${map(item.prefs, (value, key) => `<a name=\"${key}\">${value}</a>`).join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t)}<a name=\"zimbraPrefFromAddressType\">sendAs</a></identity></ModifyIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.deleteList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.deleteList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<DeleteIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${item}\"/></DeleteIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.createList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.createList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${item.prefs.requestId}\"><identity name=\"${item.prefs.zimbraPrefIdentityName}\"><a name=\"zimbraPrefIdentityName\">${item.prefs.zimbraPrefIdentityName}</a><a name=\"zimbraPrefFromDisplay\">${item.prefs.zimbraPrefFromDisplay}</a><a name=\"zimbraPrefFromAddress\">${item.prefs.zimbraPrefFromAddress}</a><a name=\"zimbraPrefFromAddressType\">sendAs</a><a name=\"zimbraPrefReplyToEnabled\">${item.prefs.zimbraPrefReplyToEnabled}</a><a name=\"zimbraPrefReplyToDisplay\">${item.prefs.zimbraPrefReplyToDisplay}</a><a name=\"zimbraPrefReplyToAddress\">${item.prefs.zimbraPrefReplyToAddress}</a><a name=\"zimbraPrefDefaultSignatureId\">${item.prefs.zimbraPrefDefaultSignatureId}</a><a name=\"zimbraPrefForwardReplySignatureId\">${item.prefs.zimbraPrefForwardReplySignatureId}</a><a name=\"zimbraPrefWhenSentToEnabled\">${item.prefs.zimbraPrefWhenSentToEnabled}</a><a name=\"zimbraPrefWhenInFoldersEnabled\">${item.prefs.zimbraPrefWhenInFoldersEnabled}</a></identity></CreateIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.permissions\n\t\t\t\t? `<RevokeRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? map(mods.permissions.freeBusy.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'dom')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? map(mods.permissions.inviteRight.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }</RevokeRightsRequest><GrantRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"1\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'dom') {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"viewFreeBusy\" gt=\"${mods.permissions?.freeBusy.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions.inviteRight.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.inviteRight.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }\n\t</GrantRightsRequest>`\n\t\t\t\t: ''\n\t\t}</BatchRequest>`\n\t).then((r: any) => {\n\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\tsettings: {\n\t\t\t\t...s.settings,\n\t\t\t\tprefs: reduce(\n\t\t\t\t\tmods.prefs,\n\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t}),\n\t\t\t\t\ts.settings.prefs\n\t\t\t\t),\n\t\t\t\tprops: reduce(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\tif (propIndex >= 0) {\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[propIndex] = {\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\ts.settings.props\n\t\t\t\t)\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\t...s.account,\n\t\t\t\tdisplayName:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\tname:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefFromAddress || s.account?.name,\n\t\t\t\tidentities: {\n\t\t\t\t\tidentity:\n\t\t\t\t\t\ttypeof s.account !== 'undefined'\n\t\t\t\t\t\t\t? reduce(\n\t\t\t\t\t\t\t\t\tmods?.identity?.modifyList,\n\t\t\t\t\t\t\t\t\t(acc, { id, prefs }) => {\n\t\t\t\t\t\t\t\t\t\tconst tempResult = [];\n\t\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\t\t\t\t\t\t\t\t\t\t\tforEach(Object.keys(prefs), (item, _index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs[item] = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem === 'zimbraPrefIdentityName' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name !== 'DEFAULT'\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\ttempResult.push(prefs);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name !== 'DEFAULT'),\n\t\t\t\t\t\t\t\t\t\t...map(r?.CreateIdentityResponse, (item) => item.identity[0]),\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name === 'DEFAULT')\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t} as Account\n\t\t}));\n\t\treturn r;\n\t});\n\nexport const getEditSettingsForApp =\n\t(app: string) =>\n\t(mods: Mods): Promise<any> =>\n\t\teditSettings(mods, app).then((r) => {\n\t\t\tr.type = 'fulfilled';\n\t\t\treturn r;\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, map, maxBy } from 'lodash';\nimport { goToLogin } from './go-to-login';\nimport { Account, ErrorSoapResponse, SoapContext, SoapResponse } from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { SHELL_APP_ID } from '../constants';\nimport { useNetworkStore } from '../store/network';\nimport { handleSync } from '../store/network/utils';\n\nexport const noOp = (): void => {\n\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\tgetSoapFetch(SHELL_APP_ID)(\n\t\t'NoOp',\n\t\tuseNetworkStore.getState().pollingInterval === 500\n\t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n\t\t\t: { _jsns: 'urn:zimbraMail' }\n\t);\n};\n\nconst getAccount = (\n\tacc?: Account,\n\totherAccount?: string\n): { by: string; _content: string } | undefined => {\n\tif (otherAccount) {\n\t\treturn {\n\t\t\tby: 'name',\n\t\t\t_content: otherAccount\n\t\t};\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn {\n\t\t\t\tby: 'name',\n\t\t\t\t_content: acc.name\n\t\t\t};\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn {\n\t\t\t\tby: 'id',\n\t\t\t\t_content: acc.id\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst getXmlAccount = (acc?: Account, otherAccount?: string): string => {\n\tif (otherAccount) {\n\t\treturn `<account by=\"name\">${otherAccount}</account>`;\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn `<account by=\"name\">${acc.name}</account>`;\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn `<account by=\"id\">${acc.id}</account>`;\n\t\t}\n\t}\n\treturn '';\n};\n\nconst getXmlSession = (): string => {\n\tconst sessionId = useNetworkStore.getState().session?.id;\n\tif (sessionId) {\n\t\treturn `<session id=\"${sessionId}\"/>`;\n\t}\n\treturn '';\n};\n\nconst normalizeContext = (context: any): SoapContext => {\n\tif (context.notify) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext.notify = map(context.notify, (notify) => ({\n\t\t\t...notify,\n\t\t\tdeleted: notify.deleted?.id?.split(',')\n\t\t}));\n\t}\n\treturn context;\n};\n\nconst handleResponse = <R>(api: string, res: SoapResponse<R>): R => {\n\tconst { pollingInterval, noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tclearTimeout(noOpTimeout);\n\tif (res.Body.Fault) {\n\t\tif (\n\t\t\tfind(\n\t\t\t\t['service.AUTH_REQUIRED', 'service.AUTH_EXPIRED'],\n\t\t\t\t(code) => code === (<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Code\n\t\t\t)\n\t\t) {\n\t\t\tgoToLogin();\n\t\t}\n\t\tthrow new Error(\n\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t}`\n\t\t);\n\t}\n\tif (res.Header?.context) {\n\t\tconst responseUsedQuota =\n\t\t\tres.Header.context?.refresh?.mbx?.[0]?.s ??\n\t\t\tres.Header.context?.notify?.[0]?.modified?.mbx?.[0]?.s;\n\t\tconst _context = normalizeContext(res.Header.context);\n\t\tconst seq = maxBy(_context.notify, 'seq')?.seq ?? 0;\n\t\thandleSync(_context);\n\t\tuseAccountStore.setState({\n\t\t\tusedQuota: responseUsedQuota ?? usedQuota\n\t\t});\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n\t\t\tseq,\n\t\t\t..._context\n\t\t});\n\t}\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn res.Body[`${api}Response`] as R;\n};\nexport const getSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(api: string, body: Request, otherAccount?: string): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\tconst { notify, session } = useNetworkStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tBody: {\n\t\t\t\t\t[`${api}Request`]: body\n\t\t\t\t},\n\t\t\t\tHeader: {\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\t_jsns: 'urn:zimbra',\n\t\t\t\t\t\tnotify: notify?.[0]?.seq\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tseq: notify?.[0]?.seq\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tsession: session ?? {},\n\t\t\t\t\t\taccount: getAccount(account as Account, otherAccount),\n\t\t\t\t\t\tuserAgent: {\n\t\t\t\t\t\t\tname: userAgent,\n\t\t\t\t\t\t\tversion: zimbraVersion\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const getXmlSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(api: string, body: Request, otherAccount?: string): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'content-type': 'application/soap+xml'\n\t\t\t},\n\t\t\tbody: `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\t\t<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\">\n\t\t\t<soap:Header><context xmlns=\"urn:zimbra\"><userAgent name=\"${userAgent}\" version=\"${zimbraVersion}\"/>${getXmlSession()}${getXmlAccount(\n\t\t\t\taccount,\n\t\t\t\totherAccount\n\t\t\t)}<format type=\"js\"/></context></soap:Header>\n\t\t\t<soap:Body>${body}</soap:Body>\n\t\t</soap:Envelope>`\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { normalizeAccount } from '../store/account/normalization';\nimport { AccountSettings, GetInfoResponse, CarbonioModule } from '../../types';\nimport { goToLogin } from './go-to-login';\nimport { getSoapFetch } from './fetch';\nimport { useAccountStore } from '../store/account';\nimport { useNetworkStore } from '../store/network';\n\nconst parsePollingInterval = (settings: AccountSettings): number => {\n\tconst pollingPref = (settings.prefs?.zimbraPrefMailPollingInterval ?? '') as string;\n\tif (pollingPref === '500') {\n\t\treturn 500;\n\t}\n\tconst pollingValue = parseInt(pollingPref, 10);\n\tif (Number.isNaN(pollingValue)) {\n\t\treturn 30000;\n\t}\n\tif (pollingPref.includes('m')) {\n\t\treturn pollingValue * 60 * 1000;\n\t}\n\treturn pollingValue * 1000;\n};\nexport const getInfo = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t})\n\t\t.then((res: any): void => {\n\t\t\tif (res) {\n\t\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\t\tuseNetworkStore.setState({\n\t\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t\t});\n\t\t\t\tuseAccountStore.setState({\n\t\t\t\t\taccount,\n\t\t\t\t\tsettings,\n\t\t\t\t\tzimbraVersion: version\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.then(() => fetch('/static/iris/components.json'))\n\t\t.then((r: any) => r.json())\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore.getState().setters.addApps(\n\t\t\t\tfilter(components, ({ type }) => {\n\t\t\t\t\tif (type === 'shell' || type === 'carbonio') return true;\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t);\n\t\t})\n\t\t.catch((err: unknown) => {\n\t\t\tconsole.log('there was an error checking user data');\n\t\t\tconsole.error(err);\n\t\t\tgoToLogin();\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const goToLogin: () => void = () => {\n\twindow?.location?.assign?.(`${window?.location?.origin}/static/login`);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\nimport { goToLogin } from './go-to-login';\n\nexport const logout = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)('EndSession', {\n\t\t_jsns: 'urn:zimbraAccount'\n\t}).then(() => {\n\t\tfetch('/?loginOp=logout')\n\t\t\t.then((res) => res)\n\t\t\t.then(goToLogin);\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport {\n\tCreateTagRequest,\n\tCreateTagResponse,\n\tTagActionRequest,\n\tTagActionResponse\n} from '../../types';\nimport { Tag } from '../../types/tags';\nimport { SHELL_APP_ID } from '../constants';\nimport { useTagStore } from '../store/tags';\nimport { getSoapFetch } from './fetch';\n\nconst set = useTagStore.setState;\nexport const createTag = (tag: Omit<Tag, 'id'>): Promise<CreateTagResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<CreateTagRequest, CreateTagResponse>('CreateTag', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\ttag\n\t});\nexport const deleteTag = (id: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'delete', id }\n\t});\n\nexport const renameTag = (id: string, name: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'rename', id, name }\n\t});\n\nexport const updateTag = (tag: Partial<Tag> & { id: string }): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'update', ...tag }\n\t});\n\nexport const changeTagColor = (id: string, color: string | number): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: typeof color === 'number' ? { op: 'color', color, id } : { op: 'color', rgb: color, id }\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport UAParser from 'ua-parser-js';\n\nconst { os, browser } = UAParser();\nexport const userAgent = `CarbonioWebClient - ${browser.name} ${browser.version} (${os.name})`;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store, configureStore, createSlice } from '@reduxjs/toolkit';\nimport logger from 'redux-logger';\nimport { CarbonioModule } from '../../types';\n\nconst _uselessSlice = createSlice({\n\tname: '_useless',\n\tinitialState: {},\n\treducers: {}\n});\n\nexport default class StoreFactory {\n\tprivate _cache: { [pkgName: string]: Store<any> } = {};\n\n\tgetStoreForApp(pkg: CarbonioModule): Store<any> {\n\t\tif (this._cache[pkg.name]) return this._cache[pkg?.name];\n\t\tconst store = configureStore({\n\t\t\tdevTools: __CARBONIO_DEV__\n\t\t\t\t? {\n\t\t\t\t\t\tname: pkg.name\n\t\t\t\t }\n\t\t\t\t: false,\n\t\t\tmiddleware: __CARBONIO_DEV__\n\t\t\t\t? // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware().concat(logger)\n\t\t\t\t: // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware(),\n\t\t\treducer: {\n\t\t\t\t_useless: _uselessSlice.reducer\n\t\t\t}\n\t\t});\n\t\tthis._cache[pkg?.name] = store;\n\t\treturn store;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tuseEffect,\n\tuseState,\n\tuseCallback,\n\tuseReducer,\n\tuseMemo,\n\tFC,\n\tuseContext\n} from 'react';\nimport {\n\tText,\n\tButton,\n\tSelect,\n\tContainer,\n\tRow,\n\tIcon,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport { Severity, Event } from '@sentry/browser';\nimport { filter, find, map } from 'lodash';\nimport styled from 'styled-components';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { useUserAccount } from '../store/account';\nimport { useRemoveCurrentBoard } from '../shell/boards/board-hooks';\nimport { feedback } from './functions';\nimport { useAppList } from '../store/app';\n\nconst TextArea = styled.textarea<{ size?: string }>`\n\twidth: 100%;\n\tmin-height: 128px;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: none;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tresize: none;\n\ttransition: height 0.4s ease;\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme, size }): string => theme.sizes.font[size ?? 'medium']};\n\t&:focus {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t}\n`;\n\nconst TextContainer = styled(Container)`\n\ttext-align: justify;\n\talign-items: left;\n\twidth: 80%;\n`;\n\nconst ButtonContainer = styled(Container)`\n\twidth: 20%;\n\tposition: relative;\n`;\n\nconst TAContainer = styled(Container)`\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tborder-radius: 2px 2px 0 0;\n\tpadding: 8px;\n\ttransition: height 0.4s ease;\n\theight: auto;\n\tmax-height: 50%;\n\t&:focus-within {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t\tborder-bottom: 1px solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)`\n\tborder-radius: 2px 2px 0 0;\n\tline-height: 21px;\n\tfont-size: 14px;\n\tfont-weight: 300;\n\tmargin-top: 10px;\n\tline-height: ${(props): string => props.lineHeight};\n`;\n\nconst LabelContainer = styled(Container)`\n\tborder-bottom: 1px solid ${(props): string => (props.disabled ? 'red' : '#cfd5dc')};\n`;\n\nconst emptyEvent: Event = {\n\tmessage: '',\n\tlevel: Severity.Info,\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\nfunction reducer(state: Event, { type, payload }: { type: string; payload: any }): Event {\n\tswitch (type) {\n\t\tcase 'set-user':\n\t\t\treturn { ...state, user: payload };\n\t\tcase 'reset':\n\t\t\treturn emptyEvent;\n\t\tcase 'set-message':\n\t\t\treturn { ...state, message: payload };\n\t\tcase 'select-app':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trelease: payload.version,\n\t\t\t\textra: { ...state.extra, app: payload.app }\n\t\t\t};\n\t\tcase 'select-topic':\n\t\t\treturn { ...state, extra: { ...state.extra, topic: payload } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst getTopics = (t: TFunction): Array<{ label: string; value: string }> => [\n\t{ label: t('feedback.user_interface', 'User interface'), value: 'UserInterface' },\n\t{ label: t('feedback.behaviors', 'Behaviors'), value: 'Behaviors' },\n\t{ label: t('feedback.missing_features', 'Missing features'), value: 'MissingFeatures' },\n\t{ label: t('feedback.other', 'Other'), value: 'Other' }\n];\n\nconst ModuleLabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n}> = ({ selected, label, open, focus }) => (\n\t<LabelContainer\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Icon\n\t\t\tsize=\"large\"\n\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t/>\n\t</LabelContainer>\n);\n\nconst _LabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n\tshowErr: boolean;\n}> = ({ selected, label, open, focus, showErr }) => (\n\t<LabelContainer\n\t\tdisabled={showErr}\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t{showErr ? (\n\t\t\t\t<Text size=\"medium\" color={(open && showErr) || focus ? 'primary' : 'error'}>\n\t\t\t\t\t{' '}\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t) : (\n\t\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Row>\n\n\t\t{showErr ? (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={(open && showErr) || focus ? 'primary' : 'error'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t)}\n\t</LabelContainer>\n);\n\nconst Feedback: FC = () => {\n\tconst [t] = useTranslation();\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\tconst allApps = useAppList();\n\tconst apps = useMemo(\n\t\t() => filter(allApps, (app) => !!app.sentryDsn),\n\n\t\t[allApps]\n\t);\n\tconst appItems = useMemo(\n\t\t() =>\n\t\t\tmap(apps, (app) => ({\n\t\t\t\tlabel: app.display,\n\t\t\t\tvalue: app.name\n\t\t\t})),\n\t\t[apps]\n\t);\n\tconst acct = useUserAccount();\n\tconst [event, dispatch] = useReducer(reducer, emptyEvent);\n\tconst [showErr, setShowErr] = useState(false);\n\tconst [limit, setLimit] = useState(0);\n\n\tconst onAppSelect = useCallback(\n\t\t(ev) =>\n\t\t\tdispatch({\n\t\t\t\ttype: 'select-app',\n\t\t\t\tpayload: {\n\t\t\t\t\tapp: ev,\n\t\t\t\t\tversion: find(apps, ['name', ev])?.version\n\t\t\t\t}\n\t\t\t}),\n\t\t[apps]\n\t);\n\n\tconst onTopicSelect = useCallback((ev) => {\n\t\tsetShowErr(false);\n\t\tdispatch({ type: 'select-topic', payload: ev });\n\t}, []);\n\n\tconst onInputChange = useCallback((ev) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = `${25 + ev.target.scrollHeight}px`;\n\t\tif (ev.target.value.length <= 500) {\n\t\t\tsetLimit(ev.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: ev.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback(\n\t\t(ev) => {\n\t\t\tif (event.extra?.topic === '0') setShowErr(true);\n\t\t\telse setShowErr(false);\n\t\t\tif (ev.keyCode === 8) {\n\t\t\t\tif (event.message?.length === 0) {\n\t\t\t\t\tsetShowErr(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setShowErr, event]\n\t);\n\n\tconst closeBoard = useRemoveCurrentBoard();\n\n\tconst createSnackbar = useContext(SnackbarManagerContext) as (snackbar: any) => void;\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(event);\n\t\tcreateSnackbar(\n\t\t\tfeedbackId\n\t\t\t\t? { type: 'success', label: t('feedback.success', 'Thank you for your feedback') }\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('feedback.error', 'There was an error while sending your feedback')\n\t\t\t\t }\n\t\t);\n\t\tcloseBoard();\n\t}, [event, createSnackbar, t, closeBoard]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: acct.id, name: acct.displayName ?? acct.name }\n\t\t});\n\t}, [acct]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(event?.message?.length ?? 0) <= 0 || event.extra?.topic === '0' || event.extra?.app === '0',\n\t\t[event.message, event.extra?.topic, event.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props) => <_LabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"18px\">\n\t\t\t\t\t\t{t('feedback.report_something', 'Do you want to report something?')}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\" lineHeight=\"21px\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.explanation',\n\t\t\t\t\t\t\t'Please send us your feedback about your new experience with Zextras Server. Your opinion is meaningful for us to improve our product. So tell us what’s on your mind.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.hint',\n\t\t\t\t\t\t\t'Remember: define the topic using module and macro area selectors before write your feedback. Thanks for your help.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t</TextContainer>\n\n\t\t\t\t<ButtonContainer crossAlignment=\"flex-end\" mainAlignment=\"baseline\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('feedback.send', 'SEND')}\n\t\t\t\t\t\tonClick={confirmHandler}\n\t\t\t\t\t\tdisabled={disabledSend}\n\t\t\t\t\t/>\n\t\t\t\t</ButtonContainer>\n\t\t\t</Container>\n\t\t\t<Container\n\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tModule\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_module', 'Select a module')}\n\t\t\t\t\t\titems={appItems}\n\t\t\t\t\t\tonChange={onAppSelect}\n\t\t\t\t\t\tLabelFactory={ModuleLabelFactory}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tTopic\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_topic', 'Select a topic')}\n\t\t\t\t\t\tselection={find(topics, ['value', event.extra?.topic])}\n\t\t\t\t\t\titems={topics}\n\t\t\t\t\t\tonChange={onTopicSelect}\n\t\t\t\t\t\tLabelFactory={LabelFactory}\n\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t\t<TAContainer crossAlignment=\"flex-end\">\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={event.message}\n\t\t\t\t\tonKeyUp={checkTopicSelect}\n\t\t\t\t\tonChange={onInputChange}\n\t\t\t\t\tplaceholder={t('feedback.write_here', 'Write your feedback here')}\n\t\t\t\t/>\n\t\t\t\t<Text size=\"medium\" color=\"secondary\">\n\t\t\t\t\t{limit}/500\n\t\t\t\t</Text>\n\t\t\t</TAContainer>\n\t\t</Container>\n\t);\n};\n\nexport default Feedback;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Event, EventHint, Severity } from '@sentry/browser';\nimport { useReporter } from './store';\n\nexport const report =\n\t(appId: string) =>\n\t(error: Event, hint?: EventHint): string => {\n\t\tconst reporter = useReporter.getState();\n\t\tconst eventId = reporter.clients[appId]?.captureException(error, { ...hint });\n\t\tif (eventId) {\n\t\t\tconsole.info('Reported event ', eventId);\n\t\t}\n\t\treturn eventId;\n\t};\n\nexport const feedback = (message: Event): string => {\n\tconst reporter = useReporter.getState();\n\tconst eventId = reporter.clients.feedbacks.captureEvent({ ...message, level: Severity.Info });\n\tif (eventId) {\n\t\tconsole.info('Feedback ', eventId, ' sent, Thank you');\n\t}\n\treturn eventId;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './store';\nexport * from './functions';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { BrowserClient, Hub } from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport { CarbonioModule, SHELL_APP_ID } from '../../types';\n\ntype ReporterState = {\n\tclients: Record<string, Hub>;\n\tsetClients: (apps: Array<CarbonioModule>) => void;\n};\n\nexport const useReporter = create<ReporterState>((set) => ({\n\tclients: {\n\t\t[SHELL_APP_ID]: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t),\n\t\tfeedbacks: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t)\n\t},\n\tsetClients: (apps): void => {\n\t\tset((s) => ({\n\t\t\tclients: reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app) => {\n\t\t\t\t\tif (app.sentryDsn) {\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\ts.clients[app.name] = new Hub(\n\t\t\t\t\t\t\tnew BrowserClient({\n\t\t\t\t\t\t\t\tdsn: app.sentryDsn,\n\t\t\t\t\t\t\t\trelease: app.version,\n\t\t\t\t\t\t\t\tmaxValueLength: 500\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.clients\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ReporterState, StoreApi<ReporterState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { Container, Row, Text, Icon, Dropdown } from '@zextras/carbonio-design-system';\nimport { AppRoute } from '../../types';\nimport { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\n\nconst SelectorContainer = styled(Container)<{ open: boolean }>`\n\tborder-right: 1px solid ${({ theme }): string => theme.palette.gray4.regular};\n\tcursor: 'pointer';\n\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].regular};\n\t&:hover {\n\t\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].hover};\n\t}\n`;\n\nexport const ModuleSelector: FC<{ activeRoute: AppRoute; disabled: boolean }> = ({\n\tactiveRoute\n}) => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\tconst fullModule = useMemo(\n\t\t() => modules.find((m) => m.route === module) ?? modules[0],\n\t\t[module, modules]\n\t);\n\tconst [open, setOpen] = useState(false);\n\n\tconst dropdownItems = useMemo(\n\t\t() =>\n\t\t\tmodules.map(({ id, label, icon, route }) => ({\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\ticon,\n\t\t\t\tactive: id === module,\n\t\t\t\tclick: () => updateModule(route)\n\t\t\t})),\n\t\t[module, modules, updateModule]\n\t);\n\n\tuseEffect(() => {\n\t\tif (activeRoute?.app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== activeRoute?.app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === activeRoute?.app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [activeRoute, modules, updateModule]);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\titems={dropdownItems}\n\t\t\tonOpen={(): void => setOpen(true)}\n\t\t\tonClose={(): void => setOpen(false)}\n\t\t>\n\t\t\t<SelectorContainer\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\theight={42}\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"150px\"\n\t\t\t\tcrossAlignment=\"center\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tborderRadius=\"half\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace mainAlignment=\"unset\" padding={{ left: 'small' }}>\n\t\t\t\t\t<Text size=\"small\" color={open ? 'primary' : 'text'}>\n\t\t\t\t\t\t{fullModule?.label}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Icon\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\t\tcolor={open ? 'primary' : 'text'}\n\t\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t\t/>\n\t\t\t</SelectorContainer>\n\t\t</Dropdown>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { map } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { Container, Chip, Padding, Divider, Text, Button } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { QueryChip } from '../../types';\n// import { RouteLeavingGuard } from '../ui-extras/nav-guard';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useQuery = (): [Array<QueryChip>, Function] =>\n\tuseSearchStore((s) => [s.query, s.updateQuery]);\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useDisableSearch = (): [boolean, Function] =>\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\tuseSearchStore((s) => [s.searchDisabled, s.setSearchDisabled]);\nconst ResultsHeader: FC<{ label: string }> = ({ label }) => {\n\tconst [t] = useTranslation();\n\tconst [query, updateQuery] = useQuery();\n\tconst [disabled, setDisabled] = useDisableSearch();\n\n\tconst resetQuery = useCallback(() => {\n\t\tupdateQuery([]);\n\t\tsetDisabled(false);\n\t}, [updateQuery, setDisabled]);\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t\tminHeight=\"48px\"\n\t\t\t\tmaxHeight=\"120px\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\tpadding={{ horizontal: 'large', vertical: 'medium' }}\n\t\t\t>\n\t\t\t\t<Container width=\"85%\" orientation=\"horizontal\" wrap=\"wrap\" mainAlignment=\"flex-start\">\n\t\t\t\t\t<Text color=\"secondary\">{label}</Text>\n\n\t\t\t\t\t{map(query, (q, i) => (\n\t\t\t\t\t\t<Padding key={`${i}${q.label}`} all=\"extrasmall\">\n\t\t\t\t\t\t\t<Chip {...q} background=\"gray2\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t\t{query?.length > 0 && (\n\t\t\t\t\t<Container width=\"15%\" mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.clear_search_query', 'CLEAR SEARCH')}\n\t\t\t\t\t\t\ticon=\"CloseOutline\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t\ttype=\"ghost\"\n\t\t\t\t\t\t\tonClick={resetQuery}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Container>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Divider color=\"gray3\" />\n\t\t</>\n\t);\n};\n\nexport const SearchAppView: FC = () => {\n\tconst searchViews = useAppStore((s) => s.views.search);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(searchViews, (view) => (\n\t\t\t\t<Route key={`/${view.route}`} path={`/${SEARCH_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component\n\t\t\t\t\t\t\tuseQuery={useQuery}\n\t\t\t\t\t\t\tResultsHeader={ResultsHeader}\n\t\t\t\t\t\t\tuseDisableSearch={useDisableSearch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[searchViews]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{/* <RouteLeavingGuard\n\t\t\t\twhen\n\t\t\t\ttitle={t('search.leave.title', 'Are you sure you want to leave this module?')}\n\t\t\t>\n\t\t\t\t<Text>{t('search.leave.warning', 'The current search results will be lost')}</Text>\n\t\t\t</RouteLeavingGuard> */}\n\t\t\t<Switch>\n\t\t\t\t{routes}\n\t\t\t\t<Redirect\n\t\t\t\t\texact\n\t\t\t\t\tstrict\n\t\t\t\t\tfrom={`/${SEARCH_APP_ID}`}\n\t\t\t\t\tto={`/${SEARCH_APP_ID}/${searchViews[0]?.route}`}\n\t\t\t\t/>\n\t\t\t</Switch>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport React, { useState, useCallback, useEffect, useMemo, FC, useRef } from 'react';\nimport {\n\tChipInput,\n\tContainer,\n\tIconButton,\n\tTooltip,\n\tIcon,\n\tText,\n\tPadding\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { filter, find, map, reduce } from 'lodash';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\nimport { useLocalStorage } from '../shell/hooks';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { QueryChip, SearchBarProps } from '../../types';\nimport { ModuleSelector } from './module-selector';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 1px solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.primary.disabled : theme.palette.primary.regular};\n\tdisplay: 'block';\n\t& svg {\n\t\tborder: none;\n\t}\n`;\n\nconst StyledChipInput = styled(ChipInput)`\n\tpadding: 0 16px;\n\t&:hover {\n\t\toutline: none;\n\t\tbackground: ${({ theme, disabled }): string =>\n\t\t\tdisabled ? 'gray5' : theme.palette.gray5.hover};\n\t}\n`;\n\nconst StyledContainer = styled(Container)`\n\theight: 42px;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-2px);\n\t}\n`;\n\nexport const SearchBar: FC<SearchBarProps> = ({\n\tactiveRoute\n\t// primaryAction,\n\t// secondaryActions\n}) => {\n\tconst [searchIsEnabled, setSearchIsEnabled] = useState(false);\n\tconst inputRef = useRef<HTMLInputElement>();\n\tconst [t] = useTranslation();\n\tconst [storedValue, setStoredValue] = useLocalStorage('search_suggestions', []);\n\tconst [inputTyped, setInputTyped] = useState('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled } = useSearchStore();\n\t// const [moduleSelection, setModuleSelection] = useState<{\n\t// \tvalue: string;\n\t// \tlabel: string;\n\t// }>();\n\tconst [isTyping, setIsTyping] = useState(false);\n\t// const [changedBySearchBar, setChangedBySearchBar] = useState(false);\n\n\tconst [options, setOptions] = useState<Array<{ label: string; hasAvatar: false }>>([]);\n\n\tconst [inputHasFocus, setInputHasFocus] = useState(false);\n\n\tconst [inputState, setInputState] = useState(query);\n\tconst showClear = useMemo(\n\t\t() =>\n\t\t\tinputState.length > 0 ||\n\t\t\t(inputRef.current?.textContent && inputRef.current?.textContent?.length > 0),\n\t\t[inputState.length]\n\t);\n\tconst clearSearch = useCallback((): void => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.innerText = '';\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t\tsetIsTyping(false);\n\t\tsetInputState([]);\n\t\tsetSearchDisabled(false);\n\t\tupdateQuery([]);\n\t\tsetInputTyped('');\n\t}, [setSearchDisabled, updateQuery]);\n\n\tconst onSearch = useCallback(() => {\n\t\tupdateQuery((currentQuery) => {\n\t\t\tconst ref = inputRef?.current;\n\n\t\t\tif (ref) ref.innerText = '';\n\t\t\tif (inputTyped.length > 0) {\n\t\t\t\tconst newInputState = [\n\t\t\t\t\t...inputState,\n\t\t\t\t\t...map(inputTyped?.split(' '), (item) => ({ label: item, hasAvatar: false }))\n\t\t\t\t];\n\t\t\t\tsetInputState(newInputState);\n\t\t\t\tsetInputTyped('');\n\t\t\t\treturn reduce(\n\t\t\t\t\tnewInputState,\n\t\t\t\t\t(acc, chip) => {\n\t\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\tfilter(\n\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t\tqchip.isQueryFilter ||\n\t\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\tsetInputTyped('');\n\t\t\treturn reduce(\n\t\t\t\tinputState,\n\t\t\t\t(acc, chip) => {\n\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\tfilter(\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\tqchip.isQueryFilter ||\n\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t\t// if (activeRoute?.app !== SEARCH_APP_ID) {\n\t\thistory.push(`/${SEARCH_APP_ID}/${module}`);\n\t\t// }\n\t\tsetSearchIsEnabled(false);\n\t\t// setChangedBySearchBar(true);\n\t}, [updateQuery, inputTyped, inputState, history, module]);\n\n\tconst appSuggestions = useMemo<Array<QueryChip & { hasAvatar: false }>>(\n\t\t() =>\n\t\t\tfilter(storedValue, (v) => v.app === module)\n\t\t\t\t.reverse()\n\t\t\t\t.map((item: QueryChip) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\thasAvatar: false,\n\t\t\t\t\tdisabled: searchDisabled,\n\t\t\t\t\tclick: (): void => {\n\t\t\t\t\t\tsetInputState((q: Array<QueryChip>) => [...q, { ...item, hasAvatar: false }]);\n\t\t\t\t\t}\n\t\t\t\t})),\n\t\t[storedValue, module, searchDisabled]\n\t);\n\n\tconst updateOptions = useCallback(\n\t\t(target: HTMLInputElement, q: Array<any>): void => {\n\t\t\tif (target.textContent && target.textContent.length > 0) {\n\t\t\t\tsetOptions(\n\t\t\t\t\tappSuggestions\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(v: QueryChip): boolean =>\n\t\t\t\t\t\t\t\tv.label?.indexOf(target.textContent as string) !== -1 &&\n\t\t\t\t\t\t\t\t!find(q, (i) => i.value === v.label)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.slice(0, 5)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetOptions(appSuggestions.slice(0, 5));\n\t\t\t}\n\t\t},\n\t\t[appSuggestions]\n\t);\n\n\tconst onQueryChange = useCallback(\n\t\t(newQuery) => {\n\t\t\tif (\n\t\t\t\tnewQuery[newQuery.length - 1]?.label &&\n\t\t\t\tmodule &&\n\t\t\t\t!find(appSuggestions, (v) => v.label === newQuery[newQuery.length - 1]?.label)\n\t\t\t) {\n\t\t\t\tsetStoredValue(\n\t\t\t\t\t(\n\t\t\t\t\t\tvalue: Array<{ value: string; label: string; icon: string; app: string; id: string }>\n\t\t\t\t\t) => [\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\t\tlabel: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\t\tid: `${value.length}`,\n\t\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t}\n\t\t\t/** Commented for future reference */\n\t\t\t// if (inputRef.current) {\n\t\t\t// \tupdateOptions(inputRef.current, newQuery);\n\t\t\t// }\n\t\t\tsetInputState(newQuery);\n\t\t\tsetSearchIsEnabled(true);\n\t\t},\n\t\t[appSuggestions, module, setStoredValue]\n\t);\n\n\tconst onInputType = useCallback(\n\t\t(ev) => {\n\t\t\tif (ev.target.textContent === '') {\n\t\t\t\tsetIsTyping(false);\n\t\t\t} else if (!isTyping) {\n\t\t\t\tsetIsTyping(true);\n\t\t\t}\n\t\t\tsetInputTyped(ev.target.textContent);\n\t\t\tupdateOptions(ev.target, query);\n\t\t},\n\t\t[query, updateOptions, isTyping]\n\t);\n\n\tuseEffect(() => {\n\t\tif (module) {\n\t\t\tconst suggestions = filter(appSuggestions, (suggestion) => suggestion?.app === module).slice(\n\t\t\t\t0,\n\t\t\t\t5\n\t\t\t);\n\n\t\t\tsetOptions(suggestions);\n\t\t}\n\t}, [appSuggestions, module]);\n\n\tconst [triggerSearch, setTriggerSearch] = useState(false);\n\tconst containerRef = useRef<HTMLDivElement>();\n\n\t// useEffect(() => {\n\t// \tconst handler = (event: KeyboardEvent): unknown =>\n\t// \t\thandleKeyboardShortcuts({\n\t// \t\t\tevent,\n\t// \t\t\tinputRef,\n\t// \t\t\tprimaryAction,\n\t// \t\t\tsecondaryActions,\n\t// \t\t\tcurrentApp\n\t// \t\t});\n\t// \tdocument.addEventListener('keydown', handler);\n\t// \treturn (): void => {\n\t// \t\tdocument.removeEventListener('keydown', handler);\n\t// \t};\n\t// }, [currentApp, inputRef, primaryAction, secondaryActions]);\n\n\tuseEffect(() => {\n\t\tconst ref = inputRef.current;\n\t\tconst searchCb = (ev: any): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tsetTimeout(() => setTriggerSearch(true), 0);\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', searchCb);\n\t\t}\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', searchCb);\n\t\t\t}\n\t\t};\n\t}, [onSearch]);\n\n\tuseEffect(() => {\n\t\tif (triggerSearch) {\n\t\t\tonSearch();\n\t\t\tsetTriggerSearch(false);\n\t\t}\n\t}, [onSearch, triggerSearch]);\n\n\t// useEffect(() => {\n\t// \tsetChangedBySearchBar((value) => {\n\t// \t\tif (!value) {\n\t// \t\t\tsetInputState(filter(query, (q) => !q.isQueryFilter));\n\t// \t\t}\n\t// \t\treturn false;\n\t// \t});\n\t// }, [query]);\n\n\tconst disableOptions = useMemo(() => !(options.length > 0) || isTyping, [options, isTyping]);\n\n\tconst placeholder = useMemo(\n\t\t() =>\n\t\t\tinputHasFocus && module\n\t\t\t\t? t('search.active_input_label', 'Separate your keywords by a comma or pressing TAB')\n\t\t\t\t: t('search.idle_input_label', 'Search in {{module}}', {\n\t\t\t\t\t\tmodule\n\t\t\t\t }),\n\t\t[inputHasFocus, module, t]\n\t);\n\n\tconst clearButtonPlaceholder = useMemo(\n\t\t() =>\n\t\t\tshowClear || isTyping\n\t\t\t\t? t('search.clear', 'Clear search input')\n\t\t\t\t: t('search.already_clear', 'Search input is already clear'),\n\t\t[showClear, t, isTyping]\n\t);\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (searchIsEnabled && inputState.length > 0) {\n\t\t\treturn t('search.start', 'Start search');\n\t\t}\n\t\tif (inputHasFocus) {\n\t\t\treturn t(\n\t\t\t\t'search.type_or_choose_suggestion',\n\t\t\t\t'Type or choose some keywords to start a search'\n\t\t\t);\n\t\t}\n\t\tif (query.length > 0) {\n\t\t\treturn t('label.edit_to_start_search', 'Edit your search to start a new one');\n\t\t}\n\t\treturn t('search.type_to_start_search', 'Type some keywords to start a search');\n\t}, [t, searchIsEnabled, inputState.length, inputHasFocus, query.length]);\n\n\tconst onChipAdd = useCallback(\n\t\t(newChip: string) => {\n\t\t\tsetIsTyping(false);\n\t\t\tsetInputTyped('');\n\t\t\tif (module) {\n\t\t\t\tconst suggestions = filter(\n\t\t\t\t\tappSuggestions,\n\t\t\t\t\t(suggestion) => suggestion?.app === module\n\t\t\t\t).slice(0, 5);\n\n\t\t\t\tsetOptions(suggestions);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlabel: newChip.trim(),\n\t\t\t\thasAvatar: false,\n\t\t\t\tavatarLabel: ''\n\t\t\t};\n\t\t},\n\t\t[appSuggestions, module]\n\t);\n\n\tuseEffect(() => {\n\t\tsetInputState(map(query, (q) => ({ ...q, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\n\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\tconst disableClearButton = useMemo(() => (isTyping ? false : !showClear), [showClear, isTyping]);\n\n\treturn (\n\t\t<Container orientation=\"horizontal\" minWidth=\"0\" ref={containerRef}>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={t(\n\t\t\t\t\t'search.unable_to_parse_query',\n\t\t\t\t\t'Unable to complete the search, clear it and retry'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t<Container minWidth=\"512px\" width=\"fill\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t\t\t<Container width=\"fit\">\n\t\t\t\t\t\t\t\t<ModuleSelector activeRoute={activeRoute} disabled={searchDisabled} />\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t<StyledContainer orientation=\"horizontal\">\n\t\t\t\t\t\t\t\t<StyledChipInput\n\t\t\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\t\t\t\t\tvalue={inputState}\n\t\t\t\t\t\t\t\t\tonAdd={onChipAdd}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\tconfirmChipOnBlur={false}\n\t\t\t\t\t\t\t\t\tconfirmChipOnSpace={false}\n\t\t\t\t\t\t\t\t\tseparators={['Comma']}\n\t\t\t\t\t\t\t\t\tbackground={searchDisabled ? 'gray5' : 'gray6'}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={onQueryChange}\n\t\t\t\t\t\t\t\t\tonInputType={onInputType}\n\t\t\t\t\t\t\t\t\tonInputTypeDebounce={0}\n\t\t\t\t\t\t\t\t\tonBlur={removeFocus}\n\t\t\t\t\t\t\t\t\tonFocus={addFocus}\n\t\t\t\t\t\t\t\t\tdisableOptions={disableOptions}\n\t\t\t\t\t\t\t\t\trequireUniqueChips={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StyledContainer>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Container>\n\n\t\t\t\t\t{!disableClearButton && (\n\t\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t\t<Tooltip label={clearButtonPlaceholder} placement=\"bottom\">\n\t\t\t\t\t\t\t\t<OutlinedIconButton\n\t\t\t\t\t\t\t\t\tdisabled={disableClearButton}\n\t\t\t\t\t\t\t\t\ticon=\"BackspaceOutline\"\n\t\t\t\t\t\t\t\t\ticonColor=\"primary\"\n\t\t\t\t\t\t\t\t\tonClick={clearSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\tlabel={searchBtnTooltipLabel}\n\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticon=\"Search\"\n\t\t\t\t\t\t\t\tdisabled={!(searchIsEnabled && inputState.length > 0)}\n\t\t\t\t\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\t\t\t\t\ticonColor=\"gray6\"\n\t\t\t\t\t\t\t\tonClick={onSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { isFunction } from 'lodash';\nimport create from 'zustand';\nimport { QueryChip, SearchState } from '../../types';\n\nexport const useSearchStore = create<SearchState>((set, get) => ({\n\tquery: [],\n\tsearchDisabled: false,\n\tsetSearchDisabled: (searchDisabled: boolean): void => set({ searchDisabled }),\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)): void =>\n\t\tset({ query: isFunction(query) ? query(get().query) : query }),\n\tupdateModule: (module: string): void => set({ module })\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo } from 'react';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { AccountsSettings } from './accounts-settings';\nimport { useUserAccount } from '../store/account';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst [t] = useTranslation();\n\tconst identitiesDefault = useMemo(() => {\n\t\tconst temp = map(accountSettings?.identities.identity, (item, index) => ({\n\t\t\tid: item.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\t\t\ttype: item.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\t\t\tidentityId: item._attrs.zimbraPrefIdentityId || '',\n\t\t\tfromAddress: item._attrs.zimbraPrefFromAddress || '',\n\t\t\tidentityName: item._attrs.zimbraPrefIdentityName || '',\n\t\t\tfromDisplay: item._attrs.zimbraPrefFromDisplay || '',\n\t\t\trecoveryAccount: item._attrs.zimbraRecoveryAccount || '',\n\t\t\treplyToDisplay: item._attrs.zimbraPrefReplyToDisplay || '',\n\t\t\treplyToAddress: item._attrs.zimbraPrefReplyToAddress || '',\n\t\t\treplyToEnabled: item._attrs.zimbraPrefReplyToEnabled || '',\n\t\t\tsaveToSent: item._attrs.zimbraPrefSaveToSent || '',\n\t\t\tsentMailFolder: item._attrs.zimbraPrefSentMailFolder || '',\n\t\t\twhenInFoldersEnabled: item._attrs.zimbraPrefWhenInFoldersEnabled || '',\n\t\t\twhenSentToEnabled: item._attrs.zimbraPrefWhenSentToEnabled || '',\n\t\t\twhenSentToAddresses: item._attrs.zimbraPrefWhenSentToAddresses || ''\n\t\t}));\n\t\tconst result = [temp[temp.length - 1], ...temp];\n\t\tresult.pop();\n\t\treturn result;\n\t}, [accountSettings, t]);\n\n\treturn identitiesDefault.length > 0 ? (\n\t\t<AccountsSettings identitiesDefault={identitiesDefault} t={t} />\n\t) : null;\n};\n\nexport default AccountWrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useState, useEffect, ReactElement } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'react-i18next';\nimport { map, includes, findIndex, reduce, find, replace, lowerFirst, isEmpty } from 'lodash';\nimport { useUserSettings } from '../store/account/hooks';\nimport { editSettings } from '../network/edit-settings';\nimport { SHELL_APP_ID } from '../constants';\nimport { Mods, IdentityProps, CreateIdentityProps } from '../../types';\nimport { useAccountStore } from '../store/account/store';\nimport AccountsList from './components/account-settings/accounts-list';\nimport PrimaryAccountSettings from './components/account-settings/primary-account-settings';\nimport SettingsSentMessages from './components/account-settings/settings-sent-messages';\nimport PasswordRecoverySettings from './components/account-settings/password-recovery-settings';\nimport Delegates from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport PersonaUseSection from './components/account-settings/persona-use-section';\nimport SettingsHeader from './components/settings-header';\nimport { getXmlSoapFetch } from '../network/fetch';\n\n// external accounts not yet activated, graphical part is complete\n// import ExternalAccount from './components/account-settings/external-account-settings';\n// import AdvancedSettings from './components/account-settings/advanced-settings';\n// import DownloadMessages from './components/account-settings/download-messages';\n\ntype ModifyProps = { id: string | number; key: string; value: string | boolean } | undefined;\ntype AddModProps = {\n\ttype: string;\n\tmodifyProp?: ModifyProps;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\ntype AccountSettingsProps = {\n\tidentitiesDefault: IdentityProps[];\n\tt: TFunction;\n};\n\ntype UserRightsProps = { email: string; right: string };\n\ntype DelegateProps = {\n\tid: string;\n\temail: string;\n\tright: string;\n};\n\nexport const AccountsSettings = ({ identitiesDefault, t }: AccountSettingsProps): ReactElement => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [activeDelegateView, setActiveDelegateView] = useState('0');\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst [delegates, setDelegates] = useState<DelegateProps[]>([]);\n\n\tconst maxIdentities = useUserSettings().attrs.zimbraIdentityMaxNumEntries;\n\tconst addMod = useCallback(\n\t\t(arg: AddModProps) => {\n\t\t\tconst { type, modifyProp, deleteList, createList } = arg;\n\t\t\tsetMods((prevState) => {\n\t\t\t\tconst prevRecord = find(\n\t\t\t\t\tprevState?.identity?.modifyList,\n\t\t\t\t\t(item) => item.id === modifyProp?.id\n\t\t\t\t)?.prefs;\n\t\t\t\tconst modifyList =\n\t\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...prevState.identity?.modifyList,\n\t\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\t\tid: modifyProp.id,\n\t\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: prevState.identity?.modifyList;\n\t\t\t\tconst newCreateList = prevState.identity?.createList || createList;\n\t\t\t\tconst newDeleteList = prevState.identity?.deleteList || deleteList;\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\n\t\t\t\t\t[type]: {\n\t\t\t\t\t\tdeleteList: newDeleteList,\n\t\t\t\t\t\tcreateList: newCreateList,\n\t\t\t\t\t\tmodifyList\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t[setMods]\n\t);\n\n\tconst modifyCreateList = useCallback((arg: AddModProps) => {\n\t\tconst { type, modifyProp } = arg;\n\t\tsetMods((prevState) => {\n\t\t\tconst prevRecord = find(\n\t\t\t\tprevState?.identity?.createList,\n\t\t\t\t(item) => item.prefs.requestId === modifyProp?.id\n\t\t\t)?.prefs;\n\t\t\tconst modifiedCreateList =\n\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...prevState.identity?.createList,\n\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\n\t\t\t\t[type]: {\n\t\t\t\t\tcreateList: modifiedCreateList,\n\t\t\t\t\tdeleteList: prevState.identity?.deleteList,\n\t\t\t\t\tmodifyList: prevState.identity?.modifyList\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}, []);\n\tconst createIdentities = useCallback(\n\t\t(createList: { prefs: CreateIdentityProps }[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tcreateList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst updateIdentities = useCallback(\n\t\t(modifyProp: { id: string | number; key: string; value: string | boolean }) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tmodifyProp: { id: modifyProp.id, key: modifyProp.key, value: modifyProp.value }\n\t\t\t};\n\t\t\tif (typeof modifyProp.id === 'string') {\n\t\t\t\taddMod(arg);\n\t\t\t} else if (typeof modifyProp.id === 'number') {\n\t\t\t\tmodifyCreateList(arg);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(modifyProp.key, 'zimbraPref', ''));\n\t\t\tsetIdentities(\n\t\t\t\tmap(identities, (item) =>\n\t\t\t\t\titem.identityId === modifyProp.id\n\t\t\t\t\t\t? { ...item, [updatedIdentityKey]: modifyProp.value }\n\t\t\t\t\t\t: item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[addMod, identities, modifyCreateList]\n\t);\n\n\tconst deleteIdentities = useCallback(\n\t\t(deleteList: string[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tdeleteList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'GetRights',\n\t\t\t`<GetRightsRequest xmlns=\"urn:zimbraAccount\"></GetRightsRequest>`\n\t\t).then((res: any) => {\n\t\t\tif (res.ace) {\n\t\t\t\tconst tempResult: UserRightsProps[] = map(res.ace, (item) => ({\n\t\t\t\t\temail: item.d,\n\t\t\t\t\tright: item.right\n\t\t\t\t}));\n\t\t\t\tconst resultReduced = reduce(\n\t\t\t\t\ttempResult,\n\t\t\t\t\t(result: UserRightsProps[], item) => {\n\t\t\t\t\t\tconst index = findIndex(result, { email: item.email });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\tresult.push({ email: item.email, right: item.right });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\temail: item.email,\n\t\t\t\t\t\t\t\tright: `${item.right} and ${result[index].right}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tresult.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tconst result = map(resultReduced, (item: UserRightsProps, index) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: index.toString()\n\t\t\t\t}));\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tsetMods({});\n\t}, [identitiesDefault]);\n\n\tconst onSave = useCallback(() => {\n\t\tif (\n\t\t\tidentitiesDefault.length +\n\t\t\t\t(mods.identity?.createList?.length || 0) -\n\t\t\t\t(mods?.identity?.deleteList?.length || 0) >\n\t\t\tmaxIdentities\n\t\t) {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t(\n\t\t\t\t\t'message.snackbar.identities_quota_exceeded',\n\t\t\t\t\t'The identitity could not be created because you have exceeded your identity quota'\n\t\t\t\t),\n\t\t\t\tautoHideTimeout: 5000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [identitiesDefault.length, mods, maxIdentities, createSnackbar, t]);\n\n\tconst onCancel = useCallback(() => setMods({}), []);\n\tconst title: string = useMemo(() => t('label.accounts', 'Accounts'), [t]);\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader onSave={onSave} onCancel={onCancel} isDirty={isDirty} title={title} />\n\t\t\t<Container background=\"gray5\" padding={{ top: 'large' }} height=\"fit\" />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AccountsList\n\t\t\t\t\tt={t}\n\t\t\t\t\tidentities={identities}\n\t\t\t\t\tsetIdentities={setIdentities}\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t\tdeleteIdentities={deleteIdentities}\n\t\t\t\t\tcreateIdentities={createIdentities}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.primary', 'Primary') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PrimaryAccountSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[0]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PasswordRecoverySettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tcreateSnackbar={createSnackbar}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Delegates\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={delegates}\n\t\t\t\t\t\t\tactiveDelegateView={activeDelegateView}\n\t\t\t\t\t\t\tsetActiveDelegateView={setActiveDelegateView}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.persona', 'Persona') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PersonaSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PersonaUseSection\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{includes(['IMAP', 'POP'], identities[selectedIdentityId]?.type) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* <ExternalAccount t={t} items={identities} />\n\t\t\t\t\t\t<AdvancedSettings t={t} items={identities} />\n\t\t\t\t\t\t<DownloadMessages t={t} items={identities} />\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tsetMods={setMods}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, ReactElement, useState, useContext } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tIcon,\n\tModalManagerContext\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max } from 'lodash';\nimport { IdentityProps, CreateIdentityProps } from '../../../../types';\n\ntype AccountsListProps = {\n\tt: TFunction;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tdeleteIdentities: (deleteList: string[]) => void;\n\tcreateIdentities: (createList: { prefs: CreateIdentityProps }[]) => void;\n};\n\ntype ListItemProps = {\n\tactive: boolean;\n\titem: IdentityProps;\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst AccountsList = ({\n\tt,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tdeleteIdentities,\n\tcreateIdentities\n}: AccountsListProps): ReactElement => {\n\tconst changeView = (value: number): void => setSelectedIdentityId(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => {\n\t\t\t\t\tchangeView(Number(item.id));\n\t\t\t\t}}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Icon icon=\"CheckmarkCircle2Outline\" size=\"large\" color=\"primary\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.identityName}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t({item.fromAddress})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.type}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\tconst createModal = useContext(ModalManagerContext);\n\n\tconst [createListrequestId, setCreateListrequestId] = useState(0);\n\tconst [createList, setCreateList] = useState<{ prefs: CreateIdentityProps }[]>([]);\n\tconst addNewPersona = useCallback(() => {\n\t\tconst newPersonaNextNumber =\n\t\t\tNumber(\n\t\t\t\tmax([\n\t\t\t\t\t...filter(\n\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\tfilter(identities, (item) => item.identityName?.includes('New Persona')),\n\t\t\t\t\t\t\t\t(item: IdentityProps) => item.identityName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(item: string) => parseFloat(item.replace('New Persona ', ''))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(item) => Number(item)\n\t\t\t\t\t)\n\t\t\t\t])\n\t\t\t) + 1;\n\t\tconst newPersonaName = `New Persona ${newPersonaNextNumber || 1}`;\n\t\tidentities.push({\n\t\t\tid: `${identities.length}`,\n\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\tidentityId: createListrequestId,\n\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\tidentityName: newPersonaName,\n\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\treplyToDisplay: '',\n\t\t\treplyToAddress: '',\n\t\t\treplyToEnabled: 'FALSE',\n\t\t\tsaveToSent: '',\n\t\t\tsentMailFolder: '',\n\t\t\twhenInFoldersEnabled: '',\n\t\t\twhenSentToEnabled: ''\n\t\t});\n\t\tsetIdentities(identities);\n\t\tsetCreateListrequestId(createListrequestId + 1);\n\t\tsetCreateList((state) => {\n\t\t\tstate.push({\n\t\t\t\tprefs: {\n\t\t\t\t\trequestId: createListrequestId,\n\t\t\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\t\t\tzimbraPrefReplyToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefReplyToDisplay: '',\n\t\t\t\t\tzimbraPrefReplyToAddress: '',\n\t\t\t\t\tzimbraPrefDefaultSignatureId: '',\n\t\t\t\t\tzimbraPrefForwardReplySignatureId: '',\n\t\t\t\t\tzimbraPrefWhenSentToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefWhenInFoldersEnabled: 'FALSE'\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\t\tcreateIdentities(createList);\n\t\tsetSelectedIdentityId(identities.length - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tt,\n\t\tcreateIdentities,\n\t\tcreateListrequestId,\n\t\tcreateList,\n\t\tsetSelectedIdentityId\n\t]);\n\n\tconst [deleteList, setDeleteList] = useState<string[]>([]);\n\tconst onConfirmDelete = useCallback((): void => {\n\t\tconst newIdentities = map(\n\t\t\tfilter(\n\t\t\t\tidentities,\n\t\t\t\t(identity) => identity?.identityId !== identities[selectedIdentityId]?.identityId\n\t\t\t),\n\t\t\t(item: IdentityProps, index: number) => ({ ...item, id: index.toString() })\n\t\t);\n\t\tsetDeleteList((state) => {\n\t\t\tstate.push(identities[selectedIdentityId]?.identityId.toString());\n\t\t\treturn state;\n\t\t});\n\t\tsetIdentities(newIdentities);\n\t\tdeleteIdentities(deleteList);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tdeleteIdentities,\n\t\tdeleteList,\n\t\tsetSelectedIdentityId,\n\t\tselectedIdentityId\n\t]);\n\tconst onDelete = useCallback((): void => {\n\t\t// I'm disabling lint as the DS is not defining the type\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst closeModal = createModal({\n\t\t\ttitle: t('label.permanent_delete_title', 'Are you sure to permanently delete this Persona?'),\n\t\t\tonConfirm: () => {\n\t\t\t\tonConfirmDelete();\n\t\t\t\tcloseModal();\n\t\t\t},\n\t\t\tconfirmLabel: t('label.delete_permanently', 'Delete permanently'),\n\t\t\tconfirmColor: 'error',\n\t\t\tshowCloseIcon: true,\n\t\t\tonClose: () => closeModal(),\n\t\t\tchildren: (\n\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'messages.permanent_delete_body',\n\t\t\t\t\t\t\t'If you permanently delete this Persona you will not be able to recover it. Continue?'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Padding>\n\t\t\t)\n\t\t});\n\t}, [createModal, t, onConfirmDelete]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.accounts_list', 'Accounts list')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={identities}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={identities[selectedIdentityId]?.id}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_external_account', 'Add external account')}\n\t\t\t\t\t\t// onClick={(): void => setSelectedIdentity({ type: 'POP' })}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={(): void => addNewPersona()}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.delete', 'Delete')}\n\t\t\t\t\tonClick={(): void => onDelete()}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.type === t('label.primary', 'Primary')}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default AccountsList;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tRadio,\n\tRadioGroup\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: { email: string; right: string; id: string }[];\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\n};\n\ntype ListItemProps = {\n\tactive: string;\n\titem: { id: string; label: string; email: string; right: string };\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst Delegates = ({\n\tt,\n\titems,\n\tactiveDelegateView,\n\tsetActiveDelegateView\n}: DelegatesProps): ReactElement => {\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst changeView = (value: string): void => setActiveDelegateView(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => changeView(item.id)}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.delegates', 'Delegates')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={items}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={activeDelegateView}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tactiveView={activeDelegateView}\n\t\t\t\t\tsetActiveView={setActiveDelegateView}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_delegate', 'Add delegate')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.edit_permissions', 'Edit permissions')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button label={t('label.remove', 'remove')} color=\"error\" type=\"outlined\" disabled />\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<RadioGroup\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\tvalue={activeValue}\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tonChange={(newValue: string): void => setActiveValue(newValue)}\n\t\t\t\t>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_to_my_sent_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_delegate_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to delegate’s Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"2\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_both_folders',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder and delegate’s folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio label={t('label.dont_save', 'Don’t save a copy of sent messages')} value=\"4\" />\n\t\t\t\t</RadioGroup>\n\t\t\t\t<Padding bottom=\"large\" />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default Delegates;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tPadding,\n\tInput,\n\tRow,\n\tButton,\n\tDivider\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { SHELL_APP_ID, EMAIL_VALIDATION_REGEX } from '../../../constants';\nimport { IdentityProps } from '../../../../types';\nimport { getXmlSoapFetch } from '../../../network/fetch';\n\ninterface PasswordRecoverySettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tcreateSnackbar: (arg: {\n\t\tkey: string;\n\t\treplace: boolean;\n\t\ttype: string;\n\t\tlabel: string;\n\t\tautoHideTimeout: number;\n\t\thideButton: boolean;\n\t}) => void;\n}\nconst PasswordRecoverySettings = ({\n\tt,\n\titems,\n\tcreateSnackbar\n}: PasswordRecoverySettingsProps): ReactElement => {\n\tconst title = useMemo(\n\t\t() => t('label.passwords_recovery_settings', 'Password Recovery Account Settings'),\n\t\t[t]\n\t);\n\n\tconst recoveryEmail = useMemo(\n\t\t() => items.recoveryAccount || t('label.no_results', 'No results found'),\n\t\t[t, items.recoveryAccount]\n\t);\n\tconst [emailValue, setEmailValue] = useState('');\n\tconst [isValidEmail, setIsValidEmail] = useState(false);\n\tconst inputLabel = useMemo(\n\t\t() => (emailValue ? '' : t('label.add_new_email', 'Add new e-mail address')),\n\t\t[emailValue, t]\n\t);\n\n\tconst onChange = useCallback(\n\t\t(\n\t\t\tev: MouseEvent & {\n\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t}\n\t\t): void => {\n\t\t\tsetEmailValue(ev.target.value);\n\t\t\tsetIsValidEmail(EMAIL_VALIDATION_REGEX.test(ev.target.value));\n\t\t},\n\t\t[setEmailValue, setIsValidEmail]\n\t);\n\n\tconst onSubmit = useCallback(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'SetRecoveryAccount',\n\t\t\t`<SetRecoveryAccountRequest xmlns=\"urn:zimbraMail\" op=\"sendCode\" recoveryAccount=\"${emailValue}\"/>`\n\t\t).catch(() => {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t});\n\t}, [createSnackbar, emailValue, t]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title} </Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" padding={{ bottom: 'medium' }}>\n\t\t\t\t\t<Text background=\"gray6\" color=\"secondary\">\n\t\t\t\t\t\t{recoveryEmail}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Divider />\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={inputLabel}\n\t\t\t\t\t\tvalue={emailValue}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\thasError={emailValue !== '' && !isValidEmail}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"fit\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_recovery_email', 'Add recovery e-mail')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled={!isValidEmail}\n\t\t\t\t\t\tonClick={onSubmit}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PasswordRecoverySettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, ReactElement, useEffect, useMemo } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\n\ninterface PersonaSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PersonaSettings = ({ t, items, updateIdentities }: PersonaSettingsProps): ReactElement => {\n\tconst [personaValue, setPersonaValue] = useState(items.identityName);\n\tconst personaLabel = useMemo(\n\t\t() => (personaValue ? '' : t('label.persona_name', 'Persona Name')),\n\t\t[personaValue, t]\n\t);\n\tuseEffect(() => {\n\t\tsetPersonaValue(items.identityName);\n\t}, [items.identityName]);\n\n\tconst onChange = useCallback(\n\t\t(ev) => {\n\t\t\tsetPersonaValue(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId, setPersonaValue]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.persona_settings', 'Persona Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"vertical\" mainAlignment=\"flex-start\" width=\"fill\">\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text background=\"gray6\" color=\"secondary\" width=\"fill\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line1',\n\t\t\t\t\t\t\t\t'Use personas to quickly change many settings when sending e-mail messages.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text background=\"gray6\" color=\"secondary\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line2',\n\t\t\t\t\t\t\t\t'For example, if you sometimes send e-mails in a particular role at work, create a persona for that.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace>\n\t\t\t\t\t<Input label={personaLabel} value={personaValue} background=\"gray5\" onChange={onChange} />\n\t\t\t\t</Row>\n\t\t\t</Row>\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PersonaSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useEffect, ReactElement, useState, useCallback } from 'react';\nimport { Container, Text, Padding, Input, Row, Checkbox } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype PersonaUseSectionProps = {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n};\n\nconst PersonaUseSection = ({\n\tt,\n\titems,\n\tupdateIdentities\n}: PersonaUseSectionProps): ReactElement => {\n\tconst title = useMemo(() => t('label.use_persona', 'Use this persona'), [t]);\n\tconst whenSentToLabel = useMemo(\n\t\t() => t('label.when_replying', 'When replying or forwarding messages sent to:'),\n\t\t[t]\n\t);\n\t// this code is work in progress for when the mails sync is implemented\n\t// const [open, setOpen] = useState(false);\n\t// const onClose = useCallback(() => setOpen(false), []);\n\n\tconst [whenInFoldersEnabled, setWhenInFoldersEnabled] = useState(\n\t\titems.whenInFoldersEnabled === 'TRUE'\n\t);\n\tconst [whenSentToEnabled, setWhenSentToEnabled] = useState(items.whenSentToEnabled === 'TRUE');\n\tconst [whenSentToAddresses, setWhenSentToAddresses] = useState(items.whenSentToAddresses);\n\n\tuseEffect(() => {\n\t\tsetWhenSentToEnabled(items.whenSentToEnabled === 'TRUE');\n\t}, [items.whenSentToEnabled]);\n\tuseEffect(() => {\n\t\tsetWhenSentToAddresses(items.whenSentToAddresses);\n\t}, [items.whenSentToAddresses]);\n\tuseEffect(() => {\n\t\tsetWhenInFoldersEnabled(items.whenInFoldersEnabled === 'TRUE');\n\t}, [items.whenInFoldersEnabled]);\n\n\tconst whenSentToAddressesLabel = useMemo(\n\t\t() => (whenSentToAddresses ? '' : t('label.recipents', 'Recipients')),\n\t\t[t, whenSentToAddresses]\n\t);\n\tconst onClickWhenSentToEnabled = useCallback(() => {\n\t\tsetWhenSentToEnabled(!whenSentToEnabled);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefWhenSentToEnabled',\n\t\t\tvalue: whenSentToEnabled ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [items.identityId, updateIdentities, whenSentToEnabled]);\n\n\tconst isValidEmail = useMemo(\n\t\t() => whenSentToEnabled && !EMAIL_VALIDATION_REGEX.test(whenSentToAddresses || ''),\n\t\t[whenSentToAddresses, whenSentToEnabled]\n\t);\n\n\tconst onChangeWhenSentToAddresses = useCallback(\n\t\t(ev) => {\n\t\t\tsetWhenSentToAddresses(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefWhenSentToAddresses',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\t// this function is work in progress for when the mails sync is implemented\n\t// const onClickWhenInFoldersEnabled = useCallback(() => {\n\t// \tsetWhenInFoldersEnabled(!whenInFoldersEnabled);\n\t// \tif (!whenInFoldersEnabled === (items.whenInFoldersEnabled === 'TRUE')) {\n\t// \t\tsetMods({});\n\t// \t} else {\n\t// \t\tupdateIdentities(\n\t// \t\t\titems.identityId,\n\t// \t\t\t'zimbraPrefWhenInFoldersEnabled',\n\t// \t\t\titems.whenInFoldersEnabled ? 'TRUE' : 'FALSE'\n\t// \t\t);\n\t// \t}\n\t// }, [\n\t// \titems.whenInFoldersEnabled,\n\t// \twhenInFoldersEnabled,\n\t// \tsetMods,\n\t// \tupdateIdentities,\n\t// \titems.identityId\n\t// ]);\n\t// const modalProps = useMemo(\n\t// \t() => ({\n\t// \t\topen,\n\t// \t\tonClose,\n\t// \t\tsetFolder,\n\t// \t\tt\n\t// \t}),\n\t// \t[open, onClose, setFolder, t]\n\t// );\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={whenSentToLabel}\n\t\t\t\t\tvalue={whenSentToEnabled}\n\t\t\t\t\tonClick={onClickWhenSentToEnabled}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={whenSentToAddressesLabel}\n\t\t\t\t\t\tvalue={whenSentToAddresses}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tdisabled={!whenSentToEnabled}\n\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChangeWhenSentToAddresses(ev)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t{/* <Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'label.when_composing',\n\t\t\t\t\t\t'When composing, replying to or forwarding messages in folder(s):'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={whenInFoldersEnabled}\n\t\t\t\t\tonClick={(): void => onClickWhenInFoldersEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<ChipInput\n\t\t\t\t\t\tlabel={t('label.reply_to_field_example', \"e.g. Bob Smith\")}\n\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\tplaceholder={t('label.folders', 'Folders')}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\ticon=\"FolderOutline\"\n\t\t\t\t\t\tdisabled={!whenInFoldersEnabled}\n\t\t\t\t\t\ticonAction={openFolderModal}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row> */}\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t\t{/* <FolderSelectModal compProps={modalProps} /> */}\n\t\t</>\n\t);\n};\n\nexport default PersonaUseSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\n\ninterface PrimaryAccountSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PrimaryAccountSettings = ({\n\tt,\n\titems,\n\tupdateIdentities\n}: PrimaryAccountSettingsProps): ReactElement => {\n\tconst emailValue = useMemo(() => items?.fromAddress, [items]);\n\tconst emailLabel = useMemo(\n\t\t() => (emailValue ? '' : t('label.email_address', 'E-mail address')),\n\t\t[emailValue, t]\n\t);\n\tconst [accountNameValue, setAccountNameValue] = useState(items?.identityName);\n\n\tuseEffect(() => setAccountNameValue(items.identityName), [items.identityName]);\n\tconst accountLabel = useMemo(\n\t\t() => (accountNameValue ? '' : t('label.account_name', 'Account Name')),\n\t\t[accountNameValue, t]\n\t);\n\n\tconst onChangeDisabled = useCallback(() => null, []);\n\tconst onChange = useCallback(\n\t\t(\n\t\t\tev: MouseEvent & {\n\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t}\n\t\t): void => {\n\t\t\tsetAccountNameValue(ev.target.value);\n\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('primary_account.title', 'Primary Account Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={emailLabel}\n\t\t\t\t\t\tvalue={emailValue || ' '}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tonChange={onChangeDisabled}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={accountLabel}\n\t\t\t\t\t\tvalue={accountNameValue || ' '}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChange(ev)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PrimaryAccountSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport {\n\tContainer,\n\tText,\n\tPadding,\n\tInput,\n\tRow,\n\tSelect,\n\tCheckbox,\n\tDropdown,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { filter, find } from 'lodash';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype SettingsSentMessagesProps = {\n\tt: TFunction;\n\titems: IdentityProps;\n\tisExternalAccount: boolean;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n};\n\nconst SettingsSentMessages = ({\n\tt,\n\titems,\n\tisExternalAccount,\n\tupdateIdentities\n}: SettingsSentMessagesProps): ReactElement => {\n\tconst title = useMemo(() => t('label.settings_sent_messages', 'Settings for Sent Messages'), [t]);\n\tconst [replyToEnabledValue, setReplyToEnabledValue] = useState(items.replyToEnabled === 'TRUE');\n\tconst [replyToAddress, setReplyToAddress] = useState(items.replyToAddress);\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\n\tconst [fromDisplayValue, setFromDisplayValue] = useState(items.fromDisplay);\n\tconst [replyToDisplay, setReplyToDisplay] = useState(items?.replyToDisplay);\n\tconst fromAddressArray = useMemo(\n\t\t() => [{ value: items.fromAddress, label: items.fromAddress }],\n\t\t[items?.fromAddress]\n\t);\n\tconst [fromAddress, setFromAddress] = useState(() =>\n\t\tfind(fromAddressArray, (item) => item.value === items.fromAddress)\n\t);\n\n\tuseEffect(() => {\n\t\tsetReplyToEnabledValue(items.replyToEnabled === 'TRUE');\n\t}, [items.replyToEnabled]);\n\tuseEffect(() => {\n\t\tsetFromDisplayValue(items.fromDisplay);\n\t}, [items.fromDisplay]);\n\tuseEffect(() => {\n\t\tconst k = find(fromAddressArray, (item) => item.value === items.fromAddress);\n\t\tsetFromAddress(k);\n\t}, [fromAddressArray, items.fromAddress]);\n\tuseEffect(() => {\n\t\tsetReplyToDisplay(items?.replyToDisplay === undefined ? '' : items?.replyToDisplay);\n\t}, [items?.replyToDisplay]);\n\tuseEffect(() => {\n\t\tsetReplyToAddress(items.replyToAddress);\n\t}, [items.replyToAddress]);\n\n\tconst onClickReplyToEnabled = useCallback(() => {\n\t\tsetReplyToEnabledValue(!replyToEnabledValue);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefReplyToEnabled',\n\t\t\tvalue: replyToEnabledValue ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [items.identityId, replyToEnabledValue, updateIdentities]);\n\n\tconst fromDisplayLabel = useMemo(\n\t\t() => (fromDisplayValue ? '' : t('label.from_name', 'From: \"Name\"')),\n\t\t[t, fromDisplayValue]\n\t);\n\tconst onChangeFromDisplayValue = (\n\t\tev: MouseEvent & {\n\t\t\ttarget: HTMLButtonElement;\n\t\t}\n\t): void => {\n\t\tsetFromDisplayValue(ev.target.value);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefFromDisplay',\n\t\t\tvalue: ev.target.value\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t};\n\n\tconst fromAddressLabel = useMemo(\n\t\t() => (fromAddress ? '' : t('label.address', 'Address')),\n\t\t[fromAddress, t]\n\t);\n\n\tconst onChangeFromAddress = useCallback(\n\t\t(newVal) => {\n\t\t\tsetFromAddress(filter(fromAddressArray, (item) => item.value === newVal)[0]);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefFromAddress',\n\t\t\t\tvalue: newVal\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[items.identityId, updateIdentities, fromAddressArray]\n\t);\n\n\tconst replyToEnabledLabel = useMemo(\n\t\t() => t('label.set_reply_to_field', 'Set the \"Reply-to\" field of e-mail message to:'),\n\t\t[t]\n\t);\n\n\tconst replyToDisplayLabel = useMemo(\n\t\t() => (replyToDisplay ? '' : t('label.reply_to_field_example', 'e.g. Bob Smith')),\n\t\t[t, replyToDisplay]\n\t);\n\tconst onChangePrefReplyToDisplay = useCallback(\n\t\t(\n\t\t\tev: MouseEvent & {\n\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t}\n\t\t): void => {\n\t\t\tsetReplyToDisplay(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToDisplay',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\tconst replyToAddressLabel = useMemo(\n\t\t() => (replyToAddress ? '' : t('label.choose_account', 'Choose an account')),\n\t\t[t, replyToAddress]\n\t);\n\n\tconst replyToAddressArray = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: '0',\n\t\t\t\tlabel: items.fromAddress,\n\t\t\t\tclick: (ev: MouseEvent & { target: string & { textContent: string } }): void => {\n\t\t\t\t\tsetReplyToAddress(ev.target.textContent);\n\t\t\t\t\tconst modifyProp = {\n\t\t\t\t\t\tid: items.identityId,\n\t\t\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\t\t\tvalue: ev.target.textContent\n\t\t\t\t\t};\n\t\t\t\t\tupdateIdentities(modifyProp);\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t[items.fromAddress, items.identityId, updateIdentities]\n\t);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(ev) => {\n\t\t\tsetReplyToAddress(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\tconst isValidEmail = useMemo(\n\t\t() => replyToEnabledValue && !EMAIL_VALIDATION_REGEX.test(replyToAddress || ''),\n\t\t[replyToEnabledValue, replyToAddress]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row\n\t\t\t\t\twidth={isExternalAccount ? '100%' : '50%'}\n\t\t\t\t\tpadding={{ right: isExternalAccount ? '' : 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={fromDisplayLabel}\n\t\t\t\t\t\tvalue={fromDisplayValue}\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChangeFromDisplayValue(ev)}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t{!isExternalAccount && (\n\t\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tlabel={fromAddressLabel}\n\t\t\t\t\t\t\tselection={fromAddress}\n\t\t\t\t\t\t\titems={fromAddressArray}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tonChange={(): unknown => onChangeFromAddress}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={replyToEnabledLabel}\n\t\t\t\t\tvalue={replyToEnabledValue}\n\t\t\t\t\tonClick={(): void => onClickReplyToEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={replyToDisplayLabel}\n\t\t\t\t\t\tvalue={replyToDisplay}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChangePrefReplyToDisplay(ev)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\titems={replyToAddressArray}\n\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\tonClose={(): void => setDropdownOpen(false)}\n\t\t\t\t\t\tonOpen={(): void => setDropdownOpen(true)}\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel={replyToAddressLabel}\n\t\t\t\t\t\t\tvalue={replyToAddress}\n\t\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t): void => onChangeReplyToAddress(ev)}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\t\tCustomIcon={(): ReactElement => (\n\t\t\t\t\t\t\t\t<Icon icon={dropdownOpen ? 'ArrowUp' : 'ArrowDown'} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Dropdown>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default SettingsSentMessages;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\n\nconst Styler = styled(Container)`\n\t.rw-btn,\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tcolor: inherit;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t\tbackground-image: none;\n\t\tfont-family: inherit;\n\t\tfont-size: inherit;\n\t\tline-height: inherit;\n\t\t-ms-touch-action: manipulation;\n\t\ttouch-action: manipulation;\n\t}\n\t.rw-btn::-moz-focus-inner {\n\t\tpadding: 0;\n\t\tborder: 0;\n\t}\n\tselect.rw-input {\n\t\ttext-transform: none;\n\t}\n\thtml input[type='button'].rw-input {\n\t\t-webkit-appearance: button;\n\t\tcursor: pointer;\n\t}\n\ttextarea.rw-input {\n\t\toverflow: auto;\n\t\tresize: vertical;\n\t}\n\tbutton[disabled].rw-input,\n\tfieldset[disabled] .rw-input,\n\thtml input[disabled].rw-input {\n\t\tcursor: not-allowed;\n\t}\n\tbutton.rw-input::-moz-focus-inner,\n\tinput.rw-input::-moz-focus-inner {\n\t\tborder: 0;\n\t\tpadding: 0;\n\t}\n\tinput[type='checkbox'],\n\tinput[type='radio'] {\n\t\tbox-sizing: border-box;\n\t\tpadding: 0;\n\t}\n\t${\n\t\t/* @font-face {\n\tfont-family: \"RwWidgets\";\n\tfont-weight: normal;\n\tfont-style: normal;\n\t${/* src: url(\"../fonts/rw-widgets.eot?v=4.1.0\");\n\tsrc: url(\"../fonts/rw-widgets.eot?#iefix&v=4.1.0\") format(\"embedded-opentype\"),\n\turl(\"../fonts/rw-widgets.woff?v=4.1.0\") format(\"woff\"),\n\turl(\"../fonts/rw-widgets.ttf?v=4.1.0\") format(\"truetype\"),\n\t\turl(\"../fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular\") format(\"svg\"); */ ''\n\t};\n\t.rw-i {\n\t\tdisplay: inline-block;\n\t\tcolor: inherit;\n\t\t${/* font-family: RwWidgets; */ ''};\n\t\tfont-style: normal;\n\t\tfont-weight: normal;\n\t\tfont-variant: normal;\n\t\ttext-transform: none;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\t-webkit-font-smoothing: antialiased;\n\t}\n\t.rw-i-caret-down:before {\n\t\tcontent: '\\e803';\n\t}\n\t.rw-i-caret-up:before {\n\t\tcontent: '\\e800';\n\t}\n\t.rw-i-chevron-left:before {\n\t\tcontent: '\\f104';\n\t}\n\t.rw-i-chevron-right:before {\n\t\tcontent: '\\f105';\n\t}\n\t.rw-i-clock-o:before {\n\t\tcontent: '\\e805';\n\t}\n\t.rw-i-calendar:before {\n\t\tcontent: '\\e804';\n\t}\n\t.rw-i-search:before {\n\t\tcontent: '\\e801';\n\t}\n\t.rw-btn {\n\t\tposition: relative;\n\t\tcolor: #333;\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tvertical-align: middle;\n\t\tborder: 1px solid transparent;\n\t\tcursor: pointer;\n\t\toutline: none;\n\t}\n\t.rw-state-readonly .rw-btn,\n\t.rw-state-disabled .rw-btn {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-btn-select {\n\t\topacity: 0.75;\n\t\ttransition: opacity 150ms ease-in;\n\t}\n\t.rw-btn-select:hover,\n\t.rw-state-focus .rw-btn-select,\n\t:hover > .rw-btn-select {\n\t\topacity: 1;\n\t}\n\t.rw-btn-primary {\n\t\twidth: 100%;\n\t\twhite-space: normal;\n\t\tline-height: 2em;\n\t}\n\t.rw-btn-primary:hover {\n\t\tbackground-color: #e6e6e6;\n\t}\n\t.rw-btn-select[disabled],\n\t.rw-btn-primary[disabled],\n\tfieldset[disabled] .rw-btn-select,\n\tfieldset[disabled] .rw-btn-primary {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 0.65;\n\t\tpointer-events: none;\n\t}\n\t.rw-sr {\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip: rect(0, 0, 0, 0);\n\t\tborder: 0;\n\t}\n\t.rw-widget {\n\t\tbackground-clip: border-box;\n\t\tborder: none;\n\t\toutline: none;\n\t\tposition: relative;\n\t\tborder-radius: 2px 2px 0 0;\n\t\twidth: 100%;\n\t}\n\t.rw-widget,\n\t.rw-widget * {\n\t\tbox-sizing: border-box;\n\t}\n\t.rw-widget:before,\n\t.rw-widget *:before,\n\t.rw-widget:after,\n\t.rw-widget *:after {\n\t\tbox-sizing: border-box;\n\t}\n\t.rw-widget > .rw-widget-container {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\t.rw-widget-container {\n\t\tbackground-color: ${({ theme }) => theme.palette.gray5.regular};\n\t\tborder-bottom: ${({ theme }) => theme.palette.gray2.regular} 1px solid;\n\t}\n\t.rw-widget-container.rw-state-focus,\n\t.rw-state-focus > .rw-widget-container,\n\t.rw-widget-container.rw-state-focus:hover,\n\t.rw-state-focus > .rw-widget-container:hover {\n\t\tbackground-color: ${({ theme }) => theme.palette.gray5.focus};\n\t\tborder-bottom: ${({ theme }) => theme.palette.primary.regular} 1px solid;\n\t}\n\t.rw-widget-container.rw-state-readonly,\n\t.rw-state-readonly > .rw-widget-container {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-widget-container.rw-state-disabled,\n\t.rw-state-disabled > .rw-widget-container,\n\tfieldset[disabled] .rw-widget-container,\n\t.rw-widget-container.rw-state-disabled:hover,\n\t.rw-state-disabled > .rw-widget-container:hover,\n\tfieldset[disabled] .rw-widget-container:hover,\n\t.rw-widget-container.rw-state-disabled:active,\n\t.rw-state-disabled > .rw-widget-container:active,\n\tfieldset[disabled] .rw-widget-container:active {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-datetime-picker {\n\t\theight: 42px;\n\t}\n\t.rw-widget-picker {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tborder-collapse: separate;\n\t\tdisplay: inline-table;\n\t\theight: 100%;\n\t}\n\t.rw-widget-picker > * {\n\t\tposition: relative;\n\t\tborder: none;\n\t\toutline: none;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: table-cell;\n\t}\n\t.rw-widget-picker > .rw-select {\n\t\twidth: ${({ allDay }) => (allDay ? '34px' : '68px')};\n\t\twhite-space: nowrap;\n\t}\n\t.rw-open > .rw-widget-picker {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\t.rw-open-up > .rw-widget-picker {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t}\n\tfieldset[disabled] .rw-widget-picker,\n\t.rw-state-disabled > .rw-widget-picker {\n\t\tbackground-color: #eee;\n\t}\n\t.rw-multiselect > .rw-widget-picker {\n\t\theight: auto;\n\t}\n\t.rw-select {\n\t\tcursor: pointer;\n\t}\n\t.rw-select > * {\n\t\twidth: 32px;\n\t\theight: 100%;\n\t}\n\t.rw-state-readonly .rw-select,\n\t.rw-state-disabled .rw-select {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-select-bordered {\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-left: #ccc 1px solid;\n\t}\n\t.rw-select-bordered:hover,\n\t.rw-select-bordered:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\t.rw-select-bordered:active {\n\t\tbox-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n\t}\n\t.rw-state-disabled .rw-select-bordered,\n\t.rw-state-readonly .rw-select-bordered,\n\tfieldset[disabled] .rw-select-bordered,\n\t.rw-state-disabled .rw-select-bordered:hover,\n\t.rw-state-readonly .rw-select-bordered:hover,\n\tfieldset[disabled] .rw-select-bordered:hover,\n\t.rw-state-disabled .rw-select-bordered:active,\n\t.rw-state-readonly .rw-select-bordered:active,\n\tfieldset[disabled] .rw-select-bordered:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\t.rw-rtl .rw-select-bordered {\n\t\tborder-right: #ccc 1px solid;\n\t\tborder-left: none;\n\t}\n\t.rw-rtl {\n\t\tdirection: rtl;\n\t}\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\toutline: 0;\n\t}\n\t.rw-input-reset::-moz-placeholder {\n\t\tcolor: #999;\n\t\topacity: 1;\n\t}\n\t.rw-input-reset:-ms-input-placeholder {\n\t\tcolor: #999;\n\t}\n\t.rw-input-reset::-webkit-input-placeholder {\n\t\tcolor: #999;\n\t}\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tpadding: 0 0.857em;\n\t}\n\t.rw-input[type='text']::-ms-clear {\n\t\tdisplay: none;\n\t}\n\t.rw-input[disabled],\n\tfieldset[disabled] .rw-input {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 1;\n\t\tbackground-color: #eee;\n\t\tborder-color: #ccc;\n\t}\n\t.rw-input[readonly] {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-i.rw-loading {\n\t\tdisplay: block;\n\t\t${/* background: url(\"../img/loading.gif\") no-repeat center; */ ''};\n\t\tmin-width: 16px;\n\t\twidth: 1.9em;\n\t\theight: 16px;\n\t}\n\t.rw-i.rw-loading:before {\n\t\tcontent: '';\n\t}\n\t.rw-placeholder {\n\t\tcolor: #999;\n\t}\n\t.rw-detect-autofill:-webkit-autofill {\n\t\tanimation-name: react-widgets-autofill-start;\n\t\ttransition: background-color 50000s ease-in-out 0s;\n\t}\n\t.rw-detect-autofill:not(:-webkit-autofill) {\n\t\tanimation-name: react-widgets-autofill-cancel;\n\t}\n\t.rw-webkit-autofill .rw-widget-container,\n\t.rw-input:-webkit-autofill {\n\t\tbackground-color: #faffbd !important;\n\t\tbackground-image: none !important;\n\t\tcolor: #000 !important;\n\t}\n\t.rw-widget-input,\n\t.rw-filter-input {\n\t}\n\t.rw-widget-input.rw-state-focus {\n\t\tbox-shadow: 0 0 8px rgba(102, 175, 233, 0.6), inset 0 1px 1px rgba(0, 0, 0, 0.075);\n\t}\n\t.rw-list {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tfont-size: 1em;\n\t\toutline: 0;\n\t\toverflow: auto;\n\t\tmax-height: 200px;\n\t}\n\t.rw-list-option {\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t\tcolor: #333;\n\t\tcursor: pointer;\n\t\tborder: 1px solid transparent;\n\t}\n\t.rw-list-option.rw-state-focus,\n\t.rw-list-option.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\t.rw-list-option:hover,\n\t.rw-list-option:hover.rw-state-focus {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\t.rw-list-option.rw-state-selected,\n\t.rw-list-option.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\tfieldset[disabled] .rw-list-option,\n\t.rw-list-option.rw-state-disabled,\n\t.rw-list-option.rw-state-readonly {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\tfieldset[disabled] .rw-list-option:hover,\n\t.rw-list-option.rw-state-disabled:hover,\n\t.rw-list-option.rw-state-readonly:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\t.rw-list-empty,\n\t.rw-list-option,\n\t.rw-list-optgroup {\n\t\tpadding: 0.143em 0.75em;\n\t\toutline: 0;\n\t}\n\t.rw-list-optgroup {\n\t\tfont-weight: bold;\n\t\tpadding-top: 7px;\n\t}\n\t.rw-list-option-create {\n\t\tborder-top: 1px #ccc solid;\n\t}\n\t.rw-dropdown-list-autofill {\n\t\tpadding: 0;\n\t}\n\t.rw-dropdown-list-input {\n\t\tbackground-color: transparent;\n\t\tvertical-align: middle;\n\t\tpadding-right: 0;\n\t\tmax-width: 1px;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\t.rw-rtl .rw-dropdown-list-input {\n\t\tpadding-right: 0.857em;\n\t\tpadding-left: 0;\n\t}\n\t.rw-filter-input {\n\t\tposition: relative;\n\t\tmargin: 4px;\n\t\tpadding-right: 0;\n\t}\n\t.rw-filter-input .rw-rtl {\n\t\tpadding-right: 0.857em;\n\t\tpadding-left: 0;\n\t}\n\t.rw-filter-input .rw-select,\n\t.rw-filter-input .rw-btn {\n\t\topacity: 0.75;\n\t\tcursor: text;\n\t}\n\t.rw-filter-input > .rw-select,\n\t.rw-filter-input > .rw-select:active,\n\t.rw-filter-input > .rw-select:hover {\n\t\tbackground: none;\n\t\tcursor: initial;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-number-picker .rw-btn {\n\t\tcursor: pointer;\n\t\theight: calc(1.2145em - 1px);\n\t\t${\n\t\t\t/*\n\t\t margin-top: -1px\\9;\n\theight: 1.2145em\\9;\n*/ 'border: 2px solid red;'\n\t\t};\n\t\tline-height: 1.2145em;\n\t\tline-height: calc(1.2145em - 1px);\n\t\tdisplay: block;\n\t\tborder: none;\n\t}\n\n\t.rw-number-picker .rw-btn:hover,\n\t.rw-number-picker .rw-btn:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\t.rw-number-picker .rw-btn:active {\n\t\tbox-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n\t}\n\t.rw-state-disabled .rw-number-picker .rw-btn,\n\t.rw-state-readonly .rw-number-picker .rw-btn,\n\tfieldset[disabled] .rw-number-picker .rw-btn,\n\t.rw-state-disabled .rw-number-picker .rw-btn:hover,\n\t.rw-state-readonly .rw-number-picker .rw-btn:hover,\n\tfieldset[disabled] .rw-number-picker .rw-btn:hover,\n\t.rw-state-disabled .rw-number-picker .rw-btn:active,\n\t.rw-state-readonly .rw-number-picker .rw-btn:active,\n\tfieldset[disabled] .rw-number-picker .rw-btn:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\t.rw-number-picker .rw-select {\n\t\tvertical-align: middle;\n\t}\n\t.rw-number-picker .rw-select,\n\t.rw-number-picker .rw-select:hover,\n\t.rw-number-picker .rw-select:active {\n\t\tbox-shadow: none;\n\t}\n\t.rw-calendar-popup {\n\t\tright: auto;\n\t\tmin-width: 0;\n\t\twidth: 18em;\n\t}\n\t.rw-calendar {\n\t\tborder-radius: 4px;\n\t\tbackground-color: #fff;\n\t\tborder: #ccc 1px solid;\n\t\toverflow: hidden;\n\t}\n\t.rw-calendar.rw-popup {\n\t\tborder-color: #ccc;\n\t}\n\t.rw-calendar-now {\n\t\tfont-weight: bold;\n\t}\n\t.rw-calendar-btn-left,\n\t.rw-calendar-btn-right {\n\t\twidth: 12.5%;\n\t}\n\t.rw-calendar-btn-view {\n\t\twidth: 75%;\n\t}\n\t.rw-calendar-footer {\n\t\tborder-top: 1px solid #ccc;\n\t}\n\t.rw-calendar-grid {\n\t\toutline: none;\n\t\theight: 14.28571429em;\n\t\ttable-layout: fixed;\n\t\tborder-collapse: separate;\n\t\tborder-spacing: 0;\n\t\twidth: 100%;\n\t\tbackground-color: #fff;\n\t}\n\t.rw-head-cell {\n\t\ttext-align: center;\n\t\tborder-bottom: 1px solid #ccc;\n\t\tpadding: 0.25em;\n\t}\n\t.rw-cell {\n\t\tcolor: #333;\n\t\tborder-radius: 4px;\n\t\tcursor: pointer;\n\t\tline-height: normal;\n\t\ttext-align: center;\n\t\tborder: 1px solid transparent;\n\t\tpadding: 0.25em;\n\t}\n\t.rw-cell:hover {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\t.rw-cell.rw-state-focus,\n\t.rw-cell.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\t.rw-cell.rw-state-selected,\n\t.rw-cell.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\t.rw-cell.rw-state-disabled {\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\t.rw-cell.rw-state-disabled:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\t.rw-calendar-month .rw-cell {\n\t\ttext-align: center;\n\t}\n\t.rw-cell-off-range {\n\t\tcolor: #999;\n\t}\n\t.rw-calendar-transition-group {\n\t\tposition: relative;\n\t}\n\t.rw-calendar-transition {\n\t\ttransition: transform 300ms;\n\t\toverflow: hidden;\n\t}\n\t.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\t.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\t.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\t.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\t.rw-calendar-transition-entering.rw-calendar-transition-top,\n\t.rw-calendar-transition-entered.rw-calendar-transition-top,\n\t.rw-calendar-transition-entering.rw-calendar-transition-bottom,\n\t.rw-calendar-transition-entered.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t}\n\t.rw-calendar-transition-entering.rw-calendar-transition-right,\n\t.rw-calendar-transition-entered.rw-calendar-transition-right,\n\t.rw-calendar-transition-entering.rw-calendar-transition-left,\n\t.rw-calendar-transition-entered.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(0);\n\t\ttransform: translateX(0);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\t.rw-select-list {\n\t\toverflow: auto;\n\t\tposition: relative;\n\t}\n\t.rw-select-list .rw-list {\n\t\tmax-height: none;\n\t\tfont-size: 1em;\n\t}\n\t.rw-select-list-label {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tfont-weight: normal;\n\t\tcursor: inherit;\n\t\tpadding-left: 20px;\n\t\tmargin: 0;\n\t}\n\t.rw-rtl .rw-select-list-label {\n\t\tpadding-left: 0;\n\t\tpadding-right: 20px;\n\t}\n\tinput.rw-select-list-input {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 50%;\n\t\t-ms-transform: translateY(-50%);\n\t\ttransform: translateY(-50%);\n\t\t${/* top: 0.1em\\9; */ ''};\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t\tcursor: inherit;\n\t}\n\t.rw-rtl input.rw-select-list-input {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\t.rw-loading-mask {\n\t\tcontent: '';\n\t\t${/* background: url(\"../img/loader-big.gif\") no-repeat center; */ ''};\n\t\tposition: absolute;\n\t\tbackground-color: #fff;\n\t\tborder-radius: 4px;\n\t\topacity: 0.7;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.rw-multiselect {\n\t\tcursor: text;\n\t}\n\t.rw-multiselect .rw-input-reset {\n\t\theight: calc(2.429em - 2px);\n\t\t${\n\t\t\t/* margin-top: -2px\\9;\n\theight: 2.429em\\9; */ ''\n\t\t};\n\t\tborder-width: 0;\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t\tpadding: 0 0.857em;\n\t}\n\t.rw-multiselect .rw-select {\n\t\tvertical-align: middle;\n\t}\n\t.rw-multiselect .rw-select,\n\t.rw-multiselect .rw-select:hover,\n\t.rw-multiselect .rw-select:active {\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t}\n\t.rw-multiselect-taglist {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tdisplay: inline-block;\n\t\tvertical-align: 0;\n\t\toutline: none;\n\t}\n\t.rw-multiselect-tag {\n\t\tdisplay: inline-table;\n\t\tcolor: inherit;\n\t\tpadding: 0 0.35em 0 0.35em;\n\t\tmargin-left: calc(0.279335em - 1px);\n\t\tmargin-top: 0.279335em;\n\t\tmargin-top: calc(0.279335em - 1px);\n\t\theight: 1.87033em;\n\t\tborder-radius: 3px;\n\t\tbackground-color: #eee;\n\t\tborder: 1px solid #ccc;\n\t\tcursor: default;\n\t\tvertical-align: top;\n\t\ttext-align: center;\n\t\toverflow: hidden;\n\t\tmax-width: 100%;\n\t}\n\t.rw-multiselect-tag > * {\n\t\tdisplay: table-cell;\n\t\tvertical-align: middle;\n\t\theight: 100%;\n\t}\n\t.rw-rtl .rw-multiselect-tag {\n\t\tmargin-left: 0;\n\t\tmargin-right: calc(0.279335em - 1px);\n\t\tpadding: 0 0.35em 0 0.35em;\n\t}\n\t.rw-multiselect-tag.rw-state-focus,\n\t.rw-multiselect-tag.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\t.rw-multiselect-tag.rw-state-readonly,\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-readonly .rw-multiselect-tag,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\topacity: 0.65;\n\t}\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\t.rw-multiselect-tag-btn {\n\t\tcolor: inherit;\n\t\tmargin-left: 0.25em;\n\t}\n\t.rw-rtl .rw-multiselect-tag-btn {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0.25em;\n\t}\n\t.rw-autocomplete .rw-select {\n\t\tposition: absolute;\n\t\tdisplay: block;\n\t\twidth: auto;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\t.rw-popup-container {\n\t\tposition: absolute;\n\t\tz-index: 1005;\n\t\ttop: 100%;\n\t\tleft: -6px;\n\t\tright: -6px;\n\t}\n\t.rw-popup-container.rw-dropup {\n\t\ttop: auto;\n\t\tbottom: 100%;\n\t}\n\t.rw-state-focus .rw-popup-container {\n\t\tz-index: 1006;\n\t}\n\t.rw-popup-transition {\n\t\twidth: 100%;\n\t\tmargin-bottom: 6px;\n\t\tpadding: 0 6px;\n\t}\n\t.rw-dropup > .rw-popup-transition {\n\t\tmargin-bottom: 0;\n\t\tmargin-top: 6px;\n\t}\n\t.rw-popup {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-right-radius: 3px;\n\t\tborder-bottom-left-radius: 3px;\n\t\tbox-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);\n\t\tborder: #ccc 1px solid;\n\t\tbackground: #fff;\n\t}\n\t.rw-dropup .rw-popup {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-top-right-radius: 3px;\n\t\tborder-top-left-radius: 3px;\n\t\tbox-shadow: 0 -2px 6px rgba(0, 0, 0, 0.2);\n\t}\n\t.rw-popup-transition {\n\t\ttransition: transform 200ms;\n\t}\n\t.rw-popup-transition-entering {\n\t\toverflow: hidden;\n\t}\n\t.rw-popup-transition-entering .rw-popup-transition {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t\ttransition-timing-function: ease-out;\n\t}\n\t.rw-popup-transition-exiting .rw-popup-transition {\n\t\ttransition-timing-function: ease-in;\n\t}\n\t.rw-popup-transition-exiting,\n\t.rw-popup-transition-exited {\n\t\toverflow: hidden;\n\t}\n\t.rw-popup-transition-exiting .rw-popup-transition,\n\t.rw-popup-transition-exited .rw-popup-transition {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\t.rw-popup-transition-exiting.rw-dropup .rw-popup-transition,\n\t.rw-popup-transition-exited.rw-dropup .rw-popup-transition {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\t.rw-popup-transition-exited {\n\t\tdisplay: none;\n\t}\n\t.rw-state-disabled {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\tcolor: ${({ theme }) => theme.palette.text.regular};\n\tfont-family: ${({ theme }) => theme.fonts.default};\n\tfont-size: ${({ theme }) => theme.sizes.font.medium};\n\tfont-weight: ${({ theme }) => theme.fonts.weight.regular};\n`;\n\nexport default Styler;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, FC, useEffect } from 'react';\nimport { Container, Checkbox, Text, Icon, Padding } from '@zextras/carbonio-design-system';\n\nimport moment from 'moment';\nimport DateTimePicker from 'react-widgets/lib/DateTimePicker';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { AccountSettings } from '../../../types';\nimport Heading from './settings-heading';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport Styler from './date-picker-style';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { changeDateEvent, getDateEvent, startOfDate, endOfDate } from './utils';\n\nmomentLocalizer();\n\nconst DateTimeSelect: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n\tsendAutoReply: boolean;\n}> = ({ settings, addMod, sendAutoReply }) => {\n\tconst { t } = useTranslation();\n\tconst [dateDisabled, setDateDisabled] = useState<boolean>(false);\n\tconst [sendAutoReplyTimePeriod, setSendAutoReplyTimePeriod] = useState<boolean>(\n\t\t!!(\n\t\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate && settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t\t)\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeFromDate, setZimbraPrefOutOfOfficeFromDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate as string\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeUntilDate, setZimbraPrefOutOfOfficeUntilDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeUntilDate as string\n\t);\n\tconst [allDay, setAllDay] = useState<boolean>(false);\n\tconst [allDayDisabled, setAllDayDisabled] = useState<boolean>(false);\n\tconst [timeDisabled, setTimeDisabled] = useState<boolean>(false);\n\tconst updatePrefs = useCallback(\n\t\t(v, p) => {\n\t\t\taddMod('prefs', p, v);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tif (sendAutoReplyTimePeriod) {\n\t\t\t\tsetTimeDisabled(false);\n\t\t\t\tsetAllDayDisabled(false);\n\t\t\t\tsetDateDisabled(false);\n\t\t\t} else {\n\t\t\t\tsetAllDayDisabled(true);\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t\tsetDateDisabled(true);\n\t\t\t}\n\t\t\tif (allDay) {\n\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(startOfDate(dateZimbraPrefOutOfOfficeFromDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tstartOfDate(dateZimbraPrefOutOfOfficeFromDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t);\n\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(endOfDate(dateZimbraPrefOutOfOfficeUntilDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tendOfDate(dateZimbraPrefOutOfOfficeUntilDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t);\n\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDateDisabled(true);\n\t\t\tsetTimeDisabled(true);\n\t\t\tsetAllDay(false);\n\t\t\tsetAllDayDisabled(true);\n\t\t}\n\t}, [\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tdateZimbraPrefOutOfOfficeFromDate,\n\t\tdateZimbraPrefOutOfOfficeUntilDate,\n\t\tallDay,\n\t\tsendAutoReply,\n\t\tsendAutoReplyTimePeriod\n\t]);\n\tconst toggleSendAutoReplyTimePeriod = (): void => {\n\t\tsetSendAutoReplyTimePeriod(!sendAutoReplyTimePeriod);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Heading title={t('settings.out_of_office.headings.time_period', 'Time Period')} />\n\t\t\t<Checkbox\n\t\t\t\tlabel={t(\n\t\t\t\t\t'settings.out_of_office.labels.send_auto_reply_period',\n\t\t\t\t\t'Send auto-replies during the following period:'\n\t\t\t\t)}\n\t\t\t\tvalue={sendAutoReplyTimePeriod}\n\t\t\t\tonClick={toggleSendAutoReplyTimePeriod}\n\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t/>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_date', 'Start Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_date', 'End Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tinputProps={{ readOnly: true }}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\n\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tdisabled={allDayDisabled}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.all_day', 'All Day:')}\n\t\t\t\t\tvalue={allDay}\n\t\t\t\t\tonClick={(): void => {\n\t\t\t\t\t\tsetAllDay(!allDay);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_time', 'Start Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_time', 'End Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\t\t</>\n\t);\n};\n\nexport default DateTimeSelect;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useState, useMemo, useContext, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { FormSubSection, Select } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport { ThemeCallbacksContext } from '../../../boot/theme-provider';\nimport { AccountSettings, DRPropValues } from '../../../../types';\nimport { SHELL_APP_ID } from '../../../constants';\nimport { themeSubSection } from '../../general-settings-sub-sections';\n\nconst AppearanceSettings: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod }) => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst [drMode, setDrMode] = useState<DRPropValues>(\n\t\t(find(settings.props, ['name', 'zappDarkreaderMode'])?._content as unknown as DRPropValues) ??\n\t\t\t'auto'\n\t);\n\tconst [t] = useTranslation();\n\tconst items = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_auto', 'Auto'),\n\t\t\t\tvalue: 'auto'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_enabled', 'Enabled'),\n\t\t\t\tvalue: 'enabled'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_disabled', 'Disabled'),\n\t\t\t\tvalue: 'disabled'\n\t\t\t}\n\t\t],\n\t\t[t]\n\t);\n\tconst defaultSelection = useMemo(\n\t\t() => find(items, ['value', drMode]) ?? items[0],\n\t\t[drMode, items]\n\t);\n\tconst onSelectionChange = useCallback(\n\t\t(v) => {\n\t\t\tif (v !== drMode) {\n\t\t\t\tsetDrMode((old) => (v !== old ? v : old));\n\t\t\t\t// setDarkReaderState(v);\n\t\t\t\taddMod('props', 'zappDarkreaderMode', { app: SHELL_APP_ID, value: v });\n\t\t\t}\n\t\t},\n\t\t[addMod, drMode]\n\t);\n\t// useEffect(\n\t// \t() => (): void =>\n\t// \t\tsetDarkReaderState(\n\t// \t\t\t(find(settings.props, ['name', 'zappDarkreaderMode'])\n\t// \t\t\t\t?._content as unknown as DRPropValues) ?? 'auto'\n\t// \t\t),\n\t// \t[setDarkReaderState, settings.props]\n\t// );\n\tconst subSection = useMemo(() => themeSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={subSection.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={subSection.id}\n\t\t>\n\t\t\t<Select\n\t\t\t\titems={items}\n\t\t\t\tselection={defaultSelection}\n\t\t\t\tlabel={t('settings.general.dark_mode', 'Dark Mode')}\n\t\t\t\tonChange={onSelectionChange}\n\t\t\t/>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default AppearanceSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { FormSubSection, Button } from '@zextras/carbonio-design-system';\nimport { logout } from '../../../network/logout';\nimport { accountSubSection } from '../../general-settings-sub-sections';\n\nconst Logout: FC = () => {\n\tconst [t] = useTranslation();\n\tconst onClick = useCallback(() => {\n\t\tlogout();\n\t}, []);\n\tconst sectionTitle = useMemo(() => accountSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Button label={t('settings.general.account_logout', 'Logout')} onClick={onClick} />\n\t\t</FormSubSection>\n\t);\n};\n\nexport default Logout;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport React, { FC, useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tFormSubSection,\n\tContainer,\n\tText,\n\tBadge,\n\tDivider,\n\tTooltip,\n\tThemeContext\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport { useAppList } from '../../../store/app/hooks';\n\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants/index';\nimport { CarbonioModule } from '../../../../types';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings: FC = () => {\n\tconst apps = useAppList();\n\tconst [t] = useTranslation();\n\tconst theme = useContext(ThemeContext);\n\n\tconst copyToClipboard: any = (e: any) => {\n\t\te.preventDefault();\n\t\tnavigator.clipboard.writeText(e.target.innerText);\n\t};\n\n\tconst filteredList = useMemo(\n\t\t() => apps.filter((app) => app.name !== SEARCH_APP_ID && app.name !== SETTINGS_APP_ID),\n\t\t[apps]\n\t);\n\tconst sectionTitle = useMemo(() => versionsSubSection(t), [t]);\n\treturn (\n\t\t<>\n\t\t\t<FormSubSection\n\t\t\t\tlabel={sectionTitle.label}\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"50%\"\n\t\t\t\tid={sectionTitle.id}\n\t\t\t>\n\t\t\t\t{map(filteredList, (app: CarbonioModule) => (\n\t\t\t\t\t<Container key={app.name} padding={{ horizontal: 'large', vertical: 'small' }}>\n\t\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{app.display} ({app.name})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Tooltip placement=\"top\" label={t('label.click_to_copy', 'Click to copy')}>\n\t\t\t\t\t\t\t\t<Text style={{ cursor: 'pointer' }} onClick={(e: any): any => copyToClipboard(e)}>\n\t\t\t\t\t\t\t\t\tVersion: {app.version}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\t\t\tpadding={{ top: 'extrasmall', bottom: 'medium' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text color=\"secondary\">{app.description}</Text>\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tvalue=\"Active\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.success.regular,\n\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\tcolor: theme.palette.gray6.regular\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></Badge>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Divider color=\"gray2\" />\n\t\t\t\t\t</Container>\n\t\t\t\t))}\n\t\t\t</FormSubSection>\n\t\t</>\n\t);\n};\n\nexport default ModuleVersionSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, FC, useEffect, useMemo } from 'react';\nimport {\n\tContainer,\n\tFormSubSection,\n\tInput,\n\tCheckbox,\n\tSelect,\n\tPadding\n} from '@zextras/carbonio-design-system';\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { AccountSettings } from '../../../../types';\nimport Heading from '../settings-heading';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport DateTimeSelect from '../date-time-select-view';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport {\n\tItemsExternalSenders,\n\tgetExternalSendersPrefsData,\n\tItemsOutOfOfficeStatus,\n\tgetOutOfOfficeStatusPrefsData,\n\tItemsSendAutoReplies\n} from '../utils';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\n\nmomentLocalizer();\n\nconst OutOfOfficeView: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod }) => {\n\tconst { t } = useTranslation();\n\tconst [sendAutoReply, setSendAutoReply] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t);\n\tconst [inputZimbraPrefOutOfOfficeReply, setInputZimbraPrefOutOfOfficeReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReply as string\n\t);\n\n\tconst [inputZimbraPrefOutOfOfficeExternalReply, setInputZimbraPrefOutOfOfficeExternalReply] =\n\t\tuseState<string>(settings.prefs.zimbraPrefOutOfOfficeExternalReply as string);\n\n\tconst [createAppointmentDisabled, setCreateAppointmentDisabled] = useState<boolean>(false);\n\tconst [externalReplyInput, setExternalReplyInput] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t);\n\n\tconst [createAppointment, setCreateAppointment] = useState<boolean>(true);\n\n\tconst updatePrefs = useCallback(\n\t\t(v, p) => {\n\t\t\taddMod('prefs', p, v);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tsetCreateAppointmentDisabled(false);\n\t\t} else {\n\t\t\tsetCreateAppointmentDisabled(true);\n\t\t}\n\t}, [\n\t\tsendAutoReply,\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tsetCreateAppointment,\n\t\tsetCreateAppointmentDisabled\n\t]);\n\n\tconst externalSendersHandler = (v: any): void => {\n\t\tsetExternalReplyInput(false);\n\n\t\tif (v === 'SEND_AUTO_REPLY') {\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefExternalSendersType');\n\t\t} else if (v === 'SEND_NOT_IN_ORG') {\n\t\t\tupdatePrefs('ALLNOTINAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else if (v === 'SHOW_EXTERNAL_INPUT') {\n\t\t\tupdatePrefs('ALL', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else {\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('INAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t}\n\t};\n\n\tconst createAppointmentAsHandler = (v: any): void => {\n\t\tupdatePrefs(v, 'zimbraPrefOutOfOfficeFreeBusyStatus');\n\t};\n\n\tconst itemsSendAutoReplies = useMemo(() => ItemsSendAutoReplies(t), [t]);\n\tconst itemsExternalSenders = useMemo(() => ItemsExternalSenders(t), [t]);\n\tconst itemsOutOfOfficeStatus = useMemo(() => ItemsOutOfOfficeStatus(t), [t]);\n\tconst sectionTitle = useMemo(() => outOfOfficeSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Select\n\t\t\t\t\titems={itemsSendAutoReplies}\n\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\tlabel={t('label.out_of_office', 'Out of Office')}\n\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefOutOfOfficeReplyEnabled');\n\t\t\t\t\t\tsetSendAutoReply(!sendAutoReply);\n\t\t\t\t\t}}\n\t\t\t\t\tdefaultSelection={\n\t\t\t\t\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t\t\t\t\t\t\t? itemsSendAutoReplies[0]\n\t\t\t\t\t\t\t: itemsSendAutoReplies[1]\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(e.target.value);\n\t\t\t\t\t\t\tupdatePrefs(e.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tautoComplete=\"on\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.auto_reply_message', 'Auto-Reply Message:')}\n\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\titems={itemsExternalSenders}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\texternalSendersHandler(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdefaultSelection={{\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tlabel: getExternalSendersPrefsData(settings, 'label', t),\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tvalue: getExternalSendersPrefsData(settings, 'value', t)\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t{externalReplyInput && (\n\t\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(e.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(e.target.value, 'zimbraPrefOutOfOfficeExternalReply');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tautoComplete=\"on\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeExternalReply || ''}\n\t\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<DateTimeSelect settings={settings} addMod={addMod} sendAutoReply={sendAutoReply} />\n\t\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttitle={t('settings.out_of_office.headings.create_appointment', 'Calendar Appointment')}\n\t\t\t\t\t/>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.create_appointment', 'Create Appointment:')}\n\t\t\t\t\t\tvalue={createAppointment}\n\t\t\t\t\t\tonClick={(value: any): void => {\n\t\t\t\t\t\t\tsetCreateAppointment(!createAppointment);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t\t<Padding top=\"small\" width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\t\titems={itemsOutOfOfficeStatus}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.out_of_office_status',\n\t\t\t\t\t\t\t\t'Out Of Office Status:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\t\tcreateAppointmentAsHandler(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdefaultSelection={{\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tlabel: getOutOfOfficeStatusPrefsData(settings, 'label', t),\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tvalue: getOutOfOfficeStatusPrefsData(settings, 'value', t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default OutOfOfficeView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Quota, Container, FormSubSection, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useUserSettings } from '../../../store/account/hooks';\nimport { useAccountStore } from '../../../store/account/store';\nimport { quotaSubSection } from '../../general-settings-sub-sections';\n\ninterface UserQuotaProps {\n\tmobileView: boolean;\n}\n\nconst UserQuota: FC<UserQuotaProps> = ({ mobileView }) => {\n\tconst [t] = useTranslation();\n\n\tconst settings = useUserSettings();\n\tconst used = useAccountStore((s) => s.usedQuota);\n\tconst quota = useMemo(() => {\n\t\tconst userQuota = Number(settings?.attrs?.zimbraMailQuota);\n\t\tif (used && userQuota && userQuota > 0) {\n\t\t\treturn Math.round((used / userQuota) * 100);\n\t\t}\n\t\treturn -1;\n\t}, [settings?.attrs?.zimbraMailQuota, used]);\n\n\tconst description = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase !quota || quota < 0:\n\t\t\t\treturn t('user_quota.unlimited', 'You have unlimited space available');\n\t\t\tcase quota === 100:\n\t\t\t\treturn t('user_quota.space_full', 'It seems that all available space is full');\n\t\t\tdefault:\n\t\t\t\treturn t('user_quota.limited', {\n\t\t\t\t\tdefaultValue: 'You have filled {{quota}}% of the available space',\n\t\t\t\t\tquota\n\t\t\t\t});\n\t\t}\n\t}, [quota, t]);\n\n\tconst fillBackground = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase quota >= 95:\n\t\t\t\treturn 'error';\n\t\t\tcase quota >= 90:\n\t\t\t\treturn 'warning';\n\t\t\tcase quota === -1:\n\t\t\t\treturn 'gray4';\n\t\t\tdefault:\n\t\t\t\treturn 'primary';\n\t\t}\n\t}, [quota]);\n\tconst sectionTitle = useMemo(() => quotaSubSection(t), [t]);\n\treturn mobileView ? (\n\t\t<Container width=\"fit\" padding={{ right: 'medium' }}>\n\t\t\t<Tooltip label={description} placement=\"bottom\">\n\t\t\t\t<Quota fill={quota > 0 ? quota : 0} fillBackground={fillBackground} />\n\t\t\t</Tooltip>\n\t\t</Container>\n\t) : (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container width=\"fill\" padding={{ vertical: 'medium' }}>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\ttakeAvailableSpace\n\t\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\t>\n\t\t\t\t\t<Text orientation=\"left\">{description}</Text>\n\t\t\t\t</Container>\n\t\t\t\t<Quota fill={quota === -1 ? 100 : quota} fillBackground={fillBackground} />\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default UserQuota;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect } from 'react';\nimport {\n\tPadding,\n\tRow,\n\tText,\n\tContainer,\n\tButton,\n\tDivider,\n\tBreadcrumbs\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { RouteLeavingGuard } from '../../ui-extras/nav-guard';\n\ntype SettingsHeaderProps = {\n\ttitle: string;\n\tonSave: () => void;\n\tonCancel: () => void;\n\tisDirty: boolean;\n};\n\nconst SettingsHeader: FC<SettingsHeaderProps> = ({ onSave, onCancel, isDirty, title }) => {\n\tconst [t] = useTranslation();\n\tconst history = useHistory();\n\tconst useparam = useParams();\n\tconst crumbs = [\n\t\t{\n\t\t\tid: 'settings',\n\t\t\tlabel: t('settings.app', 'Settings'),\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t},\n\t\t{\n\t\t\tid: 'general',\n\t\t\tlabel: title,\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t}\n\t];\n\tconst search = history.location?.search;\n\tuseEffect(() => {\n\t\tif (search) {\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.querySelector(`#${history.location.search}`.replace('?section=', ''))\n\t\t\t\t\t\t?.scrollIntoView(),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t}, [history, history.location, history.location.search, search, useparam]);\n\treturn (\n\t\t<>\n\t\t\t<RouteLeavingGuard when={isDirty} onSave={onSave}>\n\t\t\t\t<Text>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'label.unsaved_changes_line1',\n\t\t\t\t\t\t'Are you sure you want to leave this page without saving?'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<Text>{t('label.unsaved_changes_line2', 'All your unsaved changes will be lost')}</Text>\n\t\t\t</RouteLeavingGuard>\n\t\t\t<Container\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-around\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\">\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Breadcrumbs crumbs={crumbs} />\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\tcrossAlignment=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={t('label.discard_changes', 'DISCARD CHANGES')}\n\t\t\t\t\t\t\t\tonClick={onCancel}\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.save', 'Save')}\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n};\n\nexport default SettingsHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Padding, Row, Text } from '@zextras/carbonio-design-system';\n\nconst Heading: FC<{ title: string }> = ({ title }) => (\n\t<>\n\t\t<Row padding={{ all: 'small' }} mainAlignment=\"baseline\" crossAlignment=\"baseline\" width=\"100%\">\n\t\t\t<Text size=\"large\" weight=\"bold\">\n\t\t\t\t{title}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Padding veritcal=\"small\" />\n\t</>\n);\n\nexport default Heading;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport moment from 'moment';\nimport { TFunction } from 'i18next';\nimport { AccountSettings } from '../../../types';\n\n// const [t] = useTranslation();\n\nexport const ItemsSendAutoReplies = (t: TFunction): any => [\n\t{\n\t\tlabel: t('settings.out_of_office.send_auto_replies', 'Send auto-replies'),\n\t\tvalue: 'TRUE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.do_not_send_auto_replies', 'Do not send auto-replies'),\n\t\tvalue: 'FALSE'\n\t}\n];\n\nexport const ItemsExternalSenders = (t: TFunction): any => [\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_standard_auto_reply',\n\t\t\t'Send standard auto-reply message'\n\t\t),\n\t\tvalue: 'SEND_AUTO_REPLY'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization'\n\t\t),\n\t\tvalue: 'SHOW_EXTERNAL_INPUT'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_not_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization or address book'\n\t\t),\n\t\tvalue: 'SEND_NOT_IN_ORG'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.do_not_send_to_external',\n\t\t\t'Don’t send an auto-reply message to external sender'\n\t\t),\n\t\tvalue: 'SUPPRESS_EXTERNAL'\n\t}\n];\n\nexport const ItemsOutOfOfficeStatus = (t: TFunction): any => [\n\t{\n\t\tlabel: t('label.out_of_office', 'Out of Office'),\n\t\tvalue: 'OUTOFOFFICE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.status.busy', 'Busy'),\n\t\tvalue: 'BUSY'\n\t}\n];\n\nexport const getExternalSendersPrefsData = (\n\tsettings: AccountSettings,\n\tret: string,\n\tt: TFunction\n): string => {\n\tlet item;\n\tconst itemsExternalSenders = ItemsExternalSenders(t);\n\tif (\n\t\tsettings.prefs.zimbraPrefOutOfOfficeSuppressExternalReply === 'FALSE' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'FALSE'\n\t) {\n\t\titem = { ...itemsExternalSenders[0] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALL' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[1] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALLNOTINAB' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[2] };\n\t} else {\n\t\titem = { ...itemsExternalSenders[3] };\n\t}\n\treturn String(item[ret]);\n};\n\nexport const getOutOfOfficeStatusPrefsData = (\n\tsettings: AccountSettings,\n\tret: string,\n\tt: TFunction\n): string => {\n\tlet item;\n\tconst itemsOutOfOfficeStatus = ItemsOutOfOfficeStatus(t);\n\tif (settings.prefs.zimbraPrefOutOfOfficeFreeBusyStatus === 'BUSY') {\n\t\titem = { ...itemsOutOfOfficeStatus[1] };\n\t} else {\n\t\titem = { ...itemsOutOfOfficeStatus[0] };\n\t}\n\n\treturn String(item[ret]);\n};\n\nexport const changeDateEvent = (date: string | Date): string =>\n\tmoment(moment(date, 'YYYYMMDDHHmmss[Z]').utc()).format('YYYYMMDDHHmmss[Z]');\n\nexport const getDateEvent = (date: string): Date =>\n\tnew Date(moment.utc(date, 'YYYYMMDDHHmmss[Z]').local().valueOf());\n\nexport const startOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().startOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport const endOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().endOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport const localeList = (\n\tt: TFunction\n): Array<{ id: string; name: string; localName: string; value: string; label: string }> => [\n\t{\n\t\tid: 'zh_CN',\n\t\tname: '中文 (中国)',\n\t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n\t\tlabel: t('locale.label_chinese', {\n\t\t\tvalue: '中文 (中国)',\n\t\t\tdefaultValue: 'Chinese (China) - {{value}}'\n\t\t}),\n\t\tvalue: 'zh_CN'\n\t},\n\t{\n\t\tid: 'nl',\n\t\tname: 'Nederlands',\n\t\tlocalName: t('locale.dutch', 'Dutch'),\n\t\tlabel: t('locale.label_dutch', { value: 'Nederlands', defaultValue: 'Dutch - {{value}}' }),\n\t\tvalue: 'nl'\n\t},\n\t{\n\t\tid: 'en',\n\t\tname: 'English',\n\t\tlocalName: t('locale.English', 'English'),\n\t\tlabel: t('locale.label_english', { value: 'English', defaultValue: 'English - {{value}}' }),\n\t\tvalue: 'en'\n\t},\n\t{\n\t\tid: 'de',\n\t\tname: 'Deutsch',\n\t\tlocalName: t('locale.german', 'German'),\n\t\tlabel: t('locale.label_german', { value: 'Deutsch', defaultValue: 'German - {{value}}' }),\n\t\tvalue: 'de'\n\t},\n\t{\n\t\tid: 'hi',\n\t\tname: 'हिंदी',\n\t\tlocalName: t('locale.hindi', 'Hindi'),\n\t\tlabel: t('locale.label_hindi', { value: 'हिंदी', defaultValue: 'Hindi - {{value}}' }),\n\t\tvalue: 'hi'\n\t},\n\t{\n\t\tid: 'it',\n\t\tname: 'italiano',\n\t\tlocalName: t('locale.italian', 'Italian'),\n\t\tlabel: t('locale.label_italian', { value: 'italiano', defaultValue: 'Italian - {{value}}' }),\n\t\tvalue: 'it'\n\t},\n\t{\n\t\tid: 'ja',\n\t\tname: '日本語',\n\t\tlocalName: t('locale.japanese', 'Japanese'),\n\t\tlabel: t('locale.label_japanese', { value: '日本語', defaultValue: 'Japanese - {{value}}' }),\n\t\tvalue: 'ja'\n\t},\n\n\t{\n\t\tid: 'pt',\n\t\tname: 'português',\n\t\tlocalName: t('locale.portuguese', 'Portuguese'),\n\t\tlabel: t('locale.label_portuguese', {\n\t\t\tvalue: 'português',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt'\n\t},\n\t{\n\t\tid: 'pt_BR',\n\t\tname: 'português (Brasil)',\n\t\tlocalName: t('locale.portuguese_brazil', 'Portuguese (Brazil)'),\n\t\tlabel: t('locale.label_portuguese_brazil', {\n\t\t\tvalue: 'português (Brasil)',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt_BR'\n\t},\n\n\t{\n\t\tid: 'ro',\n\t\tname: 'română',\n\t\tlocalName: t('locale.romanian', 'Romanian'),\n\t\tlabel: t('locale.label_romanian', { value: 'română', defaultValue: 'Romanian - {{value}}' }),\n\t\tvalue: 'ro'\n\t},\n\t{\n\t\tid: 'ru',\n\t\tname: 'русский',\n\t\tlocalName: t('locale.russian', 'Russian'),\n\t\tlabel: t('locale.label_russian', { value: 'русский', defaultValue: 'Russian - {{value}}' }),\n\t\tvalue: 'ru'\n\t},\n\n\t{\n\t\tid: 'es',\n\t\tname: 'español',\n\t\tlocalName: t('locale.spanish', 'Spanish'),\n\t\tlabel: t('locale.label_spanish', { value: 'español', defaultValue: 'Spanish - {{value}}' }),\n\t\tvalue: 'es'\n\t},\n\n\t{\n\t\tid: 'th',\n\t\tname: 'ไทย',\n\t\tlocalName: t('locale.thai', 'Thai'),\n\t\tlabel: t('locale.label_thai', { value: 'ไทย', defaultValue: 'Thai - {{value}}' }),\n\t\tvalue: 'th'\n\t},\n\t{\n\t\tid: 'tr',\n\t\tname: 'Türkçe',\n\t\tlocalName: t('locale.turkish', 'Turkish'),\n\t\tlabel: t('locale.label_turkish', { value: 'Türkçe', defaultValue: 'Turkish - {{value}}' }),\n\t\tvalue: 'tr'\n\t},\n\t{\n\t\tid: 'fr',\n\t\tname: 'français',\n\t\tlocalName: t('locale.french', 'French'),\n\t\tlabel: t('locale.label_french', { value: 'français', defaultValue: 'French - {{value}}' }),\n\t\tvalue: 'fr'\n\t}\n];\n// TODO: For future languages\n// export const localeList = (t: TFunction): any => [\n// \t{\n// \t\tid: 'ar',\n// \t\tname: 'العربية',\n// \t\tlocalName: t('locale.arabic', 'Arabic'),\n// \t\tlabel: t('locale.label_arabic', { value: 'لعربية', defaultValue: 'Arabic - {{value}}' }),\n// \t\tvalue: 'ar'\n// \t},\n// \t{\n// \t\tid: 'eu',\n// \t\tname: 'Euskara',\n// \t\tlocalName: t('locale.basque', 'Basque'),\n// \t\tlabel: t('locale.label_basque', { value: 'Euskara', defaultValue: 'Basque - {{value}}' }),\n// \t\tvalue: 'eu'\n// \t},\n// \t{\n// \t\tid: 'bg',\n// \t\tname: 'български',\n// \t\tlocalName: t('locale.bulgarian', 'Bulgarian'),\n// \t\tlabel: t('locale.label_bulgarian', {\n// \t\t\tvalue: 'български',\n// \t\t\tdefaultValue: 'Bulgarian - {{value}}'\n// \t\t}),\n// \t\tvalue: 'bg'\n// \t},\n// \t{\n// \t\tid: 'ca',\n// \t\tname: 'català',\n// \t\tlocalName: t('locale.catalan', 'Catalan'),\n// \t\tlabel: 'Catalan - català',\n// \t\tvalue: 'ca'\n// \t},\n// \t{\n// \t\tid: 'zh',\n// \t\tname: '中文',\n// \t\tlocalName: t('locale.chinese', 'Chinese'),\n// \t\tlabel: 'Chinese - 中文',\n// \t\tvalue: 'zh'\n// \t},\n// \t{\n// \t\tid: 'zh_CN',\n// \t\tname: '中文 (中国)',\n// \t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n// \t\tlabel: 'Chinese (China) - 中文 (中国)',\n// \t\tvalue: 'zh_CN'\n// \t},\n// \t{\n// \t\tid: 'zh_HK',\n// \t\tname: '中文 (香港)',\n// \t\tlocalName: t('locale.chinese_hong_kong', 'Chinese (Hong Kong SAR China)'),\n// \t\tlabel: 'Chinese (Hong Kong SAR China) - 中文 (香港)',\n// \t\tvalue: 'zh_HK'\n// \t},\n// \t{\n// \t\tid: 'zh_TW',\n// \t\tname: '中文 (台灣)',\n// \t\tlocalName: t('locale.chinese_taiwan', 'Chinese (Taiwan)'),\n// \t\tlabel: 'Chinese (Taiwan) - 中文 (台灣)',\n// \t\tvalue: 'zh_TW'\n// \t},\n// \t{\n// \t\tid: 'hr',\n// \t\tname: 'hrvatski',\n// \t\tlocalName: t('locale.croatian', 'Croatian'),\n// \t\tlabel: 'Croatian - hrvatski',\n// \t\tvalue: 'hr'\n// \t},\n// \t{\n// \t\tid: 'da',\n// \t\tname: 'Dansk',\n// \t\tlocalName: t('locale.danish', 'Danish'),\n// \t\tlabel: 'Danish - Dansk',\n// \t\tvalue: 'da'\n// \t},\n\n// \t{\n// \t\tid: 'en_AU',\n// \t\tname: 'English (Australia)',\n// \t\tlocalName: t('locale.english_australia', 'English (Australia)'),\n// \t\tlabel: 'English (Australia) - English (Australia)',\n// \t\tvalue: 'en_AU'\n// \t},\n// \t{\n// \t\tid: 'en_GB',\n// \t\tname: 'English (United Kingdom)',\n// \t\tlocalName: t('locale.english_united_kingdom', 'English (United Kingdom)'),\n// \t\tlabel: 'English (United Kingdom) - English (United Kingdom)',\n// \t\tvalue: 'en_GB'\n// \t},\n// \t{\n// \t\tid: 'en_US',\n// \t\tname: 'English (United States)',\n// \t\tlocalName: t('locale.english_united_states', 'English (United States)'),\n// \t\tlabel: 'English (United States) - English (United States)',\n// \t\tvalue: 'en_US'\n// \t},\n// \t{\n// \t\tid: 'fr',\n// \t\tname: 'français',\n// \t\tlocalName: t('locale.french', 'French'),\n// \t\tlabel: 'French - français',\n// \t\tvalue: 'fr'\n// \t},\n// \t{\n// \t\tid: 'fr_CA',\n// \t\tname: 'français (Canada)',\n// \t\tlocalName: t('locale.french_canada', 'French (Canada)'),\n// \t\tlabel: 'French (Canada) - français (Canada)',\n// \t\tvalue: 'fr_CA'\n// \t},\n// \t{\n// \t\tid: 'fr_FR',\n// \t\tname: 'français (France)',\n// \t\tlocalName: t('locale.french_france', 'French (France)'),\n// \t\tlabel: 'French (France) - français (France)',\n// \t\tvalue: 'fr_FR'\n// \t},\n\n// \t{\n// \t\tid: 'iw',\n// \t\tname: 'עברית',\n// \t\tlocalName: t('locale.hebrew', 'Hebrew'),\n// \t\tlabel: 'Hebrew - עברית',\n// \t\tvalue: 'iw'\n// \t},\n\n// \t{\n// \t\tid: 'hu',\n// \t\tname: 'magyar',\n// \t\tlocalName: t('locale.hungarian', 'Hungarian'),\n// \t\tlabel: 'Hungarian - magyar',\n// \t\tvalue: 'hu'\n// \t},\n// \t{\n// \t\tid: 'in',\n// \t\tname: 'Bahasa Indonesia',\n// \t\tlocalName: t('locale.indonesian', 'Indonesian'),\n// \t\tlabel: 'Indonesian - Bahasa Indonesia',\n// \t\tvalue: 'in'\n// \t},\n\n// \t{\n// \t\tid: 'ko',\n// \t\tname: '한국어',\n// \t\tlocalName: t('locale.korean', 'Korean'),\n// \t\tlabel: 'Korean - 한국어',\n// \t\tvalue: 'ko'\n// \t},\n// \t{\n// \t\tid: 'lo',\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tname: 'ພາສາລາວ',\n// \t\tlocalName: t('locale.lao', 'Lao'),\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tlabel: 'Lao - ພາສາລາວ',\n// \t\tvalue: 'lo'\n// \t},\n// \t{\n// \t\tid: 'ms',\n// \t\tname: 'Bahasa Melayu',\n// \t\tlocalName: t('locale.malay', 'Malay'),\n// \t\tlabel: 'Malay - Bahasa Melayu',\n// \t\tvalue: 'ms'\n// \t},\n// \t{\n// \t\tid: 'no',\n// \t\tname: 'norsk',\n// \t\tlocalName: t('locale.norwegian', 'Norwegian'),\n// \t\tlabel: 'Norwegian - norsk',\n// \t\tvalue: 'no'\n// \t},\n// \t{\n// \t\tid: 'pl',\n// \t\tname: 'polski',\n// \t\tlocalName: t('locale.polish', 'Polish'),\n// \t\tlabel: 'Polish - polski',\n// \t\tvalue: 'pl'\n// \t},\n\n// \t{\n// \t\tid: 'pt_PT',\n// \t\tname: 'português (Portugal)',\n// \t\tlocalName: t('locale.potuguese_portugal', 'Portuguese (Portugal)'),\n// \t\tlabel: 'Portuguese (Portugal) - português (Portugal)',\n// \t\tvalue: 'pt_PT'\n// \t},\n\n// \t{\n// \t\tid: 'sl',\n// \t\tname: 'Slovenščina',\n// \t\tlocalName: t('locale.slovenian', 'Slovenian'),\n// \t\tlabel: 'Slovenian - Slovenščina',\n// \t\tvalue: 'sl'\n// \t},\n\n// \t{\n// \t\tid: 'sv',\n// \t\tname: 'svenska',\n// \t\tlocalName: t('locale.swedish', 'Swedish'),\n// \t\tlabel: 'Swedish - svenska',\n// \t\tvalue: 'sv'\n// \t},\n// \t{\n// \t\tid: 'ta',\n// \t\tname: 'தமிழ்',\n// \t\tlocalName: t('locale.tamil', 'Tamil'),\n// \t\tlabel: 'Tamil - தமிழ்',\n// \t\tvalue: 'ta'\n// \t},\n\n// \t{\n// \t\tid: 'uk',\n// \t\tname: 'українська',\n// \t\tlocalName: t('locale.ukrainian', 'Ukrainian'),\n// \t\tlabel: 'Ukrainian - українська',\n// \t\tvalue: 'uk'\n// \t},\n// \t{\n// \t\tid: 'vi',\n// \t\tname: 'Tiếng Việt',\n// \t\tlocalName: t('locale.vietnamese', 'Vietnamese'),\n// \t\tlabel: 'Vietnamese - Tiếng Việt',\n// \t\tvalue: 'vi'\n// \t}\n// ];\n\nexport const timeZoneList = (\n\tt: TFunction\n): Array<{ value?: string; label: string; offSet?: string }> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.dateline', { value: 'GMT -12:00 ', defaultValue: '{{value}} Dateline' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Midway',\n\t\tlabel: t('timezone.samoa', { value: 'GMT -11:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'Etc/GMT+11',\n\t\tlabel: t('timezone.gmt_11', { value: 'GMT -11:00', defaultValue: '{{value}} GMT-11' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Honolulu',\n\t\tlabel: t('timezone.hawaii', { value: 'GMT -10:00', defaultValue: '{{value}} Hawaii' })\n\t},\n\t{\n\t\tvalue: 'America/Anchorage',\n\t\tlabel: t('timezone.alaska', { value: 'GMT -09:00', defaultValue: '{{value}} Alaska' })\n\t},\n\t{\n\t\tvalue: 'America/Los_Angeles',\n\t\tlabel: t('timezone.us_canada_pacific', {\n\t\t\tvalue: 'GMT -08:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Pacific'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Tijuana',\n\t\tlabel: t('timezone.baja_california', {\n\t\t\tvalue: 'GMT -08:00',\n\t\t\tdefaultValue: '{{value}} Baja California'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Denver',\n\t\tlabel: t('timezone.us_canada_mountain', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Mountain'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Chihuahua',\n\t\tlabel: t('timezone.chihuahua_la_paz_mazatlan', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Chihuahua, La Paz, Mazatlan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Phoenix',\n\t\tlabel: t('timezone.arizona', { value: 'GMT -07:00', defaultValue: '{{value}} Arizona' })\n\t},\n\t{\n\t\tvalue: 'America/Chicago',\n\t\tlabel: t('timezone.us_canada_central', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Central'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Regina',\n\t\tlabel: t('timezone.saskatchewan', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Saskatchewan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Mexico_City',\n\t\tlabel: t('timezone.guadalajara_mexico_city_monterrey ', {\n\t\t\tvalue: 'GMT -06:00 ',\n\t\t\tdefaultValue: '{{value}} Guadalajara, Mexico City, Monterrey '\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Guatemala',\n\t\tlabel: t('timezone.central_america', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Central America'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/New_York',\n\t\tlabel: t('timezone.us_canada_eastern', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} US/Canada Eastern'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Indiana/Indianapolis',\n\t\tlabel: t('timezone.indiana_east', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Indiana (East)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Bogota',\n\t\tlabel: t('timezone.colombia', { value: 'GMT -05:00', defaultValue: '{{value}} Colombia' })\n\t},\n\t{\n\t\tvalue: 'America/Caracas',\n\t\tlabel: t('timezone.caracas', { value: 'GMT -04:30', defaultValue: '{{value}} Caracas' })\n\t},\n\t{\n\t\tvalue: 'America/Santiago',\n\t\tlabel: t('timezone.pacific_south_america', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Pacific South America'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Manaus',\n\t\tlabel: t('timezone.manaus', { value: 'GMT -04:00', defaultValue: '{{value}} Manaus' })\n\t},\n\t{\n\t\tvalue: 'America/La_Paz',\n\t\tlabel: t('timezone.la_paz', { value: 'GMT -04:00', defaultValue: '{{value}} La Paz' })\n\t},\n\t{\n\t\tvalue: 'America/Guyana',\n\t\tlabel: t('timezone.georgetown_la_paz_manaus_san_juan', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Georgetown, La Paz, Manaus, San Juan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Cuiaba',\n\t\tlabel: t('timezone.cuiaba', { value: 'GMT -04:00', defaultValue: '{{value}} Cuiaba' })\n\t},\n\t{\n\t\tvalue: 'America/Halifax',\n\t\tlabel: t('timezone.atlantic_time_canada', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Atlantic Time (Canada)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Asuncion',\n\t\tlabel: t('timezone.asuncion', { value: 'GMT -04:00 ', defaultValue: '{{value}} Asuncion' })\n\t},\n\t{\n\t\tvalue: 'America/St_Johns',\n\t\tlabel: t('timezone.newfoundland', {\n\t\t\tvalue: 'GMT -03:30',\n\t\t\tdefaultValue: '{{value}} Newfoundland'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Montevideo',\n\t\tlabel: t('timezone.montevideo', { value: 'GMT -03:00', defaultValue: '{{value}} Montevideo' })\n\t},\n\t{\n\t\tvalue: 'America/Godthab',\n\t\tlabel: t('timezone.greenland', { value: 'GMT -03:00', defaultValue: '{{value}} Greenland' })\n\t},\n\t{\n\t\tvalue: 'America/Cayenne',\n\t\tlabel: t('timezone.cayenne_fortaleza', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Cayenne, Fortaleza'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Sao_Paulo',\n\t\tlabel: t('timezone.brasilia', { value: 'GMT -03:00', defaultValue: '{{value}} Brasilia' })\n\t},\n\t{\n\t\tvalue: 'America/Argentina/Buenos_Aires',\n\t\tlabel: t('timezone.argentina', { value: 'GMT -03:00', defaultValue: '{{value}} Argentina' })\n\t},\n\t{\n\t\tvalue: 'Atlantic/South_Georgia',\n\t\tlabel: t('timezone.mid_atlantic', {\n\t\t\tvalue: 'GMT -02:00',\n\t\t\tdefaultValue: '{{value}} Mid-Atlantic'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Etc/GMT+2',\n\t\tlabel: t('timezone.gmt_02', { value: 'GMT -02:00', defaultValue: '{{value}} GMT-02' })\n\t},\n\t{\n\t\tvalue: 'Atlantic/Cape_Verde',\n\t\tlabel: t('timezone.cape_verde_is', {\n\t\t\tvalue: 'GMT -01:00',\n\t\t\tdefaultValue: '{{value}} Cape Verde Is.'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/Azores',\n\t\tlabel: t('timezone.azores', { value: 'GMT -01:00', defaultValue: '{{value}} Azores' })\n\t},\n\t{\n\t\tvalue: 'UTC',\n\t\tlabel: t('timezone.coordinated_universal_time', {\n\t\t\tvalue: 'GMT/UTC',\n\t\t\tdefaultValue: '{{value}} Coordinated Universal Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/London',\n\t\tlabel: t('timezone.britain_ireland_portugal', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Britain, Ireland, Portugal'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Casablanca',\n\t\tlabel: t('timezone.casablanca', { value: 'GMT +00:00', defaultValue: '{{value}} Casablanca' })\n\t},\n\t{\n\t\tvalue: 'Africa/Monrovia',\n\t\tlabel: t('timezone.monrovia', { value: 'GMT +00:00', defaultValue: '{{value}} Monrovia' })\n\t},\n\t{\n\t\tvalue: 'Europe/Berlin',\n\t\tlabel: t('timezone.amsterdam_berlin_bern_rome_stockholm_vienna', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Belgrade',\n\t\tlabel: t('timezone.belgrade_bratislava_budapest_ljubljana_prague', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Belgrade, Bratislava, Budapest, Ljubljana, Prague'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Brussels',\n\t\tlabel: t('timezone.brussels_copenhagen_madrid_paris ', {\n\t\t\tvalue: 'GMT +01:00 ',\n\t\t\tdefaultValue: '{{value}} Brussels, Copenhagen, Madrid, Paris '\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Windhoek',\n\t\tlabel: t('timezone.namibia', { value: 'GMT +01:00', defaultValue: '{{value}} Namibia' })\n\t},\n\t{\n\t\tvalue: 'Europe/Warsaw',\n\t\tlabel: t('timezone.sarajevo_skopje_warsaw_zagreb', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Sarajevo, Skopje, Warsaw, Zagreb'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Algiers',\n\t\tlabel: t('timezone.west_central_africa', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} West Central Africa'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Athens',\n\t\tlabel: t('timezone.athens_beirut_bucharest_istanbul', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Athens, Beirut, Bucharest, Istanbul'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Beirut',\n\t\tlabel: t('timezone.beirut', { value: 'GMT +02:00', defaultValue: '{{value}} Beirut' })\n\t},\n\t{\n\t\tvalue: 'Asia/Damascus',\n\t\tlabel: t('timezone.damascus', { value: 'GMT +02:00', defaultValue: '{{value}} Damascus' })\n\t},\n\t{\n\t\tvalue: 'Africa/Cairo',\n\t\tlabel: t('timezone.egypt', { value: 'GMT +02:00', defaultValue: '{{value}} Egypt' })\n\t},\n\t{\n\t\tvalue: 'Africa/Harare',\n\t\tlabel: t('timezone.harare_pretoria', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Harare, Pretoria'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Helsinki',\n\t\tlabel: t('timezone.helsinki_kyiv_riga_sofia_tallinn_vilnius', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Istanbul',\n\t\tlabel: t('timezone.istanbul', { value: 'GMT +02:00', defaultValue: '{{value}} Istanbul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Jerusalem',\n\t\tlabel: t('timezone.jerusalem', { value: 'GMT +02:00', defaultValue: '{{value}} Jerusalem' })\n\t},\n\t{\n\t\tvalue: 'Asia/Amman',\n\t\tlabel: t('timezone.jordan', { value: 'GMT +02:00', defaultValue: '{{value}} Jordan' })\n\t},\n\t{\n\t\tvalue: 'Europe/Kaliningrad',\n\t\tlabel: t('timezone.kaliningrad_rtz_1', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Kaliningrad (RTZ 1)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Baghdad',\n\t\tlabel: t('timezone.iraq', { value: 'GMT +03:00', defaultValue: '{{value}} Iraq' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kuwait',\n\t\tlabel: t('timezone.kuwait_riyadh', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Kuwait, Riyadh'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Minsk',\n\t\tlabel: t('timezone.minsk', { value: 'GMT +03:00', defaultValue: '{{value}} Minsk' })\n\t},\n\t{\n\t\tvalue: 'Europe/Moscow',\n\t\tlabel: t('timezone.moscow_st_petersburg_volgograd_rtz_2', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Moscow, St. Petersburg, Volgograd (RTZ 2)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Nairobi',\n\t\tlabel: t('timezone.nairobi', { value: 'GMT +03:00', defaultValue: '{{value}} Nairobi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Tehran',\n\t\tlabel: t('timezone.tehran', { value: 'GMT +03:30', defaultValue: '{{value}} Tehran' })\n\t},\n\t{\n\t\tvalue: 'Asia/Muscat',\n\t\tlabel: t('timezone.abu_dhabi_muscat', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Abu Dhabi, Muscat'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Baku',\n\t\tlabel: t('timezone.baku', { value: 'GMT +04:00', defaultValue: '{{value}} Baku' })\n\t},\n\t{\n\t\tvalue: 'Indian/Mauritius',\n\t\tlabel: t('timezone.port_louis', { value: 'GMT +04:00', defaultValue: '{{value}} Port Louis' })\n\t},\n\t{\n\t\tvalue: 'Asia/Tbilisi',\n\t\tlabel: t('timezone.tbilisi', { value: 'GMT +04:00', defaultValue: '{{value}} Tbilisi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yerevan',\n\t\tlabel: t('timezone.yerevan', { value: 'GMT +04:00', defaultValue: '{{value}} Yerevan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kabul',\n\t\tlabel: t('timezone.kabul', { value: 'GMT +04:30', defaultValue: '{{value}} Kabul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yekaterinburg',\n\t\tlabel: t('timezone.ekaterinburg_rtz_4', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Ekaterinburg (RTZ 4)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Colombo',\n\t\tlabel: t('timezone.sri_jayawardenepura_kotte', {\n\t\t\tvalue: 'GMT +05:30',\n\t\t\tdefaultValue: '{{value}} Sri Jayawardenepura Kotte'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kolkata',\n\t\tlabel: t('timezone.chennai_kolkata_mumbai_new_delhi', {\n\t\t\tvalue: 'GMT +05:30',\n\t\t\tdefaultValue: '{{value}} Chennai, Kolkata, Mumbai, New Delhi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kathmandu',\n\t\tlabel: t('timezone.kathmandu', { value: 'GMT +05:45', defaultValue: '{{value}} Kathmandu' })\n\t},\n\t{\n\t\tvalue: 'Asia/Dhaka',\n\t\tlabel: t('timezone.dhaka', { value: 'GMT +06:00', defaultValue: '{{value}} Dhaka' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yangon',\n\t\tlabel: t('timezone.yangon', { value: 'GMT +06:30 ', defaultValue: '{{value}} Yangon' })\n\t},\n\t{\n\t\tvalue: 'Asia/Bangkok',\n\t\tlabel: t('timezone.bangkok_hanoi_jakarta', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Bangkok, Hanoi, Jakarta'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Krasnoyarsk',\n\t\tlabel: t('timezone.krasnoyarsk_rtz_6', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Krasnoyarsk (RTZ 6)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Hong_Kong',\n\t\tlabel: t('timezone.beijing_chongqing_hong_kong_urumqi', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Beijing, Chongqing, Hong Kong, Urumqi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Irkutsk',\n\t\tlabel: t('timezone.irkutsk_rtz_7', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Irkutsk (RTZ 7)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Eucla',\n\t\tlabel: t('timezone.eucla', { value: 'GMT +08:45', defaultValue: '{{value}} Eucla' })\n\t},\n\t{\n\t\tvalue: 'Asia/Chita',\n\t\tlabel: t('timezone.chita', { value: 'GMT +09:00', defaultValue: '{{value}} Chita' })\n\t},\n\t{\n\t\tvalue: 'Asia/Pyongyang',\n\t\tlabel: t('timezone.pyongyang', { value: 'GMT +08:30 ', defaultValue: '{{value}} Pyongyang' })\n\t},\n\t{\n\t\tvalue: 'Asia/Seoul',\n\t\tlabel: t('timezone.korea', { value: 'GMT +09:00 ', defaultValue: '{{value}} Korea' })\n\t},\n\t{\n\t\tvalue: 'Australia/Darwin',\n\t\tlabel: t('timezone.darwin', { value: 'GMT +09:30', defaultValue: '{{value}} Darwin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Vladivostok',\n\t\tlabel: t('timezone.vladivostok_magadan', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} vladivostok_magadan_rtz_9'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Magadan',\n\t\tlabel: t('timezone.magadan', { value: 'GMT +11:00', defaultValue: '{{value}} Magadan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kamchatka',\n\t\tlabel: t('timezone.anadyr_petropavlovsk_kamchatsky_rtz11', {\n\t\t\tvalue: 'GMT +12:00',\n\t\t\tdefaultValue: '{{value}} Anadyr, Petropavlovsk-Kamchatsky (RTZ 11)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Tongatapu',\n\t\tlabel: t('timezone.nuku_alofa', { value: 'GMT +13:00', defaultValue: '{{value}} Nuku’alofa' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Kiritimati',\n\t\tlabel: t('timezone.christmas_island', {\n\t\t\tvalue: 'GMT +14:00',\n\t\t\tdefaultValue: '{{value}} Christmas Island'\n\t\t})\n\t}\n];\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { TFunction } from 'react-i18next';\nimport { SettingsSubSection } from '../../types';\n\nexport const themeSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.theme_options', 'Theme Options'),\n\tid: 'theme_options'\n});\nexport const timezoneAndLanguageSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.timezone_and_language', 'Time Zone and Language'),\n\tid: 'timezone_and_language'\n});\nexport const outOfOfficeSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.out_of_office.headings.settings_label', 'Out of Office Settings'),\n\tid: 'out_of_office'\n});\nexport const searchPrefsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('search.app', 'Search'),\n\tid: 'search_prefs'\n});\nexport const versionsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('module.app.version', 'Application versions'),\n\tid: 'app_version'\n});\nexport const quotaSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('user_quota.title', \"User's quota\"),\n\tid: 'user_quota'\n});\nexport const accountSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.account', 'Account'),\n\tid: 'account'\n});\n\nexport const settingsSubSections = (t: TFunction): Array<SettingsSubSection> => [\n\tthemeSubSection(t),\n\ttimezoneAndLanguageSubSection(t),\n\toutOfOfficeSubSection(t),\n\tsearchPrefsSubSection(t),\n\tversionsSubSection(t),\n\tquotaSubSection(t),\n\taccountSubSection(t)\n];\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState, FC, useMemo } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { includes, isEmpty } from 'lodash';\nimport { useUserSettings } from '../store/account';\nimport Logout from './components/general-settings/logout';\nimport AppearanceSettings from './components/general-settings/appearance-settings';\nimport ModuleVersionSettings from './components/general-settings/module-version-settings';\nimport OutOfOfficeSettings from './components/general-settings/out-of-office-view';\nimport UserQuota from './components/general-settings/user-quota';\nimport { editSettings } from '../network/edit-settings';\nimport { Mods } from '../../types';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport SearchSettingsView from './search-settings-view';\nimport SettingsHeader from './components/settings-header';\n\nconst GeneralSettings: FC = () => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [t] = useTranslation();\n\tconst settings = useUserSettings();\n\tconst [open, setOpen] = useState(false);\n\tconst addMod = useCallback((type: 'props' | 'prefs', key, value) => {\n\t\tsetMods((m) => ({\n\t\t\t...m,\n\t\t\t[type]: {\n\t\t\t\t...m?.[type],\n\t\t\t\t[key]: value\n\t\t\t}\n\t\t}));\n\t}, []);\n\tconst createSnackbar = useSnackbar();\n\n\tconst onSave = useCallback(() => {\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tif (mods.prefs && includes(Object.keys(mods.prefs), 'zimbraPrefLocale')) {\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t}\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [createSnackbar, mods, t]);\n\tconst onCancel = useCallback(() => {\n\t\tsetMods({});\n\t}, []);\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\tconst title = useMemo(() => t('settings.general.general', 'General Settings'), [t]);\n\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader title={title} onCancel={onCancel} onSave={onSave} isDirty={isDirty} />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'medium' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AppearanceSettings settings={settings} addMod={addMod} />\n\t\t\t\t<LanguageAndTimeZoneSettings\n\t\t\t\t\tsettings={settings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\topen={open}\n\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t/>\n\n\t\t\t\t<OutOfOfficeSettings settings={settings} addMod={addMod} />\n\t\t\t\t<SearchSettingsView settings={settings} addMod={addMod} />\n\t\t\t\t<ModuleVersionSettings />\n\t\t\t\t<UserQuota mobileView={false} />\n\t\t\t\t<Logout />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default GeneralSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, FC, useMemo } from 'react';\nimport {\n\tContainer,\n\tFormSubSection,\n\tModal,\n\tSelect,\n\tText,\n\tPadding\n} from '@zextras/carbonio-design-system';\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { find } from 'lodash';\nimport { AccountSettings } from '../../types';\nimport { localeList, timeZoneList } from './components/utils';\nimport { timezoneAndLanguageSubSection } from './general-settings-sub-sections';\n\nmomentLocalizer();\n\nconst LanguageAndTimeZone: FC<{\n\tsettings: AccountSettings;\n\topen: boolean;\n\tsetOpen: (arg: boolean) => any;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod, open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst locales = useMemo(() => localeList(t), [t]);\n\tconst timezones = useMemo(() => timeZoneList(t), [t]);\n\tconst updatePrefs = useCallback(\n\t\t(v, p) => {\n\t\t\taddMod('prefs', p, v);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst defaultSelection = useMemo(\n\t\t() =>\n\t\t\tsettings.prefs.zimbraPrefLocale && find(locales, { id: settings.prefs.zimbraPrefLocale })\n\t\t\t\t? find(locales, { id: settings.prefs.zimbraPrefLocale })\n\t\t\t\t: locales[5],\n\t\t[locales, settings.prefs.zimbraPrefLocale]\n\t);\n\n\tconst defaultTimeZone = useMemo(\n\t\t() =>\n\t\t\tsettings.prefs.zimbraPrefTimeZoneId &&\n\t\t\tfind(timezones, { value: settings.prefs.zimbraPrefTimeZoneId })\n\t\t\t\t? find(timezones, { value: settings.prefs.zimbraPrefTimeZoneId })\n\t\t\t\t: timezones[39],\n\t\t[timezones, settings.prefs.zimbraPrefTimeZoneId]\n\t);\n\tconst sectionTitle = useMemo(() => timezoneAndLanguageSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t{Object.keys(settings.prefs).length > 0 && (\n\t\t\t\t\t<Select\n\t\t\t\t\t\titems={locales}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('label.language', 'Language')}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdefaultSelection={defaultSelection}\n\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\tdropdownMaxHeight=\"200px\"\n\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t{Object.keys(settings.prefs).length > 0 && (\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\titems={timezones}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t('label.time_zone', 'Time Zone')}\n\t\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefTimeZoneId');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdefaultSelection={defaultTimeZone}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tdropdownMaxHeight=\"200px\"\n\t\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Padding>\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={t('label.reload', 'Reload')}\n\t\t\t\t\topen={open}\n\t\t\t\t\tdismissLabel={t('label.no', 'No')}\n\t\t\t\t\tonConfirm={(): void => window.location.reload()}\n\t\t\t\t\tconfirmLabel={t('label.reload', 'Reload')}\n\t\t\t\t\tonClose={(): void => setOpen(false)}\n\t\t\t\t>\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'message.reload',\n\t\t\t\t\t\t\t`\tWould you like to reload the application now to show the new language?\n\t\t\t\t\t\t\t(Otherwise, the new language will appear the next time you sign in.)`\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Modal>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default LanguageAndTimeZone;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, FC, useCallback, useEffect, useMemo } from 'react';\nimport { Container, FormSubSection, Checkbox } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { AccountSettings } from '../../types';\nimport { searchPrefsSubSection } from './general-settings-sub-sections';\n\nconst SearchSettingsView: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod }) => {\n\tconst { t } = useTranslation();\n\tconst [searchInSpamFolder, setSearchInSpamFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE'\n\t);\n\tconst [searchInTrashFolder, setSearchInTrashFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE'\n\t);\n\tconst [searchInSharedFolder, setSearchInSharedFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE'\n\t);\n\tconst setMode = useCallback(\n\t\t(v, p) => {\n\t\t\tconst value: any = v ? 'TRUE' : 'FALSE';\n\t\t\taddMod('prefs', p, value);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tsetSearchInSpamFolder(settings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSpamInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInTrashFolder(settings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeTrashInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInSharedFolder(settings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSharedItemsInSearch]);\n\n\tconst onClickSpam = useCallback(() => {\n\t\tsetSearchInSpamFolder(!searchInSpamFolder);\n\t\tsetMode(!searchInSpamFolder, 'zimbraPrefIncludeSpamInSearch');\n\t}, [searchInSpamFolder, setMode]);\n\tconst onClickTrash = useCallback(() => {\n\t\tsetSearchInTrashFolder(!searchInTrashFolder);\n\t\tsetMode(!searchInTrashFolder, 'zimbraPrefIncludeTrashInSearch');\n\t}, [searchInTrashFolder, setMode]);\n\tconst onClickShared = useCallback(() => {\n\t\tsetSearchInSharedFolder(!searchInSharedFolder);\n\t\tsetMode(!searchInSharedFolder, 'zimbraPrefIncludeSharedItemsInSearch');\n\t}, [searchInSharedFolder, setMode]);\n\tconst sectionTitle = useMemo(() => searchPrefsSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_spam_folder',\n\t\t\t\t\t\t'Include Spam Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSpamFolder}\n\t\t\t\t\tonClick={onClickSpam}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_trash_folder',\n\t\t\t\t\t\t'Include Trash Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInTrashFolder}\n\t\t\t\t\tonClick={onClickTrash}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_shared_folder',\n\t\t\t\t\t\t'Include Shared Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSharedFolder}\n\t\t\t\t\tonClick={onClickShared}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default SearchSettingsView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { map } from 'lodash';\nimport { SETTINGS_APP_ID } from '../constants';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsAppView: FC = () => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(settingsViews, (view) => (\n\t\t\t\t<Route key={view.route} exact path={`/${SETTINGS_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[settingsViews]\n\t);\n\treturn (\n\t\t<Switch>\n\t\t\t{routes}\n\t\t\t<Redirect from={`/${SETTINGS_APP_ID}`} exact strict to={`/${SETTINGS_APP_ID}/general`} />\n\t\t</Switch>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { Accordion, Tooltip, IconButton } from '@zextras/carbonio-design-system';\nimport { map, startsWith } from 'lodash';\nimport { SETTINGS_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsSidebar: FC<{ expanded: boolean }> = ({ expanded }) => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst items = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((view) => ({\n\t\t\t\tid: view.route,\n\t\t\t\tlabel: view.label,\n\t\t\t\ticon: view.icon,\n\t\t\t\tactive: location.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tdisableHover:\n\t\t\t\t\tlocation.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tonClick: (e: MouseEvent): void => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\thistory.push(`/${SETTINGS_APP_ID}/${view.route}`);\n\t\t\t\t},\n\t\t\t\titems: map(view.subSections, (item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tactive: location.search === `?section=${item.id}`,\n\t\t\t\t\tdisableHover: location.search === `?section=${item.id}`,\n\t\t\t\t\tonClick: (e: MouseEvent): void => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\thistory.replace(`/${SETTINGS_APP_ID}/${view.route}?section=${item.id}`);\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t})),\n\t\t[history, location.pathname, location.search, settingsViews]\n\t);\n\tconst collapsedItems = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((v) => (\n\t\t\t\t<Tooltip label={v.label} placement=\"right\" key={v.id}>\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticon={v.icon}\n\t\t\t\t\t\tonClick={(): void => history.push(`/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\ticonColor={startsWith(location.pathname, `/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t)),\n\t\t[history, location.pathname, settingsViews]\n\t);\n\treturn expanded ? <Accordion items={items} /> : <>{collapsedItems}</>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo } from 'react';\nimport { Redirect, Route, Switch, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { map, find } from 'lodash';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppList, useAppStore, useRoutes } from '../store/app';\n\nconst _BoardsRouterContainer = styled(Container)`\n\tflex-grow: 1;\n\tflex-basis: 0;\n\tmin-width: 1px;\n\tmax-height: calc(100vh - 60px);\n\toverflow-y: auto;\n`;\n\nconst FirstAppRedirect = () => {\n\tconst apps = useAppList();\n\tconst routes = useRoutes();\n\tconst location = useLocation();\n\tconst mainRoute = useMemo(\n\t\t() => find(routes, (r) => apps[0]?.name === r.app)?.route,\n\t\t[apps, routes]\n\t);\n\treturn mainRoute && location?.pathname === '/' ? (\n\t\t<Redirect exact strict from=\"/\" to={`/${mainRoute}`} />\n\t) : null;\n};\n\nexport default function AppViewContainer() {\n\tconst appViews = useAppStore((s) => s.views.appView);\n\tconst routes = useMemo(\n\t\t() => [\n\t\t\t...map(appViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.app} pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t))\n\t\t],\n\t\t[appViews]\n\t);\n\n\treturn (\n\t\t<_BoardsRouterContainer>\n\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t<Switch>{routes}</Switch>\n\t\t\t\t<FirstAppRedirect />\n\t\t\t</Container>\n\t\t</_BoardsRouterContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, forwardRef } from 'react';\nimport { Container, Text } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { BadgeInfo } from '../../types';\n\nconst MiniBadge = styled(Container)<{ badge: BadgeInfo }>`\n\tposition: absolute;\n\tbottom: 25%;\n\tright: 25%;\n\ttransform: translate(30%, 30%);\n\tbackground: ${({ badge, theme }): string => theme.palette[badge?.color ?? 'primary'].regular};\n\tmin-width: 12px;\n\tmin-height: 12px;\n\tline-height: 12px;\n\tborder-radius: 8px;\n\tuser-select: none;\n\tcursor: pointer;\n\tpointer-events: none;\n`;\n\n// eslint-disable-next-line react/display-name\nconst BadgeWrap: FC<{ badge: BadgeInfo }> = forwardRef(({ badge, children }, ref) => (\n\t<Container width={48} height={48} style={{ position: 'relative' }} ref={ref}>\n\t\t{badge.show && (\n\t\t\t<MiniBadge badge={badge} height=\"fit\" width=\"fit\">\n\t\t\t\t{badge.showCount ? (\n\t\t\t\t\t<Text size=\"extrasmall\" style={{ padding: '2px 4px', fontSize: '10px' }} color=\"gray6\">\n\t\t\t\t\t\t{badge.count ?? 0}\n\t\t\t\t\t</Text>\n\t\t\t\t) : null}\n\t\t\t</MiniBadge>\n\t\t)}\n\t\t{children}\n\t</Container>\n));\n\nexport default BadgeWrap;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useContext } from 'react';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tIconButton,\n\tText,\n\tRow,\n\tPadding,\n\tIcon,\n\tContainer,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\n\nconst TabContainer = styled(Row)`\n\tcursor: pointer;\n\theight: 28px;\n\twidth: fit-content;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }) =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tborder-radius: 2px;\n\tpadding: 2px 4px;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 1px;\n\theight: 100%;\n\tbackground: ${({ theme }) => theme.palette.gray3.regular};\n\tmargin: ${({ theme }) => theme.sizes.padding.extrasmall};\n`;\n\nexport default function AppBoardTab({ idx, icon, iconSize }) {\n\tconst { boards, currentBoard } = useContext(BoardValueContext);\n\tconst { removeBoard, setCurrentBoard } = useContext(BoardSetterContext);\n\tconst [t] = useTranslation();\n\tconst onClick = useCallback(() => setCurrentBoard(idx), [idx, setCurrentBoard]);\n\tconst onRemove = useCallback(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tremoveBoard(idx);\n\t\t},\n\t\t[idx, removeBoard]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"row\" width=\"fit\" maxWidth=\"100%\">\n\t\t\t{currentBoard !== idx ? <VerticalDivider /> : null}\n\t\t\t<TabContainer active={currentBoard === idx} padding={{ all: 'extrasmall' }}>\n\t\t\t\t<Row\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\ttakeAvailableSpace\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\twrap=\"nowrap\"\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={icon} size={iconSize} />\n\t\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t\t<Tooltip label={boards[idx].title} placement=\"top\" maxWidth=\"700px\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\t\tcolor={currentBoard === idx ? 'text' : 'secondary'}\n\t\t\t\t\t\t\tpadding={{ right: 'small' }}\n\t\t\t\t\t\t\toverflow=\"ellipsis\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{boards[idx].title}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</Row>\n\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t<Tooltip label={t('board.close_tab', 'Close Tab')} placement=\"top\">\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticonColor=\"secondary\"\n\t\t\t\t\t\ticon=\"Close\"\n\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\tstyle={{ padding: '2px', width: '24px', height: '24px' }}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t</TabContainer>\n\t\t</Container>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useContext, useRef, useMemo, useLayoutEffect } from 'react';\nimport styled, { css } from 'styled-components';\nimport { reduce, map, slice } from 'lodash';\nimport {\n\tContainer,\n\tDivider,\n\tIconButton,\n\tRow,\n\tPadding,\n\tDropdown,\n\tButton,\n\tuseHiddenCount,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport AppBoardTab from './app-board-tab';\nimport AppBoard from './app-board';\nimport { BoardSetterContext, BoardValueContext } from './board-context';\nimport { useApps } from '../../store/app';\n\nfunction TabsList({ tabs, currentBoard, setCurrentBoard, largeView, t }) {\n\tconst apps = useApps();\n\tconst tabContainerRef = useRef();\n\tconst [hiddenTabsCount, recalculateHiddenTabs] = useHiddenCount(tabContainerRef, largeView);\n\n\tuseLayoutEffect(() => {\n\t\trecalculateHiddenTabs();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [tabs, largeView, tabContainerRef.current]);\n\n\treturn (\n\t\t<Row wrap=\"nowrap\" height=\"100%\" mainAlignment=\"flex-start\" takeAvailableSpace>\n\t\t\t<Row\n\t\t\t\tref={tabContainerRef}\n\t\t\t\theight=\"48px\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\twidth=\"calc(100% - 8px)\"\n\t\t\t>\n\t\t\t\t{tabs &&\n\t\t\t\t\tmap(tabs, (tab) => (\n\t\t\t\t\t\t<AppBoardTab\n\t\t\t\t\t\t\tkey={tab.key}\n\t\t\t\t\t\t\tidx={tab.key}\n\t\t\t\t\t\t\ticon={apps?.[tab.app]?.icon ?? 'Edit2Outline'}\n\t\t\t\t\t\t\ticonSize=\"large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t</Row>\n\t\t\t{hiddenTabsCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Container width=\"fit\" padding={{ horizontal: 'extrasmall', vertical: 'extrasmall' }}>\n\t\t\t\t\t\t<Container width=\"1px\" heigth=\"fill\" background=\"gray3\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Tooltip label={t('board.show_tabs', 'Show other tabs')} placement=\"top\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\twidth=\"fit\"\n\t\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\t\titems={map(slice(tabs, -hiddenTabsCount), (tab) => ({\n\t\t\t\t\t\t\t\tid: tab.key,\n\t\t\t\t\t\t\t\tlabel: tab.title,\n\t\t\t\t\t\t\t\ticon: tab.icon,\n\t\t\t\t\t\t\t\tclick: () => setCurrentBoard(tab.key),\n\t\t\t\t\t\t\t\tselected: tab.key === currentBoard\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"ghost\"\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t\tlabel={`+${hiddenTabsCount}`}\n\t\t\t\t\t\t\t\tpadding={{ all: 'extrasmall' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Dropdown>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</Row>\n\t);\n}\n\nconst BoardContainer = styled.div`\n\tposition: fixed;\n\ttop: 60px;\n\tbottom: 0;\n\tleft: 48px;\n\tright: 0;\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: 10;\n\t${({ largeView }) =>\n\t\tlargeView &&\n\t\tcss`\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tpointer-events: auto;\n\t\t`}\n\t${({ minimized }) =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\nconst Board = styled(Container)`\n\tz-index: 5;\n\tposition: absolute;\n\tleft: 24px;\n\tbottom: 0;\n\twidth: 700px;\n\theight: 70vh;\n\tmin-height: 400px;\n\tbox-shadow: 0 2px 5px 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\t${({ largeView }) =>\n\t\tlargeView &&\n\t\tcss`\n\t\t\theight: calc(100% - 24px);\n\t\t\twidth: calc(100% - 24px * 2);\n\t\t\tmin-height: auto;\n\t\t`}\n`;\nconst BoardHeader = styled(Row)``;\nconst BoardDetailContainer = styled(Row)`\n\tmin-height: 0;\n`;\nconst BackButton = styled(IconButton)``;\nconst Actions = styled(Row)``;\n\nexport default function AppBoardWindow() {\n\tconst [t] = useTranslation();\n\tconst { boards: shellBoards, currentBoard, largeView, minimized } = useContext(BoardValueContext);\n\tconst { toggleLargeView, toggleMinimized, removeAllBoards, setCurrentBoard } =\n\t\tuseContext(BoardSetterContext);\n\n\tconst [tabs, boards] = useMemo(\n\t\t() =>\n\t\t\treduce(\n\t\t\t\tshellBoards,\n\t\t\t\t(acc, board, boardId) => {\n\t\t\t\t\tconst [_tabs, _boards] = acc;\n\t\t\t\t\t_tabs.push({ key: boardId, ...board });\n\t\t\t\t\t_boards.push(<AppBoard key={boardId} idx={boardId} />);\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[[], []]\n\t\t\t),\n\t\t[shellBoards]\n\t);\n\tif (!tabs.length) return null;\n\treturn (\n\t\t<BoardContainer largeView={largeView} minimized={minimized}>\n\t\t\t<Board background=\"gray6\" crossAlignment=\"unset\" largeView={largeView}>\n\t\t\t\t<BoardHeader background=\"gray5\">\n\t\t\t\t\t<Padding all=\"extrasmall\">\n\t\t\t\t\t\t<Tooltip label={t('board.hide', 'Hide board')} placement=\"top\">\n\t\t\t\t\t\t\t<BackButton icon=\"BoardCollapseOutline\" onClick={toggleMinimized} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<TabsList\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t\tlargeView={largeView}\n\t\t\t\t\t\tcurrentBoard={currentBoard}\n\t\t\t\t\t\tsetCurrentBoard={setCurrentBoard}\n\t\t\t\t\t\tt={t}\n\t\t\t\t\t/>\n\t\t\t\t\t<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t{boards[currentBoard]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\ticon={'DiagonalArrowRightUp'}\n\t\t\t\t\t\t\t\t\tonClick={boards[currentBoard]?.context?.onReturnToApp}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* <Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t<Tooltip label={t('board.open_app', 'Open in app')} placement=\"top\">\n\t\t\t\t\t\t\t\t<IconButton icon=\"DiagonalArrowRightUpOutline\" onClick={toggleLargeView} />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding> */}\n\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tlargeView\n\t\t\t\t\t\t\t\t\t\t? t('board.reduce', 'Reduce board')\n\t\t\t\t\t\t\t\t\t\t: t('board.enlarge', 'Enlarge board')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\ticon={largeView ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\tonClick={toggleLargeView}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Tooltip label={t('board.close_tabs', 'Close all your tabs')} placement=\"top\">\n\t\t\t\t\t\t\t<IconButton icon=\"CloseOutline\" onClick={removeAllBoards} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Actions>\n\t\t\t\t</BoardHeader>\n\t\t\t\t<Divider style={{ height: '2px' }} />\n\t\t\t\t<BoardDetailContainer takeAvailableSpace>{boards}</BoardDetailContainer>\n\t\t\t</Board>\n\t\t</BoardContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { Route, Router, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { map } from 'lodash';\nimport { createMemoryHistory } from 'history';\nimport AppContextProvider from '../../boot/app/app-context-provider';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\nimport { useAppStore } from '../../store/app';\n\nconst BoardContainer = styled.div`\n\tdisplay: ${(props) => (props.show ? 'block' : 'none')};\n\theight: 100%;\n\twidth: 100%;\n\toverflow-y: auto;\n`;\n\nexport default function AppBoard({ idx }) {\n\tconst { boards, currentBoard } = useContext(BoardValueContext);\n\tconst [history] = useState(() => createMemoryHistory({ initialEntries: [boards[idx].url] }));\n\tconst { updateBoard } = useContext(BoardSetterContext);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(boardViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[boardViews, windowHistory]\n\t);\n\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== boards[idx].url) {\n\t\t\t\tupdateBoard(idx, `${location.pathname}${location.search}${location.hash}`);\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tunlisten();\n\t\t};\n\t}, [boards, history, idx, updateBoard]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== boards[idx].url) {\n\t\t\thistory.push(boards[idx].url);\n\t\t}\n\t}, [idx, boards, history]);\n\n\treturn (\n\t\t<BoardContainer show={currentBoard === idx}>\n\t\t\t<Router history={history}>{routes}</Router>\n\t\t</BoardContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useReducer } from 'react';\nimport { pickBy, trim } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\nimport { useBridge } from '../../store/context-bridge';\n\nfunction getRandomKey() {\n\treturn String(Date.now() * (Math.floor(Math.random() * 1000) + 1));\n}\nconst reducer = (state, action) => {\n\tswitch (action.type) {\n\t\tcase 'ADD_BOARD': {\n\t\t\tconst returnValue = {\n\t\t\t\t...state,\n\t\t\t\tboards: {\n\t\t\t\t\t[action.payload.boardKey]: {\n\t\t\t\t\t\turl: action.payload.url,\n\t\t\t\t\t\ttitle: action.payload.title,\n\t\t\t\t\t\tcontext: action.payload.context,\n\t\t\t\t\t\tapp: action.payload.app\n\t\t\t\t\t},\n\t\t\t\t\t...state.boards\n\t\t\t\t},\n\t\t\t\tcurrentBoard: action.payload.boardKey,\n\t\t\t\tminimized: false\n\t\t\t};\n\t\t\treturn returnValue;\n\t\t}\n\t\tcase 'REMOVE_BOARD': {\n\t\t\tlet newCurrentBoard = state.currentBoard;\n\t\t\tconst boardKeys = Object.keys(state.boards);\n\t\t\tconst boardToRemove = (action.payload && action.payload.key) || state.currentBoard;\n\t\t\tif (state.currentBoard === boardToRemove) {\n\t\t\t\tconst removedBoardIndex = boardKeys.indexOf(boardToRemove);\n\t\t\t\tnewCurrentBoard = boardKeys[removedBoardIndex > 0 ? removedBoardIndex - 1 : 1];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: pickBy(state.boards, (board, key) => key !== boardToRemove),\n\t\t\t\tlargeView: boardKeys.length === 1 ? false : state.largeView,\n\t\t\t\tcurrentBoard: newCurrentBoard\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ALL_BOARDS': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: {},\n\t\t\t\tlargeView: false\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_BOARD': {\n\t\t\tif (!state.boards[action.payload.key]) return state;\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[action.payload.key].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[action.payload.key].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_CURRENT_BOARD': {\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[state.currentBoard].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[state.currentBoard].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'SET_CURRENT_BOARD': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcurrentBoard: action.payload.key\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_LARGE_VIEW': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlargeView: !state.largeView\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_MINIMIZED': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tminimized: !state.minimized\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tconsole.warn('Unrecognized action type in BoardContext');\n\t\t\treturn state;\n\t}\n};\n\nexport default function BoardContextProvider({ children }) {\n\tconst [t] = useTranslation();\n\tconst [boardState, dispatch] = useReducer(reducer, {\n\t\tboards: {},\n\t\tcurrentBoard: 0,\n\t\tlargeView: false,\n\t\tminimized: false\n\t});\n\n\tconst addBoard = useCallback(\n\t\t(url, context, app) => {\n\t\t\tconst boardKey = getRandomKey();\n\t\t\tdispatch({\n\t\t\t\ttype: 'ADD_BOARD',\n\t\t\t\tpayload: {\n\t\t\t\t\turl: `/${trim(url, '/')}`,\n\t\t\t\t\ttitle: context?.title ?? t('new_tab', 'New Tab'),\n\t\t\t\t\tcontext,\n\t\t\t\t\tboardKey,\n\t\t\t\t\tapp\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn boardKey;\n\t\t},\n\t\t[t]\n\t);\n\tconst removeBoard = useCallback((key) => {\n\t\tdispatch({ type: 'REMOVE_BOARD', payload: { key } });\n\t}, []);\n\tconst removeCurrentBoard = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_BOARD' });\n\t}, []);\n\tconst removeAllBoards = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_ALL_BOARDS' });\n\t}, []);\n\tconst updateBoard = useCallback((key, url, title) => {\n\t\tdispatch({ type: 'UPDATE_BOARD', payload: { key, url, title } });\n\t}, []);\n\tconst updateCurrentBoard = useCallback((url, title) => {\n\t\tdispatch({ type: 'UPDATE_CURRENT_BOARD', payload: { url, title } });\n\t}, []);\n\tconst setCurrentBoard = useCallback((key) => {\n\t\tdispatch({ type: 'SET_CURRENT_BOARD', payload: { key } });\n\t}, []);\n\tconst toggleLargeView = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_LARGE_VIEW' });\n\t}, []);\n\tconst toggleMinimized = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_MINIMIZED' });\n\t}, []);\n\n\tconst boardSetters = useMemo(\n\t\t() => ({\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tremoveAllBoards,\n\t\t\tupdateBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateCurrentBoard\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveAllBoards,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\n\tconst cbFunctions = useMemo(\n\t\t() => ({\n\t\t\tpackageDependentFunctions: {\n\t\t\t\taddBoard: (pkg) => (path, context) => {\n\t\t\t\t\taddBoard(path, context, context?.app ?? pkg);\n\t\t\t\t}\n\t\t\t},\n\t\t\tfunctions: {\n\t\t\t\tremoveBoard,\n\t\t\t\tremoveCurrentBoard,\n\t\t\t\tupdateBoard,\n\t\t\t\tsetCurrentBoard,\n\t\t\t\tupdateCurrentBoard,\n\t\t\t\ttoggleMinimizedBoard: toggleMinimized\n\t\t\t}\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\tuseBridge(cbFunctions);\n\n\treturn (\n\t\t<BoardValueContext.Provider value={boardState}>\n\t\t\t<BoardSetterContext.Provider value={boardSetters}>{children}</BoardSetterContext.Provider>\n\t\t</BoardValueContext.Provider>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst BoardValueContext = createContext({\n\tboards: {},\n\tcurrentBoard: 0,\n\tlargeView: false,\n\tminimized: false\n});\nconst BoardSetterContext = createContext({\n\taddBoard: (url, title, context) => undefined,\n\tremoveBoard: (key) => undefined,\n\tremoveCurrentBoard: () => undefined,\n\tremoveAllBoards: () => undefined,\n\tupdateBoard: (key, url, title) => undefined,\n\tsetCurrentBoard: (key) => undefined,\n\tupdateCurrentBoard: (url, title) => undefined,\n\ttoggleLargeView: () => undefined,\n\ttoggleMinimized: () => undefined\n});\n\nexport { BoardValueContext, BoardSetterContext };\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useContext, useCallback } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardSetterContext, BoardValueContext } from './board-context';\n\nexport const getUseAddBoardCallback =\n\t(appId: string) => (): ((path: string, context?: unknown | { app: string }) => void) => {\n\t\tconst { addBoard } = useContext(BoardSetterContext);\n\t\tconst callback = useCallback(\n\t\t\t(path: string, context?: unknown | { app?: string }) => {\n\t\t\t\taddBoard(path, context, (context as { app?: string })?.app ?? appId);\n\t\t\t},\n\t\t\t[addBoard]\n\t\t);\n\t\treturn callback;\n\t};\n\nexport function useUpdateCurrentBoard(): (url: string, title: string) => void {\n\tconst { updateCurrentBoard } = useContext(BoardSetterContext);\n\treturn updateCurrentBoard;\n}\n\nexport function useRemoveCurrentBoard(): () => void {\n\tconst { removeCurrentBoard } = useContext(BoardSetterContext);\n\treturn removeCurrentBoard;\n}\n\nexport function useBoardConfig(): unknown {\n\tconst context: any = useContext(BoardValueContext);\n\tif (context) {\n\t\treturn context.boards?.[context.currentBoard]?.context;\n\t}\n\treturn undefined;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { Icon } from '@zextras/carbonio-design-system';\n\nconst VerticalDivider = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\theight: 100%;\n\twidth: 1px;\n\tmax-width: 1px;\n\tmin-width: 1px;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background 0.2s;\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n`;\n\nconst Bubble = styled.div<{ open: boolean }>`\n\tcursor: pointer;\n\tz-index: 2;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: -12px;\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background-color 0.2s, transform 0.2s;\n\ttransform: scaleX(${({ open }): number => (open ? 1 : -1)});\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.active};\n\t}\n`;\n\nexport const Collapser: FunctionComponent<{ open: boolean; onClick: () => void }> = ({\n\topen,\n\tonClick\n}) => (\n\t<VerticalDivider>\n\t\t<Bubble onClick={onClick} open={open}>\n\t\t\t<Icon size=\"medium\" icon=\"ChevronLeft\" />\n\t\t</Bubble>\n\t</VerticalDivider>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { reduce, groupBy } from 'lodash';\nimport { MultiButton, Button, Dropdown } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from 'react-router-dom';\nimport { useActions } from '../store/integrations/hooks';\nimport { ACTION_TYPES } from '../constants';\nimport { Action, AppRoute } from '../../types';\nimport { useAppList } from '../store/app';\n\nconst useSecondaryActions = (\n\tactions: Array<Action>,\n\tactiveRoute?: AppRoute\n): Array<Action | { type: string; id: string }> => {\n\tconst apps = useAppList();\n\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t\t...reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app, i) => {\n\t\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[] as Array<Action | { type: string; id: string }>\n\t\t\t)\n\t\t],\n\t\t[activeRoute?.app, apps, byApp]\n\t);\n};\n\nexport const CreationButton: FC<{ activeRoute?: AppRoute }> = ({ activeRoute }) => {\n\tconst [t] = useTranslation();\n\tconst location = useLocation();\n\tconst actions = useActions({ activeRoute, location }, ACTION_TYPES.NEW);\n\tconst [open, setOpen] = useState(false);\n\tconst primaryAction = useMemo(\n\t\t() =>\n\t\t\tactions?.find?.(\n\t\t\t\t(a) => (a.group === activeRoute?.id || a.group === activeRoute?.app) && a.primary\n\t\t\t),\n\t\t[actions, activeRoute?.app, activeRoute?.id]\n\t);\n\tconst secondaryActions = useSecondaryActions(actions, activeRoute);\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\treturn primaryAction ? (\n\t\t<MultiButton\n\t\t\tstyle={{ height: '42px' }}\n\t\t\tbackground=\"primary\"\n\t\t\tlabel={primaryAction?.label ?? t('new', 'New')}\n\t\t\tonClick={primaryAction?.click}\n\t\t\titems={secondaryActions}\n\t\t\tdisabled={!primaryAction || primaryAction?.disabled}\n\t\t/>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tstyle={{ height: '42px' }}\n\t\t\t\tbackground=\"primary\"\n\t\t\t\titems={secondaryActions}\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { useContext, useState } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellContext from './shell-context';\n\nexport function useIsMobile(): boolean {\n\tconst { isMobile } = useContext(ShellContext);\n\treturn isMobile;\n}\n\nexport function useLocalStorage<T>(key: string, initialValue: T): any {\n\tconst [storedValue, setStoredValue] = useState<T>(() => {\n\t\ttry {\n\t\t\tconst item = window.localStorage.getItem(key);\n\t\t\treturn item ? JSON.parse(item) : initialValue;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\treturn initialValue;\n\t\t}\n\t});\n\tconst setValue = (value: T | ((val: T) => T)): any => {\n\t\ttry {\n\t\t\tconst valueToStore = value instanceof Function ? value(storedValue) : value;\n\t\t\tsetStoredValue(valueToStore);\n\t\t\tlocalStorage.setItem(key, JSON.stringify(valueToStore));\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\treturn [storedValue, setValue] as const;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo } from 'react';\nimport { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\nexport default function ShellContextProvider({ children }) {\n\tconst screenMode = useScreenMode();\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tisMobile: screenMode === 'mobile'\n\t\t}),\n\t\t[screenMode]\n\t);\n\n\treturn <ShellContext.Provider value={value}>{children}</ShellContext.Provider>;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst ShellContext = createContext({ isMobile: true });\n\nexport default ShellContext;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport {\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode,\n\tCatcher\n} from '@zextras/carbonio-design-system';\nimport Logo from '../svg/carbonio-beta.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\n\nconst ShellHeader: FC<{\n\tactiveRoute: AppRoute;\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ activeRoute, mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"60px\"\n\t\t\tminHeight=\"60px\"\n\t\t\tmaxHeight=\"60px\"\n\t\t\tmainAlignment=\"space-between\"\n\t\t\tpadding={{\n\t\t\t\thorizontal: screenMode === 'desktop' ? 'large' : 'extrasmall',\n\t\t\t\tvertical: 'small'\n\t\t\t}}\n\t\t>\n\t\t\t<Catcher>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"75%\"\n\t\t\t\t\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<IconButton icon={mobileNavIsOpen ? 'Close' : 'Menu'} onClick={onMobileMenuClick} />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Responsive>\n\t\t\t\t\t<Container width={320} height={32} crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Logo height=\"32px\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton activeRoute={activeRoute} />\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t\t\t{searchEnabled && (\n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tactiveRoute={activeRoute}\n\t\t\t\t\t\t\t\t// primaryAction={primaryAction}\n\t\t\t\t\t\t\t\t// secondaryActions={secondaryActions}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"25%\" mainAlignment=\"flex-end\">\n\t\t\t\t\t<Responsive mode=\"desktop\">{children}</Responsive>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\t\tpadding={{ right: 'extrasmall' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* <Dropdown items={secondaryActions} placement=\"bottom-start\">\n\t\t\t\t\t\t\t<IconButton icon=\"Plus\" />\n\t\t\t\t\t\t</Dropdown> */}\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t</Catcher>\n\t\t</Container>\n\t);\n};\nexport default ShellHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport { reduce, find } from 'lodash';\nimport { Accordion, Collapse, Container, Padding } from '@zextras/carbonio-design-system';\nimport { useHistory } from 'react-router-dom';\nimport { useAppStore } from '../store/app';\nimport AppContextProvider from '../boot/app/app-context-provider';\n\nconst SidebarComponent = ({ item }) =>\n\titem.secondary ? (\n\t\t<AppContextProvider pkg={item.id}>\n\t\t\t<item.secondary />\n\t\t</AppContextProvider>\n\t) : null;\n\nexport default function ShellMobileNav({ mobileNavIsOpen, menuTree }) {\n\tconst history = useHistory();\n\tconst views = useAppStore((s) =>\n\t\treduce(\n\t\t\ts.routes,\n\t\t\t(acc, val) => {\n\t\t\t\tconst primary = find(s.views.primaryBar, (item) => item.id === val.id);\n\t\t\t\tconst secondary = find(s.views.secondaryBar, (item) => item.id === val.id);\n\t\t\t\tif (primary && primary.visible) {\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\tid: `${val.app}-wrap`,\n\t\t\t\t\t\tlabel: primary.label,\n\t\t\t\t\t\ticon: typeof primary.component === 'string' ? primary.component : 'Cube',\n\t\t\t\t\t\tonClick: () => history.push(`/${val.route}`),\n\t\t\t\t\t\titems: secondary\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: secondary.id,\n\t\t\t\t\t\t\t\t\t\tlabel: secondary.id,\n\t\t\t\t\t\t\t\t\t\ticon: 'Cube',\n\t\t\t\t\t\t\t\t\t\tsecondary: secondary.component,\n\t\t\t\t\t\t\t\t\t\tCustomComponent: SidebarComponent\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"fill\"\n\t\t\twidth=\"fit\"\n\t\t\tbackground=\"gray5\"\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 3\n\t\t\t}}\n\t\t>\n\t\t\t<Collapse orientation=\"horizontal\" open={mobileNavIsOpen} crossSize=\"100%\">\n\t\t\t\t<Container\n\t\t\t\t\twidth={256 + 48 + 12}\n\t\t\t\t\theight=\"fill\"\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Accordion items={views} />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Accordion items={menuTree} />\n\t\t\t\t\t\t<Padding vertical=\"medium\">{/* <UserQuota mobileView={true}/> */}</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t</Container>\n\t\t\t</Collapse>\n\t\t</Container>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport { Container, Responsive } from '@zextras/carbonio-design-system';\nimport ShellPrimaryBar from './shell-primary-bar';\nimport ShellSecondaryBar from './shell-secondary-bar';\nimport ShellMobileNav from './shell-mobile-nav';\n\nexport default function ShellNavigationBar({ mobileNavIsOpen, activeRoute }) {\n\treturn (\n\t\t<Container\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray5\"\n\t\t\twidth=\"fit\"\n\t\t\theight=\"fill\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t>\n\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t<ShellPrimaryBar activeRoute={activeRoute} />\n\t\t\t\t<ShellSecondaryBar activeRoute={activeRoute} />\n\t\t\t</Responsive>\n\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} activeRoute={activeRoute} />\n\t\t\t</Responsive>\n\t\t</Container>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tIconButton,\n\tRow,\n\tTooltip,\n\tText,\n\tPadding,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy } from 'lodash';\nimport React, { useContext, FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\n// TODO: convert boards management to ts (and maybe a zustand store)\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardValueContext, BoardSetterContext } from './boards/board-context';\nimport { useAppStore } from '../store/app';\nimport { AppRoute, PrimaryAccessoryView, PrimaryBarView } from '../../types';\nimport BadgeWrap from './badge-wrap';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { checkRoute } from '../utility-bar/utils';\n\nconst PrimaryContainer = styled(Container)<{ active: boolean }>`\n\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].regular};\n\tcursor: pointer;\n\ttransition: background 0.2s ease-out;\n\t&:hover {\n\t\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].hover};\n\t}\n\t&:focus {\n\t\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].focus};\n\t}\n`;\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 1px solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { boards, minimized } = useContext(BoardValueContext);\n\tconst { toggleMinimized } = useContext(BoardSetterContext);\n\n\tif (isEmpty(boards)) return null;\n\treturn (\n\t\t<IconButton\n\t\t\ticonColor=\"primary\"\n\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\tonClick={toggleMinimized}\n\t\t\tsize=\"large\"\n\t\t/>\n\t);\n};\n\ntype PrimaryBarItemProps = {\n\tview: PrimaryBarView;\n\tactive: boolean;\n\tonClick: () => void;\n};\n\ntype PrimaryBarAccessoryItemProps = {\n\tview: PrimaryAccessoryView;\n};\n\nconst PrimaryBarElement: FC<PrimaryBarItemProps> = ({ view, active, onClick }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<BadgeWrap badge={view.badge}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor={active ? 'gray4' : 'gray6'}\n\t\t\t\t\ticonColor={active ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component active={active} />\n\t\t\t)}\n\t\t</BadgeWrap>\n\t</Tooltip>\n);\n\nconst PrimaryBarAccessoryElement: FC<PrimaryBarAccessoryItemProps> = ({ view }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor=\"gray6\"\n\t\t\t\t\ticonColor=\"text\"\n\t\t\t\t\tonClick={view.onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component />\n\t\t\t)}\n\t\t</AppContextProvider>\n\t</Tooltip>\n);\n\nconst ShellPrimaryBar: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\n\tconst [routes, setRoutes] = useState<Record<string, string>>({});\n\tconst history = useHistory();\n\n\tuseEffect(() => {\n\t\tsetRoutes((r) =>\n\t\t\tprimaryBarViews.reduce((acc, v) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tif (!acc[v.id]) acc[v.id] = v.route;\n\t\t\t\treturn acc;\n\t\t\t}, r)\n\t\t);\n\t}, [primaryBarViews]);\n\tuseEffect(() => {\n\t\tif (activeRoute) {\n\t\t\tsetRoutes((r) => ({ ...r, [activeRoute.id]: trim(history.location.pathname, '/') }));\n\t\t}\n\t}, [activeRoute, history.location.pathname, primaryBarViews]);\n\tconst primaryBarAccessoryViews = useAppStore((s) => s.views.primaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(primaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, primaryBarAccessoryViews]\n\t);\n\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth={49}\n\t\t\theight=\"fill\"\n\t\t\tbackground=\"gray6\"\n\t\t\torientation=\"vertical\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\ttakeAvailableSpace\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{map(primaryBarViews, (view) =>\n\t\t\t\t\tview.visible ? (\n\t\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${routes[view.id]}`)}\n\t\t\t\t\t\t\tview={view}\n\t\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{accessories.map((v) => (\n\t\t\t\t\t<PrimaryBarAccessoryElement view={v} key={v.id} />\n\t\t\t\t))}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</Row>\n\t\t</ContainerWithDivider>\n\t);\n};\n\nexport default ShellPrimaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport styled from 'styled-components';\nimport { Route, Switch } from 'react-router-dom';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { Collapser } from './collapser';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\n\nconst SidebarContainer = styled(Container)`\n\tmin-width: 48px;\n\tmax-width: 314px;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 314 : 48)}px;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\ntype SecondaryBarProps = {\n\tactiveRoute: AppRoute;\n};\n\nconst ShellSecondaryBar: FC<SecondaryBarProps> = ({ activeRoute }) => {\n\tconst isOpen = useUtilityBarStore((s) => s.secondaryBarState);\n\tconst setIsOpen = useUtilityBarStore((s) => s.setSecondaryBarState);\n\tconst onCollapserClick = useCallback(() => setIsOpen(!isOpen), [isOpen, setIsOpen]);\n\tconst secondaryBarViews = useAppStore((s) => s.views.secondaryBar);\n\tconst secondaryBarAccessoryViews = useAppStore((s) => s.views.secondaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(secondaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, secondaryBarAccessoryViews]\n\t);\n\tconst disabled = useMemo(\n\t\t() => findIndex(secondaryBarViews, (view) => view.id === activeRoute?.id) < 0,\n\t\t[activeRoute?.id, secondaryBarViews]\n\t);\n\treturn disabled ? null : (\n\t\t<>\n\t\t\t<SidebarContainer\n\t\t\t\tsidebarIsOpen={isOpen}\n\t\t\t\trole=\"menu\"\n\t\t\t\theight=\"fill\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tonClick={isOpen ? undefined : onCollapserClick}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t\t<Switch>\n\t\t\t\t\t\t{map(secondaryBarViews, (view) => (\n\t\t\t\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Switch>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"flex-end\" height=\"fit\">\n\t\t\t\t\t{accessories.map((view) => (\n\t\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t</SidebarContainer>\n\t\t\t<Collapser onClick={onCollapserClick} open={isOpen} />\n\t\t</>\n\t);\n};\n\nexport default ShellSecondaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState, useContext } from 'react';\nimport { Row, Responsive, ModalManager, SnackbarManager } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { find } from 'lodash';\nimport AppViewContainer from './app-view-container';\nimport ShellContextProvider from './shell-context-provider';\nimport ShellHeader from './shell-header';\nimport ShellNavigationBar from './shell-navigation-bar';\nimport AppBoardWindow from './boards/app-board-window';\nimport { ThemeCallbacksContext } from '../boot/theme-provider';\nimport { useUserSettings } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useTagStore } from '../store/tags/store';\nimport { createTag } from '../network/tags';\n\nconst Background = styled.div`\n\tbackground: ${({ theme }) => theme.palette.gray6.regular};\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tmin-height: 100%;\n\tmax-height: 100%;\n\twidth: 100%;\n\tmin-width: 100%;\n\tmax-width: 100%;\n`;\n\nfunction DarkReaderListener() {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst settings = useUserSettings();\n\tuseEffect(() => {\n\t\tconst darkreaderState =\n\t\t\tfind(settings?.props ?? [], ['name', 'zappDarkreaderMode'])?._content ?? 'auto';\n\t\tsetDarkReaderState(darkreaderState);\n\t}, [setDarkReaderState, settings]);\n\treturn null;\n}\n\nexport function Shell() {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tconst activeRoute = useCurrentRoute();\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t<ShellHeader\n\t\t\t\tactiveRoute={activeRoute}\n\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\tonMobileMenuClick={() => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t>\n\t\t\t\t<ShellUtilityBar />\n\t\t\t</ShellHeader>\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar activeRoute={activeRoute} mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer activeRoute={activeRoute} />\n\t\t\t\t<ShellUtilityPanel />\n\t\t\t</Row>\n\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t<AppBoardWindow />\n\t\t\t</Responsive>\n\t\t</Background>\n\t);\n}\n\nexport default function ShellView() {\n\treturn (\n\t\t<ShellContextProvider>\n\t\t\t<ModalManager>\n\t\t\t\t<SnackbarManager>\n\t\t\t\t\t<Shell />\n\t\t\t\t</SnackbarManager>\n\t\t\t</ModalManager>\n\t\t</ShellContextProvider>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, get, join } from 'lodash';\nimport { useMemo } from 'react';\nimport {\n\tAccount,\n\tAccountRightName,\n\tAccountRights,\n\tAccountRightTarget,\n\tAccountSettings\n} from '../../../types';\nimport { useAccountStore } from './store';\n\nexport const useUserAccount = (): Account => useAccountStore((s) => s.account as Account);\nexport const useUserAccounts = (): Array<Account> => {\n\tconst acct = useAccountStore((s) => s.account);\n\treturn useMemo(() => (acct ? [acct as Account] : []), [acct]);\n};\n\nexport const useUserRights = (): AccountRights =>\n\tuseAccountStore((s) => s.account?.rights ?? { targets: [] });\n\nexport const useUserRight = (right: AccountRightName): Array<AccountRightTarget> => {\n\tconst { targets } = useUserRights();\n\treturn useMemo(\n\t\t() => find(targets, ['right', right])?.target ?? ([] as Array<AccountRightTarget>),\n\t\t[right, targets]\n\t);\n};\nexport const useUserSettings = (): AccountSettings => useAccountStore((s) => s.settings);\nexport const useUserSetting = <T = void>(...path: Array<string>): string | T =>\n\tuseAccountStore((s) => get(s.settings, join(path, '.')));\n\nexport const getUserAccount = (): Account => useAccountStore.getState().account as Account;\nexport const getUserAccounts = (): Array<Account> => [\n\tuseAccountStore.getState().account as Account\n];\nexport const getUserSettings = (): AccountSettings => useAccountStore.getState().settings;\nexport const getUserSetting = <T = void>(...path: Array<string>): string | T =>\n\tget(useAccountStore.getState().settings, join(path, '.'));\n\nexport const getUserRights = (): AccountRights =>\n\tuseAccountStore.getState().account?.rights ?? { targets: [] };\n\nexport const getUserRight = (right: AccountRightName): Array<AccountRightTarget> =>\n\tfind(getUserRights().targets, ['right', right])?.target ?? ([] as Array<AccountRightTarget>);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { GetInfoResponse, Account, AccountSettings } from '../../../types';\n\nconst normalizeSettings = (\n\tsettings: Pick<GetInfoResponse, 'attrs' | 'prefs' | 'props'>\n): AccountSettings => ({\n\tattrs: settings.attrs._attrs,\n\tprefs: settings.prefs._attrs,\n\tprops: settings.props.prop ?? []\n});\n\nexport const normalizeAccount = ({\n\tid,\n\tname,\n\tattrs,\n\tprefs,\n\tidentities,\n\tsignatures,\n\tprops,\n\tversion,\n\trights\n}: GetInfoResponse): {\n\taccount: Account;\n\tsettings: AccountSettings;\n\tversion: string;\n} => {\n\tconst settings = normalizeSettings({ attrs, prefs, props });\n\treturn {\n\t\taccount: {\n\t\t\tid,\n\t\t\tname,\n\t\t\tdisplayName: attrs._attrs.displayName,\n\t\t\tidentities,\n\t\t\tsignatures,\n\t\t\trights\n\t\t},\n\t\tsettings,\n\t\tversion\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { AccountState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useAccountStore = create<AccountState>(() => ({\n\taccount: undefined,\n\tversion: '',\n\tsettings: {\n\t\tprefs: {},\n\t\tattrs: {},\n\t\tprops: []\n\t},\n\tusedQuota: 0,\n\tlastNotificationTime: Date.now()\n})) as UseBoundStore<AccountState, StoreApi<AccountState>>;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { sortBy } from 'lodash';\nimport { useMemo } from 'react';\nimport { useAppStore } from './store';\nimport { AppRoute, CarbonioModule } from '../../../types';\n\nexport const useApp = (appId: string) => (): CarbonioModule => useAppStore((s) => s.apps[appId]);\nexport const useApps = (): Record<string, CarbonioModule> => useAppStore((s) => s.apps);\nexport const useAppList = (): Array<CarbonioModule> => {\n\tconst apps = useApps();\n\treturn useMemo(() => sortBy(apps, (a) => a.priority), [apps]);\n};\nexport const getAppList = (): Array<CarbonioModule> =>\n\tsortBy(useAppStore.getState().apps, (a) => a.priority);\n\nexport const getApp = (appId: string) => (): CarbonioModule => useAppStore.getState().apps[appId];\nexport const getApps = (): Record<string, CarbonioModule> => useAppStore.getState().apps;\n\nexport const useAppContext = (appId: string) => (): unknown =>\n\tuseAppStore((s) => s.appContexts[appId]);\nexport const getAppContext = (appId: string) => (): unknown =>\n\tuseAppStore.getState().appContexts[appId];\nexport const getShell = (): CarbonioModule => useAppStore.getState().shell;\nexport const getRoutes = (): Record<string, AppRoute> => useAppStore.getState().routes;\nexport const useRoutes = (): Record<string, AppRoute> => useAppStore((s) => s.routes);\nexport const getRoute = (id: string): AppRoute => useAppStore.getState().routes[id];\nexport const useRoute = (id: string): AppRoute => useAppStore((s) => s.routes[id]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\nexport * from './utils';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { filter, find, findIndex, merge, omit, reduce, sortBy, unionBy, unionWith } from 'lodash';\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport {\n\tAppRouteDescriptor,\n\tAppState,\n\tAppView,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tPrimaryBarView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSecondaryBarView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { normalizeApp } from './utils';\n\nconst filterById = <T extends { id: string }>(items: Array<T>, id: string): Array<T> =>\n\tfilter(items, (item) => item.id !== id);\n\nexport const useAppStore = create<AppState>((set) => ({\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: 'carbonio-shell-ui',\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t},\n\tentryPoints: {},\n\troutes: {},\n\tviews: {\n\t\tprimaryBar: [],\n\t\tsecondaryBar: [],\n\t\tappView: [],\n\t\tboard: [],\n\t\tutilityBar: [],\n\t\tsettings: [],\n\t\tsearch: [],\n\t\tprimaryBarAccessories: [],\n\t\tsecondaryBarAccessories: []\n\t},\n\tsetters: {\n\t\taddApps: (apps: Array<Partial<CarbonioModule>>): void => {\n\t\t\tset((state) => ({\n\t\t\t\tapps: reduce(\n\t\t\t\t\tapps,\n\t\t\t\t\t(acc, app) =>\n\t\t\t\t\t\tapp.name && app.name !== SHELL_APP_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[app.name]: normalizeApp(app)\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: acc,\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t\tshell: {\n\t\t\t\t\t...state.shell,\n\t\t\t\t\t...(find(apps, (app) => app.name === SHELL_APP_ID) ?? {})\n\t\t\t\t},\n\t\t\t\tappContexts: reduce(apps, (acc, val) => (val.name ? { ...acc, [val.name]: {} } : acc), {})\n\t\t\t}));\n\t\t},\n\t\tsetAppContext:\n\t\t\t(app: string) =>\n\t\t\t(context: unknown): void => {\n\t\t\t\tset(\n\t\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\t\tstate.appContexts[app] = merge(state.appContexts[app], context);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t},\n\t\t// add route (id route primaryBar secondaryBar app)\n\t\taddRoute: (routeData: AppRouteDescriptor): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes[routeData.id] = routeData;\n\t\t\t\t\tif (routeData.primaryBar) {\n\t\t\t\t\t\tstate.views.primaryBar = sortBy(\n\t\t\t\t\t\t\tunionWith<PrimaryBarView>(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\t\tcomponent: routeData.primaryBar,\n\t\t\t\t\t\t\t\t\t\tbadge: routeData.badge,\n\t\t\t\t\t\t\t\t\t\tposition: routeData.position,\n\t\t\t\t\t\t\t\t\t\tvisible: routeData.visible,\n\t\t\t\t\t\t\t\t\t\tlabel: routeData.label\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstate.views.primaryBar,\n\t\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'position'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.secondaryBar) {\n\t\t\t\t\t\tstate.views.secondaryBar = unionWith<SecondaryBarView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.secondaryBar\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.secondaryBar,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.appView) {\n\t\t\t\t\t\tstate.views.appView = unionWith<AppView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.appView\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.appView,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn routeData.id;\n\t\t},\n\t\tsetRouteVisibility: (id: string, visible: boolean): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (view) => view.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].visible = visible;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// remove route (id | route)\n\t\tremoveRoute: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes = omit(state.routes, [id]);\n\t\t\t\t\tstate.views.primaryBar = filterById(state.views.primaryBar, id);\n\t\t\t\t\tstate.views.secondaryBar = filterById(state.views.secondaryBar, id);\n\t\t\t\t\tstate.views.appView = filterById(state.views.appView, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t// add board\n\t\taddBoardView: (data: BoardView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = unionBy([data], state.views.board, 'id');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove board\n\t\tremoveBoardView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = filterById(state.views.board, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// add settings\n\t\taddSettingsView: (data: SettingsView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = sortBy(unionBy([data], state.views.settings, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove settings\n\t\tremoveSettingsView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = filterById(state.views.settings, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: SearchView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = sortBy(unionBy([data], state.views.search, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove search\n\t\tremoveSearchView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = filterById(state.views.search, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: UtilityView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = sortBy(\n\t\t\t\t\t\tunionBy([data], state.views.utilityBar, 'id'),\n\t\t\t\t\t\t'position'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove utility\n\t\tremoveUtilityView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = filterById(state.views.utilityBar, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: PrimaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.primaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = filterById(state.views.primaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: SecondaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.secondaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = filterById(state.views.secondaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.primaryBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.utilityBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.utilityBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.utilityBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n})) as UseBoundStore<AppState, StoreApi<AppState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { trim } from 'lodash';\nimport React, { FC } from 'react';\nimport {\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\n\nexport const normalizeApp = (app: Partial<CarbonioModule>): CarbonioModule => ({\n\tcommit: app.commit ?? '',\n\tdescription: app.description ?? 'A carbonio Module',\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: app.js_entrypoint ?? '',\n\tname: app.name ?? 'module',\n\tpriority: app.priority ?? 99,\n\tversion: app.version ?? '',\n\ttype: app.type ?? 'carbonio',\n\tattrKey: app.attrKey,\n\ticon: app.icon ?? 'Cube',\n\tdisplay: app.display ?? 'Module',\n\tsentryDsn: app.sentryDsn\n});\n\nconst FallbackView: FC = () => <p>Missing Component</p>;\n\nexport const normalizeBadgeInfo = (badge: Partial<BadgeInfo>): BadgeInfo => ({\n\tshow: badge.show ?? false,\n\tcount: badge.count ?? 0,\n\tshowCount: badge.showCount ?? false,\n\tcolor: badge.color ?? 'primary'\n});\n\nexport const normalizeRoute = (\n\tdata: Partial<AppRouteDescriptor>,\n\tapp: CarbonioModule\n): AppRouteDescriptor => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data.id ?? route,\n\t\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\t\tposition: data?.position ?? app.priority,\n\t\tvisible: data?.visible ?? true,\n\t\tlabel: data?.label ?? '',\n\t\tprimaryBar: data.primaryBar ?? app.icon ?? 'CubeOutline',\n\t\tsecondaryBar: data.secondaryBar,\n\t\tappView: data.appView ?? FallbackView\n\t};\n};\n\nexport const normalizeSettingsView = (\n\tdata: Partial<SettingsView>,\n\tapp: CarbonioModule\n): SettingsView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99,\n\t\tsubSections: data.subSections ?? []\n\t};\n};\nexport const normalizeSearchView = (data: Partial<SearchView>, app: CarbonioModule): SearchView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99\n\t};\n};\nexport const normalizeUtilityView = (\n\tdata: Partial<UtilityView>,\n\tapp: CarbonioModule\n): UtilityView => ({\n\tapp: app.name,\n\tid: data?.id ?? app.name,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tcomponent: data?.component ?? FallbackView,\n\tbutton: data?.button ?? 'Cube',\n\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\tposition: data?.position ?? app.priority,\n\tlabel: data?.label ?? app.display\n});\nexport const normalizePrimaryAccessoryView = (\n\tdata: Partial<PrimaryAccessoryView>,\n\tapp: CarbonioModule\n): PrimaryAccessoryView => ({\n\tapp: app.name,\n\tonClick: data?.onClick,\n\tlabel: data?.label ?? app.display,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\nexport const normalizeSecondaryAccessoryView = (\n\tdata: Partial<SecondaryAccessoryView>,\n\tapp: CarbonioModule\n): SecondaryAccessoryView => ({\n\tapp: app.name,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\n\nexport const normalizeBoardView = (data: Partial<BoardView>, app: CarbonioModule): BoardView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport create, { UseBoundStore, StoreApi } from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport { ContextBridgeState } from '../../types';\n\nexport const useContextBridge = create<ContextBridgeState>((set) => ({\n\tpackageDependentFunctions: {},\n\tfunctions: {},\n\tadd: ({ packageDependentFunctions, functions }): void => {\n\t\tset((s) => ({\n\t\t\tpackageDependentFunctions: reduce(\n\t\t\t\tpackageDependentFunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.packageDependentFunctions\n\t\t\t),\n\t\t\tfunctions: reduce(\n\t\t\t\tfunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.functions\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ContextBridgeState, StoreApi<ContextBridgeState>>;\n\nexport const useBridge = (content: Partial<Omit<ContextBridgeState, 'add'>>): void => {\n\tconst addFunctions = useContextBridge(({ add }) => add);\n\tuseEffect(() => {\n\t\taddFunctions(content);\n\t}, [content, addFunctions]);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useCallback, useEffect, useState } from 'react';\nimport { Container } from '@zextras/carbonio-design-system';\n// TinyMCE so the global var exists\n// eslint-disable-next-line no-unused-vars\nimport tinymce from 'tinymce/tinymce';\n// this 'expression' prevents webpack from stripping it, maybe there's a better way\ntinymce;\n\n// Theme\nimport 'tinymce/themes/silver';\n// Toolbar icons\nimport 'tinymce/icons/default';\n// Editor styles\nimport 'tinymce/skins/ui/oxide/skin.min.css';\n\n// importing the plugin js.\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/autoresize';\n\nimport { Editor } from '@tinymce/tinymce-react';\n\ntype ComposerProps = {\n\t/** The callback invoked when an edit is performed into the editor. `([text, html]) => {}` */\n\tonEditorChange?: (values: [string, string]) => void;\n\t/** Enable the distraction-free mode */\n\tinline?: boolean;\n\t/** The initial content of the editor */\n\tinitialValue?: string;\n\t/** The content of the editor (controlled mode) */\n\tvalue?: string;\n\t/** The base url to append to the resource urls */\n\tbaseAssetsUrl?: string;\n};\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tinline = false,\n\tvalue,\n\tbaseAssetsUrl,\n\tinitialValue,\n\t...rest\n}) => {\n\tconst [content, setContent] = useState(initialValue);\n\n\tconst _onEditorChange = useCallback(\n\t\t(newContent, editor) => {\n\t\t\tsetContent(newContent);\n\t\t\tonEditorChange?.([\n\t\t\t\teditor.getContent({ format: 'text' }),\n\t\t\t\teditor.getContent({ format: 'html' })\n\t\t\t]);\n\t\t},\n\t\t[setContent, onEditorChange]\n\t);\n\n\tuseEffect(() => setContent(value), [value]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start \"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<Editor\n\t\t\t\tvalue={content}\n\t\t\t\tinit={{\n\t\t\t\t\tskin_url: `${baseAssetsUrl}/tinymce/skins/ui/oxide`,\n\t\t\t\t\tcontent_css: `${baseAssetsUrl}/tinymce/skins/content/default/content.css`,\n\t\t\t\t\tmin_height: 350,\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tstatusbar: false,\n\t\t\t\t\tbranding: false,\n\t\t\t\t\tresize: true,\n\t\t\t\t\tinline,\n\t\t\t\t\tplugins: [\n\t\t\t\t\t\t'advlist',\n\t\t\t\t\t\t'autolink',\n\t\t\t\t\t\t'lists',\n\t\t\t\t\t\t'link',\n\t\t\t\t\t\t'image',\n\t\t\t\t\t\t'charmap',\n\t\t\t\t\t\t'print',\n\t\t\t\t\t\t'preview',\n\t\t\t\t\t\t'anchor',\n\t\t\t\t\t\t'searchreplace',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'fullscreen',\n\t\t\t\t\t\t'insertdatetime',\n\t\t\t\t\t\t'media',\n\t\t\t\t\t\t'table',\n\t\t\t\t\t\t'paste',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'help',\n\t\t\t\t\t\t'quickbars',\n\t\t\t\t\t\t'directionality',\n\t\t\t\t\t\t'autoresize'\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar: inline\n\t\t\t\t\t\t? false\n\t\t\t\t\t\t: // eslint-disable-next-line max-len\n\t\t\t\t\t\t 'fontselect fontsizeselect formatselect | bold italic underline strikethrough | removeformat code | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent | ltr rtl',\n\t\t\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t\t\t: 'quicklink',\n\t\t\t\t\tcontextmenu: inline ? '' : '',\n\t\t\t\t\ttoolbar_mode: 'wrap'\n\t\t\t\t}}\n\t\t\t\tonEditorChange={_onEditorChange}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</Container>\n\t);\n};\n\nexport default Composer;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { FC, FunctionComponent } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().hooks?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().functions?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const getIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore.getState().components?.[id];\n\tif (Integration) {\n\t\tconst C: FC = (props: unknown) => (\n\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t<Integration.item {...props} />\n\t\t\t</AppContextProvider>\n\t\t);\n\t\treturn [C, true];\n\t}\n\treturn [(): null => null, false];\n};\n\nexport const getActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn compact(\n\t\tmap(factories, (f) => {\n\t\t\ttry {\n\t\t\t\tconst action = f(target);\n\t\t\t\treturn action;\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(e);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const getActionsFactory = (type: string): (<T>(target: T) => Array<Action>) => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn <T,>(target: T): Array<Action> =>\n\t\tcompact(\n\t\t\tmap(factories, (f) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst action = f(target);\n\t\t\t\t\treturn action;\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n};\n\nexport const getAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\tconst action = factory?.(target);\n\treturn [action, !!action];\n};\n\nexport const getActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { useMemo, FC, FunctionComponent, useCallback } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory, CombinedActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.hooks?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.functions?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const useIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore((s) => s.components?.[id]);\n\treturn useMemo(() => {\n\t\tif (Integration) {\n\t\t\tconst C: FC = (props: unknown) => (\n\t\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t\t<Integration.item {...props} />\n\t\t\t\t</AppContextProvider>\n\t\t\t);\n\t\t\treturn [C, true];\n\t\t}\n\t\treturn [(): null => null, false];\n\t}, [Integration]);\n};\n\nexport const useActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t) ?? [],\n\t\t[factories, target]\n\t);\n\treturn actions;\n};\n\nexport const useActionsFactory = <T,>(type: string): CombinedActionFactory<T> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst combinedFactory = useCallback(\n\t\t(target: unknown) =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[factories]\n\t);\n\treturn combinedFactory;\n};\n\nexport const useAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\tconst action = useMemo(() => {\n\t\ttry {\n\t\t\treturn factory?.(target);\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}, [factory, target]);\n\treturn [action, !!action];\n};\n\nexport const useActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport create from 'zustand';\nimport { forEach, omit, reduce } from 'lodash';\nimport { ComponentType } from 'react';\nimport { ActionFactory, AnyFunction, IntegrationsState, SHELL_APP_ID } from '../../../types';\nimport Composer from './composer';\n\nexport const useIntegrationsStore = create<IntegrationsState>((set) => ({\n\tactions: {},\n\tcomponents: {\n\t\tcomposer: {\n\t\t\titem: Composer,\n\t\t\tapp: SHELL_APP_ID\n\t\t}\n\t},\n\thooks: {},\n\tfunctions: {},\n\tregisterActions: <T>(\n\t\t...items: Array<{ id: string; action: ActionFactory<T>; type: string }>\n\t): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, action, type }) => {\n\t\t\t\t\tif (!state.actions[type]) state.actions[type] = {};\n\t\t\t\t\tstate.actions[type][id] = action;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterComponents:\n\t\t(app: string) =>\n\t\t(...items: Array<{ id: string; component: ComponentType }>): void =>\n\t\t\tset(\n\t\t\t\tproduce((state) => {\n\t\t\t\t\tforEach(items, ({ id, component }) => {\n\t\t\t\t\t\tstate.components[id] = { app, item: component };\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\tregisterHooks: (...items: Array<{ id: string; hook: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, hook }) => {\n\t\t\t\t\tstate.hooks[id] = hook;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, fn }) => {\n\t\t\t\t\tstate.functions[id] = fn;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveActions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: reduce(\n\t\t\t\ts.actions,\n\t\t\t\t(acc, actions, type) => ({ ...acc, [type]: omit(actions, ids) }),\n\t\t\t\t{}\n\t\t\t)\n\t\t})),\n\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.components, ids)\n\t\t})),\n\tremoveHooks: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.hooks, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../../../types';\nimport { useNetworkStore } from './store';\n\nexport const useNotify = (): SoapNotify[] => {\n\tconst notify = useNetworkStore((s) => s.notify ?? []);\n\treturn notify;\n};\nexport const useRefresh = (): SoapRefresh => useNetworkStore((s) => s.refresh ?? {});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { NetworkState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useNetworkStore = create<NetworkState>(() => ({\n\tnoOpTimeout: undefined,\n\tpollingInterval: 30000,\n\tseq: 0\n})) as UseBoundStore<NetworkState, StoreApi<NetworkState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forEach } from 'lodash';\nimport { SoapContext } from '../../../types';\n\n// import { map, maxBy } from 'lodash';\n// import { SoapContext } from '../../../types';\n// import { getSoapFetch } from '../../network/fetch';\n// import { useNetworkStore } from './store';\n\nimport { tagWorker } from '../../workers';\nimport { useTagStore } from '../tags';\nimport { useNetworkStore } from './store';\n\nexport const handleSync = ({ refresh, notify }: SoapContext): Promise<void> =>\n\tnew Promise((r) => {\n\t\tconst { seq } = useNetworkStore.getState();\n\t\tif (refresh) {\n\t\t\ttagWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\ttags: refresh.tags?.tag ?? []\n\t\t\t});\n\t\t}\n\t\tif (notify?.length) {\n\t\t\tforEach(notify, (item) => {\n\t\t\t\tif (item.seq > seq) {\n\t\t\t\t\ttagWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useTagStore.getState().tags\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tr();\n\t});\n// export const noOp = (): void => {\n// \t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n// \tgetSoapFetch(SHELL_APP_ID)(\n// \t\t'NoOp',\n// \t\tuseNetworkStore.getState().pollingInterval === 500\n// \t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n// \t\t\t: { _jsns: 'urn:zimbraMail' }\n// \t);\n// };\n// export const handleSoapContext = ({ notify, refresh, session, change }: SoapContext): void =>\n// \tuseNetworkStore.setState({\n// \t\tsession,\n// \t\tchange,\n// \t\trefresh,\n// \t\tseq: maxBy(notify, 'seq'),\n// \t\tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// \t\tnotify: map(notify, (notifyItem) => ({\n// \t\t\t...notifyItem,\n// \t\t\tdeleted: notifyItem.deleted?.id?.split(',')\n// \t\t}))\n// \t});\n// // handleTagSync(_context);\n// // useNetworkStore.setState({\n// // \tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// // \t,\n// // \t...res?.Header?.context\n// // });\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { pick } from 'lodash';\nimport { Tags } from '../../../types';\nimport { useTagStore } from './store';\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nexport const useTags = (ids?: Array<string> | string): Tags =>\n\tuseTagStore((s) => (ids ? pick(s.tags, ids) : s.tags));\nexport const getTags = (ids?: Array<string> | string): Tags =>\n\tids ? pick(useTagStore.getState().tags, ids) : useTagStore.getState().tags;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\nexport const useTagStore = create<TagState>(() => ({\n\ttags: {}\n})) as UseBoundStore<TagState, StoreApi<TagState>>;\n\ntagWorker.onmessage = ({ data }): void => {\n\tuseTagStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Link as RRLink, LinkProps } from 'react-router-dom';\nimport { parseParams } from '../history/hooks';\n\ntype AppLinkProps = LinkProps & {\n\troute?: string;\n};\nexport const AppLink: FC<AppLinkProps> = ({ to, route, ...rest }) => {\n\tconst _to = useMemo(() => parseParams({ path: to, route }), [route, to]);\n\treturn <RRLink style={{ textDecoration: 'none' }} to={_to} {...rest} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState, FC, useMemo } from 'react';\nimport { Location } from 'history';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Modal } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nexport const RouteLeavingGuard: FC<{\n\twhen?: boolean;\n\tonSave: () => void;\n}> = ({ children, when, onSave }) => {\n\tconst history = useHistory();\n\tconst lastLocationInitial = useMemo(() => history.location.pathname, [history]);\n\tconst [modalVisible, setModalVisible] = useState(false);\n\tconst [lastLocation, setLastLocation] = useState<Location>(lastLocationInitial);\n\tconst [confirmedNavigation, setConfirmedNavigation] = useState(false);\n\tconst [t] = useTranslation();\n\tconst onClose = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(true);\n\t};\n\tconst handleBlockedNavigation = (nextLocation: Location): boolean => {\n\t\tif (\n\t\t\t!confirmedNavigation &&\n\t\t\tnextLocation.pathname !== (lastLocation?.pathname || lastLocationInitial)\n\t\t) {\n\t\t\tsetModalVisible(true);\n\t\t\tsetLastLocation(nextLocation);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\tconst onConfirm = (): void => {\n\t\tsetModalVisible(false);\n\t\tonSave();\n\t\tsetConfirmedNavigation(true);\n\t};\n\tuseEffect(() => {\n\t\tif (confirmedNavigation && lastLocation) {\n\t\t\t// Navigate to the previous blocked location with your navigate function\n\t\t\thistory.push(lastLocation.pathname);\n\t\t}\n\t}, [confirmedNavigation, history, lastLocation]);\n\treturn (\n\t\t<>\n\t\t\t<Prompt when={when} message={handleBlockedNavigation} />\n\t\t\t{/* Your own alert/dialog/modal component */}\n\t\t\t<Modal\n\t\t\t\topen={modalVisible}\n\t\t\t\tonClose={onClose}\n\t\t\t\tonConfirm={onConfirm}\n\t\t\t\ttitle={t('label.unsaved_changes', 'You have unsaved changes')}\n\t\t\t\tdismissLabel={t('label.leave_anyway', 'Leave anyway')}\n\t\t\t\tconfirmLabel={t('label.save_and_leave', 'Save and leave')}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Modal>\n\t\t</>\n\t);\n};\nexport default RouteLeavingGuard;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Button, Container } from '@zextras/carbonio-design-system';\n\nexport const Spinner: FC = () => (\n\t<Container width=\"fill\" height=\"fill\" mainAlignment=\"center\" crossAlignment=\"center\">\n\t\t{/* the \"Button\" string doesn't need to be translated as it's not rendered */}\n\t\t<Button type=\"ghost\" label=\"Button\" color=\"primary\" loading />\n\t</Container>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Container, Tooltip, IconButton, Dropdown } from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useUtilityBarStore } from './store';\nimport { SHELL_APP_ID, UtilityView } from '../../types';\nimport { useUtilityViews } from './utils';\nimport { logout } from '../network/logout';\nimport { useContextBridge } from '../store/context-bridge';\nimport { noOp } from '../network/fetch';\n\nconst UtilityBarItem: FC<{ view: UtilityView }> = ({ view }) => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst onClick = useCallback((): void => {\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\tsetMode(current !== view.id ? 'open' : mode !== 'open' ? 'open' : 'closed');\n\t\tsetCurrent(view.id);\n\t}, [current, mode, setCurrent, setMode, view.id]);\n\tif (typeof view.button === 'string') {\n\t\treturn (\n\t\t\t<Tooltip label={view.label} placement=\"bottom-end\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.button}\n\t\t\t\t\ticonColor={current === view.id ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <view.button mode={mode} setMode={setMode} />;\n};\n\nexport const ShellUtilityBar: FC = () => {\n\tconst views = useUtilityViews();\n\tconst [t] = useTranslation();\n\tconst accountItems = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: 'feedback',\n\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\tclick: () =>\n\t\t\t\t\tuseContextBridge.getState().packageDependentFunctions?.addBoard(SHELL_APP_ID)(\n\t\t\t\t\t\t'/feedback/',\n\t\t\t\t\t\t{ title: t('label.feedback', 'Feedback') }\n\t\t\t\t\t),\n\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'update',\n\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\tclick: (): void => noOp(),\n\t\t\t\ticon: 'Refresh'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'docs',\n\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\t// TODO: Replace when the correct link is available\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\t\t\t\tclick: (): void => {},\n\t\t\t\tdisabled: true,\n\t\t\t\ticon: 'InfoOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'logout',\n\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\tclick: logout,\n\t\t\t\ticon: 'LogOut'\n\t\t\t}\n\t\t],\n\t\t[t]\n\t);\n\treturn (\n\t\t<Container orientation=\"horizontal\" width=\"fit\">\n\t\t\t{map(views, (view) => (\n\t\t\t\t<UtilityBarItem view={view} key={view.id} />\n\t\t\t))}\n\t\t\t<Tooltip label={t('label.account_menu', 'Account menu')} placement=\"left-end\">\n\t\t\t\t<Dropdown items={accountItems}>\n\t\t\t\t\t<IconButton icon=\"PersonOutline\" size=\"large\" />\n\t\t\t\t</Dropdown>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './bar';\nexport * from './panel';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { Container, Responsive } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport styled from 'styled-components';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useUtilityViews } from './utils';\nimport { useUtilityBarStore } from './store';\n\nconst Panel = styled(Container)`\n\twidth: ${({ mode }): number => (mode !== 'closed' ? 256 : 48)}px;\n\tborder-radius: 0;\n\theight: 100%;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\ttransition: width 0.2s;\n\tborder-left: 1px solid ${({ theme }): string => theme.palette.gray2.regular};\n`;\nconst Spacer = styled.div<{ mode: string }>`\n\tposition: relative;\n\twidth: ${({ mode }): number => (mode === 'open' ? 256 : 48)}px;\n\theight: 100%;\n\ttransition: width 0.2s;\n`;\n\nexport const ShellUtilityPanel: FC = () => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst views = useUtilityViews();\n\tconst currentPanel = useMemo(() => find(views, (view) => view.id === current), [current, views]);\n\tuseEffect(() => {\n\t\tif (!(current && currentPanel)) {\n\t\t\tsetCurrent(views[0]?.id);\n\t\t}\n\t}, [current, currentPanel, setCurrent, views]);\n\treturn currentPanel ? (\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<Spacer mode={mode}>\n\t\t\t\t<Panel mode={mode} mainAlignment=\"flex-start\">\n\t\t\t\t\t{currentPanel && (\n\t\t\t\t\t\t<AppContextProvider pkg={currentPanel?.id}>\n\t\t\t\t\t\t\t<currentPanel.component mode={mode} setMode={setMode} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t)}\n\t\t\t\t</Panel>\n\t\t\t</Spacer>\n\t\t</Responsive>\n\t) : null;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport create from 'zustand';\nimport { UtilityBarStore } from '../../types';\n\nexport const useUtilityBarStore = create<UtilityBarStore>((set) => ({\n\tmode: 'closed',\n\tcurrent: undefined,\n\tsecondaryBarState: true,\n\tsetMode: (mode): void =>\n\t\tset((s) => ({ mode, secondaryBarState: mode === 'open' ? false : s.secondaryBarState })),\n\tsetCurrent: (current): void => set({ current }),\n\tsetSecondaryBarState: (secondaryBarState: boolean): void => set({ secondaryBarState })\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, intersection } from 'lodash';\nimport { useMemo } from 'react';\nimport { AppRoute, PrimaryAccessoryView, SecondaryAccessoryView, UtilityView } from '../../types';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\n\nexport const checkList = (l1: Array<string>, l2?: Array<string>): boolean =>\n\tintersection(l1, l2).length > 0;\n\nexport const checkRoute = (\n\tview: UtilityView | PrimaryAccessoryView | SecondaryAccessoryView,\n\tactiveRoute?: AppRoute\n): boolean => {\n\tconst activeRouteValues = Object.values(activeRoute ?? {});\n\tif (view.blacklistRoutes) return !checkList(activeRouteValues, view.blacklistRoutes);\n\tif (view.whitelistRoutes) return checkList(activeRouteValues, view.whitelistRoutes);\n\treturn true;\n};\nexport const useUtilityViews = (): Array<UtilityView> => {\n\tconst utilityViews = useAppStore((s) => s.views.utilityBar);\n\n\tconst activeRoute = useCurrentRoute();\n\treturn useMemo(\n\t\t() => filter(utilityViews, (v) => checkRoute(v, activeRoute)),\n\t\t[activeRoute, utilityViews]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport { ComponentType, FC } from 'react';\nimport { LinkProps } from 'react-router-dom';\nimport { Reducer, Store } from 'redux';\nimport { TFunction } from 'react-i18next';\nimport {\n\tAppRoute,\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../apps';\nimport { ActionFactory, AnyFunction, CombinedActionFactory, Action } from '../integrations';\nimport {\n\tAccountSettings,\n\tAccount,\n\tAccountRights,\n\tAccountRightName,\n\tAccountRightTarget,\n\tSoapFetch\n} from '../account';\nimport { Mods, TagActionResponse, CreateTagResponse, SoapNotify, SoapRefresh } from '../network';\nimport { HistoryParams, ShellModes } from '../misc';\nimport { Tag, Tags } from '../tags';\n\nexport const getBridgedFunctions: () => {\n\taddBoard: (path: string, context?: unknown | { app: string }) => void;\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\n\tremoveBoard: (key: string) => void;\n\tremoveCurrentBoard: () => void;\n\tsetCurrentBoard: (key: string) => void;\n\tupdateBoard: (key: string, url: string, title: string) => void;\n\tupdateCurrentBoard: (url: string, title: string) => void;\n\tt: TFunction;\n\ttoggleMinimizedBoard: () => void;\n};\nexport const editSettings: (mods: Mods) => Promise<any>;\nexport const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;\nexport const FOLDERS: {\n\t[name: string]: string;\n};\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES: {\n\t[name: string]: string;\n};\nexport const SHELL_MODES: Record<string, ShellModes>;\nexport const BASENAME: string;\nexport const getIntegratedHook: (id: string) => [Function, boolean];\nexport const getIntegratedFunction: (id: string) => [Function, boolean];\nexport const getIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const getActions: <T>(target: T, type: string) => Array<Action>;\nexport const getActionsFactory: (type: string) => <T>(target: T) => Array<Action>;\nexport const getAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const getActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useIntegratedHook: (id: string) => [Function, boolean];\nexport const useIntegratedFunction: (id: string) => [Function, boolean];\nexport const useIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const useActions: <T>(target: T, type: string) => Array<Action>;\nexport const useActionsFactory: <T>(type: string) => CombinedActionFactory<T>;\nexport const useAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const useActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useApp: () => CarbonioModule;\nexport const getApp: () => CarbonioModule;\nexport const useAppContext: <T>() => T;\nexport const getAppContext: <T>() => T;\nexport const useUserAccount: () => Account;\nexport const useUserAccounts: () => Array<Account>;\nexport const useUserRights: () => AccountRights;\nexport const useUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const getUserAccount: () => Account;\nexport const getUserAccounts: () => Array<Account>;\nexport const getUserRights: () => AccountRights;\nexport const getUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const useTags: () => Tags;\nexport const getTags: () => Tags;\nexport const useTag: (id: string) => Tag;\nexport const getTag: (id: string) => Tag;\nexport const createTag: (tag: Omit<Tag, 'id'>) => Promise<CreateTagResponse>;\nexport const renameTag: (id: string, name: string) => Promise<TagActionResponse>;\nexport const deleteTag: (id: string) => Promise<TagActionResponse>;\nexport const changeTagColor: (id: string, color: number | string) => Promise<TagActionResponse>;\nexport const useUserSettings: () => AccountSettings;\nexport const useUserSetting: <T = void>(...path: Array<string>) => string | T;\nexport const getUserSettings: () => AccountSettings;\nexport const getUserSetting: <T = void>(...path: Array<string>) => string | T;\nexport const store: {\n\tstore: Store<any>;\n\tsetReducer(nextReducer: Reducer): void;\n};\nexport const useNotify: () => Array<SoapNotify>;\nexport const useRefresh: () => SoapRefresh;\nexport const Applink: FC<LinkProps>;\nexport const Spinner: FC;\nexport const useAddBoardCallback: () => (\n\tpath: string,\n\tcontext?: { app?: string; title?: string }\n) => void;\nexport const useUpdateCurrentBoard: () => (url: string, title: string) => void;\nexport const useRemoveCurrentBoard: () => () => void;\nexport const useBoardConfig: <T>() => T;\n\nexport const useIsMobile: () => boolean;\nexport const soapFetch: SoapFetch;\nexport const xmlSoapFetch: SoapFetch;\nexport const report: (error: Error, hint?: unknown) => void;\nexport const setAppContext: <T>(obj: T) => void;\n\nexport const removeActions: (...ids: Array<string>) => void;\nexport const registerActions: (\n\t...items: Array<{ id: string; action: ActionFactory<unknown>; type: string }>\n) => void;\nexport const removeComponents: (...ids: Array<string>) => void;\nexport const registerComponents: (\n\t...items: Array<{ id: string; component: ComponentType }>\n) => void;\nexport const removeHooks: (...ids: Array<string>) => void;\nexport const registerHooks: (...items: Array<{ id: string; hook: AnyFunction }>) => void;\nexport const removeFunctions: (...ids: Array<string>) => void;\nexport const registerFunctions: (...items: Array<{ id: string; fn: AnyFunction }>) => void;\n// add route (id route primaryBar secondaryBar app)\nexport const addRoute: (routeData: Partial<AppRouteDescriptor>) => string;\nexport const setRouteVisibility: (id: string, visible: boolean) => void;\n// remove route (id | route)\nexport const removeRoute: (id: string) => void;\n//\n// update primaryBar\nexport const updatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void;\nexport const updateUtilityBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n//\n// add board\nexport const addBoardView: (data: Object & Partial<BoardView>) => string;\n// remove board\nexport const removeBoardView: (id: string) => void;\n//\n// add settings\nexport const addSettingsView: (data: Partial<SettingsView>) => string;\n// remove settings\nexport const removeSettingsView: (id: string) => void;\n//\n// add search\nexport const addSearchView: (data: Partial<SearchView>) => string;\n// remove search\nexport const removeSearchView: (id: string) => void;\n//\n// add utility\nexport const addUtilityView: (data: Partial<UtilityView>) => string;\n// remove utility\nexport const removeUtilityView: (id: string) => void;\n//\n// add primaryAccessory\nexport const addPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) => string;\n// remove primaryAccessory\nexport const removePrimaryAccessoryView: (id: string) => void;\n//\n// add secondaryAccessory\nexport const addSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) => string;\n// remove secondaryAccessory\nexport const removeSecondaryAccessoryView: (id: string) => void;\nexport const usePushHistoryCallback: () => (params: HistoryParams) => void;\nexport const useReplaceHistoryCallback: () => (params: HistoryParams) => void;\nexport const useGoBackHistoryCallback: () => () => void;\nexport const pushHistory: (params: HistoryParams) => void;\nexport const replaceHistory: (params: HistoryParams) => void;\nexport const goBackHistory: () => void;\nexport const useCurrentRoute: () => AppRoute | undefined;\nexport const getCurrentRoute: () => AppRoute | undefined;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './network';\nexport * from './exports';\nexport * from './account';\nexport * from './apps';\nexport * from './integrations';\nexport * from './theme';\nexport * from './search';\nexport * from './misc';\nexport * from './tags';\nexport * from './workers';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { AppRoute } from '../apps';\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\nexport type SearchBarProps = {\n\tactiveRoute: AppRoute;\n\tprimaryAction?: unknown;\n\tsecondaryActions?: unknown;\n};\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";"],"names":["React","useMemo","Provider","I18nextProvider","ModalManager","SnackbarManager","useStoreFactory","useI18nFactory","AppErrorCatcher","getApp","getShell","AppContextProvider","pkg","children","i18nFactory","storeFactory","app","store","getStoreForApp","i18n","getAppI18n","useCallback","Catcher","onError","error","console","reduce","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getIntegratedHook","getUserAccount","getUserAccounts","getUserSettings","useUserAccount","useUserAccounts","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useIsMobile","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","useIntegratedHook","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getUseAddBoardCallback","useBoardConfig","useRemoveCurrentBoard","useUpdateCurrentBoard","getSoapFetch","getXmlSoapFetch","getTags","useTags","useNotify","useRefresh","changeTagColor","createTag","deleteTag","renameTag","updateTag","getAppFunctions","soapFetch","name","xmlSoapFetch","useAddBoardCallback","getBridgedFunctions","getState","packageDependentFunctions","functions","acc","f","memo","Suspense","isEmpty","map","useAppStore","Mounter","appId","AppLoaderMounter","entryPoints","s","entries","Comp","MemoComp","height","overflow","getEditSettingsForApp","normalizeRoute","normalizeSettingsView","normalizeSearchView","normalizeUtilityView","normalizePrimaryAccessoryView","normalizeSecondaryAccessoryView","normalizeBoardView","useIntegrationsStore","getAppSetters","appSetters","setters","integrations","updatePrimaryBadge","updateUtilityBadge","setAppContext","addRoute","route","setRouteVisibility","routeId","visible","removeRoute","addBoardView","data","removeBoardView","addSettingsView","removeSettingsView","addSearchView","removeSearchView","addUtilityView","removeUtilityView","addPrimaryAccessoryView","removePrimaryAccessoryView","addSecondaryAccessoryView","removeSecondaryAccessoryView","registerHooks","removeHooks","registerFunctions","removeFunctions","registerActions","removeActions","registerComponents","removeComponents","editSettings","produce","SearchAppView","SettingsAppView","SettingsSidebar","GeneralSettings","Feedback","DevBoard","DevBoardTrigger","SEARCH_APP_ID","SETTINGS_APP_ID","SHELL_APP_ID","AccountWrapper","settingsSubSections","settingsRoute","id","settingsPrimaryBar","t","component","position","label","badge","show","settingsSecondaryBar","settingsAppView","settingsGeneralView","icon","subSections","settingsAccountsView","searchRoute","searchPrimaryBar","searchAppView","feedbackBoardView","devModeBoardView","devModeTrigger","registerDefaultViews","setState","routes","views","primaryBar","secondaryBar","appView","settings","board","__CARBONIO_DEV__","push","primaryBarAccessories","forOwn","Spinner","AppLink","CONSTANTS","report","SettingsHeader","_scripts","_scriptId","loadAppModule","appPkg","Promise","_resolve","_reject","resolved","resolve","reject","e","window","__ZAPP_SHARED_LIBRARIES__","setReducer","reducer","replaceReducer","__ZAPP_HMR_EXPORT__","appComponent","state","info","script","document","createElement","setAttribute","version","js_entrypoint","body","appendChild","err","loadApp","unloadApps","then","parentNode","removeChild","filter","injectSharedLibraries","getUserSetting","useReporter","loadApps","apps","appsToLoad","attrKey","log","setClients","allSettled","unloadAllApps","PropTypes","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","wnd","react","lodash","moment","configureStore","Error","createStore","createContext","useContext","BootstrapperContext","BoardContextProvider","BootstrapperContextProvider","getShellI18n","BrowserRouter","useHistory","SnackbarManagerContext","ModalManagerContext","useBridge","ShellView","BASENAME","ContextBridge","history","createSnackbar","createModal","getHistory","BootstrapperRouter","useEffect","useTranslation","init","ThemeProvider","I18nFactory","StoreFactory","DefaultViewsRegister","TBridge","Bootstrapper","useAccountStore","getInfo","_i18nFactory","_storeFactory","setLocale","prefs","zimbraPrefLocale","attrs","zimbraLocale","split","Object","values","useState","UIThemeProvider","enable","disable","auto","setFetchMethod","darkReaderDynamicThemeFixes","fetch","ThemeCallbacksContext","addExtension","newExtension","setDarkReaderState","newState","themeSizes","size","sizes","font","extrasmall","small","medium","large","zimbraPrefFontSize","fonts","theme","extensions","setExtensions","darkReaderState","sepia","aggregatedExtensions","val","ext","ZIMBRA_STANDARD_COLORS","zValue","hex","zLabel","FOLDERS","USER_ROOT","INBOX","TRASH","SPAM","SENT","DRAFTS","CONTACTS","TAGS","CONVERSATIONS","CALENDAR","ROOT","NOTEBOOK","AUTO_CONTACTS","IM_LOGS","TASKS","BRIEFCASE","ACCOUNTS_APP_ID","ACTION_TYPES","CONVERSATION","CONVERSATION_lIST","MESSAGE","MESSAGE_lIST","CONTACT","CONTACT_lIST","INVITE","INVITE_lIST","APPOINTMENT","APPOINTMENT_lIST","FOLDER","FOLDER_lIST","CALENDAR_lIST","NEW","ignoreImageAnalysis","invert","css","ignoreInlineStyle","disableStyleSheetsProxy","EMAIL_VALIDATION_REGEX","IconButton","addBoard","title","find","startsWith","replace","trim","useLocation","useRoutes","getRoutes","location","r","pathname","parseParams","params","routeToApply","path","search","hash","cb","goBack","i18next","Backend","dropRight","forEach","locale","_cache","appI18n","changeLanguage","appPkgDescription","newI18n","createInstance","baseI18nPath","BASE_PATH","join","use","lng","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","ns","key","fallbackValue","warn","backend","loadPath","findIndex","mods","props","prop","value","pref","identity","modifyList","item","deleteList","createList","requestId","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","email","propIndex","p","zimlet","_content","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","includes","i","CreateIdentityResponse","undefined","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","setTimeout","zimbraVersion","method","headers","JSON","stringify","json","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","rights","components","addApps","assign","origin","logout","useTagStore","set","tag","action","op","color","rgb","UAParser","os","browser","createSlice","logger","_uselessSlice","initialState","reducers","devTools","middleware","getDefaultMiddleware","concat","_useless","useReducer","Button","Select","Container","Row","Icon","Severity","styled","feedback","useAppList","TextArea","textarea","palette","gray5","regular","text","gray4","TextContainer","ButtonContainer","TAContainer","primary","SubHeadingText","lineHeight","LabelContainer","disabled","emptyEvent","message","level","Info","release","extra","topic","user","payload","getTopics","ModuleLabelFactory","selected","open","focus","all","length","alignSelf","_LabelFactory","showErr","topics","allApps","sentryDsn","appItems","display","acct","event","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","closeBoard","confirmHandler","feedbackId","disabledSend","LabelFactory","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","Hub","dsn","maxValueLength","Dropdown","useSearchStore","SelectorContainer","hover","ModuleSelector","activeRoute","modules","module","updateModule","fullModule","m","setOpen","dropdownItems","active","click","left","Redirect","Route","Switch","Chip","Padding","Divider","useQuery","query","updateQuery","useDisableSearch","searchDisabled","setSearchDisabled","ResultsHeader","setDisabled","resetQuery","horizontal","q","searchViews","view","useRef","ChipInput","Tooltip","useLocalStorage","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","searchIsEnabled","setSearchIsEnabled","inputRef","storedValue","setStoredValue","inputTyped","setInputTyped","isTyping","setIsTyping","options","setOptions","inputHasFocus","setInputHasFocus","inputState","setInputState","showClear","textContent","clearSearch","innerText","onSearch","currentQuery","ref","newInputState","hasAvatar","chip","c","qchip","isQueryFilter","appSuggestions","v","reverse","updateOptions","indexOf","slice","onQueryChange","newQuery","onInputType","suggestions","suggestion","triggerSearch","setTriggerSearch","containerRef","searchCb","addEventListener","removeEventListener","disableOptions","placeholder","clearButtonPlaceholder","searchBtnTooltipLabel","onChipAdd","newChip","avatarLabel","addFocus","removeFocus","disableClearButton","cursor","overflowX","isFunction","get","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","result","pop","useSnackbar","lowerFirst","AccountsList","PrimaryAccountSettings","SettingsSentMessages","PasswordRecoverySettings","Delegates","PersonaSettings","PersonaUseSection","setMods","activeDelegateView","setActiveDelegateView","selectedIdentityId","setSelectedIdentityId","setIdentities","delegates","setDelegates","maxIdentities","zimbraIdentityMaxNumEntries","addMod","arg","modifyProp","prevState","prevRecord","newCreateList","newDeleteList","modifyCreateList","modifiedCreateList","createIdentities","updateIdentities","updatedIdentityKey","deleteIdentities","ace","resultReduced","splice","onSave","autoHideTimeout","hideButton","onCancel","isDirty","top","List","max","changeView","ListItem","createListrequestId","setCreateListrequestId","setCreateList","addNewPersona","newPersonaNextNumber","parseFloat","newPersonaName","zimbraPrefFromAddressType","setDeleteList","onConfirmDelete","newIdentities","onDelete","closeModal","onConfirm","confirmLabel","confirmColor","showCloseIcon","onClose","Radio","RadioGroup","items","activeValue","setActiveValue","width","newValue","Input","recoveryEmail","emailValue","setEmailValue","isValidEmail","setIsValidEmail","inputLabel","onChange","test","onSubmit","personaValue","setPersonaValue","personaLabel","Checkbox","whenSentToLabel","setWhenInFoldersEnabled","setWhenSentToEnabled","setWhenSentToAddresses","whenSentToAddressesLabel","onClickWhenSentToEnabled","onChangeWhenSentToAddresses","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","isExternalAccount","replyToEnabledValue","setReplyToEnabledValue","setReplyToAddress","dropdownOpen","setDropdownOpen","fromDisplayValue","setFromDisplayValue","setReplyToDisplay","fromAddressArray","setFromAddress","k","onClickReplyToEnabled","fromDisplayLabel","onChangeFromDisplayValue","fromAddressLabel","onChangeFromAddress","newVal","replyToEnabledLabel","replyToDisplayLabel","onChangePrefReplyToDisplay","replyToAddressLabel","replyToAddressArray","onChangeReplyToAddress","flexGrow","Styler","gray2","allDay","weight","DateTimePicker","momentLocalizer","Heading","changeDateEvent","getDateEvent","startOfDate","endOfDate","DateTimeSelect","sendAutoReply","dateDisabled","setDateDisabled","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriod","setSendAutoReplyTimePeriod","dateZimbraPrefOutOfOfficeFromDate","setZimbraPrefOutOfOfficeFromDate","dateZimbraPrefOutOfOfficeUntilDate","setZimbraPrefOutOfOfficeUntilDate","setAllDay","allDayDisabled","setAllDayDisabled","timeDisabled","setTimeDisabled","updatePrefs","toggleSendAutoReplyTimePeriod","maxWidth","Date","diff","add","valueOf","readOnly","subtract","FormSubSection","themeSubSection","AppearanceSettings","drMode","setDrMode","defaultSelection","onSelectionChange","old","subSection","accountSubSection","Logout","onClick","sectionTitle","Badge","ThemeContext","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","navigator","clipboard","writeText","filteredList","description","backgroundColor","success","gray6","ItemsExternalSenders","getExternalSendersPrefsData","ItemsOutOfOfficeStatus","getOutOfOfficeStatusPrefsData","ItemsSendAutoReplies","outOfOfficeSubSection","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","itemsExternalSenders","itemsOutOfOfficeStatus","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","Math","round","defaultValue","fillBackground","Breadcrumbs","useParams","RouteLeavingGuard","useparam","crumbs","querySelector","scrollIntoView","ret","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefExternalSendersType","String","zimbraPrefOutOfOfficeFreeBusyStatus","date","utc","format","local","startOf","endOf","localeList","localName","timeZoneList","timezoneAndLanguageSubSection","searchPrefsSubSection","OutOfOfficeSettings","LanguageAndTimeZoneSettings","SearchSettingsView","Modal","LanguageAndTimeZone","locales","timezones","defaultTimeZone","zimbraPrefTimeZoneId","reload","zimbraPrefIncludeSpamInSearch","searchInSpamFolder","setSearchInSpamFolder","zimbraPrefIncludeTrashInSearch","searchInTrashFolder","setSearchInTrashFolder","zimbraPrefIncludeSharedItemsInSearch","searchInSharedFolder","setSearchInSharedFolder","setMode","onClickSpam","onClickTrash","onClickShared","settingsViews","Accordion","expanded","disableHover","stopPropagation","collapsedItems","_BoardsRouterContainer","FirstAppRedirect","mainRoute","AppViewContainer","appViews","forwardRef","MiniBadge","BadgeWrap","showCount","padding","fontSize","count","BoardValueContext","BoardSetterContext","TabContainer","gray3","VerticalDivider","AppBoardTab","idx","iconSize","boards","currentBoard","removeBoard","setCurrentBoard","onRemove","useLayoutEffect","useHiddenCount","AppBoard","useApps","TabsList","tabs","largeView","tabContainerRef","hiddenTabsCount","recalculateHiddenTabs","tab","BoardContainer","div","minimized","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","AppBoardWindow","shellBoards","toggleLargeView","toggleMinimized","removeAllBoards","boardId","_tabs","_boards","onReturnToApp","Router","createMemoryHistory","initialEntries","url","updateBoard","boardViews","windowHistory","unlisten","listen","l","pickBy","getRandomKey","now","floor","random","returnValue","boardKey","newCurrentBoard","boardKeys","boardToRemove","removedBoardIndex","updatedBoards","boardState","removeCurrentBoard","updateCurrentBoard","boardSetters","cbFunctions","toggleMinimizedBoard","callback","Bubble","Collapser","groupBy","MultiButton","useSecondaryActions","actions","byApp","CreationButton","primaryAction","a","group","secondaryActions","onOpen","ShellContext","isMobile","initialValue","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","ShellHeader","mobileNavIsOpen","onMobileMenuClick","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNav","menuTree","CustomComponent","zIndex","maxHeight","overflowY","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","PrimaryContainer","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","primaryBarViews","setRoutes","primaryBarAccessoryViews","accessories","minHeight","useUtilityBarStore","SidebarContainer","sidebarIsOpen","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","darkreaderState","Shell","mobileNavOpen","setMobileNavOpen","targets","useUserSetting","normalizeSettings","signatures","lastNotificationTime","priority","getAppList","getApps","appContexts","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","commit","utilityBar","routeData","b","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","content","addFunctions","tinymce","Editor","Composer","onEditorChange","inline","baseAssetsUrl","rest","setContent","_onEditorChange","newContent","editor","getContent","skin_url","content_css","min_height","menubar","statusbar","branding","resize","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","compact","integration","hooks","Integration","C","factories","factory","combinedFactory","composer","hook","fn","ids","tagWorker","postMessage","tags","pick","onmessage","Link","RRLink","to","_to","textDecoration","Prompt","when","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","useUtilityViews","UtilityBarItem","mode","setCurrent","accountItems","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","Worker","URL","import","meta","SHELL_MODES","useTag","getTag","Applink"],"sourceRoot":""}
|