@zextras/carbonio-shell-ui 3.2.1 → 3.2.2
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 +2 -0
- package/dist/PKGBUILD +7 -7
- package/dist/commit +1 -1
- package/dist/component.json +3 -3
- package/dist/i18n/de.json +39 -22
- package/dist/i18n/it.json +11 -1
- package/dist/i18n/pl.json +19 -3
- package/dist/i18n/tr.json +18 -2
- package/dist/index.html +1 -1
- package/dist/{node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.7c915337.chunk.js → node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.221ea47e.chunk.js} +2 -2
- package/dist/{node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.7c915337.chunk.js.map → node_modules_core-js_internals_add-to-unscopables_js-src_workers_folder_ts.221ea47e.chunk.js.map} +1 -1
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.2bf7e38d.chunk.js → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.bf050fbf.chunk.js} +6 -6
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.2bf7e38d.chunk.js.map → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.bf050fbf.chunk.js.map} +1 -1
- package/dist/{src_workers_tag_ts.33a07051.chunk.js → src_workers_tag_ts.b770bbd0.chunk.js} +2 -2
- package/dist/{src_workers_tag_ts.33a07051.chunk.js.map → src_workers_tag_ts.b770bbd0.chunk.js.map} +1 -1
- package/dist/{style.55866758.css → style.1176de2e.css} +29 -29
- package/dist/{style.55866758.css.map → style.1176de2e.css.map} +1 -1
- package/dist/zapp-shell.bundle.js +2 -2
- package/dist/zapp-shell.bundle.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.2bf7e38d.chunk.js","mappings":"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BAAmB,EAAE,YAAY,CAAC;IAC/CsF,KAAK,EAAE,yBAAyB;IAChCyF,KAAK,EAAE;EACR,CAAC,CACD;AAAA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAQO,IAAM8nC,YAAY,GAAG,SAAfA,YAAYA,CAAI7yC,CAAY;EAAA,OAAgC,CACxE;IACC+K,KAAK,EAAE,YAAY;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;AC1FA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/loader.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/shell-i18n-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/theme-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/use-get-primary-color.tsx","webpack://@zextras/carbonio-shell-ui/./src/constants/index.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-mode.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-reader-result-value.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/utils.ts","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-components.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/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/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-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/out-of-office-time-period-section.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/search-settings.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/hooks/use-reset.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/language-and-timezone-settings.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/boards/resizable-container.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/useIsMobile.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks/useLocalStorage.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks/useMove.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks/useResize.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/logo.tsx","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/getters.ts","webpack://@zextras/carbonio-shell-ui/./src/store/login/hooks.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/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/./node_modules/date-fns/locale/ lazy \\.[/\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\]index\\.js$ namespace object","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab.css?0045","webpack://@zextras/carbonio-shell-ui/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|canvas","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|fs","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|http","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|https","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|url","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/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} 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 {\n\tuseAction,\n\tuseActions,\n\tuseActionsFactory,\n\tuseActionFactory,\n\tuseIntegratedComponent,\n\tuseIntegratedFunction\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\tuseFoldersByView,\n\tuseFoldersAccordionByView,\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';\nimport { useLocalStorage } from '../../shell/hooks/useLocalStorage';\nimport { useIsMobile } from '../../shell/hooks/useIsMobile';\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\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\tuseFoldersByView,\n\tuseFoldersAccordionByView,\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, Suspense, useMemo } from 'react';\nimport { 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\tmap(entryPoints, (Comp, appId) => (\n\t\t\t\t<Mounter key={appId} appId={appId}>\n\t\t\t\t\t<Comp />\n\t\t\t\t</Mounter>\n\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\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\t/** @deprecated */\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 type { TFunction } from 'i18next';\nimport type { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\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';\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};\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})\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 { forOwn } from 'lodash';\nimport { ComponentType, memo } 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 type { 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\nexport function loadApp(appPkg: CarbonioModule): Promise<CarbonioModule> {\n\treturn new Promise((_resolve, _reject) => {\n\t\tlet resolved = false;\n\t\tconst resolve = (): void => {\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 => {\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\tif (\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__ &&\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui']\n\t\t\t) {\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][appPkg.name] = {\n\t\t\t\t\treport: report(appPkg.name),\n\t\t\t\t\tAppLink,\n\t\t\t\t\tSpinner,\n\t\t\t\t\tSettingsHeader,\n\t\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t\t...CONSTANTS\n\t\t\t\t};\n\t\t\t}\n\n\t\t\twindow.__ZAPP_HMR_EXPORT__[appPkg.name] = (appComponent: ComponentType): 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]: memo(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();\n\t\t\t};\n\n\t\t\tconst script = 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 { registerLocale, setDefaultLocale } from '@zextras/carbonio-design-system';\nimport type { Locale as DateFnsLocale } from 'date-fns';\nimport { CarbonioModule } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useReporter } from '../../reporting';\nimport { getUserSetting, useAccountStore } from '../../store/account';\nimport { getT, useI18nStore } from '../../store/i18n';\nimport { loadApp, unloadApps } from './load-app';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { localeList } from '../../settings/components/utils';\n\nconst getDateFnsLocale = (locale: string): Promise<DateFnsLocale> =>\n\timport(`date-fns/locale/${locale}/index.js`);\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\tconst localeObj = localeList(getT()).find((item) => item.id === locale);\n\tif (localeObj) {\n\t\tconst localeDateFnsKey = localeObj.dateFnsLocale || localeObj.value;\n\t\tgetDateFnsLocale(localeDateFnsKey).then((localeDateFns) => {\n\t\t\tregisterLocale(localeDateFnsKey, localeDateFns);\n\t\t\tsetDefaultLocale(localeDateFnsKey);\n\t\t});\n\t}\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\nimport React from 'react';\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';\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\nimport * as ZappUI from '@zextras/carbonio-design-system';\nimport * as StyledComponents from 'styled-components';\nimport * as Preview from '@zextras/carbonio-ui-preview';\n\nexport function injectSharedLibraries(): void {\n\tif (!window.__ZAPP_SHARED_LIBRARIES__) {\n\t\twindow.__ZAPP_SHARED_LIBRARIES__ = {\n\t\t\treact: React,\n\t\t\t'react-dom': ReactDOM,\n\t\t\t'react-i18next': ReactI18n,\n\t\t\t'react-redux': ReactRedux,\n\t\t\tlodash: Lodash,\n\t\t\t'react-router-dom': ReactRouterDom,\n\t\t\tmoment: Moment,\n\t\t\t'styled-components': StyledComponents,\n\t\t\t'@reduxjs/toolkit': ReduxJSToolkit,\n\t\t\t'@zextras/carbonio-shell-ui': {},\n\t\t\t'@zextras/carbonio-design-system': ZappUI,\n\t\t\t'@zextras/carbonio-ui-preview': Preview\n\t\t};\n\t\twindow.__ZAPP_HMR_EXPORT__ = {};\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 } from 'react';\nimport { BrowserRouter, Route, Switch, useHistory, useParams } from 'react-router-dom';\nimport {\n\tModalManager,\n\tSnackbarManager,\n\tuseModal,\n\tuseSnackbar\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport ShellI18nextProvider from './shell-i18n-provider';\nimport { ThemeProvider } from './theme-provider';\nimport { BASENAME, IS_STANDALONE } from '../constants';\nimport { Loader } from './loader';\nimport { NotificationPermissionChecker } from '../notification/NotificationPermissionChecker';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport ShellView from '../shell/shell-view';\nimport { useBridge } from '../store/context-bridge';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\n\nconst ContextBridge = (): null => {\n\tconst history = useHistory();\n\tconst createSnackbar = useSnackbar();\n\tconst createModal = useModal();\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 = (): null => {\n\tconst { route } = useParams<{ route?: string }>();\n\tuseEffect(() => {\n\t\tif (route) useAppStore.setState({ standalone: route });\n\t}, [route]);\n\treturn null;\n};\n\nexport const DefaultViewsRegister = (): null => {\n\tconst [t] = useTranslation();\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst Bootstrapper: FC = () => (\n\t<ThemeProvider>\n\t\t<ShellI18nextProvider>\n\t\t\t<BrowserRouter basename={BASENAME}>\n\t\t\t\t<SnackbarManager>\n\t\t\t\t\t<ModalManager>\n\t\t\t\t\t\t<Loader />\n\t\t\t\t\t\t{IS_STANDALONE && (\n\t\t\t\t\t\t\t<Switch>\n\t\t\t\t\t\t\t\t<Route path={'/:route'}>\n\t\t\t\t\t\t\t\t\t<StandaloneListener />\n\t\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t\t</Switch>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<DefaultViewsRegister />\n\t\t\t\t\t\t<NotificationPermissionChecker />\n\t\t\t\t\t\t<ContextBridge />\n\t\t\t\t\t\t<AppLoaderMounter />\n\t\t\t\t\t\t<ShellView />\n\t\t\t\t\t</ModalManager>\n\t\t\t\t</SnackbarManager>\n\t\t\t</BrowserRouter>\n\t\t</ShellI18nextProvider>\n\t</ThemeProvider>\n);\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Modal, Padding, Text } from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { find } from 'lodash';\nimport { useAppStore } from '../store/app';\nimport { getInfo } from '../network/get-info';\nimport { loadApps, unloadAllApps } from './app/load-apps';\nimport { loginConfig } from '../network/login-config';\nimport { goToLogin } from '../network/go-to-login';\nimport { getComponents } from '../network/get-components';\n\nexport function isPromiseRejectedResult<T>(\n\tpromiseSettledResult: PromiseSettledResult<T>\n): promiseSettledResult is PromiseRejectedResult {\n\treturn promiseSettledResult.status === 'rejected';\n}\n\nexport function isPromiseFulfilledResult<T>(\n\tpromiseSettledResult: PromiseSettledResult<T>\n): promiseSettledResult is PromiseFulfilledResult<T> {\n\treturn promiseSettledResult.status === 'fulfilled';\n}\n\ntype LoaderFailureModalProps = { open: boolean; closeHandler: () => void };\n\nexport const LoaderFailureModal = ({\n\topen,\n\tcloseHandler\n}: LoaderFailureModalProps): JSX.Element => {\n\tconst [t] = useTranslation();\n\tconst onConfirm = useCallback(() => window.location.reload(), []);\n\treturn (\n\t\t<Modal\n\t\t\topen={open}\n\t\t\tshowCloseIcon={false}\n\t\t\tonSecondaryAction={goToLogin}\n\t\t\ttitle={t('bootstrap.failure.modal.title', 'Something went wrong...')}\n\t\t\tconfirmLabel={t('bootstrap.failure.modal.confirmButtonLabel', 'refresh')}\n\t\t\tsecondaryActionLabel={t('bootstrap.failure.modal.secondaryButtonLabel', 'login page')}\n\t\t\tonConfirm={onConfirm}\n\t\t\tonClose={closeHandler}\n\t\t>\n\t\t\t<Padding all=\"small\">\n\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'bootstrap.failure.modal.body',\n\t\t\t\t\t\t'Some technical issues occurred while processing your request. Please try to refresh the page or go back to the login page.'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t</Padding>\n\t\t</Modal>\n\t);\n};\n\nexport const Loader = (): JSX.Element => {\n\tconst [open, setOpen] = useState(false);\n\tconst closeHandler = useCallback(() => setOpen(false), []);\n\n\tuseEffect(() => {\n\t\tPromise.allSettled([loginConfig(), getComponents(), getInfo()]).then(\n\t\t\t(promiseSettledResultArray) => {\n\t\t\t\tconst [, getComponentsPromiseSettledResult, getInfoPromiseSettledResult] =\n\t\t\t\t\tpromiseSettledResultArray;\n\n\t\t\t\tconst promiseRejectedResult = find(\n\t\t\t\t\t[getComponentsPromiseSettledResult, getInfoPromiseSettledResult],\n\t\t\t\t\tisPromiseRejectedResult\n\t\t\t\t);\n\t\t\t\tif (promiseRejectedResult) {\n\t\t\t\t\tif (typeof promiseRejectedResult.reason === 'string') {\n\t\t\t\t\t\tconsole.error(promiseRejectedResult.reason);\n\t\t\t\t\t} else if ('message' in promiseRejectedResult.reason) {\n\t\t\t\t\t\tconsole.error(promiseRejectedResult.reason.message);\n\t\t\t\t\t}\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t}\n\t\t\t\tif (isPromiseFulfilledResult(getComponentsPromiseSettledResult)) {\n\t\t\t\t\tloadApps(Object.values(useAppStore.getState().apps));\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, []);\n\treturn <LoaderFailureModal open={open} closeHandler={closeHandler} />;\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 ShellI18nextProvider: FC = ({ children }) => {\n\tconst i18n = useI18nStore((s) => s.instances[SHELL_APP_ID]);\n\treturn <I18nextProvider i18n={i18n}>{children}</I18nextProvider>;\n};\nexport default ShellI18nextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseState\n} from 'react';\nimport {\n\tgenerateColorSet,\n\tThemeProvider as UIThemeProvider,\n\tThemeProviderProps as UIThemeProviderProps\n} from '@zextras/carbonio-design-system';\nimport { auto, disable, enable, setFetchMethod } from 'darkreader';\nimport { map, reduce } from 'lodash';\nimport { createGlobalStyle, css, DefaultTheme, SimpleInterpolation } from 'styled-components';\nimport { DarkReaderPropValues, ThemeExtension } from '../../types';\nimport { darkReaderDynamicThemeFixes, LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\nimport { getAutoScalingFontSize } from '../settings/components/utils';\nimport { useGetPrimaryColor } from './use-get-primary-color';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\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\ntype CustomTheme = Partial<Omit<DefaultTheme, 'palette'>> & {\n\tpalette?: Partial<DefaultTheme['palette']>;\n};\n\nconst paletteExtension =\n\t(customTheme: CustomTheme = {}) =>\n\t(theme: DefaultTheme): DefaultTheme => ({\n\t\t...theme,\n\t\t...customTheme,\n\t\tpalette: {\n\t\t\t...theme.palette,\n\t\t\t...customTheme.palette,\n\t\t\tshared: {\n\t\t\t\tregular: '#FFB74D',\n\t\t\t\thover: '#FFA21A',\n\t\t\t\tactive: '#FFA21A',\n\t\t\t\tfocus: '#FF9800',\n\t\t\t\tdisabled: '#FFD699'\n\t\t\t},\n\t\t\tlinked: {\n\t\t\t\tregular: '#AB47BC',\n\t\t\t\thover: '#8B3899',\n\t\t\t\tactive: '#8B3899',\n\t\t\t\tfocus: '#7A3187',\n\t\t\t\tdisabled: '#DDB4E4'\n\t\t\t}\n\t\t}\n\t});\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\nconst globalCursorsExtension: ThemeExtension = (theme) => ({\n\t...theme,\n\tglobalCursors: [\n\t\t...(theme.globalCursors || []),\n\t\t'ns-resize',\n\t\t'ew-resize',\n\t\t'nesw-resize',\n\t\t'nwse-resize',\n\t\t'move'\n\t]\n});\n\ninterface GlobalStyledProps {\n\tbaseFontSize: number;\n}\n\nconst GlobalStyle = createGlobalStyle<GlobalStyledProps>`\n html {\n font-size: ${({ baseFontSize }): string => `${baseFontSize}%`};\n }\n ${({ theme }): SimpleInterpolation =>\n\t\tmap(\n\t\t\ttheme.globalCursors,\n\t\t\t(cursor) => css`\n\t\t\t\t.global-cursor-${cursor} * {\n\t\t\t\t\tcursor: ${cursor} !important;\n\t\t\t\t}\n\t\t\t`\n\t\t)}\n .no-active-background:active {\n\t background-color: inherit;\n }\n`;\n\ninterface ThemeProviderProps {\n\tchildren?: React.ReactNode | React.ReactNode[];\n}\nexport const ThemeProvider = ({ children }: ThemeProviderProps): JSX.Element => {\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\tconst primaryColor = useGetPrimaryColor();\n\n\tuseLayoutEffect(() => {\n\t\tconst customThemePalette: Partial<DefaultTheme['palette']> = primaryColor\n\t\t\t? { primary: generateColorSet({ regular: primaryColor }) }\n\t\t\t: {};\n\t\tsetExtensions((extension) => ({\n\t\t\t...extension,\n\t\t\tpalette: paletteExtension({\n\t\t\t\tpalette: customThemePalette\n\t\t\t}),\n\t\t\ticons: iconExtension,\n\t\t\tglobalCursors: globalCursorsExtension\n\t\t}));\n\t}, [primaryColor]);\n\n\tconst [darkReaderState, setDarkReaderState] = useState<DarkReaderPropValues>('disabled');\n\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<UIThemeProviderProps['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\tconst themeCallbacksContextValue = useMemo<ThemeCallbacks>(\n\t\t() => ({ addExtension, setDarkReaderState }),\n\t\t[addExtension]\n\t);\n\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={themeCallbacksContextValue}>\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 { useTheme } from '@zextras/carbonio-design-system';\nimport { useEffect, useMemo } from 'react';\nimport { size } from 'lodash';\nimport { LOCAL_STORAGE_LAST_PRIMARY_KEY } from '../constants';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\n\nexport function useGetPrimaryColor(): string | undefined {\n\tconst [localStorageLastPrimary, setLocalStorageLastPrimary] = useLocalStorage<\n\t\tPartial<Record<'dark' | 'light', string>> | undefined\n\t>(LOCAL_STORAGE_LAST_PRIMARY_KEY, undefined);\n\tconst { carbonioWebUiPrimaryColor, carbonioWebUiDarkPrimaryColor } = useLoginConfigStore();\n\tconst { darkModeEnabled, darkReaderStatus } = useDarkMode();\n\tconst theme = useTheme();\n\n\tconst primaryColor = useMemo(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tif (carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor) {\n\t\t\t\tif (darkModeEnabled) {\n\t\t\t\t\treturn carbonioWebUiDarkPrimaryColor || carbonioWebUiPrimaryColor;\n\t\t\t\t}\n\t\t\t\treturn carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor;\n\t\t\t}\n\t\t}\n\t\tif (localStorageLastPrimary && size(localStorageLastPrimary) > 0) {\n\t\t\treturn (\n\t\t\t\t(darkModeEnabled && (localStorageLastPrimary.dark || localStorageLastPrimary.light)) ||\n\t\t\t\tlocalStorageLastPrimary.light ||\n\t\t\t\tlocalStorageLastPrimary.dark\n\t\t\t);\n\t\t}\n\t\tif (theme) {\n\t\t\treturn theme.palette.primary.regular;\n\t\t}\n\t\treturn undefined;\n\t}, [\n\t\tcarbonioWebUiDarkPrimaryColor,\n\t\tcarbonioWebUiPrimaryColor,\n\t\tdarkModeEnabled,\n\t\tdarkReaderStatus,\n\t\tlocalStorageLastPrimary,\n\t\ttheme\n\t]);\n\n\tuseEffect(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tsetLocalStorageLastPrimary((prevState) => ({\n\t\t\t\t...prevState,\n\t\t\t\t[darkModeEnabled ? 'dark' : 'light']: primaryColor\n\t\t\t}));\n\t\t}\n\t}, [darkModeEnabled, darkReaderStatus, primaryColor, setLocalStorageLastPrimary]);\n\n\treturn primaryColor;\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: '#29B6F6', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#66BB6A', zLabel: 'green' },\n\t{ zValue: 4, hex: '#7e57c2', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#ef5350', 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: '#FF7043', 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\tLAST_SYSTEM_FOLDER_POSITION: '16.1'\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_LAST_PRIMARY_KEY = 'config';\nexport const LOCAL_STORAGE_SEARCH_KEY = 'search_suggestions';\nexport const LOCAL_STORAGE_BOARD_SIZE = 'board_size';\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';\nexport const SENTRY_SHELL_DSN = 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6';\nexport const SENTRY_FEEDBACK_DNS =\n\t'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8';\n\nexport enum ResultLabelType {\n\tNORMAL = 'normal',\n\tWARNING = 'warning',\n\tERROR = 'error'\n}\n\nexport const HEADER_BAR_HEIGHT = '3.75rem';\nexport const PRIMARY_BAR_WIDTH = '3.0625rem';\nexport const BOARD_HEADER_HEIGHT = '3rem';\nexport const BOARD_TAB_WIDTH = 'calc(3rem + 15ch)';\nexport const BOARD_CONTAINER_ZINDEX = 10;\nexport const BOARD_MIN_VISIBILITY = {\n\ttop: 50,\n\tleft: 30\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useEffect, useState } from 'react';\nimport { useDarkReaderResultValue } from './use-dark-reader-result-value';\nimport { getPrefersColorSchemeDarkMedia } from './utils';\nimport type { DarkReaderPropValues } from '../../types';\n\nexport const useDarkMode = (): {\n\tdarkModeEnabled: boolean;\n\tdarkReaderStatus: DarkReaderPropValues | undefined;\n} => {\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\n\tconst [darkModeEnabled, setDarkModeEnabled] = useState<boolean>(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\treturn { darkModeEnabled, darkReaderStatus: darkReaderResultValue };\n};\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 type { DarkReaderPropValues, ZappDarkreaderModeZimletProp, ZimletProp } from '../../types';\nimport { DARK_READER_PROP_KEY, DARK_READER_VALUES, SHELL_APP_ID } from '../constants';\n\nexport function isZappDarkreaderModeZimletProp(\n\tprop: ZimletProp\n): prop is ZappDarkreaderModeZimletProp {\n\treturn prop.name === DARK_READER_PROP_KEY && prop.zimlet === SHELL_APP_ID;\n}\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 as DarkReaderPropValues)\n\t);\n}\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\treturn 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","/*\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\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, ({ route }) => startsWith(trim(location.pathname, '/'), 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)}</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, index) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${index}\"><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\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 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\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs = {\n\t\t\t\t\t\t\t\t\t\t\t\t...acc[propIndex]._attrs,\n\t\t\t\t\t\t\t\t\t\t\t\t...prefs\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tif (prefs.zimbraPrefIdentityName && acc[propIndex].name !== 'DEFAULT') {\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].name = prefs.zimbraPrefIdentityName;\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\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 { getPollingInterval, handleSync } from '../store/network/utils';\n\nexport const fetchNoOp = (): 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 { noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\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\n\t\tconst nextPollingInterval = getPollingInterval(res);\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => fetchNoOp(), 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 { useAppStore } from '../store/app';\nimport { CarbonioModule } from '../../types';\n\nexport const getComponents = (): Promise<void> =>\n\tfetch('/static/iris/components.json')\n\t\t.then((response) => {\n\t\t\tif (response.ok) {\n\t\t\t\treturn response.json();\n\t\t\t}\n\t\t\tthrow Error(response.statusText);\n\t\t})\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore\n\t\t\t\t.getState()\n\t\t\t\t.setters.addApps(filter(components, ({ type }) => type === 'shell' || type === 'carbonio'));\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 { normalizeAccount } from '../store/account/normalization';\nimport { GetInfoResponse } from '../../types';\nimport { getSoapFetch } from './fetch';\nimport { useAccountStore } from '../store/account';\nimport { useNetworkStore } from '../store/network';\nimport { parsePollingInterval } from '../store/network/utils';\n\nexport const getInfo = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t}).then((res: GetInfoResponse): void => {\n\t\tif (res) {\n\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\tuseNetworkStore.setState({\n\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t});\n\t\t\tuseAccountStore.setState({\n\t\t\t\tauthenticated: true,\n\t\t\t\taccount,\n\t\t\t\tsettings,\n\t\t\t\tzimbraVersion: version\n\t\t\t});\n\t\t}\n\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';\nimport { getClientTitle, getFavicon } from '../store/login/getters';\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})\n\t\t.finally(() => {\n\t\t\tuseLoginConfigStore.setState({ loaded: true });\n\t\t\tconst favicon = document.getElementById('favicon');\n\t\t\tif (favicon && favicon instanceof HTMLLinkElement) {\n\t\t\t\tfavicon.href = getFavicon();\n\t\t\t}\n\t\t\tdocument.title = getClientTitle();\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 type {\n\tAudioNotificationConfig,\n\tINotificationManager,\n\tNotificationConfig,\n\tPopupNotificationConfig\n} from '../../types';\nimport defaultAudio from '../../assets/notification.mp3';\nimport { getFavicon } from '../store/login/getters';\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 * Default configuration for the popup-only notification\n\t * @private\n\t */\n\tprivate PopupNotificationDefaultConfig = {\n\t\ttitle: '',\n\t\tvibrate: [200, 100, 200],\n\t\ticon: getFavicon()\n\t};\n\n\t/**\n\t * Default configuration for the audio-only notification\n\t * @private\n\t */\n\tprivate AudioNotificationDefaultConfig: AudioNotificationConfig = {\n\t\tsound: defaultAudio\n\t};\n\n\t/**\n\t * Default configuration for a notification with both popup and audio\n\t * @private\n\t */\n\tprivate NotificationDefaultConfig: NotificationConfig = {\n\t\t...this.PopupNotificationDefaultConfig,\n\t\t...this.AudioNotificationDefaultConfig,\n\t\tshowPopup: true,\n\t\tplaySound: false\n\t};\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...this.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...this.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...this.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 type { Event as SentryEvent } from '@sentry/browser';\nimport {\n\tButton,\n\tContainer,\n\tContainerProps,\n\tIcon,\n\tLabelFactoryProps,\n\tRow,\n\tSelect,\n\tSelectItem,\n\tText,\n\tuseSnackbar\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map } from 'lodash';\nimport React, {\n\tTextareaHTMLAttributes,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseReducer,\n\tuseState\n} from 'react';\nimport type { TFunction } from '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\n// TODO: replace with DS TextArea?\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: SentryEvent = {\n\tmessage: '',\n\tlevel: 'info',\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\ntype SentryEventReducer =\n\t| { type: 'set-user'; payload: SentryEvent['user'] }\n\t| { type: 'reset'; payload: never }\n\t| { type: 'set-message'; payload: SentryEvent['message'] }\n\t| { type: 'select-app'; payload: { version: SentryEvent['release']; app: string } }\n\t| { type: 'select-topic'; payload: string };\n\nfunction reducer(state: SentryEvent, { type, payload }: SentryEventReducer): SentryEvent {\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\ntype Topic = { label: string; value: string };\n\nconst getTopics = (t: TFunction): Array<Topic> => [\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\ninterface ModuleLabelFactory {\n\tselected: SelectItem[];\n\tlabel?: string;\n\topen: boolean;\n\tfocus: boolean;\n\tdisabled: boolean;\n}\n\nconst ModuleLabelFactory = ({\n\tselected,\n\tlabel,\n\topen,\n\tfocus,\n\tdisabled\n}: ModuleLabelFactory): JSX.Element => (\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\ninterface FeedbackLabelFactoryProps extends LabelFactoryProps {\n\tshowErr: boolean;\n}\n\nconst FeedbackLabelFactory = ({\n\tselected,\n\tlabel,\n\topen,\n\tfocus,\n\tshowErr\n}: FeedbackLabelFactoryProps): JSX.Element => (\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{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 = (): JSX.Element => {\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(): SelectItem[] =>\n\t\t\tmap(\n\t\t\t\tapps,\n\t\t\t\t(app): SelectItem => ({\n\t\t\t\t\tlabel: app.display,\n\t\t\t\t\tvalue: app.name\n\t\t\t\t})\n\t\t\t),\n\t\t[apps]\n\t);\n\tconst account = useUserAccount();\n\tconst [sentryEvent, 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<\n\t\tNonNullable<TextareaHTMLAttributes<HTMLTextAreaElement>['onChange']>\n\t>((event) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tevent.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tevent.target.style.height = `${25 + event.target.scrollHeight}px`;\n\t\tif (event.target.value.length <= 500) {\n\t\t\tsetLimit(event.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: event.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback<\n\t\tNonNullable<TextareaHTMLAttributes<HTMLTextAreaElement>['onKeyUp']>\n\t>(\n\t\t(event) => {\n\t\t\tif (sentryEvent.extra?.topic === '0') {\n\t\t\t\tsetShowErr(true);\n\t\t\t} else {\n\t\t\t\tsetShowErr(false);\n\t\t\t}\n\t\t\tif (event.key === 'Backspace' && sentryEvent.message?.length === 0) {\n\t\t\t\tsetShowErr(false);\n\t\t\t}\n\t\t},\n\t\t[setShowErr, sentryEvent]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(sentryEvent);\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}, [sentryEvent, createSnackbar, t]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: account.id, name: account.displayName ?? account.name }\n\t\t});\n\t}, [account]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(sentryEvent?.message?.length ?? 0) <= 0 ||\n\t\t\tsentryEvent.extra?.topic === '0' ||\n\t\t\tsentryEvent.extra?.app === '0',\n\t\t[sentryEvent.message, sentryEvent.extra?.topic, sentryEvent.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props: LabelFactoryProps) => <FeedbackLabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\n\tconst defaultTopic = useMemo(\n\t\t(): Topic =>\n\t\t\tfind(topics, (topic) => topic.value === sentryEvent.extra?.topic) ?? { label: '', value: '' },\n\t\t[sentryEvent.extra?.topic, topics]\n\t);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"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={defaultTopic}\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={sentryEvent.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 type { Event, EventHint } 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: '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 } from 'zustand';\nimport {\n\tBrowserClient,\n\tdefaultIntegrations,\n\tdefaultStackParser,\n\tHub,\n\tmakeFetchTransport\n} from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport type { CarbonioModule } from '../../types';\nimport { SENTRY_FEEDBACK_DNS, SENTRY_SHELL_DSN, SHELL_APP_ID } from '../constants';\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\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: SENTRY_SHELL_DSN,\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\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: SENTRY_FEEDBACK_DNS,\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\ttransport: makeFetchTransport,\n\t\t\t\t\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\t\t\t\t\tintegrations: defaultIntegrations,\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}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport {\n\tContainer,\n\tRow,\n\tText,\n\tIcon,\n\tDropdown,\n\tDropdownItem\n} 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\ninterface ModuleSelectorProps {\n\tapp: string | undefined;\n}\n\nconst ModuleSelectorComponent = ({ app }: ModuleSelectorProps): JSX.Element | null => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\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(): DropdownItem[] =>\n\t\t\tmodules.map(\n\t\t\t\t({ id, label, icon, route }): DropdownItem => ({\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\ticon,\n\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\tupdateModule(route);\n\t\t\t\t\t\tpushHistory({ route: SEARCH_APP_ID, path: `/${route}` });\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[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}, [app, fullModule, modules, updateModule]);\n\n\tconst openDropdown = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\n\tconst closeDropdown = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\n\t// TODO: replace the Dropdown with a Select with the customLabelFactory\n\treturn (\n\t\t<Dropdown items={dropdownItems} onOpen={openDropdown} onClose={closeDropdown}>\n\t\t\t<SelectorContainer\n\t\t\t\tdata-testid=\"HeaderModuleSelector\"\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, { useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { type SearchState } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { ResultLabelType, SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useSearchStore } from './search-store';\n\nconst useQuery = (): [query: SearchState['query'], updateQuery: SearchState['updateQuery']] =>\n\tuseSearchStore((s) => [s.query, s.updateQuery]);\n\nconst useDisableSearch = (): [\n\tisDisabled: SearchState['searchDisabled'],\n\tsetDisabled: SearchState['setSearchDisabled']\n] => useSearchStore((s) => [s.searchDisabled, s.setSearchDisabled]);\n\nconst getIconAndColor = (labelType: ResultLabelType): [icon: string, color: 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\ninterface ResultsHeaderProps {\n\tlabel: string;\n\tlabelType?: ResultLabelType;\n}\n\nconst ResultsHeader = ({\n\tlabel,\n\tlabelType = ResultLabelType.NORMAL\n}: ResultsHeaderProps): JSX.Element => {\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<JSX.Element>(() => {\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\tconst chipItems = useMemo(\n\t\t() =>\n\t\t\tmap(query, (queryChip, index) => (\n\t\t\t\t<Padding key={`${index}${queryChip.label}`} all=\"extrasmall\">\n\t\t\t\t\t<Chip {...queryChip} background={'gray2'} />\n\t\t\t\t</Padding>\n\t\t\t)),\n\t\t[query]\n\t);\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\t\t\t\t\t{chipItems}\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 = (): JSX.Element => {\n\tconst searchViews = useAppStore((s) => s.views.search);\n\tconst { module } = useSearchStore();\n\tconst modules = useAppStore((s) => s.views.search);\n\n\tconst fullModule = useMemo(() => modules.find((m) => m.route === module), [module, modules]);\n\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<Switch>\n\t\t\t{routes}\n\t\t\t<Redirect\n\t\t\t\texact\n\t\t\t\tstrict\n\t\t\t\tfrom={`/${SEARCH_APP_ID}`}\n\t\t\t\tto={`/${SEARCH_APP_ID}/${fullModule ? fullModule.route : searchViews[0]?.route}`}\n\t\t\t/>\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 {\n\tChipInput,\n\tChipInputProps,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map, reduce, some } 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';\n\nimport { QueryChip, QueryItem } from '../../types';\nimport { getT } from '../store/i18n';\nimport { ModuleSelector } from './module-selector';\nimport { useSearchStore } from './search-store';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\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 SearchOption = NonNullable<ChipInputProps['options']>[number] & QueryItem;\n\nexport const SearchBar = (): JSX.Element => {\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst t = getT();\n\tconst [storedSuggestions, setStoredSuggestions] = useLocalStorage<SearchOption[]>(\n\t\tLOCAL_STORAGE_SEARCH_KEY,\n\t\t[]\n\t);\n\tconst [inputTyped, setInputTyped] = useState<string>('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled, tooltip } =\n\t\tuseSearchStore();\n\n\tconst [isTyping, setIsTyping] = useState(false);\n\n\tconst [options, setOptions] = useState<SearchOption[]>([]);\n\n\tconst [inputHasFocus, setInputHasFocus] = useState(false);\n\n\tconst [searchInputValue, setSearchInputValue] = useState<QueryChip[]>(query);\n\n\tconst showClear = useMemo(\n\t\t() =>\n\t\t\tsearchInputValue.length > 0 ||\n\t\t\t(inputRef.current?.value && inputRef.current?.value?.length > 0),\n\t\t[searchInputValue.length]\n\t);\n\tconst clearSearch = useCallback((): void => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t\tsetIsTyping(false);\n\t\tsetSearchInputValue([]);\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) {\n\t\t\t\tref.value = '';\n\t\t\t}\n\t\t\tif (inputTyped.length > 0) {\n\t\t\t\tconst newInputValue: typeof searchInputValue = [\n\t\t\t\t\t...searchInputValue,\n\t\t\t\t\t...map(\n\t\t\t\t\t\tinputTyped.split(' '),\n\t\t\t\t\t\t(label, id): QueryChip => ({\n\t\t\t\t\t\t\tid: `${id}`,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t];\n\t\t\t\tsetSearchInputValue(newInputValue);\n\t\t\t\tsetInputTyped('');\n\t\t\t\treturn reduce(\n\t\t\t\t\tnewInputValue,\n\t\t\t\t\t(acc, newInputChip) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!some(\n\t\t\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t\t\t(currentQueryChip) => currentQueryChip.label === newInputChip.label\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tacc.push(newInputChip);\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(currentQuery, (currentQueryChip) =>\n\t\t\t\t\t\tsome(\n\t\t\t\t\t\t\tsearchInputValue,\n\t\t\t\t\t\t\t(searchInputChip) => searchInputChip.label === currentQueryChip.label\n\t\t\t\t\t\t)\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\tsearchInputValue,\n\t\t\t\t(acc, searchInputChip) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!some(\n\t\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t\t(currentQueryChip) => currentQueryChip.label === searchInputChip.label\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tacc.push(searchInputChip);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\n\t\t\t\tfilter(currentQuery, (currentQueryChip: QueryChip) =>\n\t\t\t\t\tsome(\n\t\t\t\t\t\tsearchInputValue,\n\t\t\t\t\t\t(searchInputChip) => searchInputChip.label === currentQueryChip.label\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t\t// TODO: perform a navigation only when coming from a different module (not the search one)\n\t\thistory.push(`/${SEARCH_APP_ID}/${module}`);\n\t}, [updateQuery, history, module, inputTyped, searchInputValue]);\n\n\tconst appSuggestions = useMemo<SearchOption[]>(\n\t\t() =>\n\t\t\tfilter(storedSuggestions, (v) => v.app === module)\n\t\t\t\t.reverse()\n\t\t\t\t.map(\n\t\t\t\t\t(item): SearchOption => ({\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tdisabled: searchDisabled,\n\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\tconst newInputChip: QueryChip = { ...item, hasAvatar: false, onClick: undefined };\n\t\t\t\t\t\t\tsetSearchInputValue((prevState) => [...prevState, newInputChip]);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t[storedSuggestions, module, searchDisabled]\n\t);\n\n\tconst updateOptions = useCallback(\n\t\t(textContent: string, queryChips: QueryChip[]): void => {\n\t\t\tif (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(suggestion) =>\n\t\t\t\t\t\t\t\ttextContent &&\n\t\t\t\t\t\t\t\tsuggestion.label.includes(textContent) &&\n\t\t\t\t\t\t\t\t!some(queryChips, (queryChip) => queryChip.value === suggestion.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<NonNullable<ChipInputProps['onChange']>>(\n\t\t(newQuery) => {\n\t\t\t// FIXME: move the saving of suggestions after the search occurs.\n\t\t\t// \tThe saving logic should not be placed here because the onChange is called even when a chip is removed from the chipInput.\n\t\t\t// So, at the moment, keywords never searched for are saved too.\n\t\t\tconst lastChipLabel = newQuery[newQuery.length - 1]?.label;\n\t\t\tif (\n\t\t\t\tlastChipLabel &&\n\t\t\t\ttypeof lastChipLabel === 'string' &&\n\t\t\t\tmodule &&\n\t\t\t\t!find(appSuggestions, (suggestion) => suggestion.label === lastChipLabel)\n\t\t\t) {\n\t\t\t\tsetStoredSuggestions((prevState) => {\n\t\t\t\t\tconst newSuggestion: SearchOption = {\n\t\t\t\t\t\tvalue: lastChipLabel,\n\t\t\t\t\t\tlabel: lastChipLabel,\n\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\tid: lastChipLabel\n\t\t\t\t\t};\n\t\t\t\t\treturn [...prevState, newSuggestion];\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// FIXME: remove the cast (by making ChipItem support generics?)\n\t\t\tsetSearchInputValue(newQuery as QueryChip[]);\n\t\t},\n\t\t[appSuggestions, module, setStoredSuggestions]\n\t);\n\n\tconst onInputType = useCallback<NonNullable<ChipInputProps['onInputType']>>(\n\t\t(ev) => {\n\t\t\tif (!ev.textContent) {\n\t\t\t\tsetIsTyping(false);\n\t\t\t} else {\n\t\t\t\tsetIsTyping(true);\n\t\t\t}\n\t\t\tsetInputTyped(ev.textContent || '');\n\t\t\tupdateOptions(ev.textContent || '', query);\n\t\t},\n\t\t[query, updateOptions]\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 containerRef = useRef<HTMLDivElement>(null);\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\n\t// disabled for now, awaiting refactor of the search bar\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 runSearchOnKeyUp = (ev: KeyboardEvent): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tonSearch();\n\t\t\t\tremoveFocus();\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', runSearchOnKeyUp);\n\t\t}\n\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', runSearchOnKeyUp);\n\t\t\t}\n\t\t};\n\t}, [onSearch, removeFocus]);\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\n\tconst searchButtonsAreDisabled = useMemo(\n\t\t() => (isTyping ? false : !showClear),\n\t\t[showClear, isTyping]\n\t);\n\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (!searchButtonsAreDisabled && searchInputValue.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}, [searchButtonsAreDisabled, searchInputValue.length, inputHasFocus, query.length, t]);\n\n\tconst onChipAdd = useCallback<NonNullable<ChipInputProps['onAdd']>>(\n\t\t(newChip) => {\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\tsetSearchInputValue(map(query, (queryChip) => ({ ...queryChip, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\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={searchInputValue}\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{!searchButtonsAreDisabled && (\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={searchButtonsAreDisabled}\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={searchButtonsAreDisabled}\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 type { QueryChip, SearchState } from '../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 { TFunction, TOptions } from 'i18next';\nimport { useUserAccount } from '../store/account';\nimport { getT } from '../store/i18n';\nimport { AccountsSettings } from './accounts-settings';\nimport { Account, IdentityProps } from '../../types';\n\nconst tDefault = (key: string, defaultValue?: string | TOptions): string => {\n\tif (typeof defaultValue === 'string') {\n\t\treturn defaultValue;\n\t}\n\treturn defaultValue?.defaultValue || key;\n};\n\nexport const identityToIdentityProps = (\n\tidentity: Account['identities']['identity'][0],\n\tindex: number,\n\tt: TFunction | typeof tDefault = tDefault\n): IdentityProps => ({\n\tid: identity.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\tflgType: identity.name === 'DEFAULT' ? 'primary' : 'persona',\n\ttype: identity.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\tidentityId: identity._attrs?.zimbraPrefIdentityId || '',\n\tfromAddress: identity._attrs?.zimbraPrefFromAddress || '',\n\tidentityName: identity._attrs?.zimbraPrefIdentityName || '',\n\tfromDisplay: identity._attrs?.zimbraPrefFromDisplay || '',\n\treplyToDisplay: identity._attrs?.zimbraPrefReplyToDisplay || '',\n\treplyToAddress: identity._attrs?.zimbraPrefReplyToAddress || '',\n\treplyToEnabled: identity._attrs?.zimbraPrefReplyToEnabled || '',\n\tsaveToSent: identity._attrs?.zimbraPrefSaveToSent || '',\n\tsentMailFolder: identity._attrs?.zimbraPrefSentMailFolder || '',\n\twhenInFoldersEnabled: identity._attrs?.zimbraPrefWhenInFoldersEnabled || '',\n\twhenSentToEnabled: identity._attrs?.zimbraPrefWhenSentToEnabled || ''\n});\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\tidentityToIdentityProps(item, index, t)\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 account={accountSettings} identitiesDefault={identitiesDefault} />\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 {\n\tmap,\n\tfind,\n\treplace,\n\tlowerFirst,\n\tisEmpty,\n\tuniq,\n\tisArray,\n\treduce,\n\tfindIndex,\n\tfilter,\n\tsize\n} from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useAccountStore, useUserSettings } from '../store/account';\nimport type { Account, AccountSettings, ModifyIdentityRequest, IdentityProps } from '../../types';\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 Delegates, { DelegateType } from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport {\n\tBatchRequest,\n\tCreateIdentityResponse,\n\tDeleteIdentityResponse,\n\tModifyIdentityResponse,\n\tCreateIdentityRequest,\n\tDeleteIdentityRequest,\n\tAccountState,\n\tIdentityAttrs,\n\tGetRightsRequest,\n\tGetRightsResponse\n} from '../../types';\nimport { getSoapFetch } from '../network/fetch';\nimport { SHELL_APP_ID } from '../constants';\nimport SettingsHeader, { SettingsHeaderProps } from './components/settings-header';\n\ntype AccountSettingsProps = {\n\taccount: Account;\n\tidentitiesDefault: IdentityProps[];\n};\n\n/**\n * Compose a unique list of all identities' email addresses\n *\n * The list is composed of:\n * - the email address of the current account\n * - the email addresses of all the shared accounts (taken from the rights infos)\n * - all the aliases\n *\n * @param account\n * @param settings\n *\n * @returns a list of unique email addresses\n */\nconst getAvailableEmailAddresses = (account: Account, settings: AccountSettings): string[] => {\n\tconst result: string[] = [];\n\n\t// Adds the email address of the primary account\n\tresult.push(account.name);\n\n\t// Adds the email addresses of all the shared accounts\n\tif (account.rights?.targets) {\n\t\taccount.rights?.targets.forEach((target) => {\n\t\t\tif (target.target && (target.right === 'sendAs' || target.right === 'sendOnBehalfOf')) {\n\t\t\t\ttarget.target.forEach((user) => {\n\t\t\t\t\tif (user.type === 'account' && user.email) {\n\t\t\t\t\t\tuser.email.forEach((email) => {\n\t\t\t\t\t\t\tresult.push(email.addr);\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\t// Adds all the aliases\n\tif (settings.attrs.zimbraMailAlias) {\n\t\tif (isArray(settings.attrs.zimbraMailAlias)) {\n\t\t\tresult.push(...(settings.attrs.zimbraMailAlias as string[]));\n\t\t} else {\n\t\t\tresult.push(String(settings.attrs.zimbraMailAlias));\n\t\t}\n\t}\n\n\treturn uniq(result);\n};\n\ntype IdentityAttrsRecord<T extends string | number> = Record<T, Partial<IdentityAttrs>>;\n\nexport const AccountsSettings = ({\n\taccount,\n\tidentitiesDefault\n}: AccountSettingsProps): ReactElement => {\n\tconst [t] = useTranslation();\n\n\tconst [createList, setCreateList] = useState<NonNullable<IdentityAttrsRecord<number>>>({});\n\tconst [deleteList, setDeleteList] = useState<Array<string>>([]);\n\tconst [modifyList, setModifyList] = useState<NonNullable<IdentityAttrsRecord<string>>>({});\n\n\tconst resetLists = useCallback(() => {\n\t\tsetCreateList({});\n\t\tsetDeleteList([]);\n\t\tsetModifyList({});\n\t}, []);\n\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst settings = useUserSettings();\n\tconst maxIdentities = settings.attrs.zimbraIdentityMaxNumEntries;\n\n\tconst onCancel = useCallback(() => {\n\t\tresetLists();\n\t\tsetIdentities(identitiesDefault);\n\t\tsetSelectedIdentityId(size(identitiesDefault) - 1);\n\t}, [identitiesDefault, resetLists]);\n\n\tconst updateModifyList = useCallback<\n\t\t<K extends keyof IdentityAttrs>(id: string, key: K, value: IdentityAttrs[K]) => void\n\t>(\n\t\t(id, key, value) => {\n\t\t\tsetModifyList((prevState) => {\n\t\t\t\tconst updatedIdentityKey = lowerFirst(\n\t\t\t\t\treplace(key, 'zimbraPref', '')\n\t\t\t\t) as keyof IdentityProps;\n\n\t\t\t\tconst prevRecordPrefs = prevState[id] || {};\n\t\t\t\tconst actualIdentity = find(identitiesDefault, (item) => item.identityId === id);\n\n\t\t\t\tconst newModifyList = {\n\t\t\t\t\t...prevState,\n\t\t\t\t\t[id]: {\n\t\t\t\t\t\t...prevRecordPrefs,\n\t\t\t\t\t\t[key]: value\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (actualIdentity && actualIdentity[updatedIdentityKey] === value) {\n\t\t\t\t\tdelete newModifyList[id][key];\n\t\t\t\t}\n\t\t\t\tif (size(newModifyList[id]) === 0) {\n\t\t\t\t\tdelete newModifyList[id];\n\t\t\t\t}\n\t\t\t\treturn newModifyList;\n\t\t\t});\n\t\t},\n\t\t[identitiesDefault]\n\t);\n\n\tconst modifyCreateList = useCallback<\n\t\t<K extends keyof IdentityAttrs>(id: number, key: K, value: IdentityAttrs[K]) => void\n\t>((id, key, value) => {\n\t\tsetCreateList((prevState) => {\n\t\t\tconst newCreateList = { ...prevState };\n\t\t\tnewCreateList[id][key] = value;\n\t\t\treturn newCreateList;\n\t\t});\n\t}, []);\n\tconst addIdentity = useCallback<(id: number, identityAttrs: IdentityAttrs) => void>(\n\t\t(id, identityAttrs) => {\n\t\t\tsetCreateList((prevState) => ({ ...prevState, [id]: identityAttrs }));\n\t\t},\n\t\t[]\n\t);\n\n\tconst updateIdentities = useCallback<\n\t\t<K extends keyof IdentityAttrs>(id: string | number, key: K, value: IdentityAttrs[K]) => void\n\t>(\n\t\t(id, key, value) => {\n\t\t\tif (typeof id === 'string') {\n\t\t\t\tupdateModifyList(id, key, value);\n\t\t\t} else {\n\t\t\t\tmodifyCreateList(id, key, value);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(key, 'zimbraPref', ''));\n\t\t\tsetIdentities((prevState) =>\n\t\t\t\tmap(prevState, (item) =>\n\t\t\t\t\titem.identityId === id ? { ...item, [updatedIdentityKey]: value } : item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[updateModifyList, modifyCreateList]\n\t);\n\n\tconst removeIdentity = useCallback((identityId: string | number) => {\n\t\tif (typeof identityId === 'string') {\n\t\t\tsetDeleteList((prevState) => [...prevState, identityId]);\n\t\t\tsetModifyList((prevState) => {\n\t\t\t\tif (prevState[identityId]) {\n\t\t\t\t\tconst newModifyList = { ...prevState };\n\t\t\t\t\tdelete newModifyList[identityId];\n\t\t\t\t\treturn newModifyList;\n\t\t\t\t}\n\t\t\t\treturn prevState;\n\t\t\t});\n\t\t} else {\n\t\t\tsetCreateList((prevState) => {\n\t\t\t\tif (prevState[identityId]) {\n\t\t\t\t\tconst newCreateList = { ...prevState };\n\t\t\t\t\tdelete newCreateList[identityId];\n\t\t\t\t\treturn newCreateList;\n\t\t\t\t}\n\t\t\t\treturn prevState;\n\t\t\t});\n\t\t}\n\t}, []);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tresetLists();\n\t}, [identitiesDefault, resetLists]);\n\n\tconst onSave = useCallback<SettingsHeaderProps['onSave']>(() => {\n\t\tif (\n\t\t\tmaxIdentities !== undefined &&\n\t\t\tidentitiesDefault.length + (size(createList) || 0) - (deleteList?.length || 0) > maxIdentities\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 identity 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 Promise.allSettled([\n\t\t\t\tPromise.reject(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t'The identity could not be created because you have exceeded your identity quota'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t]);\n\t\t}\n\n\t\tlet createIdentityRequests: Array<CreateIdentityRequest> = [];\n\t\tif (createList) {\n\t\t\tcreateIdentityRequests = map(\n\t\t\t\tcreateList,\n\t\t\t\t(item): CreateIdentityRequest => ({\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tidentity: {\n\t\t\t\t\t\tname: item.zimbraPrefIdentityName,\n\t\t\t\t\t\t_attrs: {\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\tzimbraPrefFromAddressType: item.zimbraPrefFromAddressType || 'sendAs'\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\tlet deleteRequests: Array<DeleteIdentityRequest> = [];\n\t\tif (deleteList) {\n\t\t\tdeleteRequests = map(\n\t\t\t\tdeleteList,\n\t\t\t\t(identityId, index): DeleteIdentityRequest => ({\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tidentity: { id: identityId },\n\t\t\t\t\trequestId: index.toString()\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tlet modifyIdentityRequests: Array<ModifyIdentityRequest> = [];\n\t\tif (modifyList) {\n\t\t\tmodifyIdentityRequests = map(\n\t\t\t\tmodifyList,\n\t\t\t\t(item, index): ModifyIdentityRequest => ({\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tidentity: {\n\t\t\t\t\t\tid: index,\n\t\t\t\t\t\t_attrs: item\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tconst promise = getSoapFetch(SHELL_APP_ID)<\n\t\t\tBatchRequest,\n\t\t\t{\n\t\t\t\tModifyIdentityResponse?: ModifyIdentityResponse[];\n\t\t\t\tDeleteIdentityResponse?: DeleteIdentityResponse[];\n\t\t\t\tCreateIdentityResponse?: CreateIdentityResponse[];\n\t\t\t}\n\t\t>('Batch', {\n\t\t\t_jsns: 'urn:zimbra',\n\t\t\tDeleteIdentityRequest: deleteRequests.length > 0 ? deleteRequests : undefined,\n\t\t\tCreateIdentityRequest: createIdentityRequests.length > 0 ? createIdentityRequests : undefined,\n\t\t\tModifyIdentityRequest: modifyIdentityRequests.length > 0 ? modifyIdentityRequests : undefined\n\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tuseAccountStore.setState((s: AccountState) => {\n\t\t\t\t\tlet newIdentity;\n\t\t\t\t\tif (typeof s.account !== 'undefined') {\n\t\t\t\t\t\tconst filteredIdentities = filter(\n\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t(item) => !deleteList?.includes(item.id)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfilteredIdentities.splice(\n\t\t\t\t\t\t\t-1,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t...map(res?.CreateIdentityResponse, (item) => item.identity[0])\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnewIdentity = reduce(\n\t\t\t\t\t\t\tmodifyList,\n\t\t\t\t\t\t\t(acc, prefs, id) => {\n\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\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\tacc[propIndex]._attrs = {\n\t\t\t\t\t\t\t\t\t\t...acc[propIndex]._attrs,\n\t\t\t\t\t\t\t\t\t\t...prefs\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif (prefs.zimbraPrefIdentityName && acc[propIndex].name !== 'DEFAULT') {\n\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\tacc[propIndex].name = prefs.zimbraPrefIdentityName;\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\treturn acc;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tfilteredIdentities\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...s,\n\t\t\t\t\t\taccount: {\n\t\t\t\t\t\t\t...s.account,\n\t\t\t\t\t\t\tdisplayName:\n\t\t\t\t\t\t\t\tfind(modifyList, (item) => item.zimbraPrefIdentityId === s?.account?.id)\n\t\t\t\t\t\t\t\t\t?.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\t\t\t\tidentities: {\n\t\t\t\t\t\t\t\tidentity: newIdentity\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} as Account\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tresetLists();\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((error: unknown) => {\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\tif (error instanceof Error) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow new Error(typeof error === 'string' ? error : 'edit setting error');\n\t\t\t});\n\t\treturn Promise.allSettled([promise]);\n\t}, [\n\t\tidentitiesDefault.length,\n\t\tcreateList,\n\t\tdeleteList,\n\t\tmaxIdentities,\n\t\tmodifyList,\n\t\tresetLists,\n\t\tcreateSnackbar,\n\t\tt\n\t]);\n\n\tconst title: string = t('label.accounts', 'Accounts');\n\tconst isDirty = useMemo(\n\t\t() => !isEmpty(createList) || !isEmpty(deleteList) || !isEmpty(modifyList),\n\t\t[createList, deleteList, modifyList]\n\t);\n\tconst availableEmailAddresses = useMemo(\n\t\t() => getAvailableEmailAddresses(account, settings),\n\t\t[account, settings]\n\t);\n\n\tconst [delegates, setDelegates] = useState<DelegateType[]>([]);\n\n\tuseEffect(() => {\n\t\tgetSoapFetch(SHELL_APP_ID)<GetRightsRequest, GetRightsResponse>('GetRights', {\n\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\tace: [{ right: 'sendAs' }, { right: 'sendOnBehalfOf' }]\n\t\t}).then((value) => {\n\t\t\tif (value.ace) {\n\t\t\t\tconst { ace } = value;\n\t\t\t\tconst result = reduce(\n\t\t\t\t\tace,\n\t\t\t\t\t(accumulator: Array<DelegateType>, item, idx) => {\n\t\t\t\t\t\tconst index = findIndex(accumulator, { email: item.d });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\taccumulator.push({ email: item.d || '', right: item.right, id: idx.toString() });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\taccumulator.push({\n\t\t\t\t\t\t\t\temail: item.d || '',\n\t\t\t\t\t\t\t\tright: `${item.right} and ${accumulator[index].right}`,\n\t\t\t\t\t\t\t\tid: idx.toString()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\taccumulator.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\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\taccountName={account.name}\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\tremoveIdentity={removeIdentity}\n\t\t\t\t\taddIdentity={addIdentity}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.flgType === '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\taccount={account}\n\t\t\t\t\t\t\tidentity={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\tidentity={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\tavailableEmailAddresses={availableEmailAddresses}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Delegates delegates={delegates} />\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.flgType === '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\tidentity={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\tavailableEmailAddresses={availableEmailAddresses}\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, useContext, useRef } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tIcon,\n\tModalManagerContext,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max } from 'lodash';\nimport { IdentityProps, IdentityAttrs } from '../../../../types';\n\nexport type AccountsListProps = {\n\tt: TFunction;\n\taccountName: string;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tremoveIdentity: (identityId: string | number) => void;\n\taddIdentity: (id: number, identityAttrs: IdentityAttrs) => void;\n};\n\nconst AccountsList = ({\n\tt,\n\taccountName,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tremoveIdentity,\n\taddIdentity\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\tdata-testid={`account-list-item-${item.identityId}`}\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.flgType === 'primary' ? accountName : 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 createListRequestIdRef = useRef(0);\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\tsetIdentities([\n\t\t\t...identities,\n\t\t\t{\n\t\t\t\tid: `${identities.length}`,\n\t\t\t\tflgType: 'persona',\n\t\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\t\tidentityId: createListRequestIdRef.current,\n\t\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\t\tidentityName: newPersonaName,\n\t\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\t\treplyToEnabled: 'FALSE'\n\t\t\t}\n\t\t]);\n\t\taddIdentity(createListRequestIdRef.current, {\n\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\tzimbraPrefReplyToEnabled: 'FALSE'\n\t\t});\n\t\tcreateListRequestIdRef.current += 1;\n\t\tsetSelectedIdentityId(identities.length);\n\t}, [identities, setIdentities, t, addIdentity, setSelectedIdentityId]);\n\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\tsetIdentities(newIdentities);\n\t\tremoveIdentity(identities[selectedIdentityId].identityId);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [identities, setIdentities, removeIdentity, selectedIdentityId, setSelectedIdentityId]);\n\tconst onDelete = useCallback((): void => {\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_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={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={onDelete}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.flgType === '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, useCallback, 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 { noop } from 'lodash';\nimport { useTranslation } from 'react-i18next';\n\nexport interface DelegateType extends ItemType {\n\temail: string;\n\tright: string;\n\tlabel?: string;\n}\n\ntype DelegatesProps = {\n\tdelegates: DelegateType[];\n};\n\nconst Delegates = ({ delegates }: DelegatesProps): JSX.Element => {\n\tconst [t] = useTranslation();\n\n\tconst [activeDelegate, setActiveDelegate] = useState<string>('0');\n\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst ListItem = ({ item }: ItemComponentProps<DelegateType>): ReactElement => {\n\t\tconst setActiveDelegateCallback = useCallback(() => setActiveDelegate(item.id), [item.id]);\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Container\n\t\t\t\t\tonClick={setActiveDelegateCallback}\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Row>\n\n\t\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t\t</Container>\n\t\t\t\t<Divider />\n\t\t\t</>\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={delegates} ItemComponent={ListItem} active={activeDelegate} 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 { IdentityAttrs, IdentityProps } from '../../../../types';\n\ninterface PersonaSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: <K extends keyof IdentityAttrs>(\n\t\tid: string | number,\n\t\tkey: K,\n\t\tvalue: IdentityAttrs[K]\n\t) => void;\n}\n\nconst PersonaSettings = ({ t, items, updateIdentities }: PersonaSettingsProps): ReactElement => {\n\tconst [personaValue, setPersonaValue] = useState(items.identityName);\n\tconst personaLabel = useMemo(() => t('label.persona_name', 'Persona Name'), [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\tupdateIdentities(items.identityId, 'zimbraPrefIdentityName', ev.target.value);\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 React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport { Container, Text, Padding, Input, Row, InputProps } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { Account, IdentityAttrs, IdentityProps } from '../../../../types';\n\ninterface PrimaryAccountSettingsProps {\n\tt: TFunction;\n\taccount: Account;\n\tidentity: IdentityProps;\n\tupdateIdentities: <K extends keyof IdentityAttrs>(\n\t\tid: string | number,\n\t\tkey: K,\n\t\tvalue: IdentityAttrs[K]\n\t) => void;\n}\n\nconst PrimaryAccountSettings = ({\n\tt,\n\taccount,\n\tidentity,\n\tupdateIdentities\n}: PrimaryAccountSettingsProps): ReactElement => {\n\tconst emailLabel = useMemo(() => t('label.email_address', 'E-mail address'), [t]);\n\tconst [accountNameValue, setAccountNameValue] = useState(identity?.identityName);\n\n\tuseEffect(() => setAccountNameValue(identity.identityName), [identity.identityName]);\n\tconst accountLabel = useMemo(() => t('label.account_name', 'Account Name'), [t]);\n\n\tconst onChangeDisabled = useCallback(() => null, []);\n\tconst onChange = useCallback<NonNullable<InputProps['onChange']>>(\n\t\t(ev): void => {\n\t\t\tsetAccountNameValue(ev.target.value);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefIdentityName', ev.target.value);\n\t\t},\n\t\t[updateIdentities, identity.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={account.name || ' '} onChange={onChangeDisabled} />\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Input label={accountLabel} value={accountNameValue} onChange={onChange} />\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\tDropdownItem,\n\tIcon,\n\tInput,\n\tInputProps,\n\tPadding,\n\tRow,\n\tSelect,\n\tSelectItem,\n\tSingleSelectionOnChange,\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 { IdentityAttrs, IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype SettingsSentMessagesProps = {\n\tt: TFunction;\n\tidentity: IdentityProps;\n\tisExternalAccount: boolean;\n\tupdateIdentities: <K extends keyof IdentityAttrs>(\n\t\tid: string | number,\n\t\tkey: K,\n\t\tvalue: IdentityAttrs[K]\n\t) => void;\n\tavailableEmailAddresses?: string[];\n};\n\nconst blankItem: SelectItem = { label: '', value: '' };\n\nconst SettingsSentMessages = ({\n\tt,\n\tidentity,\n\tisExternalAccount,\n\tupdateIdentities,\n\tavailableEmailAddresses\n}: SettingsSentMessagesProps): ReactElement => {\n\tconst title = useMemo(() => t('label.settings_sent_messages', 'Settings for Sent Messages'), [t]);\n\tconst [replyToEnabledValue, setReplyToEnabledValue] = useState(\n\t\tidentity.replyToEnabled === 'TRUE'\n\t);\n\tconst [replyToAddress, setReplyToAddress] = useState<string>(identity.replyToAddress || '');\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\n\tconst [fromDisplayValue, setFromDisplayValue] = useState<string>(identity.fromDisplay || '');\n\tconst [replyToDisplay, setReplyToDisplay] = useState<string>(identity?.replyToDisplay || '');\n\tconst fromAddressArray = useMemo(\n\t\t(): SelectItem[] =>\n\t\t\tavailableEmailAddresses\n\t\t\t\t? availableEmailAddresses.map((address): SelectItem => ({ value: address, label: address }))\n\t\t\t\t: [blankItem],\n\t\t[availableEmailAddresses]\n\t);\n\tconst [fromAddress, setFromAddress] = useState(\n\t\t() => find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem\n\t);\n\n\tuseEffect(() => {\n\t\tsetReplyToEnabledValue(identity.replyToEnabled === 'TRUE');\n\t}, [identity.replyToEnabled]);\n\tuseEffect(() => {\n\t\tsetFromDisplayValue(identity.fromDisplay || '');\n\t}, [identity.fromDisplay]);\n\tuseEffect(() => {\n\t\tconst k = find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem;\n\t\tsetFromAddress(k);\n\t}, [fromAddressArray, identity.fromAddress]);\n\tuseEffect(() => {\n\t\tsetReplyToDisplay(identity?.replyToDisplay === undefined ? '' : identity?.replyToDisplay);\n\t}, [identity?.replyToDisplay]);\n\tuseEffect(() => {\n\t\tsetReplyToAddress(identity.replyToAddress || '');\n\t}, [identity.replyToAddress]);\n\n\tconst onClickReplyToEnabled = useCallback(() => {\n\t\tsetReplyToEnabledValue((prevState) => {\n\t\t\tconst newState = !prevState;\n\t\t\tupdateIdentities(\n\t\t\t\tidentity.identityId,\n\t\t\t\t'zimbraPrefReplyToEnabled',\n\t\t\t\tprevState ? 'FALSE' : 'TRUE'\n\t\t\t);\n\t\t\treturn newState;\n\t\t});\n\t}, [identity.identityId, updateIdentities]);\n\n\tconst fromDisplayLabel = useMemo(() => t('label.from_name', 'From: \"Name\"'), [t]);\n\tconst onChangeFromDisplayValue: InputProps['onChange'] = (e) => {\n\t\tsetFromDisplayValue(e.target.value);\n\t\tupdateIdentities(identity.identityId, 'zimbraPrefFromDisplay', e.target.value);\n\t};\n\n\tconst fromAddressLabel = useMemo(() => t('label.address', 'Address'), [t]);\n\n\tconst onChangeFromAddress = useCallback<SingleSelectionOnChange>(\n\t\t(newAddress) => {\n\t\t\tif (!newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (fromAddress?.value === newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetFromAddress(filter(fromAddressArray, (item) => item.value === newAddress)[0]);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefFromAddress', newAddress);\n\t\t},\n\t\t[identity.identityId, updateIdentities, fromAddressArray, fromAddress.value]\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() => t('label.reply_to_field_example', 'e.g. Bob Smith'),\n\t\t[t]\n\t);\n\tconst onChangePrefReplyToDisplay = useCallback<NonNullable<InputProps['onChange']>>(\n\t\t(e) => {\n\t\t\tsetReplyToDisplay(e.target.value);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefReplyToDisplay', e.target.value);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst replyToAddressLabel = useMemo(() => t('label.choose_account', 'Choose an account'), [t]);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(value: string) => {\n\t\t\tsetReplyToAddress(value);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefReplyToAddress', value);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst replyToAddressArray = useMemo(\n\t\t(): DropdownItem[] => [\n\t\t\t{\n\t\t\t\tid: '0',\n\t\t\t\tlabel: identity.fromAddress ?? '',\n\t\t\t\tonClick: () => onChangeReplyToAddress(identity.fromAddress ?? '')\n\t\t\t}\n\t\t],\n\t\t[identity.fromAddress, onChangeReplyToAddress]\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{/* zimbraPrefFromDisplay */}\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={onChangeFromDisplayValue}\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{/* zimbraPrefFromAddress */}\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={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{/* zimbraPrefReplyToEnabled */}\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={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{/* zimbraPrefReplyToDisplay */}\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={onChangePrefReplyToDisplay}\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{/* zimbraPrefReplyToAddress */}\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, 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, SelectItem, SingleSelectionOnChange, Text } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { AddMod, DarkReaderPropValues, 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 {\n\tisDarkReaderPropValues,\n\tuseDarkReaderResultValue\n} from '../../../dark-mode/use-dark-reader-result-value';\n\ntype DarkReaderSelectItem = Array<SelectItem & { value: DarkReaderPropValues }>;\n\ninterface DarkThemeSettingSectionProps {\n\taddMod: AddMod;\n\tremoveMod: RemoveMod;\n}\n\nconst DarkThemeSettingSection = ({\n\taddMod,\n\tremoveMod\n}: DarkThemeSettingSectionProps): JSX.Element | null => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tconst [selection, setSelection] = useState<SelectItem>();\n\n\tconst t = getT();\n\tconst items = useMemo(\n\t\t(): DarkReaderSelectItem => [\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\n\tconst setSelectNewValue = useCallback(\n\t\t(value: DarkReaderPropValues) => {\n\t\t\tconst item = find(items, { value });\n\t\t\tif (item) {\n\t\t\t\tsetSelection(item);\n\t\t\t}\n\t\t\tsetDarkReaderState(value);\n\t\t},\n\t\t[items, setDarkReaderState]\n\t);\n\n\tconst onSelectionChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (isDarkReaderPropValues(value)) {\n\t\t\t\tif (value) {\n\t\t\t\t\tsetSelectNewValue(value);\n\t\t\t\t}\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, setSelectNewValue]\n\t);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetSelectNewValue(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, items, setSelectNewValue]);\n\n\tif (!selection) {\n\t\treturn null;\n\t}\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={selection}\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 { 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\nimport {\n\tBadge,\n\tContainer,\n\tDivider,\n\tFormSubSection,\n\tText,\n\tTextProps,\n\tTooltip,\n\tuseTheme\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { useCallback, useMemo } from 'react';\nimport { useAppList } from '../../../store/app';\n\nimport { CarbonioModule } from '../../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings = (): JSX.Element => {\n\tconst apps = useAppList();\n\tconst t = getT();\n\tconst theme = useTheme();\n\n\tconst copyToClipboard = useCallback<NonNullable<TextProps['onClick']>>((e) => {\n\t\te.preventDefault();\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\tnavigator.clipboard.writeText(e.target.innerText);\n\t\t}\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\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>{app.display}</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={copyToClipboard}>\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/>\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\tSelect,\n\tSelectItem,\n\tSingleSelectionOnChange,\n\tTextArea,\n\tTextAreaProps\n} from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { find } from 'lodash';\nimport { type TFunction } from 'i18next';\nimport { AccountSettings, AccountSettingsPrefs, AddMod, BooleanString } from '../../../../types';\nimport Heading from '../settings-heading';\nimport { OutOfOfficeTimePeriodSection } from './out-of-office-time-period-section';\nimport { getT } from '../../../store/i18n';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\nimport {\n\tdateToGenTime,\n\tResetComponentImperativeHandler,\n\tSettingsSectionProps,\n\tupsertPrefOnUnsavedChanges\n} from '../utils';\nimport { useReset } from '../../hooks/use-reset';\n\ntype CoercedPrefType<T> = T extends BooleanString | undefined ? boolean | undefined : T;\n\nexport const buildItemsPrefOutOfOfficeReplyEnabled = (\n\tt: TFunction\n): Array<\n\tSelectItem<\n\t\tNonNullable<CoercedPrefType<AccountSettingsPrefs['zimbraPrefOutOfOfficeReplyEnabled']>>\n\t>\n> => [\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\ntype ExternalSenders =\n\t| 'SEND_AUTO_REPLY'\n\t| 'SHOW_EXTERNAL_INPUT'\n\t| 'SEND_NOT_IN_ORG'\n\t| 'SUPPRESS_EXTERNAL';\n\nexport const buildItemsExternalSenders = (\n\tt: TFunction\n): Record<ExternalSenders, SelectItem<ExternalSenders>> => ({\n\tSEND_AUTO_REPLY: {\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\tSHOW_EXTERNAL_INPUT: {\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\tSEND_NOT_IN_ORG: {\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\tSUPPRESS_EXTERNAL: {\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 getExternalSendersPrefsData = (\n\tsettings: AccountSettings,\n\tt: TFunction\n): SelectItem<ExternalSenders> => {\n\tconst itemsExternalSenders = buildItemsExternalSenders(t);\n\tif (\n\t\tsettings.prefs.zimbraPrefOutOfOfficeSuppressExternalReply === 'FALSE' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'FALSE'\n\t) {\n\t\treturn itemsExternalSenders.SEND_AUTO_REPLY;\n\t}\n\tif (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALL' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\treturn itemsExternalSenders.SHOW_EXTERNAL_INPUT;\n\t}\n\tif (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALLNOTINAB' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\treturn itemsExternalSenders.SEND_NOT_IN_ORG;\n\t}\n\treturn itemsExternalSenders.SUPPRESS_EXTERNAL;\n};\n\ninterface OutOfOfficeViewProps extends SettingsSectionProps {\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}\n\nexport const OutOfOfficeSettings = ({\n\tsettings,\n\taddMod,\n\tresetRef\n}: OutOfOfficeViewProps): JSX.Element => {\n\tconst t = getT();\n\tconst outOfOfficeSectionTitle = useMemo(() => outOfOfficeSubSection(t), [t]);\n\tconst [prefOutOfOfficeReplyEnabled, setPrefOutOfOfficeReplyEnabled] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t);\n\tconst [prefOutOfOfficeReply, setPrefOutOfOfficeReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReply ?? ''\n\t);\n\tconst [prefOutOfOfficeExternalReplyEnabled, setPrefOutOfOfficeExternalReplyEnabled] =\n\t\tuseState<boolean>(settings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE');\n\tconst [prefOutOfOfficeExternalReply, setPrefOutOfOfficeExternalReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReply ?? ''\n\t);\n\tconst [externalSendersSelectedItem, setExternalSendersSelectedItem] = useState<\n\t\tSelectItem<ExternalSenders>\n\t>(getExternalSendersPrefsData(settings, t));\n\tconst [sendAutoReplyTimePeriodEnabled, setSendAutoReplyTimePeriodEnabled] = useState<boolean>(\n\t\t!!settings.prefs.zimbraPrefOutOfOfficeFromDate &&\n\t\t\t!!settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t);\n\n\tconst outOfOfficeTimePeriodResetRef = useRef<ResetComponentImperativeHandler>(null);\n\n\tconst initPrefs = useCallback(() => {\n\t\tsetPrefOutOfOfficeReplyEnabled(settings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE');\n\t\tsetPrefOutOfOfficeReply(settings.prefs.zimbraPrefOutOfOfficeReply ?? '');\n\t\tsetPrefOutOfOfficeExternalReplyEnabled(\n\t\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t\t);\n\t\tsetPrefOutOfOfficeExternalReply(settings.prefs.zimbraPrefOutOfOfficeExternalReply ?? '');\n\t\tsetExternalSendersSelectedItem(getExternalSendersPrefsData(settings, t));\n\t\tsetSendAutoReplyTimePeriodEnabled(\n\t\t\t!!settings.prefs.zimbraPrefOutOfOfficeFromDate &&\n\t\t\t\t!!settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t\t);\n\t\toutOfOfficeTimePeriodResetRef.current?.reset();\n\t}, [settings, t]);\n\n\tuseEffect(() => {\n\t\tinitPrefs();\n\t}, [initPrefs]);\n\n\tuseReset(resetRef, initPrefs);\n\n\tconst updatePref = useMemo(() => upsertPrefOnUnsavedChanges(addMod), [addMod]);\n\n\tconst prefOutOfOfficeReplyEnabledSelectItems = useMemo(\n\t\t() => buildItemsPrefOutOfOfficeReplyEnabled(t),\n\t\t[t]\n\t);\n\n\tconst prefOutOfOfficeReplyEnabledSelectedValue = useMemo<SelectItem<boolean>>(\n\t\t() =>\n\t\t\tfind(\n\t\t\t\tprefOutOfOfficeReplyEnabledSelectItems,\n\t\t\t\t(item) => item.value === prefOutOfOfficeReplyEnabled\n\t\t\t) as SelectItem<boolean>,\n\t\t[prefOutOfOfficeReplyEnabled, prefOutOfOfficeReplyEnabledSelectItems]\n\t);\n\n\tconst prefOutOfOfficeReplyEnabledOnChange = useCallback<\n\t\tSingleSelectionOnChange<\n\t\t\tNonNullable<CoercedPrefType<AccountSettingsPrefs['zimbraPrefOutOfOfficeReplyEnabled']>>\n\t\t>\n\t>(\n\t\t(value): void => {\n\t\t\tif (value !== null) {\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeReplyEnabled', value);\n\t\t\t\tsetPrefOutOfOfficeReplyEnabled(value);\n\t\t\t}\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst externalSendersSelectItems = useMemo(\n\t\t() => Object.values(buildItemsExternalSenders(t)),\n\t\t[t]\n\t);\n\n\tconst externalSendersHandler = useCallback(\n\t\t(value: ExternalSenders) => {\n\t\t\tif (value === 'SEND_AUTO_REPLY') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'INSD');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', false);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', false);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(false);\n\t\t\t} else if (value === 'SHOW_EXTERNAL_INPUT') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'ALL');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', true);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', false);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(true);\n\t\t\t} else if (value === 'SEND_NOT_IN_ORG') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'ALLNOTINAB');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', true);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', false);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(true);\n\t\t\t} else if (value === 'SUPPRESS_EXTERNAL') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'INAB');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', false);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', true);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(false);\n\t\t\t}\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst externalSendersOnChange = useCallback<SingleSelectionOnChange<ExternalSenders>>(\n\t\t(value) => {\n\t\t\tif (value !== null) {\n\t\t\t\texternalSendersHandler(value);\n\t\t\t\tconst newSelectItem = find(externalSendersSelectItems, (item) => item.value === value);\n\t\t\t\tnewSelectItem && setExternalSendersSelectedItem(newSelectItem);\n\t\t\t}\n\t\t},\n\t\t[externalSendersHandler, externalSendersSelectItems]\n\t);\n\n\tconst prefOutOfOfficeReplyOnChange = useCallback<NonNullable<TextAreaProps['onChange']>>(\n\t\t(ev) => {\n\t\t\tsetPrefOutOfOfficeReply(ev.target.value);\n\t\t\tupdatePref('zimbraPrefOutOfOfficeReply', ev.target.value);\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst prefOutOfOfficeExternalReplyOnChange = useCallback<NonNullable<TextAreaProps['onChange']>>(\n\t\t(ev) => {\n\t\t\tsetPrefOutOfOfficeExternalReply(ev.target.value);\n\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReply', ev.target.value);\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst toggleSendAutoReplyTimePeriod = useCallback(() => {\n\t\tsetSendAutoReplyTimePeriodEnabled((prevState) => {\n\t\t\tconst nextState = !prevState;\n\t\t\tif (!nextState) {\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', undefined);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', undefined);\n\t\t\t} else {\n\t\t\t\tif (!settings.prefs.zimbraPrefOutOfOfficeFromDate) {\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(new Date()));\n\t\t\t\t}\n\t\t\t\tif (!settings.prefs.zimbraPrefOutOfOfficeUntilDate) {\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(new Date()));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nextState;\n\t\t});\n\t}, [\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tsettings.prefs.zimbraPrefOutOfOfficeUntilDate,\n\t\tupdatePref\n\t]);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={outOfOfficeSectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={outOfOfficeSectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }} gap={'0.5rem'}>\n\t\t\t\t<Select\n\t\t\t\t\titems={prefOutOfOfficeReplyEnabledSelectItems}\n\t\t\t\t\tlabel={t('label.out_of_office', 'Out of Office')}\n\t\t\t\t\tonChange={prefOutOfOfficeReplyEnabledOnChange}\n\t\t\t\t\tselection={prefOutOfOfficeReplyEnabledSelectedValue}\n\t\t\t\t/>\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={prefOutOfOfficeReply}\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.auto_reply_message', 'Auto-Reply Message:')}\n\t\t\t\t\tonChange={prefOutOfOfficeReplyOnChange}\n\t\t\t\t/>\n\t\t\t\t<Select\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t\titems={externalSendersSelectItems}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\tonChange={externalSendersOnChange}\n\t\t\t\t\tselection={externalSendersSelectedItem}\n\t\t\t\t\tdropdownWidth={'auto'}\n\t\t\t\t\tdropdownMaxWidth={'unset'}\n\t\t\t\t\tplacement={'bottom-start'}\n\t\t\t\t/>\n\t\t\t\t{prefOutOfOfficeExternalReplyEnabled && (\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tvalue={prefOutOfOfficeExternalReply}\n\t\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={prefOutOfOfficeExternalReplyOnChange}\n\t\t\t\t\t/>\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<Heading title={t('settings.out_of_office.headings.time_period', 'Time Period')} />\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.out_of_office.labels.send_auto_reply_period',\n\t\t\t\t\t\t'Send auto-replies during the following period:'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={sendAutoReplyTimePeriodEnabled}\n\t\t\t\t\tonClick={toggleSendAutoReplyTimePeriod}\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t/>\n\t\t\t\t<OutOfOfficeTimePeriodSection\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled || !sendAutoReplyTimePeriodEnabled}\n\t\t\t\t\tprefOutOfOfficeFromDate={settings.prefs.zimbraPrefOutOfOfficeFromDate}\n\t\t\t\t\tprefOutOfOfficeUntilDate={settings.prefs.zimbraPrefOutOfOfficeUntilDate}\n\t\t\t\t\tresetRef={outOfOfficeTimePeriodResetRef}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t</FormSubSection>\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\tCheckbox,\n\tContainer,\n\tDateTimePicker,\n\tDateTimePickerProps\n} from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { AddMod, GeneralizedTime } from '../../../../types';\nimport { getT } from '../../../store/i18n';\nimport {\n\tdateToGenTime,\n\tendOfDay,\n\tgenTimeToDate,\n\tSettingsSectionProps,\n\tstartOfDay,\n\tupsertPrefOnUnsavedChanges\n} from '../utils';\nimport { useReset } from '../../hooks/use-reset';\n\ninterface OutOfOfficeTimePeriodSectionProps extends SettingsSectionProps {\n\taddMod: AddMod;\n\tdisabled: boolean;\n\tprefOutOfOfficeFromDate: GeneralizedTime | undefined;\n\tprefOutOfOfficeUntilDate: GeneralizedTime | undefined;\n}\n\nfunction coerceGenTime(genTime: GeneralizedTime | undefined): Date {\n\treturn genTime ? genTimeToDate(genTime) : new Date();\n}\n\nexport const OutOfOfficeTimePeriodSection = ({\n\taddMod,\n\tdisabled,\n\tprefOutOfOfficeFromDate,\n\tprefOutOfOfficeUntilDate,\n\tresetRef\n}: OutOfOfficeTimePeriodSectionProps): JSX.Element => {\n\tconst t = getT();\n\tconst [fromDate, setFromDate] = useState<Date>(coerceGenTime(prefOutOfOfficeFromDate));\n\tconst [untilDate, setUntilDate] = useState<Date>(coerceGenTime(prefOutOfOfficeUntilDate));\n\tconst [allDayEnabled, setAllDayEnabled] = useState<boolean>(false);\n\tconst editTimeIsDisabled = useMemo(() => disabled || allDayEnabled, [disabled, allDayEnabled]);\n\n\tconst updatePref = useMemo(() => upsertPrefOnUnsavedChanges(addMod), [addMod]);\n\n\tconst initPrefs = useCallback(() => {\n\t\tconst fromDatePref = coerceGenTime(prefOutOfOfficeFromDate);\n\t\tconst untilDatePref = coerceGenTime(prefOutOfOfficeUntilDate);\n\t\tsetFromDate(fromDatePref);\n\t\tsetUntilDate(untilDatePref);\n\t\t// there is no pref for the all day check. It is considered all day if the start date time is midnight\n\t\t// and the until date time is 23:59:59:00\n\t\tconst fromDateAllDay = startOfDay(fromDatePref);\n\t\tconst untilDateAllDay = endOfDay(untilDatePref);\n\t\tsetAllDayEnabled(\n\t\t\tfromDatePref.getTime() === fromDateAllDay.getTime() &&\n\t\t\t\tuntilDatePref.getTime() === untilDateAllDay.getTime()\n\t\t);\n\t}, [prefOutOfOfficeFromDate, prefOutOfOfficeUntilDate]);\n\n\tuseEffect(() => {\n\t\tinitPrefs();\n\t}, [initPrefs]);\n\n\tuseReset(resetRef, initPrefs);\n\n\tconst outOfOfficeFromDateOnChange = useCallback<NonNullable<DateTimePickerProps['onChange']>>(\n\t\t(newFromDate) => {\n\t\t\tif (newFromDate) {\n\t\t\t\tsetFromDate((prevState) => {\n\t\t\t\t\tif (newFromDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(newFromDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn newFromDate;\n\t\t\t\t});\n\t\t\t\tif (newFromDate.getTime() > untilDate.getTime()) {\n\t\t\t\t\tconst newUntilDate = new Date(newFromDate);\n\t\t\t\t\tsetUntilDate(newUntilDate);\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(newUntilDate));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// force an update by cloning the date, so that the input is not left empty\n\t\t\t\tsetFromDate((prevState) => new Date(prevState));\n\t\t\t}\n\t\t},\n\t\t[untilDate, updatePref]\n\t);\n\n\tconst outOfOfficeUntilDateOnChange = useCallback<NonNullable<DateTimePickerProps['onChange']>>(\n\t\t(newUntilDate) => {\n\t\t\tif (newUntilDate) {\n\t\t\t\tsetUntilDate((prevState) => {\n\t\t\t\t\tif (newUntilDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(newUntilDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn newUntilDate;\n\t\t\t\t});\n\t\t\t\tif (newUntilDate.getTime() < fromDate.getTime()) {\n\t\t\t\t\tconst newFromDate = new Date(newUntilDate);\n\t\t\t\t\tsetFromDate(newFromDate);\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(newFromDate));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// force an update by cloning the date, so that the input is not left empty\n\t\t\t\tsetUntilDate((prevState) => new Date(prevState));\n\t\t\t}\n\t\t},\n\t\t[fromDate, updatePref]\n\t);\n\n\tconst toggleAllDay = useCallback(() => {\n\t\tsetAllDayEnabled((prevWasEnabled) => {\n\t\t\tconst nowIsEnabled = !prevWasEnabled;\n\t\t\tif (nowIsEnabled) {\n\t\t\t\tsetFromDate((prevState) => {\n\t\t\t\t\tconst startOfFromDate = startOfDay(prevState);\n\t\t\t\t\tif (startOfFromDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(startOfFromDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn startOfFromDate;\n\t\t\t\t});\n\t\t\t\tsetUntilDate((prevState) => {\n\t\t\t\t\tconst endOfUntilDate = endOfDay(prevState);\n\t\t\t\t\tif (endOfUntilDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(endOfUntilDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn endOfUntilDate;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn nowIsEnabled;\n\t\t});\n\t}, [updatePref]);\n\n\treturn (\n\t\t<Container padding={{ vertical: 'small' }} gap={'0.5rem'} crossAlignment={'flex-start'}>\n\t\t\t<Container orientation={'horizontal'} gap={'0.5rem'}>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.start_date', 'Start Date')}\n\t\t\t\t\tdateFormat={'P'}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tdefaultValue={fromDate}\n\t\t\t\t\tonChange={outOfOfficeFromDateOnChange}\n\t\t\t\t\tincludeTime={false}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.end_date', 'End Date')}\n\t\t\t\t\tdateFormat={'P'}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\ttimeLabel={''}\n\t\t\t\t\tdefaultValue={untilDate}\n\t\t\t\t\tonChange={outOfOfficeUntilDateOnChange}\n\t\t\t\t\tincludeTime={false}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Checkbox\n\t\t\t\tdisabled={disabled}\n\t\t\t\tlabel={t('settings.out_of_office.labels.all_day', 'All Day:')}\n\t\t\t\tvalue={allDayEnabled}\n\t\t\t\tonClick={toggleAllDay}\n\t\t\t/>\n\t\t\t<Container orientation={'horizontal'} gap={'0.5rem'}>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.start_time', 'Start Time')}\n\t\t\t\t\tshowTimeSelect\n\t\t\t\t\tshowTimeSelectOnly\n\t\t\t\t\ttimeLabel=\"\"\n\t\t\t\t\tdateFormat=\"p\"\n\t\t\t\t\tdefaultValue={fromDate}\n\t\t\t\t\tonChange={outOfOfficeFromDateOnChange}\n\t\t\t\t\tdisabled={editTimeIsDisabled}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.end_time', 'End Time')}\n\t\t\t\t\tshowTimeSelect\n\t\t\t\t\tshowTimeSelectOnly\n\t\t\t\t\ttimeLabel=\"\"\n\t\t\t\t\tdateFormat=\"p\"\n\t\t\t\t\tdefaultValue={untilDate}\n\t\t\t\t\tonChange={outOfOfficeUntilDateOnChange}\n\t\t\t\t\tdisabled={editTimeIsDisabled}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t</Container>\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 */\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, ResetComponentImperativeHandler } from '../utils';\nimport { useReset } from '../../hooks/use-reset';\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\tresetRef: React.RefObject<ResetComponentImperativeHandler>;\n}\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 = ({\n\tscalingSettings,\n\taddLocalStoreChange,\n\tcleanLocalStoreChange,\n\tresetRef\n}: ScalingSettingSectionProps): JSX.Element => {\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\tconst resetHandler = useCallback((): void => {\n\t\tsetScalingValue(savedOptionIndex);\n\t\tsetAutoScaling(scalingSettings['settings.appearance_setting.auto'] ?? true);\n\t}, [savedOptionIndex, scalingSettings]);\n\n\tuseReset(resetRef, resetHandler);\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 { Checkbox, Container, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { AccountSettings, AddMod } from '../../../../types';\nimport { getT } from '../../../store/i18n';\nimport { searchPrefsSubSection } from '../../general-settings-sub-sections';\nimport { useReset } from '../../hooks/use-reset';\nimport { SettingsSectionProps, upsertPrefOnUnsavedChanges } from '../utils';\n\ntype SearchSettingsViewProps = SettingsSectionProps & {\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n};\n\nexport const SearchSettings = ({\n\tsettings,\n\taddMod,\n\tresetRef\n}: SearchSettingsViewProps): JSX.Element => {\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 = useMemo(() => upsertPrefOnUnsavedChanges(addMod), [addMod]);\n\n\tconst init = useCallback(() => {\n\t\tsetSearchInSpamFolder(settings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE');\n\t\tsetSearchInTrashFolder(settings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE');\n\t\tsetSearchInSharedFolder(settings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE');\n\t}, [\n\t\tsettings.prefs.zimbraPrefIncludeSharedItemsInSearch,\n\t\tsettings.prefs.zimbraPrefIncludeSpamInSearch,\n\t\tsettings.prefs.zimbraPrefIncludeTrashInSearch\n\t]);\n\n\tuseReset(resetRef, init);\n\n\tuseEffect(() => {\n\t\tinit();\n\t}, [init]);\n\n\tconst onClickSpam = useCallback(() => {\n\t\tsetSearchInSpamFolder((prevState) => {\n\t\t\tconst newValue = !prevState;\n\t\t\tsetMode('zimbraPrefIncludeSpamInSearch', newValue);\n\t\t\treturn newValue;\n\t\t});\n\t}, [setMode]);\n\n\tconst onClickTrash = useCallback(() => {\n\t\tsetSearchInTrashFolder((prevState) => {\n\t\t\tconst newValue = !prevState;\n\t\t\tsetMode('zimbraPrefIncludeTrashInSearch', newValue);\n\t\t\treturn newValue;\n\t\t});\n\t}, [setMode]);\n\n\tconst onClickShared = useCallback(() => {\n\t\tsetSearchInSharedFolder((prevState) => {\n\t\t\tconst newValue = !prevState;\n\t\t\tsetMode('zimbraPrefIncludeSharedItemsInSearch', newValue);\n\t\t\treturn newValue;\n\t\t});\n\t}, [setMode]);\n\n\tconst sectionTitle = useMemo(() => searchPrefsSubSection(t), [t]);\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<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","/*\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\tButton,\n\tContainer,\n\ttype Crumb,\n\tDivider,\n\tPadding,\n\tRow,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { useEffect, useMemo } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { getT } from '../../store/i18n';\nimport { RouteLeavingGuard, RouteLeavingGuardProps } from '../../ui-extras/nav-guard';\n\nexport type SettingsHeaderProps = {\n\ttitle: string;\n\tonSave: RouteLeavingGuardProps['onSave'];\n\tonCancel: () => void;\n\tisDirty: boolean;\n};\n\nconst SettingsHeader = ({ onSave, onCancel, isDirty, title }: SettingsHeaderProps): JSX.Element => {\n\tconst t = getT();\n\tconst history = useHistory();\n\tconst params = useParams();\n\tconst crumbs = useMemo(\n\t\t(): Crumb[] => [\n\t\t\t{\n\t\t\t\tid: 'settings',\n\t\t\t\tlabel: t('settings.app', 'Settings'),\n\t\t\t\tonClick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'general',\n\t\t\t\tlabel: title,\n\t\t\t\tonClick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t\t}\n\t\t],\n\t\t[history, t, title]\n\t);\n\n\tconst search: string | undefined = history.location?.search;\n\n\tuseEffect(() => {\n\t\tif (search) {\n\t\t\t// TODO: why not using anchor links instead of js?\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, params]);\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, { Moment } from 'moment';\nimport type { TFunction } from 'i18next';\nimport { isBoolean } from 'lodash';\nimport React from 'react';\nimport { BASE_FONT_SIZE, SCALING_LIMIT, SCALING_OPTIONS } from '../../constants';\nimport { AddMod, BooleanString, GeneralizedTime, PrefsMods } from '../../../types';\n\nexport const GEN_TIME_FORMAT = 'YYYYMMDDHHmmss[Z]';\n\nfunction getGenTimeMoment(date: Date | string | Moment): Moment {\n\treturn moment.utc(date, GEN_TIME_FORMAT);\n}\n\nexport function dateToGenTime(date: Date | Moment): GeneralizedTime {\n\treturn getGenTimeMoment(date).format(GEN_TIME_FORMAT) as GeneralizedTime;\n}\n\nexport function genTimeToDate(genTime: string): Date {\n\treturn getGenTimeMoment(genTime).local().toDate();\n}\n\nexport const startOfDay = (date: Date): Date => new Date(new Date(date).setHours(0, 0, 0, 0));\n\nexport const endOfDay = (date: Date): Date => new Date(new Date(date).setHours(23, 59, 59, 0));\n\nexport type LocaleDescriptor = {\n\tid: string;\n\tname: string;\n\tlocalName: string;\n\tvalue: string;\n\tlabel: string;\n\tdateFnsLocale?: 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\tdateFnsLocale: '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\tdateFnsLocale: 'en-US'\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\tdateFnsLocale: '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\nexport type ResetComponentImperativeHandler = { reset: () => void };\n\ntype UpsertPrefOnUnsavedChangesFn = <K extends keyof PrefsMods>(\n\tprefKey: K,\n\tprefValue: PrefsMods[K] extends BooleanString | undefined ? boolean | undefined : PrefsMods[K]\n) => void;\n\nexport function upsertPrefOnUnsavedChanges(\n\taddModifiedValueCallback: AddMod\n): UpsertPrefOnUnsavedChangesFn {\n\treturn (prefKey, prefValue) => {\n\t\tif (prefValue === undefined) {\n\t\t\taddModifiedValueCallback('prefs', prefKey, '');\n\t\t} else if (isBoolean(prefValue)) {\n\t\t\taddModifiedValueCallback('prefs', prefKey, (prefValue && 'TRUE') || 'FALSE');\n\t\t} else {\n\t\t\taddModifiedValueCallback('prefs', prefKey, prefValue as PrefsMods[typeof prefKey]);\n\t\t}\n\t};\n}\n\nexport type SettingsSectionProps = {\n\tresetRef?: React.Ref<ResetComponentImperativeHandler>;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport type { TFunction } from 'i18next';\nimport type { 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 React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { findIndex, includes, isEmpty, map, reduce, size } from 'lodash';\nimport {\n\tAccountState,\n\tAddMod,\n\tBatchRequest,\n\tModifyPrefsRequest,\n\tModifyPrefsResponse,\n\tModifyPropertiesRequest,\n\tModifyPropertiesResponse,\n\tMods,\n\tRemoveMod\n} from '../../types';\nimport { useAccountStore, 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-settings';\nimport UserQuota from './components/general-settings/user-quota';\nimport SettingsHeader, { SettingsHeaderProps } from './components/settings-header';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport { SearchSettings } from './components/general-settings/search-settings';\nimport { ScalingSettingSection } from './components/general-settings/scaling-setting-section';\nimport DarkThemeSettingSection from './components/general-settings/dark-theme-settings-section';\nimport { LOCAL_STORAGE_SETTINGS_KEY, SHELL_APP_ID } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\nimport { ResetComponentImperativeHandler } from './components/utils';\nimport { getSoapFetch } from '../network/fetch';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\n\nconst GeneralSettings = (): JSX.Element => {\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<SettingsHeaderProps['onSave']>(() => {\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\tlet modifyPropertiesRequest: ModifyPropertiesRequest | undefined;\n\t\t\tif (mods.props) {\n\t\t\t\tconst mappedProperties = map(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(prop, key): ModifyPropertiesRequest['prop'][0] => ({\n\t\t\t\t\t\tname: key,\n\t\t\t\t\t\tzimlet: prop.app,\n\t\t\t\t\t\t_content: prop.value\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tmodifyPropertiesRequest = { _jsns: 'urn:zimbraAccount', prop: mappedProperties };\n\t\t\t}\n\n\t\t\tlet modifyPrefsRequest: ModifyPrefsRequest | undefined;\n\n\t\t\tif (mods.prefs) {\n\t\t\t\tconst attrs = mods.prefs;\n\t\t\t\tif ('zimbraPrefMailTrustedSenderList' in attrs) {\n\t\t\t\t\tattrs.zimbraPrefMailTrustedSenderList =\n\t\t\t\t\t\tattrs.zimbraPrefMailTrustedSenderList instanceof Array &&\n\t\t\t\t\t\tattrs.zimbraPrefMailTrustedSenderList.length === 0\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: attrs.zimbraPrefMailTrustedSenderList;\n\t\t\t\t}\n\t\t\t\tmodifyPrefsRequest = { _jsns: 'urn:zimbraAccount', _attrs: attrs };\n\t\t\t}\n\n\t\t\tconst promise = getSoapFetch(SHELL_APP_ID)<\n\t\t\t\tBatchRequest,\n\t\t\t\t{\n\t\t\t\t\tModifyPropertiesResponse?: ModifyPropertiesResponse;\n\t\t\t\t\tModifyPrefsResponse?: ModifyPrefsResponse;\n\t\t\t\t}\n\t\t\t>('Batch', {\n\t\t\t\t_jsns: 'urn:zimbra',\n\t\t\t\tModifyPropertiesRequest: modifyPropertiesRequest,\n\t\t\t\tModifyPrefsRequest: modifyPrefsRequest\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\t...s.settings,\n\t\t\t\t\t\t\tprefs: reduce(\n\t\t\t\t\t\t\t\tmods.prefs,\n\t\t\t\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\ts.settings.prefs\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tprops: reduce(\n\t\t\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\t\t\t\tif (propIndex >= 0) {\n\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\tacc[propIndex] = {\n\t\t\t\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t\t\t\t_content: value as string\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\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ts.settings.props\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\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\tsetMods({});\n\t\t\t\t})\n\t\t\t\t.catch((error: unknown) => {\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\tif (error instanceof Error) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow new Error(typeof error === 'string' ? error : 'edit setting error');\n\t\t\t\t});\n\t\t\treturn Promise.allSettled([promise]);\n\t\t}\n\t\treturn Promise.allSettled([Promise.resolve()]);\n\t}, [mods, setLocalStorageSettings, createSnackbar, t]);\n\n\tconst scalingSettingSectionRef = useRef<ResetComponentImperativeHandler>(null);\n\tconst outOfOfficeSettingsSectionRef = useRef<ResetComponentImperativeHandler>(null);\n\tconst searchSettingsSectionRef = useRef<ResetComponentImperativeHandler>(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\toutOfOfficeSettingsSectionRef.current?.reset();\n\t\tsearchSettingsSectionRef?.current?.reset();\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\tresetRef={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\n\t\t\t\t\tsettings={userSettings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\tresetRef={outOfOfficeSettingsSectionRef}\n\t\t\t\t/>\n\t\t\t\t<SearchSettings\n\t\t\t\t\tsettings={userSettings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\tresetRef={searchSettingsSectionRef}\n\t\t\t\t/>\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: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useImperativeHandle } from 'react';\nimport { SettingsSectionProps } from '../components/utils';\n\nexport function useReset(ref: SettingsSectionProps['resetRef'], resetFn: () => void): void {\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\treset: resetFn\n\t\t}),\n\t\t[resetFn]\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\tFormSubSection,\n\tModal,\n\tPadding,\n\tSelect,\n\tSingleSelectionOnChange,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\n\nimport { find } from 'lodash';\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\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\t() =>\n\t\t\t(settings.prefs.zimbraPrefLocale &&\n\t\t\t\tfind(locales, { id: `${settings.prefs.zimbraPrefLocale}` })) ||\n\t\t\tfind(locales, { id: 'en' }),\n\t\t[locales, settings.prefs.zimbraPrefLocale]\n\t);\n\n\tconst onLocaleChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefLocale)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t},\n\t\t[settings.prefs.zimbraPrefLocale, updatePrefs]\n\t);\n\n\tconst defaultTimeZone = useMemo(\n\t\t() =>\n\t\t\t(settings.prefs.zimbraPrefTimeZoneId &&\n\t\t\t\tfind(timezones, { value: `${settings.prefs.zimbraPrefTimeZoneId}` })) ||\n\t\t\tfind(timezones, { value: 'UTC' }),\n\t\t[timezones, settings.prefs.zimbraPrefTimeZoneId]\n\t);\n\n\tconst onTimeZoneChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefTimeZoneId)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefTimeZoneId');\n\t\t},\n\t\t[settings.prefs.zimbraPrefTimeZoneId, updatePrefs]\n\t);\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={onLocaleChange}\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 && defaultTimeZone && (\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={onTimeZoneChange}\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 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, 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\tDropdown,\n\tDropdownItem,\n\tIcon,\n\tIconButton,\n\tIconButtonProps,\n\tPadding,\n\tRow,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { debounce, isEmpty, map, noop, size } from 'lodash';\nimport React, { CSSProperties, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport styled, { css, SimpleInterpolation } from 'styled-components';\nimport {\n\tcloseAllBoards,\n\tcloseBoard,\n\texpandBoards,\n\tminimizeBoards,\n\tonGoToPanel,\n\treduceBoards,\n\tsetCurrentBoard,\n\tuseBoardStore\n} from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoard } from './board';\nimport { TabsList } from './board-tab-list';\nimport { getApp } from '../../store/app';\nimport { ResizableContainer } from './resizable-container';\nimport {\n\tBOARD_CONTAINER_ZINDEX,\n\tBOARD_HEADER_HEIGHT,\n\tBOARD_MIN_VISIBILITY,\n\tBOARD_TAB_WIDTH,\n\tHEADER_BAR_HEIGHT,\n\tLOCAL_STORAGE_BOARD_SIZE,\n\tPRIMARY_BAR_WIDTH\n} from '../../constants';\nimport { useLocalStorage } from '../hooks/useLocalStorage';\nimport { setElementSizeAndPosition, SizeAndPosition } from '../../utils/utils';\nimport { useMove } from '../hooks/useMove';\n\nexport const BOARD_DEFAULT_POSITION: Pick<CSSProperties, 'top' | 'left' | 'right' | 'bottom'> = {\n\tleft: '1.5rem',\n\tbottom: '0'\n};\n\nconst BoardContainerComp = styled.div<{ expanded: boolean; minimized: boolean }>`\n\tposition: fixed;\n\twidth: calc(100vw - ${PRIMARY_BAR_WIDTH});\n\theight: calc(100vh - ${HEADER_BAR_HEIGHT});\n\ttop: ${HEADER_BAR_HEIGHT};\n\tleft: ${PRIMARY_BAR_WIDTH};\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: ${BOARD_CONTAINER_ZINDEX};\n\t${({ expanded }): SimpleInterpolation =>\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 }): SimpleInterpolation =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\n\nconst OverflowContainer = styled(Container)`\n\toverflow: auto;\n`;\n\nconst Board = styled(Container)<{ expanded: boolean }>`\n\tz-index: 5;\n\tposition: absolute;\n\t${BOARD_DEFAULT_POSITION};\n\n\t${({ width }): SimpleInterpolation =>\n\t\t!width &&\n\t\tcss`\n\t\t\t/* default width and aspect ratio */\n\t\t\taspect-ratio: 4 / 3;\n\t\t\twidth: auto;\n\t\t`}\n\n\t${({ height }): SimpleInterpolation =>\n\t\t!height &&\n\t\tcss`\n\t\t\t/* default height */\n\t\t\theight: 70vh;\n\t\t\t/* on higher screen, reduce the default height */\n\t\t\t@media (min-height: 800px) {\n\t\t\t\theight: 60vh;\n\t\t\t}\n\t\t\t@media (min-height: 1000px) {\n\t\t\t\theight: 50vh;\n\t\t\t}\n\t\t`}\n\n\tmin-height: calc(${BOARD_HEADER_HEIGHT} * 3);\n\tmin-width: calc(${BOARD_TAB_WIDTH} * 2);\n\tbox-shadow: 0 0.125rem 0.3125rem 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\tmax-height: 100%;\n\tmax-width: 100%;\n\t${({ expanded }): SimpleInterpolation =>\n\t\texpanded &&\n\t\tcss`\n\t\t\theight: calc(100% - 1.5rem) !important;\n\t\t\twidth: calc(100% - 3rem) !important;\n\t\t\ttop: 1.5rem !important;\n\t\t\tleft: 1.5rem !important;\n\t\t\tmin-height: auto;\n\t\t`};\n`;\n\nconst BoardHeader = styled(Row)`\n\tposition: relative;\n`;\n\nconst BoardDetailContainer = styled(Row)`\n\tmin-height: 0;\n`;\nconst BackButton = styled(IconButton)``;\nconst Actions = styled(Row)``;\n\ninterface ListItemContentProps {\n\ticon?: string;\n\tlabel: string;\n\tselected?: boolean;\n\tapp?: string;\n\tboardId: string;\n}\n\nfunction ListItemContent({\n\ticon,\n\tlabel,\n\tselected,\n\tapp,\n\tboardId\n}: ListItemContentProps): JSX.Element {\n\tconst t = getT();\n\tconst onClose = useCallback<IconButtonProps['onClick']>(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tcloseBoard(boardId);\n\t\t},\n\t\t[boardId]\n\t);\n\treturn (\n\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" gap={'0.5rem'}>\n\t\t\t{icon && <Icon icon={icon} size={'large'} color={'text'} style={{ pointerEvents: 'none' }} />}\n\t\t\t<OverflowContainer crossAlignment={'flex-start'}>\n\t\t\t\t<Text size={'medium'} weight={selected ? 'bold' : 'regular'} color={'gray0'}>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t\t<Text size={'small'} weight={selected ? 'bold' : 'regular'} color={'secondary'}>\n\t\t\t\t\t{app &&\n\t\t\t\t\t\tt('board.from_app', 'From {{app}}', {\n\t\t\t\t\t\t\tapp\n\t\t\t\t\t\t})}\n\t\t\t\t</Text>\n\t\t\t</OverflowContainer>\n\t\t\t<IconButton icon={'CloseOutline'} size={'large'} onClick={onClose} />\n\t\t</Container>\n\t);\n}\n\nfunction calcPositionToRemainVisible(\n\tlastSavedPosition: number,\n\tcontainerSize: number,\n\tminVisibility: number\n): number {\n\tconst limit = containerSize - minVisibility;\n\tif (lastSavedPosition > limit) {\n\t\treturn limit > 0 ? limit : 0;\n\t}\n\treturn lastSavedPosition;\n}\n\nexport const BoardContainer = (): JSX.Element | null => {\n\tconst t = getT();\n\tconst { boards, minimized, expanded, current, orderedBoards } = useBoardStore();\n\n\tconst boardDropdownItems = useMemo(\n\t\t(): DropdownItem[] =>\n\t\t\tmap(\n\t\t\t\torderedBoards,\n\t\t\t\t(boardId): DropdownItem => ({\n\t\t\t\t\tid: boardId,\n\t\t\t\t\tlabel: boards[boardId].title,\n\t\t\t\t\ticon: boards[boardId].icon,\n\t\t\t\t\tonClick: () => setCurrentBoard(boardId),\n\t\t\t\t\tselected: boardId === current,\n\t\t\t\t\tcustomComponent: (\n\t\t\t\t\t\t<ListItemContent\n\t\t\t\t\t\t\tlabel={boards[boardId].title}\n\t\t\t\t\t\t\ticon={boards[boardId].icon}\n\t\t\t\t\t\t\tselected={boardId === current}\n\t\t\t\t\t\t\tapp={getApp(boards[boardId].app)()?.display}\n\t\t\t\t\t\t\tboardId={boardId}\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[boards, current, orderedBoards]\n\t);\n\n\tconst boardRef = useRef<HTMLDivElement>(null);\n\tconst boardContainerRef = useRef<HTMLDivElement>(null);\n\tconst [lastSavedBoardSizeAndPosition, setLastSavedBoardSizeAndPosition] = useLocalStorage<\n\t\tPartial<SizeAndPosition>\n\t>(LOCAL_STORAGE_BOARD_SIZE, {});\n\tconst [currentBoardSizeAndPosition, setCurrentBoardSizeAndPosition] = useState(\n\t\tlastSavedBoardSizeAndPosition\n\t);\n\tconst lastSavedBoardSizeAndPositionRef = useRef(lastSavedBoardSizeAndPosition);\n\tconst [isMoving, moveElementHandler] = useMove(boardRef, {\n\t\tlocalStorageKey: LOCAL_STORAGE_BOARD_SIZE\n\t});\n\n\tconst isDefaultSizeAndPosition = useMemo(\n\t\t() => size(currentBoardSizeAndPosition) === 0,\n\t\t[currentBoardSizeAndPosition]\n\t);\n\tconst isBoardEmpty = useMemo(() => isEmpty(boards), [boards]);\n\n\tconst resetSizeAndPosition = useCallback(() => {\n\t\tsetLastSavedBoardSizeAndPosition({});\n\t\treduceBoards();\n\t}, [setLastSavedBoardSizeAndPosition]);\n\n\tuseEffect(() => {\n\t\t// reset position when the board is closed\n\t\tif (isBoardEmpty) {\n\t\t\tsetLastSavedBoardSizeAndPosition((prevState) => {\n\t\t\t\tconst newState = { ...prevState };\n\t\t\t\tdelete newState.left;\n\t\t\t\tdelete newState.top;\n\t\t\t\treturn newState;\n\t\t\t});\n\t\t}\n\t}, [isBoardEmpty, setLastSavedBoardSizeAndPosition]);\n\n\tuseEffect(() => {\n\t\tif (boardRef.current) {\n\t\t\tconst boardElement = boardRef.current;\n\t\t\tsetElementSizeAndPosition(boardElement, 'width', currentBoardSizeAndPosition.width);\n\t\t\tsetElementSizeAndPosition(boardElement, 'height', currentBoardSizeAndPosition.height);\n\t\t\tsetElementSizeAndPosition(boardElement, 'top', currentBoardSizeAndPosition.top);\n\t\t\tsetElementSizeAndPosition(boardElement, 'left', currentBoardSizeAndPosition.left);\n\t\t}\n\t}, [currentBoardSizeAndPosition]);\n\n\tconst updateBoardPosition = useMemo(\n\t\t() =>\n\t\t\tdebounce(\n\t\t\t\t() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tboardContainerRef.current &&\n\t\t\t\t\t\tboardContainerRef.current.clientHeight > 0 &&\n\t\t\t\t\t\tboardContainerRef.current.clientWidth > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst newSizeAndPosition: Partial<SizeAndPosition> = {};\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.width !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.width = lastSavedBoardSizeAndPositionRef.current.width;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.height !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.height = lastSavedBoardSizeAndPositionRef.current.height;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst boardContainer = boardContainerRef.current;\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.top !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.top = calcPositionToRemainVisible(\n\t\t\t\t\t\t\t\tlastSavedBoardSizeAndPositionRef.current.top,\n\t\t\t\t\t\t\t\tboardContainer.clientHeight,\n\t\t\t\t\t\t\t\tBOARD_MIN_VISIBILITY.top\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.left !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.left = calcPositionToRemainVisible(\n\t\t\t\t\t\t\t\tlastSavedBoardSizeAndPositionRef.current.left,\n\t\t\t\t\t\t\t\tboardContainer.clientWidth,\n\t\t\t\t\t\t\t\tBOARD_MIN_VISIBILITY.left\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetCurrentBoardSizeAndPosition(newSizeAndPosition);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t0,\n\t\t\t\t{ leading: false, trailing: true }\n\t\t\t),\n\t\t[]\n\t);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('resize', updateBoardPosition);\n\t\treturn (): void => {\n\t\t\twindow.removeEventListener('resize', updateBoardPosition);\n\t\t};\n\t}, [updateBoardPosition]);\n\n\tuseEffect(() => {\n\t\tlastSavedBoardSizeAndPositionRef.current = { ...lastSavedBoardSizeAndPosition };\n\t\t// if there is a board open, then update the size and position based on the window\n\t\tif (boardRef.current) {\n\t\t\tif (size(lastSavedBoardSizeAndPosition) > 0) {\n\t\t\t\tupdateBoardPosition();\n\t\t\t} else {\n\t\t\t\tsetCurrentBoardSizeAndPosition({});\n\t\t\t}\n\t\t} else {\n\t\t\t// otherwise just align the current with the local storage data (refresh case, board is closed)\n\t\t\tsetCurrentBoardSizeAndPosition({ ...lastSavedBoardSizeAndPosition });\n\t\t}\n\n\t\treturn (): void => {\n\t\t\tupdateBoardPosition.cancel();\n\t\t};\n\t}, [lastSavedBoardSizeAndPosition, updateBoardPosition]);\n\n\tconst clickHandler = useCallback<\n\t\t(onClickFn: IconButtonProps['onClick']) => IconButtonProps['onClick']\n\t>(\n\t\t(clickFn) => (event) => {\n\t\t\tif (event.type !== 'click' || !event.defaultPrevented) {\n\t\t\t\tclickFn(event);\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t(!isBoardEmpty && current && (\n\t\t\t<BoardContainerComp expanded={expanded} minimized={minimized} ref={boardContainerRef}>\n\t\t\t\t<Board\n\t\t\t\t\tdata-testid=\"NewItemContainer\"\n\t\t\t\t\tbackground={'gray6'}\n\t\t\t\t\tcrossAlignment=\"unset\"\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tref={boardRef}\n\t\t\t\t\twidth={currentBoardSizeAndPosition.width}\n\t\t\t\t\theight={currentBoardSizeAndPosition.height}\n\t\t\t\t\tonMouseDown={(!expanded && moveElementHandler) || undefined}\n\t\t\t\t>\n\t\t\t\t\t<ResizableContainer\n\t\t\t\t\t\tcrossAlignment={'unset'}\n\t\t\t\t\t\telementToResize={boardRef}\n\t\t\t\t\t\tlocalStorageKey={LOCAL_STORAGE_BOARD_SIZE}\n\t\t\t\t\t\tdisabled={expanded}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BoardHeader background={'gray5'}>\n\t\t\t\t\t\t\t<Padding all=\"extrasmall\">\n\t\t\t\t\t\t\t\t<Tooltip label={t('board.hide', 'Hide board')} placement=\"top\" disabled={isMoving}>\n\t\t\t\t\t\t\t\t\t<BackButton icon=\"BoardCollapseOutline\" onClick={clickHandler(minimizeBoards)} />\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\t<TabsList />\n\t\t\t\t\t\t\t<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t\t\t{boards[current]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\t\tlabel={t('board.open_app', 'Open in app')}\n\t\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\ticon={'DiagonalArrowRightUp'}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={clickHandler(onGoToPanel)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Container gap={'0.25rem'} orientation={'horizontal'} width={'fit'} height={'fit'}>\n\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tlabel={t('board.show_tabs', 'Show other tabs')}\n\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Dropdown items={boardDropdownItems}>\n\t\t\t\t\t\t\t\t\t\t\t<IconButton icon={'ChevronDown'} onClick={clickHandler(noop)} />\n\t\t\t\t\t\t\t\t\t\t</Dropdown>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tisDefaultSizeAndPosition\n\t\t\t\t\t\t\t\t\t\t\t\t? t('board.reset_size.disabled', 'Board already at the default position')\n\t\t\t\t\t\t\t\t\t\t\t\t: t('board.reset_size.enabled', 'Return to default position and size')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\ticon={'DiagonalArrowLeftDown'}\n\t\t\t\t\t\t\t\t\t\t\tonClick={clickHandler(resetSizeAndPosition)}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isDefaultSizeAndPosition}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\t\t\t\t? t('board.reduce', 'Reduce board')\n\t\t\t\t\t\t\t\t\t\t\t\t: t('board.enlarge', 'Enlarge board')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\ticon={expanded ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\t\t\tonClick={clickHandler(expanded ? reduceBoards : expandBoards)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\tlabel={t('board.close_tabs', 'Close all your tabs')}\n\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<IconButton icon=\"CloseOutline\" onClick={clickHandler(closeAllBoards)} />\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t</Actions>\n\t\t\t\t\t\t</BoardHeader>\n\t\t\t\t\t\t<Divider style={{ height: '0.125rem' }} />\n\t\t\t\t\t\t<BoardDetailContainer takeAvailableSpace>\n\t\t\t\t\t\t\t{map(boards, (b) => (\n\t\t\t\t\t\t\t\t<AppBoard key={b.id} board={b} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</BoardDetailContainer>\n\t\t\t\t\t</ResizableContainer>\n\t\t\t\t</Board>\n\t\t\t</BoardContainerComp>\n\t\t)) ||\n\t\tnull\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 { Row } from '@zextras/carbonio-design-system';\nimport { isEmpty, map } from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useBoardStore } from '../../store/boards';\nimport { AppBoardTab } from './board-tab';\n\nconst CustomRow = styled(Row)`\n\toverflow-x: auto;\n\t&::-webkit-scrollbar {\n\t\theight: 0.5rem;\n\t}\n`;\n\nexport const TabsList = (): JSX.Element => {\n\tconst { boards, orderedBoards } = useBoardStore();\n\treturn (\n\t\t<CustomRow wrap=\"nowrap\" height=\"100%\" mainAlignment=\"flex-start\" takeAvailableSpace>\n\t\t\t{boards &&\n\t\t\t\t!isEmpty(orderedBoards) &&\n\t\t\t\tmap(orderedBoards, (boardId, idx) => (\n\t\t\t\t\t<AppBoardTab\n\t\t\t\t\t\tkey={boardId}\n\t\t\t\t\t\tid={boardId}\n\t\t\t\t\t\ttitle={boards[boardId].title}\n\t\t\t\t\t\ticon={boards[boardId].icon}\n\t\t\t\t\t\tfirstTab={idx === 0}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t</CustomRow>\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\tRow,\n\tRowProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport styled, { css, SimpleInterpolation } from 'styled-components';\nimport { closeBoard, setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport './board-tab.css';\n\nconst TabContainer = styled(Row)<RowProps & { active: boolean }>`\n\tcontainer-type: inline-size;\n\tcontainer-name: tab;\n\tmax-width: calc(3rem + 15ch);\n\tmin-width: 1rem;\n\tflex-grow: 1;\n\tflex-basis: 0;\n\tcursor: pointer;\n\theight: 1.75rem;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }): string =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tgap: 0.25rem;\n\tborder-radius: 0.25rem;\n\tmargin-left: 0.25rem;\n\tmargin-right: 0.25rem;\n\toverflow: hidden;\n\t${({ active }): SimpleInterpolation =>\n\t\tactive &&\n\t\tcss`\n\t\t\tmin-width: calc(3rem + 15ch);\n\t\t`}\n`;\n\nconst CloseContainer = styled(Container)`\n\tmargin-left: auto;\n`;\n\nconst TabIcon = styled(Icon)`\n\tmin-width: 1.5rem;\n`;\n\nconst CustomText = styled(Text)<{ overflowing: boolean }>`\n\t${({ overflowing }): SimpleInterpolation =>\n\t\toverflowing &&\n\t\tcss`\n\t\t\tmask-image: linear-gradient(90deg, #000 60%, transparent);\n\t\t`}\n\ttext-overflow: unset;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 0.0625rem;\n\tmin-width: 0.0625rem;\n\theight: 2.25rem;\n\tbackground: ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nexport const AppBoardTab: FC<{ id: string; icon: string; title: string; firstTab: boolean }> = ({\n\tid,\n\ticon,\n\ttitle,\n\tfirstTab\n}) => {\n\tconst current = useBoardStore((s) => s.current);\n\tconst t = getT();\n\tconst onClick = useCallback(\n\t\t(event: React.SyntheticEvent<HTMLDivElement>) => {\n\t\t\tif (!event.defaultPrevented) {\n\t\t\t\tsetCurrentBoard(id);\n\t\t\t}\n\t\t},\n\t\t[id]\n\t);\n\tconst onRemove = useCallback(\n\t\t(ev: React.SyntheticEvent | Event) => {\n\t\t\tif (!ev.defaultPrevented) {\n\t\t\t\tev.stopPropagation();\n\t\t\t\tcloseBoard(id);\n\t\t\t}\n\t\t},\n\t\t[id]\n\t);\n\n\tconst textRef = useRef<HTMLDivElement>(null);\n\tconst [textOverflowing, setTextOverflowing] = useState(false);\n\tconst resizeObserverRef = useRef<ResizeObserver>();\n\tuseEffect(() => {\n\t\tif (textRef.current && !resizeObserverRef.current) {\n\t\t\tresizeObserverRef.current = new ResizeObserver((entries) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (textRef.current) {\n\t\t\t\t\t\tsetTextOverflowing(textRef.current.offsetWidth < textRef.current.scrollWidth);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tresizeObserverRef.current.observe(textRef.current);\n\t\t}\n\n\t\treturn (): void => {\n\t\t\tresizeObserverRef.current?.disconnect();\n\t\t};\n\t}, [textRef]);\n\n\treturn (\n\t\t<>\n\t\t\t{!firstTab && <VerticalDivider />}\n\t\t\t<TabContainer\n\t\t\t\twrap={'nowrap'}\n\t\t\t\torientation=\"row\"\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tonClick={onClick}\n\t\t\t\tdata-testid={`board-tab-${id}`}\n\t\t\t\tpadding={{ horizontal: 'extrasmall' }}\n\t\t\t\tactive={current === id}\n\t\t\t>\n\t\t\t\t<TabIcon icon={icon} size=\"large\" />\n\t\t\t\t<Tooltip label={title} placement=\"top\" maxWidth=\"700px\" triggerRef={textRef}>\n\t\t\t\t\t<CustomText\n\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\tcolor={current === id ? 'text' : 'secondary'}\n\t\t\t\t\t\toverflowing={textOverflowing}\n\t\t\t\t\t\tclassName=\"tab-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</CustomText>\n\t\t\t\t</Tooltip>\n\t\t\t\t<CloseContainer orientation={'row'} width={'fit'}>\n\t\t\t\t\t<Tooltip label={t('board.close_tab', 'Close Tab')} placement=\"top\">\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName=\"tab-close-icon-button\"\n\t\t\t\t\t\t\ticonColor=\"secondary\"\n\t\t\t\t\t\t\ticon=\"Close\"\n\t\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\t\tstyle={{ padding: '0.125rem', width: '1.5rem', height: '1.5rem' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</CloseContainer>\n\t\t\t</TabContainer>\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, 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';\nimport { stopPropagation } from '../../utils/utils';\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\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} onMouseDown={stopPropagation}>\n\t\t\t<Router history={history}>{route}</Router>\n\t\t</BoardContainer>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { CSSProperties, useMemo, useRef } from 'react';\nimport styled, { css, SimpleInterpolation } from 'styled-components';\nimport { Container, ContainerProps } from '@zextras/carbonio-design-system';\nimport { Border, BORDERS, getCursorFromBorder, useResize } from '../hooks/useResize';\n\ninterface ResizableBorderProps {\n\tborder: Border;\n\telementToResize: React.RefObject<HTMLElement>;\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n}\n\ninterface ResizableContainerProps extends ContainerProps {\n\telementToResize: React.RefObject<HTMLElement>;\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n\tdisabled?: boolean;\n\tminSize?: { width: number; height: number };\n}\n\ninterface BorderWithResizeProps {\n\t$cursor: CSSProperties['cursor'];\n\t$width: string;\n\t$height: string;\n\t$position: {\n\t\ttop?: number;\n\t\tbottom?: number;\n\t\tleft?: number;\n\t\tright?: number;\n\t};\n\t$translateTransform?: { x?: string; y?: string };\n}\n\nconst MainContainer = styled(Container)`\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n`;\n\nconst BorderWithResize = styled.div<\n\tBorderWithResizeProps & {\n\t\theight?: never;\n\t\twidth?: never;\n\t}\n>`\n\tposition: absolute;\n\tz-index: 2;\n\tcursor: ${({ $cursor }): CSSProperties['cursor'] => $cursor};\n\twidth: ${({ $width }): string => $width};\n\theight: ${({ $height }): string => $height};\n\t${({ $position }): SimpleInterpolation => $position};\n\t${({ $translateTransform }): SimpleInterpolation =>\n\t\t($translateTransform?.x || $translateTransform?.y) &&\n\t\tcss`\n\t\t\ttransform: translate(${$translateTransform?.x || 0}, ${$translateTransform?.y || 0});\n\t\t`}\n`;\n\nconst ResizableBorder = ({\n\tborder,\n\telementToResize,\n\tlocalStorageKey,\n\tkeepSynchedWithStorage\n}: ResizableBorderProps): JSX.Element => {\n\tconst borderRef = useRef<HTMLDivElement>(null);\n\tconst resizeHandler = useResize(elementToResize, border, {\n\t\tlocalStorageKey,\n\t\tkeepSynchedWithStorage\n\t});\n\n\tconst sizes = useMemo<Pick<BorderWithResizeProps, '$width' | '$height'>>(() => {\n\t\tswitch (border) {\n\t\t\tcase 'n':\n\t\t\tcase 's':\n\t\t\t\treturn {\n\t\t\t\t\t$width: '100%',\n\t\t\t\t\t$height: '0.25rem'\n\t\t\t\t};\n\t\t\tcase 'e':\n\t\t\tcase 'w':\n\t\t\t\treturn {\n\t\t\t\t\t$width: '0.25rem',\n\t\t\t\t\t$height: '100%'\n\t\t\t\t};\n\t\t\tcase 'ne':\n\t\t\tcase 'nw':\n\t\t\tcase 'se':\n\t\t\tcase 'sw':\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\t$width: '0.25rem',\n\t\t\t\t\t$height: '0.25rem'\n\t\t\t\t};\n\t\t}\n\t}, [border]);\n\n\tconst positions = useMemo<\n\t\tPick<BorderWithResizeProps, '$position' | '$translateTransform'>\n\t>(() => {\n\t\tconst $position: BorderWithResizeProps['$position'] = {};\n\t\tconst $translateTransform: BorderWithResizeProps['$translateTransform'] = {};\n\t\tif (border.includes('n')) {\n\t\t\t$position.top = 0;\n\t\t\t$translateTransform.y = '-50%';\n\t\t}\n\t\tif (border.includes('s')) {\n\t\t\t$position.bottom = 0;\n\t\t\t$translateTransform.y = '50%';\n\t\t}\n\t\tif (border.includes('e')) {\n\t\t\t$position.right = 0;\n\t\t\t$translateTransform.x = '50%';\n\t\t}\n\t\tif (border.includes('w')) {\n\t\t\t$position.left = 0;\n\t\t\t$translateTransform.x = '-50%';\n\t\t}\n\t\treturn { $position, $translateTransform };\n\t}, [border]);\n\n\treturn (\n\t\t<BorderWithResize\n\t\t\tref={borderRef}\n\t\t\t{...sizes}\n\t\t\t{...positions}\n\t\t\t$cursor={getCursorFromBorder(border)}\n\t\t\tonMouseDown={resizeHandler}\n\t\t\tdata-testid={`resizable-border-${border}`}\n\t\t/>\n\t);\n};\n\nexport const ResizableContainer = ({\n\telementToResize,\n\tchildren,\n\tlocalStorageKey,\n\tdisabled = false,\n\tkeepSynchedWithStorage,\n\t...rest\n}: ResizableContainerProps): JSX.Element => {\n\tconst borders = useMemo(\n\t\t() =>\n\t\t\tBORDERS.map((border) => (\n\t\t\t\t<ResizableBorder\n\t\t\t\t\tkey={`resizable-border-${border}`}\n\t\t\t\t\tborder={border}\n\t\t\t\t\telementToResize={elementToResize}\n\t\t\t\t\tlocalStorageKey={localStorageKey}\n\t\t\t\t\tkeepSynchedWithStorage={keepSynchedWithStorage}\n\t\t\t\t/>\n\t\t\t)),\n\t\t[elementToResize, keepSynchedWithStorage, localStorageKey]\n\t);\n\n\treturn (\n\t\t<MainContainer {...rest}>\n\t\t\t{!disabled && borders}\n\t\t\t{children}\n\t\t</MainContainer>\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 {\n\tButton,\n\tContainer,\n\tDropdown,\n\ttype DropdownItem,\n\tMultiButton\n} from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { find, groupBy, noop, reduce } from 'lodash';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { AppRoute, CarbonioModule } 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\ninterface CreationButtonProps {\n\tactiveRoute: AppRoute;\n\tlocation: Location;\n}\n\nexport const CreationButtonComponent = ({\n\tactiveRoute,\n\tlocation\n}: CreationButtonProps): JSX.Element => {\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\tfind(\n\t\t\t\tactions,\n\t\t\t\t(action) =>\n\t\t\t\t\t(action.group === activeRoute?.id || action.group === activeRoute?.app) &&\n\t\t\t\t\taction.primary === true\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 = useMemo<DropdownItem[]>(\n\t\t(): DropdownItem[] => [\n\t\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t\t...reduce<CarbonioModule, DropdownItem[]>(\n\t\t\t\tapps,\n\t\t\t\t(acc, app, i): DropdownItem[] => {\n\t\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t)\n\t\t],\n\t\t[activeRoute?.app, apps, byApp]\n\t);\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\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={t('new', 'New')}\n\t\t\t\tonClick={primaryAction.onClick || primaryAction.click || noop}\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: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useContext } from 'react';\nimport ShellContext from '../shell-context';\n\nexport function useIsMobile(): boolean {\n\tconst { isMobile } = useContext(ShellContext);\n\treturn isMobile;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { create } from 'zustand';\nimport { createExportForTestOnly } from '../../utils/utils';\n\nfunction isSameLocalStorageValue(valueA: unknown, valueB: unknown): boolean {\n\treturn JSON.stringify(valueA) === JSON.stringify(valueB);\n}\n\ntype LocalStorageOptions = { keepSynchedWithStorage?: boolean };\n\ntype LocalStorageState = {\n\tstorage: Record<string, any>;\n\treadValue: <T>(key: string, fallback: T) => void;\n\tsetValue: <T>(key: string, value: React.SetStateAction<T>) => void;\n};\n\nconst useLocalStorageStore = create<LocalStorageState>()((setState) => ({\n\tstorage: {},\n\treadValue<T>(key: string, fallback: T): void {\n\t\ttry {\n\t\t\tconst localStorageItem = window.localStorage.getItem(key);\n\t\t\tconst item = localStorageItem !== null ? JSON.parse(localStorageItem) : fallback;\n\t\t\tsetState((state) => {\n\t\t\t\tif (state.storage[key] === undefined) {\n\t\t\t\t\treturn { storage: { ...state.storage, [key]: item } };\n\t\t\t\t}\n\t\t\t\treturn state;\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tsetState((state) => ({ storage: { ...state.storage, [key]: fallback } }));\n\t\t}\n\t},\n\tsetValue<T>(key: string, value: React.SetStateAction<T>): void {\n\t\tsetState((state) => {\n\t\t\tconst valueToStore = value instanceof Function ? value(state.storage[key]) : value;\n\t\t\tif (!isSameLocalStorageValue(valueToStore, state.storage[key])) {\n\t\t\t\twindow.localStorage.setItem(key, JSON.stringify(valueToStore));\n\t\t\t\treturn { storage: { ...state.storage, [key]: valueToStore } };\n\t\t\t}\n\t\t\treturn state;\n\t\t});\n\t}\n}));\n\nconst DEFAULT_OPTIONS: LocalStorageOptions = {\n\tkeepSynchedWithStorage: true\n};\n\nexport function useLocalStorage<T>(\n\tkey: string,\n\tinitialValue: T,\n\toptions = DEFAULT_OPTIONS\n): [T, React.Dispatch<React.SetStateAction<T>>] {\n\tconst storedValue = useLocalStorageStore((state) => state.storage[key] || initialValue);\n\tconst shouldDispatchStorageEventRef = useRef(false);\n\tconst localStorageOptions = useMemo(() => ({ ...DEFAULT_OPTIONS, ...options }), [options]);\n\n\tconst readValueForKey = useCallback(() => {\n\t\tuseLocalStorageStore.getState().readValue(key, initialValue);\n\t}, [key, initialValue]);\n\n\tuseEffect(() => {\n\t\treadValueForKey();\n\t}, [readValueForKey]);\n\n\tconst setValueForKey = useCallback<React.Dispatch<React.SetStateAction<T>>>(\n\t\t(value) => {\n\t\t\tuseLocalStorageStore.getState().setValue(key, value);\n\t\t\tshouldDispatchStorageEventRef.current = true;\n\t\t},\n\t\t[key]\n\t);\n\n\tuseEffect(() => {\n\t\tif (localStorageOptions?.keepSynchedWithStorage) {\n\t\t\twindow.addEventListener('storage', readValueForKey);\n\t\t}\n\n\t\treturn (): void => {\n\t\t\twindow.removeEventListener('storage', readValueForKey);\n\t\t};\n\t}, [localStorageOptions?.keepSynchedWithStorage, readValueForKey]);\n\n\tuseEffect(() => {\n\t\tif (shouldDispatchStorageEventRef.current) {\n\t\t\t// dispatch event when stored value change,\n\t\t\t// but only after render to avoid possible update of parent component during render\n\t\t\twindow.dispatchEvent(new Event('storage'));\n\t\t\tshouldDispatchStorageEventRef.current = false;\n\t\t}\n\t}, [storedValue]);\n\n\treturn [storedValue, setValueForKey];\n}\n\nexport const exportForTest = createExportForTestOnly({ useLocalStorageStore });\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { forEach } from 'lodash';\nimport {\n\tElementPosition,\n\tsetElementSizeAndPosition,\n\tsetGlobalCursor,\n\tSizeAndPosition\n} from '../../utils/utils';\nimport { useLocalStorage } from './useLocalStorage';\n\ntype UseMoveReturnType = [isMoving: boolean, moveHandler: React.MouseEventHandler];\ntype MoveOptions = {\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n};\n\nexport const BOARD_CURSOR_TIMEOUT = 250;\n\nfunction calcNewPosition(\n\tfrom: SizeAndPosition & {\n\t\tclientTop: number;\n\t\tclientLeft: number;\n\t\tmouseClientX: number;\n\t\tmouseClientY: number;\n\t},\n\tlimitContainer: HTMLElement,\n\tmouseEvent: MouseEvent\n): ElementPosition {\n\tconst limitClientRect = limitContainer.getBoundingClientRect();\n\tconst clientTopLimit = limitClientRect.top ?? 0;\n\tconst moveTopDelta = mouseEvent.clientY - from.mouseClientY;\n\tconst newClientTop = from.clientTop + moveTopDelta;\n\tconst newTop = from.top + moveTopDelta;\n\tconst clientLeftLimit = limitClientRect.left ?? 0;\n\tconst moveLeftDelta = mouseEvent.clientX - from.mouseClientX;\n\tconst newClientLeft = from.clientLeft + moveLeftDelta;\n\tconst newLeft = from.left + moveLeftDelta;\n\treturn {\n\t\tleft: newClientLeft > clientLeftLimit ? newLeft : 0,\n\t\ttop: newClientTop > clientTopLimit ? newTop : 0\n\t};\n}\n\nexport const useMove = (\n\telementToMoveRef: React.RefObject<HTMLElement>,\n\toptions?: MoveOptions\n): UseMoveReturnType => {\n\tconst [isMoving, setIsMoving] = useState(false);\n\tconst isMoveEnabledRef = useRef(false);\n\tconst initialSizeAndPositionRef = useRef<Parameters<typeof calcNewPosition>[0]>();\n\tconst [lastSavedPosition, setLastSavedPosition] = useLocalStorage<Partial<SizeAndPosition>>(\n\t\toptions?.localStorageKey || 'use-move-data',\n\t\t{},\n\t\t{ keepSynchedWithStorage: options?.keepSynchedWithStorage }\n\t);\n\tconst lastPositionRef = useRef<Partial<ElementPosition>>(lastSavedPosition);\n\tconst globalCursorSetterTimerRef = useRef<ReturnType<typeof setTimeout>>();\n\tconst shouldUpdateLocalStorageRef = useRef(false);\n\n\tconst moveElement = useCallback(\n\t\t({ left, top }: ElementPosition) => {\n\t\t\tif (elementToMoveRef.current) {\n\t\t\t\tconst elementToMove = elementToMoveRef.current;\n\t\t\t\tconst positionToApply: Partial<ElementPosition> = lastPositionRef.current;\n\t\t\t\tif (top >= 0) {\n\t\t\t\t\tpositionToApply.top = top;\n\t\t\t\t}\n\t\t\t\tif (left >= 0) {\n\t\t\t\t\tpositionToApply.left = left;\n\t\t\t\t}\n\t\t\t\tforEach(positionToApply, (value, key) => {\n\t\t\t\t\tsetElementSizeAndPosition(elementToMove, key as keyof ElementPosition, value);\n\t\t\t\t});\n\t\t\t\tlastPositionRef.current = positionToApply;\n\t\t\t}\n\t\t},\n\t\t[elementToMoveRef]\n\t);\n\n\tuseEffect(() => {\n\t\tlastPositionRef.current = { ...lastSavedPosition };\n\t}, [elementToMoveRef, lastSavedPosition]);\n\n\tconst preventClick = useCallback((event: MouseEvent) => {\n\t\tevent.preventDefault();\n\t\tdocument.body.removeEventListener('click', preventClick, { capture: true });\n\t}, []);\n\n\tconst onMouseMove = useCallback(\n\t\t(mouseMoveEvent: MouseEvent) => {\n\t\t\t// prevent clickable elements from being clicked if a move has been made\n\t\t\tdocument.body.addEventListener('click', preventClick, { capture: true });\n\t\t\tif (initialSizeAndPositionRef.current && elementToMoveRef.current) {\n\t\t\t\tconst offsetParent =\n\t\t\t\t\t(elementToMoveRef.current.offsetParent instanceof HTMLElement &&\n\t\t\t\t\t\telementToMoveRef.current.offsetParent) ||\n\t\t\t\t\tdocument.body;\n\n\t\t\t\tconst newPosition = calcNewPosition(\n\t\t\t\t\tinitialSizeAndPositionRef.current,\n\t\t\t\t\toffsetParent,\n\t\t\t\t\tmouseMoveEvent\n\t\t\t\t);\n\t\t\t\tmoveElement({\n\t\t\t\t\tleft: newPosition.left,\n\t\t\t\t\ttop: newPosition.top\n\t\t\t\t});\n\t\t\t\tshouldUpdateLocalStorageRef.current = true;\n\t\t\t}\n\t\t},\n\t\t[elementToMoveRef, moveElement, preventClick]\n\t);\n\n\tconst enableMove = useCallback(() => {\n\t\tif (document.activeElement && document.activeElement instanceof HTMLElement) {\n\t\t\tdocument.activeElement.classList.add('no-active-background');\n\t\t}\n\t\tdocument.body.addEventListener('mousemove', onMouseMove);\n\t\tsetGlobalCursor('move');\n\t\tisMoveEnabledRef.current = true;\n\t\tsetIsMoving(true);\n\t}, [onMouseMove]);\n\n\tconst disableMove = useCallback(() => {\n\t\tif (document.activeElement && document.activeElement instanceof HTMLElement) {\n\t\t\tdocument.activeElement.classList.remove('no-active-background');\n\t\t}\n\t\tdocument.body.removeEventListener('mousemove', onMouseMove);\n\t\tsetGlobalCursor(undefined);\n\t\tisMoveEnabledRef.current = false;\n\t\tsetIsMoving(false);\n\t}, [onMouseMove]);\n\n\tconst onMouseUp = useCallback(() => {\n\t\tif (globalCursorSetterTimerRef.current) {\n\t\t\tclearTimeout(globalCursorSetterTimerRef.current);\n\t\t}\n\t\tif (isMoveEnabledRef.current) {\n\t\t\tdisableMove();\n\t\t}\n\t\tdocument.body.removeEventListener('mouseup', onMouseUp);\n\t\tif (options?.localStorageKey && shouldUpdateLocalStorageRef.current) {\n\t\t\tsetLastSavedPosition(lastPositionRef.current);\n\t\t\tshouldUpdateLocalStorageRef.current = false;\n\t\t}\n\t}, [disableMove, options?.localStorageKey, setLastSavedPosition]);\n\n\tconst moveHandler = useCallback(\n\t\t(mouseDownEvent: React.MouseEvent) => {\n\t\t\tif (!mouseDownEvent.defaultPrevented && elementToMoveRef.current) {\n\t\t\t\tconst clientRect = elementToMoveRef.current.getBoundingClientRect();\n\t\t\t\tinitialSizeAndPositionRef.current = {\n\t\t\t\t\twidth: elementToMoveRef.current.offsetWidth,\n\t\t\t\t\theight: elementToMoveRef.current.offsetHeight,\n\t\t\t\t\tleft: elementToMoveRef.current.offsetLeft,\n\t\t\t\t\ttop: elementToMoveRef.current.offsetTop,\n\t\t\t\t\tclientTop: clientRect.top,\n\t\t\t\t\tclientLeft: clientRect.left,\n\t\t\t\t\tmouseClientY: mouseDownEvent.clientY,\n\t\t\t\t\tmouseClientX: mouseDownEvent.clientX\n\t\t\t\t};\n\t\t\t\tglobalCursorSetterTimerRef.current = setTimeout(enableMove, BOARD_CURSOR_TIMEOUT);\n\t\t\t\tdocument.body.addEventListener('mouseup', onMouseUp);\n\t\t\t}\n\t\t},\n\t\t[elementToMoveRef, enableMove, onMouseUp]\n\t);\n\n\treturn [isMoving, moveHandler];\n};\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { CSSProperties, useCallback, useEffect, useRef } from 'react';\nimport { find, forEach } from 'lodash';\nimport {\n\tcreateExportForTestOnly,\n\tsetElementSizeAndPosition,\n\tsetGlobalCursor,\n\tSizeAndPosition\n} from '../../utils/utils';\nimport { useLocalStorage } from './useLocalStorage';\n\n/**\n * Define the border following the cardinal points (north, south, west, east).\n * Similar to the definition of the cursor for the pointer\n */\nexport type Border = 'n' | 's' | 'e' | 'w' | 'ne' | 'sw' | 'nw' | 'se';\n\ntype UseResizableReturnType = React.MouseEventHandler;\n\ntype ResizeOptions = {\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n};\n\nexport const BORDERS: Border[] = ['n', 's', 'e', 'w', 'ne', 'se', 'sw', 'nw'];\n\nexport function getCursorFromBorder(border: Border): NonNullable<CSSProperties['cursor']> {\n\tconst direction = find(\n\t\t[\n\t\t\t['n', 's'],\n\t\t\t['e', 'w'],\n\t\t\t['ne', 'sw'],\n\t\t\t['nw', 'se']\n\t\t],\n\t\t(borders) => borders.includes(border)\n\t)?.join('');\n\treturn (direction && direction.concat('-resize')) || '';\n}\n\nfunction calcNewSizeAndPosition(\n\tborder: Border,\n\tfrom: { clientTop: number; clientLeft: number } & SizeAndPosition,\n\tmouseEvent: MouseEvent\n): SizeAndPosition {\n\tconst newSizeAndPosition = {\n\t\ttop: from.top,\n\t\tleft: from.left,\n\t\theight: from.height,\n\t\twidth: from.width\n\t};\n\tif (border.includes('n')) {\n\t\tconst heightDifference = from.clientTop - mouseEvent.clientY;\n\t\tnewSizeAndPosition.height = from.height + heightDifference;\n\t\tnewSizeAndPosition.top = from.top - heightDifference;\n\t}\n\tif (border.includes('s')) {\n\t\tnewSizeAndPosition.height = mouseEvent.clientY - from.clientTop;\n\t}\n\tif (border.includes('e')) {\n\t\tnewSizeAndPosition.width = mouseEvent.clientX - from.clientLeft;\n\t}\n\tif (border.includes('w')) {\n\t\tconst widthDifference = from.clientLeft - mouseEvent.clientX;\n\t\tnewSizeAndPosition.width = from.width + widthDifference;\n\t\tnewSizeAndPosition.left = from.left - widthDifference;\n\t}\n\treturn newSizeAndPosition;\n}\n\nexport const useResize = (\n\telementToResizeRef: React.RefObject<HTMLElement>,\n\tborder: Border,\n\toptions?: ResizeOptions\n): UseResizableReturnType => {\n\tconst initialSizeAndPositionRef = useRef<Parameters<typeof calcNewSizeAndPosition>[1]>();\n\tconst [lastSavedSizeAndPosition, setLastSavedSizeAndPosition] = useLocalStorage<\n\t\tPartial<SizeAndPosition>\n\t>(\n\t\toptions?.localStorageKey || 'use-resize-data',\n\t\t{},\n\t\t{ keepSynchedWithStorage: options?.keepSynchedWithStorage }\n\t);\n\tconst lastSizeAndPositionRef = useRef<Partial<SizeAndPosition>>(lastSavedSizeAndPosition);\n\n\tuseEffect(() => {\n\t\tlastSizeAndPositionRef.current = { ...lastSavedSizeAndPosition };\n\t}, [lastSavedSizeAndPosition]);\n\n\tconst resizeElement = useCallback(\n\t\t({ width, height, top, left }: SizeAndPosition) => {\n\t\t\tif (elementToResizeRef.current) {\n\t\t\t\tconst elementToResize = elementToResizeRef.current;\n\t\t\t\tconst sizeAndPositionToApply: Partial<SizeAndPosition> = lastSizeAndPositionRef.current;\n\t\t\t\tconst computedStyle = getComputedStyle(elementToResizeRef.current);\n\t\t\t\tconst minHeight = parseFloat(computedStyle.minHeight) || 0;\n\t\t\t\tconst minWidth = parseFloat(computedStyle.minWidth) || 0;\n\t\t\t\tif (top >= 0 && height >= minHeight) {\n\t\t\t\t\tsizeAndPositionToApply.height = height;\n\t\t\t\t\tsizeAndPositionToApply.top = top;\n\t\t\t\t}\n\t\t\t\tif (left >= 0 && width >= minWidth) {\n\t\t\t\t\tsizeAndPositionToApply.width = width;\n\t\t\t\t\tsizeAndPositionToApply.left = left;\n\t\t\t\t}\n\t\t\t\tforEach(sizeAndPositionToApply, (value, key) => {\n\t\t\t\t\tsetElementSizeAndPosition(elementToResize, key as keyof SizeAndPosition, value);\n\t\t\t\t});\n\t\t\t\t// reset bottom in favor of top\n\t\t\t\telementToResize.style.bottom = '';\n\t\t\t\t// reset right in favor of left\n\t\t\t\telementToResize.style.right = '';\n\t\t\t\tlastSizeAndPositionRef.current = sizeAndPositionToApply;\n\t\t\t}\n\t\t},\n\t\t[elementToResizeRef]\n\t);\n\n\tconst onMouseMove = useCallback(\n\t\t(mouseMoveEvent: MouseEvent) => {\n\t\t\tif (initialSizeAndPositionRef.current) {\n\t\t\t\tconst newSizeAndPosition = calcNewSizeAndPosition(\n\t\t\t\t\tborder,\n\t\t\t\t\tinitialSizeAndPositionRef.current,\n\t\t\t\t\tmouseMoveEvent\n\t\t\t\t);\n\t\t\t\tresizeElement(newSizeAndPosition);\n\t\t\t}\n\t\t},\n\t\t[border, resizeElement]\n\t);\n\n\tconst onMouseUp = useCallback(() => {\n\t\tsetGlobalCursor(undefined);\n\t\tdocument.body.removeEventListener('mousemove', onMouseMove);\n\t\tdocument.body.removeEventListener('mouseup', onMouseUp);\n\t\tif (options?.localStorageKey) {\n\t\t\tsetLastSavedSizeAndPosition(lastSizeAndPositionRef.current);\n\t\t}\n\t}, [onMouseMove, options?.localStorageKey, setLastSavedSizeAndPosition]);\n\n\treturn useCallback(\n\t\t(mouseDownEvent: React.MouseEvent | MouseEvent) => {\n\t\t\tif (!mouseDownEvent.defaultPrevented && elementToResizeRef.current) {\n\t\t\t\tmouseDownEvent.preventDefault();\n\t\t\t\tconst clientRect = elementToResizeRef.current.getBoundingClientRect();\n\t\t\t\tinitialSizeAndPositionRef.current = {\n\t\t\t\t\twidth: elementToResizeRef.current.offsetWidth,\n\t\t\t\t\theight: elementToResizeRef.current.offsetHeight,\n\t\t\t\t\ttop: elementToResizeRef.current.offsetTop,\n\t\t\t\t\tleft: elementToResizeRef.current.offsetLeft,\n\t\t\t\t\tclientTop: clientRect.top,\n\t\t\t\t\tclientLeft: clientRect.left\n\t\t\t\t};\n\t\t\t\tsetGlobalCursor(getCursorFromBorder(border));\n\t\t\t\tdocument.body.addEventListener('mousemove', onMouseMove);\n\t\t\t\tdocument.body.addEventListener('mouseup', onMouseUp);\n\t\t\t}\n\t\t},\n\t\t[border, elementToResizeRef, onMouseMove, onMouseUp]\n\t);\n};\n\nexport const exportForTest = createExportForTestOnly({ calcNewSizeAndPosition });\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React from 'react';\nimport { useLogo } from '../store/login/hooks';\nimport { useLoginConfigStore } from '../store/login/store';\n\nexport const Logo = (props: Record<string, unknown>): JSX.Element => {\n\tconst { loaded } = useLoginConfigStore();\n\tconst LogoElement = useLogo();\n\n\treturn loaded ? (\n\t\t(typeof LogoElement === 'string' && <img alt={''} {...props} src={LogoElement} />) || (\n\t\t\t<LogoElement {...props} />\n\t\t)\n\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\nimport React, { useMemo } from 'react';\nimport { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\ninterface ShellContextProviderProps {\n\tchildren: React.ReactNode;\n}\n\nconst ShellContextProvider = ({ children }: ShellContextProviderProps): JSX.Element => {\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 from 'react';\nimport {\n\tCatcher,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode\n} from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\nimport { Logo } from './logo';\nimport { BOARD_CONTAINER_ZINDEX, HEADER_BAR_HEIGHT } from '../constants';\n\nconst StyledLogo = styled(Logo)`\n\theight: 2rem;\n`;\n\nconst ShellHeaderContainer = styled(Container)`\n\tz-index: ${BOARD_CONTAINER_ZINDEX + 1};\n`;\n\ninterface ShellHeaderProps {\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n\tchildren: React.ReactNode | React.ReactNode[];\n}\n\nconst ShellHeader = ({\n\tmobileNavIsOpen,\n\tonMobileMenuClick,\n\tchildren\n}: ShellHeaderProps): JSX.Element => {\n\tconst { darkReaderStatus } = useDarkMode();\n\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<ShellHeaderContainer\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={HEADER_BAR_HEIGHT}\n\t\t\tminHeight={HEADER_BAR_HEIGHT}\n\t\t\tmaxHeight={HEADER_BAR_HEIGHT}\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{darkReaderStatus && <StyledLogo />}\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</Container>\n\t\t\t</Catcher>\n\t\t</ShellHeaderContainer>\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';\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, { useEffect, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useHistory, useLocation } 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 {\n\tBOARD_CONTAINER_ZINDEX,\n\tIS_STANDALONE,\n\tPRIMARY_BAR_WIDTH,\n\tSEARCH_APP_ID\n} from '../constants';\nimport { minimizeBoards, reopenBoards, useBoardStore } from '../store/boards';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst PrimaryBarContainer = styled(Container)`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray3.regular};\n\tz-index: ${BOARD_CONTAINER_ZINDEX + 1};\n`;\n\nconst ToggleBoardIcon = (): JSX.Element | null => {\n\tconst { minimized, boards } = useBoardStore();\n\n\treturn isEmpty(boards) ? null : (\n\t\t<Container width={'3rem'} height={'3rem'}>\n\t\t\t<IconButton\n\t\t\t\ticonColor=\"primary\"\n\t\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\t\tonClick={minimized ? reopenBoards : minimizeBoards}\n\t\t\t\tsize=\"large\"\n\t\t\t/>\n\t\t</Container>\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 = ({ view, active, onClick }: PrimaryBarItemProps): JSX.Element => (\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 = ({ view }: PrimaryBarAccessoryItemProps): JSX.Element => (\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 OverlayRow = styled(Row)`\n\tmin-height: 0.0625rem;\n\toverflow-y: auto;\n\toverflow-y: overlay;\n`;\n\ninterface ShellPrimaryBarComponentProps {\n\tactiveRoute: AppRoute | undefined;\n}\nconst ShellPrimaryBarComponent = ({\n\tactiveRoute\n}: ShellPrimaryBarComponentProps): JSX.Element | null => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\tconst { push } = useHistory();\n\n\tconst { pathname, search } = useLocation();\n\tconst routesRef = useRef<Record<string, string>>({});\n\n\tuseEffect(() => {\n\t\troutesRef.current = primaryBarViews.reduce((accumulator, view) => {\n\t\t\tif (!accumulator[view.id]) {\n\t\t\t\taccumulator[view.id] = view.route;\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, routesRef.current);\n\t}, [primaryBarViews]);\n\n\tuseEffect(() => {\n\t\tif (activeRoute && activeRoute.id !== SEARCH_APP_ID) {\n\t\t\troutesRef.current = {\n\t\t\t\t...routesRef.current,\n\t\t\t\t[activeRoute.id]: `${trim(pathname, '/')}${search}`\n\t\t\t};\n\t\t}\n\t}, [activeRoute, pathname, search, primaryBarViews]);\n\tconst primaryBarAccessoryViews = useAppStore((s) => s.views.primaryBarAccessories);\n\n\tconst accessoryViews = 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\n\tconst primaryBarItems = useMemo(\n\t\t() =>\n\t\t\tmap(primaryBarViews, (view) =>\n\t\t\t\tview.visible ? (\n\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\tonClick={(): void => push(`/${routesRef.current[view.id]}`)}\n\t\t\t\t\t\tview={view}\n\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t/>\n\t\t\t\t) : null\n\t\t\t),\n\t\t[activeRoute?.id, push, primaryBarViews]\n\t);\n\n\tconst accessoryItems = useMemo(\n\t\t() => accessoryViews.map((view) => <PrimaryBarAccessoryElement view={view} key={view.id} />),\n\t\t[accessoryViews]\n\t);\n\n\tif (IS_STANDALONE && activeRoute?.standalone?.hidePrimaryBar) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PrimaryBarContainer\n\t\t\twidth={PRIMARY_BAR_WIDTH}\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<OverlayRow\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>\n\t\t\t\t{primaryBarItems}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</OverlayRow>\n\t\t\t<OverlayRow mainAlignment=\"flex-end\" orientation=\"vertical\" wrap=\"nowrap\">\n\t\t\t\t{accessoryItems}\n\t\t\t</OverlayRow>\n\t\t</PrimaryBarContainer>\n\t);\n};\n\nconst MemoShellPrimaryBarComponent = React.memo(ShellPrimaryBarComponent);\n\nconst ShellPrimaryBar = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\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/store';\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 { Row } from '@zextras/carbonio-design-system';\nimport { PreviewManager } from '@zextras/carbonio-ui-preview';\nimport React, { useContext, useEffect, useState } from 'react';\nimport styled from 'styled-components';\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 } from '../utility-bar/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 '../dark-mode/use-dark-reader-result-value';\nimport { ShellUtilityPanel } from '../utility-bar/panel';\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?: boolean): 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\ninterface ShellComponentProps {\n\tallowUnauthenticated?: boolean;\n\thideShellHeader?: boolean;\n}\n\nconst ShellComponent = ({\n\tallowUnauthenticated,\n\thideShellHeader\n}: ShellComponentProps): JSX.Element => {\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<BoardContainer />\n\t\t</Background>\n\t);\n};\n\nconst MemoShell = React.memo(ShellComponent);\n\nconst ShellView = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\n\tconst allowUnauthenticated = activeRoute?.standalone?.allowUnauthenticated;\n\tconst hideShellHeader = activeRoute?.standalone?.hideShellHeader;\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 type { AccountState } from '../../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 | undefined =>\n\tuseAppStore.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 type {\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';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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\tif (routeData.app) {\n\t\t\t\t\t\tstate.apps[routeData.app].display = routeData.label;\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 type { BoardState, Board } from '../../../types';\nimport { getApp } from '../app';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\nexport const useBoardStore = create<BoardState>()(() => ({\n\torderedBoards: [],\n\tboards: {},\n\texpanded: false,\n\tminimized: false\n}));\n\nexport const addBoard =\n\t(app: string) =>\n\t<T = unknown>(\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((state: BoardState) => {\n\t\t\t\tstate.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\tstate.current = id;\n\t\t\t\tstate.minimized = false;\n\t\t\t\tstate.expanded = expanded ?? state.expanded;\n\t\t\t\tstate.orderedBoards.unshift(id);\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((state: BoardState) => {\n\t\t\tstate.boards[id]?.onClose?.(state.boards[id]);\n\t\t\tdelete state.boards[id];\n\t\t\tconst index = state.orderedBoards.findIndex((boardId) => boardId === id);\n\t\t\tif (state.current === id) {\n\t\t\t\tstate.current = state.orderedBoards[index + 1] || state.orderedBoards[index - 1];\n\t\t\t}\n\t\t\tif (index !== -1) {\n\t\t\t\tstate.orderedBoards.splice(index, 1);\n\t\t\t}\n\t\t})\n\t);\n};\nexport const closeAllBoards = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tforEach(state.boards, (b) => {\n\t\t\t\tb?.onClose?.(b);\n\t\t\t\tdelete state.boards[b.id];\n\t\t\t});\n\t\t\tstate.orderedBoards = [];\n\t\t})\n\t);\n};\nexport const onGoToPanel = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tconst id = state.current;\n\t\t\tif (id) {\n\t\t\t\tstate.boards[id]?.onGoToPanel?.(state.boards[id]);\n\t\t\t\tdelete state.boards[id];\n\t\t\t\tconst index = state.orderedBoards.findIndex((boardId) => boardId === id);\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\tstate.orderedBoards.splice(index, 1);\n\t\t\t\t}\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 = unknown>(id: string, board: Partial<Board<T>>): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tif (state.boards[id])\n\t\t\t\tstate.boards[id] = {\n\t\t\t\t\t...state.boards[id],\n\t\t\t\t\t...board\n\t\t\t\t};\n\t\t})\n\t);\n};\nexport const updateBoardContext = <T = unknown>(id: string, context: T): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tif (state.boards[id]) {\n\t\t\t\tstate.boards[id].context = context;\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\nimport { create } from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport type { ContextBridgeState } from '../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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\tAccordionFolder,\n\tFolder,\n\tFolders,\n\tFolderView,\n\tSearches,\n\tSearchFolder\n} from '../../../types';\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\treturn useMemo(\n\t\t() =>\n\t\t\troots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view), sortFolders) : [],\n\t\t[roots, 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 type { FolderState } from '../../../types';\nimport { folderWorker } from '../../workers';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 FOLDERS.LAST_SYSTEM_FOLDER_POSITION;\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, InitOptions } from 'i18next';\nimport Backend from 'i18next-http-backend';\nimport produce from 'immer';\nimport { dropRight, forEach, reduce } from 'lodash';\nimport { create } from 'zustand';\nimport { initReactI18next } from 'react-i18next';\nimport type { 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\nconst defaultI18nInitOptions: InitOptions = {\n\treturnEmptyString: true,\n\treturnNull: false,\n\tcompatibilityJSON: 'v3',\n\tlng: defaultLng,\n\tfallbackLng: 'en',\n\tdebug: false,\n\tinterpolation: {\n\t\tescapeValue: false // not needed for react as it escapes by default\n\t},\n\tmissingKeyHandler: (_, __, key) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t},\n\tbackend: {\n\t\tloadPath: `${BASE_PATH}/i18n/{{lng}}.json`\n\t}\n};\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<CarbonioModule, Record<string, i18n>>(\n\t\t\t\t\t\tappsWithShell,\n\t\t\t\t\t\t(acc, app): Record<string, i18n> => {\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\t...defaultI18nInitOptions,\n\t\t\t\t\t\t\t\t\tlng: locale,\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{}\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// pass the i18n instance to react-i18next.\n\t.use(initReactI18next)\n\t// init i18next\n\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t.init(defaultI18nInitOptions);\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';\nimport type { EditorOptions, TinyMCE, Ui } from 'tinymce/tinymce';\n// TinyMCE so the global var exists\nimport tinymce from 'tinymce/tinymce';\nimport 'tinymce/models/dom';\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/preview';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/wordcount';\n\nimport { Editor, IAllProps as EditorProps } from '@tinymce/tinymce-react';\nimport { useUserSettings } from '../account';\nimport { getT, useI18nStore } from '../i18n';\n\ntype ComposerProps = EditorProps & {\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?: EditorProps['initialValue'];\n\t/** The content of the editor (controlled mode) */\n\tvalue?: EditorProps['value'];\n\t/**\n\t * Callback called when user choose some file from the os.\n\t * If defined, a menu item to add inline images is added to the composer.\n\t */\n\tonFileSelect?: (arg: { editor: TinyMCE; files: HTMLInputElement['files'] | undefined }) => 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\tinitialValue,\n\t...rest\n}) => {\n\tconst _onEditorChange = useCallback<NonNullable<EditorProps['onEditorChange']>>(\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<HTMLInputElement>(null);\n\tconst onFileClick = useCallback(() => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current.click();\n\t\t}\n\t}, []);\n\tconst t = getT();\n\tconst { locale } = useI18nStore.getState();\n\tconst inlineLabel = useMemo(() => t('label.add_inline_image', 'Add inline image'), [t]);\n\n\tconst setupCallback = useCallback<NonNullable<EditorOptions['setup']>>(\n\t\t(editor) => {\n\t\t\tif (onFileSelect)\n\t\t\t\teditor.ui.registry.addMenuButton('imageSelector', {\n\t\t\t\t\ticon: 'gallery',\n\t\t\t\t\ttooltip: t('label.select_image', 'Select image'),\n\t\t\t\t\tfetch: (callback) => {\n\t\t\t\t\t\tconst items: Ui.Menu.MenuItemSpec[] = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: inlineLabel,\n\t\t\t\t\t\t\t\tonAction: (): void => {\n\t\t\t\t\t\t\t\t\tonFileClick();\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\tcallback(items);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\t[inlineLabel, onFileClick, onFileSelect, t]\n\t);\n\n\tconst editorInitConfig = useMemo<EditorProps['init']>(\n\t\t() => ({\n\t\t\tcontent_css: `${BASE_PATH}/tinymce/skins/content/default/content.css`,\n\t\t\tlanguage_url: `${BASE_PATH}tinymce/langs/${locale}.js`,\n\t\t\tlanguage: locale,\n\t\t\tsetup: setupCallback,\n\t\t\tmin_height: 350,\n\t\t\tauto_focus: true,\n\t\t\tmenubar: false,\n\t\t\tstatusbar: false,\n\t\t\tbranding: false,\n\t\t\tresize: true,\n\t\t\tinline,\n\t\t\tfont_size_formats:\n\t\t\t\t'8pt 9pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt',\n\t\t\tobject_resizing: 'img',\n\t\t\tstyle_formats: [\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Headers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'h1', block: 'h1' },\n\t\t\t\t\t\t{ title: 'h2', block: 'h2' },\n\t\t\t\t\t\t{ title: 'h3', block: 'h3' },\n\t\t\t\t\t\t{ title: 'h4', block: 'h4' },\n\t\t\t\t\t\t{ title: 'h5', block: 'h5' },\n\t\t\t\t\t\t{ title: 'h6', block: 'h6' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Blocks',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'p', block: 'p' },\n\t\t\t\t\t\t{ title: 'div', block: 'div' },\n\t\t\t\t\t\t{ title: 'pre', block: 'pre' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Containers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'section', block: 'section', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'article', block: 'article', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'blockquote', block: 'blockquote', wrapper: true },\n\t\t\t\t\t\t{ title: 'hgroup', block: 'hgroup', wrapper: true },\n\t\t\t\t\t\t{ title: 'aside', block: 'aside', wrapper: true },\n\t\t\t\t\t\t{ title: 'figure', block: 'figure', wrapper: true }\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\tplugins: [\n\t\t\t\t'advlist',\n\t\t\t\t'autolink',\n\t\t\t\t'lists',\n\t\t\t\t'link',\n\t\t\t\t'image',\n\t\t\t\t'charmap',\n\t\t\t\t'preview',\n\t\t\t\t'anchor',\n\t\t\t\t'searchreplace',\n\t\t\t\t'code',\n\t\t\t\t'fullscreen',\n\t\t\t\t'insertdatetime',\n\t\t\t\t'media',\n\t\t\t\t'table',\n\t\t\t\t'code',\n\t\t\t\t'help',\n\t\t\t\t'quickbars',\n\t\t\t\t'directionality',\n\t\t\t\t'autoresize',\n\t\t\t\t'visualblocks'\n\t\t\t],\n\t\t\ttoolbar: inline\n\t\t\t\t? false\n\t\t\t\t: [\n\t\t\t\t\t\t'fontfamily fontsize styles visualblocks',\n\t\t\t\t\t\t'bold italic underline strikethrough',\n\t\t\t\t\t\t'removeformat code',\n\t\t\t\t\t\t'alignleft aligncenter alignright alignjustify',\n\t\t\t\t\t\t'forecolor backcolor',\n\t\t\t\t\t\t'bullist numlist outdent indent',\n\t\t\t\t\t\t'ltr rtl',\n\t\t\t\t\t\t'insertfile image',\n\t\t\t\t\t\t'imageSelector'\n\t\t\t\t ].join(' | '),\n\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t: 'quicklink',\n\t\t\tcontextmenu: inline ? '' : '',\n\t\t\ttoolbar_mode: 'wrap',\n\t\t\tcontent_style: `body { color: ${defaultStyle?.color}; font-size: ${defaultStyle?.fontSize}; font-family: ${defaultStyle?.font}; }`,\n\t\t\tvisualblocks_default_state: false,\n\t\t\tend_container_on_empty_block: true,\n\t\t\trelative_urls: false,\n\t\t\tremove_script_host: false,\n\t\t\tnewline_behavior: 'invert'\n\t\t}),\n\t\t[defaultStyle?.color, defaultStyle?.font, defaultStyle?.fontSize, inline, locale, setupCallback]\n\t);\n\n\tconst fileInputOnChange = useCallback((): void => {\n\t\tonFileSelect?.({ editor: tinymce, files: inputRef?.current?.files });\n\t}, [onFileSelect]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<FileInput\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={inputRef}\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tonChange={fileInputOnChange}\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={editorInitConfig}\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/* 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 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/* 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 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, includes, omit } from 'lodash';\nimport { ComponentType } from 'react';\nimport type { ActionFactory, AnyFunction, IntegrationsState } from '../../../types';\nimport Composer from './composer';\nimport { SHELL_APP_ID } from '../../constants';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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\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\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(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(state.actions, (actionTypeMap, type) => {\n\t\t\t\t\tforEach(actionTypeMap, (actionFactory, actionFactoryId) => {\n\t\t\t\t\t\tif (includes(ids, actionFactoryId)) {\n\t\t\t\t\t\t\tdelete state.actions[type][actionFactoryId];\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\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tcomponents: omit(s.components, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tfunctions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useLoginConfigStore } from './store';\n\nexport function getFavicon(): string {\n\treturn useLoginConfigStore.getState().carbonioWebUiFavicon;\n}\n\nexport function getClientTitle(): string {\n\treturn useLoginConfigStore.getState().carbonioWebUiTitle;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useMemo } from 'react';\nimport { useLoginConfigStore } from './store';\nimport { useDarkMode } from '../../dark-mode/use-dark-mode';\nimport DefaultLogo from '../../../assets/carbonio.svg';\n\nexport function useLogo(): string | React.ComponentType {\n\tconst { carbonioWebUiAppLogo, carbonioWebUiDarkAppLogo } = useLoginConfigStore();\n\n\tconst { darkModeEnabled } = useDarkMode();\n\n\treturn useMemo(() => {\n\t\tif (darkModeEnabled) {\n\t\t\treturn carbonioWebUiDarkAppLogo || carbonioWebUiAppLogo || DefaultLogo;\n\t\t}\n\t\treturn carbonioWebUiAppLogo || carbonioWebUiDarkAppLogo || DefaultLogo;\n\t}, [carbonioWebUiDarkAppLogo, carbonioWebUiAppLogo, darkModeEnabled]);\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 type { LoginConfigStore } from '../../../types/loginConfig';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\nexport const useLoginConfigStore = create<LoginConfigStore>()(() => ({\n\tloaded: false,\n\t// setup defaults for fields which does not depend on dark mode\n\tcarbonioWebUiTitle: 'Carbonio Client',\n\t// default to png because this icon is used also in notification, and svg are not supported there\n\tcarbonioWebUiFavicon: `${BASE_PATH}favicon.png`\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 type { NetworkState } from '../../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 { AccountSettings, SoapContext, SoapResponse } from '../../../types';\nimport { folderWorker, tagWorker } from '../../workers';\nimport { useFolderStore } from '../folder';\nimport { useTagStore } from '../tags';\nimport { useNetworkStore } from './store';\nimport { useAccountStore } from '../account';\n\n/**\n * Polling interval to use if the long polling delay\n * is not allowed for the user\n */\nconst POLLING_NOWAIT_INTERVAL = 10_000;\n\n/**\n * Polling interval to use if a previous request failed\n * with a 500 error\n */\nconst POLLING_RETRY_INTERVAL = 60_000;\n\nexport const parsePollingInterval = (settings: AccountSettings): number => {\n\tconst pollingPref = settings.prefs?.zimbraPrefMailPollingInterval ?? '';\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\n/**\n * Return the polling interval for the next NoOp request.\n * The interval length depends on the user settings, but it can be\n * overridden by the server response/errors\n * @param res\n */\nexport const getPollingInterval = <R>(res: SoapResponse<R>): number => {\n\tconst { pollingInterval } = useNetworkStore.getState();\n\tconst { settings } = useAccountStore.getState();\n\tconst waitDisallowed = (res?.Body as { waitDisallowed?: number })?.waitDisallowed;\n\tconst fault = res?.Body?.Fault;\n\tif (fault) {\n\t\treturn POLLING_RETRY_INTERVAL;\n\t}\n\tif (waitDisallowed) {\n\t\treturn POLLING_NOWAIT_INTERVAL;\n\t}\n\tif (!fault) {\n\t\treturn parsePollingInterval(settings);\n\t}\n\treturn pollingInterval;\n};\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 type { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 React, { useEffect, useState, FC, useMemo } from 'react';\n\nimport { Modal, Button, ModalProps } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { filter } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { Prompt, useHistory } from 'react-router-dom';\n\nexport interface RouteLeavingGuardProps {\n\tchildren: ModalProps['children'];\n\twhen?: boolean;\n\tonSave: () => Promise<PromiseSettledResult<Awaited<unknown>>[]>;\n\tdataHasError?: boolean;\n}\n\nexport const RouteLeavingGuard = ({\n\tchildren,\n\twhen,\n\tonSave,\n\tdataHasError = false\n}: RouteLeavingGuardProps): JSX.Element => {\n\tconst history = useHistory();\n\tconst lastLocationInitial = useMemo(() => history.location, [history]);\n\tconst [modalVisible, setModalVisible] = useState(false);\n\tconst [lastLocation, setLastLocation] = useState<Location>(lastLocationInitial);\n\tconst [confirmedNavigation, setConfirmedNavigation] = useState(false);\n\tconst [t] = useTranslation();\n\tconst cancel = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(false);\n\t};\n\n\tconst handleBlockedNavigation = (nextLocation: Location): boolean => {\n\t\tif (\n\t\t\t!confirmedNavigation &&\n\t\t\t`${nextLocation.pathname}${nextLocation.search || ''}` !==\n\t\t\t\t`${history.location.pathname}${history.location.search}`\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\n\tconst onConfirm = (): void => {\n\t\tonSave()\n\t\t\t.then((results) => {\n\t\t\t\tconst rejected = filter(\n\t\t\t\t\tresults,\n\t\t\t\t\t(result): result is PromiseRejectedResult => result.status === 'rejected'\n\t\t\t\t);\n\t\t\t\tif (rejected.length > 0) {\n\t\t\t\t\tconsole.error(rejected);\n\t\t\t\t\tcancel();\n\t\t\t\t} else {\n\t\t\t\t\tsetModalVisible(false);\n\t\t\t\t\tsetConfirmedNavigation(true);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((reason) => {\n\t\t\t\tconsole.error(reason);\n\t\t\t\tcancel();\n\t\t\t});\n\t};\n\n\tconst onSecondaryAction = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(true);\n\t};\n\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);\n\t\t}\n\t}, [confirmedNavigation, history, lastLocation]);\n\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\tshowCloseIcon\n\t\t\t\tcloseIconTooltip={t('label.close', 'Close')}\n\t\t\t\topen={modalVisible}\n\t\t\t\ttitle={\n\t\t\t\t\tdataHasError\n\t\t\t\t\t\t? t('label.cannot_save_changes', 'Some changes cannot be saved')\n\t\t\t\t\t\t: t('label.unsaved_changes', 'You have unsaved changes')\n\t\t\t\t}\n\t\t\t\tonClose={cancel}\n\t\t\t\tonConfirm={dataHasError ? onSecondaryAction : onConfirm}\n\t\t\t\tconfirmLabel={\n\t\t\t\t\tdataHasError\n\t\t\t\t\t\t? t('label.leave_anyway', 'Leave anyway')\n\t\t\t\t\t\t: t('label.save_and_leave', 'Save and leave')\n\t\t\t\t}\n\t\t\t\tonSecondaryAction={dataHasError ? cancel : onSecondaryAction}\n\t\t\t\tsecondaryActionLabel={\n\t\t\t\t\tdataHasError ? t('label.cancel', 'Cancel') : t('label.leave_anyway', 'Leave anyway')\n\t\t\t\t}\n\t\t\t\toptionalFooter={\n\t\t\t\t\t!dataHasError ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\t\tlabel={t('label.cancel', 'Cancel')}\n\t\t\t\t\t\t\tonClick={cancel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Modal>\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 } 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 type { UtilityView } from '../../types';\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';\nimport { SHELL_APP_ID } from '../constants';\nimport { fetchNoOp } from '../network/fetch';\n\nconst UtilityBarItem: FC<{ view: UtilityView }> = ({ view }) => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst onClick = useCallback((): void => {\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\tsetMode(current !== view.id ? 'open' : mode !== 'open' ? 'open' : 'closed');\n\t\tsetCurrent(view.id);\n\t}, [current, mode, setCurrent, setMode, view.id]);\n\tif (typeof view.button === 'string') {\n\t\treturn (\n\t\t\t<Tooltip label={view.label} placement=\"bottom-end\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.button}\n\t\t\t\t\ticonColor={current === view.id ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <view.button mode={mode} setMode={setMode} />;\n};\n\nexport const ShellUtilityBar = (): JSX.Element => {\n\tconst views = useUtilityViews();\n\tconst t = getT();\n\tconst account = useUserAccount();\n\tconst accountItems = useMemo(\n\t\t(): DropdownItem[] => [\n\t\t\t{\n\t\t\t\tid: 'account',\n\t\t\t\tlabel: account?.displayName ?? 'Account',\n\t\t\t\tdisabled: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'email',\n\t\t\t\tlabel: account?.name ?? '',\n\t\t\t\tdisabled: true\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'divider',\n\t\t\t\tid: 'divider',\n\t\t\t\tlabel: 'divider'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'feedback',\n\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\tonClick: (): void => {\n\t\t\t\t\taddBoard(SHELL_APP_ID)({\n\t\t\t\t\t\turl: 'feedback',\n\t\t\t\t\t\ttitle: t('label.feedback', 'Feedback'),\n\t\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'update',\n\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\tonClick: fetchNoOp,\n\t\t\t\ticon: 'Refresh'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'docs',\n\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\tonClick: noop,\n\t\t\t\tdisabled: true,\n\t\t\t\ticon: 'InfoOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'logout',\n\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\tonClick: logout,\n\t\t\t\ticon: 'LogOut'\n\t\t\t}\n\t\t],\n\t\t[account, t]\n\t);\n\n\tconst viewItems = useMemo(\n\t\t() => map(views, (view) => <UtilityBarItem view={view} key={view.id} />),\n\t\t[views]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"horizontal\" width=\"fit\">\n\t\t\t{viewItems}\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 */\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 type { UtilityBarStore } from '../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { CSSProperties } from 'react';\nimport { reduce } from 'lodash';\n\nexport type ElementPosition = {\n\ttop: number;\n\tleft: number;\n};\n\nexport type ElementSize = {\n\twidth: number;\n\theight: number;\n};\n\nexport type SizeAndPosition = ElementPosition & ElementSize;\n\nexport const testFolderIsChecked = ({ string }: { string: string | undefined }): boolean =>\n\t/#/.test(string || '');\n\nexport function setGlobalCursor(cursor: CSSProperties['cursor']): void {\n\t// remove previously set cursor\n\tconst cursors: string[] = [];\n\tdocument.body.classList.forEach((item) => {\n\t\tif (item.startsWith('global-cursor-')) {\n\t\t\tcursors.push(item);\n\t\t}\n\t});\n\tdocument.body.classList.remove(...cursors);\n\tif (cursor) {\n\t\tdocument.body.classList.add(`global-cursor-${cursor}`);\n\t}\n}\n\nexport function setElementSizeAndPosition(\n\telement: HTMLElement,\n\tkey: keyof SizeAndPosition,\n\tvalue: number | undefined\n): void {\n\t// eslint-disable-next-line no-param-reassign\n\telement.style[key] = value !== undefined ? `${value}px` : '';\n}\n\nexport function stopPropagation(event: Event | React.SyntheticEvent): void {\n\tevent.stopPropagation();\n}\n\nexport function createExportForTestOnly<TObj extends Record<string, unknown>>(\n\tobjToExport: TObj\n): { [K in keyof TObj]: TObj[K] | undefined } {\n\treturn process.env.NODE_ENV === 'test'\n\t\t? objToExport\n\t\t: reduce(\n\t\t\t\tobjToExport,\n\t\t\t\t(accumulator, value, key) => {\n\t\t\t\t\taccumulator[key as keyof TObj] = undefined;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{} as Record<keyof TObj, undefined>\n\t\t );\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const folderWorker = new Worker(new URL('./folder', import.meta.url));\n","var map = {\n\t\"./de/index.js\": [\n\t\t\"./node_modules/date-fns/locale/de/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_de_index_js\"\n\t],\n\t\"./en-US/index.js\": [\n\t\t\"./node_modules/date-fns/locale/en-US/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_en-US_index_js\"\n\t],\n\t\"./es/index.js\": [\n\t\t\"./node_modules/date-fns/locale/es/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_es_index_js\"\n\t],\n\t\"./fr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/fr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_fr_index_js\"\n\t],\n\t\"./hi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/hi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_hi_index_js\"\n\t],\n\t\"./it/index.js\": [\n\t\t\"./node_modules/date-fns/locale/it/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_it_index_js\"\n\t],\n\t\"./ja/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ja/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ja_index_js\"\n\t],\n\t\"./nl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/nl/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_nl_index_js\"\n\t],\n\t\"./pl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pl/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_pl_index_js\"\n\t],\n\t\"./pt-BR/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt-BR/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt-BR_index_js\"\n\t],\n\t\"./pt/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt_index_js\"\n\t],\n\t\"./ro/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ro/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ro_index_js\"\n\t],\n\t\"./ru/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ru/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_ru_index_js\"\n\t],\n\t\"./th/index.js\": [\n\t\t\"./node_modules/date-fns/locale/th/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_th_index_js\"\n\t],\n\t\"./tr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/tr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_tr_index_js\"\n\t],\n\t\"./vi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/vi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_vi_index_js\"\n\t],\n\t\"./zh-CN/index.js\": [\n\t\t\"./node_modules/date-fns/locale/zh-CN/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_zh-CN_index_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./node_modules/date-fns/locale lazy recursive \\\\.[/\\\\\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\\\\\]index\\\\.js$\";\nmodule.exports = webpackAsyncContext;","// extracted by mini-css-extract-plugin\nexport {};","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","_ref","_ref2","_instances$pkg","pkg","children","_useI18nStore$getStat","getState","instances","defaultI18n","i18n","createElement","useCallback","Catcher","onError","error","console","reduce","getApp","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getUserAccount","getUserAccounts","getUserSetting","getUserSettings","useUserAccount","useUserAccounts","useUserSetting","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getSoapFetch","getXmlSoapFetch","getFolder","getFolders","useFolder","useFolders","useRoot","getRoot","useRoots","getRoots","useSearchFolder","useSearchFolders","getSearchFolder","getSearchFolders","useFoldersByView","useFoldersAccordionByView","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","useLocalStorage","useIsMobile","getAppFunctions","name","t","soapFetch","xmlSoapFetch","getBridgedFunctions","_useContextBridge$get","packageDependentFunctions","functions","_objectSpread","acc","f","_defineProperty","Suspense","useMemo","map","useAppStore","Mounter","appId","key","id","fallback","AppLoaderMounter","entryPoints","s","entries","Comp","hidden","style","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","registerFunctions","removeFunctions","registerActions","removeActions","registerComponents","removeComponents","editSettings","produce","SEARCH_APP_ID","SETTINGS_APP_ID","Feedback","SearchAppView","AccountWrapper","GeneralSettings","settingsSubSections","SettingsAppView","SettingsSidebar","settingsRoute","app","settingsPrimaryBar","component","position","label","badge","show","settingsSecondaryBar","settingsAppView","settingsGeneralView","icon","subSections","settingsAccountsView","searchRoute","searchPrimaryBar","searchAppView","feedbackBoardView","registerDefaultViews","setState","_s$routes","routes","views","primaryBar","secondaryBar","appView","settings","board","forOwn","memo","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","concat","script","document","setAttribute","version","js_entrypoint","body","appendChild","err","unloadApps","then","parentNode","removeChild","filter","registerLocale","setDefaultLocale","useReporter","useAccountStore","getT","injectSharedLibraries","localeList","getDateFnsLocale","locale","loadApps","apps","_settings$prefs","_settings$attrs","appsToLoad","attrKey","log","_useAccountStore$getS","prefs","zimbraPrefLocale","attrs","zimbraLocale","actions","addI18n","localeObj","find","item","localeDateFnsKey","dateFnsLocale","value","localeDateFns","setClients","allSettled","unloadAllApps","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","Preview","react","lodash","moment","useEffect","BrowserRouter","Route","Switch","useHistory","useParams","ModalManager","SnackbarManager","useModal","useSnackbar","useTranslation","ShellI18nextProvider","ThemeProvider","BASENAME","IS_STANDALONE","Loader","NotificationPermissionChecker","ShellView","useBridge","ContextBridge","history","createSnackbar","createModal","getHistory","StandaloneListener","_useParams","standalone","DefaultViewsRegister","_useTranslation","_useTranslation2","_slicedToArray","Bootstrapper","basename","path","Modal","Padding","Text","useState","getInfo","loginConfig","goToLogin","getComponents","isPromiseRejectedResult","promiseSettledResult","status","isPromiseFulfilledResult","LoaderFailureModal","open","closeHandler","onConfirm","location","reload","showCloseIcon","onSecondaryAction","title","confirmLabel","secondaryActionLabel","onClose","all","_useState","_useState2","setOpen","promiseSettledResultArray","_promiseSettledResult","getComponentsPromiseSettledResult","getInfoPromiseSettledResult","promiseRejectedResult","reason","message","Object","values","createContext","useLayoutEffect","generateColorSet","UIThemeProvider","auto","disable","enable","setFetchMethod","createGlobalStyle","css","darkReaderDynamicThemeFixes","LOCAL_STORAGE_SETTINGS_KEY","getAutoScalingFontSize","useGetPrimaryColor","fetch","ThemeCallbacksContext","addExtension","Error","setDarkReaderState","paletteExtension","customTheme","arguments","length","undefined","theme","palette","shared","regular","hover","active","focus","disabled","linked","iconExtension","icons","Shared","ArrowCircleRight","Linked","ArrowCircleLeft","globalCursorsExtension","globalCursors","_toConsumableArray","GlobalStyle","baseFontSize","cursor","_ref3","_useLocalStorage","_useLocalStorage2","localStorageSettings","extensions","setExtensions","primaryColor","customThemePalette","primary","extension","_useState3","_useState4","darkReaderState","sepia","aggregatedExtensions","themeAccumulator","themeExtensionFn","newExtension","ext","savedScalingValueSetting","themeCallbacksContextValue","Provider","useTheme","size","LOCAL_STORAGE_LAST_PRIMARY_KEY","useLoginConfigStore","useDarkMode","localStorageLastPrimary","setLocalStorageLastPrimary","_useLoginConfigStore","carbonioWebUiPrimaryColor","carbonioWebUiDarkPrimaryColor","_useDarkMode","darkModeEnabled","darkReaderStatus","dark","light","prevState","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","LAST_SYSTEM_FOLDER_POSITION","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","ignoreInlineStyle","disableStyleSheetsProxy","base","standaloneBase","pathname","startsWith","EMAIL_VALIDATION_REGEX","ROOT_NAME","DARK_READER_VALUES","FOLDER_VIEW","search_folder","tag","conversation","contact","appointment","virtual_conversation","remote_folder","wiki","task","chat","LOCAL_STORAGE_SEARCH_KEY","LOCAL_STORAGE_BOARD_SIZE","SCALING_OPTIONS","BASE_FONT_SIZE","SCALING_LIMIT","WIDTH","HEIGHT","DPR","LOGIN_V3_CONFIG_PATH","DARK_READER_PROP_KEY","SENTRY_SHELL_DSN","SENTRY_FEEDBACK_DNS","ResultLabelType","HEADER_BAR_HEIGHT","PRIMARY_BAR_WIDTH","BOARD_HEADER_HEIGHT","BOARD_TAB_WIDTH","BOARD_CONTAINER_ZINDEX","BOARD_MIN_VISIBILITY","top","left","useDarkReaderResultValue","getPrefersColorSchemeDarkMedia","darkReaderResultValue","setDarkModeEnabled","matches","setCallback","event","addEventListener","removeEventListener","isZappDarkreaderModeZimletProp","prop","zimlet","isDarkReaderPropValues","maybeDarkReaderPropValue","includes","carbonioWebUiDarkMode","settingReceived","props","_find","result","_content","matchMedia","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","_useContextBridge$get2","call","r","module","parseParams","params","_getCurrentRoute","routeToApply","search","hash","cb","push","goBack","_useContextBridge$get3","_useContextBridge$get4","_useContextBridge$get5","_useContextBridge$get6","_useContextBridge$get7","_useContextBridge$get8","findIndex","isArray","mods","_mods$identity","_mods$identity2","_mods$identity3","_prop$app","pref","p","join","identity","modifyList","deleteList","createList","index","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","_mods$permissions","email","_mods$permissions3","_mods$permissions2","_mods$identity4","_s$account2","_mods$identity5","propIndex","account","displayName","_s$account","identities","itemMods","indexAccount","_attrs","_mods$identity6","_mods$identity6$delet","i","CreateIdentityResponse","_mods$identity7","_mods$identity7$delet","type","maxBy","userAgent","useNetworkStore","getPollingInterval","handleSync","fetchNoOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","_useNetworkStore$getS","sessionId","session","normalizeContext","context","notify","_notify$deleted","_notify$deleted$id","deleted","split","handleResponse","api","res","_res$Header","_res$Body","_useNetworkStore$getS2","noOpTimeout","usedQuota","clearTimeout","Body","Fault","_Body$Fault$Detail2","_Body$Fault$Detail2$E","_Body$Fault$Reason","code","_Body$Fault$Detail","_Body$Fault$Detail$Er","Detail","Code","authenticated","Reason","Header","_res$Header$context$r","_res$Header$context","_res$Header$context$r2","_res$Header$context$r3","_res$Header$context$r4","_res$Header$context2","_res$Header$context2$","_res$Header$context2$2","_res$Header$context2$3","_res$Header$context2$4","_res$Header$context2$5","_maxBy$seq","_maxBy","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","setTimeout","signal","_notify$","_notify$2","_useAccountStore$getS2","zimbraVersion","_useNetworkStore$getS3","method","headers","JSON","stringify","json","_useAccountStore$getS3","shellSoap","response","ok","statusText","components","addApps","normalizeAccount","parsePollingInterval","rights","_normalizeAccount","_window","_window$location","_window$location$assi","_window2","_window2$location","assign","origin","getClientTitle","getFavicon","loaded","favicon","getElementById","HTMLLinkElement","href","logout","logoff","action","op","color","rgb","UAParser","_UAParser","os","browser","debounce","noop","defaultAudio","NotificationManager","_this","_classCallCheck","vibrate","sound","PopupNotificationDefaultConfig","AudioNotificationDefaultConfig","showPopup","playSound","Map","has","set","Audio","play","DEBOUNCE_TIME","get","config","defConfig","getAudioFileFunction","n","Notification","onClick","NotificationDefaultConfig","forEach","conf","_createClass","getInstance","instance","warn","requestPermission","Fragment","Button","Container","Icon","Row","Select","useReducer","styled","useAppList","feedback","TextArea","textarea","withConfig","componentId","gray5","text","fonts","_ref4","sizes","font","_ref5","gray4","TextContainer","ButtonContainer","TAContainer","_ref6","_ref7","_ref8","SubHeadingText","_ref9","lineHeight","LabelContainer","_ref10","gray2","emptyEvent","level","release","extra","topic","user","reducer","_ref11","payload","getTopics","ModuleLabelFactory","_ref12","selected","orientation","width","crossAlignment","mainAlignment","borderRadius","background","padding","takeAvailableSpace","alignSelf","FeedbackLabelFactory","_ref13","showErr","_sentryEvent$extra4","_sentryEvent$extra5","_sentryEvent$extra7","allApps","sentryDsn","appItems","display","_useReducer","_useReducer2","sentryEvent","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","scrollHeight","checkTopicSelect","_sentryEvent$extra","_sentryEvent$message","confirmHandler","feedbackId","_account$displayName","disabledSend","_sentryEvent$message$","_sentryEvent$message2","_sentryEvent$extra2","_sentryEvent$extra3","LabelFactory","_extends","topics","defaultTopic","_find2","_sentryEvent$extra6","weight","bottom","maxWidth","vertical","items","defaultSelection","onChange","multiple","onKeyUp","placeholder","hint","_reporter$clients$app","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","defaultIntegrations","defaultStackParser","Hub","makeFetchTransport","_clients","transport","stackParser","dsn","maxValueLength","Dropdown","SelectorContainer","ModuleSelectorComponent","modules","_useSearchStore","updateModule","fullModule","_modules$find","m","dropdownItems","_modules$find2","openDropdown","closeDropdown","onOpen","minWidth","MemoModuleSelector","ModuleSelector","activeRoute","query","searchDisabled","Chip","Divider","Redirect","useQuery","updateQuery","useDisableSearch","setSearchDisabled","getIconAndColor","labelType","WARNING","ERROR","ResultsHeader","_ref$labelType","NORMAL","_useQuery","_useQuery2","_useDisableSearch","_useDisableSearch2","setDisabled","resetQuery","labelTypeElem","_getIconAndColor","_getIconAndColor2","chipItems","queryChip","minHeight","maxHeight","horizontal","wrap","_searchViews$","searchViews","view","exact","strict","from","to","ChipInput","IconButton","Tooltip","some","useRef","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","inputRef","storedSuggestions","setStoredSuggestions","inputTyped","setInputTyped","tooltip","isTyping","setIsTyping","_useState5","_useState6","options","setOptions","_useState7","_useState8","inputHasFocus","setInputHasFocus","_useState9","_useState10","searchInputValue","setSearchInputValue","showClear","_inputRef$current","_inputRef$current2","_inputRef$current2$va","clearSearch","_inputRef$current3","onSearch","currentQuery","ref","newInputValue","hasAvatar","newInputChip","currentQueryChip","searchInputChip","appSuggestions","v","reverse","updateOptions","textContent","queryChips","suggestion","slice","onQueryChange","newQuery","_newQuery","lastChipLabel","newSuggestion","onInputType","suggestions","containerRef","addFocus","removeFocus","runSearchOnKeyUp","disableOptions","clearButtonPlaceholder","searchButtonsAreDisabled","searchBtnTooltipLabel","onChipAdd","newChip","flexGrow","onAdd","confirmChipOnBlur","separators","overflowX","onInputTypeDebounce","onBlur","onFocus","requireUniqueChips","placement","customSize","iconSize","paddingSize","iconColor","backgroundColor","isFunction","AccountsSettings","tDefault","defaultValue","identityToIdentityProps","_identity$_attrs","_identity$_attrs2","_identity$_attrs3","_identity$_attrs4","_identity$_attrs5","_identity$_attrs6","_identity$_attrs7","_identity$_attrs8","_identity$_attrs9","_identity$_attrs10","_identity$_attrs11","toString","flgType","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","accountSettings","identitiesDefault","temp","pop","lowerFirst","isEmpty","uniq","AccountsList","PrimaryAccountSettings","SettingsSentMessages","Delegates","PersonaSettings","getAvailableEmailAddresses","_account$rights","targets","_account$rights2","addr","zimbraMailAlias","apply","String","_identities$selectedI","_identities$selectedI2","setCreateList","setDeleteList","setModifyList","resetLists","selectedIdentityId","setSelectedIdentityId","setIdentities","maxIdentities","zimbraIdentityMaxNumEntries","onCancel","updateModifyList","updatedIdentityKey","prevRecordPrefs","actualIdentity","newModifyList","modifyCreateList","newCreateList","addIdentity","identityAttrs","updateIdentities","removeIdentity","onSave","autoHideTimeout","hideButton","createIdentityRequests","zimbraPrefFromAddressType","deleteRequests","requestId","modifyIdentityRequests","promise","DeleteIdentityRequest","CreateIdentityRequest","ModifyIdentityRequest","newIdentity","filteredIdentities","splice","isDirty","availableEmailAddresses","_useState11","_useState12","delegates","setDelegates","ace","accumulator","idx","accountName","isExternalAccount","useContext","List","ModalManagerContext","max","_identities$selectedI3","changeView","ListItem","Number","createListRequestIdRef","addNewPersona","_identities$","_identities$2","_identities$3","_identities$4","newPersonaNextNumber","_item$identityName","parseFloat","newPersonaName","onConfirmDelete","newIdentities","onDelete","closeModal","confirmColor","ItemComponent","Radio","RadioGroup","activeDelegate","setActiveDelegate","activeValue","setActiveValue","setActiveDelegateCallback","justifyContent","newValue","Input","personaValue","setPersonaValue","personaLabel","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","Checkbox","blankItem","replyToEnabledValue","setReplyToEnabledValue","setReplyToAddress","dropdownOpen","setDropdownOpen","fromDisplayValue","setFromDisplayValue","setReplyToDisplay","fromAddressArray","address","setFromAddress","k","onClickReplyToEnabled","newState","fromDisplayLabel","onChangeFromDisplayValue","fromAddressLabel","onChangeFromAddress","newAddress","replyToEnabledLabel","replyToDisplayLabel","onChangePrefReplyToDisplay","replyToAddressLabel","onChangeReplyToAddress","replyToAddressArray","_identity$fromAddress","_identity$fromAddress2","isValidEmail","test","selection","showCheckbox","hasError","CustomIcon","appearanceSubSection","AppearanceSettings","subSection","gap","DarkThemeSettingSection","addMod","removeMod","_useContext","setSelection","setSelectNewValue","onSelectionChange","FormSubSection","accountSubSection","Logout","sectionTitle","Badge","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","HTMLElement","navigator","clipboard","writeText","innerText","filteredList","description","success","gray6","Heading","OutOfOfficeTimePeriodSection","outOfOfficeSubSection","dateToGenTime","upsertPrefOnUnsavedChanges","useReset","buildItemsPrefOutOfOfficeReplyEnabled","buildItemsExternalSenders","SEND_AUTO_REPLY","SHOW_EXTERNAL_INPUT","SEND_NOT_IN_ORG","SUPPRESS_EXTERNAL","getExternalSendersPrefsData","itemsExternalSenders","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefOutOfOfficeExternalReplyEnabled","zimbraPrefExternalSendersType","OutOfOfficeSettings","_settings$prefs$zimbr","_settings$prefs$zimbr2","resetRef","outOfOfficeSectionTitle","zimbraPrefOutOfOfficeReplyEnabled","prefOutOfOfficeReplyEnabled","setPrefOutOfOfficeReplyEnabled","zimbraPrefOutOfOfficeReply","prefOutOfOfficeReply","setPrefOutOfOfficeReply","prefOutOfOfficeExternalReplyEnabled","setPrefOutOfOfficeExternalReplyEnabled","zimbraPrefOutOfOfficeExternalReply","prefOutOfOfficeExternalReply","setPrefOutOfOfficeExternalReply","externalSendersSelectedItem","setExternalSendersSelectedItem","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriodEnabled","setSendAutoReplyTimePeriodEnabled","outOfOfficeTimePeriodResetRef","initPrefs","_settings$prefs$zimbr3","_settings$prefs$zimbr4","_outOfOfficeTimePerio","reset","updatePref","prefOutOfOfficeReplyEnabledSelectItems","prefOutOfOfficeReplyEnabledSelectedValue","prefOutOfOfficeReplyEnabledOnChange","externalSendersSelectItems","externalSendersHandler","externalSendersOnChange","newSelectItem","prefOutOfOfficeReplyOnChange","prefOutOfOfficeExternalReplyOnChange","toggleSendAutoReplyTimePeriod","nextState","Date","dropdownWidth","dropdownMaxWidth","prefOutOfOfficeFromDate","prefOutOfOfficeUntilDate","DateTimePicker","endOfDay","genTimeToDate","startOfDay","coerceGenTime","genTime","fromDate","setFromDate","untilDate","setUntilDate","allDayEnabled","setAllDayEnabled","editTimeIsDisabled","fromDatePref","untilDatePref","fromDateAllDay","untilDateAllDay","getTime","outOfOfficeFromDateOnChange","newFromDate","newUntilDate","outOfOfficeUntilDateOnChange","toggleAllDay","prevWasEnabled","nowIsEnabled","startOfFromDate","endOfUntilDate","dateFormat","includeTime","timeLabel","showTimeSelect","showTimeSelectOnly","Slider","ScalingSliderContainer","ExampleContainer","$fontSize","ExampleText","BASE_FONT_OPTION_INDEX","option","AUTOSCALING_FONT_SIZE","AUTOSCALING_FONT_OPTION_INDEX","ScalingSettingSection","_scalingSettings$sett","scalingSettings","addLocalStoreChange","cleanLocalStoreChange","_useMemo","labels","_useMemo2","scalingOptionValues","scalingOptionLabels","savedOptionIndex","optionIndex","autoScaling","setAutoScaling","scalingValue","setScalingValue","increaseScalingByStep","decreaseScalingByStep","toggleAutoScaling","onChangeScalingValue","newValueIndex","resetHandler","_scalingSettings$sett2","exampleText","exampleFontSize","Math","round","searchPrefsSubSection","SearchSettings","zimbraPrefIncludeSpamInSearch","searchInSpamFolder","setSearchInSpamFolder","zimbraPrefIncludeTrashInSearch","searchInTrashFolder","setSearchInTrashFolder","zimbraPrefIncludeSharedItemsInSearch","searchInSharedFolder","setSearchInSharedFolder","setMode","init","onClickSpam","onClickTrash","onClickShared","Quota","quotaSubSection","UserQuota","_settings$attrs2","mobileView","used","quota","userQuota","zimbraMailQuota","fillBackground","fill","Breadcrumbs","RouteLeavingGuard","_history$location","crumbs","_document$querySelect","querySelector","scrollIntoView","when","isBoolean","GEN_TIME_FORMAT","getGenTimeMoment","date","utc","format","local","toDate","setHours","localName","timeZoneList","screen","devicePixelRatio","baseFontIndex","addModifiedValueCallback","prefKey","prefValue","timezoneAndLanguageSubSection","LanguageAndTimeZoneSettings","setMods","userSettings","localStorageUnAppliedChanges","setLocalStorageUnAppliedChanges","setLocalStorageSettings","prevType","nextType","unAppliedPrevState","localStorageSettingsPrevState","modifyPropertiesRequest","mappedProperties","modifyPrefsRequest","zimbraPrefMailTrustedSenderList","Array","ModifyPropertiesRequest","ModifyPrefsRequest","keys","scalingSettingSectionRef","outOfOfficeSettingsSectionRef","searchSettingsSectionRef","_outOfOfficeSettingsS","_searchSettingsSectio","_scalingSettingSectio","useImperativeHandle","resetFn","LanguageAndTimeZone","locales","timezones","updatePrefs","defaultLocale","onLocaleChange","defaultTimeZone","zimbraPrefTimeZoneId","onTimeZoneChange","dropdownMaxHeight","selectedBackgroundColor","dismissLabel","settingsViews","Accordion","expanded","disableHover","stopPropagation","collapsedItems","_BoardsRouterContainer","FirstAppRedirect","mainRoute","_apps$","AppViewContainer","appViews","forwardRef","MiniBadge","_badge$color","BadgeWrap","_badge$count","showCount","fontSize","count","closeAllBoards","expandBoards","onGoToPanel","reduceBoards","useBoardStore","AppBoard","TabsList","ResizableContainer","setElementSizeAndPosition","useMove","BOARD_DEFAULT_POSITION","BoardContainerComp","div","minimized","OverflowContainer","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","ListItemContent","boardId","pointerEvents","calcPositionToRemainVisible","lastSavedPosition","containerSize","minVisibility","BoardContainer","_boards$current","_boards$current$conte","_useBoardStore","boards","orderedBoards","boardDropdownItems","_getApp","customComponent","boardRef","boardContainerRef","lastSavedBoardSizeAndPosition","setLastSavedBoardSizeAndPosition","currentBoardSizeAndPosition","setCurrentBoardSizeAndPosition","lastSavedBoardSizeAndPositionRef","_useMove","localStorageKey","_useMove2","isMoving","moveElementHandler","isDefaultSizeAndPosition","isBoardEmpty","resetSizeAndPosition","boardElement","updateBoardPosition","clientHeight","clientWidth","newSizeAndPosition","boardContainer","leading","trailing","cancel","clickHandler","clickFn","defaultPrevented","onMouseDown","elementToResize","onReturnToApp","b","AppBoardTab","CustomRow","firstTab","TabContainer","gray3","CloseContainer","TabIcon","CustomText","overflowing","VerticalDivider","onRemove","textRef","textOverflowing","setTextOverflowing","resizeObserverRef","ResizeObserver","requestAnimationFrame","offsetWidth","scrollWidth","observe","_resizeObserverRef$cu","disconnect","triggerRef","className","Router","createMemoryHistory","BoardProvider","initialEntries","url","boardViews","windowHistory","unlisten","listen","l","BORDERS","getCursorFromBorder","useResize","MainContainer","BorderWithResize","$cursor","$width","$height","$position","$translateTransform","x","y","ResizableBorder","border","keepSynchedWithStorage","borderRef","resizeHandler","positions","_ref7$disabled","rest","_objectWithoutProperties","_excluded","borders","Bubble","Collapser","MultiButton","groupBy","CreationButtonComponent","primaryAction","group","byApp","secondaryActions","_byApp","_activeRoute$app","_byApp$app$name","click","disabledPrimary","disabledSecondary","MemoCreationButton","CreationButton","locationFull","truncateLocation","_location$pathname","ShellContext","isMobile","createExportForTestOnly","isSameLocalStorageValue","valueA","valueB","useLocalStorageStore","storage","readValue","localStorageItem","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","DEFAULT_OPTIONS","initialValue","storedValue","shouldDispatchStorageEventRef","localStorageOptions","readValueForKey","setValueForKey","dispatchEvent","Event","exportForTest","setGlobalCursor","BOARD_CURSOR_TIMEOUT","calcNewPosition","limitContainer","mouseEvent","_limitClientRect$top","_limitClientRect$left","limitClientRect","getBoundingClientRect","clientTopLimit","moveTopDelta","clientY","mouseClientY","newClientTop","clientTop","newTop","clientLeftLimit","moveLeftDelta","clientX","mouseClientX","newClientLeft","clientLeft","newLeft","elementToMoveRef","setIsMoving","isMoveEnabledRef","initialSizeAndPositionRef","setLastSavedPosition","lastPositionRef","globalCursorSetterTimerRef","shouldUpdateLocalStorageRef","moveElement","elementToMove","positionToApply","preventClick","capture","onMouseMove","mouseMoveEvent","offsetParent","newPosition","enableMove","activeElement","classList","add","disableMove","remove","onMouseUp","moveHandler","mouseDownEvent","clientRect","offsetHeight","offsetLeft","offsetTop","direction","calcNewSizeAndPosition","heightDifference","widthDifference","elementToResizeRef","lastSavedSizeAndPosition","setLastSavedSizeAndPosition","lastSizeAndPositionRef","resizeElement","sizeAndPositionToApply","computedStyle","getComputedStyle","useLogo","Logo","LogoElement","alt","src","useScreenMode","ShellContextProvider","screenMode","Responsive","StyledLogo","ShellHeaderContainer","ShellHeader","mobileNavIsOpen","onMobileMenuClick","searchEnabled","mode","Collapse","SidebarComponent","secondary","ShellMobileNavComponent","menuTree","val","CustomComponent","zIndex","crossSize","overflowY","ShellMobileNavMemo","ShellMobileNav","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","PrimaryBarContainer","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","_view$onClick","OverlayRow","ShellPrimaryBarComponent","_activeRoute$standalo","primaryBarViews","_useHistory","_useLocation","routesRef","primaryBarAccessoryViews","primaryBarAccessories","accessoryViews","primaryBarItems","accessoryItems","hidePrimaryBar","MemoShellPrimaryBarComponent","useUtilityBarStore","SidebarContainer","sidebarIsOpen","ShellSecondaryBarComponent","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","accessories","role","MemoShellSecondaryBar","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","useLoginRedirection","allowUnauthenticated","auth","ShellComponent","hideShellHeader","mobileNavOpen","setMobileNavOpen","MemoShell","_activeRoute$standalo2","acct","_s$account$rights","_useUserRights","_find$target","_len","_key","_len2","_key2","_find$target2","normalizeSettings","_settings$props$prop","signatures","lastNotificationTime","now","useApps","a","priority","getAppList","getApps","appContexts","getShell","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","STANDALONE_RESPONSE","commit","utilityBar","routeData","_get","_get2","_get3","bar","_app$commit","_app$description","_app$js_entrypoint","_app$name","_app$priority","_app$version","_app$type","_app$icon","_app$display","FallbackView","normalizeBadgeInfo","_badge$show","_badge$showCount","_data$route","_data$id","_data$badge","_data$position","_data$visible","_data$label","_data$primaryBar","_data$appView","_data$standalone","_data$standalone2","_data$standalone3","_data$route2","_data$id2","_data$component","_data$label2","_data$icon","_data$position2","_data$subSections","_data$route3","_data$id3","_data$component2","_data$label3","_data$icon2","_data$position3","_data$id4","_data$component3","_data$button","_data$badge2","_data$position4","_data$label4","whitelistRoutes","blacklistRoutes","button","_data$label5","_data$position5","_data$id5","_data$component4","_data$position6","_data$id6","_data$component5","_data$route4","_data$id7","_data$component6","boardContext","boardHooksContext","callbacks","getBoardContext","getBoard","trimStart","uniqueId","_board$id","_board$icon","unshift","_state$boards$id","_state$boards$id$onCl","_b$onClose","_state$boards$id2","_state$boards$id2$onG","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","_s$folders","folders","_useFolderStore$getSt","_useFolderStore$getSt2","_s$roots","roots","_useFolderStore$getSt3","userId","_s$searches","searches","itemProps","mapFunction","_itemProps","folder","filterFunction","recursionKey","sortFunction","deep","folderWorker","onmessage","hasId","getOriginalId","_parts$","parts","parseInt","toLowerCase","isTrash","oname","childrenSorted","_instances$app","_instances$app$t","_instances$app2","_useI18nStore$getStat2","_instances$SHELL_APP_","_instances$SHELL_APP_2","_useI18nStore$getStat3","i18next","Backend","dropRight","initReactI18next","addShell","defaultLng","createInstance","lng","defaultI18nInitOptions","returnEmptyString","returnNull","compatibilityJSON","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","_","__","backend","loadPath","BASE_PATH","setLocale","i18nInst","changeLanguage","getters","getLocale","appsWithShell","newI18n","use","tinymce","Editor","FileInput","input","Composer","onEditorChange","onFileSelect","_ref$inline","inline","_onEditorChange","newContent","editor","getContent","_useUserSettings","defaultStyle","zimbraPrefHtmlEditorDefaultFontFamily","zimbraPrefHtmlEditorDefaultFontSize","zimbraPrefHtmlEditorDefaultFontColor","onFileClick","inlineLabel","setupCallback","ui","registry","addMenuButton","callback","onAction","editorInitConfig","content_css","language_url","language","setup","min_height","auto_focus","menubar","statusbar","branding","resize","font_size_formats","object_resizing","style_formats","block","wrapper","merge_siblings","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","content_style","visualblocks_default_state","end_container_on_empty_block","relative_urls","remove_script_host","newline_behavior","fileInputOnChange","files","accept","compact","_useIntegrationsStore","integration","_useIntegrationsStore2","Integration","C","factories","_useIntegrationsStore3","factory","_useIntegrationsStore4","_s$functions","_s$components","_compact","combinedFactory","composer","_len3","_key3","fn","_len4","ids","_key4","actionTypeMap","actionFactory","actionFactoryId","_len5","_key5","_len6","_key6","carbonioWebUiFavicon","carbonioWebUiTitle","DefaultLogo","carbonioWebUiAppLogo","carbonioWebUiDarkAppLogo","_s$notify","_s$refresh","tagWorker","useTagStore","POLLING_NOWAIT_INTERVAL","POLLING_RETRY_INTERVAL","pollingPref","zimbraPrefMailPollingInterval","pollingValue","isNaN","_res$Body2","waitDisallowed","fault","_refresh$folder","postMessage","tags","pick","Link","RRLink","_to","textDecoration","Prompt","_ref$dataHasError","dataHasError","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","results","rejected","closeIconTooltip","optionalFooter","loading","useUtilityViews","UtilityBarItem","_useUtilityBarStore","setCurrent","_account$displayName2","accountItems","_account$name","viewItems","disableAutoFocus","Panel","Spacer","currentPanel","_views$","intersection","checkList","l1","l2","_omit","activeRouteValues","utilityViews","testFolderIsChecked","string","_document$body$classL","cursors","element","objToExport","process","env","NODE_ENV","Worker","URL","import","meta"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.bf050fbf.chunk.js","mappings":"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BAAmB,EAAE,YAAY,CAAC;IAC/CsF,KAAK,EAAE,yBAAyB;IAChCyF,KAAK,EAAE;EACR,CAAC,CACD;AAAA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAQO,IAAM8nC,YAAY,GAAG,SAAfA,YAAYA,CAAI7yC,CAAY;EAAA,OAAgC,CACxE;IACC+K,KAAK,EAAE,YAAY;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;AC1FA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/loader.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/shell-i18n-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/theme-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/use-get-primary-color.tsx","webpack://@zextras/carbonio-shell-ui/./src/constants/index.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-mode.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/use-dark-reader-result-value.ts","webpack://@zextras/carbonio-shell-ui/./src/dark-mode/utils.ts","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-components.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/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/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-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/out-of-office-time-period-section.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/search-settings.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/hooks/use-reset.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/language-and-timezone-settings.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/boards/resizable-container.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/useIsMobile.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks/useLocalStorage.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks/useMove.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks/useResize.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/logo.tsx","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/getters.ts","webpack://@zextras/carbonio-shell-ui/./src/store/login/hooks.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/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/./node_modules/date-fns/locale/ lazy \\.[/\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\]index\\.js$ namespace object","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-tab.css?0045","webpack://@zextras/carbonio-shell-ui/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|canvas","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|fs","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|http","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|https","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/build|url","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/pdfjs-dist/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} 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 {\n\tuseAction,\n\tuseActions,\n\tuseActionsFactory,\n\tuseActionFactory,\n\tuseIntegratedComponent,\n\tuseIntegratedFunction\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\tuseFoldersByView,\n\tuseFoldersAccordionByView,\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';\nimport { useLocalStorage } from '../../shell/hooks/useLocalStorage';\nimport { useIsMobile } from '../../shell/hooks/useIsMobile';\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\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\tuseFoldersByView,\n\tuseFoldersAccordionByView,\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, Suspense, useMemo } from 'react';\nimport { 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\tmap(entryPoints, (Comp, appId) => (\n\t\t\t\t<Mounter key={appId} appId={appId}>\n\t\t\t\t\t<Comp />\n\t\t\t\t</Mounter>\n\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\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\t/** @deprecated */\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 type { TFunction } from 'i18next';\nimport type { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\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';\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};\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})\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 { forOwn } from 'lodash';\nimport { ComponentType, memo } 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 type { 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\nexport function loadApp(appPkg: CarbonioModule): Promise<CarbonioModule> {\n\treturn new Promise((_resolve, _reject) => {\n\t\tlet resolved = false;\n\t\tconst resolve = (): void => {\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 => {\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\tif (\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__ &&\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui']\n\t\t\t) {\n\t\t\t\twindow.__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][appPkg.name] = {\n\t\t\t\t\treport: report(appPkg.name),\n\t\t\t\t\tAppLink,\n\t\t\t\t\tSpinner,\n\t\t\t\t\tSettingsHeader,\n\t\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t\t...CONSTANTS\n\t\t\t\t};\n\t\t\t}\n\n\t\t\twindow.__ZAPP_HMR_EXPORT__[appPkg.name] = (appComponent: ComponentType): 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]: memo(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();\n\t\t\t};\n\n\t\t\tconst script = 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 { registerLocale, setDefaultLocale } from '@zextras/carbonio-design-system';\nimport type { Locale as DateFnsLocale } from 'date-fns';\nimport { CarbonioModule } from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { useReporter } from '../../reporting';\nimport { getUserSetting, useAccountStore } from '../../store/account';\nimport { getT, useI18nStore } from '../../store/i18n';\nimport { loadApp, unloadApps } from './load-app';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { localeList } from '../../settings/components/utils';\n\nconst getDateFnsLocale = (locale: string): Promise<DateFnsLocale> =>\n\timport(`date-fns/locale/${locale}/index.js`);\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\tconst localeObj = localeList(getT()).find((item) => item.id === locale);\n\tif (localeObj) {\n\t\tconst localeDateFnsKey = localeObj.dateFnsLocale || localeObj.value;\n\t\tgetDateFnsLocale(localeDateFnsKey).then((localeDateFns) => {\n\t\t\tregisterLocale(localeDateFnsKey, localeDateFns);\n\t\t\tsetDefaultLocale(localeDateFnsKey);\n\t\t});\n\t}\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\nimport React from 'react';\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';\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\nimport * as ZappUI from '@zextras/carbonio-design-system';\nimport * as StyledComponents from 'styled-components';\nimport * as Preview from '@zextras/carbonio-ui-preview';\n\nexport function injectSharedLibraries(): void {\n\tif (!window.__ZAPP_SHARED_LIBRARIES__) {\n\t\twindow.__ZAPP_SHARED_LIBRARIES__ = {\n\t\t\treact: React,\n\t\t\t'react-dom': ReactDOM,\n\t\t\t'react-i18next': ReactI18n,\n\t\t\t'react-redux': ReactRedux,\n\t\t\tlodash: Lodash,\n\t\t\t'react-router-dom': ReactRouterDom,\n\t\t\tmoment: Moment,\n\t\t\t'styled-components': StyledComponents,\n\t\t\t'@reduxjs/toolkit': ReduxJSToolkit,\n\t\t\t'@zextras/carbonio-shell-ui': {},\n\t\t\t'@zextras/carbonio-design-system': ZappUI,\n\t\t\t'@zextras/carbonio-ui-preview': Preview\n\t\t};\n\t\twindow.__ZAPP_HMR_EXPORT__ = {};\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 } from 'react';\nimport { BrowserRouter, Route, Switch, useHistory, useParams } from 'react-router-dom';\nimport {\n\tModalManager,\n\tSnackbarManager,\n\tuseModal,\n\tuseSnackbar\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport ShellI18nextProvider from './shell-i18n-provider';\nimport { ThemeProvider } from './theme-provider';\nimport { BASENAME, IS_STANDALONE } from '../constants';\nimport { Loader } from './loader';\nimport { NotificationPermissionChecker } from '../notification/NotificationPermissionChecker';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport ShellView from '../shell/shell-view';\nimport { useBridge } from '../store/context-bridge';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\n\nconst ContextBridge = (): null => {\n\tconst history = useHistory();\n\tconst createSnackbar = useSnackbar();\n\tconst createModal = useModal();\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 = (): null => {\n\tconst { route } = useParams<{ route?: string }>();\n\tuseEffect(() => {\n\t\tif (route) useAppStore.setState({ standalone: route });\n\t}, [route]);\n\treturn null;\n};\n\nexport const DefaultViewsRegister = (): null => {\n\tconst [t] = useTranslation();\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst Bootstrapper: FC = () => (\n\t<ThemeProvider>\n\t\t<ShellI18nextProvider>\n\t\t\t<BrowserRouter basename={BASENAME}>\n\t\t\t\t<SnackbarManager>\n\t\t\t\t\t<ModalManager>\n\t\t\t\t\t\t<Loader />\n\t\t\t\t\t\t{IS_STANDALONE && (\n\t\t\t\t\t\t\t<Switch>\n\t\t\t\t\t\t\t\t<Route path={'/:route'}>\n\t\t\t\t\t\t\t\t\t<StandaloneListener />\n\t\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t\t</Switch>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<DefaultViewsRegister />\n\t\t\t\t\t\t<NotificationPermissionChecker />\n\t\t\t\t\t\t<ContextBridge />\n\t\t\t\t\t\t<AppLoaderMounter />\n\t\t\t\t\t\t<ShellView />\n\t\t\t\t\t</ModalManager>\n\t\t\t\t</SnackbarManager>\n\t\t\t</BrowserRouter>\n\t\t</ShellI18nextProvider>\n\t</ThemeProvider>\n);\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Modal, Padding, Text } from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { find } from 'lodash';\nimport { useAppStore } from '../store/app';\nimport { getInfo } from '../network/get-info';\nimport { loadApps, unloadAllApps } from './app/load-apps';\nimport { loginConfig } from '../network/login-config';\nimport { goToLogin } from '../network/go-to-login';\nimport { getComponents } from '../network/get-components';\n\nexport function isPromiseRejectedResult<T>(\n\tpromiseSettledResult: PromiseSettledResult<T>\n): promiseSettledResult is PromiseRejectedResult {\n\treturn promiseSettledResult.status === 'rejected';\n}\n\nexport function isPromiseFulfilledResult<T>(\n\tpromiseSettledResult: PromiseSettledResult<T>\n): promiseSettledResult is PromiseFulfilledResult<T> {\n\treturn promiseSettledResult.status === 'fulfilled';\n}\n\ntype LoaderFailureModalProps = { open: boolean; closeHandler: () => void };\n\nexport const LoaderFailureModal = ({\n\topen,\n\tcloseHandler\n}: LoaderFailureModalProps): JSX.Element => {\n\tconst [t] = useTranslation();\n\tconst onConfirm = useCallback(() => window.location.reload(), []);\n\treturn (\n\t\t<Modal\n\t\t\topen={open}\n\t\t\tshowCloseIcon={false}\n\t\t\tonSecondaryAction={goToLogin}\n\t\t\ttitle={t('bootstrap.failure.modal.title', 'Something went wrong...')}\n\t\t\tconfirmLabel={t('bootstrap.failure.modal.confirmButtonLabel', 'refresh')}\n\t\t\tsecondaryActionLabel={t('bootstrap.failure.modal.secondaryButtonLabel', 'login page')}\n\t\t\tonConfirm={onConfirm}\n\t\t\tonClose={closeHandler}\n\t\t>\n\t\t\t<Padding all=\"small\">\n\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'bootstrap.failure.modal.body',\n\t\t\t\t\t\t'Some technical issues occurred while processing your request. Please try to refresh the page or go back to the login page.'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t</Padding>\n\t\t</Modal>\n\t);\n};\n\nexport const Loader = (): JSX.Element => {\n\tconst [open, setOpen] = useState(false);\n\tconst closeHandler = useCallback(() => setOpen(false), []);\n\n\tuseEffect(() => {\n\t\tPromise.allSettled([loginConfig(), getComponents(), getInfo()]).then(\n\t\t\t(promiseSettledResultArray) => {\n\t\t\t\tconst [, getComponentsPromiseSettledResult, getInfoPromiseSettledResult] =\n\t\t\t\t\tpromiseSettledResultArray;\n\n\t\t\t\tconst promiseRejectedResult = find(\n\t\t\t\t\t[getComponentsPromiseSettledResult, getInfoPromiseSettledResult],\n\t\t\t\t\tisPromiseRejectedResult\n\t\t\t\t);\n\t\t\t\tif (promiseRejectedResult) {\n\t\t\t\t\tif (typeof promiseRejectedResult.reason === 'string') {\n\t\t\t\t\t\tconsole.error(promiseRejectedResult.reason);\n\t\t\t\t\t} else if ('message' in promiseRejectedResult.reason) {\n\t\t\t\t\t\tconsole.error(promiseRejectedResult.reason.message);\n\t\t\t\t\t}\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t}\n\t\t\t\tif (isPromiseFulfilledResult(getComponentsPromiseSettledResult)) {\n\t\t\t\t\tloadApps(Object.values(useAppStore.getState().apps));\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, []);\n\treturn <LoaderFailureModal open={open} closeHandler={closeHandler} />;\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 ShellI18nextProvider: FC = ({ children }) => {\n\tconst i18n = useI18nStore((s) => s.instances[SHELL_APP_ID]);\n\treturn <I18nextProvider i18n={i18n}>{children}</I18nextProvider>;\n};\nexport default ShellI18nextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseState\n} from 'react';\nimport {\n\tgenerateColorSet,\n\tThemeProvider as UIThemeProvider,\n\tThemeProviderProps as UIThemeProviderProps\n} from '@zextras/carbonio-design-system';\nimport { auto, disable, enable, setFetchMethod } from 'darkreader';\nimport { map, reduce } from 'lodash';\nimport { createGlobalStyle, css, DefaultTheme, SimpleInterpolation } from 'styled-components';\nimport { DarkReaderPropValues, ThemeExtension } from '../../types';\nimport { darkReaderDynamicThemeFixes, LOCAL_STORAGE_SETTINGS_KEY } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\nimport { getAutoScalingFontSize } from '../settings/components/utils';\nimport { useGetPrimaryColor } from './use-get-primary-color';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\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\ntype CustomTheme = Partial<Omit<DefaultTheme, 'palette'>> & {\n\tpalette?: Partial<DefaultTheme['palette']>;\n};\n\nconst paletteExtension =\n\t(customTheme: CustomTheme = {}) =>\n\t(theme: DefaultTheme): DefaultTheme => ({\n\t\t...theme,\n\t\t...customTheme,\n\t\tpalette: {\n\t\t\t...theme.palette,\n\t\t\t...customTheme.palette,\n\t\t\tshared: {\n\t\t\t\tregular: '#FFB74D',\n\t\t\t\thover: '#FFA21A',\n\t\t\t\tactive: '#FFA21A',\n\t\t\t\tfocus: '#FF9800',\n\t\t\t\tdisabled: '#FFD699'\n\t\t\t},\n\t\t\tlinked: {\n\t\t\t\tregular: '#AB47BC',\n\t\t\t\thover: '#8B3899',\n\t\t\t\tactive: '#8B3899',\n\t\t\t\tfocus: '#7A3187',\n\t\t\t\tdisabled: '#DDB4E4'\n\t\t\t}\n\t\t}\n\t});\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\nconst globalCursorsExtension: ThemeExtension = (theme) => ({\n\t...theme,\n\tglobalCursors: [\n\t\t...(theme.globalCursors || []),\n\t\t'ns-resize',\n\t\t'ew-resize',\n\t\t'nesw-resize',\n\t\t'nwse-resize',\n\t\t'move'\n\t]\n});\n\ninterface GlobalStyledProps {\n\tbaseFontSize: number;\n}\n\nconst GlobalStyle = createGlobalStyle<GlobalStyledProps>`\n html {\n font-size: ${({ baseFontSize }): string => `${baseFontSize}%`};\n }\n ${({ theme }): SimpleInterpolation =>\n\t\tmap(\n\t\t\ttheme.globalCursors,\n\t\t\t(cursor) => css`\n\t\t\t\t.global-cursor-${cursor} * {\n\t\t\t\t\tcursor: ${cursor} !important;\n\t\t\t\t}\n\t\t\t`\n\t\t)}\n .no-active-background:active {\n\t background-color: inherit;\n }\n`;\n\ninterface ThemeProviderProps {\n\tchildren?: React.ReactNode | React.ReactNode[];\n}\nexport const ThemeProvider = ({ children }: ThemeProviderProps): JSX.Element => {\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\tconst primaryColor = useGetPrimaryColor();\n\n\tuseLayoutEffect(() => {\n\t\tconst customThemePalette: Partial<DefaultTheme['palette']> = primaryColor\n\t\t\t? { primary: generateColorSet({ regular: primaryColor }) }\n\t\t\t: {};\n\t\tsetExtensions((extension) => ({\n\t\t\t...extension,\n\t\t\tpalette: paletteExtension({\n\t\t\t\tpalette: customThemePalette\n\t\t\t}),\n\t\t\ticons: iconExtension,\n\t\t\tglobalCursors: globalCursorsExtension\n\t\t}));\n\t}, [primaryColor]);\n\n\tconst [darkReaderState, setDarkReaderState] = useState<DarkReaderPropValues>('disabled');\n\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<UIThemeProviderProps['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\tconst themeCallbacksContextValue = useMemo<ThemeCallbacks>(\n\t\t() => ({ addExtension, setDarkReaderState }),\n\t\t[addExtension]\n\t);\n\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={themeCallbacksContextValue}>\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 { useTheme } from '@zextras/carbonio-design-system';\nimport { useEffect, useMemo } from 'react';\nimport { size } from 'lodash';\nimport { LOCAL_STORAGE_LAST_PRIMARY_KEY } from '../constants';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\n\nexport function useGetPrimaryColor(): string | undefined {\n\tconst [localStorageLastPrimary, setLocalStorageLastPrimary] = useLocalStorage<\n\t\tPartial<Record<'dark' | 'light', string>> | undefined\n\t>(LOCAL_STORAGE_LAST_PRIMARY_KEY, undefined);\n\tconst { carbonioWebUiPrimaryColor, carbonioWebUiDarkPrimaryColor } = useLoginConfigStore();\n\tconst { darkModeEnabled, darkReaderStatus } = useDarkMode();\n\tconst theme = useTheme();\n\n\tconst primaryColor = useMemo(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tif (carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor) {\n\t\t\t\tif (darkModeEnabled) {\n\t\t\t\t\treturn carbonioWebUiDarkPrimaryColor || carbonioWebUiPrimaryColor;\n\t\t\t\t}\n\t\t\t\treturn carbonioWebUiPrimaryColor || carbonioWebUiDarkPrimaryColor;\n\t\t\t}\n\t\t}\n\t\tif (localStorageLastPrimary && size(localStorageLastPrimary) > 0) {\n\t\t\treturn (\n\t\t\t\t(darkModeEnabled && (localStorageLastPrimary.dark || localStorageLastPrimary.light)) ||\n\t\t\t\tlocalStorageLastPrimary.light ||\n\t\t\t\tlocalStorageLastPrimary.dark\n\t\t\t);\n\t\t}\n\t\tif (theme) {\n\t\t\treturn theme.palette.primary.regular;\n\t\t}\n\t\treturn undefined;\n\t}, [\n\t\tcarbonioWebUiDarkPrimaryColor,\n\t\tcarbonioWebUiPrimaryColor,\n\t\tdarkModeEnabled,\n\t\tdarkReaderStatus,\n\t\tlocalStorageLastPrimary,\n\t\ttheme\n\t]);\n\n\tuseEffect(() => {\n\t\tif (darkReaderStatus !== undefined) {\n\t\t\tsetLocalStorageLastPrimary((prevState) => ({\n\t\t\t\t...prevState,\n\t\t\t\t[darkModeEnabled ? 'dark' : 'light']: primaryColor\n\t\t\t}));\n\t\t}\n\t}, [darkModeEnabled, darkReaderStatus, primaryColor, setLocalStorageLastPrimary]);\n\n\treturn primaryColor;\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: '#29B6F6', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#66BB6A', zLabel: 'green' },\n\t{ zValue: 4, hex: '#7e57c2', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#ef5350', 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: '#FF7043', 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\tLAST_SYSTEM_FOLDER_POSITION: '16.1'\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_LAST_PRIMARY_KEY = 'config';\nexport const LOCAL_STORAGE_SEARCH_KEY = 'search_suggestions';\nexport const LOCAL_STORAGE_BOARD_SIZE = 'board_size';\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';\nexport const SENTRY_SHELL_DSN = 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6';\nexport const SENTRY_FEEDBACK_DNS =\n\t'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8';\n\nexport enum ResultLabelType {\n\tNORMAL = 'normal',\n\tWARNING = 'warning',\n\tERROR = 'error'\n}\n\nexport const HEADER_BAR_HEIGHT = '3.75rem';\nexport const PRIMARY_BAR_WIDTH = '3.0625rem';\nexport const BOARD_HEADER_HEIGHT = '3rem';\nexport const BOARD_TAB_WIDTH = 'calc(3rem + 15ch)';\nexport const BOARD_CONTAINER_ZINDEX = 10;\nexport const BOARD_MIN_VISIBILITY = {\n\ttop: 50,\n\tleft: 30\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useEffect, useState } from 'react';\nimport { useDarkReaderResultValue } from './use-dark-reader-result-value';\nimport { getPrefersColorSchemeDarkMedia } from './utils';\nimport type { DarkReaderPropValues } from '../../types';\n\nexport const useDarkMode = (): {\n\tdarkModeEnabled: boolean;\n\tdarkReaderStatus: DarkReaderPropValues | undefined;\n} => {\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\n\tconst [darkModeEnabled, setDarkModeEnabled] = useState<boolean>(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\treturn { darkModeEnabled, darkReaderStatus: darkReaderResultValue };\n};\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 type { DarkReaderPropValues, ZappDarkreaderModeZimletProp, ZimletProp } from '../../types';\nimport { DARK_READER_PROP_KEY, DARK_READER_VALUES, SHELL_APP_ID } from '../constants';\n\nexport function isZappDarkreaderModeZimletProp(\n\tprop: ZimletProp\n): prop is ZappDarkreaderModeZimletProp {\n\treturn prop.name === DARK_READER_PROP_KEY && prop.zimlet === SHELL_APP_ID;\n}\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 as DarkReaderPropValues)\n\t);\n}\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\treturn 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","/*\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\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, ({ route }) => startsWith(trim(location.pathname, '/'), 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)}</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, index) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${index}\"><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\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 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\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs = {\n\t\t\t\t\t\t\t\t\t\t\t\t...acc[propIndex]._attrs,\n\t\t\t\t\t\t\t\t\t\t\t\t...prefs\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tif (prefs.zimbraPrefIdentityName && acc[propIndex].name !== 'DEFAULT') {\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].name = prefs.zimbraPrefIdentityName;\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\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 { getPollingInterval, handleSync } from '../store/network/utils';\n\nexport const fetchNoOp = (): 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 { noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\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\n\t\tconst nextPollingInterval = getPollingInterval(res);\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => fetchNoOp(), 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 { useAppStore } from '../store/app';\nimport { CarbonioModule } from '../../types';\n\nexport const getComponents = (): Promise<void> =>\n\tfetch('/static/iris/components.json')\n\t\t.then((response) => {\n\t\t\tif (response.ok) {\n\t\t\t\treturn response.json();\n\t\t\t}\n\t\t\tthrow Error(response.statusText);\n\t\t})\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore\n\t\t\t\t.getState()\n\t\t\t\t.setters.addApps(filter(components, ({ type }) => type === 'shell' || type === 'carbonio'));\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 { normalizeAccount } from '../store/account/normalization';\nimport { GetInfoResponse } from '../../types';\nimport { getSoapFetch } from './fetch';\nimport { useAccountStore } from '../store/account';\nimport { useNetworkStore } from '../store/network';\nimport { parsePollingInterval } from '../store/network/utils';\n\nexport const getInfo = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t}).then((res: GetInfoResponse): void => {\n\t\tif (res) {\n\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\tuseNetworkStore.setState({\n\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t});\n\t\t\tuseAccountStore.setState({\n\t\t\t\tauthenticated: true,\n\t\t\t\taccount,\n\t\t\t\tsettings,\n\t\t\t\tzimbraVersion: version\n\t\t\t});\n\t\t}\n\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';\nimport { getClientTitle, getFavicon } from '../store/login/getters';\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})\n\t\t.finally(() => {\n\t\t\tuseLoginConfigStore.setState({ loaded: true });\n\t\t\tconst favicon = document.getElementById('favicon');\n\t\t\tif (favicon && favicon instanceof HTMLLinkElement) {\n\t\t\t\tfavicon.href = getFavicon();\n\t\t\t}\n\t\t\tdocument.title = getClientTitle();\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 type {\n\tAudioNotificationConfig,\n\tINotificationManager,\n\tNotificationConfig,\n\tPopupNotificationConfig\n} from '../../types';\nimport defaultAudio from '../../assets/notification.mp3';\nimport { getFavicon } from '../store/login/getters';\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 * Default configuration for the popup-only notification\n\t * @private\n\t */\n\tprivate PopupNotificationDefaultConfig = {\n\t\ttitle: '',\n\t\tvibrate: [200, 100, 200],\n\t\ticon: getFavicon()\n\t};\n\n\t/**\n\t * Default configuration for the audio-only notification\n\t * @private\n\t */\n\tprivate AudioNotificationDefaultConfig: AudioNotificationConfig = {\n\t\tsound: defaultAudio\n\t};\n\n\t/**\n\t * Default configuration for a notification with both popup and audio\n\t * @private\n\t */\n\tprivate NotificationDefaultConfig: NotificationConfig = {\n\t\t...this.PopupNotificationDefaultConfig,\n\t\t...this.AudioNotificationDefaultConfig,\n\t\tshowPopup: true,\n\t\tplaySound: false\n\t};\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...this.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...this.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...this.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 type { Event as SentryEvent } from '@sentry/browser';\nimport {\n\tButton,\n\tContainer,\n\tContainerProps,\n\tIcon,\n\tLabelFactoryProps,\n\tRow,\n\tSelect,\n\tSelectItem,\n\tText,\n\tuseSnackbar\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map } from 'lodash';\nimport React, {\n\tTextareaHTMLAttributes,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseReducer,\n\tuseState\n} from 'react';\nimport type { TFunction } from '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\n// TODO: replace with DS TextArea?\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: SentryEvent = {\n\tmessage: '',\n\tlevel: 'info',\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\ntype SentryEventReducer =\n\t| { type: 'set-user'; payload: SentryEvent['user'] }\n\t| { type: 'reset'; payload: never }\n\t| { type: 'set-message'; payload: SentryEvent['message'] }\n\t| { type: 'select-app'; payload: { version: SentryEvent['release']; app: string } }\n\t| { type: 'select-topic'; payload: string };\n\nfunction reducer(state: SentryEvent, { type, payload }: SentryEventReducer): SentryEvent {\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\ntype Topic = { label: string; value: string };\n\nconst getTopics = (t: TFunction): Array<Topic> => [\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\ninterface ModuleLabelFactory {\n\tselected: SelectItem[];\n\tlabel?: string;\n\topen: boolean;\n\tfocus: boolean;\n\tdisabled: boolean;\n}\n\nconst ModuleLabelFactory = ({\n\tselected,\n\tlabel,\n\topen,\n\tfocus,\n\tdisabled\n}: ModuleLabelFactory): JSX.Element => (\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\ninterface FeedbackLabelFactoryProps extends LabelFactoryProps {\n\tshowErr: boolean;\n}\n\nconst FeedbackLabelFactory = ({\n\tselected,\n\tlabel,\n\topen,\n\tfocus,\n\tshowErr\n}: FeedbackLabelFactoryProps): JSX.Element => (\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{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 = (): JSX.Element => {\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(): SelectItem[] =>\n\t\t\tmap(\n\t\t\t\tapps,\n\t\t\t\t(app): SelectItem => ({\n\t\t\t\t\tlabel: app.display,\n\t\t\t\t\tvalue: app.name\n\t\t\t\t})\n\t\t\t),\n\t\t[apps]\n\t);\n\tconst account = useUserAccount();\n\tconst [sentryEvent, 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<\n\t\tNonNullable<TextareaHTMLAttributes<HTMLTextAreaElement>['onChange']>\n\t>((event) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tevent.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tevent.target.style.height = `${25 + event.target.scrollHeight}px`;\n\t\tif (event.target.value.length <= 500) {\n\t\t\tsetLimit(event.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: event.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback<\n\t\tNonNullable<TextareaHTMLAttributes<HTMLTextAreaElement>['onKeyUp']>\n\t>(\n\t\t(event) => {\n\t\t\tif (sentryEvent.extra?.topic === '0') {\n\t\t\t\tsetShowErr(true);\n\t\t\t} else {\n\t\t\t\tsetShowErr(false);\n\t\t\t}\n\t\t\tif (event.key === 'Backspace' && sentryEvent.message?.length === 0) {\n\t\t\t\tsetShowErr(false);\n\t\t\t}\n\t\t},\n\t\t[setShowErr, sentryEvent]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(sentryEvent);\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}, [sentryEvent, createSnackbar, t]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: account.id, name: account.displayName ?? account.name }\n\t\t});\n\t}, [account]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(sentryEvent?.message?.length ?? 0) <= 0 ||\n\t\t\tsentryEvent.extra?.topic === '0' ||\n\t\t\tsentryEvent.extra?.app === '0',\n\t\t[sentryEvent.message, sentryEvent.extra?.topic, sentryEvent.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props: LabelFactoryProps) => <FeedbackLabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\n\tconst defaultTopic = useMemo(\n\t\t(): Topic =>\n\t\t\tfind(topics, (topic) => topic.value === sentryEvent.extra?.topic) ?? { label: '', value: '' },\n\t\t[sentryEvent.extra?.topic, topics]\n\t);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"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={defaultTopic}\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={sentryEvent.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 type { Event, EventHint } 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: '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 } from 'zustand';\nimport {\n\tBrowserClient,\n\tdefaultIntegrations,\n\tdefaultStackParser,\n\tHub,\n\tmakeFetchTransport\n} from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport type { CarbonioModule } from '../../types';\nimport { SENTRY_FEEDBACK_DNS, SENTRY_SHELL_DSN, SHELL_APP_ID } from '../constants';\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\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: SENTRY_SHELL_DSN,\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\ttransport: makeFetchTransport,\n\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\tintegrations: defaultIntegrations,\n\t\t\t\tdsn: SENTRY_FEEDBACK_DNS,\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\ttransport: makeFetchTransport,\n\t\t\t\t\t\t\t\tstackParser: defaultStackParser,\n\t\t\t\t\t\t\t\tintegrations: defaultIntegrations,\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}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport {\n\tContainer,\n\tRow,\n\tText,\n\tIcon,\n\tDropdown,\n\tDropdownItem\n} 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\ninterface ModuleSelectorProps {\n\tapp: string | undefined;\n}\n\nconst ModuleSelectorComponent = ({ app }: ModuleSelectorProps): JSX.Element | null => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\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(): DropdownItem[] =>\n\t\t\tmodules.map(\n\t\t\t\t({ id, label, icon, route }): DropdownItem => ({\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\ticon,\n\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\tupdateModule(route);\n\t\t\t\t\t\tpushHistory({ route: SEARCH_APP_ID, path: `/${route}` });\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[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}, [app, fullModule, modules, updateModule]);\n\n\tconst openDropdown = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\n\tconst closeDropdown = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\n\t// TODO: replace the Dropdown with a Select with the customLabelFactory\n\treturn (\n\t\t<Dropdown items={dropdownItems} onOpen={openDropdown} onClose={closeDropdown}>\n\t\t\t<SelectorContainer\n\t\t\t\tdata-testid=\"HeaderModuleSelector\"\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, { useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { type SearchState } from '../../types';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { ResultLabelType, SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { getT } from '../store/i18n';\nimport { useSearchStore } from './search-store';\n\nconst useQuery = (): [query: SearchState['query'], updateQuery: SearchState['updateQuery']] =>\n\tuseSearchStore((s) => [s.query, s.updateQuery]);\n\nconst useDisableSearch = (): [\n\tisDisabled: SearchState['searchDisabled'],\n\tsetDisabled: SearchState['setSearchDisabled']\n] => useSearchStore((s) => [s.searchDisabled, s.setSearchDisabled]);\n\nconst getIconAndColor = (labelType: ResultLabelType): [icon: string, color: 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\ninterface ResultsHeaderProps {\n\tlabel: string;\n\tlabelType?: ResultLabelType;\n}\n\nconst ResultsHeader = ({\n\tlabel,\n\tlabelType = ResultLabelType.NORMAL\n}: ResultsHeaderProps): JSX.Element => {\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<JSX.Element>(() => {\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\tconst chipItems = useMemo(\n\t\t() =>\n\t\t\tmap(query, (queryChip, index) => (\n\t\t\t\t<Padding key={`${index}${queryChip.label}`} all=\"extrasmall\">\n\t\t\t\t\t<Chip {...queryChip} background={'gray2'} />\n\t\t\t\t</Padding>\n\t\t\t)),\n\t\t[query]\n\t);\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\t\t\t\t\t{chipItems}\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 = (): JSX.Element => {\n\tconst searchViews = useAppStore((s) => s.views.search);\n\tconst { module } = useSearchStore();\n\tconst modules = useAppStore((s) => s.views.search);\n\n\tconst fullModule = useMemo(() => modules.find((m) => m.route === module), [module, modules]);\n\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<Switch>\n\t\t\t{routes}\n\t\t\t<Redirect\n\t\t\t\texact\n\t\t\t\tstrict\n\t\t\t\tfrom={`/${SEARCH_APP_ID}`}\n\t\t\t\tto={`/${SEARCH_APP_ID}/${fullModule ? fullModule.route : searchViews[0]?.route}`}\n\t\t\t/>\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 {\n\tChipInput,\n\tChipInputProps,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { filter, find, map, reduce, some } 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';\n\nimport { QueryChip, QueryItem } from '../../types';\nimport { getT } from '../store/i18n';\nimport { ModuleSelector } from './module-selector';\nimport { useSearchStore } from './search-store';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\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 SearchOption = NonNullable<ChipInputProps['options']>[number] & QueryItem;\n\nexport const SearchBar = (): JSX.Element => {\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst t = getT();\n\tconst [storedSuggestions, setStoredSuggestions] = useLocalStorage<SearchOption[]>(\n\t\tLOCAL_STORAGE_SEARCH_KEY,\n\t\t[]\n\t);\n\tconst [inputTyped, setInputTyped] = useState<string>('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled, tooltip } =\n\t\tuseSearchStore();\n\n\tconst [isTyping, setIsTyping] = useState(false);\n\n\tconst [options, setOptions] = useState<SearchOption[]>([]);\n\n\tconst [inputHasFocus, setInputHasFocus] = useState(false);\n\n\tconst [searchInputValue, setSearchInputValue] = useState<QueryChip[]>(query);\n\n\tconst showClear = useMemo(\n\t\t() =>\n\t\t\tsearchInputValue.length > 0 ||\n\t\t\t(inputRef.current?.value && inputRef.current?.value?.length > 0),\n\t\t[searchInputValue.length]\n\t);\n\tconst clearSearch = useCallback((): void => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t\tsetIsTyping(false);\n\t\tsetSearchInputValue([]);\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) {\n\t\t\t\tref.value = '';\n\t\t\t}\n\t\t\tif (inputTyped.length > 0) {\n\t\t\t\tconst newInputValue: typeof searchInputValue = [\n\t\t\t\t\t...searchInputValue,\n\t\t\t\t\t...map(\n\t\t\t\t\t\tinputTyped.split(' '),\n\t\t\t\t\t\t(label, id): QueryChip => ({\n\t\t\t\t\t\t\tid: `${id}`,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t];\n\t\t\t\tsetSearchInputValue(newInputValue);\n\t\t\t\tsetInputTyped('');\n\t\t\t\treturn reduce(\n\t\t\t\t\tnewInputValue,\n\t\t\t\t\t(acc, newInputChip) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!some(\n\t\t\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t\t\t(currentQueryChip) => currentQueryChip.label === newInputChip.label\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tacc.push(newInputChip);\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(currentQuery, (currentQueryChip) =>\n\t\t\t\t\t\tsome(\n\t\t\t\t\t\t\tsearchInputValue,\n\t\t\t\t\t\t\t(searchInputChip) => searchInputChip.label === currentQueryChip.label\n\t\t\t\t\t\t)\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\tsearchInputValue,\n\t\t\t\t(acc, searchInputChip) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!some(\n\t\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t\t(currentQueryChip) => currentQueryChip.label === searchInputChip.label\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tacc.push(searchInputChip);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\n\t\t\t\tfilter(currentQuery, (currentQueryChip: QueryChip) =>\n\t\t\t\t\tsome(\n\t\t\t\t\t\tsearchInputValue,\n\t\t\t\t\t\t(searchInputChip) => searchInputChip.label === currentQueryChip.label\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t\t// TODO: perform a navigation only when coming from a different module (not the search one)\n\t\thistory.push(`/${SEARCH_APP_ID}/${module}`);\n\t}, [updateQuery, history, module, inputTyped, searchInputValue]);\n\n\tconst appSuggestions = useMemo<SearchOption[]>(\n\t\t() =>\n\t\t\tfilter(storedSuggestions, (v) => v.app === module)\n\t\t\t\t.reverse()\n\t\t\t\t.map(\n\t\t\t\t\t(item): SearchOption => ({\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tdisabled: searchDisabled,\n\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\tconst newInputChip: QueryChip = { ...item, hasAvatar: false, onClick: undefined };\n\t\t\t\t\t\t\tsetSearchInputValue((prevState) => [...prevState, newInputChip]);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t[storedSuggestions, module, searchDisabled]\n\t);\n\n\tconst updateOptions = useCallback(\n\t\t(textContent: string, queryChips: QueryChip[]): void => {\n\t\t\tif (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(suggestion) =>\n\t\t\t\t\t\t\t\ttextContent &&\n\t\t\t\t\t\t\t\tsuggestion.label.includes(textContent) &&\n\t\t\t\t\t\t\t\t!some(queryChips, (queryChip) => queryChip.value === suggestion.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<NonNullable<ChipInputProps['onChange']>>(\n\t\t(newQuery) => {\n\t\t\t// FIXME: move the saving of suggestions after the search occurs.\n\t\t\t// \tThe saving logic should not be placed here because the onChange is called even when a chip is removed from the chipInput.\n\t\t\t// So, at the moment, keywords never searched for are saved too.\n\t\t\tconst lastChipLabel = newQuery[newQuery.length - 1]?.label;\n\t\t\tif (\n\t\t\t\tlastChipLabel &&\n\t\t\t\ttypeof lastChipLabel === 'string' &&\n\t\t\t\tmodule &&\n\t\t\t\t!find(appSuggestions, (suggestion) => suggestion.label === lastChipLabel)\n\t\t\t) {\n\t\t\t\tsetStoredSuggestions((prevState) => {\n\t\t\t\t\tconst newSuggestion: SearchOption = {\n\t\t\t\t\t\tvalue: lastChipLabel,\n\t\t\t\t\t\tlabel: lastChipLabel,\n\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\tid: lastChipLabel\n\t\t\t\t\t};\n\t\t\t\t\treturn [...prevState, newSuggestion];\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// FIXME: remove the cast (by making ChipItem support generics?)\n\t\t\tsetSearchInputValue(newQuery as QueryChip[]);\n\t\t},\n\t\t[appSuggestions, module, setStoredSuggestions]\n\t);\n\n\tconst onInputType = useCallback<NonNullable<ChipInputProps['onInputType']>>(\n\t\t(ev) => {\n\t\t\tif (!ev.textContent) {\n\t\t\t\tsetIsTyping(false);\n\t\t\t} else {\n\t\t\t\tsetIsTyping(true);\n\t\t\t}\n\t\t\tsetInputTyped(ev.textContent || '');\n\t\t\tupdateOptions(ev.textContent || '', query);\n\t\t},\n\t\t[query, updateOptions]\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 containerRef = useRef<HTMLDivElement>(null);\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\n\t// disabled for now, awaiting refactor of the search bar\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 runSearchOnKeyUp = (ev: KeyboardEvent): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tonSearch();\n\t\t\t\tremoveFocus();\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', runSearchOnKeyUp);\n\t\t}\n\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', runSearchOnKeyUp);\n\t\t\t}\n\t\t};\n\t}, [onSearch, removeFocus]);\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\n\tconst searchButtonsAreDisabled = useMemo(\n\t\t() => (isTyping ? false : !showClear),\n\t\t[showClear, isTyping]\n\t);\n\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (!searchButtonsAreDisabled && searchInputValue.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}, [searchButtonsAreDisabled, searchInputValue.length, inputHasFocus, query.length, t]);\n\n\tconst onChipAdd = useCallback<NonNullable<ChipInputProps['onAdd']>>(\n\t\t(newChip) => {\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\tsetSearchInputValue(map(query, (queryChip) => ({ ...queryChip, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\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={searchInputValue}\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{!searchButtonsAreDisabled && (\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={searchButtonsAreDisabled}\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={searchButtonsAreDisabled}\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 type { QueryChip, SearchState } from '../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 { TFunction, TOptions } from 'i18next';\nimport { useUserAccount } from '../store/account';\nimport { getT } from '../store/i18n';\nimport { AccountsSettings } from './accounts-settings';\nimport { Account, IdentityProps } from '../../types';\n\nconst tDefault = (key: string, defaultValue?: string | TOptions): string => {\n\tif (typeof defaultValue === 'string') {\n\t\treturn defaultValue;\n\t}\n\treturn defaultValue?.defaultValue || key;\n};\n\nexport const identityToIdentityProps = (\n\tidentity: Account['identities']['identity'][0],\n\tindex: number,\n\tt: TFunction | typeof tDefault = tDefault\n): IdentityProps => ({\n\tid: identity.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\tflgType: identity.name === 'DEFAULT' ? 'primary' : 'persona',\n\ttype: identity.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\tidentityId: identity._attrs?.zimbraPrefIdentityId || '',\n\tfromAddress: identity._attrs?.zimbraPrefFromAddress || '',\n\tidentityName: identity._attrs?.zimbraPrefIdentityName || '',\n\tfromDisplay: identity._attrs?.zimbraPrefFromDisplay || '',\n\treplyToDisplay: identity._attrs?.zimbraPrefReplyToDisplay || '',\n\treplyToAddress: identity._attrs?.zimbraPrefReplyToAddress || '',\n\treplyToEnabled: identity._attrs?.zimbraPrefReplyToEnabled || '',\n\tsaveToSent: identity._attrs?.zimbraPrefSaveToSent || '',\n\tsentMailFolder: identity._attrs?.zimbraPrefSentMailFolder || '',\n\twhenInFoldersEnabled: identity._attrs?.zimbraPrefWhenInFoldersEnabled || '',\n\twhenSentToEnabled: identity._attrs?.zimbraPrefWhenSentToEnabled || ''\n});\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\tidentityToIdentityProps(item, index, t)\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 account={accountSettings} identitiesDefault={identitiesDefault} />\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 {\n\tmap,\n\tfind,\n\treplace,\n\tlowerFirst,\n\tisEmpty,\n\tuniq,\n\tisArray,\n\treduce,\n\tfindIndex,\n\tfilter,\n\tsize\n} from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useAccountStore, useUserSettings } from '../store/account';\nimport type { Account, AccountSettings, ModifyIdentityRequest, IdentityProps } from '../../types';\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 Delegates, { DelegateType } from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport {\n\tBatchRequest,\n\tCreateIdentityResponse,\n\tDeleteIdentityResponse,\n\tModifyIdentityResponse,\n\tCreateIdentityRequest,\n\tDeleteIdentityRequest,\n\tAccountState,\n\tIdentityAttrs,\n\tGetRightsRequest,\n\tGetRightsResponse\n} from '../../types';\nimport { getSoapFetch } from '../network/fetch';\nimport { SHELL_APP_ID } from '../constants';\nimport SettingsHeader, { SettingsHeaderProps } from './components/settings-header';\n\ntype AccountSettingsProps = {\n\taccount: Account;\n\tidentitiesDefault: IdentityProps[];\n};\n\n/**\n * Compose a unique list of all identities' email addresses\n *\n * The list is composed of:\n * - the email address of the current account\n * - the email addresses of all the shared accounts (taken from the rights infos)\n * - all the aliases\n *\n * @param account\n * @param settings\n *\n * @returns a list of unique email addresses\n */\nconst getAvailableEmailAddresses = (account: Account, settings: AccountSettings): string[] => {\n\tconst result: string[] = [];\n\n\t// Adds the email address of the primary account\n\tresult.push(account.name);\n\n\t// Adds the email addresses of all the shared accounts\n\tif (account.rights?.targets) {\n\t\taccount.rights?.targets.forEach((target) => {\n\t\t\tif (target.target && (target.right === 'sendAs' || target.right === 'sendOnBehalfOf')) {\n\t\t\t\ttarget.target.forEach((user) => {\n\t\t\t\t\tif (user.type === 'account' && user.email) {\n\t\t\t\t\t\tuser.email.forEach((email) => {\n\t\t\t\t\t\t\tresult.push(email.addr);\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\t// Adds all the aliases\n\tif (settings.attrs.zimbraMailAlias) {\n\t\tif (isArray(settings.attrs.zimbraMailAlias)) {\n\t\t\tresult.push(...(settings.attrs.zimbraMailAlias as string[]));\n\t\t} else {\n\t\t\tresult.push(String(settings.attrs.zimbraMailAlias));\n\t\t}\n\t}\n\n\treturn uniq(result);\n};\n\ntype IdentityAttrsRecord<T extends string | number> = Record<T, Partial<IdentityAttrs>>;\n\nexport const AccountsSettings = ({\n\taccount,\n\tidentitiesDefault\n}: AccountSettingsProps): ReactElement => {\n\tconst [t] = useTranslation();\n\n\tconst [createList, setCreateList] = useState<NonNullable<IdentityAttrsRecord<number>>>({});\n\tconst [deleteList, setDeleteList] = useState<Array<string>>([]);\n\tconst [modifyList, setModifyList] = useState<NonNullable<IdentityAttrsRecord<string>>>({});\n\n\tconst resetLists = useCallback(() => {\n\t\tsetCreateList({});\n\t\tsetDeleteList([]);\n\t\tsetModifyList({});\n\t}, []);\n\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst settings = useUserSettings();\n\tconst maxIdentities = settings.attrs.zimbraIdentityMaxNumEntries;\n\n\tconst onCancel = useCallback(() => {\n\t\tresetLists();\n\t\tsetIdentities(identitiesDefault);\n\t\tsetSelectedIdentityId(size(identitiesDefault) - 1);\n\t}, [identitiesDefault, resetLists]);\n\n\tconst updateModifyList = useCallback<\n\t\t<K extends keyof IdentityAttrs>(id: string, key: K, value: IdentityAttrs[K]) => void\n\t>(\n\t\t(id, key, value) => {\n\t\t\tsetModifyList((prevState) => {\n\t\t\t\tconst updatedIdentityKey = lowerFirst(\n\t\t\t\t\treplace(key, 'zimbraPref', '')\n\t\t\t\t) as keyof IdentityProps;\n\n\t\t\t\tconst prevRecordPrefs = prevState[id] || {};\n\t\t\t\tconst actualIdentity = find(identitiesDefault, (item) => item.identityId === id);\n\n\t\t\t\tconst newModifyList = {\n\t\t\t\t\t...prevState,\n\t\t\t\t\t[id]: {\n\t\t\t\t\t\t...prevRecordPrefs,\n\t\t\t\t\t\t[key]: value\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (actualIdentity && actualIdentity[updatedIdentityKey] === value) {\n\t\t\t\t\tdelete newModifyList[id][key];\n\t\t\t\t}\n\t\t\t\tif (size(newModifyList[id]) === 0) {\n\t\t\t\t\tdelete newModifyList[id];\n\t\t\t\t}\n\t\t\t\treturn newModifyList;\n\t\t\t});\n\t\t},\n\t\t[identitiesDefault]\n\t);\n\n\tconst modifyCreateList = useCallback<\n\t\t<K extends keyof IdentityAttrs>(id: number, key: K, value: IdentityAttrs[K]) => void\n\t>((id, key, value) => {\n\t\tsetCreateList((prevState) => {\n\t\t\tconst newCreateList = { ...prevState };\n\t\t\tnewCreateList[id][key] = value;\n\t\t\treturn newCreateList;\n\t\t});\n\t}, []);\n\tconst addIdentity = useCallback<(id: number, identityAttrs: IdentityAttrs) => void>(\n\t\t(id, identityAttrs) => {\n\t\t\tsetCreateList((prevState) => ({ ...prevState, [id]: identityAttrs }));\n\t\t},\n\t\t[]\n\t);\n\n\tconst updateIdentities = useCallback<\n\t\t<K extends keyof IdentityAttrs>(id: string | number, key: K, value: IdentityAttrs[K]) => void\n\t>(\n\t\t(id, key, value) => {\n\t\t\tif (typeof id === 'string') {\n\t\t\t\tupdateModifyList(id, key, value);\n\t\t\t} else {\n\t\t\t\tmodifyCreateList(id, key, value);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(key, 'zimbraPref', ''));\n\t\t\tsetIdentities((prevState) =>\n\t\t\t\tmap(prevState, (item) =>\n\t\t\t\t\titem.identityId === id ? { ...item, [updatedIdentityKey]: value } : item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[updateModifyList, modifyCreateList]\n\t);\n\n\tconst removeIdentity = useCallback((identityId: string | number) => {\n\t\tif (typeof identityId === 'string') {\n\t\t\tsetDeleteList((prevState) => [...prevState, identityId]);\n\t\t\tsetModifyList((prevState) => {\n\t\t\t\tif (prevState[identityId]) {\n\t\t\t\t\tconst newModifyList = { ...prevState };\n\t\t\t\t\tdelete newModifyList[identityId];\n\t\t\t\t\treturn newModifyList;\n\t\t\t\t}\n\t\t\t\treturn prevState;\n\t\t\t});\n\t\t} else {\n\t\t\tsetCreateList((prevState) => {\n\t\t\t\tif (prevState[identityId]) {\n\t\t\t\t\tconst newCreateList = { ...prevState };\n\t\t\t\t\tdelete newCreateList[identityId];\n\t\t\t\t\treturn newCreateList;\n\t\t\t\t}\n\t\t\t\treturn prevState;\n\t\t\t});\n\t\t}\n\t}, []);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tresetLists();\n\t}, [identitiesDefault, resetLists]);\n\n\tconst onSave = useCallback<SettingsHeaderProps['onSave']>(() => {\n\t\tif (\n\t\t\tmaxIdentities !== undefined &&\n\t\t\tidentitiesDefault.length + (size(createList) || 0) - (deleteList?.length || 0) > maxIdentities\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 identity 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 Promise.allSettled([\n\t\t\t\tPromise.reject(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t'The identity could not be created because you have exceeded your identity quota'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t]);\n\t\t}\n\n\t\tlet createIdentityRequests: Array<CreateIdentityRequest> = [];\n\t\tif (createList) {\n\t\t\tcreateIdentityRequests = map(\n\t\t\t\tcreateList,\n\t\t\t\t(item): CreateIdentityRequest => ({\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tidentity: {\n\t\t\t\t\t\tname: item.zimbraPrefIdentityName,\n\t\t\t\t\t\t_attrs: {\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\tzimbraPrefFromAddressType: item.zimbraPrefFromAddressType || 'sendAs'\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\tlet deleteRequests: Array<DeleteIdentityRequest> = [];\n\t\tif (deleteList) {\n\t\t\tdeleteRequests = map(\n\t\t\t\tdeleteList,\n\t\t\t\t(identityId, index): DeleteIdentityRequest => ({\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tidentity: { id: identityId },\n\t\t\t\t\trequestId: index.toString()\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tlet modifyIdentityRequests: Array<ModifyIdentityRequest> = [];\n\t\tif (modifyList) {\n\t\t\tmodifyIdentityRequests = map(\n\t\t\t\tmodifyList,\n\t\t\t\t(item, index): ModifyIdentityRequest => ({\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tidentity: {\n\t\t\t\t\t\tid: index,\n\t\t\t\t\t\t_attrs: item\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tconst promise = getSoapFetch(SHELL_APP_ID)<\n\t\t\tBatchRequest,\n\t\t\t{\n\t\t\t\tModifyIdentityResponse?: ModifyIdentityResponse[];\n\t\t\t\tDeleteIdentityResponse?: DeleteIdentityResponse[];\n\t\t\t\tCreateIdentityResponse?: CreateIdentityResponse[];\n\t\t\t}\n\t\t>('Batch', {\n\t\t\t_jsns: 'urn:zimbra',\n\t\t\tDeleteIdentityRequest: deleteRequests.length > 0 ? deleteRequests : undefined,\n\t\t\tCreateIdentityRequest: createIdentityRequests.length > 0 ? createIdentityRequests : undefined,\n\t\t\tModifyIdentityRequest: modifyIdentityRequests.length > 0 ? modifyIdentityRequests : undefined\n\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tuseAccountStore.setState((s: AccountState) => {\n\t\t\t\t\tlet newIdentity;\n\t\t\t\t\tif (typeof s.account !== 'undefined') {\n\t\t\t\t\t\tconst filteredIdentities = filter(\n\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t(item) => !deleteList?.includes(item.id)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfilteredIdentities.splice(\n\t\t\t\t\t\t\t-1,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t...map(res?.CreateIdentityResponse, (item) => item.identity[0])\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnewIdentity = reduce(\n\t\t\t\t\t\t\tmodifyList,\n\t\t\t\t\t\t\t(acc, prefs, id) => {\n\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\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\tacc[propIndex]._attrs = {\n\t\t\t\t\t\t\t\t\t\t...acc[propIndex]._attrs,\n\t\t\t\t\t\t\t\t\t\t...prefs\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif (prefs.zimbraPrefIdentityName && acc[propIndex].name !== 'DEFAULT') {\n\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\tacc[propIndex].name = prefs.zimbraPrefIdentityName;\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\treturn acc;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tfilteredIdentities\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...s,\n\t\t\t\t\t\taccount: {\n\t\t\t\t\t\t\t...s.account,\n\t\t\t\t\t\t\tdisplayName:\n\t\t\t\t\t\t\t\tfind(modifyList, (item) => item.zimbraPrefIdentityId === s?.account?.id)\n\t\t\t\t\t\t\t\t\t?.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\t\t\t\tidentities: {\n\t\t\t\t\t\t\t\tidentity: newIdentity\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} as Account\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tresetLists();\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((error: unknown) => {\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\tif (error instanceof Error) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow new Error(typeof error === 'string' ? error : 'edit setting error');\n\t\t\t});\n\t\treturn Promise.allSettled([promise]);\n\t}, [\n\t\tidentitiesDefault.length,\n\t\tcreateList,\n\t\tdeleteList,\n\t\tmaxIdentities,\n\t\tmodifyList,\n\t\tresetLists,\n\t\tcreateSnackbar,\n\t\tt\n\t]);\n\n\tconst title: string = t('label.accounts', 'Accounts');\n\tconst isDirty = useMemo(\n\t\t() => !isEmpty(createList) || !isEmpty(deleteList) || !isEmpty(modifyList),\n\t\t[createList, deleteList, modifyList]\n\t);\n\tconst availableEmailAddresses = useMemo(\n\t\t() => getAvailableEmailAddresses(account, settings),\n\t\t[account, settings]\n\t);\n\n\tconst [delegates, setDelegates] = useState<DelegateType[]>([]);\n\n\tuseEffect(() => {\n\t\tgetSoapFetch(SHELL_APP_ID)<GetRightsRequest, GetRightsResponse>('GetRights', {\n\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\tace: [{ right: 'sendAs' }, { right: 'sendOnBehalfOf' }]\n\t\t}).then((value) => {\n\t\t\tif (value.ace) {\n\t\t\t\tconst { ace } = value;\n\t\t\t\tconst result = reduce(\n\t\t\t\t\tace,\n\t\t\t\t\t(accumulator: Array<DelegateType>, item, idx) => {\n\t\t\t\t\t\tconst index = findIndex(accumulator, { email: item.d });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\taccumulator.push({ email: item.d || '', right: item.right, id: idx.toString() });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\taccumulator.push({\n\t\t\t\t\t\t\t\temail: item.d || '',\n\t\t\t\t\t\t\t\tright: `${item.right} and ${accumulator[index].right}`,\n\t\t\t\t\t\t\t\tid: idx.toString()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\taccumulator.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\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\taccountName={account.name}\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\tremoveIdentity={removeIdentity}\n\t\t\t\t\taddIdentity={addIdentity}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.flgType === '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\taccount={account}\n\t\t\t\t\t\t\tidentity={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\tidentity={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\tavailableEmailAddresses={availableEmailAddresses}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Delegates delegates={delegates} />\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.flgType === '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\tidentity={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\tavailableEmailAddresses={availableEmailAddresses}\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, useContext, useRef } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tIcon,\n\tModalManagerContext,\n\tItemComponentProps\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max } from 'lodash';\nimport { IdentityProps, IdentityAttrs } from '../../../../types';\n\nexport type AccountsListProps = {\n\tt: TFunction;\n\taccountName: string;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tremoveIdentity: (identityId: string | number) => void;\n\taddIdentity: (id: number, identityAttrs: IdentityAttrs) => void;\n};\n\nconst AccountsList = ({\n\tt,\n\taccountName,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tremoveIdentity,\n\taddIdentity\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\tdata-testid={`account-list-item-${item.identityId}`}\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.flgType === 'primary' ? accountName : 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 createListRequestIdRef = useRef(0);\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\tsetIdentities([\n\t\t\t...identities,\n\t\t\t{\n\t\t\t\tid: `${identities.length}`,\n\t\t\t\tflgType: 'persona',\n\t\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\t\tidentityId: createListRequestIdRef.current,\n\t\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\t\tidentityName: newPersonaName,\n\t\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\t\treplyToEnabled: 'FALSE'\n\t\t\t}\n\t\t]);\n\t\taddIdentity(createListRequestIdRef.current, {\n\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\tzimbraPrefReplyToEnabled: 'FALSE'\n\t\t});\n\t\tcreateListRequestIdRef.current += 1;\n\t\tsetSelectedIdentityId(identities.length);\n\t}, [identities, setIdentities, t, addIdentity, setSelectedIdentityId]);\n\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\tsetIdentities(newIdentities);\n\t\tremoveIdentity(identities[selectedIdentityId].identityId);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [identities, setIdentities, removeIdentity, selectedIdentityId, setSelectedIdentityId]);\n\tconst onDelete = useCallback((): void => {\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_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={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={onDelete}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.flgType === '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, useCallback, 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 { noop } from 'lodash';\nimport { useTranslation } from 'react-i18next';\n\nexport interface DelegateType extends ItemType {\n\temail: string;\n\tright: string;\n\tlabel?: string;\n}\n\ntype DelegatesProps = {\n\tdelegates: DelegateType[];\n};\n\nconst Delegates = ({ delegates }: DelegatesProps): JSX.Element => {\n\tconst [t] = useTranslation();\n\n\tconst [activeDelegate, setActiveDelegate] = useState<string>('0');\n\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst ListItem = ({ item }: ItemComponentProps<DelegateType>): ReactElement => {\n\t\tconst setActiveDelegateCallback = useCallback(() => setActiveDelegate(item.id), [item.id]);\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Container\n\t\t\t\t\tonClick={setActiveDelegateCallback}\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Row>\n\n\t\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t\t</Container>\n\t\t\t\t<Divider />\n\t\t\t</>\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={delegates} ItemComponent={ListItem} active={activeDelegate} 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 { IdentityAttrs, IdentityProps } from '../../../../types';\n\ninterface PersonaSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: <K extends keyof IdentityAttrs>(\n\t\tid: string | number,\n\t\tkey: K,\n\t\tvalue: IdentityAttrs[K]\n\t) => void;\n}\n\nconst PersonaSettings = ({ t, items, updateIdentities }: PersonaSettingsProps): ReactElement => {\n\tconst [personaValue, setPersonaValue] = useState(items.identityName);\n\tconst personaLabel = useMemo(() => t('label.persona_name', 'Persona Name'), [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\tupdateIdentities(items.identityId, 'zimbraPrefIdentityName', ev.target.value);\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 React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport { Container, Text, Padding, Input, Row, InputProps } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { Account, IdentityAttrs, IdentityProps } from '../../../../types';\n\ninterface PrimaryAccountSettingsProps {\n\tt: TFunction;\n\taccount: Account;\n\tidentity: IdentityProps;\n\tupdateIdentities: <K extends keyof IdentityAttrs>(\n\t\tid: string | number,\n\t\tkey: K,\n\t\tvalue: IdentityAttrs[K]\n\t) => void;\n}\n\nconst PrimaryAccountSettings = ({\n\tt,\n\taccount,\n\tidentity,\n\tupdateIdentities\n}: PrimaryAccountSettingsProps): ReactElement => {\n\tconst emailLabel = useMemo(() => t('label.email_address', 'E-mail address'), [t]);\n\tconst [accountNameValue, setAccountNameValue] = useState(identity?.identityName);\n\n\tuseEffect(() => setAccountNameValue(identity.identityName), [identity.identityName]);\n\tconst accountLabel = useMemo(() => t('label.account_name', 'Account Name'), [t]);\n\n\tconst onChangeDisabled = useCallback(() => null, []);\n\tconst onChange = useCallback<NonNullable<InputProps['onChange']>>(\n\t\t(ev): void => {\n\t\t\tsetAccountNameValue(ev.target.value);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefIdentityName', ev.target.value);\n\t\t},\n\t\t[updateIdentities, identity.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={account.name || ' '} onChange={onChangeDisabled} />\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Input label={accountLabel} value={accountNameValue} onChange={onChange} />\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\tDropdownItem,\n\tIcon,\n\tInput,\n\tInputProps,\n\tPadding,\n\tRow,\n\tSelect,\n\tSelectItem,\n\tSingleSelectionOnChange,\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 { IdentityAttrs, IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype SettingsSentMessagesProps = {\n\tt: TFunction;\n\tidentity: IdentityProps;\n\tisExternalAccount: boolean;\n\tupdateIdentities: <K extends keyof IdentityAttrs>(\n\t\tid: string | number,\n\t\tkey: K,\n\t\tvalue: IdentityAttrs[K]\n\t) => void;\n\tavailableEmailAddresses?: string[];\n};\n\nconst blankItem: SelectItem = { label: '', value: '' };\n\nconst SettingsSentMessages = ({\n\tt,\n\tidentity,\n\tisExternalAccount,\n\tupdateIdentities,\n\tavailableEmailAddresses\n}: SettingsSentMessagesProps): ReactElement => {\n\tconst title = useMemo(() => t('label.settings_sent_messages', 'Settings for Sent Messages'), [t]);\n\tconst [replyToEnabledValue, setReplyToEnabledValue] = useState(\n\t\tidentity.replyToEnabled === 'TRUE'\n\t);\n\tconst [replyToAddress, setReplyToAddress] = useState<string>(identity.replyToAddress || '');\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\n\tconst [fromDisplayValue, setFromDisplayValue] = useState<string>(identity.fromDisplay || '');\n\tconst [replyToDisplay, setReplyToDisplay] = useState<string>(identity?.replyToDisplay || '');\n\tconst fromAddressArray = useMemo(\n\t\t(): SelectItem[] =>\n\t\t\tavailableEmailAddresses\n\t\t\t\t? availableEmailAddresses.map((address): SelectItem => ({ value: address, label: address }))\n\t\t\t\t: [blankItem],\n\t\t[availableEmailAddresses]\n\t);\n\tconst [fromAddress, setFromAddress] = useState(\n\t\t() => find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem\n\t);\n\n\tuseEffect(() => {\n\t\tsetReplyToEnabledValue(identity.replyToEnabled === 'TRUE');\n\t}, [identity.replyToEnabled]);\n\tuseEffect(() => {\n\t\tsetFromDisplayValue(identity.fromDisplay || '');\n\t}, [identity.fromDisplay]);\n\tuseEffect(() => {\n\t\tconst k = find(fromAddressArray, (item) => item.value === identity.fromAddress) ?? blankItem;\n\t\tsetFromAddress(k);\n\t}, [fromAddressArray, identity.fromAddress]);\n\tuseEffect(() => {\n\t\tsetReplyToDisplay(identity?.replyToDisplay === undefined ? '' : identity?.replyToDisplay);\n\t}, [identity?.replyToDisplay]);\n\tuseEffect(() => {\n\t\tsetReplyToAddress(identity.replyToAddress || '');\n\t}, [identity.replyToAddress]);\n\n\tconst onClickReplyToEnabled = useCallback(() => {\n\t\tsetReplyToEnabledValue((prevState) => {\n\t\t\tconst newState = !prevState;\n\t\t\tupdateIdentities(\n\t\t\t\tidentity.identityId,\n\t\t\t\t'zimbraPrefReplyToEnabled',\n\t\t\t\tprevState ? 'FALSE' : 'TRUE'\n\t\t\t);\n\t\t\treturn newState;\n\t\t});\n\t}, [identity.identityId, updateIdentities]);\n\n\tconst fromDisplayLabel = useMemo(() => t('label.from_name', 'From: \"Name\"'), [t]);\n\tconst onChangeFromDisplayValue: InputProps['onChange'] = (e) => {\n\t\tsetFromDisplayValue(e.target.value);\n\t\tupdateIdentities(identity.identityId, 'zimbraPrefFromDisplay', e.target.value);\n\t};\n\n\tconst fromAddressLabel = useMemo(() => t('label.address', 'Address'), [t]);\n\n\tconst onChangeFromAddress = useCallback<SingleSelectionOnChange>(\n\t\t(newAddress) => {\n\t\t\tif (!newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (fromAddress?.value === newAddress) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetFromAddress(filter(fromAddressArray, (item) => item.value === newAddress)[0]);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefFromAddress', newAddress);\n\t\t},\n\t\t[identity.identityId, updateIdentities, fromAddressArray, fromAddress.value]\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() => t('label.reply_to_field_example', 'e.g. Bob Smith'),\n\t\t[t]\n\t);\n\tconst onChangePrefReplyToDisplay = useCallback<NonNullable<InputProps['onChange']>>(\n\t\t(e) => {\n\t\t\tsetReplyToDisplay(e.target.value);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefReplyToDisplay', e.target.value);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst replyToAddressLabel = useMemo(() => t('label.choose_account', 'Choose an account'), [t]);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(value: string) => {\n\t\t\tsetReplyToAddress(value);\n\t\t\tupdateIdentities(identity.identityId, 'zimbraPrefReplyToAddress', value);\n\t\t},\n\t\t[updateIdentities, identity.identityId]\n\t);\n\n\tconst replyToAddressArray = useMemo(\n\t\t(): DropdownItem[] => [\n\t\t\t{\n\t\t\t\tid: '0',\n\t\t\t\tlabel: identity.fromAddress ?? '',\n\t\t\t\tonClick: () => onChangeReplyToAddress(identity.fromAddress ?? '')\n\t\t\t}\n\t\t],\n\t\t[identity.fromAddress, onChangeReplyToAddress]\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{/* zimbraPrefFromDisplay */}\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={onChangeFromDisplayValue}\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{/* zimbraPrefFromAddress */}\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={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{/* zimbraPrefReplyToEnabled */}\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={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{/* zimbraPrefReplyToDisplay */}\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={onChangePrefReplyToDisplay}\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{/* zimbraPrefReplyToAddress */}\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, 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, SelectItem, SingleSelectionOnChange, Text } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { AddMod, DarkReaderPropValues, 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 {\n\tisDarkReaderPropValues,\n\tuseDarkReaderResultValue\n} from '../../../dark-mode/use-dark-reader-result-value';\n\ntype DarkReaderSelectItem = Array<SelectItem & { value: DarkReaderPropValues }>;\n\ninterface DarkThemeSettingSectionProps {\n\taddMod: AddMod;\n\tremoveMod: RemoveMod;\n}\n\nconst DarkThemeSettingSection = ({\n\taddMod,\n\tremoveMod\n}: DarkThemeSettingSectionProps): JSX.Element | null => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tconst [selection, setSelection] = useState<SelectItem>();\n\n\tconst t = getT();\n\tconst items = useMemo(\n\t\t(): DarkReaderSelectItem => [\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\n\tconst setSelectNewValue = useCallback(\n\t\t(value: DarkReaderPropValues) => {\n\t\t\tconst item = find(items, { value });\n\t\t\tif (item) {\n\t\t\t\tsetSelection(item);\n\t\t\t}\n\t\t\tsetDarkReaderState(value);\n\t\t},\n\t\t[items, setDarkReaderState]\n\t);\n\n\tconst onSelectionChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (isDarkReaderPropValues(value)) {\n\t\t\t\tif (value) {\n\t\t\t\t\tsetSelectNewValue(value);\n\t\t\t\t}\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, setSelectNewValue]\n\t);\n\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetSelectNewValue(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, items, setSelectNewValue]);\n\n\tif (!selection) {\n\t\treturn null;\n\t}\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={selection}\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 { 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\nimport {\n\tBadge,\n\tContainer,\n\tDivider,\n\tFormSubSection,\n\tText,\n\tTextProps,\n\tTooltip,\n\tuseTheme\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { useCallback, useMemo } from 'react';\nimport { useAppList } from '../../../store/app';\n\nimport { CarbonioModule } from '../../../../types';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants';\nimport { getT } from '../../../store/i18n';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings = (): JSX.Element => {\n\tconst apps = useAppList();\n\tconst t = getT();\n\tconst theme = useTheme();\n\n\tconst copyToClipboard = useCallback<NonNullable<TextProps['onClick']>>((e) => {\n\t\te.preventDefault();\n\t\tif (e.target instanceof HTMLElement) {\n\t\t\tnavigator.clipboard.writeText(e.target.innerText);\n\t\t}\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\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>{app.display}</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={copyToClipboard}>\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/>\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\tSelect,\n\tSelectItem,\n\tSingleSelectionOnChange,\n\tTextArea,\n\tTextAreaProps\n} from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { find } from 'lodash';\nimport { type TFunction } from 'i18next';\nimport { AccountSettings, AccountSettingsPrefs, AddMod, BooleanString } from '../../../../types';\nimport Heading from '../settings-heading';\nimport { OutOfOfficeTimePeriodSection } from './out-of-office-time-period-section';\nimport { getT } from '../../../store/i18n';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\nimport {\n\tdateToGenTime,\n\tResetComponentImperativeHandler,\n\tSettingsSectionProps,\n\tupsertPrefOnUnsavedChanges\n} from '../utils';\nimport { useReset } from '../../hooks/use-reset';\n\ntype CoercedPrefType<T> = T extends BooleanString | undefined ? boolean | undefined : T;\n\nexport const buildItemsPrefOutOfOfficeReplyEnabled = (\n\tt: TFunction\n): Array<\n\tSelectItem<\n\t\tNonNullable<CoercedPrefType<AccountSettingsPrefs['zimbraPrefOutOfOfficeReplyEnabled']>>\n\t>\n> => [\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\ntype ExternalSenders =\n\t| 'SEND_AUTO_REPLY'\n\t| 'SHOW_EXTERNAL_INPUT'\n\t| 'SEND_NOT_IN_ORG'\n\t| 'SUPPRESS_EXTERNAL';\n\nexport const buildItemsExternalSenders = (\n\tt: TFunction\n): Record<ExternalSenders, SelectItem<ExternalSenders>> => ({\n\tSEND_AUTO_REPLY: {\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\tSHOW_EXTERNAL_INPUT: {\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\tSEND_NOT_IN_ORG: {\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\tSUPPRESS_EXTERNAL: {\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 getExternalSendersPrefsData = (\n\tsettings: AccountSettings,\n\tt: TFunction\n): SelectItem<ExternalSenders> => {\n\tconst itemsExternalSenders = buildItemsExternalSenders(t);\n\tif (\n\t\tsettings.prefs.zimbraPrefOutOfOfficeSuppressExternalReply === 'FALSE' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'FALSE'\n\t) {\n\t\treturn itemsExternalSenders.SEND_AUTO_REPLY;\n\t}\n\tif (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALL' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\treturn itemsExternalSenders.SHOW_EXTERNAL_INPUT;\n\t}\n\tif (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALLNOTINAB' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\treturn itemsExternalSenders.SEND_NOT_IN_ORG;\n\t}\n\treturn itemsExternalSenders.SUPPRESS_EXTERNAL;\n};\n\ninterface OutOfOfficeViewProps extends SettingsSectionProps {\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n}\n\nexport const OutOfOfficeSettings = ({\n\tsettings,\n\taddMod,\n\tresetRef\n}: OutOfOfficeViewProps): JSX.Element => {\n\tconst t = getT();\n\tconst outOfOfficeSectionTitle = useMemo(() => outOfOfficeSubSection(t), [t]);\n\tconst [prefOutOfOfficeReplyEnabled, setPrefOutOfOfficeReplyEnabled] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t);\n\tconst [prefOutOfOfficeReply, setPrefOutOfOfficeReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReply ?? ''\n\t);\n\tconst [prefOutOfOfficeExternalReplyEnabled, setPrefOutOfOfficeExternalReplyEnabled] =\n\t\tuseState<boolean>(settings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE');\n\tconst [prefOutOfOfficeExternalReply, setPrefOutOfOfficeExternalReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReply ?? ''\n\t);\n\tconst [externalSendersSelectedItem, setExternalSendersSelectedItem] = useState<\n\t\tSelectItem<ExternalSenders>\n\t>(getExternalSendersPrefsData(settings, t));\n\tconst [sendAutoReplyTimePeriodEnabled, setSendAutoReplyTimePeriodEnabled] = useState<boolean>(\n\t\t!!settings.prefs.zimbraPrefOutOfOfficeFromDate &&\n\t\t\t!!settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t);\n\n\tconst outOfOfficeTimePeriodResetRef = useRef<ResetComponentImperativeHandler>(null);\n\n\tconst initPrefs = useCallback(() => {\n\t\tsetPrefOutOfOfficeReplyEnabled(settings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE');\n\t\tsetPrefOutOfOfficeReply(settings.prefs.zimbraPrefOutOfOfficeReply ?? '');\n\t\tsetPrefOutOfOfficeExternalReplyEnabled(\n\t\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t\t);\n\t\tsetPrefOutOfOfficeExternalReply(settings.prefs.zimbraPrefOutOfOfficeExternalReply ?? '');\n\t\tsetExternalSendersSelectedItem(getExternalSendersPrefsData(settings, t));\n\t\tsetSendAutoReplyTimePeriodEnabled(\n\t\t\t!!settings.prefs.zimbraPrefOutOfOfficeFromDate &&\n\t\t\t\t!!settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t\t);\n\t\toutOfOfficeTimePeriodResetRef.current?.reset();\n\t}, [settings, t]);\n\n\tuseEffect(() => {\n\t\tinitPrefs();\n\t}, [initPrefs]);\n\n\tuseReset(resetRef, initPrefs);\n\n\tconst updatePref = useMemo(() => upsertPrefOnUnsavedChanges(addMod), [addMod]);\n\n\tconst prefOutOfOfficeReplyEnabledSelectItems = useMemo(\n\t\t() => buildItemsPrefOutOfOfficeReplyEnabled(t),\n\t\t[t]\n\t);\n\n\tconst prefOutOfOfficeReplyEnabledSelectedValue = useMemo<SelectItem<boolean>>(\n\t\t() =>\n\t\t\tfind(\n\t\t\t\tprefOutOfOfficeReplyEnabledSelectItems,\n\t\t\t\t(item) => item.value === prefOutOfOfficeReplyEnabled\n\t\t\t) as SelectItem<boolean>,\n\t\t[prefOutOfOfficeReplyEnabled, prefOutOfOfficeReplyEnabledSelectItems]\n\t);\n\n\tconst prefOutOfOfficeReplyEnabledOnChange = useCallback<\n\t\tSingleSelectionOnChange<\n\t\t\tNonNullable<CoercedPrefType<AccountSettingsPrefs['zimbraPrefOutOfOfficeReplyEnabled']>>\n\t\t>\n\t>(\n\t\t(value): void => {\n\t\t\tif (value !== null) {\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeReplyEnabled', value);\n\t\t\t\tsetPrefOutOfOfficeReplyEnabled(value);\n\t\t\t}\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst externalSendersSelectItems = useMemo(\n\t\t() => Object.values(buildItemsExternalSenders(t)),\n\t\t[t]\n\t);\n\n\tconst externalSendersHandler = useCallback(\n\t\t(value: ExternalSenders) => {\n\t\t\tif (value === 'SEND_AUTO_REPLY') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'INSD');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', false);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', false);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(false);\n\t\t\t} else if (value === 'SHOW_EXTERNAL_INPUT') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'ALL');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', true);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', false);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(true);\n\t\t\t} else if (value === 'SEND_NOT_IN_ORG') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'ALLNOTINAB');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', true);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', false);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(true);\n\t\t\t} else if (value === 'SUPPRESS_EXTERNAL') {\n\t\t\t\tupdatePref('zimbraPrefExternalSendersType', 'INAB');\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReplyEnabled', false);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeSuppressExternalReply', true);\n\t\t\t\tsetPrefOutOfOfficeExternalReplyEnabled(false);\n\t\t\t}\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst externalSendersOnChange = useCallback<SingleSelectionOnChange<ExternalSenders>>(\n\t\t(value) => {\n\t\t\tif (value !== null) {\n\t\t\t\texternalSendersHandler(value);\n\t\t\t\tconst newSelectItem = find(externalSendersSelectItems, (item) => item.value === value);\n\t\t\t\tnewSelectItem && setExternalSendersSelectedItem(newSelectItem);\n\t\t\t}\n\t\t},\n\t\t[externalSendersHandler, externalSendersSelectItems]\n\t);\n\n\tconst prefOutOfOfficeReplyOnChange = useCallback<NonNullable<TextAreaProps['onChange']>>(\n\t\t(ev) => {\n\t\t\tsetPrefOutOfOfficeReply(ev.target.value);\n\t\t\tupdatePref('zimbraPrefOutOfOfficeReply', ev.target.value);\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst prefOutOfOfficeExternalReplyOnChange = useCallback<NonNullable<TextAreaProps['onChange']>>(\n\t\t(ev) => {\n\t\t\tsetPrefOutOfOfficeExternalReply(ev.target.value);\n\t\t\tupdatePref('zimbraPrefOutOfOfficeExternalReply', ev.target.value);\n\t\t},\n\t\t[updatePref]\n\t);\n\n\tconst toggleSendAutoReplyTimePeriod = useCallback(() => {\n\t\tsetSendAutoReplyTimePeriodEnabled((prevState) => {\n\t\t\tconst nextState = !prevState;\n\t\t\tif (!nextState) {\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', undefined);\n\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', undefined);\n\t\t\t} else {\n\t\t\t\tif (!settings.prefs.zimbraPrefOutOfOfficeFromDate) {\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(new Date()));\n\t\t\t\t}\n\t\t\t\tif (!settings.prefs.zimbraPrefOutOfOfficeUntilDate) {\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(new Date()));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nextState;\n\t\t});\n\t}, [\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tsettings.prefs.zimbraPrefOutOfOfficeUntilDate,\n\t\tupdatePref\n\t]);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={outOfOfficeSectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 32rem))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={outOfOfficeSectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }} gap={'0.5rem'}>\n\t\t\t\t<Select\n\t\t\t\t\titems={prefOutOfOfficeReplyEnabledSelectItems}\n\t\t\t\t\tlabel={t('label.out_of_office', 'Out of Office')}\n\t\t\t\t\tonChange={prefOutOfOfficeReplyEnabledOnChange}\n\t\t\t\t\tselection={prefOutOfOfficeReplyEnabledSelectedValue}\n\t\t\t\t/>\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={prefOutOfOfficeReply}\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.auto_reply_message', 'Auto-Reply Message:')}\n\t\t\t\t\tonChange={prefOutOfOfficeReplyOnChange}\n\t\t\t\t/>\n\t\t\t\t<Select\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t\titems={externalSendersSelectItems}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\tonChange={externalSendersOnChange}\n\t\t\t\t\tselection={externalSendersSelectedItem}\n\t\t\t\t\tdropdownWidth={'auto'}\n\t\t\t\t\tdropdownMaxWidth={'unset'}\n\t\t\t\t\tplacement={'bottom-start'}\n\t\t\t\t/>\n\t\t\t\t{prefOutOfOfficeExternalReplyEnabled && (\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tvalue={prefOutOfOfficeExternalReply}\n\t\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={prefOutOfOfficeExternalReplyOnChange}\n\t\t\t\t\t/>\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<Heading title={t('settings.out_of_office.headings.time_period', 'Time Period')} />\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.out_of_office.labels.send_auto_reply_period',\n\t\t\t\t\t\t'Send auto-replies during the following period:'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={sendAutoReplyTimePeriodEnabled}\n\t\t\t\t\tonClick={toggleSendAutoReplyTimePeriod}\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled}\n\t\t\t\t/>\n\t\t\t\t<OutOfOfficeTimePeriodSection\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\tdisabled={!prefOutOfOfficeReplyEnabled || !sendAutoReplyTimePeriodEnabled}\n\t\t\t\t\tprefOutOfOfficeFromDate={settings.prefs.zimbraPrefOutOfOfficeFromDate}\n\t\t\t\t\tprefOutOfOfficeUntilDate={settings.prefs.zimbraPrefOutOfOfficeUntilDate}\n\t\t\t\t\tresetRef={outOfOfficeTimePeriodResetRef}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t</FormSubSection>\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\tCheckbox,\n\tContainer,\n\tDateTimePicker,\n\tDateTimePickerProps\n} from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { AddMod, GeneralizedTime } from '../../../../types';\nimport { getT } from '../../../store/i18n';\nimport {\n\tdateToGenTime,\n\tendOfDay,\n\tgenTimeToDate,\n\tSettingsSectionProps,\n\tstartOfDay,\n\tupsertPrefOnUnsavedChanges\n} from '../utils';\nimport { useReset } from '../../hooks/use-reset';\n\ninterface OutOfOfficeTimePeriodSectionProps extends SettingsSectionProps {\n\taddMod: AddMod;\n\tdisabled: boolean;\n\tprefOutOfOfficeFromDate: GeneralizedTime | undefined;\n\tprefOutOfOfficeUntilDate: GeneralizedTime | undefined;\n}\n\nfunction coerceGenTime(genTime: GeneralizedTime | undefined): Date {\n\treturn genTime ? genTimeToDate(genTime) : new Date();\n}\n\nexport const OutOfOfficeTimePeriodSection = ({\n\taddMod,\n\tdisabled,\n\tprefOutOfOfficeFromDate,\n\tprefOutOfOfficeUntilDate,\n\tresetRef\n}: OutOfOfficeTimePeriodSectionProps): JSX.Element => {\n\tconst t = getT();\n\tconst [fromDate, setFromDate] = useState<Date>(coerceGenTime(prefOutOfOfficeFromDate));\n\tconst [untilDate, setUntilDate] = useState<Date>(coerceGenTime(prefOutOfOfficeUntilDate));\n\tconst [allDayEnabled, setAllDayEnabled] = useState<boolean>(false);\n\tconst editTimeIsDisabled = useMemo(() => disabled || allDayEnabled, [disabled, allDayEnabled]);\n\n\tconst updatePref = useMemo(() => upsertPrefOnUnsavedChanges(addMod), [addMod]);\n\n\tconst initPrefs = useCallback(() => {\n\t\tconst fromDatePref = coerceGenTime(prefOutOfOfficeFromDate);\n\t\tconst untilDatePref = coerceGenTime(prefOutOfOfficeUntilDate);\n\t\tsetFromDate(fromDatePref);\n\t\tsetUntilDate(untilDatePref);\n\t\t// there is no pref for the all day check. It is considered all day if the start date time is midnight\n\t\t// and the until date time is 23:59:59:00\n\t\tconst fromDateAllDay = startOfDay(fromDatePref);\n\t\tconst untilDateAllDay = endOfDay(untilDatePref);\n\t\tsetAllDayEnabled(\n\t\t\tfromDatePref.getTime() === fromDateAllDay.getTime() &&\n\t\t\t\tuntilDatePref.getTime() === untilDateAllDay.getTime()\n\t\t);\n\t}, [prefOutOfOfficeFromDate, prefOutOfOfficeUntilDate]);\n\n\tuseEffect(() => {\n\t\tinitPrefs();\n\t}, [initPrefs]);\n\n\tuseReset(resetRef, initPrefs);\n\n\tconst outOfOfficeFromDateOnChange = useCallback<NonNullable<DateTimePickerProps['onChange']>>(\n\t\t(newFromDate) => {\n\t\t\tif (newFromDate) {\n\t\t\t\tsetFromDate((prevState) => {\n\t\t\t\t\tif (newFromDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(newFromDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn newFromDate;\n\t\t\t\t});\n\t\t\t\tif (newFromDate.getTime() > untilDate.getTime()) {\n\t\t\t\t\tconst newUntilDate = new Date(newFromDate);\n\t\t\t\t\tsetUntilDate(newUntilDate);\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(newUntilDate));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// force an update by cloning the date, so that the input is not left empty\n\t\t\t\tsetFromDate((prevState) => new Date(prevState));\n\t\t\t}\n\t\t},\n\t\t[untilDate, updatePref]\n\t);\n\n\tconst outOfOfficeUntilDateOnChange = useCallback<NonNullable<DateTimePickerProps['onChange']>>(\n\t\t(newUntilDate) => {\n\t\t\tif (newUntilDate) {\n\t\t\t\tsetUntilDate((prevState) => {\n\t\t\t\t\tif (newUntilDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(newUntilDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn newUntilDate;\n\t\t\t\t});\n\t\t\t\tif (newUntilDate.getTime() < fromDate.getTime()) {\n\t\t\t\t\tconst newFromDate = new Date(newUntilDate);\n\t\t\t\t\tsetFromDate(newFromDate);\n\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(newFromDate));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// force an update by cloning the date, so that the input is not left empty\n\t\t\t\tsetUntilDate((prevState) => new Date(prevState));\n\t\t\t}\n\t\t},\n\t\t[fromDate, updatePref]\n\t);\n\n\tconst toggleAllDay = useCallback(() => {\n\t\tsetAllDayEnabled((prevWasEnabled) => {\n\t\t\tconst nowIsEnabled = !prevWasEnabled;\n\t\t\tif (nowIsEnabled) {\n\t\t\t\tsetFromDate((prevState) => {\n\t\t\t\t\tconst startOfFromDate = startOfDay(prevState);\n\t\t\t\t\tif (startOfFromDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeFromDate', dateToGenTime(startOfFromDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn startOfFromDate;\n\t\t\t\t});\n\t\t\t\tsetUntilDate((prevState) => {\n\t\t\t\t\tconst endOfUntilDate = endOfDay(prevState);\n\t\t\t\t\tif (endOfUntilDate.getTime() !== prevState.getTime()) {\n\t\t\t\t\t\tupdatePref('zimbraPrefOutOfOfficeUntilDate', dateToGenTime(endOfUntilDate));\n\t\t\t\t\t}\n\t\t\t\t\treturn endOfUntilDate;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn nowIsEnabled;\n\t\t});\n\t}, [updatePref]);\n\n\treturn (\n\t\t<Container padding={{ vertical: 'small' }} gap={'0.5rem'} crossAlignment={'flex-start'}>\n\t\t\t<Container orientation={'horizontal'} gap={'0.5rem'}>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.start_date', 'Start Date')}\n\t\t\t\t\tdateFormat={'P'}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tdefaultValue={fromDate}\n\t\t\t\t\tonChange={outOfOfficeFromDateOnChange}\n\t\t\t\t\tincludeTime={false}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.end_date', 'End Date')}\n\t\t\t\t\tdateFormat={'P'}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\ttimeLabel={''}\n\t\t\t\t\tdefaultValue={untilDate}\n\t\t\t\t\tonChange={outOfOfficeUntilDateOnChange}\n\t\t\t\t\tincludeTime={false}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Checkbox\n\t\t\t\tdisabled={disabled}\n\t\t\t\tlabel={t('settings.out_of_office.labels.all_day', 'All Day:')}\n\t\t\t\tvalue={allDayEnabled}\n\t\t\t\tonClick={toggleAllDay}\n\t\t\t/>\n\t\t\t<Container orientation={'horizontal'} gap={'0.5rem'}>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.start_time', 'Start Time')}\n\t\t\t\t\tshowTimeSelect\n\t\t\t\t\tshowTimeSelectOnly\n\t\t\t\t\ttimeLabel=\"\"\n\t\t\t\t\tdateFormat=\"p\"\n\t\t\t\t\tdefaultValue={fromDate}\n\t\t\t\t\tonChange={outOfOfficeFromDateOnChange}\n\t\t\t\t\tdisabled={editTimeIsDisabled}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t\t<DateTimePicker\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.end_time', 'End Time')}\n\t\t\t\t\tshowTimeSelect\n\t\t\t\t\tshowTimeSelectOnly\n\t\t\t\t\ttimeLabel=\"\"\n\t\t\t\t\tdateFormat=\"p\"\n\t\t\t\t\tdefaultValue={untilDate}\n\t\t\t\t\tonChange={outOfOfficeUntilDateOnChange}\n\t\t\t\t\tdisabled={editTimeIsDisabled}\n\t\t\t\t\twidth={'fill'}\n\t\t\t\t/>\n\t\t\t</Container>\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 */\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, ResetComponentImperativeHandler } from '../utils';\nimport { useReset } from '../../hooks/use-reset';\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\tresetRef: React.RefObject<ResetComponentImperativeHandler>;\n}\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 = ({\n\tscalingSettings,\n\taddLocalStoreChange,\n\tcleanLocalStoreChange,\n\tresetRef\n}: ScalingSettingSectionProps): JSX.Element => {\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\tconst resetHandler = useCallback((): void => {\n\t\tsetScalingValue(savedOptionIndex);\n\t\tsetAutoScaling(scalingSettings['settings.appearance_setting.auto'] ?? true);\n\t}, [savedOptionIndex, scalingSettings]);\n\n\tuseReset(resetRef, resetHandler);\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 { Checkbox, Container, FormSubSection } from '@zextras/carbonio-design-system';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { AccountSettings, AddMod } from '../../../../types';\nimport { getT } from '../../../store/i18n';\nimport { searchPrefsSubSection } from '../../general-settings-sub-sections';\nimport { useReset } from '../../hooks/use-reset';\nimport { SettingsSectionProps, upsertPrefOnUnsavedChanges } from '../utils';\n\ntype SearchSettingsViewProps = SettingsSectionProps & {\n\tsettings: AccountSettings;\n\taddMod: AddMod;\n};\n\nexport const SearchSettings = ({\n\tsettings,\n\taddMod,\n\tresetRef\n}: SearchSettingsViewProps): JSX.Element => {\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 = useMemo(() => upsertPrefOnUnsavedChanges(addMod), [addMod]);\n\n\tconst init = useCallback(() => {\n\t\tsetSearchInSpamFolder(settings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE');\n\t\tsetSearchInTrashFolder(settings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE');\n\t\tsetSearchInSharedFolder(settings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE');\n\t}, [\n\t\tsettings.prefs.zimbraPrefIncludeSharedItemsInSearch,\n\t\tsettings.prefs.zimbraPrefIncludeSpamInSearch,\n\t\tsettings.prefs.zimbraPrefIncludeTrashInSearch\n\t]);\n\n\tuseReset(resetRef, init);\n\n\tuseEffect(() => {\n\t\tinit();\n\t}, [init]);\n\n\tconst onClickSpam = useCallback(() => {\n\t\tsetSearchInSpamFolder((prevState) => {\n\t\t\tconst newValue = !prevState;\n\t\t\tsetMode('zimbraPrefIncludeSpamInSearch', newValue);\n\t\t\treturn newValue;\n\t\t});\n\t}, [setMode]);\n\n\tconst onClickTrash = useCallback(() => {\n\t\tsetSearchInTrashFolder((prevState) => {\n\t\t\tconst newValue = !prevState;\n\t\t\tsetMode('zimbraPrefIncludeTrashInSearch', newValue);\n\t\t\treturn newValue;\n\t\t});\n\t}, [setMode]);\n\n\tconst onClickShared = useCallback(() => {\n\t\tsetSearchInSharedFolder((prevState) => {\n\t\t\tconst newValue = !prevState;\n\t\t\tsetMode('zimbraPrefIncludeSharedItemsInSearch', newValue);\n\t\t\treturn newValue;\n\t\t});\n\t}, [setMode]);\n\n\tconst sectionTitle = useMemo(() => searchPrefsSubSection(t), [t]);\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<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","/*\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\tButton,\n\tContainer,\n\ttype Crumb,\n\tDivider,\n\tPadding,\n\tRow,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { useEffect, useMemo } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { getT } from '../../store/i18n';\nimport { RouteLeavingGuard, RouteLeavingGuardProps } from '../../ui-extras/nav-guard';\n\nexport type SettingsHeaderProps = {\n\ttitle: string;\n\tonSave: RouteLeavingGuardProps['onSave'];\n\tonCancel: () => void;\n\tisDirty: boolean;\n};\n\nconst SettingsHeader = ({ onSave, onCancel, isDirty, title }: SettingsHeaderProps): JSX.Element => {\n\tconst t = getT();\n\tconst history = useHistory();\n\tconst params = useParams();\n\tconst crumbs = useMemo(\n\t\t(): Crumb[] => [\n\t\t\t{\n\t\t\t\tid: 'settings',\n\t\t\t\tlabel: t('settings.app', 'Settings'),\n\t\t\t\tonClick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'general',\n\t\t\t\tlabel: title,\n\t\t\t\tonClick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t\t}\n\t\t],\n\t\t[history, t, title]\n\t);\n\n\tconst search: string | undefined = history.location?.search;\n\n\tuseEffect(() => {\n\t\tif (search) {\n\t\t\t// TODO: why not using anchor links instead of js?\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, params]);\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, { Moment } from 'moment';\nimport type { TFunction } from 'i18next';\nimport { isBoolean } from 'lodash';\nimport React from 'react';\nimport { BASE_FONT_SIZE, SCALING_LIMIT, SCALING_OPTIONS } from '../../constants';\nimport { AddMod, BooleanString, GeneralizedTime, PrefsMods } from '../../../types';\n\nexport const GEN_TIME_FORMAT = 'YYYYMMDDHHmmss[Z]';\n\nfunction getGenTimeMoment(date: Date | string | Moment): Moment {\n\treturn moment.utc(date, GEN_TIME_FORMAT);\n}\n\nexport function dateToGenTime(date: Date | Moment): GeneralizedTime {\n\treturn getGenTimeMoment(date).format(GEN_TIME_FORMAT) as GeneralizedTime;\n}\n\nexport function genTimeToDate(genTime: string): Date {\n\treturn getGenTimeMoment(genTime).local().toDate();\n}\n\nexport const startOfDay = (date: Date): Date => new Date(new Date(date).setHours(0, 0, 0, 0));\n\nexport const endOfDay = (date: Date): Date => new Date(new Date(date).setHours(23, 59, 59, 0));\n\nexport type LocaleDescriptor = {\n\tid: string;\n\tname: string;\n\tlocalName: string;\n\tvalue: string;\n\tlabel: string;\n\tdateFnsLocale?: 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\tdateFnsLocale: '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\tdateFnsLocale: 'en-US'\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\tdateFnsLocale: '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\nexport type ResetComponentImperativeHandler = { reset: () => void };\n\ntype UpsertPrefOnUnsavedChangesFn = <K extends keyof PrefsMods>(\n\tprefKey: K,\n\tprefValue: PrefsMods[K] extends BooleanString | undefined ? boolean | undefined : PrefsMods[K]\n) => void;\n\nexport function upsertPrefOnUnsavedChanges(\n\taddModifiedValueCallback: AddMod\n): UpsertPrefOnUnsavedChangesFn {\n\treturn (prefKey, prefValue) => {\n\t\tif (prefValue === undefined) {\n\t\t\taddModifiedValueCallback('prefs', prefKey, '');\n\t\t} else if (isBoolean(prefValue)) {\n\t\t\taddModifiedValueCallback('prefs', prefKey, (prefValue && 'TRUE') || 'FALSE');\n\t\t} else {\n\t\t\taddModifiedValueCallback('prefs', prefKey, prefValue as PrefsMods[typeof prefKey]);\n\t\t}\n\t};\n}\n\nexport type SettingsSectionProps = {\n\tresetRef?: React.Ref<ResetComponentImperativeHandler>;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport type { TFunction } from 'i18next';\nimport type { 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 React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { findIndex, includes, isEmpty, map, reduce, size } from 'lodash';\nimport {\n\tAccountState,\n\tAddMod,\n\tBatchRequest,\n\tModifyPrefsRequest,\n\tModifyPrefsResponse,\n\tModifyPropertiesRequest,\n\tModifyPropertiesResponse,\n\tMods,\n\tRemoveMod\n} from '../../types';\nimport { useAccountStore, 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-settings';\nimport UserQuota from './components/general-settings/user-quota';\nimport SettingsHeader, { SettingsHeaderProps } from './components/settings-header';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport { SearchSettings } from './components/general-settings/search-settings';\nimport { ScalingSettingSection } from './components/general-settings/scaling-setting-section';\nimport DarkThemeSettingSection from './components/general-settings/dark-theme-settings-section';\nimport { LOCAL_STORAGE_SETTINGS_KEY, SHELL_APP_ID } from '../constants';\nimport { ScalingSettings } from '../../types/settings';\nimport { ResetComponentImperativeHandler } from './components/utils';\nimport { getSoapFetch } from '../network/fetch';\nimport { useLocalStorage } from '../shell/hooks/useLocalStorage';\n\nconst GeneralSettings = (): JSX.Element => {\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<SettingsHeaderProps['onSave']>(() => {\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\tlet modifyPropertiesRequest: ModifyPropertiesRequest | undefined;\n\t\t\tif (mods.props) {\n\t\t\t\tconst mappedProperties = map(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(prop, key): ModifyPropertiesRequest['prop'][0] => ({\n\t\t\t\t\t\tname: key,\n\t\t\t\t\t\tzimlet: prop.app,\n\t\t\t\t\t\t_content: prop.value\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tmodifyPropertiesRequest = { _jsns: 'urn:zimbraAccount', prop: mappedProperties };\n\t\t\t}\n\n\t\t\tlet modifyPrefsRequest: ModifyPrefsRequest | undefined;\n\n\t\t\tif (mods.prefs) {\n\t\t\t\tconst attrs = mods.prefs;\n\t\t\t\tif ('zimbraPrefMailTrustedSenderList' in attrs) {\n\t\t\t\t\tattrs.zimbraPrefMailTrustedSenderList =\n\t\t\t\t\t\tattrs.zimbraPrefMailTrustedSenderList instanceof Array &&\n\t\t\t\t\t\tattrs.zimbraPrefMailTrustedSenderList.length === 0\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: attrs.zimbraPrefMailTrustedSenderList;\n\t\t\t\t}\n\t\t\t\tmodifyPrefsRequest = { _jsns: 'urn:zimbraAccount', _attrs: attrs };\n\t\t\t}\n\n\t\t\tconst promise = getSoapFetch(SHELL_APP_ID)<\n\t\t\t\tBatchRequest,\n\t\t\t\t{\n\t\t\t\t\tModifyPropertiesResponse?: ModifyPropertiesResponse;\n\t\t\t\t\tModifyPrefsResponse?: ModifyPrefsResponse;\n\t\t\t\t}\n\t\t\t>('Batch', {\n\t\t\t\t_jsns: 'urn:zimbra',\n\t\t\t\tModifyPropertiesRequest: modifyPropertiesRequest,\n\t\t\t\tModifyPrefsRequest: modifyPrefsRequest\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\t...s.settings,\n\t\t\t\t\t\t\tprefs: reduce(\n\t\t\t\t\t\t\t\tmods.prefs,\n\t\t\t\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\ts.settings.prefs\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tprops: reduce(\n\t\t\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\t\t\t\tif (propIndex >= 0) {\n\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\tacc[propIndex] = {\n\t\t\t\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t\t\t\t_content: value as string\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\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ts.settings.props\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\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\tsetMods({});\n\t\t\t\t})\n\t\t\t\t.catch((error: unknown) => {\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\tif (error instanceof Error) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\tthrow new Error(typeof error === 'string' ? error : 'edit setting error');\n\t\t\t\t});\n\t\t\treturn Promise.allSettled([promise]);\n\t\t}\n\t\treturn Promise.allSettled([Promise.resolve()]);\n\t}, [mods, setLocalStorageSettings, createSnackbar, t]);\n\n\tconst scalingSettingSectionRef = useRef<ResetComponentImperativeHandler>(null);\n\tconst outOfOfficeSettingsSectionRef = useRef<ResetComponentImperativeHandler>(null);\n\tconst searchSettingsSectionRef = useRef<ResetComponentImperativeHandler>(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\toutOfOfficeSettingsSectionRef.current?.reset();\n\t\tsearchSettingsSectionRef?.current?.reset();\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\tresetRef={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\n\t\t\t\t\tsettings={userSettings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\tresetRef={outOfOfficeSettingsSectionRef}\n\t\t\t\t/>\n\t\t\t\t<SearchSettings\n\t\t\t\t\tsettings={userSettings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\tresetRef={searchSettingsSectionRef}\n\t\t\t\t/>\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: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useImperativeHandle } from 'react';\nimport { SettingsSectionProps } from '../components/utils';\n\nexport function useReset(ref: SettingsSectionProps['resetRef'], resetFn: () => void): void {\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\treset: resetFn\n\t\t}),\n\t\t[resetFn]\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\tFormSubSection,\n\tModal,\n\tPadding,\n\tSelect,\n\tSingleSelectionOnChange,\n\tText\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useMemo } from 'react';\n\nimport { find } from 'lodash';\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\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\t() =>\n\t\t\t(settings.prefs.zimbraPrefLocale &&\n\t\t\t\tfind(locales, { id: `${settings.prefs.zimbraPrefLocale}` })) ||\n\t\t\tfind(locales, { id: 'en' }),\n\t\t[locales, settings.prefs.zimbraPrefLocale]\n\t);\n\n\tconst onLocaleChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefLocale)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t},\n\t\t[settings.prefs.zimbraPrefLocale, updatePrefs]\n\t);\n\n\tconst defaultTimeZone = useMemo(\n\t\t() =>\n\t\t\t(settings.prefs.zimbraPrefTimeZoneId &&\n\t\t\t\tfind(timezones, { value: `${settings.prefs.zimbraPrefTimeZoneId}` })) ||\n\t\t\tfind(timezones, { value: 'UTC' }),\n\t\t[timezones, settings.prefs.zimbraPrefTimeZoneId]\n\t);\n\n\tconst onTimeZoneChange = useCallback<SingleSelectionOnChange>(\n\t\t(value) => {\n\t\t\tif (value && value !== settings.prefs.zimbraPrefTimeZoneId)\n\t\t\t\tupdatePrefs(value, 'zimbraPrefTimeZoneId');\n\t\t},\n\t\t[settings.prefs.zimbraPrefTimeZoneId, updatePrefs]\n\t);\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={onLocaleChange}\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 && defaultTimeZone && (\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={onTimeZoneChange}\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 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, 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\tDropdown,\n\tDropdownItem,\n\tIcon,\n\tIconButton,\n\tIconButtonProps,\n\tPadding,\n\tRow,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { debounce, isEmpty, map, noop, size } from 'lodash';\nimport React, { CSSProperties, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport styled, { css, SimpleInterpolation } from 'styled-components';\nimport {\n\tcloseAllBoards,\n\tcloseBoard,\n\texpandBoards,\n\tminimizeBoards,\n\tonGoToPanel,\n\treduceBoards,\n\tsetCurrentBoard,\n\tuseBoardStore\n} from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport { AppBoard } from './board';\nimport { TabsList } from './board-tab-list';\nimport { getApp } from '../../store/app';\nimport { ResizableContainer } from './resizable-container';\nimport {\n\tBOARD_CONTAINER_ZINDEX,\n\tBOARD_HEADER_HEIGHT,\n\tBOARD_MIN_VISIBILITY,\n\tBOARD_TAB_WIDTH,\n\tHEADER_BAR_HEIGHT,\n\tLOCAL_STORAGE_BOARD_SIZE,\n\tPRIMARY_BAR_WIDTH\n} from '../../constants';\nimport { useLocalStorage } from '../hooks/useLocalStorage';\nimport { setElementSizeAndPosition, SizeAndPosition } from '../../utils/utils';\nimport { useMove } from '../hooks/useMove';\n\nexport const BOARD_DEFAULT_POSITION: Pick<CSSProperties, 'top' | 'left' | 'right' | 'bottom'> = {\n\tleft: '1.5rem',\n\tbottom: '0'\n};\n\nconst BoardContainerComp = styled.div<{ expanded: boolean; minimized: boolean }>`\n\tposition: fixed;\n\twidth: calc(100vw - ${PRIMARY_BAR_WIDTH});\n\theight: calc(100vh - ${HEADER_BAR_HEIGHT});\n\ttop: ${HEADER_BAR_HEIGHT};\n\tleft: ${PRIMARY_BAR_WIDTH};\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: ${BOARD_CONTAINER_ZINDEX};\n\t${({ expanded }): SimpleInterpolation =>\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 }): SimpleInterpolation =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\n\nconst OverflowContainer = styled(Container)`\n\toverflow: auto;\n`;\n\nconst Board = styled(Container)<{ expanded: boolean }>`\n\tz-index: 5;\n\tposition: absolute;\n\t${BOARD_DEFAULT_POSITION};\n\n\t${({ width }): SimpleInterpolation =>\n\t\t!width &&\n\t\tcss`\n\t\t\t/* default width and aspect ratio */\n\t\t\taspect-ratio: 4 / 3;\n\t\t\twidth: auto;\n\t\t`}\n\n\t${({ height }): SimpleInterpolation =>\n\t\t!height &&\n\t\tcss`\n\t\t\t/* default height */\n\t\t\theight: 70vh;\n\t\t\t/* on higher screen, reduce the default height */\n\t\t\t@media (min-height: 800px) {\n\t\t\t\theight: 60vh;\n\t\t\t}\n\t\t\t@media (min-height: 1000px) {\n\t\t\t\theight: 50vh;\n\t\t\t}\n\t\t`}\n\n\tmin-height: calc(${BOARD_HEADER_HEIGHT} * 3);\n\tmin-width: calc(${BOARD_TAB_WIDTH} * 2);\n\tbox-shadow: 0 0.125rem 0.3125rem 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\tmax-height: 100%;\n\tmax-width: 100%;\n\t${({ expanded }): SimpleInterpolation =>\n\t\texpanded &&\n\t\tcss`\n\t\t\theight: calc(100% - 1.5rem) !important;\n\t\t\twidth: calc(100% - 3rem) !important;\n\t\t\ttop: 1.5rem !important;\n\t\t\tleft: 1.5rem !important;\n\t\t\tmin-height: auto;\n\t\t`};\n`;\n\nconst BoardHeader = styled(Row)`\n\tposition: relative;\n`;\n\nconst BoardDetailContainer = styled(Row)`\n\tmin-height: 0;\n`;\nconst BackButton = styled(IconButton)``;\nconst Actions = styled(Row)``;\n\ninterface ListItemContentProps {\n\ticon?: string;\n\tlabel: string;\n\tselected?: boolean;\n\tapp?: string;\n\tboardId: string;\n}\n\nfunction ListItemContent({\n\ticon,\n\tlabel,\n\tselected,\n\tapp,\n\tboardId\n}: ListItemContentProps): JSX.Element {\n\tconst t = getT();\n\tconst onClose = useCallback<IconButtonProps['onClick']>(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tcloseBoard(boardId);\n\t\t},\n\t\t[boardId]\n\t);\n\treturn (\n\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" gap={'0.5rem'}>\n\t\t\t{icon && <Icon icon={icon} size={'large'} color={'text'} style={{ pointerEvents: 'none' }} />}\n\t\t\t<OverflowContainer crossAlignment={'flex-start'}>\n\t\t\t\t<Text size={'medium'} weight={selected ? 'bold' : 'regular'} color={'gray0'}>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t\t<Text size={'small'} weight={selected ? 'bold' : 'regular'} color={'secondary'}>\n\t\t\t\t\t{app &&\n\t\t\t\t\t\tt('board.from_app', 'From {{app}}', {\n\t\t\t\t\t\t\tapp\n\t\t\t\t\t\t})}\n\t\t\t\t</Text>\n\t\t\t</OverflowContainer>\n\t\t\t<IconButton icon={'CloseOutline'} size={'large'} onClick={onClose} />\n\t\t</Container>\n\t);\n}\n\nfunction calcPositionToRemainVisible(\n\tlastSavedPosition: number,\n\tcontainerSize: number,\n\tminVisibility: number\n): number {\n\tconst limit = containerSize - minVisibility;\n\tif (lastSavedPosition > limit) {\n\t\treturn limit > 0 ? limit : 0;\n\t}\n\treturn lastSavedPosition;\n}\n\nexport const BoardContainer = (): JSX.Element | null => {\n\tconst t = getT();\n\tconst { boards, minimized, expanded, current, orderedBoards } = useBoardStore();\n\n\tconst boardDropdownItems = useMemo(\n\t\t(): DropdownItem[] =>\n\t\t\tmap(\n\t\t\t\torderedBoards,\n\t\t\t\t(boardId): DropdownItem => ({\n\t\t\t\t\tid: boardId,\n\t\t\t\t\tlabel: boards[boardId].title,\n\t\t\t\t\ticon: boards[boardId].icon,\n\t\t\t\t\tonClick: () => setCurrentBoard(boardId),\n\t\t\t\t\tselected: boardId === current,\n\t\t\t\t\tcustomComponent: (\n\t\t\t\t\t\t<ListItemContent\n\t\t\t\t\t\t\tlabel={boards[boardId].title}\n\t\t\t\t\t\t\ticon={boards[boardId].icon}\n\t\t\t\t\t\t\tselected={boardId === current}\n\t\t\t\t\t\t\tapp={getApp(boards[boardId].app)()?.display}\n\t\t\t\t\t\t\tboardId={boardId}\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[boards, current, orderedBoards]\n\t);\n\n\tconst boardRef = useRef<HTMLDivElement>(null);\n\tconst boardContainerRef = useRef<HTMLDivElement>(null);\n\tconst [lastSavedBoardSizeAndPosition, setLastSavedBoardSizeAndPosition] = useLocalStorage<\n\t\tPartial<SizeAndPosition>\n\t>(LOCAL_STORAGE_BOARD_SIZE, {});\n\tconst [currentBoardSizeAndPosition, setCurrentBoardSizeAndPosition] = useState(\n\t\tlastSavedBoardSizeAndPosition\n\t);\n\tconst lastSavedBoardSizeAndPositionRef = useRef(lastSavedBoardSizeAndPosition);\n\tconst [isMoving, moveElementHandler] = useMove(boardRef, {\n\t\tlocalStorageKey: LOCAL_STORAGE_BOARD_SIZE\n\t});\n\n\tconst isDefaultSizeAndPosition = useMemo(\n\t\t() => size(currentBoardSizeAndPosition) === 0,\n\t\t[currentBoardSizeAndPosition]\n\t);\n\tconst isBoardEmpty = useMemo(() => isEmpty(boards), [boards]);\n\n\tconst resetSizeAndPosition = useCallback(() => {\n\t\tsetLastSavedBoardSizeAndPosition({});\n\t\treduceBoards();\n\t}, [setLastSavedBoardSizeAndPosition]);\n\n\tuseEffect(() => {\n\t\t// reset position when the board is closed\n\t\tif (isBoardEmpty) {\n\t\t\tsetLastSavedBoardSizeAndPosition((prevState) => {\n\t\t\t\tconst newState = { ...prevState };\n\t\t\t\tdelete newState.left;\n\t\t\t\tdelete newState.top;\n\t\t\t\treturn newState;\n\t\t\t});\n\t\t}\n\t}, [isBoardEmpty, setLastSavedBoardSizeAndPosition]);\n\n\tuseEffect(() => {\n\t\tif (boardRef.current) {\n\t\t\tconst boardElement = boardRef.current;\n\t\t\tsetElementSizeAndPosition(boardElement, 'width', currentBoardSizeAndPosition.width);\n\t\t\tsetElementSizeAndPosition(boardElement, 'height', currentBoardSizeAndPosition.height);\n\t\t\tsetElementSizeAndPosition(boardElement, 'top', currentBoardSizeAndPosition.top);\n\t\t\tsetElementSizeAndPosition(boardElement, 'left', currentBoardSizeAndPosition.left);\n\t\t}\n\t}, [currentBoardSizeAndPosition]);\n\n\tconst updateBoardPosition = useMemo(\n\t\t() =>\n\t\t\tdebounce(\n\t\t\t\t() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tboardContainerRef.current &&\n\t\t\t\t\t\tboardContainerRef.current.clientHeight > 0 &&\n\t\t\t\t\t\tboardContainerRef.current.clientWidth > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst newSizeAndPosition: Partial<SizeAndPosition> = {};\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.width !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.width = lastSavedBoardSizeAndPositionRef.current.width;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.height !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.height = lastSavedBoardSizeAndPositionRef.current.height;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst boardContainer = boardContainerRef.current;\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.top !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.top = calcPositionToRemainVisible(\n\t\t\t\t\t\t\t\tlastSavedBoardSizeAndPositionRef.current.top,\n\t\t\t\t\t\t\t\tboardContainer.clientHeight,\n\t\t\t\t\t\t\t\tBOARD_MIN_VISIBILITY.top\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lastSavedBoardSizeAndPositionRef.current.left !== undefined) {\n\t\t\t\t\t\t\tnewSizeAndPosition.left = calcPositionToRemainVisible(\n\t\t\t\t\t\t\t\tlastSavedBoardSizeAndPositionRef.current.left,\n\t\t\t\t\t\t\t\tboardContainer.clientWidth,\n\t\t\t\t\t\t\t\tBOARD_MIN_VISIBILITY.left\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetCurrentBoardSizeAndPosition(newSizeAndPosition);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t0,\n\t\t\t\t{ leading: false, trailing: true }\n\t\t\t),\n\t\t[]\n\t);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('resize', updateBoardPosition);\n\t\treturn (): void => {\n\t\t\twindow.removeEventListener('resize', updateBoardPosition);\n\t\t};\n\t}, [updateBoardPosition]);\n\n\tuseEffect(() => {\n\t\tlastSavedBoardSizeAndPositionRef.current = { ...lastSavedBoardSizeAndPosition };\n\t\t// if there is a board open, then update the size and position based on the window\n\t\tif (boardRef.current) {\n\t\t\tif (size(lastSavedBoardSizeAndPosition) > 0) {\n\t\t\t\tupdateBoardPosition();\n\t\t\t} else {\n\t\t\t\tsetCurrentBoardSizeAndPosition({});\n\t\t\t}\n\t\t} else {\n\t\t\t// otherwise just align the current with the local storage data (refresh case, board is closed)\n\t\t\tsetCurrentBoardSizeAndPosition({ ...lastSavedBoardSizeAndPosition });\n\t\t}\n\n\t\treturn (): void => {\n\t\t\tupdateBoardPosition.cancel();\n\t\t};\n\t}, [lastSavedBoardSizeAndPosition, updateBoardPosition]);\n\n\tconst clickHandler = useCallback<\n\t\t(onClickFn: IconButtonProps['onClick']) => IconButtonProps['onClick']\n\t>(\n\t\t(clickFn) => (event) => {\n\t\t\tif (event.type !== 'click' || !event.defaultPrevented) {\n\t\t\t\tclickFn(event);\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t(!isBoardEmpty && current && (\n\t\t\t<BoardContainerComp expanded={expanded} minimized={minimized} ref={boardContainerRef}>\n\t\t\t\t<Board\n\t\t\t\t\tdata-testid=\"NewItemContainer\"\n\t\t\t\t\tbackground={'gray6'}\n\t\t\t\t\tcrossAlignment=\"unset\"\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\tref={boardRef}\n\t\t\t\t\twidth={currentBoardSizeAndPosition.width}\n\t\t\t\t\theight={currentBoardSizeAndPosition.height}\n\t\t\t\t\tonMouseDown={(!expanded && moveElementHandler) || undefined}\n\t\t\t\t>\n\t\t\t\t\t<ResizableContainer\n\t\t\t\t\t\tcrossAlignment={'unset'}\n\t\t\t\t\t\telementToResize={boardRef}\n\t\t\t\t\t\tlocalStorageKey={LOCAL_STORAGE_BOARD_SIZE}\n\t\t\t\t\t\tdisabled={expanded}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BoardHeader background={'gray5'}>\n\t\t\t\t\t\t\t<Padding all=\"extrasmall\">\n\t\t\t\t\t\t\t\t<Tooltip label={t('board.hide', 'Hide board')} placement=\"top\" disabled={isMoving}>\n\t\t\t\t\t\t\t\t\t<BackButton icon=\"BoardCollapseOutline\" onClick={clickHandler(minimizeBoards)} />\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\t<TabsList />\n\t\t\t\t\t\t\t<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t\t\t{boards[current]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\t\tlabel={t('board.open_app', 'Open in app')}\n\t\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\ticon={'DiagonalArrowRightUp'}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={clickHandler(onGoToPanel)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Container gap={'0.25rem'} orientation={'horizontal'} width={'fit'} height={'fit'}>\n\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tlabel={t('board.show_tabs', 'Show other tabs')}\n\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Dropdown items={boardDropdownItems}>\n\t\t\t\t\t\t\t\t\t\t\t<IconButton icon={'ChevronDown'} onClick={clickHandler(noop)} />\n\t\t\t\t\t\t\t\t\t\t</Dropdown>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tisDefaultSizeAndPosition\n\t\t\t\t\t\t\t\t\t\t\t\t? t('board.reset_size.disabled', 'Board already at the default position')\n\t\t\t\t\t\t\t\t\t\t\t\t: t('board.reset_size.enabled', 'Return to default position and size')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\ticon={'DiagonalArrowLeftDown'}\n\t\t\t\t\t\t\t\t\t\t\tonClick={clickHandler(resetSizeAndPosition)}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isDefaultSizeAndPosition}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\t\t\t\t? t('board.reduce', 'Reduce board')\n\t\t\t\t\t\t\t\t\t\t\t\t: t('board.enlarge', 'Enlarge board')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\ticon={expanded ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\t\t\tonClick={clickHandler(expanded ? reduceBoards : expandBoards)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\tlabel={t('board.close_tabs', 'Close all your tabs')}\n\t\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\t\tdisabled={isMoving}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<IconButton icon=\"CloseOutline\" onClick={clickHandler(closeAllBoards)} />\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t</Actions>\n\t\t\t\t\t\t</BoardHeader>\n\t\t\t\t\t\t<Divider style={{ height: '0.125rem' }} />\n\t\t\t\t\t\t<BoardDetailContainer takeAvailableSpace>\n\t\t\t\t\t\t\t{map(boards, (b) => (\n\t\t\t\t\t\t\t\t<AppBoard key={b.id} board={b} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</BoardDetailContainer>\n\t\t\t\t\t</ResizableContainer>\n\t\t\t\t</Board>\n\t\t\t</BoardContainerComp>\n\t\t)) ||\n\t\tnull\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 { Row } from '@zextras/carbonio-design-system';\nimport { isEmpty, map } from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useBoardStore } from '../../store/boards';\nimport { AppBoardTab } from './board-tab';\n\nconst CustomRow = styled(Row)`\n\toverflow-x: auto;\n\t&::-webkit-scrollbar {\n\t\theight: 0.5rem;\n\t}\n`;\n\nexport const TabsList = (): JSX.Element => {\n\tconst { boards, orderedBoards } = useBoardStore();\n\treturn (\n\t\t<CustomRow wrap=\"nowrap\" height=\"100%\" mainAlignment=\"flex-start\" takeAvailableSpace>\n\t\t\t{boards &&\n\t\t\t\t!isEmpty(orderedBoards) &&\n\t\t\t\tmap(orderedBoards, (boardId, idx) => (\n\t\t\t\t\t<AppBoardTab\n\t\t\t\t\t\tkey={boardId}\n\t\t\t\t\t\tid={boardId}\n\t\t\t\t\t\ttitle={boards[boardId].title}\n\t\t\t\t\t\ticon={boards[boardId].icon}\n\t\t\t\t\t\tfirstTab={idx === 0}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t</CustomRow>\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\tRow,\n\tRowProps,\n\tText,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport styled, { css, SimpleInterpolation } from 'styled-components';\nimport { closeBoard, setCurrentBoard, useBoardStore } from '../../store/boards';\nimport { getT } from '../../store/i18n';\nimport './board-tab.css';\n\nconst TabContainer = styled(Row)<RowProps & { active: boolean }>`\n\tcontainer-type: inline-size;\n\tcontainer-name: tab;\n\tmax-width: calc(3rem + 15ch);\n\tmin-width: 1rem;\n\tflex-grow: 1;\n\tflex-basis: 0;\n\tcursor: pointer;\n\theight: 1.75rem;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }): string =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tgap: 0.25rem;\n\tborder-radius: 0.25rem;\n\tmargin-left: 0.25rem;\n\tmargin-right: 0.25rem;\n\toverflow: hidden;\n\t${({ active }): SimpleInterpolation =>\n\t\tactive &&\n\t\tcss`\n\t\t\tmin-width: calc(3rem + 15ch);\n\t\t`}\n`;\n\nconst CloseContainer = styled(Container)`\n\tmargin-left: auto;\n`;\n\nconst TabIcon = styled(Icon)`\n\tmin-width: 1.5rem;\n`;\n\nconst CustomText = styled(Text)<{ overflowing: boolean }>`\n\t${({ overflowing }): SimpleInterpolation =>\n\t\toverflowing &&\n\t\tcss`\n\t\t\tmask-image: linear-gradient(90deg, #000 60%, transparent);\n\t\t`}\n\ttext-overflow: unset;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 0.0625rem;\n\tmin-width: 0.0625rem;\n\theight: 2.25rem;\n\tbackground: ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nexport const AppBoardTab: FC<{ id: string; icon: string; title: string; firstTab: boolean }> = ({\n\tid,\n\ticon,\n\ttitle,\n\tfirstTab\n}) => {\n\tconst current = useBoardStore((s) => s.current);\n\tconst t = getT();\n\tconst onClick = useCallback(\n\t\t(event: React.SyntheticEvent<HTMLDivElement>) => {\n\t\t\tif (!event.defaultPrevented) {\n\t\t\t\tsetCurrentBoard(id);\n\t\t\t}\n\t\t},\n\t\t[id]\n\t);\n\tconst onRemove = useCallback(\n\t\t(ev: React.SyntheticEvent | Event) => {\n\t\t\tif (!ev.defaultPrevented) {\n\t\t\t\tev.stopPropagation();\n\t\t\t\tcloseBoard(id);\n\t\t\t}\n\t\t},\n\t\t[id]\n\t);\n\n\tconst textRef = useRef<HTMLDivElement>(null);\n\tconst [textOverflowing, setTextOverflowing] = useState(false);\n\tconst resizeObserverRef = useRef<ResizeObserver>();\n\tuseEffect(() => {\n\t\tif (textRef.current && !resizeObserverRef.current) {\n\t\t\tresizeObserverRef.current = new ResizeObserver((entries) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (textRef.current) {\n\t\t\t\t\t\tsetTextOverflowing(textRef.current.offsetWidth < textRef.current.scrollWidth);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tresizeObserverRef.current.observe(textRef.current);\n\t\t}\n\n\t\treturn (): void => {\n\t\t\tresizeObserverRef.current?.disconnect();\n\t\t};\n\t}, [textRef]);\n\n\treturn (\n\t\t<>\n\t\t\t{!firstTab && <VerticalDivider />}\n\t\t\t<TabContainer\n\t\t\t\twrap={'nowrap'}\n\t\t\t\torientation=\"row\"\n\t\t\t\tmainAlignment={'flex-start'}\n\t\t\t\tonClick={onClick}\n\t\t\t\tdata-testid={`board-tab-${id}`}\n\t\t\t\tpadding={{ horizontal: 'extrasmall' }}\n\t\t\t\tactive={current === id}\n\t\t\t>\n\t\t\t\t<TabIcon icon={icon} size=\"large\" />\n\t\t\t\t<Tooltip label={title} placement=\"top\" maxWidth=\"700px\" triggerRef={textRef}>\n\t\t\t\t\t<CustomText\n\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\tcolor={current === id ? 'text' : 'secondary'}\n\t\t\t\t\t\toverflowing={textOverflowing}\n\t\t\t\t\t\tclassName=\"tab-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</CustomText>\n\t\t\t\t</Tooltip>\n\t\t\t\t<CloseContainer orientation={'row'} width={'fit'}>\n\t\t\t\t\t<Tooltip label={t('board.close_tab', 'Close Tab')} placement=\"top\">\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName=\"tab-close-icon-button\"\n\t\t\t\t\t\t\ticonColor=\"secondary\"\n\t\t\t\t\t\t\ticon=\"Close\"\n\t\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\t\tstyle={{ padding: '0.125rem', width: '1.5rem', height: '1.5rem' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</CloseContainer>\n\t\t\t</TabContainer>\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, 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';\nimport { stopPropagation } from '../../utils/utils';\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\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} onMouseDown={stopPropagation}>\n\t\t\t<Router history={history}>{route}</Router>\n\t\t</BoardContainer>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { CSSProperties, useMemo, useRef } from 'react';\nimport styled, { css, SimpleInterpolation } from 'styled-components';\nimport { Container, ContainerProps } from '@zextras/carbonio-design-system';\nimport { Border, BORDERS, getCursorFromBorder, useResize } from '../hooks/useResize';\n\ninterface ResizableBorderProps {\n\tborder: Border;\n\telementToResize: React.RefObject<HTMLElement>;\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n}\n\ninterface ResizableContainerProps extends ContainerProps {\n\telementToResize: React.RefObject<HTMLElement>;\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n\tdisabled?: boolean;\n\tminSize?: { width: number; height: number };\n}\n\ninterface BorderWithResizeProps {\n\t$cursor: CSSProperties['cursor'];\n\t$width: string;\n\t$height: string;\n\t$position: {\n\t\ttop?: number;\n\t\tbottom?: number;\n\t\tleft?: number;\n\t\tright?: number;\n\t};\n\t$translateTransform?: { x?: string; y?: string };\n}\n\nconst MainContainer = styled(Container)`\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n`;\n\nconst BorderWithResize = styled.div<\n\tBorderWithResizeProps & {\n\t\theight?: never;\n\t\twidth?: never;\n\t}\n>`\n\tposition: absolute;\n\tz-index: 2;\n\tcursor: ${({ $cursor }): CSSProperties['cursor'] => $cursor};\n\twidth: ${({ $width }): string => $width};\n\theight: ${({ $height }): string => $height};\n\t${({ $position }): SimpleInterpolation => $position};\n\t${({ $translateTransform }): SimpleInterpolation =>\n\t\t($translateTransform?.x || $translateTransform?.y) &&\n\t\tcss`\n\t\t\ttransform: translate(${$translateTransform?.x || 0}, ${$translateTransform?.y || 0});\n\t\t`}\n`;\n\nconst ResizableBorder = ({\n\tborder,\n\telementToResize,\n\tlocalStorageKey,\n\tkeepSynchedWithStorage\n}: ResizableBorderProps): JSX.Element => {\n\tconst borderRef = useRef<HTMLDivElement>(null);\n\tconst resizeHandler = useResize(elementToResize, border, {\n\t\tlocalStorageKey,\n\t\tkeepSynchedWithStorage\n\t});\n\n\tconst sizes = useMemo<Pick<BorderWithResizeProps, '$width' | '$height'>>(() => {\n\t\tswitch (border) {\n\t\t\tcase 'n':\n\t\t\tcase 's':\n\t\t\t\treturn {\n\t\t\t\t\t$width: '100%',\n\t\t\t\t\t$height: '0.25rem'\n\t\t\t\t};\n\t\t\tcase 'e':\n\t\t\tcase 'w':\n\t\t\t\treturn {\n\t\t\t\t\t$width: '0.25rem',\n\t\t\t\t\t$height: '100%'\n\t\t\t\t};\n\t\t\tcase 'ne':\n\t\t\tcase 'nw':\n\t\t\tcase 'se':\n\t\t\tcase 'sw':\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\t$width: '0.25rem',\n\t\t\t\t\t$height: '0.25rem'\n\t\t\t\t};\n\t\t}\n\t}, [border]);\n\n\tconst positions = useMemo<\n\t\tPick<BorderWithResizeProps, '$position' | '$translateTransform'>\n\t>(() => {\n\t\tconst $position: BorderWithResizeProps['$position'] = {};\n\t\tconst $translateTransform: BorderWithResizeProps['$translateTransform'] = {};\n\t\tif (border.includes('n')) {\n\t\t\t$position.top = 0;\n\t\t\t$translateTransform.y = '-50%';\n\t\t}\n\t\tif (border.includes('s')) {\n\t\t\t$position.bottom = 0;\n\t\t\t$translateTransform.y = '50%';\n\t\t}\n\t\tif (border.includes('e')) {\n\t\t\t$position.right = 0;\n\t\t\t$translateTransform.x = '50%';\n\t\t}\n\t\tif (border.includes('w')) {\n\t\t\t$position.left = 0;\n\t\t\t$translateTransform.x = '-50%';\n\t\t}\n\t\treturn { $position, $translateTransform };\n\t}, [border]);\n\n\treturn (\n\t\t<BorderWithResize\n\t\t\tref={borderRef}\n\t\t\t{...sizes}\n\t\t\t{...positions}\n\t\t\t$cursor={getCursorFromBorder(border)}\n\t\t\tonMouseDown={resizeHandler}\n\t\t\tdata-testid={`resizable-border-${border}`}\n\t\t/>\n\t);\n};\n\nexport const ResizableContainer = ({\n\telementToResize,\n\tchildren,\n\tlocalStorageKey,\n\tdisabled = false,\n\tkeepSynchedWithStorage,\n\t...rest\n}: ResizableContainerProps): JSX.Element => {\n\tconst borders = useMemo(\n\t\t() =>\n\t\t\tBORDERS.map((border) => (\n\t\t\t\t<ResizableBorder\n\t\t\t\t\tkey={`resizable-border-${border}`}\n\t\t\t\t\tborder={border}\n\t\t\t\t\telementToResize={elementToResize}\n\t\t\t\t\tlocalStorageKey={localStorageKey}\n\t\t\t\t\tkeepSynchedWithStorage={keepSynchedWithStorage}\n\t\t\t\t/>\n\t\t\t)),\n\t\t[elementToResize, keepSynchedWithStorage, localStorageKey]\n\t);\n\n\treturn (\n\t\t<MainContainer {...rest}>\n\t\t\t{!disabled && borders}\n\t\t\t{children}\n\t\t</MainContainer>\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 {\n\tButton,\n\tContainer,\n\tDropdown,\n\ttype DropdownItem,\n\tMultiButton\n} from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { find, groupBy, noop, reduce } from 'lodash';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { AppRoute, CarbonioModule } 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\ninterface CreationButtonProps {\n\tactiveRoute: AppRoute;\n\tlocation: Location;\n}\n\nexport const CreationButtonComponent = ({\n\tactiveRoute,\n\tlocation\n}: CreationButtonProps): JSX.Element => {\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\tfind(\n\t\t\t\tactions,\n\t\t\t\t(action) =>\n\t\t\t\t\t(action.group === activeRoute?.id || action.group === activeRoute?.app) &&\n\t\t\t\t\taction.primary === true\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 = useMemo<DropdownItem[]>(\n\t\t(): DropdownItem[] => [\n\t\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t\t...reduce<CarbonioModule, DropdownItem[]>(\n\t\t\t\tapps,\n\t\t\t\t(acc, app, i): DropdownItem[] => {\n\t\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t)\n\t\t],\n\t\t[activeRoute?.app, apps, byApp]\n\t);\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\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={t('new', 'New')}\n\t\t\t\tonClick={primaryAction.onClick || primaryAction.click || noop}\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: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useContext } from 'react';\nimport ShellContext from '../shell-context';\n\nexport function useIsMobile(): boolean {\n\tconst { isMobile } = useContext(ShellContext);\n\treturn isMobile;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { create } from 'zustand';\nimport { createExportForTestOnly } from '../../utils/utils';\n\nfunction isSameLocalStorageValue(valueA: unknown, valueB: unknown): boolean {\n\treturn JSON.stringify(valueA) === JSON.stringify(valueB);\n}\n\ntype LocalStorageOptions = { keepSynchedWithStorage?: boolean };\n\ntype LocalStorageState = {\n\tstorage: Record<string, any>;\n\treadValue: <T>(key: string, fallback: T) => void;\n\tsetValue: <T>(key: string, value: React.SetStateAction<T>) => void;\n};\n\nconst useLocalStorageStore = create<LocalStorageState>()((setState) => ({\n\tstorage: {},\n\treadValue<T>(key: string, fallback: T): void {\n\t\ttry {\n\t\t\tconst localStorageItem = window.localStorage.getItem(key);\n\t\t\tconst item = localStorageItem !== null ? JSON.parse(localStorageItem) : fallback;\n\t\t\tsetState((state) => {\n\t\t\t\tif (state.storage[key] === undefined) {\n\t\t\t\t\treturn { storage: { ...state.storage, [key]: item } };\n\t\t\t\t}\n\t\t\t\treturn state;\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tsetState((state) => ({ storage: { ...state.storage, [key]: fallback } }));\n\t\t}\n\t},\n\tsetValue<T>(key: string, value: React.SetStateAction<T>): void {\n\t\tsetState((state) => {\n\t\t\tconst valueToStore = value instanceof Function ? value(state.storage[key]) : value;\n\t\t\tif (!isSameLocalStorageValue(valueToStore, state.storage[key])) {\n\t\t\t\twindow.localStorage.setItem(key, JSON.stringify(valueToStore));\n\t\t\t\treturn { storage: { ...state.storage, [key]: valueToStore } };\n\t\t\t}\n\t\t\treturn state;\n\t\t});\n\t}\n}));\n\nconst DEFAULT_OPTIONS: LocalStorageOptions = {\n\tkeepSynchedWithStorage: true\n};\n\nexport function useLocalStorage<T>(\n\tkey: string,\n\tinitialValue: T,\n\toptions = DEFAULT_OPTIONS\n): [T, React.Dispatch<React.SetStateAction<T>>] {\n\tconst storedValue = useLocalStorageStore((state) => state.storage[key] || initialValue);\n\tconst shouldDispatchStorageEventRef = useRef(false);\n\tconst localStorageOptions = useMemo(() => ({ ...DEFAULT_OPTIONS, ...options }), [options]);\n\n\tconst readValueForKey = useCallback(() => {\n\t\tuseLocalStorageStore.getState().readValue(key, initialValue);\n\t}, [key, initialValue]);\n\n\tuseEffect(() => {\n\t\treadValueForKey();\n\t}, [readValueForKey]);\n\n\tconst setValueForKey = useCallback<React.Dispatch<React.SetStateAction<T>>>(\n\t\t(value) => {\n\t\t\tuseLocalStorageStore.getState().setValue(key, value);\n\t\t\tshouldDispatchStorageEventRef.current = true;\n\t\t},\n\t\t[key]\n\t);\n\n\tuseEffect(() => {\n\t\tif (localStorageOptions?.keepSynchedWithStorage) {\n\t\t\twindow.addEventListener('storage', readValueForKey);\n\t\t}\n\n\t\treturn (): void => {\n\t\t\twindow.removeEventListener('storage', readValueForKey);\n\t\t};\n\t}, [localStorageOptions?.keepSynchedWithStorage, readValueForKey]);\n\n\tuseEffect(() => {\n\t\tif (shouldDispatchStorageEventRef.current) {\n\t\t\t// dispatch event when stored value change,\n\t\t\t// but only after render to avoid possible update of parent component during render\n\t\t\twindow.dispatchEvent(new Event('storage'));\n\t\t\tshouldDispatchStorageEventRef.current = false;\n\t\t}\n\t}, [storedValue]);\n\n\treturn [storedValue, setValueForKey];\n}\n\nexport const exportForTest = createExportForTestOnly({ useLocalStorageStore });\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { forEach } from 'lodash';\nimport {\n\tElementPosition,\n\tsetElementSizeAndPosition,\n\tsetGlobalCursor,\n\tSizeAndPosition\n} from '../../utils/utils';\nimport { useLocalStorage } from './useLocalStorage';\n\ntype UseMoveReturnType = [isMoving: boolean, moveHandler: React.MouseEventHandler];\ntype MoveOptions = {\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n};\n\nexport const BOARD_CURSOR_TIMEOUT = 250;\n\nfunction calcNewPosition(\n\tfrom: SizeAndPosition & {\n\t\tclientTop: number;\n\t\tclientLeft: number;\n\t\tmouseClientX: number;\n\t\tmouseClientY: number;\n\t},\n\tlimitContainer: HTMLElement,\n\tmouseEvent: MouseEvent\n): ElementPosition {\n\tconst limitClientRect = limitContainer.getBoundingClientRect();\n\tconst clientTopLimit = limitClientRect.top ?? 0;\n\tconst moveTopDelta = mouseEvent.clientY - from.mouseClientY;\n\tconst newClientTop = from.clientTop + moveTopDelta;\n\tconst newTop = from.top + moveTopDelta;\n\tconst clientLeftLimit = limitClientRect.left ?? 0;\n\tconst moveLeftDelta = mouseEvent.clientX - from.mouseClientX;\n\tconst newClientLeft = from.clientLeft + moveLeftDelta;\n\tconst newLeft = from.left + moveLeftDelta;\n\treturn {\n\t\tleft: newClientLeft > clientLeftLimit ? newLeft : 0,\n\t\ttop: newClientTop > clientTopLimit ? newTop : 0\n\t};\n}\n\nexport const useMove = (\n\telementToMoveRef: React.RefObject<HTMLElement>,\n\toptions?: MoveOptions\n): UseMoveReturnType => {\n\tconst [isMoving, setIsMoving] = useState(false);\n\tconst isMoveEnabledRef = useRef(false);\n\tconst initialSizeAndPositionRef = useRef<Parameters<typeof calcNewPosition>[0]>();\n\tconst [lastSavedPosition, setLastSavedPosition] = useLocalStorage<Partial<SizeAndPosition>>(\n\t\toptions?.localStorageKey || 'use-move-data',\n\t\t{},\n\t\t{ keepSynchedWithStorage: options?.keepSynchedWithStorage }\n\t);\n\tconst lastPositionRef = useRef<Partial<ElementPosition>>(lastSavedPosition);\n\tconst globalCursorSetterTimerRef = useRef<ReturnType<typeof setTimeout>>();\n\tconst shouldUpdateLocalStorageRef = useRef(false);\n\n\tconst moveElement = useCallback(\n\t\t({ left, top }: ElementPosition) => {\n\t\t\tif (elementToMoveRef.current) {\n\t\t\t\tconst elementToMove = elementToMoveRef.current;\n\t\t\t\tconst positionToApply: Partial<ElementPosition> = lastPositionRef.current;\n\t\t\t\tif (top >= 0) {\n\t\t\t\t\tpositionToApply.top = top;\n\t\t\t\t}\n\t\t\t\tif (left >= 0) {\n\t\t\t\t\tpositionToApply.left = left;\n\t\t\t\t}\n\t\t\t\tforEach(positionToApply, (value, key) => {\n\t\t\t\t\tsetElementSizeAndPosition(elementToMove, key as keyof ElementPosition, value);\n\t\t\t\t});\n\t\t\t\tlastPositionRef.current = positionToApply;\n\t\t\t}\n\t\t},\n\t\t[elementToMoveRef]\n\t);\n\n\tuseEffect(() => {\n\t\tlastPositionRef.current = { ...lastSavedPosition };\n\t}, [elementToMoveRef, lastSavedPosition]);\n\n\tconst preventClick = useCallback((event: MouseEvent) => {\n\t\tevent.preventDefault();\n\t\tdocument.body.removeEventListener('click', preventClick, { capture: true });\n\t}, []);\n\n\tconst onMouseMove = useCallback(\n\t\t(mouseMoveEvent: MouseEvent) => {\n\t\t\t// prevent clickable elements from being clicked if a move has been made\n\t\t\tdocument.body.addEventListener('click', preventClick, { capture: true });\n\t\t\tif (initialSizeAndPositionRef.current && elementToMoveRef.current) {\n\t\t\t\tconst offsetParent =\n\t\t\t\t\t(elementToMoveRef.current.offsetParent instanceof HTMLElement &&\n\t\t\t\t\t\telementToMoveRef.current.offsetParent) ||\n\t\t\t\t\tdocument.body;\n\n\t\t\t\tconst newPosition = calcNewPosition(\n\t\t\t\t\tinitialSizeAndPositionRef.current,\n\t\t\t\t\toffsetParent,\n\t\t\t\t\tmouseMoveEvent\n\t\t\t\t);\n\t\t\t\tmoveElement({\n\t\t\t\t\tleft: newPosition.left,\n\t\t\t\t\ttop: newPosition.top\n\t\t\t\t});\n\t\t\t\tshouldUpdateLocalStorageRef.current = true;\n\t\t\t}\n\t\t},\n\t\t[elementToMoveRef, moveElement, preventClick]\n\t);\n\n\tconst enableMove = useCallback(() => {\n\t\tif (document.activeElement && document.activeElement instanceof HTMLElement) {\n\t\t\tdocument.activeElement.classList.add('no-active-background');\n\t\t}\n\t\tdocument.body.addEventListener('mousemove', onMouseMove);\n\t\tsetGlobalCursor('move');\n\t\tisMoveEnabledRef.current = true;\n\t\tsetIsMoving(true);\n\t}, [onMouseMove]);\n\n\tconst disableMove = useCallback(() => {\n\t\tif (document.activeElement && document.activeElement instanceof HTMLElement) {\n\t\t\tdocument.activeElement.classList.remove('no-active-background');\n\t\t}\n\t\tdocument.body.removeEventListener('mousemove', onMouseMove);\n\t\tsetGlobalCursor(undefined);\n\t\tisMoveEnabledRef.current = false;\n\t\tsetIsMoving(false);\n\t}, [onMouseMove]);\n\n\tconst onMouseUp = useCallback(() => {\n\t\tif (globalCursorSetterTimerRef.current) {\n\t\t\tclearTimeout(globalCursorSetterTimerRef.current);\n\t\t}\n\t\tif (isMoveEnabledRef.current) {\n\t\t\tdisableMove();\n\t\t}\n\t\tdocument.body.removeEventListener('mouseup', onMouseUp);\n\t\tif (options?.localStorageKey && shouldUpdateLocalStorageRef.current) {\n\t\t\tsetLastSavedPosition(lastPositionRef.current);\n\t\t\tshouldUpdateLocalStorageRef.current = false;\n\t\t}\n\t}, [disableMove, options?.localStorageKey, setLastSavedPosition]);\n\n\tconst moveHandler = useCallback(\n\t\t(mouseDownEvent: React.MouseEvent) => {\n\t\t\tif (!mouseDownEvent.defaultPrevented && elementToMoveRef.current) {\n\t\t\t\tconst clientRect = elementToMoveRef.current.getBoundingClientRect();\n\t\t\t\tinitialSizeAndPositionRef.current = {\n\t\t\t\t\twidth: elementToMoveRef.current.offsetWidth,\n\t\t\t\t\theight: elementToMoveRef.current.offsetHeight,\n\t\t\t\t\tleft: elementToMoveRef.current.offsetLeft,\n\t\t\t\t\ttop: elementToMoveRef.current.offsetTop,\n\t\t\t\t\tclientTop: clientRect.top,\n\t\t\t\t\tclientLeft: clientRect.left,\n\t\t\t\t\tmouseClientY: mouseDownEvent.clientY,\n\t\t\t\t\tmouseClientX: mouseDownEvent.clientX\n\t\t\t\t};\n\t\t\t\tglobalCursorSetterTimerRef.current = setTimeout(enableMove, BOARD_CURSOR_TIMEOUT);\n\t\t\t\tdocument.body.addEventListener('mouseup', onMouseUp);\n\t\t\t}\n\t\t},\n\t\t[elementToMoveRef, enableMove, onMouseUp]\n\t);\n\n\treturn [isMoving, moveHandler];\n};\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { CSSProperties, useCallback, useEffect, useRef } from 'react';\nimport { find, forEach } from 'lodash';\nimport {\n\tcreateExportForTestOnly,\n\tsetElementSizeAndPosition,\n\tsetGlobalCursor,\n\tSizeAndPosition\n} from '../../utils/utils';\nimport { useLocalStorage } from './useLocalStorage';\n\n/**\n * Define the border following the cardinal points (north, south, west, east).\n * Similar to the definition of the cursor for the pointer\n */\nexport type Border = 'n' | 's' | 'e' | 'w' | 'ne' | 'sw' | 'nw' | 'se';\n\ntype UseResizableReturnType = React.MouseEventHandler;\n\ntype ResizeOptions = {\n\tlocalStorageKey?: string;\n\tkeepSynchedWithStorage?: boolean;\n};\n\nexport const BORDERS: Border[] = ['n', 's', 'e', 'w', 'ne', 'se', 'sw', 'nw'];\n\nexport function getCursorFromBorder(border: Border): NonNullable<CSSProperties['cursor']> {\n\tconst direction = find(\n\t\t[\n\t\t\t['n', 's'],\n\t\t\t['e', 'w'],\n\t\t\t['ne', 'sw'],\n\t\t\t['nw', 'se']\n\t\t],\n\t\t(borders) => borders.includes(border)\n\t)?.join('');\n\treturn (direction && direction.concat('-resize')) || '';\n}\n\nfunction calcNewSizeAndPosition(\n\tborder: Border,\n\tfrom: { clientTop: number; clientLeft: number } & SizeAndPosition,\n\tmouseEvent: MouseEvent\n): SizeAndPosition {\n\tconst newSizeAndPosition = {\n\t\ttop: from.top,\n\t\tleft: from.left,\n\t\theight: from.height,\n\t\twidth: from.width\n\t};\n\tif (border.includes('n')) {\n\t\tconst heightDifference = from.clientTop - mouseEvent.clientY;\n\t\tnewSizeAndPosition.height = from.height + heightDifference;\n\t\tnewSizeAndPosition.top = from.top - heightDifference;\n\t}\n\tif (border.includes('s')) {\n\t\tnewSizeAndPosition.height = mouseEvent.clientY - from.clientTop;\n\t}\n\tif (border.includes('e')) {\n\t\tnewSizeAndPosition.width = mouseEvent.clientX - from.clientLeft;\n\t}\n\tif (border.includes('w')) {\n\t\tconst widthDifference = from.clientLeft - mouseEvent.clientX;\n\t\tnewSizeAndPosition.width = from.width + widthDifference;\n\t\tnewSizeAndPosition.left = from.left - widthDifference;\n\t}\n\treturn newSizeAndPosition;\n}\n\nexport const useResize = (\n\telementToResizeRef: React.RefObject<HTMLElement>,\n\tborder: Border,\n\toptions?: ResizeOptions\n): UseResizableReturnType => {\n\tconst initialSizeAndPositionRef = useRef<Parameters<typeof calcNewSizeAndPosition>[1]>();\n\tconst [lastSavedSizeAndPosition, setLastSavedSizeAndPosition] = useLocalStorage<\n\t\tPartial<SizeAndPosition>\n\t>(\n\t\toptions?.localStorageKey || 'use-resize-data',\n\t\t{},\n\t\t{ keepSynchedWithStorage: options?.keepSynchedWithStorage }\n\t);\n\tconst lastSizeAndPositionRef = useRef<Partial<SizeAndPosition>>(lastSavedSizeAndPosition);\n\n\tuseEffect(() => {\n\t\tlastSizeAndPositionRef.current = { ...lastSavedSizeAndPosition };\n\t}, [lastSavedSizeAndPosition]);\n\n\tconst resizeElement = useCallback(\n\t\t({ width, height, top, left }: SizeAndPosition) => {\n\t\t\tif (elementToResizeRef.current) {\n\t\t\t\tconst elementToResize = elementToResizeRef.current;\n\t\t\t\tconst sizeAndPositionToApply: Partial<SizeAndPosition> = lastSizeAndPositionRef.current;\n\t\t\t\tconst computedStyle = getComputedStyle(elementToResizeRef.current);\n\t\t\t\tconst minHeight = parseFloat(computedStyle.minHeight) || 0;\n\t\t\t\tconst minWidth = parseFloat(computedStyle.minWidth) || 0;\n\t\t\t\tif (top >= 0 && height >= minHeight) {\n\t\t\t\t\tsizeAndPositionToApply.height = height;\n\t\t\t\t\tsizeAndPositionToApply.top = top;\n\t\t\t\t}\n\t\t\t\tif (left >= 0 && width >= minWidth) {\n\t\t\t\t\tsizeAndPositionToApply.width = width;\n\t\t\t\t\tsizeAndPositionToApply.left = left;\n\t\t\t\t}\n\t\t\t\tforEach(sizeAndPositionToApply, (value, key) => {\n\t\t\t\t\tsetElementSizeAndPosition(elementToResize, key as keyof SizeAndPosition, value);\n\t\t\t\t});\n\t\t\t\t// reset bottom in favor of top\n\t\t\t\telementToResize.style.bottom = '';\n\t\t\t\t// reset right in favor of left\n\t\t\t\telementToResize.style.right = '';\n\t\t\t\tlastSizeAndPositionRef.current = sizeAndPositionToApply;\n\t\t\t}\n\t\t},\n\t\t[elementToResizeRef]\n\t);\n\n\tconst onMouseMove = useCallback(\n\t\t(mouseMoveEvent: MouseEvent) => {\n\t\t\tif (initialSizeAndPositionRef.current) {\n\t\t\t\tconst newSizeAndPosition = calcNewSizeAndPosition(\n\t\t\t\t\tborder,\n\t\t\t\t\tinitialSizeAndPositionRef.current,\n\t\t\t\t\tmouseMoveEvent\n\t\t\t\t);\n\t\t\t\tresizeElement(newSizeAndPosition);\n\t\t\t}\n\t\t},\n\t\t[border, resizeElement]\n\t);\n\n\tconst onMouseUp = useCallback(() => {\n\t\tsetGlobalCursor(undefined);\n\t\tdocument.body.removeEventListener('mousemove', onMouseMove);\n\t\tdocument.body.removeEventListener('mouseup', onMouseUp);\n\t\tif (options?.localStorageKey) {\n\t\t\tsetLastSavedSizeAndPosition(lastSizeAndPositionRef.current);\n\t\t}\n\t}, [onMouseMove, options?.localStorageKey, setLastSavedSizeAndPosition]);\n\n\treturn useCallback(\n\t\t(mouseDownEvent: React.MouseEvent | MouseEvent) => {\n\t\t\tif (!mouseDownEvent.defaultPrevented && elementToResizeRef.current) {\n\t\t\t\tmouseDownEvent.preventDefault();\n\t\t\t\tconst clientRect = elementToResizeRef.current.getBoundingClientRect();\n\t\t\t\tinitialSizeAndPositionRef.current = {\n\t\t\t\t\twidth: elementToResizeRef.current.offsetWidth,\n\t\t\t\t\theight: elementToResizeRef.current.offsetHeight,\n\t\t\t\t\ttop: elementToResizeRef.current.offsetTop,\n\t\t\t\t\tleft: elementToResizeRef.current.offsetLeft,\n\t\t\t\t\tclientTop: clientRect.top,\n\t\t\t\t\tclientLeft: clientRect.left\n\t\t\t\t};\n\t\t\t\tsetGlobalCursor(getCursorFromBorder(border));\n\t\t\t\tdocument.body.addEventListener('mousemove', onMouseMove);\n\t\t\t\tdocument.body.addEventListener('mouseup', onMouseUp);\n\t\t\t}\n\t\t},\n\t\t[border, elementToResizeRef, onMouseMove, onMouseUp]\n\t);\n};\n\nexport const exportForTest = createExportForTestOnly({ calcNewSizeAndPosition });\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React from 'react';\nimport { useLogo } from '../store/login/hooks';\nimport { useLoginConfigStore } from '../store/login/store';\n\nexport const Logo = (props: Record<string, unknown>): JSX.Element => {\n\tconst { loaded } = useLoginConfigStore();\n\tconst LogoElement = useLogo();\n\n\treturn loaded ? (\n\t\t(typeof LogoElement === 'string' && <img alt={''} {...props} src={LogoElement} />) || (\n\t\t\t<LogoElement {...props} />\n\t\t)\n\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\nimport React, { useMemo } from 'react';\nimport { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\ninterface ShellContextProviderProps {\n\tchildren: React.ReactNode;\n}\n\nconst ShellContextProvider = ({ children }: ShellContextProviderProps): JSX.Element => {\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 from 'react';\nimport {\n\tCatcher,\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode\n} from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { useDarkMode } from '../dark-mode/use-dark-mode';\nimport { Logo } from './logo';\nimport { BOARD_CONTAINER_ZINDEX, HEADER_BAR_HEIGHT } from '../constants';\n\nconst StyledLogo = styled(Logo)`\n\theight: 2rem;\n`;\n\nconst ShellHeaderContainer = styled(Container)`\n\tz-index: ${BOARD_CONTAINER_ZINDEX + 1};\n`;\n\ninterface ShellHeaderProps {\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n\tchildren: React.ReactNode | React.ReactNode[];\n}\n\nconst ShellHeader = ({\n\tmobileNavIsOpen,\n\tonMobileMenuClick,\n\tchildren\n}: ShellHeaderProps): JSX.Element => {\n\tconst { darkReaderStatus } = useDarkMode();\n\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<ShellHeaderContainer\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={HEADER_BAR_HEIGHT}\n\t\t\tminHeight={HEADER_BAR_HEIGHT}\n\t\t\tmaxHeight={HEADER_BAR_HEIGHT}\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{darkReaderStatus && <StyledLogo />}\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</Container>\n\t\t\t</Catcher>\n\t\t</ShellHeaderContainer>\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';\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, { useEffect, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useHistory, useLocation } 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 {\n\tBOARD_CONTAINER_ZINDEX,\n\tIS_STANDALONE,\n\tPRIMARY_BAR_WIDTH,\n\tSEARCH_APP_ID\n} from '../constants';\nimport { minimizeBoards, reopenBoards, useBoardStore } from '../store/boards';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst PrimaryBarContainer = styled(Container)`\n\tborder-right: 0.0625rem solid ${({ theme }): string => theme.palette.gray3.regular};\n\tz-index: ${BOARD_CONTAINER_ZINDEX + 1};\n`;\n\nconst ToggleBoardIcon = (): JSX.Element | null => {\n\tconst { minimized, boards } = useBoardStore();\n\n\treturn isEmpty(boards) ? null : (\n\t\t<Container width={'3rem'} height={'3rem'}>\n\t\t\t<IconButton\n\t\t\t\ticonColor=\"primary\"\n\t\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\t\tonClick={minimized ? reopenBoards : minimizeBoards}\n\t\t\t\tsize=\"large\"\n\t\t\t/>\n\t\t</Container>\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 = ({ view, active, onClick }: PrimaryBarItemProps): JSX.Element => (\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 = ({ view }: PrimaryBarAccessoryItemProps): JSX.Element => (\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 OverlayRow = styled(Row)`\n\tmin-height: 0.0625rem;\n\toverflow-y: auto;\n\toverflow-y: overlay;\n`;\n\ninterface ShellPrimaryBarComponentProps {\n\tactiveRoute: AppRoute | undefined;\n}\nconst ShellPrimaryBarComponent = ({\n\tactiveRoute\n}: ShellPrimaryBarComponentProps): JSX.Element | null => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\tconst { push } = useHistory();\n\n\tconst { pathname, search } = useLocation();\n\tconst routesRef = useRef<Record<string, string>>({});\n\n\tuseEffect(() => {\n\t\troutesRef.current = primaryBarViews.reduce((accumulator, view) => {\n\t\t\tif (!accumulator[view.id]) {\n\t\t\t\taccumulator[view.id] = view.route;\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, routesRef.current);\n\t}, [primaryBarViews]);\n\n\tuseEffect(() => {\n\t\tif (activeRoute && activeRoute.id !== SEARCH_APP_ID) {\n\t\t\troutesRef.current = {\n\t\t\t\t...routesRef.current,\n\t\t\t\t[activeRoute.id]: `${trim(pathname, '/')}${search}`\n\t\t\t};\n\t\t}\n\t}, [activeRoute, pathname, search, primaryBarViews]);\n\tconst primaryBarAccessoryViews = useAppStore((s) => s.views.primaryBarAccessories);\n\n\tconst accessoryViews = 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\n\tconst primaryBarItems = useMemo(\n\t\t() =>\n\t\t\tmap(primaryBarViews, (view) =>\n\t\t\t\tview.visible ? (\n\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\tonClick={(): void => push(`/${routesRef.current[view.id]}`)}\n\t\t\t\t\t\tview={view}\n\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t/>\n\t\t\t\t) : null\n\t\t\t),\n\t\t[activeRoute?.id, push, primaryBarViews]\n\t);\n\n\tconst accessoryItems = useMemo(\n\t\t() => accessoryViews.map((view) => <PrimaryBarAccessoryElement view={view} key={view.id} />),\n\t\t[accessoryViews]\n\t);\n\n\tif (IS_STANDALONE && activeRoute?.standalone?.hidePrimaryBar) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PrimaryBarContainer\n\t\t\twidth={PRIMARY_BAR_WIDTH}\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<OverlayRow\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>\n\t\t\t\t{primaryBarItems}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</OverlayRow>\n\t\t\t<OverlayRow mainAlignment=\"flex-end\" orientation=\"vertical\" wrap=\"nowrap\">\n\t\t\t\t{accessoryItems}\n\t\t\t</OverlayRow>\n\t\t</PrimaryBarContainer>\n\t);\n};\n\nconst MemoShellPrimaryBarComponent = React.memo(ShellPrimaryBarComponent);\n\nconst ShellPrimaryBar = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\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/store';\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 { Row } from '@zextras/carbonio-design-system';\nimport { PreviewManager } from '@zextras/carbonio-ui-preview';\nimport React, { useContext, useEffect, useState } from 'react';\nimport styled from 'styled-components';\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 } from '../utility-bar/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 '../dark-mode/use-dark-reader-result-value';\nimport { ShellUtilityPanel } from '../utility-bar/panel';\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?: boolean): 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\ninterface ShellComponentProps {\n\tallowUnauthenticated?: boolean;\n\thideShellHeader?: boolean;\n}\n\nconst ShellComponent = ({\n\tallowUnauthenticated,\n\thideShellHeader\n}: ShellComponentProps): JSX.Element => {\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<BoardContainer />\n\t\t</Background>\n\t);\n};\n\nconst MemoShell = React.memo(ShellComponent);\n\nconst ShellView = (): JSX.Element => {\n\tconst activeRoute = useCurrentRoute();\n\tconst allowUnauthenticated = activeRoute?.standalone?.allowUnauthenticated;\n\tconst hideShellHeader = activeRoute?.standalone?.hideShellHeader;\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 type { AccountState } from '../../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 | undefined =>\n\tuseAppStore.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 type {\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';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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\tif (routeData.app) {\n\t\t\t\t\t\tstate.apps[routeData.app].display = routeData.label;\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 type { BoardState, Board } from '../../../types';\nimport { getApp } from '../app';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\nexport const useBoardStore = create<BoardState>()(() => ({\n\torderedBoards: [],\n\tboards: {},\n\texpanded: false,\n\tminimized: false\n}));\n\nexport const addBoard =\n\t(app: string) =>\n\t<T = unknown>(\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((state: BoardState) => {\n\t\t\t\tstate.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\tstate.current = id;\n\t\t\t\tstate.minimized = false;\n\t\t\t\tstate.expanded = expanded ?? state.expanded;\n\t\t\t\tstate.orderedBoards.unshift(id);\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((state: BoardState) => {\n\t\t\tstate.boards[id]?.onClose?.(state.boards[id]);\n\t\t\tdelete state.boards[id];\n\t\t\tconst index = state.orderedBoards.findIndex((boardId) => boardId === id);\n\t\t\tif (state.current === id) {\n\t\t\t\tstate.current = state.orderedBoards[index + 1] || state.orderedBoards[index - 1];\n\t\t\t}\n\t\t\tif (index !== -1) {\n\t\t\t\tstate.orderedBoards.splice(index, 1);\n\t\t\t}\n\t\t})\n\t);\n};\nexport const closeAllBoards = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tforEach(state.boards, (b) => {\n\t\t\t\tb?.onClose?.(b);\n\t\t\t\tdelete state.boards[b.id];\n\t\t\t});\n\t\t\tstate.orderedBoards = [];\n\t\t})\n\t);\n};\nexport const onGoToPanel = (): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tconst id = state.current;\n\t\t\tif (id) {\n\t\t\t\tstate.boards[id]?.onGoToPanel?.(state.boards[id]);\n\t\t\t\tdelete state.boards[id];\n\t\t\t\tconst index = state.orderedBoards.findIndex((boardId) => boardId === id);\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\tstate.orderedBoards.splice(index, 1);\n\t\t\t\t}\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 = unknown>(id: string, board: Partial<Board<T>>): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tif (state.boards[id])\n\t\t\t\tstate.boards[id] = {\n\t\t\t\t\t...state.boards[id],\n\t\t\t\t\t...board\n\t\t\t\t};\n\t\t})\n\t);\n};\nexport const updateBoardContext = <T = unknown>(id: string, context: T): void => {\n\tuseBoardStore.setState(\n\t\tproduce((state: BoardState) => {\n\t\t\tif (state.boards[id]) {\n\t\t\t\tstate.boards[id].context = context;\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\nimport { create } from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport type { ContextBridgeState } from '../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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\tAccordionFolder,\n\tFolder,\n\tFolders,\n\tFolderView,\n\tSearches,\n\tSearchFolder\n} from '../../../types';\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\treturn useMemo(\n\t\t() =>\n\t\t\troots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view), sortFolders) : [],\n\t\t[roots, 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 type { FolderState } from '../../../types';\nimport { folderWorker } from '../../workers';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 FOLDERS.LAST_SYSTEM_FOLDER_POSITION;\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, InitOptions } from 'i18next';\nimport Backend from 'i18next-http-backend';\nimport produce from 'immer';\nimport { dropRight, forEach, reduce } from 'lodash';\nimport { create } from 'zustand';\nimport { initReactI18next } from 'react-i18next';\nimport type { 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\nconst defaultI18nInitOptions: InitOptions = {\n\treturnEmptyString: true,\n\treturnNull: false,\n\tcompatibilityJSON: 'v3',\n\tlng: defaultLng,\n\tfallbackLng: 'en',\n\tdebug: false,\n\tinterpolation: {\n\t\tescapeValue: false // not needed for react as it escapes by default\n\t},\n\tmissingKeyHandler: (_, __, key) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t},\n\tbackend: {\n\t\tloadPath: `${BASE_PATH}/i18n/{{lng}}.json`\n\t}\n};\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<CarbonioModule, Record<string, i18n>>(\n\t\t\t\t\t\tappsWithShell,\n\t\t\t\t\t\t(acc, app): Record<string, i18n> => {\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\t...defaultI18nInitOptions,\n\t\t\t\t\t\t\t\t\tlng: locale,\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{}\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// pass the i18n instance to react-i18next.\n\t.use(initReactI18next)\n\t// init i18next\n\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t.init(defaultI18nInitOptions);\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';\nimport type { EditorOptions, TinyMCE, Ui } from 'tinymce/tinymce';\n// TinyMCE so the global var exists\nimport tinymce from 'tinymce/tinymce';\nimport 'tinymce/models/dom';\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/preview';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/wordcount';\n\nimport { Editor, IAllProps as EditorProps } from '@tinymce/tinymce-react';\nimport { useUserSettings } from '../account';\nimport { getT, useI18nStore } from '../i18n';\n\ntype ComposerProps = EditorProps & {\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?: EditorProps['initialValue'];\n\t/** The content of the editor (controlled mode) */\n\tvalue?: EditorProps['value'];\n\t/**\n\t * Callback called when user choose some file from the os.\n\t * If defined, a menu item to add inline images is added to the composer.\n\t */\n\tonFileSelect?: (arg: { editor: TinyMCE; files: HTMLInputElement['files'] | undefined }) => 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\tinitialValue,\n\t...rest\n}) => {\n\tconst _onEditorChange = useCallback<NonNullable<EditorProps['onEditorChange']>>(\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<HTMLInputElement>(null);\n\tconst onFileClick = useCallback(() => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.value = '';\n\t\t\tinputRef.current.click();\n\t\t}\n\t}, []);\n\tconst t = getT();\n\tconst { locale } = useI18nStore.getState();\n\tconst inlineLabel = useMemo(() => t('label.add_inline_image', 'Add inline image'), [t]);\n\n\tconst setupCallback = useCallback<NonNullable<EditorOptions['setup']>>(\n\t\t(editor) => {\n\t\t\tif (onFileSelect)\n\t\t\t\teditor.ui.registry.addMenuButton('imageSelector', {\n\t\t\t\t\ticon: 'gallery',\n\t\t\t\t\ttooltip: t('label.select_image', 'Select image'),\n\t\t\t\t\tfetch: (callback) => {\n\t\t\t\t\t\tconst items: Ui.Menu.MenuItemSpec[] = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: inlineLabel,\n\t\t\t\t\t\t\t\tonAction: (): void => {\n\t\t\t\t\t\t\t\t\tonFileClick();\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\tcallback(items);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\t[inlineLabel, onFileClick, onFileSelect, t]\n\t);\n\n\tconst editorInitConfig = useMemo<EditorProps['init']>(\n\t\t() => ({\n\t\t\tcontent_css: `${BASE_PATH}/tinymce/skins/content/default/content.css`,\n\t\t\tlanguage_url: `${BASE_PATH}tinymce/langs/${locale}.js`,\n\t\t\tlanguage: locale,\n\t\t\tsetup: setupCallback,\n\t\t\tmin_height: 350,\n\t\t\tauto_focus: true,\n\t\t\tmenubar: false,\n\t\t\tstatusbar: false,\n\t\t\tbranding: false,\n\t\t\tresize: true,\n\t\t\tinline,\n\t\t\tfont_size_formats:\n\t\t\t\t'8pt 9pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt',\n\t\t\tobject_resizing: 'img',\n\t\t\tstyle_formats: [\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Headers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'h1', block: 'h1' },\n\t\t\t\t\t\t{ title: 'h2', block: 'h2' },\n\t\t\t\t\t\t{ title: 'h3', block: 'h3' },\n\t\t\t\t\t\t{ title: 'h4', block: 'h4' },\n\t\t\t\t\t\t{ title: 'h5', block: 'h5' },\n\t\t\t\t\t\t{ title: 'h6', block: 'h6' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Blocks',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'p', block: 'p' },\n\t\t\t\t\t\t{ title: 'div', block: 'div' },\n\t\t\t\t\t\t{ title: 'pre', block: 'pre' }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: 'Containers',\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{ title: 'section', block: 'section', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'article', block: 'article', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t{ title: 'blockquote', block: 'blockquote', wrapper: true },\n\t\t\t\t\t\t{ title: 'hgroup', block: 'hgroup', wrapper: true },\n\t\t\t\t\t\t{ title: 'aside', block: 'aside', wrapper: true },\n\t\t\t\t\t\t{ title: 'figure', block: 'figure', wrapper: true }\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\tplugins: [\n\t\t\t\t'advlist',\n\t\t\t\t'autolink',\n\t\t\t\t'lists',\n\t\t\t\t'link',\n\t\t\t\t'image',\n\t\t\t\t'charmap',\n\t\t\t\t'preview',\n\t\t\t\t'anchor',\n\t\t\t\t'searchreplace',\n\t\t\t\t'code',\n\t\t\t\t'fullscreen',\n\t\t\t\t'insertdatetime',\n\t\t\t\t'media',\n\t\t\t\t'table',\n\t\t\t\t'code',\n\t\t\t\t'help',\n\t\t\t\t'quickbars',\n\t\t\t\t'directionality',\n\t\t\t\t'autoresize',\n\t\t\t\t'visualblocks'\n\t\t\t],\n\t\t\ttoolbar: inline\n\t\t\t\t? false\n\t\t\t\t: [\n\t\t\t\t\t\t'fontfamily fontsize styles visualblocks',\n\t\t\t\t\t\t'bold italic underline strikethrough',\n\t\t\t\t\t\t'removeformat code',\n\t\t\t\t\t\t'alignleft aligncenter alignright alignjustify',\n\t\t\t\t\t\t'forecolor backcolor',\n\t\t\t\t\t\t'bullist numlist outdent indent',\n\t\t\t\t\t\t'ltr rtl',\n\t\t\t\t\t\t'insertfile image',\n\t\t\t\t\t\t'imageSelector'\n\t\t\t\t ].join(' | '),\n\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t: 'quicklink',\n\t\t\tcontextmenu: inline ? '' : '',\n\t\t\ttoolbar_mode: 'wrap',\n\t\t\tcontent_style: `body { color: ${defaultStyle?.color}; font-size: ${defaultStyle?.fontSize}; font-family: ${defaultStyle?.font}; }`,\n\t\t\tvisualblocks_default_state: false,\n\t\t\tend_container_on_empty_block: true,\n\t\t\trelative_urls: false,\n\t\t\tremove_script_host: false,\n\t\t\tnewline_behavior: 'invert'\n\t\t}),\n\t\t[defaultStyle?.color, defaultStyle?.font, defaultStyle?.fontSize, inline, locale, setupCallback]\n\t);\n\n\tconst fileInputOnChange = useCallback((): void => {\n\t\tonFileSelect?.({ editor: tinymce, files: inputRef?.current?.files });\n\t}, [onFileSelect]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<FileInput\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={inputRef}\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tonChange={fileInputOnChange}\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={editorInitConfig}\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/* 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 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/* 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 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, includes, omit } from 'lodash';\nimport { ComponentType } from 'react';\nimport type { ActionFactory, AnyFunction, IntegrationsState } from '../../../types';\nimport Composer from './composer';\nimport { SHELL_APP_ID } from '../../constants';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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\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\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(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(state.actions, (actionTypeMap, type) => {\n\t\t\t\t\tforEach(actionTypeMap, (actionFactory, actionFactoryId) => {\n\t\t\t\t\t\tif (includes(ids, actionFactoryId)) {\n\t\t\t\t\t\t\tdelete state.actions[type][actionFactoryId];\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\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tcomponents: omit(s.components, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tfunctions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useLoginConfigStore } from './store';\n\nexport function getFavicon(): string {\n\treturn useLoginConfigStore.getState().carbonioWebUiFavicon;\n}\n\nexport function getClientTitle(): string {\n\treturn useLoginConfigStore.getState().carbonioWebUiTitle;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useMemo } from 'react';\nimport { useLoginConfigStore } from './store';\nimport { useDarkMode } from '../../dark-mode/use-dark-mode';\nimport DefaultLogo from '../../../assets/carbonio.svg';\n\nexport function useLogo(): string | React.ComponentType {\n\tconst { carbonioWebUiAppLogo, carbonioWebUiDarkAppLogo } = useLoginConfigStore();\n\n\tconst { darkModeEnabled } = useDarkMode();\n\n\treturn useMemo(() => {\n\t\tif (darkModeEnabled) {\n\t\t\treturn carbonioWebUiDarkAppLogo || carbonioWebUiAppLogo || DefaultLogo;\n\t\t}\n\t\treturn carbonioWebUiAppLogo || carbonioWebUiDarkAppLogo || DefaultLogo;\n\t}, [carbonioWebUiDarkAppLogo, carbonioWebUiAppLogo, darkModeEnabled]);\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 type { LoginConfigStore } from '../../../types/loginConfig';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\nexport const useLoginConfigStore = create<LoginConfigStore>()(() => ({\n\tloaded: false,\n\t// setup defaults for fields which does not depend on dark mode\n\tcarbonioWebUiTitle: 'Carbonio Client',\n\t// default to png because this icon is used also in notification, and svg are not supported there\n\tcarbonioWebUiFavicon: `${BASE_PATH}favicon.png`\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 type { NetworkState } from '../../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 { AccountSettings, SoapContext, SoapResponse } from '../../../types';\nimport { folderWorker, tagWorker } from '../../workers';\nimport { useFolderStore } from '../folder';\nimport { useTagStore } from '../tags';\nimport { useNetworkStore } from './store';\nimport { useAccountStore } from '../account';\n\n/**\n * Polling interval to use if the long polling delay\n * is not allowed for the user\n */\nconst POLLING_NOWAIT_INTERVAL = 10_000;\n\n/**\n * Polling interval to use if a previous request failed\n * with a 500 error\n */\nconst POLLING_RETRY_INTERVAL = 60_000;\n\nexport const parsePollingInterval = (settings: AccountSettings): number => {\n\tconst pollingPref = settings.prefs?.zimbraPrefMailPollingInterval ?? '';\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\n/**\n * Return the polling interval for the next NoOp request.\n * The interval length depends on the user settings, but it can be\n * overridden by the server response/errors\n * @param res\n */\nexport const getPollingInterval = <R>(res: SoapResponse<R>): number => {\n\tconst { pollingInterval } = useNetworkStore.getState();\n\tconst { settings } = useAccountStore.getState();\n\tconst waitDisallowed = (res?.Body as { waitDisallowed?: number })?.waitDisallowed;\n\tconst fault = res?.Body?.Fault;\n\tif (fault) {\n\t\treturn POLLING_RETRY_INTERVAL;\n\t}\n\tif (waitDisallowed) {\n\t\treturn POLLING_NOWAIT_INTERVAL;\n\t}\n\tif (!fault) {\n\t\treturn parsePollingInterval(settings);\n\t}\n\treturn pollingInterval;\n};\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 type { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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 React, { useEffect, useState, FC, useMemo } from 'react';\n\nimport { Modal, Button, ModalProps } from '@zextras/carbonio-design-system';\nimport { Location } from 'history';\nimport { filter } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { Prompt, useHistory } from 'react-router-dom';\n\nexport interface RouteLeavingGuardProps {\n\tchildren: ModalProps['children'];\n\twhen?: boolean;\n\tonSave: () => Promise<PromiseSettledResult<Awaited<unknown>>[]>;\n\tdataHasError?: boolean;\n}\n\nexport const RouteLeavingGuard = ({\n\tchildren,\n\twhen,\n\tonSave,\n\tdataHasError = false\n}: RouteLeavingGuardProps): JSX.Element => {\n\tconst history = useHistory();\n\tconst lastLocationInitial = useMemo(() => history.location, [history]);\n\tconst [modalVisible, setModalVisible] = useState(false);\n\tconst [lastLocation, setLastLocation] = useState<Location>(lastLocationInitial);\n\tconst [confirmedNavigation, setConfirmedNavigation] = useState(false);\n\tconst [t] = useTranslation();\n\tconst cancel = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(false);\n\t};\n\n\tconst handleBlockedNavigation = (nextLocation: Location): boolean => {\n\t\tif (\n\t\t\t!confirmedNavigation &&\n\t\t\t`${nextLocation.pathname}${nextLocation.search || ''}` !==\n\t\t\t\t`${history.location.pathname}${history.location.search}`\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\n\tconst onConfirm = (): void => {\n\t\tonSave()\n\t\t\t.then((results) => {\n\t\t\t\tconst rejected = filter(\n\t\t\t\t\tresults,\n\t\t\t\t\t(result): result is PromiseRejectedResult => result.status === 'rejected'\n\t\t\t\t);\n\t\t\t\tif (rejected.length > 0) {\n\t\t\t\t\tconsole.error(rejected);\n\t\t\t\t\tcancel();\n\t\t\t\t} else {\n\t\t\t\t\tsetModalVisible(false);\n\t\t\t\t\tsetConfirmedNavigation(true);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((reason) => {\n\t\t\t\tconsole.error(reason);\n\t\t\t\tcancel();\n\t\t\t});\n\t};\n\n\tconst onSecondaryAction = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(true);\n\t};\n\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);\n\t\t}\n\t}, [confirmedNavigation, history, lastLocation]);\n\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\tshowCloseIcon\n\t\t\t\tcloseIconTooltip={t('label.close', 'Close')}\n\t\t\t\topen={modalVisible}\n\t\t\t\ttitle={\n\t\t\t\t\tdataHasError\n\t\t\t\t\t\t? t('label.cannot_save_changes', 'Some changes cannot be saved')\n\t\t\t\t\t\t: t('label.unsaved_changes', 'You have unsaved changes')\n\t\t\t\t}\n\t\t\t\tonClose={cancel}\n\t\t\t\tonConfirm={dataHasError ? onSecondaryAction : onConfirm}\n\t\t\t\tconfirmLabel={\n\t\t\t\t\tdataHasError\n\t\t\t\t\t\t? t('label.leave_anyway', 'Leave anyway')\n\t\t\t\t\t\t: t('label.save_and_leave', 'Save and leave')\n\t\t\t\t}\n\t\t\t\tonSecondaryAction={dataHasError ? cancel : onSecondaryAction}\n\t\t\t\tsecondaryActionLabel={\n\t\t\t\t\tdataHasError ? t('label.cancel', 'Cancel') : t('label.leave_anyway', 'Leave anyway')\n\t\t\t\t}\n\t\t\t\toptionalFooter={\n\t\t\t\t\t!dataHasError ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\t\tlabel={t('label.cancel', 'Cancel')}\n\t\t\t\t\t\t\tonClick={cancel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Modal>\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 } 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 type { UtilityView } from '../../types';\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';\nimport { SHELL_APP_ID } from '../constants';\nimport { fetchNoOp } from '../network/fetch';\n\nconst UtilityBarItem: FC<{ view: UtilityView }> = ({ view }) => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst onClick = useCallback((): void => {\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\tsetMode(current !== view.id ? 'open' : mode !== 'open' ? 'open' : 'closed');\n\t\tsetCurrent(view.id);\n\t}, [current, mode, setCurrent, setMode, view.id]);\n\tif (typeof view.button === 'string') {\n\t\treturn (\n\t\t\t<Tooltip label={view.label} placement=\"bottom-end\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.button}\n\t\t\t\t\ticonColor={current === view.id ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <view.button mode={mode} setMode={setMode} />;\n};\n\nexport const ShellUtilityBar = (): JSX.Element => {\n\tconst views = useUtilityViews();\n\tconst t = getT();\n\tconst account = useUserAccount();\n\tconst accountItems = useMemo(\n\t\t(): DropdownItem[] => [\n\t\t\t{\n\t\t\t\tid: 'account',\n\t\t\t\tlabel: account?.displayName ?? 'Account',\n\t\t\t\tdisabled: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'email',\n\t\t\t\tlabel: account?.name ?? '',\n\t\t\t\tdisabled: true\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'divider',\n\t\t\t\tid: 'divider',\n\t\t\t\tlabel: 'divider'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'feedback',\n\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\tonClick: (): void => {\n\t\t\t\t\taddBoard(SHELL_APP_ID)({\n\t\t\t\t\t\turl: 'feedback',\n\t\t\t\t\t\ttitle: t('label.feedback', 'Feedback'),\n\t\t\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'update',\n\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\tonClick: fetchNoOp,\n\t\t\t\ticon: 'Refresh'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'docs',\n\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\tonClick: noop,\n\t\t\t\tdisabled: true,\n\t\t\t\ticon: 'InfoOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'logout',\n\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\tonClick: logout,\n\t\t\t\ticon: 'LogOut'\n\t\t\t}\n\t\t],\n\t\t[account, t]\n\t);\n\n\tconst viewItems = useMemo(\n\t\t() => map(views, (view) => <UtilityBarItem view={view} key={view.id} />),\n\t\t[views]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"horizontal\" width=\"fit\">\n\t\t\t{viewItems}\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 */\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 type { UtilityBarStore } from '../../types';\n\n// extra currying as suggested in https://github.com/pmndrs/zustand/blob/main/docs/guides/typescript.md#basic-usage\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: 2023 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { CSSProperties } from 'react';\nimport { reduce } from 'lodash';\n\nexport type ElementPosition = {\n\ttop: number;\n\tleft: number;\n};\n\nexport type ElementSize = {\n\twidth: number;\n\theight: number;\n};\n\nexport type SizeAndPosition = ElementPosition & ElementSize;\n\nexport const testFolderIsChecked = ({ string }: { string: string | undefined }): boolean =>\n\t/#/.test(string || '');\n\nexport function setGlobalCursor(cursor: CSSProperties['cursor']): void {\n\t// remove previously set cursor\n\tconst cursors: string[] = [];\n\tdocument.body.classList.forEach((item) => {\n\t\tif (item.startsWith('global-cursor-')) {\n\t\t\tcursors.push(item);\n\t\t}\n\t});\n\tdocument.body.classList.remove(...cursors);\n\tif (cursor) {\n\t\tdocument.body.classList.add(`global-cursor-${cursor}`);\n\t}\n}\n\nexport function setElementSizeAndPosition(\n\telement: HTMLElement,\n\tkey: keyof SizeAndPosition,\n\tvalue: number | undefined\n): void {\n\t// eslint-disable-next-line no-param-reassign\n\telement.style[key] = value !== undefined ? `${value}px` : '';\n}\n\nexport function stopPropagation(event: Event | React.SyntheticEvent): void {\n\tevent.stopPropagation();\n}\n\nexport function createExportForTestOnly<TObj extends Record<string, unknown>>(\n\tobjToExport: TObj\n): { [K in keyof TObj]: TObj[K] | undefined } {\n\treturn process.env.NODE_ENV === 'test'\n\t\t? objToExport\n\t\t: reduce(\n\t\t\t\tobjToExport,\n\t\t\t\t(accumulator, value, key) => {\n\t\t\t\t\taccumulator[key as keyof TObj] = undefined;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{} as Record<keyof TObj, undefined>\n\t\t );\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const folderWorker = new Worker(new URL('./folder', import.meta.url));\n","var map = {\n\t\"./de/index.js\": [\n\t\t\"./node_modules/date-fns/locale/de/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_de_index_js\"\n\t],\n\t\"./en-US/index.js\": [\n\t\t\"./node_modules/date-fns/locale/en-US/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_en-US_index_js\"\n\t],\n\t\"./es/index.js\": [\n\t\t\"./node_modules/date-fns/locale/es/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_es_index_js\"\n\t],\n\t\"./fr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/fr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_fr_index_js\"\n\t],\n\t\"./hi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/hi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_hi_index_js\"\n\t],\n\t\"./it/index.js\": [\n\t\t\"./node_modules/date-fns/locale/it/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_it_index_js\"\n\t],\n\t\"./ja/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ja/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ja_index_js\"\n\t],\n\t\"./nl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/nl/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_nl_index_js\"\n\t],\n\t\"./pl/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pl/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_pl_index_js\"\n\t],\n\t\"./pt-BR/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt-BR/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt-BR_index_js\"\n\t],\n\t\"./pt/index.js\": [\n\t\t\"./node_modules/date-fns/locale/pt/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_pt_index_js\"\n\t],\n\t\"./ro/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ro/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_ro_index_js\"\n\t],\n\t\"./ru/index.js\": [\n\t\t\"./node_modules/date-fns/locale/ru/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_ru_index_js\"\n\t],\n\t\"./th/index.js\": [\n\t\t\"./node_modules/date-fns/locale/th/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_th_index_js\"\n\t],\n\t\"./tr/index.js\": [\n\t\t\"./node_modules/date-fns/locale/tr/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_tr_index_js\"\n\t],\n\t\"./vi/index.js\": [\n\t\t\"./node_modules/date-fns/locale/vi/index.js\",\n\t\t\"vendors-node_modules_date-fns_locale_vi_index_js\"\n\t],\n\t\"./zh-CN/index.js\": [\n\t\t\"./node_modules/date-fns/locale/zh-CN/index.js\",\n\t\t\"vendors-node_modules_date-fns__lib_isSameUTCWeek_index_js-node_modules_date-fns_locale__lib_b-41ea83\",\n\t\t\"vendors-node_modules_date-fns_locale_zh-CN_index_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = \"./node_modules/date-fns/locale lazy recursive \\\\.[/\\\\\\\\](de%7Cen-US%7Ces%7Cfr%7Chi%7Cit%7Cja%7Cnl%7Cpl%7Cpt%7Cpt-BR%7Cro%7Cru%7Cth%7Ctr%7Cvi%7Czh-CN)[/\\\\\\\\]index\\\\.js$\";\nmodule.exports = webpackAsyncContext;","// extracted by mini-css-extract-plugin\nexport {};","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","_ref","_ref2","_instances$pkg","pkg","children","_useI18nStore$getStat","getState","instances","defaultI18n","i18n","createElement","useCallback","Catcher","onError","error","console","reduce","getApp","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getUserAccount","getUserAccounts","getUserSetting","getUserSettings","useUserAccount","useUserAccounts","useUserSetting","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getSoapFetch","getXmlSoapFetch","getFolder","getFolders","useFolder","useFolders","useRoot","getRoot","useRoots","getRoots","useSearchFolder","useSearchFolders","getSearchFolder","getSearchFolders","useFoldersByView","useFoldersAccordionByView","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","useLocalStorage","useIsMobile","getAppFunctions","name","t","soapFetch","xmlSoapFetch","getBridgedFunctions","_useContextBridge$get","packageDependentFunctions","functions","_objectSpread","acc","f","_defineProperty","Suspense","useMemo","map","useAppStore","Mounter","appId","key","id","fallback","AppLoaderMounter","entryPoints","s","entries","Comp","hidden","style","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","registerFunctions","removeFunctions","registerActions","removeActions","registerComponents","removeComponents","editSettings","produce","SEARCH_APP_ID","SETTINGS_APP_ID","Feedback","SearchAppView","AccountWrapper","GeneralSettings","settingsSubSections","SettingsAppView","SettingsSidebar","settingsRoute","app","settingsPrimaryBar","component","position","label","badge","show","settingsSecondaryBar","settingsAppView","settingsGeneralView","icon","subSections","settingsAccountsView","searchRoute","searchPrimaryBar","searchAppView","feedbackBoardView","registerDefaultViews","setState","_s$routes","routes","views","primaryBar","secondaryBar","appView","settings","board","forOwn","memo","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","concat","script","document","setAttribute","version","js_entrypoint","body","appendChild","err","unloadApps","then","parentNode","removeChild","filter","registerLocale","setDefaultLocale","useReporter","useAccountStore","getT","injectSharedLibraries","localeList","getDateFnsLocale","locale","loadApps","apps","_settings$prefs","_settings$attrs","appsToLoad","attrKey","log","_useAccountStore$getS","prefs","zimbraPrefLocale","attrs","zimbraLocale","actions","addI18n","localeObj","find","item","localeDateFnsKey","dateFnsLocale","value","localeDateFns","setClients","allSettled","unloadAllApps","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","Preview","react","lodash","moment","useEffect","BrowserRouter","Route","Switch","useHistory","useParams","ModalManager","SnackbarManager","useModal","useSnackbar","useTranslation","ShellI18nextProvider","ThemeProvider","BASENAME","IS_STANDALONE","Loader","NotificationPermissionChecker","ShellView","useBridge","ContextBridge","history","createSnackbar","createModal","getHistory","StandaloneListener","_useParams","standalone","DefaultViewsRegister","_useTranslation","_useTranslation2","_slicedToArray","Bootstrapper","basename","path","Modal","Padding","Text","useState","getInfo","loginConfig","goToLogin","getComponents","isPromiseRejectedResult","promiseSettledResult","status","isPromiseFulfilledResult","LoaderFailureModal","open","closeHandler","onConfirm","location","reload","showCloseIcon","onSecondaryAction","title","confirmLabel","secondaryActionLabel","onClose","all","_useState","_useState2","setOpen","promiseSettledResultArray","_promiseSettledResult","getComponentsPromiseSettledResult","getInfoPromiseSettledResult","promiseRejectedResult","reason","message","Object","values","createContext","useLayoutEffect","generateColorSet","UIThemeProvider","auto","disable","enable","setFetchMethod","createGlobalStyle","css","darkReaderDynamicThemeFixes","LOCAL_STORAGE_SETTINGS_KEY","getAutoScalingFontSize","useGetPrimaryColor","fetch","ThemeCallbacksContext","addExtension","Error","setDarkReaderState","paletteExtension","customTheme","arguments","length","undefined","theme","palette","shared","regular","hover","active","focus","disabled","linked","iconExtension","icons","Shared","ArrowCircleRight","Linked","ArrowCircleLeft","globalCursorsExtension","globalCursors","_toConsumableArray","GlobalStyle","baseFontSize","cursor","_ref3","_useLocalStorage","_useLocalStorage2","localStorageSettings","extensions","setExtensions","primaryColor","customThemePalette","primary","extension","_useState3","_useState4","darkReaderState","sepia","aggregatedExtensions","themeAccumulator","themeExtensionFn","newExtension","ext","savedScalingValueSetting","themeCallbacksContextValue","Provider","useTheme","size","LOCAL_STORAGE_LAST_PRIMARY_KEY","useLoginConfigStore","useDarkMode","localStorageLastPrimary","setLocalStorageLastPrimary","_useLoginConfigStore","carbonioWebUiPrimaryColor","carbonioWebUiDarkPrimaryColor","_useDarkMode","darkModeEnabled","darkReaderStatus","dark","light","prevState","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","LAST_SYSTEM_FOLDER_POSITION","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","ignoreInlineStyle","disableStyleSheetsProxy","base","standaloneBase","pathname","startsWith","EMAIL_VALIDATION_REGEX","ROOT_NAME","DARK_READER_VALUES","FOLDER_VIEW","search_folder","tag","conversation","contact","appointment","virtual_conversation","remote_folder","wiki","task","chat","LOCAL_STORAGE_SEARCH_KEY","LOCAL_STORAGE_BOARD_SIZE","SCALING_OPTIONS","BASE_FONT_SIZE","SCALING_LIMIT","WIDTH","HEIGHT","DPR","LOGIN_V3_CONFIG_PATH","DARK_READER_PROP_KEY","SENTRY_SHELL_DSN","SENTRY_FEEDBACK_DNS","ResultLabelType","HEADER_BAR_HEIGHT","PRIMARY_BAR_WIDTH","BOARD_HEADER_HEIGHT","BOARD_TAB_WIDTH","BOARD_CONTAINER_ZINDEX","BOARD_MIN_VISIBILITY","top","left","useDarkReaderResultValue","getPrefersColorSchemeDarkMedia","darkReaderResultValue","setDarkModeEnabled","matches","setCallback","event","addEventListener","removeEventListener","isZappDarkreaderModeZimletProp","prop","zimlet","isDarkReaderPropValues","maybeDarkReaderPropValue","includes","carbonioWebUiDarkMode","settingReceived","props","_find","result","_content","matchMedia","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","_useContextBridge$get2","call","r","module","parseParams","params","_getCurrentRoute","routeToApply","search","hash","cb","push","goBack","_useContextBridge$get3","_useContextBridge$get4","_useContextBridge$get5","_useContextBridge$get6","_useContextBridge$get7","_useContextBridge$get8","findIndex","isArray","mods","_mods$identity","_mods$identity2","_mods$identity3","_prop$app","pref","p","join","identity","modifyList","deleteList","createList","index","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","_mods$permissions","email","_mods$permissions3","_mods$permissions2","_mods$identity4","_s$account2","_mods$identity5","propIndex","account","displayName","_s$account","identities","itemMods","indexAccount","_attrs","_mods$identity6","_mods$identity6$delet","i","CreateIdentityResponse","_mods$identity7","_mods$identity7$delet","type","maxBy","userAgent","useNetworkStore","getPollingInterval","handleSync","fetchNoOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","_useNetworkStore$getS","sessionId","session","normalizeContext","context","notify","_notify$deleted","_notify$deleted$id","deleted","split","handleResponse","api","res","_res$Header","_res$Body","_useNetworkStore$getS2","noOpTimeout","usedQuota","clearTimeout","Body","Fault","_Body$Fault$Detail2","_Body$Fault$Detail2$E","_Body$Fault$Reason","code","_Body$Fault$Detail","_Body$Fault$Detail$Er","Detail","Code","authenticated","Reason","Header","_res$Header$context$r","_res$Header$context","_res$Header$context$r2","_res$Header$context$r3","_res$Header$context$r4","_res$Header$context2","_res$Header$context2$","_res$Header$context2$2","_res$Header$context2$3","_res$Header$context2$4","_res$Header$context2$5","_maxBy$seq","_maxBy","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","setTimeout","signal","_notify$","_notify$2","_useAccountStore$getS2","zimbraVersion","_useNetworkStore$getS3","method","headers","JSON","stringify","json","_useAccountStore$getS3","shellSoap","response","ok","statusText","components","addApps","normalizeAccount","parsePollingInterval","rights","_normalizeAccount","_window","_window$location","_window$location$assi","_window2","_window2$location","assign","origin","getClientTitle","getFavicon","loaded","favicon","getElementById","HTMLLinkElement","href","logout","logoff","action","op","color","rgb","UAParser","_UAParser","os","browser","debounce","noop","defaultAudio","NotificationManager","_this","_classCallCheck","vibrate","sound","PopupNotificationDefaultConfig","AudioNotificationDefaultConfig","showPopup","playSound","Map","has","set","Audio","play","DEBOUNCE_TIME","get","config","defConfig","getAudioFileFunction","n","Notification","onClick","NotificationDefaultConfig","forEach","conf","_createClass","getInstance","instance","warn","requestPermission","Fragment","Button","Container","Icon","Row","Select","useReducer","styled","useAppList","feedback","TextArea","textarea","withConfig","componentId","gray5","text","fonts","_ref4","sizes","font","_ref5","gray4","TextContainer","ButtonContainer","TAContainer","_ref6","_ref7","_ref8","SubHeadingText","_ref9","lineHeight","LabelContainer","_ref10","gray2","emptyEvent","level","release","extra","topic","user","reducer","_ref11","payload","getTopics","ModuleLabelFactory","_ref12","selected","orientation","width","crossAlignment","mainAlignment","borderRadius","background","padding","takeAvailableSpace","alignSelf","FeedbackLabelFactory","_ref13","showErr","_sentryEvent$extra4","_sentryEvent$extra5","_sentryEvent$extra7","allApps","sentryDsn","appItems","display","_useReducer","_useReducer2","sentryEvent","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","scrollHeight","checkTopicSelect","_sentryEvent$extra","_sentryEvent$message","confirmHandler","feedbackId","_account$displayName","disabledSend","_sentryEvent$message$","_sentryEvent$message2","_sentryEvent$extra2","_sentryEvent$extra3","LabelFactory","_extends","topics","defaultTopic","_find2","_sentryEvent$extra6","weight","bottom","maxWidth","vertical","items","defaultSelection","onChange","multiple","onKeyUp","placeholder","hint","_reporter$clients$app","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","defaultIntegrations","defaultStackParser","Hub","makeFetchTransport","_clients","transport","stackParser","dsn","maxValueLength","Dropdown","SelectorContainer","ModuleSelectorComponent","modules","_useSearchStore","updateModule","fullModule","_modules$find","m","dropdownItems","_modules$find2","openDropdown","closeDropdown","onOpen","minWidth","MemoModuleSelector","ModuleSelector","activeRoute","query","searchDisabled","Chip","Divider","Redirect","useQuery","updateQuery","useDisableSearch","setSearchDisabled","getIconAndColor","labelType","WARNING","ERROR","ResultsHeader","_ref$labelType","NORMAL","_useQuery","_useQuery2","_useDisableSearch","_useDisableSearch2","setDisabled","resetQuery","labelTypeElem","_getIconAndColor","_getIconAndColor2","chipItems","queryChip","minHeight","maxHeight","horizontal","wrap","_searchViews$","searchViews","view","exact","strict","from","to","ChipInput","IconButton","Tooltip","some","useRef","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","inputRef","storedSuggestions","setStoredSuggestions","inputTyped","setInputTyped","tooltip","isTyping","setIsTyping","_useState5","_useState6","options","setOptions","_useState7","_useState8","inputHasFocus","setInputHasFocus","_useState9","_useState10","searchInputValue","setSearchInputValue","showClear","_inputRef$current","_inputRef$current2","_inputRef$current2$va","clearSearch","_inputRef$current3","onSearch","currentQuery","ref","newInputValue","hasAvatar","newInputChip","currentQueryChip","searchInputChip","appSuggestions","v","reverse","updateOptions","textContent","queryChips","suggestion","slice","onQueryChange","newQuery","_newQuery","lastChipLabel","newSuggestion","onInputType","suggestions","containerRef","addFocus","removeFocus","runSearchOnKeyUp","disableOptions","clearButtonPlaceholder","searchButtonsAreDisabled","searchBtnTooltipLabel","onChipAdd","newChip","flexGrow","onAdd","confirmChipOnBlur","separators","overflowX","onInputTypeDebounce","onBlur","onFocus","requireUniqueChips","placement","customSize","iconSize","paddingSize","iconColor","backgroundColor","isFunction","AccountsSettings","tDefault","defaultValue","identityToIdentityProps","_identity$_attrs","_identity$_attrs2","_identity$_attrs3","_identity$_attrs4","_identity$_attrs5","_identity$_attrs6","_identity$_attrs7","_identity$_attrs8","_identity$_attrs9","_identity$_attrs10","_identity$_attrs11","toString","flgType","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","accountSettings","identitiesDefault","temp","pop","lowerFirst","isEmpty","uniq","AccountsList","PrimaryAccountSettings","SettingsSentMessages","Delegates","PersonaSettings","getAvailableEmailAddresses","_account$rights","targets","_account$rights2","addr","zimbraMailAlias","apply","String","_identities$selectedI","_identities$selectedI2","setCreateList","setDeleteList","setModifyList","resetLists","selectedIdentityId","setSelectedIdentityId","setIdentities","maxIdentities","zimbraIdentityMaxNumEntries","onCancel","updateModifyList","updatedIdentityKey","prevRecordPrefs","actualIdentity","newModifyList","modifyCreateList","newCreateList","addIdentity","identityAttrs","updateIdentities","removeIdentity","onSave","autoHideTimeout","hideButton","createIdentityRequests","zimbraPrefFromAddressType","deleteRequests","requestId","modifyIdentityRequests","promise","DeleteIdentityRequest","CreateIdentityRequest","ModifyIdentityRequest","newIdentity","filteredIdentities","splice","isDirty","availableEmailAddresses","_useState11","_useState12","delegates","setDelegates","ace","accumulator","idx","accountName","isExternalAccount","useContext","List","ModalManagerContext","max","_identities$selectedI3","changeView","ListItem","Number","createListRequestIdRef","addNewPersona","_identities$","_identities$2","_identities$3","_identities$4","newPersonaNextNumber","_item$identityName","parseFloat","newPersonaName","onConfirmDelete","newIdentities","onDelete","closeModal","confirmColor","ItemComponent","Radio","RadioGroup","activeDelegate","setActiveDelegate","activeValue","setActiveValue","setActiveDelegateCallback","justifyContent","newValue","Input","personaValue","setPersonaValue","personaLabel","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","Checkbox","blankItem","replyToEnabledValue","setReplyToEnabledValue","setReplyToAddress","dropdownOpen","setDropdownOpen","fromDisplayValue","setFromDisplayValue","setReplyToDisplay","fromAddressArray","address","setFromAddress","k","onClickReplyToEnabled","newState","fromDisplayLabel","onChangeFromDisplayValue","fromAddressLabel","onChangeFromAddress","newAddress","replyToEnabledLabel","replyToDisplayLabel","onChangePrefReplyToDisplay","replyToAddressLabel","onChangeReplyToAddress","replyToAddressArray","_identity$fromAddress","_identity$fromAddress2","isValidEmail","test","selection","showCheckbox","hasError","CustomIcon","appearanceSubSection","AppearanceSettings","subSection","gap","DarkThemeSettingSection","addMod","removeMod","_useContext","setSelection","setSelectNewValue","onSelectionChange","FormSubSection","accountSubSection","Logout","sectionTitle","Badge","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","HTMLElement","navigator","clipboard","writeText","innerText","filteredList","description","success","gray6","Heading","OutOfOfficeTimePeriodSection","outOfOfficeSubSection","dateToGenTime","upsertPrefOnUnsavedChanges","useReset","buildItemsPrefOutOfOfficeReplyEnabled","buildItemsExternalSenders","SEND_AUTO_REPLY","SHOW_EXTERNAL_INPUT","SEND_NOT_IN_ORG","SUPPRESS_EXTERNAL","getExternalSendersPrefsData","itemsExternalSenders","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefOutOfOfficeExternalReplyEnabled","zimbraPrefExternalSendersType","OutOfOfficeSettings","_settings$prefs$zimbr","_settings$prefs$zimbr2","resetRef","outOfOfficeSectionTitle","zimbraPrefOutOfOfficeReplyEnabled","prefOutOfOfficeReplyEnabled","setPrefOutOfOfficeReplyEnabled","zimbraPrefOutOfOfficeReply","prefOutOfOfficeReply","setPrefOutOfOfficeReply","prefOutOfOfficeExternalReplyEnabled","setPrefOutOfOfficeExternalReplyEnabled","zimbraPrefOutOfOfficeExternalReply","prefOutOfOfficeExternalReply","setPrefOutOfOfficeExternalReply","externalSendersSelectedItem","setExternalSendersSelectedItem","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriodEnabled","setSendAutoReplyTimePeriodEnabled","outOfOfficeTimePeriodResetRef","initPrefs","_settings$prefs$zimbr3","_settings$prefs$zimbr4","_outOfOfficeTimePerio","reset","updatePref","prefOutOfOfficeReplyEnabledSelectItems","prefOutOfOfficeReplyEnabledSelectedValue","prefOutOfOfficeReplyEnabledOnChange","externalSendersSelectItems","externalSendersHandler","externalSendersOnChange","newSelectItem","prefOutOfOfficeReplyOnChange","prefOutOfOfficeExternalReplyOnChange","toggleSendAutoReplyTimePeriod","nextState","Date","dropdownWidth","dropdownMaxWidth","prefOutOfOfficeFromDate","prefOutOfOfficeUntilDate","DateTimePicker","endOfDay","genTimeToDate","startOfDay","coerceGenTime","genTime","fromDate","setFromDate","untilDate","setUntilDate","allDayEnabled","setAllDayEnabled","editTimeIsDisabled","fromDatePref","untilDatePref","fromDateAllDay","untilDateAllDay","getTime","outOfOfficeFromDateOnChange","newFromDate","newUntilDate","outOfOfficeUntilDateOnChange","toggleAllDay","prevWasEnabled","nowIsEnabled","startOfFromDate","endOfUntilDate","dateFormat","includeTime","timeLabel","showTimeSelect","showTimeSelectOnly","Slider","ScalingSliderContainer","ExampleContainer","$fontSize","ExampleText","BASE_FONT_OPTION_INDEX","option","AUTOSCALING_FONT_SIZE","AUTOSCALING_FONT_OPTION_INDEX","ScalingSettingSection","_scalingSettings$sett","scalingSettings","addLocalStoreChange","cleanLocalStoreChange","_useMemo","labels","_useMemo2","scalingOptionValues","scalingOptionLabels","savedOptionIndex","optionIndex","autoScaling","setAutoScaling","scalingValue","setScalingValue","increaseScalingByStep","decreaseScalingByStep","toggleAutoScaling","onChangeScalingValue","newValueIndex","resetHandler","_scalingSettings$sett2","exampleText","exampleFontSize","Math","round","searchPrefsSubSection","SearchSettings","zimbraPrefIncludeSpamInSearch","searchInSpamFolder","setSearchInSpamFolder","zimbraPrefIncludeTrashInSearch","searchInTrashFolder","setSearchInTrashFolder","zimbraPrefIncludeSharedItemsInSearch","searchInSharedFolder","setSearchInSharedFolder","setMode","init","onClickSpam","onClickTrash","onClickShared","Quota","quotaSubSection","UserQuota","_settings$attrs2","mobileView","used","quota","userQuota","zimbraMailQuota","fillBackground","fill","Breadcrumbs","RouteLeavingGuard","_history$location","crumbs","_document$querySelect","querySelector","scrollIntoView","when","isBoolean","GEN_TIME_FORMAT","getGenTimeMoment","date","utc","format","local","toDate","setHours","localName","timeZoneList","screen","devicePixelRatio","baseFontIndex","addModifiedValueCallback","prefKey","prefValue","timezoneAndLanguageSubSection","LanguageAndTimeZoneSettings","setMods","userSettings","localStorageUnAppliedChanges","setLocalStorageUnAppliedChanges","setLocalStorageSettings","prevType","nextType","unAppliedPrevState","localStorageSettingsPrevState","modifyPropertiesRequest","mappedProperties","modifyPrefsRequest","zimbraPrefMailTrustedSenderList","Array","ModifyPropertiesRequest","ModifyPrefsRequest","keys","scalingSettingSectionRef","outOfOfficeSettingsSectionRef","searchSettingsSectionRef","_outOfOfficeSettingsS","_searchSettingsSectio","_scalingSettingSectio","useImperativeHandle","resetFn","LanguageAndTimeZone","locales","timezones","updatePrefs","defaultLocale","onLocaleChange","defaultTimeZone","zimbraPrefTimeZoneId","onTimeZoneChange","dropdownMaxHeight","selectedBackgroundColor","dismissLabel","settingsViews","Accordion","expanded","disableHover","stopPropagation","collapsedItems","_BoardsRouterContainer","FirstAppRedirect","mainRoute","_apps$","AppViewContainer","appViews","forwardRef","MiniBadge","_badge$color","BadgeWrap","_badge$count","showCount","fontSize","count","closeAllBoards","expandBoards","onGoToPanel","reduceBoards","useBoardStore","AppBoard","TabsList","ResizableContainer","setElementSizeAndPosition","useMove","BOARD_DEFAULT_POSITION","BoardContainerComp","div","minimized","OverflowContainer","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","ListItemContent","boardId","pointerEvents","calcPositionToRemainVisible","lastSavedPosition","containerSize","minVisibility","BoardContainer","_boards$current","_boards$current$conte","_useBoardStore","boards","orderedBoards","boardDropdownItems","_getApp","customComponent","boardRef","boardContainerRef","lastSavedBoardSizeAndPosition","setLastSavedBoardSizeAndPosition","currentBoardSizeAndPosition","setCurrentBoardSizeAndPosition","lastSavedBoardSizeAndPositionRef","_useMove","localStorageKey","_useMove2","isMoving","moveElementHandler","isDefaultSizeAndPosition","isBoardEmpty","resetSizeAndPosition","boardElement","updateBoardPosition","clientHeight","clientWidth","newSizeAndPosition","boardContainer","leading","trailing","cancel","clickHandler","clickFn","defaultPrevented","onMouseDown","elementToResize","onReturnToApp","b","AppBoardTab","CustomRow","firstTab","TabContainer","gray3","CloseContainer","TabIcon","CustomText","overflowing","VerticalDivider","onRemove","textRef","textOverflowing","setTextOverflowing","resizeObserverRef","ResizeObserver","requestAnimationFrame","offsetWidth","scrollWidth","observe","_resizeObserverRef$cu","disconnect","triggerRef","className","Router","createMemoryHistory","BoardProvider","initialEntries","url","boardViews","windowHistory","unlisten","listen","l","BORDERS","getCursorFromBorder","useResize","MainContainer","BorderWithResize","$cursor","$width","$height","$position","$translateTransform","x","y","ResizableBorder","border","keepSynchedWithStorage","borderRef","resizeHandler","positions","_ref7$disabled","rest","_objectWithoutProperties","_excluded","borders","Bubble","Collapser","MultiButton","groupBy","CreationButtonComponent","primaryAction","group","byApp","secondaryActions","_byApp","_activeRoute$app","_byApp$app$name","click","disabledPrimary","disabledSecondary","MemoCreationButton","CreationButton","locationFull","truncateLocation","_location$pathname","ShellContext","isMobile","createExportForTestOnly","isSameLocalStorageValue","valueA","valueB","useLocalStorageStore","storage","readValue","localStorageItem","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","DEFAULT_OPTIONS","initialValue","storedValue","shouldDispatchStorageEventRef","localStorageOptions","readValueForKey","setValueForKey","dispatchEvent","Event","exportForTest","setGlobalCursor","BOARD_CURSOR_TIMEOUT","calcNewPosition","limitContainer","mouseEvent","_limitClientRect$top","_limitClientRect$left","limitClientRect","getBoundingClientRect","clientTopLimit","moveTopDelta","clientY","mouseClientY","newClientTop","clientTop","newTop","clientLeftLimit","moveLeftDelta","clientX","mouseClientX","newClientLeft","clientLeft","newLeft","elementToMoveRef","setIsMoving","isMoveEnabledRef","initialSizeAndPositionRef","setLastSavedPosition","lastPositionRef","globalCursorSetterTimerRef","shouldUpdateLocalStorageRef","moveElement","elementToMove","positionToApply","preventClick","capture","onMouseMove","mouseMoveEvent","offsetParent","newPosition","enableMove","activeElement","classList","add","disableMove","remove","onMouseUp","moveHandler","mouseDownEvent","clientRect","offsetHeight","offsetLeft","offsetTop","direction","calcNewSizeAndPosition","heightDifference","widthDifference","elementToResizeRef","lastSavedSizeAndPosition","setLastSavedSizeAndPosition","lastSizeAndPositionRef","resizeElement","sizeAndPositionToApply","computedStyle","getComputedStyle","useLogo","Logo","LogoElement","alt","src","useScreenMode","ShellContextProvider","screenMode","Responsive","StyledLogo","ShellHeaderContainer","ShellHeader","mobileNavIsOpen","onMobileMenuClick","searchEnabled","mode","Collapse","SidebarComponent","secondary","ShellMobileNavComponent","menuTree","val","CustomComponent","zIndex","crossSize","overflowY","ShellMobileNavMemo","ShellMobileNav","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","PrimaryBarContainer","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","_view$onClick","OverlayRow","ShellPrimaryBarComponent","_activeRoute$standalo","primaryBarViews","_useHistory","_useLocation","routesRef","primaryBarAccessoryViews","primaryBarAccessories","accessoryViews","primaryBarItems","accessoryItems","hidePrimaryBar","MemoShellPrimaryBarComponent","useUtilityBarStore","SidebarContainer","sidebarIsOpen","ShellSecondaryBarComponent","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","accessories","role","MemoShellSecondaryBar","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","useLoginRedirection","allowUnauthenticated","auth","ShellComponent","hideShellHeader","mobileNavOpen","setMobileNavOpen","MemoShell","_activeRoute$standalo2","acct","_s$account$rights","_useUserRights","_find$target","_len","_key","_len2","_key2","_find$target2","normalizeSettings","_settings$props$prop","signatures","lastNotificationTime","now","useApps","a","priority","getAppList","getApps","appContexts","getShell","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","STANDALONE_RESPONSE","commit","utilityBar","routeData","_get","_get2","_get3","bar","_app$commit","_app$description","_app$js_entrypoint","_app$name","_app$priority","_app$version","_app$type","_app$icon","_app$display","FallbackView","normalizeBadgeInfo","_badge$show","_badge$showCount","_data$route","_data$id","_data$badge","_data$position","_data$visible","_data$label","_data$primaryBar","_data$appView","_data$standalone","_data$standalone2","_data$standalone3","_data$route2","_data$id2","_data$component","_data$label2","_data$icon","_data$position2","_data$subSections","_data$route3","_data$id3","_data$component2","_data$label3","_data$icon2","_data$position3","_data$id4","_data$component3","_data$button","_data$badge2","_data$position4","_data$label4","whitelistRoutes","blacklistRoutes","button","_data$label5","_data$position5","_data$id5","_data$component4","_data$position6","_data$id6","_data$component5","_data$route4","_data$id7","_data$component6","boardContext","boardHooksContext","callbacks","getBoardContext","getBoard","trimStart","uniqueId","_board$id","_board$icon","unshift","_state$boards$id","_state$boards$id$onCl","_b$onClose","_state$boards$id2","_state$boards$id2$onG","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","_s$folders","folders","_useFolderStore$getSt","_useFolderStore$getSt2","_s$roots","roots","_useFolderStore$getSt3","userId","_s$searches","searches","itemProps","mapFunction","_itemProps","folder","filterFunction","recursionKey","sortFunction","deep","folderWorker","onmessage","hasId","getOriginalId","_parts$","parts","parseInt","toLowerCase","isTrash","oname","childrenSorted","_instances$app","_instances$app$t","_instances$app2","_useI18nStore$getStat2","_instances$SHELL_APP_","_instances$SHELL_APP_2","_useI18nStore$getStat3","i18next","Backend","dropRight","initReactI18next","addShell","defaultLng","createInstance","lng","defaultI18nInitOptions","returnEmptyString","returnNull","compatibilityJSON","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","_","__","backend","loadPath","BASE_PATH","setLocale","i18nInst","changeLanguage","getters","getLocale","appsWithShell","newI18n","use","tinymce","Editor","FileInput","input","Composer","onEditorChange","onFileSelect","_ref$inline","inline","_onEditorChange","newContent","editor","getContent","_useUserSettings","defaultStyle","zimbraPrefHtmlEditorDefaultFontFamily","zimbraPrefHtmlEditorDefaultFontSize","zimbraPrefHtmlEditorDefaultFontColor","onFileClick","inlineLabel","setupCallback","ui","registry","addMenuButton","callback","onAction","editorInitConfig","content_css","language_url","language","setup","min_height","auto_focus","menubar","statusbar","branding","resize","font_size_formats","object_resizing","style_formats","block","wrapper","merge_siblings","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","content_style","visualblocks_default_state","end_container_on_empty_block","relative_urls","remove_script_host","newline_behavior","fileInputOnChange","files","accept","compact","_useIntegrationsStore","integration","_useIntegrationsStore2","Integration","C","factories","_useIntegrationsStore3","factory","_useIntegrationsStore4","_s$functions","_s$components","_compact","combinedFactory","composer","_len3","_key3","fn","_len4","ids","_key4","actionTypeMap","actionFactory","actionFactoryId","_len5","_key5","_len6","_key6","carbonioWebUiFavicon","carbonioWebUiTitle","DefaultLogo","carbonioWebUiAppLogo","carbonioWebUiDarkAppLogo","_s$notify","_s$refresh","tagWorker","useTagStore","POLLING_NOWAIT_INTERVAL","POLLING_RETRY_INTERVAL","pollingPref","zimbraPrefMailPollingInterval","pollingValue","isNaN","_res$Body2","waitDisallowed","fault","_refresh$folder","postMessage","tags","pick","Link","RRLink","_to","textDecoration","Prompt","_ref$dataHasError","dataHasError","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","results","rejected","closeIconTooltip","optionalFooter","loading","useUtilityViews","UtilityBarItem","_useUtilityBarStore","setCurrent","_account$displayName2","accountItems","_account$name","viewItems","disableAutoFocus","Panel","Spacer","currentPanel","_views$","intersection","checkList","l1","l2","_omit","activeRouteValues","utilityViews","testFolderIsChecked","string","_document$body$classL","cursors","element","objToExport","process","env","NODE_ENV","Worker","URL","import","meta"],"sourceRoot":""}
|