@zextras/carbonio-shell-ui 0.4.34 → 0.4.35
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/index.html +3 -3
- package/dist/{src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.7999114d.chunk.js → src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.52c78862.chunk.js} +3 -11
- package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.52c78862.chunk.js.map +1 -0
- package/dist/{src_workers_folder_ts.1dd80c66.chunk.js → src_workers_folder_ts.2339d8c8.chunk.js} +2 -2
- package/dist/{src_workers_folder_ts.1dd80c66.chunk.js.map → src_workers_folder_ts.2339d8c8.chunk.js.map} +1 -1
- package/dist/{src_workers_tag_ts.e4d59fc8.chunk.js → src_workers_tag_ts.dcf0dec1.chunk.js} +2 -2
- package/dist/{src_workers_tag_ts.e4d59fc8.chunk.js.map → src_workers_tag_ts.dcf0dec1.chunk.js.map} +1 -1
- package/dist/{style.918584a7.css → style.f36fc042.css} +29 -29
- package/dist/{style.918584a7.css.map → style.f36fc042.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
- package/dist/src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.7999114d.chunk.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.7999114d.chunk.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;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;;AAEO,IAAMklB,YAAY,GAAG,SAAfA,YAAe,CAC3Bt4B,CAD2B;AAAA,SAEoC,CAC/D;AACCoT,IAAAA,KAAK,EAAE,YADR;AAECjT,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAEoT,MAAAA,KAAK,EAAE,YAAT;AAAuB8jB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GAD+D,EAK/D;AACC9jB,IAAAA,KAAK,EAAE,gBADR;AAECjT,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAEoT,MAAAA,KAAK,EAAE,YAAT;AAAuB8jB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GAL+D,EAS/D;AACC9jB,IAAAA,KAAK,EAAE,cADR;AAECjT,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAEoT,MAAAA,KAAK,EAAE,YAAT;AAAuB8jB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GAT+D,EAa/D;AACC9jB,IAAAA,KAAK,EAAE,kBADR;AAECjT,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AAAE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A;AACA;AACA;CAcA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA,iEAAe,qBAAuB,yCAAyC;;;;;;;;;;;;;;;ACA/E,iEAAe,qBAAuB,yCAAyC;;;;;;;;;;ACA/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-context-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-error-catcher.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-functions.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-mounter.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/app/app-loader-setters.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/default-views.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-app.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/load-apps.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/app/shared-libraries.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-context.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper-router.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/bootstrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/boot/init.ts","webpack://@zextras/carbonio-shell-ui/./src/boot/theme-provider.tsx","webpack://@zextras/carbonio-shell-ui/./src/constants/index.ts","webpack://@zextras/carbonio-shell-ui/./src/dev/dev-board-trigger.tsx","webpack://@zextras/carbonio-shell-ui/./src/dev/dev-board.tsx","webpack://@zextras/carbonio-shell-ui/./src/history/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/i18n/i18n-factory.ts","webpack://@zextras/carbonio-shell-ui/./src/network/edit-settings.ts","webpack://@zextras/carbonio-shell-ui/./src/network/fetch.ts","webpack://@zextras/carbonio-shell-ui/./src/network/get-info.ts","webpack://@zextras/carbonio-shell-ui/./src/network/go-to-login.ts","webpack://@zextras/carbonio-shell-ui/./src/network/logout.ts","webpack://@zextras/carbonio-shell-ui/./src/network/tags.ts","webpack://@zextras/carbonio-shell-ui/./src/network/user-agent.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationManager.ts","webpack://@zextras/carbonio-shell-ui/./src/notification/NotificationPermissionChecker.tsx","webpack://@zextras/carbonio-shell-ui/./src/redux/store-factory.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/feedback.tsx","webpack://@zextras/carbonio-shell-ui/./src/reporting/functions.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/index.ts","webpack://@zextras/carbonio-shell-ui/./src/reporting/store.ts","webpack://@zextras/carbonio-shell-ui/./src/search/module-selector.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/run-search.ts","webpack://@zextras/carbonio-shell-ui/./src/search/search-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/search/search-store.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/account-wrapper.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/accounts-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/accounts-list.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/delegates.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/persona-use-section.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/primary-account-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/account-settings/settings-sent-messages.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-picker-style.jsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/date-time-select-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/appearance-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/logout.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/module-version-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/out-of-office-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/general-settings/user-quota.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-header.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/settings-heading.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/components/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings-sub-sections.ts","webpack://@zextras/carbonio-shell-ui/./src/settings/general-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/language-and-timezone-settings.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/search-settings-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-app-view.tsx","webpack://@zextras/carbonio-shell-ui/./src/settings/settings-sidebar.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/app-view-container.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/badge-wrap.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/app-board-tab.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/app-board-window.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/app-board.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-context-provider.jsx","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-context.js","webpack://@zextras/carbonio-shell-ui/./src/shell/boards/board-hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/collapser.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/creation-button.tsx","webpack://@zextras/carbonio-shell-ui/./src/shell/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/shell/shell-context-provider.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/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/integrations/composer.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/getters.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/hooks.tsx","webpack://@zextras/carbonio-shell-ui/./src/store/integrations/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/store.ts","webpack://@zextras/carbonio-shell-ui/./src/store/network/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/hooks.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/index.ts","webpack://@zextras/carbonio-shell-ui/./src/store/tags/store.ts","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/app-link.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/nav-guard.tsx","webpack://@zextras/carbonio-shell-ui/./src/ui-extras/spinner.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/bar.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/index.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/panel.tsx","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/store.ts","webpack://@zextras/carbonio-shell-ui/./src/utility-bar/utils.ts","webpack://@zextras/carbonio-shell-ui/./src/workers/index.ts","webpack://@zextras/carbonio-shell-ui/./types/exports/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/misc/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/network/index.d.ts","webpack://@zextras/carbonio-shell-ui/./types/search/index.d.ts","webpack://@zextras/carbonio-shell-ui/./assets/carbonio-logo.png","webpack://@zextras/carbonio-shell-ui/./assets/notification.mp3","webpack://@zextras/carbonio-shell-ui//tmp/workspace/extras_carbonio-shell-ui_release/node_modules/moment/locale|sync|/^\\.\\/.*$/","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|canvas","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|fs","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|http","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|https","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|url","webpack://@zextras/carbonio-shell-ui/ignored|/tmp/workspace/extras_carbonio-shell-ui_release/node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build|zlib"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Provider } from 'react-redux';\nimport { I18nextProvider } from 'react-i18next';\nimport { ModalManager, SnackbarManager } from '@zextras/carbonio-design-system';\nimport { useStoreFactory, useI18nFactory } from '../bootstrapper-context';\nimport AppErrorCatcher from './app-error-catcher';\nimport { getApp, getShell } from '../../store/app';\n\nconst AppContextProvider: FC<{ pkg: string }> = ({ pkg, children }) => {\n\tconst i18nFactory = useI18nFactory();\n\tconst storeFactory = useStoreFactory();\n\tconst app = useMemo(() => getApp(pkg)() ?? getShell(), [pkg]);\n\tconst store = useMemo(() => storeFactory.getStoreForApp(app), [app, storeFactory]);\n\tconst i18n = useMemo(() => i18nFactory.getAppI18n(app), [i18nFactory, app]);\n\treturn (\n\t\t<Provider store={store}>\n\t\t\t<I18nextProvider i18n={i18n}>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t<SnackbarManager>\n\t\t\t\t\t\t<AppErrorCatcher>{children}</AppErrorCatcher>\n\t\t\t\t\t</SnackbarManager>\n\t\t\t\t</ModalManager>\n\t\t\t</I18nextProvider>\n\t\t</Provider>\n\t);\n};\n\nexport default AppContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback } from 'react';\nimport { Catcher } from '@zextras/carbonio-design-system';\n\nconst AppErrorCatcher: FC = ({ children }) => {\n\tconst onError = useCallback((error) => {\n\t\tconsole.error(error);\n\t\t// ({event: 'report-exception',data: { exception: error }});\n\t}, []);\n\treturn <Catcher onError={onError}>{children}</Catcher>;\n};\nexport default AppErrorCatcher;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { reduce } from 'lodash';\nimport { getApp, getAppContext, useApp, useAppContext } from '../../store/app';\nimport { useContextBridge } from '../../store/context-bridge';\nimport {\n\tgetAction,\n\tgetActions,\n\tgetActionsFactory,\n\tgetActionFactory,\n\tgetIntegratedComponent,\n\tgetIntegratedFunction,\n\tgetIntegratedHook\n} from '../../store/integrations/getters';\nimport {\n\tgetUserAccount,\n\tgetUserAccounts,\n\tgetUserSetting,\n\tgetUserSettings,\n\tuseUserAccount,\n\tuseUserAccounts,\n\tuseUserSetting,\n\tuseUserSettings,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights\n} from '../../store/account';\nimport { useIsMobile, useLocalStorage } from '../../shell/hooks';\nimport {\n\tuseAction,\n\tuseActions,\n\tuseActionsFactory,\n\tuseActionFactory,\n\tuseIntegratedComponent,\n\tuseIntegratedFunction,\n\tuseIntegratedHook\n} from '../../store/integrations/hooks';\nimport { CarbonioModule } from '../../../types';\nimport {\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tgetCurrentRoute,\n\tuseCurrentRoute,\n\treplaceHistory,\n\tgoBackHistory,\n\tpushHistory\n} from '../../history/hooks';\nimport {\n\tgetUseAddBoardCallback,\n\tuseBoardConfig,\n\tuseRemoveCurrentBoard,\n\tuseUpdateCurrentBoard\n} from '../../shell/boards/board-hooks';\nimport { getSoapFetch, getXmlSoapFetch } from '../../network/fetch';\nimport {\n\tgetFolder,\n\tgetFolders,\n\tuseFolder,\n\tuseFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseFoldersAccordionByView,\n\tuseFoldersByView,\n\tuseRootByUser,\n\tgetRootByUser\n} from '../../store/folder';\nimport { getTags, useTags } from '../../store/tags';\nimport { useNotify, useRefresh } from '../../store/network';\nimport { changeTagColor, createTag, deleteTag, renameTag } from '../../network/tags';\nimport { runSearch } from '../../search/run-search';\nimport { getNotificationManager } from '../../notification/NotificationManager';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppFunctions = (pkg: CarbonioModule): Record<string, Function> => ({\n\tsoapFetch: getSoapFetch(pkg.name),\n\txmlSoapFetch: getXmlSoapFetch(pkg.name),\n\n\t// APP STORE FUNCTIONS\n\tuseAppContext: useAppContext(pkg.name),\n\tgetAppContext: getAppContext(pkg.name),\n\tuseApp: useApp(pkg.name),\n\tgetApp: getApp(pkg.name),\n\n\t// INTEGRATIONS\n\tuseIntegratedHook,\n\tgetIntegratedHook,\n\tuseIntegratedFunction,\n\tgetIntegratedFunction,\n\tuseIntegratedComponent,\n\tgetIntegratedComponent,\n\tuseAction,\n\tgetAction,\n\tuseActions,\n\tgetActions,\n\tuseActionsFactory,\n\tgetActionsFactory,\n\tuseActionFactory,\n\tgetActionFactory,\n\t// ACCOUNTS\n\tuseUserAccount,\n\tgetUserAccount,\n\tuseUserAccounts,\n\tgetUserAccounts,\n\tuseUserSettings,\n\tgetUserSettings,\n\tgetUserSetting,\n\tuseUserSetting,\n\tuseUserRight,\n\tuseUserRights,\n\tgetUserRight,\n\tgetUserRights,\n\tuseTags,\n\tgetTags,\n\tuseNotify,\n\tuseRefresh,\n\t// FOLDERS\n\tuseFoldersAccordionByView,\n\tuseFoldersByView,\n\tuseFolder,\n\tgetFolder,\n\tuseFolders,\n\tgetFolders,\n\tuseRoot,\n\tgetRoot,\n\tuseRoots,\n\tgetRoots,\n\tuseSearchFolder,\n\tuseSearchFolders,\n\tgetSearchFolder,\n\tgetSearchFolders,\n\tuseRootByUser,\n\tgetRootByUser,\n\t// BOARDS\n\tuseAddBoardCallback: getUseAddBoardCallback(pkg.name),\n\tuseUpdateCurrentBoard,\n\tuseRemoveCurrentBoard,\n\tuseBoardConfig,\n\t// HISTORY\n\tusePushHistoryCallback,\n\tuseGoBackHistoryCallback,\n\tuseReplaceHistoryCallback,\n\tuseCurrentRoute,\n\tgetCurrentRoute,\n\tpushHistory,\n\tgoBackHistory,\n\treplaceHistory,\n\t// TAGS\n\tcreateTag,\n\trenameTag,\n\tchangeTagColor,\n\tdeleteTag,\n\t// NOTIFICATION\n\tgetNotificationManager,\n\n\t// STUFF\n\trunSearch,\n\tuseIsMobile,\n\tuseLocalStorage,\n\tgetBridgedFunctions: (): unknown => {\n\t\tconst { packageDependentFunctions, functions } = useContextBridge.getState();\n\t\treturn {\n\t\t\t...functions,\n\t\t\t...reduce(packageDependentFunctions, (acc, f, name) => ({ ...acc, [name]: f(pkg.name) }), {})\n\t\t};\n\t}\n});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, memo, Suspense, useMemo } from 'react';\nimport { isEmpty, map } from 'lodash';\nimport { useAppStore } from '../../store/app';\nimport AppContextProvider from './app-context-provider';\n\nconst Mounter: FC<{ appId: string }> = ({ children, appId }) => (\n\t<div key={appId} id={appId}>\n\t\t<AppContextProvider key={appId} pkg={appId}>\n\t\t\t<Suspense fallback={''}>{children}</Suspense>\n\t\t</AppContextProvider>\n\t</div>\n);\n\nconst AppLoaderMounter: FC = () => {\n\tconst entryPoints = useAppStore((s) => s.entryPoints);\n\tconst entries = useMemo(\n\t\t() =>\n\t\t\tisEmpty(entryPoints)\n\t\t\t\t? null\n\t\t\t\t: map(entryPoints, (Comp, appId) => {\n\t\t\t\t\t\tconst MemoComp = memo(Comp);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Mounter key={appId} appId={appId}>\n\t\t\t\t\t\t\t\t<MemoComp />\n\t\t\t\t\t\t\t</Mounter>\n\t\t\t\t\t\t);\n\t\t\t\t }),\n\t\t[entryPoints]\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"app-mounter\"\n\t\t\tkey=\"app-mounter\"\n\t\t\thidden\n\t\t\tstyle={{ height: 0, overflow: 'hidden' }}\n\t\t>\n\t\t\t{entries}\n\t\t</div>\n\t);\n};\n\nexport default AppLoaderMounter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n// The 'useXXX' functions actually return hooks\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport {\n\tAppRouteDescriptor,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { getEditSettingsForApp } from '../../network/edit-settings';\nimport { useAppStore } from '../../store/app';\nimport {\n\tnormalizeRoute,\n\tnormalizeSettingsView,\n\tnormalizeSearchView,\n\tnormalizeUtilityView,\n\tnormalizePrimaryAccessoryView,\n\tnormalizeSecondaryAccessoryView,\n\tnormalizeBoardView\n} from '../../store/app/utils';\nimport { useIntegrationsStore } from '../../store/integrations/store';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getAppSetters = (pkg: CarbonioModule): Record<string, Function> => {\n\tconst appSetters = useAppStore.getState().setters;\n\tconst integrations = useIntegrationsStore.getState();\n\treturn {\n\t\tupdatePrimaryBadge: appSetters.updatePrimaryBadge,\n\t\tupdateUtilityBadge: appSetters.updateUtilityBadge,\n\t\tsetAppContext: appSetters.setAppContext(pkg.name),\n\t\taddRoute: (route: Partial<AppRouteDescriptor>) =>\n\t\t\tappSetters.addRoute(normalizeRoute(route, pkg)),\n\t\tsetRouteVisibility: (routeId: string, visible: boolean) =>\n\t\t\tappSetters.setRouteVisibility(routeId, visible),\n\t\tremoveRoute: (routeId: string) => appSetters.removeRoute(routeId),\n\t\t// add board\n\t\taddBoardView: (data: Partial<BoardView>) =>\n\t\t\tappSetters.addBoardView(normalizeBoardView(data, pkg)),\n\t\t// remove board\n\t\tremoveBoardView: appSetters.removeBoardView,\n\t\t//\n\t\t// add settings\n\t\taddSettingsView: (data: Partial<SettingsView>) =>\n\t\t\tappSetters.addSettingsView(normalizeSettingsView(data, pkg)),\n\t\t// remove settings\n\t\tremoveSettingsView: appSetters.removeSettingsView,\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: Partial<SearchView>) =>\n\t\t\tappSetters.addSearchView(normalizeSearchView(data, pkg)),\n\t\t// remove search\n\t\tremoveSearchView: appSetters.removeSearchView,\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: Partial<UtilityView>) =>\n\t\t\tappSetters.addUtilityView(normalizeUtilityView(data, pkg)),\n\t\t// remove utility\n\t\tremoveUtilityView: appSetters.removeUtilityView,\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) =>\n\t\t\tappSetters.addPrimaryAccessoryView(normalizePrimaryAccessoryView(data, pkg)),\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: appSetters.removePrimaryAccessoryView,\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) =>\n\t\t\tappSetters.addSecondaryAccessoryView(normalizeSecondaryAccessoryView(data, pkg)),\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: appSetters.removeSecondaryAccessoryView,\n\t\tregisterHooks: integrations.registerHooks,\n\t\tremoveHooks: integrations.removeHooks,\n\t\tregisterFunctions: integrations.registerFunctions,\n\t\tremoveFunctions: integrations.removeFunctions,\n\t\tregisterActions: integrations.registerActions,\n\t\tremoveActions: integrations.removeActions,\n\t\tregisterComponents: integrations.registerComponents(pkg.name),\n\t\tremoveComponents: integrations.removeComponents,\n\t\teditSettings: getEditSettingsForApp(pkg.name)\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n/* eslint-disable no-param-reassign */\n\nimport produce from 'immer';\nimport { TFunction } from 'i18next';\nimport { useAppStore } from '../../store/app';\nimport { SearchAppView } from '../../search/search-app-view';\nimport { SettingsAppView } from '../../settings/settings-app-view';\nimport { SettingsSidebar } from '../../settings/settings-sidebar';\nimport { AppState, PrimaryBarView, SettingsView } from '../../../types';\nimport GeneralSettings from '../../settings/general-settings';\nimport Feedback from '../../reporting/feedback';\nimport DevBoard from '../../dev/dev-board';\nimport DevBoardTrigger from '../../dev/dev-board-trigger';\nimport { SEARCH_APP_ID, SETTINGS_APP_ID, SHELL_APP_ID } from '../../constants';\nimport AccountWrapper from '../../settings/account-wrapper';\nimport { settingsSubSections } from '../../settings/general-settings-sub-sections';\n\nconst settingsRoute = {\n\troute: SETTINGS_APP_ID,\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID\n};\nconst settingsPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: 'SettingsModOutline',\n\tposition: 16,\n\tvisible: true,\n\tlabel: t('settings.app', 'Settings'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst settingsSecondaryBar = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsSidebar\n};\n\nconst settingsAppView = {\n\tid: SETTINGS_APP_ID,\n\tapp: SETTINGS_APP_ID,\n\troute: SETTINGS_APP_ID,\n\tcomponent: SettingsAppView\n};\nconst settingsGeneralView = (t: TFunction): SettingsView => ({\n\tid: 'general',\n\troute: 'general',\n\tapp: SHELL_APP_ID,\n\tcomponent: GeneralSettings,\n\ticon: 'SettingsModOutline',\n\tlabel: t('settings.general.general', 'General'),\n\tposition: 1,\n\tsubSections: settingsSubSections(t)\n});\n\nconst settingsAccountsView = (t: TFunction): SettingsView => ({\n\tid: 'accounts',\n\troute: 'accounts',\n\tapp: SHELL_APP_ID,\n\tcomponent: AccountWrapper,\n\ticon: 'PersonOutline',\n\tlabel: t('settings.accounts', 'Accounts'),\n\tposition: 1\n});\n\nconst searchRoute = {\n\troute: SEARCH_APP_ID,\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID\n};\nconst searchPrimaryBar = (t: TFunction): PrimaryBarView => ({\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: 'SearchModOutline',\n\tposition: 15,\n\tvisible: true,\n\tlabel: t('search.app', 'Search'),\n\tbadge: {\n\t\tshow: false\n\t}\n});\nconst searchAppView = {\n\tid: SEARCH_APP_ID,\n\tapp: SEARCH_APP_ID,\n\troute: SEARCH_APP_ID,\n\tcomponent: SearchAppView\n};\n\nconst feedbackBoardView = {\n\tid: 'feedback',\n\tapp: SHELL_APP_ID,\n\tcomponent: Feedback,\n\troute: 'feedback'\n};\nconst devModeBoardView = {\n\tid: 'dev-mode',\n\tapp: SHELL_APP_ID,\n\tcomponent: DevBoard,\n\troute: 'devtools'\n};\nconst devModeTrigger = {\n\tid: 'dev-mode-t',\n\tcomponent: DevBoardTrigger,\n\tlabel: 'Dev Tools',\n\tapp: SHELL_APP_ID,\n\tposition: 100\n};\nexport const registerDefaultViews = (t: TFunction): void => {\n\tuseAppStore.setState(\n\t\tproduce((s: AppState) => {\n\t\t\ts.routes = {\n\t\t\t\t[SEARCH_APP_ID]: searchRoute,\n\t\t\t\t[SETTINGS_APP_ID]: settingsRoute\n\t\t\t};\n\t\t\ts.views.primaryBar = [searchPrimaryBar(t), settingsPrimaryBar(t)];\n\t\t\ts.views.secondaryBar = [settingsSecondaryBar];\n\t\t\ts.views.appView = [searchAppView, settingsAppView];\n\t\t\ts.views.settings = [settingsGeneralView(t), settingsAccountsView(t)];\n\t\t\ts.views.board = [feedbackBoardView];\n\t\t\tif (__CARBONIO_DEV__) {\n\t\t\t\ts.views.board.push(devModeBoardView);\n\t\t\t\ts.views.primaryBarAccessories.push(devModeTrigger);\n\t\t\t}\n\t\t})\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\nimport { forOwn } from 'lodash';\nimport { ComponentType } from 'react';\nimport { Reducer, Store } from '@reduxjs/toolkit';\nimport StoreFactory from '../../redux/store-factory';\n\nimport { useAppStore } from '../../store/app';\nimport { getAppFunctions } from './app-loader-functions';\nimport { Spinner } from '../../ui-extras/spinner';\nimport { AppLink } from '../../ui-extras/app-link';\nimport * as CONSTANTS from '../../constants';\nimport { IShellWindow, CarbonioModule } from '../../../types';\nimport { getAppSetters } from './app-loader-setters';\nimport { report } from '../../reporting';\nimport SettingsHeader from '../../settings/components/settings-header';\n\nexport const _scripts: { [pkgName: string]: HTMLScriptElement } = {};\nlet _scriptId = 0;\n// const _revertableActions: { [pkgName: string]: RevertableActionCollection } = {};\n\n// export function updateAppHandlers(appPkg: CarbonioModule, handlers: RequestHandlersList): void {\n// \tif (FLAVOR === 'NPM' && typeof devUtils !== 'undefined') {\n// \t\tconst worker = devUtils.getMSWorker<SetupWorkerApi>();\n// \t\tif (worker) {\n// \t\t\tworker.resetHandlers();\n// \t\t\tforEach(handlers, (h) => worker.use(h));\n// \t\t}\n// \t}\n// }\n\nfunction loadAppModule(appPkg: CarbonioModule, store: Store<any>): Promise<CarbonioModule> {\n\treturn new Promise((_resolve, _reject) => {\n\t\tlet resolved = false;\n\t\tconst resolve: (...args: any[]) => void = (...args) => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_resolve(appPkg);\n\t\t\t}\n\t\t};\n\t\tconst reject: (e: unknown) => void = (e) => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_reject(e);\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\t(window as unknown as IShellWindow).__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][\n\t\t\t\tappPkg.name\n\t\t\t] = {\n\t\t\t\tstore: {\n\t\t\t\t\tstore,\n\t\t\t\t\tsetReducer: (reducer: Reducer): void => store.replaceReducer(reducer)\n\t\t\t\t},\n\t\t\t\treport: report(appPkg.name),\n\t\t\t\tAppLink,\n\t\t\t\tSpinner,\n\t\t\t\tSettingsHeader,\n\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t...CONSTANTS\n\t\t\t};\n\n\t\t\t(window as unknown as IShellWindow).__ZAPP_HMR_EXPORT__[appPkg.name] = (\n\t\t\t\tappComponent: ComponentType\n\t\t\t): void => {\n\t\t\t\tuseAppStore.setState((state) => ({\n\t\t\t\t\tentryPoints: {\n\t\t\t\t\t\t...state.entryPoints,\n\t\t\t\t\t\t[appPkg.name]: appComponent\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%c loaded ${appPkg.name}`,\n\t\t\t\t\t'color: white; background: #539507;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t\t\t\t);\n\t\t\t\tresolve(appPkg);\n\t\t\t};\n\n\t\t\t// if (FLAVOR === 'NPM' && typeof cliSettings !== 'undefined' && cliSettings.hasHandlers) {\n\t\t\t// eslint-disable-next-line max-len\n\t\t\t// (\n\t\t\t// \twindow as unknown as IShellWindow<SharedLibrariesAppsMap, ComponentClass>\n\t\t\t// ).__ZAPP_HMR_HANDLERS__[appPkg.name] = (handlers: RequestHandlersList): void =>\n\t\t\t// \tupdateAppHandlers(appPkg, handlers);\n\t\t\t// }\n\t\t\tconst script: HTMLScriptElement = document.createElement('script');\n\t\t\tscript.setAttribute('type', 'text/javascript');\n\t\t\tscript.setAttribute('data-pkg_name', appPkg.name);\n\t\t\tscript.setAttribute('data-pkg_version', appPkg.version);\n\t\t\tscript.setAttribute('data-is_app', 'true');\n\t\t\tscript.setAttribute('src', `${appPkg.js_entrypoint}`);\n\t\t\tdocument.body.appendChild(script);\n\t\t\t_scripts[`${appPkg.name}-loader-${(_scriptId += 1)}`] = script;\n\t\t} catch (err: unknown) {\n\t\t\tconsole.error(err);\n\t\t\treject(err);\n\t\t}\n\t});\n}\n\nexport function loadApp(pkg: CarbonioModule, storeFactory: StoreFactory): Promise<CarbonioModule> {\n\tconst store = storeFactory.getStoreForApp(pkg);\n\treturn loadAppModule(pkg, store);\n}\n\nexport function unloadApps(): Promise<void> {\n\treturn Promise.resolve().then(() => {\n\t\tforOwn(_scripts, (script) => {\n\t\t\tif (script.parentNode) script.parentNode.removeChild(script);\n\t\t});\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\nimport { filter, map } from 'lodash';\n\nimport StoreFactory from '../../redux/store-factory';\n\nimport { loadApp, unloadApps } from './load-app';\nimport { CarbonioModule } from '../../../types';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { getUserSetting } from '../../store/account';\nimport { useReporter } from '../../reporting';\nimport { SHELL_APP_ID } from '../../constants';\n\nexport function loadApps(storeFactory: StoreFactory, apps: Array<CarbonioModule>): void {\n\tinjectSharedLibraries();\n\tconst appsToLoad = filter(apps, (app) => {\n\t\tif (app.name === SHELL_APP_ID) return false;\n\t\tif (app.attrKey && getUserSetting('attrs', app.attrKey) === '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\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app, storeFactory)));\n}\n\nexport function unloadAllApps(): Promise<void> {\n\treturn unloadApps();\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\n\nimport React, { ComponentClass } from 'react';\nimport * as PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport * as Lodash from 'lodash';\nimport * as ReactRouterDom from 'react-router-dom';\nimport * as Moment from 'moment';\nimport * as ReactI18n from 'react-i18next';\n// import * as Msw from 'msw';\n// import * as Faker from 'faker';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ZappUI from '@zextras/carbonio-design-system';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as StyledComponents from 'styled-components';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import * as Preview from '../../preview';\nimport * as Preview from '@zextras/carbonio-ui-preview';\n\nimport { IShellWindow } from '../../../types';\n\nexport function injectSharedLibraries(): void {\n\t// eslint-disable-next-line max-len\n\tconst wnd: IShellWindow = window as unknown as IShellWindow;\n\tif (wnd.__ZAPP_SHARED_LIBRARIES__) {\n\t\treturn;\n\t}\n\twnd.__ZAPP_SHARED_LIBRARIES__ = {\n\t\t'prop-types': PropTypes,\n\t\treact: React,\n\t\t'react-dom': ReactDOM,\n\t\t'react-i18next': ReactI18n,\n\t\t'react-redux': ReactRedux,\n\t\tlodash: Lodash,\n\t\t'react-router-dom': ReactRouterDom,\n\t\tmoment: Moment,\n\t\t'styled-components': StyledComponents,\n\t\t'@reduxjs/toolkit': {\n\t\t\t...ReduxJSToolkit,\n\t\t\tconfigureStore: (): void => {\n\t\t\t\tthrow new Error('Apps must use the store given by the Shell.');\n\t\t\t},\n\t\t\tcreateStore: (): void => {\n\t\t\t\tthrow new Error('Apps must use the store given by the Shell.');\n\t\t\t}\n\t\t},\n\t\t'@zextras/carbonio-shell-ui': {},\n\t\t'@zextras/carbonio-design-system': ZappUI,\n\t\t'@zextras/carbonio-ui-preview': Preview\n\t};\n\twnd.__ZAPP_HMR_EXPORT__ = {};\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext, useContext } from 'react';\n\nexport const BootstrapperContext = createContext<any>({});\n\nexport function useI18nFactory(): any {\n\tconst { i18nFactory } = useContext(BootstrapperContext);\n\treturn i18nFactory;\n}\n\nexport function useStoreFactory(): any {\n\tconst { storeFactory } = useContext(BootstrapperContext);\n\treturn storeFactory;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { I18nextProvider } from 'react-i18next';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport BoardContextProvider from '../shell/boards/board-context-provider';\nimport { BootstrapperContext } from './bootstrapper-context';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\n\nconst BootstrapperContextProvider: FC<{ i18nFactory: I18nFactory; storeFactory: StoreFactory }> = ({\n\tchildren,\n\ti18nFactory,\n\tstoreFactory\n}) => (\n\t<BootstrapperContext.Provider\n\t\tvalue={{\n\t\t\tstoreFactory,\n\t\t\ti18nFactory\n\t\t}}\n\t>\n\t\t<I18nextProvider i18n={i18nFactory.getShellI18n()}>\n\t\t\t<BoardContextProvider>{children}</BoardContextProvider>\n\t\t</I18nextProvider>\n\t</BootstrapperContext.Provider>\n);\nexport default BootstrapperContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useContext, useEffect } from 'react';\nimport { BrowserRouter, Route, Switch, useHistory, useParams } from 'react-router-dom';\nimport { SnackbarManagerContext, ModalManagerContext } from '@zextras/carbonio-design-system';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { useBridge } from '../store/context-bridge';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellView from '../shell/shell-view';\nimport { BASENAME, IS_STANDALONE } from '../constants';\nimport { useAppStore } from '../store/app';\n\nconst ContextBridge: FC = () => {\n\tconst history = useHistory();\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createSnackbar = useContext(SnackbarManagerContext) as Function;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createModal = useContext(ModalManagerContext) as Function;\n\tuseBridge({\n\t\tfunctions: {\n\t\t\tgetHistory: () => history,\n\t\t\tcreateSnackbar,\n\t\t\tcreateModal\n\t\t}\n\t});\n\treturn null;\n};\n\nconst StandaloneListener: FC = () => {\n\tconst { route } = useParams<{ route?: string }>();\n\tuseEffect(() => {\n\t\tif (route) useAppStore.setState({ standalone: route });\n\t}, [route]);\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => (\n\t<BrowserRouter basename={BASENAME}>\n\t\t{IS_STANDALONE && (\n\t\t\t<Switch>\n\t\t\t\t<Route path={'/:route'}>\n\t\t\t\t\t<StandaloneListener />\n\t\t\t\t</Route>\n\t\t\t</Switch>\n\t\t)}\n\t\t<ContextBridge />\n\t\t<AppLoaderMounter />\n\t\t<ShellView />\n\t</BrowserRouter>\n);\nexport default BootstrapperRouter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { SnackbarManager, ModalManager } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { unloadAllApps } from './app/load-apps';\nimport { registerDefaultViews } from './app/default-views';\nimport { useBridge } from '../store/context-bridge';\nimport { NotificationPermissionChecker } from '../notification/NotificationPermissionChecker';\n\nconst DefaultViewsRegister: FC = () => {\n\tconst [t] = useTranslation();\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst TBridge: FC<{ i18nFactory: I18nFactory }> = ({ i18nFactory }) => {\n\tuseBridge({\n\t\tfunctions: {},\n\t\tpackageDependentFunctions: {\n\t\t\tt: (app) => i18nFactory.getAppI18n({ name: app }).t\n\t\t}\n\t});\n\treturn null;\n};\n\nconst Bootstrapper: FC = () => {\n\tconst i18nFactory = useMemo(() => new I18nFactory(), []);\n\tconst storeFactory = useMemo(() => new StoreFactory(), []);\n\tuseEffect(() => {\n\t\tinit(i18nFactory, storeFactory);\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, [i18nFactory, storeFactory]);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t<BootstrapperContextProvider i18nFactory={i18nFactory} storeFactory={storeFactory}>\n\t\t\t\t\t\t<TBridge i18nFactory={i18nFactory} />\n\t\t\t\t\t\t<DefaultViewsRegister />\n\t\t\t\t\t\t<NotificationPermissionChecker />\n\t\t\t\t\t\t<BootstrapperRouter />\n\t\t\t\t\t</BootstrapperContextProvider>\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</ThemeProvider>\n\t);\n};\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useAccountStore } from '../store/account';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\nimport { loadApps } from './app/load-apps';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { getInfo } from '../network/get-info';\n\nexport const init = (_i18nFactory: I18nFactory, _storeFactory: StoreFactory): void => {\n\tgetInfo().finally(() => {\n\t\t_i18nFactory.setLocale(\n\t\t\t(\n\t\t\t\t(useAccountStore.getState().settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t\t\t(useAccountStore.getState().settings?.attrs?.zimbraLocale as string)\n\t\t\t)?.split?.('_')?.[0] ?? 'en'\n\t\t);\n\t\tloadApps(_storeFactory, Object.values(useAppStore.getState().apps));\n\t});\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { createContext, FC, useCallback, useEffect, useState } from 'react';\nimport { ThemeProvider as UIThemeProvider } from '@zextras/carbonio-design-system';\nimport { enable, disable, auto, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { useAccountStore } from '../store/account';\nimport { DRPropValues, ThemeExtension, ThemeExtensionMap } from '../../types';\nimport { darkReaderDynamicThemeFixes } from '../constants';\n\nsetFetchMethod(window.fetch);\n\nexport const ThemeCallbacksContext = createContext<{\n\taddExtension: (newExtension: ThemeExtension, id: string) => void;\n\tsetDarkReaderState: (newState: DRPropValues) => void;\n}>({\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\taddExtension: (newExtension: ThemeExtension, id: string) => {},\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tsetDarkReaderState: (newState: DRPropValues) => {}\n});\n\nconst themeSizes = (\n\tsize: 'small' | 'normal' | 'large' | 'larger' | 'default' | string\n): ThemeExtension => {\n\tswitch (size) {\n\t\tcase 'small': {\n\t\t\treturn (theme: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ttheme.sizes.font = {\n\t\t\t\t\textrasmall: '10px',\n\t\t\t\t\tsmall: '12px',\n\t\t\t\t\tmedium: '14px',\n\t\t\t\t\tlarge: '16px'\n\t\t\t\t};\n\t\t\t\treturn theme;\n\t\t\t};\n\t\t}\n\t\tcase 'large': {\n\t\t\treturn (theme: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ttheme.sizes.font = {\n\t\t\t\t\textrasmall: '14px',\n\t\t\t\t\tsmall: '16px',\n\t\t\t\t\tmedium: '18px',\n\t\t\t\t\tlarge: '20px'\n\t\t\t\t};\n\t\t\t\treturn theme;\n\t\t\t};\n\t\t}\n\t\tcase 'larger': {\n\t\t\treturn (theme: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ttheme.sizes.font = {\n\t\t\t\t\textrasmall: '16px',\n\t\t\t\t\tsmall: '18px',\n\t\t\t\t\tmedium: '20px',\n\t\t\t\t\tlarge: '22px'\n\t\t\t\t};\n\t\t\t\treturn theme;\n\t\t\t};\n\t\t}\n\t\tcase 'default':\n\t\tcase 'normal':\n\t\tdefault: {\n\t\t\treturn (theme: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\ttheme.sizes.font = {\n\t\t\t\t\textrasmall: '12px',\n\t\t\t\t\tsmall: '14px',\n\t\t\t\t\tmedium: '16px',\n\t\t\t\t\tlarge: '18px'\n\t\t\t\t};\n\t\t\t\treturn theme;\n\t\t\t};\n\t\t}\n\t}\n};\n\nconst paletteExtension =\n\t(): ThemeExtension =>\n\t(theme: any): any => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\ttheme.palette.shared = {\n\t\t\tregular: '#FFB74D',\n\t\t\thover: '#FFA21A',\n\t\t\tactive: '#FFA21A',\n\t\t\tfocus: '#FF9800',\n\t\t\tdisabled: '#FFD699'\n\t\t};\n\t\t// eslint-disable-next-line no-param-reassign\n\t\ttheme.palette.linked = {\n\t\t\tregular: '#AB47BC',\n\t\t\thover: '#8B3899',\n\t\t\tactive: '#8B3899',\n\t\t\tfocus: '#7A3187',\n\t\t\tdisabled: '#DDB4E4'\n\t\t};\n\t\treturn theme;\n\t};\n\nconst iconExtension =\n\t(): ThemeExtension =>\n\t(theme: any): any => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\ttheme.icons.Shared = theme.icons.ArrowCircleRight;\n\t\t// eslint-disable-next-line no-param-reassign\n\t\ttheme.icons.Linked = theme.icons.ArrowCircleLeft;\n\t\treturn theme;\n\t};\n\nexport const ThemeProvider: FC = ({ children }) => {\n\tconst zimbraPrefFontSize = useAccountStore((s) => s.settings.prefs?.zimbraPrefFontSize as string);\n\t// TODO: update when the DS is fully typed :D\n\tconst [extensions, setExtensions] = useState<ThemeExtensionMap>({\n\t\tfonts: (theme) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\ttheme.sizes.font = {\n\t\t\t\textrasmall: '12px',\n\t\t\t\tsmall: '14px',\n\t\t\t\tmedium: '16px',\n\t\t\t\tlarge: '18px'\n\t\t\t};\n\t\t\treturn theme;\n\t\t}\n\t});\n\tuseEffect(() => {\n\t\tsetExtensions((e) => ({\n\t\t\t...e,\n\t\t\tfonts: themeSizes(zimbraPrefFontSize),\n\t\t\tpalette: paletteExtension(),\n\t\t\ticons: iconExtension()\n\t\t}));\n\t}, [zimbraPrefFontSize]);\n\tconst [darkReaderState, setDarkReaderState] = useState<'auto' | 'disabled' | 'enabled'>('auto');\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tenable(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\tauto(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}, [darkReaderState]);\n\tconst aggregatedExtensions = useCallback(\n\t\t(theme: any) => reduce(extensions, (acc, val) => val(acc), theme),\n\t\t[extensions]\n\t);\n\tconst addExtension = useCallback((newExtension: ThemeExtension, id: string) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t{children}\n\t\t\t</ThemeCallbacksContext.Provider>\n\t\t</UIThemeProvider>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { DynamicThemeFix } from 'darkreader';\n\n/*\n\treference: https://zextras.atlassian.net/wiki/spaces/IRIS/pages/223215854/UI+Guidelines+and+theming\n*/\nexport const ZIMBRA_STANDARD_COLORS = [\n\t{ zValue: 0, hex: '#000000', zLabel: 'black' },\n\t{ zValue: 1, hex: '#2b73d2', zLabel: 'blue' },\n\t{ zValue: 2, hex: '#2196d3', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#639030', zLabel: 'green' },\n\t{ zValue: 4, hex: '#1a75a7', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#d74942', zLabel: 'red' },\n\t{ zValue: 6, hex: '#ffc107', zLabel: 'yellow' },\n\t{ zValue: 7, hex: '#edaeab', zLabel: 'pink' },\n\t{ zValue: 8, hex: '#828282', zLabel: 'gray' },\n\t{ zValue: 9, hex: '#ba8b00', zLabel: 'orange' }\n];\n\nexport const FOLDERS = {\n\tUSER_ROOT: '1',\n\tINBOX: '2',\n\tTRASH: '3',\n\tSPAM: '4',\n\tSENT: '5',\n\tDRAFTS: '6',\n\tCONTACTS: '7',\n\tTAGS: '8',\n\tCONVERSATIONS: '9',\n\tCALENDAR: '10',\n\tROOT: '11',\n\tNOTEBOOK: '12', // no longer created in new mailboxes since Helix (bug 39647). old mailboxes may still contain a system folder with id 12\n\tAUTO_CONTACTS: '13',\n\tIM_LOGS: '14',\n\tTASKS: '15',\n\tBRIEFCASE: '16'\n};\n\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const ACCOUNTS_APP_ID = 'accounts';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES = {\n\tCONVERSATION: 'conversation',\n\tCONVERSATION_lIST: 'conversation_list',\n\tMESSAGE: 'message',\n\tMESSAGE_lIST: 'message_list',\n\tCONTACT: 'contact',\n\tCONTACT_lIST: 'contact_list',\n\tINVITE: 'invite',\n\tINVITE_lIST: 'invite_list',\n\tAPPOINTMENT: 'appointment',\n\tAPPOINTMENT_lIST: 'appointment_list',\n\tFOLDER: 'folder',\n\tFOLDER_lIST: 'folder_list',\n\tCALENDAR: 'calendar',\n\tCALENDAR_lIST: 'calendar_list',\n\tNEW: 'new'\n};\n\nexport const darkReaderDynamicThemeFixes: DynamicThemeFix = {\n\tignoreImageAnalysis: ['.no-dr-invert *'],\n\tinvert: [],\n\tcss: `\n\t\t.tox, .force-white-bg, .tox-swatches-menu, .tox .tox-edit-area__iframe {\n\t\t\tbackground-color: #fff !important;\n\t\t\tbackground: #fff !important;\n\t\t}\n\t`,\n\tignoreInlineStyle: ['.tox-menu *'],\n\tdisableStyleSheetsProxy: false\n};\n\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 DR_VALUES = ['auto', 'enabled', 'disabled'];\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};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC } from 'react';\nimport { IconButton } from '@zextras/carbonio-design-system';\nimport { useContextBridge } from '../store/context-bridge';\nimport { SHELL_APP_ID } from '../../types';\n\nconst DevBoardTrigger: FC = () => (\n\t<IconButton\n\t\ticon=\"Code\"\n\t\tsize=\"large\"\n\t\tonClick={(): void =>\n\t\t\tuseContextBridge.getState().packageDependentFunctions?.addBoard(SHELL_APP_ID)('/devtools/', {\n\t\t\t\ttitle: 'Dev Tools'\n\t\t\t})\n\t\t}\n\t/>\n);\n\nexport default DevBoardTrigger;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC } from 'react';\n\nconst DevBoard: FC = () => <p>Test</p>;\n\nexport default DevBoard;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { To } from 'history';\nimport { find, startsWith, replace, trim } from 'lodash';\nimport { useMemo, useCallback } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { AppRoute, HistoryParams } from '../../types';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useSearchStore } from '../search/search-store';\nimport { useRoutes, getRoutes } from '../store/app';\nimport { useContextBridge } from '../store/context-bridge';\n\nexport const useCurrentRoute = (): AppRoute | undefined => {\n\tconst location = useLocation();\n\tconst routes = useRoutes();\n\treturn useMemo(\n\t\t() => find(routes, (r) => startsWith(trim(location.pathname, '/'), r.route)),\n\t\t[location.pathname, routes]\n\t);\n};\nexport const getCurrentRoute = (): AppRoute | undefined => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\tconst routes = getRoutes();\n\tconst route = find(routes, (r) => startsWith(trim(history.location.pathname, '/'), r.route));\n\tif (route?.route === SEARCH_APP_ID) {\n\t\treturn {\n\t\t\t...route,\n\t\t\troute: `${route.route}/${useSearchStore.getState().module}`\n\t\t};\n\t}\n\treturn route;\n};\n\nexport const parseParams = (params: HistoryParams): To => {\n\tif (typeof params === 'string') {\n\t\treturn replace(`/${getCurrentRoute()?.route}/${params}`, '//', '/');\n\t}\n\tconst routeToApply = params.route\n\t\t? find(getRoutes(), (r) => r.id === params.route || r.route === params.route)\n\t\t: getCurrentRoute();\n\treturn typeof params.path === 'string'\n\t\t? replace(`/${routeToApply?.route}/${params.path}`, '//', '/')\n\t\t: {\n\t\t\t\tsearch: params.path.search,\n\t\t\t\thash: params.path.hash,\n\t\t\t\tpathname: replace(`/${routeToApply?.route}/${params.path.pathname}`, '//', '/')\n\t\t };\n};\n\nexport const usePushHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.push(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport const useReplaceHistoryCallback = (): ((params: HistoryParams) => void) => {\n\tconst history = useHistory();\n\tconst cb = useCallback(\n\t\t(params: HistoryParams): void => history.replace(parseParams(params)),\n\t\t[history]\n\t);\n\treturn cb;\n};\n\nexport function useGoBackHistoryCallback(): () => void {\n\tconst history = useHistory();\n\treturn history.goBack;\n}\n\nexport const pushHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.push(parseParams(params));\n};\n\nexport const replaceHistory = (params: HistoryParams): void => {\n\tconst history = useContextBridge.getState().functions.getHistory?.();\n\thistory.replace(parseParams(params));\n};\n\nexport const goBackHistory = (): void =>\n\tuseContextBridge.getState().functions.getHistory?.().goBack();\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport i18next, { i18n } from 'i18next';\nimport Backend from 'i18next-http-backend';\n// import LanguageDetector from 'i18next-browser-languagedetector';\nimport { dropRight, forEach } from 'lodash';\nimport { II18nFactory, CarbonioModule } from '../../types';\nimport { getShell } from '../store/app';\nimport { SHELL_APP_ID } from '../constants';\n\nexport default class I18nFactory implements II18nFactory {\n\t_cache: { [pkg: string]: i18n } = {};\n\n\tlocale = 'en';\n\n\tpublic getShellI18n(): i18n {\n\t\treturn this.getAppI18n(getShell() ?? { name: SHELL_APP_ID });\n\t}\n\n\tpublic setLocale(locale: string): void {\n\t\tif (this.locale !== locale) {\n\t\t\tthis.locale = locale;\n\t\t\tforEach(this._cache, (appI18n) => {\n\t\t\t\tappI18n.changeLanguage(locale);\n\t\t\t});\n\t\t}\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tpublic getAppI18n(appPkgDescription: CarbonioModule | { name: string }): i18n {\n\t\tif (this._cache[appPkgDescription.name]) {\n\t\t\treturn this._cache[appPkgDescription.name];\n\t\t}\n\t\tconst newI18n = i18next.createInstance();\n\t\tconst baseI18nPath =\n\t\t\tappPkgDescription.name === SHELL_APP_ID\n\t\t\t\t? BASE_PATH\n\t\t\t\t: dropRight((appPkgDescription as CarbonioModule).js_entrypoint.split('/')).join('/');\n\t\tnewI18n\n\t\t\t// load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\n\t\t\t// learn more: https://github.com/i18next/i18next-http-backend\n\t\t\t.use(Backend)\n\t\t\t// detect user language\n\t\t\t// learn more: https://github.com/i18next/i18next-browser-languageDetector\n\t\t\t// .use(LanguageDetector)\n\t\t\t// init i18next\n\t\t\t// for all options read: https://www.i18next.com/overview/configuration-options\n\t\t\t.init({\n\t\t\t\treturnEmptyString: true,\n\t\t\t\tcompatibilityJSON: 'v3',\n\t\t\t\tlng: this.locale,\n\t\t\t\tfallbackLng: 'en',\n\t\t\t\tdebug: false,\n\t\t\t\tinterpolation: {\n\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t},\n\t\t\t\tmissingKeyHandler: (lng, ns, key, fallbackValue) => {\n\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t},\n\t\t\t\tbackend: {\n\t\t\t\t\tloadPath: `${baseI18nPath}/i18n/{{lng}}.json`\n\t\t\t\t}\n\t\t\t});\n\t\tthis._cache[appPkgDescription.name] = newI18n;\n\t\treturn newI18n;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, find, findIndex, forEach, map, reduce, isArray } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account/store';\nimport { AccountState, Mods, Account } from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\nexport const editSettings = (mods: Mods, appId: string = SHELL_APP_ID): Promise<any> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t'Batch',\n\t\t`<BatchRequest xmlns=\"urn:zimbra\" onerror=\"stop\">${\n\t\t\tmods.props\n\t\t\t\t? `<ModifyPropertiesRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t(prop, key) => `<prop name=\"${key}\" zimlet=\"${prop.app ?? appId}\">${prop.value}</prop>`\n\t\t\t\t )}</ModifyPropertiesRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.prefs\n\t\t\t\t? `<ModifyPrefsRequest xmlns=\"urn:zimbraAccount\">${map(mods.prefs, (pref, key) =>\n\t\t\t\t\t\tisArray(pref)\n\t\t\t\t\t\t\t? map(pref, (p) => `<pref name=\"${key}\">${p}</pref>`).join('')\n\t\t\t\t\t\t\t: `<pref name=\"${key}\">${pref}</pref>`\n\t\t\t\t ).join('')}</ModifyPrefsRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.modifyList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.modifyList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<ModifyIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${\n\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t}\">${map(item.prefs, (value, key) => `<a name=\"${key}\">${value}</a>`).join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t)}<a name=\"zimbraPrefFromAddressType\">sendAs</a></identity></ModifyIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.deleteList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.deleteList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<DeleteIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${item}\"/></DeleteIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.createList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.createList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${item.prefs.requestId}\"><identity name=\"${item.prefs.zimbraPrefIdentityName}\"><a name=\"zimbraPrefIdentityName\">${item.prefs.zimbraPrefIdentityName}</a><a name=\"zimbraPrefFromDisplay\">${item.prefs.zimbraPrefFromDisplay}</a><a name=\"zimbraPrefFromAddress\">${item.prefs.zimbraPrefFromAddress}</a><a name=\"zimbraPrefFromAddressType\">sendAs</a><a name=\"zimbraPrefReplyToEnabled\">${item.prefs.zimbraPrefReplyToEnabled}</a><a name=\"zimbraPrefReplyToDisplay\">${item.prefs.zimbraPrefReplyToDisplay}</a><a name=\"zimbraPrefReplyToAddress\">${item.prefs.zimbraPrefReplyToAddress}</a><a name=\"zimbraPrefDefaultSignatureId\">${item.prefs.zimbraPrefDefaultSignatureId}</a><a name=\"zimbraPrefForwardReplySignatureId\">${item.prefs.zimbraPrefForwardReplySignatureId}</a><a name=\"zimbraPrefWhenSentToEnabled\">${item.prefs.zimbraPrefWhenSentToEnabled}</a><a name=\"zimbraPrefWhenInFoldersEnabled\">${item.prefs.zimbraPrefWhenInFoldersEnabled}</a></identity></CreateIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.permissions\n\t\t\t\t? `<RevokeRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? map(mods.permissions.freeBusy.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'dom')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? map(mods.permissions.inviteRight.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }</RevokeRightsRequest><GrantRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"1\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'dom') {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"viewFreeBusy\" gt=\"${mods.permissions?.freeBusy.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions.inviteRight.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.inviteRight.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }\n\t</GrantRightsRequest>`\n\t\t\t\t: ''\n\t\t}</BatchRequest>`\n\t).then((r: any) => {\n\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\tsettings: {\n\t\t\t\t...s.settings,\n\t\t\t\tprefs: reduce(\n\t\t\t\t\tmods.prefs,\n\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t}),\n\t\t\t\t\ts.settings.prefs\n\t\t\t\t),\n\t\t\t\tprops: reduce(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\tif (propIndex >= 0) {\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[propIndex] = {\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\ts.settings.props\n\t\t\t\t)\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\t...s.account,\n\t\t\t\tdisplayName:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\tname:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefFromAddress || s.account?.name,\n\t\t\t\tidentities: {\n\t\t\t\t\tidentity:\n\t\t\t\t\t\ttypeof s.account !== 'undefined'\n\t\t\t\t\t\t\t? reduce(\n\t\t\t\t\t\t\t\t\tmods?.identity?.modifyList,\n\t\t\t\t\t\t\t\t\t(acc, { id, prefs }) => {\n\t\t\t\t\t\t\t\t\t\tconst tempResult = [];\n\t\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\t\t\t\t\t\t\t\t\t\t\tforEach(Object.keys(prefs), (item, _index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs[item] = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem === 'zimbraPrefIdentityName' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name !== 'DEFAULT'\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\ttempResult.push(prefs);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name !== 'DEFAULT'),\n\t\t\t\t\t\t\t\t\t\t...map(r?.CreateIdentityResponse, (item) => item.identity[0]),\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name === 'DEFAULT')\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t} as Account\n\t\t}));\n\t\treturn r;\n\t});\n\nexport const getEditSettingsForApp =\n\t(app: string) =>\n\t(mods: Mods): Promise<any> =>\n\t\teditSettings(mods, app).then((r) => {\n\t\t\tr.type = 'fulfilled';\n\t\t\treturn r;\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, map, maxBy } from 'lodash';\nimport { goToLogin } from './go-to-login';\nimport { Account, ErrorSoapResponse, SoapContext, SoapResponse } from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { IS_STANDALONE, SHELL_APP_ID } from '../constants';\nimport { useNetworkStore } from '../store/network';\nimport { handleSync } from '../store/network/utils';\nimport { useAppStore } from '../store/app';\n\nexport const noOp = (): void => {\n\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\tgetSoapFetch(SHELL_APP_ID)(\n\t\t'NoOp',\n\t\tuseNetworkStore.getState().pollingInterval === 500\n\t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n\t\t\t: { _jsns: 'urn:zimbraMail' }\n\t);\n};\n\nconst getAccount = (\n\tacc?: Account,\n\totherAccount?: string\n): { by: string; _content: string } | undefined => {\n\tif (otherAccount) {\n\t\treturn {\n\t\t\tby: 'name',\n\t\t\t_content: otherAccount\n\t\t};\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn {\n\t\t\t\tby: 'name',\n\t\t\t\t_content: acc.name\n\t\t\t};\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn {\n\t\t\t\tby: 'id',\n\t\t\t\t_content: acc.id\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst getXmlAccount = (acc?: Account, otherAccount?: string): string => {\n\tif (otherAccount) {\n\t\treturn `<account by=\"name\">${otherAccount}</account>`;\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn `<account by=\"name\">${acc.name}</account>`;\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn `<account by=\"id\">${acc.id}</account>`;\n\t\t}\n\t}\n\treturn '';\n};\n\nconst getXmlSession = (): string => {\n\tconst sessionId = useNetworkStore.getState().session?.id;\n\tif (sessionId) {\n\t\treturn `<session id=\"${sessionId}\"/>`;\n\t}\n\treturn '';\n};\n\nconst normalizeContext = (context: any): SoapContext => {\n\tif (context.notify) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext.notify = map(context.notify, (notify) => ({\n\t\t\t...notify,\n\t\t\tdeleted: notify.deleted?.id?.split(',')\n\t\t}));\n\t}\n\treturn context;\n};\n\nconst handleResponse = <R>(api: string, res: SoapResponse<R>): R => {\n\tconst { pollingInterval, noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tclearTimeout(noOpTimeout);\n\tif (res.Body.Fault) {\n\t\tif (\n\t\t\tfind(\n\t\t\t\t['service.AUTH_REQUIRED', 'service.AUTH_EXPIRED'],\n\t\t\t\t(code) => code === (<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Code\n\t\t\t)\n\t\t) {\n\t\t\tif (IS_STANDALONE) {\n\t\t\t\tuseAccountStore.setState({ authenticated: false });\n\t\t\t} else {\n\t\t\t\tgoToLogin();\n\t\t\t}\n\t\t}\n\t\tconsole.error(\n\t\t\tnew Error(\n\t\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t\t}`\n\t\t\t)\n\t\t);\n\t}\n\tif (res.Header?.context) {\n\t\tconst responseUsedQuota =\n\t\t\tres.Header.context?.refresh?.mbx?.[0]?.s ??\n\t\t\tres.Header.context?.notify?.[0]?.modified?.mbx?.[0]?.s;\n\t\tconst _context = normalizeContext(res.Header.context);\n\t\tconst seq = maxBy(_context.notify, 'seq')?.seq ?? 0;\n\t\thandleSync(_context);\n\t\tuseAccountStore.setState({\n\t\t\tusedQuota: responseUsedQuota ?? usedQuota\n\t\t});\n\t\tconst nextPollingInterval = (res?.Body as { waitDisallowed?: number })?.waitDisallowed\n\t\t\t? 10000\n\t\t\t: pollingInterval;\n\t\tuseNetworkStore.setState({\n\t\t\tnoOpTimeout: setTimeout(() => noOp(), nextPollingInterval),\n\t\t\tpollingInterval: nextPollingInterval,\n\t\t\tseq,\n\t\t\t..._context\n\t\t});\n\t}\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn res.Body[`${api}Response`] as R;\n};\nexport const getSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(api: string, body: Request, otherAccount?: string): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\tconst { notify, session } = useNetworkStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tBody: {\n\t\t\t\t\t[`${api}Request`]: body\n\t\t\t\t},\n\t\t\t\tHeader: {\n\t\t\t\t\tcontext: {\n\t\t\t\t\t\t_jsns: 'urn:zimbra',\n\t\t\t\t\t\tnotify: notify?.[0]?.seq\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tseq: notify?.[0]?.seq\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tsession: session ?? {},\n\t\t\t\t\t\taccount: getAccount(account as Account, otherAccount),\n\t\t\t\t\t\tuserAgent: {\n\t\t\t\t\t\t\tname: userAgent,\n\t\t\t\t\t\t\tversion: zimbraVersion\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const getXmlSoapFetch =\n\t(app: string) =>\n\t<Request, Response>(api: string, body: Request, otherAccount?: string): Promise<Response> => {\n\t\tconst { zimbraVersion, account } = useAccountStore.getState();\n\t\treturn fetch(`/service/soap/${api}Request`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'content-type': 'application/soap+xml'\n\t\t\t},\n\t\t\tbody: `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\t\t<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\">\n\t\t\t<soap:Header><context xmlns=\"urn:zimbra\"><userAgent name=\"${userAgent}\" version=\"${zimbraVersion}\"/>${getXmlSession()}${getXmlAccount(\n\t\t\t\taccount,\n\t\t\t\totherAccount\n\t\t\t)}<format type=\"js\"/></context></soap:Header>\n\t\t\t<soap:Body>${body}</soap:Body>\n\t\t</soap:Envelope>`\n\t\t}) // TODO proper error handling\n\t\t\t.then((res) => res?.json())\n\t\t\t.then((res: SoapResponse<Response>) => handleResponse(api, res))\n\t\t\t.catch((e) => {\n\t\t\t\treport(app)(e);\n\t\t\t\tthrow e;\n\t\t\t}) as Promise<Response>;\n\t};\n\nexport const shellSoap = getSoapFetch(SHELL_APP_ID);\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { normalizeAccount } from '../store/account/normalization';\nimport { AccountSettings, GetInfoResponse, CarbonioModule } from '../../types';\nimport { goToLogin } from './go-to-login';\nimport { getSoapFetch } from './fetch';\nimport { useAccountStore } from '../store/account';\nimport { useNetworkStore } from '../store/network';\n\nconst parsePollingInterval = (settings: AccountSettings): number => {\n\tconst pollingPref = (settings.prefs?.zimbraPrefMailPollingInterval ?? '') as string;\n\tif (pollingPref === '500') {\n\t\treturn 500;\n\t}\n\tconst pollingValue = parseInt(pollingPref, 10);\n\tif (Number.isNaN(pollingValue)) {\n\t\treturn 30000;\n\t}\n\tif (pollingPref.includes('m')) {\n\t\treturn pollingValue * 60 * 1000;\n\t}\n\treturn pollingValue * 1000;\n};\n\nexport const getInfo = (): Promise<void> =>\n\tfetch('/static/iris/components.json')\n\t\t.then((r) => r.json())\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore.getState().setters.addApps(\n\t\t\t\tfilter(components, ({ type }) => {\n\t\t\t\t\tif (type === 'shell' || type === 'carbonio') return true;\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t);\n\t\t})\n\t\t.then(() =>\n\t\t\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t\t\t})\n\t\t)\n\t\t.then((res: GetInfoResponse): void => {\n\t\t\tif (res) {\n\t\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\t\tuseNetworkStore.setState({\n\t\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t\t});\n\t\t\t\tuseAccountStore.setState({\n\t\t\t\t\tauthenticated: true,\n\t\t\t\t\taccount,\n\t\t\t\t\tsettings,\n\t\t\t\t\tzimbraVersion: version\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.catch((err: Error) => {\n\t\t\tconsole.error(err);\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const goToLogin: () => void = () => {\n\twindow?.location?.assign?.(`${window?.location?.origin}/static/login`);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\nimport { goToLogin } from './go-to-login';\n\nexport const logout = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)('EndSession', {\n\t\t_jsns: 'urn:zimbraAccount'\n\t}).then(() => {\n\t\tfetch('/?loginOp=logout')\n\t\t\t.then((res) => res)\n\t\t\t.then(goToLogin);\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tCreateTagRequest,\n\tCreateTagResponse,\n\tTagActionRequest,\n\tTagActionResponse\n} from '../../types';\nimport { Tag } from '../../types/tags';\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\n\nexport const createTag = (tag: Omit<Tag, 'id'>): Promise<CreateTagResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<CreateTagRequest, CreateTagResponse>('CreateTag', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\ttag\n\t});\nexport const deleteTag = (id: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'delete', id }\n\t});\n\nexport const renameTag = (id: string, name: string): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: { op: 'rename', id, name }\n\t});\n\nexport const changeTagColor = (id: string, color: string | number): Promise<TagActionResponse> =>\n\tgetSoapFetch(SHELL_APP_ID)<TagActionRequest, TagActionResponse>('TagAction', {\n\t\t_jsns: 'urn:zimbraMail',\n\t\taction: typeof color === 'number' ? { op: 'color', color, id } : { op: 'color', rgb: color, id }\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport UAParser from 'ua-parser-js';\n\nconst { os, browser } = UAParser();\nexport const userAgent = `CarbonioWebClient - ${browser.name} ${browser.version} (${os.name})`;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { debounce, noop } from 'lodash';\nimport {\n\tNotificationConfig,\n\tPopupNotificationConfig,\n\tAudioNotificationConfig,\n\tINotificationManager\n} from '../../types/notification';\nimport defaultAudio from '../../assets/notification.mp3';\nimport defaultIcon from '../../assets/carbonio-logo.png';\n\nconst PopupNotificationDefaultConfig = {\n\ttitle: 'Carbonio client',\n\ticon: defaultIcon,\n\tvibrate: [200, 100, 200]\n};\n\nconst AudioNotificationDefaultConfig = {\n\tsound: defaultAudio\n};\n\nconst NotificationDefaultConfig: NotificationConfig = {\n\t...PopupNotificationDefaultConfig,\n\t...AudioNotificationDefaultConfig,\n\tshowPopup: true,\n\tplaySound: false\n};\n\n/**\n * The main goals of the NotificationManager are:\n * - to provide a single and rich implementation for all the Carbonio modules,\n * reducing the boilerplate code needed to send a notification to the user\n * - to optimize the audio notifications avoiding to spam the same sound file\n * in a short period of time\n * - to act as a collector for all the notification (for possible future\n * implementations)\n *\n * In order to reduce the effort needed to send a notification the class\n * provided a set of default values/assets (e.g. icon, sound, title, ...)\n *\n * The class is provided as a singleton\n */\nexport class NotificationManager implements INotificationManager {\n\tprivate static instance: NotificationManager;\n\n\t/**\n\t * Minimum time (ms) to wait before the same audio file will be played\n\t * @private\n\t */\n\tprivate static DEBOUNCE_TIME = 1000;\n\n\t/**\n\t * Map of functions to play a specific audio file\n\t * @private\n\t */\n\tprivate functions = new Map<string, () => void>();\n\n\t/**\n\t * Gets or creates the (debounced) function to play the audio file\n\t * @param sound - relative path to the audio file to play\n\t */\n\tprivate getAudioFileFunction = (sound: string): (() => void) => {\n\t\tif (!this.functions.has(sound)) {\n\t\t\tthis.functions.set(\n\t\t\t\tsound,\n\t\t\t\tdebounce(() => {\n\t\t\t\t\tnew Audio(sound).play().then();\n\t\t\t\t\tthis.functions.delete(sound);\n\t\t\t\t}, NotificationManager.DEBOUNCE_TIME)\n\t\t\t);\n\t\t}\n\t\tconst result = this.functions.get(sound);\n\t\treturn result ?? noop;\n\t};\n\n\t/**\n\t * Executes the debounced function to play the audio file\n\t * @param config - Configuration for the audio notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic playSound = (config: AudioNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...AudioNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\t\tif (!defConfig.sound) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.getAudioFileFunction(defConfig.sound)();\n\t};\n\n\t/**\n\t * Shows a popup notification\n\t * @param config - Configuration for the popup notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic showPopup = (config: PopupNotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...PopupNotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tconst n = new Notification(defConfig.title, {\n\t\t\tbody: defConfig.message,\n\t\t\tvibrate: defConfig.vibrate,\n\t\t\ticon: defConfig.icon,\n\t\t\ttag: defConfig?.tag\n\t\t});\n\n\t\tif (defConfig.onClick) {\n\t\t\tn.addEventListener('click', defConfig.onClick);\n\t\t}\n\t};\n\n\t/**\n\t * Sends a popup/audio notification to the user\n\t * @param config - Configuration for the notification. In case of\n\t * missing properties default values are used\n\t */\n\tpublic notify = (config: NotificationConfig): void => {\n\t\tconst defConfig = {\n\t\t\t...NotificationDefaultConfig,\n\t\t\t...config\n\t\t};\n\n\t\tif (defConfig?.showPopup) {\n\t\t\tthis.showPopup(defConfig);\n\t\t}\n\n\t\tif (defConfig?.playSound) {\n\t\t\tthis.playSound(defConfig);\n\t\t}\n\t};\n\n\t/**\n\t * Sends multiple notifications\n\t * @param config - Array of configurations for the notifications. In case of\n\t * missing properties default values are used\n\t */\n\tpublic multipleNotify = (config: NotificationConfig[]): void => {\n\t\tconfig.forEach((conf) => this.notify(conf));\n\t};\n\n\t/**\n\t * Return the singleton instance\n\t */\n\tpublic static getInstance(): NotificationManager {\n\t\tif (!NotificationManager.instance) {\n\t\t\tNotificationManager.instance = new NotificationManager();\n\t\t}\n\n\t\treturn NotificationManager.instance;\n\t}\n}\n\nexport const getNotificationManager = (): INotificationManager => NotificationManager.getInstance();\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, ReactElement, useEffect } from 'react';\n\nexport const NotificationPermissionChecker: FC = (): ReactElement => {\n\tuseEffect(() => {\n\t\tif (!('Notification' in window)) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('This browser does not support desktop notifications');\n\t\t} else {\n\t\t\tNotification.requestPermission();\n\t\t}\n\t}, []);\n\n\treturn <></>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store, configureStore, createSlice } from '@reduxjs/toolkit';\nimport logger from 'redux-logger';\nimport { CarbonioModule } from '../../types';\n\nconst _uselessSlice = createSlice({\n\tname: '_useless',\n\tinitialState: {},\n\treducers: {}\n});\n\nexport default class StoreFactory {\n\tprivate _cache: { [pkgName: string]: Store<any> } = {};\n\n\tgetStoreForApp(pkg: CarbonioModule): Store<any> {\n\t\tif (this._cache[pkg.name]) return this._cache[pkg?.name];\n\t\tconst store = configureStore({\n\t\t\tdevTools: __CARBONIO_DEV__\n\t\t\t\t? {\n\t\t\t\t\t\tname: pkg.name\n\t\t\t\t }\n\t\t\t\t: false,\n\t\t\tmiddleware: __CARBONIO_DEV__\n\t\t\t\t? // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware().concat(logger)\n\t\t\t\t: // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware(),\n\t\t\treducer: {\n\t\t\t\t_useless: _uselessSlice.reducer\n\t\t\t}\n\t\t});\n\t\tthis._cache[pkg?.name] = store;\n\t\treturn store;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tuseEffect,\n\tuseState,\n\tuseCallback,\n\tuseReducer,\n\tuseMemo,\n\tFC,\n\tuseContext\n} from 'react';\nimport {\n\tText,\n\tButton,\n\tSelect,\n\tContainer,\n\tRow,\n\tIcon,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport { Severity, Event } from '@sentry/browser';\nimport { filter, find, map } from 'lodash';\nimport styled from 'styled-components';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { useUserAccount } from '../store/account';\nimport { useRemoveCurrentBoard } from '../shell/boards/board-hooks';\nimport { feedback } from './functions';\nimport { useAppList } from '../store/app';\n\nconst TextArea = styled.textarea<{ size?: string }>`\n\twidth: 100%;\n\tmin-height: 128px;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: none;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tresize: none;\n\ttransition: height 0.4s ease;\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme, size }): string => theme.sizes.font[size ?? 'medium']};\n\t&:focus {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t}\n`;\n\nconst TextContainer = styled(Container)`\n\ttext-align: justify;\n\talign-items: left;\n\twidth: 80%;\n`;\n\nconst ButtonContainer = styled(Container)`\n\twidth: 20%;\n\tposition: relative;\n`;\n\nconst TAContainer = styled(Container)`\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tborder-radius: 2px 2px 0 0;\n\tpadding: 8px;\n\ttransition: height 0.4s ease;\n\theight: auto;\n\tmax-height: 50%;\n\t&:focus-within {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t\tborder-bottom: 1px solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)`\n\tborder-radius: 2px 2px 0 0;\n\tline-height: 21px;\n\tfont-size: 14px;\n\tfont-weight: 300;\n\tmargin-top: 10px;\n\tline-height: ${(props): string => props.lineHeight};\n`;\n\nconst LabelContainer = styled(Container)`\n\tborder-bottom: 1px solid ${(props): string => (props.disabled ? 'red' : '#cfd5dc')};\n`;\n\nconst emptyEvent: Event = {\n\tmessage: '',\n\tlevel: Severity.Info,\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\nfunction reducer(state: Event, { type, payload }: { type: string; payload: any }): Event {\n\tswitch (type) {\n\t\tcase 'set-user':\n\t\t\treturn { ...state, user: payload };\n\t\tcase 'reset':\n\t\t\treturn emptyEvent;\n\t\tcase 'set-message':\n\t\t\treturn { ...state, message: payload };\n\t\tcase 'select-app':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trelease: payload.version,\n\t\t\t\textra: { ...state.extra, app: payload.app }\n\t\t\t};\n\t\tcase 'select-topic':\n\t\t\treturn { ...state, extra: { ...state.extra, topic: payload } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst getTopics = (t: TFunction): Array<{ label: string; value: string }> => [\n\t{ label: t('feedback.user_interface', 'User interface'), value: 'UserInterface' },\n\t{ label: t('feedback.behaviors', 'Behaviors'), value: 'Behaviors' },\n\t{ label: t('feedback.missing_features', 'Missing features'), value: 'MissingFeatures' },\n\t{ label: t('feedback.other', 'Other'), value: 'Other' }\n];\n\nconst ModuleLabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n}> = ({ selected, label, open, focus }) => (\n\t<LabelContainer\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Icon\n\t\t\tsize=\"large\"\n\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t/>\n\t</LabelContainer>\n);\n\nconst _LabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n\tshowErr: boolean;\n}> = ({ selected, label, open, focus, showErr }) => (\n\t<LabelContainer\n\t\tdisabled={showErr}\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t{showErr ? (\n\t\t\t\t<Text size=\"medium\" color={(open && showErr) || focus ? 'primary' : 'error'}>\n\t\t\t\t\t{' '}\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t) : (\n\t\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Row>\n\n\t\t{showErr ? (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={(open && showErr) || focus ? 'primary' : 'error'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t)}\n\t</LabelContainer>\n);\n\nconst Feedback: FC = () => {\n\tconst [t] = useTranslation();\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\tconst allApps = useAppList();\n\tconst apps = useMemo(\n\t\t() => filter(allApps, (app) => !!app.sentryDsn),\n\n\t\t[allApps]\n\t);\n\tconst appItems = useMemo(\n\t\t() =>\n\t\t\tmap(apps, (app) => ({\n\t\t\t\tlabel: app.display,\n\t\t\t\tvalue: app.name\n\t\t\t})),\n\t\t[apps]\n\t);\n\tconst acct = useUserAccount();\n\tconst [event, dispatch] = useReducer(reducer, emptyEvent);\n\tconst [showErr, setShowErr] = useState(false);\n\tconst [limit, setLimit] = useState(0);\n\n\tconst onAppSelect = useCallback(\n\t\t(ev) =>\n\t\t\tdispatch({\n\t\t\t\ttype: 'select-app',\n\t\t\t\tpayload: {\n\t\t\t\t\tapp: ev,\n\t\t\t\t\tversion: find(apps, ['name', ev])?.version\n\t\t\t\t}\n\t\t\t}),\n\t\t[apps]\n\t);\n\n\tconst onTopicSelect = useCallback((ev) => {\n\t\tsetShowErr(false);\n\t\tdispatch({ type: 'select-topic', payload: ev });\n\t}, []);\n\n\tconst onInputChange = useCallback((ev) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = `${25 + ev.target.scrollHeight}px`;\n\t\tif (ev.target.value.length <= 500) {\n\t\t\tsetLimit(ev.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: ev.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback(\n\t\t(ev) => {\n\t\t\tif (event.extra?.topic === '0') setShowErr(true);\n\t\t\telse setShowErr(false);\n\t\t\tif (ev.keyCode === 8) {\n\t\t\t\tif (event.message?.length === 0) {\n\t\t\t\t\tsetShowErr(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setShowErr, event]\n\t);\n\n\tconst closeBoard = useRemoveCurrentBoard();\n\n\tconst createSnackbar = useContext(SnackbarManagerContext) as (snackbar: any) => void;\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(event);\n\t\tcreateSnackbar(\n\t\t\tfeedbackId\n\t\t\t\t? { type: 'success', label: t('feedback.success', 'Thank you for your feedback') }\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('feedback.error', 'There was an error while sending your feedback')\n\t\t\t\t }\n\t\t);\n\t\tcloseBoard();\n\t}, [event, createSnackbar, t, closeBoard]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: acct.id, name: acct.displayName ?? acct.name }\n\t\t});\n\t}, [acct]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(event?.message?.length ?? 0) <= 0 || event.extra?.topic === '0' || event.extra?.app === '0',\n\t\t[event.message, event.extra?.topic, event.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props) => <_LabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"18px\">\n\t\t\t\t\t\t{t('feedback.report_something', 'Do you want to report something?')}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\" lineHeight=\"21px\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.explanation',\n\t\t\t\t\t\t\t'Please send us your feedback about your new experience with Zextras Server. Your opinion is meaningful for us to improve our product. So tell us what’s on your mind.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.hint',\n\t\t\t\t\t\t\t'Remember: define the topic using module and macro area selectors before write your feedback. Thanks for your help.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t</TextContainer>\n\n\t\t\t\t<ButtonContainer crossAlignment=\"flex-end\" mainAlignment=\"baseline\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('feedback.send', 'SEND')}\n\t\t\t\t\t\tonClick={confirmHandler}\n\t\t\t\t\t\tdisabled={disabledSend}\n\t\t\t\t\t/>\n\t\t\t\t</ButtonContainer>\n\t\t\t</Container>\n\t\t\t<Container\n\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tModule\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_module', 'Select a module')}\n\t\t\t\t\t\titems={appItems}\n\t\t\t\t\t\tonChange={onAppSelect}\n\t\t\t\t\t\tLabelFactory={ModuleLabelFactory}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tTopic\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_topic', 'Select a topic')}\n\t\t\t\t\t\tselection={find(topics, ['value', event.extra?.topic])}\n\t\t\t\t\t\titems={topics}\n\t\t\t\t\t\tonChange={onTopicSelect}\n\t\t\t\t\t\tLabelFactory={LabelFactory}\n\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t\t<TAContainer crossAlignment=\"flex-end\">\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={event.message}\n\t\t\t\t\tonKeyUp={checkTopicSelect}\n\t\t\t\t\tonChange={onInputChange}\n\t\t\t\t\tplaceholder={t('feedback.write_here', 'Write your feedback here')}\n\t\t\t\t/>\n\t\t\t\t<Text size=\"medium\" color=\"secondary\">\n\t\t\t\t\t{limit}/500\n\t\t\t\t</Text>\n\t\t\t</TAContainer>\n\t\t</Container>\n\t);\n};\n\nexport default Feedback;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Event, EventHint, Severity } from '@sentry/browser';\nimport { useReporter } from './store';\n\nexport const report =\n\t(appId: string) =>\n\t(error: Event, hint?: EventHint): string => {\n\t\tconst reporter = useReporter.getState();\n\t\tconst eventId = reporter.clients[appId]?.captureException(error, { ...hint });\n\t\tif (eventId) {\n\t\t\tconsole.info('Reported event ', eventId);\n\t\t}\n\t\treturn eventId;\n\t};\n\nexport const feedback = (message: Event): string => {\n\tconst reporter = useReporter.getState();\n\tconst eventId = reporter.clients.feedbacks.captureEvent({ ...message, level: Severity.Info });\n\tif (eventId) {\n\t\tconsole.info('Feedback ', eventId, ' sent, Thank you');\n\t}\n\treturn eventId;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './store';\nexport * from './functions';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { BrowserClient, Hub } from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport { CarbonioModule, SHELL_APP_ID } from '../../types';\n\ntype ReporterState = {\n\tclients: Record<string, Hub>;\n\tsetClients: (apps: Array<CarbonioModule>) => void;\n};\n\nexport const useReporter = create<ReporterState>((set) => ({\n\tclients: {\n\t\t[SHELL_APP_ID]: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t),\n\t\tfeedbacks: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t)\n\t},\n\tsetClients: (apps): void => {\n\t\tset((s) => ({\n\t\t\tclients: reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app) => {\n\t\t\t\t\tif (app.sentryDsn) {\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\ts.clients[app.name] = new Hub(\n\t\t\t\t\t\t\tnew BrowserClient({\n\t\t\t\t\t\t\t\tdsn: app.sentryDsn,\n\t\t\t\t\t\t\t\trelease: app.version,\n\t\t\t\t\t\t\t\tmaxValueLength: 500\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.clients\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ReporterState, StoreApi<ReporterState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { Container, Row, Text, Icon, Dropdown } from '@zextras/carbonio-design-system';\nimport { 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: 1px solid ${({ theme }): string => theme.palette.gray4.regular};\n\tcursor: pointer;\n\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].regular};\n\t&:hover {\n\t\tbackground: ${({ theme, open }): string => theme.palette[open ? 'gray5' : 'gray6'].hover};\n\t}\n`;\n\nconst ModuleSelectorComponent: FC<{ app: string | undefined }> = ({ app }) => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\tconst fullModule = useMemo(\n\t\t() => modules.find((m) => m.route === module) ?? modules[0],\n\t\t[module, modules]\n\t);\n\n\tconst [open, setOpen] = useState(false);\n\n\tconst dropdownItems = useMemo(\n\t\t() =>\n\t\t\tmodules.map(({ id, label, icon, route }) => ({\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\ticon,\n\t\t\t\tactive: id === module,\n\t\t\t\tclick: (): void => {\n\t\t\t\t\tupdateModule(route);\n\t\t\t\t\tpushHistory({ route: SEARCH_APP_ID, path: `/${route}` });\n\t\t\t\t}\n\t\t\t})),\n\t\t[module, modules, updateModule]\n\t);\n\n\tuseEffect(() => {\n\t\tif (app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [app, modules, updateModule]);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\titems={dropdownItems}\n\t\t\tonOpen={(): void => setOpen(true)}\n\t\t\tonClose={(): void => setOpen(false)}\n\t\t>\n\t\t\t<SelectorContainer\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\theight={42}\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"150px\"\n\t\t\t\tcrossAlignment=\"center\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tborderRadius=\"half\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace mainAlignment=\"unset\" padding={{ left: 'small' }}>\n\t\t\t\t\t<Text size=\"small\" color={open ? 'primary' : 'text'}>\n\t\t\t\t\t\t{fullModule?.label}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Icon\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\t\tcolor={open ? 'primary' : 'text'}\n\t\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t\t/>\n\t\t\t</SelectorContainer>\n\t\t</Dropdown>\n\t);\n};\n\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 { map } from 'lodash';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { Container, Chip, Padding, Divider, Text, Button } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\nimport { QueryChip } from '../../types';\n// import { RouteLeavingGuard } from '../ui-extras/nav-guard';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useQuery = (): [Array<QueryChip>, Function] =>\n\tuseSearchStore((s) => [s.query, s.updateQuery]);\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst useDisableSearch = (): [boolean, Function] =>\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\tuseSearchStore((s) => [s.searchDisabled, s.setSearchDisabled]);\nconst ResultsHeader: FC<{ label: string }> = ({ label }) => {\n\tconst [t] = useTranslation();\n\tconst [query, updateQuery] = useQuery();\n\tconst [disabled, setDisabled] = useDisableSearch();\n\n\tconst resetQuery = useCallback(() => {\n\t\tupdateQuery([]);\n\t\tsetDisabled(false);\n\t}, [updateQuery, setDisabled]);\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t\tminHeight=\"48px\"\n\t\t\t\tmaxHeight=\"120px\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\tpadding={{ horizontal: 'large', vertical: 'medium' }}\n\t\t\t>\n\t\t\t\t<Container width=\"85%\" orientation=\"horizontal\" wrap=\"wrap\" mainAlignment=\"flex-start\">\n\t\t\t\t\t<Text color=\"secondary\">{label}</Text>\n\n\t\t\t\t\t{map(query, (q, i) => (\n\t\t\t\t\t\t<Padding key={`${i}${q.label}`} all=\"extrasmall\">\n\t\t\t\t\t\t\t<Chip {...q} background=\"gray2\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t\t{query?.length > 0 && (\n\t\t\t\t\t<Container width=\"15%\" mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.clear_search_query', 'CLEAR SEARCH')}\n\t\t\t\t\t\t\ticon=\"CloseOutline\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\t\ttype=\"ghost\"\n\t\t\t\t\t\t\tonClick={resetQuery}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Container>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Divider color=\"gray3\" />\n\t\t</>\n\t);\n};\n\nexport const SearchAppView: FC = () => {\n\tconst searchViews = useAppStore((s) => s.views.search);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(searchViews, (view) => (\n\t\t\t\t<Route key={`/${view.route}`} path={`/${SEARCH_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component\n\t\t\t\t\t\t\tuseQuery={useQuery}\n\t\t\t\t\t\t\tResultsHeader={ResultsHeader}\n\t\t\t\t\t\t\tuseDisableSearch={useDisableSearch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[searchViews]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{/* <RouteLeavingGuard\n\t\t\t\twhen\n\t\t\t\ttitle={t('search.leave.title', 'Are you sure you want to leave this module?')}\n\t\t\t>\n\t\t\t\t<Text>{t('search.leave.warning', 'The current search results will be lost')}</Text>\n\t\t\t</RouteLeavingGuard> */}\n\t\t\t<Switch>\n\t\t\t\t{routes}\n\t\t\t\t<Redirect\n\t\t\t\t\texact\n\t\t\t\t\tstrict\n\t\t\t\t\tfrom={`/${SEARCH_APP_ID}`}\n\t\t\t\t\tto={`/${SEARCH_APP_ID}/${searchViews[0]?.route}`}\n\t\t\t\t/>\n\t\t\t</Switch>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport React, { useState, useCallback, useEffect, useMemo, FC, useRef } from 'react';\nimport {\n\tChipInput,\n\tContainer,\n\tIconButton,\n\tTooltip,\n\tPadding\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { filter, find, map, reduce } from 'lodash';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\nimport { useLocalStorage } from '../shell/hooks';\nimport { SEARCH_APP_ID } from '../constants';\n\nimport { useSearchStore } from './search-store';\nimport { QueryChip } from '../../types';\nimport { ModuleSelector } from './module-selector';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 1px solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.primary.disabled : theme.palette.primary.regular};\n\tdisplay: block;\n\t& svg {\n\t\tborder: none;\n\t}\n`;\n\nconst StyledChipInput = styled(ChipInput)`\n\tpadding: 0 16px;\n\t&:hover {\n\t\toutline: none;\n\t\tbackground: ${({ theme, disabled }): string =>\n\t\t\tdisabled ? 'gray5' : theme.palette.gray5.hover};\n\t}\n`;\n\nconst StyledContainer = styled(Container)`\n\theight: 42px;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-2px);\n\t}\n`;\n\ntype SearchLocalStorage = Array<{\n\tvalue: string;\n\tlabel: string;\n\ticon: string;\n\tapp: string;\n\tid: string;\n}>;\nexport const SearchBar: FC = () => {\n\tconst [searchIsEnabled, setSearchIsEnabled] = useState(false);\n\tconst inputRef = useRef<HTMLInputElement>();\n\tconst [t] = useTranslation();\n\tconst [storedValue, setStoredValue] = useLocalStorage<SearchLocalStorage>(\n\t\t'search_suggestions',\n\t\t[]\n\t);\n\tconst [inputTyped, setInputTyped] = useState('');\n\tconst history = useHistory();\n\tconst { updateQuery, module, query, searchDisabled, setSearchDisabled } = useSearchStore();\n\t// const [moduleSelection, setModuleSelection] = useState<{\n\t// \tvalue: string;\n\t// \tlabel: string;\n\t// }>();\n\tconst [isTyping, setIsTyping] = useState(false);\n\t// const [changedBySearchBar, setChangedBySearchBar] = useState(false);\n\n\tconst [options, setOptions] = useState<Array<{ label: string; hasAvatar: false }>>([]);\n\n\tconst [inputHasFocus, setInputHasFocus] = useState(false);\n\n\tconst [inputState, setInputState] = useState(query);\n\tconst showClear = useMemo(\n\t\t() =>\n\t\t\tinputState.length > 0 ||\n\t\t\t(inputRef.current?.textContent && inputRef.current?.textContent?.length > 0),\n\t\t[inputState.length]\n\t);\n\tconst clearSearch = useCallback((): void => {\n\t\tif (inputRef.current) {\n\t\t\tinputRef.current.innerText = '';\n\t\t\tinputRef.current?.focus();\n\t\t}\n\t\tsetIsTyping(false);\n\t\tsetInputState([]);\n\t\tsetSearchDisabled(false);\n\t\tupdateQuery([]);\n\t\tsetInputTyped('');\n\t}, [setSearchDisabled, updateQuery]);\n\n\tconst onSearch = useCallback(() => {\n\t\tupdateQuery((currentQuery) => {\n\t\t\tconst ref = inputRef?.current;\n\t\t\tif (ref) ref.innerText = '';\n\t\t\tif (inputTyped.length > 0) {\n\t\t\t\tconst newInputState = [\n\t\t\t\t\t...inputState,\n\t\t\t\t\t...map(inputTyped?.split(' '), (item) => ({ label: item, hasAvatar: false }))\n\t\t\t\t];\n\t\t\t\tsetInputState(newInputState);\n\t\t\t\tsetInputTyped('');\n\t\t\t\treturn reduce(\n\t\t\t\t\tnewInputState,\n\t\t\t\t\t(acc, chip) => {\n\t\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\tfilter(\n\t\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetInputTyped('');\n\n\t\t\treturn reduce(\n\t\t\t\tinputState,\n\t\t\t\t(acc, chip) => {\n\t\t\t\t\tif (!find(currentQuery, (c: QueryChip): boolean => c.label === chip.label)) {\n\t\t\t\t\t\tacc.push(chip);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\n\t\t\t\tfilter(\n\t\t\t\t\tcurrentQuery,\n\t\t\t\t\t(qchip: QueryChip): boolean =>\n\t\t\t\t\t\t!!find(inputState, (c: QueryChip): boolean => c.label === qchip.label)\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\t\t// if (activeRoute?.app !== SEARCH_APP_ID) {\n\t\thistory.push(`/${SEARCH_APP_ID}/${module}`);\n\t\t// }\n\t\tsetSearchIsEnabled(false);\n\t\t// setChangedBySearchBar(true);\n\t}, [updateQuery, history, module, inputTyped, inputState]);\n\n\tconst appSuggestions = useMemo<Array<QueryChip & { hasAvatar: false }>>(\n\t\t() =>\n\t\t\tfilter(storedValue, (v) => v.app === module)\n\t\t\t\t.reverse()\n\t\t\t\t.map((item: QueryChip) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\thasAvatar: false,\n\t\t\t\t\tdisabled: searchDisabled,\n\t\t\t\t\tclick: (): void => {\n\t\t\t\t\t\tsetInputState((q: Array<QueryChip>) => [...q, { ...item, hasAvatar: false }]);\n\t\t\t\t\t}\n\t\t\t\t})),\n\t\t[storedValue, module, searchDisabled]\n\t);\n\n\tconst updateOptions = useCallback(\n\t\t(target: HTMLInputElement, q: Array<any>): void => {\n\t\t\tif (target.textContent && target.textContent.length > 0) {\n\t\t\t\tsetOptions(\n\t\t\t\t\tappSuggestions\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(v: QueryChip): boolean =>\n\t\t\t\t\t\t\t\tv.label?.indexOf(target.textContent as string) !== -1 &&\n\t\t\t\t\t\t\t\t!find(q, (i) => i.value === v.label)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.slice(0, 5)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetOptions(appSuggestions.slice(0, 5));\n\t\t\t}\n\t\t},\n\t\t[appSuggestions]\n\t);\n\n\tconst onQueryChange = useCallback(\n\t\t(newQuery) => {\n\t\t\tif (\n\t\t\t\tnewQuery[newQuery.length - 1]?.label &&\n\t\t\t\tmodule &&\n\t\t\t\t!find(appSuggestions, (v) => v.label === newQuery[newQuery.length - 1]?.label)\n\t\t\t) {\n\t\t\t\tsetStoredValue((value) => [\n\t\t\t\t\t...value,\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\tlabel: newQuery[newQuery.length - 1].label,\n\t\t\t\t\t\ticon: 'ClockOutline',\n\t\t\t\t\t\tapp: module,\n\t\t\t\t\t\tid: `${value.length}`,\n\t\t\t\t\t\thasAvatar: false\n\t\t\t\t\t}\n\t\t\t\t]);\n\t\t\t}\n\t\t\t/** Commented for future reference */\n\t\t\t// if (inputRef.current) {\n\t\t\t// \tupdateOptions(inputRef.current, newQuery);\n\t\t\t// }\n\t\t\tsetInputState(newQuery);\n\t\t\tsetSearchIsEnabled(true);\n\t\t},\n\t\t[appSuggestions, module, setStoredValue]\n\t);\n\n\tconst onInputType = useCallback(\n\t\t(ev) => {\n\t\t\tif (ev.target.textContent === '') {\n\t\t\t\tsetIsTyping(false);\n\t\t\t} else if (!isTyping) {\n\t\t\t\tsetIsTyping(true);\n\t\t\t}\n\t\t\tsetInputTyped(ev.target.textContent);\n\t\t\tupdateOptions(ev.target, query);\n\t\t},\n\t\t[query, updateOptions, isTyping]\n\t);\n\n\tuseEffect(() => {\n\t\tif (module) {\n\t\t\tconst suggestions = filter(appSuggestions, (suggestion) => suggestion?.app === module).slice(\n\t\t\t\t0,\n\t\t\t\t5\n\t\t\t);\n\n\t\t\tsetOptions(suggestions);\n\t\t}\n\t}, [appSuggestions, module]);\n\n\tconst [triggerSearch, setTriggerSearch] = useState(false);\n\tconst containerRef = useRef<HTMLDivElement>();\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\n\t// useEffect(() => {\n\t// \tconst handler = (event: KeyboardEvent): unknown =>\n\t// \t\thandleKeyboardShortcuts({\n\t// \t\t\tevent,\n\t// \t\t\tinputRef,\n\t// \t\t\tprimaryAction,\n\t// \t\t\tsecondaryActions,\n\t// \t\t\tcurrentApp\n\t// \t\t});\n\t// \tdocument.addEventListener('keydown', handler);\n\t// \treturn (): void => {\n\t// \t\tdocument.removeEventListener('keydown', handler);\n\t// \t};\n\t// }, [currentApp, inputRef, primaryAction, secondaryActions]);\n\n\tuseEffect(() => {\n\t\tconst ref = inputRef.current;\n\t\tconst searchCb = (ev: any): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetTriggerSearch(true);\n\t\t\t\t\tremoveFocus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', searchCb);\n\t\t}\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', searchCb);\n\t\t\t}\n\t\t};\n\t}, [onSearch, removeFocus]);\n\n\tuseEffect(() => {\n\t\tif (triggerSearch) {\n\t\t\tonSearch();\n\t\t\tsetTriggerSearch(false);\n\t\t}\n\t}, [onSearch, triggerSearch]);\n\n\t// useEffect(() => {\n\t// \tsetChangedBySearchBar((value) => {\n\t// \t\tif (!value) {\n\t// \t\t\tsetInputState(filter(query, (q) => !q.isQueryFilter));\n\t// \t\t}\n\t// \t\treturn false;\n\t// \t});\n\t// }, [query]);\n\n\tconst disableOptions = useMemo(() => !(options.length > 0) || isTyping, [options, isTyping]);\n\n\tconst placeholder = useMemo(\n\t\t() =>\n\t\t\tinputHasFocus && module\n\t\t\t\t? t('search.active_input_label', 'Separate your keywords by a comma or pressing TAB')\n\t\t\t\t: t('search.idle_input_label', 'Search in {{module}}', {\n\t\t\t\t\t\tmodule\n\t\t\t\t }),\n\t\t[inputHasFocus, module, t]\n\t);\n\n\tconst clearButtonPlaceholder = useMemo(\n\t\t() =>\n\t\t\tshowClear || isTyping\n\t\t\t\t? t('search.clear', 'Clear search input')\n\t\t\t\t: t('search.already_clear', 'Search input is already clear'),\n\t\t[showClear, t, isTyping]\n\t);\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (searchIsEnabled && inputState.length > 0) {\n\t\t\treturn t('search.start', 'Start search');\n\t\t}\n\t\tif (inputHasFocus) {\n\t\t\treturn t(\n\t\t\t\t'search.type_or_choose_suggestion',\n\t\t\t\t'Type or choose some keywords to start a search'\n\t\t\t);\n\t\t}\n\t\tif (query.length > 0) {\n\t\t\treturn t('label.edit_to_start_search', 'Edit your search to start a new one');\n\t\t}\n\t\treturn t('search.type_to_start_search', 'Type some keywords to start a search');\n\t}, [t, searchIsEnabled, inputState.length, inputHasFocus, query.length]);\n\n\tconst onChipAdd = useCallback(\n\t\t(newChip: string) => {\n\t\t\tsetIsTyping(false);\n\t\t\tsetInputTyped('');\n\t\t\tif (module) {\n\t\t\t\tconst suggestions = filter(\n\t\t\t\t\tappSuggestions,\n\t\t\t\t\t(suggestion) => suggestion?.app === module\n\t\t\t\t).slice(0, 5);\n\n\t\t\t\tsetOptions(suggestions);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlabel: newChip.trim(),\n\t\t\t\thasAvatar: false,\n\t\t\t\tavatarLabel: ''\n\t\t\t};\n\t\t},\n\t\t[appSuggestions, module]\n\t);\n\n\tuseEffect(() => {\n\t\tsetInputState(map(query, (q) => ({ ...q, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\n\n\tconst disableClearButton = useMemo(() => (isTyping ? false : !showClear), [showClear, isTyping]);\n\n\treturn (\n\t\t<Container orientation=\"horizontal\" minWidth=\"0\" ref={containerRef}>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={t(\n\t\t\t\t\t'search.unable_to_parse_query',\n\t\t\t\t\t'Unable to complete the search, clear it and retry'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t<Container minWidth=\"512px\" width=\"fill\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t\t\t<Container width=\"fit\">\n\t\t\t\t\t\t\t\t<ModuleSelector />\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t<StyledContainer orientation=\"horizontal\">\n\t\t\t\t\t\t\t\t<StyledChipInput\n\t\t\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\t\t\t\t\tvalue={inputState}\n\t\t\t\t\t\t\t\t\tonAdd={onChipAdd}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\tconfirmChipOnBlur={false}\n\t\t\t\t\t\t\t\t\tconfirmChipOnSpace={false}\n\t\t\t\t\t\t\t\t\tseparators={['Comma']}\n\t\t\t\t\t\t\t\t\tbackground={searchDisabled ? 'gray5' : 'gray6'}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={onQueryChange}\n\t\t\t\t\t\t\t\t\tonInputType={onInputType}\n\t\t\t\t\t\t\t\t\tonInputTypeDebounce={0}\n\t\t\t\t\t\t\t\t\tonBlur={removeFocus}\n\t\t\t\t\t\t\t\t\tonFocus={addFocus}\n\t\t\t\t\t\t\t\t\tdisableOptions={disableOptions}\n\t\t\t\t\t\t\t\t\trequireUniqueChips={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StyledContainer>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Container>\n\n\t\t\t\t\t{!disableClearButton && (\n\t\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t\t<Tooltip label={clearButtonPlaceholder} placement=\"bottom\">\n\t\t\t\t\t\t\t\t<OutlinedIconButton\n\t\t\t\t\t\t\t\t\tdisabled={disableClearButton}\n\t\t\t\t\t\t\t\t\ticon=\"BackspaceOutline\"\n\t\t\t\t\t\t\t\t\ticonColor=\"primary\"\n\t\t\t\t\t\t\t\t\tonClick={clearSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\tlabel={searchBtnTooltipLabel}\n\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticon=\"Search\"\n\t\t\t\t\t\t\t\tdisabled={!(searchIsEnabled && inputState.length > 0)}\n\t\t\t\t\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\t\t\t\t\ticonColor=\"gray6\"\n\t\t\t\t\t\t\t\tonClick={onSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { isFunction } from 'lodash';\nimport create from 'zustand';\nimport { QueryChip, SearchState } from '../../types';\n\nexport const useSearchStore = create<SearchState>((set, get) => ({\n\tquery: [],\n\tsearchDisabled: false,\n\tsetSearchDisabled: (searchDisabled: boolean): void => set({ searchDisabled }),\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)): void =>\n\t\tset({ query: isFunction(query) ? query(get().query) : query }),\n\tupdateModule: (module: string): void => set({ module })\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo } from 'react';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { AccountsSettings } from './accounts-settings';\nimport { useUserAccount } from '../store/account';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst [t] = useTranslation();\n\tconst identitiesDefault = useMemo(() => {\n\t\tconst temp = map(accountSettings?.identities.identity, (item, index) => ({\n\t\t\tid: item.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\t\t\ttype: item.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\t\t\tidentityId: item._attrs.zimbraPrefIdentityId || '',\n\t\t\tfromAddress: item._attrs.zimbraPrefFromAddress || '',\n\t\t\tidentityName: item._attrs.zimbraPrefIdentityName || '',\n\t\t\tfromDisplay: item._attrs.zimbraPrefFromDisplay || '',\n\t\t\trecoveryAccount: item._attrs.zimbraRecoveryAccount || '',\n\t\t\treplyToDisplay: item._attrs.zimbraPrefReplyToDisplay || '',\n\t\t\treplyToAddress: item._attrs.zimbraPrefReplyToAddress || '',\n\t\t\treplyToEnabled: item._attrs.zimbraPrefReplyToEnabled || '',\n\t\t\tsaveToSent: item._attrs.zimbraPrefSaveToSent || '',\n\t\t\tsentMailFolder: item._attrs.zimbraPrefSentMailFolder || '',\n\t\t\twhenInFoldersEnabled: item._attrs.zimbraPrefWhenInFoldersEnabled || '',\n\t\t\twhenSentToEnabled: item._attrs.zimbraPrefWhenSentToEnabled || '',\n\t\t\twhenSentToAddresses: item._attrs.zimbraPrefWhenSentToAddresses || ''\n\t\t}));\n\t\tconst result = [temp[temp.length - 1], ...temp];\n\t\tresult.pop();\n\t\treturn result;\n\t}, [accountSettings, t]);\n\n\treturn identitiesDefault.length > 0 ? (\n\t\t<AccountsSettings identitiesDefault={identitiesDefault} t={t} />\n\t) : null;\n};\n\nexport default AccountWrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useState, useEffect, ReactElement } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'react-i18next';\nimport { map, includes, findIndex, reduce, find, replace, lowerFirst, isEmpty } from 'lodash';\nimport { useUserSettings } from '../store/account/hooks';\nimport { editSettings } from '../network/edit-settings';\nimport { SHELL_APP_ID } from '../constants';\nimport { Mods, IdentityProps, CreateIdentityProps } from '../../types';\nimport { useAccountStore } from '../store/account/store';\nimport AccountsList from './components/account-settings/accounts-list';\nimport PrimaryAccountSettings from './components/account-settings/primary-account-settings';\nimport SettingsSentMessages from './components/account-settings/settings-sent-messages';\nimport PasswordRecoverySettings from './components/account-settings/password-recovery-settings';\nimport Delegates from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport PersonaUseSection from './components/account-settings/persona-use-section';\nimport SettingsHeader from './components/settings-header';\nimport { getXmlSoapFetch } from '../network/fetch';\n\n// external accounts not yet activated, graphical part is complete\n// import ExternalAccount from './components/account-settings/external-account-settings';\n// import AdvancedSettings from './components/account-settings/advanced-settings';\n// import DownloadMessages from './components/account-settings/download-messages';\n\ntype ModifyProps = { id: string | number; key: string; value: string | boolean } | undefined;\ntype AddModProps = {\n\ttype: string;\n\tmodifyProp?: ModifyProps;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\ntype AccountSettingsProps = {\n\tidentitiesDefault: IdentityProps[];\n\tt: TFunction;\n};\n\ntype UserRightsProps = { email: string; right: string };\n\ntype DelegateProps = {\n\tid: string;\n\temail: string;\n\tright: string;\n};\n\nexport const AccountsSettings = ({ identitiesDefault, t }: AccountSettingsProps): ReactElement => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [activeDelegateView, setActiveDelegateView] = useState('0');\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst [delegates, setDelegates] = useState<DelegateProps[]>([]);\n\n\tconst maxIdentities = useUserSettings().attrs.zimbraIdentityMaxNumEntries;\n\tconst addMod = useCallback(\n\t\t(arg: AddModProps) => {\n\t\t\tconst { type, modifyProp, deleteList, createList } = arg;\n\t\t\tsetMods((prevState) => {\n\t\t\t\tconst prevRecord = find(\n\t\t\t\t\tprevState?.identity?.modifyList,\n\t\t\t\t\t(item) => item.id === modifyProp?.id\n\t\t\t\t)?.prefs;\n\t\t\t\tconst modifyList =\n\t\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...prevState.identity?.modifyList,\n\t\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\t\tid: modifyProp.id,\n\t\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: prevState.identity?.modifyList;\n\t\t\t\tconst newCreateList = prevState.identity?.createList || createList;\n\t\t\t\tconst newDeleteList = prevState.identity?.deleteList || deleteList;\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\n\t\t\t\t\t[type]: {\n\t\t\t\t\t\tdeleteList: newDeleteList,\n\t\t\t\t\t\tcreateList: newCreateList,\n\t\t\t\t\t\tmodifyList\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t[setMods]\n\t);\n\n\tconst modifyCreateList = useCallback((arg: AddModProps) => {\n\t\tconst { type, modifyProp } = arg;\n\t\tsetMods((prevState) => {\n\t\t\tconst prevRecord = find(\n\t\t\t\tprevState?.identity?.createList,\n\t\t\t\t(item) => item.prefs.requestId === modifyProp?.id\n\t\t\t)?.prefs;\n\t\t\tconst modifiedCreateList =\n\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...prevState.identity?.createList,\n\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\n\t\t\t\t[type]: {\n\t\t\t\t\tcreateList: modifiedCreateList,\n\t\t\t\t\tdeleteList: prevState.identity?.deleteList,\n\t\t\t\t\tmodifyList: prevState.identity?.modifyList\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}, []);\n\tconst createIdentities = useCallback(\n\t\t(createList: { prefs: CreateIdentityProps }[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tcreateList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst updateIdentities = useCallback(\n\t\t(modifyProp: { id: string | number; key: string; value: string | boolean }) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tmodifyProp: { id: modifyProp.id, key: modifyProp.key, value: modifyProp.value }\n\t\t\t};\n\t\t\tif (typeof modifyProp.id === 'string') {\n\t\t\t\taddMod(arg);\n\t\t\t} else if (typeof modifyProp.id === 'number') {\n\t\t\t\tmodifyCreateList(arg);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(modifyProp.key, 'zimbraPref', ''));\n\t\t\tsetIdentities(\n\t\t\t\tmap(identities, (item) =>\n\t\t\t\t\titem.identityId === modifyProp.id\n\t\t\t\t\t\t? { ...item, [updatedIdentityKey]: modifyProp.value }\n\t\t\t\t\t\t: item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[addMod, identities, modifyCreateList]\n\t);\n\n\tconst deleteIdentities = useCallback(\n\t\t(deleteList: string[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tdeleteList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'GetRights',\n\t\t\t`<GetRightsRequest xmlns=\"urn:zimbraAccount\"></GetRightsRequest>`\n\t\t).then((res: any) => {\n\t\t\tif (res.ace) {\n\t\t\t\tconst tempResult: UserRightsProps[] = map(res.ace, (item) => ({\n\t\t\t\t\temail: item.d,\n\t\t\t\t\tright: item.right\n\t\t\t\t}));\n\t\t\t\tconst resultReduced = reduce(\n\t\t\t\t\ttempResult,\n\t\t\t\t\t(result: UserRightsProps[], item) => {\n\t\t\t\t\t\tconst index = findIndex(result, { email: item.email });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\tresult.push({ email: item.email, right: item.right });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\temail: item.email,\n\t\t\t\t\t\t\t\tright: `${item.right} and ${result[index].right}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tresult.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tconst result = map(resultReduced, (item: UserRightsProps, index) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: index.toString()\n\t\t\t\t}));\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tsetMods({});\n\t}, [identitiesDefault]);\n\n\tconst onSave = useCallback(() => {\n\t\tif (\n\t\t\tidentitiesDefault.length +\n\t\t\t\t(mods.identity?.createList?.length || 0) -\n\t\t\t\t(mods?.identity?.deleteList?.length || 0) >\n\t\t\tmaxIdentities\n\t\t) {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t(\n\t\t\t\t\t'message.snackbar.identities_quota_exceeded',\n\t\t\t\t\t'The identitity could not be created because you have exceeded your identity quota'\n\t\t\t\t),\n\t\t\t\tautoHideTimeout: 5000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [identitiesDefault.length, mods, maxIdentities, createSnackbar, t]);\n\n\tconst onCancel = useCallback(() => setMods({}), []);\n\tconst title: string = useMemo(() => t('label.accounts', 'Accounts'), [t]);\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader onSave={onSave} onCancel={onCancel} isDirty={isDirty} title={title} />\n\t\t\t<Container background=\"gray5\" padding={{ top: 'large' }} height=\"fit\" />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AccountsList\n\t\t\t\t\tt={t}\n\t\t\t\t\tidentities={identities}\n\t\t\t\t\tsetIdentities={setIdentities}\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t\tdeleteIdentities={deleteIdentities}\n\t\t\t\t\tcreateIdentities={createIdentities}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.primary', 'Primary') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PrimaryAccountSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[0]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{/* <PasswordRecoverySettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tcreateSnackbar={createSnackbar}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t<Delegates\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={delegates}\n\t\t\t\t\t\t\tactiveDelegateView={activeDelegateView}\n\t\t\t\t\t\t\tsetActiveDelegateView={setActiveDelegateView}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.persona', 'Persona') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PersonaSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PersonaUseSection\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{includes(['IMAP', 'POP'], identities[selectedIdentityId]?.type) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* <ExternalAccount t={t} items={identities} />\n\t\t\t\t\t\t<AdvancedSettings t={t} items={identities} />\n\t\t\t\t\t\t<DownloadMessages t={t} items={identities} />\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tsetMods={setMods}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, ReactElement, useState, useContext } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tIcon,\n\tModalManagerContext\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max } from 'lodash';\nimport { IdentityProps, CreateIdentityProps } from '../../../../types';\n\ntype AccountsListProps = {\n\tt: TFunction;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tdeleteIdentities: (deleteList: string[]) => void;\n\tcreateIdentities: (createList: { prefs: CreateIdentityProps }[]) => void;\n};\n\ntype ListItemProps = {\n\tactive: boolean;\n\titem: IdentityProps;\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst AccountsList = ({\n\tt,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tdeleteIdentities,\n\tcreateIdentities\n}: AccountsListProps): ReactElement => {\n\tconst changeView = (value: number): void => setSelectedIdentityId(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => {\n\t\t\t\t\tchangeView(Number(item.id));\n\t\t\t\t}}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Icon icon=\"CheckmarkCircle2Outline\" size=\"large\" color=\"primary\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.identityName}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t({item.fromAddress})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.type}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\tconst createModal = useContext(ModalManagerContext);\n\n\tconst [createListrequestId, setCreateListrequestId] = useState(0);\n\tconst [createList, setCreateList] = useState<{ prefs: CreateIdentityProps }[]>([]);\n\tconst addNewPersona = useCallback(() => {\n\t\tconst newPersonaNextNumber =\n\t\t\tNumber(\n\t\t\t\tmax([\n\t\t\t\t\t...filter(\n\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\tfilter(identities, (item) => item.identityName?.includes('New Persona')),\n\t\t\t\t\t\t\t\t(item: IdentityProps) => item.identityName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(item: string) => parseFloat(item.replace('New Persona ', ''))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(item) => Number(item)\n\t\t\t\t\t)\n\t\t\t\t])\n\t\t\t) + 1;\n\t\tconst newPersonaName = `New Persona ${newPersonaNextNumber || 1}`;\n\t\tidentities.push({\n\t\t\tid: `${identities.length}`,\n\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\tidentityId: createListrequestId,\n\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\tidentityName: newPersonaName,\n\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\treplyToDisplay: '',\n\t\t\treplyToAddress: '',\n\t\t\treplyToEnabled: 'FALSE',\n\t\t\tsaveToSent: '',\n\t\t\tsentMailFolder: '',\n\t\t\twhenInFoldersEnabled: '',\n\t\t\twhenSentToEnabled: ''\n\t\t});\n\t\tsetIdentities(identities);\n\t\tsetCreateListrequestId(createListrequestId + 1);\n\t\tsetCreateList((state) => {\n\t\t\tstate.push({\n\t\t\t\tprefs: {\n\t\t\t\t\trequestId: createListrequestId,\n\t\t\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\t\t\tzimbraPrefReplyToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefReplyToDisplay: '',\n\t\t\t\t\tzimbraPrefReplyToAddress: '',\n\t\t\t\t\tzimbraPrefDefaultSignatureId: '',\n\t\t\t\t\tzimbraPrefForwardReplySignatureId: '',\n\t\t\t\t\tzimbraPrefWhenSentToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefWhenInFoldersEnabled: 'FALSE'\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\t\tcreateIdentities(createList);\n\t\tsetSelectedIdentityId(identities.length - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tt,\n\t\tcreateIdentities,\n\t\tcreateListrequestId,\n\t\tcreateList,\n\t\tsetSelectedIdentityId\n\t]);\n\n\tconst [deleteList, setDeleteList] = useState<string[]>([]);\n\tconst onConfirmDelete = useCallback((): void => {\n\t\tconst newIdentities = map(\n\t\t\tfilter(\n\t\t\t\tidentities,\n\t\t\t\t(identity) => identity?.identityId !== identities[selectedIdentityId]?.identityId\n\t\t\t),\n\t\t\t(item: IdentityProps, index: number) => ({ ...item, id: index.toString() })\n\t\t);\n\t\tsetDeleteList((state) => {\n\t\t\tstate.push(identities[selectedIdentityId]?.identityId.toString());\n\t\t\treturn state;\n\t\t});\n\t\tsetIdentities(newIdentities);\n\t\tdeleteIdentities(deleteList);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tdeleteIdentities,\n\t\tdeleteList,\n\t\tsetSelectedIdentityId,\n\t\tselectedIdentityId\n\t]);\n\tconst onDelete = useCallback((): void => {\n\t\t// I'm disabling lint as the DS is not defining the type\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst closeModal = createModal({\n\t\t\ttitle: t('label.permanent_delete_title', 'Are you sure to permanently delete this Persona?'),\n\t\t\tonConfirm: () => {\n\t\t\t\tonConfirmDelete();\n\t\t\t\tcloseModal();\n\t\t\t},\n\t\t\tconfirmLabel: t('label.delete_permanently', 'Delete permanently'),\n\t\t\tconfirmColor: 'error',\n\t\t\tshowCloseIcon: true,\n\t\t\tonClose: () => closeModal(),\n\t\t\tchildren: (\n\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'messages.permanent_delete_body',\n\t\t\t\t\t\t\t'If you permanently delete this Persona you will not be able to recover it. Continue?'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Padding>\n\t\t\t)\n\t\t});\n\t}, [createModal, t, onConfirmDelete]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.accounts_list', 'Accounts list')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={identities}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={identities[selectedIdentityId]?.id}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_external_account', 'Add external account')}\n\t\t\t\t\t\t// onClick={(): void => setSelectedIdentity({ type: 'POP' })}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={(): void => addNewPersona()}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.delete', 'Delete')}\n\t\t\t\t\tonClick={(): void => onDelete()}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.type === t('label.primary', 'Primary')}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default AccountsList;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tRadio,\n\tRadioGroup\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: { email: string; right: string; id: string }[];\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\n};\n\ntype ListItemProps = {\n\tactive: string;\n\titem: { id: string; label: string; email: string; right: string };\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst Delegates = ({\n\tt,\n\titems,\n\tactiveDelegateView,\n\tsetActiveDelegateView\n}: DelegatesProps): ReactElement => {\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst changeView = (value: string): void => setActiveDelegateView(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => changeView(item.id)}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.delegates', 'Delegates')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={items}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={activeDelegateView}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tactiveView={activeDelegateView}\n\t\t\t\t\tsetActiveView={setActiveDelegateView}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_delegate', 'Add delegate')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.edit_permissions', 'Edit permissions')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button label={t('label.remove', 'remove')} color=\"error\" type=\"outlined\" disabled />\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<RadioGroup\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\tvalue={activeValue}\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tonChange={(newValue: string): void => setActiveValue(newValue)}\n\t\t\t\t>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_to_my_sent_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_delegate_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to delegate’s Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"2\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_both_folders',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder and delegate’s folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio label={t('label.dont_save', 'Don’t save a copy of sent messages')} value=\"4\" />\n\t\t\t\t</RadioGroup>\n\t\t\t\t<Padding bottom=\"large\" />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default Delegates;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, ReactElement, useEffect, useMemo } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\n\ninterface PersonaSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PersonaSettings = ({ t, items, updateIdentities }: PersonaSettingsProps): ReactElement => {\n\tconst [personaValue, setPersonaValue] = useState(items.identityName);\n\tconst personaLabel = useMemo(\n\t\t() => (personaValue ? '' : t('label.persona_name', 'Persona Name')),\n\t\t[personaValue, t]\n\t);\n\tuseEffect(() => {\n\t\tsetPersonaValue(items.identityName);\n\t}, [items.identityName]);\n\n\tconst onChange = useCallback(\n\t\t(ev) => {\n\t\t\tsetPersonaValue(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId, setPersonaValue]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.persona_settings', 'Persona Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"vertical\" mainAlignment=\"flex-start\" width=\"fill\">\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text background=\"gray6\" color=\"secondary\" width=\"fill\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line1',\n\t\t\t\t\t\t\t\t'Use personas to quickly change many settings when sending e-mail messages.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\" mainAlignment=\"flex-start\">\n\t\t\t\t\t\t<Text background=\"gray6\" color=\"secondary\">\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'label.use_personas_line2',\n\t\t\t\t\t\t\t\t'For example, if you sometimes send e-mails in a particular role at work, create a persona for that.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace>\n\t\t\t\t\t<Input label={personaLabel} value={personaValue} background=\"gray5\" onChange={onChange} />\n\t\t\t\t</Row>\n\t\t\t</Row>\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PersonaSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useEffect, ReactElement, useState, useCallback } from 'react';\nimport { Container, Text, Padding, Input, Row, Checkbox } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype PersonaUseSectionProps = {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n};\n\nconst PersonaUseSection = ({\n\tt,\n\titems,\n\tupdateIdentities\n}: PersonaUseSectionProps): ReactElement => {\n\tconst title = useMemo(() => t('label.use_persona', 'Use this persona'), [t]);\n\tconst whenSentToLabel = useMemo(\n\t\t() => t('label.when_replying', 'When replying or forwarding messages sent to:'),\n\t\t[t]\n\t);\n\t// this code is work in progress for when the mails sync is implemented\n\t// const [open, setOpen] = useState(false);\n\t// const onClose = useCallback(() => setOpen(false), []);\n\n\tconst [whenInFoldersEnabled, setWhenInFoldersEnabled] = useState(\n\t\titems.whenInFoldersEnabled === 'TRUE'\n\t);\n\tconst [whenSentToEnabled, setWhenSentToEnabled] = useState(items.whenSentToEnabled === 'TRUE');\n\tconst [whenSentToAddresses, setWhenSentToAddresses] = useState(items.whenSentToAddresses);\n\n\tuseEffect(() => {\n\t\tsetWhenSentToEnabled(items.whenSentToEnabled === 'TRUE');\n\t}, [items.whenSentToEnabled]);\n\tuseEffect(() => {\n\t\tsetWhenSentToAddresses(items.whenSentToAddresses);\n\t}, [items.whenSentToAddresses]);\n\tuseEffect(() => {\n\t\tsetWhenInFoldersEnabled(items.whenInFoldersEnabled === 'TRUE');\n\t}, [items.whenInFoldersEnabled]);\n\n\tconst whenSentToAddressesLabel = useMemo(\n\t\t() => (whenSentToAddresses ? '' : t('label.recipents', 'Recipients')),\n\t\t[t, whenSentToAddresses]\n\t);\n\tconst onClickWhenSentToEnabled = useCallback(() => {\n\t\tsetWhenSentToEnabled(!whenSentToEnabled);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefWhenSentToEnabled',\n\t\t\tvalue: whenSentToEnabled ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [items.identityId, updateIdentities, whenSentToEnabled]);\n\n\tconst isValidEmail = useMemo(\n\t\t() => whenSentToEnabled && !EMAIL_VALIDATION_REGEX.test(whenSentToAddresses || ''),\n\t\t[whenSentToAddresses, whenSentToEnabled]\n\t);\n\n\tconst onChangeWhenSentToAddresses = useCallback(\n\t\t(ev) => {\n\t\t\tsetWhenSentToAddresses(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefWhenSentToAddresses',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\t// this function is work in progress for when the mails sync is implemented\n\t// const onClickWhenInFoldersEnabled = useCallback(() => {\n\t// \tsetWhenInFoldersEnabled(!whenInFoldersEnabled);\n\t// \tif (!whenInFoldersEnabled === (items.whenInFoldersEnabled === 'TRUE')) {\n\t// \t\tsetMods({});\n\t// \t} else {\n\t// \t\tupdateIdentities(\n\t// \t\t\titems.identityId,\n\t// \t\t\t'zimbraPrefWhenInFoldersEnabled',\n\t// \t\t\titems.whenInFoldersEnabled ? 'TRUE' : 'FALSE'\n\t// \t\t);\n\t// \t}\n\t// }, [\n\t// \titems.whenInFoldersEnabled,\n\t// \twhenInFoldersEnabled,\n\t// \tsetMods,\n\t// \tupdateIdentities,\n\t// \titems.identityId\n\t// ]);\n\t// const modalProps = useMemo(\n\t// \t() => ({\n\t// \t\topen,\n\t// \t\tonClose,\n\t// \t\tsetFolder,\n\t// \t\tt\n\t// \t}),\n\t// \t[open, onClose, setFolder, t]\n\t// );\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={whenSentToLabel}\n\t\t\t\t\tvalue={whenSentToEnabled}\n\t\t\t\t\tonClick={onClickWhenSentToEnabled}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={whenSentToAddressesLabel}\n\t\t\t\t\t\tvalue={whenSentToAddresses}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tdisabled={!whenSentToEnabled}\n\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChangeWhenSentToAddresses(ev)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t{/* <Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'label.when_composing',\n\t\t\t\t\t\t'When composing, replying to or forwarding messages in folder(s):'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={whenInFoldersEnabled}\n\t\t\t\t\tonClick={(): void => onClickWhenInFoldersEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<ChipInput\n\t\t\t\t\t\tlabel={t('label.reply_to_field_example', \"e.g. Bob Smith\")}\n\t\t\t\t\t\tvalue=\"\"\n\t\t\t\t\t\tplaceholder={t('label.folders', 'Folders')}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\ticon=\"FolderOutline\"\n\t\t\t\t\t\tdisabled={!whenInFoldersEnabled}\n\t\t\t\t\t\ticonAction={openFolderModal}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row> */}\n\n\t\t\t<Padding bottom=\"large\" />\n\t\t\t{/* <FolderSelectModal compProps={modalProps} /> */}\n\t\t</>\n\t);\n};\n\nexport default PersonaUseSection;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport { Container, Text, Padding, Input, Row } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { IdentityProps } from '../../../../types';\n\ninterface PrimaryAccountSettingsProps {\n\tt: TFunction;\n\titems: IdentityProps;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n}\n\nconst PrimaryAccountSettings = ({\n\tt,\n\titems,\n\tupdateIdentities\n}: PrimaryAccountSettingsProps): ReactElement => {\n\tconst emailValue = useMemo(() => items?.fromAddress, [items]);\n\tconst emailLabel = useMemo(\n\t\t() => (emailValue ? '' : t('label.email_address', 'E-mail address')),\n\t\t[emailValue, t]\n\t);\n\tconst [accountNameValue, setAccountNameValue] = useState(items?.identityName);\n\n\tuseEffect(() => setAccountNameValue(items.identityName), [items.identityName]);\n\tconst accountLabel = useMemo(\n\t\t() => (accountNameValue ? '' : t('label.account_name', 'Account Name')),\n\t\t[accountNameValue, t]\n\t);\n\n\tconst onChangeDisabled = useCallback(() => null, []);\n\tconst onChange = useCallback(\n\t\t(\n\t\t\tev: MouseEvent & {\n\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t}\n\t\t): void => {\n\t\t\tsetAccountNameValue(ev.target.value);\n\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefIdentityName',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('primary_account.title', 'Primary Account Settings')}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={emailLabel}\n\t\t\t\t\t\tvalue={emailValue || ' '}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tonChange={onChangeDisabled}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={accountLabel}\n\t\t\t\t\t\tvalue={accountNameValue || ' '}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChange(ev)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default PrimaryAccountSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo, useCallback, ReactElement, useState, useEffect } from 'react';\nimport {\n\tContainer,\n\tText,\n\tPadding,\n\tInput,\n\tRow,\n\tSelect,\n\tCheckbox,\n\tDropdown,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { filter, find } from 'lodash';\nimport { IdentityProps } from '../../../../types';\nimport { EMAIL_VALIDATION_REGEX } from '../../../constants';\n\ntype SettingsSentMessagesProps = {\n\tt: TFunction;\n\titems: IdentityProps;\n\tisExternalAccount: boolean;\n\tupdateIdentities: (modifyList: {\n\t\tid: string | number;\n\t\tkey: string;\n\t\tvalue: string | boolean;\n\t}) => void;\n};\n\nconst SettingsSentMessages = ({\n\tt,\n\titems,\n\tisExternalAccount,\n\tupdateIdentities\n}: SettingsSentMessagesProps): ReactElement => {\n\tconst title = useMemo(() => t('label.settings_sent_messages', 'Settings for Sent Messages'), [t]);\n\tconst [replyToEnabledValue, setReplyToEnabledValue] = useState(items.replyToEnabled === 'TRUE');\n\tconst [replyToAddress, setReplyToAddress] = useState(items.replyToAddress);\n\tconst [dropdownOpen, setDropdownOpen] = useState(false);\n\tconst [fromDisplayValue, setFromDisplayValue] = useState(items.fromDisplay);\n\tconst [replyToDisplay, setReplyToDisplay] = useState(items?.replyToDisplay);\n\tconst fromAddressArray = useMemo(\n\t\t() => [{ value: items.fromAddress, label: items.fromAddress }],\n\t\t[items?.fromAddress]\n\t);\n\tconst [fromAddress, setFromAddress] = useState(() =>\n\t\tfind(fromAddressArray, (item) => item.value === items.fromAddress)\n\t);\n\n\tuseEffect(() => {\n\t\tsetReplyToEnabledValue(items.replyToEnabled === 'TRUE');\n\t}, [items.replyToEnabled]);\n\tuseEffect(() => {\n\t\tsetFromDisplayValue(items.fromDisplay);\n\t}, [items.fromDisplay]);\n\tuseEffect(() => {\n\t\tconst k = find(fromAddressArray, (item) => item.value === items.fromAddress);\n\t\tsetFromAddress(k);\n\t}, [fromAddressArray, items.fromAddress]);\n\tuseEffect(() => {\n\t\tsetReplyToDisplay(items?.replyToDisplay === undefined ? '' : items?.replyToDisplay);\n\t}, [items?.replyToDisplay]);\n\tuseEffect(() => {\n\t\tsetReplyToAddress(items.replyToAddress);\n\t}, [items.replyToAddress]);\n\n\tconst onClickReplyToEnabled = useCallback(() => {\n\t\tsetReplyToEnabledValue(!replyToEnabledValue);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefReplyToEnabled',\n\t\t\tvalue: replyToEnabledValue ? 'FALSE' : 'TRUE'\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t}, [items.identityId, replyToEnabledValue, updateIdentities]);\n\n\tconst fromDisplayLabel = useMemo(\n\t\t() => (fromDisplayValue ? '' : t('label.from_name', 'From: \"Name\"')),\n\t\t[t, fromDisplayValue]\n\t);\n\tconst onChangeFromDisplayValue = (\n\t\tev: MouseEvent & {\n\t\t\ttarget: HTMLButtonElement;\n\t\t}\n\t): void => {\n\t\tsetFromDisplayValue(ev.target.value);\n\t\tconst modifyProp = {\n\t\t\tid: items.identityId,\n\t\t\tkey: 'zimbraPrefFromDisplay',\n\t\t\tvalue: ev.target.value\n\t\t};\n\t\tupdateIdentities(modifyProp);\n\t};\n\n\tconst fromAddressLabel = useMemo(\n\t\t() => (fromAddress ? '' : t('label.address', 'Address')),\n\t\t[fromAddress, t]\n\t);\n\n\tconst onChangeFromAddress = useCallback(\n\t\t(newVal) => {\n\t\t\tsetFromAddress(filter(fromAddressArray, (item) => item.value === newVal)[0]);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefFromAddress',\n\t\t\t\tvalue: newVal\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[items.identityId, updateIdentities, fromAddressArray]\n\t);\n\n\tconst replyToEnabledLabel = useMemo(\n\t\t() => t('label.set_reply_to_field', 'Set the \"Reply-to\" field of e-mail message to:'),\n\t\t[t]\n\t);\n\n\tconst replyToDisplayLabel = useMemo(\n\t\t() => (replyToDisplay ? '' : t('label.reply_to_field_example', 'e.g. Bob Smith')),\n\t\t[t, replyToDisplay]\n\t);\n\tconst onChangePrefReplyToDisplay = useCallback(\n\t\t(\n\t\t\tev: MouseEvent & {\n\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t}\n\t\t): void => {\n\t\t\tsetReplyToDisplay(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToDisplay',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\tconst replyToAddressLabel = useMemo(\n\t\t() => (replyToAddress ? '' : t('label.choose_account', 'Choose an account')),\n\t\t[t, replyToAddress]\n\t);\n\n\tconst replyToAddressArray = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: '0',\n\t\t\t\tlabel: items.fromAddress,\n\t\t\t\tclick: (ev: MouseEvent & { target: string & { textContent: string } }): void => {\n\t\t\t\t\tsetReplyToAddress(ev.target.textContent);\n\t\t\t\t\tconst modifyProp = {\n\t\t\t\t\t\tid: items.identityId,\n\t\t\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\t\t\tvalue: ev.target.textContent\n\t\t\t\t\t};\n\t\t\t\t\tupdateIdentities(modifyProp);\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t[items.fromAddress, items.identityId, updateIdentities]\n\t);\n\n\tconst onChangeReplyToAddress = useCallback(\n\t\t(ev) => {\n\t\t\tsetReplyToAddress(ev.target.value);\n\t\t\tconst modifyProp = {\n\t\t\t\tid: items.identityId,\n\t\t\t\tkey: 'zimbraPrefReplyToAddress',\n\t\t\t\tvalue: ev.target.value\n\t\t\t};\n\t\t\tupdateIdentities(modifyProp);\n\t\t},\n\t\t[updateIdentities, items.identityId]\n\t);\n\n\tconst isValidEmail = useMemo(\n\t\t() => replyToEnabledValue && !EMAIL_VALIDATION_REGEX.test(replyToAddress || ''),\n\t\t[replyToEnabledValue, replyToAddress]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{title}</Text>\n\t\t\t\t</Padding>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row\n\t\t\t\t\twidth={isExternalAccount ? '100%' : '50%'}\n\t\t\t\t\tpadding={{ right: isExternalAccount ? '' : 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={fromDisplayLabel}\n\t\t\t\t\t\tvalue={fromDisplayValue}\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChangeFromDisplayValue(ev)}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t{!isExternalAccount && (\n\t\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tlabel={fromAddressLabel}\n\t\t\t\t\t\t\tselection={fromAddress}\n\t\t\t\t\t\t\titems={fromAddressArray}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tonChange={(): unknown => onChangeFromAddress}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={replyToEnabledLabel}\n\t\t\t\t\tvalue={replyToEnabledValue}\n\t\t\t\t\tonClick={(): void => onClickReplyToEnabled()}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Row width=\"50%\" padding={{ right: 'small' }}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={replyToDisplayLabel}\n\t\t\t\t\t\tvalue={replyToDisplay}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t): void => onChangePrefReplyToDisplay(ev)}\n\t\t\t\t\t/>\n\t\t\t\t</Row>\n\t\t\t\t<Row width=\"50%\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\titems={replyToAddressArray}\n\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\tonClose={(): void => setDropdownOpen(false)}\n\t\t\t\t\t\tonOpen={(): void => setDropdownOpen(true)}\n\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel={replyToAddressLabel}\n\t\t\t\t\t\t\tvalue={replyToAddress}\n\t\t\t\t\t\t\tonChange={(\n\t\t\t\t\t\t\t\tev: MouseEvent & {\n\t\t\t\t\t\t\t\t\ttarget: HTMLButtonElement;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t): void => onChangeReplyToAddress(ev)}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\thasError={isValidEmail}\n\t\t\t\t\t\t\tCustomIcon={(): ReactElement => (\n\t\t\t\t\t\t\t\t<Icon icon={dropdownOpen ? 'ArrowUp' : 'ArrowDown'} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tdisabled={!replyToEnabledValue}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Dropdown>\n\t\t\t\t</Row>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default SettingsSentMessages;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\n\nconst Styler = styled(Container)`\n\t.rw-btn,\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tcolor: inherit;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t\tbackground-image: none;\n\t\tfont-family: inherit;\n\t\tfont-size: inherit;\n\t\tline-height: inherit;\n\t\t-ms-touch-action: manipulation;\n\t\ttouch-action: manipulation;\n\t}\n\t.rw-btn::-moz-focus-inner {\n\t\tpadding: 0;\n\t\tborder: 0;\n\t}\n\tselect.rw-input {\n\t\ttext-transform: none;\n\t}\n\thtml input[type='button'].rw-input {\n\t\t-webkit-appearance: button;\n\t\tcursor: pointer;\n\t}\n\ttextarea.rw-input {\n\t\toverflow: auto;\n\t\tresize: vertical;\n\t}\n\tbutton[disabled].rw-input,\n\tfieldset[disabled] .rw-input,\n\thtml input[disabled].rw-input {\n\t\tcursor: not-allowed;\n\t}\n\tbutton.rw-input::-moz-focus-inner,\n\tinput.rw-input::-moz-focus-inner {\n\t\tborder: 0;\n\t\tpadding: 0;\n\t}\n\tinput[type='checkbox'],\n\tinput[type='radio'] {\n\t\tbox-sizing: border-box;\n\t\tpadding: 0;\n\t}\n\t${\n\t\t/* @font-face {\n\tfont-family: \"RwWidgets\";\n\tfont-weight: normal;\n\tfont-style: normal;\n\t${/* src: url(\"../fonts/rw-widgets.eot?v=4.1.0\");\n\tsrc: url(\"../fonts/rw-widgets.eot?#iefix&v=4.1.0\") format(\"embedded-opentype\"),\n\turl(\"../fonts/rw-widgets.woff?v=4.1.0\") format(\"woff\"),\n\turl(\"../fonts/rw-widgets.ttf?v=4.1.0\") format(\"truetype\"),\n\t\turl(\"../fonts/rw-widgets.svg?v=4.1.0#fontawesomeregular\") format(\"svg\"); */ ''\n\t};\n\t.rw-i {\n\t\tdisplay: inline-block;\n\t\tcolor: inherit;\n\t\t${/* font-family: RwWidgets; */ ''};\n\t\tfont-style: normal;\n\t\tfont-weight: normal;\n\t\tfont-variant: normal;\n\t\ttext-transform: none;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\t-webkit-font-smoothing: antialiased;\n\t}\n\t.rw-i-caret-down:before {\n\t\tcontent: '\\e803';\n\t}\n\t.rw-i-caret-up:before {\n\t\tcontent: '\\e800';\n\t}\n\t.rw-i-chevron-left:before {\n\t\tcontent: '\\f104';\n\t}\n\t.rw-i-chevron-right:before {\n\t\tcontent: '\\f105';\n\t}\n\t.rw-i-clock-o:before {\n\t\tcontent: '\\e805';\n\t}\n\t.rw-i-calendar:before {\n\t\tcontent: '\\e804';\n\t}\n\t.rw-i-search:before {\n\t\tcontent: '\\e801';\n\t}\n\t.rw-btn {\n\t\tposition: relative;\n\t\tcolor: #333;\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tvertical-align: middle;\n\t\tborder: 1px solid transparent;\n\t\tcursor: pointer;\n\t\toutline: none;\n\t}\n\t.rw-state-readonly .rw-btn,\n\t.rw-state-disabled .rw-btn {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-btn-select {\n\t\topacity: 0.75;\n\t\ttransition: opacity 150ms ease-in;\n\t}\n\t.rw-btn-select:hover,\n\t.rw-state-focus .rw-btn-select,\n\t:hover > .rw-btn-select {\n\t\topacity: 1;\n\t}\n\t.rw-btn-primary {\n\t\twidth: 100%;\n\t\twhite-space: normal;\n\t\tline-height: 2em;\n\t}\n\t.rw-btn-primary:hover {\n\t\tbackground-color: #e6e6e6;\n\t}\n\t.rw-btn-select[disabled],\n\t.rw-btn-primary[disabled],\n\tfieldset[disabled] .rw-btn-select,\n\tfieldset[disabled] .rw-btn-primary {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 0.65;\n\t\tpointer-events: none;\n\t}\n\t.rw-sr {\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t\tclip: rect(0, 0, 0, 0);\n\t\tborder: 0;\n\t}\n\t.rw-widget {\n\t\tbackground-clip: border-box;\n\t\tborder: none;\n\t\toutline: none;\n\t\tposition: relative;\n\t\tborder-radius: 2px 2px 0 0;\n\t\twidth: 100%;\n\t}\n\t.rw-widget,\n\t.rw-widget * {\n\t\tbox-sizing: border-box;\n\t}\n\t.rw-widget:before,\n\t.rw-widget *:before,\n\t.rw-widget:after,\n\t.rw-widget *:after {\n\t\tbox-sizing: border-box;\n\t}\n\t.rw-widget > .rw-widget-container {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n\t.rw-widget-container {\n\t\tbackground-color: ${({ theme }) => theme.palette.gray5.regular};\n\t\tborder-bottom: ${({ theme }) => theme.palette.gray2.regular} 1px solid;\n\t}\n\t.rw-widget-container.rw-state-focus,\n\t.rw-state-focus > .rw-widget-container,\n\t.rw-widget-container.rw-state-focus:hover,\n\t.rw-state-focus > .rw-widget-container:hover {\n\t\tbackground-color: ${({ theme }) => theme.palette.gray5.focus};\n\t\tborder-bottom: ${({ theme }) => theme.palette.primary.regular} 1px solid;\n\t}\n\t.rw-widget-container.rw-state-readonly,\n\t.rw-state-readonly > .rw-widget-container {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-widget-container.rw-state-disabled,\n\t.rw-state-disabled > .rw-widget-container,\n\tfieldset[disabled] .rw-widget-container,\n\t.rw-widget-container.rw-state-disabled:hover,\n\t.rw-state-disabled > .rw-widget-container:hover,\n\tfieldset[disabled] .rw-widget-container:hover,\n\t.rw-widget-container.rw-state-disabled:active,\n\t.rw-state-disabled > .rw-widget-container:active,\n\tfieldset[disabled] .rw-widget-container:active {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\t.rw-datetime-picker {\n\t\theight: 42px;\n\t}\n\t.rw-widget-picker {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tborder-collapse: separate;\n\t\tdisplay: inline-table;\n\t\theight: 100%;\n\t}\n\t.rw-widget-picker > * {\n\t\tposition: relative;\n\t\tborder: none;\n\t\toutline: none;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: table-cell;\n\t}\n\t.rw-widget-picker > .rw-select {\n\t\twidth: ${({ allDay }) => (allDay ? '34px' : '68px')};\n\t\twhite-space: nowrap;\n\t}\n\t.rw-open > .rw-widget-picker {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t}\n\t.rw-open-up > .rw-widget-picker {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t}\n\tfieldset[disabled] .rw-widget-picker,\n\t.rw-state-disabled > .rw-widget-picker {\n\t\tbackground-color: #eee;\n\t}\n\t.rw-multiselect > .rw-widget-picker {\n\t\theight: auto;\n\t}\n\t.rw-select {\n\t\tcursor: pointer;\n\t}\n\t.rw-select > * {\n\t\twidth: 32px;\n\t\theight: 100%;\n\t}\n\t.rw-state-readonly .rw-select,\n\t.rw-state-disabled .rw-select {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-select-bordered {\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-left: #ccc 1px solid;\n\t}\n\t.rw-select-bordered:hover,\n\t.rw-select-bordered:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\t.rw-select-bordered:active {\n\t\tbox-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n\t}\n\t.rw-state-disabled .rw-select-bordered,\n\t.rw-state-readonly .rw-select-bordered,\n\tfieldset[disabled] .rw-select-bordered,\n\t.rw-state-disabled .rw-select-bordered:hover,\n\t.rw-state-readonly .rw-select-bordered:hover,\n\tfieldset[disabled] .rw-select-bordered:hover,\n\t.rw-state-disabled .rw-select-bordered:active,\n\t.rw-state-readonly .rw-select-bordered:active,\n\tfieldset[disabled] .rw-select-bordered:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\t.rw-rtl .rw-select-bordered {\n\t\tborder-right: #ccc 1px solid;\n\t\tborder-left: none;\n\t}\n\t.rw-rtl {\n\t\tdirection: rtl;\n\t}\n\t.rw-input-reset,\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\toutline: 0;\n\t}\n\t.rw-input-reset::-moz-placeholder {\n\t\tcolor: #999;\n\t\topacity: 1;\n\t}\n\t.rw-input-reset:-ms-input-placeholder {\n\t\tcolor: #999;\n\t}\n\t.rw-input-reset::-webkit-input-placeholder {\n\t\tcolor: #999;\n\t}\n\t.rw-input,\n\t.rw-dropdown-list-autofill,\n\t.rw-filter-input {\n\t\tpadding: 0 0.857em;\n\t}\n\t.rw-input[type='text']::-ms-clear {\n\t\tdisplay: none;\n\t}\n\t.rw-input[disabled],\n\tfieldset[disabled] .rw-input {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\topacity: 1;\n\t\tbackground-color: #eee;\n\t\tborder-color: #ccc;\n\t}\n\t.rw-input[readonly] {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-i.rw-loading {\n\t\tdisplay: block;\n\t\t${/* background: url(\"../img/loading.gif\") no-repeat center; */ ''};\n\t\tmin-width: 16px;\n\t\twidth: 1.9em;\n\t\theight: 16px;\n\t}\n\t.rw-i.rw-loading:before {\n\t\tcontent: '';\n\t}\n\t.rw-placeholder {\n\t\tcolor: #999;\n\t}\n\t.rw-detect-autofill:-webkit-autofill {\n\t\tanimation-name: react-widgets-autofill-start;\n\t\ttransition: background-color 50000s ease-in-out 0s;\n\t}\n\t.rw-detect-autofill:not(:-webkit-autofill) {\n\t\tanimation-name: react-widgets-autofill-cancel;\n\t}\n\t.rw-webkit-autofill .rw-widget-container,\n\t.rw-input:-webkit-autofill {\n\t\tbackground-color: #faffbd !important;\n\t\tbackground-image: none !important;\n\t\tcolor: #000 !important;\n\t}\n\t.rw-widget-input,\n\t.rw-filter-input {\n\t}\n\t.rw-widget-input.rw-state-focus {\n\t\tbox-shadow: 0 0 8px rgba(102, 175, 233, 0.6), inset 0 1px 1px rgba(0, 0, 0, 0.075);\n\t}\n\t.rw-list {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tfont-size: 1em;\n\t\toutline: 0;\n\t\toverflow: auto;\n\t\tmax-height: 200px;\n\t}\n\t.rw-list-option {\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t\tcolor: #333;\n\t\tcursor: pointer;\n\t\tborder: 1px solid transparent;\n\t}\n\t.rw-list-option.rw-state-focus,\n\t.rw-list-option.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\t.rw-list-option:hover,\n\t.rw-list-option:hover.rw-state-focus {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\t.rw-list-option.rw-state-selected,\n\t.rw-list-option.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\tfieldset[disabled] .rw-list-option,\n\t.rw-list-option.rw-state-disabled,\n\t.rw-list-option.rw-state-readonly {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\tfieldset[disabled] .rw-list-option:hover,\n\t.rw-list-option.rw-state-disabled:hover,\n\t.rw-list-option.rw-state-readonly:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\t.rw-list-empty,\n\t.rw-list-option,\n\t.rw-list-optgroup {\n\t\tpadding: 0.143em 0.75em;\n\t\toutline: 0;\n\t}\n\t.rw-list-optgroup {\n\t\tfont-weight: bold;\n\t\tpadding-top: 7px;\n\t}\n\t.rw-list-option-create {\n\t\tborder-top: 1px #ccc solid;\n\t}\n\t.rw-dropdown-list-autofill {\n\t\tpadding: 0;\n\t}\n\t.rw-dropdown-list-input {\n\t\tbackground-color: transparent;\n\t\tvertical-align: middle;\n\t\tpadding-right: 0;\n\t\tmax-width: 1px;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t}\n\t.rw-rtl .rw-dropdown-list-input {\n\t\tpadding-right: 0.857em;\n\t\tpadding-left: 0;\n\t}\n\t.rw-filter-input {\n\t\tposition: relative;\n\t\tmargin: 4px;\n\t\tpadding-right: 0;\n\t}\n\t.rw-filter-input .rw-rtl {\n\t\tpadding-right: 0.857em;\n\t\tpadding-left: 0;\n\t}\n\t.rw-filter-input .rw-select,\n\t.rw-filter-input .rw-btn {\n\t\topacity: 0.75;\n\t\tcursor: text;\n\t}\n\t.rw-filter-input > .rw-select,\n\t.rw-filter-input > .rw-select:active,\n\t.rw-filter-input > .rw-select:hover {\n\t\tbackground: none;\n\t\tcursor: initial;\n\t\tbox-shadow: none;\n\t}\n\n\t.rw-number-picker .rw-btn {\n\t\tcursor: pointer;\n\t\theight: calc(1.2145em - 1px);\n\t\t${\n\t\t\t/*\n\t\t margin-top: -1px\\9;\n\theight: 1.2145em\\9;\n*/ 'border: 2px solid red;'\n\t\t};\n\t\tline-height: 1.2145em;\n\t\tline-height: calc(1.2145em - 1px);\n\t\tdisplay: block;\n\t\tborder: none;\n\t}\n\n\t.rw-number-picker .rw-btn:hover,\n\t.rw-number-picker .rw-btn:active {\n\t\tbackground-color: #e6e6e6;\n\t}\n\t.rw-number-picker .rw-btn:active {\n\t\tbox-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n\t}\n\t.rw-state-disabled .rw-number-picker .rw-btn,\n\t.rw-state-readonly .rw-number-picker .rw-btn,\n\tfieldset[disabled] .rw-number-picker .rw-btn,\n\t.rw-state-disabled .rw-number-picker .rw-btn:hover,\n\t.rw-state-readonly .rw-number-picker .rw-btn:hover,\n\tfieldset[disabled] .rw-number-picker .rw-btn:hover,\n\t.rw-state-disabled .rw-number-picker .rw-btn:active,\n\t.rw-state-readonly .rw-number-picker .rw-btn:active,\n\tfieldset[disabled] .rw-number-picker .rw-btn:active {\n\t\tcursor: not-allowed;\n\t\tbackground-color: inherit;\n\t\tbackground-image: none;\n\t\tbox-shadow: none;\n\t}\n\t.rw-number-picker .rw-select {\n\t\tvertical-align: middle;\n\t}\n\t.rw-number-picker .rw-select,\n\t.rw-number-picker .rw-select:hover,\n\t.rw-number-picker .rw-select:active {\n\t\tbox-shadow: none;\n\t}\n\t.rw-calendar-popup {\n\t\tright: auto;\n\t\tmin-width: 0;\n\t\twidth: 18em;\n\t}\n\t.rw-calendar {\n\t\tborder-radius: 4px;\n\t\tbackground-color: #fff;\n\t\tborder: #ccc 1px solid;\n\t\toverflow: hidden;\n\t}\n\t.rw-calendar.rw-popup {\n\t\tborder-color: #ccc;\n\t}\n\t.rw-calendar-now {\n\t\tfont-weight: bold;\n\t}\n\t.rw-calendar-btn-left,\n\t.rw-calendar-btn-right {\n\t\twidth: 12.5%;\n\t}\n\t.rw-calendar-btn-view {\n\t\twidth: 75%;\n\t}\n\t.rw-calendar-footer {\n\t\tborder-top: 1px solid #ccc;\n\t}\n\t.rw-calendar-grid {\n\t\toutline: none;\n\t\theight: 14.28571429em;\n\t\ttable-layout: fixed;\n\t\tborder-collapse: separate;\n\t\tborder-spacing: 0;\n\t\twidth: 100%;\n\t\tbackground-color: #fff;\n\t}\n\t.rw-head-cell {\n\t\ttext-align: center;\n\t\tborder-bottom: 1px solid #ccc;\n\t\tpadding: 0.25em;\n\t}\n\t.rw-cell {\n\t\tcolor: #333;\n\t\tborder-radius: 4px;\n\t\tcursor: pointer;\n\t\tline-height: normal;\n\t\ttext-align: center;\n\t\tborder: 1px solid transparent;\n\t\tpadding: 0.25em;\n\t}\n\t.rw-cell:hover {\n\t\tbackground-color: #e6e6e6;\n\t\tborder-color: #e6e6e6;\n\t\tcolor: #333;\n\t}\n\t.rw-cell.rw-state-focus,\n\t.rw-cell.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\t.rw-cell.rw-state-selected,\n\t.rw-cell.rw-state-selected:hover {\n\t\tbackground-color: #337ab7;\n\t\tborder-color: #337ab7;\n\t\tcolor: white;\n\t}\n\t.rw-cell.rw-state-disabled {\n\t\tcolor: #999;\n\t\topacity: 0.7;\n\t}\n\t.rw-cell.rw-state-disabled:hover {\n\t\tbackground: none;\n\t\tborder-color: transparent;\n\t}\n\t.rw-calendar-month .rw-cell {\n\t\ttext-align: center;\n\t}\n\t.rw-cell-off-range {\n\t\tcolor: #999;\n\t}\n\t.rw-calendar-transition-group {\n\t\tposition: relative;\n\t}\n\t.rw-calendar-transition {\n\t\ttransition: transform 300ms;\n\t\toverflow: hidden;\n\t}\n\t.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\t.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\t.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\t.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\t.rw-calendar-transition-entering.rw-calendar-transition-top,\n\t.rw-calendar-transition-entered.rw-calendar-transition-top,\n\t.rw-calendar-transition-entering.rw-calendar-transition-bottom,\n\t.rw-calendar-transition-entered.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t}\n\t.rw-calendar-transition-entering.rw-calendar-transition-right,\n\t.rw-calendar-transition-entered.rw-calendar-transition-right,\n\t.rw-calendar-transition-entering.rw-calendar-transition-left,\n\t.rw-calendar-transition-entered.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(0);\n\t\ttransform: translateX(0);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-top {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-bottom {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-right {\n\t\t-ms-transform: translateX(100%);\n\t\ttransform: translateX(100%);\n\t}\n\t.rw-calendar-transition-exiting.rw-calendar-transition-left {\n\t\t-ms-transform: translateX(-100%);\n\t\ttransform: translateX(-100%);\n\t}\n\t.rw-select-list {\n\t\toverflow: auto;\n\t\tposition: relative;\n\t}\n\t.rw-select-list .rw-list {\n\t\tmax-height: none;\n\t\tfont-size: 1em;\n\t}\n\t.rw-select-list-label {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tfont-weight: normal;\n\t\tcursor: inherit;\n\t\tpadding-left: 20px;\n\t\tmargin: 0;\n\t}\n\t.rw-rtl .rw-select-list-label {\n\t\tpadding-left: 0;\n\t\tpadding-right: 20px;\n\t}\n\tinput.rw-select-list-input {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 50%;\n\t\t-ms-transform: translateY(-50%);\n\t\ttransform: translateY(-50%);\n\t\t${/* top: 0.1em\\9; */ ''};\n\t\tmargin: 0;\n\t\tline-height: normal;\n\t\tcursor: inherit;\n\t}\n\t.rw-rtl input.rw-select-list-input {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\t.rw-loading-mask {\n\t\tcontent: '';\n\t\t${/* background: url(\"../img/loader-big.gif\") no-repeat center; */ ''};\n\t\tposition: absolute;\n\t\tbackground-color: #fff;\n\t\tborder-radius: 4px;\n\t\topacity: 0.7;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.rw-multiselect {\n\t\tcursor: text;\n\t}\n\t.rw-multiselect .rw-input-reset {\n\t\theight: calc(2.429em - 2px);\n\t\t${\n\t\t\t/* margin-top: -2px\\9;\n\theight: 2.429em\\9; */ ''\n\t\t};\n\t\tborder-width: 0;\n\t\twidth: auto;\n\t\tmax-width: 100%;\n\t\tpadding: 0 0.857em;\n\t}\n\t.rw-multiselect .rw-select {\n\t\tvertical-align: middle;\n\t}\n\t.rw-multiselect .rw-select,\n\t.rw-multiselect .rw-select:hover,\n\t.rw-multiselect .rw-select:active {\n\t\tbox-shadow: none;\n\t\tbackground: none;\n\t}\n\t.rw-multiselect-taglist {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\tdisplay: inline-block;\n\t\tvertical-align: 0;\n\t\toutline: none;\n\t}\n\t.rw-multiselect-tag {\n\t\tdisplay: inline-table;\n\t\tcolor: inherit;\n\t\tpadding: 0 0.35em 0 0.35em;\n\t\tmargin-left: calc(0.279335em - 1px);\n\t\tmargin-top: 0.279335em;\n\t\tmargin-top: calc(0.279335em - 1px);\n\t\theight: 1.87033em;\n\t\tborder-radius: 3px;\n\t\tbackground-color: #eee;\n\t\tborder: 1px solid #ccc;\n\t\tcursor: default;\n\t\tvertical-align: top;\n\t\ttext-align: center;\n\t\toverflow: hidden;\n\t\tmax-width: 100%;\n\t}\n\t.rw-multiselect-tag > * {\n\t\tdisplay: table-cell;\n\t\tvertical-align: middle;\n\t\theight: 100%;\n\t}\n\t.rw-rtl .rw-multiselect-tag {\n\t\tmargin-left: 0;\n\t\tmargin-right: calc(0.279335em - 1px);\n\t\tpadding: 0 0.35em 0 0.35em;\n\t}\n\t.rw-multiselect-tag.rw-state-focus,\n\t.rw-multiselect-tag.rw-state-focus:hover {\n\t\tbackground-color: transparent;\n\t\tborder-color: #66afe9;\n\t\tcolor: #333;\n\t}\n\t.rw-multiselect-tag.rw-state-readonly,\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-readonly .rw-multiselect-tag,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tcursor: not-allowed;\n\t}\n\t.rw-multiselect-tag.rw-state-disabled,\n\t.rw-state-disabled .rw-multiselect-tag,\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\topacity: 0.65;\n\t}\n\tfieldset[disabled] .rw-multiselect-tag {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\t.rw-multiselect-tag-btn {\n\t\tcolor: inherit;\n\t\tmargin-left: 0.25em;\n\t}\n\t.rw-rtl .rw-multiselect-tag-btn {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0.25em;\n\t}\n\t.rw-autocomplete .rw-select {\n\t\tposition: absolute;\n\t\tdisplay: block;\n\t\twidth: auto;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\t.rw-popup-container {\n\t\tposition: absolute;\n\t\tz-index: 1005;\n\t\ttop: 100%;\n\t\tleft: -6px;\n\t\tright: -6px;\n\t}\n\t.rw-popup-container.rw-dropup {\n\t\ttop: auto;\n\t\tbottom: 100%;\n\t}\n\t.rw-state-focus .rw-popup-container {\n\t\tz-index: 1006;\n\t}\n\t.rw-popup-transition {\n\t\twidth: 100%;\n\t\tmargin-bottom: 6px;\n\t\tpadding: 0 6px;\n\t}\n\t.rw-dropup > .rw-popup-transition {\n\t\tmargin-bottom: 0;\n\t\tmargin-top: 6px;\n\t}\n\t.rw-popup {\n\t\tborder-top-right-radius: 0;\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-right-radius: 3px;\n\t\tborder-bottom-left-radius: 3px;\n\t\tbox-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);\n\t\tborder: #ccc 1px solid;\n\t\tbackground: #fff;\n\t}\n\t.rw-dropup .rw-popup {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-top-right-radius: 3px;\n\t\tborder-top-left-radius: 3px;\n\t\tbox-shadow: 0 -2px 6px rgba(0, 0, 0, 0.2);\n\t}\n\t.rw-popup-transition {\n\t\ttransition: transform 200ms;\n\t}\n\t.rw-popup-transition-entering {\n\t\toverflow: hidden;\n\t}\n\t.rw-popup-transition-entering .rw-popup-transition {\n\t\t-ms-transform: translateY(0);\n\t\ttransform: translateY(0);\n\t\ttransition-timing-function: ease-out;\n\t}\n\t.rw-popup-transition-exiting .rw-popup-transition {\n\t\ttransition-timing-function: ease-in;\n\t}\n\t.rw-popup-transition-exiting,\n\t.rw-popup-transition-exited {\n\t\toverflow: hidden;\n\t}\n\t.rw-popup-transition-exiting .rw-popup-transition,\n\t.rw-popup-transition-exited .rw-popup-transition {\n\t\t-ms-transform: translateY(-100%);\n\t\ttransform: translateY(-100%);\n\t}\n\t.rw-popup-transition-exiting.rw-dropup .rw-popup-transition,\n\t.rw-popup-transition-exited.rw-dropup .rw-popup-transition {\n\t\t-ms-transform: translateY(100%);\n\t\ttransform: translateY(100%);\n\t}\n\t.rw-popup-transition-exited {\n\t\tdisplay: none;\n\t}\n\t.rw-state-disabled {\n\t\tbox-shadow: none;\n\t\tcursor: not-allowed;\n\t}\n\n\tcolor: ${({ theme }) => theme.palette.text.regular};\n\tfont-family: ${({ theme }) => theme.fonts.default};\n\tfont-size: ${({ theme }) => theme.sizes.font.medium};\n\tfont-weight: ${({ theme }) => theme.fonts.weight.regular};\n`;\n\nexport default Styler;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, FC, useEffect } from 'react';\nimport { Container, Checkbox, Text, Icon, Padding } from '@zextras/carbonio-design-system';\n\nimport moment from 'moment';\nimport DateTimePicker from 'react-widgets/lib/DateTimePicker';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { AccountSettings } from '../../../types';\nimport Heading from './settings-heading';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport Styler from './date-picker-style';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { changeDateEvent, getDateEvent, startOfDate, endOfDate } from './utils';\n\nmomentLocalizer();\n\nconst DateTimeSelect: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n\tsendAutoReply: boolean;\n}> = ({ settings, addMod, sendAutoReply }) => {\n\tconst { t } = useTranslation();\n\tconst [dateDisabled, setDateDisabled] = useState<boolean>(false);\n\tconst [sendAutoReplyTimePeriod, setSendAutoReplyTimePeriod] = useState<boolean>(\n\t\t!!(\n\t\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate && settings.prefs.zimbraPrefOutOfOfficeUntilDate\n\t\t)\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeFromDate, setZimbraPrefOutOfOfficeFromDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate as string\n\t);\n\n\tconst [dateZimbraPrefOutOfOfficeUntilDate, setZimbraPrefOutOfOfficeUntilDate] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeUntilDate as string\n\t);\n\tconst [allDay, setAllDay] = useState<boolean>(false);\n\tconst [allDayDisabled, setAllDayDisabled] = useState<boolean>(false);\n\tconst [timeDisabled, setTimeDisabled] = useState<boolean>(false);\n\tconst updatePrefs = useCallback(\n\t\t(v, p) => {\n\t\t\taddMod('prefs', p, v);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tif (sendAutoReplyTimePeriod) {\n\t\t\t\tsetTimeDisabled(false);\n\t\t\t\tsetAllDayDisabled(false);\n\t\t\t\tsetDateDisabled(false);\n\t\t\t} else {\n\t\t\t\tsetAllDayDisabled(true);\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t\tsetDateDisabled(true);\n\t\t\t}\n\t\t\tif (allDay) {\n\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(startOfDate(dateZimbraPrefOutOfOfficeFromDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tstartOfDate(dateZimbraPrefOutOfOfficeFromDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t);\n\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(endOfDate(dateZimbraPrefOutOfOfficeUntilDate));\n\t\t\t\tupdatePrefs(\n\t\t\t\t\tendOfDate(dateZimbraPrefOutOfOfficeUntilDate),\n\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t);\n\n\t\t\t\tsetTimeDisabled(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDateDisabled(true);\n\t\t\tsetTimeDisabled(true);\n\t\t\tsetAllDay(false);\n\t\t\tsetAllDayDisabled(true);\n\t\t}\n\t}, [\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tdateZimbraPrefOutOfOfficeFromDate,\n\t\tdateZimbraPrefOutOfOfficeUntilDate,\n\t\tallDay,\n\t\tsendAutoReply,\n\t\tsendAutoReplyTimePeriod\n\t]);\n\tconst toggleSendAutoReplyTimePeriod = (): void => {\n\t\tsetSendAutoReplyTimePeriod(!sendAutoReplyTimePeriod);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Heading title={t('settings.out_of_office.headings.time_period', 'Time Period')} />\n\t\t\t<Checkbox\n\t\t\t\tlabel={t(\n\t\t\t\t\t'settings.out_of_office.labels.send_auto_reply_period',\n\t\t\t\t\t'Send auto-replies during the following period:'\n\t\t\t\t)}\n\t\t\t\tvalue={sendAutoReplyTimePeriod}\n\t\t\t\tonClick={toggleSendAutoReplyTimePeriod}\n\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t/>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_date', 'Start Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_date', 'End Date')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={dateDisabled}\n\t\t\t\t\t\tinputProps={{ readOnly: true }}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime={false}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\n\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tdisabled={allDayDisabled}\n\t\t\t\t\tlabel={t('settings.out_of_office.labels.all_day', 'All Day:')}\n\t\t\t\t\tvalue={allDay}\n\t\t\t\t\tonClick={(): void => {\n\t\t\t\t\t\tsetAllDay(!allDay);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Styler orientation=\"horizontal\" allDay height=\"fit\" mainAlignment=\"space-between\">\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.start_time', 'Start Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeFromDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeFromDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeFromDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeUntilDate), 'minutes') >= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).add(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeUntilDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdateIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"CalendarOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container\n\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\tstyle={{ maxWidth: '50%' }}\n\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t>\n\t\t\t\t\t<Padding bottom=\"extrasmall\">\n\t\t\t\t\t\t<Text size=\"small\">{t('settings.out_of_office.labels.end_time', 'End Time:')}</Text>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\tdisabled={timeDisabled}\n\t\t\t\t\t\tdate={false}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tdateZimbraPrefOutOfOfficeUntilDate\n\t\t\t\t\t\t\t\t? getDateEvent(dateZimbraPrefOutOfOfficeUntilDate)\n\t\t\t\t\t\t\t\t: new Date()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttime\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeUntilDate(changeDateEvent(value));\n\t\t\t\t\t\t\tupdatePrefs(changeDateEvent(value), 'zimbraPrefOutOfOfficeUntilDate');\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmoment(value).diff(getDateEvent(dateZimbraPrefOutOfOfficeFromDate), 'minutes') <= 0\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetZimbraPrefOutOfOfficeFromDate(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf()))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tupdatePrefs(\n\t\t\t\t\t\t\t\t\tchangeDateEvent(new Date(moment(value).subtract(1, 'd').valueOf())),\n\t\t\t\t\t\t\t\t\t'zimbraPrefOutOfOfficeFromDate'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttimeIcon={\n\t\t\t\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t\t\t\t<Icon icon=\"ClockOutline\" />\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Styler>\n\t\t</>\n\t);\n};\n\nexport default DateTimeSelect;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo, useContext, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { FormSubSection, Select } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport { ThemeCallbacksContext } from '../../../boot/theme-provider';\nimport { AccountSettings, DRPropValues } from '../../../../types';\nimport { DR_VALUES, SHELL_APP_ID } from '../../../constants';\nimport { themeSubSection } from '../../general-settings-sub-sections';\n\nconst AppearanceSettings: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod }) => {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst currentDRMSetting = useMemo(\n\t\t() =>\n\t\t\tfind(settings.props, { name: 'zappDarkreaderMode', zimlet: SHELL_APP_ID })\n\t\t\t\t?._content as DRPropValues,\n\t\t[settings]\n\t);\n\tconst [t] = useTranslation();\n\tconst items = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_auto', 'Auto'),\n\t\t\t\tvalue: 'auto'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_enabled', 'Enabled'),\n\t\t\t\tvalue: 'enabled'\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: t('settings.general.theme_disabled', 'Disabled'),\n\t\t\t\tvalue: 'disabled'\n\t\t\t}\n\t\t],\n\t\t[t]\n\t);\n\tconst defaultSelection = useMemo(\n\t\t() => find(items, { value: currentDRMSetting }),\n\t\t[currentDRMSetting, items]\n\t);\n\tconst onSelectionChange = useCallback(\n\t\t(v) => {\n\t\t\tif (DR_VALUES.includes(v) && v !== currentDRMSetting) {\n\t\t\t\tsetDarkReaderState(v);\n\t\t\t\taddMod('props', 'zappDarkreaderMode', { app: SHELL_APP_ID, value: v });\n\t\t\t}\n\t\t},\n\t\t[addMod, currentDRMSetting, setDarkReaderState]\n\t);\n\tconst subSection = useMemo(() => themeSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={subSection.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={subSection.id}\n\t\t>\n\t\t\t<Select\n\t\t\t\titems={items}\n\t\t\t\tselection={defaultSelection}\n\t\t\t\tlabel={t('settings.general.dark_mode', 'Dark Mode')}\n\t\t\t\tonChange={onSelectionChange}\n\t\t\t/>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default AppearanceSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { FormSubSection, Button } from '@zextras/carbonio-design-system';\nimport { logout } from '../../../network/logout';\nimport { accountSubSection } from '../../general-settings-sub-sections';\n\nconst Logout: FC = () => {\n\tconst [t] = useTranslation();\n\tconst onClick = useCallback(() => {\n\t\tlogout();\n\t}, []);\n\tconst sectionTitle = useMemo(() => accountSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Button label={t('settings.general.account_logout', 'Logout')} onClick={onClick} />\n\t\t</FormSubSection>\n\t);\n};\n\nexport default Logout;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport React, { FC, useContext, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tFormSubSection,\n\tContainer,\n\tText,\n\tBadge,\n\tDivider,\n\tTooltip,\n\tThemeContext\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport { useAppList } from '../../../store/app/hooks';\n\nimport { SEARCH_APP_ID, SETTINGS_APP_ID } from '../../../constants/index';\nimport { CarbonioModule } from '../../../../types';\nimport { versionsSubSection } from '../../general-settings-sub-sections';\n\nconst ModuleVersionSettings: FC = () => {\n\tconst apps = useAppList();\n\tconst [t] = useTranslation();\n\tconst theme = useContext(ThemeContext);\n\n\tconst copyToClipboard: any = (e: any) => {\n\t\te.preventDefault();\n\t\tnavigator.clipboard.writeText(e.target.innerText);\n\t};\n\n\tconst filteredList = useMemo(\n\t\t() => apps.filter((app) => app.name !== SEARCH_APP_ID && app.name !== SETTINGS_APP_ID),\n\t\t[apps]\n\t);\n\tconst sectionTitle = useMemo(() => versionsSubSection(t), [t]);\n\treturn (\n\t\t<>\n\t\t\t<FormSubSection\n\t\t\t\tlabel={sectionTitle.label}\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"50%\"\n\t\t\t\tid={sectionTitle.id}\n\t\t\t>\n\t\t\t\t{map(filteredList, (app: CarbonioModule) => (\n\t\t\t\t\t<Container key={app.name} padding={{ horizontal: 'large', vertical: 'small' }}>\n\t\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{app.display} ({app.name})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Tooltip placement=\"top\" label={t('label.click_to_copy', 'Click to copy')}>\n\t\t\t\t\t\t\t\t<Text style={{ cursor: 'pointer' }} onClick={(e: any): any => copyToClipboard(e)}>\n\t\t\t\t\t\t\t\t\tVersion: {app.version}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\t\t\tpadding={{ top: 'extrasmall', bottom: 'medium' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text color=\"secondary\">{app.description}</Text>\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tvalue=\"Active\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.success.regular,\n\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\tcolor: theme.palette.gray6.regular\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t></Badge>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t<Divider color=\"gray2\" />\n\t\t\t\t\t</Container>\n\t\t\t\t))}\n\t\t\t</FormSubSection>\n\t\t</>\n\t);\n};\n\nexport default ModuleVersionSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, FC, useEffect, useMemo } from 'react';\nimport {\n\tContainer,\n\tFormSubSection,\n\tCheckbox,\n\tSelect,\n\tPadding\n} from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { find } from 'lodash';\nimport { AccountSettings } from '../../../../types';\nimport Heading from '../settings-heading';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport DateTimeSelect from '../date-time-select-view';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport {\n\tItemsExternalSenders,\n\tgetExternalSendersPrefsData,\n\tItemsOutOfOfficeStatus,\n\tgetOutOfOfficeStatusPrefsData,\n\tItemsSendAutoReplies\n} from '../utils';\nimport { outOfOfficeSubSection } from '../../general-settings-sub-sections';\n\nconst TextArea = styled.textarea`\n\tbox-sizing: border-box;\n\tpadding: 10px;\n\tmin-height: 150px;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tflex-grow: 1;\n\twidth: 100%;\n\tborder: none;\n\tresize: vertical;\n\t& :focus,\n\t:active {\n\t\tbox-shadow: none;\n\t\tborder: none;\n\t\toutline: none;\n\t}\n`;\n\nmomentLocalizer();\n\nconst OutOfOfficeView: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod }) => {\n\tconst { t } = useTranslation();\n\tconst [sendAutoReply, setSendAutoReply] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReplyEnabled === 'TRUE'\n\t);\n\tconst [inputZimbraPrefOutOfOfficeReply, setInputZimbraPrefOutOfOfficeReply] = useState<string>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeReply as string\n\t);\n\n\tconst [inputZimbraPrefOutOfOfficeExternalReply, setInputZimbraPrefOutOfOfficeExternalReply] =\n\t\tuseState<string>(settings.prefs.zimbraPrefOutOfOfficeExternalReply as string);\n\n\tconst [createAppointmentDisabled, setCreateAppointmentDisabled] = useState<boolean>(false);\n\tconst [externalReplyInput, setExternalReplyInput] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t);\n\n\tconst [createAppointment, setCreateAppointment] = useState<boolean>(true);\n\n\tconst updatePrefs = useCallback(\n\t\t(v, p) => {\n\t\t\taddMod('prefs', p, v);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tif (sendAutoReply) {\n\t\t\tsetCreateAppointmentDisabled(false);\n\t\t} else {\n\t\t\tsetCreateAppointmentDisabled(true);\n\t\t}\n\t}, [\n\t\tsendAutoReply,\n\t\tsettings.prefs.zimbraPrefOutOfOfficeFromDate,\n\t\tupdatePrefs,\n\t\tsetCreateAppointment,\n\t\tsetCreateAppointmentDisabled\n\t]);\n\n\tconst externalSendersHandler = (v: any): void => {\n\t\tsetExternalReplyInput(false);\n\n\t\tif (v === 'SEND_AUTO_REPLY') {\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefExternalSendersType');\n\t\t} else if (v === 'SEND_NOT_IN_ORG') {\n\t\t\tupdatePrefs('ALLNOTINAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else if (v === 'SHOW_EXTERNAL_INPUT') {\n\t\t\tupdatePrefs('ALL', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t\tupdatePrefs('INSD', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tsetExternalReplyInput(true);\n\t\t} else {\n\t\t\tupdatePrefs('TRUE', 'zimbraPrefOutOfOfficeSuppressExternalReply');\n\t\t\tupdatePrefs('INAB', 'zimbraPrefExternalSendersType');\n\t\t\tupdatePrefs('FALSE', 'zimbraPrefOutOfOfficeExternalReplyEnabled');\n\t\t}\n\t};\n\n\tconst createAppointmentAsHandler = (v: any): void => {\n\t\tupdatePrefs(v, 'zimbraPrefOutOfOfficeFreeBusyStatus');\n\t};\n\n\tconst itemsSendAutoReplies = useMemo(() => ItemsSendAutoReplies(t), [t]);\n\tconst itemsExternalSenders = useMemo(() => ItemsExternalSenders(t), [t]);\n\tconst itemsOutOfOfficeStatus = useMemo(() => ItemsOutOfOfficeStatus(t), [t]);\n\tconst sectionTitle = useMemo(() => outOfOfficeSubSection(t), [t]);\n\tconst defaultSendAutoreply = useMemo(\n\t\t() => getExternalSendersPrefsData(settings, 'label', t),\n\t\t[settings, t]\n\t);\n\tconst defaultOutOfOfficeStatus = useMemo(\n\t\t() => getOutOfOfficeStatusPrefsData(settings, t),\n\t\t[settings, t]\n\t);\n\tconst selectedItemSendAutoReplies = useMemo(\n\t\t() => find(itemsSendAutoReplies, (item) => item && (item.value === 'TRUE') === sendAutoReply),\n\t\t[sendAutoReply, itemsSendAutoReplies]\n\t);\n\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Select\n\t\t\t\t\titems={itemsSendAutoReplies}\n\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\tlabel={t('label.out_of_office', 'Out of Office')}\n\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\tif (value && (value === 'TRUE') !== sendAutoReply) {\n\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefOutOfOfficeReplyEnabled');\n\t\t\t\t\t\t\tsetSendAutoReply(value === 'TRUE');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selectedItemSendAutoReplies}\n\t\t\t\t/>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<TextArea\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message',\n\t\t\t\t\t\t\t'Auto-Reply Message:'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(ev.target.value);\n\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\titems={itemsExternalSenders}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\tif (value && value !== defaultSendAutoreply?.value) externalSendersHandler(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tselection={defaultSendAutoreply}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t{externalReplyInput && (\n\t\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t\t<TextArea\n\t\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeExternalReply || ''}\n\t\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(ev): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(ev.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(ev.target.value, 'zimbraPrefOutOfOfficeExternalReply');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<DateTimeSelect settings={settings} addMod={addMod} sendAutoReply={sendAutoReply} />\n\t\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttitle={t('settings.out_of_office.headings.create_appointment', 'Calendar Appointment')}\n\t\t\t\t\t/>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.create_appointment', 'Create Appointment:')}\n\t\t\t\t\t\tvalue={createAppointment}\n\t\t\t\t\t\tonClick={(value: any): void => {\n\t\t\t\t\t\t\tsetCreateAppointment(!createAppointment);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t\t<Padding top=\"small\" width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\t\titems={itemsOutOfOfficeStatus}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.out_of_office_status',\n\t\t\t\t\t\t\t\t'Out Of Office Status:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\t\tif (value && value !== defaultOutOfOfficeStatus?.value)\n\t\t\t\t\t\t\t\t\tcreateAppointmentAsHandler(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tselection={defaultOutOfOfficeStatus}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default OutOfOfficeView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Quota, Container, FormSubSection, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useUserSettings } from '../../../store/account/hooks';\nimport { useAccountStore } from '../../../store/account/store';\nimport { quotaSubSection } from '../../general-settings-sub-sections';\n\ninterface UserQuotaProps {\n\tmobileView: boolean;\n}\n\nconst UserQuota: FC<UserQuotaProps> = ({ mobileView }) => {\n\tconst [t] = useTranslation();\n\n\tconst settings = useUserSettings();\n\tconst used = useAccountStore((s) => s.usedQuota);\n\tconst quota = useMemo(() => {\n\t\tconst userQuota = Number(settings?.attrs?.zimbraMailQuota);\n\t\tif (used && userQuota && userQuota > 0) {\n\t\t\treturn Math.round((used / userQuota) * 100);\n\t\t}\n\t\treturn -1;\n\t}, [settings?.attrs?.zimbraMailQuota, used]);\n\n\tconst description = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase !quota || quota < 0:\n\t\t\t\treturn t('user_quota.unlimited', 'You have unlimited space available');\n\t\t\tcase quota === 100:\n\t\t\t\treturn t('user_quota.space_full', 'It seems that all available space is full');\n\t\t\tdefault:\n\t\t\t\treturn t('user_quota.limited', {\n\t\t\t\t\tdefaultValue: 'You have filled {{quota}}% of the available space',\n\t\t\t\t\tquota\n\t\t\t\t});\n\t\t}\n\t}, [quota, t]);\n\n\tconst fillBackground = useMemo(() => {\n\t\tswitch (true) {\n\t\t\tcase quota >= 95:\n\t\t\t\treturn 'error';\n\t\t\tcase quota >= 90:\n\t\t\t\treturn 'warning';\n\t\t\tcase quota === -1:\n\t\t\t\treturn 'gray4';\n\t\t\tdefault:\n\t\t\t\treturn 'primary';\n\t\t}\n\t}, [quota]);\n\tconst sectionTitle = useMemo(() => quotaSubSection(t), [t]);\n\treturn mobileView ? (\n\t\t<Container width=\"fit\" padding={{ right: 'medium' }}>\n\t\t\t<Tooltip label={description} placement=\"bottom\">\n\t\t\t\t<Quota fill={quota > 0 ? quota : 0} fillBackground={fillBackground} />\n\t\t\t</Tooltip>\n\t\t</Container>\n\t) : (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container width=\"fill\" padding={{ vertical: 'medium' }}>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\ttakeAvailableSpace\n\t\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\t>\n\t\t\t\t\t<Text orientation=\"left\">{description}</Text>\n\t\t\t\t</Container>\n\t\t\t\t<Quota fill={quota === -1 ? 100 : quota} fillBackground={fillBackground} />\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default UserQuota;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect } from 'react';\nimport {\n\tPadding,\n\tRow,\n\tText,\n\tContainer,\n\tButton,\n\tDivider,\n\tBreadcrumbs\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { SETTINGS_APP_ID } from '../../constants';\nimport { RouteLeavingGuard } from '../../ui-extras/nav-guard';\n\ntype SettingsHeaderProps = {\n\ttitle: string;\n\tonSave: () => void;\n\tonCancel: () => void;\n\tisDirty: boolean;\n};\n\nconst SettingsHeader: FC<SettingsHeaderProps> = ({ onSave, onCancel, isDirty, title }) => {\n\tconst [t] = useTranslation();\n\tconst history = useHistory();\n\tconst useparam = useParams();\n\tconst crumbs = [\n\t\t{\n\t\t\tid: 'settings',\n\t\t\tlabel: t('settings.app', 'Settings'),\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t},\n\t\t{\n\t\t\tid: 'general',\n\t\t\tlabel: title,\n\t\t\tclick: (): void => history.push(`/${SETTINGS_APP_ID}/`)\n\t\t}\n\t];\n\tconst search = history.location?.search;\n\tuseEffect(() => {\n\t\tif (search) {\n\t\t\tsetTimeout(\n\t\t\t\t() =>\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.querySelector(`#${history.location.search}`.replace('?section=', ''))\n\t\t\t\t\t\t?.scrollIntoView(),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t}, [history, history.location, history.location.search, search, useparam]);\n\treturn (\n\t\t<>\n\t\t\t<RouteLeavingGuard when={isDirty} onSave={onSave}>\n\t\t\t\t<Text>\n\t\t\t\t\t{t(\n\t\t\t\t\t\t'label.unsaved_changes_line1',\n\t\t\t\t\t\t'Are you sure you want to leave this page without saving?'\n\t\t\t\t\t)}\n\t\t\t\t</Text>\n\t\t\t\t<Text>{t('label.unsaved_changes_line2', 'All your unsaved changes will be lost')}</Text>\n\t\t\t</RouteLeavingGuard>\n\t\t\t<Container\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-around\"\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\theight=\"fit\"\n\t\t\t>\n\t\t\t\t<Row orientation=\"horizontal\" width=\"100%\">\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Breadcrumbs crumbs={crumbs} />\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Row\n\t\t\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t\t\t\twidth=\"50%\"\n\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\tcrossAlignment=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={t('label.discard_changes', 'DISCARD CHANGES')}\n\t\t\t\t\t\t\t\tonClick={onCancel}\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={t('label.save', 'Save')}\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t\tdisabled={!isDirty}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Row>\n\t\t\t\t</Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n};\n\nexport default SettingsHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Padding, Row, Text } from '@zextras/carbonio-design-system';\n\nconst Heading: FC<{ title: string }> = ({ title }) => (\n\t<>\n\t\t<Row padding={{ all: 'small' }} mainAlignment=\"baseline\" crossAlignment=\"baseline\" width=\"100%\">\n\t\t\t<Text size=\"large\" weight=\"bold\">\n\t\t\t\t{title}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Padding veritcal=\"small\" />\n\t</>\n);\n\nexport default Heading;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport moment from 'moment';\nimport { TFunction } from 'i18next';\nimport { AccountSettings } from '../../../types';\n\n// const [t] = useTranslation();\n\nexport const ItemsSendAutoReplies = (t: TFunction): any => [\n\t{\n\t\tlabel: t('settings.out_of_office.send_auto_replies', 'Send auto-replies'),\n\t\tvalue: 'TRUE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.do_not_send_auto_replies', 'Do not send auto-replies'),\n\t\tvalue: 'FALSE'\n\t}\n];\n\nexport const ItemsExternalSenders = (t: TFunction): any => [\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_standard_auto_reply',\n\t\t\t'Send standard auto-reply message'\n\t\t),\n\t\tvalue: 'SEND_AUTO_REPLY'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization'\n\t\t),\n\t\tvalue: 'SHOW_EXTERNAL_INPUT'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.send_custom_not_in_organisation',\n\t\t\t'Send custom message to those who are not in my organization or address book'\n\t\t),\n\t\tvalue: 'SEND_NOT_IN_ORG'\n\t},\n\t{\n\t\tlabel: t(\n\t\t\t'settings.out_of_office.external_senders.do_not_send_to_external',\n\t\t\t'Don’t send an auto-reply message to external sender'\n\t\t),\n\t\tvalue: 'SUPPRESS_EXTERNAL'\n\t}\n];\n\nexport const ItemsOutOfOfficeStatus = (t: TFunction): any => [\n\t{\n\t\tlabel: t('label.out_of_office', 'Out of Office'),\n\t\tvalue: 'OUTOFOFFICE'\n\t},\n\t{\n\t\tlabel: t('settings.out_of_office.status.busy', 'Busy'),\n\t\tvalue: 'BUSY'\n\t}\n];\n\nexport const getExternalSendersPrefsData = (\n\tsettings: AccountSettings,\n\tret: string,\n\tt: TFunction\n): { label: string; value: string } => {\n\tlet item;\n\tconst itemsExternalSenders = ItemsExternalSenders(t);\n\tif (\n\t\tsettings.prefs.zimbraPrefOutOfOfficeSuppressExternalReply === 'FALSE' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'FALSE'\n\t) {\n\t\titem = { ...itemsExternalSenders[0] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALL' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[1] };\n\t} else if (\n\t\tsettings.prefs.zimbraPrefExternalSendersType === 'ALLNOTINAB' &&\n\t\tsettings.prefs.zimbraPrefOutOfOfficeExternalReplyEnabled === 'TRUE'\n\t) {\n\t\titem = { ...itemsExternalSenders[2] };\n\t} else {\n\t\titem = { ...itemsExternalSenders[3] };\n\t}\n\n\treturn item;\n};\n\nexport const getOutOfOfficeStatusPrefsData = (\n\tsettings: AccountSettings,\n\tt: TFunction\n): { label: string; value: string } => {\n\tlet item;\n\tconst itemsOutOfOfficeStatus = ItemsOutOfOfficeStatus(t);\n\tif (settings.prefs.zimbraPrefOutOfOfficeFreeBusyStatus === 'BUSY') {\n\t\titem = { ...itemsOutOfOfficeStatus[1] };\n\t} else {\n\t\titem = { ...itemsOutOfOfficeStatus[0] };\n\t}\n\n\treturn item;\n};\n\nexport const changeDateEvent = (date: string | Date): string =>\n\tmoment(moment(date, 'YYYYMMDDHHmmss[Z]').utc()).format('YYYYMMDDHHmmss[Z]');\n\nexport const getDateEvent = (date: string): Date =>\n\tnew Date(moment.utc(date, 'YYYYMMDDHHmmss[Z]').local().valueOf());\n\nexport const startOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().startOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport const endOfDate = (date: string): string =>\n\tmoment.utc(date, 'YYYYMMDDHHmmss[Z]').local().endOf('day').utc().format('YYYYMMDDHHmmss[Z]');\n\nexport const localeList = (\n\tt: TFunction\n): Array<{ id: string; name: string; localName: string; value: string; label: string }> => [\n\t{\n\t\tid: 'zh_CN',\n\t\tname: '中文 (中国)',\n\t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n\t\tlabel: t('locale.label_chinese', {\n\t\t\tvalue: '中文 (中国)',\n\t\t\tdefaultValue: 'Chinese (China) - {{value}}'\n\t\t}),\n\t\tvalue: 'zh_CN'\n\t},\n\t{\n\t\tid: 'nl',\n\t\tname: 'Nederlands',\n\t\tlocalName: t('locale.dutch', 'Dutch'),\n\t\tlabel: t('locale.label_dutch', { value: 'Nederlands', defaultValue: 'Dutch - {{value}}' }),\n\t\tvalue: 'nl'\n\t},\n\t{\n\t\tid: 'en',\n\t\tname: 'English',\n\t\tlocalName: t('locale.English', 'English'),\n\t\tlabel: t('locale.label_english', { value: 'English', defaultValue: 'English - {{value}}' }),\n\t\tvalue: 'en'\n\t},\n\t{\n\t\tid: 'de',\n\t\tname: 'Deutsch',\n\t\tlocalName: t('locale.german', 'German'),\n\t\tlabel: t('locale.label_german', { value: 'Deutsch', defaultValue: 'German - {{value}}' }),\n\t\tvalue: 'de'\n\t},\n\t{\n\t\tid: 'hi',\n\t\tname: 'हिंदी',\n\t\tlocalName: t('locale.hindi', 'Hindi'),\n\t\tlabel: t('locale.label_hindi', { value: 'हिंदी', defaultValue: 'Hindi - {{value}}' }),\n\t\tvalue: 'hi'\n\t},\n\t{\n\t\tid: 'it',\n\t\tname: 'italiano',\n\t\tlocalName: t('locale.italian', 'Italian'),\n\t\tlabel: t('locale.label_italian', { value: 'italiano', defaultValue: 'Italian - {{value}}' }),\n\t\tvalue: 'it'\n\t},\n\t{\n\t\tid: 'ja',\n\t\tname: '日本語',\n\t\tlocalName: t('locale.japanese', 'Japanese'),\n\t\tlabel: t('locale.label_japanese', { value: '日本語', defaultValue: 'Japanese - {{value}}' }),\n\t\tvalue: 'ja'\n\t},\n\n\t{\n\t\tid: 'pt',\n\t\tname: 'português',\n\t\tlocalName: t('locale.portuguese', 'Portuguese'),\n\t\tlabel: t('locale.label_portuguese', {\n\t\t\tvalue: 'português',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt'\n\t},\n\t{\n\t\tid: 'pl',\n\t\tname: 'polski',\n\t\tlocalName: t('locale.polish', 'Polish'),\n\t\tlabel: 'Polish - polski',\n\t\tvalue: 'pl'\n\t},\n\t{\n\t\tid: 'pt_BR',\n\t\tname: 'português (Brasil)',\n\t\tlocalName: t('locale.portuguese_brazil', 'Portuguese (Brazil)'),\n\t\tlabel: t('locale.label_portuguese_brazil', {\n\t\t\tvalue: 'português (Brasil)',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt_BR'\n\t},\n\n\t{\n\t\tid: 'ro',\n\t\tname: 'română',\n\t\tlocalName: t('locale.romanian', 'Romanian'),\n\t\tlabel: t('locale.label_romanian', { value: 'română', defaultValue: 'Romanian - {{value}}' }),\n\t\tvalue: 'ro'\n\t},\n\t{\n\t\tid: 'ru',\n\t\tname: 'русский',\n\t\tlocalName: t('locale.russian', 'Russian'),\n\t\tlabel: t('locale.label_russian', { value: 'русский', defaultValue: 'Russian - {{value}}' }),\n\t\tvalue: 'ru'\n\t},\n\n\t{\n\t\tid: 'es',\n\t\tname: 'español',\n\t\tlocalName: t('locale.spanish', 'Spanish'),\n\t\tlabel: t('locale.label_spanish', { value: 'español', defaultValue: 'Spanish - {{value}}' }),\n\t\tvalue: 'es'\n\t},\n\n\t{\n\t\tid: 'th',\n\t\tname: 'ไทย',\n\t\tlocalName: t('locale.thai', 'Thai'),\n\t\tlabel: t('locale.label_thai', { value: 'ไทย', defaultValue: 'Thai - {{value}}' }),\n\t\tvalue: 'th'\n\t},\n\t{\n\t\tid: 'tr',\n\t\tname: 'Türkçe',\n\t\tlocalName: t('locale.turkish', 'Turkish'),\n\t\tlabel: t('locale.label_turkish', { value: 'Türkçe', defaultValue: 'Turkish - {{value}}' }),\n\t\tvalue: 'tr'\n\t},\n\t{\n\t\tid: 'fr',\n\t\tname: 'français',\n\t\tlocalName: t('locale.french', 'French'),\n\t\tlabel: t('locale.label_french', { value: 'français', defaultValue: 'French - {{value}}' }),\n\t\tvalue: 'fr'\n\t},\n\t{\n\t\tid: 'vi',\n\t\tname: 'Tiếng Việt',\n\t\tlocalName: t('locale.vietnamese', 'Vietnamese'),\n\t\tlabel: 'Vietnamese - Tiếng Việt',\n\t\tvalue: 'vi'\n\t}\n];\n// TODO: For future languages\n// export const localeList = (t: TFunction): any => [\n// \t{\n// \t\tid: 'ar',\n// \t\tname: 'العربية',\n// \t\tlocalName: t('locale.arabic', 'Arabic'),\n// \t\tlabel: t('locale.label_arabic', { value: 'لعربية', defaultValue: 'Arabic - {{value}}' }),\n// \t\tvalue: 'ar'\n// \t},\n// \t{\n// \t\tid: 'eu',\n// \t\tname: 'Euskara',\n// \t\tlocalName: t('locale.basque', 'Basque'),\n// \t\tlabel: t('locale.label_basque', { value: 'Euskara', defaultValue: 'Basque - {{value}}' }),\n// \t\tvalue: 'eu'\n// \t},\n// \t{\n// \t\tid: 'bg',\n// \t\tname: 'български',\n// \t\tlocalName: t('locale.bulgarian', 'Bulgarian'),\n// \t\tlabel: t('locale.label_bulgarian', {\n// \t\t\tvalue: 'български',\n// \t\t\tdefaultValue: 'Bulgarian - {{value}}'\n// \t\t}),\n// \t\tvalue: 'bg'\n// \t},\n// \t{\n// \t\tid: 'ca',\n// \t\tname: 'català',\n// \t\tlocalName: t('locale.catalan', 'Catalan'),\n// \t\tlabel: 'Catalan - català',\n// \t\tvalue: 'ca'\n// \t},\n// \t{\n// \t\tid: 'zh',\n// \t\tname: '中文',\n// \t\tlocalName: t('locale.chinese', 'Chinese'),\n// \t\tlabel: 'Chinese - 中文',\n// \t\tvalue: 'zh'\n// \t},\n// \t{\n// \t\tid: 'zh_CN',\n// \t\tname: '中文 (中国)',\n// \t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n// \t\tlabel: 'Chinese (China) - 中文 (中国)',\n// \t\tvalue: 'zh_CN'\n// \t},\n// \t{\n// \t\tid: 'zh_HK',\n// \t\tname: '中文 (香港)',\n// \t\tlocalName: t('locale.chinese_hong_kong', 'Chinese (Hong Kong SAR China)'),\n// \t\tlabel: 'Chinese (Hong Kong SAR China) - 中文 (香港)',\n// \t\tvalue: 'zh_HK'\n// \t},\n// \t{\n// \t\tid: 'zh_TW',\n// \t\tname: '中文 (台灣)',\n// \t\tlocalName: t('locale.chinese_taiwan', 'Chinese (Taiwan)'),\n// \t\tlabel: 'Chinese (Taiwan) - 中文 (台灣)',\n// \t\tvalue: 'zh_TW'\n// \t},\n// \t{\n// \t\tid: 'hr',\n// \t\tname: 'hrvatski',\n// \t\tlocalName: t('locale.croatian', 'Croatian'),\n// \t\tlabel: 'Croatian - hrvatski',\n// \t\tvalue: 'hr'\n// \t},\n// \t{\n// \t\tid: 'da',\n// \t\tname: 'Dansk',\n// \t\tlocalName: t('locale.danish', 'Danish'),\n// \t\tlabel: 'Danish - Dansk',\n// \t\tvalue: 'da'\n// \t},\n\n// \t{\n// \t\tid: 'en_AU',\n// \t\tname: 'English (Australia)',\n// \t\tlocalName: t('locale.english_australia', 'English (Australia)'),\n// \t\tlabel: 'English (Australia) - English (Australia)',\n// \t\tvalue: 'en_AU'\n// \t},\n// \t{\n// \t\tid: 'en_GB',\n// \t\tname: 'English (United Kingdom)',\n// \t\tlocalName: t('locale.english_united_kingdom', 'English (United Kingdom)'),\n// \t\tlabel: 'English (United Kingdom) - English (United Kingdom)',\n// \t\tvalue: 'en_GB'\n// \t},\n// \t{\n// \t\tid: 'en_US',\n// \t\tname: 'English (United States)',\n// \t\tlocalName: t('locale.english_united_states', 'English (United States)'),\n// \t\tlabel: 'English (United States) - English (United States)',\n// \t\tvalue: 'en_US'\n// \t},\n// \t{\n// \t\tid: 'fr',\n// \t\tname: 'français',\n// \t\tlocalName: t('locale.french', 'French'),\n// \t\tlabel: 'French - français',\n// \t\tvalue: 'fr'\n// \t},\n// \t{\n// \t\tid: 'fr_CA',\n// \t\tname: 'français (Canada)',\n// \t\tlocalName: t('locale.french_canada', 'French (Canada)'),\n// \t\tlabel: 'French (Canada) - français (Canada)',\n// \t\tvalue: 'fr_CA'\n// \t},\n// \t{\n// \t\tid: 'fr_FR',\n// \t\tname: 'français (France)',\n// \t\tlocalName: t('locale.french_france', 'French (France)'),\n// \t\tlabel: 'French (France) - français (France)',\n// \t\tvalue: 'fr_FR'\n// \t},\n\n// \t{\n// \t\tid: 'iw',\n// \t\tname: 'עברית',\n// \t\tlocalName: t('locale.hebrew', 'Hebrew'),\n// \t\tlabel: 'Hebrew - עברית',\n// \t\tvalue: 'iw'\n// \t},\n\n// \t{\n// \t\tid: 'hu',\n// \t\tname: 'magyar',\n// \t\tlocalName: t('locale.hungarian', 'Hungarian'),\n// \t\tlabel: 'Hungarian - magyar',\n// \t\tvalue: 'hu'\n// \t},\n// \t{\n// \t\tid: 'in',\n// \t\tname: 'Bahasa Indonesia',\n// \t\tlocalName: t('locale.indonesian', 'Indonesian'),\n// \t\tlabel: 'Indonesian - Bahasa Indonesia',\n// \t\tvalue: 'in'\n// \t},\n\n// \t{\n// \t\tid: 'ko',\n// \t\tname: '한국어',\n// \t\tlocalName: t('locale.korean', 'Korean'),\n// \t\tlabel: 'Korean - 한국어',\n// \t\tvalue: 'ko'\n// \t},\n// \t{\n// \t\tid: 'lo',\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tname: 'ພາສາລາວ',\n// \t\tlocalName: t('locale.lao', 'Lao'),\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tlabel: 'Lao - ພາສາລາວ',\n// \t\tvalue: 'lo'\n// \t},\n// \t{\n// \t\tid: 'ms',\n// \t\tname: 'Bahasa Melayu',\n// \t\tlocalName: t('locale.malay', 'Malay'),\n// \t\tlabel: 'Malay - Bahasa Melayu',\n// \t\tvalue: 'ms'\n// \t},\n// \t{\n// \t\tid: 'no',\n// \t\tname: 'norsk',\n// \t\tlocalName: t('locale.norwegian', 'Norwegian'),\n// \t\tlabel: 'Norwegian - norsk',\n// \t\tvalue: 'no'\n// \t},\n\n// \t{\n// \t\tid: 'pt_PT',\n// \t\tname: 'português (Portugal)',\n// \t\tlocalName: t('locale.potuguese_portugal', 'Portuguese (Portugal)'),\n// \t\tlabel: 'Portuguese (Portugal) - português (Portugal)',\n// \t\tvalue: 'pt_PT'\n// \t},\n\n// \t{\n// \t\tid: 'sl',\n// \t\tname: 'Slovenščina',\n// \t\tlocalName: t('locale.slovenian', 'Slovenian'),\n// \t\tlabel: 'Slovenian - Slovenščina',\n// \t\tvalue: 'sl'\n// \t},\n\n// \t{\n// \t\tid: 'sv',\n// \t\tname: 'svenska',\n// \t\tlocalName: t('locale.swedish', 'Swedish'),\n// \t\tlabel: 'Swedish - svenska',\n// \t\tvalue: 'sv'\n// \t},\n// \t{\n// \t\tid: 'ta',\n// \t\tname: 'தமிழ்',\n// \t\tlocalName: t('locale.tamil', 'Tamil'),\n// \t\tlabel: 'Tamil - தமிழ்',\n// \t\tvalue: 'ta'\n// \t},\n\n// \t{\n// \t\tid: 'uk',\n// \t\tname: 'українська',\n// \t\tlocalName: t('locale.ukrainian', 'Ukrainian'),\n// \t\tlabel: 'Ukrainian - українська',\n// \t\tvalue: 'uk'\n// \t},\n\n// ];\n\nexport const timeZoneList = (\n\tt: TFunction\n): Array<{ value?: string; label: string; offSet?: string }> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.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","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { TFunction } from 'react-i18next';\nimport { SettingsSubSection } from '../../types';\n\nexport const themeSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.theme_options', 'Theme Options'),\n\tid: 'theme_options'\n});\nexport const timezoneAndLanguageSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.timezone_and_language', 'Time Zone and Language'),\n\tid: 'timezone_and_language'\n});\nexport const outOfOfficeSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.out_of_office.headings.settings_label', 'Out of Office Settings'),\n\tid: 'out_of_office'\n});\nexport const searchPrefsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('search.app', 'Search'),\n\tid: 'search_prefs'\n});\nexport const versionsSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('module.app.version', 'Application versions'),\n\tid: 'app_version'\n});\nexport const quotaSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('user_quota.title', \"User's quota\"),\n\tid: 'user_quota'\n});\nexport const accountSubSection = (t: TFunction): SettingsSubSection => ({\n\tlabel: t('settings.general.account', 'Account'),\n\tid: 'account'\n});\n\nexport const settingsSubSections = (t: TFunction): Array<SettingsSubSection> => [\n\tthemeSubSection(t),\n\ttimezoneAndLanguageSubSection(t),\n\toutOfOfficeSubSection(t),\n\tsearchPrefsSubSection(t),\n\tversionsSubSection(t),\n\tquotaSubSection(t),\n\taccountSubSection(t)\n];\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState, FC, useMemo } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { includes, isEmpty } from 'lodash';\nimport { useUserSettings } from '../store/account';\nimport Logout from './components/general-settings/logout';\nimport AppearanceSettings from './components/general-settings/appearance-settings';\nimport ModuleVersionSettings from './components/general-settings/module-version-settings';\nimport OutOfOfficeSettings from './components/general-settings/out-of-office-view';\nimport UserQuota from './components/general-settings/user-quota';\nimport { editSettings } from '../network/edit-settings';\nimport { Mods } from '../../types';\nimport LanguageAndTimeZoneSettings from './language-and-timezone-settings';\nimport SearchSettingsView from './search-settings-view';\nimport SettingsHeader from './components/settings-header';\n\nconst GeneralSettings: FC = () => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [t] = useTranslation();\n\tconst settings = useUserSettings();\n\tconst [open, setOpen] = useState(false);\n\tconst addMod = useCallback((type: 'props' | 'prefs', key, value) => {\n\t\tsetMods((m) => ({\n\t\t\t...m,\n\t\t\t[type]: {\n\t\t\t\t...m?.[type],\n\t\t\t\t[key]: value\n\t\t\t}\n\t\t}));\n\t}, []);\n\tconst createSnackbar = useSnackbar();\n\n\tconst onSave = useCallback(() => {\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tif (mods.prefs && includes(Object.keys(mods.prefs), 'zimbraPrefLocale')) {\n\t\t\t\t\tsetOpen(true);\n\t\t\t\t}\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [createSnackbar, mods, t]);\n\tconst onCancel = useCallback(() => {\n\t\tsetMods({});\n\t}, []);\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\tconst title = useMemo(() => t('settings.general.general', 'General Settings'), [t]);\n\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader title={title} onCancel={onCancel} onSave={onSave} isDirty={isDirty} />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'medium' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AppearanceSettings settings={settings} addMod={addMod} />\n\t\t\t\t<LanguageAndTimeZoneSettings\n\t\t\t\t\tsettings={settings}\n\t\t\t\t\taddMod={addMod}\n\t\t\t\t\topen={open}\n\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t/>\n\n\t\t\t\t<OutOfOfficeSettings settings={settings} addMod={addMod} />\n\t\t\t\t<SearchSettingsView settings={settings} addMod={addMod} />\n\t\t\t\t<ModuleVersionSettings />\n\t\t\t\t<UserQuota mobileView={false} />\n\t\t\t\t<Logout />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default GeneralSettings;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, FC, useMemo } from 'react';\nimport {\n\tContainer,\n\tFormSubSection,\n\tModal,\n\tSelect,\n\tText,\n\tPadding\n} from '@zextras/carbonio-design-system';\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { find } from 'lodash';\nimport { AccountSettings } from '../../types';\nimport { localeList, timeZoneList } from './components/utils';\nimport { timezoneAndLanguageSubSection } from './general-settings-sub-sections';\n\nmomentLocalizer();\n\nconst LanguageAndTimeZone: FC<{\n\tsettings: AccountSettings;\n\topen: boolean;\n\tsetOpen: (arg: boolean) => any;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod, open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst locales = useMemo(() => localeList(t), [t]);\n\tconst timezones = useMemo(() => timeZoneList(t), [t]);\n\n\tconst updatePrefs = useCallback(\n\t\t(v, p) => {\n\t\t\taddMod('prefs', p, v);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst defaultSelection = useMemo(\n\t\t() =>\n\t\t\tsettings.prefs.zimbraPrefLocale && find(locales, { id: settings.prefs.zimbraPrefLocale })\n\t\t\t\t? find(locales, { id: settings.prefs.zimbraPrefLocale })\n\t\t\t\t: find(locales, { id: 'en' }),\n\t\t[locales, settings.prefs.zimbraPrefLocale]\n\t);\n\n\tconst defaultTimeZone = useMemo(\n\t\t() =>\n\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 sectionTitle = useMemo(() => timezoneAndLanguageSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t{Object.keys(settings.prefs).length > 0 && (\n\t\t\t\t\t<Select\n\t\t\t\t\t\titems={locales}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('label.language', 'Language')}\n\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\tif (value && value !== settings.prefs.zimbraPrefLocale)\n\t\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefLocale');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tselection={defaultSelection}\n\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\tdropdownMaxHeight=\"200px\"\n\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t{Object.keys(settings.prefs).length > 0 && timezones && (\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\titems={timezones}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t('label.time_zone', 'Time Zone')}\n\t\t\t\t\t\t\tonChange={(value: any): void => {\n\t\t\t\t\t\t\t\tif (value && value !== settings.prefs.zimbraPrefTimeZoneId)\n\t\t\t\t\t\t\t\t\tupdatePrefs(value, 'zimbraPrefTimeZoneId');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tselection={defaultTimeZone}\n\t\t\t\t\t\t\tshowCheckbox={false}\n\t\t\t\t\t\t\tdropdownMaxHeight=\"200px\"\n\t\t\t\t\t\t\tselectedBackgroundColor=\"highlight\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Padding>\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={t('label.reload', 'Reload')}\n\t\t\t\t\topen={open}\n\t\t\t\t\tdismissLabel={t('label.no', 'No')}\n\t\t\t\t\tonConfirm={(): void => window.location.reload()}\n\t\t\t\t\tconfirmLabel={t('label.reload', 'Reload')}\n\t\t\t\t\tonClose={(): void => setOpen(false)}\n\t\t\t\t>\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'message.reload',\n\t\t\t\t\t\t\t`\tWould you like to reload the application now to show the new language?\n\t\t\t\t\t\t\t(Otherwise, the new language will appear the next time you sign in.)`\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Modal>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default LanguageAndTimeZone;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, FC, useCallback, useEffect, useMemo } from 'react';\nimport { Container, FormSubSection, Checkbox } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { AccountSettings } from '../../types';\nimport { searchPrefsSubSection } from './general-settings-sub-sections';\n\nconst SearchSettingsView: FC<{\n\tsettings: AccountSettings;\n\taddMod: (type: 'prefs' | 'props', key: string, value: { value: any; app: string }) => void;\n}> = ({ settings, addMod }) => {\n\tconst { t } = useTranslation();\n\tconst [searchInSpamFolder, setSearchInSpamFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE'\n\t);\n\tconst [searchInTrashFolder, setSearchInTrashFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE'\n\t);\n\tconst [searchInSharedFolder, setSearchInSharedFolder] = useState<boolean>(\n\t\tsettings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE'\n\t);\n\tconst setMode = useCallback(\n\t\t(v, p) => {\n\t\t\tconst value: any = v ? 'TRUE' : 'FALSE';\n\t\t\taddMod('prefs', p, value);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tuseEffect(() => {\n\t\tsetSearchInSpamFolder(settings.prefs.zimbraPrefIncludeSpamInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSpamInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInTrashFolder(settings.prefs.zimbraPrefIncludeTrashInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeTrashInSearch]);\n\tuseEffect(() => {\n\t\tsetSearchInSharedFolder(settings.prefs.zimbraPrefIncludeSharedItemsInSearch === 'TRUE');\n\t}, [settings.prefs.zimbraPrefIncludeSharedItemsInSearch]);\n\n\tconst onClickSpam = useCallback(() => {\n\t\tsetSearchInSpamFolder(!searchInSpamFolder);\n\t\tsetMode(!searchInSpamFolder, 'zimbraPrefIncludeSpamInSearch');\n\t}, [searchInSpamFolder, setMode]);\n\tconst onClickTrash = useCallback(() => {\n\t\tsetSearchInTrashFolder(!searchInTrashFolder);\n\t\tsetMode(!searchInTrashFolder, 'zimbraPrefIncludeTrashInSearch');\n\t}, [searchInTrashFolder, setMode]);\n\tconst onClickShared = useCallback(() => {\n\t\tsetSearchInSharedFolder(!searchInSharedFolder);\n\t\tsetMode(!searchInSharedFolder, 'zimbraPrefIncludeSharedItemsInSearch');\n\t}, [searchInSharedFolder, setMode]);\n\tconst sectionTitle = useMemo(() => searchPrefsSubSection(t), [t]);\n\treturn (\n\t\t<FormSubSection\n\t\t\tlabel={sectionTitle.label}\n\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\twidth=\"50%\"\n\t\t\tid={sectionTitle.id}\n\t\t>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_spam_folder',\n\t\t\t\t\t\t'Include Spam Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSpamFolder}\n\t\t\t\t\tonClick={onClickSpam}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_trash_folder',\n\t\t\t\t\t\t'Include Trash Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInTrashFolder}\n\t\t\t\t\tonClick={onClickTrash}\n\t\t\t\t/>\n\t\t\t\t<Checkbox\n\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t'settings.search_settings.labels.include_search_in_shared_folder',\n\t\t\t\t\t\t'Include Shared Folder in Searches'\n\t\t\t\t\t)}\n\t\t\t\t\tvalue={searchInSharedFolder}\n\t\t\t\t\tonClick={onClickShared}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t</FormSubSection>\n\t);\n};\n\nexport default SearchSettingsView;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { map } from 'lodash';\nimport { SETTINGS_APP_ID } from '../constants';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsAppView: FC = () => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(settingsViews, (view) => (\n\t\t\t\t<Route key={view.route} exact path={`/${SETTINGS_APP_ID}/${view.route}`}>\n\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t<view.component />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[settingsViews]\n\t);\n\treturn (\n\t\t<Switch>\n\t\t\t{routes}\n\t\t\t<Redirect from={`/${SETTINGS_APP_ID}`} exact strict to={`/${SETTINGS_APP_ID}/general`} />\n\t\t</Switch>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { Accordion, Tooltip, IconButton } from '@zextras/carbonio-design-system';\nimport { map, startsWith } from 'lodash';\nimport { SETTINGS_APP_ID } from '../constants';\nimport { useAppStore } from '../store/app';\n\nexport const SettingsSidebar: FC<{ expanded: boolean }> = ({ expanded }) => {\n\tconst settingsViews = useAppStore((s) => s.views.settings);\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst items = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((view) => ({\n\t\t\t\tid: view.route,\n\t\t\t\tlabel: view.label,\n\t\t\t\ticon: view.icon,\n\t\t\t\tactive: location.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tdisableHover:\n\t\t\t\t\tlocation.pathname === `/${SETTINGS_APP_ID}/${view.route}` && location.search === '',\n\t\t\t\tonClick: (e: MouseEvent): void => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\thistory.push(`/${SETTINGS_APP_ID}/${view.route}`);\n\t\t\t\t},\n\t\t\t\titems: map(view.subSections, (item) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tactive: location.search === `?section=${item.id}`,\n\t\t\t\t\tdisableHover: location.search === `?section=${item.id}`,\n\t\t\t\t\tonClick: (e: MouseEvent): void => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\thistory.replace(`/${SETTINGS_APP_ID}/${view.route}?section=${item.id}`);\n\t\t\t\t\t}\n\t\t\t\t}))\n\t\t\t})),\n\t\t[history, location.pathname, location.search, settingsViews]\n\t);\n\tconst collapsedItems = useMemo(\n\t\t() =>\n\t\t\tsettingsViews.map((v) => (\n\t\t\t\t<Tooltip label={v.label} placement=\"right\" key={v.id}>\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticon={v.icon}\n\t\t\t\t\t\tonClick={(): void => history.push(`/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\ticonColor={startsWith(location.pathname, `/${SETTINGS_APP_ID}/${v.route}`)}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t)),\n\t\t[history, location.pathname, settingsViews]\n\t);\n\treturn expanded ? <Accordion items={items} /> : <>{collapsedItems}</>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { 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: 1px;\n\tmax-height: calc(100vh - 60px);\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: 12px;\n\tmin-height: 12px;\n\tline-height: 12px;\n\tborder-radius: 8px;\n\tuser-select: none;\n\tcursor: pointer;\n\tpointer-events: none;\n`;\n\n// eslint-disable-next-line react/display-name\nconst BadgeWrap: FC<{ badge: BadgeInfo }> = forwardRef(({ badge, children }, ref) => (\n\t<Container width={48} height={48} style={{ position: 'relative' }} ref={ref}>\n\t\t{badge.show && (\n\t\t\t<MiniBadge badge={badge} height=\"fit\" width=\"fit\">\n\t\t\t\t{badge.showCount ? (\n\t\t\t\t\t<Text size=\"extrasmall\" style={{ padding: '2px 4px', fontSize: '10px' }} color=\"gray6\">\n\t\t\t\t\t\t{badge.count ?? 0}\n\t\t\t\t\t</Text>\n\t\t\t\t) : null}\n\t\t\t</MiniBadge>\n\t\t)}\n\t\t{children}\n\t</Container>\n));\n\nexport default BadgeWrap;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useContext } from 'react';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tIconButton,\n\tText,\n\tRow,\n\tPadding,\n\tIcon,\n\tContainer,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\n\nconst TabContainer = styled(Row)`\n\tcursor: pointer;\n\theight: 28px;\n\twidth: fit-content;\n\tuser-select: none;\n\tbackground-color: ${({ theme, active }) =>\n\t\tactive ? theme.palette.gray3.regular : theme.palette.gray5.regular};\n\tborder-radius: 2px;\n\tpadding: 2px 4px;\n`;\n\nconst VerticalDivider = styled(Container)`\n\twidth: 1px;\n\theight: 100%;\n\tbackground: ${({ theme }) => theme.palette.gray3.regular};\n\tmargin: ${({ theme }) => theme.sizes.padding.extrasmall};\n`;\n\nexport default function AppBoardTab({ idx, icon, iconSize }) {\n\tconst { boards, currentBoard } = useContext(BoardValueContext);\n\tconst { removeBoard, setCurrentBoard } = useContext(BoardSetterContext);\n\tconst [t] = useTranslation();\n\tconst onClick = useCallback(() => setCurrentBoard(idx), [idx, setCurrentBoard]);\n\tconst onRemove = useCallback(\n\t\t(ev) => {\n\t\t\tev.stopPropagation();\n\t\t\tremoveBoard(idx);\n\t\t},\n\t\t[idx, removeBoard]\n\t);\n\n\treturn (\n\t\t<Container orientation=\"row\" width=\"fit\" maxWidth=\"100%\">\n\t\t\t{currentBoard !== idx ? <VerticalDivider /> : null}\n\t\t\t<TabContainer active={currentBoard === idx} padding={{ all: 'extrasmall' }}>\n\t\t\t\t<Row\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\ttakeAvailableSpace\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\twrap=\"nowrap\"\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={icon} size={iconSize} />\n\t\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t\t<Tooltip label={boards[idx].title} placement=\"top\" maxWidth=\"700px\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\tweight=\"regular\"\n\t\t\t\t\t\t\tcolor={currentBoard === idx ? 'text' : 'secondary'}\n\t\t\t\t\t\t\tpadding={{ right: 'small' }}\n\t\t\t\t\t\t\toverflow=\"ellipsis\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{boards[idx].title}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</Row>\n\t\t\t\t<Padding right=\"small\" />\n\t\t\t\t<Tooltip label={t('board.close_tab', 'Close Tab')} placement=\"top\">\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticonColor=\"secondary\"\n\t\t\t\t\t\ticon=\"Close\"\n\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\tstyle={{ padding: '2px', width: '24px', height: '24px' }}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t</TabContainer>\n\t\t</Container>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useContext, useRef, useMemo, useLayoutEffect } from 'react';\nimport styled, { css } from 'styled-components';\nimport { reduce, map, slice } from 'lodash';\nimport {\n\tContainer,\n\tDivider,\n\tIconButton,\n\tRow,\n\tPadding,\n\tDropdown,\n\tButton,\n\tuseHiddenCount,\n\tTooltip\n} from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport AppBoardTab from './app-board-tab';\nimport AppBoard from './app-board';\nimport { BoardSetterContext, BoardValueContext } from './board-context';\nimport { useApps } from '../../store/app';\n\nfunction TabsList({ tabs, currentBoard, setCurrentBoard, largeView, t }) {\n\tconst apps = useApps();\n\tconst tabContainerRef = useRef();\n\tconst [hiddenTabsCount, recalculateHiddenTabs] = useHiddenCount(tabContainerRef, largeView);\n\n\tuseLayoutEffect(() => {\n\t\trecalculateHiddenTabs();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [tabs, largeView, tabContainerRef.current]);\n\n\treturn (\n\t\t<Row wrap=\"nowrap\" height=\"100%\" mainAlignment=\"flex-start\" takeAvailableSpace>\n\t\t\t<Row\n\t\t\t\tref={tabContainerRef}\n\t\t\t\theight=\"48px\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t\twidth=\"calc(100% - 8px)\"\n\t\t\t>\n\t\t\t\t{tabs &&\n\t\t\t\t\tmap(tabs, (tab) => (\n\t\t\t\t\t\t<AppBoardTab\n\t\t\t\t\t\t\tkey={tab.key}\n\t\t\t\t\t\t\tidx={tab.key}\n\t\t\t\t\t\t\ticon={apps?.[tab.app]?.icon ?? 'Edit2Outline'}\n\t\t\t\t\t\t\ticonSize=\"large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t</Row>\n\t\t\t{hiddenTabsCount > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Container width=\"fit\" padding={{ horizontal: 'extrasmall', vertical: 'extrasmall' }}>\n\t\t\t\t\t\t<Container width=\"1px\" heigth=\"fill\" background=\"gray3\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Tooltip label={t('board.show_tabs', 'Show other tabs')} placement=\"top\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\twidth=\"fit\"\n\t\t\t\t\t\t\tstyle={{ flexGrow: '1' }}\n\t\t\t\t\t\t\titems={map(slice(tabs, -hiddenTabsCount), (tab) => ({\n\t\t\t\t\t\t\t\tid: tab.key,\n\t\t\t\t\t\t\t\tlabel: tab.title,\n\t\t\t\t\t\t\t\ticon: tab.icon,\n\t\t\t\t\t\t\t\tclick: () => setCurrentBoard(tab.key),\n\t\t\t\t\t\t\t\tselected: tab.key === currentBoard\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"ghost\"\n\t\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t\tlabel={`+${hiddenTabsCount}`}\n\t\t\t\t\t\t\t\tpadding={{ all: 'extrasmall' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Dropdown>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</Row>\n\t);\n}\n\nconst BoardContainer = styled.div`\n\tposition: fixed;\n\ttop: 60px;\n\tbottom: 0;\n\tleft: 48px;\n\tright: 0;\n\tbackground-color: rgba(0, 0, 0, 0);\n\tpointer-events: none;\n\tz-index: 10;\n\t${({ largeView }) =>\n\t\tlargeView &&\n\t\tcss`\n\t\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\t\tpointer-events: auto;\n\t\t`}\n\t${({ minimized }) =>\n\t\tminimized &&\n\t\tcss`\n\t\t\tdisplay: none;\n\t\t`}\n`;\nconst Board = styled(Container)`\n\tz-index: 5;\n\tposition: absolute;\n\tleft: 24px;\n\tbottom: 0;\n\twidth: 700px;\n\theight: 70vh;\n\tmin-height: 400px;\n\tbox-shadow: 0 2px 5px 0 rgba(125, 125, 125, 0.5);\n\tpointer-events: auto;\n\t${({ largeView }) =>\n\t\tlargeView &&\n\t\tcss`\n\t\t\theight: calc(100% - 24px);\n\t\t\twidth: calc(100% - 24px * 2);\n\t\t\tmin-height: auto;\n\t\t`}\n`;\nconst BoardHeader = styled(Row)``;\nconst BoardDetailContainer = styled(Row)`\n\tmin-height: 0;\n`;\nconst BackButton = styled(IconButton)``;\nconst Actions = styled(Row)``;\n\nexport default function AppBoardWindow() {\n\tconst [t] = useTranslation();\n\tconst { boards: shellBoards, currentBoard, largeView, minimized } = useContext(BoardValueContext);\n\tconst { toggleLargeView, toggleMinimized, removeAllBoards, setCurrentBoard } =\n\t\tuseContext(BoardSetterContext);\n\n\tconst [tabs, boards] = useMemo(\n\t\t() =>\n\t\t\treduce(\n\t\t\t\tshellBoards,\n\t\t\t\t(acc, board, boardId) => {\n\t\t\t\t\tconst [_tabs, _boards] = acc;\n\t\t\t\t\t_tabs.push({ key: boardId, ...board });\n\t\t\t\t\t_boards.push(<AppBoard key={boardId} idx={boardId} />);\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[[], []]\n\t\t\t),\n\t\t[shellBoards]\n\t);\n\tif (!tabs.length) return null;\n\treturn (\n\t\t<BoardContainer largeView={largeView} minimized={minimized}>\n\t\t\t<Board background=\"gray6\" crossAlignment=\"unset\" largeView={largeView}>\n\t\t\t\t<BoardHeader background=\"gray5\">\n\t\t\t\t\t<Padding all=\"extrasmall\">\n\t\t\t\t\t\t<Tooltip label={t('board.hide', 'Hide board')} placement=\"top\">\n\t\t\t\t\t\t\t<BackButton icon=\"BoardCollapseOutline\" onClick={toggleMinimized} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<TabsList\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t\tlargeView={largeView}\n\t\t\t\t\t\tcurrentBoard={currentBoard}\n\t\t\t\t\t\tsetCurrentBoard={setCurrentBoard}\n\t\t\t\t\t\tt={t}\n\t\t\t\t\t/>\n\t\t\t\t\t<Actions padding={{ all: 'extrasmall' }}>\n\t\t\t\t\t\t{boards[currentBoard]?.context?.onReturnToApp && (\n\t\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\ticon={'DiagonalArrowRightUp'}\n\t\t\t\t\t\t\t\t\tonClick={boards[currentBoard]?.context?.onReturnToApp}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* <Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t<Tooltip label={t('board.open_app', 'Open in app')} placement=\"top\">\n\t\t\t\t\t\t\t\t<IconButton icon=\"DiagonalArrowRightUpOutline\" onClick={toggleLargeView} />\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding> */}\n\t\t\t\t\t\t<Padding right=\"extrasmall\">\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tlargeView\n\t\t\t\t\t\t\t\t\t\t? t('board.reduce', 'Reduce board')\n\t\t\t\t\t\t\t\t\t\t: t('board.enlarge', 'Enlarge board')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\ticon={largeView ? 'CollapseOutline' : 'ExpandOutline'}\n\t\t\t\t\t\t\t\t\tonClick={toggleLargeView}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Tooltip label={t('board.close_tabs', 'Close all your tabs')} placement=\"top\">\n\t\t\t\t\t\t\t<IconButton icon=\"CloseOutline\" onClick={removeAllBoards} />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Actions>\n\t\t\t\t</BoardHeader>\n\t\t\t\t<Divider style={{ height: '2px' }} />\n\t\t\t\t<BoardDetailContainer takeAvailableSpace>{boards}</BoardDetailContainer>\n\t\t\t</Board>\n\t\t</BoardContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { Route, Router, useHistory } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { map } from 'lodash';\nimport { createMemoryHistory } from 'history';\nimport AppContextProvider from '../../boot/app/app-context-provider';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\nimport { useAppStore } from '../../store/app';\n\nconst BoardContainer = styled.div`\n\tdisplay: ${(props) => (props.show ? 'block' : 'none')};\n\theight: 100%;\n\twidth: 100%;\n\toverflow-y: auto;\n\t&::-webkit-scrollbar {\n\t\twidth: 8px;\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 }) => theme.palette.gray3.regular};\n\t\tborder-radius: 4px;\n\t}\n`;\n\nexport default function AppBoard({ idx }) {\n\tconst { boards, currentBoard } = useContext(BoardValueContext);\n\tconst [history] = useState(() => createMemoryHistory({ initialEntries: [boards[idx].url] }));\n\tconst { updateBoard } = useContext(BoardSetterContext);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(boardViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[boardViews, windowHistory]\n\t);\n\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== boards[idx].url) {\n\t\t\t\tupdateBoard(idx, `${location.pathname}${location.search}${location.hash}`);\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tunlisten();\n\t\t};\n\t}, [boards, history, idx, updateBoard]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== boards[idx].url) {\n\t\t\thistory.push(boards[idx].url);\n\t\t}\n\t}, [idx, boards, history]);\n\n\treturn (\n\t\t<BoardContainer show={currentBoard === idx}>\n\t\t\t<Router history={history}>{routes}</Router>\n\t\t</BoardContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useReducer } from 'react';\nimport { pickBy, trim } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\nimport { useBridge } from '../../store/context-bridge';\n\nfunction getRandomKey() {\n\treturn String(Date.now() * (Math.floor(Math.random() * 1000) + 1));\n}\nconst reducer = (state, action) => {\n\tswitch (action.type) {\n\t\tcase 'ADD_BOARD': {\n\t\t\tconst returnValue = {\n\t\t\t\t...state,\n\t\t\t\tboards: {\n\t\t\t\t\t[action.payload.boardKey]: {\n\t\t\t\t\t\turl: action.payload.url,\n\t\t\t\t\t\ttitle: action.payload.title,\n\t\t\t\t\t\tcontext: action.payload.context,\n\t\t\t\t\t\tapp: action.payload.app\n\t\t\t\t\t},\n\t\t\t\t\t...state.boards\n\t\t\t\t},\n\t\t\t\tcurrentBoard: action.payload.boardKey,\n\t\t\t\tminimized: false\n\t\t\t};\n\t\t\treturn returnValue;\n\t\t}\n\t\tcase 'REMOVE_BOARD': {\n\t\t\tlet newCurrentBoard = state.currentBoard;\n\t\t\tconst boardKeys = Object.keys(state.boards);\n\t\t\tconst boardToRemove = (action.payload && action.payload.key) || state.currentBoard;\n\t\t\tif (state.currentBoard === boardToRemove) {\n\t\t\t\tconst removedBoardIndex = boardKeys.indexOf(boardToRemove);\n\t\t\t\tnewCurrentBoard = boardKeys[removedBoardIndex > 0 ? removedBoardIndex - 1 : 1];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: pickBy(state.boards, (board, key) => key !== boardToRemove),\n\t\t\t\tlargeView: boardKeys.length === 1 ? false : state.largeView,\n\t\t\t\tcurrentBoard: newCurrentBoard\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ALL_BOARDS': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: {},\n\t\t\t\tlargeView: false\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_BOARD': {\n\t\t\tif (!state.boards[action.payload.key]) return state;\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[action.payload.key].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[action.payload.key].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_CURRENT_BOARD': {\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[state.currentBoard].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[state.currentBoard].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'SET_CURRENT_BOARD': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcurrentBoard: action.payload.key\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_LARGE_VIEW': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlargeView: !state.largeView\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_MINIMIZED': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tminimized: !state.minimized\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tconsole.warn('Unrecognized action type in BoardContext');\n\t\t\treturn state;\n\t}\n};\n\nexport default function BoardContextProvider({ children }) {\n\tconst [t] = useTranslation();\n\tconst [boardState, dispatch] = useReducer(reducer, {\n\t\tboards: {},\n\t\tcurrentBoard: 0,\n\t\tlargeView: false,\n\t\tminimized: false\n\t});\n\n\tconst addBoard = useCallback(\n\t\t(url, context, app) => {\n\t\t\tconst boardKey = getRandomKey();\n\t\t\tdispatch({\n\t\t\t\ttype: 'ADD_BOARD',\n\t\t\t\tpayload: {\n\t\t\t\t\turl: `/${trim(url, '/')}`,\n\t\t\t\t\ttitle: context?.title ?? t('new_tab', 'New Tab'),\n\t\t\t\t\tcontext,\n\t\t\t\t\tboardKey,\n\t\t\t\t\tapp\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn boardKey;\n\t\t},\n\t\t[t]\n\t);\n\tconst removeBoard = useCallback((key) => {\n\t\tdispatch({ type: 'REMOVE_BOARD', payload: { key } });\n\t}, []);\n\tconst removeCurrentBoard = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_BOARD' });\n\t}, []);\n\tconst removeAllBoards = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_ALL_BOARDS' });\n\t}, []);\n\tconst updateBoard = useCallback((key, url, title) => {\n\t\tdispatch({ type: 'UPDATE_BOARD', payload: { key, url, title } });\n\t}, []);\n\tconst updateCurrentBoard = useCallback((url, title) => {\n\t\tdispatch({ type: 'UPDATE_CURRENT_BOARD', payload: { url, title } });\n\t}, []);\n\tconst setCurrentBoard = useCallback((key) => {\n\t\tdispatch({ type: 'SET_CURRENT_BOARD', payload: { key } });\n\t}, []);\n\tconst toggleLargeView = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_LARGE_VIEW' });\n\t}, []);\n\tconst toggleMinimized = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_MINIMIZED' });\n\t}, []);\n\n\tconst boardSetters = useMemo(\n\t\t() => ({\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tremoveAllBoards,\n\t\t\tupdateBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateCurrentBoard\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveAllBoards,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\n\tconst cbFunctions = useMemo(\n\t\t() => ({\n\t\t\tpackageDependentFunctions: {\n\t\t\t\taddBoard: (pkg) => (path, context) => {\n\t\t\t\t\taddBoard(path, context, context?.app ?? pkg);\n\t\t\t\t}\n\t\t\t},\n\t\t\tfunctions: {\n\t\t\t\tremoveBoard,\n\t\t\t\tremoveCurrentBoard,\n\t\t\t\tupdateBoard,\n\t\t\t\tsetCurrentBoard,\n\t\t\t\tupdateCurrentBoard,\n\t\t\t\ttoggleMinimizedBoard: toggleMinimized\n\t\t\t}\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\tuseBridge(cbFunctions);\n\n\treturn (\n\t\t<BoardValueContext.Provider value={boardState}>\n\t\t\t<BoardSetterContext.Provider value={boardSetters}>{children}</BoardSetterContext.Provider>\n\t\t</BoardValueContext.Provider>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst BoardValueContext = createContext({\n\tboards: {},\n\tcurrentBoard: 0,\n\tlargeView: false,\n\tminimized: false\n});\nconst BoardSetterContext = createContext({\n\taddBoard: (url, title, context) => undefined,\n\tremoveBoard: (key) => undefined,\n\tremoveCurrentBoard: () => undefined,\n\tremoveAllBoards: () => undefined,\n\tupdateBoard: (key, url, title) => undefined,\n\tsetCurrentBoard: (key) => undefined,\n\tupdateCurrentBoard: (url, title) => undefined,\n\ttoggleLargeView: () => undefined,\n\ttoggleMinimized: () => undefined\n});\n\nexport { BoardValueContext, BoardSetterContext };\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useContext, useCallback } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardSetterContext, BoardValueContext } from './board-context';\n\nexport const getUseAddBoardCallback =\n\t(appId: string) => (): ((path: string, context?: unknown | { app: string }) => void) => {\n\t\tconst { addBoard } = useContext(BoardSetterContext);\n\t\tconst callback = useCallback(\n\t\t\t(path: string, context?: unknown | { app?: string }) => {\n\t\t\t\taddBoard(path, context, (context as { app?: string })?.app ?? appId);\n\t\t\t},\n\t\t\t[addBoard]\n\t\t);\n\t\treturn callback;\n\t};\n\nexport function useUpdateCurrentBoard(): (url: string, title: string) => void {\n\tconst { updateCurrentBoard } = useContext(BoardSetterContext);\n\treturn updateCurrentBoard;\n}\n\nexport function useRemoveCurrentBoard(): () => void {\n\tconst { removeCurrentBoard } = useContext(BoardSetterContext);\n\treturn removeCurrentBoard;\n}\n\nexport function useBoardConfig(): unknown {\n\tconst context: any = useContext(BoardValueContext);\n\tif (context) {\n\t\treturn context.boards?.[context.currentBoard]?.context;\n\t}\n\treturn undefined;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { Icon } from '@zextras/carbonio-design-system';\n\nconst VerticalDivider = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\theight: 100%;\n\twidth: 1px;\n\tmax-width: 1px;\n\tmin-width: 1px;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background 0.2s;\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n`;\n\nconst Bubble = styled.div<{ open: boolean }>`\n\tcursor: pointer;\n\tz-index: 2;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: -12px;\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background-color 0.2s, transform 0.2s;\n\ttransform: scaleX(${({ open }): number => (open ? 1 : -1)});\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.active};\n\t}\n`;\n\nexport const Collapser: FunctionComponent<{ open: boolean; onClick: () => void }> = ({\n\topen,\n\tonClick\n}) => (\n\t<VerticalDivider>\n\t\t<Bubble onClick={onClick} open={open}>\n\t\t\t<Icon size=\"medium\" icon=\"ChevronLeft\" />\n\t\t</Bubble>\n\t</VerticalDivider>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { reduce, groupBy } from 'lodash';\nimport { MultiButton, Button, Dropdown } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from 'react-router-dom';\nimport { Location } from 'history';\nimport { useActions } from '../store/integrations/hooks';\nimport { ACTION_TYPES } from '../constants';\nimport { Action, AppRoute } from '../../types';\nimport { useAppList } from '../store/app';\nimport { useCurrentRoute } from '../history/hooks';\n\nexport const CreationButtonComponent: FC<{ activeRoute: AppRoute; location: Location }> = ({\n\tactiveRoute,\n\tlocation\n}) => {\n\tconst [t] = useTranslation();\n\tconst actions = useActions({ activeRoute, location }, ACTION_TYPES.NEW);\n\tconst [open, setOpen] = useState(false);\n\tconst primaryAction = useMemo(\n\t\t() =>\n\t\t\tactions?.find?.(\n\t\t\t\t(a) => (a.group === activeRoute?.id || a.group === activeRoute?.app) && a.primary\n\t\t\t),\n\t\t[actions, activeRoute?.app, activeRoute?.id]\n\t);\n\tconst apps = useAppList();\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\n\tconst secondaryActions = [\n\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t...reduce(\n\t\t\tapps,\n\t\t\t(acc, app, i) => {\n\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[] as Array<Action | { type: string; id: string }>\n\t\t)\n\t];\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\treturn primaryAction ? (\n\t\t<MultiButton\n\t\t\tstyle={{ height: '42px' }}\n\t\t\tbackground=\"primary\"\n\t\t\tlabel={primaryAction?.label ?? t('new', 'New')}\n\t\t\tonClick={primaryAction?.click}\n\t\t\titems={secondaryActions}\n\t\t\tdisabled={!primaryAction || primaryAction?.disabled}\n\t\t/>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tstyle={{ height: '42px' }}\n\t\t\t\tbackground=\"primary\"\n\t\t\t\titems={secondaryActions}\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n\nconst MemoCreationButton = React.memo(CreationButtonComponent);\n\nexport const CreationButton: FC = () => {\n\tconst locationFull = useLocation() as Location;\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\n\tconst truncateLocation = (location: Location): Location => ({\n\t\t...location,\n\t\tpathname: location?.pathname?.split('/').slice(0, 2).join('/'),\n\t\tkey: ''\n\t});\n\n\tconst location = useMemo(() => truncateLocation(locationFull), [locationFull]);\n\treturn <MemoCreationButton activeRoute={activeRoute} location={location} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { Dispatch, SetStateAction, useContext, useState } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellContext from './shell-context';\n\nexport function useIsMobile(): boolean {\n\tconst { isMobile } = useContext(ShellContext);\n\treturn isMobile;\n}\n\nexport function useLocalStorage<T>(key: string, initialValue: T): [T, Dispatch<SetStateAction<T>>] {\n\tconst [storedValue, setStoredValue] = useState<T>(() => {\n\t\ttry {\n\t\t\tconst item = window.localStorage.getItem(key);\n\t\t\treturn item ? JSON.parse(item) : initialValue;\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\treturn initialValue;\n\t\t}\n\t});\n\tconst setValue = (value: T | ((val: T) => T)): any => {\n\t\ttry {\n\t\t\tconst valueToStore = value instanceof Function ? value(storedValue) : value;\n\t\t\tsetStoredValue(valueToStore);\n\t\t\tlocalStorage.setItem(key, JSON.stringify(valueToStore));\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\treturn [storedValue, setValue];\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { useScreenMode } from '@zextras/carbonio-design-system';\nimport ShellContext from './shell-context';\n\nconst ShellContextProvider: FC<{ children: unknown }> = ({ children }) => {\n\tconst screenMode = useScreenMode();\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tisMobile: screenMode === 'mobile'\n\t\t}),\n\t\t[screenMode]\n\t);\n\n\treturn <ShellContext.Provider value={value}>{children}</ShellContext.Provider>;\n};\n\nexport default ShellContextProvider;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst ShellContext = createContext({ isMobile: true });\n\nexport default ShellContext;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useState } from 'react';\nimport {\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode,\n\tCatcher,\n\tButton\n} from '@zextras/carbonio-design-system';\nimport { times } from 'lodash';\nimport Logo from '../svg/carbonio.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\n\nconst ShellHeader: FC<{\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"60px\"\n\t\t\tminHeight=\"60px\"\n\t\t\tmaxHeight=\"60px\"\n\t\t\tmainAlignment=\"space-between\"\n\t\t\tpadding={{\n\t\t\t\thorizontal: screenMode === 'desktop' ? 'large' : 'extrasmall',\n\t\t\t\tvertical: 'small'\n\t\t\t}}\n\t\t>\n\t\t\t<Catcher>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"75%\"\n\t\t\t\t\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<IconButton icon={mobileNavIsOpen ? 'Close' : 'Menu'} onClick={onMobileMenuClick} />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Responsive>\n\t\t\t\t\t<Container width={320} height={32} crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Logo height=\"32px\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton />\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=\"25%\" mainAlignment=\"flex-end\">\n\t\t\t\t\t<Responsive mode=\"desktop\">{children}</Responsive>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\t\tpadding={{ right: 'extrasmall' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* <Dropdown items={secondaryActions} placement=\"bottom-start\">\n\t\t\t\t\t\t\t<IconButton icon=\"Plus\" />\n\t\t\t\t\t\t</Dropdown> */}\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t</Catcher>\n\t\t</Container>\n\t);\n};\nexport default ShellHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { 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((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 - 48px)',\n\t\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Accordion items={views} />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Accordion items={menuTree} />\n\t\t\t\t\t\t<Padding vertical=\"medium\">{/* <UserQuota mobileView={true}/> */}</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t</Container>\n\t\t\t</Collapse>\n\t\t</Container>\n\t);\n};\n\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 { Container, Responsive } from '@zextras/carbonio-design-system';\nimport ShellPrimaryBar from './shell-primary-bar';\nimport ShellSecondaryBar from './shell-secondary-bar';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellMobileNav from './shell-mobile-nav';\n\ntype ShellNavigationBarProps = {\n\tmobileNavIsOpen: boolean;\n};\n\nconst ShellNavigationBar: FC<ShellNavigationBarProps> = ({ mobileNavIsOpen }) => (\n\t<Container\n\t\torientation=\"horizontal\"\n\t\tbackground=\"gray5\"\n\t\twidth=\"fit\"\n\t\theight=\"fill\"\n\t\tmainAlignment=\"flex-start\"\n\t\tcrossAlignment=\"flex-start\"\n\t>\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<ShellPrimaryBar />\n\t\t\t<ShellSecondaryBar />\n\t\t</Responsive>\n\t\t<Responsive mode=\"mobile\">\n\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} />\n\t\t</Responsive>\n\t</Container>\n);\n\nexport default ShellNavigationBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Container, IconButton, Row, Tooltip } from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy } from 'lodash';\nimport React, { useContext, FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\n// TODO: convert boards management to ts (and maybe a zustand store)\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardValueContext, BoardSetterContext } from './boards/board-context';\nimport { useAppStore } from '../store/app';\nimport { AppRoute, PrimaryAccessoryView, PrimaryBarView } from '../../types';\nimport BadgeWrap from './badge-wrap';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { checkRoute } from '../utility-bar/utils';\nimport { IS_STANDALONE } from '../constants';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 1px solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { boards, minimized } = useContext(BoardValueContext);\n\tconst { toggleMinimized } = useContext(BoardSetterContext);\n\n\tif (isEmpty(boards)) return null;\n\treturn (\n\t\t<IconButton\n\t\t\ticonColor=\"primary\"\n\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\tonClick={toggleMinimized}\n\t\t\tsize=\"large\"\n\t\t/>\n\t);\n};\n\ntype PrimaryBarItemProps = {\n\tview: PrimaryBarView;\n\tactive: boolean;\n\tonClick: () => void;\n};\n\ntype PrimaryBarAccessoryItemProps = {\n\tview: PrimaryAccessoryView;\n};\n\nconst PrimaryBarElement: FC<PrimaryBarItemProps> = ({ view, active, onClick }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<BadgeWrap badge={view.badge}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor={active ? 'gray4' : 'gray6'}\n\t\t\t\t\ticonColor={active ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\tdata-isselected={active}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component active={active} />\n\t\t\t)}\n\t\t</BadgeWrap>\n\t</Tooltip>\n);\n\nconst PrimaryBarAccessoryElement: FC<PrimaryBarAccessoryItemProps> = ({ view }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor=\"gray6\"\n\t\t\t\t\ticonColor=\"text\"\n\t\t\t\t\tonClick={view.onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<view.component />\n\t\t\t)}\n\t\t</AppContextProvider>\n\t</Tooltip>\n);\n\nconst ShellPrimaryBarComponent: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\tconst [routes, setRoutes] = useState<Record<string, string>>({});\n\tconst history = useHistory();\n\n\tuseEffect(() => {\n\t\tsetRoutes((r) =>\n\t\t\tprimaryBarViews.reduce((acc, v) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tif (!acc[v.id]) acc[v.id] = v.route;\n\t\t\t\treturn acc;\n\t\t\t}, r)\n\t\t);\n\t}, [primaryBarViews]);\n\tuseEffect(() => {\n\t\tif (activeRoute) {\n\t\t\tsetRoutes((r) => ({\n\t\t\t\t...r,\n\t\t\t\t[activeRoute.id]: `${trim(history.location.pathname, '/')}${history.location.search}`\n\t\t\t}));\n\t\t}\n\t}, [activeRoute, history.location, primaryBarViews]);\n\tconst primaryBarAccessoryViews = useAppStore((s) => s.views.primaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(primaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, primaryBarAccessoryViews]\n\t);\n\tif (IS_STANDALONE && activeRoute?.standalone?.hidePrimaryBar) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth={49}\n\t\t\theight=\"fill\"\n\t\t\tbackground=\"gray6\"\n\t\t\torientation=\"vertical\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\ttakeAvailableSpace\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{map(primaryBarViews, (view) =>\n\t\t\t\t\tview.visible ? (\n\t\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${routes[view.id]}`)}\n\t\t\t\t\t\t\tview={view}\n\t\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{accessories.map((v) => (\n\t\t\t\t\t<PrimaryBarAccessoryElement view={v} key={v.id} />\n\t\t\t\t))}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</Row>\n\t\t</ContainerWithDivider>\n\t);\n};\n\nconst MemoShellPrimaryBarComponent = React.memo(ShellPrimaryBarComponent);\n\nconst ShellPrimaryBar: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn <MemoShellPrimaryBarComponent activeRoute={activeRoute} />;\n};\n\nexport default ShellPrimaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport styled from 'styled-components';\nimport { Route, Switch } from 'react-router-dom';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { Collapser } from './collapser';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\nimport { useCurrentRoute } from '../history/hooks';\n\nconst SidebarContainer = styled(Container)`\n\tmin-width: 48px;\n\tmax-width: 314px;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 314 : 48)}px;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\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\tsidebarIsOpen={isOpen}\n\t\t\t\trole=\"menu\"\n\t\t\t\theight=\"fill\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tonClick={isOpen ? undefined : onCollapserClick}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t\t<Switch>\n\t\t\t\t\t\t{map(secondaryBarViews, (view) => (\n\t\t\t\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Switch>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"flex-end\" height=\"fit\">\n\t\t\t\t\t{accessories.map((view) => (\n\t\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t</SidebarContainer>\n\t\t\t<Collapser onClick={onCollapserClick} open={isOpen} />\n\t\t</>\n\t);\n};\n\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 React, { useEffect, useState, useContext, FC, useMemo } from 'react';\nimport { Row, Responsive, ModalManager, SnackbarManager } from '@zextras/carbonio-design-system';\nimport styled from 'styled-components';\nimport { find } from 'lodash';\n// import { PreviewManager } from '../preview';\nimport { PreviewManager } from '@zextras/carbonio-ui-preview';\nimport AppViewContainer from './app-view-container';\nimport ShellContextProvider from './shell-context-provider';\nimport ShellHeader from './shell-header';\nimport ShellNavigationBar from './shell-navigation-bar';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppBoardWindow from './boards/app-board-window';\nimport { ThemeCallbacksContext } from '../boot/theme-provider';\nimport { useAccountStore, useUserSettings } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport { useCurrentRoute } from '../history/hooks';\nimport { IS_STANDALONE, SHELL_APP_ID } from '../constants';\nimport { goToLogin } from '../network/go-to-login';\nimport { AppRoute, DRPropValues } from '../../types';\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 settings = useUserSettings();\n\tconst currentDRMSetting = useMemo(\n\t\t() =>\n\t\t\tfind(settings?.props ?? [], {\n\t\t\t\tname: 'zappDarkreaderMode',\n\t\t\t\tzimlet: SHELL_APP_ID\n\t\t\t})?._content as DRPropValues,\n\t\t[settings]\n\t);\n\n\tuseEffect(() => {\n\t\tsetDarkReaderState(currentDRMSetting);\n\t}, [currentDRMSetting, setDarkReaderState]);\n\treturn null;\n}\n\nconst useLoginRedirection = (allowUnauthenticated?: string): void => {\n\tconst auth = useAccountStore((s) => s.authenticated);\n\tuseEffect(() => {\n\t\tif (IS_STANDALONE && !auth && !allowUnauthenticated) {\n\t\t\tgoToLogin();\n\t\t}\n\t}, [allowUnauthenticated, auth]);\n};\n\nconst ShellComponent: FC<{ allowUnauthenticated?: string; hideShellHeader?: string }> = ({\n\tallowUnauthenticated,\n\thideShellHeader\n}) => {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tuseLoginRedirection(allowUnauthenticated);\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t{!(IS_STANDALONE && hideShellHeader) && (\n\t\t\t\t<ShellHeader\n\t\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\t\tonMobileMenuClick={(): void => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t\t>\n\t\t\t\t\t<ShellUtilityBar />\n\t\t\t\t</ShellHeader>\n\t\t\t)}\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer />\n\t\t\t\t<ShellUtilityPanel />\n\t\t\t</Row>\n\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t<AppBoardWindow />\n\t\t\t</Responsive>\n\t\t</Background>\n\t);\n};\n\nconst MemoShell = React.memo(ShellComponent);\n\nconst ShellView: FC = () => {\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\tconst allowUnauthenticated = activeRoute?.standalone?.allowUnauthenticated as string | undefined;\n\tconst hideShellHeader = activeRoute?.standalone?.hideShellHeader as string | undefined;\n\treturn (\n\t\t<ShellContextProvider>\n\t\t\t<ModalManager>\n\t\t\t\t<SnackbarManager>\n\t\t\t\t\t<PreviewManager>\n\t\t\t\t\t\t<MemoShell\n\t\t\t\t\t\t\tallowUnauthenticated={allowUnauthenticated}\n\t\t\t\t\t\t\thideShellHeader={hideShellHeader}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PreviewManager>\n\t\t\t\t</SnackbarManager>\n\t\t\t</ModalManager>\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, { StoreApi, UseBoundStore } from 'zustand';\nimport { AccountState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useAccountStore = create<AccountState>(() => ({\n\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})) as UseBoundStore<AccountState, StoreApi<AccountState>>;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { sortBy } from 'lodash';\nimport { useMemo } from 'react';\nimport { useAppStore } from './store';\nimport { AppRoute, CarbonioModule } from '../../../types';\n\nexport const useApp = (appId: string) => (): CarbonioModule => useAppStore((s) => s.apps[appId]);\nexport const useApps = (): Record<string, CarbonioModule> => useAppStore((s) => s.apps);\nexport const useAppList = (): Array<CarbonioModule> => {\n\tconst apps = useApps();\n\treturn useMemo(() => sortBy(apps, (a) => a.priority), [apps]);\n};\nexport const getAppList = (): Array<CarbonioModule> =>\n\tsortBy(useAppStore.getState().apps, (a) => a.priority);\n\nexport const getApp = (appId: string) => (): CarbonioModule => useAppStore.getState().apps[appId];\nexport const getApps = (): Record<string, CarbonioModule> => useAppStore.getState().apps;\n\nexport const useAppContext = (appId: string) => (): unknown =>\n\tuseAppStore((s) => s.appContexts[appId]);\nexport const getAppContext = (appId: string) => (): unknown =>\n\tuseAppStore.getState().appContexts[appId];\nexport const getShell = (): CarbonioModule => useAppStore.getState().shell;\nexport const getRoutes = (): Record<string, AppRoute> => useAppStore.getState().routes;\nexport const useRoutes = (): Record<string, AppRoute> => useAppStore((s) => s.routes);\nexport const getRoute = (id: string): AppRoute => useAppStore.getState().routes[id];\nexport const useRoute = (id: string): AppRoute => useAppStore((s) => s.routes[id]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\nexport * from './utils';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { filter, find, findIndex, merge, omit, reduce, sortBy, unionBy, unionWith } from 'lodash';\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport {\n\tAppRouteDescriptor,\n\tAppState,\n\tAppView,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tPrimaryBarView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSecondaryBarView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { normalizeApp } from './utils';\n\nconst filterById = <T extends { id: string }>(items: Array<T>, id: string): Array<T> =>\n\tfilter(items, (item) => item.id !== id);\n\nconst STANDALONE_RESPONSE = 'standalone';\nexport const useAppStore = create<AppState>((set, get) => ({\n\tstandalone: false,\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: 'carbonio-shell-ui',\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t},\n\tentryPoints: {},\n\troutes: {},\n\tviews: {\n\t\tprimaryBar: [],\n\t\tsecondaryBar: [],\n\t\tappView: [],\n\t\tboard: [],\n\t\tutilityBar: [],\n\t\tsettings: [],\n\t\tsearch: [],\n\t\tprimaryBarAccessories: [],\n\t\tsecondaryBarAccessories: []\n\t},\n\tsetters: {\n\t\taddApps: (apps: Array<Partial<CarbonioModule>>): void => {\n\t\t\tset((state) => ({\n\t\t\t\tapps: reduce(\n\t\t\t\t\tapps,\n\t\t\t\t\t(acc, app) =>\n\t\t\t\t\t\tapp.name && app.name !== SHELL_APP_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[app.name]: normalizeApp(app)\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: acc,\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t\tshell: {\n\t\t\t\t\t...state.shell,\n\t\t\t\t\t...(find(apps, (app) => app.name === SHELL_APP_ID) ?? {})\n\t\t\t\t},\n\t\t\t\tappContexts: reduce(apps, (acc, val) => (val.name ? { ...acc, [val.name]: {} } : acc), {})\n\t\t\t}));\n\t\t},\n\t\tsetAppContext:\n\t\t\t(app: string) =>\n\t\t\t(context: unknown): void => {\n\t\t\t\tset(\n\t\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\t\tstate.appContexts[app] = merge(state.appContexts[app], context);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t},\n\t\t// add route (id route primaryBar secondaryBar app)\n\t\taddRoute: (routeData: AppRouteDescriptor): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && routeData.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes[routeData.id] = routeData;\n\t\t\t\t\tif (routeData.primaryBar) {\n\t\t\t\t\t\tstate.views.primaryBar = sortBy(\n\t\t\t\t\t\t\tunionWith<PrimaryBarView>(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\t\tcomponent: routeData.primaryBar,\n\t\t\t\t\t\t\t\t\t\tbadge: routeData.badge,\n\t\t\t\t\t\t\t\t\t\tposition: routeData.position,\n\t\t\t\t\t\t\t\t\t\tvisible: routeData.visible,\n\t\t\t\t\t\t\t\t\t\tlabel: routeData.label\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstate.views.primaryBar,\n\t\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'position'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.secondaryBar) {\n\t\t\t\t\t\tstate.views.secondaryBar = unionWith<SecondaryBarView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.secondaryBar\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.secondaryBar,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.appView) {\n\t\t\t\t\t\tstate.views.appView = unionWith<AppView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.appView\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.appView,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn routeData.id;\n\t\t},\n\t\tsetRouteVisibility: (id: string, visible: boolean): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (view) => view.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].visible = visible;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// remove route (id | route)\n\t\tremoveRoute: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes = omit(state.routes, [id]);\n\t\t\t\t\tstate.views.primaryBar = filterById(state.views.primaryBar, id);\n\t\t\t\t\tstate.views.secondaryBar = filterById(state.views.secondaryBar, id);\n\t\t\t\t\tstate.views.appView = filterById(state.views.appView, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t// add board\n\t\taddBoardView: (data: BoardView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = unionBy([data], state.views.board, 'id');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove board\n\t\tremoveBoardView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = filterById(state.views.board, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// add settings\n\t\taddSettingsView: (data: SettingsView): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = sortBy(unionBy([data], state.views.settings, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove settings\n\t\tremoveSettingsView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = filterById(state.views.settings, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: SearchView): string => {\n\t\t\tconst { standalone } = get();\n\t\t\tif (standalone && data.route !== standalone) {\n\t\t\t\treturn STANDALONE_RESPONSE;\n\t\t\t}\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = sortBy(unionBy([data], state.views.search, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove search\n\t\tremoveSearchView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = filterById(state.views.search, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: UtilityView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = sortBy(\n\t\t\t\t\t\tunionBy([data], state.views.utilityBar, 'id'),\n\t\t\t\t\t\t'position'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove utility\n\t\tremoveUtilityView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = filterById(state.views.utilityBar, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: PrimaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.primaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = filterById(state.views.primaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: SecondaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.secondaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = filterById(state.views.secondaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.primaryBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.utilityBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.utilityBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.utilityBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n})) as UseBoundStore<AppState, StoreApi<AppState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { trim } from 'lodash';\nimport React, { FC } from 'react';\nimport {\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\n\nexport const normalizeApp = (app: Partial<CarbonioModule>): CarbonioModule => ({\n\tcommit: app.commit ?? '',\n\tdescription: app.description ?? 'A carbonio Module',\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: app.js_entrypoint ?? '',\n\tname: app.name ?? 'module',\n\tpriority: app.priority ?? 99,\n\tversion: app.version ?? '',\n\ttype: app.type ?? 'carbonio',\n\tattrKey: app.attrKey,\n\ticon: app.icon ?? 'Cube',\n\tdisplay: app.display ?? 'Module',\n\tsentryDsn: app.sentryDsn\n});\n\nconst FallbackView: FC = () => <p>Missing Component</p>;\n\nexport const normalizeBadgeInfo = (badge: Partial<BadgeInfo>): BadgeInfo => ({\n\tshow: badge.show ?? false,\n\tcount: badge.count ?? 0,\n\tshowCount: badge.showCount ?? false,\n\tcolor: badge.color ?? 'primary'\n});\n\nexport const normalizeRoute = (\n\tdata: Partial<AppRouteDescriptor>,\n\tapp: CarbonioModule\n): AppRouteDescriptor => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data.id ?? route,\n\t\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\t\tposition: data?.position ?? app.priority,\n\t\tvisible: data?.visible ?? true,\n\t\tlabel: data?.label ?? '',\n\t\tprimaryBar: data.primaryBar ?? app.icon ?? 'CubeOutline',\n\t\tsecondaryBar: data.secondaryBar,\n\t\tappView: data.appView ?? FallbackView,\n\t\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: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport create, { UseBoundStore, StoreApi } from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport { ContextBridgeState } from '../../types';\n\nexport const useContextBridge = create<ContextBridgeState>((set) => ({\n\tpackageDependentFunctions: {},\n\tfunctions: {},\n\tadd: ({ packageDependentFunctions, functions }): void => {\n\t\tset((s) => ({\n\t\t\tpackageDependentFunctions: reduce(\n\t\t\t\tpackageDependentFunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.packageDependentFunctions\n\t\t\t),\n\t\t\tfunctions: reduce(\n\t\t\t\tfunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.functions\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ContextBridgeState, StoreApi<ContextBridgeState>>;\n\nexport const useBridge = (content: Partial<Omit<ContextBridgeState, 'add'>>): void => {\n\tconst addFunctions = useContextBridge(({ add }) => add);\n\tuseEffect(() => {\n\t\taddFunctions(content);\n\t}, [content, addFunctions]);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { ComponentType, useMemo } from 'react';\nimport {\n\tFolders,\n\tSearches,\n\tSearchFolder,\n\tFolder,\n\tAccordionFolder,\n\tFolderView\n} from '../../../types';\nimport { FOLDER_VIEW } from '../../constants';\nimport { useFolderStore } from './store';\nimport { filterNodes, folderViewFilter, isRoot, mapNodes, sortFolders } from './utils';\n\n// FOLDERS\nexport const useFolder = (id: string): Folder | undefined => useFolderStore((s) => s.folders?.[id]);\nexport const getFolder = (id: string): Folder | undefined =>\n\tuseFolderStore.getState()?.folders?.[id];\nexport const useFolders = (): Folders => useFolderStore((s) => s.folders);\nexport const getFolders = (): Folders => useFolderStore.getState().folders;\n\n// ROOTS\nexport const useRoot = (id: string): Folder | undefined => useFolderStore((s) => s.roots?.[id]);\nexport const getRoot = (id: string): Folder | undefined => useFolderStore.getState().roots?.[id];\nexport const useRoots = (): Folders => useFolderStore((s) => s.roots);\nexport const getRoots = (): Folders => useFolderStore.getState().roots;\n\n// ROOTS BY VIEW\nexport const useRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> =>\n\tuseFolderStore((s) => (s.roots ? s.roots[userId] : {}));\nexport const getRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> => {\n\tconst folders = useFolderStore.getState();\n\treturn folders.roots ? folders.roots[userId] : {};\n};\n\n// SEARCHES\n\nexport const useSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore((s) => s.searches?.[id]);\nexport const getSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore.getState().searches[id];\nexport const useSearchFolders = (): Searches => useFolderStore((s) => s.searches);\nexport const getSearchFolders = (): Searches => useFolderStore.getState().searches;\n\n// Accordion-ize\n\nexport const useFoldersByView = (view: FolderView): Array<Folder> => {\n\tconst roots = useRoots();\n\tconst sortFunction = useMemo(\n\t\t() => (view === FOLDER_VIEW.message ? sortFolders : undefined),\n\t\t[view]\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\troots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view), sortFunction) : [],\n\t\t[roots, sortFunction, view]\n\t);\n};\n\nexport const useFoldersAccordionByView = (\n\tview: FolderView,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n): Array<AccordionFolder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots\n\t\t\t\t? mapNodes<Folder, AccordionFolder>(Object.values(roots), {\n\t\t\t\t\t\tmapFunction: (f) => {\n\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\tid: f.id,\n\t\t\t\t\t\t\t\tlabel: f.name,\n\t\t\t\t\t\t\t\tCustomComponent,\n\t\t\t\t\t\t\t\titems: [],\n\t\t\t\t\t\t\t\tfolder: f,\n\t\t\t\t\t\t\t\tdisableHover: isRoot(f)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst props = itemProps?.(item) ?? {};\n\t\t\t\t\t\t\treturn { ...item, ...props };\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfilterFunction: folderViewFilter(view),\n\t\t\t\t\t\trecursionKey: 'items',\n\t\t\t\t\t\tsortFunction: sortFolders,\n\t\t\t\t\t\tdeep: false\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t[CustomComponent, itemProps, roots, view]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { FolderState } from '../../../types';\nimport { folderWorker } from '../../workers';\n\nexport const useFolderStore = create<FolderState>(() => ({\n\tfolders: {},\n\troots: {},\n\tsearches: {}\n})) as UseBoundStore<FolderState, StoreApi<FolderState>>;\n\nfolderWorker.onmessage = ({ data }): void => {\n\tuseFolderStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { sortBy } from 'lodash';\nimport { Folder, FolderView, LinkFolder, TreeNode } from '../../../types';\nimport { FOLDERS, ROOT_NAME } from '../../constants';\n\nconst hasId = (f: Folder | TreeNode<unknown>, id: string): boolean => f.id.split(':').includes(id);\nconst getOriginalId = (f: Folder): string => {\n\tconst parts = f.id.split(':');\n\treturn parts[1] ?? parts[0];\n};\nexport const sortFolders = (f: Folder): string => {\n\tconst id = getOriginalId(f);\n\tif (id === FOLDERS.TRASH) {\n\t\treturn '~';\n\t}\n\treturn parseInt(id, 10) < 17 ? ` ${id}` : f.name.toLowerCase();\n};\n\nexport const isTrash = (f: Folder): boolean => hasId(f, FOLDERS.TRASH);\n\nexport const isRoot = (f: Folder): boolean =>\n\tf.id === FOLDERS.USER_ROOT || (f as LinkFolder).oname === ROOT_NAME;\n\nexport const folderViewFilter =\n\t(v: FolderView) =>\n\t(deep?: boolean) =>\n\t(f: Folder): boolean =>\n\t\tf.view === v || !deep || (typeof f.view === 'undefined' && !isRoot(f));\n\nexport const filterNodes = <T>(\n\tchildren: TreeNode<T>[],\n\tf: (deep?: boolean) => (i: TreeNode<T>) => boolean,\n\tsortFunction?: (i: TreeNode<T>) => number | string,\n\tdeep?: boolean\n): TreeNode<T>[] => {\n\tconst childrenSorted = sortFunction ? sortBy(children, sortFunction) : children;\n\treturn childrenSorted\n\t\t.filter(f(deep))\n\t\t.map((i) => ({ ...i, children: filterNodes<TreeNode<T>>(i.children, f, sortFunction, true) }));\n};\n\ntype MapNodesOptions<T, U> = {\n\tmapFunction: (i: TreeNode<T>) => U;\n\tfilterFunction: (deep?: boolean) => (i: TreeNode<T>) => boolean;\n\trecursionKey: keyof U;\n\tsortFunction: (i: TreeNode<T>) => number | string;\n\tdeep: boolean;\n};\nexport const mapNodes = <T, U>(\n\tchildren: TreeNode<T>[],\n\t{ mapFunction, filterFunction, recursionKey, sortFunction, deep }: MapNodesOptions<T, U>\n): U[] =>\n\tsortBy(children, sortFunction).reduce((acc, folder) => {\n\t\tif (filterFunction(deep)(folder)) {\n\t\t\tacc.push({\n\t\t\t\t...mapFunction(folder),\n\t\t\t\t[recursionKey]: mapNodes<TreeNode<T>, U>(folder.children, {\n\t\t\t\t\tmapFunction,\n\t\t\t\t\tfilterFunction,\n\t\t\t\t\trecursionKey,\n\t\t\t\t\tsortFunction,\n\t\t\t\t\tdeep: true\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn acc;\n\t}, [] as U[]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Container } from '@zextras/carbonio-design-system';\n// TinyMCE so the global var exists\n// eslint-disable-next-line no-unused-vars\nimport tinymce from 'tinymce/tinymce';\n// this 'expression' prevents webpack from stripping it, maybe there's a better way\ntinymce;\n\n// Theme\nimport 'tinymce/themes/silver';\n// Toolbar icons\nimport 'tinymce/icons/default';\n// Editor styles\nimport 'tinymce/skins/ui/oxide/skin.min.css';\n\n// importing the plugin js.\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/autoresize';\n\nimport { Editor } from '@tinymce/tinymce-react';\nimport { useUserSettings } from '../account';\n\ntype ComposerProps = {\n\t/** The callback invoked when an edit is performed into the editor. `([text, html]) => {}` */\n\tonEditorChange?: (values: [string, string]) => void;\n\t/** Enable the distraction-free mode */\n\tinline?: boolean;\n\t/** The initial content of the editor */\n\tinitialValue?: string;\n\t/** The content of the editor (controlled mode) */\n\tvalue?: string;\n\t/** The base url to append to the resource urls */\n\tbaseAssetsUrl?: string;\n};\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tinline = false,\n\tvalue,\n\tbaseAssetsUrl,\n\tinitialValue,\n\t...rest\n}) => {\n\tconst _onEditorChange = useCallback(\n\t\t(newContent, editor) => {\n\t\t\tonEditorChange?.([\n\t\t\t\teditor.getContent({ format: 'text' }),\n\t\t\t\teditor.getContent({ format: 'html' })\n\t\t\t]);\n\t\t},\n\t\t[onEditorChange]\n\t);\n\tconst { prefs } = useUserSettings();\n\tconst defaultStyle = useMemo(\n\t\t() => ({\n\t\t\tfont: prefs?.zimbraPrefHtmlEditorDefaultFontFamily,\n\t\t\tfontSize: prefs?.zimbraPrefHtmlEditorDefaultFontSize,\n\t\t\tcolor: prefs?.zimbraPrefHtmlEditorDefaultFontColor\n\t\t}),\n\t\t[prefs]\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<Editor\n\t\t\t\tinitialValue={initialValue}\n\t\t\t\tvalue={value}\n\t\t\t\tinit={{\n\t\t\t\t\tcontent_css: `${baseAssetsUrl}/tinymce/skins/content/default/content.css`,\n\t\t\t\t\tmin_height: 350,\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tstatusbar: false,\n\t\t\t\t\tbranding: false,\n\t\t\t\t\tresize: true,\n\t\t\t\t\tinline,\n\t\t\t\t\tfontsize_formats:\n\t\t\t\t\t\t'8pt 9pt 10pt 11pt 12pt 13pt 14pt 16pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt',\n\t\t\t\t\tobject_resizing: 'img',\n\t\t\t\t\tstyle_formats: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: 'Headers',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{ title: 'h1', block: 'h1' },\n\t\t\t\t\t\t\t\t{ title: 'h2', block: 'h2' },\n\t\t\t\t\t\t\t\t{ title: 'h3', block: 'h3' },\n\t\t\t\t\t\t\t\t{ title: 'h4', block: 'h4' },\n\t\t\t\t\t\t\t\t{ title: 'h5', block: 'h5' },\n\t\t\t\t\t\t\t\t{ title: 'h6', block: 'h6' }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: 'Blocks',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{ title: 'p', block: 'p' },\n\t\t\t\t\t\t\t\t{ title: 'div', block: 'div' },\n\t\t\t\t\t\t\t\t{ title: 'pre', block: 'pre' }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: 'Containers',\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{ title: 'section', block: 'section', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t\t\t{ title: 'article', block: 'article', wrapper: true, merge_siblings: false },\n\t\t\t\t\t\t\t\t{ title: 'blockquote', block: 'blockquote', wrapper: true },\n\t\t\t\t\t\t\t\t{ title: 'hgroup', block: 'hgroup', wrapper: true },\n\t\t\t\t\t\t\t\t{ title: 'aside', block: 'aside', wrapper: true },\n\t\t\t\t\t\t\t\t{ title: 'figure', block: 'figure', wrapper: true }\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tplugins: [\n\t\t\t\t\t\t'advlist',\n\t\t\t\t\t\t'autolink',\n\t\t\t\t\t\t'lists',\n\t\t\t\t\t\t'link',\n\t\t\t\t\t\t'image',\n\t\t\t\t\t\t'edit',\n\t\t\t\t\t\t'file',\n\t\t\t\t\t\t'charmap',\n\t\t\t\t\t\t'print',\n\t\t\t\t\t\t'preview',\n\t\t\t\t\t\t'anchor',\n\t\t\t\t\t\t'searchreplace',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'fullscreen',\n\t\t\t\t\t\t'insertdatetime',\n\t\t\t\t\t\t'media',\n\t\t\t\t\t\t'table',\n\t\t\t\t\t\t'paste',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'help',\n\t\t\t\t\t\t'quickbars',\n\t\t\t\t\t\t'directionality',\n\t\t\t\t\t\t'autoresize',\n\t\t\t\t\t\t'visualblocks'\n\t\t\t\t\t],\n\n\t\t\t\t\ttoolbar: inline\n\t\t\t\t\t\t? false\n\t\t\t\t\t\t: // eslint-disable-next-line max-len\n\t\t\t\t\t\t 'fontselect fontsizeselect styleselect visualblocks| bold italic underline strikethrough | removeformat code | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent | ltr rtl | insertfile image ',\n\t\t\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t\t\t: 'quicklink',\n\t\t\t\t\tcontextmenu: inline ? '' : '',\n\t\t\t\t\ttoolbar_mode: 'wrap',\n\t\t\t\t\tforced_root_block: false,\n\t\t\t\t\tcontent_style: `body { color: ${defaultStyle?.color}; font-size: ${defaultStyle?.fontSize}; font-family: ${defaultStyle?.font}; }`,\n\t\t\t\t\tvisualblocks_default_state: true,\n\t\t\t\t\tend_container_on_empty_block: true\n\t\t\t\t}}\n\t\t\t\tonEditorChange={_onEditorChange}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</Container>\n\t);\n};\n\nexport default Composer;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { FC, FunctionComponent } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().hooks?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().functions?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const getIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore.getState().components?.[id];\n\tif (Integration) {\n\t\tconst C: FC = (props: unknown) => (\n\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t<Integration.item {...props} />\n\t\t\t</AppContextProvider>\n\t\t);\n\t\treturn [C, true];\n\t}\n\treturn [(): null => null, false];\n};\n\nexport const getActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn compact(\n\t\tmap(factories, (f) => {\n\t\t\ttry {\n\t\t\t\tconst action = f(target);\n\t\t\t\treturn action;\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(e);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const getActionsFactory = (type: string): (<T>(target: T) => Array<Action>) => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn <T,>(target: T): Array<Action> =>\n\t\tcompact(\n\t\t\tmap(factories, (f) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst action = f(target);\n\t\t\t\t\treturn action;\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n};\n\nexport const getAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\tconst action = factory?.(target);\n\treturn [action, !!action];\n};\n\nexport const getActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { useMemo, FC, FunctionComponent, useCallback } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory, CombinedActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.hooks?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.functions?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const useIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore((s) => s.components?.[id]);\n\treturn useMemo(() => {\n\t\tif (Integration) {\n\t\t\tconst C: FC = (props: unknown) => (\n\t\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t\t<Integration.item {...props} />\n\t\t\t\t</AppContextProvider>\n\t\t\t);\n\t\t\treturn [C, true];\n\t\t}\n\t\treturn [(): null => null, false];\n\t}, [Integration]);\n};\n\nexport const useActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t) ?? [],\n\t\t[factories, target]\n\t);\n\treturn actions;\n};\n\nexport const useActionsFactory = <T,>(type: string): CombinedActionFactory<T> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst combinedFactory = useCallback(\n\t\t(target: unknown) =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[factories]\n\t);\n\treturn combinedFactory;\n};\n\nexport const useAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\tconst action = useMemo(() => {\n\t\ttry {\n\t\t\treturn factory?.(target);\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}, [factory, target]);\n\treturn [action, !!action];\n};\n\nexport const useActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport create from 'zustand';\nimport { forEach, omit, reduce } from 'lodash';\nimport { ComponentType } from 'react';\nimport { ActionFactory, AnyFunction, IntegrationsState, SHELL_APP_ID } from '../../../types';\nimport Composer from './composer';\n\nexport const useIntegrationsStore = create<IntegrationsState>((set) => ({\n\tactions: {},\n\tcomponents: {\n\t\tcomposer: {\n\t\t\titem: Composer,\n\t\t\tapp: SHELL_APP_ID\n\t\t}\n\t},\n\thooks: {},\n\tfunctions: {},\n\tregisterActions: <T>(\n\t\t...items: Array<{ id: string; action: ActionFactory<T>; type: string }>\n\t): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, action, type }) => {\n\t\t\t\t\tif (!state.actions[type]) state.actions[type] = {};\n\t\t\t\t\tstate.actions[type][id] = action;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterComponents:\n\t\t(app: string) =>\n\t\t(...items: Array<{ id: string; component: ComponentType }>): void =>\n\t\t\tset(\n\t\t\t\tproduce((state) => {\n\t\t\t\t\tforEach(items, ({ id, component }) => {\n\t\t\t\t\t\tstate.components[id] = { app, item: component };\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\tregisterHooks: (...items: Array<{ id: string; hook: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, hook }) => {\n\t\t\t\t\tstate.hooks[id] = hook;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, fn }) => {\n\t\t\t\t\tstate.functions[id] = fn;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveActions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: reduce(\n\t\t\t\ts.actions,\n\t\t\t\t(acc, actions, type) => ({ ...acc, [type]: omit(actions, ids) }),\n\t\t\t\t{}\n\t\t\t)\n\t\t})),\n\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.components, ids)\n\t\t})),\n\tremoveHooks: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.hooks, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../../../types';\nimport { useNetworkStore } from './store';\n\nexport const useNotify = (): SoapNotify[] => {\n\tconst notify = useNetworkStore((s) => s.notify ?? []);\n\treturn notify;\n};\nexport const useRefresh = (): SoapRefresh => useNetworkStore((s) => s.refresh ?? {});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { NetworkState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useNetworkStore = create<NetworkState>(() => ({\n\tpollingInterval: 30000,\n\tseq: 0\n})) as UseBoundStore<NetworkState, StoreApi<NetworkState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forEach } from 'lodash';\nimport { SoapContext } from '../../../types';\n\n// import { map, maxBy } from 'lodash';\n// import { SoapContext } from '../../../types';\n// import { getSoapFetch } from '../../network/fetch';\n// import { useNetworkStore } from './store';\n\nimport { folderWorker, tagWorker } from '../../workers';\nimport { useFolderStore } from '../folder';\nimport { useTagStore } from '../tags';\nimport { useNetworkStore } from './store';\n\nexport const handleSync = ({ refresh, notify }: SoapContext): Promise<void> =>\n\tnew Promise((r) => {\n\t\tconst { seq } = useNetworkStore.getState();\n\t\tif (refresh) {\n\t\t\ttagWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\ttags: refresh.tags\n\t\t\t});\n\t\t\tfolderWorker.postMessage({\n\t\t\t\top: 'refresh',\n\t\t\t\tfolder: refresh.folder ?? []\n\t\t\t});\n\t\t}\n\t\tif (notify?.length) {\n\t\t\tforEach(notify, (item) => {\n\t\t\t\tif (item.seq > seq) {\n\t\t\t\t\ttagWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useTagStore.getState().tags\n\t\t\t\t\t});\n\t\t\t\t\tfolderWorker.postMessage({\n\t\t\t\t\t\top: 'notify',\n\t\t\t\t\t\tnotify: item,\n\t\t\t\t\t\tstate: useFolderStore.getState().folders\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tr();\n\t});\n// export const noOp = (): void => {\n// \t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n// \tgetSoapFetch(SHELL_APP_ID)(\n// \t\t'NoOp',\n// \t\tuseNetworkStore.getState().pollingInterval === 500\n// \t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n// \t\t\t: { _jsns: 'urn:zimbraMail' }\n// \t);\n// };\n// export const handleSoapContext = ({ notify, refresh, session, change }: SoapContext): void =>\n// \tuseNetworkStore.setState({\n// \t\tsession,\n// \t\tchange,\n// \t\trefresh,\n// \t\tseq: maxBy(notify, 'seq'),\n// \t\tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// \t\tnotify: map(notify, (notifyItem) => ({\n// \t\t\t...notifyItem,\n// \t\t\tdeleted: notifyItem.deleted?.id?.split(',')\n// \t\t}))\n// \t});\n// // handleTagSync(_context);\n// // useNetworkStore.setState({\n// // \tnoOpTimeout: setTimeout(() => noOp(), pollingInterval),\n// // \t,\n// // \t...res?.Header?.context\n// // });\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { pick } from 'lodash';\nimport { Tags } from '../../../types';\nimport { useTagStore } from './store';\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nexport const useTags = (ids?: Array<string> | string): Tags =>\n\tuseTagStore((s) => (ids ? pick(s.tags, ids) : s.tags));\nexport const getTags = (ids?: Array<string> | string): Tags =>\n\tids ? pick(useTagStore.getState().tags, ids) : useTagStore.getState().tags;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { TagState } from '../../../types';\nimport { tagWorker } from '../../workers';\n\nexport const useTagStore = create<TagState>(() => ({\n\ttags: {}\n})) as UseBoundStore<TagState, StoreApi<TagState>>;\n\ntagWorker.onmessage = ({ data }): void => {\n\tuseTagStore.setState(data);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useMemo } from 'react';\nimport { Link as RRLink, LinkProps } from 'react-router-dom';\nimport { parseParams } from '../history/hooks';\n\ntype AppLinkProps = LinkProps & {\n\troute?: string;\n};\nexport const AppLink: FC<AppLinkProps> = ({ to, route, ...rest }) => {\n\tconst _to = useMemo(() => parseParams({ path: to, route }), [route, to]);\n\treturn <RRLink style={{ textDecoration: 'none' }} to={_to} {...rest} />;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState, FC, useMemo } from 'react';\nimport { Location } from 'history';\nimport { Prompt, useHistory } from 'react-router-dom';\nimport { Modal } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nexport const RouteLeavingGuard: FC<{\n\twhen?: boolean;\n\tonSave: () => void;\n}> = ({ children, when, onSave }) => {\n\tconst history = useHistory();\n\tconst lastLocationInitial = useMemo(() => history.location.pathname, [history]);\n\tconst [modalVisible, setModalVisible] = useState(false);\n\tconst [lastLocation, setLastLocation] = useState<Location>(lastLocationInitial);\n\tconst [confirmedNavigation, setConfirmedNavigation] = useState(false);\n\tconst [t] = useTranslation();\n\tconst onClose = (): void => {\n\t\tsetModalVisible(false);\n\t\tsetConfirmedNavigation(true);\n\t};\n\tconst handleBlockedNavigation = (nextLocation: Location): boolean => {\n\t\tif (\n\t\t\t!confirmedNavigation &&\n\t\t\tnextLocation.pathname !== (lastLocation?.pathname || lastLocationInitial)\n\t\t) {\n\t\t\tsetModalVisible(true);\n\t\t\tsetLastLocation(nextLocation);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\tconst onConfirm = (): void => {\n\t\tsetModalVisible(false);\n\t\tonSave();\n\t\tsetConfirmedNavigation(true);\n\t};\n\tuseEffect(() => {\n\t\tif (confirmedNavigation && lastLocation) {\n\t\t\t// Navigate to the previous blocked location with your navigate function\n\t\t\thistory.push(lastLocation.pathname);\n\t\t}\n\t}, [confirmedNavigation, history, lastLocation]);\n\treturn (\n\t\t<>\n\t\t\t<Prompt when={when} message={handleBlockedNavigation} />\n\t\t\t{/* Your own alert/dialog/modal component */}\n\t\t\t<Modal\n\t\t\t\topen={modalVisible}\n\t\t\t\tonClose={onClose}\n\t\t\t\tonConfirm={onConfirm}\n\t\t\t\ttitle={t('label.unsaved_changes', 'You have unsaved changes')}\n\t\t\t\tdismissLabel={t('label.leave_anyway', 'Leave anyway')}\n\t\t\t\tconfirmLabel={t('label.save_and_leave', 'Save and leave')}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Modal>\n\t\t</>\n\t);\n};\nexport default RouteLeavingGuard;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC } from 'react';\nimport { Button, Container } from '@zextras/carbonio-design-system';\n\nexport const Spinner: FC = () => (\n\t<Container width=\"fill\" height=\"fill\" mainAlignment=\"center\" crossAlignment=\"center\">\n\t\t{/* the \"Button\" string doesn't need to be translated as it's not rendered */}\n\t\t<Button type=\"ghost\" label=\"Button\" color=\"primary\" loading />\n\t</Container>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Container, Tooltip, IconButton, Dropdown } from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useUtilityBarStore } from './store';\nimport { SHELL_APP_ID, UtilityView } from '../../types';\nimport { useUtilityViews } from './utils';\nimport { logout } from '../network/logout';\nimport { useContextBridge } from '../store/context-bridge';\nimport { noOp } from '../network/fetch';\nimport { useUserAccount } from '../store/account';\n\nconst UtilityBarItem: FC<{ view: UtilityView }> = ({ view }) => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst onClick = useCallback((): void => {\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\tsetMode(current !== view.id ? 'open' : mode !== 'open' ? 'open' : 'closed');\n\t\tsetCurrent(view.id);\n\t}, [current, mode, setCurrent, setMode, view.id]);\n\tif (typeof view.button === 'string') {\n\t\treturn (\n\t\t\t<Tooltip label={view.label} placement=\"bottom-end\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.button}\n\t\t\t\t\ticonColor={current === view.id ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\treturn <view.button mode={mode} setMode={setMode} />;\n};\n\nexport const ShellUtilityBar: FC = () => {\n\tconst views = useUtilityViews();\n\tconst [t] = useTranslation();\n\tconst account = useUserAccount();\n\tconst accountItems = useMemo(\n\t\t() => [\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\titemTextSize: 'small'\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\tclick: () =>\n\t\t\t\t\tuseContextBridge.getState().packageDependentFunctions?.addBoard(SHELL_APP_ID)(\n\t\t\t\t\t\t'/feedback/',\n\t\t\t\t\t\t{ title: t('label.feedback', 'Feedback') }\n\t\t\t\t\t),\n\t\t\t\ticon: 'MessageSquareOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'update',\n\t\t\t\tlabel: t('label.update_view', 'Update view'),\n\t\t\t\tclick: (): void => noOp(),\n\t\t\t\ticon: 'Refresh'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'docs',\n\t\t\t\tlabel: t('label.documentation', 'Documentation'),\n\t\t\t\t// TODO: Replace when the correct link is available\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\t\t\t\tclick: (): void => {},\n\t\t\t\tdisabled: true,\n\t\t\t\ticon: 'InfoOutline'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'logout',\n\t\t\t\tlabel: t('label.logout', 'Logout'),\n\t\t\t\tclick: logout,\n\t\t\t\ticon: 'LogOut'\n\t\t\t}\n\t\t],\n\t\t[account, t]\n\t);\n\treturn (\n\t\t<Container orientation=\"horizontal\" width=\"fit\">\n\t\t\t{map(views, (view) => (\n\t\t\t\t<UtilityBarItem view={view} key={view.id} />\n\t\t\t))}\n\t\t\t<Tooltip label={account?.displayName ?? account?.name} placement=\"bottom-end\">\n\t\t\t\t<Dropdown items={accountItems} maxWidth=\"300px\" disableAutoFocus>\n\t\t\t\t\t<IconButton icon=\"PersonOutline\" size=\"large\" />\n\t\t\t\t</Dropdown>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './bar';\nexport * from './panel';\nexport * from './store';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { Container, Responsive } from '@zextras/carbonio-design-system';\nimport { find } from 'lodash';\nimport styled from 'styled-components';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { useUtilityViews } from './utils';\nimport { useUtilityBarStore } from './store';\n\nconst Panel = styled(Container)`\n\twidth: ${({ mode }): number => (mode !== 'closed' ? 256 : 48)}px;\n\tborder-radius: 0;\n\theight: 100%;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\ttransition: width 0.2s;\n\tborder-left: 1px solid ${({ theme }): string => theme.palette.gray2.regular};\n`;\nconst Spacer = styled.div<{ mode: string }>`\n\tposition: relative;\n\twidth: ${({ mode }): number => (mode === 'open' ? 256 : 48)}px;\n\theight: 100%;\n\ttransition: width 0.2s;\n`;\n\nexport const ShellUtilityPanel: FC = () => {\n\tconst { mode, setMode, current, setCurrent } = useUtilityBarStore();\n\tconst views = useUtilityViews();\n\tconst currentPanel = useMemo(() => find(views, (view) => view.id === current), [current, views]);\n\tuseEffect(() => {\n\t\tif (!(current && currentPanel)) {\n\t\t\tsetCurrent(views[0]?.id);\n\t\t}\n\t}, [current, currentPanel, setCurrent, views]);\n\treturn currentPanel ? (\n\t\t<Responsive mode=\"desktop\">\n\t\t\t<Spacer mode={mode}>\n\t\t\t\t<Panel mode={mode} mainAlignment=\"flex-start\">\n\t\t\t\t\t{currentPanel && (\n\t\t\t\t\t\t<AppContextProvider pkg={currentPanel?.id}>\n\t\t\t\t\t\t\t<currentPanel.component mode={mode} setMode={setMode} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t)}\n\t\t\t\t</Panel>\n\t\t\t</Spacer>\n\t\t</Responsive>\n\t) : null;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport create from 'zustand';\nimport { UtilityBarStore } from '../../types';\n\nexport const useUtilityBarStore = create<UtilityBarStore>((set) => ({\n\tmode: 'closed',\n\tcurrent: undefined,\n\tsecondaryBarState: true,\n\tsetMode: (mode): void =>\n\t\tset((s) => ({ mode, secondaryBarState: mode === 'open' ? false : s.secondaryBarState })),\n\tsetCurrent: (current): void => set({ current }),\n\tsetSecondaryBarState: (secondaryBarState: boolean): void => set({ secondaryBarState })\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, intersection, omit } from 'lodash';\nimport { useMemo } from 'react';\nimport { AppRoute, PrimaryAccessoryView, SecondaryAccessoryView, UtilityView } from '../../types';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\n\nexport const checkList = (l1: Array<string>, l2?: Array<string>): boolean =>\n\tintersection(l1, l2).length > 0;\n\nexport const checkRoute = (\n\tview: UtilityView | PrimaryAccessoryView | SecondaryAccessoryView,\n\tactiveRoute?: AppRoute\n): boolean => {\n\tconst activeRouteValues = Object.values(omit(activeRoute, 'standalone') ?? {});\n\tif (view.blacklistRoutes) return !checkList(activeRouteValues, view.blacklistRoutes);\n\tif (view.whitelistRoutes) return checkList(activeRouteValues, view.whitelistRoutes);\n\treturn true;\n};\nexport const useUtilityViews = (): Array<UtilityView> => {\n\tconst utilityViews = useAppStore((s) => s.views.utilityBar);\n\n\tconst activeRoute = useCurrentRoute();\n\treturn useMemo(\n\t\t() => filter(utilityViews, (v) => checkRoute(v, activeRoute)),\n\t\t[activeRoute, utilityViews]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const folderWorker = new Worker(new URL('./folder', import.meta.url));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport { ComponentType, Dispatch, FC, SetStateAction } from 'react';\nimport { LinkProps } from 'react-router-dom';\nimport { Reducer, Store } from 'redux';\nimport { TFunction } from 'react-i18next';\nimport {\n\tAppRoute,\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../apps';\nimport { ActionFactory, AnyFunction, CombinedActionFactory, Action } from '../integrations';\nimport {\n\tAccountSettings,\n\tAccount,\n\tAccountRights,\n\tAccountRightName,\n\tAccountRightTarget,\n\tSoapFetch\n} from '../account';\nimport { Mods, TagActionResponse, CreateTagResponse, SoapNotify, SoapRefresh } from '../network';\nimport { HistoryParams, ShellModes, AccordionFolder } from '../misc';\nimport { Tag, Tags } from '../tags';\nimport { Folder, Folders } from '../folder';\nimport { QueryChip } from '../search';\nimport { INotificationManager } from '../notification';\n\nexport const getBridgedFunctions: () => {\n\taddBoard: (path: string, context?: unknown | { app: string }) => void;\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\n\tremoveBoard: (key: string) => void;\n\tremoveCurrentBoard: () => void;\n\tsetCurrentBoard: (key: string) => void;\n\tupdateBoard: (key: string, url: string, title: string) => void;\n\tupdateCurrentBoard: (url: string, title: string) => void;\n\tt: TFunction;\n\ttoggleMinimizedBoard: () => void;\n};\nexport const editSettings: (mods: Mods) => Promise<any>;\nexport const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;\nexport const FOLDERS: {\n\t[name: string]: string;\n};\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES: {\n\t[name: string]: string;\n};\nexport const SHELL_MODES: Record<string, ShellModes>;\nexport const BASENAME: string;\n\nexport const IS_STANDALONE: boolean;\n\nexport const getIntegratedHook: (id: string) => [Function, boolean];\nexport const getIntegratedFunction: (id: string) => [Function, boolean];\nexport const getIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const getActions: <T>(target: T, type: string) => Array<Action>;\nexport const getActionsFactory: (type: string) => <T>(target: T) => Array<Action>;\nexport const getAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const getActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useIntegratedHook: (id: string) => [Function, boolean];\nexport const useIntegratedFunction: (id: string) => [Function, boolean];\nexport const useIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const useActions: <T>(target: T, type: string) => Array<Action>;\nexport const useActionsFactory: <T>(type: string) => CombinedActionFactory<T>;\nexport const useAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const useActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useApp: () => CarbonioModule;\nexport const getApp: () => CarbonioModule;\nexport const useAppContext: <T>() => T;\nexport const getAppContext: <T>() => T;\nexport const useUserAccount: () => Account;\nexport const useUserAccounts: () => Array<Account>;\nexport const useUserRights: () => AccountRights;\nexport const useUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const getUserAccount: () => Account;\nexport const getUserAccounts: () => Array<Account>;\nexport const getUserRights: () => AccountRights;\nexport const getUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const useTags: () => Tags;\nexport const getTags: () => Tags;\nexport const useTag: (id: string) => Tag;\nexport const getTag: (id: string) => Tag;\nexport const useFolder: (id: string) => BaseFolder | Folder | LinkFolder;\nexport const getFolder: (id: string) => BaseFolder | Folder | LinkFolder;\nexport const useFolders: () => Folders;\nexport const getFolders: () => Folders;\nexport const useRoot: (name: string) => Folder;\nexport const getRoot: (name: string) => Folder;\nexport const useRoots: () => Roots;\nexport const getRoots: () => Roots;\nexport const useRootByView: (view: string) => Folder;\nexport const getRootByView: (view: string) => Folder;\nexport const createTag: (tag: Omit<Tag, 'id'>) => Promise<CreateTagResponse>;\nexport const renameTag: (id: string, name: string) => Promise<TagActionResponse>;\nexport const deleteTag: (id: string) => Promise<TagActionResponse>;\nexport const changeTagColor: (id: string, color: number | string) => Promise<TagActionResponse>;\nexport const useUserSettings: () => AccountSettings;\nexport const useUserSetting: <T = void>(...path: Array<string>) => string | T;\nexport const getUserSettings: () => AccountSettings;\nexport const getUserSetting: <T = void>(...path: Array<string>) => string | T;\nexport const store: {\n\tstore: Store<any>;\n\tsetReducer(nextReducer: Reducer): void;\n};\nexport const useNotify: () => Array<SoapNotify>;\nexport const useRefresh: () => SoapRefresh;\nexport const AppLink: FC<LinkProps>;\nexport const Spinner: FC;\nexport const useAddBoardCallback: () => (\n\tpath: string,\n\tcontext?: { app?: string; title?: string }\n) => void;\nexport const useUpdateCurrentBoard: () => (url: string, title: string) => void;\nexport const useRemoveCurrentBoard: () => () => void;\nexport const useBoardConfig: <T>() => T;\n\nexport const useIsMobile: () => boolean;\nexport const soapFetch: SoapFetch;\nexport const xmlSoapFetch: SoapFetch;\nexport const report: (error: Error, hint?: unknown) => void;\nexport const setAppContext: <T>(obj: T) => void;\n\nexport const removeActions: (...ids: Array<string>) => void;\nexport const registerActions: (\n\t...items: Array<{ id: string; action: ActionFactory<unknown>; type: string }>\n) => void;\nexport const removeComponents: (...ids: Array<string>) => void;\nexport const registerComponents: (\n\t...items: Array<{ id: string; component: ComponentType }>\n) => void;\nexport const removeHooks: (...ids: Array<string>) => void;\nexport const registerHooks: (...items: Array<{ id: string; hook: AnyFunction }>) => void;\nexport const removeFunctions: (...ids: Array<string>) => void;\nexport const registerFunctions: (...items: Array<{ id: string; fn: AnyFunction }>) => void;\n// add route (id route primaryBar secondaryBar app)\nexport const addRoute: (routeData: Partial<AppRouteDescriptor>) => string;\nexport const setRouteVisibility: (id: string, visible: boolean) => void;\n// remove route (id | route)\nexport const removeRoute: (id: string) => void;\n//\n// update primaryBar\nexport const updatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string) => void;\nexport const updateUtilityBadge: (badge: Partial<BadgeInfo>, id: string) => void;\n//\n// add board\nexport const addBoardView: (data: Object & Partial<BoardView>) => string;\n// remove board\nexport const removeBoardView: (id: string) => void;\n//\n// add settings\nexport const addSettingsView: (data: Partial<SettingsView>) => string;\n// remove settings\nexport const removeSettingsView: (id: string) => void;\n//\n// add search\nexport const addSearchView: (data: Partial<SearchView>) => string;\n// remove search\nexport const removeSearchView: (id: string) => void;\n//\n// add utility\nexport const addUtilityView: (data: Partial<UtilityView>) => string;\n// remove utility\nexport const removeUtilityView: (id: string) => void;\n//\n// add primaryAccessory\nexport const addPrimaryAccessoryView: (data: Partial<PrimaryAccessoryView>) => string;\n// remove primaryAccessory\nexport const removePrimaryAccessoryView: (id: string) => void;\n//\n// add secondaryAccessory\nexport const addSecondaryAccessoryView: (data: Partial<SecondaryAccessoryView>) => string;\n// remove secondaryAccessory\nexport const removeSecondaryAccessoryView: (id: string) => void;\nexport const usePushHistoryCallback: () => (params: HistoryParams) => void;\nexport const useReplaceHistoryCallback: () => (params: HistoryParams) => void;\nexport const useGoBackHistoryCallback: () => () => void;\nexport const pushHistory: (params: HistoryParams) => void;\nexport const replaceHistory: (params: HistoryParams) => void;\nexport const goBackHistory: () => void;\nexport const useCurrentRoute: () => AppRoute | undefined;\nexport const getCurrentRoute: () => AppRoute | undefined;\n\n// FOLDERS\n\n// ROOTS\n\n// ROOTS BY USER\nexport const useRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\nexport const getRootByUser: (userId: string) => Folder | SearchFolder | Record<string, never>;\n\n// SEARCHES\n\nexport const useSearchFolder: (id: string) => SearchFolder | undefined;\nexport const useSearchFolders: (id: string) => SearchFolder | undefined;\nexport const getSearchFolder: () => Searches;\nexport const getSearchFolders: () => Searches;\n\n// Accordion-ize\n\nexport const useFoldersByView: (view: string) => Array<Folder>;\n\nexport const useFoldersAccordionByView: (\n\tview: string,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n) => Array<AccordionFolder>;\n\n// NOTIFICATION\nexport const getNotificationManager: () => INotificationManager;\n\n// Run Search\nexport const runSearch: (query: Array<QueryChip>, module: string) => void;\n\nexport const useLocalStorage: <T>(key: string, initialValue: T) => [T, Dispatch<SetStateAction<T>>];\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './network';\nexport * from './exports';\nexport * from './account';\nexport * from './apps';\nexport * from './notification';\nexport * from './integrations';\nexport * from './theme';\nexport * from './search';\nexport * from './misc';\nexport * from './tags';\nexport * from './workers';\nexport * from './folder';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store } from '@reduxjs/toolkit';\nimport { To } from 'history';\nimport { i18n } from 'i18next';\nimport { ComponentType } from 'react';\nimport { CarbonioModule, PanelMode } from '../apps';\n\n// eslint-disable-next-line no-shadow\nexport enum JSNS {\n\tACCOUNT = 'urn:zimbraAccount',\n\tADMIN = 'urn:zimbraAdmin',\n\tMAIL = 'urn:zimbraMail',\n\tALL = 'urn:zimbra',\n\tSYNC = 'urn:zimbraSync'\n}\n\nexport interface II18nFactory {\n\t_cache: { [pkg: string]: i18n };\n\tlocale: string;\n\tsetLocale(locale: string): void;\n\tgetShellI18n(): i18n;\n\tgetAppI18n(appPkgDescription: CarbonioModule): i18n;\n}\n\nexport type DRPropValues = 'auto' | 'enabled' | 'disabled';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type PackageDependentFunction = (app: string) => Function;\n// eslint-disable-next-line @typescript-eslint/ban-types\n\nexport type ContextBridgeState = {\n\tpackageDependentFunctions: Record<string, PackageDependentFunction>;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tfunctions: Record<string, Function>;\n\tadd: (content: Partial<Omit<ContextBridgeState, 'add'>>) => void;\n};\n\nexport type IShellWindow = Window & {\n\t__ZAPP_SHARED_LIBRARIES__: { [name: string]: any };\n\t__ZAPP_HMR_EXPORT__: { [pkgName: string]: (appClass: ComponentType) => void };\n\t// __ZAPP_HMR_HANDLERS__: { [pkgName: string]: (handlers: RequestHandlersList) => void };\n};\n\nexport type LoadedAppRuntime = AppInjections & {\n\tpkg: CarbonioModule;\n};\n\nexport type LoadedAppsCache = {\n\t[pkgName: string]: LoadedAppRuntime;\n};\n\nexport type AppInjections = {\n\tstore: Store<any>;\n};\n\nexport type HistoryParams =\n\t| {\n\t\t\tpath: To;\n\t\t\troute?: string;\n\t }\n\t| string;\nexport type UtilityBarStore = {\n\tmode: PanelMode;\n\tsetMode: (mode: PanelMode) => void;\n\tcurrent?: string;\n\tsetCurrent: (current: string) => void;\n\tsecondaryBarState: boolean;\n\tsetSecondaryBarState: (state: boolean) => void;\n};\n\nexport type AccountProps = {\n\taccountId?: string;\n\ttype?: string;\n\tid?: number;\n\temail?: string;\n\tlabel?: string;\n\tpersonaLabel?: string;\n\tidentityId?: string;\n};\n\nexport type IdentityProps = {\n\tid: string;\n\ttype: string;\n\tidentityId: string | number;\n\tfromAddress?: string;\n\tidentityName?: string;\n\tfromDisplay?: string;\n\trecoveryAccount?: string;\n\treplyToDisplay?: string;\n\treplyToAddress?: string;\n\treplyToEnabled?: string;\n\tsaveToSent?: string;\n\tsentMailFolder?: string;\n\twhenInFoldersEnabled?: string;\n\twhenSentToEnabled?: string;\n\twhenSentToAddresses?: string;\n};\n\nexport type CreateModalProps = {\n\tbackground: string;\n\tcentered: boolean;\n\tchildren: React.ReactElement;\n\tconfirmColor: string;\n\tconfirmLabel: string;\n\tcopyLabel: string;\n\tcustomFooter: React.ReactElement;\n\tdisablePortal: boolean;\n\tdismissLabel: string;\n\thideFooter: boolean;\n\tmaxHeight: string;\n\tonClose: () => void;\n\tonConfirm: () => void;\n\tonSecondaryAction: () => void;\n\toptionalFooter: React.ReactElement;\n\tsecondaryActionLabel: string;\n\tshowCloseIcon: boolean;\n\tsize: string;\n\ttitle: string;\n\ttype: string;\n\tzIndex: number;\n};\n\n// Custom metadata\ntype Meta<T extends Record<string, unknown>> = {\n\t// Section. Normally present. If absent this indicates that CustomMetadata info is present but there are no sections to report on.\n\tsection?: string;\n\t_attrs: T;\n};\n// Grants\ntype Grant = {\n\t// Rights - Some combination of (r)ead, (w)rite, (i)nsert, (d)elete, (a)dminister, workflow action (x), view (p)rivate, view (f)reebusy, (c)reate subfolder\n\tperm: string;\n\t/* The type of Grantee:\n\t\"usr\",\n\t\"grp\",\n\t\"dom\" (domain),\n\t\"cos\",\n\t\"all\" (all authenticated users),\n\t\"pub\" (public authenticated and unauthenticated access),\n\t\"guest\" (non-Zimbra email address and password),\n\t\"key\" (non-Zimbra email address and access key)\n\t*/\n\tgt: 'usr' | 'grp' | 'dom' | 'cos' | 'all' | 'guest' | 'key' | 'pub';\n\t// Grantee ID\n\tzid: string;\n\t// Time when this grant expires. For internal/guest grant: If this attribute is not specified, the expiry of the grant is derived from internalGrantExpiry/guestGrantExpiry of the ACL it is part of. If this attribute is specified (overridden), the expiry value can not be greater than the corresponding expiry value in the ACL. For public grant: If this attribute is not specified, defaults to the maximum allowed expiry for a public grant. If not specified in the response, defaults to 0. Value of 0 indicates that this grant never expires.\n\texpiry?: string;\n\t// Name or email address of the principal being granted rights. optional if {grantee-type} is \"all\"/\"guest\"/\"pub\". When specified in a request, this can be just the username portion of the address in the default domain.\n\td?: string;\n\t// Optional argument. password when {grantee-type} is \"guest\"\n\tpw?: string;\n\t// Optional argument. Access key when {grantee-type} is \"key\"\n\tkey?: string;\n};\nexport type SoapPolicy = {\n\t// Retention policy type\n\ttype?: 'user' | 'system';\n\tid?: string;\n\tname?: string;\n\tlifetime?: string;\n};\n\nexport type SoapRetentionPolicy = Array<{\n\tkeep: Array<{ policy: SoapPolicy }>;\n\tpurge: Array<{ policy: SoapPolicy }>;\n}>;\n\nexport type FolderView =\n\t| 'search folder'\n\t| 'tag'\n\t| 'conversation'\n\t| 'message'\n\t| 'contact'\n\t| 'document'\n\t| 'appointment'\n\t| 'virtual conversation'\n\t| 'remote folder'\n\t| 'wiki'\n\t| 'task'\n\t| 'chat';\nexport type BaseFolder = {\n\t// Folder ID\n\tid: string;\n\t// Item's UUID - a globally unique identifier\n\tuuid: string;\n\t// Name of folder; max length 128; whitespace is trimmed by server; Cannot contain ':', '\"', '/', or any character below 0x20\n\tname: string;\n\t// Absolute Folder path\n\tabsFolderPath?: string;\n\t// ID of parent folder (absent for root folder)\n\tl?: string;\n\t// UUID of parent folder (absent for root folder)\n\tluuid?: string;\n\t// Flags - checked in UI (#), exclude free/(b)usy info, IMAP subscribed (*), does not (i)nherit rights from parent, is a s(y)nc folder with external data source, sync is turned on(~), folder does n(o)t allow inferiors / children\n\tf?: string;\n\t// color numeric; range 0-127; defaults to 0 if not present; client can display only 0-7\n\tcolor?: string;\n\t// RGB color in format #rrggbb where r,g and b are hex digits\n\trgb?: string;\n\t// Number of unread messages in folder\n\tu?: number;\n\t// Number of unread messages with this tag, including those with the IMAP \\Deleted flag set\n\ti4u?: number;\n\t// (optional) Default type for the folder; used by web client to decide which view to use;\n\tview?: FolderView;\n\t// Revision\n\trev?: number;\n\t// Modified sequence\n\tms?: number;\n\t// Modified date in seconds\n\tmd?: number;\n\t// Number of non-subfolder items in folder\n\tn?: number;\n\t// Number of non-subfolder items in folder, including those with the IMAP \\Deleted flag set\n\ti4n?: number;\n\t// Total size of all of non-subfolder items in folder\n\ts?: number;\n\t// Imap modified sequence\n\ti4ms?: number;\n\t// IMAP UIDNEXT\n\ti4next?: number;\n\t// URL (RSS, iCal, etc.) this folder syncs its contents to\n\turl?: string;\n\tactivesyncdisabled: boolean;\n\t// Number of days for which web client would sync folder data for offline use\n\twebOfflineSyncDays?: number;\n\t// For remote folders, the access rights the authenticated user has on the folder - will contain the calculated (c)reate folder permission if the user has both (i)nsert and (r)ead access on the folder\n\tperm?: string;\n\t// recursive\n\trecursive: boolean;\n\t// URL to the folder in the REST interface for rest-enabled apps (such as notebook)\n\trest?: string;\n\t// whether this folder can be deleted\n\tdeletable: boolean;\n\t// custom metadata\n\tmeta?: Array<Meta>;\n\t// ACL for sharing\n\tacl?: { grant: Array<Grant> };\n\tretentionPolicy?: SoapRetentionPolicy;\n};\n\nexport type LinkFolderFields = {\n\t// Primary email address of the owner of the linked-to resource\n\towner?: string;\n\t// Zimbra ID (guid) of the owner of the linked-to resource\n\tzid?: string;\n\t// Item ID of the linked-to resource in the remote mailbox\n\trid?: string;\n\t// UUID of the linked-to resource in the remote mailbox\n\truuid?: string;\n\t// The name presently used for the item by the owner\n\toname?: string;\n\t// If set, client should display reminders for shared appointments/tasks\n\treminder: boolean;\n\t// If \"tr\" is true in the request, broken is set if this is a broken link\n\tbroken: boolean;\n};\nexport type SearchFolderFields = {\n\t// Query\n\tquery?: string;\n\t// Sort by\n\tsortBy?: SortBy;\n\t// Comma-separated list. Legal values in list are:\n\t// appointment|chat|contact|conversation|document|message|tag|task|wiki (default is \"conversation\")\n\ttypes?: string;\n};\n\nexport type SortBy =\n\t| 'dateDesc'\n\t| 'dateAsc'\n\t| 'idDesc'\n\t| 'idAsc'\n\t| 'subjDesc'\n\t| 'subjAsc'\n\t| 'nameDesc'\n\t| 'nameAsc'\n\t| 'durDesc'\n\t| 'durAsc'\n\t| 'none'\n\t| 'taskDueAsc'\n\t| 'taskDueDesc'\n\t| 'taskStatusAsc'\n\t| 'taskStatusDesc'\n\t| 'taskPercCompletedAsc'\n\t| 'taskPercCompletedDesc'\n\t| 'rcptAsc'\n\t| 'rcptDesc'\n\t| 'readAsc'\n\t| 'readDesc';\n\nexport type AccordionFolder = {\n\tid: string;\n\tlabel: string;\n\tfolder: Folder;\n\tCustomComponent: ComponentType<{ folder: Folder }>;\n\titems: Array<AccordionFolder>;\n};\n\nexport type TreeNode<T> = T & {\n\tid: string;\n\tchildren: TreeNode<T>[];\n\tparent?: TreeNode<T>;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { AccountRights, ZimletProp } from '../account';\nimport { Tag } from '../tags';\n\nexport * from './soap';\n\nexport type ZimletPkgDescription = {\n\tzimlet: Array<{\n\t\tname: string;\n\t\tlabel: string;\n\t\tdescription: string;\n\t\tversion: string;\n\t\t/* Property related to Zextras */ zapp?: 'true';\n\t\t/* Property related to Zextras */ 'zapp-main'?: string;\n\t\t/* Property related to Zextras */ 'zapp-version'?: string;\n\t\t/* Property related to Zextras */ 'zapp-handlers'?: string;\n\t\t/* Property related to Zextras */ 'zapp-style'?: string;\n\t\t/* Property related to Zextras */ 'zapp-theme'?: string;\n\t\t/* Property related to Zextras */ 'zapp-serviceworker-extension'?: string;\n\t}>;\n\tzimletContext: Array<{\n\t\tbaseUrl: string;\n\t\tpresence: 'enabled';\n\t\tpriority: number;\n\t}>;\n};\n\nexport type GetInfoResponse = {\n\tname: string;\n\tid: string;\n\tattrs: {\n\t\t_attrs: {\n\t\t\tdisplayName: string;\n\t\t};\n\t};\n\tprefs: {\n\t\t_attrs: Record<string, string>;\n\t};\n\tsignatures: {\n\t\tsignature: Array<any>;\n\t};\n\tidentities: {\n\t\tidentity: Array<any>;\n\t};\n\tzimlets: {\n\t\tzimlet: Array<ZimletPkgDescription>;\n\t};\n\tprops: {\n\t\tprop: Array<ZimletProp>;\n\t};\n\tversion: string;\n\trights: AccountRights;\n};\n\nexport type PropsMods = Record<string, { app: string; value: unknown }>;\n\nexport type PermissionsMods = {\n\tfreeBusy: any;\n\tinviteRight: any;\n};\n\nexport type CreateIdentityProps = {\n\trequestId: number;\n\tzimbraPrefIdentityName: string | undefined;\n\tzimbraPrefFromDisplay: string | undefined;\n\tzimbraPrefFromAddress: string | undefined;\n\tzimbraPrefFromAddress: string | undefined;\n\tzimbraPrefFromAddressType: string | undefined;\n\tzimbraPrefReplyToEnabled: string | undefined;\n\tzimbraPrefReplyToDisplay: string | undefined;\n\tzimbraPrefReplyToAddress: string | undefined;\n\tzimbraPrefDefaultSignatureId: string | undefined;\n\tzimbraPrefForwardReplySignatureId: string | undefined;\n\tzimbraPrefWhenSentToEnabled: string | undefined;\n\tzimbraPrefWhenInFoldersEnabled: string | undefined;\n};\n\nexport type IdentityMods = {\n\tmodifyList?: Record<string, { id: string; prefs: Record<string, string | boolean> }>;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\n\nexport type PrefsMods = Record<string, unknown>;\n\nexport type Mods = {\n\tprops?: PropsMods;\n\tprefs?: PrefsMods;\n\tpermissions?: PermissionsMods;\n\tidentity?: IdentityMods;\n};\n\nexport type Locale = {\n\tid: string;\n\tlocalName: string;\n\tname: string;\n};\nexport type AvailableLocalesResponse = {\n\tlocale: Array<Locale>;\n};\n\nexport type NetworkState = SoapContext & {\n\tnoOpTimeout?: Timeout;\n\tpollingInterval: number;\n\tseq: number;\n};\n\nexport type CreateTagRequest = {\n\ttag: Omit<Tag, id>;\n\t_jsns: string;\n};\n\nexport type CreateTagResponse = {\n\ttag: [Tag];\n};\n\nexport type TagActionRequest = {\n\t_jsns: string;\n\taction: {\n\t\top: 'rename' | 'color' | 'delete' | 'update';\n\t\tid: string;\n\t\tname?: string;\n\t\tcolor?: number;\n\t\trgb?: string;\n\t};\n};\nexport type TagActionResponse = {\n\taction: { op: string; id: string };\n\t_jsns: string;\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","export default __webpack_public_path__ + \"db1a38cf321d5b3025a31cd903b7d486.png\";","export default __webpack_public_path__ + \"20d012c938e8d0dcc703e4edc2714d23.mp3\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["React","useMemo","Provider","I18nextProvider","ModalManager","SnackbarManager","useStoreFactory","useI18nFactory","AppErrorCatcher","getApp","getShell","AppContextProvider","pkg","children","i18nFactory","storeFactory","app","store","getStoreForApp","i18n","getAppI18n","useCallback","Catcher","onError","error","console","reduce","getAppContext","useApp","useAppContext","useContextBridge","getAction","getActions","getActionsFactory","getActionFactory","getIntegratedComponent","getIntegratedFunction","getIntegratedHook","getUserAccount","getUserAccounts","getUserSetting","getUserSettings","useUserAccount","useUserAccounts","useUserSetting","useUserSettings","useUserRight","useUserRights","getUserRight","getUserRights","useIsMobile","useLocalStorage","useAction","useActions","useActionsFactory","useActionFactory","useIntegratedComponent","useIntegratedFunction","useIntegratedHook","usePushHistoryCallback","useGoBackHistoryCallback","useReplaceHistoryCallback","getCurrentRoute","useCurrentRoute","replaceHistory","goBackHistory","pushHistory","getUseAddBoardCallback","useBoardConfig","useRemoveCurrentBoard","useUpdateCurrentBoard","getSoapFetch","getXmlSoapFetch","getFolder","getFolders","useFolder","useFolders","useRoot","getRoot","useRoots","getRoots","useSearchFolder","useSearchFolders","getSearchFolder","getSearchFolders","useFoldersAccordionByView","useFoldersByView","useRootByUser","getRootByUser","getTags","useTags","useNotify","useRefresh","changeTagColor","createTag","deleteTag","renameTag","runSearch","getNotificationManager","getAppFunctions","soapFetch","name","xmlSoapFetch","useAddBoardCallback","getBridgedFunctions","getState","packageDependentFunctions","functions","acc","f","memo","Suspense","isEmpty","map","useAppStore","Mounter","appId","AppLoaderMounter","entryPoints","s","entries","Comp","MemoComp","height","overflow","getEditSettingsForApp","normalizeRoute","normalizeSettingsView","normalizeSearchView","normalizeUtilityView","normalizePrimaryAccessoryView","normalizeSecondaryAccessoryView","normalizeBoardView","useIntegrationsStore","getAppSetters","appSetters","setters","integrations","updatePrimaryBadge","updateUtilityBadge","setAppContext","addRoute","route","setRouteVisibility","routeId","visible","removeRoute","addBoardView","data","removeBoardView","addSettingsView","removeSettingsView","addSearchView","removeSearchView","addUtilityView","removeUtilityView","addPrimaryAccessoryView","removePrimaryAccessoryView","addSecondaryAccessoryView","removeSecondaryAccessoryView","registerHooks","removeHooks","registerFunctions","removeFunctions","registerActions","removeActions","registerComponents","removeComponents","editSettings","produce","SearchAppView","SettingsAppView","SettingsSidebar","GeneralSettings","Feedback","DevBoard","DevBoardTrigger","SEARCH_APP_ID","SETTINGS_APP_ID","SHELL_APP_ID","AccountWrapper","settingsSubSections","settingsRoute","id","settingsPrimaryBar","t","component","position","label","badge","show","settingsSecondaryBar","settingsAppView","settingsGeneralView","icon","subSections","settingsAccountsView","searchRoute","searchPrimaryBar","searchAppView","feedbackBoardView","devModeBoardView","devModeTrigger","registerDefaultViews","setState","routes","views","primaryBar","secondaryBar","appView","settings","board","__CARBONIO_DEV__","push","primaryBarAccessories","forOwn","Spinner","AppLink","CONSTANTS","report","SettingsHeader","_scripts","_scriptId","loadAppModule","appPkg","Promise","_resolve","_reject","resolved","resolve","reject","e","window","__ZAPP_SHARED_LIBRARIES__","setReducer","reducer","replaceReducer","__ZAPP_HMR_EXPORT__","appComponent","state","info","script","document","createElement","setAttribute","version","js_entrypoint","body","appendChild","err","loadApp","unloadApps","then","parentNode","removeChild","filter","injectSharedLibraries","useReporter","loadApps","apps","appsToLoad","attrKey","log","setClients","allSettled","unloadAllApps","PropTypes","ReactDOM","Lodash","ReactRouterDom","Moment","ReactI18n","ReactRedux","ReduxJSToolkit","ZappUI","StyledComponents","Preview","wnd","react","lodash","moment","configureStore","Error","createStore","createContext","useContext","BootstrapperContext","BoardContextProvider","BootstrapperContextProvider","getShellI18n","useEffect","BrowserRouter","Route","Switch","useHistory","useParams","SnackbarManagerContext","ModalManagerContext","useBridge","ShellView","BASENAME","IS_STANDALONE","ContextBridge","history","createSnackbar","createModal","getHistory","StandaloneListener","standalone","BootstrapperRouter","useTranslation","init","ThemeProvider","I18nFactory","StoreFactory","NotificationPermissionChecker","DefaultViewsRegister","TBridge","Bootstrapper","useAccountStore","getInfo","_i18nFactory","_storeFactory","setLocale","prefs","zimbraPrefLocale","attrs","zimbraLocale","split","Object","values","useState","UIThemeProvider","enable","disable","auto","setFetchMethod","darkReaderDynamicThemeFixes","fetch","ThemeCallbacksContext","addExtension","newExtension","setDarkReaderState","newState","themeSizes","size","theme","sizes","font","extrasmall","small","medium","large","paletteExtension","palette","shared","regular","hover","active","focus","disabled","linked","iconExtension","icons","Shared","ArrowCircleRight","Linked","ArrowCircleLeft","zimbraPrefFontSize","fonts","extensions","setExtensions","darkReaderState","sepia","aggregatedExtensions","val","ext","ZIMBRA_STANDARD_COLORS","zValue","hex","zLabel","FOLDERS","USER_ROOT","INBOX","TRASH","SPAM","SENT","DRAFTS","CONTACTS","TAGS","CONVERSATIONS","CALENDAR","ROOT","NOTEBOOK","AUTO_CONTACTS","IM_LOGS","TASKS","BRIEFCASE","ACCOUNTS_APP_ID","ACTION_TYPES","CONVERSATION","CONVERSATION_lIST","MESSAGE","MESSAGE_lIST","CONTACT","CONTACT_lIST","INVITE","INVITE_lIST","APPOINTMENT","APPOINTMENT_lIST","FOLDER","FOLDER_lIST","CALENDAR_lIST","NEW","ignoreImageAnalysis","invert","css","ignoreInlineStyle","disableStyleSheetsProxy","base","standaloneBase","location","pathname","startsWith","EMAIL_VALIDATION_REGEX","ROOT_NAME","DR_VALUES","FOLDER_VIEW","search_folder","tag","conversation","message","contact","appointment","virtual_conversation","remote_folder","wiki","task","chat","IconButton","addBoard","title","find","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","r","module","parseParams","params","routeToApply","path","search","hash","cb","goBack","i18next","Backend","dropRight","forEach","locale","_cache","appI18n","changeLanguage","appPkgDescription","newI18n","createInstance","baseI18nPath","BASE_PATH","join","use","returnEmptyString","compatibilityJSON","lng","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","ns","key","fallbackValue","warn","backend","loadPath","findIndex","isArray","mods","props","prop","value","pref","p","identity","modifyList","item","deleteList","createList","requestId","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","email","propIndex","zimlet","_content","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","includes","i","CreateIdentityResponse","undefined","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","authenticated","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","waitDisallowed","setTimeout","zimbraVersion","method","headers","JSON","stringify","json","shellSoap","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","components","addApps","rights","assign","origin","logout","action","op","color","rgb","UAParser","os","browser","debounce","noop","defaultAudio","defaultIcon","PopupNotificationDefaultConfig","vibrate","AudioNotificationDefaultConfig","sound","NotificationDefaultConfig","showPopup","playSound","NotificationManager","Map","has","set","Audio","play","DEBOUNCE_TIME","result","get","config","defConfig","getAudioFileFunction","n","Notification","onClick","addEventListener","conf","instance","getInstance","requestPermission","createSlice","logger","_uselessSlice","initialState","reducers","devTools","middleware","getDefaultMiddleware","concat","_useless","useReducer","Button","Select","Container","Row","Icon","Severity","styled","feedback","useAppList","TextArea","textarea","gray5","text","gray4","TextContainer","ButtonContainer","TAContainer","primary","SubHeadingText","lineHeight","LabelContainer","emptyEvent","level","Info","release","extra","topic","user","payload","getTopics","ModuleLabelFactory","selected","open","all","length","alignSelf","_LabelFactory","showErr","topics","allApps","sentryDsn","appItems","display","acct","event","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","closeBoard","confirmHandler","feedbackId","disabledSend","LabelFactory","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","Hub","dsn","maxValueLength","Dropdown","SelectorContainer","ModuleSelectorComponent","modules","updateModule","fullModule","m","setOpen","dropdownItems","click","left","MemoModuleSelector","ModuleSelector","activeRoute","query","searchDisabled","Redirect","Chip","Padding","Divider","useQuery","updateQuery","useDisableSearch","setSearchDisabled","ResultsHeader","setDisabled","resetQuery","horizontal","q","searchViews","view","useRef","ChipInput","Tooltip","OutlinedIconButton","StyledChipInput","StyledContainer","SearchBar","searchIsEnabled","setSearchIsEnabled","inputRef","storedValue","setStoredValue","inputTyped","setInputTyped","isTyping","setIsTyping","options","setOptions","inputHasFocus","setInputHasFocus","inputState","setInputState","showClear","textContent","clearSearch","innerText","onSearch","currentQuery","ref","newInputState","hasAvatar","chip","c","qchip","appSuggestions","v","reverse","updateOptions","indexOf","slice","onQueryChange","newQuery","onInputType","suggestions","suggestion","triggerSearch","setTriggerSearch","containerRef","addFocus","removeFocus","searchCb","removeEventListener","disableOptions","placeholder","clearButtonPlaceholder","searchBtnTooltipLabel","onChipAdd","newChip","avatarLabel","disableClearButton","cursor","overflowX","isFunction","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","pop","useSnackbar","lowerFirst","AccountsList","PrimaryAccountSettings","SettingsSentMessages","Delegates","PersonaSettings","PersonaUseSection","setMods","activeDelegateView","setActiveDelegateView","selectedIdentityId","setSelectedIdentityId","setIdentities","delegates","setDelegates","maxIdentities","zimbraIdentityMaxNumEntries","addMod","arg","modifyProp","prevState","prevRecord","newCreateList","newDeleteList","modifyCreateList","modifiedCreateList","createIdentities","updateIdentities","updatedIdentityKey","deleteIdentities","ace","resultReduced","splice","onSave","autoHideTimeout","hideButton","onCancel","isDirty","top","List","max","changeView","ListItem","createListrequestId","setCreateListrequestId","setCreateList","addNewPersona","newPersonaNextNumber","parseFloat","newPersonaName","zimbraPrefFromAddressType","setDeleteList","onConfirmDelete","newIdentities","onDelete","closeModal","onConfirm","confirmLabel","confirmColor","showCloseIcon","onClose","Radio","RadioGroup","items","activeValue","setActiveValue","width","newValue","Input","personaValue","setPersonaValue","personaLabel","onChange","Checkbox","whenSentToLabel","setWhenInFoldersEnabled","setWhenSentToEnabled","setWhenSentToAddresses","whenSentToAddressesLabel","onClickWhenSentToEnabled","isValidEmail","test","onChangeWhenSentToAddresses","emailValue","emailLabel","accountNameValue","setAccountNameValue","accountLabel","onChangeDisabled","isExternalAccount","replyToEnabledValue","setReplyToEnabledValue","setReplyToAddress","dropdownOpen","setDropdownOpen","fromDisplayValue","setFromDisplayValue","setReplyToDisplay","fromAddressArray","setFromAddress","k","onClickReplyToEnabled","fromDisplayLabel","onChangeFromDisplayValue","fromAddressLabel","onChangeFromAddress","newVal","replyToEnabledLabel","replyToDisplayLabel","onChangePrefReplyToDisplay","replyToAddressLabel","replyToAddressArray","onChangeReplyToAddress","flexGrow","Styler","gray2","allDay","weight","DateTimePicker","momentLocalizer","Heading","changeDateEvent","getDateEvent","startOfDate","endOfDate","DateTimeSelect","sendAutoReply","dateDisabled","setDateDisabled","zimbraPrefOutOfOfficeFromDate","zimbraPrefOutOfOfficeUntilDate","sendAutoReplyTimePeriod","setSendAutoReplyTimePeriod","dateZimbraPrefOutOfOfficeFromDate","setZimbraPrefOutOfOfficeFromDate","dateZimbraPrefOutOfOfficeUntilDate","setZimbraPrefOutOfOfficeUntilDate","setAllDay","allDayDisabled","setAllDayDisabled","timeDisabled","setTimeDisabled","updatePrefs","toggleSendAutoReplyTimePeriod","maxWidth","Date","diff","add","valueOf","readOnly","subtract","FormSubSection","themeSubSection","AppearanceSettings","currentDRMSetting","defaultSelection","onSelectionChange","subSection","accountSubSection","Logout","sectionTitle","Badge","ThemeContext","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","navigator","clipboard","writeText","filteredList","description","backgroundColor","success","gray6","ItemsExternalSenders","getExternalSendersPrefsData","ItemsOutOfOfficeStatus","getOutOfOfficeStatusPrefsData","ItemsSendAutoReplies","outOfOfficeSubSection","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","itemsExternalSenders","itemsOutOfOfficeStatus","defaultSendAutoreply","defaultOutOfOfficeStatus","selectedItemSendAutoReplies","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","Math","round","defaultValue","fillBackground","Breadcrumbs","RouteLeavingGuard","useparam","crumbs","querySelector","scrollIntoView","ret","zimbraPrefOutOfOfficeSuppressExternalReply","zimbraPrefExternalSendersType","zimbraPrefOutOfOfficeFreeBusyStatus","date","utc","format","local","startOf","endOf","localeList","localName","timeZoneList","timezoneAndLanguageSubSection","searchPrefsSubSection","OutOfOfficeSettings","LanguageAndTimeZoneSettings","SearchSettingsView","Modal","LanguageAndTimeZone","locales","timezones","defaultTimeZone","zimbraPrefTimeZoneId","reload","zimbraPrefIncludeSpamInSearch","searchInSpamFolder","setSearchInSpamFolder","zimbraPrefIncludeTrashInSearch","searchInTrashFolder","setSearchInTrashFolder","zimbraPrefIncludeSharedItemsInSearch","searchInSharedFolder","setSearchInSharedFolder","setMode","onClickSpam","onClickTrash","onClickShared","settingsViews","Accordion","expanded","disableHover","stopPropagation","collapsedItems","_BoardsRouterContainer","FirstAppRedirect","mainRoute","AppViewContainer","appViews","forwardRef","MiniBadge","BadgeWrap","showCount","padding","fontSize","count","BoardValueContext","BoardSetterContext","TabContainer","gray3","VerticalDivider","AppBoardTab","idx","iconSize","boards","currentBoard","removeBoard","setCurrentBoard","onRemove","useLayoutEffect","useHiddenCount","AppBoard","useApps","TabsList","tabs","largeView","tabContainerRef","hiddenTabsCount","recalculateHiddenTabs","tab","BoardContainer","div","minimized","Board","BoardHeader","BoardDetailContainer","BackButton","Actions","AppBoardWindow","shellBoards","toggleLargeView","toggleMinimized","removeAllBoards","boardId","_tabs","_boards","onReturnToApp","Router","createMemoryHistory","initialEntries","url","updateBoard","boardViews","windowHistory","unlisten","listen","l","pickBy","getRandomKey","String","now","floor","random","returnValue","boardKey","newCurrentBoard","boardKeys","boardToRemove","removedBoardIndex","updatedBoards","boardState","removeCurrentBoard","updateCurrentBoard","boardSetters","cbFunctions","toggleMinimizedBoard","callback","Bubble","Collapser","groupBy","MultiButton","CreationButtonComponent","actions","primaryAction","a","group","byApp","secondaryActions","onOpen","MemoCreationButton","CreationButton","locationFull","truncateLocation","ShellContext","isMobile","initialValue","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","ShellHeader","mobileNavIsOpen","onMobileMenuClick","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNavComponent","menuTree","CustomComponent","zIndex","maxHeight","overflowY","ShellMobileNavMemo","ShellMobileNav","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","ShellPrimaryBarComponent","primaryBarViews","setRoutes","primaryBarAccessoryViews","accessories","hidePrimaryBar","minHeight","MemoShellPrimaryBarComponent","useUtilityBarStore","SidebarContainer","sidebarIsOpen","ShellSecondaryBarComponent","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","MemoShellSecondaryBar","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","useLoginRedirection","allowUnauthenticated","auth","ShellComponent","hideShellHeader","mobileNavOpen","setMobileNavOpen","MemoShell","targets","normalizeSettings","signatures","lastNotificationTime","priority","getAppList","getApps","appContexts","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","STANDALONE_RESPONSE","commit","utilityBar","routeData","b","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","folders","roots","userId","searches","sortFunction","itemProps","mapFunction","folder","filterFunction","recursionKey","deep","folderWorker","onmessage","hasId","getOriginalId","parts","toLowerCase","isTrash","oname","childrenSorted","tinymce","Editor","Composer","onEditorChange","inline","baseAssetsUrl","rest","_onEditorChange","newContent","editor","getContent","defaultStyle","zimbraPrefHtmlEditorDefaultFontFamily","zimbraPrefHtmlEditorDefaultFontSize","zimbraPrefHtmlEditorDefaultFontColor","content_css","min_height","menubar","statusbar","branding","resize","fontsize_formats","object_resizing","style_formats","block","wrapper","merge_siblings","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","forced_root_block","content_style","visualblocks_default_state","end_container_on_empty_block","compact","integration","hooks","Integration","C","factories","factory","combinedFactory","composer","hook","fn","ids","tagWorker","useTagStore","postMessage","tags","pick","Link","RRLink","to","_to","textDecoration","Prompt","when","lastLocationInitial","modalVisible","setModalVisible","lastLocation","setLastLocation","confirmedNavigation","setConfirmedNavigation","handleBlockedNavigation","nextLocation","useUtilityViews","UtilityBarItem","mode","setCurrent","accountItems","itemTextSize","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","Worker","URL","import","meta","SHELL_MODES","useTag","getTag","useRootByView","getRootByView","JSNS"],"sourceRoot":""}
|