@zextras/carbonio-shell-ui 0.4.43 → 0.4.44
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 +18 -0
- package/dist/PKGBUILD +7 -7
- package/dist/commit +1 -1
- package/dist/component.json +3 -3
- package/dist/i18n/de.json +5 -0
- package/dist/i18n/en.json +18 -0
- package/dist/i18n/es.json +5 -0
- package/dist/i18n/fi.json +9 -2
- package/dist/i18n/fr.json +7 -2
- package/dist/i18n/hi.json +5 -0
- package/dist/i18n/id.json +5 -0
- package/dist/i18n/it.json +5 -0
- package/dist/i18n/ja.json +5 -0
- package/dist/i18n/nl.json +5 -0
- package/dist/i18n/pl.json +11 -5
- package/dist/i18n/pt.json +5 -0
- package/dist/i18n/pt_BR.json +5 -0
- package/dist/i18n/ro.json +9 -1
- package/dist/i18n/ru.json +5 -0
- package/dist/i18n/th.json +5 -0
- package/dist/i18n/tr.json +5 -0
- package/dist/i18n/vi.json +5 -0
- package/dist/i18n/zh_Hans.json +5 -0
- package/dist/index.html +2 -4
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.f2070210.chunk.js → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.c4dea410.chunk.js} +1109 -448
- package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.c4dea410.chunk.js.map +1 -0
- package/dist/{src_workers_folder_ts.424f834a.chunk.js → src_workers_folder_ts.701a045f.chunk.js} +3 -3
- package/dist/{src_workers_folder_ts.424f834a.chunk.js.map → src_workers_folder_ts.701a045f.chunk.js.map} +1 -1
- package/dist/{src_workers_tag_ts.79e42de5.chunk.js → src_workers_tag_ts.c7d435e7.chunk.js} +3 -3
- package/dist/{src_workers_tag_ts.79e42de5.chunk.js.map → src_workers_tag_ts.c7d435e7.chunk.js.map} +1 -1
- package/dist/{style.0c774c45.css → style.50a100e2.css} +29 -29
- package/dist/{style.0c774c45.css.map → style.50a100e2.css.map} +1 -1
- package/dist/{vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.5b2b999c.chunk.js → vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.24edb296.chunk.js} +1 -2
- package/dist/vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.24edb296.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 → vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.8c7abba3.chunk.js} +1 -6
- package/dist/vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.8c7abba3.chunk.js.map +1 -0
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.css → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-2df2d2.css} +1 -1
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.css.map → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-2df2d2.css.map} +1 -1
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.5bd86fd5.chunk.js → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-2df2d2.f47d3880.chunk.js} +3952 -4311
- package/dist/{vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-55e96b.5bd86fd5.chunk.js.map → vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_esm_js-node_modules_sentry_browser_es-2df2d2.f47d3880.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 +2 -2
- package/types/account/index.d.ts +17 -3
- package/types/apps/index.d.ts +3 -2
- package/types/loginConfig/index.d.ts +13 -0
- package/types/misc/index.d.ts +11 -1
- package/types/network/entities.d.ts +73 -0
- package/types/network/index.d.ts +47 -7
- package/types/settings/index.d.ts +10 -0
- package/types/styled-components.d.ts +15 -0
- package/types/theme/index.d.ts +3 -2
- package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.f2070210.chunk.js.map +0 -1
- package/dist/vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f8dfc2.5b2b999c.chunk.js.map +0 -1
- package/dist/vendors-node_modules_core-js_modules_es_array_includes_js-node_modules_core-js_modules_es_fun-f57f90.cc38c8f6.chunk.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.c4dea410.chunk.js","mappings":"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AAAA,KAAK,EAAEtF,CAAC,CAAC,sBAAD,EAAyB;AAAEyU,MAAAA,KAAK,EAAE,QAAT;AAAmB8pB,MAAAA,YAAY,EAAE;AAAjC,KAAzB,CAJT;AAKC9pB,IAAAA,KAAK,EAAE;AALR,GAhHoE,EAuHpE;AACCxP,IAAAA,EAAE,EAAE,IADL;AAEClF,IAAAA,IAAI,EAAE,UAFP;AAGC6/B,IAAAA,SAAS,EAAE5/B,CAAC,CAAC,eAAD,EAAkB,QAAlB,CAHb;AAICsF,IAAAA,KAAK,EAAEtF,CAAC,CAAC,qBAAD,EAAwB;AAAEyU,MAAAA,KAAK,EAAE,UAAT;AAAqB8pB,MAAAA,YAAY,EAAE;AAAnC,KAAxB,CAJT;AAKC9pB,IAAAA,KAAK,EAAE;AALR,GAvHoE,EA8HpE;AACCxP,IAAAA,EAAE,EAAE,IADL;AAEClF,IAAAA,IAAI,EAAE,YAFP;AAGC6/B,IAAAA,SAAS,EAAE5/B,CAAC,CAAC,mBAAD,EAAsB,YAAtB,CAHb;AAICsF,IAAAA,KAAK,EAAE,yBAJR;AAKCmP,IAAAA,KAAK,EAAE;AALR,GA9HoE,CAA3C;AAAA,CAAnB,EAsIP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;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ACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;CAQA;;AACO,IAAK05C,IAAZ;;WAAYA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;GAAAA,SAAAA;;AAUL,SAAS1gB,sBAAT,CACN2gB,wBADM,EAE6C;AACnD,SACC,OAAOA,wBAAP,KAAoC,QAApC,IACAzlC,uEAAA,CAA4BylC,wBAA5B,CAFD;AAIA,EAED;;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AAIA;AAWO,IAAKtxB,eAAZ,EAMA;AACA;AACA;AACA;AACA;AACA;;WAXYA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;GAAAA,oBAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBZ,iEAAe,qBAAuB,yCAAyC;;;;;;;;;;;;;;;ACA/E,iEAAe,qBAAuB,yCAAyC;;;;;;;;;;ACA/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","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-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/custom-hooks/useDarkReaderResultValue.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/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/login-config.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/notification/NotificationManager.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationPermissionChecker.tsx","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/run-search.ts","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/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.tsx","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/dark-theme-settings-section.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/scaling-setting-section.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.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/badge-wrap.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-container.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board.tsx","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.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-mobile-nav.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-navigation-bar.tsx","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.tsx","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/boards/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/boards/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/boards/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/context-bridge.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/folder/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/i18n/store.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/login/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/utils/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/workers/index.ts","webpack://@zextras/carbonio-shell-ui/./types/account/index.d.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/misc/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/network/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/index.d.ts","webpack://@zextras/carbonio-shell-ui/./assets/carbonio-logo.png","webpack://@zextras/carbonio-shell-ui/./assets/notification.mp3","webpack://@zextras/carbonio-shell-ui//tmp/workspace/extras_carbonio-shell-ui_release/node_modules/moment/locale|sync|/^\\.\\/.*$/","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|canvas","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|fs","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|http","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|https","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|url","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|zlib"],"sourcesContent":["/*\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';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useI18nStore } from '../../store/i18n';\nimport AppErrorCatcher from './app-error-catcher';\n\nconst AppContextProvider: FC<{ pkg: string }> = ({ pkg, children }) => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\tconst i18n = instances[pkg] ?? instances[SHELL_APP_ID] ?? defaultI18n;\n\treturn (\n\t\t<I18nextProvider i18n={i18n}>\n\t\t\t<AppErrorCatcher>{children}</AppErrorCatcher>\n\t\t</I18nextProvider>\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\tgetUserSetting,\n\tgetUserSettings,\n\tuseUserAccount,\n\tuseUserAccounts,\n\tuseUserSetting,\n\tuseUserSettings,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights\n} from '../../store/account';\nimport { useIsMobile, useLocalStorage } 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 { getSoapFetch, getXmlSoapFetch } from '../../network/fetch';\nimport {\n\tgetFolder,\n\tgetFolders,\n\tuseFolder,\n\tuseFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseFoldersAccordionByView,\n\tuseFoldersByView,\n\tuseRootByUser,\n\tgetRootByUser\n} from '../../store/folder';\nimport { getTags, useTags } from '../../store/tags';\nimport { useNotify, useRefresh } from '../../store/network';\nimport { changeTagColor, createTag, deleteTag, renameTag } from '../../network/tags';\nimport { runSearch } from '../../search/run-search';\nimport { getI18n, getTFunction } from '../../store/i18n';\nimport {\n\taddBoard,\n\tcloseBoard,\n\tupdateBoard,\n\tupdateBoardContext,\n\tgetBoardById,\n\tgetBoardContextById,\n\tuseBoardContextById,\n\tuseBoardById,\n\tuseBoard,\n\tminimizeBoards,\n\treopenBoards,\n\tsetCurrentBoard,\n\tuseBoardHooks\n} from '../../store/boards';\nimport { getNotificationManager } from '../../notification/NotificationManager';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppFunctions = (pkg: CarbonioModule): Record<string, Function> => ({\n\t// I18N\n\tgetI18n: getI18n(pkg.name),\n\tt: getTFunction(pkg.name),\n\t// FETCH\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\tgetUserSetting,\n\tuseUserSetting,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights,\n\tuseTags,\n\tgetTags,\n\tuseNotify,\n\tuseRefresh,\n\t// FOLDERS\n\tuseFoldersAccordionByView,\n\tuseFoldersByView,\n\tuseFolder,\n\tgetFolder,\n\tuseFolders,\n\tgetFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseRootByUser,\n\tgetRootByUser,\n\t// BOARDS\n\taddBoard: addBoard(pkg.name),\n\tcloseBoard,\n\tupdateBoard,\n\tupdateBoardContext,\n\tgetBoardById,\n\tgetBoardContextById,\n\tuseBoard,\n\tuseBoardById,\n\tuseBoardContextById,\n\tminimizeBoards,\n\treopenBoards,\n\tsetCurrentBoard,\n\tuseBoardHooks,\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\t// NOTIFICATION\n\tgetNotificationManager,\n\n\t// STUFF\n\trunSearch,\n\tuseIsMobile,\n\tuseLocalStorage,\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 'react-i18next';\nimport { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\nimport DevBoard from '../../dev/dev-board';\nimport DevBoardTrigger from '../../dev/dev-board-trigger';\nimport Feedback from '../../reporting/feedback';\nimport { SearchAppView } from '../../search/search-app-view';\nimport AccountWrapper from '../../settings/account-wrapper';\nimport GeneralSettings from '../../settings/general-settings';\nimport { settingsSubSections } from '../../settings/general-settings-sub-sections';\nimport { SettingsAppView } from '../../settings/settings-app-view';\nimport { SettingsSidebar } from '../../settings/settings-sidebar';\nimport { useAppStore } from '../../store/app';\nimport { useI18nStore } from '../../store/i18n';\n\nconst settingsRoute = {\n\troute: SETTINGS_APP_ID,\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID\n};\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 Settings'),\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 { 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\nexport function loadApp(appPkg: CarbonioModule): 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: unknown) => 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\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: unknown) {\n\t\t\tconsole.error(err);\n\t\t\treject(err);\n\t\t}\n\t});\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\nimport { filter, map } from 'lodash';\n\nimport { CarbonioModule } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useReporter } from '../../reporting';\nimport { useAccountStore } from '../../store/account';\nimport { getUserSetting } from '../../store/account/hooks';\nimport { useI18nStore } from '../../store/i18n';\nimport { loadApp, unloadApps } from './load-app';\nimport { injectSharedLibraries } from './shared-libraries';\n\nexport function loadApps(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) === 'FALSE') 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\tconst { settings } = useAccountStore.getState();\n\tconst locale =\n\t\t(settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t(settings?.attrs?.zimbraLocale as string) ??\n\t\t'en';\n\tuseI18nStore.getState().actions.addI18n(appsToLoad, locale);\n\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app)));\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 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// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import * as Preview from '../../preview';\nimport * as Preview from '@zextras/carbonio-ui-preview';\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': ReduxJSToolkit,\n\t\t'@zextras/carbonio-shell-ui': {},\n\t\t'@zextras/carbonio-design-system': ZappUI,\n\t\t'@zextras/carbonio-ui-preview': Preview\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 React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { SHELL_APP_ID } from '../constants';\nimport { useI18nStore } from '../store/i18n';\n\nconst BootstrapperContextProvider: FC = ({ children }) => {\n\tconst i18n = useI18nStore((s) => s.instances[SHELL_APP_ID]);\n\treturn <I18nextProvider i18n={i18n}>{children}</I18nextProvider>;\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 {\n\tModalManager,\n\tModalManagerContext,\n\tSnackbarManager,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useContext, useEffect } from 'react';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { BrowserRouter, Route, Switch, useHistory, useParams } from 'react-router-dom';\nimport { useBridge } from '../store/context-bridge';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { BASENAME, IS_STANDALONE } from '../constants';\nimport { NotificationPermissionChecker } from '../notification/NotificationPermissionChecker';\nimport ShellView from '../shell/shell-view';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\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 StandaloneListener: FC = () => {\n\tconst { route } = useParams<{ route?: string }>();\n\tuseEffect(() => {\n\t\tif (route) useAppStore.setState({ standalone: route });\n\t}, [route]);\n\treturn null;\n};\n\nconst DefaultViewsRegister: FC<{ t: TFunction }> = ({ t }) => {\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => {\n\tconst [t] = useTranslation();\n\treturn (\n\t\t<BrowserRouter basename={BASENAME}>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t{IS_STANDALONE && (\n\t\t\t\t\t\t<Switch>\n\t\t\t\t\t\t\t<Route path={'/:route'}>\n\t\t\t\t\t\t\t\t<StandaloneListener />\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t</Switch>\n\t\t\t\t\t)}\n\t\t\t\t\t<DefaultViewsRegister t={t} />\n\t\t\t\t\t<NotificationPermissionChecker />\n\t\t\t\t\t<ContextBridge />\n\t\t\t\t\t<AppLoaderMounter />\n\t\t\t\t\t<ShellView />\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</BrowserRouter>\n\t);\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 } from 'react';\nimport { unloadAllApps } from './app/load-apps';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\n\nconst Bootstrapper: FC = () => {\n\tuseEffect(() => {\n\t\tinit();\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, []);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<BootstrapperContextProvider>\n\t\t\t\t<BootstrapperRouter />\n\t\t\t</BootstrapperContextProvider>\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 { getInfo } from '../network/get-info';\nimport { useAppStore } from '../store/app';\nimport { loadApps } from './app/load-apps';\nimport { loginConfig } from '../network/login-config';\n\nexport const init = (): void => {\n\tPromise.all([loginConfig(), getInfo()]).finally(() => {\n\t\tloadApps(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, useMemo, useState } from 'react';\nimport {\n\tThemeProvider as UIThemeProvider,\n\tThemeProviderProps\n} from '@zextras/carbonio-design-system';\nimport { auto, disable, enable, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { createGlobalStyle, DefaultTheme } from 'styled-components';\nimport { DarkReaderPropValues, ThemeExtension } from '../../types';\nimport { darkReaderDynamicThemeFixes, LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { useLocalStorage } from '../shell/hooks';\nimport { ScalingSettings } from '../../types/settings';\nimport { getAutoScalingFontSize } from '../settings/components/utils';\n\nsetFetchMethod(window.fetch);\n\ninterface ThemeCallbacks {\n\taddExtension: (newExtension: ThemeExtension, id: string) => void;\n\tsetDarkReaderState: (newState: DarkReaderPropValues) => void;\n}\n\nexport const ThemeCallbacksContext = createContext<ThemeCallbacks>({\n\taddExtension: () => {\n\t\tthrow Error('Not implemented');\n\t},\n\tsetDarkReaderState: () => {\n\t\tthrow Error('not implemented');\n\t}\n});\n\nconst paletteExtension = (theme: DefaultTheme): DefaultTheme => ({\n\t...theme,\n\tpalette: {\n\t\t...theme.palette,\n\t\tshared: {\n\t\t\tregular: '#FFB74D',\n\t\t\thover: '#FFA21A',\n\t\t\tactive: '#FFA21A',\n\t\t\tfocus: '#FF9800',\n\t\t\tdisabled: '#FFD699'\n\t\t},\n\t\tlinked: {\n\t\t\tregular: '#AB47BC',\n\t\t\thover: '#8B3899',\n\t\t\tactive: '#8B3899',\n\t\t\tfocus: '#7A3187',\n\t\t\tdisabled: '#DDB4E4'\n\t\t}\n\t}\n});\n\nconst iconExtension: ThemeExtension = (theme) => ({\n\t...theme,\n\ticons: {\n\t\t...theme.icons,\n\t\tShared: theme.icons.ArrowCircleRight,\n\t\tLinked: theme.icons.ArrowCircleLeft\n\t}\n});\n\ninterface GlobalStyledProps {\n\tbaseFontSize: number;\n}\n\nconst GlobalStyle = createGlobalStyle<GlobalStyledProps>`\n html {\n\t font-size: ${({ baseFontSize }): string => `${baseFontSize}%`};\n }\n`;\n\nexport const ThemeProvider: FC = ({ children }) => {\n\tconst [localStorageSettings] = useLocalStorage<ScalingSettings>(LOCAL_STORAGE_SETTINGS_KEY, {});\n\n\tconst [extensions, setExtensions] = useState<Partial<Record<keyof DefaultTheme, ThemeExtension>>>(\n\t\t{}\n\t);\n\n\tuseEffect(() => {\n\t\tsetExtensions((extension) => ({\n\t\t\t...extension,\n\t\t\tpalette: paletteExtension,\n\t\t\ticons: iconExtension\n\t\t}));\n\t}, []);\n\n\tconst [darkReaderState, setDarkReaderState] = useState<DarkReaderPropValues>('disabled');\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tauto(false);\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tauto(false);\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\n\tconst aggregatedExtensions = useCallback<NonNullable<ThemeProviderProps['extension']>>(\n\t\t(theme) =>\n\t\t\treduce(\n\t\t\t\textensions,\n\t\t\t\t(themeAccumulator, themeExtensionFn) => {\n\t\t\t\t\tif (themeExtensionFn) {\n\t\t\t\t\t\treturn themeExtensionFn(themeAccumulator);\n\t\t\t\t\t}\n\t\t\t\t\treturn themeAccumulator;\n\t\t\t\t},\n\t\t\t\ttheme\n\t\t\t),\n\t\t[extensions]\n\t);\n\n\tconst addExtension = useCallback<ThemeCallbacks['addExtension']>((newExtension, id) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\n\tconst baseFontSize = useMemo<GlobalStyledProps['baseFontSize']>(() => {\n\t\tconst savedScalingValueSetting = localStorageSettings['settings.appearance_setting.scaling'];\n\t\tif (savedScalingValueSetting !== undefined) {\n\t\t\treturn savedScalingValueSetting;\n\t\t}\n\t\treturn getAutoScalingFontSize();\n\t}, [localStorageSettings]);\n\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions} loadDefaultFont>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t<GlobalStyle baseFontSize={baseFontSize} />\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\nconst base = '/carbonio/';\n\nconst standaloneBase = `${base}standalone`;\n\nexport const IS_STANDALONE = window.location.pathname.startsWith(standaloneBase);\nexport const BASENAME = IS_STANDALONE ? standaloneBase : base;\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\nexport const ROOT_NAME = 'USER_ROOT';\n\nexport const DARK_READER_VALUES = ['auto', 'enabled', 'disabled'] as const;\n\nexport const FOLDER_VIEW = {\n\tsearch_folder: 'search folder',\n\ttag: 'tag',\n\tconversation: 'conversation',\n\tmessage: 'message',\n\tcontact: 'contact',\n\tdocument: 'document',\n\tappointment: 'appointment',\n\tvirtual_conversation: 'virtual conversation',\n\tremote_folder: 'remote folder',\n\twiki: 'wiki',\n\ttask: 'task',\n\tchat: 'chat'\n};\nexport const LOCAL_STORAGE_SETTINGS_KEY = 'settings';\nexport const LOCAL_STORAGE_SEARCH_KEY = 'search_suggestions';\nexport const SCALING_OPTIONS = [\n\t{ value: 75, label: 'xs' },\n\t{ value: 87.5, label: 's' },\n\t{ value: 100, label: 'm' },\n\t{ value: 112.5, label: 'l' },\n\t{ value: 125, label: 'xl' }\n] as const;\nexport const BASE_FONT_SIZE = 100;\nexport const SCALING_LIMIT = {\n\tWIDTH: 1400,\n\tHEIGHT: 900,\n\tDPR: 2 // device pixel ratio\n} as const;\n\nexport const LOGIN_V3_CONFIG_PATH = '/zx/login/v3/config';\nexport const DARK_READER_PROP_KEY = 'zappDarkreaderMode';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useMemo } from 'react';\nimport { find, size } from 'lodash';\nimport { useUserSettings } from '../store/account';\nimport { useLoginConfigStore } from '../store/login/store';\nimport {\n\tDarkReaderPropValues,\n\tisZappDarkreaderModeZimletProp,\n\tZappDarkreaderModeZimletProp,\n\tZimletProp\n} from '../../types';\n\n// return the final calculated value between ZappDarkreaderModeZimletProp value and carbonioWebUiDarkMode config\nexport function useDarkReaderResultValue(): undefined | DarkReaderPropValues {\n\tconst settings = useUserSettings();\n\tconst { carbonioWebUiDarkMode } = useLoginConfigStore();\n\n\tconst settingReceived = useMemo(\n\t\t() => size(settings.prefs) > 0 || size(settings.attrs) > 0 || size(settings.props) > 0,\n\t\t[settings]\n\t);\n\n\tconst darkReaderResultValue = useMemo(() => {\n\t\tif (settingReceived) {\n\t\t\tconst result = find<ZimletProp, ZappDarkreaderModeZimletProp>(\n\t\t\t\tsettings.props,\n\t\t\t\t(value): value is ZappDarkreaderModeZimletProp => isZappDarkreaderModeZimletProp(value)\n\t\t\t)?._content;\n\n\t\t\treturn result || (carbonioWebUiDarkMode && 'enabled') || 'disabled';\n\t\t}\n\t\treturn undefined;\n\t}, [settingReceived, settings, carbonioWebUiDarkMode]);\n\n\treturn darkReaderResultValue;\n}\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 { addBoard } from '../store/boards';\nimport { SHELL_APP_ID } from '../constants';\n\nconst DevBoardTrigger: FC = () => (\n\t<IconButton\n\t\ticon=\"Code\"\n\t\tsize=\"large\"\n\t\tonClick={(): void => {\n\t\t\taddBoard(SHELL_APP_ID)({ url: '/devtools/', title: 'Dev Tools' });\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 { SEARCH_APP_ID } from '../constants';\nimport { useSearchStore } from '../search/search-store';\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\tconst route = find(routes, (r) => startsWith(trim(history.location.pathname, '/'), r.route));\n\tif (route?.route === SEARCH_APP_ID) {\n\t\treturn {\n\t\t\t...route,\n\t\t\troute: `${route.route}/${useSearchStore.getState().module}`\n\t\t};\n\t}\n\treturn 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 { filter, find, findIndex, forEach, map, reduce, isArray } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account';\nimport {\n\tAccountState,\n\tMods,\n\tAccount,\n\tCreateIdentityResponse,\n\tModifyPropertiesResponse,\n\tModifyPrefsResponse,\n\tModifyIdentityResponse,\n\tRevokeRightsResponse,\n\tDeleteIdentityResponse,\n\tGrantRightsResponse\n} from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\ntype EditSettingsBatchResponse = {\n\tModifyPropertiesResponse?: ModifyPropertiesResponse[];\n\tModifyPrefsResponse?: ModifyPrefsResponse[];\n\tModifyIdentityResponse?: ModifyIdentityResponse[];\n\tDeleteIdentityResponse?: DeleteIdentityResponse[];\n\tCreateIdentityResponse?: CreateIdentityResponse[];\n\tRevokeRightsResponse?: RevokeRightsResponse[];\n\tGrantRightsResponse?: GrantRightsResponse[];\n};\n\nexport const editSettings = (\n\tmods: Partial<Mods>,\n\tappId: string = SHELL_APP_ID\n): Promise<EditSettingsBatchResponse> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)<string, EditSettingsBatchResponse>(\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(mods.prefs, (pref, key) =>\n\t\t\t\t\t\tisArray(pref)\n\t\t\t\t\t\t\t? map(pref, (p) => `<pref name=\"${key}\">${p}</pref>`).join('')\n\t\t\t\t\t\t\t: `<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\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// FIXME: usage differs from the declaration of the AccountACE\n\t\t\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\t\t// @ts-ignore\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\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// FIXME: usage differs from the declaration of the AccountACE\n\t\t\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\t\t// @ts-ignore\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) => {\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<EditSettingsBatchResponse & { type?: 'fulfilled' }> =>\n\t\teditSettings(mods, app).then((r) => ({\n\t\t\t...r,\n\t\t\ttype: 'fulfilled'\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 {\n\tAccount,\n\tErrorSoapBodyResponse,\n\tErrorSoapResponse,\n\tSoapContext,\n\tSoapResponse\n} from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { IS_STANDALONE, 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 | ErrorSoapBodyResponse => {\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\tif (IS_STANDALONE) {\n\t\t\t\tuseAccountStore.setState({ authenticated: false });\n\t\t\t} else {\n\t\t\t\tgoToLogin();\n\t\t\t}\n\t\t}\n\t\tconsole.error(\n\t\t\tnew Error(\n\t\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t\t}`\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\tconst nextPollingInterval = (res?.Body as { waitDisallowed?: number })?.waitDisallowed\n\t\t\t? 10000\n\t\t\t: pollingInterval;\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => noOp(), nextPollingInterval),\n\t\t\tpollingInterval: nextPollingInterval,\n\t\t\tseq,\n\t\t\t..._context\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn res?.Body?.Fault ? (res.Body as ErrorSoapBodyResponse) : (res.Body[`${api}Response`] as R);\n};\nexport const getSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(\n\t\tapi: string,\n\t\tbody: Request,\n\t\totherAccount?: string,\n\t\tsignal?: AbortSignal\n\t): 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\tsignal,\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\nexport const shellSoap = getSoapFetch(SHELL_APP_ID);\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};\n\nexport const getInfo = (): Promise<void> =>\n\tfetch('/static/iris/components.json')\n\t\t.then((r) => 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.then(() =>\n\t\t\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t\t\t})\n\t\t)\n\t\t.then((res: GetInfoResponse): 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\tauthenticated: true,\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.catch((err: Error) => {\n\t\t\tconsole.error(err);\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 { LoginConfigStore } from '../../types/loginConfig';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { LOGIN_V3_CONFIG_PATH } from '../constants';\n\nexport const loginConfig = (): Promise<void> =>\n\tfetch(LOGIN_V3_CONFIG_PATH)\n\t\t.then((response) => response.json())\n\t\t.then((data: LoginConfigStore) => {\n\t\t\tuseLoginConfigStore.setState(data);\n\t\t\tconst favicon = document.getElementById('favicon');\n\t\t\tif (favicon && favicon instanceof HTMLLinkElement) {\n\t\t\t\tfavicon.href = data.carbonioWebUiFavicon\n\t\t\t\t\t? data.carbonioWebUiFavicon\n\t\t\t\t\t: `${BASE_PATH}favicon.svg`;\n\t\t\t}\n\t\t\tif (data.carbonioWebUiTitle) {\n\t\t\t\tdocument.title = data.carbonioWebUiTitle;\n\t\t\t}\n\t\t})\n\t\t.catch((reason) => {\n\t\t\tconsole.warn(reason);\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 { 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\tlogoff: true\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 {\n\tCreateTagRequest,\n\tCreateTagResponse,\n\tTagActionRequest,\n\tTagActionResponse\n} from '../../types';\nimport { Tag } from '../../types/tags';\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\n\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 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: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { debounce, noop } from 'lodash';\nimport {\n\tNotificationConfig,\n\tPopupNotificationConfig,\n\tAudioNotificationConfig,\n\tINotificationManager\n} from '../../types/notification';\nimport defaultAudio from '../../assets/notification.mp3';\nimport defaultIcon from '../../assets/carbonio-logo.png';\n\nconst PopupNotificationDefaultConfig = {\n\ttitle: 'Carbonio client',\n\ticon: defaultIcon,\n\tvibrate: [200, 100, 200]\n};\n\nconst AudioNotificationDefaultConfig = {\n\tsound: defaultAudio\n};\n\nconst NotificationDefaultConfig: NotificationConfig = {\n\t...PopupNotificationDefaultConfig,\n\t...AudioNotificationDefaultConfig,\n\tshowPopup: true,\n\tplaySound: false\n};\n\n/**\n * The main goals of the NotificationManager are:\n * - to provide a single and rich implementation for all the Carbonio modules,\n * reducing the boilerplate code needed to send a notification to the user\n * - to optimize the audio notifications avoiding to spam the same sound file\n * in a short period of time\n * - to act as a collector for all the notification (for possible future\n * implementations)\n *\n * In order to reduce the effort needed to send a notification the class\n * provided a set of default values/assets (e.g. icon, sound, title, ...)\n *\n * The class is provided as a singleton\n */\nexport class NotificationManager implements INotificationManager {\n\tprivate static instance: NotificationManager;\n\n\t/**\n\t * Minimum time (ms) to wait before the same audio file will be played\n\t * @private\n\t */\n\tprivate static DEBOUNCE_TIME = 1000;\n\n\t/**\n\t * Map of functions to play a specific audio file\n\t * @private\n\t */\n\tprivate functions = new Map<string, () => void>();\n\n\t/**\n\t * Gets or creates the (debounced) function to play the audio file\n\t * @param sound - relative path to the audio file to play\n\t */\n\tprivate getAudioFileFunction = (sound: string): (() => void) => {\n\t\tif (!this.functions.has(sound)) {\n\t\t\tthis.functions.set(\n\t\t\t\tsound,\n\t\t\t\tdebounce(() => {\n\t\t\t\t\tnew Audio(sound).play().then();\n\t\t\t\t\tthis.functions.delete(sound);\n\t\t\t\t}, NotificationManager.DEBOUNCE_TIME)\n\t\t\t);\n\t\t}\n\t\tconst result = this.functions.get(sound);\n\t\treturn result ?? noop;\n\t};\n\n\t/**\n\t * Executes the debounced function to play the audio file\n\t * @param config - Configuration for the audio notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic playSound = (config: AudioNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...AudioNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\t\tif (!defConfig.sound) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getAudioFileFunction(defConfig.sound)();\n\t};\n\n\t/**\n\t * Shows a popup notification\n\t * @param config - Configuration for the popup notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic showPopup = (config: PopupNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...PopupNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tconst n = new Notification(defConfig.title, {\n\t\t\tbody: defConfig.message,\n\t\t\tvibrate: defConfig.vibrate,\n\t\t\ticon: defConfig.icon,\n\t\t\ttag: defConfig?.tag\n\t\t});\n\n\t\tif (defConfig.onClick) {\n\t\t\tn.addEventListener('click', defConfig.onClick);\n\t\t}\n\t};\n\n\t/**\n\t * Sends a popup/audio notification to the user\n\t * @param config - Configuration for the notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic notify = (config: NotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...NotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tif (defConfig?.showPopup) {\n\t\t\tthis.showPopup(defConfig);\n\t\t}\n\n\t\tif (defConfig?.playSound) {\n\t\t\tthis.playSound(defConfig);\n\t\t}\n\t};\n\n\t/**\n\t * Sends multiple notifications\n\t * @param config - Array of configurations for the notifications. In case of\n\t * missing properties default values are used\n\t */\n\tpublic multipleNotify = (config: NotificationConfig[]): void => {\n\t\tconfig.forEach((conf) => this.notify(conf));\n\t};\n\n\t/**\n\t * Return the singleton instance\n\t */\n\tpublic static getInstance(): NotificationManager {\n\t\tif (!NotificationManager.instance) {\n\t\t\tNotificationManager.instance = new NotificationManager();\n\t\t}\n\n\t\treturn NotificationManager.instance;\n\t}\n}\n\nexport const getNotificationManager = (): INotificationManager => NotificationManager.getInstance();\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, ReactElement, useEffect } from 'react';\n\nexport const NotificationPermissionChecker: FC = (): ReactElement => {\n\tuseEffect(() => {\n\t\tif (!('Notification' in window)) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('This browser does not support desktop notifications');\n\t\t} else {\n\t\t\tNotification.requestPermission();\n\t\t}\n\t}, []);\n\n\treturn <></>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Event, Severity } from '@sentry/browser';\nimport {\n\tButtonOld as Button,\n\tContainer,\n\tContainerProps,\n\tIcon,\n\tRow,\n\tSelect,\n\tSnackbarManagerContext,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map } from 'lodash';\nimport React, {\n\tFC,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseReducer,\n\tuseState\n} from 'react';\nimport { TFunction } from 'react-i18next';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { useUserAccount } from '../store/account';\nimport { useAppList } from '../store/app';\nimport { closeBoard } from '../store/boards';\nimport { getT } from '../store/i18n';\nimport { feedback } from './functions';\n\nconst TextArea = styled.textarea<{ size?: keyof DefaultTheme['sizes']['font'] }>`\n\twidth: 100%;\n\tmin-height: 8rem;\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: flex-start;\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: 0.125rem 0.125rem 0 0;\n\tpadding: 0.5rem;\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: 0.0625rem solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)<{ lineHeight?: string }>`\n\tborder-radius: 0.125rem 0.125rem 0 0;\n\tfont-size: 0.875rem;\n\tfont-weight: 300;\n\tmargin-top: 0.625rem;\n\tline-height: ${({ lineHeight }): string => lineHeight ?? 'normal'};\n`;\n\ninterface LabelContainerProps extends ContainerProps {\n\tdisabled: boolean;\n}\n\nconst LabelContainer = styled(Container)<LabelContainerProps>`\n\tborder-bottom: 0.0625rem solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.error.regular : theme.palette.gray2.regular};\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\tdisabled: boolean;\n}> = ({ selected, label, open, focus, disabled }) => (\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\tdisabled={disabled}\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 = getT();\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 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('feedback');\n\t}, [event, createSnackbar, t]);\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\tconst topics = useMemo(() => getTopics(t), [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=\"large\">\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=\"1.5\">\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=\"19.0625rem\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"small\">\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\tdefaultSelection={{ label: '', value: '' }}\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=\"19.0625rem\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"small\">\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\titems={topics}\n\t\t\t\t\t\tdefaultSelection={\n\t\t\t\t\t\t\tfind(topics, ['value', event.extra?.topic]) ?? { label: '', value: '' }\n\t\t\t\t\t\t}\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 { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useCurrentRoute, pushHistory } from '../history/hooks';\n\nconst SelectorContainer = styled(Container)<{ open?: boolean }>`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray4.regular};\n\tcursor: pointer;\n\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].regular};\n\n\t&:hover {\n\t\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].hover};\n\t}\n`;\n\nconst ModuleSelectorComponent: FC<{ app: string | undefined }> = ({ app }) => {\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\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: (): void => {\n\t\t\t\t\tupdateModule(route);\n\t\t\t\t\tpushHistory({ route: SEARCH_APP_ID, path: `/${route}` });\n\t\t\t\t}\n\t\t\t})),\n\t\t[module, modules, updateModule]\n\t);\n\n\tuseEffect(() => {\n\t\tif (app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [app, 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=\"2.625rem\"\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"9.375rem\"\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\nconst MemoModuleSelector = React.memo(ModuleSelectorComponent);\n\nexport const ModuleSelector = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\n\treturn <MemoModuleSelector app={activeRoute?.app} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { QueryChip } from '../../types';\nimport { SEARCH_APP_ID } from '../constants';\nimport { pushHistory } from '../history/hooks';\nimport { useSearchStore } from './search-store';\n\nexport const runSearch = (query: Array<QueryChip>, module: string): void => {\n\tuseSearchStore.setState({ query, module, searchDisabled: false });\n\tpushHistory({ route: SEARCH_APP_ID, path: `/${module}` });\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tChip,\n\tContainer,\n\tDivider,\n\tIcon,\n\tPadding,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, ReactElement, useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { QueryChip, ResultLabelType } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useSearchStore } from './search-store';\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]);\n\nconst getIconAndColor = (labelType: ResultLabelType): Array<string> => {\n\tif (labelType === ResultLabelType.WARNING) {\n\t\treturn ['AlertTriangle', 'warning'];\n\t}\n\tif (labelType === ResultLabelType.ERROR) {\n\t\treturn ['CloseSquare', 'error'];\n\t}\n\treturn ['', ''];\n};\n\nconst ResultsHeader: FC<{ label: string; labelType?: ResultLabelType }> = ({\n\tlabel,\n\tlabelType = ResultLabelType.NORMAL\n}) => {\n\tconst t = getT();\n\tconst [query, updateQuery] = useQuery();\n\tconst [, setDisabled] = useDisableSearch();\n\n\tconst resetQuery = useCallback(() => {\n\t\tupdateQuery([]);\n\t\tsetDisabled(false);\n\t}, [updateQuery, setDisabled]);\n\n\tconst labelTypeElem = useMemo<ReactElement | undefined>(() => {\n\t\tif (labelType === ResultLabelType.NORMAL) {\n\t\t\treturn <></>;\n\t\t}\n\n\t\tconst [icon, color] = getIconAndColor(labelType);\n\t\treturn (\n\t\t\t<Padding right=\"small\">\n\t\t\t\t<Icon icon={icon} size=\"large\" color={color} />\n\t\t\t</Padding>\n\t\t);\n\t}, [labelType]);\n\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=\"3rem\"\n\t\t\t\tmaxHeight=\"7.5rem\"\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{labelTypeElem}\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\twidth=\"fill\"\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\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 {\n\tChipInput,\n\tChipItem,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map, reduce } from 'lodash';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { LOCAL_STORAGE_SEARCH_KEY, SEARCH_APP_ID } from '../constants';\nimport { useLocalStorage } from '../shell/hooks';\n\nimport { QueryChip } from '../../types';\nimport { getT } from '../store/i18n';\nimport { ModuleSelector } from './module-selector';\nimport { useSearchStore } from './search-store';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 0.0625rem 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 1rem;\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: 2.625rem;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-0.125rem);\n\t}\n`;\n\ntype SearchLocalStorage = Array<{\n\tvalue: string;\n\tlabel: string;\n\ticon: string;\n\tapp: string;\n\tid: string;\n}>;\nexport const SearchBar: FC = () => {\n\tconst [searchIsEnabled, setSearchIsEnabled] = useState(false);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst t = getT();\n\tconst [storedValue, setStoredValue] = useLocalStorage<SearchLocalStorage>(\n\t\tLOCAL_STORAGE_SEARCH_KEY,\n\t\t[]\n\t);\n\tconst [inputTyped, setInputTyped] = useState('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled, tooltip } =\n\t\tuseSearchStore();\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<{ id: string; label: string; hasAvatar: false }>>(\n\t\t[]\n\t);\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\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(' '), (label: string, id: number) => ({\n\t\t\t\t\t\tid: `${id}`,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t}))\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\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\n\t\t\tsetInputTyped('');\n\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\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\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, history, module, inputTyped, inputState]);\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((value) => [\n\t\t\t\t\t...value,\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\tlabel: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\tid: `${value.length}`,\n\t\t\t\t\t\thasAvatar: false\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>(null);\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\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(() => {\n\t\t\t\t\tsetTriggerSearch(true);\n\t\t\t\t\tremoveFocus();\n\t\t\t\t}, 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, removeFocus]);\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 | unknown): ChipItem => {\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: typeof newChip === 'string' ? newChip : '',\n\t\t\t\tvalue: newChip,\n\t\t\t\thasAvatar: false\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 disableClearButton = useMemo(() => (isTyping ? false : !showClear), [showClear, isTyping]);\n\n\treturn (\n\t\t<Container\n\t\t\tminWidth=\"fit-content\"\n\t\t\twidth=\"fit\"\n\t\t\tflexGrow=\"1\"\n\t\t\torientation=\"horizontal\"\n\t\t\tref={containerRef}\n\t\t>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={\n\t\t\t\t\ttooltip ??\n\t\t\t\t\tt('search.unable_to_parse_query', '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=\"32rem\" 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 />\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\tseparators={['Enter', 'NumpadEnter', 'Comma', 'Space']}\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\tsize=\"large\"\n\t\t\t\t\t\t\t\t\tcustomSize={{\n\t\t\t\t\t\t\t\t\t\ticonSize: 'large',\n\t\t\t\t\t\t\t\t\t\tpaddingSize: 'small'\n\t\t\t\t\t\t\t\t\t}}\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\tsize=\"large\"\n\t\t\t\t\t\t\t\tcustomSize={{\n\t\t\t\t\t\t\t\t\ticonSize: 'large',\n\t\t\t\t\t\t\t\t\tpaddingSize: 'small'\n\t\t\t\t\t\t\t\t}}\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\ttooltip: undefined,\n\tsetSearchDisabled: (searchDisabled: boolean, tooltip?: string): void =>\n\t\tset({ searchDisabled, tooltip }),\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 { map } from 'lodash';\nimport React, { useMemo } from 'react';\nimport { useUserAccount } from '../store/account';\nimport { getT } from '../store/i18n';\nimport { AccountsSettings } from './accounts-settings';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst t = getT();\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, { DelegateType } 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 };\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<DelegateType[]>([]);\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 = t('label.accounts', 'Accounts');\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\tButtonOld as Button,\n\tIcon,\n\tModalManagerContext,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max, noop } 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\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 }: ItemComponentProps<IdentityProps>): 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%, 32rem))\"\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/>\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\tonClick={noop}\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\tItemType,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { noop } from 'lodash';\n\nexport interface DelegateType extends ItemType {\n\temail: string;\n\tright: string;\n\tlabel?: string;\n}\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: Array<DelegateType>;\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\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 }: ItemComponentProps<DelegateType>): 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%, 32rem))\"\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 items={items} ItemComponent={ListItem} active={activeDelegateView} height=\"fit\" />\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\tonClick={noop}\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\tonClick={noop}\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.remove', 'remove')}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled\n\t\t\t\t\tonClick={noop}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 32rem))\"\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%', justifyContent: 'flex-start' }}\n\t\t\t\t\tvalue={activeValue}\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, { 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%, 32rem))\"\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 color=\"secondary\">\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 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} 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 { Checkbox, Container, Input, Padding, Row, Text } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport React, { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\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 = t('label.when_replying', 'When replying or forwarding messages sent to:');\n\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(value: string) => {\n\t\t\tsetWhenSentToAddresses(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefWhenSentToAddresses',\n\t\t\t\tvalue\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%, 32rem))\"\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\tdisabled={!whenSentToEnabled}\n\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\tonChange={(ev): void => onChangeWhenSentToAddresses(ev.target.value)}\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(value: string): void => {\n\t\t\tsetAccountNameValue(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\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%, 32rem))\"\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 label={emailLabel} value={emailValue || ' '} onChange={onChangeDisabled} />\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\tonChange={(ev): void => onChange(ev.target.value)}\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 {\n\tCheckbox,\n\tContainer,\n\tDropdown,\n\tIcon,\n\tInput,\n\tPadding,\n\tRow,\n\tSelect,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { filter, find } from 'lodash';\nimport React, { ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\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 blankItem = { label: '', value: '' };\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\t() => find(fromAddressArray, (item) => item.value === items.fromAddress) ?? blankItem\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) ?? blankItem;\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 = (value: string): void => {\n\t\tsetFromDisplayValue(value);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefFromDisplay',\n\t\t\tvalue\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 = t(\n\t\t'label.set_reply_to_field',\n\t\t'Set the \"Reply-to\" field of e-mail message to:'\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(value: string): void => {\n\t\t\tsetReplyToDisplay(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToDisplay',\n\t\t\t\tvalue\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}\n\t\t],\n\t\t[items.fromAddress]\n\t);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(value: string) => {\n\t\t\tsetReplyToAddress(value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\tvalue\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%, 32rem))\"\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={(ev): void => onChangeFromDisplayValue(ev.target.value)}\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\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\tonChange={(ev): void => onChangePrefReplyToDisplay(ev.target.value)}\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={(ev): void => onChangeReplyToAddress(ev.target.value)}\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)<{ allDay?: boolean }>`\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\n\t.rw-btn::-moz-focus-inner {\n\t\tpadding: 0;\n\t\tborder: 0;\n\t}\n\n\tselect.rw-input {\n\t\ttext-transform: none;\n\t}\n\n\thtml input[type='button'].rw-input {\n\t\t-webkit-appearance: button;\n\t\tcursor: pointer;\n\t}\n\n\ttextarea.rw-input {\n\t\toverflow: auto;\n\t\tresize: vertical;\n\t}\n\n\tbutton[disabled].rw-input,\n\tfieldset[disabled] .rw-input,\n\thtml input[disabled].rw-input {\n\t\tcursor: not-allowed;\n\t}\n\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\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 {\nfont-family: \"RwWidgets\";\nfont-weight: normal;\nfont-style: normal;\n${/* src: url(\"../fonts/rw-widgets.eot?v=4.1.0\");\nsrc: url(\"../fonts/rw-widgets.eot?#iefix&v=4.1.0\") format(\"embedded-opentype\"),\nurl(\"../fonts/rw-widgets.woff?v=4.1.0\") format(\"woff\"),\nurl(\"../fonts/rw-widgets.ttf?v=4.1.0\") format(\"truetype\"),\n url(\"../fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular\") format(\"svg\"); */ ''\n\t};\n\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\n\t.rw-i-caret-down:before {\n\t\tcontent: '\\e803';\n\t}\n\n\t.rw-i-caret-up:before {\n\t\tcontent: '\\e800';\n\t}\n\n\t.rw-i-chevron-left:before {\n\t\tcontent: '\\f104';\n\t}\n\n\t.rw-i-chevron-right:before {\n\t\tcontent: '\\f105';\n\t}\n\n\t.rw-i-clock-o:before {\n\t\tcontent: '\\e805';\n\t}\n\n\t.rw-i-calendar:before {\n\t\tcontent: '\\e804';\n\t}\n\n\t.rw-i-search:before {\n\t\tcontent: '\\e801';\n\t}\n\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: 0.0625rem solid transparent;\n\t\tcursor: pointer;\n\t\toutline: none;\n\t}\n\n\t.rw-state-readonly .rw-btn,\n\t.rw-state-disabled .rw-btn {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-btn-select {\n\t\topacity: 0.75;\n\t\ttransition: opacity 150ms ease-in;\n\t}\n\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\n\t.rw-btn-primary {\n\t\twidth: 100%;\n\t\twhite-space: normal;\n\t\tline-height: 2rem;\n\t}\n\n\t.rw-btn-primary:hover {\n\t\tbackground-color: #e6e6e6;\n\t}\n\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\n\t.rw-sr {\n\t\tposition: absolute;\n\t\twidth: 0.0625rem;\n\t\theight: 0.0625rem;\n\t\tmargin: -0.0625rem;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip: rect(0, 0, 0, 0);\n\t\tborder: 0;\n\t}\n\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: 0.125rem 0.125rem 0 0;\n\t\twidth: 100%;\n\t}\n\n\t.rw-widget,\n\t.rw-widget * {\n\t\tbox-sizing: border-box;\n\t}\n\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\n\t.rw-widget > .rw-widget-container {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.rw-widget-container {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray5.regular};\n\t\tborder-bottom: ${({ theme }): string => theme.palette.gray2.regular} 0.0625rem solid;\n\t}\n\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 }): string => theme.palette.gray5.focus};\n\t\tborder-bottom: ${({ theme }): string => theme.palette.primary.regular} 0.0625rem solid;\n\t}\n\n\t.rw-widget-container.rw-state-readonly,\n\t.rw-state-readonly > .rw-widget-container {\n\t\tcursor: not-allowed;\n\t}\n\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: 2.625rem;\n\t}\n\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\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\n\t.rw-widget-picker > .rw-select {\n\t\twidth: ${({ allDay }): string => (allDay ? '2.125rem' : '4.25rem')};\n\t\twhite-space: nowrap;\n\t}\n\n\t.rw-open > .rw-widget-picker {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\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\n\tfieldset[disabled] .rw-widget-picker,\n\t.rw-state-disabled > .rw-widget-picker {\n\t\tbackground-color: #eee;\n\t}\n\n\t.rw-multiselect > .rw-widget-picker {\n\t\theight: auto;\n\t}\n\n\t.rw-select {\n\t\tcursor: pointer;\n\t}\n\n\t.rw-select > * {\n\t\twidth: 2rem;\n\t\theight: 100%;\n\t}\n\n\t.rw-state-readonly .rw-select,\n\t.rw-state-disabled .rw-select {\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-select-bordered {\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-left: #ccc 0.0625rem solid;\n\t}\n\n\t.rw-select-bordered:hover,\n\t.rw-select-bordered:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\n\t.rw-select-bordered:active {\n\t\tbox-shadow: inset 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.125);\n\t}\n\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\n\t.rw-rtl .rw-select-bordered {\n\t\tborder-right: #ccc 0.0625rem solid;\n\t\tborder-left: none;\n\t}\n\n\t.rw-rtl {\n\t\tdirection: rtl;\n\t}\n\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\n\t.rw-input-reset::-moz-placeholder {\n\t\tcolor: #999;\n\t\topacity: 1;\n\t}\n\n\t.rw-input-reset:-ms-input-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-input-reset::-webkit-input-placeholder {\n\t\tcolor: #999;\n\t}\n\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tpadding: 0 0.857rem;\n\t}\n\n\t.rw-input[type='text']::-ms-clear {\n\t\tdisplay: none;\n\t}\n\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\n\t.rw-input[readonly] {\n\t\tcursor: not-allowed;\n\t}\n\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: 1rem;\n\t\twidth: 1.9rem;\n\t\theight: 1rem;\n\t}\n\n\t.rw-i.rw-loading:before {\n\t\tcontent: '';\n\t}\n\n\t.rw-placeholder {\n\t\tcolor: #999;\n\t}\n\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\n\t.rw-detect-autofill:not(:-webkit-autofill) {\n\t\tanimation-name: react-widgets-autofill-cancel;\n\t}\n\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\n\t.rw-widget-input,\n\t.rw-filter-input {\n\t}\n\n\t.rw-widget-input.rw-state-focus {\n\t\tbox-shadow: 0 0 0.5rem rgba(102, 175, 233, 0.6),\n\t\t\tinset 0 0.0625rem 0.0625rem rgba(0, 0, 0, 0.075);\n\t}\n\n\t.rw-list {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tfont-size: 1rem;\n\t\toutline: 0;\n\t\toverflow: auto;\n\t\tmax-height: 12.5rem;\n\t}\n\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: 0.0625rem solid transparent;\n\t}\n\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\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\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\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\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\n\t.rw-list-empty,\n\t.rw-list-option,\n\t.rw-list-optgroup {\n\t\tpadding: 0.143rem 0.75rem;\n\t\toutline: 0;\n\t}\n\n\t.rw-list-optgroup {\n\t\tfont-weight: bold;\n\t\tpadding-top: 0.4375rem;\n\t}\n\n\t.rw-list-option-create {\n\t\tborder-top: 0.0625rem #ccc solid;\n\t}\n\n\t.rw-dropdown-list-autofill {\n\t\tpadding: 0;\n\t}\n\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: 0.0625rem;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-rtl .rw-dropdown-list-input {\n\t\tpadding-right: 0.857rem;\n\t\tpadding-left: 0;\n\t}\n\n\t.rw-filter-input {\n\t\tposition: relative;\n\t\tmargin: 0.25rem;\n\t\tpadding-right: 0;\n\t}\n\n\t.rw-filter-input .rw-rtl {\n\t\tpadding-right: 0.857rem;\n\t\tpadding-left: 0;\n\t}\n\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\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.2145rem - 0.0625rem);\n\t\t${\n\t\t\t/*\n margin-top: -0.0625rem\\9;\nheight: 1.2145rem\\9;\n*/ 'border: 0.125rem solid red;'\n\t\t};\n\t\tline-height: 1.2145rem;\n\t\tline-height: calc(1.2145rem - 0.0625rem);\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\n\t.rw-number-picker .rw-btn:active {\n\t\tbox-shadow: inset 0 0.1875rem 0.3125rem rgba(0, 0, 0, 0.125);\n\t}\n\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\n\t.rw-number-picker .rw-select {\n\t\tvertical-align: middle;\n\t}\n\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\n\t.rw-calendar-popup {\n\t\tright: auto;\n\t\tmin-width: 0;\n\t\twidth: 18rem;\n\t}\n\n\t.rw-calendar {\n\t\tborder-radius: 0.25rem;\n\t\tbackground-color: #fff;\n\t\tborder: #ccc 0.0625rem solid;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-calendar.rw-popup {\n\t\tborder-color: #ccc;\n\t}\n\n\t.rw-calendar-now {\n\t\tfont-weight: bold;\n\t}\n\n\t.rw-calendar-btn-left,\n\t.rw-calendar-btn-right {\n\t\twidth: 12.5%;\n\t}\n\n\t.rw-calendar-btn-view {\n\t\twidth: 75%;\n\t}\n\n\t.rw-calendar-footer {\n\t\tborder-top: 0.0625rem solid #ccc;\n\t}\n\n\t.rw-calendar-grid {\n\t\toutline: none;\n\t\theight: 14.28571429rem;\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\n\t.rw-head-cell {\n\t\ttext-align: center;\n\t\tborder-bottom: 0.0625rem solid #ccc;\n\t\tpadding: 0.25rem;\n\t}\n\n\t.rw-cell {\n\t\tcolor: #333;\n\t\tborder-radius: 0.25rem;\n\t\tcursor: pointer;\n\t\tline-height: normal;\n\t\ttext-align: center;\n\t\tborder: 0.0625rem solid transparent;\n\t\tpadding: 0.25rem;\n\t}\n\n\t.rw-cell:hover {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\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\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\n\t.rw-cell.rw-state-disabled {\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\n\t.rw-cell.rw-state-disabled:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\n\t.rw-calendar-month .rw-cell {\n\t\ttext-align: center;\n\t}\n\n\t.rw-cell-off-range {\n\t\tcolor: #999;\n\t}\n\n\t.rw-calendar-transition-group {\n\t\tposition: relative;\n\t}\n\n\t.rw-calendar-transition {\n\t\ttransition: transform 300ms;\n\t\toverflow: hidden;\n\t}\n\n\t.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\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\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\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\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\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\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\n\t.rw-select-list {\n\t\toverflow: auto;\n\t\tposition: relative;\n\t}\n\n\t.rw-select-list .rw-list {\n\t\tmax-height: none;\n\t\tfont-size: 1rem;\n\t}\n\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: 1.25rem;\n\t\tmargin: 0;\n\t}\n\n\t.rw-rtl .rw-select-list-label {\n\t\tpadding-left: 0;\n\t\tpadding-right: 1.25rem;\n\t}\n\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.1rem\\9; */ ''};\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t\tcursor: inherit;\n\t}\n\n\t.rw-rtl input.rw-select-list-input {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\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: 0.25rem;\n\t\topacity: 0.7;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t.rw-multiselect {\n\t\tcursor: text;\n\t}\n\n\t.rw-multiselect .rw-input-reset {\n\t\theight: calc(2.429rem - 0.125rem);\n\t\t${\n\t\t\t/* margin-top: -0.125rem\\9;\nheight: 2.429rem\\9; */ ''\n\t\t};\n\t\tborder-width: 0;\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t\tpadding: 0 0.857rem;\n\t}\n\n\t.rw-multiselect .rw-select {\n\t\tvertical-align: middle;\n\t}\n\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\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\n\t.rw-multiselect-tag {\n\t\tdisplay: inline-table;\n\t\tcolor: inherit;\n\t\tpadding: 0 0.35rem 0 0.35rem;\n\t\tmargin-left: calc(0.279335rem - 0.0625rem);\n\t\tmargin-top: 0.279335rem;\n\t\tmargin-top: calc(0.279335rem - 0.0625rem);\n\t\theight: 1.87033rem;\n\t\tborder-radius: 0.1875rem;\n\t\tbackground-color: #eee;\n\t\tborder: 0.0625rem 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\n\t.rw-multiselect-tag > * {\n\t\tdisplay: table-cell;\n\t\tvertical-align: middle;\n\t\theight: 100%;\n\t}\n\n\t.rw-rtl .rw-multiselect-tag {\n\t\tmargin-left: 0;\n\t\tmargin-right: calc(0.279335rem - 0.0625rem);\n\t\tpadding: 0 0.35rem 0 0.35rem;\n\t}\n\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\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\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\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-multiselect-tag-btn {\n\t\tcolor: inherit;\n\t\tmargin-left: 0.25rem;\n\t}\n\n\t.rw-rtl .rw-multiselect-tag-btn {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0.25rem;\n\t}\n\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\n\t.rw-popup-container {\n\t\tposition: absolute;\n\t\tz-index: 1005;\n\t\ttop: 100%;\n\t\tleft: -0.375rem;\n\t\tright: -0.375rem;\n\t}\n\n\t.rw-popup-container.rw-dropup {\n\t\ttop: auto;\n\t\tbottom: 100%;\n\t}\n\n\t.rw-state-focus .rw-popup-container {\n\t\tz-index: 1006;\n\t}\n\n\t.rw-popup-transition {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.375rem;\n\t\tpadding: 0 0.375rem;\n\t}\n\n\t.rw-dropup > .rw-popup-transition {\n\t\tmargin-bottom: 0;\n\t\tmargin-top: 0.375rem;\n\t}\n\n\t.rw-popup {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-right-radius: 0.1875rem;\n\t\tborder-bottom-left-radius: 0.1875rem;\n\t\tbox-shadow: 0 0.3125rem 0.375rem rgba(0, 0, 0, 0.2);\n\t\tborder: #ccc 0.0625rem solid;\n\t\tbackground: #fff;\n\t}\n\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: 0.1875rem;\n\t\tborder-top-left-radius: 0.1875rem;\n\t\tbox-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.2);\n\t}\n\n\t.rw-popup-transition {\n\t\ttransition: transform 200ms;\n\t}\n\n\t.rw-popup-transition-entering {\n\t\toverflow: hidden;\n\t}\n\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\n\t.rw-popup-transition-exiting .rw-popup-transition {\n\t\ttransition-timing-function: ease-in;\n\t}\n\n\t.rw-popup-transition-exiting,\n\t.rw-popup-transition-exited {\n\t\toverflow: hidden;\n\t}\n\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\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\n\t.rw-popup-transition-exited {\n\t\tdisplay: none;\n\t}\n\n\t.rw-state-disabled {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme }): string => theme.sizes.font.medium};\n\tfont-weight: ${({ theme }): number => 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 { Checkbox, Container, Icon, Padding, Text } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useState } from 'react';\n\nimport moment from 'moment';\nimport DateTimePicker from 'react-widgets/lib/DateTimePicker';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../../types';\nimport Heading from './settings-heading';\nimport Styler from './date-picker-style';\nimport { getT } from '../../store/i18n';\nimport { changeDateEvent, endOfDate, getDateEvent, startOfDate } from './utils';\n\nmomentLocalizer();\n\nconst DateTimeSelect: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n\tsendAutoReply: boolean;\n}> = ({ settings, addMod, sendAutoReply }) => {\n\tconst t = getT();\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(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\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 { Container, Text } from '@zextras/carbonio-design-system';\nimport React, { useMemo } from 'react';\nimport { getT } from '../../../store/i18n';\nimport { appearanceSubSection } from '../../general-settings-sub-sections';\n\ninterface AppearanceSettingsProps {\n\tchildren: React.ReactElement | React.ReactElement[];\n}\n\nconst AppearanceSettings = ({ children }: AppearanceSettingsProps): JSX.Element => {\n\tconst t = getT();\n\tconst subSection = useMemo(() => appearanceSubSection(t), [t]);\n\treturn (\n\t\t<Container\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t\tgap=\"1rem\"\n\t\t\tpadding={'large'}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\theight={'fit'}\n\t\t\tid={subSection.id}\n\t\t\tbackground={'gray6'}\n\t\t>\n\t\t\t<Text weight={'bold'} size={'medium'}>\n\t\t\t\t{subSection.label}\n\t\t\t</Text>\n\t\t\t{children}\n\t\t</Container>\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 { Select, SelectProps, Text } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport React, { FC, useCallback, useContext, useMemo } from 'react';\nimport { AddMod, DarkReaderPropValues, isDarkReaderPropValues, RemoveMod } from '../../../../types';\nimport { ThemeCallbacksContext } from '../../../boot/theme-provider';\nimport { DARK_READER_PROP_KEY, SHELL_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport { useDarkReaderResultValue } from '../../../custom-hooks/useDarkReaderResultValue';\n\nconst DarkThemeSettingSection: FC<{\n\taddMod: AddMod;\n\tremoveMod: RemoveMod;\n}> = ({ addMod, removeMod }) => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\n\tconst t = getT();\n\tconst items = useMemo<Array<{ label: string; value: DarkReaderPropValues }>>(\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: darkReaderResultValue }),\n\t\t[darkReaderResultValue, items]\n\t);\n\tconst onSelectionChange = useCallback<NonNullable<SelectProps['onChange']>>(\n\t\t(value) => {\n\t\t\tif (isDarkReaderPropValues(value)) {\n\t\t\t\tsetDarkReaderState(value);\n\t\t\t\tif (value !== darkReaderResultValue) {\n\t\t\t\t\taddMod('props', DARK_READER_PROP_KEY, { app: SHELL_APP_ID, value });\n\t\t\t\t} else {\n\t\t\t\t\tremoveMod('props', DARK_READER_PROP_KEY);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[addMod, darkReaderResultValue, removeMod, setDarkReaderState]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Text size=\"medium\" weight=\"bold\">\n\t\t\t\t{t('settings.general.theme_options', 'Theme Options')}\n\t\t\t</Text>\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</>\n\t);\n};\n\nexport default DarkThemeSettingSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ButtonOld as Button, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { logout } from '../../../network/logout';\nimport { getT } from '../../../store/i18n';\nimport { accountSubSection } from '../../general-settings-sub-sections';\n\nconst Logout: FC = () => {\n\tconst t = getT();\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%, 32rem))\"\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 {\n\tBadge,\n\tContainer,\n\tDivider,\n\tFormSubSection,\n\tText,\n\tThemeContext,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, useContext, useMemo } from 'react';\nimport { useAppList } from '../../../store/app/hooks';\n\nimport { CarbonioModule } from '../../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants/index';\nimport { getT } from '../../../store/i18n';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings: FC = () => {\n\tconst apps = useAppList();\n\tconst t = getT();\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%, 32rem))\"\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\tbackgroundColor: theme.palette.success.regular,\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 {\n\tCheckbox,\n\tContainer,\n\tFormSubSection,\n\tPadding,\n\tSelect\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { find } from 'lodash';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../../../types';\nimport Heading from '../settings-heading';\nimport DateTimeSelect from '../date-time-select-view';\nimport { getT } from '../../../store/i18n';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\nimport {\n\tgetExternalSendersPrefsData,\n\tgetOutOfOfficeStatusPrefsData,\n\tItemsExternalSenders,\n\tItemsOutOfOfficeStatus,\n\tItemsSendAutoReplies\n} from '../utils';\n\nconst TextArea = styled.textarea`\n\tbox-sizing: border-box;\n\tpadding: 0.625rem;\n\tmin-height: 9.375rem;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tflex-grow: 1;\n\twidth: 100%;\n\tborder: none;\n\tresize: vertical;\n\t& :focus,\n\t:active {\n\t\tbox-shadow: none;\n\t\tborder: none;\n\t\toutline: none;\n\t}\n`;\n\nmomentLocalizer();\n\nconst OutOfOfficeView: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}> = ({ settings, addMod }) => {\n\tconst t = getT();\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(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\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 defaultSendAutoreply = useMemo(\n\t\t() => getExternalSendersPrefsData(settings, 'label', t),\n\t\t[settings, t]\n\t);\n\tconst defaultOutOfOfficeStatus = useMemo(\n\t\t() => getOutOfOfficeStatusPrefsData(settings, t),\n\t\t[settings, t]\n\t);\n\tconst selectedItemSendAutoReplies = useMemo(\n\t\t() => find(itemsSendAutoReplies, (item) => item && (item.value === 'TRUE') === sendAutoReply),\n\t\t[itemsSendAutoReplies, sendAutoReply]\n\t);\n\n\tconst outOfOfficeSection = useMemo(() => outOfOfficeSubSection(t), [t]);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={outOfOfficeSection.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={outOfOfficeSection.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\tif (value && (value === 'TRUE') !== sendAutoReply) {\n\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefOutOfOfficeReplyEnabled');\n\t\t\t\t\t\t\tsetSendAutoReply(value === 'TRUE');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selectedItemSendAutoReplies}\n\t\t\t\t/>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message',\n\t\t\t\t\t\t\t'Auto-Reply Message:'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(ev.target.value);\n\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\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(t)}\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\tif (value && value !== defaultSendAutoreply?.value) externalSendersHandler(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tselection={defaultSendAutoreply}\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<TextArea\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\tplaceholder={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\tonChange={(ev): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(ev.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeExternalReply');\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)}\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(t)}\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\tif (value && value !== defaultOutOfOfficeStatus?.value)\n\t\t\t\t\t\t\t\t\tcreateAppointmentAsHandler(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tselection={defaultOutOfOfficeStatus}\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: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useTranslation } from 'react-i18next';\nimport React, { useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';\nimport {\n\tButton,\n\tCheckbox,\n\tContainer,\n\tSlider,\n\tSliderProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport styled, { SimpleInterpolation } from 'styled-components';\nimport { ScalingSettings } from '../../../../types/settings';\nimport { BASE_FONT_SIZE, SCALING_OPTIONS } from '../../../constants';\nimport { getAutoScalingFontSize } from '../utils';\n\nconst ScalingSliderContainer = styled(Container)`\n\tbox-shadow: 0px 0px 4px rgba(166, 166, 166, 0.5);\n\tborder-radius: 0.5rem;\n`;\n\nconst ExampleContainer = styled(Container)<{ $fontSize: number | undefined }>`\n\tfont-size: ${({ $fontSize }): SimpleInterpolation => $fontSize && `${$fontSize}%`};\n`;\n\nconst ExampleText = styled(Text)`\n\tfont-size: 1em; /* font-size needs to be relative to ExampleContainer */\n`;\n\ninterface ScalingSettingSectionProps {\n\tscalingSettings: ScalingSettings;\n\taddLocalStoreChange: (\n\t\tkey: keyof ScalingSettings,\n\t\tvalue: ScalingSettings[keyof ScalingSettings]\n\t) => void;\n\tcleanLocalStoreChange: (key: keyof ScalingSettings) => void;\n}\n\nexport type ScalingSettingSectionRef = { reset: () => void };\n\nconst BASE_FONT_OPTION_INDEX = SCALING_OPTIONS.findIndex(\n\t(option) => option.value === BASE_FONT_SIZE\n);\n\nconst AUTOSCALING_FONT_SIZE = getAutoScalingFontSize();\nconst AUTOSCALING_FONT_OPTION_INDEX = SCALING_OPTIONS.findIndex(\n\t(option) => option.value === AUTOSCALING_FONT_SIZE\n);\n\nexport const ScalingSettingSection = React.forwardRef<\n\tScalingSettingSectionRef,\n\tScalingSettingSectionProps\n>(function ScalingSettingSectionFn(\n\t{ scalingSettings, addLocalStoreChange, cleanLocalStoreChange }: ScalingSettingSectionProps,\n\tref\n) {\n\tconst [t] = useTranslation();\n\n\tconst [scalingOptionValues, scalingOptionLabels] = useMemo<[number[], string[]]>(\n\t\t() =>\n\t\t\tSCALING_OPTIONS.reduce<[number[], string[]]>(\n\t\t\t\t([values, labels], option) => {\n\t\t\t\t\tvalues.push(option.value);\n\t\t\t\t\tlabels.push(t('settings.appearance.option', { context: option.label }));\n\t\t\t\t\treturn [values, labels];\n\t\t\t\t},\n\t\t\t\t[[], []]\n\t\t\t),\n\t\t[t]\n\t);\n\n\tconst savedOptionIndex = useMemo<number>(() => {\n\t\tconst savedScalingValueSetting = scalingSettings['settings.appearance_setting.scaling'];\n\t\tif (savedScalingValueSetting !== undefined) {\n\t\t\tconst optionIndex = scalingOptionValues.findIndex(\n\t\t\t\t(option) => option === savedScalingValueSetting\n\t\t\t);\n\t\t\tif (optionIndex >= 0) {\n\t\t\t\treturn optionIndex;\n\t\t\t}\n\t\t}\n\t\treturn AUTOSCALING_FONT_OPTION_INDEX;\n\t}, [scalingOptionValues, scalingSettings]);\n\n\tconst [autoScaling, setAutoScaling] = useState(\n\t\tscalingSettings['settings.appearance_setting.auto'] ?? true\n\t);\n\tconst [scalingValue, setScalingValue] = useState<number>(savedOptionIndex);\n\n\tuseEffect(() => {\n\t\t// update input value when setting is updated\n\t\tsetScalingValue(savedOptionIndex);\n\t}, [savedOptionIndex]);\n\n\tuseEffect(() => {\n\t\tif (scalingOptionValues[scalingValue]) {\n\t\t\tif (scalingValue !== savedOptionIndex) {\n\t\t\t\taddLocalStoreChange(\n\t\t\t\t\t'settings.appearance_setting.scaling',\n\t\t\t\t\tscalingOptionValues[scalingValue]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcleanLocalStoreChange('settings.appearance_setting.scaling');\n\t\t\t}\n\t\t}\n\t}, [\n\t\taddLocalStoreChange,\n\t\tcleanLocalStoreChange,\n\t\tsavedOptionIndex,\n\t\tscalingOptionValues,\n\t\tscalingSettings,\n\t\tscalingValue\n\t]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t(scalingSettings['settings.appearance_setting.auto'] !== undefined &&\n\t\t\t\tautoScaling !== scalingSettings['settings.appearance_setting.auto']) ||\n\t\t\t(scalingSettings['settings.appearance_setting.auto'] === undefined && !autoScaling)\n\t\t) {\n\t\t\taddLocalStoreChange('settings.appearance_setting.auto', autoScaling);\n\t\t\tif (autoScaling) {\n\t\t\t\taddLocalStoreChange('settings.appearance_setting.scaling', undefined);\n\t\t\t}\n\t\t} else {\n\t\t\tcleanLocalStoreChange('settings.appearance_setting.auto');\n\t\t}\n\t}, [addLocalStoreChange, autoScaling, cleanLocalStoreChange, scalingSettings]);\n\n\tconst increaseScalingByStep = useCallback(() => {\n\t\tsetScalingValue((prevState) =>\n\t\t\tprevState < SCALING_OPTIONS.length - 1 ? prevState + 1 : prevState\n\t\t);\n\t}, []);\n\n\tconst decreaseScalingByStep = useCallback(() => {\n\t\tsetScalingValue((prevState) => (prevState > 0 ? prevState - 1 : prevState));\n\t}, []);\n\n\tconst toggleAutoScaling = useCallback(() => {\n\t\tsetAutoScaling((prevState) => !prevState);\n\t\tsetScalingValue(savedOptionIndex);\n\t}, [savedOptionIndex]);\n\n\tconst onChangeScalingValue = useCallback<NonNullable<SliderProps['onChange']>>(\n\t\t(ev, newValueIndex) => {\n\t\t\tsetScalingValue(newValueIndex);\n\t\t},\n\t\t[]\n\t);\n\n\tuseImperativeHandle(ref, () => ({\n\t\treset: (): void => {\n\t\t\tsetScalingValue(savedOptionIndex);\n\t\t\tsetAutoScaling(scalingSettings['settings.appearance_setting.auto'] ?? true);\n\t\t}\n\t}));\n\n\tconst exampleText = useMemo(\n\t\t() =>\n\t\t\tt(\n\t\t\t\t'settings.appearance.labels.choose_size_pangram',\n\t\t\t\t'The quick brown fox jumps over the lazy dog.'\n\t\t\t),\n\t\t[t]\n\t);\n\n\tconst exampleFontSize = useMemo<number>(\n\t\t() =>\n\t\t\t// Revert the percentage and then apply the new value to use the browser base font-size and not the html font-size rule\n\t\t\t// Explanation:\n\t\t\t// - reverting factor (factor to apply to current font to obtain the browser font size) = unsaved input value / local storage value\n\t\t\t// - new font size percentage = reverting factor * 100\n\t\t\t// The resulting value is the percentage to apply to current html font-size to obtain the same calculated value\n\t\t\t// as if the scalingValue was set in the html.\n\t\t\t// E.g.: html: 75%, scalingValue: 100 -> 1 rem is 12px (because of the 75%). In the browser the base font is set to 16px.\n\t\t\t// To make scalingValue 100 equals to 16px, we need to get the reverting factor (100 / 75 = 1.3333).\n\t\t\t// This is the factor required to have 16 starting from 12 (12*1.3333 ~= 16)\n\t\t\t// The percentage to apply to the example container is then 1.3333 * 100 = 133.33 (133.33%(75) ~= 100 ~= 16px)\n\t\t\t((scalingOptionValues[Math.round(scalingValue)] || 100) /\n\t\t\t\tscalingOptionValues[savedOptionIndex]) *\n\t\t\t100,\n\t\t[savedOptionIndex, scalingOptionValues, scalingValue]\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\torientation={'vertical'}\n\t\t\tmainAlignment={'flex-start'}\n\t\t\tcrossAlignment={'flex-start'}\n\t\t\tgap={'1rem'}\n\t\t\theight={'fit'}\n\t\t\twidth={'fill'}\n\t\t>\n\t\t\t<Container\n\t\t\t\torientation={'vertical'}\n\t\t\t\tgap={'1rem'}\n\t\t\t\theight={'fit'}\n\t\t\t\twidth={'fit'}\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\tmaxWidth={'100%'}\n\t\t\t>\n\t\t\t\t<Text size=\"small\" overflow={'break-word'}>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'settings.appearance.labels.choose_size_description',\n\t\t\t\t\t\t'Choose Type Size and Styles for Carbonio Environment'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<ScalingSliderContainer\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"fill\"\n\t\t\t\t\theight=\"auto\"\n\t\t\t\t\tpadding={{ vertical: 'small', horizontal: 'large' }}\n\t\t\t\t\tgap={'0.5rem'}\n\t\t\t\t\tflexGrow={1}\n\t\t\t\t>\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tlabel={t('settings.appearance.labels.decrease', 'Decrease', {\n\t\t\t\t\t\t\tcontext: scalingValue === 0 ? 'disabled' : ''\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Container width=\"fit\" height=\"fit\" minWidth={'fit-content'}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={autoScaling || scalingValue === 0}\n\t\t\t\t\t\t\t\tlabel={t('settings.appearance.labels.a', 'A')}\n\t\t\t\t\t\t\t\ttype={'ghost'}\n\t\t\t\t\t\t\t\tsize={'extrasmall'}\n\t\t\t\t\t\t\t\tcolor={'text'}\n\t\t\t\t\t\t\t\tonClick={decreaseScalingByStep}\n\t\t\t\t\t\t\t\tminWidth={'fit-content'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t<Slider\n\t\t\t\t\t\tdisabled={autoScaling}\n\t\t\t\t\t\toptions={scalingOptionLabels}\n\t\t\t\t\t\tonChange={onChangeScalingValue}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tautoScaling && BASE_FONT_OPTION_INDEX >= 0 ? BASE_FONT_OPTION_INDEX : scalingValue\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tlabel={t('settings.appearance.labels.increase', 'Increase', {\n\t\t\t\t\t\t\tcontext: scalingValue === SCALING_OPTIONS.length - 1 ? 'disabled' : ''\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Container width=\"fit\" height=\"fit\" minWidth={'fit-content'}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={autoScaling || scalingValue === SCALING_OPTIONS.length - 1}\n\t\t\t\t\t\t\t\tlabel={t('settings.appearance.labels.a', 'A')}\n\t\t\t\t\t\t\t\ttype={'ghost'}\n\t\t\t\t\t\t\t\tsize={'extralarge'}\n\t\t\t\t\t\t\t\tonClick={increaseScalingByStep}\n\t\t\t\t\t\t\t\tcolor={'text'}\n\t\t\t\t\t\t\t\tminWidth={'fit-content'}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</ScalingSliderContainer>\n\t\t\t\t<Checkbox\n\t\t\t\t\tvalue={autoScaling}\n\t\t\t\t\tonClick={toggleAutoScaling}\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.appearance.labels.choose_size_auto',\n\t\t\t\t\t\t'Automatically resize the text size depending on the device'\n\t\t\t\t\t)}\n\t\t\t\t\tsize={'small'}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<ExampleContainer\n\t\t\t\tbackground={'gray5'}\n\t\t\t\tpadding={'large'}\n\t\t\t\tgap={'0.5rem'}\n\t\t\t\torientation={'vertical'}\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tcrossAlignment={'flex-start'}\n\t\t\t\twidth={'fill'}\n\t\t\t\t$fontSize={exampleFontSize}\n\t\t\t>\n\t\t\t\t<ExampleText weight={'light'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t\t<ExampleText weight={'regular'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t\t<ExampleText weight={'bold'} overflow={'break-word'}>\n\t\t\t\t\t{exampleText}\n\t\t\t\t</ExampleText>\n\t\t\t</ExampleContainer>\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 { Container, FormSubSection, Quota, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport React, { FC, useMemo } from 'react';\nimport { useUserSettings } from '../../../store/account/hooks';\nimport { useAccountStore } from '../../../store/account/store';\nimport { getT } from '../../../store/i18n';\nimport { quotaSubSection } from '../../general-settings-sub-sections';\n\ninterface UserQuotaProps {\n\tmobileView: boolean;\n}\n\nconst UserQuota: FC<UserQuotaProps> = ({ mobileView }) => {\n\tconst t = getT();\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%, 32rem))\"\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\tpadding={{ bottom: 'medium' }}\n\t\t\t\t>\n\t\t\t\t\t<Text>{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 {\n\tBreadcrumbs,\n\tButtonOld as Button,\n\tContainer,\n\tDivider,\n\tPadding,\n\tRow,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useEffect } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { getT } from '../../store/i18n';\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 = getT();\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 vertical=\"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 'react-i18next';\nimport { AccountSettings } from '../../../types';\nimport { BASE_FONT_SIZE, SCALING_LIMIT, SCALING_OPTIONS } from '../../constants';\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): { label: string; value: 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\n\treturn item;\n};\n\nexport const getOutOfOfficeStatusPrefsData = (\n\tsettings: AccountSettings,\n\tt: TFunction\n): { label: string; value: string; t: TFunction } => {\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 item;\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 type LocaleDescriptor = {\n\tid: string;\n\tname: string;\n\tlocalName: string;\n\tvalue: string;\n\tlabel: string;\n};\n\nexport const localeList = (t: TFunction): Array<LocaleDescriptor> => [\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: 'pl',\n\t\tname: 'polski',\n\t\tlocalName: t('locale.polish', 'Polish'),\n\t\tlabel: 'Polish - polski',\n\t\tvalue: 'pl'\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\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// 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\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\n// ];\n\nexport type TimeZoneDescriptor = {\n\tvalue: string;\n\tlabel: string;\n\toffSet?: string;\n};\n\nexport const timeZoneList = (t: TFunction): Array<TimeZoneDescriptor> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.etc_gmt+12', { value: 'GMT -12:00', defaultValue: '{{value}} Dateline' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Midway',\n\t\tlabel: t('timezone.pacific_midway', { value: 'GMT -11:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'America/Adak',\n\t\tlabel: t('timezone.america_adak', { value: 'GMT -10:00', defaultValue: '{{value}} Adak' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Honolulu',\n\t\tlabel: t('timezone.pacific_honolulu', { value: 'GMT -10:00', defaultValue: '{{value}} Hawaii' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Marquesas',\n\t\tlabel: t('timezone.pacific_marquesas', {\n\t\t\tvalue: 'GMT -09:30',\n\t\t\tdefaultValue: '{{value}} Marquesas'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Anchorage',\n\t\tlabel: t('timezone.america_anchorage', {\n\t\t\tvalue: 'GMT -09:00',\n\t\t\tdefaultValue: '{{value}} Alaska'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Los_Angeles',\n\t\tlabel: t('timezone.america_los_angeles', {\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.america_tijuana', {\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/Chihuahua',\n\t\tlabel: t('timezone.america_chihuahua', {\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/Denver',\n\t\tlabel: t('timezone.america_denver', {\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/Fort_Nelson',\n\t\tlabel: t('timezone.america_fort_nelson', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Fort Nelson'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Phoenix',\n\t\tlabel: t('timezone.america_phoenix', { value: 'GMT -07:00', defaultValue: '{{value}} Arizona' })\n\t},\n\t{\n\t\tvalue: 'America/Whitehorse',\n\t\tlabel: t('timezone.america_whitehorse', {\n\t\t\tvalue: 'GMT -07:00',\n\t\t\tdefaultValue: '{{value}} Yukon'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Chicago',\n\t\tlabel: t('timezone.america_chicago', {\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/Guatemala',\n\t\tlabel: t('timezone.america_guatemala', {\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/Mexico_City',\n\t\tlabel: t('timezone.america_mexico_city', {\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/Regina',\n\t\tlabel: t('timezone.america_regina', {\n\t\t\tvalue: 'GMT -06:00',\n\t\t\tdefaultValue: '{{value}} Saskatchewan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Easter',\n\t\tlabel: t('timezone.pacific_easter', { value: 'GMT -06:00', defaultValue: '{{value}} Easter' })\n\t},\n\t{\n\t\tvalue: 'America/Bogota',\n\t\tlabel: t('timezone.america_bogota', { value: 'GMT -05:00', defaultValue: '{{value}} Colombia' })\n\t},\n\t{\n\t\tvalue: 'America/Cancun',\n\t\tlabel: t('timezone.america_cancun', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Cancun, Chetumal'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Grand_Turk',\n\t\tlabel: t('timezone.america_grand_turk', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Turks and Caicos Islands'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Havana',\n\t\tlabel: t('timezone.america_havana', { value: 'GMT -05:00', defaultValue: '{{value}} Havana' })\n\t},\n\t{\n\t\tvalue: 'America/Indiana/Indianapolis',\n\t\tlabel: t('timezone.america_indiana_indianapolis', {\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/New_York',\n\t\tlabel: t('timezone.america_new_york', {\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/Port-au-Prince',\n\t\tlabel: t('timezone.america_port-au-prince', {\n\t\t\tvalue: 'GMT -05:00',\n\t\t\tdefaultValue: '{{value}} Port-au-Prince'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Asuncion',\n\t\tlabel: t('timezone.america_asuncion', {\n\t\t\tvalue: 'GMT -04:00',\n\t\t\tdefaultValue: '{{value}} Asuncion'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Caracas',\n\t\tlabel: t('timezone.america_caracas', { value: 'GMT -04:00', defaultValue: '{{value}} Caracas' })\n\t},\n\t{\n\t\tvalue: 'America/Cuiaba',\n\t\tlabel: t('timezone.america_cuiaba', { value: 'GMT -04:00', defaultValue: '{{value}} Cuiaba' })\n\t},\n\t{\n\t\tvalue: 'America/Guyana',\n\t\tlabel: t('timezone.america_guyana', {\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/Halifax',\n\t\tlabel: t('timezone.america_halifax', {\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/Santiago',\n\t\tlabel: t('timezone.america_santiago', {\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/St_Johns',\n\t\tlabel: t('timezone.america_st_johns', {\n\t\t\tvalue: 'GMT -03:30',\n\t\t\tdefaultValue: '{{value}} Newfoundland'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Araguaina',\n\t\tlabel: t('timezone.america_araguaina', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Araguaina'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Argentina/Buenos_Aires',\n\t\tlabel: t('timezone.america_argentina_buenos_aires', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Argentina'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Bahia',\n\t\tlabel: t('timezone.america_bahia', { value: 'GMT -03:00', defaultValue: '{{value}} Salvador' })\n\t},\n\t{\n\t\tvalue: 'America/Cayenne',\n\t\tlabel: t('timezone.america_cayenne', {\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/Miquelon',\n\t\tlabel: t('timezone.america_miquelon', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Miquelon'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Montevideo',\n\t\tlabel: t('timezone.america_montevideo', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Montevideo'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Punta_Arenas',\n\t\tlabel: t('timezone.america_punta_arenas', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Punta_Arenas'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'America/Sao_Paulo',\n\t\tlabel: t('timezone.america_sao_paulo', {\n\t\t\tvalue: 'GMT -03:00',\n\t\t\tdefaultValue: '{{value}} Brasilia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/South_Georgia',\n\t\tlabel: t('timezone.atlantic_south_georgia', {\n\t\t\tvalue: 'GMT -02:00',\n\t\t\tdefaultValue: '{{value}} Mid-Atlantic'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Atlantic/Azores',\n\t\tlabel: t('timezone.atlantic_azores', { value: 'GMT -01:00', defaultValue: '{{value}} Azores' })\n\t},\n\t{\n\t\tvalue: 'Atlantic/Cape_Verde',\n\t\tlabel: t('timezone.atlantic_cape_verde', {\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: 'Africa/Monrovia',\n\t\tlabel: t('timezone.africa_monrovia', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Monrovia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Sao_Tome',\n\t\tlabel: t('timezone.africa_sao_tome', {\n\t\t\tvalue: 'GMT +00:00',\n\t\t\tdefaultValue: '{{value}} Sao Tome'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/London',\n\t\tlabel: t('timezone.europe_london', {\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: 'UTC',\n\t\tlabel: t('timezone.utc', {\n\t\t\tvalue: 'GMT/UTC',\n\t\t\tdefaultValue: '{{value}} Coordinated Universal Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Algiers',\n\t\tlabel: t('timezone.africa_algiers', {\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: 'Africa/Casablanca',\n\t\tlabel: t('timezone.africa_casablanca', {\n\t\t\tvalue: 'GMT +01:00',\n\t\t\tdefaultValue: '{{value}} Casablanca'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Belgrade',\n\t\tlabel: t('timezone.europe_belgrade', {\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/Berlin',\n\t\tlabel: t('timezone.europe_berlin', {\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/Brussels',\n\t\tlabel: t('timezone.europe_brussels', {\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: 'Europe/Warsaw',\n\t\tlabel: t('timezone.europe_warsaw', {\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/Cairo',\n\t\tlabel: t('timezone.africa_cairo', { value: 'GMT +02:00', defaultValue: '{{value}} Egypt' })\n\t},\n\t{\n\t\tvalue: 'Africa/Harare',\n\t\tlabel: t('timezone.africa_harare', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Harare, Pretoria'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Juba',\n\t\tlabel: t('timezone.africa_juba', { value: 'GMT +02:00', defaultValue: '{{value}} Juba' })\n\t},\n\t{\n\t\tvalue: 'Africa/Khartoum',\n\t\tlabel: t('timezone.africa_khartoum', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Khartoum'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Africa/Tripoli',\n\t\tlabel: t('timezone.africa_tripoli', { value: 'GMT +02:00', defaultValue: '{{value}} Tripoli' })\n\t},\n\t{\n\t\tvalue: 'Africa/Windhoek',\n\t\tlabel: t('timezone.africa_windhoek', { value: 'GMT +02:00', defaultValue: '{{value}} Namibia' })\n\t},\n\t{\n\t\tvalue: 'Asia/Amman',\n\t\tlabel: t('timezone.asia_amman', { value: 'GMT +02:00', defaultValue: '{{value}} Jordan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Beirut',\n\t\tlabel: t('timezone.asia_beirut', { value: 'GMT +02:00', defaultValue: '{{value}} Beirut' })\n\t},\n\t{\n\t\tvalue: 'Asia/Damascus',\n\t\tlabel: t('timezone.asia_damascus', { value: 'GMT +02:00', defaultValue: '{{value}} Damascus' })\n\t},\n\t{\n\t\tvalue: 'Asia/Gaza',\n\t\tlabel: t('timezone.asia_gaza', { value: 'GMT +02:00', defaultValue: '{{value}} Gaza' })\n\t},\n\t{\n\t\tvalue: 'Asia/Jerusalem',\n\t\tlabel: t('timezone.asia_jerusalem', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Jerusalem'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Athens',\n\t\tlabel: t('timezone.europe_athens', {\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: 'Europe/Bucharest',\n\t\tlabel: t('timezone.europe_bucharest', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Bucharest'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Chisinau',\n\t\tlabel: t('timezone.europe_chisinau', {\n\t\t\tvalue: 'GMT +02:00',\n\t\t\tdefaultValue: '{{value}} Chisinau'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Helsinki',\n\t\tlabel: t('timezone.europe_helsinki', {\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/Kaliningrad',\n\t\tlabel: t('timezone.europe_kaliningrad', {\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: 'Africa/Nairobi',\n\t\tlabel: t('timezone.africa_nairobi', { value: 'GMT +03:00', defaultValue: '{{value}} Nairobi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Baghdad',\n\t\tlabel: t('timezone.asia_baghdad', { value: 'GMT +03:00', defaultValue: '{{value}} Iraq' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kuwait',\n\t\tlabel: t('timezone.asia_kuwait', {\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/Istanbul',\n\t\tlabel: t('timezone.europe_istanbul', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Istanbul'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Minsk',\n\t\tlabel: t('timezone.europe_minsk', { value: 'GMT +03:00', defaultValue: '{{value}} Minsk' })\n\t},\n\t{\n\t\tvalue: 'Europe/Moscow',\n\t\tlabel: t('timezone.europe_moscow', {\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: 'Europe/Volgograd',\n\t\tlabel: t('timezone.europe_volgograd', {\n\t\t\tvalue: 'GMT +03:00',\n\t\t\tdefaultValue: '{{value}} Volgograd'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tehran',\n\t\tlabel: t('timezone.asia_tehran', { value: 'GMT +03:30', defaultValue: '{{value}} Tehran' })\n\t},\n\t{\n\t\tvalue: 'Asia/Baku',\n\t\tlabel: t('timezone.asia_baku', { value: 'GMT +04:00', defaultValue: '{{value}} Baku' })\n\t},\n\t{\n\t\tvalue: 'Asia/Muscat',\n\t\tlabel: t('timezone.asia_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/Tbilisi',\n\t\tlabel: t('timezone.asia_tbilisi', { value: 'GMT +04:00', defaultValue: '{{value}} Tbilisi' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yerevan',\n\t\tlabel: t('timezone.asia_yerevan', { value: 'GMT +04:00', defaultValue: '{{value}} Yerevan' })\n\t},\n\t{\n\t\tvalue: 'Europe/Astrakhan',\n\t\tlabel: t('timezone.europe_astrakhan', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Astrakhan'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Samara',\n\t\tlabel: t('timezone.europe_samara', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Izhevsk, Samara (RTZ 3)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Europe/Saratov',\n\t\tlabel: t('timezone.europe_saratov', { value: 'GMT +04:00', defaultValue: '{{value}} Saratov' })\n\t},\n\t{\n\t\tvalue: 'Indian/Mauritius',\n\t\tlabel: t('timezone.indian_mauritius', {\n\t\t\tvalue: 'GMT +04:00',\n\t\t\tdefaultValue: '{{value}} Port Louis'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Kabul',\n\t\tlabel: t('timezone.asia_kabul', { value: 'GMT +04:30', defaultValue: '{{value}} Kabul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Karachi',\n\t\tlabel: t('timezone.asia_karachi', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Islamabad, Karachi'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Qyzylorda',\n\t\tlabel: t('timezone.asia_qyzylorda', {\n\t\t\tvalue: 'GMT +05:00',\n\t\t\tdefaultValue: '{{value}} Qyzylorda'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tashkent',\n\t\tlabel: t('timezone.asia_tashkent', { value: 'GMT +05:00', defaultValue: '{{value}} Tashkent' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yekaterinburg',\n\t\tlabel: t('timezone.asia_yekaterinburg', {\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.asia_colombo', {\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.asia_kolkata', {\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.asia_kathmandu', {\n\t\t\tvalue: 'GMT +05:45',\n\t\t\tdefaultValue: '{{value}} Kathmandu'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Almaty',\n\t\tlabel: t('timezone.asia_almaty', { value: 'GMT +06:00', defaultValue: '{{value}} Astana' })\n\t},\n\t{\n\t\tvalue: 'Asia/Dhaka',\n\t\tlabel: t('timezone.asia_dhaka', { value: 'GMT +06:00', defaultValue: '{{value}} Dhaka' })\n\t},\n\t{\n\t\tvalue: 'Asia/Omsk',\n\t\tlabel: t('timezone.asia_omsk', { value: 'GMT +06:00', defaultValue: '{{value}} Omsk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yangon',\n\t\tlabel: t('timezone.asia_yangon', { value: 'GMT +06:30', defaultValue: '{{value}} Yangon' })\n\t},\n\t{\n\t\tvalue: 'Asia/Bangkok',\n\t\tlabel: t('timezone.asia_bangkok', {\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/Barnaul',\n\t\tlabel: t('timezone.asia_barnaul', { value: 'GMT +07:00', defaultValue: '{{value}} Barnaul' })\n\t},\n\t{\n\t\tvalue: 'Asia/Hovd',\n\t\tlabel: t('timezone.asia_hovd', { value: 'GMT +07:00', defaultValue: '{{value}} Hovd' })\n\t},\n\t{\n\t\tvalue: 'Asia/Krasnoyarsk',\n\t\tlabel: t('timezone.asia_krasnoyarsk', {\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/Novosibirsk',\n\t\tlabel: t('timezone.asia_novosibirsk', {\n\t\t\tvalue: 'GMT +07:00',\n\t\t\tdefaultValue: '{{value}} Novosibirsk (RTZ 5)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Tomsk',\n\t\tlabel: t('timezone.asia_tomsk', { value: 'GMT +07:00', defaultValue: '{{value}} Tomsk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Hong_Kong',\n\t\tlabel: t('timezone.asia_hong_kong', {\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.asia_irkutsk', {\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: 'Asia/Kuala_Lumpur',\n\t\tlabel: t('timezone.asia_kuala_lumpur', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Kuala Lumpur'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Singapore',\n\t\tlabel: t('timezone.asia_singapore', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Singapore'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Taipei',\n\t\tlabel: t('timezone.asia_taipei', { value: 'GMT +08:00', defaultValue: '{{value}} Taipei' })\n\t},\n\t{\n\t\tvalue: 'Asia/Ulaanbaatar',\n\t\tlabel: t('timezone.asia_ulaanbaatar', {\n\t\t\tvalue: 'GMT +08:00',\n\t\t\tdefaultValue: '{{value}} Ulaanbaatar'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Perth',\n\t\tlabel: t('timezone.australia_perth', { value: 'GMT +08:00', defaultValue: '{{value}} Perth' })\n\t},\n\t{\n\t\tvalue: 'Australia/Eucla',\n\t\tlabel: t('timezone.australia_eucla', { value: 'GMT +08:45', defaultValue: '{{value}} Eucla' })\n\t},\n\t{\n\t\tvalue: 'Asia/Chita',\n\t\tlabel: t('timezone.asia_chita', { value: 'GMT +09:00', defaultValue: '{{value}} Chita' })\n\t},\n\t{\n\t\tvalue: 'Asia/Pyongyang',\n\t\tlabel: t('timezone.asia_pyongyang', {\n\t\t\tvalue: 'GMT +09:00',\n\t\t\tdefaultValue: '{{value}} Pyongyang'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Seoul',\n\t\tlabel: t('timezone.asia_seoul', { value: 'GMT +09:00', defaultValue: '{{value}} Korea' })\n\t},\n\t{\n\t\tvalue: 'Asia/Tokyo',\n\t\tlabel: t('timezone.asia_tokyo', { value: 'GMT +09:00', defaultValue: '{{value}} Japan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Yakutsk',\n\t\tlabel: t('timezone.asia_yakutsk', {\n\t\t\tvalue: 'GMT +09:00',\n\t\t\tdefaultValue: '{{value}} Yakutsk (RTZ 8)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Adelaide',\n\t\tlabel: t('timezone.australia_adelaide', {\n\t\t\tvalue: 'GMT +09:30',\n\t\t\tdefaultValue: '{{value}} Adelaide'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Darwin',\n\t\tlabel: t('timezone.australia_darwin', { value: 'GMT +09:30', defaultValue: '{{value}} Darwin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Vladivostok',\n\t\tlabel: t('timezone.asia_vladivostok', {\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: 'Australia/Brisbane',\n\t\tlabel: t('timezone.australia_brisbane', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Brisbane'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Hobart',\n\t\tlabel: t('timezone.australia_hobart', { value: 'GMT +10:00', defaultValue: '{{value}} Hobart' })\n\t},\n\t{\n\t\tvalue: 'Australia/Sydney',\n\t\tlabel: t('timezone.australia_sydney', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Canberra, Melbourne, Sydney'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Guam',\n\t\tlabel: t('timezone.pacific_guam', {\n\t\t\tvalue: 'GMT +10:00',\n\t\t\tdefaultValue: '{{value}} Guam, Port Moresby'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Australia/Lord_Howe',\n\t\tlabel: t('timezone.australia_lord_howe', {\n\t\t\tvalue: 'GMT +10:30',\n\t\t\tdefaultValue: '{{value}} Lord_Howe'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Asia/Magadan',\n\t\tlabel: t('timezone.asia_magadan', { value: 'GMT +11:00', defaultValue: '{{value}} Magadan' })\n\t},\n\t{\n\t\tvalue: 'Asia/Sakhalin',\n\t\tlabel: t('timezone.asia_sakhalin', { value: 'GMT +11:00', defaultValue: '{{value}} Sakhalin' })\n\t},\n\t{\n\t\tvalue: 'Asia/Srednekolymsk',\n\t\tlabel: t('timezone.asia_srednekolymsk', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Chokurdakh (RTZ 10)'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Bougainville',\n\t\tlabel: t('timezone.pacific_bougainville', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Bougainville Standard Time'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Guadalcanal',\n\t\tlabel: t('timezone.pacific_guadalcanal', {\n\t\t\tvalue: 'GMT +11:00',\n\t\t\tdefaultValue: '{{value}} Solomon Is. / New Caledonia'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Norfolk',\n\t\tlabel: t('timezone.pacific_norfolk', { value: 'GMT +11:00', defaultValue: '{{value}} Norfolk' })\n\t},\n\t{\n\t\tvalue: 'Asia/Kamchatka',\n\t\tlabel: t('timezone.asia_kamchatka', {\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/Auckland',\n\t\tlabel: t('timezone.pacific_auckland', {\n\t\t\tvalue: 'GMT +12:00',\n\t\t\tdefaultValue: '{{value}} New Zealand'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Fiji',\n\t\tlabel: t('timezone.pacific_fiji', { value: 'GMT +12:00', defaultValue: '{{value}} Fiji' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Chatham',\n\t\tlabel: t('timezone.pacific_chatham', { value: 'GMT +12:45', defaultValue: '{{value}} Chatham' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Apia',\n\t\tlabel: t('timezone.pacific_apia', { value: 'GMT +13:00', defaultValue: '{{value}} Samoa' })\n\t},\n\t{\n\t\tvalue: 'Pacific/Tongatapu',\n\t\tlabel: t('timezone.pacific_tongatapu', {\n\t\t\tvalue: 'GMT +13:00',\n\t\t\tdefaultValue: '{{value}} Nuku’alofa'\n\t\t})\n\t},\n\t{\n\t\tvalue: 'Pacific/Kiritimati',\n\t\tlabel: t('timezone.pacific_kiritimati', {\n\t\t\tvalue: 'GMT +14:00',\n\t\t\tdefaultValue: '{{value}} Kiritimati Island'\n\t\t})\n\t}\n];\n\nexport const getAutoScalingFontSize = (): number => {\n\tif (\n\t\twindow.screen.width <= SCALING_LIMIT.WIDTH &&\n\t\twindow.screen.height <= SCALING_LIMIT.HEIGHT &&\n\t\twindow.devicePixelRatio >= SCALING_LIMIT.DPR\n\t) {\n\t\tconst baseFontIndex = SCALING_OPTIONS.findIndex((option) => option.value === BASE_FONT_SIZE);\n\t\tif (baseFontIndex > 0) {\n\t\t\treturn SCALING_OPTIONS[baseFontIndex - 1].value;\n\t\t}\n\t}\n\treturn BASE_FONT_SIZE;\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 appearanceSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.appearance', 'Appearance'),\n\tid: 'appearance'\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\tappearanceSubSection(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 { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { includes, isEmpty, size } from 'lodash';\nimport React, { FC, useCallback, useMemo, useRef, useState } from 'react';\nimport { AddMod, Mods, RemoveMod } from '../../types';\nimport { editSettings } from '../network/edit-settings';\nimport { useUserSettings } from '../store/account';\nimport { getT } from '../store/i18n';\nimport AppearanceSettings from './components/general-settings/appearance-settings';\nimport Logout from './components/general-settings/logout';\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 SettingsHeader from './components/settings-header';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport SearchSettingsView from './search-settings-view';\nimport { useLocalStorage } from '../shell/hooks';\nimport {\n\tScalingSettingSection,\n\tScalingSettingSectionRef\n} from './components/general-settings/scaling-setting-section';\nimport DarkThemeSettingSection from './components/general-settings/dark-theme-settings-section';\nimport { LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\n\nconst GeneralSettings: FC = () => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst t = getT();\n\tconst userSettings = useUserSettings();\n\tconst [localStorageUnAppliedChanges, setLocalStorageUnAppliedChanges] = useState<ScalingSettings>(\n\t\t{}\n\t);\n\tconst [localStorageSettings, setLocalStorageSettings] = useLocalStorage<ScalingSettings>(\n\t\tLOCAL_STORAGE_SETTINGS_KEY,\n\t\t{}\n\t);\n\tconst [open, setOpen] = useState(false);\n\n\tconst addLocalStoreChange = useCallback((key, value) => {\n\t\tsetLocalStorageUnAppliedChanges((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[key]: value\n\t\t}));\n\t}, []);\n\n\tconst cleanLocalStoreChange = useCallback<(key: keyof ScalingSettings) => void>((key) => {\n\t\tsetLocalStorageUnAppliedChanges((prevState) => {\n\t\t\tconst nextState = { ...prevState };\n\t\t\tdelete nextState[key];\n\t\t\treturn nextState;\n\t\t});\n\t}, []);\n\n\tconst addMod = useCallback<AddMod>((type, key, value) => {\n\t\tsetMods((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[type]: {\n\t\t\t\t...prevState?.[type],\n\t\t\t\t[key]: value\n\t\t\t}\n\t\t}));\n\t}, []);\n\n\tconst removeMod = useCallback<RemoveMod>((type, key) => {\n\t\tsetMods((prevState) => {\n\t\t\tconst prevType = prevState[type];\n\t\t\tif (prevType && prevType[key] !== undefined) {\n\t\t\t\tconst nextState = { ...prevState, [type]: { ...prevState[type] } };\n\t\t\t\tconst nextType = nextState[type];\n\t\t\t\tif (nextType && nextType[key] !== undefined) {\n\t\t\t\t\tdelete nextType[key];\n\t\t\t\t}\n\t\t\t\tif (size(nextState[type]) === 0) {\n\t\t\t\t\tdelete nextState[type];\n\t\t\t\t}\n\t\t\t\treturn nextState;\n\t\t\t}\n\t\t\treturn prevState;\n\t\t});\n\t}, []);\n\tconst createSnackbar = useSnackbar();\n\n\tconst onSave = useCallback(() => {\n\t\tsetLocalStorageUnAppliedChanges((unAppliedPrevState) => {\n\t\t\tif (size(unAppliedPrevState) > 0) {\n\t\t\t\tsetLocalStorageSettings((localStorageSettingsPrevState) => ({\n\t\t\t\t\t...localStorageSettingsPrevState,\n\t\t\t\t\t...unAppliedPrevState\n\t\t\t\t}));\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\treturn unAppliedPrevState;\n\t\t});\n\t\tif (size(mods) > 0) {\n\t\t\teditSettings(mods)\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (mods.prefs && includes(Object.keys(mods.prefs), 'zimbraPrefLocale')) {\n\t\t\t\t\t\tsetOpen(true);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\tkey: `new`,\n\t\t\t\t\t\treplace: true,\n\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\thideButton: true\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\tkey: `new`,\n\t\t\t\t\t\treplace: true,\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\thideButton: true\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tsetMods({});\n\t\t}\n\t}, [mods, setLocalStorageSettings, createSnackbar, t]);\n\n\tconst scalingSettingSectionRef = useRef<ScalingSettingSectionRef>(null);\n\n\tconst onCancel = useCallback(() => {\n\t\tsetMods({});\n\t\tif (size(localStorageUnAppliedChanges) > 0) {\n\t\t\tscalingSettingSectionRef.current?.reset();\n\t\t}\n\t}, [localStorageUnAppliedChanges]);\n\n\tconst isDirty = useMemo(\n\t\t() => !isEmpty(mods) || !isEmpty(localStorageUnAppliedChanges),\n\t\t[mods, localStorageUnAppliedChanges]\n\t);\n\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\tcrossAlignment={'flex-start'}\n\t\t\t\tgap=\"0.5rem\"\n\t\t\t\tpadding={{ all: 'medium' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AppearanceSettings>\n\t\t\t\t\t<ScalingSettingSection\n\t\t\t\t\t\tref={scalingSettingSectionRef}\n\t\t\t\t\t\tscalingSettings={localStorageSettings}\n\t\t\t\t\t\taddLocalStoreChange={addLocalStoreChange}\n\t\t\t\t\t\tcleanLocalStoreChange={cleanLocalStoreChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<DarkThemeSettingSection addMod={addMod} removeMod={removeMod} />\n\t\t\t\t</AppearanceSettings>\n\t\t\t\t<LanguageAndTimeZoneSettings\n\t\t\t\t\tsettings={userSettings}\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={userSettings} addMod={addMod} />\n\t\t\t\t<SearchSettingsView settings={userSettings} 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 {\n\tContainer,\n\tFormSubSection,\n\tModal,\n\tPadding,\n\tSelect,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\n\nimport { find } from 'lodash';\nimport momentLocalizer from 'react-widgets-moment';\nimport { AccountSettings, AddMod, PrefsMods } from '../../types';\nimport { getT } from '../store/i18n';\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) => void;\n\taddMod: AddMod;\n}> = ({ settings, addMod, open, setOpen }) => {\n\tconst t = getT();\n\tconst locales = useMemo(() => localeList(t), [t]);\n\tconst timezones = useMemo(() => timeZoneList(t), [t]);\n\tconst sectionTitle = useMemo(() => timezoneAndLanguageSubSection(t), [t]);\n\n\tconst updatePrefs = useCallback(\n\t\t(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst defaultLocale = useMemo(() => {\n\t\tconst localeId = (settings.prefs.zimbraPrefLocale as string) ?? 'en';\n\t\tconst locale = find(locales, { id: localeId });\n\t\treturn locale ?? find(locales, { id: 'en' });\n\t}, [locales, settings.prefs.zimbraPrefLocale]);\n\n\tconst defaultTimeZone = useMemo(() => {\n\t\tconst timeZoneId = (settings.prefs.zimbraPrefTimeZoneId as string) ?? 'UTC';\n\t\tconst timezone = find(timezones, { value: timeZoneId });\n\t\treturn timezone ?? find(timezones, { value: 'UTC' });\n\t}, [timezones, settings.prefs.zimbraPrefTimeZoneId]);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\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\tif (value && value !== settings.prefs.zimbraPrefLocale)\n\t\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdefaultSelection={defaultLocale}\n\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\tdropdownMaxHeight=\"12.5rem\"\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 && timezones && (\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\tif (value && value !== settings.prefs.zimbraPrefTimeZoneId)\n\t\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\tselection={defaultTimeZone}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tdropdownMaxHeight=\"12.5rem\"\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 { Checkbox, Container, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { AccountSettings, AddMod, PrefsMods } from '../../types';\nimport { getT } from '../store/i18n';\nimport { searchPrefsSubSection } from './general-settings-sub-sections';\n\nconst SearchSettingsView: FC<{\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}> = ({ settings, addMod }) => {\n\tconst t = getT();\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(prefValue: PrefsMods[keyof PrefsMods], prefKey: keyof PrefsMods) => {\n\t\t\taddMod('prefs', prefKey, prefValue);\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%, 32rem))\"\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 { Accordion, IconButton, Tooltip } from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { FC, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\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: KeyboardEvent | React.SyntheticEvent): 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: KeyboardEvent | React.SyntheticEvent): 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<div>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon={v.icon}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t)),\n\t\t[history, 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, { FC, 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: 0.0625rem;\n\tmax-height: calc(100vh - 3.75rem);\n\toverflow-y: auto;\n`;\n\nconst FirstAppRedirect: FC = () => {\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\nconst AppViewContainer: FC = () => {\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\nexport default AppViewContainer;\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, ContainerProps, 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: 0.75rem;\n\tmin-height: 0.75rem;\n\tline-height: 0.75rem;\n\tborder-radius: 0.5rem;\n\tuser-select: none;\n\tcursor: pointer;\n\tpointer-events: none;\n\tz-index: 99;\n`;\n\n// eslint-disable-next-line react/display-name\nconst BadgeWrap: FC<{ badge: BadgeInfo }> = forwardRef<HTMLDivElement, { badge: BadgeInfo }>(\n\t({ badge, children }, ref) => (\n\t\t<Container width={'3rem'} height={'3rem'} style={{ position: 'relative' }} ref={ref}>\n\t\t\t{badge.show && (\n\t\t\t\t<MiniBadge badge={badge} height=\"fit\" width=\"fit\">\n\t\t\t\t\t{badge.showCount ? (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"extrasmall\"\n\t\t\t\t\t\t\tstyle={{ padding: '0.125rem 0.25rem', fontSize: '0.625rem' }}\n\t\t\t\t\t\t\tcolor=\"gray6\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{badge.count ?? 0}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null}\n\t\t\t\t</MiniBadge>\n\t\t\t)}\n\t\t\t{children}\n\t\t</Container>\n\t)\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 {\n\tContainer,\n\tDivider,\n\tIconButton,\n\tPadding,\n\tRow,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { isEmpty, map } from 'lodash';\nimport React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n\tcloseAllBoards,\n\texpandBoards,\n\tminimizeBoards,\n\tonGoToPanel,\n\treduceBoards,\n\tuseBoardStore\n} from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoard } from './board';\nimport { TabsList } from './board-tab-list';\n\nconst BoardContainerComp = styled.div<{ expanded: boolean; minimized: boolean }>`\n\tposition: fixed;\n\ttop: 3.75rem;\n\tbottom: 0;\n\tleft: 3rem;\n\tright: 0;\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: 10;\n\t${({ expanded }): any =>\n\t\texpanded &&\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 }): any =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\nconst Board = styled(Container)<{ expanded: boolean }>`\n\tz-index: 5;\n\tposition: absolute;\n\tleft: 1.5rem;\n\tbottom: 0;\n\twidth: 700px;\n\theight: 70vh;\n\tmin-height: 400px;\n\tbox-shadow: 0 0.125rem 0.3125rem 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\t${({ expanded }): any =>\n\t\texpanded &&\n\t\tcss`\n\t\t\theight: calc(100% - 1.5rem);\n\t\t\twidth: calc(100% - 1.5rem * 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 const BoardContainer: FC = () => {\n\tconst t = getT();\n\tconst { boards, minimized, expanded, current } = useBoardStore();\n\tif (isEmpty(boards) || !current) return null;\n\treturn (\n\t\t<BoardContainerComp expanded={expanded} minimized={minimized}>\n\t\t\t<Board\n\t\t\t\tdata-testid=\"NewItemContainer\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tcrossAlignment=\"unset\"\n\t\t\t\texpanded={expanded}\n\t\t\t>\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={minimizeBoards} />\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<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t{boards[current]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\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\t<IconButton icon={'DiagonalArrowRightUp'} onClick={onGoToPanel} />\n\t\t\t\t\t\t\t\t</Tooltip>\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\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\texpanded ? t('board.reduce', 'Reduce board') : 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={expanded ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\tonClick={expanded ? reduceBoards : expandBoards}\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={closeAllBoards} />\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: '0.125rem' }} />\n\t\t\t\t<BoardDetailContainer takeAvailableSpace>\n\t\t\t\t\t{map(boards, (b) => (\n\t\t\t\t\t\t<AppBoard key={b.id} board={b} />\n\t\t\t\t\t))}\n\t\t\t\t</BoardDetailContainer>\n\t\t\t</Board>\n\t\t</BoardContainerComp>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tContainer,\n\tDropdown,\n\tRow,\n\tTooltip,\n\tuseHiddenCount\n} from '@zextras/carbonio-design-system';\nimport { map, noop, slice } from 'lodash';\nimport React, { FC, useLayoutEffect, useRef } from 'react';\nimport { setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoardTab } from './board-tab';\n\nexport const TabsList: FC = () => {\n\tconst t = getT();\n\tconst { boards, current, expanded } = useBoardStore();\n\tconst tabContainerRef = useRef(null);\n\tconst [hiddenTabsCount, recalculateHiddenTabs] = useHiddenCount(tabContainerRef, expanded);\n\n\tuseLayoutEffect(() => {\n\t\trecalculateHiddenTabs();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [boards, expanded, 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=\"3rem\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\twidth=\"calc(100% - 0.5rem)\"\n\t\t\t>\n\t\t\t\t{boards &&\n\t\t\t\t\tmap(boards, (tab) => (\n\t\t\t\t\t\t<AppBoardTab key={tab.id} id={tab.id} title={tab.title} icon={tab.icon} />\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=\"0.0625rem\" height=\"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(Object.values(boards), -hiddenTabsCount), (tab) => ({\n\t\t\t\t\t\t\t\tid: tab.id,\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.id),\n\t\t\t\t\t\t\t\tselected: tab.id === current\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button type=\"ghost\" color=\"secondary\" label={`+${hiddenTabsCount}`} onClick={noop} />\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","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tContainer,\n\tIcon,\n\tIconButton,\n\tPadding,\n\tRow,\n\tRowProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback } from 'react';\nimport styled from 'styled-components';\nimport { closeBoard, setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\n\nconst TabContainer = styled(Row)<RowProps & { active: boolean }>`\n\tcursor: pointer;\n\theight: 1.75rem;\n\twidth: fit-content;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }): string =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tborder-radius: 0.125rem;\n\tpadding: 0.125rem 0.25rem;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 0.0625rem;\n\theight: 100%;\n\tbackground: ${({ theme }): string => theme.palette.gray3.regular};\n\tmargin: ${({ theme }): string => theme.sizes.padding.extrasmall};\n`;\n\nexport const AppBoardTab: FC<{ id: string; icon: string; title: string }> = ({\n\tid,\n\ticon,\n\ttitle\n}) => {\n\tconst current = useBoardStore((s) => s.current);\n\tconst t = getT();\n\tconst onClick = useCallback(() => setCurrentBoard(id), [id]);\n\tconst onRemove = useCallback(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tcloseBoard(id);\n\t\t},\n\t\t[id]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"row\" width=\"fit\" maxWidth=\"100%\">\n\t\t\t{current !== id && <VerticalDivider />}\n\t\t\t<TabContainer active={current === id} 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=\"large\" />\n\t\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t\t<Tooltip label={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={current === id ? 'text' : 'secondary'}\n\t\t\t\t\t\t\toverflow=\"ellipsis\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{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: '0.125rem', width: '1.5rem', height: '1.5rem' }}\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, { FC, useEffect, useMemo } from 'react';\nimport { Route, Router, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { find, startsWith } from 'lodash';\nimport { createMemoryHistory } from 'history';\nimport AppContextProvider from '../../boot/app/app-context-provider';\nimport { useAppStore } from '../../store/app';\nimport { BoardProvider, updateBoard, useBoardStore } from '../../store/boards';\nimport { Board } from '../../../types';\n\nconst BoardContainer = styled.div<{ show: boolean }>`\n\tdisplay: ${(props): string => (props.show ? 'block' : 'none')};\n\theight: 100%;\n\twidth: 100%;\n\toverflow-y: auto;\n\t&::-webkit-scrollbar {\n\t\twidth: 0.5rem;\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground-color: transparent;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray3.regular};\n\t\tborder-radius: 0.25rem;\n\t}\n`;\n\nexport const AppBoard: FC<{ board: Board }> = ({ board }) => {\n\tconst current = useBoardStore((s) => s.current);\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst history = useMemo(() => createMemoryHistory({ initialEntries: [board.url] }), []);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst route = useMemo(() => {\n\t\tconst view = find(boardViews, (v) => v.id === board.url || startsWith(board.url, v.route));\n\t\tconsole.log(view, board.url);\n\t\tif (view)\n\t\t\treturn (\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<BoardProvider id={board.id}>\n\t\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t\t</BoardProvider>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t);\n\t\treturn null;\n\t}, [board.id, board.url, boardViews, windowHistory]);\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== board.url) {\n\t\t\t\tupdateBoard(board.id, { url: `${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}, [board.url, board.id, history]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== board.url) {\n\t\t\thistory.push(board.url);\n\t\t}\n\t}, [board.url, history]);\n\n\treturn (\n\t\t<BoardContainer show={current === board.id}>\n\t\t\t<Router history={history}>{route}</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, { 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: 0.0625rem;\n\tmax-width: 0.0625rem;\n\tmin-width: 0.0625rem;\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: -0.75rem;\n\twidth: 1.5rem;\n\theight: 1.5rem;\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 { Button, Container, Dropdown, MultiButton } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { groupBy, noop, reduce } from 'lodash';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Action, AppRoute } from '../../types';\nimport { ACTION_TYPES } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppList } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useActions } from '../store/integrations/hooks';\n\nexport const CreationButtonComponent: FC<{ activeRoute: AppRoute; location: Location }> = ({\n\tactiveRoute,\n\tlocation\n}) => {\n\tconst t = getT();\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 apps = useAppList();\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\n\tconst secondaryActions = [\n\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t...reduce(\n\t\t\tapps,\n\t\t\t(acc, app, i) => {\n\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[] as Array<Action | { type: 'divider'; id: string; label: string }>\n\t\t)\n\t];\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<Container minWidth=\"80px\">\n\t\t\t<MultiButton\n\t\t\t\tdata-testid=\"NewItemButton\"\n\t\t\t\tsize=\"extralarge\"\n\t\t\t\tbackground=\"primary\"\n\t\t\t\tlabel={primaryAction?.label ?? t('new', 'New')}\n\t\t\t\tonClick={primaryAction?.click}\n\t\t\t\titems={secondaryActions}\n\t\t\t\tdisabledPrimary={!primaryAction || primaryAction?.disabled}\n\t\t\t\tdisabledSecondary={!secondaryActions?.length}\n\t\t\t/>\n\t\t</Container>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tdata-testid=\"NewItemButton\"\n\t\t\t\tsize=\"extralarge\"\n\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t\tonClick={noop}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n\nconst MemoCreationButton = React.memo(CreationButtonComponent);\n\nexport const CreationButton: FC = () => {\n\tconst locationFull = useLocation() as Location;\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\n\tconst truncateLocation = (location: Location): Location => ({\n\t\t...location,\n\t\tpathname: location?.pathname?.split('/').slice(0, 2).join('/'),\n\t\tkey: ''\n\t});\n\n\tconst location = useMemo(() => truncateLocation(locationFull), [locationFull]);\n\treturn <MemoCreationButton activeRoute={activeRoute} location={location} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Dispatch, SetStateAction, useCallback, useContext, useEffect, useState } from 'react';\n\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): [T, Dispatch<SetStateAction<T>>] {\n\tconst readValue = useCallback<() => 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}, [initialValue, key]);\n\n\tconst [storedValue, setStoredValue] = useState<T>(readValue());\n\tconst setValue = (value: T | ((val: T) => T)): void => {\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\twindow.dispatchEvent(new Event('storage'));\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\n\tconst updateValue = useCallback(() => {\n\t\tsetStoredValue(readValue());\n\t}, [readValue]);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('storage', updateValue);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('storage', updateValue);\n\t\t};\n\t}, [readValue, updateValue]);\n\n\treturn [storedValue, setValue];\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 { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\nconst ShellContextProvider: FC<{ children: unknown }> = ({ 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\nexport default ShellContextProvider;\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, useEffect, useMemo, useState } from 'react';\nimport {\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode,\n\tCatcher\n} from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport Logo from '../svg/carbonio.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkReaderResultValue } from '../custom-hooks/useDarkReaderResultValue';\nimport { getPrefersColorSchemeDarkMedia } from '../utils/utils';\n\nconst CustomImg = styled.img`\n\theight: 2rem;\n`;\n\nconst ShellHeader: FC<{\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst { carbonioWebUiAppLogo, carbonioWebUiDarkAppLogo } = useLoginConfigStore();\n\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\n\tconst [darkModeEnabled, setDarkModeEnabled] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkModeEnabled(\n\t\t\t\t(darkReaderResultValue === 'auto' && getPrefersColorSchemeDarkMedia().matches) ||\n\t\t\t\t\tdarkReaderResultValue === 'enabled'\n\t\t\t);\n\t\t}\n\t}, [darkReaderResultValue]);\n\n\tuseEffect(() => {\n\t\tconst setCallback = (event: MediaQueryListEvent): void => {\n\t\t\tsetDarkModeEnabled(event.matches);\n\t\t};\n\t\tgetPrefersColorSchemeDarkMedia().addEventListener('change', setCallback);\n\t\treturn (): void => {\n\t\t\tgetPrefersColorSchemeDarkMedia().removeEventListener('change', setCallback);\n\t\t};\n\t}, []);\n\n\tconst logoSrc = useMemo(() => {\n\t\tif (darkModeEnabled) {\n\t\t\treturn carbonioWebUiDarkAppLogo || carbonioWebUiAppLogo;\n\t\t}\n\t\treturn carbonioWebUiAppLogo || carbonioWebUiDarkAppLogo;\n\t}, [carbonioWebUiDarkAppLogo, carbonioWebUiAppLogo, darkModeEnabled]);\n\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\tdata-testid=\"MainHeaderContainer\"\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"3.75rem\"\n\t\t\tminHeight=\"3.75rem\"\n\t\t\tmaxHeight=\"3.75rem\"\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\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tminWidth=\"fit-content\"\n\t\t\t\t\tdata-testid=\"HeaderMainLogoContainer\"\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=\"15.625rem\" height=\"2rem\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t{darkReaderResultValue && (\n\t\t\t\t\t\t\t<>{logoSrc ? <CustomImg src={logoSrc} /> : <Logo height=\"2rem\" />}</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton />\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<Responsive mode=\"desktop\">{searchEnabled && <SearchBar />}</Responsive>\n\t\t\t\t</Container>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"auto\" 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, { ComponentType, FC, FunctionComponent } from 'react';\nimport { reduce, find } from 'lodash';\nimport { Accordion, Collapse, Container, Padding } from '@zextras/carbonio-design-system';\nimport { useHistory } from 'react-router-dom';\nimport { AppRoute, SecondaryBarComponentProps } from '../../types';\nimport { useAppStore } from '../store/app';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { getCurrentRoute } from '../history/hooks';\n\ntype SidebarComponentProps = {\n\titem: ShellMobileNavComponent;\n};\n\nconst SidebarComponent: FC<SidebarComponentProps> = ({ item }) =>\n\titem.secondary ? (\n\t\t<AppContextProvider pkg={item.id}>\n\t\t\t<item.secondary expanded={!!item.expanded} />\n\t\t</AppContextProvider>\n\t) : null;\n\ntype ShellMobileNavComponentProps = {\n\tmobileNavIsOpen: boolean;\n\tmenuTree: AppRoute;\n};\n\ntype ShellMobileNavComponent = {\n\tid: string;\n\tlabel: string;\n\ticon: string;\n\tsecondary?: ComponentType<SecondaryBarComponentProps>;\n\tonClick?: () => void;\n\tCustomComponent?: FunctionComponent<SidebarComponentProps> | null;\n\titems?: Array<ShellMobileNavComponent> | [];\n\texpanded?: boolean;\n};\n\nconst ShellMobileNavComponent: FC<ShellMobileNavComponentProps> = ({\n\tmobileNavIsOpen,\n\tmenuTree\n}) => {\n\tconst history = useHistory();\n\tconst views = useAppStore<any>((s) =>\n\t\treduce(\n\t\t\ts.routes,\n\t\t\t(acc: Array<ShellMobileNavComponent>, 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 - 3rem)',\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\nconst ShellMobileNavMemo = React.memo(ShellMobileNavComponent);\n\ntype ShellMobileNavProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellMobileNav: FC<ShellMobileNavProps> = ({ mobileNavIsOpen }) => {\n\tconst menuTree = getCurrentRoute() as AppRoute;\n\treturn <ShellMobileNavMemo menuTree={menuTree} mobileNavIsOpen={mobileNavIsOpen} />;\n};\n\nexport default ShellMobileNav;\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 { Responsive, Container } from '@zextras/carbonio-design-system';\nimport ShellPrimaryBar from './shell-primary-bar';\nimport ShellSecondaryBar from './shell-secondary-bar';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellMobileNav from './shell-mobile-nav';\n\ntype ShellNavigationBarProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellNavigationBar: FC<ShellNavigationBarProps> = ({ mobileNavIsOpen }) => (\n\t<Container\n\t\torientation=\"horizontal\"\n\t\tbackground=\"gray5\"\n\t\twidth=\"fit\"\n\t\theight=\"fill\"\n\t\tmainAlignment=\"flex-start\"\n\t\tcrossAlignment=\"flex-start\"\n\t>\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<ShellPrimaryBar />\n\t\t\t<ShellSecondaryBar />\n\t\t</Responsive>\n\t\t<Responsive mode=\"mobile\">\n\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} />\n\t\t</Responsive>\n\t</Container>\n);\n\nexport default ShellNavigationBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, IconButton, Row, Tooltip } from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy, noop } from 'lodash';\nimport React, { FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\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';\nimport { IS_STANDALONE } from '../constants';\nimport { minimizeBoards, reopenBoards, useBoardStore } from '../store/boards';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { minimized, boards } = useBoardStore();\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={minimized ? reopenBoards : minimizeBoards}\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\tdata-isselected={active}\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 ?? noop}\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 ShellPrimaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\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) => ({\n\t\t\t\t...r,\n\t\t\t\t[activeRoute.id]: `${trim(history.location.pathname, '/')}${history.location.search}`\n\t\t\t}));\n\t\t}\n\t}, [activeRoute, history.location, 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\tif (IS_STANDALONE && activeRoute?.standalone?.hidePrimaryBar) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth=\"3.0625rem\"\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\tdata-testid=\"SideMenuContainer\"\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={{\n\t\t\t\t\tminHeight: '0.0625rem',\n\t\t\t\t\t// TODO: fix overlay usage\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\toverflowY: 'overlay'\n\t\t\t\t}}\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\t// TODO: fix overlay usage\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\tstyle={{ minHeight: '0.0625rem', 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\nconst MemoShellPrimaryBarComponent = React.memo(ShellPrimaryBarComponent);\n\nconst ShellPrimaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellPrimaryBarComponent activeRoute={activeRoute} />;\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 { Container, ContainerProps } from '@zextras/carbonio-design-system';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { AppRoute } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\nimport { Collapser } from './collapser';\n\nconst SidebarContainer = styled(Container)<ContainerProps & { sidebarIsOpen?: boolean }>`\n\tmin-width: 3rem;\n\tmax-width: 19.625rem;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 19.625 : 3)}rem;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\nconst ShellSecondaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ 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\tdata-testid=\"SideSecondaryBarContainer\"\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 - 3.75rem)',\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\nconst MemoShellSecondaryBar = React.memo(ShellSecondaryBarComponent);\n\nconst ShellSecondaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellSecondaryBar activeRoute={activeRoute} />;\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 { Responsive, Row } from '@zextras/carbonio-design-system';\nimport { PreviewManager } from '@zextras/carbonio-ui-preview';\nimport { find, size } from 'lodash';\nimport React, { FC, useContext, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport {\n\tAppRoute,\n\tisZappDarkreaderModeZimletProp,\n\tZappDarkreaderModeZimletProp,\n\tZimletProp\n} from '../../types';\nimport { ThemeCallbacksContext } from '../boot/theme-provider';\nimport { IS_STANDALONE } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\nimport { goToLogin } from '../network/go-to-login';\nimport { useAccountStore } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport AppViewContainer from './app-view-container';\nimport { BoardContainer } from './boards/board-container';\nimport ShellContextProvider from './shell-context-provider';\nimport ShellHeader from './shell-header';\nimport ShellNavigationBar from './shell-navigation-bar';\nimport { useDarkReaderResultValue } from '../custom-hooks/useDarkReaderResultValue';\n\nconst Background = styled.div`\n\tbackground: ${({ theme }): string => 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(): null {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkReaderState(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, setDarkReaderState]);\n\treturn null;\n}\n\nconst useLoginRedirection = (allowUnauthenticated?: string): void => {\n\tconst auth = useAccountStore((s) => s.authenticated);\n\tuseEffect(() => {\n\t\tif (IS_STANDALONE && !auth && !allowUnauthenticated) {\n\t\t\tgoToLogin();\n\t\t}\n\t}, [allowUnauthenticated, auth]);\n};\n\nconst ShellComponent: FC<{ allowUnauthenticated?: string; hideShellHeader?: string }> = ({\n\tallowUnauthenticated,\n\thideShellHeader\n}) => {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tuseLoginRedirection(allowUnauthenticated);\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t{!(IS_STANDALONE && hideShellHeader) && (\n\t\t\t\t<ShellHeader\n\t\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\t\tonMobileMenuClick={(): void => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t\t>\n\t\t\t\t\t<ShellUtilityBar />\n\t\t\t\t</ShellHeader>\n\t\t\t)}\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer />\n\t\t\t\t<ShellUtilityPanel />\n\t\t\t</Row>\n\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t<BoardContainer />\n\t\t\t</Responsive>\n\t\t</Background>\n\t);\n};\n\nconst MemoShell = React.memo(ShellComponent);\n\nconst ShellView: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\tconst allowUnauthenticated = activeRoute?.standalone?.allowUnauthenticated as string | undefined;\n\tconst hideShellHeader = activeRoute?.standalone?.hideShellHeader as string | undefined;\n\treturn (\n\t\t<ShellContextProvider>\n\t\t\t<PreviewManager>\n\t\t\t\t<MemoShell allowUnauthenticated={allowUnauthenticated} hideShellHeader={hideShellHeader} />\n\t\t\t</PreviewManager>\n\t\t</ShellContextProvider>\n\t);\n};\n\nexport default ShellView;\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 from 'zustand';\nimport { AccountState } from '../../../types';\n\nexport const useAccountStore = create<AccountState>(() => ({\n\tauthenticated: false,\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}));\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 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\nconst STANDALONE_RESPONSE = 'standalone';\nexport const useAppStore = create<AppState>((set, get) => ({\n\tstandalone: false,\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: SHELL_APP_ID,\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\tconst { standalone } = get();\n\t\t\tif (standalone && routeData.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\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\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\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\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\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}));\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\tstandalone: {\n\t\t\thidePrimaryBar: data?.standalone?.hidePrimaryBar,\n\t\t\thideShellHeader: data?.standalone?.hideShellHeader,\n\t\t\tallowUnauthenticated: data?.standalone?.allowUnauthenticated\n\t\t}\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: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useContext, useMemo, createContext } from 'react';\nimport { Board, BoardHooksContext } from '../../../types';\nimport { closeBoard, setCurrentBoard, updateBoard, useBoardStore } from './store';\n\nexport const useBoardById = <T,>(id: string): Board<T> => useBoardStore((s) => s.boards[id]);\nexport const getBoardById = <T,>(id: string): Board<T> => useBoardStore.getState().boards[id];\nexport const useBoardContextById = <T,>(id: string): T =>\n\tuseBoardStore((s) => s.boards[id].context);\nexport const getBoardContextById = <T,>(id: string): T =>\n\tuseBoardStore.getState().boards[id].context;\n\n// Must be empty if no board is available\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const boardContext = createContext<Board>();\n// Must be empty if no board is available\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const boardHooksContext = createContext<BoardHooksContext>();\n\nexport const BoardProvider: FC<{ id: string }> = ({ children, id }) => {\n\tconst board = useBoardById(id);\n\tconst callbacks = useMemo<BoardHooksContext>(\n\t\t() => ({\n\t\t\tgetBoardContext: () => getBoardContextById(id),\n\t\t\tgetBoard: () => getBoardById(id),\n\t\t\tcloseBoard: () => closeBoard(id),\n\t\t\tupdateBoard: (b) => updateBoard(id, b),\n\t\t\tsetCurrentBoard: () => setCurrentBoard(id)\n\t\t}),\n\t\t[id]\n\t);\n\treturn (\n\t\t<boardHooksContext.Provider value={callbacks}>\n\t\t\t<boardContext.Provider value={board}>{children}</boardContext.Provider>\n\t\t</boardHooksContext.Provider>\n\t);\n};\n\nexport const useBoardHooks = (): BoardHooksContext => useContext(boardHooksContext);\nexport const useBoard = (): Board => useContext(boardContext);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\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 produce from 'immer';\nimport { forEach, trimStart, uniqueId } from 'lodash';\nimport create from 'zustand';\nimport { BoardState, Board } from '../../../types';\nimport { getApp } from '../app';\n\nexport const useBoardStore = create<BoardState>(() => ({\n\tboards: {},\n\texpanded: false,\n\tminimized: false\n}));\n\nexport const addBoard =\n\t(app: string) =>\n\t<T = any>(\n\t\tboard: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },\n\t\texpanded?: BoardState['expanded']\n\t): Board => {\n\t\tconst id = board.id ?? uniqueId('board-');\n\t\tuseBoardStore.setState(\n\t\t\tproduce((s: BoardState) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id] = {\n\t\t\t\t\t...board,\n\t\t\t\t\tapp,\n\t\t\t\t\tid,\n\t\t\t\t\ticon: board.icon ?? getApp(app)()?.icon ?? 'CubeOutline',\n\t\t\t\t\turl: trimStart(board.url, '/')\n\t\t\t\t};\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.current = id;\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.minimized = false;\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.expanded = expanded ?? s.expanded;\n\t\t\t})\n\t\t);\n\t\treturn useBoardStore.getState().boards[id];\n\t};\nexport const closeBoard = (id: string): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\ts.boards[id]?.onClose?.(s.boards[id]);\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tdelete s.boards[id];\n\t\t})\n\t);\n};\nexport const closeAllBoards = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tforEach(s.boards, (b) => {\n\t\t\t\tb?.onClose?.(b);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tdelete s.boards[b.id];\n\t\t\t});\n\t\t})\n\t);\n};\nexport const onGoToPanel = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tconst id = s.current;\n\t\t\tif (id) {\n\t\t\t\ts.boards[id]?.onGoToPanel?.(s.boards[id]);\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tdelete s.boards[id];\n\t\t\t}\n\t\t})\n\t);\n};\nexport const minimizeBoards = (): void => {\n\tuseBoardStore.setState({\n\t\tminimized: true\n\t});\n};\nexport const reopenBoards = (): void => {\n\tuseBoardStore.setState({\n\t\tminimized: false\n\t});\n};\nexport const expandBoards = (): void => {\n\tuseBoardStore.setState({\n\t\texpanded: true\n\t});\n};\nexport const reduceBoards = (): void => {\n\tuseBoardStore.setState({\n\t\texpanded: false\n\t});\n};\nexport const setCurrentBoard = (id: string): void => {\n\tuseBoardStore.setState({\n\t\tcurrent: id\n\t});\n};\nexport const updateBoard = <T = any>(id: string, board: Partial<Board<T>>): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tif (s.boards[id])\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id] = {\n\t\t\t\t\t...s.boards[id],\n\t\t\t\t\t...board\n\t\t\t\t};\n\t\t})\n\t);\n};\nexport const updateBoardContext = <T = any>(id: string, context: T): void => {\n\tuseBoardStore.setState(\n\t\tproduce((s: BoardState) => {\n\t\t\tif (s.boards[id])\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ts.boards[id].context = context;\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-types */\nimport create 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}));\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: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ComponentType, useMemo } from 'react';\nimport {\n\tFolders,\n\tSearches,\n\tSearchFolder,\n\tFolder,\n\tAccordionFolder,\n\tFolderView\n} from '../../../types';\nimport { FOLDER_VIEW } from '../../constants';\nimport { useFolderStore } from './store';\nimport { filterNodes, folderViewFilter, isRoot, mapNodes, sortFolders } from './utils';\n\n// FOLDERS\nexport const useFolder = (id: string): Folder | undefined => useFolderStore((s) => s.folders?.[id]);\nexport const getFolder = (id: string): Folder | undefined =>\n\tuseFolderStore.getState()?.folders?.[id];\nexport const useFolders = (): Folders => useFolderStore((s) => s.folders);\nexport const getFolders = (): Folders => useFolderStore.getState().folders;\n\n// ROOTS\nexport const useRoot = (id: string): Folder | undefined => useFolderStore((s) => s.roots?.[id]);\nexport const getRoot = (id: string): Folder | undefined => useFolderStore.getState().roots?.[id];\nexport const useRoots = (): Folders => useFolderStore((s) => s.roots);\nexport const getRoots = (): Folders => useFolderStore.getState().roots;\n\n// ROOTS BY VIEW\nexport const useRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> =>\n\tuseFolderStore((s) => (s.roots ? s.roots[userId] : {}));\nexport const getRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> => {\n\tconst folders = useFolderStore.getState();\n\treturn folders.roots ? folders.roots[userId] : {};\n};\n\n// SEARCHES\n\nexport const useSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore((s) => s.searches?.[id]);\nexport const getSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore.getState().searches[id];\nexport const useSearchFolders = (): Searches => useFolderStore((s) => s.searches);\nexport const getSearchFolders = (): Searches => useFolderStore.getState().searches;\n\n// Accordion-ize\n\nexport const useFoldersByView = (view: FolderView): Array<Folder> => {\n\tconst roots = useRoots();\n\tconst sortFunction = useMemo(\n\t\t() => (view === FOLDER_VIEW.message ? sortFolders : undefined),\n\t\t[view]\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\troots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view), sortFunction) : [],\n\t\t[roots, sortFunction, view]\n\t);\n};\n\nexport const useFoldersAccordionByView = (\n\tview: FolderView,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n): Array<AccordionFolder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots\n\t\t\t\t? mapNodes<Folder, AccordionFolder>(Object.values(roots), {\n\t\t\t\t\t\tmapFunction: (f) => {\n\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\tid: f.id,\n\t\t\t\t\t\t\t\tlabel: f.name,\n\t\t\t\t\t\t\t\tCustomComponent,\n\t\t\t\t\t\t\t\titems: [],\n\t\t\t\t\t\t\t\tfolder: f,\n\t\t\t\t\t\t\t\tdisableHover: isRoot(f)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst props = itemProps?.(item) ?? {};\n\t\t\t\t\t\t\treturn { ...item, ...props };\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfilterFunction: folderViewFilter(view),\n\t\t\t\t\t\trecursionKey: 'items',\n\t\t\t\t\t\tsortFunction: sortFolders,\n\t\t\t\t\t\tdeep: false\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t[CustomComponent, itemProps, roots, view]\n\t);\n};\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: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { FolderState } from '../../../types';\nimport { folderWorker } from '../../workers';\n\nexport const useFolderStore = create<FolderState>(() => ({\n\tfolders: {},\n\troots: {},\n\tsearches: {}\n}));\n\nfolderWorker.onmessage = ({ data }): void => {\n\tuseFolderStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { sortBy } from 'lodash';\nimport { Folder, FolderView, LinkFolder, TreeNode } from '../../../types';\nimport { FOLDERS, ROOT_NAME } from '../../constants';\n\nconst hasId = (f: Folder | TreeNode<unknown>, id: string): boolean => f.id.split(':').includes(id);\nconst getOriginalId = (f: Folder): string => {\n\tconst parts = f.id.split(':');\n\treturn parts[1] ?? parts[0];\n};\nexport const sortFolders = (f: Folder): string => {\n\tconst id = getOriginalId(f);\n\tif (id === FOLDERS.TRASH) {\n\t\treturn '~';\n\t}\n\treturn parseInt(id, 10) < 17 ? ` ${id}` : f.name.toLowerCase();\n};\n\nexport const isTrash = (f: Folder): boolean => hasId(f, FOLDERS.TRASH);\n\nexport const isRoot = (f: Folder): boolean =>\n\tf.id === FOLDERS.USER_ROOT || (f as LinkFolder).oname === ROOT_NAME;\n\nexport const folderViewFilter =\n\t(v: FolderView) =>\n\t(deep?: boolean) =>\n\t(f: Folder): boolean =>\n\t\tf.view === v || !deep || (typeof f.view === 'undefined' && !isRoot(f));\n\nexport const filterNodes = <T>(\n\tchildren: TreeNode<T>[],\n\tf: (deep?: boolean) => (i: TreeNode<T>) => boolean,\n\tsortFunction?: (i: TreeNode<T>) => number | string,\n\tdeep?: boolean\n): TreeNode<T>[] => {\n\tconst childrenSorted = sortFunction ? sortBy(children, sortFunction) : children;\n\treturn childrenSorted\n\t\t.filter(f(deep))\n\t\t.map((i) => ({ ...i, children: filterNodes<TreeNode<T>>(i.children, f, sortFunction, true) }));\n};\n\ntype MapNodesOptions<T, U> = {\n\tmapFunction: (i: TreeNode<T>) => U;\n\tfilterFunction: (deep?: boolean) => (i: TreeNode<T>) => boolean;\n\trecursionKey: keyof U;\n\tsortFunction: (i: TreeNode<T>) => number | string;\n\tdeep: boolean;\n};\nexport const mapNodes = <T, U>(\n\tchildren: TreeNode<T>[],\n\t{ mapFunction, filterFunction, recursionKey, sortFunction, deep }: MapNodesOptions<T, U>\n): U[] =>\n\tsortBy(children, sortFunction).reduce((acc, folder) => {\n\t\tif (filterFunction(deep)(folder)) {\n\t\t\tacc.push({\n\t\t\t\t...mapFunction(folder),\n\t\t\t\t[recursionKey]: mapNodes<TreeNode<T>, U>(folder.children, {\n\t\t\t\t\tmapFunction,\n\t\t\t\t\tfilterFunction,\n\t\t\t\t\trecursionKey,\n\t\t\t\t\tsortFunction,\n\t\t\t\t\tdeep: true\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn acc;\n\t}, [] as U[]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { i18n, TFunction } from 'i18next';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useI18nStore } from './store';\n\nexport const getI18n = (app: string) => (): i18n => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[app] ?? instances[SHELL_APP_ID] ?? defaultI18n;\n};\n\nexport const getTFunction = (app: string): TFunction => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[app]?.t ?? defaultI18n.t;\n};\n\nexport const getT = (): TFunction => {\n\tconst { instances, defaultI18n } = useI18nStore.getState();\n\treturn instances[SHELL_APP_ID]?.t ?? defaultI18n.t;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\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 i18next, { i18n } from 'i18next';\nimport Backend from 'i18next-http-backend';\nimport produce from 'immer';\nimport { dropRight, forEach, reduce } from 'lodash';\nimport create from 'zustand';\nimport { CarbonioModule, I18nState } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useAccountStore } from '../account';\n\nconst addShell = (apps: Array<CarbonioModule>): Array<CarbonioModule> => [\n\t...apps,\n\t{\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: SHELL_APP_ID,\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t}\n];\n\nconst { settings } = useAccountStore.getState();\n\nconst defaultLng =\n\t(settings?.prefs?.zimbraPrefLocale as string) ??\n\t(settings?.attrs?.zimbraLocale as string) ??\n\t'en';\n\nconst defaultI18n = i18next.createInstance({ lng: defaultLng });\n\nexport const useI18nStore = create<I18nState>((set) => ({\n\tinstances: {},\n\tdefaultI18n,\n\tlocale: 'en',\n\tsetters: {\n\t\tsetLocale: (locale: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: I18nState) => {\n\t\t\t\t\tstate.locale = locale;\n\t\t\t\t\tforEach(state.instances, (i18nInst) => i18nInst.changeLanguage(locale));\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t},\n\tgetters: {\n\t\tgetLocale: (state: I18nState): string => state.locale\n\t},\n\tactions: {\n\t\taddI18n: (apps: Array<CarbonioModule>, locale: string): void => {\n\t\t\tconst appsWithShell = addShell(apps);\n\t\t\tset(\n\t\t\t\tproduce((state: I18nState) => {\n\t\t\t\t\tstate.instances = reduce(\n\t\t\t\t\t\tappsWithShell,\n\t\t\t\t\t\t(acc, app) => {\n\t\t\t\t\t\t\tconst newI18n = i18next.createInstance();\n\t\t\t\t\t\t\tnewI18n\n\t\t\t\t\t\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\t\t\t\t\t// learn more: https://github.com/i18next/i18next-http-backend\n\t\t\t\t\t\t\t\t.use(Backend)\n\t\t\t\t\t\t\t\t// init i18next\n\t\t\t\t\t\t\t\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t\t\t\t\t\t\t\t.init({\n\t\t\t\t\t\t\t\t\treturnEmptyString: true,\n\t\t\t\t\t\t\t\t\tcompatibilityJSON: 'v3',\n\t\t\t\t\t\t\t\t\tfallbackLng: 'en',\n\t\t\t\t\t\t\t\t\tlng: locale,\n\t\t\t\t\t\t\t\t\tdebug: false,\n\t\t\t\t\t\t\t\t\tinterpolation: {\n\t\t\t\t\t\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmissingKeyHandler: (_, __, key) => {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tbackend: {\n\t\t\t\t\t\t\t\t\t\tloadPath:\n\t\t\t\t\t\t\t\t\t\t\tapp.name === SHELL_APP_ID\n\t\t\t\t\t\t\t\t\t\t\t\t? `${BASE_PATH}/i18n/{{lng}}.json`\n\t\t\t\t\t\t\t\t\t\t\t\t: `${dropRight(app.js_entrypoint.split('/')).join('/')}/i18n/{{lng}}.json`\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// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[app.name] = newI18n;\n\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{} as Record<string, i18n>\n\t\t\t\t\t);\n\t\t\t\t\tstate.defaultI18n.t = state.instances[SHELL_APP_ID].t;\n\t\t\t\t\tstate.locale = locale;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}));\n\ndefaultI18n\n\t.use(Backend)\n\t// init i18next\n\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t.init({\n\t\treturnEmptyString: true,\n\t\tcompatibilityJSON: 'v3',\n\t\tlng: defaultLng,\n\t\tfallbackLng: 'en',\n\t\tdebug: false,\n\t\tinterpolation: {\n\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t},\n\t\tmissingKeyHandler: (_, __, key) => {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t},\n\t\tbackend: {\n\t\t\tloadPath: `${BASE_PATH}/i18n/{{lng}}.json`\n\t\t}\n\t});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Container } from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\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\n// eslint-disable-next-line no-unused-expressions\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/anchor';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/autoresize';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/wordcount';\n\nimport { Editor } from '@tinymce/tinymce-react';\nimport { useUserSettings } from '../account';\nimport { getT } from '../i18n';\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\tonFileSelect?: (arg: any) => void;\n};\n\nexport const FileInput = styled.input`\n\tdisplay: none;\n`;\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tonFileSelect,\n\tinline = false,\n\tvalue,\n\tbaseAssetsUrl,\n\tinitialValue,\n\n\t...rest\n}) => {\n\tconst _onEditorChange = useCallback(\n\t\t(newContent, editor) => {\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[onEditorChange]\n\t);\n\tconst { prefs } = useUserSettings();\n\tconst defaultStyle = useMemo(\n\t\t() => ({\n\t\t\tfont: prefs?.zimbraPrefHtmlEditorDefaultFontFamily,\n\t\t\tfontSize: prefs?.zimbraPrefHtmlEditorDefaultFontSize,\n\t\t\tcolor: prefs?.zimbraPrefHtmlEditorDefaultFontColor\n\t\t}),\n\t\t[prefs]\n\t);\n\tconst inputRef = useRef<any>();\n\tconst onFileClick = useCallback(() => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = null;\n\t\t\tinputRef.current.click();\n\t\t}\n\t}, []);\n\tconst t = getT();\n\tconst inlineLabel = useMemo(() => t('label.add_inline_image', 'Add inline image'), [t]);\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<FileInput\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={inputRef}\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tonChange={(): void => {\n\t\t\t\t\tonFileSelect && onFileSelect({ editor: tinymce, files: inputRef?.current?.files });\n\t\t\t\t}}\n\t\t\t\tmultiple\n\t\t\t/>\n\n\t\t\t<Editor\n\t\t\t\tinitialValue={initialValue}\n\t\t\t\tvalue={value}\n\t\t\t\tinit={{\n\t\t\t\t\tcontent_css: `${baseAssetsUrl}/tinymce/skins/content/default/content.css`,\n\t\t\t\t\tsetup: (editor: any): void => {\n\t\t\t\t\t\tif (onFileSelect)\n\t\t\t\t\t\t\teditor.ui.registry.addMenuButton('imageSelector', {\n\t\t\t\t\t\t\t\ticon: 'gallery',\n\t\t\t\t\t\t\t\ttooltip: 'Select Image',\n\t\t\t\t\t\t\t\tfetch: (callback: any) => {\n\t\t\t\t\t\t\t\t\tconst items = [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\t\t\t\ttext: inlineLabel,\n\t\t\t\t\t\t\t\t\t\t\tonAction: (): void => {\n\t\t\t\t\t\t\t\t\t\t\t\tonFileClick();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\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\tcallback(items);\n\t\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\tmin_height: 350,\n\t\t\t\t\tauto_focus: true,\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\tfontsize_formats:\n\t\t\t\t\t\t'8pt 9pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt',\n\t\t\t\t\tobject_resizing: 'img',\n\t\t\t\t\tstyle_formats: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: 'Headers',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{ title: 'h1', block: 'h1' },\n\t\t\t\t\t\t\t\t{ title: 'h2', block: 'h2' },\n\t\t\t\t\t\t\t\t{ title: 'h3', block: 'h3' },\n\t\t\t\t\t\t\t\t{ title: 'h4', block: 'h4' },\n\t\t\t\t\t\t\t\t{ title: 'h5', block: 'h5' },\n\t\t\t\t\t\t\t\t{ title: 'h6', block: 'h6' }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: 'Blocks',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{ title: 'p', block: 'p' },\n\t\t\t\t\t\t\t\t{ title: 'div', block: 'div' },\n\t\t\t\t\t\t\t\t{ title: 'pre', block: 'pre' }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: 'Containers',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{ title: 'section', block: 'section', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t\t\t{ title: 'article', block: 'article', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t\t\t{ title: 'blockquote', block: 'blockquote', wrapper: true },\n\t\t\t\t\t\t\t\t{ title: 'hgroup', block: 'hgroup', wrapper: true },\n\t\t\t\t\t\t\t\t{ title: 'aside', block: 'aside', wrapper: true },\n\t\t\t\t\t\t\t\t{ title: 'figure', block: 'figure', wrapper: true }\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\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'edit',\n\t\t\t\t\t\t'file',\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\t'visualblocks'\n\t\t\t\t\t],\n\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 styleselect visualblocks| bold italic underline strikethrough | removeformat code | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent | ltr rtl | insertfile image | imageSelector ',\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\tforced_root_block: false,\n\t\t\t\t\tcontent_style: `body { color: ${defaultStyle?.color}; font-size: ${defaultStyle?.fontSize}; font-family: ${defaultStyle?.font}; }`,\n\t\t\t\t\tvisualblocks_default_state: false,\n\t\t\t\t\tend_container_on_empty_block: true\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: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create from 'zustand';\nimport { LoginConfigStore } from '../../../types/loginConfig';\n\nexport const useLoginConfigStore = create<LoginConfigStore>(() => ({\n\tcarbonioWebUIDarkMode: undefined,\n\tcarbonioWebUiAppLogo: undefined,\n\tcarbonioWebUiDarkAppLogo: undefined,\n\tcarbonioWebUiTitle: undefined,\n\tcarbonioWebUiFavicon: undefined\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 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\tpollingInterval: 30000,\n\tseq: 0\n}));\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';\nimport { folderWorker, tagWorker } from '../../workers';\nimport { useFolderStore } from '../folder';\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\n\t\t\t});\n\t\t\tfolderWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\tfolder: refresh.folder ?? []\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\tfolderWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useFolderStore.getState().folders\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 from 'zustand';\nimport { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\nexport const useTagStore = create<TagState>(() => ({\n\ttags: {}\n}));\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 { Modal } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { getT } from '../store/i18n';\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 = getT();\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';\nimport { noop } from 'lodash';\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 onClick={noop} />\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 {\n\tContainer,\n\tDropdown,\n\tDropdownItem,\n\tIconButton,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { map, noop } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { SHELL_APP_ID, UtilityView } from '../../types';\nimport { noOp } from '../network/fetch';\nimport { logout } from '../network/logout';\nimport { useUserAccount } from '../store/account';\nimport { addBoard } from '../store/boards';\nimport { getT } from '../store/i18n';\nimport { useUtilityBarStore } from './store';\nimport { useUtilityViews } from './utils';\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 = getT();\n\tconst account = useUserAccount();\n\tconst accountItems = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tid: 'account',\n\t\t\t\t\tlabel: account?.displayName ?? 'Account',\n\t\t\t\t\tdisabled: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'email',\n\t\t\t\t\tlabel: account?.name ?? '',\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\titemTextSize: 'small'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: 'divider',\n\t\t\t\t\tid: 'divider',\n\t\t\t\t\tlabel: 'divider'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'feedback',\n\t\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\t\tclick: () =>\n\t\t\t\t\t\taddBoard(SHELL_APP_ID)({\n\t\t\t\t\t\t\turl: 'feedback',\n\t\t\t\t\t\t\ttitle: t('label.feedback', 'Feedback'),\n\t\t\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t\t\t}),\n\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'update',\n\t\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\t\tclick: (): void => noOp(),\n\t\t\t\t\ticon: 'Refresh'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'docs',\n\t\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\t\t// TODO: Replace when the correct link is available\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\t\t\t\t\tclick: (): void => {},\n\t\t\t\t\tdisabled: true,\n\t\t\t\t\ticon: 'InfoOutline'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'logout',\n\t\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\t\tclick: logout,\n\t\t\t\t\ticon: 'LogOut'\n\t\t\t\t}\n\t\t\t] as DropdownItem[],\n\t\t[account, 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={account?.displayName ?? account?.name} placement=\"bottom-end\">\n\t\t\t\t<Dropdown items={accountItems} maxWidth=\"18.75rem\" disableAutoFocus>\n\t\t\t\t\t<IconButton icon=\"PersonOutline\" size=\"large\" onClick={noop} />\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)<{ mode: string }>`\n\twidth: ${({ mode }): number => (mode !== 'closed' ? 16 : 3)}rem;\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: 0.0625rem solid ${({ theme }): string => theme.palette.gray2.regular};\n`;\nconst Spacer = styled.div<{ mode: string }>`\n\tposition: relative;\n\twidth: ${({ mode }): number => (mode === 'open' ? 16 : 3)}rem;\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, omit } 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(omit(activeRoute, 'standalone') ?? {});\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\nexport const getPrefersColorSchemeDarkMedia = (): MediaQueryList =>\n\twindow.matchMedia('(prefers-color-scheme: dark)');\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// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const folderWorker = new Worker(new URL('./folder', import.meta.url));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { DARK_READER_PROP_KEY, SHELL_APP_ID } from '../../src/constants';\nimport { DarkReaderPropValues } from '../misc';\n\nexport interface ZimletProp {\n\tname: string;\n\tzimlet: string;\n\t_content: string;\n}\n\nexport interface ZappDarkreaderModeZimletProp extends ZimletProp {\n\tname: typeof DARK_READER_PROP_KEY;\n\tzimlet: SHELL_APP_ID;\n\t_content: DarkReaderPropValues;\n}\n\nexport function isZappDarkreaderModeZimletProp(\n\tprop: ZimletProp\n): ZimletProp is ZappDarkreaderModeZimletProp {\n\treturn prop.name === DARK_READER_PROP_KEY && prop.zimlet === SHELL_APP_ID;\n}\n\nexport type SoapFetch = <Request, Response>(\n\tapi: string,\n\tbody: Request,\n\taccount?: string\n) => Promise<Response>;\n\nexport type AccountState = {\n\tauthenticated: boolean;\n\taccount?: Account;\n\tsettings: AccountSettings;\n\tzimbraVersion?: string;\n\tusedQuota: number;\n};\n\nexport type Account = {\n\t// apps: Array<AppPkgDescription>;\n\tid: string;\n\tname: string;\n\tdisplayName: string;\n\t//\tsettings: AccountSettings;\n\tsignatures: { signature: Array<unknown> };\n\tidentities: any;\n\trights: AccountRights;\n};\n\nexport type DelegateProps = {\n\temail: string;\n\tright: string;\n};\n\nexport type AccountSettings = {\n\tattrs: Record<string, string | number>;\n\tprefs: Record<string, string | number>;\n\tprops: Array<ZimletProp>;\n};\n\nexport type AccountRightTarget = {\n\td: string;\n\tid: string;\n\tname: string;\n\ttype: string;\n};\n\nexport type AccountRightName =\n\t| 'sendAs'\n\t| 'sendAsDistList'\n\t| 'viewFreeBusy'\n\t| 'sendOnBehalfOf'\n\t| 'sendOnBehalfOfDistList';\nexport type AccountRights = {\n\ttargets: Array<{\n\t\tright: AccountRightName;\n\t\ttarget: Array<AccountRightTarget>;\n\t}>;\n};\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 { i18n } from 'i18next';\nimport { ComponentType, Dispatch, FC, SetStateAction } from 'react';\nimport { TFunction } from 'react-i18next';\nimport { LinkProps } from 'react-router-dom';\nimport {\n\tAccount,\n\tAccountRightName,\n\tAccountRights,\n\tAccountRightTarget,\n\tAccountSettings,\n\tSoapFetch\n} from '../account';\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 { Board, BoardHooksContext } from '../boards';\nimport { Folder, Folders } from '../folder';\nimport { Action, ActionFactory, AnyFunction, CombinedActionFactory } from '../integrations';\nimport { AccordionFolder, HistoryParams, ShellModes } from '../misc';\nimport { CreateTagResponse, Mods, SoapNotify, SoapRefresh, TagActionResponse } from '../network';\nimport { INotificationManager } from '../notification';\nimport { QueryChip } from '../search';\nimport { Tag, Tags } from '../tags';\n\nexport const getBridgedFunctions: () => {\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\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;\n\nexport const IS_STANDALONE: boolean;\n\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 useFolder: (id: string) => BaseFolder | Folder | LinkFolder;\nexport const getFolder: (id: string) => BaseFolder | Folder | LinkFolder;\nexport const useFolders: () => Folders;\nexport const getFolders: () => Folders;\nexport const useRoot: (name: string) => Folder;\nexport const getRoot: (name: string) => Folder;\nexport const useRoots: () => Roots;\nexport const getRoots: () => Roots;\nexport const useRootByView: (view: string) => Folder;\nexport const getRootByView: (view: string) => Folder;\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 useNotify: () => Array<SoapNotify>;\nexport const useRefresh: () => SoapRefresh;\nexport const AppLink: FC<LinkProps>;\nexport const Spinner: FC;\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// FOLDERS\n\n// ROOTS\n\n// ROOTS BY USER\nexport const useRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\nexport const getRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\n\n// SEARCHES\n\nexport const useSearchFolder: (id: string) => SearchFolder | undefined;\nexport const useSearchFolders: (id: string) => SearchFolder | undefined;\nexport const getSearchFolder: () => Searches;\nexport const getSearchFolders: () => Searches;\n\n// Accordion-ize\n\nexport const useFoldersByView: (view: string) => Array<Folder>;\n\nexport const useFoldersAccordionByView: (\n\tview: string,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n) => Array<AccordionFolder>;\n\n// NOTIFICATION\nexport const getNotificationManager: () => INotificationManager;\n\n// Run Search\nexport const runSearch: (query: Array<QueryChip>, module: string) => void;\n\nexport const useLocalStorage: <T>(key: string, initialValue: T) => [T, Dispatch<SetStateAction<T>>];\n\n// TRANSLATIONS\nexport const getI18n: () => i18n;\nexport const useI18n: () => i18n;\nexport const t: TFunction;\n\nexport const addBoard: <T = any>(\n\tboard: Omit<Board<T>, 'app' | 'icon' | 'id'> & { id?: string; icon?: string },\n\texpanded?: boolean\n) => Board;\nexport const closeBoard: (id: string) => void;\nexport const updateBoard: <T = any>(id: string, board: Partial<Board<T>>) => void;\nexport const updateBoardContext: <T = any>(id: string, context: T) => void;\nexport const getBoardById: <T>(id: string) => Board<T>;\nexport const getBoardContextById: <T>(id: string) => T;\nexport const useBoardContextById: <T>(id: string) => T;\nexport const useBoardById: <T>(id: string) => Board<T>;\nexport const minimizeBoards: () => void;\nexport const reopenBoards: () => void;\nexport const setCurrentBoard: (id: string) => void;\nexport const useBoardHooks: () => BoardHooksContext;\nexport const useBoard: <T>() => Board<T>;\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 './notification';\nexport * from './integrations';\nexport * from './theme';\nexport * from './search';\nexport * from './misc';\nexport * from './tags';\nexport * from './workers';\nexport * from './folder';\nexport * from './i18n';\nexport * from './boards';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store } from '@reduxjs/toolkit';\nimport { To } from 'history';\nimport { ComponentType } from 'react';\nimport { CarbonioModule, PanelMode } from '../apps';\nimport { DARK_READER_VALUES } from '../../src/constants';\n\n// eslint-disable-next-line no-shadow\nexport enum JSNS {\n\tACCOUNT = 'urn:zimbraAccount',\n\tADMIN = 'urn:zimbraAdmin',\n\tMAIL = 'urn:zimbraMail',\n\tALL = 'urn:zimbra',\n\tSYNC = 'urn:zimbraSync'\n}\n\nexport type DarkReaderPropValues = typeof DARK_READER_VALUES[number];\n\nexport function isDarkReaderPropValues(\n\tmaybeDarkReaderPropValue: unknown\n): maybeDarkReaderPropValue is DarkReaderPropValues {\n\treturn (\n\t\ttypeof maybeDarkReaderPropValue === 'string' &&\n\t\tDARK_READER_VALUES.includes(maybeDarkReaderPropValue)\n\t);\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type PackageDependentFunction = (app: string) => Function;\n// eslint-disable-next-line @typescript-eslint/ban-types\n\nexport type ContextBridgeState = {\n\tpackageDependentFunctions: Record<string, PackageDependentFunction>;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tfunctions: Record<string, Function>;\n\tadd: (content: Partial<Omit<ContextBridgeState, 'add'>>) => void;\n};\n\nexport type IShellWindow = Window & {\n\t__ZAPP_SHARED_LIBRARIES__: { [name: string]: any };\n\t__ZAPP_HMR_EXPORT__: { [pkgName: string]: (appClass: ComponentType) => void };\n\t// __ZAPP_HMR_HANDLERS__: { [pkgName: string]: (handlers: RequestHandlersList) => void };\n};\n\nexport type LoadedAppRuntime = AppInjections & {\n\tpkg: CarbonioModule;\n};\n\nexport type LoadedAppsCache = {\n\t[pkgName: string]: LoadedAppRuntime;\n};\n\nexport type AppInjections = {\n\tstore: Store<any>;\n};\n\nexport type HistoryParams =\n\t| {\n\t\t\tpath: To;\n\t\t\troute?: string;\n\t }\n\t| string;\nexport type UtilityBarStore = {\n\tmode: PanelMode;\n\tsetMode: (mode: PanelMode) => void;\n\tcurrent?: string;\n\tsetCurrent: (current: string) => void;\n\tsecondaryBarState: boolean;\n\tsetSecondaryBarState: (state: boolean) => void;\n};\n\nexport type AccountProps = {\n\taccountId?: string;\n\ttype?: string;\n\tid?: number;\n\temail?: string;\n\tlabel?: string;\n\tpersonaLabel?: string;\n\tidentityId?: string;\n};\n\nexport type IdentityProps = {\n\tid: string;\n\ttype: string;\n\tidentityId: string | number;\n\tfromAddress?: string;\n\tidentityName?: string;\n\tfromDisplay?: string;\n\trecoveryAccount?: string;\n\treplyToDisplay?: string;\n\treplyToAddress?: string;\n\treplyToEnabled?: string;\n\tsaveToSent?: string;\n\tsentMailFolder?: string;\n\twhenInFoldersEnabled?: string;\n\twhenSentToEnabled?: string;\n\twhenSentToAddresses?: string;\n};\n\nexport type CreateModalProps = {\n\tbackground: string;\n\tcentered: boolean;\n\tchildren: React.ReactElement;\n\tconfirmColor: string;\n\tconfirmLabel: string;\n\tcopyLabel: string;\n\tcustomFooter: React.ReactElement;\n\tdisablePortal: boolean;\n\tdismissLabel: string;\n\thideFooter: boolean;\n\tmaxHeight: string;\n\tonClose: () => void;\n\tonConfirm: () => void;\n\tonSecondaryAction: () => void;\n\toptionalFooter: React.ReactElement;\n\tsecondaryActionLabel: string;\n\tshowCloseIcon: boolean;\n\tsize: string;\n\ttitle: string;\n\ttype: string;\n\tzIndex: number;\n};\n\n// Custom metadata\ntype Meta<T extends Record<string, unknown>> = {\n\t// Section. Normally present. If absent this indicates that CustomMetadata info is present but there are no sections to report on.\n\tsection?: string;\n\t_attrs: T;\n};\n// Grants\ntype Grant = {\n\t// Rights - Some combination of (r)ead, (w)rite, (i)nsert, (d)elete, (a)dminister, workflow action (x), view (p)rivate, view (f)reebusy, (c)reate subfolder\n\tperm: string;\n\t/* The type of Grantee:\n\t\"usr\",\n\t\"grp\",\n\t\"dom\" (domain),\n\t\"cos\",\n\t\"all\" (all authenticated users),\n\t\"pub\" (public authenticated and unauthenticated access),\n\t\"guest\" (non-Zimbra email address and password),\n\t\"key\" (non-Zimbra email address and access key)\n\t*/\n\tgt: 'usr' | 'grp' | 'dom' | 'cos' | 'all' | 'guest' | 'key' | 'pub';\n\t// Grantee ID\n\tzid: string;\n\t// Time when this grant expires. For internal/guest grant: If this attribute is not specified, the expiry of the grant is derived from internalGrantExpiry/guestGrantExpiry of the ACL it is part of. If this attribute is specified (overridden), the expiry value can not be greater than the corresponding expiry value in the ACL. For public grant: If this attribute is not specified, defaults to the maximum allowed expiry for a public grant. If not specified in the response, defaults to 0. Value of 0 indicates that this grant never expires.\n\texpiry?: string;\n\t// Name or email address of the principal being granted rights. optional if {grantee-type} is \"all\"/\"guest\"/\"pub\". When specified in a request, this can be just the username portion of the address in the default domain.\n\td?: string;\n\t// Optional argument. password when {grantee-type} is \"guest\"\n\tpw?: string;\n\t// Optional argument. Access key when {grantee-type} is \"key\"\n\tkey?: string;\n};\nexport type SoapPolicy = {\n\t// Retention policy type\n\ttype?: 'user' | 'system';\n\tid?: string;\n\tname?: string;\n\tlifetime?: string;\n};\n\nexport type SoapRetentionPolicy = Array<{\n\tkeep: Array<{ policy: SoapPolicy }>;\n\tpurge: Array<{ policy: SoapPolicy }>;\n}>;\n\nexport type FolderView =\n\t| 'search folder'\n\t| 'tag'\n\t| 'conversation'\n\t| 'message'\n\t| 'contact'\n\t| 'document'\n\t| 'appointment'\n\t| 'virtual conversation'\n\t| 'remote folder'\n\t| 'wiki'\n\t| 'task'\n\t| 'chat';\nexport type BaseFolder = {\n\t// Folder ID\n\tid: string;\n\t// Item's UUID - a globally unique identifier\n\tuuid: string;\n\t// Name of folder; max length 128; whitespace is trimmed by server; Cannot contain ':', '\"', '/', or any character below 0x20\n\tname: string;\n\t// Absolute Folder path\n\tabsFolderPath?: string;\n\t// ID of parent folder (absent for root folder)\n\tl?: string;\n\t// UUID of parent folder (absent for root folder)\n\tluuid?: string;\n\t// Flags - checked in UI (#), exclude free/(b)usy info, IMAP subscribed (*), does not (i)nherit rights from parent, is a s(y)nc folder with external data source, sync is turned on(~), folder does n(o)t allow inferiors / children\n\tf?: string;\n\t// color numeric; range 0-127; defaults to 0 if not present; client can display only 0-7\n\tcolor?: string;\n\t// RGB color in format #rrggbb where r,g and b are hex digits\n\trgb?: string;\n\t// Number of unread messages in folder\n\tu?: number;\n\t// Number of unread messages with this tag, including those with the IMAP \\Deleted flag set\n\ti4u?: number;\n\t// (optional) Default type for the folder; used by web client to decide which view to use;\n\tview?: FolderView;\n\t// Revision\n\trev?: number;\n\t// Modified sequence\n\tms?: number;\n\t// Modified date in seconds\n\tmd?: number;\n\t// Number of non-subfolder items in folder\n\tn?: number;\n\t// Number of non-subfolder items in folder, including those with the IMAP \\Deleted flag set\n\ti4n?: number;\n\t// Total size of all of non-subfolder items in folder\n\ts?: number;\n\t// Imap modified sequence\n\ti4ms?: number;\n\t// IMAP UIDNEXT\n\ti4next?: number;\n\t// URL (RSS, iCal, etc.) this folder syncs its contents to\n\turl?: string;\n\tactivesyncdisabled: boolean;\n\t// Number of days for which web client would sync folder data for offline use\n\twebOfflineSyncDays?: number;\n\t// For remote folders, the access rights the authenticated user has on the folder - will contain the calculated (c)reate folder permission if the user has both (i)nsert and (r)ead access on the folder\n\tperm?: string;\n\t// recursive\n\trecursive: boolean;\n\t// URL to the folder in the REST interface for rest-enabled apps (such as notebook)\n\trest?: string;\n\t// whether this folder can be deleted\n\tdeletable: boolean;\n\t// custom metadata\n\tmeta?: Array<Meta>;\n\t// ACL for sharing\n\tacl?: { grant: Array<Grant> };\n\tretentionPolicy?: SoapRetentionPolicy;\n};\n\nexport type LinkFolderFields = {\n\t// Primary email address of the owner of the linked-to resource\n\towner?: string;\n\t// Zimbra ID (guid) of the owner of the linked-to resource\n\tzid?: string;\n\t// Item ID of the linked-to resource in the remote mailbox\n\trid?: string;\n\t// UUID of the linked-to resource in the remote mailbox\n\truuid?: string;\n\t// The name presently used for the item by the owner\n\toname?: string;\n\t// If set, client should display reminders for shared appointments/tasks\n\treminder: boolean;\n\t// If \"tr\" is true in the request, broken is set if this is a broken link\n\tbroken: boolean;\n};\nexport type SearchFolderFields = {\n\t// Query\n\tquery?: string;\n\t// Sort by\n\tsortBy?: SortBy;\n\t// Comma-separated list. Legal values in list are:\n\t// appointment|chat|contact|conversation|document|message|tag|task|wiki (default is \"conversation\")\n\ttypes?: string;\n};\n\nexport type SortBy =\n\t| 'dateDesc'\n\t| 'dateAsc'\n\t| 'idDesc'\n\t| 'idAsc'\n\t| 'subjDesc'\n\t| 'subjAsc'\n\t| 'nameDesc'\n\t| 'nameAsc'\n\t| 'durDesc'\n\t| 'durAsc'\n\t| 'none'\n\t| 'taskDueAsc'\n\t| 'taskDueDesc'\n\t| 'taskStatusAsc'\n\t| 'taskStatusDesc'\n\t| 'taskPercCompletedAsc'\n\t| 'taskPercCompletedDesc'\n\t| 'rcptAsc'\n\t| 'rcptDesc'\n\t| 'readAsc'\n\t| 'readDesc';\n\nexport type AccordionFolder = {\n\tid: string;\n\tlabel: string;\n\tfolder: Folder;\n\tCustomComponent: ComponentType<{ folder: Folder }>;\n\titems: Array<AccordionFolder>;\n};\n\nexport type TreeNode<T> = T & {\n\tid: string;\n\tchildren: TreeNode<T>[];\n\tparent?: TreeNode<T>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { AccountRights, ZimletProp } from '../account';\nimport { Tag } from '../tags';\nimport { AccountACEInfo, Identity } from './entities';\n\nexport * from './soap';\n\nexport type ZimletPkgDescription = {\n\tzimlet: Array<{\n\t\tname: string;\n\t\tlabel: string;\n\t\tdescription: string;\n\t\tversion: string;\n\t\t/* Property related to Zextras */ zapp?: 'true';\n\t\t/* Property related to Zextras */ 'zapp-main'?: string;\n\t\t/* Property related to Zextras */ 'zapp-version'?: string;\n\t\t/* Property related to Zextras */ 'zapp-handlers'?: string;\n\t\t/* Property related to Zextras */ 'zapp-style'?: string;\n\t\t/* Property related to Zextras */ 'zapp-theme'?: string;\n\t\t/* Property related to Zextras */ 'zapp-serviceworker-extension'?: string;\n\t}>;\n\tzimletContext: Array<{\n\t\tbaseUrl: string;\n\t\tpresence: 'enabled';\n\t\tpriority: number;\n\t}>;\n};\n\nexport type GetInfoResponse = {\n\tname: string;\n\tid: string;\n\tattrs: {\n\t\t_attrs: {\n\t\t\tdisplayName: string;\n\t\t};\n\t};\n\tprefs: {\n\t\t_attrs: Record<string, string>;\n\t};\n\tsignatures: {\n\t\tsignature: Array<any>;\n\t};\n\tidentities: {\n\t\tidentity: Array<any>;\n\t};\n\tzimlets: {\n\t\tzimlet: Array<ZimletPkgDescription>;\n\t};\n\tprops: {\n\t\tprop: Array<ZimletProp>;\n\t};\n\tversion: string;\n\trights: AccountRights;\n};\n\nexport type PropsMods = Record<string, { app: string; value: unknown }>;\n\nexport type PermissionsMods = {\n\tfreeBusy: {\n\t\tcurrent: AccountACEInfo[];\n\t\tnew: AccountACEInfo;\n\t};\n\tinviteRight: {\n\t\tcurrent: AccountACEInfo[];\n\t\tnew: AccountACEInfo;\n\t};\n};\n\nexport type CreateIdentityProps = {\n\trequestId: number;\n\t/** name of the identity */\n\tzimbraPrefIdentityName: string | undefined;\n\t/** personal part of email address put in from header */\n\tzimbraPrefFromDisplay: string | undefined;\n\t/** email address to put in from header. Deprecated on data source as of bug 67068. */\n\tzimbraPrefFromAddress: string | undefined;\n\t/** Type of the email address from header. (sendAs or sendOnBehalfOf) */\n\tzimbraPrefFromAddressType: 'sendAs' | 'sendOnBehalfOf';\n\t/** TRUE if we should set a reply-to header */\n\t// TODO: update to boolean?\n\tzimbraPrefReplyToEnabled: 'TRUE' | 'FALSE' | undefined;\n\t/** personal part of email address put in reply-to header */\n\tzimbraPrefReplyToDisplay: string | undefined;\n\t/** address to put in reply-to header */\n\tzimbraPrefReplyToAddress: string | undefined;\n\t/** default mail signature for account/identity/dataSource */\n\tzimbraPrefDefaultSignatureId: string | undefined;\n\t/** forward/reply signature id for account/identity/dataSource */\n\tzimbraPrefForwardReplySignatureId: string | undefined;\n\t/** TRUE if we should look at zimbraPrefWhenSentToAddresses (deprecatedSince 5.0 in account) */\n\tzimbraPrefWhenSentToEnabled: string | undefined;\n\t/** TRUE if we should look at zimbraPrefWhenInFolderIds (deprecatedSince 5.0 in account) */\n\tzimbraPrefWhenInFoldersEnabled: string | undefined;\n};\n\nexport type CreateIdentityResponse = {\n\tidentity: [Identity];\n};\nexport type ModifyIdentityResponse = Record<string, never>;\nexport type DeleteIdentityResponse = Record<string, never>;\nexport type ModifyPropertiesResponse = Record<string, never>;\nexport type ModifyPrefsResponse = Record<string, never>;\nexport type RevokeRightsResponse = {\n\tace?: AccountACEInfo[];\n};\nexport type GrantRightsResponse = {\n\tace?: AccountACEInfo[];\n};\n\nexport type IdentityMods = {\n\tmodifyList?: Record<string, { id: string; prefs: Record<string, string | boolean> }>;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\n\nexport type PrefsMods = Record<string, string | number | boolean>;\n\nexport type Mods = Record<string, Record<string, unknown>> & {\n\tprops?: PropsMods;\n\tprefs?: PrefsMods;\n\tpermissions?: PermissionsMods;\n\tidentity?: IdentityMods;\n};\n\nexport type AddMod = (\n\ttype: keyof Mods,\n\tkey: keyof NonNullable<Mods[typeof type]>,\n\tvalue: NonNullable<Mods[keyof Mods]>[typeof key]\n) => void;\n\nexport type RemoveMod = (type: keyof Mods, key: keyof NonNullable<Mods[typeof type]>) => void;\n\nexport type Locale = {\n\tid: string;\n\tlocalName: string;\n\tname: string;\n};\nexport type AvailableLocalesResponse = {\n\tlocale: Array<Locale>;\n};\n\nexport type NetworkState = SoapContext & {\n\tnoOpTimeout?: Timeout;\n\tpollingInterval: number;\n\tseq: number;\n};\n\nexport type CreateTagRequest = {\n\ttag: Omit<Tag, id>;\n\t_jsns: string;\n};\n\nexport type CreateTagResponse = {\n\ttag: [Tag];\n};\n\nexport type TagActionRequest = {\n\t_jsns: string;\n\taction: {\n\t\top: 'rename' | 'color' | 'delete' | 'update';\n\t\tid: string;\n\t\tname?: string;\n\t\tcolor?: number;\n\t\trgb?: string;\n\t};\n};\nexport type TagActionResponse = {\n\taction: { op: string; id: string };\n\t_jsns: string;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\ttooltip?: string;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\nexport enum ResultLabelType {\n\tNORMAL = 'normal',\n\tWARNING = 'warning',\n\tERROR = 'error'\n}\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","export default __webpack_public_path__ + \"db1a38cf321d5b3025a31cd903b7d486.png\";","export default __webpack_public_path__ + \"20d012c938e8d0dcc703e4edc2714d23.mp3\";","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 ^\\\\.\\\\/.*$\";","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["React","I18nextProvider","SHELL_APP_ID","useI18nStore","AppErrorCatcher","AppContextProvider","pkg","children","getState","instances","defaultI18n","i18n","useCallback","Catcher","onError","error","console","reduce","getApp","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getIntegratedHook","getUserAccount","getUserAccounts","getUserSetting","getUserSettings","useUserAccount","useUserAccounts","useUserSetting","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useIsMobile","useLocalStorage","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","useIntegratedHook","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getSoapFetch","getXmlSoapFetch","getFolder","getFolders","useFolder","useFolders","useRoot","getRoot","useRoots","getRoots","useSearchFolder","useSearchFolders","getSearchFolder","getSearchFolders","useFoldersAccordionByView","useFoldersByView","useRootByUser","getRootByUser","getTags","useTags","useNotify","useRefresh","changeTagColor","createTag","deleteTag","renameTag","runSearch","getI18n","getTFunction","addBoard","closeBoard","updateBoard","updateBoardContext","getBoardById","getBoardContextById","useBoardContextById","useBoardById","useBoard","minimizeBoards","reopenBoards","setCurrentBoard","useBoardHooks","getNotificationManager","getAppFunctions","name","t","soapFetch","xmlSoapFetch","getBridgedFunctions","packageDependentFunctions","functions","acc","f","memo","Suspense","useMemo","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","SEARCH_APP_ID","SETTINGS_APP_ID","DevBoard","DevBoardTrigger","Feedback","SearchAppView","AccountWrapper","GeneralSettings","settingsSubSections","SettingsAppView","SettingsSidebar","settingsRoute","id","app","settingsPrimaryBar","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","loadApp","appPkg","Promise","_resolve","_reject","resolved","resolve","reject","e","window","__ZAPP_SHARED_LIBRARIES__","__ZAPP_HMR_EXPORT__","appComponent","state","info","script","document","createElement","setAttribute","version","js_entrypoint","body","appendChild","err","unloadApps","then","parentNode","removeChild","filter","useReporter","useAccountStore","injectSharedLibraries","loadApps","apps","appsToLoad","attrKey","log","locale","prefs","zimbraPrefLocale","attrs","zimbraLocale","actions","addI18n","setClients","allSettled","unloadAllApps","PropTypes","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","Preview","wnd","react","lodash","moment","BootstrapperContextProvider","ModalManager","ModalManagerContext","SnackbarManager","SnackbarManagerContext","useContext","useEffect","useTranslation","BrowserRouter","Route","Switch","useHistory","useParams","useBridge","BASENAME","IS_STANDALONE","NotificationPermissionChecker","ShellView","ContextBridge","history","createSnackbar","createModal","getHistory","StandaloneListener","standalone","DefaultViewsRegister","BootstrapperRouter","init","ThemeProvider","Bootstrapper","getInfo","loginConfig","all","Object","values","createContext","useState","UIThemeProvider","auto","disable","enable","setFetchMethod","createGlobalStyle","darkReaderDynamicThemeFixes","LOCAL_STORAGE_SETTINGS_KEY","getAutoScalingFontSize","fetch","ThemeCallbacksContext","addExtension","Error","setDarkReaderState","paletteExtension","theme","palette","shared","regular","hover","active","focus","disabled","linked","iconExtension","icons","Shared","ArrowCircleRight","Linked","ArrowCircleLeft","GlobalStyle","baseFontSize","localStorageSettings","extensions","setExtensions","extension","darkReaderState","sepia","aggregatedExtensions","themeAccumulator","themeExtensionFn","newExtension","ext","savedScalingValueSetting","undefined","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","base","standaloneBase","location","pathname","startsWith","EMAIL_VALIDATION_REGEX","ROOT_NAME","DARK_READER_VALUES","FOLDER_VIEW","search_folder","tag","conversation","message","contact","appointment","virtual_conversation","remote_folder","wiki","task","chat","LOCAL_STORAGE_SEARCH_KEY","SCALING_OPTIONS","value","BASE_FONT_SIZE","SCALING_LIMIT","WIDTH","HEIGHT","DPR","LOGIN_V3_CONFIG_PATH","DARK_READER_PROP_KEY","find","size","useLoginConfigStore","isZappDarkreaderModeZimletProp","useDarkReaderResultValue","carbonioWebUiDarkMode","settingReceived","props","darkReaderResultValue","result","_content","IconButton","url","title","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","r","module","parseParams","params","routeToApply","path","search","hash","cb","goBack","findIndex","forEach","isArray","mods","prop","key","pref","p","join","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","zimlet","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","includes","i","CreateIdentityResponse","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","split","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","authenticated","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","waitDisallowed","setTimeout","signal","zimbraVersion","method","headers","JSON","stringify","json","shellSoap","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","components","addApps","rights","assign","origin","response","favicon","getElementById","HTMLLinkElement","href","carbonioWebUiFavicon","BASE_PATH","carbonioWebUiTitle","reason","warn","logout","logoff","action","op","color","rgb","UAParser","os","browser","debounce","noop","defaultAudio","defaultIcon","PopupNotificationDefaultConfig","vibrate","AudioNotificationDefaultConfig","sound","NotificationDefaultConfig","showPopup","playSound","NotificationManager","Map","has","set","Audio","play","DEBOUNCE_TIME","get","config","defConfig","getAudioFileFunction","n","Notification","onClick","addEventListener","conf","instance","getInstance","requestPermission","Severity","ButtonOld","Button","Container","Icon","Row","Select","useReducer","styled","useAppList","getT","feedback","TextArea","textarea","gray5","text","fonts","sizes","font","gray4","TextContainer","ButtonContainer","TAContainer","primary","SubHeadingText","lineHeight","LabelContainer","gray2","emptyEvent","level","Info","release","extra","topic","user","reducer","payload","getTopics","ModuleLabelFactory","selected","open","length","alignSelf","_LabelFactory","showErr","allApps","sentryDsn","appItems","display","acct","event","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","confirmHandler","feedbackId","disabledSend","LabelFactory","topics","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","Hub","dsn","maxValueLength","Dropdown","SelectorContainer","ModuleSelectorComponent","modules","updateModule","fullModule","m","setOpen","dropdownItems","click","left","MemoModuleSelector","ModuleSelector","activeRoute","query","searchDisabled","Chip","Divider","Padding","Redirect","ResultLabelType","useQuery","updateQuery","useDisableSearch","setSearchDisabled","getIconAndColor","labelType","WARNING","ERROR","ResultsHeader","NORMAL","setDisabled","resetQuery","labelTypeElem","horizontal","q","searchViews","view","ChipInput","Tooltip","useRef","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","searchIsEnabled","setSearchIsEnabled","inputRef","storedValue","setStoredValue","inputTyped","setInputTyped","tooltip","isTyping","setIsTyping","options","setOptions","inputHasFocus","setInputHasFocus","inputState","setInputState","showClear","textContent","clearSearch","innerText","onSearch","currentQuery","ref","newInputState","hasAvatar","chip","c","qchip","appSuggestions","v","reverse","updateOptions","indexOf","slice","onQueryChange","newQuery","onInputType","suggestions","suggestion","triggerSearch","setTriggerSearch","containerRef","addFocus","removeFocus","searchCb","removeEventListener","disableOptions","placeholder","clearButtonPlaceholder","searchBtnTooltipLabel","onChipAdd","newChip","disableClearButton","cursor","overflowX","iconSize","paddingSize","isFunction","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","pop","useSnackbar","lowerFirst","AccountsList","PrimaryAccountSettings","SettingsSentMessages","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","justifyContent","newValue","Input","personaValue","setPersonaValue","personaLabel","onChange","Checkbox","whenSentToLabel","setWhenInFoldersEnabled","setWhenSentToEnabled","setWhenSentToAddresses","whenSentToAddressesLabel","onClickWhenSentToEnabled","isValidEmail","test","onChangeWhenSentToAddresses","emailValue","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","blankItem","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","allDay","medium","weight","DateTimePicker","momentLocalizer","Heading","changeDateEvent","endOfDate","getDateEvent","startOfDate","DateTimeSelect","sendAutoReply","dateDisabled","setDateDisabled","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriod","setSendAutoReplyTimePeriod","dateZimbraPrefOutOfOfficeFromDate","setZimbraPrefOutOfOfficeFromDate","dateZimbraPrefOutOfOfficeUntilDate","setZimbraPrefOutOfOfficeUntilDate","setAllDay","allDayDisabled","setAllDayDisabled","timeDisabled","setTimeDisabled","updatePrefs","prefValue","prefKey","toggleSendAutoReplyTimePeriod","maxWidth","Date","diff","add","valueOf","readOnly","subtract","appearanceSubSection","AppearanceSettings","subSection","isDarkReaderPropValues","DarkThemeSettingSection","removeMod","defaultSelection","onSelectionChange","FormSubSection","accountSubSection","Logout","sectionTitle","Badge","ThemeContext","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","navigator","clipboard","writeText","filteredList","description","backgroundColor","success","gray6","outOfOfficeSubSection","getExternalSendersPrefsData","getOutOfOfficeStatusPrefsData","ItemsExternalSenders","ItemsOutOfOfficeStatus","ItemsSendAutoReplies","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","defaultSendAutoreply","defaultOutOfOfficeStatus","selectedItemSendAutoReplies","outOfOfficeSection","useImperativeHandle","Slider","ScalingSliderContainer","ExampleContainer","$fontSize","ExampleText","BASE_FONT_OPTION_INDEX","option","AUTOSCALING_FONT_SIZE","AUTOSCALING_FONT_OPTION_INDEX","ScalingSettingSection","forwardRef","ScalingSettingSectionFn","scalingSettings","addLocalStoreChange","cleanLocalStoreChange","labels","scalingOptionValues","scalingOptionLabels","savedOptionIndex","optionIndex","autoScaling","setAutoScaling","scalingValue","setScalingValue","increaseScalingByStep","decreaseScalingByStep","toggleAutoScaling","onChangeScalingValue","newValueIndex","reset","exampleText","exampleFontSize","Math","round","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","defaultValue","fillBackground","Breadcrumbs","RouteLeavingGuard","useparam","crumbs","querySelector","scrollIntoView","ret","itemsExternalSenders","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefExternalSendersType","itemsOutOfOfficeStatus","zimbraPrefOutOfOfficeFreeBusyStatus","date","utc","format","local","startOf","endOf","localeList","localName","timeZoneList","screen","devicePixelRatio","baseFontIndex","timezoneAndLanguageSubSection","searchPrefsSubSection","OutOfOfficeSettings","LanguageAndTimeZoneSettings","SearchSettingsView","userSettings","localStorageUnAppliedChanges","setLocalStorageUnAppliedChanges","setLocalStorageSettings","nextState","prevType","nextType","unAppliedPrevState","localStorageSettingsPrevState","scalingSettingSectionRef","Modal","LanguageAndTimeZone","locales","timezones","defaultLocale","localeId","defaultTimeZone","timeZoneId","zimbraPrefTimeZoneId","timezone","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","MiniBadge","BadgeWrap","showCount","padding","fontSize","count","closeAllBoards","expandBoards","onGoToPanel","reduceBoards","useBoardStore","AppBoard","TabsList","BoardContainerComp","div","minimized","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","BoardContainer","boards","onReturnToApp","b","useHiddenCount","useLayoutEffect","AppBoardTab","tabContainerRef","hiddenTabsCount","recalculateHiddenTabs","tab","TabContainer","gray3","VerticalDivider","extrasmall","onRemove","Router","createMemoryHistory","BoardProvider","initialEntries","boardViews","windowHistory","unlisten","listen","l","Bubble","Collapser","MultiButton","groupBy","CreationButtonComponent","primaryAction","a","group","byApp","secondaryActions","onOpen","MemoCreationButton","CreationButton","locationFull","truncateLocation","ShellContext","isMobile","initialValue","readValue","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","dispatchEvent","Event","updateValue","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","getPrefersColorSchemeDarkMedia","CustomImg","img","ShellHeader","mobileNavIsOpen","onMobileMenuClick","carbonioWebUiAppLogo","carbonioWebUiDarkAppLogo","darkModeEnabled","setDarkModeEnabled","matches","setCallback","logoSrc","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNavComponent","menuTree","val","CustomComponent","zIndex","maxHeight","overflowY","ShellMobileNavMemo","ShellMobileNav","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","ShellPrimaryBarComponent","primaryBarViews","setRoutes","primaryBarAccessoryViews","accessories","hidePrimaryBar","minHeight","MemoShellPrimaryBarComponent","useUtilityBarStore","SidebarContainer","sidebarIsOpen","ShellSecondaryBarComponent","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","MemoShellSecondaryBar","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","useLoginRedirection","allowUnauthenticated","auth","ShellComponent","hideShellHeader","mobileNavOpen","setMobileNavOpen","MemoShell","targets","normalizeSettings","signatures","lastNotificationTime","now","useApps","priority","getAppList","getApps","appContexts","getShell","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","STANDALONE_RESPONSE","commit","utilityBar","routeData","idx","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","boardContext","boardHooksContext","callbacks","getBoardContext","getBoard","trimStart","uniqueId","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","folders","roots","userId","searches","sortFunction","itemProps","mapFunction","folder","filterFunction","recursionKey","deep","folderWorker","onmessage","hasId","getOriginalId","parts","toLowerCase","isTrash","oname","childrenSorted","i18next","Backend","dropRight","addShell","defaultLng","createInstance","lng","setLocale","i18nInst","changeLanguage","getters","getLocale","appsWithShell","newI18n","use","returnEmptyString","compatibilityJSON","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","_","__","backend","loadPath","tinymce","Editor","FileInput","input","Composer","onEditorChange","onFileSelect","inline","baseAssetsUrl","rest","_onEditorChange","newContent","editor","getContent","defaultStyle","zimbraPrefHtmlEditorDefaultFontFamily","zimbraPrefHtmlEditorDefaultFontSize","zimbraPrefHtmlEditorDefaultFontColor","onFileClick","inlineLabel","files","content_css","setup","ui","registry","addMenuButton","callback","onAction","min_height","auto_focus","menubar","statusbar","branding","resize","fontsize_formats","object_resizing","style_formats","block","wrapper","merge_siblings","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","forced_root_block","content_style","visualblocks_default_state","end_container_on_empty_block","compact","integration","hooks","Integration","C","factories","factory","combinedFactory","composer","hook","fn","ids","carbonioWebUIDarkMode","tagWorker","useTagStore","postMessage","tags","pick","Link","RRLink","to","_to","textDecoration","Prompt","when","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","useUtilityViews","UtilityBarItem","mode","setCurrent","accountItems","itemTextSize","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","matchMedia","Worker","URL","import","meta","SHELL_MODES","useTag","getTag","useRootByView","getRootByView","useI18n","JSNS","maybeDarkReaderPropValue"],"sourceRoot":""}
|