@zextras/carbonio-shell-ui 0.4.21 → 0.4.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.756cd673.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;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;;AAEO,IAAMgkB,YAAY,GAAG,SAAfA,YAAe,CAC3B70B,CAD2B;AAAA,SAEoC,CAC/D;AACC6Q,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA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AAM9C,eAAN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpOP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AAQA;AACO,IAAKuxC,IAAZ;;WAAYA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;GAAAA,SAAAA;;;;;;;;;;;;;ACbZ;AACA;AACA;AACA;AACA;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;CAqBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;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/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.jsx","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//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';\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// 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: Error) => void = (e) => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_reject(e);\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\t(window as unknown as IShellWindow).__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][\n\t\t\t\tappPkg.name\n\t\t\t] = {\n\t\t\t\tstore: {\n\t\t\t\t\tstore,\n\t\t\t\t\tsetReducer: (reducer: Reducer): void => store.replaceReducer(reducer)\n\t\t\t\t},\n\t\t\t\treport: report(appPkg.name),\n\t\t\t\tAppLink,\n\t\t\t\tSpinner,\n\t\t\t\tSettingsHeader,\n\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t...CONSTANTS\n\t\t\t};\n\n\t\t\t(window as unknown as IShellWindow).__ZAPP_HMR_EXPORT__[appPkg.name] = (\n\t\t\t\tappComponent: ComponentType\n\t\t\t): void => {\n\t\t\t\tuseAppStore.setState((state) => ({\n\t\t\t\t\tentryPoints: {\n\t\t\t\t\t\t...state.entryPoints,\n\t\t\t\t\t\t[appPkg.name]: appComponent\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%c loaded ${appPkg.name}`,\n\t\t\t\t\t'color: white; background: #539507;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t\t\t\t);\n\t\t\t\tresolve(appPkg);\n\t\t\t};\n\n\t\t\t// if (FLAVOR === 'NPM' && typeof cliSettings !== 'undefined' && cliSettings.hasHandlers) {\n\t\t\t// eslint-disable-next-line max-len\n\t\t\t// (\n\t\t\t// \twindow as unknown as IShellWindow<SharedLibrariesAppsMap, ComponentClass>\n\t\t\t// ).__ZAPP_HMR_HANDLERS__[appPkg.name] = (handlers: RequestHandlersList): void =>\n\t\t\t// \tupdateAppHandlers(appPkg, handlers);\n\t\t\t// }\n\t\t\tconst script: HTMLScriptElement = document.createElement('script');\n\t\t\tscript.setAttribute('type', 'text/javascript');\n\t\t\tscript.setAttribute('data-pkg_name', appPkg.name);\n\t\t\tscript.setAttribute('data-pkg_version', appPkg.version);\n\t\t\tscript.setAttribute('data-is_app', 'true');\n\t\t\tscript.setAttribute('src', `${appPkg.js_entrypoint}`);\n\t\t\tdocument.body.appendChild(script);\n\t\t\t_scripts[`${appPkg.name}-loader-${(_scriptId += 1)}`] = script;\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\treject(err);\n\t\t}\n\t});\n}\n\nexport function loadApp(pkg: CarbonioModule, storeFactory: StoreFactory): Promise<CarbonioModule> {\n\tconst store = storeFactory.getStoreForApp(pkg);\n\treturn loadAppModule(pkg, store);\n}\n\nexport function unloadApps(): Promise<void> {\n\treturn Promise.resolve().then(() => {\n\t\tforOwn(_scripts, (script) => {\n\t\t\tif (script.parentNode) script.parentNode.removeChild(script);\n\t\t});\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\nimport { filter, map } from 'lodash';\n\nimport StoreFactory from '../../redux/store-factory';\n\nimport { loadApp, unloadApps } from './load-app';\nimport { CarbonioModule } from '../../../types';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { getUserSetting } from '../../store/account';\nimport { useReporter } from '../../reporting';\nimport { SHELL_APP_ID } from '../../constants';\n\nexport function loadApps(storeFactory: StoreFactory, apps: Array<CarbonioModule>): void {\n\tinjectSharedLibraries();\n\tconst appsToLoad = filter(apps, (app) => {\n\t\tif (app.name === SHELL_APP_ID) return false;\n\t\tif (app.attrKey && getUserSetting('attrs', app.attrKey) !== 'TRUE') return false;\n\t\treturn true;\n\t});\n\tconsole.log(\n\t\t'%cLOADING APPS',\n\t\t'color: white; background: #2b73d2;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t);\n\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app, storeFactory)));\n}\n\nexport function unloadAllApps(): Promise<void> {\n\treturn unloadApps();\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\n\nimport React, { ComponentClass } from 'react';\nimport * as PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport * as Lodash from 'lodash';\nimport * as ReactRouterDom from 'react-router-dom';\nimport * as Moment from 'moment';\nimport * as ReactI18n from 'react-i18next';\n// import * as Msw from 'msw';\n// import * as Faker from 'faker';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ZappUI from '@zextras/carbonio-design-system';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as StyledComponents from 'styled-components';\n// 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 } from 'react';\nimport { BrowserRouter, useHistory } from 'react-router-dom';\nimport { SnackbarManagerContext, ModalManagerContext } from '@zextras/carbonio-design-system';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { useBridge } from '../store/context-bridge';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellView from '../shell/shell-view';\nimport { BASENAME } from '../constants';\n\nconst ContextBridge: FC = () => {\n\tconst history = useHistory();\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createSnackbar = useContext(SnackbarManagerContext) as Function;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createModal = useContext(ModalManagerContext) as Function;\n\tuseBridge({\n\t\tfunctions: {\n\t\t\tgetHistory: () => history,\n\t\t\tcreateSnackbar,\n\t\t\tcreateModal\n\t\t}\n\t});\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => (\n\t<BrowserRouter basename={BASENAME}>\n\t\t<ContextBridge />\n\t\t<AppLoaderMounter />\n\t\t<ShellView />\n\t</BrowserRouter>\n);\n\nexport default BootstrapperRouter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { SnackbarManager, ModalManager } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { unloadAllApps } from './app/load-apps';\nimport { registerDefaultViews } from './app/default-views';\nimport { useBridge } from '../store/context-bridge';\n\nconst DefaultViewsRegister: FC = () => {\n\tconst [t] = useTranslation();\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst TBridge: FC<{ i18nFactory: I18nFactory }> = ({ i18nFactory }) => {\n\tuseBridge({\n\t\tfunctions: {},\n\t\tpackageDependentFunctions: {\n\t\t\tt: (app) => i18nFactory.getAppI18n({ name: app }).t\n\t\t}\n\t});\n\treturn null;\n};\n\nconst Bootstrapper: FC = () => {\n\tconst i18nFactory = useMemo(() => new I18nFactory(), []);\n\tconst storeFactory = useMemo(() => new StoreFactory(), []);\n\tuseEffect(() => {\n\t\tinit(i18nFactory, storeFactory);\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, [i18nFactory, storeFactory]);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t<BootstrapperContextProvider i18nFactory={i18nFactory} storeFactory={storeFactory}>\n\t\t\t\t\t\t<TBridge i18nFactory={i18nFactory} />\n\t\t\t\t\t\t<DefaultViewsRegister />\n\t\t\t\t\t\t<BootstrapperRouter />\n\t\t\t\t\t</BootstrapperContextProvider>\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</ThemeProvider>\n\t);\n};\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useAccountStore } from '../store/account';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\nimport { loadApps } from './app/load-apps';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { getInfo } from '../network/get-info';\n\nexport const init = (_i18nFactory: I18nFactory, _storeFactory: StoreFactory): void => {\n\tgetInfo().then(() => {\n\t\t_i18nFactory.setLocale(\n\t\t\t(\n\t\t\t\t(useAccountStore.getState().settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t\t\t(useAccountStore.getState().settings?.attrs?.zimbraLocale as string)\n\t\t\t)?.split?.('_')?.[0] ?? 'en'\n\t\t);\n\t\tloadApps(_storeFactory, Object.values(useAppStore.getState().apps));\n\t});\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { createContext, FC, useCallback, useEffect, useState } from 'react';\nimport { ThemeProvider as UIThemeProvider } from '@zextras/carbonio-design-system';\nimport { enable, disable, auto, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { useAccountStore } from '../store/account';\nimport { 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 (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '10px',\n\t\t\t\t\tsmall: '12px',\n\t\t\t\t\tmedium: '14px',\n\t\t\t\t\tlarge: '16px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'large': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '14px',\n\t\t\t\t\tsmall: '16px',\n\t\t\t\t\tmedium: '18px',\n\t\t\t\t\tlarge: '20px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'larger': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '16px',\n\t\t\t\t\tsmall: '18px',\n\t\t\t\t\tmedium: '20px',\n\t\t\t\t\tlarge: '22px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'default':\n\t\tcase 'normal':\n\t\tdefault: {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '12px',\n\t\t\t\t\tsmall: '14px',\n\t\t\t\t\tmedium: '16px',\n\t\t\t\t\tlarge: '18px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t}\n};\n\nexport const ThemeProvider: FC = ({ children }) => {\n\tconst zimbraPrefFontSize = useAccountStore((s) => s.settings.prefs?.zimbraPrefFontSize as string);\n\t// TODO: update when the DS is fully typed :D\n\tconst [extensions, setExtensions] = useState<ThemeExtensionMap>({\n\t\tfonts: (theme) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\ttheme.sizes.font = {\n\t\t\t\textrasmall: '12px',\n\t\t\t\tsmall: '14px',\n\t\t\t\tmedium: '16px',\n\t\t\t\tlarge: '18px'\n\t\t\t};\n\t\t\treturn theme;\n\t\t}\n\t});\n\tuseEffect(() => {\n\t\tsetExtensions((e) => ({\n\t\t\t...e,\n\t\t\tfonts: themeSizes(zimbraPrefFontSize)\n\t\t}));\n\t}, [zimbraPrefFontSize]);\n\tconst [darkReaderState, setDarkReaderState] = useState<'auto' | 'disabled' | 'enabled'>('auto');\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tenable(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\tauto(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}, [darkReaderState]);\n\tconst aggregatedExtensions = useCallback(\n\t\t(theme: any) => reduce(extensions, (acc, val) => val(acc), theme),\n\t\t[extensions]\n\t);\n\tconst addExtension = useCallback((newExtension: ThemeExtension, id: string) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t{children}\n\t\t\t</ThemeCallbacksContext.Provider>\n\t\t</UIThemeProvider>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { DynamicThemeFix } from 'darkreader';\n\n/*\n\treference: https://zextras.atlassian.net/wiki/spaces/IRIS/pages/223215854/UI+Guidelines+and+theming\n*/\nexport const ZIMBRA_STANDARD_COLORS = [\n\t{ zValue: 0, hex: '#000000', zLabel: 'black' },\n\t{ zValue: 1, hex: '#2b73d2', zLabel: 'blue' },\n\t{ zValue: 2, hex: '#2196d3', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#639030', zLabel: 'green' },\n\t{ zValue: 4, hex: '#1a75a7', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#d74942', zLabel: 'red' },\n\t{ zValue: 6, hex: '#ffc107', zLabel: 'yellow' },\n\t{ zValue: 7, hex: '#edaeab', zLabel: 'pink' },\n\t{ zValue: 8, hex: '#828282', zLabel: 'gray' },\n\t{ zValue: 9, hex: '#ba8b00', zLabel: 'orange' }\n];\n\nexport const FOLDERS = {\n\tUSER_ROOT: '1',\n\tINBOX: '2',\n\tTRASH: '3',\n\tSPAM: '4',\n\tSENT: '5',\n\tDRAFTS: '6',\n\tCONTACTS: '7',\n\tTAGS: '8',\n\tCONVERSATIONS: '9',\n\tCALENDAR: '10',\n\tROOT: '11',\n\tNOTEBOOK: '12', // no longer created in new mailboxes since Helix (bug 39647). old mailboxes may still contain a system folder with id 12\n\tAUTO_CONTACTS: '13',\n\tIM_LOGS: '14',\n\tTASKS: '15',\n\tBRIEFCASE: '16'\n};\n\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const ACCOUNTS_APP_ID = 'accounts';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES = {\n\tCONVERSATION: 'conversation',\n\tCONVERSATION_lIST: 'conversation_list',\n\tMESSAGE: 'message',\n\tMESSAGE_lIST: 'message_list',\n\tCONTACT: 'contact',\n\tCONTACT_lIST: 'contact_list',\n\tINVITE: 'invite',\n\tINVITE_lIST: 'invite_list',\n\tAPPOINTMENT: 'appointment',\n\tAPPOINTMENT_lIST: 'appointment_list',\n\tFOLDER: 'folder',\n\tFOLDER_lIST: 'folder_list',\n\tCALENDAR: 'calendar',\n\tCALENDAR_lIST: 'calendar_list',\n\tNEW: 'new'\n};\n\nexport const darkReaderDynamicThemeFixes: DynamicThemeFix = {\n\tignoreImageAnalysis: ['.no-dr-invert *'],\n\tinvert: [],\n\tcss: `\n\t\t.tox, .force-white-bg, .tox-swatches-menu, .tox .tox-edit-area__iframe {\n\t\t\tbackground-color: #fff !important;\n\t\t\tbackground: #fff !important;\n\t\t}\n\t`,\n\tignoreInlineStyle: ['.tox-menu *'],\n\tdisableStyleSheetsProxy: false\n};\n\nexport const BASENAME = `/carbonio/`;\nexport const EMAIL_VALIDATION_REGEX =\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars, max-len, no-control-regex\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\n\nexport const ROOT_NAME = 'USER_ROOT';\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\tlng: this.locale,\n\t\t\t\tfallbackLng: 'en',\n\t\t\t\tdebug: false,\n\t\t\t\tinterpolation: {\n\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t},\n\t\t\t\tmissingKeyHandler: (lng, ns, key, fallbackValue) => {\n\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t},\n\t\t\t\tbackend: {\n\t\t\t\t\tloadPath: `${baseI18nPath}/i18n/{{lng}}.json`\n\t\t\t\t}\n\t\t\t});\n\t\tthis._cache[appPkgDescription.name] = newI18n;\n\t\treturn newI18n;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, find, findIndex, forEach, map, reduce } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account/store';\nimport { AccountState, Mods, Account } from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\nexport const editSettings = (mods: Mods, appId: string = SHELL_APP_ID): Promise<any> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t'Batch',\n\t\t`<BatchRequest xmlns=\"urn:zimbra\" onerror=\"stop\">${\n\t\t\tmods.props\n\t\t\t\t? `<ModifyPropertiesRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t(prop, key) => `<prop name=\"${key}\" zimlet=\"${prop.app ?? appId}\">${prop.value}</prop>`\n\t\t\t\t )}</ModifyPropertiesRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.prefs\n\t\t\t\t? `<ModifyPrefsRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.prefs,\n\t\t\t\t\t\t(pref, key) => `<pref name=\"${key}\">${pref}</pref>`\n\t\t\t\t ).join('')}</ModifyPrefsRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.modifyList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.modifyList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<ModifyIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${\n\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t}\">${map(item.prefs, (value, key) => `<a name=\"${key}\">${value}</a>`).join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t)}<a name=\"zimbraPrefFromAddressType\">sendAs</a></identity></ModifyIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.deleteList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.deleteList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<DeleteIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${item}\"/></DeleteIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.createList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.createList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${item.prefs.requestId}\"><identity name=\"${item.prefs.zimbraPrefIdentityName}\"><a name=\"zimbraPrefIdentityName\">${item.prefs.zimbraPrefIdentityName}</a><a name=\"zimbraPrefFromDisplay\">${item.prefs.zimbraPrefFromDisplay}</a><a name=\"zimbraPrefFromAddress\">${item.prefs.zimbraPrefFromAddress}</a><a name=\"zimbraPrefFromAddressType\">sendAs</a><a name=\"zimbraPrefReplyToEnabled\">${item.prefs.zimbraPrefReplyToEnabled}</a><a name=\"zimbraPrefReplyToDisplay\">${item.prefs.zimbraPrefReplyToDisplay}</a><a name=\"zimbraPrefReplyToAddress\">${item.prefs.zimbraPrefReplyToAddress}</a><a name=\"zimbraPrefDefaultSignatureId\">${item.prefs.zimbraPrefDefaultSignatureId}</a><a name=\"zimbraPrefForwardReplySignatureId\">${item.prefs.zimbraPrefForwardReplySignatureId}</a><a name=\"zimbraPrefWhenSentToEnabled\">${item.prefs.zimbraPrefWhenSentToEnabled}</a><a name=\"zimbraPrefWhenInFoldersEnabled\">${item.prefs.zimbraPrefWhenInFoldersEnabled}</a></identity></CreateIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.permissions\n\t\t\t\t? `<RevokeRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? map(mods.permissions.freeBusy.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'dom')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? map(mods.permissions.inviteRight.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }</RevokeRightsRequest><GrantRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"1\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'dom') {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"viewFreeBusy\" gt=\"${mods.permissions?.freeBusy.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions.inviteRight.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.inviteRight.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }\n\t</GrantRightsRequest>`\n\t\t\t\t: ''\n\t\t}</BatchRequest>`\n\t).then((r: any) => {\n\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\tsettings: {\n\t\t\t\t...s.settings,\n\t\t\t\tprefs: reduce(\n\t\t\t\t\tmods.prefs,\n\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t}),\n\t\t\t\t\ts.settings.prefs\n\t\t\t\t),\n\t\t\t\tprops: reduce(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\tif (propIndex >= 0) {\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[propIndex] = {\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\ts.settings.props\n\t\t\t\t)\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\t...s.account,\n\t\t\t\tdisplayName:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\tname:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefFromAddress || s.account?.name,\n\t\t\t\tidentities: {\n\t\t\t\t\tidentity:\n\t\t\t\t\t\ttypeof s.account !== 'undefined'\n\t\t\t\t\t\t\t? reduce(\n\t\t\t\t\t\t\t\t\tmods?.identity?.modifyList,\n\t\t\t\t\t\t\t\t\t(acc, { id, prefs }) => {\n\t\t\t\t\t\t\t\t\t\tconst tempResult = [];\n\t\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\t\t\t\t\t\t\t\t\t\t\tforEach(Object.keys(prefs), (item, _index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs[item] = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem === 'zimbraPrefIdentityName' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name !== 'DEFAULT'\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\ttempResult.push(prefs);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name !== 'DEFAULT'),\n\t\t\t\t\t\t\t\t\t\t...map(r?.CreateIdentityResponse, (item) => item.identity[0]),\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name === 'DEFAULT')\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t} as Account\n\t\t}));\n\t\treturn r;\n\t});\n\nexport const getEditSettingsForApp =\n\t(app: string) =>\n\t(mods: Mods): Promise<any> =>\n\t\teditSettings(mods, app).then((r) => {\n\t\t\tr.type = 'fulfilled';\n\t\t\treturn r;\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, map, maxBy } from 'lodash';\nimport { goToLogin } from './go-to-login';\nimport { Account, ErrorSoapResponse, SoapContext, SoapResponse } from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { SHELL_APP_ID } from '../constants';\nimport { useNetworkStore } from '../store/network';\nimport { handleSync } from '../store/network/utils';\n\nexport const noOp = (): void => {\n\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\tgetSoapFetch(SHELL_APP_ID)(\n\t\t'NoOp',\n\t\tuseNetworkStore.getState().pollingInterval === 500\n\t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n\t\t\t: { _jsns: 'urn:zimbraMail' }\n\t);\n};\n\nconst getAccount = (\n\tacc?: Account,\n\totherAccount?: string\n): { by: string; _content: string } | undefined => {\n\tif (otherAccount) {\n\t\treturn {\n\t\t\tby: 'name',\n\t\t\t_content: otherAccount\n\t\t};\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn {\n\t\t\t\tby: 'name',\n\t\t\t\t_content: acc.name\n\t\t\t};\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn {\n\t\t\t\tby: 'id',\n\t\t\t\t_content: acc.id\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst getXmlAccount = (acc?: Account, otherAccount?: string): string => {\n\tif (otherAccount) {\n\t\treturn `<account by=\"name\">${otherAccount}</account>`;\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn `<account by=\"name\">${acc.name}</account>`;\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn `<account by=\"id\">${acc.id}</account>`;\n\t\t}\n\t}\n\treturn '';\n};\n\nconst getXmlSession = (): string => {\n\tconst sessionId = useNetworkStore.getState().session?.id;\n\tif (sessionId) {\n\t\treturn `<session id=\"${sessionId}\"/>`;\n\t}\n\treturn '';\n};\n\nconst normalizeContext = (context: any): SoapContext => {\n\tif (context.notify) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext.notify = map(context.notify, (notify) => ({\n\t\t\t...notify,\n\t\t\tdeleted: notify.deleted?.id?.split(',')\n\t\t}));\n\t}\n\treturn context;\n};\n\nconst handleResponse = <R>(api: string, res: SoapResponse<R>): R => {\n\tconst { pollingInterval, noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tclearTimeout(noOpTimeout);\n\tif (res.Body.Fault) {\n\t\tif (\n\t\t\tfind(\n\t\t\t\t['service.AUTH_REQUIRED', 'service.AUTH_EXPIRED'],\n\t\t\t\t(code) => code === (<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Code\n\t\t\t)\n\t\t) {\n\t\t\tgoToLogin();\n\t\t}\n\t\tthrow new Error(\n\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t}`\n\t\t);\n\t}\n\tif (res.Header?.context) {\n\t\tconst responseUsedQuota =\n\t\t\tres.Header.context?.refresh?.mbx?.[0]?.s ??\n\t\t\tres.Header.context?.notify?.[0]?.modified?.mbx?.[0]?.s;\n\t\tconst _context = normalizeContext(res.Header.context);\n\t\tconst seq = maxBy(_context.notify, 'seq')?.seq ?? 0;\n\t\thandleSync(_context);\n\t\tuseAccountStore.setState({\n\t\t\tusedQuota: responseUsedQuota ?? usedQuota\n\t\t});\n\t\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};\nexport const getInfo = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t})\n\t\t.then((res: any): void => {\n\t\t\tif (res) {\n\t\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\t\tuseNetworkStore.setState({\n\t\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t\t});\n\t\t\t\tuseAccountStore.setState({\n\t\t\t\t\taccount,\n\t\t\t\t\tsettings,\n\t\t\t\t\tzimbraVersion: version\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.then(() => fetch('/static/iris/components.json'))\n\t\t.then((r: any) => r.json())\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore.getState().setters.addApps(\n\t\t\t\tfilter(components, ({ type }) => {\n\t\t\t\t\tif (type === 'shell' || type === 'carbonio') return true;\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t);\n\t\t})\n\t\t.catch((err: unknown) => {\n\t\t\tconsole.log('there was an error checking user data');\n\t\t\tconsole.error(err);\n\t\t\tgoToLogin();\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const goToLogin: () => void = () => {\n\twindow?.location?.assign?.(`${window?.location?.origin}/static/login`);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\nimport { goToLogin } from './go-to-login';\n\nexport const logout = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)('EndSession', {\n\t\t_jsns: 'urn:zimbraAccount'\n\t}).then(() => {\n\t\tfetch('/?loginOp=logout')\n\t\t\t.then((res) => res)\n\t\t\t.then(goToLogin);\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\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: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store, configureStore, createSlice } from '@reduxjs/toolkit';\nimport logger from 'redux-logger';\nimport { CarbonioModule } from '../../types';\n\nconst _uselessSlice = createSlice({\n\tname: '_useless',\n\tinitialState: {},\n\treducers: {}\n});\n\nexport default class StoreFactory {\n\tprivate _cache: { [pkgName: string]: Store<any> } = {};\n\n\tgetStoreForApp(pkg: CarbonioModule): Store<any> {\n\t\tif (this._cache[pkg.name]) return this._cache[pkg?.name];\n\t\tconst store = configureStore({\n\t\t\tdevTools: __CARBONIO_DEV__\n\t\t\t\t? {\n\t\t\t\t\t\tname: pkg.name\n\t\t\t\t }\n\t\t\t\t: false,\n\t\t\tmiddleware: __CARBONIO_DEV__\n\t\t\t\t? // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware().concat(logger)\n\t\t\t\t: // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware(),\n\t\t\treducer: {\n\t\t\t\t_useless: _uselessSlice.reducer\n\t\t\t}\n\t\t});\n\t\tthis._cache[pkg?.name] = store;\n\t\treturn store;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tuseEffect,\n\tuseState,\n\tuseCallback,\n\tuseReducer,\n\tuseMemo,\n\tFC,\n\tuseContext\n} from 'react';\nimport {\n\tText,\n\tButton,\n\tSelect,\n\tContainer,\n\tRow,\n\tIcon,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport { Severity, Event } from '@sentry/browser';\nimport { filter, find, map } from 'lodash';\nimport styled from 'styled-components';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { useUserAccount } from '../store/account';\nimport { useRemoveCurrentBoard } from '../shell/boards/board-hooks';\nimport { feedback } from './functions';\nimport { useAppList } from '../store/app';\n\nconst TextArea = styled.textarea<{ size?: string }>`\n\twidth: 100%;\n\tmin-height: 128px;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: none;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tresize: none;\n\ttransition: height 0.4s ease;\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme, size }): string => theme.sizes.font[size ?? 'medium']};\n\t&:focus {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t}\n`;\n\nconst TextContainer = styled(Container)`\n\ttext-align: justify;\n\talign-items: left;\n\twidth: 80%;\n`;\n\nconst ButtonContainer = styled(Container)`\n\twidth: 20%;\n\tposition: relative;\n`;\n\nconst TAContainer = styled(Container)`\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tborder-radius: 2px 2px 0 0;\n\tpadding: 8px;\n\ttransition: height 0.4s ease;\n\theight: auto;\n\tmax-height: 50%;\n\t&:focus-within {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t\tborder-bottom: 1px solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)`\n\tborder-radius: 2px 2px 0 0;\n\tline-height: 21px;\n\tfont-size: 14px;\n\tfont-weight: 300;\n\tmargin-top: 10px;\n\tline-height: ${(props): string => props.lineHeight};\n`;\n\nconst LabelContainer = styled(Container)`\n\tborder-bottom: 1px solid ${(props): string => (props.disabled ? 'red' : '#cfd5dc')};\n`;\n\nconst emptyEvent: Event = {\n\tmessage: '',\n\tlevel: Severity.Info,\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\nfunction reducer(state: Event, { type, payload }: { type: string; payload: any }): Event {\n\tswitch (type) {\n\t\tcase 'set-user':\n\t\t\treturn { ...state, user: payload };\n\t\tcase 'reset':\n\t\t\treturn emptyEvent;\n\t\tcase 'set-message':\n\t\t\treturn { ...state, message: payload };\n\t\tcase 'select-app':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trelease: payload.version,\n\t\t\t\textra: { ...state.extra, app: payload.app }\n\t\t\t};\n\t\tcase 'select-topic':\n\t\t\treturn { ...state, extra: { ...state.extra, topic: payload } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst getTopics = (t: TFunction): Array<{ label: string; value: string }> => [\n\t{ label: t('feedback.user_interface', 'User interface'), value: 'UserInterface' },\n\t{ label: t('feedback.behaviors', 'Behaviors'), value: 'Behaviors' },\n\t{ label: t('feedback.missing_features', 'Missing features'), value: 'MissingFeatures' },\n\t{ label: t('feedback.other', 'Other'), value: 'Other' }\n];\n\nconst ModuleLabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n}> = ({ selected, label, open, focus }) => (\n\t<LabelContainer\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Icon\n\t\t\tsize=\"large\"\n\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t/>\n\t</LabelContainer>\n);\n\nconst _LabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n\tshowErr: boolean;\n}> = ({ selected, label, open, focus, showErr }) => (\n\t<LabelContainer\n\t\tdisabled={showErr}\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t{showErr ? (\n\t\t\t\t<Text size=\"medium\" color={(open && showErr) || focus ? 'primary' : 'error'}>\n\t\t\t\t\t{' '}\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t) : (\n\t\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Row>\n\n\t\t{showErr ? (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={(open && showErr) || focus ? 'primary' : 'error'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t)}\n\t</LabelContainer>\n);\n\nconst Feedback: FC = () => {\n\tconst [t] = useTranslation();\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\tconst allApps = useAppList();\n\tconst apps = useMemo(\n\t\t() => filter(allApps, (app) => !!app.sentryDsn),\n\n\t\t[allApps]\n\t);\n\tconst appItems = useMemo(\n\t\t() =>\n\t\t\tmap(apps, (app) => ({\n\t\t\t\tlabel: app.display,\n\t\t\t\tvalue: app.name\n\t\t\t})),\n\t\t[apps]\n\t);\n\tconst acct = useUserAccount();\n\tconst [event, dispatch] = useReducer(reducer, emptyEvent);\n\tconst [showErr, setShowErr] = useState(false);\n\tconst [limit, setLimit] = useState(0);\n\n\tconst onAppSelect = useCallback(\n\t\t(ev) =>\n\t\t\tdispatch({\n\t\t\t\ttype: 'select-app',\n\t\t\t\tpayload: {\n\t\t\t\t\tapp: ev,\n\t\t\t\t\tversion: find(apps, ['name', ev])?.version\n\t\t\t\t}\n\t\t\t}),\n\t\t[apps]\n\t);\n\n\tconst onTopicSelect = useCallback((ev) => {\n\t\tsetShowErr(false);\n\t\tdispatch({ type: 'select-topic', payload: ev });\n\t}, []);\n\n\tconst onInputChange = useCallback((ev) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = `${25 + ev.target.scrollHeight}px`;\n\t\tif (ev.target.value.length <= 500) {\n\t\t\tsetLimit(ev.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: ev.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback(\n\t\t(ev) => {\n\t\t\tif (event.extra?.topic === '0') setShowErr(true);\n\t\t\telse setShowErr(false);\n\t\t\tif (ev.keyCode === 8) {\n\t\t\t\tif (event.message?.length === 0) {\n\t\t\t\t\tsetShowErr(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setShowErr, event]\n\t);\n\n\tconst closeBoard = useRemoveCurrentBoard();\n\n\tconst createSnackbar = useContext(SnackbarManagerContext) as (snackbar: any) => void;\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(event);\n\t\tcreateSnackbar(\n\t\t\tfeedbackId\n\t\t\t\t? { type: 'success', label: t('feedback.success', 'Thank you for your feedback') }\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('feedback.error', 'There was an error while sending your feedback')\n\t\t\t\t }\n\t\t);\n\t\tcloseBoard();\n\t}, [event, createSnackbar, t, closeBoard]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: acct.id, name: acct.displayName ?? acct.name }\n\t\t});\n\t}, [acct]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(event?.message?.length ?? 0) <= 0 || event.extra?.topic === '0' || event.extra?.app === '0',\n\t\t[event.message, event.extra?.topic, event.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props) => <_LabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"18px\">\n\t\t\t\t\t\t{t('feedback.report_something', 'Do you want to report something?')}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\" lineHeight=\"21px\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.explanation',\n\t\t\t\t\t\t\t'Please send us your feedback about your new experience with Zextras Server. Your opinion is meaningful for us to improve our product. So tell us what’s on your mind.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.hint',\n\t\t\t\t\t\t\t'Remember: define the topic using module and macro area selectors before write your feedback. Thanks for your help.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t</TextContainer>\n\n\t\t\t\t<ButtonContainer crossAlignment=\"flex-end\" mainAlignment=\"baseline\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('feedback.send', 'SEND')}\n\t\t\t\t\t\tonClick={confirmHandler}\n\t\t\t\t\t\tdisabled={disabledSend}\n\t\t\t\t\t/>\n\t\t\t\t</ButtonContainer>\n\t\t\t</Container>\n\t\t\t<Container\n\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tModule\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_module', 'Select a module')}\n\t\t\t\t\t\titems={appItems}\n\t\t\t\t\t\tonChange={onAppSelect}\n\t\t\t\t\t\tLabelFactory={ModuleLabelFactory}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tTopic\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_topic', 'Select a topic')}\n\t\t\t\t\t\tselection={find(topics, ['value', event.extra?.topic])}\n\t\t\t\t\t\titems={topics}\n\t\t\t\t\t\tonChange={onTopicSelect}\n\t\t\t\t\t\tLabelFactory={LabelFactory}\n\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t\t<TAContainer crossAlignment=\"flex-end\">\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={event.message}\n\t\t\t\t\tonKeyUp={checkTopicSelect}\n\t\t\t\t\tonChange={onInputChange}\n\t\t\t\t\tplaceholder={t('feedback.write_here', 'Write your feedback here')}\n\t\t\t\t/>\n\t\t\t\t<Text size=\"medium\" color=\"secondary\">\n\t\t\t\t\t{limit}/500\n\t\t\t\t</Text>\n\t\t\t</TAContainer>\n\t\t</Container>\n\t);\n};\n\nexport default Feedback;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Event, EventHint, Severity } from '@sentry/browser';\nimport { useReporter } from './store';\n\nexport const report =\n\t(appId: string) =>\n\t(error: Event, hint?: EventHint): string => {\n\t\tconst reporter = useReporter.getState();\n\t\tconst eventId = reporter.clients[appId]?.captureException(error, { ...hint });\n\t\tif (eventId) {\n\t\t\tconsole.info('Reported event ', eventId);\n\t\t}\n\t\treturn eventId;\n\t};\n\nexport const feedback = (message: Event): string => {\n\tconst reporter = useReporter.getState();\n\tconst eventId = reporter.clients.feedbacks.captureEvent({ ...message, level: Severity.Info });\n\tif (eventId) {\n\t\tconsole.info('Feedback ', eventId, ' sent, Thank you');\n\t}\n\treturn eventId;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './store';\nexport * from './functions';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { BrowserClient, Hub } from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport { CarbonioModule, SHELL_APP_ID } from '../../types';\n\ntype ReporterState = {\n\tclients: Record<string, Hub>;\n\tsetClients: (apps: Array<CarbonioModule>) => void;\n};\n\nexport const useReporter = create<ReporterState>((set) => ({\n\tclients: {\n\t\t[SHELL_APP_ID]: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t),\n\t\tfeedbacks: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t)\n\t},\n\tsetClients: (apps): void => {\n\t\tset((s) => ({\n\t\t\tclients: reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app) => {\n\t\t\t\t\tif (app.sentryDsn) {\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\ts.clients[app.name] = new Hub(\n\t\t\t\t\t\t\tnew BrowserClient({\n\t\t\t\t\t\t\t\tdsn: app.sentryDsn,\n\t\t\t\t\t\t\t\trelease: app.version,\n\t\t\t\t\t\t\t\tmaxValueLength: 500\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.clients\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ReporterState, StoreApi<ReporterState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { Container, Row, Text, Icon, Dropdown } from '@zextras/carbonio-design-system';\nimport { AppRoute } from '../../types';\nimport { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { 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\nexport const ModuleSelector: FC<{ activeRoute: AppRoute; disabled: boolean }> = ({\n\tactiveRoute\n}) => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\tconst fullModule = useMemo(\n\t\t() => modules.find((m) => m.route === module) ?? modules[0],\n\t\t[module, modules]\n\t);\n\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 (activeRoute?.app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== activeRoute?.app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === activeRoute?.app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [activeRoute, modules, updateModule]);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\titems={dropdownItems}\n\t\t\tonOpen={(): void => setOpen(true)}\n\t\t\tonClose={(): void => setOpen(false)}\n\t\t>\n\t\t\t<SelectorContainer\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\theight={42}\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"150px\"\n\t\t\t\tcrossAlignment=\"center\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tborderRadius=\"half\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace mainAlignment=\"unset\" padding={{ left: 'small' }}>\n\t\t\t\t\t<Text size=\"small\" color={open ? 'primary' : 'text'}>\n\t\t\t\t\t\t{fullModule?.label}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Icon\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\t\tcolor={open ? 'primary' : 'text'}\n\t\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t\t/>\n\t\t\t</SelectorContainer>\n\t\t</Dropdown>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 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, SearchBarProps } from '../../types';\nimport { ModuleSelector } from './module-selector';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 1px solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.primary.disabled : theme.palette.primary.regular};\n\tdisplay: 'block';\n\t& svg {\n\t\tborder: none;\n\t}\n`;\n\nconst StyledChipInput = styled(ChipInput)`\n\tpadding: 0 16px;\n\t&:hover {\n\t\toutline: none;\n\t\tbackground: ${({ theme, disabled }): string =>\n\t\t\tdisabled ? 'gray5' : theme.palette.gray5.hover};\n\t}\n`;\n\nconst StyledContainer = styled(Container)`\n\theight: 42px;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-2px);\n\t}\n`;\n\ntype SearchLocalStorage = Array<{\n\tvalue: string;\n\tlabel: string;\n\ticon: string;\n\tapp: string;\n\tid: string;\n}>;\nexport const SearchBar: FC<SearchBarProps> = ({\n\tactiveRoute\n\t// primaryAction,\n\t// secondaryActions\n}) => {\n\tconst [searchIsEnabled, setSearchIsEnabled] = useState(false);\n\tconst inputRef = useRef<HTMLInputElement>();\n\tconst [t] = useTranslation();\n\tconst [storedValue, setStoredValue] = useLocalStorage<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\n\t// useEffect(() => {\n\t// \tconst handler = (event: KeyboardEvent): unknown =>\n\t// \t\thandleKeyboardShortcuts({\n\t// \t\t\tevent,\n\t// \t\t\tinputRef,\n\t// \t\t\tprimaryAction,\n\t// \t\t\tsecondaryActions,\n\t// \t\t\tcurrentApp\n\t// \t\t});\n\t// \tdocument.addEventListener('keydown', handler);\n\t// \treturn (): void => {\n\t// \t\tdocument.removeEventListener('keydown', handler);\n\t// \t};\n\t// }, [currentApp, inputRef, primaryAction, secondaryActions]);\n\n\tuseEffect(() => {\n\t\tconst ref = inputRef.current;\n\t\tconst searchCb = (ev: any): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tsetTimeout(() => setTriggerSearch(true), 0);\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', searchCb);\n\t\t}\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', searchCb);\n\t\t\t}\n\t\t};\n\t}, [onSearch]);\n\n\tuseEffect(() => {\n\t\tif (triggerSearch) {\n\t\t\tonSearch();\n\t\t\tsetTriggerSearch(false);\n\t\t}\n\t}, [onSearch, triggerSearch]);\n\n\t// useEffect(() => {\n\t// \tsetChangedBySearchBar((value) => {\n\t// \t\tif (!value) {\n\t// \t\t\tsetInputState(filter(query, (q) => !q.isQueryFilter));\n\t// \t\t}\n\t// \t\treturn false;\n\t// \t});\n\t// }, [query]);\n\n\tconst disableOptions = useMemo(() => !(options.length > 0) || isTyping, [options, isTyping]);\n\n\tconst placeholder = useMemo(\n\t\t() =>\n\t\t\tinputHasFocus && module\n\t\t\t\t? t('search.active_input_label', 'Separate your keywords by a comma or pressing TAB')\n\t\t\t\t: t('search.idle_input_label', 'Search in {{module}}', {\n\t\t\t\t\t\tmodule\n\t\t\t\t }),\n\t\t[inputHasFocus, module, t]\n\t);\n\n\tconst clearButtonPlaceholder = useMemo(\n\t\t() =>\n\t\t\tshowClear || isTyping\n\t\t\t\t? t('search.clear', 'Clear search input')\n\t\t\t\t: t('search.already_clear', 'Search input is already clear'),\n\t\t[showClear, t, isTyping]\n\t);\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (searchIsEnabled && inputState.length > 0) {\n\t\t\treturn t('search.start', 'Start search');\n\t\t}\n\t\tif (inputHasFocus) {\n\t\t\treturn t(\n\t\t\t\t'search.type_or_choose_suggestion',\n\t\t\t\t'Type or choose some keywords to start a search'\n\t\t\t);\n\t\t}\n\t\tif (query.length > 0) {\n\t\t\treturn t('label.edit_to_start_search', 'Edit your search to start a new one');\n\t\t}\n\t\treturn t('search.type_to_start_search', 'Type some keywords to start a search');\n\t}, [t, searchIsEnabled, inputState.length, inputHasFocus, query.length]);\n\n\tconst onChipAdd = useCallback(\n\t\t(newChip: string) => {\n\t\t\tsetIsTyping(false);\n\t\t\tsetInputTyped('');\n\t\t\tif (module) {\n\t\t\t\tconst suggestions = filter(\n\t\t\t\t\tappSuggestions,\n\t\t\t\t\t(suggestion) => suggestion?.app === module\n\t\t\t\t).slice(0, 5);\n\n\t\t\t\tsetOptions(suggestions);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlabel: newChip.trim(),\n\t\t\t\thasAvatar: false,\n\t\t\t\tavatarLabel: ''\n\t\t\t};\n\t\t},\n\t\t[appSuggestions, module]\n\t);\n\n\tuseEffect(() => {\n\t\tsetInputState(map(query, (q) => ({ ...q, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\n\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\tconst disableClearButton = useMemo(() => (isTyping ? false : !showClear), [showClear, isTyping]);\n\n\treturn (\n\t\t<Container orientation=\"horizontal\" minWidth=\"0\" ref={containerRef}>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={t(\n\t\t\t\t\t'search.unable_to_parse_query',\n\t\t\t\t\t'Unable to complete the search, clear it and retry'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t<Container minWidth=\"512px\" width=\"fill\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t\t\t<Container width=\"fit\">\n\t\t\t\t\t\t\t\t<ModuleSelector activeRoute={activeRoute} disabled={searchDisabled} />\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t<StyledContainer orientation=\"horizontal\">\n\t\t\t\t\t\t\t\t<StyledChipInput\n\t\t\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\t\t\t\t\tvalue={inputState}\n\t\t\t\t\t\t\t\t\tonAdd={onChipAdd}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\tconfirmChipOnBlur={false}\n\t\t\t\t\t\t\t\t\tconfirmChipOnSpace={false}\n\t\t\t\t\t\t\t\t\tseparators={['Comma']}\n\t\t\t\t\t\t\t\t\tbackground={searchDisabled ? 'gray5' : 'gray6'}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={onQueryChange}\n\t\t\t\t\t\t\t\t\tonInputType={onInputType}\n\t\t\t\t\t\t\t\t\tonInputTypeDebounce={0}\n\t\t\t\t\t\t\t\t\tonBlur={removeFocus}\n\t\t\t\t\t\t\t\t\tonFocus={addFocus}\n\t\t\t\t\t\t\t\t\tdisableOptions={disableOptions}\n\t\t\t\t\t\t\t\t\trequireUniqueChips={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StyledContainer>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Container>\n\n\t\t\t\t\t{!disableClearButton && (\n\t\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t\t<Tooltip label={clearButtonPlaceholder} placement=\"bottom\">\n\t\t\t\t\t\t\t\t<OutlinedIconButton\n\t\t\t\t\t\t\t\t\tdisabled={disableClearButton}\n\t\t\t\t\t\t\t\t\ticon=\"BackspaceOutline\"\n\t\t\t\t\t\t\t\t\ticonColor=\"primary\"\n\t\t\t\t\t\t\t\t\tonClick={clearSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\tlabel={searchBtnTooltipLabel}\n\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticon=\"Search\"\n\t\t\t\t\t\t\t\tdisabled={!(searchIsEnabled && inputState.length > 0)}\n\t\t\t\t\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\t\t\t\t\ticonColor=\"gray6\"\n\t\t\t\t\t\t\t\tonClick={onSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { isFunction } from 'lodash';\nimport create from 'zustand';\nimport { QueryChip, SearchState } from '../../types';\n\nexport const useSearchStore = create<SearchState>((set, get) => ({\n\tquery: [],\n\tsearchDisabled: false,\n\tsetSearchDisabled: (searchDisabled: boolean): void => set({ searchDisabled }),\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)): void =>\n\t\tset({ query: isFunction(query) ? query(get().query) : query }),\n\tupdateModule: (module: string): void => set({ module })\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo } from 'react';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { AccountsSettings } from './accounts-settings';\nimport { useUserAccount } from '../store/account';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst [t] = useTranslation();\n\tconst identitiesDefault = useMemo(() => {\n\t\tconst temp = map(accountSettings?.identities.identity, (item, index) => ({\n\t\t\tid: item.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\t\t\ttype: item.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\t\t\tidentityId: item._attrs.zimbraPrefIdentityId || '',\n\t\t\tfromAddress: item._attrs.zimbraPrefFromAddress || '',\n\t\t\tidentityName: item._attrs.zimbraPrefIdentityName || '',\n\t\t\tfromDisplay: item._attrs.zimbraPrefFromDisplay || '',\n\t\t\trecoveryAccount: item._attrs.zimbraRecoveryAccount || '',\n\t\t\treplyToDisplay: item._attrs.zimbraPrefReplyToDisplay || '',\n\t\t\treplyToAddress: item._attrs.zimbraPrefReplyToAddress || '',\n\t\t\treplyToEnabled: item._attrs.zimbraPrefReplyToEnabled || '',\n\t\t\tsaveToSent: item._attrs.zimbraPrefSaveToSent || '',\n\t\t\tsentMailFolder: item._attrs.zimbraPrefSentMailFolder || '',\n\t\t\twhenInFoldersEnabled: item._attrs.zimbraPrefWhenInFoldersEnabled || '',\n\t\t\twhenSentToEnabled: item._attrs.zimbraPrefWhenSentToEnabled || '',\n\t\t\twhenSentToAddresses: item._attrs.zimbraPrefWhenSentToAddresses || ''\n\t\t}));\n\t\tconst result = [temp[temp.length - 1], ...temp];\n\t\tresult.pop();\n\t\treturn result;\n\t}, [accountSettings, t]);\n\n\treturn identitiesDefault.length > 0 ? (\n\t\t<AccountsSettings identitiesDefault={identitiesDefault} t={t} />\n\t) : null;\n};\n\nexport default AccountWrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useState, useEffect, ReactElement } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'react-i18next';\nimport { map, includes, findIndex, reduce, find, replace, lowerFirst, isEmpty } from 'lodash';\nimport { useUserSettings } from '../store/account/hooks';\nimport { editSettings } from '../network/edit-settings';\nimport { SHELL_APP_ID } from '../constants';\nimport { Mods, IdentityProps, CreateIdentityProps } from '../../types';\nimport { useAccountStore } from '../store/account/store';\nimport AccountsList from './components/account-settings/accounts-list';\nimport PrimaryAccountSettings from './components/account-settings/primary-account-settings';\nimport SettingsSentMessages from './components/account-settings/settings-sent-messages';\nimport PasswordRecoverySettings from './components/account-settings/password-recovery-settings';\nimport Delegates from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport PersonaUseSection from './components/account-settings/persona-use-section';\nimport SettingsHeader from './components/settings-header';\nimport { getXmlSoapFetch } from '../network/fetch';\n\n// external accounts not yet activated, graphical part is complete\n// import ExternalAccount from './components/account-settings/external-account-settings';\n// import AdvancedSettings from './components/account-settings/advanced-settings';\n// import DownloadMessages from './components/account-settings/download-messages';\n\ntype ModifyProps = { id: string | number; key: string; value: string | boolean } | undefined;\ntype AddModProps = {\n\ttype: string;\n\tmodifyProp?: ModifyProps;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\ntype AccountSettingsProps = {\n\tidentitiesDefault: IdentityProps[];\n\tt: TFunction;\n};\n\ntype UserRightsProps = { email: string; right: string };\n\ntype DelegateProps = {\n\tid: string;\n\temail: string;\n\tright: string;\n};\n\nexport const AccountsSettings = ({ identitiesDefault, t }: AccountSettingsProps): ReactElement => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [activeDelegateView, setActiveDelegateView] = useState('0');\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst [delegates, setDelegates] = useState<DelegateProps[]>([]);\n\n\tconst maxIdentities = useUserSettings().attrs.zimbraIdentityMaxNumEntries;\n\tconst addMod = useCallback(\n\t\t(arg: AddModProps) => {\n\t\t\tconst { type, modifyProp, deleteList, createList } = arg;\n\t\t\tsetMods((prevState) => {\n\t\t\t\tconst prevRecord = find(\n\t\t\t\t\tprevState?.identity?.modifyList,\n\t\t\t\t\t(item) => item.id === modifyProp?.id\n\t\t\t\t)?.prefs;\n\t\t\t\tconst modifyList =\n\t\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...prevState.identity?.modifyList,\n\t\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\t\tid: modifyProp.id,\n\t\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: prevState.identity?.modifyList;\n\t\t\t\tconst newCreateList = prevState.identity?.createList || createList;\n\t\t\t\tconst newDeleteList = prevState.identity?.deleteList || deleteList;\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\n\t\t\t\t\t[type]: {\n\t\t\t\t\t\tdeleteList: newDeleteList,\n\t\t\t\t\t\tcreateList: newCreateList,\n\t\t\t\t\t\tmodifyList\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t[setMods]\n\t);\n\n\tconst modifyCreateList = useCallback((arg: AddModProps) => {\n\t\tconst { type, modifyProp } = arg;\n\t\tsetMods((prevState) => {\n\t\t\tconst prevRecord = find(\n\t\t\t\tprevState?.identity?.createList,\n\t\t\t\t(item) => item.prefs.requestId === modifyProp?.id\n\t\t\t)?.prefs;\n\t\t\tconst modifiedCreateList =\n\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...prevState.identity?.createList,\n\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\n\t\t\t\t[type]: {\n\t\t\t\t\tcreateList: modifiedCreateList,\n\t\t\t\t\tdeleteList: prevState.identity?.deleteList,\n\t\t\t\t\tmodifyList: prevState.identity?.modifyList\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}, []);\n\tconst createIdentities = useCallback(\n\t\t(createList: { prefs: CreateIdentityProps }[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tcreateList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst updateIdentities = useCallback(\n\t\t(modifyProp: { id: string | number; key: string; value: string | boolean }) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tmodifyProp: { id: modifyProp.id, key: modifyProp.key, value: modifyProp.value }\n\t\t\t};\n\t\t\tif (typeof modifyProp.id === 'string') {\n\t\t\t\taddMod(arg);\n\t\t\t} else if (typeof modifyProp.id === 'number') {\n\t\t\t\tmodifyCreateList(arg);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(modifyProp.key, 'zimbraPref', ''));\n\t\t\tsetIdentities(\n\t\t\t\tmap(identities, (item) =>\n\t\t\t\t\titem.identityId === modifyProp.id\n\t\t\t\t\t\t? { ...item, [updatedIdentityKey]: modifyProp.value }\n\t\t\t\t\t\t: item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[addMod, identities, modifyCreateList]\n\t);\n\n\tconst deleteIdentities = useCallback(\n\t\t(deleteList: string[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tdeleteList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'GetRights',\n\t\t\t`<GetRightsRequest xmlns=\"urn:zimbraAccount\"></GetRightsRequest>`\n\t\t).then((res: any) => {\n\t\t\tif (res.ace) {\n\t\t\t\tconst tempResult: UserRightsProps[] = map(res.ace, (item) => ({\n\t\t\t\t\temail: item.d,\n\t\t\t\t\tright: item.right\n\t\t\t\t}));\n\t\t\t\tconst resultReduced = reduce(\n\t\t\t\t\ttempResult,\n\t\t\t\t\t(result: UserRightsProps[], item) => {\n\t\t\t\t\t\tconst index = findIndex(result, { email: item.email });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\tresult.push({ email: item.email, right: item.right });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\temail: item.email,\n\t\t\t\t\t\t\t\tright: `${item.right} and ${result[index].right}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tresult.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tconst result = map(resultReduced, (item: UserRightsProps, index) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: index.toString()\n\t\t\t\t}));\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tsetMods({});\n\t}, [identitiesDefault]);\n\n\tconst onSave = useCallback(() => {\n\t\tif (\n\t\t\tidentitiesDefault.length +\n\t\t\t\t(mods.identity?.createList?.length || 0) -\n\t\t\t\t(mods?.identity?.deleteList?.length || 0) >\n\t\t\tmaxIdentities\n\t\t) {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t(\n\t\t\t\t\t'message.snackbar.identities_quota_exceeded',\n\t\t\t\t\t'The identitity could not be created because you have exceeded your identity quota'\n\t\t\t\t),\n\t\t\t\tautoHideTimeout: 5000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [identitiesDefault.length, mods, maxIdentities, createSnackbar, t]);\n\n\tconst onCancel = useCallback(() => setMods({}), []);\n\tconst title: string = useMemo(() => t('label.accounts', 'Accounts'), [t]);\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader onSave={onSave} onCancel={onCancel} isDirty={isDirty} title={title} />\n\t\t\t<Container background=\"gray5\" padding={{ top: 'large' }} height=\"fit\" />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AccountsList\n\t\t\t\t\tt={t}\n\t\t\t\t\tidentities={identities}\n\t\t\t\t\tsetIdentities={setIdentities}\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t\tdeleteIdentities={deleteIdentities}\n\t\t\t\t\tcreateIdentities={createIdentities}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.primary', 'Primary') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PrimaryAccountSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[0]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{/* <PasswordRecoverySettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tcreateSnackbar={createSnackbar}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t<Delegates\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={delegates}\n\t\t\t\t\t\t\tactiveDelegateView={activeDelegateView}\n\t\t\t\t\t\t\tsetActiveDelegateView={setActiveDelegateView}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.persona', 'Persona') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PersonaSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PersonaUseSection\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{includes(['IMAP', 'POP'], identities[selectedIdentityId]?.type) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* <ExternalAccount t={t} items={identities} />\n\t\t\t\t\t\t<AdvancedSettings t={t} items={identities} />\n\t\t\t\t\t\t<DownloadMessages t={t} items={identities} />\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tsetMods={setMods}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, ReactElement, useState, useContext } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tIcon,\n\tModalManagerContext\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max } from 'lodash';\nimport { IdentityProps, CreateIdentityProps } from '../../../../types';\n\ntype AccountsListProps = {\n\tt: TFunction;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tdeleteIdentities: (deleteList: string[]) => void;\n\tcreateIdentities: (createList: { prefs: CreateIdentityProps }[]) => void;\n};\n\ntype ListItemProps = {\n\tactive: boolean;\n\titem: IdentityProps;\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst AccountsList = ({\n\tt,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tdeleteIdentities,\n\tcreateIdentities\n}: AccountsListProps): ReactElement => {\n\tconst changeView = (value: number): void => setSelectedIdentityId(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => {\n\t\t\t\t\tchangeView(Number(item.id));\n\t\t\t\t}}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Icon icon=\"CheckmarkCircle2Outline\" size=\"large\" color=\"primary\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.identityName}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t({item.fromAddress})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.type}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\tconst createModal = useContext(ModalManagerContext);\n\n\tconst [createListrequestId, setCreateListrequestId] = useState(0);\n\tconst [createList, setCreateList] = useState<{ prefs: CreateIdentityProps }[]>([]);\n\tconst addNewPersona = useCallback(() => {\n\t\tconst newPersonaNextNumber =\n\t\t\tNumber(\n\t\t\t\tmax([\n\t\t\t\t\t...filter(\n\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\tfilter(identities, (item) => item.identityName?.includes('New Persona')),\n\t\t\t\t\t\t\t\t(item: IdentityProps) => item.identityName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(item: string) => parseFloat(item.replace('New Persona ', ''))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(item) => Number(item)\n\t\t\t\t\t)\n\t\t\t\t])\n\t\t\t) + 1;\n\t\tconst newPersonaName = `New Persona ${newPersonaNextNumber || 1}`;\n\t\tidentities.push({\n\t\t\tid: `${identities.length}`,\n\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\tidentityId: createListrequestId,\n\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\tidentityName: newPersonaName,\n\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\treplyToDisplay: '',\n\t\t\treplyToAddress: '',\n\t\t\treplyToEnabled: 'FALSE',\n\t\t\tsaveToSent: '',\n\t\t\tsentMailFolder: '',\n\t\t\twhenInFoldersEnabled: '',\n\t\t\twhenSentToEnabled: ''\n\t\t});\n\t\tsetIdentities(identities);\n\t\tsetCreateListrequestId(createListrequestId + 1);\n\t\tsetCreateList((state) => {\n\t\t\tstate.push({\n\t\t\t\tprefs: {\n\t\t\t\t\trequestId: createListrequestId,\n\t\t\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\t\t\tzimbraPrefReplyToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefReplyToDisplay: '',\n\t\t\t\t\tzimbraPrefReplyToAddress: '',\n\t\t\t\t\tzimbraPrefDefaultSignatureId: '',\n\t\t\t\t\tzimbraPrefForwardReplySignatureId: '',\n\t\t\t\t\tzimbraPrefWhenSentToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefWhenInFoldersEnabled: 'FALSE'\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\t\tcreateIdentities(createList);\n\t\tsetSelectedIdentityId(identities.length - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tt,\n\t\tcreateIdentities,\n\t\tcreateListrequestId,\n\t\tcreateList,\n\t\tsetSelectedIdentityId\n\t]);\n\n\tconst [deleteList, setDeleteList] = useState<string[]>([]);\n\tconst onConfirmDelete = useCallback((): void => {\n\t\tconst newIdentities = map(\n\t\t\tfilter(\n\t\t\t\tidentities,\n\t\t\t\t(identity) => identity?.identityId !== identities[selectedIdentityId]?.identityId\n\t\t\t),\n\t\t\t(item: IdentityProps, index: number) => ({ ...item, id: index.toString() })\n\t\t);\n\t\tsetDeleteList((state) => {\n\t\t\tstate.push(identities[selectedIdentityId]?.identityId.toString());\n\t\t\treturn state;\n\t\t});\n\t\tsetIdentities(newIdentities);\n\t\tdeleteIdentities(deleteList);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tdeleteIdentities,\n\t\tdeleteList,\n\t\tsetSelectedIdentityId,\n\t\tselectedIdentityId\n\t]);\n\tconst onDelete = useCallback((): void => {\n\t\t// I'm disabling lint as the DS is not defining the type\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst closeModal = createModal({\n\t\t\ttitle: t('label.permanent_delete_title', 'Are you sure to permanently delete this Persona?'),\n\t\t\tonConfirm: () => {\n\t\t\t\tonConfirmDelete();\n\t\t\t\tcloseModal();\n\t\t\t},\n\t\t\tconfirmLabel: t('label.delete_permanently', 'Delete permanently'),\n\t\t\tconfirmColor: 'error',\n\t\t\tshowCloseIcon: true,\n\t\t\tonClose: () => closeModal(),\n\t\t\tchildren: (\n\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'messages.permanent_delete_body',\n\t\t\t\t\t\t\t'If you permanently delete this Persona you will not be able to recover it. Continue?'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Padding>\n\t\t\t)\n\t\t});\n\t}, [createModal, t, onConfirmDelete]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.accounts_list', 'Accounts list')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={identities}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={identities[selectedIdentityId]?.id}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_external_account', 'Add external account')}\n\t\t\t\t\t\t// onClick={(): void => setSelectedIdentity({ type: 'POP' })}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={(): void => addNewPersona()}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.delete', 'Delete')}\n\t\t\t\t\tonClick={(): void => onDelete()}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.type === t('label.primary', 'Primary')}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default AccountsList;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tRadio,\n\tRadioGroup\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: { email: string; right: string; id: string }[];\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\n};\n\ntype ListItemProps = {\n\tactive: string;\n\titem: { id: string; label: string; email: string; right: string };\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst Delegates = ({\n\tt,\n\titems,\n\tactiveDelegateView,\n\tsetActiveDelegateView\n}: DelegatesProps): ReactElement => {\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst changeView = (value: string): void => setActiveDelegateView(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => changeView(item.id)}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.delegates', 'Delegates')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={items}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={activeDelegateView}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tactiveView={activeDelegateView}\n\t\t\t\t\tsetActiveView={setActiveDelegateView}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_delegate', 'Add delegate')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.edit_permissions', 'Edit permissions')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button label={t('label.remove', 'remove')} color=\"error\" type=\"outlined\" disabled />\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<RadioGroup\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\tvalue={activeValue}\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tonChange={(newValue: string): void => setActiveValue(newValue)}\n\t\t\t\t>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_to_my_sent_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_delegate_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to delegate’s Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"2\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_both_folders',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder and delegate’s folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio label={t('label.dont_save', 'Don’t save a copy of sent messages')} value=\"4\" />\n\t\t\t\t</RadioGroup>\n\t\t\t\t<Padding bottom=\"large\" />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default Delegates;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { 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 { 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\tsetDarkReaderState(v);\n\t\t\taddMod('props', 'zappDarkreaderMode', { app: SHELL_APP_ID, value: v });\n\t\t},\n\t\t[addMod, 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\tInput,\n\tCheckbox,\n\tSelect,\n\tPadding\n} from '@zextras/carbonio-design-system';\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { 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\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<Input\n\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(e.target.value);\n\t\t\t\t\t\t\tupdatePrefs(e.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tautoComplete=\"on\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.auto_reply_message', 'Auto-Reply Message:')}\n\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\titems={itemsExternalSenders}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\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<Input\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(e.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(e.target.value, 'zimbraPrefOutOfOfficeExternalReply');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tautoComplete=\"on\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeExternalReply || ''}\n\t\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<DateTimeSelect settings={settings} addMod={addMod} sendAutoReply={sendAutoReply} />\n\t\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttitle={t('settings.out_of_office.headings.create_appointment', 'Calendar Appointment')}\n\t\t\t\t\t/>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.create_appointment', 'Create Appointment:')}\n\t\t\t\t\t\tvalue={createAppointment}\n\t\t\t\t\t\tonClick={(value: any): void => {\n\t\t\t\t\t\t\tsetCreateAppointment(!createAppointment);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t\t<Padding top=\"small\" width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\t\titems={itemsOutOfOfficeStatus}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.out_of_office_status',\n\t\t\t\t\t\t\t\t'Out Of Office Status:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\t\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: 'pt_BR',\n\t\tname: 'português (Brasil)',\n\t\tlocalName: t('locale.portuguese_brazil', 'Portuguese (Brazil)'),\n\t\tlabel: t('locale.label_portuguese_brazil', {\n\t\t\tvalue: 'português (Brasil)',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt_BR'\n\t},\n\n\t{\n\t\tid: 'ro',\n\t\tname: 'română',\n\t\tlocalName: t('locale.romanian', 'Romanian'),\n\t\tlabel: t('locale.label_romanian', { value: 'română', defaultValue: 'Romanian - {{value}}' }),\n\t\tvalue: 'ro'\n\t},\n\t{\n\t\tid: 'ru',\n\t\tname: 'русский',\n\t\tlocalName: t('locale.russian', 'Russian'),\n\t\tlabel: t('locale.label_russian', { value: 'русский', defaultValue: 'Russian - {{value}}' }),\n\t\tvalue: 'ru'\n\t},\n\n\t{\n\t\tid: 'es',\n\t\tname: 'español',\n\t\tlocalName: t('locale.spanish', 'Spanish'),\n\t\tlabel: t('locale.label_spanish', { value: 'español', defaultValue: 'Spanish - {{value}}' }),\n\t\tvalue: 'es'\n\t},\n\n\t{\n\t\tid: 'th',\n\t\tname: 'ไทย',\n\t\tlocalName: t('locale.thai', 'Thai'),\n\t\tlabel: t('locale.label_thai', { value: 'ไทย', defaultValue: 'Thai - {{value}}' }),\n\t\tvalue: 'th'\n\t},\n\t{\n\t\tid: 'tr',\n\t\tname: 'Türkçe',\n\t\tlocalName: t('locale.turkish', 'Turkish'),\n\t\tlabel: t('locale.label_turkish', { value: 'Türkçe', defaultValue: 'Turkish - {{value}}' }),\n\t\tvalue: 'tr'\n\t},\n\t{\n\t\tid: 'fr',\n\t\tname: 'français',\n\t\tlocalName: t('locale.french', 'French'),\n\t\tlabel: t('locale.label_french', { value: 'français', defaultValue: 'French - {{value}}' }),\n\t\tvalue: 'fr'\n\t}\n];\n// TODO: For future languages\n// export const localeList = (t: TFunction): any => [\n// \t{\n// \t\tid: 'ar',\n// \t\tname: 'العربية',\n// \t\tlocalName: t('locale.arabic', 'Arabic'),\n// \t\tlabel: t('locale.label_arabic', { value: 'لعربية', defaultValue: 'Arabic - {{value}}' }),\n// \t\tvalue: 'ar'\n// \t},\n// \t{\n// \t\tid: 'eu',\n// \t\tname: 'Euskara',\n// \t\tlocalName: t('locale.basque', 'Basque'),\n// \t\tlabel: t('locale.label_basque', { value: 'Euskara', defaultValue: 'Basque - {{value}}' }),\n// \t\tvalue: 'eu'\n// \t},\n// \t{\n// \t\tid: 'bg',\n// \t\tname: 'български',\n// \t\tlocalName: t('locale.bulgarian', 'Bulgarian'),\n// \t\tlabel: t('locale.label_bulgarian', {\n// \t\t\tvalue: 'български',\n// \t\t\tdefaultValue: 'Bulgarian - {{value}}'\n// \t\t}),\n// \t\tvalue: 'bg'\n// \t},\n// \t{\n// \t\tid: 'ca',\n// \t\tname: 'català',\n// \t\tlocalName: t('locale.catalan', 'Catalan'),\n// \t\tlabel: 'Catalan - català',\n// \t\tvalue: 'ca'\n// \t},\n// \t{\n// \t\tid: 'zh',\n// \t\tname: '中文',\n// \t\tlocalName: t('locale.chinese', 'Chinese'),\n// \t\tlabel: 'Chinese - 中文',\n// \t\tvalue: 'zh'\n// \t},\n// \t{\n// \t\tid: 'zh_CN',\n// \t\tname: '中文 (中国)',\n// \t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n// \t\tlabel: 'Chinese (China) - 中文 (中国)',\n// \t\tvalue: 'zh_CN'\n// \t},\n// \t{\n// \t\tid: 'zh_HK',\n// \t\tname: '中文 (香港)',\n// \t\tlocalName: t('locale.chinese_hong_kong', 'Chinese (Hong Kong SAR China)'),\n// \t\tlabel: 'Chinese (Hong Kong SAR China) - 中文 (香港)',\n// \t\tvalue: 'zh_HK'\n// \t},\n// \t{\n// \t\tid: 'zh_TW',\n// \t\tname: '中文 (台灣)',\n// \t\tlocalName: t('locale.chinese_taiwan', 'Chinese (Taiwan)'),\n// \t\tlabel: 'Chinese (Taiwan) - 中文 (台灣)',\n// \t\tvalue: 'zh_TW'\n// \t},\n// \t{\n// \t\tid: 'hr',\n// \t\tname: 'hrvatski',\n// \t\tlocalName: t('locale.croatian', 'Croatian'),\n// \t\tlabel: 'Croatian - hrvatski',\n// \t\tvalue: 'hr'\n// \t},\n// \t{\n// \t\tid: 'da',\n// \t\tname: 'Dansk',\n// \t\tlocalName: t('locale.danish', 'Danish'),\n// \t\tlabel: 'Danish - Dansk',\n// \t\tvalue: 'da'\n// \t},\n\n// \t{\n// \t\tid: 'en_AU',\n// \t\tname: 'English (Australia)',\n// \t\tlocalName: t('locale.english_australia', 'English (Australia)'),\n// \t\tlabel: 'English (Australia) - English (Australia)',\n// \t\tvalue: 'en_AU'\n// \t},\n// \t{\n// \t\tid: 'en_GB',\n// \t\tname: 'English (United Kingdom)',\n// \t\tlocalName: t('locale.english_united_kingdom', 'English (United Kingdom)'),\n// \t\tlabel: 'English (United Kingdom) - English (United Kingdom)',\n// \t\tvalue: 'en_GB'\n// \t},\n// \t{\n// \t\tid: 'en_US',\n// \t\tname: 'English (United States)',\n// \t\tlocalName: t('locale.english_united_states', 'English (United States)'),\n// \t\tlabel: 'English (United States) - English (United States)',\n// \t\tvalue: 'en_US'\n// \t},\n// \t{\n// \t\tid: 'fr',\n// \t\tname: 'français',\n// \t\tlocalName: t('locale.french', 'French'),\n// \t\tlabel: 'French - français',\n// \t\tvalue: 'fr'\n// \t},\n// \t{\n// \t\tid: 'fr_CA',\n// \t\tname: 'français (Canada)',\n// \t\tlocalName: t('locale.french_canada', 'French (Canada)'),\n// \t\tlabel: 'French (Canada) - français (Canada)',\n// \t\tvalue: 'fr_CA'\n// \t},\n// \t{\n// \t\tid: 'fr_FR',\n// \t\tname: 'français (France)',\n// \t\tlocalName: t('locale.french_france', 'French (France)'),\n// \t\tlabel: 'French (France) - français (France)',\n// \t\tvalue: 'fr_FR'\n// \t},\n\n// \t{\n// \t\tid: 'iw',\n// \t\tname: 'עברית',\n// \t\tlocalName: t('locale.hebrew', 'Hebrew'),\n// \t\tlabel: 'Hebrew - עברית',\n// \t\tvalue: 'iw'\n// \t},\n\n// \t{\n// \t\tid: 'hu',\n// \t\tname: 'magyar',\n// \t\tlocalName: t('locale.hungarian', 'Hungarian'),\n// \t\tlabel: 'Hungarian - magyar',\n// \t\tvalue: 'hu'\n// \t},\n// \t{\n// \t\tid: 'in',\n// \t\tname: 'Bahasa Indonesia',\n// \t\tlocalName: t('locale.indonesian', 'Indonesian'),\n// \t\tlabel: 'Indonesian - Bahasa Indonesia',\n// \t\tvalue: 'in'\n// \t},\n\n// \t{\n// \t\tid: 'ko',\n// \t\tname: '한국어',\n// \t\tlocalName: t('locale.korean', 'Korean'),\n// \t\tlabel: 'Korean - 한국어',\n// \t\tvalue: 'ko'\n// \t},\n// \t{\n// \t\tid: 'lo',\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tname: 'ພາ​ສາ​ລາວ',\n// \t\tlocalName: t('locale.lao', 'Lao'),\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tlabel: 'Lao - ພາ​ສາ​ລາວ',\n// \t\tvalue: 'lo'\n// \t},\n// \t{\n// \t\tid: 'ms',\n// \t\tname: 'Bahasa Melayu',\n// \t\tlocalName: t('locale.malay', 'Malay'),\n// \t\tlabel: 'Malay - Bahasa Melayu',\n// \t\tvalue: 'ms'\n// \t},\n// \t{\n// \t\tid: 'no',\n// \t\tname: 'norsk',\n// \t\tlocalName: t('locale.norwegian', 'Norwegian'),\n// \t\tlabel: 'Norwegian - norsk',\n// \t\tvalue: 'no'\n// \t},\n// \t{\n// \t\tid: 'pl',\n// \t\tname: 'polski',\n// \t\tlocalName: t('locale.polish', 'Polish'),\n// \t\tlabel: 'Polish - polski',\n// \t\tvalue: 'pl'\n// \t},\n\n// \t{\n// \t\tid: 'pt_PT',\n// \t\tname: 'português (Portugal)',\n// \t\tlocalName: t('locale.potuguese_portugal', 'Portuguese (Portugal)'),\n// \t\tlabel: 'Portuguese (Portugal) - português (Portugal)',\n// \t\tvalue: 'pt_PT'\n// \t},\n\n// \t{\n// \t\tid: 'sl',\n// \t\tname: 'Slovenščina',\n// \t\tlocalName: t('locale.slovenian', 'Slovenian'),\n// \t\tlabel: 'Slovenian - Slovenščina',\n// \t\tvalue: 'sl'\n// \t},\n\n// \t{\n// \t\tid: 'sv',\n// \t\tname: 'svenska',\n// \t\tlocalName: t('locale.swedish', 'Swedish'),\n// \t\tlabel: 'Swedish - svenska',\n// \t\tvalue: 'sv'\n// \t},\n// \t{\n// \t\tid: 'ta',\n// \t\tname: 'தமிழ்',\n// \t\tlocalName: t('locale.tamil', 'Tamil'),\n// \t\tlabel: 'Tamil - தமிழ்',\n// \t\tvalue: 'ta'\n// \t},\n\n// \t{\n// \t\tid: 'uk',\n// \t\tname: 'українська',\n// \t\tlocalName: t('locale.ukrainian', 'Ukrainian'),\n// \t\tlabel: 'Ukrainian - українська',\n// \t\tvalue: 'uk'\n// \t},\n// \t{\n// \t\tid: 'vi',\n// \t\tname: 'Tiếng Việt',\n// \t\tlocalName: t('locale.vietnamese', 'Vietnamese'),\n// \t\tlabel: 'Vietnamese - Tiếng Việt',\n// \t\tvalue: 'vi'\n// \t}\n// ];\n\nexport const timeZoneList = (\n\tt: TFunction\n): Array<{ value?: string; label: string; offSet?: string }> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.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`;\n\nexport default function AppBoard({ idx }) {\n\tconst { boards, currentBoard } = useContext(BoardValueContext);\n\tconst [history] = useState(() => createMemoryHistory({ initialEntries: [boards[idx].url] }));\n\tconst { updateBoard } = useContext(BoardSetterContext);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(boardViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[boardViews, windowHistory]\n\t);\n\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== boards[idx].url) {\n\t\t\t\tupdateBoard(idx, `${location.pathname}${location.search}${location.hash}`);\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tunlisten();\n\t\t};\n\t}, [boards, history, idx, updateBoard]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== boards[idx].url) {\n\t\t\thistory.push(boards[idx].url);\n\t\t}\n\t}, [idx, boards, history]);\n\n\treturn (\n\t\t<BoardContainer show={currentBoard === idx}>\n\t\t\t<Router history={history}>{routes}</Router>\n\t\t</BoardContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useReducer } from 'react';\nimport { pickBy, trim } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\nimport { useBridge } from '../../store/context-bridge';\n\nfunction getRandomKey() {\n\treturn String(Date.now() * (Math.floor(Math.random() * 1000) + 1));\n}\nconst reducer = (state, action) => {\n\tswitch (action.type) {\n\t\tcase 'ADD_BOARD': {\n\t\t\tconst returnValue = {\n\t\t\t\t...state,\n\t\t\t\tboards: {\n\t\t\t\t\t[action.payload.boardKey]: {\n\t\t\t\t\t\turl: action.payload.url,\n\t\t\t\t\t\ttitle: action.payload.title,\n\t\t\t\t\t\tcontext: action.payload.context,\n\t\t\t\t\t\tapp: action.payload.app\n\t\t\t\t\t},\n\t\t\t\t\t...state.boards\n\t\t\t\t},\n\t\t\t\tcurrentBoard: action.payload.boardKey,\n\t\t\t\tminimized: false\n\t\t\t};\n\t\t\treturn returnValue;\n\t\t}\n\t\tcase 'REMOVE_BOARD': {\n\t\t\tlet newCurrentBoard = state.currentBoard;\n\t\t\tconst boardKeys = Object.keys(state.boards);\n\t\t\tconst boardToRemove = (action.payload && action.payload.key) || state.currentBoard;\n\t\t\tif (state.currentBoard === boardToRemove) {\n\t\t\t\tconst removedBoardIndex = boardKeys.indexOf(boardToRemove);\n\t\t\t\tnewCurrentBoard = boardKeys[removedBoardIndex > 0 ? removedBoardIndex - 1 : 1];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: pickBy(state.boards, (board, key) => key !== boardToRemove),\n\t\t\t\tlargeView: boardKeys.length === 1 ? false : state.largeView,\n\t\t\t\tcurrentBoard: newCurrentBoard\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ALL_BOARDS': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: {},\n\t\t\t\tlargeView: false\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_BOARD': {\n\t\t\tif (!state.boards[action.payload.key]) return state;\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[action.payload.key].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[action.payload.key].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_CURRENT_BOARD': {\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[state.currentBoard].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[state.currentBoard].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'SET_CURRENT_BOARD': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcurrentBoard: action.payload.key\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_LARGE_VIEW': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlargeView: !state.largeView\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_MINIMIZED': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tminimized: !state.minimized\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tconsole.warn('Unrecognized action type in BoardContext');\n\t\t\treturn state;\n\t}\n};\n\nexport default function BoardContextProvider({ children }) {\n\tconst [t] = useTranslation();\n\tconst [boardState, dispatch] = useReducer(reducer, {\n\t\tboards: {},\n\t\tcurrentBoard: 0,\n\t\tlargeView: false,\n\t\tminimized: false\n\t});\n\n\tconst addBoard = useCallback(\n\t\t(url, context, app) => {\n\t\t\tconst boardKey = getRandomKey();\n\t\t\tdispatch({\n\t\t\t\ttype: 'ADD_BOARD',\n\t\t\t\tpayload: {\n\t\t\t\t\turl: `/${trim(url, '/')}`,\n\t\t\t\t\ttitle: context?.title ?? t('new_tab', 'New Tab'),\n\t\t\t\t\tcontext,\n\t\t\t\t\tboardKey,\n\t\t\t\t\tapp\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn boardKey;\n\t\t},\n\t\t[t]\n\t);\n\tconst removeBoard = useCallback((key) => {\n\t\tdispatch({ type: 'REMOVE_BOARD', payload: { key } });\n\t}, []);\n\tconst removeCurrentBoard = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_BOARD' });\n\t}, []);\n\tconst removeAllBoards = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_ALL_BOARDS' });\n\t}, []);\n\tconst updateBoard = useCallback((key, url, title) => {\n\t\tdispatch({ type: 'UPDATE_BOARD', payload: { key, url, title } });\n\t}, []);\n\tconst updateCurrentBoard = useCallback((url, title) => {\n\t\tdispatch({ type: 'UPDATE_CURRENT_BOARD', payload: { url, title } });\n\t}, []);\n\tconst setCurrentBoard = useCallback((key) => {\n\t\tdispatch({ type: 'SET_CURRENT_BOARD', payload: { key } });\n\t}, []);\n\tconst toggleLargeView = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_LARGE_VIEW' });\n\t}, []);\n\tconst toggleMinimized = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_MINIMIZED' });\n\t}, []);\n\n\tconst boardSetters = useMemo(\n\t\t() => ({\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tremoveAllBoards,\n\t\t\tupdateBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateCurrentBoard\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveAllBoards,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\n\tconst cbFunctions = useMemo(\n\t\t() => ({\n\t\t\tpackageDependentFunctions: {\n\t\t\t\taddBoard: (pkg) => (path, context) => {\n\t\t\t\t\taddBoard(path, context, context?.app ?? pkg);\n\t\t\t\t}\n\t\t\t},\n\t\t\tfunctions: {\n\t\t\t\tremoveBoard,\n\t\t\t\tremoveCurrentBoard,\n\t\t\t\tupdateBoard,\n\t\t\t\tsetCurrentBoard,\n\t\t\t\tupdateCurrentBoard,\n\t\t\t\ttoggleMinimizedBoard: toggleMinimized\n\t\t\t}\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\tuseBridge(cbFunctions);\n\n\treturn (\n\t\t<BoardValueContext.Provider value={boardState}>\n\t\t\t<BoardSetterContext.Provider value={boardSetters}>{children}</BoardSetterContext.Provider>\n\t\t</BoardValueContext.Provider>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst BoardValueContext = createContext({\n\tboards: {},\n\tcurrentBoard: 0,\n\tlargeView: false,\n\tminimized: false\n});\nconst BoardSetterContext = createContext({\n\taddBoard: (url, title, context) => undefined,\n\tremoveBoard: (key) => undefined,\n\tremoveCurrentBoard: () => undefined,\n\tremoveAllBoards: () => undefined,\n\tupdateBoard: (key, url, title) => undefined,\n\tsetCurrentBoard: (key) => undefined,\n\tupdateCurrentBoard: (url, title) => undefined,\n\ttoggleLargeView: () => undefined,\n\ttoggleMinimized: () => undefined\n});\n\nexport { BoardValueContext, BoardSetterContext };\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useContext, useCallback } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardSetterContext, BoardValueContext } from './board-context';\n\nexport const getUseAddBoardCallback =\n\t(appId: string) => (): ((path: string, context?: unknown | { app: string }) => void) => {\n\t\tconst { addBoard } = useContext(BoardSetterContext);\n\t\tconst callback = useCallback(\n\t\t\t(path: string, context?: unknown | { app?: string }) => {\n\t\t\t\taddBoard(path, context, (context as { app?: string })?.app ?? appId);\n\t\t\t},\n\t\t\t[addBoard]\n\t\t);\n\t\treturn callback;\n\t};\n\nexport function useUpdateCurrentBoard(): (url: string, title: string) => void {\n\tconst { updateCurrentBoard } = useContext(BoardSetterContext);\n\treturn updateCurrentBoard;\n}\n\nexport function useRemoveCurrentBoard(): () => void {\n\tconst { removeCurrentBoard } = useContext(BoardSetterContext);\n\treturn removeCurrentBoard;\n}\n\nexport function useBoardConfig(): unknown {\n\tconst context: any = useContext(BoardValueContext);\n\tif (context) {\n\t\treturn context.boards?.[context.currentBoard]?.context;\n\t}\n\treturn undefined;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { Icon } from '@zextras/carbonio-design-system';\n\nconst VerticalDivider = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\theight: 100%;\n\twidth: 1px;\n\tmax-width: 1px;\n\tmin-width: 1px;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background 0.2s;\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n`;\n\nconst Bubble = styled.div<{ open: boolean }>`\n\tcursor: pointer;\n\tz-index: 2;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: -12px;\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background-color 0.2s, transform 0.2s;\n\ttransform: scaleX(${({ open }): number => (open ? 1 : -1)});\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.active};\n\t}\n`;\n\nexport const Collapser: FunctionComponent<{ open: boolean; onClick: () => void }> = ({\n\topen,\n\tonClick\n}) => (\n\t<VerticalDivider>\n\t\t<Bubble onClick={onClick} open={open}>\n\t\t\t<Icon size=\"medium\" icon=\"ChevronLeft\" />\n\t\t</Bubble>\n\t</VerticalDivider>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { reduce, groupBy } from 'lodash';\nimport { MultiButton, Button, Dropdown } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from 'react-router-dom';\nimport { useActions } from '../store/integrations/hooks';\nimport { ACTION_TYPES } from '../constants';\nimport { Action, AppRoute } from '../../types';\nimport { useAppList } from '../store/app';\n\nconst useSecondaryActions = (\n\tactions: Array<Action>,\n\tactiveRoute?: AppRoute\n): Array<Action | { type: string; id: string }> => {\n\tconst apps = useAppList();\n\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t\t...reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app, i) => {\n\t\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[] as Array<Action | { type: string; id: string }>\n\t\t\t)\n\t\t],\n\t\t[activeRoute?.app, apps, byApp]\n\t);\n};\n\nexport const CreationButton: FC<{ activeRoute?: AppRoute }> = ({ activeRoute }) => {\n\tconst [t] = useTranslation();\n\tconst location = useLocation();\n\tconst actions = useActions({ activeRoute, location }, ACTION_TYPES.NEW);\n\tconst [open, setOpen] = useState(false);\n\tconst primaryAction = useMemo(\n\t\t() =>\n\t\t\tactions?.find?.(\n\t\t\t\t(a) => (a.group === activeRoute?.id || a.group === activeRoute?.app) && a.primary\n\t\t\t),\n\t\t[actions, activeRoute?.app, activeRoute?.id]\n\t);\n\tconst secondaryActions = useSecondaryActions(actions, activeRoute);\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\treturn primaryAction ? (\n\t\t<MultiButton\n\t\t\tstyle={{ height: '42px' }}\n\t\t\tbackground=\"primary\"\n\t\t\tlabel={primaryAction?.label ?? t('new', 'New')}\n\t\t\tonClick={primaryAction?.click}\n\t\t\titems={secondaryActions}\n\t\t\tdisabled={!primaryAction || primaryAction?.disabled}\n\t\t/>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tstyle={{ height: '42px' }}\n\t\t\t\tbackground=\"primary\"\n\t\t\t\titems={secondaryActions}\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { 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 } from 'react';\nimport {\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode,\n\tCatcher\n} from '@zextras/carbonio-design-system';\nimport Logo from '../svg/carbonio.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\n\nconst ShellHeader: FC<{\n\tactiveRoute: AppRoute;\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ activeRoute, mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"60px\"\n\t\t\tminHeight=\"60px\"\n\t\t\tmaxHeight=\"60px\"\n\t\t\tmainAlignment=\"space-between\"\n\t\t\tpadding={{\n\t\t\t\thorizontal: screenMode === 'desktop' ? 'large' : 'extrasmall',\n\t\t\t\tvertical: 'small'\n\t\t\t}}\n\t\t>\n\t\t\t<Catcher>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"75%\"\n\t\t\t\t\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<IconButton icon={mobileNavIsOpen ? 'Close' : 'Menu'} onClick={onMobileMenuClick} />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Responsive>\n\t\t\t\t\t<Container width={320} height={32} crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Logo height=\"32px\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton activeRoute={activeRoute} />\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t\t\t{searchEnabled && (\n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tactiveRoute={activeRoute}\n\t\t\t\t\t\t\t\t// primaryAction={primaryAction}\n\t\t\t\t\t\t\t\t// secondaryActions={secondaryActions}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"25%\" mainAlignment=\"flex-end\">\n\t\t\t\t\t<Responsive mode=\"desktop\">{children}</Responsive>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\t\tpadding={{ right: 'extrasmall' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* <Dropdown items={secondaryActions} placement=\"bottom-start\">\n\t\t\t\t\t\t\t<IconButton icon=\"Plus\" />\n\t\t\t\t\t\t</Dropdown> */}\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t</Catcher>\n\t\t</Container>\n\t);\n};\nexport default ShellHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport { reduce, find } from 'lodash';\nimport { Accordion, Collapse, Container, Padding } from '@zextras/carbonio-design-system';\nimport { useHistory } from 'react-router-dom';\nimport { useAppStore } from '../store/app';\nimport AppContextProvider from '../boot/app/app-context-provider';\n\nconst SidebarComponent = ({ item }) =>\n\titem.secondary ? (\n\t\t<AppContextProvider pkg={item.id}>\n\t\t\t<item.secondary />\n\t\t</AppContextProvider>\n\t) : null;\n\nexport default function ShellMobileNav({ mobileNavIsOpen, menuTree }) {\n\tconst history = useHistory();\n\tconst views = useAppStore((s) =>\n\t\treduce(\n\t\t\ts.routes,\n\t\t\t(acc, val) => {\n\t\t\t\tconst primary = find(s.views.primaryBar, (item) => item.id === val.id);\n\t\t\t\tconst secondary = find(s.views.secondaryBar, (item) => item.id === val.id);\n\t\t\t\tif (primary && primary.visible) {\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\tid: `${val.app}-wrap`,\n\t\t\t\t\t\tlabel: primary.label,\n\t\t\t\t\t\ticon: typeof primary.component === 'string' ? primary.component : 'Cube',\n\t\t\t\t\t\tonClick: () => history.push(`/${val.route}`),\n\t\t\t\t\t\titems: secondary\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: secondary.id,\n\t\t\t\t\t\t\t\t\t\tlabel: secondary.id,\n\t\t\t\t\t\t\t\t\t\ticon: 'Cube',\n\t\t\t\t\t\t\t\t\t\tsecondary: secondary.component,\n\t\t\t\t\t\t\t\t\t\tCustomComponent: SidebarComponent\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"fill\"\n\t\t\twidth=\"fit\"\n\t\t\tbackground=\"gray5\"\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 3\n\t\t\t}}\n\t\t>\n\t\t\t<Collapse orientation=\"horizontal\" open={mobileNavIsOpen} crossSize=\"100%\">\n\t\t\t\t<Container\n\t\t\t\t\twidth={256 + 48 + 12}\n\t\t\t\t\theight=\"fill\"\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Accordion items={views} />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Accordion items={menuTree} />\n\t\t\t\t\t\t<Padding vertical=\"medium\">{/* <UserQuota mobileView={true}/> */}</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t</Container>\n\t\t\t</Collapse>\n\t\t</Container>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { 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';\nimport { AppRoute } from '../../types';\n\ntype ShellNavigationBarProps = {\n\tmobileNavIsOpen: boolean;\n\tactiveRoute: AppRoute;\n};\n\nconst ShellNavigationBar: FC<ShellNavigationBarProps> = ({ mobileNavIsOpen, activeRoute }) => (\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 activeRoute={activeRoute} />\n\t\t\t<ShellSecondaryBar activeRoute={activeRoute} />\n\t\t</Responsive>\n\t\t<Responsive mode=\"mobile\">\n\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} menuTree={activeRoute} />\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 {\n\tContainer,\n\tIconButton,\n\tRow,\n\tTooltip,\n\tText,\n\tPadding,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy } from 'lodash';\nimport React, { useContext, FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\n// TODO: convert boards management to ts (and maybe a zustand store)\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardValueContext, BoardSetterContext } from './boards/board-context';\nimport { useAppStore } from '../store/app';\nimport { AppRoute, PrimaryAccessoryView, PrimaryBarView } from '../../types';\nimport BadgeWrap from './badge-wrap';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { checkRoute } from '../utility-bar/utils';\n\nconst PrimaryContainer = styled(Container)<{ active: boolean }>`\n\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].regular};\n\tcursor: pointer;\n\ttransition: background 0.2s ease-out;\n\t&:hover {\n\t\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].hover};\n\t}\n\t&:focus {\n\t\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].focus};\n\t}\n`;\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 1px solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { boards, minimized } = useContext(BoardValueContext);\n\tconst { toggleMinimized } = useContext(BoardSetterContext);\n\n\tif (isEmpty(boards)) return null;\n\treturn (\n\t\t<IconButton\n\t\t\ticonColor=\"primary\"\n\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\tonClick={toggleMinimized}\n\t\t\tsize=\"large\"\n\t\t/>\n\t);\n};\n\ntype PrimaryBarItemProps = {\n\tview: PrimaryBarView;\n\tactive: boolean;\n\tonClick: () => void;\n};\n\ntype PrimaryBarAccessoryItemProps = {\n\tview: PrimaryAccessoryView;\n};\n\nconst PrimaryBarElement: FC<PrimaryBarItemProps> = ({ view, active, onClick }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<BadgeWrap badge={view.badge}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor={active ? 'gray4' : 'gray6'}\n\t\t\t\t\ticonColor={active ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\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 ShellPrimaryBar: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\n\tconst [routes, setRoutes] = useState<Record<string, string>>({});\n\tconst history = useHistory();\n\n\tuseEffect(() => {\n\t\tsetRoutes((r) =>\n\t\t\tprimaryBarViews.reduce((acc, v) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tif (!acc[v.id]) acc[v.id] = v.route;\n\t\t\t\treturn acc;\n\t\t\t}, r)\n\t\t);\n\t}, [primaryBarViews]);\n\tuseEffect(() => {\n\t\tif (activeRoute) {\n\t\t\tsetRoutes((r) => ({\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\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth={49}\n\t\t\theight=\"fill\"\n\t\t\tbackground=\"gray6\"\n\t\t\torientation=\"vertical\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\ttakeAvailableSpace\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{map(primaryBarViews, (view) =>\n\t\t\t\t\tview.visible ? (\n\t\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${routes[view.id]}`)}\n\t\t\t\t\t\t\tview={view}\n\t\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{accessories.map((v) => (\n\t\t\t\t\t<PrimaryBarAccessoryElement view={v} key={v.id} />\n\t\t\t\t))}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</Row>\n\t\t</ContainerWithDivider>\n\t);\n};\n\nexport default ShellPrimaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport styled from 'styled-components';\nimport { Route, Switch } from 'react-router-dom';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { Collapser } from './collapser';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\n\nconst SidebarContainer = styled(Container)`\n\tmin-width: 48px;\n\tmax-width: 314px;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 314 : 48)}px;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\ntype SecondaryBarProps = {\n\tactiveRoute: AppRoute;\n};\n\nconst ShellSecondaryBar: FC<SecondaryBarProps> = ({ activeRoute }) => {\n\tconst isOpen = useUtilityBarStore((s) => s.secondaryBarState);\n\tconst setIsOpen = useUtilityBarStore((s) => s.setSecondaryBarState);\n\tconst onCollapserClick = useCallback(() => setIsOpen(!isOpen), [isOpen, setIsOpen]);\n\tconst secondaryBarViews = useAppStore((s) => s.views.secondaryBar);\n\tconst secondaryBarAccessoryViews = useAppStore((s) => s.views.secondaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(secondaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, secondaryBarAccessoryViews]\n\t);\n\tconst disabled = useMemo(\n\t\t() => findIndex(secondaryBarViews, (view) => view.id === activeRoute?.id) < 0,\n\t\t[activeRoute?.id, secondaryBarViews]\n\t);\n\treturn disabled ? null : (\n\t\t<>\n\t\t\t<SidebarContainer\n\t\t\t\tsidebarIsOpen={isOpen}\n\t\t\t\trole=\"menu\"\n\t\t\t\theight=\"fill\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tonClick={isOpen ? undefined : onCollapserClick}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t\t<Switch>\n\t\t\t\t\t\t{map(secondaryBarViews, (view) => (\n\t\t\t\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Switch>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"flex-end\" height=\"fit\">\n\t\t\t\t\t{accessories.map((view) => (\n\t\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t</SidebarContainer>\n\t\t\t<Collapser onClick={onCollapserClick} open={isOpen} />\n\t\t</>\n\t);\n};\n\nexport default ShellSecondaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState, useContext, 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 { useUserSettings } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport { useCurrentRoute } from '../history/hooks';\nimport { SHELL_APP_ID } from '../constants';\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\nexport const Shell: FC = () => {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t<ShellHeader\n\t\t\t\tactiveRoute={activeRoute}\n\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\tonMobileMenuClick={(): void => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t>\n\t\t\t\t<ShellUtilityBar />\n\t\t\t</ShellHeader>\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar activeRoute={activeRoute} mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer />\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 ShellView: FC = () => (\n\t<ShellContextProvider>\n\t\t<ModalManager>\n\t\t\t<SnackbarManager>\n\t\t\t\t<PreviewManager>\n\t\t\t\t\t<Shell />\n\t\t\t\t</PreviewManager>\n\t\t\t</SnackbarManager>\n\t\t</ModalManager>\n\t</ShellContextProvider>\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\taccount: undefined,\n\tversion: '',\n\tsettings: {\n\t\tprefs: {},\n\t\tattrs: {},\n\t\tprops: []\n\t},\n\tusedQuota: 0,\n\tlastNotificationTime: Date.now()\n})) as UseBoundStore<AccountState, StoreApi<AccountState>>;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { sortBy } from 'lodash';\nimport { useMemo } from 'react';\nimport { useAppStore } from './store';\nimport { AppRoute, CarbonioModule } from '../../../types';\n\nexport const useApp = (appId: string) => (): CarbonioModule => useAppStore((s) => s.apps[appId]);\nexport const useApps = (): Record<string, CarbonioModule> => useAppStore((s) => s.apps);\nexport const useAppList = (): Array<CarbonioModule> => {\n\tconst apps = useApps();\n\treturn useMemo(() => sortBy(apps, (a) => a.priority), [apps]);\n};\nexport const getAppList = (): Array<CarbonioModule> =>\n\tsortBy(useAppStore.getState().apps, (a) => a.priority);\n\nexport const getApp = (appId: string) => (): CarbonioModule => useAppStore.getState().apps[appId];\nexport const getApps = (): Record<string, CarbonioModule> => useAppStore.getState().apps;\n\nexport const useAppContext = (appId: string) => (): unknown =>\n\tuseAppStore((s) => s.appContexts[appId]);\nexport const getAppContext = (appId: string) => (): unknown =>\n\tuseAppStore.getState().appContexts[appId];\nexport const getShell = (): CarbonioModule => useAppStore.getState().shell;\nexport const getRoutes = (): Record<string, AppRoute> => useAppStore.getState().routes;\nexport const useRoutes = (): Record<string, AppRoute> => useAppStore((s) => s.routes);\nexport const getRoute = (id: string): AppRoute => useAppStore.getState().routes[id];\nexport const useRoute = (id: string): AppRoute => useAppStore((s) => s.routes[id]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\nexport * from './utils';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { filter, find, findIndex, merge, omit, reduce, sortBy, unionBy, unionWith } from 'lodash';\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport {\n\tAppRouteDescriptor,\n\tAppState,\n\tAppView,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tPrimaryBarView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSecondaryBarView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { normalizeApp } from './utils';\n\nconst filterById = <T extends { id: string }>(items: Array<T>, id: string): Array<T> =>\n\tfilter(items, (item) => item.id !== id);\n\nexport const useAppStore = create<AppState>((set) => ({\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: 'carbonio-shell-ui',\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t},\n\tentryPoints: {},\n\troutes: {},\n\tviews: {\n\t\tprimaryBar: [],\n\t\tsecondaryBar: [],\n\t\tappView: [],\n\t\tboard: [],\n\t\tutilityBar: [],\n\t\tsettings: [],\n\t\tsearch: [],\n\t\tprimaryBarAccessories: [],\n\t\tsecondaryBarAccessories: []\n\t},\n\tsetters: {\n\t\taddApps: (apps: Array<Partial<CarbonioModule>>): void => {\n\t\t\tset((state) => ({\n\t\t\t\tapps: reduce(\n\t\t\t\t\tapps,\n\t\t\t\t\t(acc, app) =>\n\t\t\t\t\t\tapp.name && app.name !== SHELL_APP_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[app.name]: normalizeApp(app)\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: acc,\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t\tshell: {\n\t\t\t\t\t...state.shell,\n\t\t\t\t\t...(find(apps, (app) => app.name === SHELL_APP_ID) ?? {})\n\t\t\t\t},\n\t\t\t\tappContexts: reduce(apps, (acc, val) => (val.name ? { ...acc, [val.name]: {} } : acc), {})\n\t\t\t}));\n\t\t},\n\t\tsetAppContext:\n\t\t\t(app: string) =>\n\t\t\t(context: unknown): void => {\n\t\t\t\tset(\n\t\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\t\tstate.appContexts[app] = merge(state.appContexts[app], context);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t},\n\t\t// add route (id route primaryBar secondaryBar app)\n\t\taddRoute: (routeData: AppRouteDescriptor): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes[routeData.id] = routeData;\n\t\t\t\t\tif (routeData.primaryBar) {\n\t\t\t\t\t\tstate.views.primaryBar = sortBy(\n\t\t\t\t\t\t\tunionWith<PrimaryBarView>(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\t\tcomponent: routeData.primaryBar,\n\t\t\t\t\t\t\t\t\t\tbadge: routeData.badge,\n\t\t\t\t\t\t\t\t\t\tposition: routeData.position,\n\t\t\t\t\t\t\t\t\t\tvisible: routeData.visible,\n\t\t\t\t\t\t\t\t\t\tlabel: routeData.label\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstate.views.primaryBar,\n\t\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'position'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.secondaryBar) {\n\t\t\t\t\t\tstate.views.secondaryBar = unionWith<SecondaryBarView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.secondaryBar\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.secondaryBar,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.appView) {\n\t\t\t\t\t\tstate.views.appView = unionWith<AppView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.appView\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.appView,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn routeData.id;\n\t\t},\n\t\tsetRouteVisibility: (id: string, visible: boolean): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (view) => view.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].visible = visible;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// remove route (id | route)\n\t\tremoveRoute: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes = omit(state.routes, [id]);\n\t\t\t\t\tstate.views.primaryBar = filterById(state.views.primaryBar, id);\n\t\t\t\t\tstate.views.secondaryBar = filterById(state.views.secondaryBar, id);\n\t\t\t\t\tstate.views.appView = filterById(state.views.appView, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t// add board\n\t\taddBoardView: (data: BoardView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = unionBy([data], state.views.board, 'id');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove board\n\t\tremoveBoardView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = filterById(state.views.board, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// add settings\n\t\taddSettingsView: (data: SettingsView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = sortBy(unionBy([data], state.views.settings, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove settings\n\t\tremoveSettingsView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = filterById(state.views.settings, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: SearchView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = sortBy(unionBy([data], state.views.search, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove search\n\t\tremoveSearchView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = filterById(state.views.search, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: UtilityView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = sortBy(\n\t\t\t\t\t\tunionBy([data], state.views.utilityBar, 'id'),\n\t\t\t\t\t\t'position'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove utility\n\t\tremoveUtilityView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = filterById(state.views.utilityBar, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: PrimaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.primaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = filterById(state.views.primaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: SecondaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.secondaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = filterById(state.views.secondaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.primaryBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.utilityBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.utilityBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.utilityBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n})) as UseBoundStore<AppState, StoreApi<AppState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { trim } from 'lodash';\nimport React, { FC } from 'react';\nimport {\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\n\nexport const normalizeApp = (app: Partial<CarbonioModule>): CarbonioModule => ({\n\tcommit: app.commit ?? '',\n\tdescription: app.description ?? 'A carbonio Module',\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: app.js_entrypoint ?? '',\n\tname: app.name ?? 'module',\n\tpriority: app.priority ?? 99,\n\tversion: app.version ?? '',\n\ttype: app.type ?? 'carbonio',\n\tattrKey: app.attrKey,\n\ticon: app.icon ?? 'Cube',\n\tdisplay: app.display ?? 'Module',\n\tsentryDsn: app.sentryDsn\n});\n\nconst FallbackView: FC = () => <p>Missing Component</p>;\n\nexport const normalizeBadgeInfo = (badge: Partial<BadgeInfo>): BadgeInfo => ({\n\tshow: badge.show ?? false,\n\tcount: badge.count ?? 0,\n\tshowCount: badge.showCount ?? false,\n\tcolor: badge.color ?? 'primary'\n});\n\nexport const normalizeRoute = (\n\tdata: Partial<AppRouteDescriptor>,\n\tapp: CarbonioModule\n): AppRouteDescriptor => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data.id ?? route,\n\t\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\t\tposition: data?.position ?? app.priority,\n\t\tvisible: data?.visible ?? true,\n\t\tlabel: data?.label ?? '',\n\t\tprimaryBar: data.primaryBar ?? app.icon ?? 'CubeOutline',\n\t\tsecondaryBar: data.secondaryBar,\n\t\tappView: data.appView ?? FallbackView\n\t};\n};\n\nexport const normalizeSettingsView = (\n\tdata: Partial<SettingsView>,\n\tapp: CarbonioModule\n): SettingsView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99,\n\t\tsubSections: data.subSections ?? []\n\t};\n};\nexport const normalizeSearchView = (data: Partial<SearchView>, app: CarbonioModule): SearchView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99\n\t};\n};\nexport const normalizeUtilityView = (\n\tdata: Partial<UtilityView>,\n\tapp: CarbonioModule\n): UtilityView => ({\n\tapp: app.name,\n\tid: data?.id ?? app.name,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tcomponent: data?.component ?? FallbackView,\n\tbutton: data?.button ?? 'Cube',\n\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\tposition: data?.position ?? app.priority,\n\tlabel: data?.label ?? app.display\n});\nexport const normalizePrimaryAccessoryView = (\n\tdata: Partial<PrimaryAccessoryView>,\n\tapp: CarbonioModule\n): PrimaryAccessoryView => ({\n\tapp: app.name,\n\tonClick: data?.onClick,\n\tlabel: data?.label ?? app.display,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\nexport const normalizeSecondaryAccessoryView = (\n\tdata: Partial<SecondaryAccessoryView>,\n\tapp: CarbonioModule\n): SecondaryAccessoryView => ({\n\tapp: app.name,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\n\nexport const normalizeBoardView = (data: Partial<BoardView>, app: CarbonioModule): BoardView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport create, { UseBoundStore, StoreApi } from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport { ContextBridgeState } from '../../types';\n\nexport const useContextBridge = create<ContextBridgeState>((set) => ({\n\tpackageDependentFunctions: {},\n\tfunctions: {},\n\tadd: ({ packageDependentFunctions, functions }): void => {\n\t\tset((s) => ({\n\t\t\tpackageDependentFunctions: reduce(\n\t\t\t\tpackageDependentFunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.packageDependentFunctions\n\t\t\t),\n\t\t\tfunctions: reduce(\n\t\t\t\tfunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.functions\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ContextBridgeState, StoreApi<ContextBridgeState>>;\n\nexport const useBridge = (content: Partial<Omit<ContextBridgeState, 'add'>>): void => {\n\tconst addFunctions = useContextBridge(({ add }) => add);\n\tuseEffect(() => {\n\t\taddFunctions(content);\n\t}, [content, addFunctions]);\n};\n","/*\n * SPDX-FileCopyrightText: 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 { useFolderStore } from './store';\nimport { filterNodes, folderViewFilter, isRoot, mapNodes, sortFolders } from './utils';\n\n// FOLDERS\nexport const useFolder = (id: string): Folder | undefined => useFolderStore((s) => s.folders?.[id]);\nexport const getFolder = (id: string): Folder | undefined =>\n\tuseFolderStore.getState()?.folders?.[id];\nexport const useFolders = (): Folders => useFolderStore((s) => s.folders);\nexport const getFolders = (): Folders => useFolderStore.getState().folders;\n\n// ROOTS\nexport const useRoot = (id: string): Folder | undefined => useFolderStore((s) => s.roots?.[id]);\nexport const getRoot = (id: string): Folder | undefined => useFolderStore.getState().roots?.[id];\nexport const useRoots = (): Folders => useFolderStore((s) => s.roots);\nexport const getRoots = (): Folders => useFolderStore.getState().roots;\n\n// ROOTS BY VIEW\nexport const useRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> =>\n\tuseFolderStore((s) => (s.roots ? s.roots[userId] : {}));\nexport const getRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> => {\n\tconst folders = useFolderStore.getState();\n\treturn folders.roots ? folders.roots[userId] : {};\n};\n\n// SEARCHES\n\nexport const useSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore((s) => s.searches?.[id]);\nexport const getSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore.getState().searches[id];\nexport const useSearchFolders = (): Searches => useFolderStore((s) => s.searches);\nexport const getSearchFolders = (): Searches => useFolderStore.getState().searches;\n\n// Accordion-ize\n\nexport const useFoldersByView = (view: FolderView): Array<Folder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() => (roots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view)) : []),\n\t\t[roots, view]\n\t);\n};\n\nexport const useFoldersAccordionByView = (\n\tview: FolderView,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n): Array<AccordionFolder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots\n\t\t\t\t? mapNodes<Folder, AccordionFolder>(Object.values(roots), {\n\t\t\t\t\t\tmapFunction: (f) => {\n\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\tid: f.id,\n\t\t\t\t\t\t\t\tlabel: f.name,\n\t\t\t\t\t\t\t\tCustomComponent,\n\t\t\t\t\t\t\t\titems: [],\n\t\t\t\t\t\t\t\tfolder: f,\n\t\t\t\t\t\t\t\tdisableHover: isRoot(f)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst props = itemProps?.(item) ?? {};\n\t\t\t\t\t\t\treturn { ...item, ...props };\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfilterFunction: folderViewFilter(view),\n\t\t\t\t\t\trecursionKey: 'items',\n\t\t\t\t\t\tsortFunction: sortFolders,\n\t\t\t\t\t\tdeep: false\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t[CustomComponent, itemProps, roots, view]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { 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\tdeep?: boolean\n): TreeNode<T>[] =>\n\tchildren\n\t\t.filter(f(deep))\n\t\t.map((i) => ({ ...i, children: filterNodes<TreeNode<T>>(i.children, f, true) }));\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, useEffect, useState } from 'react';\nimport { Container } from '@zextras/carbonio-design-system';\n// TinyMCE so the global var exists\n// eslint-disable-next-line no-unused-vars\nimport tinymce from 'tinymce/tinymce';\n// this 'expression' prevents webpack from stripping it, maybe there's a better way\ntinymce;\n\n// Theme\nimport 'tinymce/themes/silver';\n// Toolbar icons\nimport 'tinymce/icons/default';\n// Editor styles\nimport 'tinymce/skins/ui/oxide/skin.min.css';\n\n// importing the plugin js.\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/autoresize';\n\nimport { Editor } from '@tinymce/tinymce-react';\n\ntype ComposerProps = {\n\t/** The callback invoked when an edit is performed into the editor. `([text, html]) => {}` */\n\tonEditorChange?: (values: [string, string]) => void;\n\t/** Enable the distraction-free mode */\n\tinline?: boolean;\n\t/** The initial content of the editor */\n\tinitialValue?: string;\n\t/** The content of the editor (controlled mode) */\n\tvalue?: string;\n\t/** The base url to append to the resource urls */\n\tbaseAssetsUrl?: string;\n};\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tinline = false,\n\tvalue,\n\tbaseAssetsUrl,\n\tinitialValue,\n\t...rest\n}) => {\n\tconst [content, setContent] = useState(initialValue);\n\n\tconst _onEditorChange = useCallback(\n\t\t(newContent, editor) => {\n\t\t\tsetContent(newContent);\n\t\t\tonEditorChange?.([\n\t\t\t\teditor.getContent({ format: 'text' }),\n\t\t\t\teditor.getContent({ format: 'html' })\n\t\t\t]);\n\t\t},\n\t\t[setContent, onEditorChange]\n\t);\n\n\tuseEffect(() => setContent(value), [value]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<Editor\n\t\t\t\tvalue={content}\n\t\t\t\tinit={{\n\t\t\t\t\tskin_url: `${baseAssetsUrl}/tinymce/skins/ui/oxide`,\n\t\t\t\t\tcontent_css: `${baseAssetsUrl}/tinymce/skins/content/default/content.css`,\n\t\t\t\t\tmin_height: 350,\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tstatusbar: false,\n\t\t\t\t\tbranding: false,\n\t\t\t\t\tresize: true,\n\t\t\t\t\tinline,\n\t\t\t\t\tplugins: [\n\t\t\t\t\t\t'advlist',\n\t\t\t\t\t\t'autolink',\n\t\t\t\t\t\t'lists',\n\t\t\t\t\t\t'link',\n\t\t\t\t\t\t'image',\n\t\t\t\t\t\t'charmap',\n\t\t\t\t\t\t'print',\n\t\t\t\t\t\t'preview',\n\t\t\t\t\t\t'anchor',\n\t\t\t\t\t\t'searchreplace',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'fullscreen',\n\t\t\t\t\t\t'insertdatetime',\n\t\t\t\t\t\t'media',\n\t\t\t\t\t\t'table',\n\t\t\t\t\t\t'paste',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'help',\n\t\t\t\t\t\t'quickbars',\n\t\t\t\t\t\t'directionality',\n\t\t\t\t\t\t'autoresize'\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar: inline\n\t\t\t\t\t\t? false\n\t\t\t\t\t\t: // eslint-disable-next-line max-len\n\t\t\t\t\t\t 'fontselect fontsizeselect formatselect | bold italic underline strikethrough | removeformat code | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent | ltr rtl',\n\t\t\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t\t\t: 'quicklink',\n\t\t\t\t\tcontextmenu: inline ? '' : '',\n\t\t\t\t\ttoolbar_mode: 'wrap'\n\t\t\t\t}}\n\t\t\t\tonEditorChange={_onEditorChange}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</Container>\n\t);\n};\n\nexport default Composer;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { FC, FunctionComponent } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().hooks?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().functions?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const getIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore.getState().components?.[id];\n\tif (Integration) {\n\t\tconst C: FC = (props: unknown) => (\n\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t<Integration.item {...props} />\n\t\t\t</AppContextProvider>\n\t\t);\n\t\treturn [C, true];\n\t}\n\treturn [(): null => null, false];\n};\n\nexport const getActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn compact(\n\t\tmap(factories, (f) => {\n\t\t\ttry {\n\t\t\t\tconst action = f(target);\n\t\t\t\treturn action;\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(e);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const getActionsFactory = (type: string): (<T>(target: T) => Array<Action>) => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn <T,>(target: T): Array<Action> =>\n\t\tcompact(\n\t\t\tmap(factories, (f) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst action = f(target);\n\t\t\t\t\treturn action;\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n};\n\nexport const getAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\tconst action = factory?.(target);\n\treturn [action, !!action];\n};\n\nexport const getActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { useMemo, FC, FunctionComponent, useCallback } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory, CombinedActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.hooks?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.functions?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const useIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore((s) => s.components?.[id]);\n\treturn useMemo(() => {\n\t\tif (Integration) {\n\t\t\tconst C: FC = (props: unknown) => (\n\t\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t\t<Integration.item {...props} />\n\t\t\t\t</AppContextProvider>\n\t\t\t);\n\t\t\treturn [C, true];\n\t\t}\n\t\treturn [(): null => null, false];\n\t}, [Integration]);\n};\n\nexport const useActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t) ?? [],\n\t\t[factories, target]\n\t);\n\treturn actions;\n};\n\nexport const useActionsFactory = <T,>(type: string): CombinedActionFactory<T> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst combinedFactory = useCallback(\n\t\t(target: unknown) =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[factories]\n\t);\n\treturn combinedFactory;\n};\n\nexport const useAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\tconst action = useMemo(() => {\n\t\ttry {\n\t\t\treturn factory?.(target);\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}, [factory, target]);\n\treturn [action, !!action];\n};\n\nexport const useActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport create from 'zustand';\nimport { forEach, omit, reduce } from 'lodash';\nimport { ComponentType } from 'react';\nimport { ActionFactory, AnyFunction, IntegrationsState, SHELL_APP_ID } from '../../../types';\nimport Composer from './composer';\n\nexport const useIntegrationsStore = create<IntegrationsState>((set) => ({\n\tactions: {},\n\tcomponents: {\n\t\tcomposer: {\n\t\t\titem: Composer,\n\t\t\tapp: SHELL_APP_ID\n\t\t}\n\t},\n\thooks: {},\n\tfunctions: {},\n\tregisterActions: <T>(\n\t\t...items: Array<{ id: string; action: ActionFactory<T>; type: string }>\n\t): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, action, type }) => {\n\t\t\t\t\tif (!state.actions[type]) state.actions[type] = {};\n\t\t\t\t\tstate.actions[type][id] = action;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterComponents:\n\t\t(app: string) =>\n\t\t(...items: Array<{ id: string; component: ComponentType }>): void =>\n\t\t\tset(\n\t\t\t\tproduce((state) => {\n\t\t\t\t\tforEach(items, ({ id, component }) => {\n\t\t\t\t\t\tstate.components[id] = { app, item: component };\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\tregisterHooks: (...items: Array<{ id: string; hook: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, hook }) => {\n\t\t\t\t\tstate.hooks[id] = hook;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, fn }) => {\n\t\t\t\t\tstate.functions[id] = fn;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveActions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: reduce(\n\t\t\t\ts.actions,\n\t\t\t\t(acc, actions, type) => ({ ...acc, [type]: omit(actions, ids) }),\n\t\t\t\t{}\n\t\t\t)\n\t\t})),\n\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.components, ids)\n\t\t})),\n\tremoveHooks: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.hooks, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../../../types';\nimport { useNetworkStore } from './store';\n\nexport const useNotify = (): SoapNotify[] => {\n\tconst notify = useNetworkStore((s) => s.notify ?? []);\n\treturn notify;\n};\nexport const useRefresh = (): SoapRefresh => useNetworkStore((s) => s.refresh ?? {});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { NetworkState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useNetworkStore = create<NetworkState>(() => ({\n\tnoOpTimeout: undefined,\n\tpollingInterval: 30000,\n\tseq: 0\n})) as UseBoundStore<NetworkState, StoreApi<NetworkState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forEach } from 'lodash';\nimport { SoapContext } from '../../../types';\n\n// import { map, maxBy } from 'lodash';\n// import { SoapContext } from '../../../types';\n// import { getSoapFetch } from '../../network/fetch';\n// import { useNetworkStore } from './store';\n\nimport { 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?.name ?? '',\n\t\t\t\tdisabled: true\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'divider',\n\t\t\t\tid: 'divider',\n\t\t\t\tlabel: 'divider'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'feedback',\n\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\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=\"200px\" 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 } from 'lodash';\nimport { useMemo } from 'react';\nimport { AppRoute, PrimaryAccessoryView, SecondaryAccessoryView, UtilityView } from '../../types';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\n\nexport const checkList = (l1: Array<string>, l2?: Array<string>): boolean =>\n\tintersection(l1, l2).length > 0;\n\nexport const checkRoute = (\n\tview: UtilityView | PrimaryAccessoryView | SecondaryAccessoryView,\n\tactiveRoute?: AppRoute\n): boolean => {\n\tconst activeRouteValues = Object.values(activeRoute ?? {});\n\tif (view.blacklistRoutes) return !checkList(activeRouteValues, view.blacklistRoutes);\n\tif (view.whitelistRoutes) return checkList(activeRouteValues, view.whitelistRoutes);\n\treturn true;\n};\nexport const useUtilityViews = (): Array<UtilityView> => {\n\tconst utilityViews = useAppStore((s) => s.views.utilityBar);\n\n\tconst activeRoute = useCurrentRoute();\n\treturn useMemo(\n\t\t() => filter(utilityViews, (v) => checkRoute(v, activeRoute)),\n\t\t[activeRoute, utilityViews]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// 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';\n\nexport const getBridgedFunctions: () => {\n\taddBoard: (path: string, context?: unknown | { app: string }) => void;\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\n\tremoveBoard: (key: string) => void;\n\tremoveCurrentBoard: () => void;\n\tsetCurrentBoard: (key: string) => void;\n\tupdateBoard: (key: string, url: string, title: string) => void;\n\tupdateCurrentBoard: (url: string, title: string) => void;\n\tt: TFunction;\n\ttoggleMinimizedBoard: () => void;\n};\nexport const editSettings: (mods: Mods) => Promise<any>;\nexport const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;\nexport const FOLDERS: {\n\t[name: string]: string;\n};\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES: {\n\t[name: string]: string;\n};\nexport const SHELL_MODES: Record<string, ShellModes>;\nexport const BASENAME: string;\nexport const getIntegratedHook: (id: string) => [Function, boolean];\nexport const getIntegratedFunction: (id: string) => [Function, boolean];\nexport const getIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const getActions: <T>(target: T, type: string) => Array<Action>;\nexport const getActionsFactory: (type: string) => <T>(target: T) => Array<Action>;\nexport const getAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const getActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useIntegratedHook: (id: string) => [Function, boolean];\nexport const useIntegratedFunction: (id: string) => [Function, boolean];\nexport const useIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const useActions: <T>(target: T, type: string) => Array<Action>;\nexport const useActionsFactory: <T>(type: string) => CombinedActionFactory<T>;\nexport const useAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const useActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useApp: () => CarbonioModule;\nexport const getApp: () => CarbonioModule;\nexport const useAppContext: <T>() => T;\nexport const getAppContext: <T>() => T;\nexport const useUserAccount: () => Account;\nexport const useUserAccounts: () => Array<Account>;\nexport const useUserRights: () => AccountRights;\nexport const useUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const getUserAccount: () => Account;\nexport const getUserAccounts: () => Array<Account>;\nexport const getUserRights: () => AccountRights;\nexport const getUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const useTags: () => Tags;\nexport const getTags: () => Tags;\nexport const useTag: (id: string) => Tag;\nexport const getTag: (id: string) => Tag;\nexport const 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// 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 './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<SoapPolicy>;\n\tpurge: Array<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: unknown;\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 { AppRoute } from '../apps';\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\nexport type SearchBarProps = {\n\tactiveRoute: AppRoute;\n\tprimaryAction?: unknown;\n\tsecondaryActions?: unknown;\n};\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","/* (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","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","BrowserRouter","useHistory","SnackbarManagerContext","ModalManagerContext","useBridge","ShellView","BASENAME","ContextBridge","history","createSnackbar","createModal","getHistory","BootstrapperRouter","useEffect","useTranslation","init","ThemeProvider","I18nFactory","StoreFactory","DefaultViewsRegister","TBridge","Bootstrapper","useAccountStore","getInfo","_i18nFactory","_storeFactory","setLocale","prefs","zimbraPrefLocale","attrs","zimbraLocale","split","Object","values","useState","UIThemeProvider","enable","disable","auto","setFetchMethod","darkReaderDynamicThemeFixes","fetch","ThemeCallbacksContext","addExtension","newExtension","setDarkReaderState","newState","themeSizes","size","sizes","font","extrasmall","small","medium","large","zimbraPrefFontSize","fonts","theme","extensions","setExtensions","darkReaderState","sepia","aggregatedExtensions","val","ext","ZIMBRA_STANDARD_COLORS","zValue","hex","zLabel","FOLDERS","USER_ROOT","INBOX","TRASH","SPAM","SENT","DRAFTS","CONTACTS","TAGS","CONVERSATIONS","CALENDAR","ROOT","NOTEBOOK","AUTO_CONTACTS","IM_LOGS","TASKS","BRIEFCASE","ACCOUNTS_APP_ID","ACTION_TYPES","CONVERSATION","CONVERSATION_lIST","MESSAGE","MESSAGE_lIST","CONTACT","CONTACT_lIST","INVITE","INVITE_lIST","APPOINTMENT","APPOINTMENT_lIST","FOLDER","FOLDER_lIST","CALENDAR_lIST","NEW","ignoreImageAnalysis","invert","css","ignoreInlineStyle","disableStyleSheetsProxy","EMAIL_VALIDATION_REGEX","ROOT_NAME","IconButton","addBoard","title","find","startsWith","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","location","r","pathname","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","lng","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","ns","key","fallbackValue","warn","backend","loadPath","findIndex","mods","props","prop","value","pref","identity","modifyList","item","deleteList","createList","requestId","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","email","propIndex","p","zimlet","_content","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","includes","i","CreateIdentityResponse","undefined","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","waitDisallowed","setTimeout","zimbraVersion","method","headers","JSON","stringify","json","shellSoap","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","rights","components","addApps","assign","origin","logout","tag","action","op","color","rgb","UAParser","os","browser","createSlice","logger","_uselessSlice","initialState","reducers","devTools","middleware","getDefaultMiddleware","concat","_useless","useReducer","Button","Select","Container","Row","Icon","Severity","styled","feedback","useAppList","TextArea","textarea","palette","gray5","regular","text","gray4","TextContainer","ButtonContainer","TAContainer","primary","SubHeadingText","lineHeight","LabelContainer","disabled","emptyEvent","message","level","Info","release","extra","topic","user","payload","getTopics","ModuleLabelFactory","selected","open","focus","all","length","alignSelf","_LabelFactory","showErr","topics","allApps","sentryDsn","appItems","display","acct","event","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","closeBoard","confirmHandler","feedbackId","disabledSend","LabelFactory","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","Hub","set","dsn","maxValueLength","Dropdown","SelectorContainer","hover","ModuleSelector","activeRoute","modules","updateModule","fullModule","m","setOpen","dropdownItems","active","click","left","query","searchDisabled","Redirect","Route","Switch","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","searchCb","addEventListener","removeEventListener","disableOptions","placeholder","clearButtonPlaceholder","searchBtnTooltipLabel","onChipAdd","newChip","avatarLabel","addFocus","removeFocus","disableClearButton","cursor","overflowX","isFunction","get","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","result","pop","useSnackbar","lowerFirst","AccountsList","PrimaryAccountSettings","SettingsSentMessages","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","onClick","sectionTitle","Badge","ThemeContext","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","navigator","clipboard","writeText","filteredList","description","backgroundColor","success","gray6","ItemsExternalSenders","getExternalSendersPrefsData","ItemsOutOfOfficeStatus","getOutOfOfficeStatusPrefsData","ItemsSendAutoReplies","outOfOfficeSubSection","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","itemsExternalSenders","itemsOutOfOfficeStatus","defaultSendAutoreply","defaultOutOfOfficeStatus","selectedItemSendAutoReplies","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","Math","round","defaultValue","fillBackground","Breadcrumbs","useParams","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","useSecondaryActions","actions","byApp","CreationButton","primaryAction","a","group","secondaryActions","onOpen","ShellContext","isMobile","initialValue","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","ShellHeader","mobileNavIsOpen","onMobileMenuClick","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNav","menuTree","CustomComponent","zIndex","maxHeight","overflowY","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","PrimaryContainer","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","primaryBarViews","setRoutes","primaryBarAccessoryViews","accessories","minHeight","useUtilityBarStore","SidebarContainer","sidebarIsOpen","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","Shell","mobileNavOpen","setMobileNavOpen","targets","normalizeSettings","signatures","lastNotificationTime","priority","getAppList","getApps","appContexts","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","commit","utilityBar","routeData","b","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","folders","roots","userId","searches","itemProps","mapFunction","folder","filterFunction","recursionKey","sortFunction","deep","folderWorker","onmessage","hasId","getOriginalId","parts","toLowerCase","isTrash","oname","tinymce","Editor","Composer","onEditorChange","inline","baseAssetsUrl","rest","setContent","_onEditorChange","newContent","editor","getContent","skin_url","content_css","min_height","menubar","statusbar","branding","resize","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","compact","integration","hooks","Integration","C","factories","factory","combinedFactory","composer","hook","fn","ids","tagWorker","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","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","Worker","URL","import","meta","SHELL_MODES","useTag","getTag","useRootByView","getRootByView","JSNS"],"sourceRoot":""}
1
+ {"version":3,"file":"src_boot_bootstrapper_tsx-node_modules_moment_locale_sync_recursive_.de6e5fd0.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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;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;;AAEO,IAAMgkB,YAAY,GAAG,SAAfA,YAAe,CAC3B70B,CAD2B;AAAA,SAEoC,CAC/D;AACC6Q,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GAD+D,EAK/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GAL+D,EAS/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GAT+D,EAa/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA9B;AAFT,GAb+D,EAiB/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GAjB+D,EAwB/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GAxB+D,EA+B/D;AACC3iB,IAAAA,KAAK,EAAE,qBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,8BAAD,EAAiC;AACxC6Q,MAAAA,KAAK,EAAE,YADiC;AAExC2iB,MAAAA,YAAY,EAAE;AAF0B,KAAjC;AAFT,GA/B+D,EAsC/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GAtC+D,EA6C/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GA7C+D,EAoD/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GApD+D,EA2D/D;AACC3iB,IAAAA,KAAK,EAAE,qBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,8BAAD,EAAiC;AACxC6Q,MAAAA,KAAK,EAAE,YADiC;AAExC2iB,MAAAA,YAAY,EAAE;AAF0B,KAAjC;AAFT,GA3D+D,EAkE/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GAlE+D,EAsE/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAtE+D,EA6E/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GA7E+D,EAoF/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GApF+D,EA2F/D;AACC3iB,IAAAA,KAAK,EAAE,qBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,8BAAD,EAAiC;AACxC6Q,MAAAA,KAAK,EAAE,YADiC;AAExC2iB,MAAAA,YAAY,EAAE;AAF0B,KAAjC;AAFT,GA3F+D,EAkG/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAlG+D,EAyG/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GAzG+D,EA6G/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GA7G+D,EAiH/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAjH+D,EAwH/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAxH+D,EA+H/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GA/H+D,EAmI/D;AACC3iB,IAAAA,KAAK,EAAE,8BADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uCAAD,EAA0C;AACjD6Q,MAAAA,KAAK,EAAE,YAD0C;AAEjD2iB,MAAAA,YAAY,EAAE;AAFmC,KAA1C;AAFT,GAnI+D,EA0I/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GA1I+D,EAiJ/D;AACC3iB,IAAAA,KAAK,EAAE,wBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,iCAAD,EAAoC;AAC3C6Q,MAAAA,KAAK,EAAE,YADoC;AAE3C2iB,MAAAA,YAAY,EAAE;AAF6B,KAApC;AAFT,GAjJ+D,EAwJ/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAxJ+D,EA+J/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GA/J+D,EAmK/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GAnK+D,EAuK/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAvK+D,EA8K/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GA9K+D,EAqL/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GArL+D,EA4L/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GA5L+D,EAmM/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GAnM+D,EA0M/D;AACC3iB,IAAAA,KAAK,EAAE,gCADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yCAAD,EAA4C;AACnD6Q,MAAAA,KAAK,EAAE,YAD4C;AAEnD2iB,MAAAA,YAAY,EAAE;AAFqC,KAA5C;AAFT,GA1M+D,EAiN/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA3B;AAFT,GAjN+D,EAqN/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GArN+D,EA4N/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GA5N+D,EAmO/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAnO+D,EA0O/D;AACC3iB,IAAAA,KAAK,EAAE,sBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,+BAAD,EAAkC;AACzC6Q,MAAAA,KAAK,EAAE,YADkC;AAEzC2iB,MAAAA,YAAY,EAAE;AAF2B,KAAlC;AAFT,GA1O+D,EAiP/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GAjP+D,EAwP/D;AACC3iB,IAAAA,KAAK,EAAE,wBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,iCAAD,EAAoC;AAC3C6Q,MAAAA,KAAK,EAAE,YADoC;AAE3C2iB,MAAAA,YAAY,EAAE;AAF6B,KAApC;AAFT,GAxP+D,EA+P/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GA/P+D,EAmQ/D;AACC3iB,IAAAA,KAAK,EAAE,qBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,8BAAD,EAAiC;AACxC6Q,MAAAA,KAAK,EAAE,YADiC;AAExC2iB,MAAAA,YAAY,EAAE;AAF0B,KAAjC;AAFT,GAnQ+D,EA0Q/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GA1Q+D,EAiR/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GAjR+D,EAwR/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GAxR+D,EA+R/D;AACC3iB,IAAAA,KAAK,EAAE,KADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,cAAD,EAAiB;AACxB6Q,MAAAA,KAAK,EAAE,SADiB;AAExB2iB,MAAAA,YAAY,EAAE;AAFU,KAAjB;AAFT,GA/R+D,EAsS/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAtS+D,EA6S/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GA7S+D,EAoT/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GApT+D,EA2T/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GA3T+D,EAkU/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GAlU+D,EAyU/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GAzU+D,EAgV/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GAhV+D,EAoV/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GApV+D,EA2V/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAzB;AAFT,GA3V+D,EA+V/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GA/V+D,EAsW/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GAtW+D,EA0W/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GA1W+D,EA8W/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GA9W+D,EAkX/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAzB;AAFT,GAlX+D,EAsX/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA3B;AAFT,GAtX+D,EA0X/D;AACC3iB,IAAAA,KAAK,EAAE,WADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,oBAAD,EAAuB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAvB;AAFT,GA1X+D,EA8X/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GA9X+D,EAqY/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GArY+D,EA4Y/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GA5Y+D,EAmZ/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GAnZ+D,EA0Z/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GA1Z+D,EAia/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAja+D,EAwa/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GAxa+D,EA4a/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GA5a+D,EAgb/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAChC6Q,MAAAA,KAAK,EAAE,YADyB;AAEhC2iB,MAAAA,YAAY,EAAE;AAFkB,KAAzB;AAFT,GAhb+D,EAub/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AACpC6Q,MAAAA,KAAK,EAAE,YAD6B;AAEpC2iB,MAAAA,YAAY,EAAE;AAFsB,KAA7B;AAFT,GAvb+D,EA8b/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GA9b+D,EAkc/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GAlc+D,EAyc/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAzc+D,EAgd/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAzB;AAFT,GAhd+D,EAod/D;AACC3iB,IAAAA,KAAK,EAAE,WADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,oBAAD,EAAuB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAvB;AAFT,GApd+D,EAwd/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAChC6Q,MAAAA,KAAK,EAAE,YADyB;AAEhC2iB,MAAAA,YAAY,EAAE;AAFkB,KAAzB;AAFT,GAxd+D,EA+d/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GA/d+D,EAme/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GAne+D,EAue/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAve+D,EA8e/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAClC6Q,MAAAA,KAAK,EAAE,YAD2B;AAElC2iB,MAAAA,YAAY,EAAE;AAFoB,KAA3B;AAFT,GA9e+D,EAqf/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA5B;AAFT,GArf+D,EAyf/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAzf+D,EAggB/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GAhgB+D,EAogB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GApgB+D,EA2gB/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GA3gB+D,EAkhB/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA3B;AAFT,GAlhB+D,EAshB/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAthB+D,EA6hB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GA7hB+D,EAoiB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GApiB+D,EA2iB/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GA3iB+D,EAkjB/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAzB;AAFT,GAljB+D,EAsjB/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GAtjB+D,EA0jB/D;AACC3iB,IAAAA,KAAK,EAAE,WADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,oBAAD,EAAuB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAvB;AAFT,GA1jB+D,EA8jB/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAzB;AAFT,GA9jB+D,EAkkB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GAlkB+D,EAykB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GAzkB+D,EA6kB/D;AACC3iB,IAAAA,KAAK,EAAE,WADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,oBAAD,EAAuB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAvB;AAFT,GA7kB+D,EAilB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAjlB+D,EAwlB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAxlB+D,EA+lB/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GA/lB+D,EAmmB/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAnmB+D,EA0mB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GA1mB+D,EAinB/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GAjnB+D,EAwnB/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAxnB+D,EA+nB/D;AACC3iB,IAAAA,KAAK,EAAE,aADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,sBAAD,EAAyB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAzB;AAFT,GA/nB+D,EAmoB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAnoB+D,EA0oB/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GA1oB+D,EA8oB/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GA9oB+D,EAkpB/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GAlpB+D,EAspB/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GAtpB+D,EA6pB/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GA7pB+D,EAiqB/D;AACC3iB,IAAAA,KAAK,EAAE,YADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAAxB;AAFT,GAjqB+D,EAqqB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GArqB+D,EA4qB/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GA5qB+D,EAmrB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA9B;AAFT,GAnrB+D,EAurB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAvrB+D,EA8rB/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GA9rB+D,EAqsB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA9B;AAFT,GArsB+D,EAysB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAzsB+D,EAgtB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AACjC6Q,MAAAA,KAAK,EAAE,YAD0B;AAEjC2iB,MAAAA,YAAY,EAAE;AAFmB,KAA1B;AAFT,GAhtB+D,EAutB/D;AACC3iB,IAAAA,KAAK,EAAE,qBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,8BAAD,EAAiC;AACxC6Q,MAAAA,KAAK,EAAE,YADiC;AAExC2iB,MAAAA,YAAY,EAAE;AAF0B,KAAjC;AAFT,GAvtB+D,EA8tB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GA9tB+D,EAkuB/D;AACC3iB,IAAAA,KAAK,EAAE,eADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,wBAAD,EAA2B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA3B;AAFT,GAluB+D,EAsuB/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAtuB+D,EA6uB/D;AACC3iB,IAAAA,KAAK,EAAE,sBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,+BAAD,EAAkC;AACzC6Q,MAAAA,KAAK,EAAE,YADkC;AAEzC2iB,MAAAA,YAAY,EAAE;AAF2B,KAAlC;AAFT,GA7uB+D,EAovB/D;AACC3iB,IAAAA,KAAK,EAAE,qBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,8BAAD,EAAiC;AACxC6Q,MAAAA,KAAK,EAAE,YADiC;AAExC2iB,MAAAA,YAAY,EAAE;AAF0B,KAAjC;AAFT,GApvB+D,EA2vB/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GA3vB+D,EA+vB/D;AACC3iB,IAAAA,KAAK,EAAE,gBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,yBAAD,EAA4B;AACnC6Q,MAAAA,KAAK,EAAE,YAD4B;AAEnC2iB,MAAAA,YAAY,EAAE;AAFqB,KAA5B;AAFT,GA/vB+D,EAswB/D;AACC3iB,IAAAA,KAAK,EAAE,kBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,2BAAD,EAA8B;AACrC6Q,MAAAA,KAAK,EAAE,YAD8B;AAErC2iB,MAAAA,YAAY,EAAE;AAFuB,KAA9B;AAFT,GAtwB+D,EA6wB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GA7wB+D,EAixB/D;AACC3iB,IAAAA,KAAK,EAAE,iBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA7B;AAFT,GAjxB+D,EAqxB/D;AACC3iB,IAAAA,KAAK,EAAE,cADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,uBAAD,EAA0B;AAAE6Q,MAAAA,KAAK,EAAE,YAAT;AAAuB2iB,MAAAA,YAAY,EAAE;AAArC,KAA1B;AAFT,GArxB+D,EAyxB/D;AACC3iB,IAAAA,KAAK,EAAE,mBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,4BAAD,EAA+B;AACtC6Q,MAAAA,KAAK,EAAE,YAD+B;AAEtC2iB,MAAAA,YAAY,EAAE;AAFwB,KAA/B;AAFT,GAzxB+D,EAgyB/D;AACC3iB,IAAAA,KAAK,EAAE,oBADR;AAEC1Q,IAAAA,KAAK,EAAEH,CAAC,CAAC,6BAAD,EAAgC;AACvC6Q,MAAAA,KAAK,EAAE,YADgC;AAEvC2iB,MAAAA,YAAY,EAAE;AAFyB,KAAhC;AAFT,GAhyB+D,CAFpC;AAAA,CAArB;;;;;;;;;;;;;;;;;;;;;;ACtdP;AACA;AACA;AACA;AACA;AAIO,IAAMhE,eAAe,GAAG,SAAlBA,eAAkB,CAACxvB,CAAD;AAAA,SAAuC;AACrEG,IAAAA,KAAK,EAAEH,CAAC,CAAC,gCAAD,EAAmC,eAAnC,CAD6D;AAErEF,IAAAA,EAAE,EAAE;AAFiE,GAAvC;AAAA,CAAxB;AAIA,IAAMg1B,6BAA6B,GAAG,SAAhCA,6BAAgC,CAAC90B,CAAD;AAAA,SAAuC;AACnFG,IAAAA,KAAK,EAAEH,CAAC,CAAC,gCAAD,EAAmC,wBAAnC,CAD2E;AAEnFF,IAAAA,EAAE,EAAE;AAF+E,GAAvC;AAAA,CAAtC;AAIA,IAAMuxB,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACrxB,CAAD;AAAA,SAAuC;AAC3EG,IAAAA,KAAK,EAAEH,CAAC,CAAC,gDAAD,EAAmD,wBAAnD,CADmE;AAE3EF,IAAAA,EAAE,EAAE;AAFuE,GAAvC;AAAA,CAA9B;AAIA,IAAMi1B,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAC/0B,CAAD;AAAA,SAAuC;AAC3EG,IAAAA,KAAK,EAAEH,CAAC,CAAC,YAAD,EAAe,QAAf,CADmE;AAE3EF,IAAAA,EAAE,EAAE;AAFuE,GAAvC;AAAA,CAA9B;AAIA,IAAMswB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACpwB,CAAD;AAAA,SAAuC;AACxEG,IAAAA,KAAK,EAAEH,CAAC,CAAC,oBAAD,EAAuB,sBAAvB,CADgE;AAExEF,IAAAA,EAAE,EAAE;AAFoE,GAAvC;AAAA,CAA3B;AAIA,IAAMizB,eAAe,GAAG,SAAlBA,eAAkB,CAAC/yB,CAAD;AAAA,SAAuC;AACrEG,IAAAA,KAAK,EAAEH,CAAC,CAAC,kBAAD,EAAqB,cAArB,CAD6D;AAErEF,IAAAA,EAAE,EAAE;AAFiE,GAAvC;AAAA,CAAxB;AAIA,IAAMgwB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC9vB,CAAD;AAAA,SAAuC;AACvEG,IAAAA,KAAK,EAAEH,CAAC,CAAC,0BAAD,EAA6B,SAA7B,CAD+D;AAEvEF,IAAAA,EAAE,EAAE;AAFmE,GAAvC;AAAA,CAA1B;AAKA,IAAMF,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACI,CAAD;AAAA,SAA6C,CAC/EwvB,eAAe,CAACxvB,CAAD,CADgE,EAE/E80B,6BAA6B,CAAC90B,CAAD,CAFkD,EAG/EqxB,qBAAqB,CAACrxB,CAAD,CAH0D,EAI/E+0B,qBAAqB,CAAC/0B,CAAD,CAJ0D,EAK/EowB,kBAAkB,CAACpwB,CAAD,CAL6D,EAM/E+yB,eAAe,CAAC/yB,CAAD,CANgE,EAO/E8vB,iBAAiB,CAAC9vB,CAAD,CAP8D,CAA7C;AAAA,CAA5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA,IAAMZ,eAAmB,GAAG,SAAtBA,eAAsB,GAAM;AACjC,kBAAwBuJ,gDAAQ,CAAO,EAAP,CAAhC;AAAA;AAAA,MAAO+H,IAAP;AAAA,MAAa6V,OAAb;;AACA,wBAAYhf,8DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,MAAMyB,QAAQ,GAAGpK,gEAAe,EAAhC;;AACA,mBAAwBsR,gDAAQ,CAAC,KAAD,CAAhC;AAAA;AAAA,MAAOyS,IAAP;AAAA,MAAawD,OAAb;;AACA,MAAMqI,MAAM,GAAGpxB,mDAAW,CAAC,UAAC8d,IAAD,EAA0BvD,GAA1B,EAA+BS,KAA/B,EAAyC;AACnE0V,IAAAA,OAAO,CAAC,UAAC5H,CAAD;AAAA,6CACJA,CADI,6FAENhL,IAFM,kCAGHgL,CAHG,aAGHA,CAHG,uBAGHA,CAAC,CAAGhL,IAAH,CAHE,6FAILvD,GAJK,EAICS,KAJD;AAAA,KAAD,CAAP;AAOA,GARyB,EAQvB,EARuB,CAA1B;AASA,MAAM3J,cAAc,GAAG6e,6EAAW,EAAlC;AAEA,MAAMkC,MAAM,GAAGpyB,mDAAW,CAAC,YAAM;AAChCkJ,IAAAA,qEAAY,CAAC2R,IAAD,CAAZ,CACEvM,IADF,CACO,YAAM;AACX,UAAIuM,IAAI,CAACtI,KAAL,IAAcmL,iDAAQ,CAAC9K,MAAM,CAAC2K,IAAP,CAAY1C,IAAI,CAACtI,KAAjB,CAAD,EAA0B,kBAA1B,CAA1B,EAAyE;AACxEwW,QAAAA,OAAO,CAAC,IAAD,CAAP;AACA;;AACD1X,MAAAA,cAAc,CAAC;AACdkJ,QAAAA,GAAG,OADW;AAEdzC,QAAAA,OAAO,EAAE,IAFK;AAGdgG,QAAAA,IAAI,EAAE,MAHQ;AAIdxT,QAAAA,KAAK,EAAEH,CAAC,CAAC,iCAAD,EAAoC,uBAApC,CAJM;AAKdkoB,QAAAA,eAAe,EAAE,IALH;AAMdC,QAAAA,UAAU,EAAE;AANE,OAAD,CAAd;AAQA,KAbF,WAcQ,YAAM;AACZjhB,MAAAA,cAAc,CAAC;AACdkJ,QAAAA,GAAG,OADW;AAEdzC,QAAAA,OAAO,EAAE,IAFK;AAGdgG,QAAAA,IAAI,EAAE,OAHQ;AAIdxT,QAAAA,KAAK,EAAEH,CAAC,CAAC,gBAAD,EAAmB,wCAAnB,CAJM;AAKdkoB,QAAAA,eAAe,EAAE,IALH;AAMdC,QAAAA,UAAU,EAAE;AANE,OAAD,CAAd;AAQA,KAvBF;AAwBA5B,IAAAA,OAAO,CAAC,EAAD,CAAP;AACA,GA1ByB,EA0BvB,CAACrf,cAAD,EAAiBwJ,IAAjB,EAAuB1Q,CAAvB,CA1BuB,CAA1B;AA2BA,MAAMooB,QAAQ,GAAGvyB,mDAAW,CAAC,YAAM;AAClC0wB,IAAAA,OAAO,CAAC,EAAD,CAAP;AACA,GAF2B,EAEzB,EAFyB,CAA5B;AAGA,MAAM8B,OAAO,GAAG5zB,+CAAO,CAAC;AAAA,WAAM,CAAC8G,gDAAO,CAACmV,IAAD,CAAd;AAAA,GAAD,EAAuB,CAACA,IAAD,CAAvB,CAAvB;AACA,MAAMlD,KAAK,GAAG/Y,+CAAO,CAAC;AAAA,WAAMuL,CAAC,CAAC,0BAAD,EAA6B,kBAA7B,CAAP;AAAA,GAAD,EAA0D,CAACA,CAAD,CAA1D,CAArB;AAEA,sBACC,yIACC,4DAAC,oEAAD;AAAgB,SAAK,EAAEwN,KAAvB;AAA8B,YAAQ,EAAE4a,QAAxC;AAAkD,UAAM,EAAEH,MAA1D;AAAkE,WAAO,EAAEI;AAA3E,IADD,eAEC,4DAAC,uEAAD;AACC,cAAU,EAAC,OADZ;AAEC,iBAAa,EAAC,YAFf;AAGC,WAAO,EAAE;AAAE/M,MAAAA,GAAG,EAAE;AAAP,KAHV;AAIC,SAAK,EAAE;AAAEnf,MAAAA,QAAQ,EAAE;AAAZ;AAJR,kBAMC,4DAAC,yFAAD;AAAoB,YAAQ,EAAEsF,QAA9B;AAAwC,UAAM,EAAEwlB;AAAhD,IAND,eAOC,4DAAC,wEAAD;AACC,YAAQ,EAAExlB,QADX;AAEC,UAAM,EAAEwlB,MAFT;AAGC,QAAI,EAAE7L,IAHP;AAIC,WAAO,EAAEwD;AAJV,IAPD,eAcC,4DAAC,wFAAD;AAAqB,YAAQ,EAAEnd,QAA/B;AAAyC,UAAM,EAAEwlB;AAAjD,IAdD,eAeC,4DAAC,8DAAD;AAAoB,YAAQ,EAAExlB,QAA9B;AAAwC,UAAM,EAAEwlB;AAAhD,IAfD,eAgBC,4DAAC,6FAAD,OAhBD,eAiBC,4DAAC,gFAAD;AAAW,cAAU,EAAE;AAAvB,IAjBD,eAkBC,4DAAC,4EAAD,OAlBD,CAFD,CADD;AAyBA,CA1ED;;AA4EA,iEAAe7nB,eAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AAEA;CAUA;;AACA;AACA;AACA;AAEA;AACA;AAEAmuB,2DAAe;;AAEf,IAAM6H,mBAKJ,GAAG,SALCA,mBAKD,OAAyC;AAAA,MAAtC3zB,QAAsC,QAAtCA,QAAsC;AAAA,MAA5BwlB,MAA4B,QAA5BA,MAA4B;AAAA,MAApB7L,IAAoB,QAApBA,IAAoB;AAAA,MAAdwD,OAAc,QAAdA,OAAc;;AAC7C,wBAAcrX,6DAAc,EAA5B;AAAA,MAAQvH,CAAR,mBAAQA,CAAR;;AACA,MAAMq1B,OAAO,GAAG5gC,8CAAO,CAAC;AAAA,WAAMkgC,6DAAU,CAAC30B,CAAD,CAAhB;AAAA,GAAD,EAAsB,CAACA,CAAD,CAAtB,CAAvB;AACA,MAAMs1B,SAAS,GAAG7gC,8CAAO,CAAC;AAAA,WAAMogC,+DAAY,CAAC70B,CAAD,CAAlB;AAAA,GAAD,EAAwB,CAACA,CAAD,CAAxB,CAAzB;AAEA,MAAM8uB,WAAW,GAAGj5B,kDAAW,CAC9B,UAAC0sB,CAAD,EAAI5P,CAAJ,EAAU;AACTsU,IAAAA,MAAM,CAAC,OAAD,EAAUtU,CAAV,EAAa4P,CAAb,CAAN;AACA,GAH6B,EAI9B,CAAC0E,MAAD,CAJ8B,CAA/B;AAOA,MAAM0I,gBAAgB,GAAGl7B,8CAAO,CAC/B;AAAA,WACCgN,QAAQ,CAAC2G,KAAT,CAAeC,gBAAf,IAAmCoF,4CAAI,CAAC4nB,OAAD,EAAU;AAAEv1B,MAAAA,EAAE,EAAE2B,QAAQ,CAAC2G,KAAT,CAAeC;AAArB,KAAV,CAAvC,GACGoF,4CAAI,CAAC4nB,OAAD,EAAU;AAAEv1B,MAAAA,EAAE,EAAE2B,QAAQ,CAAC2G,KAAT,CAAeC;AAArB,KAAV,CADP,GAEGoF,4CAAI,CAAC4nB,OAAD,EAAU;AAAEv1B,MAAAA,EAAE,EAAE;AAAN,KAAV,CAHR;AAAA,GAD+B,EAK/B,CAACu1B,OAAD,EAAU5zB,QAAQ,CAAC2G,KAAT,CAAeC,gBAAzB,CAL+B,CAAhC;AAQA,MAAMktB,eAAe,GAAG9gC,8CAAO,CAC9B;AAAA;;AAAA,oBACCgZ,4CAAI,CAAC6nB,SAAD,EAAY;AAAEzkB,MAAAA,KAAK,EAAEpP,QAAQ,CAAC2G,KAAT,CAAeotB;AAAxB,KAAZ,CADL,yCAEC/nB,4CAAI,CAAC6nB,SAAD,EAAY;AAAEzkB,MAAAA,KAAK,EAAE;AAAT,KAAZ,CAFL;AAAA,GAD8B,EAI9B,CAACykB,SAAD,EAAY7zB,QAAQ,CAAC2G,KAAT,CAAeotB,oBAA3B,CAJ8B,CAA/B;AAOA,MAAMvF,YAAY,GAAGx7B,8CAAO,CAAC;AAAA,WAAMqgC,6FAA6B,CAAC90B,CAAD,CAAnC;AAAA,GAAD,EAAyC,CAACA,CAAD,CAAzC,CAA5B;AACA,sBACC,2DAAC,2EAAD;AACC,SAAK,EAAEiwB,YAAY,CAAC9vB,KADrB;AAEC,YAAQ,EAAC,wBAFV;AAGC,SAAK,EAAC,KAHP;AAIC,MAAE,EAAE8vB,YAAY,CAACnwB;AAJlB,kBAMC,2DAAC,sEAAD;AAAW,kBAAc,EAAC,UAA1B;AAAqC,WAAO,EAAE;AAAEwb,MAAAA,GAAG,EAAE;AAAP;AAA9C,KACE7S,MAAM,CAAC2K,IAAP,CAAY3R,QAAQ,CAAC2G,KAArB,EAA4BmT,MAA5B,GAAqC,CAArC,iBACA,2DAAC,mEAAD;AACC,SAAK,EAAE8Z,OADR;AAEC,cAAU,EAAC,OAFZ;AAGC,SAAK,EAAEr1B,CAAC,CAAC,gBAAD,EAAmB,UAAnB,CAHT;AAIC,YAAQ,EAAE,kBAAC6Q,KAAD,EAAsB;AAC/B,UAAIA,KAAK,IAAIA,KAAK,KAAKpP,QAAQ,CAAC2G,KAAT,CAAeC,gBAAtC,EACCymB,WAAW,CAACje,KAAD,EAAQ,kBAAR,CAAX;AACD,KAPF;AAQC,aAAS,EAAE8e,gBARZ;AASC,gBAAY,EAAE,KATf;AAUC,qBAAiB,EAAC,OAVnB;AAWC,2BAAuB,EAAC;AAXzB,IAFF,eAgBC,2DAAC,oEAAD;AAAS,OAAG,EAAC,OAAb;AAAqB,SAAK,EAAC;AAA3B,KACElnB,MAAM,CAAC2K,IAAP,CAAY3R,QAAQ,CAAC2G,KAArB,EAA4BmT,MAA5B,GAAqC,CAArC,IAA0C+Z,SAA1C,iBACA,2DAAC,mEAAD;AACC,SAAK,EAAEA,SADR;AAEC,cAAU,EAAC,OAFZ;AAGC,SAAK,EAAEt1B,CAAC,CAAC,iBAAD,EAAoB,WAApB,CAHT;AAIC,YAAQ,EAAE,kBAAC6Q,KAAD,EAAsB;AAC/B,UAAIA,KAAK,IAAIA,KAAK,KAAKpP,QAAQ,CAAC2G,KAAT,CAAeotB,oBAAtC,EACC1G,WAAW,CAACje,KAAD,EAAQ,sBAAR,CAAX;AACD,KAPF;AAQC,aAAS,EAAE0kB,eARZ;AASC,gBAAY,EAAE,KATf;AAUC,qBAAiB,EAAC,OAVnB;AAWC,2BAAuB,EAAC;AAXzB,IAFF,CAhBD,eAiCC,2DAAC,kEAAD;AACC,SAAK,EAAEv1B,CAAC,CAAC,cAAD,EAAiB,QAAjB,CADT;AAEC,QAAI,EAAEob,IAFP;AAGC,gBAAY,EAAEpb,CAAC,CAAC,UAAD,EAAa,IAAb,CAHhB;AAIC,aAAS,EAAE;AAAA,aAAY+C,MAAM,CAACkL,QAAP,CAAgBwnB,MAAhB,EAAZ;AAAA,KAJZ;AAKC,gBAAY,EAAEz1B,CAAC,CAAC,cAAD,EAAiB,QAAjB,CALhB;AAMC,WAAO,EAAE;AAAA,aAAY4e,OAAO,CAAC,KAAD,CAAnB;AAAA;AANV,kBAQC,2DAAC,iEAAD;AAAM,YAAQ,EAAC;AAAf,KACE5e,CAAC,CACD,gBADC,iKADH,CARD,CAjCD,CAND,CADD;AA2DA,CA5FD;;AA8FA,iEAAeo1B,mBAAf;;;;;;;;;;;;;;;;;;;;;;;;ACxHA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;;AAEA,IAAMF,kBAGJ,GAAG,SAHCA,kBAGD,OAA0B;AAAA,MAAvBzzB,QAAuB,QAAvBA,QAAuB;AAAA,MAAbwlB,MAAa,QAAbA,MAAa;;AAC9B,wBAAc1f,6DAAc,EAA5B;AAAA,MAAQvH,CAAR,mBAAQA,CAAR;;AACA,kBAAoD2I,+CAAQ,CAC3DlH,QAAQ,CAAC2G,KAAT,CAAestB,6BAAf,KAAiD,MADU,CAA5D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AAGA,mBAAsDjtB,+CAAQ,CAC7DlH,QAAQ,CAAC2G,KAAT,CAAeytB,8BAAf,KAAkD,MADW,CAA9D;AAAA;AAAA,MAAOC,mBAAP;AAAA,MAA4BC,sBAA5B;;AAGA,mBAAwDptB,+CAAQ,CAC/DlH,QAAQ,CAAC2G,KAAT,CAAe4tB,oCAAf,KAAwD,MADO,CAAhE;AAAA;AAAA,MAAOC,oBAAP;AAAA,MAA6BC,uBAA7B;;AAGA,MAAMC,OAAO,GAAGtgC,kDAAW,CAC1B,UAAC0sB,CAAD,EAAI5P,CAAJ,EAAU;AACT,QAAM9B,KAAU,GAAG0R,CAAC,GAAG,MAAH,GAAY,OAAhC;AACA0E,IAAAA,MAAM,CAAC,OAAD,EAAUtU,CAAV,EAAa9B,KAAb,CAAN;AACA,GAJyB,EAK1B,CAACoW,MAAD,CAL0B,CAA3B;AAQA3f,EAAAA,gDAAS,CAAC,YAAM;AACfsuB,IAAAA,qBAAqB,CAACn0B,QAAQ,CAAC2G,KAAT,CAAestB,6BAAf,KAAiD,MAAlD,CAArB;AACA,GAFQ,EAEN,CAACj0B,QAAQ,CAAC2G,KAAT,CAAestB,6BAAhB,CAFM,CAAT;AAGApuB,EAAAA,gDAAS,CAAC,YAAM;AACfyuB,IAAAA,sBAAsB,CAACt0B,QAAQ,CAAC2G,KAAT,CAAeytB,8BAAf,KAAkD,MAAnD,CAAtB;AACA,GAFQ,EAEN,CAACp0B,QAAQ,CAAC2G,KAAT,CAAeytB,8BAAhB,CAFM,CAAT;AAGAvuB,EAAAA,gDAAS,CAAC,YAAM;AACf4uB,IAAAA,uBAAuB,CAACz0B,QAAQ,CAAC2G,KAAT,CAAe4tB,oCAAf,KAAwD,MAAzD,CAAvB;AACA,GAFQ,EAEN,CAACv0B,QAAQ,CAAC2G,KAAT,CAAe4tB,oCAAhB,CAFM,CAAT;AAIA,MAAMI,WAAW,GAAGvgC,kDAAW,CAAC,YAAM;AACrC+/B,IAAAA,qBAAqB,CAAC,CAACD,kBAAF,CAArB;AACAQ,IAAAA,OAAO,CAAC,CAACR,kBAAF,EAAsB,+BAAtB,CAAP;AACA,GAH8B,EAG5B,CAACA,kBAAD,EAAqBQ,OAArB,CAH4B,CAA/B;AAIA,MAAME,YAAY,GAAGxgC,kDAAW,CAAC,YAAM;AACtCkgC,IAAAA,sBAAsB,CAAC,CAACD,mBAAF,CAAtB;AACAK,IAAAA,OAAO,CAAC,CAACL,mBAAF,EAAuB,gCAAvB,CAAP;AACA,GAH+B,EAG7B,CAACA,mBAAD,EAAsBK,OAAtB,CAH6B,CAAhC;AAIA,MAAMG,aAAa,GAAGzgC,kDAAW,CAAC,YAAM;AACvCqgC,IAAAA,uBAAuB,CAAC,CAACD,oBAAF,CAAvB;AACAE,IAAAA,OAAO,CAAC,CAACF,oBAAF,EAAwB,sCAAxB,CAAP;AACA,GAHgC,EAG9B,CAACA,oBAAD,EAAuBE,OAAvB,CAH8B,CAAjC;AAIA,MAAMlG,YAAY,GAAGx7B,8CAAO,CAAC;AAAA,WAAMsgC,qFAAqB,CAAC/0B,CAAD,CAA3B;AAAA,GAAD,EAAiC,CAACA,CAAD,CAAjC,CAA5B;AACA,sBACC,2DAAC,2EAAD;AACC,SAAK,EAAEiwB,YAAY,CAAC9vB,KADrB;AAEC,YAAQ,EAAC,wBAFV;AAGC,SAAK,EAAC,KAHP;AAIC,MAAE,EAAE8vB,YAAY,CAACnwB;AAJlB,kBAMC,2DAAC,sEAAD;AAAW,kBAAc,EAAC,UAA1B;AAAqC,WAAO,EAAE;AAAEwb,MAAAA,GAAG,EAAE;AAAP;AAA9C,kBACC,2DAAC,qEAAD;AACC,SAAK,EAAEtb,CAAC,CACP,+DADO,EAEP,iCAFO,CADT;AAKC,SAAK,EAAE21B,kBALR;AAMC,WAAO,EAAES;AANV,IADD,eASC,2DAAC,qEAAD;AACC,SAAK,EAAEp2B,CAAC,CACP,gEADO,EAEP,kCAFO,CADT;AAKC,SAAK,EAAE81B,mBALR;AAMC,WAAO,EAAEO;AANV,IATD,eAiBC,2DAAC,qEAAD;AACC,SAAK,EAAEr2B,CAAC,CACP,iEADO,EAEP,mCAFO,CADT;AAKC,SAAK,EAAEi2B,oBALR;AAMC,WAAO,EAAEK;AANV,IAjBD,CAND,CADD;AAmCA,CAhFD;;AAkFA,iEAAepB,kBAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAMh2B,eAAmB,GAAG,SAAtBA,eAAsB,GAAM;AACxC,MAAMq3B,aAAa,GAAG96B,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQI,QAAf;AAAA,GAAD,CAAjC;AACA,MAAML,MAAM,GAAG3M,8CAAO,CACrB;AAAA,WACC+G,2CAAG,CAAC+6B,aAAD,EAAgB,UAACpW,IAAD;AAAA,0BAClB,2DAAC,mDAAD;AAAO,WAAG,EAAEA,IAAI,CAAC9iB,KAAjB;AAAwB,aAAK,MAA7B;AAA8B,YAAI,aAAMoC,uDAAN,cAAyB0gB,IAAI,CAAC9iB,KAA9B;AAAlC,sBACC,2DAAC,sEAAD;AAAoB,WAAG,EAAE8iB,IAAI,CAAC3qB;AAA9B,sBACC,2DAAC,IAAD,CAAM,SAAN,OADD,CADD,CADkB;AAAA,KAAhB,CADJ;AAAA,GADqB,EASrB,CAAC+gC,aAAD,CATqB,CAAtB;AAWA,sBACC,2DAAC,oDAAD,QACEn1B,MADF,eAEC,2DAAC,sDAAD;AAAU,QAAI,aAAM3B,uDAAN,CAAd;AAAuC,SAAK,MAA5C;AAA6C,UAAM,MAAnD;AAAoD,MAAE,aAAMA,uDAAN;AAAtD,IAFD,CADD;AAMA,CAnBM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAMN,eAA0C,GAAG,SAA7CA,eAA6C,OAAkB;AAAA,MAAfs3B,QAAe,QAAfA,QAAe;AAC3E,MAAMF,aAAa,GAAG96B,wDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQI,QAAf;AAAA,GAAD,CAAjC;AACA,MAAMwF,OAAO,GAAGP,6DAAU,EAA1B;AACA,MAAMuH,QAAQ,GAAGJ,8DAAW,EAA5B;AACA,MAAMkc,KAAK,GAAGt1B,+CAAO,CACpB;AAAA,WACC8hC,aAAa,CAAC/6B,GAAd,CAAkB,UAAC2kB,IAAD;AAAA,aAAW;AAC5BrgB,QAAAA,EAAE,EAAEqgB,IAAI,CAAC9iB,KADmB;AAE5B8C,QAAAA,KAAK,EAAEggB,IAAI,CAAChgB,KAFgB;AAG5BM,QAAAA,IAAI,EAAE0f,IAAI,CAAC1f,IAHiB;AAI5Bqe,QAAAA,MAAM,EAAE7Q,QAAQ,CAACE,QAAT,gBAA0B1O,wDAA1B,cAA6C0gB,IAAI,CAAC9iB,KAAlD,KAA6D4Q,QAAQ,CAACQ,MAAT,KAAoB,EAJ7D;AAK5BioB,QAAAA,YAAY,EACXzoB,QAAQ,CAACE,QAAT,gBAA0B1O,wDAA1B,cAA6C0gB,IAAI,CAAC9iB,KAAlD,KAA6D4Q,QAAQ,CAACQ,MAAT,KAAoB,EANtD;AAO5BuhB,QAAAA,OAAO,EAAE,iBAACltB,CAAD,EAAyB;AACjCA,UAAAA,CAAC,CAAC6zB,eAAF;AACA1vB,UAAAA,OAAO,CAACrF,IAAR,YAAiBnC,wDAAjB,cAAoC0gB,IAAI,CAAC9iB,KAAzC;AACA,SAV2B;AAW5B0sB,QAAAA,KAAK,EAAEvuB,4CAAG,CAAC2kB,IAAI,CAACzf,WAAN,EAAmB,UAACuQ,IAAD;AAAA,iDACzBA,IADyB;AAE5B6N,YAAAA,MAAM,EAAE7Q,QAAQ,CAACQ,MAAT,wBAAgCwC,IAAI,CAACnR,EAArC,CAFoB;AAG5B42B,YAAAA,YAAY,EAAEzoB,QAAQ,CAACQ,MAAT,wBAAgCwC,IAAI,CAACnR,EAArC,CAHc;AAI5BkwB,YAAAA,OAAO,EAAE,iBAACltB,CAAD,EAAyB;AACjCA,cAAAA,CAAC,CAAC6zB,eAAF;AACA1vB,cAAAA,OAAO,CAAC0G,OAAR,YAAoBlO,wDAApB,cAAuC0gB,IAAI,CAAC9iB,KAA5C,sBAA6D4T,IAAI,CAACnR,EAAlE;AACA;AAP2B;AAAA,SAAnB;AAXkB,OAAX;AAAA,KAAlB,CADD;AAAA,GADoB,EAuBpB,CAACmH,OAAD,EAAUgH,QAAQ,CAACE,QAAnB,EAA6BF,QAAQ,CAACQ,MAAtC,EAA8C8nB,aAA9C,CAvBoB,CAArB;AAyBA,MAAMK,cAAc,GAAGniC,+CAAO,CAC7B;AAAA,WACC8hC,aAAa,CAAC/6B,GAAd,CAAkB,UAAC+mB,CAAD;AAAA,0BACjB,4DAAC,qEAAD;AAAS,aAAK,EAAEA,CAAC,CAACpiB,KAAlB;AAAyB,iBAAS,EAAC,OAAnC;AAA2C,WAAG,EAAEoiB,CAAC,CAACziB;AAAlD,sBACC,4DAAC,wEAAD;AACC,YAAI,EAAEyiB,CAAC,CAAC9hB,IADT;AAEC,eAAO,EAAE;AAAA,iBAAYwG,OAAO,CAACrF,IAAR,YAAiBnC,wDAAjB,cAAoC8iB,CAAC,CAACllB,KAAtC,EAAZ;AAAA,SAFV;AAGC,YAAI,EAAC,OAHN;AAIC,iBAAS,EAAEqQ,mDAAU,CAACO,QAAQ,CAACE,QAAV,aAAwB1O,wDAAxB,cAA2C8iB,CAAC,CAACllB,KAA7C;AAJtB,QADD,CADiB;AAAA,KAAlB,CADD;AAAA,GAD6B,EAY7B,CAAC4J,OAAD,EAAUgH,QAAQ,CAACE,QAAnB,EAA6BooB,aAA7B,CAZ6B,CAA9B;AAcA,SAAOE,QAAQ,gBAAG,4DAAC,uEAAD;AAAW,SAAK,EAAE1M;AAAlB,IAAH,gBAAiC,4HAAG6M,cAAH,CAAhD;AACA,CA5CM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,sBAAsB,GAAGvd,6DAAM,CAACJ,sEAAD,CAAT;AAAA;AAAA;AAAA,6FAA5B;;AAQA,IAAM4d,gBAAoB,GAAG,SAAvBA,gBAAuB,GAAM;AAClC,MAAMpyB,IAAI,GAAG8U,sDAAU,EAAvB;AACA,MAAMpY,MAAM,GAAG2M,qDAAS,EAAxB;AACA,MAAME,QAAQ,GAAGJ,6DAAW,EAA5B;AACA,MAAMkpB,SAAS,GAAGtiC,8CAAO,CACxB;AAAA;;AAAA,oBAAMgZ,4CAAI,CAACrM,MAAD,EAAS,UAAC8M,CAAD;AAAA;;AAAA,aAAO,WAAAxJ,IAAI,CAAC,CAAD,CAAJ,kDAAS9J,IAAT,MAAkBsT,CAAC,CAAC1Y,GAA3B;AAAA,KAAT,CAAV,0CAAM,MAA8C6H,KAApD;AAAA,GADwB,EAExB,CAACqH,IAAD,EAAOtD,MAAP,CAFwB,CAAzB;AAIA,SAAO21B,SAAS,IAAI,CAAA9oB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEE,QAAV,MAAuB,GAApC,gBACN,2DAAC,sDAAD;AAAU,SAAK,MAAf;AAAgB,UAAM,MAAtB;AAAuB,QAAI,EAAC,GAA5B;AAAgC,MAAE,aAAM4oB,SAAN;AAAlC,IADM,GAEH,IAFJ;AAGA,CAXD;;AAaA,IAAMC,gBAAoB,GAAG,SAAvBA,gBAAuB,GAAM;AAClC,MAAMC,QAAQ,GAAGx7B,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQG,OAAf;AAAA,GAAD,CAA5B;AACA,MAAMJ,MAAM,GAAG3M,8CAAO,CACrB;AAAA,gGACI+G,2CAAG,CAACy7B,QAAD,EAAW,UAAC9W,IAAD;AAAA,0BAChB,2DAAC,mDAAD;AAAO,WAAG,EAAEA,IAAI,CAACrgB,EAAjB;AAAqB,YAAI,aAAMqgB,IAAI,CAAC9iB,KAAX;AAAzB,sBACC,2DAAC,sEAAD;AAAoB,WAAG,EAAE8iB,IAAI,CAAC3qB,GAA9B;AAAmC,WAAG,EAAE2qB,IAAI,CAAC3qB;AAA7C,sBACC,2DAAC,IAAD,CAAM,SAAN,OADD,CADD,CADgB;AAAA,KAAX,CADP;AAAA,GADqB,EAUrB,CAACyhC,QAAD,CAVqB,CAAtB;AAaA,sBACC,2DAAC,sBAAD,qBACC,2DAAC,sEAAD;AAAW,iBAAa,EAAC;AAAzB,kBACC,2DAAC,oDAAD,QAAS71B,MAAT,CADD,eAEC,2DAAC,gBAAD,OAFD,CADD,CADD;AAQA,CAvBD;;AAyBA,iEAAe41B,gBAAf;;;;;;;;;;;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAMG,SAAS,GAAG7d,6DAAM,CAACJ,sEAAD,CAAT;AAAA;AAAA;AAAA,mNAKA;AAAA;;AAAA,MAAG9Y,KAAH,QAAGA,KAAH;AAAA,MAAU8J,KAAV,QAAUA,KAAV;AAAA,SAA8BA,KAAK,CAACyP,OAAN,iBAAcvZ,KAAd,aAAcA,KAAd,uBAAcA,KAAK,CAAE4X,KAArB,uDAA8B,SAA9B,EAAyC6B,OAAvE;AAAA,CALA,CAAf,EAeA;;AACA,IAAMud,SAAmC,gBAAGF,iDAAU,CAAC,iBAAsBlV,GAAtB;AAAA;;AAAA,MAAG5hB,KAAH,SAAGA,KAAH;AAAA,MAAU/K,QAAV,SAAUA,QAAV;AAAA,sBACtD,2DAAC,sEAAD;AAAW,SAAK,EAAE,EAAlB;AAAsB,UAAM,EAAE,EAA9B;AAAkC,SAAK,EAAE;AAAE6K,MAAAA,QAAQ,EAAE;AAAZ,KAAzC;AAAmE,OAAG,EAAE8hB;AAAxE,KACE5hB,KAAK,CAACC,IAAN,iBACA,2DAAC,SAAD;AAAW,SAAK,EAAED,KAAlB;AAAyB,UAAM,EAAC,KAAhC;AAAsC,SAAK,EAAC;AAA5C,KACEA,KAAK,CAACi3B,SAAN,gBACA,2DAAC,iEAAD;AAAM,QAAI,EAAC,YAAX;AAAwB,SAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE,SAAX;AAAsBC,MAAAA,QAAQ,EAAE;AAAhC,KAA/B;AAAyE,SAAK,EAAC;AAA/E,qBACEn3B,KAAK,CAACo3B,KADR,uDACiB,CADjB,CADA,GAIG,IALL,CAFF,EAUEniC,QAVF,CADsD;AAAA,CAAD,CAAtD;AAeA,iEAAe+hC,SAAf;;;;;;;;;;;;;;;;;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AASA;AAEA,IAAMO,YAAY,GAAGre,6DAAM,CAACH,gEAAD,CAAT;AAAA;AAAA;AAAA,+HAKG;AAAA,MAAGjP,KAAH,QAAGA,KAAH;AAAA,MAAU4U,MAAV,QAAUA,MAAV;AAAA,SACnBA,MAAM,GAAG5U,KAAK,CAACyP,OAAN,CAAcie,KAAd,CAAoB/d,OAAvB,GAAiC3P,KAAK,CAACyP,OAAN,CAAcC,KAAd,CAAoBC,OADxC;AAAA,CALH,CAAlB;AAWA,IAAMge,eAAe,GAAGve,6DAAM,CAACJ,sEAAD,CAAT;AAAA;AAAA;AAAA,2DAGN;AAAA,MAAGhP,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACyP,OAAN,CAAcie,KAAd,CAAoB/d,OAAnC;AAAA,CAHM,EAIV;AAAA,MAAG3P,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACR,KAAN,CAAY4tB,OAAZ,CAAoB1tB,UAAnC;AAAA,CAJU,CAArB;AAOe,SAASkuB,WAAT,QAA8C;AAAA,MAAvBC,GAAuB,SAAvBA,GAAuB;AAAA,MAAlBt3B,IAAkB,SAAlBA,IAAkB;AAAA,MAAZu3B,QAAY,SAAZA,QAAY;;AAC5D,oBAAiC5xB,iDAAU,CAACqxB,6DAAD,CAA3C;AAAA,MAAQQ,MAAR,eAAQA,MAAR;AAAA,MAAgBC,YAAhB,eAAgBA,YAAhB;;AACA,qBAAyC9xB,iDAAU,CAACsxB,8DAAD,CAAnD;AAAA,MAAQS,WAAR,gBAAQA,WAAR;AAAA,MAAqBC,eAArB,gBAAqBA,eAArB;;AACA,wBAAY7wB,6DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,MAAMgwB,OAAO,GAAGn6B,kDAAW,CAAC;AAAA,WAAMuiC,eAAe,CAACL,GAAD,CAArB;AAAA,GAAD,EAA6B,CAACA,GAAD,EAAMK,eAAN,CAA7B,CAA3B;AACA,MAAMC,QAAQ,GAAGxiC,kDAAW,CAC3B,UAAC0mB,EAAD,EAAQ;AACPA,IAAAA,EAAE,CAACoa,eAAH;AACAwB,IAAAA,WAAW,CAACJ,GAAD,CAAX;AACA,GAJ0B,EAK3B,CAACA,GAAD,EAAMI,WAAN,CAL2B,CAA5B;AAQA,sBACC,2DAAC,sEAAD;AAAW,eAAW,EAAC,KAAvB;AAA6B,SAAK,EAAC,KAAnC;AAAyC,YAAQ,EAAC;AAAlD,KACED,YAAY,KAAKH,GAAjB,gBAAuB,2DAAC,eAAD,OAAvB,GAA6C,IAD/C,eAEC,2DAAC,YAAD;AAAc,UAAM,EAAEG,YAAY,KAAKH,GAAvC;AAA4C,WAAO,EAAE;AAAEzc,MAAAA,GAAG,EAAE;AAAP;AAArD,kBACC,2DAAC,gEAAD;AACC,UAAM,EAAC,MADR;AAEC,WAAO,EAAE0U,OAFV;AAGC,sBAAkB,MAHnB;AAIC,iBAAa,EAAC,YAJf;AAKC,QAAI,EAAC;AALN,kBAOC,2DAAC,iEAAD;AAAM,QAAI,EAAEvvB,IAAZ;AAAkB,QAAI,EAAEu3B;AAAxB,IAPD,eAQC,2DAAC,oEAAD;AAAS,SAAK,EAAC;AAAf,IARD,eASC,2DAAC,oEAAD;AAAS,SAAK,EAAEC,MAAM,CAACF,GAAD,CAAN,CAAYvqB,KAA5B;AAAmC,aAAS,EAAC,KAA7C;AAAmD,YAAQ,EAAC;AAA5D,kBACC,2DAAC,iEAAD;AACC,QAAI,EAAC,QADN;AAEC,UAAM,EAAC,SAFR;AAGC,SAAK,EAAE0qB,YAAY,KAAKH,GAAjB,GAAuB,MAAvB,GAAgC,WAHxC;AAIC,WAAO,EAAE;AAAE7lB,MAAAA,KAAK,EAAE;AAAT,KAJV;AAKC,YAAQ,EAAC;AALV,KAOE+lB,MAAM,CAACF,GAAD,CAAN,CAAYvqB,KAPd,CADD,CATD,CADD,eAsBC,2DAAC,oEAAD;AAAS,SAAK,EAAC;AAAf,IAtBD,eAuBC,2DAAC,oEAAD;AAAS,SAAK,EAAExN,CAAC,CAAC,iBAAD,EAAoB,WAApB,CAAjB;AAAmD,aAAS,EAAC;AAA7D,kBACC,2DAAC,uEAAD;AACC,aAAS,EAAC,WADX;AAEC,QAAI,EAAC,OAFN;AAGC,WAAO,EAAEq4B,QAHV;AAIC,SAAK,EAAE;AAAEf,MAAAA,OAAO,EAAE,KAAX;AAAkBpN,MAAAA,KAAK,EAAE,MAAzB;AAAiChuB,MAAAA,MAAM,EAAE;AAAzC;AAJR,IADD,CAvBD,CAFD,CADD;AAqCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAWA;AACA;AACA;AACA;AACA;;AAEA,SAASw8B,QAAT,OAAyE;AAAA,MAArDC,IAAqD,QAArDA,IAAqD;AAAA,MAA/CT,YAA+C,QAA/CA,YAA+C;AAAA,MAAjCE,eAAiC,QAAjCA,eAAiC;AAAA,MAAhBQ,SAAgB,QAAhBA,SAAgB;AAAA,MAAL54B,CAAK,QAALA,CAAK;AACxE,MAAM0E,IAAI,GAAG+zB,oDAAO,EAApB;AACA,MAAMI,eAAe,GAAGzY,8CAAM,EAA9B;;AACA,wBAAiDmY,gFAAc,CAACM,eAAD,EAAkBD,SAAlB,CAA/D;AAAA;AAAA,MAAOE,eAAP;AAAA,MAAwBC,qBAAxB;;AAEAT,EAAAA,uDAAe,CAAC,YAAM;AACrBS,IAAAA,qBAAqB,GADA,CAErB;AACA,GAHc,EAGZ,CAACJ,IAAD,EAAOC,SAAP,EAAkBC,eAAe,CAAC5mB,OAAlC,CAHY,CAAf;AAKA,sBACC,4DAAC,iEAAD;AAAK,QAAI,EAAC,QAAV;AAAmB,UAAM,EAAC,MAA1B;AAAiC,iBAAa,EAAC,YAA/C;AAA4D,sBAAkB;AAA9E,kBACC,4DAAC,iEAAD;AACC,OAAG,EAAE4mB,eADN;AAEC,UAAM,EAAC,MAFR;AAGC,iBAAa,EAAC,YAHf;AAIC,SAAK,EAAE;AAAE18B,MAAAA,QAAQ,EAAE;AAAZ,KAJR;AAKC,SAAK,EAAC;AALP,KAOEw8B,IAAI,IACJn9B,4CAAG,CAACm9B,IAAD,EAAO,UAACK,GAAD;AAAA;;AAAA,wBACT,4DAAC,uDAAD;AACC,SAAG,EAAEA,GAAG,CAAC5oB,GADV;AAEC,SAAG,EAAE4oB,GAAG,CAAC5oB,GAFV;AAGC,UAAI,wBAAE1L,IAAF,aAAEA,IAAF,wCAAEA,IAAI,CAAGs0B,GAAG,CAACxjC,GAAP,CAAN,kDAAE,cAAiBiL,IAAnB,mEAA2B,cAHhC;AAIC,cAAQ,EAAC;AAJV,MADS;AAAA,GAAP,CARL,CADD,EAkBEq4B,eAAe,GAAG,CAAlB,iBACA,yIACC,4DAAC,uEAAD;AAAW,SAAK,EAAC,KAAjB;AAAuB,WAAO,EAAE;AAAE9Y,MAAAA,UAAU,EAAE,YAAd;AAA4B3C,MAAAA,QAAQ,EAAE;AAAtC;AAAhC,kBACC,4DAAC,uEAAD;AAAW,SAAK,EAAC,KAAjB;AAAuB,UAAM,EAAC,MAA9B;AAAqC,cAAU,EAAC;AAAhD,IADD,CADD,eAIC,4DAAC,qEAAD;AAAS,SAAK,EAAErd,CAAC,CAAC,iBAAD,EAAoB,iBAApB,CAAjB;AAAyD,aAAS,EAAC;AAAnE,kBACC,4DAAC,sEAAD;AACC,SAAK,EAAC,KADP;AAEC,SAAK,EAAE;AAAEitB,MAAAA,QAAQ,EAAE;AAAZ,KAFR;AAGC,SAAK,EAAEzxB,4CAAG,CAACmnB,8CAAK,CAACgW,IAAD,EAAO,CAACG,eAAR,CAAN,EAAgC,UAACE,GAAD;AAAA,aAAU;AACnDl5B,QAAAA,EAAE,EAAEk5B,GAAG,CAAC5oB,GAD2C;AAEnDjQ,QAAAA,KAAK,EAAE64B,GAAG,CAACxrB,KAFwC;AAGnD/M,QAAAA,IAAI,EAAEu4B,GAAG,CAACv4B,IAHyC;AAInDse,QAAAA,KAAK,EAAE;AAAA,iBAAMqZ,eAAe,CAACY,GAAG,CAAC5oB,GAAL,CAArB;AAAA,SAJ4C;AAKnD+K,QAAAA,QAAQ,EAAE6d,GAAG,CAAC5oB,GAAJ,KAAY8nB;AAL6B,OAAV;AAAA,KAAhC;AAHX,kBAWC,4DAAC,oEAAD;AACC,QAAI,EAAC,OADN;AAEC,SAAK,EAAC,WAFP;AAGC,SAAK,aAAMY,eAAN,CAHN;AAIC,WAAO,EAAE;AAAExd,MAAAA,GAAG,EAAE;AAAP;AAJV,IAXD,CADD,CAJD,CAnBF,CADD;AAgDA;;AAED,IAAM2d,cAAc,GAAG3f,yEAAH;AAAA;AAAA;AAAA,mIASjB;AAAA,MAAGsf,SAAH,SAAGA,SAAH;AAAA,SACDA,SAAS,IACT3rB,uDADS,2DADR;AAAA,CATiB,EAejB;AAAA,MAAGksB,SAAH,SAAGA,SAAH;AAAA,SACDA,SAAS,IACTlsB,uDADS,mBADR;AAAA,CAfiB,CAApB;AAqBA,IAAMmsB,KAAK,GAAG9f,8DAAM,CAACJ,uEAAD,CAAT;AAAA;AAAA;AAAA,sKAUR;AAAA,MAAG0f,SAAH,SAAGA,SAAH;AAAA,SACDA,SAAS,IACT3rB,uDADS,2EADR;AAAA,CAVQ,CAAX;AAkBA,IAAMosB,WAAW,GAAG/f,8DAAM,CAACH,iEAAD,CAAT;AAAA;AAAA;AAAA,QAAjB;AACA,IAAMmgB,oBAAoB,GAAGhgB,8DAAM,CAACH,iEAAD,CAAT;AAAA;AAAA;AAAA,qBAA1B;AAGA,IAAMogB,UAAU,GAAGjgB,8DAAM,CAAChM,wEAAD,CAAT;AAAA;AAAA;AAAA,QAAhB;AACA,IAAMksB,OAAO,GAAGlgB,8DAAM,CAACH,iEAAD,CAAT;AAAA;AAAA;AAAA,QAAb;AAEe,SAASsgB,cAAT,GAA0B;AAAA;;AACxC,wBAAYlyB,8DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,oBAAoEoG,kDAAU,CAACqxB,8DAAD,CAA9E;AAAA,MAAgBiC,WAAhB,eAAQzB,MAAR;AAAA,MAA6BC,YAA7B,eAA6BA,YAA7B;AAAA,MAA2CU,SAA3C,eAA2CA,SAA3C;AAAA,MAAsDO,SAAtD,eAAsDA,SAAtD;;AACA,qBACC/yB,kDAAU,CAACsxB,+DAAD,CADX;AAAA,MAAQiC,eAAR,gBAAQA,eAAR;AAAA,MAAyBC,eAAzB,gBAAyBA,eAAzB;AAAA,MAA0CC,eAA1C,gBAA0CA,eAA1C;AAAA,MAA2DzB,eAA3D,gBAA2DA,eAA3D;;AAGA,iBAAuB3jC,+CAAO,CAC7B;AAAA,WACCyB,+CAAM,CACLwjC,WADK,EAEL,UAACv+B,GAAD,EAAMuG,KAAN,EAAao4B,OAAb,EAAyB;AACxB,mGAAyB3+B,GAAzB;AAAA,UAAO4+B,KAAP;AAAA,UAAcC,OAAd;;AACAD,MAAAA,KAAK,CAACn4B,IAAN;AAAawO,QAAAA,GAAG,EAAE0pB;AAAlB,SAA8Bp4B,KAA9B;;AACAs4B,MAAAA,OAAO,CAACp4B,IAAR,eAAa,4DAAC,mDAAD;AAAU,WAAG,EAAEk4B,OAAf;AAAwB,WAAG,EAAEA;AAA7B,QAAb;;AACA,aAAO3+B,GAAP;AACA,KAPI,EAQL,CAAC,EAAD,EAAK,EAAL,CARK,CADP;AAAA,GAD6B,EAY7B,CAACu+B,WAAD,CAZ6B,CAA9B;AAAA;AAAA,MAAOf,IAAP;AAAA,MAAaV,MAAb;;AAcA,MAAI,CAACU,IAAI,CAACpd,MAAV,EAAkB,OAAO,IAAP;AAClB,sBACC,4DAAC,cAAD;AAAgB,aAAS,EAAEqd,SAA3B;AAAsC,aAAS,EAAEO;AAAjD,kBACC,4DAAC,KAAD;AAAO,cAAU,EAAC,OAAlB;AAA0B,kBAAc,EAAC,OAAzC;AAAiD,aAAS,EAAEP;AAA5D,kBACC,4DAAC,WAAD;AAAa,cAAU,EAAC;AAAxB,kBACC,4DAAC,qEAAD;AAAS,OAAG,EAAC;AAAb,kBACC,4DAAC,qEAAD;AAAS,SAAK,EAAE54B,CAAC,CAAC,YAAD,EAAe,YAAf,CAAjB;AAA+C,aAAS,EAAC;AAAzD,kBACC,4DAAC,UAAD;AAAY,QAAI,EAAC,sBAAjB;AAAwC,WAAO,EAAE45B;AAAjD,IADD,CADD,CADD,eAMC,4DAAC,QAAD;AACC,QAAI,EAAEjB,IADP;AAEC,aAAS,EAAEC,SAFZ;AAGC,gBAAY,EAAEV,YAHf;AAIC,mBAAe,EAAEE,eAJlB;AAKC,KAAC,EAAEp4B;AALJ,IAND,eAaC,4DAAC,OAAD;AAAS,WAAO,EAAE;AAAEsb,MAAAA,GAAG,EAAE;AAAP;AAAlB,KACE,yBAAA2c,MAAM,CAACC,YAAD,CAAN,uGAAsBpjB,OAAtB,gFAA+BmlB,aAA/B,kBACA,4DAAC,qEAAD;AAAS,SAAK,EAAC;AAAf,kBACC,4DAAC,wEAAD;AACC,QAAI,EAAE,sBADP;AAEC,WAAO,2BAAEhC,MAAM,CAACC,YAAD,CAAR,mFAAE,sBAAsBpjB,OAAxB,0DAAE,sBAA+BmlB;AAFzC,IADD,CAFF,eAcC,4DAAC,qEAAD;AAAS,SAAK,EAAC;AAAf,kBACC,4DAAC,qEAAD;AACC,SAAK,EACJrB,SAAS,GACN54B,CAAC,CAAC,cAAD,EAAiB,cAAjB,CADK,GAENA,CAAC,CAAC,eAAD,EAAkB,eAAlB,CAJN;AAMC,aAAS,EAAC;AANX,kBAQC,4DAAC,wEAAD;AACC,QAAI,EAAE44B,SAAS,GAAG,iBAAH,GAAuB,eADvC;AAEC,WAAO,EAAEe;AAFV,IARD,CADD,CAdD,eA6BC,4DAAC,qEAAD;AAAS,SAAK,EAAE35B,CAAC,CAAC,kBAAD,EAAqB,qBAArB,CAAjB;AAA8D,aAAS,EAAC;AAAxE,kBACC,4DAAC,wEAAD;AAAY,QAAI,EAAC,cAAjB;AAAgC,WAAO,EAAE65B;AAAzC,IADD,CA7BD,CAbD,CADD,eAgDC,4DAAC,qEAAD;AAAS,SAAK,EAAE;AAAE39B,MAAAA,MAAM,EAAE;AAAV;AAAhB,IAhDD,eAiDC,4DAAC,oBAAD;AAAsB,sBAAkB;AAAxC,KAA0C+7B,MAA1C,CAjDD,CADD,CADD;AAuDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChND;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMgB,cAAc,GAAG3f,wEAAH;AAAA;AAAA;AAAA,6DACR,UAAC3I,KAAD;AAAA,SAAYA,KAAK,CAACtQ,IAAN,GAAa,OAAb,GAAuB,MAAnC;AAAA,CADQ,CAApB;AAOe,SAASm4B,QAAT,OAA2B;AAAA,MAAPT,GAAO,QAAPA,GAAO;;AACzC,oBAAiC3xB,iDAAU,CAACqxB,6DAAD,CAA3C;AAAA,MAAQQ,MAAR,eAAQA,MAAR;AAAA,MAAgBC,YAAhB,eAAgBA,YAAhB;;AACA,kBAAkBvvB,+CAAQ,CAAC;AAAA,WAAMwxB,6DAAmB,CAAC;AAAEC,MAAAA,cAAc,EAAE,CAACnC,MAAM,CAACF,GAAD,CAAN,CAAYsC,GAAb;AAAlB,KAAD,CAAzB;AAAA,GAAD,CAA1B;AAAA;AAAA,MAAOpzB,OAAP;;AACA,qBAAwBb,iDAAU,CAACsxB,8DAAD,CAAlC;AAAA,MAAQ4C,WAAR,gBAAQA,WAAR;;AACA,MAAMC,UAAU,GAAG9+B,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQK,KAAf;AAAA,GAAD,CAA9B;AACA,MAAM84B,aAAa,GAAG9zB,6DAAU,EAAhC;AACA,MAAMtF,MAAM,GAAG3M,8CAAO,CACrB;AAAA,WACC+G,2CAAG,CAAC++B,UAAD,EAAa,UAACpa,IAAD;AAAA,0BACf,2DAAC,oDAAD;AAAO,WAAG,EAAEA,IAAI,CAACrgB,EAAjB;AAAqB,YAAI,aAAMqgB,IAAI,CAAC9iB,KAAX;AAAzB,sBACC,2DAAC,sEAAD;AAAoB,WAAG,EAAE8iB,IAAI,CAACrgB,EAA9B;AAAkC,WAAG,EAAEqgB,IAAI,CAAC3qB;AAA5C,sBACC,2DAAC,IAAD,CAAM,SAAN;AAAgB,qBAAa,EAAEglC;AAA/B,QADD,CADD,CADe;AAAA,KAAb,CADJ;AAAA,GADqB,EASrB,CAACD,UAAD,EAAaC,aAAb,CATqB,CAAtB;AAYAlzB,EAAAA,gDAAS,CAAC,YAAM;AACf,QAAMmzB,QAAQ,GAAGxzB,OAAO,CAACyzB,MAAR,CAAe,iBAAkB;AAAA,UAAfzsB,QAAe,SAAfA,QAAe;;AACjD,UAAI,UAAGA,QAAQ,CAACE,QAAZ,SAAuBF,QAAQ,CAACQ,MAAhC,SAAyCR,QAAQ,CAACS,IAAlD,MAA6DupB,MAAM,CAACF,GAAD,CAAN,CAAYsC,GAA7E,EAAkF;AACjFC,QAAAA,WAAW,CAACvC,GAAD,YAAS9pB,QAAQ,CAACE,QAAlB,SAA6BF,QAAQ,CAACQ,MAAtC,SAA+CR,QAAQ,CAACS,IAAxD,EAAX;AACA;AACD,KAJgB,CAAjB;AAKA,WAAO,YAAM;AACZ+rB,MAAAA,QAAQ;AACR,KAFD;AAGA,GATQ,EASN,CAACxC,MAAD,EAAShxB,OAAT,EAAkB8wB,GAAlB,EAAuBuC,WAAvB,CATM,CAAT;AAWAhzB,EAAAA,gDAAS,CAAC,YAAM;AACf,QAAMqzB,CAAC,GAAG1zB,OAAO,CAACgH,QAAlB;;AACA,QAAI,UAAG0sB,CAAC,CAACxsB,QAAL,SAAgBwsB,CAAC,CAAClsB,MAAlB,SAA2BksB,CAAC,CAACjsB,IAA7B,MAAwCupB,MAAM,CAACF,GAAD,CAAN,CAAYsC,GAAxD,EAA6D;AAC5DpzB,MAAAA,OAAO,CAACrF,IAAR,CAAaq2B,MAAM,CAACF,GAAD,CAAN,CAAYsC,GAAzB;AACA;AACD,GALQ,EAKN,CAACtC,GAAD,EAAME,MAAN,EAAchxB,OAAd,CALM,CAAT;AAOA,sBACC,2DAAC,cAAD;AAAgB,QAAI,EAAEixB,YAAY,KAAKH;AAAvC,kBACC,2DAAC,qDAAD;AAAQ,WAAO,EAAE9wB;AAAjB,KAA2B7F,MAA3B,CADD,CADD;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAASy5B,YAAT,GAAwB;AACvB,SAAOC,MAAM,CAAC7L,IAAI,CAAC8L,GAAL,MAAczH,IAAI,CAAC0H,KAAL,CAAW1H,IAAI,CAAC2H,MAAL,KAAgB,IAA3B,IAAmC,CAAjD,CAAD,CAAb;AACA;;AACD,IAAM/3B,OAAO,GAAG,SAAVA,OAAU,CAACI,KAAD,EAAQwU,MAAR,EAAmB;AAClC,UAAQA,MAAM,CAACnE,IAAf;AACC,SAAK,WAAL;AAAkB;AACjB,YAAMunB,WAAW,mCACb53B,KADa;AAEhB20B,UAAAA,MAAM,uGACJngB,MAAM,CAACkD,OAAP,CAAemgB,QADX,EACsB;AAC1Bd,YAAAA,GAAG,EAAEviB,MAAM,CAACkD,OAAP,CAAeqf,GADM;AAE1B7sB,YAAAA,KAAK,EAAEsK,MAAM,CAACkD,OAAP,CAAexN,KAFI;AAG1BsH,YAAAA,OAAO,EAAEgD,MAAM,CAACkD,OAAP,CAAelG,OAHE;AAI1Btf,YAAAA,GAAG,EAAEsiB,MAAM,CAACkD,OAAP,CAAexlB;AAJM,WADtB,GAOF8N,KAAK,CAAC20B,MAPJ,CAFU;AAWhBC,UAAAA,YAAY,EAAEpgB,MAAM,CAACkD,OAAP,CAAemgB,QAXb;AAYhBhC,UAAAA,SAAS,EAAE;AAZK,UAAjB;;AAcA,eAAO+B,WAAP;AACA;;AACD,SAAK,cAAL;AAAqB;AACpB,YAAIE,eAAe,GAAG93B,KAAK,CAAC40B,YAA5B;AACA,YAAMmD,SAAS,GAAG5yB,MAAM,CAAC2K,IAAP,CAAY9P,KAAK,CAAC20B,MAAlB,CAAlB;AACA,YAAMqD,aAAa,GAAIxjB,MAAM,CAACkD,OAAP,IAAkBlD,MAAM,CAACkD,OAAP,CAAe5K,GAAlC,IAA0C9M,KAAK,CAAC40B,YAAtE;;AACA,YAAI50B,KAAK,CAAC40B,YAAN,KAAuBoD,aAA3B,EAA0C;AACzC,cAAMC,iBAAiB,GAAGF,SAAS,CAAC3Y,OAAV,CAAkB4Y,aAAlB,CAA1B;AACAF,UAAAA,eAAe,GAAGC,SAAS,CAACE,iBAAiB,GAAG,CAApB,GAAwBA,iBAAiB,GAAG,CAA5C,GAAgD,CAAjD,CAA3B;AACA;;AACD,+CACIj4B,KADJ;AAEC20B,UAAAA,MAAM,EAAE2C,+CAAM,CAACt3B,KAAK,CAAC20B,MAAP,EAAe,UAACv2B,KAAD,EAAQ0O,GAAR;AAAA,mBAAgBA,GAAG,KAAKkrB,aAAxB;AAAA,WAAf,CAFf;AAGC1C,UAAAA,SAAS,EAAEyC,SAAS,CAAC9f,MAAV,KAAqB,CAArB,GAAyB,KAAzB,GAAiCjY,KAAK,CAACs1B,SAHnD;AAICV,UAAAA,YAAY,EAAEkD;AAJf;AAMA;;AACD,SAAK,mBAAL;AAA0B;AACzB,+CACI93B,KADJ;AAEC20B,UAAAA,MAAM,EAAE,EAFT;AAGCW,UAAAA,SAAS,EAAE;AAHZ;AAKA;;AACD,SAAK,cAAL;AAAqB;AACpB,YAAI,CAACt1B,KAAK,CAAC20B,MAAN,CAAangB,MAAM,CAACkD,OAAP,CAAe5K,GAA5B,CAAL,EAAuC,OAAO9M,KAAP;;AACvC,YAAMk4B,aAAa,qBAAQl4B,KAAK,CAAC20B,MAAd,CAAnB;;AACA,YAAIngB,MAAM,CAACkD,OAAP,CAAeqf,GAAnB,EAAwBmB,aAAa,CAAC1jB,MAAM,CAACkD,OAAP,CAAe5K,GAAhB,CAAb,CAAkCiqB,GAAlC,GAAwCviB,MAAM,CAACkD,OAAP,CAAeqf,GAAvD;AACxB,YAAIviB,MAAM,CAACkD,OAAP,CAAexN,KAAnB,EAA0BguB,aAAa,CAAC1jB,MAAM,CAACkD,OAAP,CAAe5K,GAAhB,CAAb,CAAkC5C,KAAlC,GAA0CsK,MAAM,CAACkD,OAAP,CAAexN,KAAzD;AAC1B,+CACIlK,KADJ;AAEC20B,UAAAA,MAAM,EAAEuD;AAFT;AAIA;;AACD,SAAK,sBAAL;AAA6B;AAC5B,YAAMA,cAAa,qBAAQl4B,KAAK,CAAC20B,MAAd,CAAnB;;AACA,YAAIngB,MAAM,CAACkD,OAAP,CAAeqf,GAAnB,EAAwBmB,cAAa,CAACl4B,KAAK,CAAC40B,YAAP,CAAb,CAAkCmC,GAAlC,GAAwCviB,MAAM,CAACkD,OAAP,CAAeqf,GAAvD;AACxB,YAAIviB,MAAM,CAACkD,OAAP,CAAexN,KAAnB,EAA0BguB,cAAa,CAACl4B,KAAK,CAAC40B,YAAP,CAAb,CAAkC1qB,KAAlC,GAA0CsK,MAAM,CAACkD,OAAP,CAAexN,KAAzD;AAC1B,+CACIlK,KADJ;AAEC20B,UAAAA,MAAM,EAAEuD;AAFT;AAIA;;AACD,SAAK,mBAAL;AAA0B;AACzB,+CACIl4B,KADJ;AAEC40B,UAAAA,YAAY,EAAEpgB,MAAM,CAACkD,OAAP,CAAe5K;AAF9B;AAIA;;AACD,SAAK,mBAAL;AAA0B;AACzB,+CACI9M,KADJ;AAECs1B,UAAAA,SAAS,EAAE,CAACt1B,KAAK,CAACs1B;AAFnB;AAIA;;AACD,SAAK,kBAAL;AAAyB;AACxB,+CACIt1B,KADJ;AAEC61B,UAAAA,SAAS,EAAE,CAAC71B,KAAK,CAAC61B;AAFnB;AAIA;;AACD;AACCljC,MAAAA,OAAO,CAACqa,IAAR,CAAa,0CAAb;AACA,aAAOhN,KAAP;AA/EF;AAiFA,CAlFD;;AAoFe,SAASgD,oBAAT,OAA4C;AAAA,MAAZjR,QAAY,QAAZA,QAAY;;AAC1D,wBAAYkS,8DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,oBAA+B+Y,kDAAU,CAAC7V,OAAD,EAAU;AAClD+0B,IAAAA,MAAM,EAAE,EAD0C;AAElDC,IAAAA,YAAY,EAAE,CAFoC;AAGlDU,IAAAA,SAAS,EAAE,KAHuC;AAIlDO,IAAAA,SAAS,EAAE;AAJuC,GAAV,CAAzC;AAAA;AAAA,MAAOsC,UAAP;AAAA,MAAmBvf,QAAnB;;AAOA,MAAM3O,SAAQ,GAAG1X,mDAAW,CAC3B,UAACwkC,GAAD,EAAMvlB,OAAN,EAAetf,GAAf,EAAuB;AAAA;;AACtB,QAAM2lC,QAAQ,GAAGN,YAAY,EAA7B;AACA3e,IAAAA,QAAQ,CAAC;AACRvI,MAAAA,IAAI,EAAE,WADE;AAERqH,MAAAA,OAAO,EAAE;AACRqf,QAAAA,GAAG,aAAMzsB,6CAAI,CAACysB,GAAD,EAAM,GAAN,CAAV,CADK;AAER7sB,QAAAA,KAAK,oBAAEsH,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEtH,KAAX,2DAAoBxN,CAAC,CAAC,SAAD,EAAY,SAAZ,CAFlB;AAGR8U,QAAAA,OAAO,EAAPA,OAHQ;AAIRqmB,QAAAA,QAAQ,EAARA,QAJQ;AAKR3lC,QAAAA,GAAG,EAAHA;AALQ;AAFD,KAAD,CAAR;AAUA,WAAO2lC,QAAP;AACA,GAd0B,EAe3B,CAACn7B,CAAD,CAf2B,CAA5B;;AAiBA,MAAMm4B,WAAW,GAAGtiC,mDAAW,CAAC,UAACua,GAAD,EAAS;AACxC8L,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE,cAAR;AAAwBqH,MAAAA,OAAO,EAAE;AAAE5K,QAAAA,GAAG,EAAHA;AAAF;AAAjC,KAAD,CAAR;AACA,GAF8B,EAE5B,EAF4B,CAA/B;AAGA,MAAMsrB,kBAAkB,GAAG7lC,mDAAW,CAAC,YAAM;AAC5CqmB,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE;AAAR,KAAD,CAAR;AACA,GAFqC,EAEnC,EAFmC,CAAtC;AAGA,MAAMkmB,eAAe,GAAGhkC,mDAAW,CAAC,YAAM;AACzCqmB,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE;AAAR,KAAD,CAAR;AACA,GAFkC,EAEhC,EAFgC,CAAnC;AAGA,MAAM2mB,WAAW,GAAGzkC,mDAAW,CAAC,UAACua,GAAD,EAAMiqB,GAAN,EAAW7sB,KAAX,EAAqB;AACpD0O,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE,cAAR;AAAwBqH,MAAAA,OAAO,EAAE;AAAE5K,QAAAA,GAAG,EAAHA,GAAF;AAAOiqB,QAAAA,GAAG,EAAHA,GAAP;AAAY7sB,QAAAA,KAAK,EAALA;AAAZ;AAAjC,KAAD,CAAR;AACA,GAF8B,EAE5B,EAF4B,CAA/B;AAGA,MAAMmuB,kBAAkB,GAAG9lC,mDAAW,CAAC,UAACwkC,GAAD,EAAM7sB,KAAN,EAAgB;AACtD0O,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE,sBAAR;AAAgCqH,MAAAA,OAAO,EAAE;AAAEqf,QAAAA,GAAG,EAAHA,GAAF;AAAO7sB,QAAAA,KAAK,EAALA;AAAP;AAAzC,KAAD,CAAR;AACA,GAFqC,EAEnC,EAFmC,CAAtC;AAGA,MAAM4qB,eAAe,GAAGviC,mDAAW,CAAC,UAACua,GAAD,EAAS;AAC5C8L,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE,mBAAR;AAA6BqH,MAAAA,OAAO,EAAE;AAAE5K,QAAAA,GAAG,EAAHA;AAAF;AAAtC,KAAD,CAAR;AACA,GAFkC,EAEhC,EAFgC,CAAnC;AAGA,MAAMupB,eAAe,GAAG9jC,mDAAW,CAAC,YAAM;AACzCqmB,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE;AAAR,KAAD,CAAR;AACA,GAFkC,EAEhC,EAFgC,CAAnC;AAGA,MAAMimB,eAAe,GAAG/jC,mDAAW,CAAC,YAAM;AACzCqmB,IAAAA,QAAQ,CAAC;AAAEvI,MAAAA,IAAI,EAAE;AAAR,KAAD,CAAR;AACA,GAFkC,EAEhC,EAFgC,CAAnC;AAIA,MAAMioB,YAAY,GAAGnnC,+CAAO,CAC3B;AAAA,WAAO;AACN8Y,MAAAA,QAAQ,EAARA,SADM;AAEN4qB,MAAAA,WAAW,EAAXA,WAFM;AAGNuD,MAAAA,kBAAkB,EAAlBA,kBAHM;AAIN7B,MAAAA,eAAe,EAAfA,eAJM;AAKNS,MAAAA,WAAW,EAAXA,WALM;AAMNlC,MAAAA,eAAe,EAAfA,eANM;AAONuB,MAAAA,eAAe,EAAfA,eAPM;AAQNC,MAAAA,eAAe,EAAfA,eARM;AASN+B,MAAAA,kBAAkB,EAAlBA;AATM,KAAP;AAAA,GAD2B,EAY3B,CACCpuB,SADD,EAECssB,eAFD,EAGC1B,WAHD,EAICuD,kBAJD,EAKCtD,eALD,EAMCuB,eAND,EAOCC,eAPD,EAQCU,WARD,EASCqB,kBATD,CAZ2B,CAA5B;AAyBA,MAAME,WAAW,GAAGpnC,+CAAO,CAC1B;AAAA,WAAO;AACNwG,MAAAA,yBAAyB,EAAE;AAC1BsS,QAAAA,QAAQ,EAAE,kBAACnY,GAAD;AAAA,iBAAS,UAACoZ,IAAD,EAAOsG,OAAP,EAAmB;AAAA;;AACrCvH,YAAAA,SAAQ,CAACiB,IAAD,EAAOsG,OAAP,kBAAgBA,OAAhB,aAAgBA,OAAhB,uBAAgBA,OAAO,CAAEtf,GAAzB,uDAAgCJ,GAAhC,CAAR;AACA,WAFS;AAAA;AADgB,OADrB;AAMN8F,MAAAA,SAAS,EAAE;AACVi9B,QAAAA,WAAW,EAAXA,WADU;AAEVuD,QAAAA,kBAAkB,EAAlBA,kBAFU;AAGVpB,QAAAA,WAAW,EAAXA,WAHU;AAIVlC,QAAAA,eAAe,EAAfA,eAJU;AAKVuD,QAAAA,kBAAkB,EAAlBA,kBALU;AAMVG,QAAAA,oBAAoB,EAAElC;AANZ;AANL,KAAP;AAAA,GAD0B,EAgB1B,CACCrsB,SADD,EAEC4qB,WAFD,EAGCuD,kBAHD,EAICtD,eAJD,EAKCwB,eALD,EAMCU,WAND,EAOCqB,kBAPD,CAhB0B,CAA3B;AA0BA90B,EAAAA,iEAAS,CAACg1B,WAAD,CAAT;AAEA,sBACC,4DAAC,uEAAD;AAA4B,SAAK,EAAEJ;AAAnC,kBACC,4DAAC,wEAAD;AAA6B,SAAK,EAAEG;AAApC,KAAmDvmC,QAAnD,CADD,CADD;AAKA;;;;;;;;;;;;;;;;;;AChND;AACA;AACA;AACA;AACA;AAEA;AAEA,IAAMoiC,iBAAiB,gBAAGtxB,oDAAa,CAAC;AACvC8xB,EAAAA,MAAM,EAAE,EAD+B;AAEvCC,EAAAA,YAAY,EAAE,CAFyB;AAGvCU,EAAAA,SAAS,EAAE,KAH4B;AAIvCO,EAAAA,SAAS,EAAE;AAJ4B,CAAD,CAAvC;AAMA,IAAMzB,kBAAkB,gBAAGvxB,oDAAa,CAAC;AACxCoH,EAAAA,QAAQ,EAAE,kBAAC8sB,GAAD,EAAM7sB,KAAN,EAAasH,OAAb;AAAA,WAAyBpB,SAAzB;AAAA,GAD8B;AAExCykB,EAAAA,WAAW,EAAE,qBAAC/nB,GAAD;AAAA,WAASsD,SAAT;AAAA,GAF2B;AAGxCgoB,EAAAA,kBAAkB,EAAE;AAAA,WAAMhoB,SAAN;AAAA,GAHoB;AAIxCmmB,EAAAA,eAAe,EAAE;AAAA,WAAMnmB,SAAN;AAAA,GAJuB;AAKxC4mB,EAAAA,WAAW,EAAE,qBAAClqB,GAAD,EAAMiqB,GAAN,EAAW7sB,KAAX;AAAA,WAAqBkG,SAArB;AAAA,GAL2B;AAMxC0kB,EAAAA,eAAe,EAAE,yBAAChoB,GAAD;AAAA,WAASsD,SAAT;AAAA,GANuB;AAOxCioB,EAAAA,kBAAkB,EAAE,4BAACtB,GAAD,EAAM7sB,KAAN;AAAA,WAAgBkG,SAAhB;AAAA,GAPoB;AAQxCimB,EAAAA,eAAe,EAAE;AAAA,WAAMjmB,SAAN;AAAA,GARuB;AASxCkmB,EAAAA,eAAe,EAAE;AAAA,WAAMlmB,SAAN;AAAA;AATuB,CAAD,CAAxC;;;;;;;;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;CAEA;AACA;;AACA;AAEO,IAAM/a,sBAAsB,GAClC,SADYA,sBACZ,CAACgD,KAAD;AAAA,SAAmB,YAAqE;AACvF,sBAAqByK,iDAAU,CAACsxB,8DAAD,CAA/B;AAAA,QAAQnqB,QAAR,eAAQA,QAAR;;AACA,QAAMwuB,QAAQ,GAAGlmC,kDAAW,CAC3B,UAAC2Y,IAAD,EAAesG,OAAf,EAAwD;AAAA;;AACvDvH,MAAAA,QAAQ,CAACiB,IAAD,EAAOsG,OAAP,UAAiBA,OAAjB,aAAiBA,OAAjB,uBAAiBA,OAAD,CAA+Btf,GAA/C,uCAAsDmG,KAAtD,CAAR;AACA,KAH0B,EAI3B,CAAC4R,QAAD,CAJ2B,CAA5B;AAMA,WAAOwuB,QAAP;AACA,GATD;AAAA,CADM;AAYA,SAASjjC,qBAAT,GAAuE;AAC7E,qBAA+BsN,iDAAU,CAACsxB,8DAAD,CAAzC;AAAA,MAAQiE,kBAAR,gBAAQA,kBAAR;;AACA,SAAOA,kBAAP;AACA;AAEM,SAAS9iC,qBAAT,GAA6C;AACnD,qBAA+BuN,iDAAU,CAACsxB,8DAAD,CAAzC;AAAA,MAAQgE,kBAAR,gBAAQA,kBAAR;;AACA,SAAOA,kBAAP;AACA;AAEM,SAAS9iC,cAAT,GAAmC;AACzC,MAAMkc,OAAY,GAAG1O,iDAAU,CAACqxB,6DAAD,CAA/B;;AACA,MAAI3iB,OAAJ,EAAa;AAAA;;AACZ,8BAAOA,OAAO,CAACmjB,MAAf,6EAAO,gBAAiBnjB,OAAO,CAACojB,YAAzB,CAAP,0DAAO,sBAAwCpjB,OAA/C;AACA;;AACD,SAAOpB,SAAP;AACA;;;;;;;;;;;;;;;;;;;;ACtCD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA,IAAMmkB,eAAe,GAAGve,wEAAH;AAAA;AAAA;AAAA,8KAOA;AAAA,MAAGpP,KAAH,QAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcwT,KAAd,CAAoBtT,OAA3C;AAAA,CAPA,EAUC;AAAA,MAAG3P,KAAH,SAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcwT,KAAd,CAAoB9O,KAA3C;AAAA,CAVD,CAArB;AAcA,IAAM2d,MAAM,GAAG1iB,wEAAH;AAAA;AAAA;AAAA,mUAYS;AAAA,MAAGpP,KAAH,SAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcwT,KAAd,CAAoBtT,OAA3C;AAAA,CAZT,EAcS;AAAA,MAAGuB,IAAH,SAAGA,IAAH;AAAA,SAAuBA,IAAI,GAAG,CAAH,GAAO,CAAC,CAAnC;AAAA,CAdT,EAgBU;AAAA,MAAGlR,KAAH,SAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcwT,KAAd,CAAoB9O,KAA3C;AAAA,CAhBV,EAmBU;AAAA,MAAGnU,KAAH,SAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcwT,KAAd,CAAoBrO,MAA3C;AAAA,CAnBV,CAAZ;AAuBO,IAAMmd,SAAoE,GAAG,SAAvEA,SAAuE;AAAA,MACnF7gB,IADmF,SACnFA,IADmF;AAAA,MAEnF4U,OAFmF,SAEnFA,OAFmF;AAAA,sBAInF,2DAAC,eAAD,qBACC,2DAAC,MAAD;AAAQ,WAAO,EAAEA,OAAjB;AAA0B,QAAI,EAAE5U;AAAhC,kBACC,2DAAC,iEAAD;AAAM,QAAI,EAAC,QAAX;AAAoB,QAAI,EAAC;AAAzB,IADD,CADD,CAJmF;AAAA,CAA7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA,IAAMghB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC3BC,OAD2B,EAE3B9d,WAF2B,EAGuB;AAClD,MAAM7Z,IAAI,GAAG8U,uDAAU,EAAvB;AAEA,MAAM8iB,KAAK,GAAG7nC,8CAAO,CAAC;AAAA,WAAMynC,+CAAO,CAACG,OAAD,EAAU,OAAV,CAAb;AAAA,GAAD,EAAkC,CAACA,OAAD,CAAlC,CAArB;AACA,SAAO5nC,8CAAO,CACb;AAAA;;AAAA,oHACK6nC,KAAK,qBAAC/d,WAAD,aAACA,WAAD,uBAACA,WAAW,CAAE/oB,GAAd,+DAAqB,EAArB,CADV,2CACsC,EADtC,wFAEIU,8CAAM,CACRwO,IADQ,EAER,UAACvJ,GAAD,EAAM3F,GAAN,EAAWge,CAAX,EAAiB;AAAA;;AAChB,UAAIhe,GAAG,CAACoF,IAAJ,MAAa2jB,WAAb,aAAaA,WAAb,uBAAaA,WAAW,CAAE/oB,GAA1B,KAAiC,oBAAA8mC,KAAK,CAAC9mC,GAAG,CAACoF,IAAL,CAAL,oEAAiB2gB,MAAjB,IAA0B,CAA/D,EAAkE;AACjEpgB,QAAAA,GAAG,CAACyG,IAAJ,OAAAzG,GAAG,GAAM;AAAEwY,UAAAA,IAAI,EAAE,SAAR;AAAmBxT,UAAAA,KAAK,EAAE,EAA1B;AAA8BL,UAAAA,EAAE,oBAAa0T,CAAb;AAAhC,SAAN,8FAA6D8oB,KAAK,CAAC9mC,GAAG,CAACoF,IAAL,CAAlE,GAAH;AACA;;AACD,aAAOO,GAAP;AACA,KAPO,EAQR,EARQ,CAFV;AAAA,GADa,EAcb,CAACojB,WAAD,aAACA,WAAD,uBAACA,WAAW,CAAE/oB,GAAd,EAAmBkP,IAAnB,EAAyB43B,KAAzB,CAda,CAAd;AAgBA,CAvBD;;AAyBO,IAAMC,cAA8C,GAAG,SAAjDA,cAAiD,OAAqB;AAAA;;AAAA,MAAlBhe,WAAkB,QAAlBA,WAAkB;;AAClF,wBAAYhX,8DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,MAAMiO,QAAQ,GAAGJ,8DAAW,EAA5B;AACA,MAAMwuB,OAAO,GAAGxkC,qEAAU,CAAC;AAAE0mB,IAAAA,WAAW,EAAXA,WAAF;AAAetQ,IAAAA,QAAQ,EAARA;AAAf,GAAD,EAA4BjC,wDAA5B,CAA1B;;AACA,kBAAwBrD,+CAAQ,CAAC,KAAD,CAAhC;AAAA;AAAA,MAAOyS,IAAP;AAAA,MAAawD,OAAb;;AACA,MAAM4d,aAAa,GAAG/nC,8CAAO,CAC5B;AAAA;;AAAA,WACC4nC,OADD,aACCA,OADD,wCACCA,OAAO,CAAE5uB,IADV,kDACC,mBAAA4uB,OAAO,EACN,UAACI,CAAD;AAAA,aAAO,CAACA,CAAC,CAACC,KAAF,MAAYne,WAAZ,aAAYA,WAAZ,uBAAYA,WAAW,CAAEze,EAAzB,KAA+B28B,CAAC,CAACC,KAAF,MAAYne,WAAZ,aAAYA,WAAZ,uBAAYA,WAAW,CAAE/oB,GAAzB,CAAhC,KAAiEinC,CAAC,CAACtiB,OAA1E;AAAA,KADM,CADR;AAAA,GAD4B,EAK5B,CAACkiB,OAAD,EAAU9d,WAAV,aAAUA,WAAV,uBAAUA,WAAW,CAAE/oB,GAAvB,EAA4B+oB,WAA5B,aAA4BA,WAA5B,uBAA4BA,WAAW,CAAEze,EAAzC,CAL4B,CAA7B;AAOA,MAAM68B,gBAAgB,GAAGP,mBAAmB,CAACC,OAAD,EAAU9d,WAAV,CAA5C;AAEA,MAAMqL,OAAO,GAAG/zB,kDAAW,CAAC,YAAM;AACjC+oB,IAAAA,OAAO,CAAC,KAAD,CAAP;AACA,GAF0B,EAExB,EAFwB,CAA3B;AAGA,MAAMge,MAAM,GAAG/mC,kDAAW,CAAC,YAAM;AAChC+oB,IAAAA,OAAO,CAAC,IAAD,CAAP;AACA,GAFyB,EAEvB,EAFuB,CAA1B;AAGA,SAAO4d,aAAa,gBACnB,2DAAC,yEAAD;AACC,SAAK,EAAE;AAAEtgC,MAAAA,MAAM,EAAE;AAAV,KADR;AAEC,cAAU,EAAC,SAFZ;AAGC,SAAK,0BAAEsgC,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEr8B,KAAjB,uEAA0BH,CAAC,CAAC,KAAD,EAAQ,KAAR,CAHjC;AAIC,WAAO,EAAEw8B,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEzd,KAJzB;AAKC,SAAK,EAAE4d,gBALR;AAMC,YAAQ,EAAE,CAACH,aAAD,KAAkBA,aAAlB,aAAkBA,aAAlB,uBAAkBA,aAAa,CAAEjiB,QAAjC;AANX,IADmB,gBAUnB,2DAAC,sEAAD;AAAU,SAAK,EAAEoiB,gBAAjB;AAAmC,WAAO,EAAE/S,OAA5C;AAAqD,UAAM,EAAEgT;AAA7D,kBACC,2DAAC,oEAAD;AACC,SAAK,EAAE;AAAE1gC,MAAAA,MAAM,EAAE;AAAV,KADR;AAEC,cAAU,EAAC,SAFZ;AAGC,SAAK,EAAEygC,gBAHR;AAIC,SAAK,EAAE38B,CAAC,CAAC,KAAD,EAAQ,KAAR,CAJT;AAKC,QAAI,EAAEob,IAAI,GAAG,WAAH,GAAiB;AAL5B,IADD,CAVD;AAoBA,CAxCM;;;;;;;;;;;;;;;;;;;;;;ACzCP;AACA;AACA;AACA;AACA;;AAEA;CAIA;AACA;;AACA;AAEO,SAAS1jB,WAAT,GAAgC;AACtC,oBAAqB0O,iDAAU,CAACy2B,sDAAD,CAA/B;AAAA,MAAQC,QAAR,eAAQA,QAAR;;AACA,SAAOA,QAAP;AACA;AAEM,SAASnlC,eAAT,CAA4ByY,GAA5B,EAAyC2sB,YAAzC,EAA4F;AAClG,kBAAsCp0B,+CAAQ,CAAI,YAAM;AACvD,QAAI;AACH,UAAMsI,IAAI,GAAGlO,MAAM,CAACi6B,YAAP,CAAoBC,OAApB,CAA4B7sB,GAA5B,CAAb;AACA,aAAOa,IAAI,GAAG0F,IAAI,CAACumB,KAAL,CAAWjsB,IAAX,CAAH,GAAsB8rB,YAAjC;AACA,KAHD,CAGE,OAAO/mC,KAAP,EAAc;AACfC,MAAAA,OAAO,CAACD,KAAR,CAAcA,KAAd;AACA,aAAO+mC,YAAP;AACA;AACD,GAR6C,CAA9C;AAAA;AAAA,MAAOjc,WAAP;AAAA,MAAoBC,cAApB;;AASA,MAAMoc,QAAQ,GAAG,SAAXA,QAAW,CAACtsB,KAAD,EAAqC;AACrD,QAAI;AACH,UAAMusB,YAAY,GAAGvsB,KAAK,YAAYwsB,QAAjB,GAA4BxsB,KAAK,CAACiQ,WAAD,CAAjC,GAAiDjQ,KAAtE;AACAkQ,MAAAA,cAAc,CAACqc,YAAD,CAAd;AACAJ,MAAAA,YAAY,CAACM,OAAb,CAAqBltB,GAArB,EAA0BuG,IAAI,CAACC,SAAL,CAAewmB,YAAf,CAA1B;AACA,KAJD,CAIE,OAAOpnC,KAAP,EAAc;AACfC,MAAAA,OAAO,CAACD,KAAR,CAAcA,KAAd;AACA;AACD,GARD;;AASA,SAAO,CAAC8qB,WAAD,EAAcqc,QAAd,CAAP;AACA;;;;;;;;;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA,IAAMK,oBAA+C,GAAG,SAAlDA,oBAAkD,OAAkB;AAAA,MAAfnoC,QAAe,QAAfA,QAAe;AACzE,MAAMooC,UAAU,GAAGF,8EAAa,EAAhC;AAEA,MAAM1sB,KAAK,GAAGpc,8CAAO,CACpB;AAAA,WAAO;AACNqoC,MAAAA,QAAQ,EAAEW,UAAU,KAAK;AADnB,KAAP;AAAA,GADoB,EAIpB,CAACA,UAAD,CAJoB,CAArB;AAOA,sBAAO,2DAAC,+DAAD;AAAuB,SAAK,EAAE5sB;AAA9B,KAAsCxb,QAAtC,CAAP;AACA,CAXD;;AAaA,iEAAemoC,oBAAf;;;;;;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AAEA;AAEA,IAAMX,YAAY,gBAAG12B,oDAAa,CAAC;AAAE22B,EAAAA,QAAQ,EAAE;AAAZ,CAAD,CAAlC;AAEA,iEAAeD,YAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AAEA;AACA;AAQA;AACA;AACA;AACA;;AAGA,IAAMe,WAIJ,GAAG,SAJCA,WAID,OAAmE;AAAA,MAAhErf,WAAgE,QAAhEA,WAAgE;AAAA,MAAnDsf,eAAmD,QAAnDA,eAAmD;AAAA,MAAlCC,iBAAkC,QAAlCA,iBAAkC;AAAA,MAAfzoC,QAAe,QAAfA,QAAe;AACvE,MAAMooC,UAAU,GAAGF,8EAAa,EAAhC;AACA,MAAMQ,aAAa,GAAGtiC,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQoN,MAAR,CAAe8M,MAAf,GAAwB,CAA/B;AAAA,GAAD,CAAjC;AACA,sBACC,2DAAC,sEAAD;AACC,eAAW,EAAC,YADb;AAEC,cAAU,EAAC,OAFZ;AAGC,SAAK,EAAC,MAHP;AAIC,UAAM,EAAC,MAJR;AAKC,aAAS,EAAC,MALX;AAMC,aAAS,EAAC,MANX;AAOC,iBAAa,EAAC,eAPf;AAQC,WAAO,EAAE;AACRyE,MAAAA,UAAU,EAAEyd,UAAU,KAAK,SAAf,GAA2B,OAA3B,GAAqC,YADzC;AAERpgB,MAAAA,QAAQ,EAAE;AAFF;AARV,kBAaC,2DAAC,oEAAD,qBACC,2DAAC,sEAAD;AACC,eAAW,EAAC,YADb;AAEC,SAAK,EAAC,KAFP;AAGC,YAAQ,EAAC,KAHV;AAIC,iBAAa,EAAC;AAJf,kBAMC,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,kBACC,2DAAC,oEAAD;AAAS,SAAK,EAAC;AAAf,kBACC,2DAAC,uEAAD;AAAY,QAAI,EAAEwgB,eAAe,GAAG,OAAH,GAAa,MAA9C;AAAsD,WAAO,EAAEC;AAA/D,IADD,CADD,CAND,eAWC,2DAAC,sEAAD;AAAW,SAAK,EAAE,GAAlB;AAAuB,UAAM,EAAE,EAA/B;AAAmC,kBAAc,EAAC;AAAlD,kBACC,2DAAC,yDAAD;AAAM,UAAM,EAAC;AAAb,IADD,CAXD,eAcC,2DAAC,oEAAD;AAAS,cAAU,EAAC;AAApB,kBACC,2DAAC,4DAAD;AAAgB,eAAW,EAAEvf;AAA7B,IADD,CAdD,eAiBC,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,KACEwf,aAAa,iBACb,2DAAC,yDAAD;AACC,eAAW,EAAExf,WADd,CAEC;AACA;;AAHD,IAFF,CAjBD,CADD,eA4BC,2DAAC,sEAAD;AAAW,eAAW,EAAC,YAAvB;AAAoC,SAAK,EAAC,KAA1C;AAAgD,iBAAa,EAAC;AAA9D,kBACC,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,KAA4BlpB,QAA5B,CADD,eAEC,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,kBACC,2DAAC,sEAAD;AACC,eAAW,EAAC,YADb;AAEC,iBAAa,EAAC,UAFf;AAGC,WAAO,EAAE;AAAE6c,MAAAA,KAAK,EAAE;AAAT;AAHV,IADD,CAFD,CA5BD,CAbD,CADD;AA2DA,CAlED;;AAmEA,iEAAe0rB,WAAf;;;;;;;;;;;;;;;;;;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,MAAGhtB,IAAH,QAAGA,IAAH;AAAA,SACxBA,IAAI,CAACitB,SAAL,gBACC,2DAAC,sEAAD;AAAoB,OAAG,EAAEjtB,IAAI,CAACnR;AAA9B,kBACC,2DAAC,IAAD,CAAM,SAAN,OADD,CADD,GAII,IALoB;AAAA,CAAzB;;AAOe,SAASq+B,cAAT,QAAuD;AAAA,MAA7BN,eAA6B,SAA7BA,eAA6B;AAAA,MAAZO,QAAY,SAAZA,QAAY;AACrE,MAAMn3B,OAAO,GAAGP,4DAAU,EAA1B;AACA,MAAMrF,KAAK,GAAG5F,uDAAW,CAAC,UAACK,CAAD;AAAA,WACzB5F,8CAAM,CACL4F,CAAC,CAACsF,MADG,EAEL,UAACjG,GAAD,EAAMqP,GAAN,EAAc;AACb,UAAM2P,OAAO,GAAG1M,4CAAI,CAAC3R,CAAC,CAACuF,KAAF,CAAQC,UAAT,EAAqB,UAAC2P,IAAD;AAAA,eAAUA,IAAI,CAACnR,EAAL,KAAY0K,GAAG,CAAC1K,EAA1B;AAAA,OAArB,CAApB;AACA,UAAMo+B,SAAS,GAAGzwB,4CAAI,CAAC3R,CAAC,CAACuF,KAAF,CAAQE,YAAT,EAAuB,UAAC0P,IAAD;AAAA,eAAUA,IAAI,CAACnR,EAAL,KAAY0K,GAAG,CAAC1K,EAA1B;AAAA,OAAvB,CAAtB;;AACA,UAAIqa,OAAO,IAAIA,OAAO,CAAC3c,OAAvB,EAAgC;AAC/BrC,QAAAA,GAAG,CAACyG,IAAJ,CAAS;AACR9B,UAAAA,EAAE,YAAK0K,GAAG,CAAChV,GAAT,UADM;AAER2K,UAAAA,KAAK,EAAEga,OAAO,CAACha,KAFP;AAGRM,UAAAA,IAAI,EAAE,OAAO0Z,OAAO,CAACla,SAAf,KAA6B,QAA7B,GAAwCka,OAAO,CAACla,SAAhD,GAA4D,MAH1D;AAIR+vB,UAAAA,OAAO,EAAE;AAAA,mBAAM/oB,OAAO,CAACrF,IAAR,YAAiB4I,GAAG,CAACnN,KAArB,EAAN;AAAA,WAJD;AAKR0sB,UAAAA,KAAK,EAAEmU,SAAS,GACb,CACA;AACCp+B,YAAAA,EAAE,EAAEo+B,SAAS,CAACp+B,EADf;AAECK,YAAAA,KAAK,EAAE+9B,SAAS,CAACp+B,EAFlB;AAGCW,YAAAA,IAAI,EAAE,MAHP;AAICy9B,YAAAA,SAAS,EAAEA,SAAS,CAACj+B,SAJtB;AAKCo+B,YAAAA,eAAe,EAAEJ;AALlB,WADA,CADa,GAUb;AAfK,SAAT;AAiBA;;AACD,aAAO9iC,GAAP;AACA,KAzBI,EA0BL,EA1BK,CADmB;AAAA,GAAD,CAAzB;AA+BA,sBACC,2DAAC,sEAAD;AACC,UAAM,EAAC,MADR;AAEC,SAAK,EAAC,KAFP;AAGC,cAAU,EAAC,OAHZ;AAIC,SAAK,EAAE;AACN+E,MAAAA,QAAQ,EAAE,UADJ;AAEN8e,MAAAA,IAAI,EAAE,CAFA;AAGNsJ,MAAAA,GAAG,EAAE,CAHC;AAINgW,MAAAA,MAAM,EAAE;AAJF;AAJR,kBAWC,2DAAC,qEAAD;AAAU,eAAW,EAAC,YAAtB;AAAmC,QAAI,EAAET,eAAzC;AAA0D,aAAS,EAAC;AAApE,kBACC,2DAAC,sEAAD;AACC,SAAK,EAAE,MAAM,EAAN,GAAW,EADnB;AAEC,UAAM,EAAC,MAFR;AAGC,eAAW,EAAC,UAHb;AAIC,iBAAa,EAAC,eAJf;AAKC,SAAK,EAAE;AACNU,MAAAA,SAAS,EAAE,oBADL;AAENC,MAAAA,SAAS,EAAE;AAFL;AALR,kBAUC,2DAAC,sEAAD;AAAW,SAAK,EAAC,MAAjB;AAAwB,UAAM,EAAC,KAA/B;AAAqC,eAAW,EAAC,UAAjD;AAA4D,iBAAa,EAAC;AAA1E,kBACC,2DAAC,sEAAD;AAAW,SAAK,EAAEn9B;AAAlB,IADD,CAVD,eAaC,2DAAC,sEAAD;AAAW,SAAK,EAAC,MAAjB;AAAwB,UAAM,EAAC,KAA/B;AAAqC,eAAW,EAAC,UAAjD;AAA4D,iBAAa,EAAC;AAA1E,kBACC,2DAAC,sEAAD;AAAW,SAAK,EAAE+8B;AAAlB,IADD,eAEC,2DAAC,oEAAD;AAAS,YAAQ,EAAC;AAAlB,IAFD,CAbD,CADD,CAXD,CADD;AAkCA;;;;;;;;;;;;;;;;;;;;;;ACvFD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;CAEA;AACA;;AACA;;AAQA,IAAMO,kBAA+C,GAAG,SAAlDA,kBAAkD;AAAA,MAAGd,eAAH,QAAGA,eAAH;AAAA,MAAoBtf,WAApB,QAAoBA,WAApB;AAAA,sBACvD,2DAAC,sEAAD;AACC,eAAW,EAAC,YADb;AAEC,cAAU,EAAC,OAFZ;AAGC,SAAK,EAAC,KAHP;AAIC,UAAM,EAAC,MAJR;AAKC,iBAAa,EAAC,YALf;AAMC,kBAAc,EAAC;AANhB,kBAQC,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,kBACC,2DAAC,0DAAD;AAAiB,eAAW,EAAEA;AAA9B,IADD,eAEC,2DAAC,4DAAD;AAAmB,eAAW,EAAEA;AAAhC,IAFD,CARD,eAYC,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,kBACC,2DAAC,yDAAD;AAAgB,mBAAe,EAAEsf,eAAjC;AAAkD,YAAQ,EAAEtf;AAA5D,IADD,CAZD,CADuD;AAAA,CAAxD;;AAmBA,iEAAeogB,kBAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AAEA;AASA;AACA;AACA;CAEA;AACA;AACA;;AACA;AACA;AAEA;AACA;AACA;AAEA,IAAMG,gBAAgB,GAAGxlB,8DAAM,CAACJ,uEAAD,CAAT;AAAA;AAAA;AAAA,8HACP;AAAA,MAAGhP,KAAH,QAAGA,KAAH;AAAA,MAAU4U,MAAV,QAAUA,MAAV;AAAA,SAA+B5U,KAAK,CAACyP,OAAN,CAAcmF,MAAM,GAAG,OAAH,GAAa,OAAjC,EAA0CjF,OAAzE;AAAA,CADO,EAKN;AAAA,MAAG3P,KAAH,SAAGA,KAAH;AAAA,MAAU4U,MAAV,SAAUA,MAAV;AAAA,SAA+B5U,KAAK,CAACyP,OAAN,CAAcmF,MAAM,GAAG,OAAH,GAAa,OAAjC,EAA0CT,KAAzE;AAAA,CALM,EAQN;AAAA,MAAGnU,KAAH,SAAGA,KAAH;AAAA,MAAU4U,MAAV,SAAUA,MAAV;AAAA,SAA+B5U,KAAK,CAACyP,OAAN,CAAcmF,MAAM,GAAG,OAAH,GAAa,OAAjC,EAA0CzD,KAAzE;AAAA,CARM,CAAtB;AAYA,IAAM0jB,oBAAoB,GAAGzlB,8DAAM,CAACJ,uEAAD,CAAT;AAAA;AAAA;AAAA,qCACC;AAAA,MAAGhP,KAAH,SAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcie,KAAd,CAAoB/d,OAA3C;AAAA,CADD,CAA1B;;AAIA,IAAMmlB,eAAmB,GAAG,SAAtBA,eAAsB,GAAM;AACjC,oBAA8B54B,kDAAU,CAACqxB,qEAAD,CAAxC;AAAA,MAAQQ,MAAR,eAAQA,MAAR;AAAA,MAAgBkB,SAAhB,eAAgBA,SAAhB;;AACA,qBAA4B/yB,kDAAU,CAACsxB,sEAAD,CAAtC;AAAA,MAAQkC,eAAR,gBAAQA,eAAR;;AAEA,MAAIr+B,gDAAO,CAAC08B,MAAD,CAAX,EAAqB,OAAO,IAAP;AACrB,sBACC,4DAAC,wEAAD;AACC,aAAS,EAAC,SADX;AAEC,QAAI,EAAEkB,SAAS,GAAG,WAAH,GAAiB,eAFjC;AAGC,WAAO,EAAES,eAHV;AAIC,QAAI,EAAC;AAJN,IADD;AAQA,CAbD;;AAyBA,IAAMqF,iBAA0C,GAAG,SAA7CA,iBAA6C;AAAA,MAAG9e,IAAH,SAAGA,IAAH;AAAA,MAASrB,MAAT,SAASA,MAAT;AAAA,MAAiBkR,OAAjB,SAAiBA,OAAjB;AAAA,sBAClD,4DAAC,qEAAD;AAAS,SAAK,EAAE7P,IAAI,CAAChgB,KAArB;AAA4B,aAAS,EAAC,OAAtC;AAA8C,OAAG,EAAEggB,IAAI,CAACrgB;AAAxD,kBACC,4DAAC,oDAAD;AAAW,SAAK,EAAEqgB,IAAI,CAAC/f;AAAvB,KACE,OAAO+f,IAAI,CAAClgB,SAAZ,KAA0B,QAA1B,gBACA,4DAAC,wEAAD;AACC,QAAI,EAAEkgB,IAAI,CAAClgB,SADZ;AAEC,mBAAe,EAAE6e,MAAM,GAAG,OAAH,GAAa,OAFrC;AAGC,aAAS,EAAEA,MAAM,GAAG,SAAH,GAAe,MAHjC;AAIC,WAAO,EAAEkR,OAJV;AAKC,QAAI,EAAC,OALN;AAMC,uBAAiBlR;AANlB,IADA,gBAUA,4DAAC,IAAD,CAAM,SAAN;AAAgB,UAAM,EAAEA;AAAxB,IAXF,CADD,CADkD;AAAA,CAAnD;;AAmBA,IAAMogB,0BAA4D,GAAG,SAA/DA,0BAA+D;AAAA,MAAG/e,IAAH,SAAGA,IAAH;AAAA,sBACpE,4DAAC,qEAAD;AAAS,SAAK,EAAEA,IAAI,CAAChgB,KAArB;AAA4B,aAAS,EAAC,OAAtC;AAA8C,OAAG,EAAEggB,IAAI,CAACrgB;AAAxD,kBACC,4DAAC,uEAAD;AAAoB,OAAG,EAAEqgB,IAAI,CAACrgB,EAA9B;AAAkC,OAAG,EAAEqgB,IAAI,CAAC3qB;AAA5C,KACE,OAAO2qB,IAAI,CAAClgB,SAAZ,KAA0B,QAA1B,gBACA,4DAAC,wEAAD;AACC,QAAI,EAAEkgB,IAAI,CAAClgB,SADZ;AAEC,mBAAe,EAAC,OAFjB;AAGC,aAAS,EAAC,MAHX;AAIC,WAAO,EAAEkgB,IAAI,CAAC6P,OAJf;AAKC,QAAI,EAAC;AALN,IADA,gBASA,4DAAC,IAAD,CAAM,SAAN,OAVF,CADD,CADoE;AAAA,CAArE;;AAkBA,IAAMyO,eAA8C,GAAG,SAAjDA,eAAiD,QAAqB;AAAA,MAAlBlgB,WAAkB,SAAlBA,WAAkB;AAC3E,MAAM4gB,eAAe,GAAG1jC,wDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQC,UAAf;AAAA,GAAD,CAAnC;;AAEA,kBAA4BqH,gDAAQ,CAAyB,EAAzB,CAApC;AAAA;AAAA,MAAOvH,MAAP;AAAA,MAAeg+B,SAAf;;AACA,MAAMn4B,OAAO,GAAGP,6DAAU,EAA1B;AAEAY,EAAAA,iDAAS,CAAC,YAAM;AACf83B,IAAAA,SAAS,CAAC,UAAClxB,CAAD;AAAA,aACTixB,eAAe,CAACjpC,MAAhB,CAAuB,UAACiF,GAAD,EAAMonB,CAAN,EAAY;AAClC;AACA,YAAI,CAACpnB,GAAG,CAAConB,CAAC,CAACziB,EAAH,CAAR,EAAgB3E,GAAG,CAAConB,CAAC,CAACziB,EAAH,CAAH,GAAYyiB,CAAC,CAACllB,KAAd;AAChB,eAAOlC,GAAP;AACA,OAJD,EAIG+S,CAJH,CADS;AAAA,KAAD,CAAT;AAOA,GARQ,EAQN,CAACixB,eAAD,CARM,CAAT;AASA73B,EAAAA,iDAAS,CAAC,YAAM;AACf,QAAIiX,WAAJ,EAAiB;AAChB6gB,MAAAA,SAAS,CAAC,UAAClxB,CAAD;AAAA,+CACNA,CADM,6FAERqQ,WAAW,CAACze,EAFJ,YAEY8N,6CAAI,CAAC3G,OAAO,CAACgH,QAAR,CAAiBE,QAAlB,EAA4B,GAA5B,CAFhB,SAEmDlH,OAAO,CAACgH,QAAR,CAAiBQ,MAFpE;AAAA,OAAD,CAAT;AAIA;AACD,GAPQ,EAON,CAAC8P,WAAD,EAActX,OAAO,CAACgH,QAAtB,EAAgCkxB,eAAhC,CAPM,CAAT;AAQA,MAAME,wBAAwB,GAAG5jC,wDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQQ,qBAAf;AAAA,GAAD,CAA5C;AACA,MAAMy9B,WAAW,GAAG7qC,+CAAO,CAC1B;AAAA,WACCmqC,+CAAM,CACLt6B,+CAAM,CAAC+6B,wBAAD,EAA2B,UAAC9c,CAAD;AAAA,aAAOsc,+DAAU,CAACtc,CAAD,EAAIhE,WAAJ,CAAjB;AAAA,KAA3B,CADD,EAEL,UAFK,CADP;AAAA,GAD0B,EAM1B,CAACA,WAAD,EAAc8gB,wBAAd,CAN0B,CAA3B;AAQA,sBACC,4DAAC,oBAAD;AACC,SAAK,EAAE,EADR;AAEC,UAAM,EAAC,MAFR;AAGC,cAAU,EAAC,OAHZ;AAIC,eAAW,EAAC,UAJb;AAKC,iBAAa,EAAC,YALf;AAMC,kBAAc,EAAC;AANhB,kBAQC,4DAAC,iEAAD;AACC,iBAAa,EAAC,YADf;AAEC,kBAAc,EAAC,YAFhB;AAGC,eAAW,EAAC,UAHb;AAIC,sBAAkB,MAJnB;AAKC,QAAI,EAAC,QALN;AAMC,SAAK,EAAE;AAAEE,MAAAA,SAAS,EAAE,KAAb;AAAoBf,MAAAA,SAAS,EAAE;AAA/B;AANR,KAQEhjC,4CAAG,CAAC2jC,eAAD,EAAkB,UAAChf,IAAD;AAAA,WACrBA,IAAI,CAAC3iB,OAAL,gBACC,4DAAC,iBAAD;AACC,SAAG,EAAE2iB,IAAI,CAACrgB,EADX;AAEC,aAAO,EAAE;AAAA,eAAYmH,OAAO,CAACrF,IAAR,YAAiBR,MAAM,CAAC+e,IAAI,CAACrgB,EAAN,CAAvB,EAAZ;AAAA,OAFV;AAGC,UAAI,EAAEqgB,IAHP;AAIC,YAAM,EAAE,CAAA5B,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEze,EAAb,MAAoBqgB,IAAI,CAACrgB;AAJlC,MADD,GAOI,IARiB;AAAA,GAAlB,CARL,CARD,eA2BC,4DAAC,iEAAD;AACC,iBAAa,EAAC,UADf;AAEC,eAAW,EAAC,UAFb;AAGC,QAAI,EAAC,QAHN;AAIC,SAAK,EAAE;AAAEy/B,MAAAA,SAAS,EAAE,KAAb;AAAoBf,MAAAA,SAAS,EAAE;AAA/B;AAJR,KAMEc,WAAW,CAAC9jC,GAAZ,CAAgB,UAAC+mB,CAAD;AAAA,wBAChB,4DAAC,0BAAD;AAA4B,UAAI,EAAEA,CAAlC;AAAqC,SAAG,EAAEA,CAAC,CAACziB;AAA5C,MADgB;AAAA,GAAhB,CANF,eASC,4DAAC,eAAD,OATD,CA3BD,CADD;AAyCA,CAzED;;AA2EA,iEAAe2+B,eAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtLA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA,IAAMgB,gBAAgB,GAAGnmB,6DAAM,CAACJ,sEAAD,CAAT;AAAA;AAAA;AAAA,8FAGZ;AAAA,MAAGwmB,aAAH,QAAGA,aAAH;AAAA,SAAgCA,aAAa,GAAG,GAAH,GAAS,EAAtD;AAAA,CAHY,CAAtB;;AAYA,IAAMhB,iBAAwC,GAAG,SAA3CA,iBAA2C,QAAqB;AAAA,MAAlBngB,WAAkB,SAAlBA,WAAkB;AACrE,MAAMohB,MAAM,GAAGH,gEAAkB,CAAC,UAAC1jC,CAAD;AAAA,WAAOA,CAAC,CAAC8jC,iBAAT;AAAA,GAAD,CAAjC;AACA,MAAMC,SAAS,GAAGL,gEAAkB,CAAC,UAAC1jC,CAAD;AAAA,WAAOA,CAAC,CAACgkC,oBAAT;AAAA,GAAD,CAApC;AACA,MAAMC,gBAAgB,GAAGlqC,kDAAW,CAAC;AAAA,WAAMgqC,SAAS,CAAC,CAACF,MAAF,CAAf;AAAA,GAAD,EAA2B,CAACA,MAAD,EAASE,SAAT,CAA3B,CAApC;AACA,MAAMG,iBAAiB,GAAGvkC,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQE,YAAf;AAAA,GAAD,CAArC;AACA,MAAM0+B,0BAA0B,GAAGxkC,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQ6+B,uBAAf;AAAA,GAAD,CAA9C;AACA,MAAMZ,WAAW,GAAG7qC,8CAAO,CAC1B;AAAA,WACCmqC,8CAAM,CACLt6B,8CAAM,CAAC27B,0BAAD,EAA6B,UAAC1d,CAAD;AAAA,aAAOsc,8DAAU,CAACtc,CAAD,EAAIhE,WAAJ,CAAjB;AAAA,KAA7B,CADD,EAEL,UAFK,CADP;AAAA,GAD0B,EAM1B,CAACA,WAAD,EAAc0hB,0BAAd,CAN0B,CAA3B;AAQA,MAAM1lB,QAAQ,GAAG9lB,8CAAO,CACvB;AAAA,WAAMgc,iDAAS,CAACuvB,iBAAD,EAAoB,UAAC7f,IAAD;AAAA,aAAUA,IAAI,CAACrgB,EAAL,MAAYye,WAAZ,aAAYA,WAAZ,uBAAYA,WAAW,CAAEze,EAAzB,CAAV;AAAA,KAApB,CAAT,GAAsE,CAA5E;AAAA,GADuB,EAEvB,CAACye,WAAD,aAACA,WAAD,uBAACA,WAAW,CAAEze,EAAd,EAAkBkgC,iBAAlB,CAFuB,CAAxB;AAIA,SAAOzlB,QAAQ,GAAG,IAAH,gBACd,uIACC,2DAAC,gBAAD;AACC,iBAAa,EAAEolB,MADhB;AAEC,QAAI,EAAC,MAFN;AAGC,UAAM,EAAC,MAHR;AAIC,eAAW,EAAC,UAJb;AAKC,iBAAa,EAAC,eALf;AAMC,WAAO,EAAEA,MAAM,GAAGjsB,SAAH,GAAeqsB,gBAN/B;AAOC,SAAK,EAAE;AACNxB,MAAAA,SAAS,EAAE,oBADL;AAENC,MAAAA,SAAS,EAAE;AAFL;AAPR,kBAYC,2DAAC,sEAAD;AAAW,iBAAa,EAAC;AAAzB,kBACC,2DAAC,qDAAD,QACEhjC,2CAAG,CAACwkC,iBAAD,EAAoB,UAAC7f,IAAD;AAAA,wBACvB,2DAAC,oDAAD;AAAO,SAAG,EAAEA,IAAI,CAACrgB,EAAjB;AAAqB,UAAI,aAAMqgB,IAAI,CAAC9iB,KAAX;AAAzB,oBACC,2DAAC,sEAAD;AAAoB,SAAG,EAAE8iB,IAAI,CAAC3qB;AAA9B,oBACC,2DAAC,IAAD,CAAM,SAAN;AAAgB,cAAQ,EAAEmqC;AAA1B,MADD,CADD,CADuB;AAAA,GAApB,CADL,CADD,CAZD,eAuBC,2DAAC,sEAAD;AAAW,iBAAa,EAAC,UAAzB;AAAoC,UAAM,EAAC;AAA3C,KACEL,WAAW,CAAC9jC,GAAZ,CAAgB,UAAC2kB,IAAD;AAAA,wBAChB,2DAAC,sEAAD;AAAoB,SAAG,EAAEA,IAAI,CAACrgB,EAA9B;AAAkC,SAAG,EAAEqgB,IAAI,CAAC3qB;AAA5C,oBACC,2DAAC,IAAD,CAAM,SAAN;AAAgB,cAAQ,EAAEmqC;AAA1B,MADD,CADgB;AAAA,GAAhB,CADF,CAvBD,CADD,eAgCC,2DAAC,iDAAD;AAAW,WAAO,EAAEI,gBAApB;AAAsC,QAAI,EAAEJ;AAA5C,IAhCD,CADD;AAoCA,CAtDD;;AAwDA,iEAAejB,iBAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;CAEA;;AACA;AACA;AACA;AACA;CAEA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAM4B,UAAU,GAAGhnB,yEAAH;AAAA;AAAA;AAAA,iJACD;AAAA,MAAGpP,KAAH,QAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcoX,KAAd,CAAoBlX,OAA3C;AAAA,CADC,CAAhB;;AAYA,SAAS0mB,kBAAT,GAAoC;AACnC,oBAA+Bn6B,iDAAU,CAAC+C,uEAAD,CAAzC;AAAA,MAAQG,kBAAR,eAAQA,kBAAR;;AACA,MAAM7H,QAAQ,GAAGpK,gEAAe,EAAhC;AACA,MAAMq4B,iBAAiB,GAAGj7B,8CAAO,CAChC;AAAA;;AAAA,oBACCgZ,4CAAI,oBAAChM,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAEkP,KAAX,6DAAoB,EAApB,EAAwB;AAC3B/V,MAAAA,IAAI,EAAE,oBADqB;AAE3BgY,MAAAA,MAAM,EAAElT,qDAAYA;AAFO,KAAxB,CADL,0CACC,MAGImT,QAJL;AAAA,GADgC,EAMhC,CAACpR,QAAD,CANgC,CAAjC;AASA6F,EAAAA,gDAAS,CAAC,YAAM;AACfgC,IAAAA,kBAAkB,CAAComB,iBAAD,CAAlB;AACA,GAFQ,EAEN,CAACA,iBAAD,EAAoBpmB,kBAApB,CAFM,CAAT;AAGA,SAAO,IAAP;AACA;;AAEM,IAAMk3B,KAAS,GAAG,SAAZA,KAAY,GAAM;AAC9B,kBAA0C73B,+CAAQ,CAAC,KAAD,CAAlD;AAAA;AAAA,MAAO83B,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,MAAMniB,WAAW,GAAGhmB,gEAAe,EAAnC;AACA,sBACC,2DAAC,UAAD,qBACC,2DAAC,kBAAD,OADD,eAGC,2DAAC,qDAAD;AACC,eAAW,EAAEgmB,WADd;AAEC,mBAAe,EAAEkiB,aAFlB;AAGC,qBAAiB,EAAE;AAAA,aAAYC,gBAAgB,CAAC,CAACD,aAAF,CAA5B;AAAA;AAHpB,kBAKC,2DAAC,0DAAD,OALD,CAHD,eAUC,2DAAC,iEAAD;AAAK,kBAAc,EAAC,OAApB;AAA4B,SAAK,EAAE;AAAEvgC,MAAAA,QAAQ,EAAE,UAAZ;AAAwB+sB,MAAAA,QAAQ,EAAE;AAAlC;AAAnC,kBACC,2DAAC,6DAAD;AAAoB,eAAW,EAAE1O,WAAjC;AAA8C,mBAAe,EAAEkiB;AAA/D,IADD,eAEC,2DAAC,2DAAD,OAFD,eAGC,2DAAC,4DAAD,OAHD,CAVD,eAeC,2DAAC,wEAAD;AAAY,QAAI,EAAC;AAAjB,kBACC,2DAAC,gEAAD,OADD,CAfD,CADD;AAqBA,CAxBM;;AA0BP,IAAM35B,SAAa,GAAG,SAAhBA,SAAgB;AAAA,sBACrB,2DAAC,+DAAD,qBACC,2DAAC,0EAAD,qBACC,2DAAC,6EAAD,qBACC,2DAAC,wEAAD,qBACC,2DAAC,KAAD,OADD,CADD,CADD,CADD,CADqB;AAAA,CAAtB;;AAYA,iEAAeA,SAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AAEA;AACA;AAQA;AAEO,IAAM5P,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAAe6Q,uDAAe,CAAC,UAACjM,CAAD;AAAA,WAAOA,CAAC,CAACgX,OAAT;AAAA,GAAD,CAA9B;AAAA,CAAvB;AACA,IAAM3b,eAAe,GAAG,SAAlBA,eAAkB,GAAsB;AACpD,MAAM6kB,IAAI,GAAGjU,uDAAe,CAAC,UAACjM,CAAD;AAAA,WAAOA,CAAC,CAACgX,OAAT;AAAA,GAAD,CAA5B;AACA,SAAOre,8CAAO,CAAC;AAAA,WAAOunB,IAAI,GAAG,CAACA,IAAD,CAAH,GAAuB,EAAlC;AAAA,GAAD,EAAwC,CAACA,IAAD,CAAxC,CAAd;AACA,CAHM;AAKA,IAAMzkB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,SAC5BwQ,uDAAe,CAAC,UAACjM,CAAD;AAAA;;AAAA,8CAAOA,CAAC,CAACgX,OAAT,+CAAO,WAAWyE,MAAlB,iEAA4B;AAAEopB,MAAAA,OAAO,EAAE;AAAX,KAA5B;AAAA,GAAD,CADa;AAAA,CAAtB;AAGA,IAAMrpC,YAAY,GAAG,SAAfA,YAAe,CAAC4a,KAAD,EAAwD;AACnF,uBAAoB3a,aAAa,EAAjC;AAAA,MAAQopC,OAAR,kBAAQA,OAAR;;AACA,SAAOlsC,8CAAO,CACb;AAAA;;AAAA,oCAAMgZ,4CAAI,CAACkzB,OAAD,EAAU,CAAC,OAAD,EAAUzuB,KAAV,CAAV,CAAV,0CAAM,MAAiCwK,MAAvC,uDAAkD,EAAlD;AAAA,GADa,EAEb,CAACxK,KAAD,EAAQyuB,OAAR,CAFa,CAAd;AAIA,CANM;AAOA,IAAMtpC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SAAuB0Q,uDAAe,CAAC,UAACjM,CAAD;AAAA,WAAOA,CAAC,CAAC2F,QAAT;AAAA,GAAD,CAAtC;AAAA,CAAxB;AACA,IAAMrK,cAAc,GAAG,SAAjBA,cAAiB;AAAA,oCAAcoX,IAAd;AAAcA,IAAAA,IAAd;AAAA;;AAAA,SAC7BzG,uDAAe,CAAC,UAACjM,CAAD;AAAA,WAAOsoB,2CAAG,CAACtoB,CAAC,CAAC2F,QAAH,EAAaiO,4CAAI,CAAClB,IAAD,EAAO,GAAP,CAAjB,CAAV;AAAA,GAAD,CADc;AAAA,CAAvB;AAGA,IAAM1X,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAAeiR,4DAAA,GAA2B+K,OAA1C;AAAA,CAAvB;AACA,IAAM/b,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SAAsB,CACpDgR,4DAAA,GAA2B+K,OADyB,CAAtB;AAAA,CAAxB;AAGA,IAAM7b,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SAAuB8Q,4DAAA,GAA2BtG,QAAlD;AAAA,CAAxB;AACA,IAAMzK,cAAc,GAAG,SAAjBA,cAAiB;AAAA,qCAAcwX,IAAd;AAAcA,IAAAA,IAAd;AAAA;;AAAA,SAC7B4V,2CAAG,CAACrc,4DAAA,GAA2BtG,QAA5B,EAAsCiO,4CAAI,CAAClB,IAAD,EAAO,GAAP,CAA1C,CAD0B;AAAA,CAAvB;AAGA,IAAM/W,aAAa,GAAG,SAAhBA,aAAgB;AAAA;;AAAA,4DAC5BsQ,4DAAA,GAA2B+K,OADC,2DAC5B,uBAAoCyE,MADR,yEACkB;AAAEopB,IAAAA,OAAO,EAAE;AAAX,GADlB;AAAA,CAAtB;AAGA,IAAMnpC,YAAY,GAAG,SAAfA,YAAe,CAAC0a,KAAD;AAAA;;AAAA,oCAC3BzE,4CAAI,CAAChW,aAAa,GAAGkpC,OAAjB,EAA0B,CAAC,OAAD,EAAUzuB,KAAV,CAA1B,CADuB,2CAC3B,OAAiDwK,MADtB,yDACiC,EADjC;AAAA,CAArB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDP;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AAIA,IAAMkkB,iBAAiB,GAAG,SAApBA,iBAAoB,CACzBn/B,QADyB;AAAA;;AAAA,SAEH;AACtB6G,IAAAA,KAAK,EAAE7G,QAAQ,CAAC6G,KAAT,CAAegL,MADA;AAEtBlL,IAAAA,KAAK,EAAE3G,QAAQ,CAAC2G,KAAT,CAAekL,MAFA;AAGtB3C,IAAAA,KAAK,0BAAElP,QAAQ,CAACkP,KAAT,CAAeC,IAAjB,uEAAyB;AAHR,GAFG;AAAA,CAA1B;;AAQO,IAAMmG,gBAAgB,GAAG,SAAnBA,gBAAmB,OAc3B;AAAA,MAbJjX,EAaI,QAbJA,EAaI;AAAA,MAZJlF,IAYI,QAZJA,IAYI;AAAA,MAXJ0N,KAWI,QAXJA,KAWI;AAAA,MAVJF,KAUI,QAVJA,KAUI;AAAA,MATJ4K,UASI,QATJA,UASI;AAAA,MARJ6tB,UAQI,QARJA,UAQI;AAAA,MAPJlwB,KAOI,QAPJA,KAOI;AAAA,MANJ/M,OAMI,QANJA,OAMI;AAAA,MALJ2T,MAKI,QALJA,MAKI;AACJ,MAAM9V,QAAQ,GAAGm/B,iBAAiB,CAAC;AAAEt4B,IAAAA,KAAK,EAALA,KAAF;AAASF,IAAAA,KAAK,EAALA,KAAT;AAAgBuI,IAAAA,KAAK,EAALA;AAAhB,GAAD,CAAlC;AACA,SAAO;AACNmC,IAAAA,OAAO,EAAE;AACRhT,MAAAA,EAAE,EAAFA,EADQ;AAERlF,MAAAA,IAAI,EAAJA,IAFQ;AAGRmY,MAAAA,WAAW,EAAEzK,KAAK,CAACgL,MAAN,CAAaP,WAHlB;AAIRC,MAAAA,UAAU,EAAVA,UAJQ;AAKR6tB,MAAAA,UAAU,EAAVA,UALQ;AAMRtpB,MAAAA,MAAM,EAANA;AANQ,KADH;AASN9V,IAAAA,QAAQ,EAARA,QATM;AAUNmC,IAAAA,OAAO,EAAPA;AAVM,GAAP;AAYA,CA5BM;;;;;;;;;;;;;;;;;;;;;;;AChBP;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACO,IAAMmE,eAAe,GAAG8V,mDAAM,CAAe;AAAA,SAAO;AAC1D/K,IAAAA,OAAO,EAAEY,SADiD;AAE1D9P,IAAAA,OAAO,EAAE,EAFiD;AAG1DnC,IAAAA,QAAQ,EAAE;AACT2G,MAAAA,KAAK,EAAE,EADE;AAETE,MAAAA,KAAK,EAAE,EAFE;AAGTqI,MAAAA,KAAK,EAAE;AAHE,KAHgD;AAQ1D0E,IAAAA,SAAS,EAAE,CAR+C;AAS1DyrB,IAAAA,oBAAoB,EAAE7R,IAAI,CAAC8L,GAAL;AAToC,GAAP;AAAA,CAAf,CAA9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXP;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAEA;AACA;AACA;AAGO,IAAM3kC,MAAM,GAAG,SAATA,MAAS,CAACuF,KAAD;AAAA,SAAmB;AAAA,WAAsBF,mDAAW,CAAC,UAACK,CAAD;AAAA,aAAOA,CAAC,CAAC4I,IAAF,CAAO/I,KAAP,CAAP;AAAA,KAAD,CAAjC;AAAA,GAAnB;AAAA,CAAf;AACA,IAAM88B,OAAO,GAAG,SAAVA,OAAU;AAAA,SAAsCh9B,mDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAAC4I,IAAT;AAAA,GAAD,CAAjD;AAAA,CAAhB;AACA,IAAM8U,UAAU,GAAG,SAAbA,UAAa,GAA6B;AACtD,MAAM9U,IAAI,GAAG+zB,OAAO,EAApB;AACA,SAAOhkC,8CAAO,CAAC;AAAA,WAAMmqC,8CAAM,CAACl6B,IAAD,EAAO,UAAC+3B,CAAD;AAAA,aAAOA,CAAC,CAACsE,QAAT;AAAA,KAAP,CAAZ;AAAA,GAAD,EAAwC,CAACr8B,IAAD,CAAxC,CAAd;AACA,CAHM;AAIA,IAAMs8B,UAAU,GAAG,SAAbA,UAAa;AAAA,SACzBpC,8CAAM,CAACnjC,wDAAA,GAAuBiJ,IAAxB,EAA8B,UAAC+3B,CAAD;AAAA,WAAOA,CAAC,CAACsE,QAAT;AAAA,GAA9B,CADmB;AAAA,CAAnB;AAGA,IAAM9rC,MAAM,GAAG,SAATA,MAAS,CAAC0G,KAAD;AAAA,SAAmB;AAAA,WAAsBF,wDAAA,GAAuBiJ,IAAvB,CAA4B/I,KAA5B,CAAtB;AAAA,GAAnB;AAAA,CAAf;AACA,IAAMslC,OAAO,GAAG,SAAVA,OAAU;AAAA,SAAsCxlC,wDAAA,GAAuBiJ,IAA7D;AAAA,CAAhB;AAEA,IAAMrO,aAAa,GAAG,SAAhBA,aAAgB,CAACsF,KAAD;AAAA,SAAmB;AAAA,WAC/CF,mDAAW,CAAC,UAACK,CAAD;AAAA,aAAOA,CAAC,CAAColC,WAAF,CAAcvlC,KAAd,CAAP;AAAA,KAAD,CADoC;AAAA,GAAnB;AAAA,CAAtB;AAEA,IAAMxF,aAAa,GAAG,SAAhBA,aAAgB,CAACwF,KAAD;AAAA,SAAmB;AAAA,WAC/CF,wDAAA,GAAuBylC,WAAvB,CAAmCvlC,KAAnC,CAD+C;AAAA,GAAnB;AAAA,CAAtB;AAEA,IAAMzG,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAsBuG,wDAAA,GAAuB0lC,KAA7C;AAAA,CAAjB;AACA,IAAMnzB,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAgCvS,wDAAA,GAAuB2F,MAAvD;AAAA,CAAlB;AACA,IAAM2M,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAgCtS,mDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACsF,MAAT;AAAA,GAAD,CAA3C;AAAA,CAAlB;AACA,IAAMggC,QAAQ,GAAG,SAAXA,QAAW,CAACthC,EAAD;AAAA,SAA0BrE,wDAAA,GAAuB2F,MAAvB,CAA8BtB,EAA9B,CAA1B;AAAA,CAAjB;AACA,IAAMuhC,QAAQ,GAAG,SAAXA,QAAW,CAACvhC,EAAD;AAAA,SAA0BrE,mDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACsF,MAAF,CAAStB,EAAT,CAAP;AAAA,GAAD,CAArC;AAAA,CAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCP;AACA;AACA;AACA;AACA;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAgBA;AACA;;AAEA,IAAM6hC,UAAU,GAAG,SAAbA,UAAa,CAA2B5X,KAA3B,EAA4CjqB,EAA5C;AAAA,SAClBwE,+CAAM,CAACylB,KAAD,EAAQ,UAAC9Y,IAAD;AAAA,WAAUA,IAAI,CAACnR,EAAL,KAAYA,EAAtB;AAAA,GAAR,CADY;AAAA,CAAnB;;AAGO,IAAMrE,WAAW,GAAGoiB,oDAAM,CAAW,UAACG,GAAD;AAAA,SAAU;AACrDtZ,IAAAA,IAAI,EAAE,EAD+C;AAErDw8B,IAAAA,WAAW,EAAE,EAFwC;AAGrDC,IAAAA,KAAK,EAAE;AACNS,MAAAA,MAAM,EAAE,EADF;AAENhR,MAAAA,WAAW,EAAE,EAFP;AAGN/sB,MAAAA,aAAa,EAAE,EAHT;AAINjJ,MAAAA,IAAI,EAAE,mBAJA;AAKNmmC,MAAAA,QAAQ,EAAE,CAAC,CALL;AAMNn9B,MAAAA,OAAO,EAAE,EANH;AAON+P,MAAAA,IAAI,EAAE,OAPA;AAQN/O,MAAAA,OAAO,EAAE,EARH;AASNnE,MAAAA,IAAI,EAAE,EATA;AAUNsb,MAAAA,OAAO,EAAE;AAVH,KAH8C;AAerDlgB,IAAAA,WAAW,EAAE,EAfwC;AAgBrDuF,IAAAA,MAAM,EAAE,EAhB6C;AAiBrDC,IAAAA,KAAK,EAAE;AACNC,MAAAA,UAAU,EAAE,EADN;AAENC,MAAAA,YAAY,EAAE,EAFR;AAGNC,MAAAA,OAAO,EAAE,EAHH;AAINE,MAAAA,KAAK,EAAE,EAJD;AAKNmgC,MAAAA,UAAU,EAAE,EALN;AAMNpgC,MAAAA,QAAQ,EAAE,EANJ;AAONgN,MAAAA,MAAM,EAAE,EAPF;AAQN5M,MAAAA,qBAAqB,EAAE,EARjB;AASNq+B,MAAAA,uBAAuB,EAAE;AATnB,KAjB8C;AA4BrDnjC,IAAAA,OAAO,EAAE;AACR0a,MAAAA,OAAO,EAAE,iBAAC/S,IAAD,EAAgD;AACxDsZ,QAAAA,GAAG,CAAC,UAAC1a,KAAD;AAAA;;AAAA,iBAAY;AACfoB,YAAAA,IAAI,EAAExO,+CAAM,CACXwO,IADW,EAEX,UAACvJ,GAAD,EAAM3F,GAAN;AAAA,qBACCA,GAAG,CAACoF,IAAJ,IAAYpF,GAAG,CAACoF,IAAJ,KAAa8E,qDAAzB,mCAEMvE,GAFN,6FAGI3F,GAAG,CAACoF,IAHR,EAGe8mC,qDAAY,CAAClsC,GAAD,CAH3B,KAKG2F,GANJ;AAAA,aAFW,EASX,EATW,CADG;AAYfgmC,YAAAA,KAAK,kCACD79B,KAAK,CAAC69B,KADL,YAEA1zB,6CAAI,CAAC/I,IAAD,EAAO,UAAClP,GAAD;AAAA,qBAASA,GAAG,CAACoF,IAAJ,KAAa8E,qDAAtB;AAAA,aAAP,CAFJ,yCAEkD,EAFlD,CAZU;AAgBfwhC,YAAAA,WAAW,EAAEhrC,+CAAM,CAACwO,IAAD,EAAO,UAACvJ,GAAD,EAAMqP,GAAN;AAAA,qBAAeA,GAAG,CAAC5P,IAAJ,mCAAgBO,GAAhB,6FAAsBqP,GAAG,CAAC5P,IAA1B,EAAiC,EAAjC,KAAwCO,GAAvD;AAAA,aAAP,EAAoE,EAApE;AAhBJ,WAAZ;AAAA,SAAD,CAAH;AAkBA,OApBO;AAqBRgC,MAAAA,aAAa,EACZ,uBAAC3H,GAAD;AAAA,eACA,UAACsf,OAAD,EAA4B;AAC3BkJ,UAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,YAAAA,KAAK,CAAC49B,WAAN,CAAkB1rC,GAAlB,IAAyB8rC,8CAAK,CAACh+B,KAAK,CAAC49B,WAAN,CAAkB1rC,GAAlB,CAAD,EAAyBsf,OAAzB,CAA9B;AACA,WAFM,CADL,CAAH;AAKA,SAPD;AAAA,OAtBO;AA8BR;AACA1X,MAAAA,QAAQ,EAAE,kBAAC0kC,SAAD,EAA2C;AACpD9jB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAAClC,MAAN,CAAa0gC,SAAS,CAAChiC,EAAvB,IAA6BgiC,SAA7B;;AACA,cAAIA,SAAS,CAACxgC,UAAd,EAA0B;AACzBgC,YAAAA,KAAK,CAACjC,KAAN,CAAYC,UAAZ,GAAyBs9B,+CAAM,CAC9B6C,kDAAS,CACR,CACC;AACCjsC,cAAAA,GAAG,EAAEssC,SAAS,CAACtsC,GADhB;AAECsK,cAAAA,EAAE,EAAEgiC,SAAS,CAAChiC,EAFf;AAGCzC,cAAAA,KAAK,EAAEykC,SAAS,CAACzkC,KAHlB;AAIC4C,cAAAA,SAAS,EAAE6hC,SAAS,CAACxgC,UAJtB;AAKClB,cAAAA,KAAK,EAAE0hC,SAAS,CAAC1hC,KALlB;AAMCF,cAAAA,QAAQ,EAAE4hC,SAAS,CAAC5hC,QANrB;AAOC1C,cAAAA,OAAO,EAAEskC,SAAS,CAACtkC,OAPpB;AAQC2C,cAAAA,KAAK,EAAE2hC,SAAS,CAAC3hC;AARlB,aADD,CADQ,EAaRmD,KAAK,CAACjC,KAAN,CAAYC,UAbJ,EAcR,UAACm7B,CAAD,EAAIsF,CAAJ;AAAA,qBAAmBtF,CAAC,CAAC38B,EAAF,KAASiiC,CAAC,CAACjiC,EAA9B;AAAA,aAdQ,CADqB,EAiB9B,UAjB8B,CAA/B;AAmBA;;AACD,cAAIgiC,SAAS,CAACvgC,YAAd,EAA4B;AAC3B+B,YAAAA,KAAK,CAACjC,KAAN,CAAYE,YAAZ,GAA2BkgC,kDAAS,CACnC,CACC;AACCjsC,cAAAA,GAAG,EAAEssC,SAAS,CAACtsC,GADhB;AAECsK,cAAAA,EAAE,EAAEgiC,SAAS,CAAChiC,EAFf;AAGCzC,cAAAA,KAAK,EAAEykC,SAAS,CAACzkC,KAHlB;AAIC4C,cAAAA,SAAS,EAAE6hC,SAAS,CAACvgC;AAJtB,aADD,CADmC,EASnC+B,KAAK,CAACjC,KAAN,CAAYE,YATuB,EAUnC,UAACk7B,CAAD,EAAIsF,CAAJ;AAAA,qBAAmBtF,CAAC,CAAC38B,EAAF,KAASiiC,CAAC,CAACjiC,EAA9B;AAAA,aAVmC,CAApC;AAYA;;AACD,cAAIgiC,SAAS,CAACtgC,OAAd,EAAuB;AACtB8B,YAAAA,KAAK,CAACjC,KAAN,CAAYG,OAAZ,GAAsBigC,kDAAS,CAC9B,CACC;AACCjsC,cAAAA,GAAG,EAAEssC,SAAS,CAACtsC,GADhB;AAECsK,cAAAA,EAAE,EAAEgiC,SAAS,CAAChiC,EAFf;AAGCzC,cAAAA,KAAK,EAAEykC,SAAS,CAACzkC,KAHlB;AAIC4C,cAAAA,SAAS,EAAE6hC,SAAS,CAACtgC;AAJtB,aADD,CAD8B,EAS9B8B,KAAK,CAACjC,KAAN,CAAYG,OATkB,EAU9B,UAACi7B,CAAD,EAAIsF,CAAJ;AAAA,qBAAmBtF,CAAC,CAAC38B,EAAF,KAASiiC,CAAC,CAACjiC,EAA9B;AAAA,aAV8B,CAA/B;AAYA;AACD,SAnDM,CADL,CAAH;AAsDA,eAAOgiC,SAAS,CAAChiC,EAAjB;AACA,OAvFO;AAwFRxC,MAAAA,kBAAkB,EAAE,4BAACwC,EAAD,EAAatC,OAAb,EAAwC;AAC3DwgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5B,cAAMy0B,GAAG,GAAGtnB,kDAAS,CAACnN,KAAK,CAACjC,KAAN,CAAYC,UAAb,EAAyB,UAAC6e,IAAD;AAAA,mBAAUA,IAAI,CAACrgB,EAAL,KAAYA,EAAtB;AAAA,WAAzB,CAArB;;AACA,cAAIi4B,GAAG,IAAI,CAAX,EAAc;AACbz0B,YAAAA,KAAK,CAACjC,KAAN,CAAYC,UAAZ,CAAuBy2B,GAAvB,EAA4Bv6B,OAA5B,GAAsCA,OAAtC;AACA;AACD,SALM,CADL,CAAH;AAQA,OAjGO;AAmGR;AACAC,MAAAA,WAAW,EAAE,qBAACqC,EAAD,EAAsB;AAClCke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAAClC,MAAN,GAAemgC,6CAAI,CAACj+B,KAAK,CAAClC,MAAP,EAAe,CAACtB,EAAD,CAAf,CAAnB;AACAwD,UAAAA,KAAK,CAACjC,KAAN,CAAYC,UAAZ,GAAyBqgC,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYC,UAAb,EAAyBxB,EAAzB,CAAnC;AACAwD,UAAAA,KAAK,CAACjC,KAAN,CAAYE,YAAZ,GAA2BogC,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYE,YAAb,EAA2BzB,EAA3B,CAArC;AACAwD,UAAAA,KAAK,CAACjC,KAAN,CAAYG,OAAZ,GAAsBmgC,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYG,OAAb,EAAsB1B,EAAtB,CAAhC;AACA,SALM,CADL,CAAH;AAQA,OA7GO;AA8GR;AACApC,MAAAA,YAAY,EAAE,sBAACC,IAAD,EAA6B;AAC1CqgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYK,KAAZ,GAAoB8/B,gDAAO,CAAC,CAAC7jC,IAAD,CAAD,EAAS2F,KAAK,CAACjC,KAAN,CAAYK,KAArB,EAA4B,IAA5B,CAA3B;AACA,SAFM,CADL,CAAH;AAKA,eAAO/D,IAAI,CAACmC,EAAZ;AACA,OAtHO;AAwHR;AACAlC,MAAAA,eAAe,EAAE,yBAACkC,EAAD,EAAsB;AACtCke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYK,KAAZ,GAAoBigC,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYK,KAAb,EAAoB5B,EAApB,CAA9B;AACA,SAFM,CADL,CAAH;AAKA,OA/HO;AAiIR;AACAjC,MAAAA,eAAe,EAAE,yBAACF,IAAD,EAAgC;AAChDqgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYI,QAAZ,GAAuBm9B,+CAAM,CAAC4C,gDAAO,CAAC,CAAC7jC,IAAD,CAAD,EAAS2F,KAAK,CAACjC,KAAN,CAAYI,QAArB,EAA+B,IAA/B,CAAR,EAA8C,UAA9C,CAA7B;AACA,SAFM,CADL,CAAH;AAKA,eAAO9D,IAAI,CAACmC,EAAZ;AACA,OAzIO;AA2IR;AACAhC,MAAAA,kBAAkB,EAAE,4BAACgC,EAAD,EAAsB;AACzCke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYI,QAAZ,GAAuBkgC,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYI,QAAb,EAAuB3B,EAAvB,CAAjC;AACA,SAFM,CADL,CAAH;AAKA,OAlJO;AAmJR;AACA;AACA/B,MAAAA,aAAa,EAAE,uBAACJ,IAAD,EAA8B;AAC5CqgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYoN,MAAZ,GAAqBmwB,+CAAM,CAAC4C,gDAAO,CAAC,CAAC7jC,IAAD,CAAD,EAAS2F,KAAK,CAACjC,KAAN,CAAYoN,MAArB,EAA6B,IAA7B,CAAR,EAA4C,UAA5C,CAA3B;AACA,SAFM,CADL,CAAH;AAKA,eAAO9Q,IAAI,CAACmC,EAAZ;AACA,OA5JO;AA6JR;AACA9B,MAAAA,gBAAgB,EAAE,0BAAC8B,EAAD,EAAsB;AACvCke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYoN,MAAZ,GAAqBkzB,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYoN,MAAb,EAAqB3O,EAArB,CAA/B;AACA,SAFM,CADL,CAAH;AAKA,OApKO;AAqKR;AACA;AACA7B,MAAAA,cAAc,EAAE,wBAACN,IAAD,EAA+B;AAC9CqgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYwgC,UAAZ,GAAyBjD,+CAAM,CAC9B4C,gDAAO,CAAC,CAAC7jC,IAAD,CAAD,EAAS2F,KAAK,CAACjC,KAAN,CAAYwgC,UAArB,EAAiC,IAAjC,CADuB,EAE9B,UAF8B,CAA/B;AAIA,SALM,CADL,CAAH;AAQA,eAAOlkC,IAAI,CAACmC,EAAZ;AACA,OAjLO;AAkLR;AACA5B,MAAAA,iBAAiB,EAAE,2BAAC4B,EAAD,EAAsB;AACxCke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYwgC,UAAZ,GAAyBF,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYwgC,UAAb,EAAyB/hC,EAAzB,CAAnC;AACA,SAFM,CADL,CAAH;AAKA,OAzLO;AA0LR;AACA;AACA3B,MAAAA,uBAAuB,EAAE,iCAACR,IAAD,EAAwC;AAChEqgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYQ,qBAAZ,GAAoC2/B,gDAAO,CAC1C,CAAC7jC,IAAD,CAD0C,EAE1C2F,KAAK,CAACjC,KAAN,CAAYQ,qBAF8B,EAG1C,IAH0C,CAA3C;AAKA,SANM,CADL,CAAH;AASA,eAAOlE,IAAI,CAACmC,EAAZ;AACA,OAvMO;AAwMR;AACA1B,MAAAA,0BAA0B,EAAE,oCAAC0B,EAAD,EAAsB;AACjDke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAYQ,qBAAZ,GAAoC8/B,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAYQ,qBAAb,EAAoC/B,EAApC,CAA9C;AACA,SAFM,CADL,CAAH;AAKA,OA/MO;AAgNR;AACA;AACAzB,MAAAA,yBAAyB,EAAE,mCAACV,IAAD,EAA0C;AACpEqgB,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAY6+B,uBAAZ,GAAsCsB,gDAAO,CAC5C,CAAC7jC,IAAD,CAD4C,EAE5C2F,KAAK,CAACjC,KAAN,CAAY6+B,uBAFgC,EAG5C,IAH4C,CAA7C;AAKA,SANM,CADL,CAAH;AASA,eAAOviC,IAAI,CAACmC,EAAZ;AACA,OA7NO;AA8NR;AACAxB,MAAAA,4BAA4B,EAAE,sCAACwB,EAAD,EAAsB;AACnDke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5BA,UAAAA,KAAK,CAACjC,KAAN,CAAY6+B,uBAAZ,GAAsCyB,UAAU,CAACr+B,KAAK,CAACjC,KAAN,CAAY6+B,uBAAb,EAAsCpgC,EAAtC,CAAhD;AACA,SAFM,CADL,CAAH;AAKA,OArOO;AAsOR7C,MAAAA,kBAAkB,EAAE,4BAACmD,KAAD,EAA4BN,EAA5B,EAAiD;AACpEke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5B,cAAMy0B,GAAG,GAAGtnB,kDAAS,CAACnN,KAAK,CAACjC,KAAN,CAAYC,UAAb,EAAyB,UAAC0gC,GAAD;AAAA,mBAASA,GAAG,CAACliC,EAAJ,KAAWA,EAApB;AAAA,WAAzB,CAArB;;AACA,cAAIi4B,GAAG,IAAI,CAAX,EAAc;AACbz0B,YAAAA,KAAK,CAACjC,KAAN,CAAYC,UAAZ,CAAuBy2B,GAAvB,EAA4B33B,KAA5B,mCACIkD,KAAK,CAACjC,KAAN,CAAYC,UAAZ,CAAuBy2B,GAAvB,EAA4B33B,KADhC,GAEIA,KAFJ;AAIA;AACD,SARM,CADL,CAAH;AAWA,OAlPO;AAmPRlD,MAAAA,kBAAkB,EAAE,4BAACkD,KAAD,EAA4BN,EAA5B,EAAiD;AACpEke,QAAAA,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAqB;AAC5B,cAAMy0B,GAAG,GAAGtnB,kDAAS,CAACnN,KAAK,CAACjC,KAAN,CAAYwgC,UAAb,EAAyB,UAACG,GAAD;AAAA,mBAASA,GAAG,CAACliC,EAAJ,KAAWA,EAApB;AAAA,WAAzB,CAArB;;AACA,cAAIi4B,GAAG,IAAI,CAAX,EAAc;AACbz0B,YAAAA,KAAK,CAACjC,KAAN,CAAYwgC,UAAZ,CAAuB9J,GAAvB,EAA4B33B,KAA5B,mCACIkD,KAAK,CAACjC,KAAN,CAAYwgC,UAAZ,CAAuB9J,GAAvB,EAA4B33B,KADhC,GAEIA,KAFJ;AAIA;AACD,SARM,CADL,CAAH;AAWA;AA/PO;AA5B4C,GAAV;AAAA,CAAX,CAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BP;AACA;AACA;AACA;AACA;AAEA;AACA;AAaO,IAAMshC,YAAY,GAAG,SAAfA,YAAe,CAAClsC,GAAD;AAAA;;AAAA,SAAmD;AAC9EosC,IAAAA,MAAM,iBAAEpsC,GAAG,CAACosC,MAAN,qDAAgB,EADwD;AAE9EhR,IAAAA,WAAW,sBAAEp7B,GAAG,CAACo7B,WAAN,+DAAqB,mBAF8C;AAG9E;AACA/sB,IAAAA,aAAa,wBAAErO,GAAG,CAACqO,aAAN,mEAAuB,EAJ0C;AAK9EjJ,IAAAA,IAAI,eAAEpF,GAAG,CAACoF,IAAN,iDAAc,QAL4D;AAM9EmmC,IAAAA,QAAQ,mBAAEvrC,GAAG,CAACurC,QAAN,yDAAkB,EANoD;AAO9En9B,IAAAA,OAAO,kBAAEpO,GAAG,CAACoO,OAAN,uDAAiB,EAPsD;AAQ9E+P,IAAAA,IAAI,eAAEne,GAAG,CAACme,IAAN,iDAAc,UAR4D;AAS9E/O,IAAAA,OAAO,EAAEpP,GAAG,CAACoP,OATiE;AAU9EnE,IAAAA,IAAI,eAAEjL,GAAG,CAACiL,IAAN,iDAAc,MAV4D;AAW9Esb,IAAAA,OAAO,kBAAEvmB,GAAG,CAACumB,OAAN,uDAAiB,QAXsD;AAY9EF,IAAAA,SAAS,EAAErmB,GAAG,CAACqmB;AAZ+D,GAAnD;AAAA,CAArB;;AAeP,IAAMomB,YAAgB,GAAG,SAAnBA,YAAmB;AAAA,sBAAM,0FAAN;AAAA,CAAzB;;AAEO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAC9hC,KAAD;AAAA;;AAAA,SAA2C;AAC5EC,IAAAA,IAAI,iBAAED,KAAK,CAACC,IAAR,qDAAgB,KADwD;AAE5Em3B,IAAAA,KAAK,kBAAEp3B,KAAK,CAACo3B,KAAR,uDAAiB,CAFsD;AAG5EH,IAAAA,SAAS,sBAAEj3B,KAAK,CAACi3B,SAAR,+DAAqB,KAH8C;AAI5Erf,IAAAA,KAAK,kBAAE5X,KAAK,CAAC4X,KAAR,uDAAiB;AAJsD,GAA3C;AAAA,CAA3B;AAOA,IAAM3b,cAAc,GAAG,SAAjBA,cAAiB,CAC7BsB,IAD6B,EAE7BnI,GAF6B,EAGL;AAAA;;AACxB,MAAM6H,KAAK,GAAGuQ,4CAAI,gBAACjQ,IAAI,CAACN,KAAN,qDAAe7H,GAAG,CAACoF,IAAnB,EAAyB,GAAzB,CAAlB;AACA,SAAO;AACNpF,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADH;AAENyC,IAAAA,KAAK,EAALA,KAFM;AAGNyC,IAAAA,EAAE,cAAEnC,IAAI,CAACmC,EAAP,+CAAazC,KAHT;AAIN+C,IAAAA,KAAK,EAAE8hC,kBAAkB,gBAACvkC,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEyC,KAAP,qDAAgB,EAAhB,CAJnB;AAKNF,IAAAA,QAAQ,oBAAEvC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEuC,QAAR,2DAAoB1K,GAAG,CAACurC,QAL1B;AAMNvjC,IAAAA,OAAO,mBAAEG,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEH,OAAR,yDAAmB,IANpB;AAON2C,IAAAA,KAAK,iBAAExC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEwC,KAAR,qDAAiB,EAPhB;AAQNmB,IAAAA,UAAU,8BAAE3D,IAAI,CAAC2D,UAAP,+DAAqB9L,GAAG,CAACiL,IAAzB,uCAAiC,aARrC;AASNc,IAAAA,YAAY,EAAE5D,IAAI,CAAC4D,YATb;AAUNC,IAAAA,OAAO,mBAAE7D,IAAI,CAAC6D,OAAP,yDAAkBygC;AAVnB,GAAP;AAYA,CAjBM;AAmBA,IAAM3lC,qBAAqB,GAAG,SAAxBA,qBAAwB,CACpCqB,IADoC,EAEpCnI,GAFoC,EAGlB;AAAA;;AAClB,MAAM6H,KAAK,GAAGuQ,4CAAI,iBAACjQ,IAAI,CAACN,KAAN,uDAAe7H,GAAG,CAACoF,IAAnB,EAAyB,GAAzB,CAAlB;AACA,SAAO;AACNpF,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADH;AAENyC,IAAAA,KAAK,EAALA,KAFM;AAGNyC,IAAAA,EAAE,eAAEnC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEmC,EAAR,iDAAczC,KAHV;AAIN4C,IAAAA,SAAS,qBAAEtC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEsC,SAAR,6DAAqBgiC,YAJxB;AAKN9hC,IAAAA,KAAK,kBAAExC,IAAI,CAACwC,KAAP,uDAAgB3K,GAAG,CAACumB,OALnB;AAMNtb,IAAAA,IAAI,gBAAE9C,IAAI,CAAC8C,IAAP,mDAAejL,GAAG,CAACiL,IANjB;AAONP,IAAAA,QAAQ,8BAAEvC,IAAI,CAACuC,QAAP,6DAAmB1K,GAAG,CAACurC,QAAvB,yCAAmC,EAPrC;AAQNrgC,IAAAA,WAAW,uBAAE/C,IAAI,CAAC+C,WAAP,iEAAsB;AAR3B,GAAP;AAUA,CAfM;AAgBA,IAAMnE,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACoB,IAAD,EAA4BnI,GAA5B,EAAgE;AAAA;;AAClG,MAAM6H,KAAK,GAAGuQ,4CAAI,iBAACjQ,IAAI,CAACN,KAAN,uDAAe7H,GAAG,CAACoF,IAAnB,EAAyB,GAAzB,CAAlB;AACA,SAAO;AACNpF,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADH;AAENyC,IAAAA,KAAK,EAALA,KAFM;AAGNyC,IAAAA,EAAE,eAAEnC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEmC,EAAR,iDAAczC,KAHV;AAIN4C,IAAAA,SAAS,sBAAEtC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEsC,SAAR,+DAAqBgiC,YAJxB;AAKN9hC,IAAAA,KAAK,kBAAExC,IAAI,CAACwC,KAAP,uDAAgB3K,GAAG,CAACumB,OALnB;AAMNtb,IAAAA,IAAI,iBAAE9C,IAAI,CAAC8C,IAAP,qDAAejL,GAAG,CAACiL,IANjB;AAONP,IAAAA,QAAQ,8BAAEvC,IAAI,CAACuC,QAAP,6DAAmB1K,GAAG,CAACurC,QAAvB,yCAAmC;AAPrC,GAAP;AASA,CAXM;AAYA,IAAMvkC,oBAAoB,GAAG,SAAvBA,oBAAuB,CACnCmB,IADmC,EAEnCnI,GAFmC;AAAA;;AAAA,SAGjB;AAClBA,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADS;AAElBkF,IAAAA,EAAE,eAAEnC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEmC,EAAR,iDAActK,GAAG,CAACoF,IAFF;AAGlBunC,IAAAA,eAAe,EAAExkC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEwkC,eAHL;AAIlBC,IAAAA,eAAe,EAAEzkC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEykC,eAJL;AAKlBniC,IAAAA,SAAS,sBAAEtC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEsC,SAAR,+DAAqBgiC,YALZ;AAMlBI,IAAAA,MAAM,kBAAE1kC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAE0kC,MAAR,uDAAkB,MANN;AAOlBjiC,IAAAA,KAAK,EAAE8hC,kBAAkB,iBAACvkC,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEyC,KAAP,uDAAgB,EAAhB,CAPP;AAQlBF,IAAAA,QAAQ,qBAAEvC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEuC,QAAR,6DAAoB1K,GAAG,CAACurC,QARd;AASlB5gC,IAAAA,KAAK,kBAAExC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEwC,KAAR,uDAAiB3K,GAAG,CAACumB;AATR,GAHiB;AAAA,CAA7B;AAcA,IAAMtf,6BAA6B,GAAG,SAAhCA,6BAAgC,CAC5CkB,IAD4C,EAE5CnI,GAF4C;AAAA;;AAAA,SAGjB;AAC3BA,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADkB;AAE3Bo1B,IAAAA,OAAO,EAAEryB,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEqyB,OAFY;AAG3B7vB,IAAAA,KAAK,kBAAExC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEwC,KAAR,uDAAiB3K,GAAG,CAACumB,OAHC;AAI3B7b,IAAAA,QAAQ,qBAAEvC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEuC,QAAR,6DAAoB1K,GAAG,CAACurC,QAJL;AAK3BoB,IAAAA,eAAe,EAAExkC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEwkC,eALI;AAM3BC,IAAAA,eAAe,EAAEzkC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEykC,eANI;AAO3BtiC,IAAAA,EAAE,eAAEnC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEmC,EAAR,iDAActK,GAAG,CAACoF,IAPO;AAQ3BqF,IAAAA,SAAS,sBAAEtC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEsC,SAAR,+DAAqBgiC;AARH,GAHiB;AAAA,CAAtC;AAaA,IAAMvlC,+BAA+B,GAAG,SAAlCA,+BAAkC,CAC9CiB,IAD8C,EAE9CnI,GAF8C;AAAA;;AAAA,SAGjB;AAC7BA,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADoB;AAE7BsF,IAAAA,QAAQ,qBAAEvC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEuC,QAAR,6DAAoB1K,GAAG,CAACurC,QAFH;AAG7BoB,IAAAA,eAAe,EAAExkC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEwkC,eAHM;AAI7BC,IAAAA,eAAe,EAAEzkC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEykC,eAJM;AAK7BtiC,IAAAA,EAAE,eAAEnC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEmC,EAAR,iDAActK,GAAG,CAACoF,IALS;AAM7BqF,IAAAA,SAAS,sBAAEtC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEsC,SAAR,+DAAqBgiC;AAND,GAHiB;AAAA,CAAxC;AAYA,IAAMtlC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACgB,IAAD,EAA2BnI,GAA3B,EAA8D;AAAA;;AAC/F,MAAM6H,KAAK,GAAGuQ,4CAAI,iBAACjQ,IAAI,CAACN,KAAN,uDAAe7H,GAAG,CAACoF,IAAnB,EAAyB,GAAzB,CAAlB;AACA,SAAO;AACNpF,IAAAA,GAAG,EAAEA,GAAG,CAACoF,IADH;AAENyC,IAAAA,KAAK,EAALA,KAFM;AAGNyC,IAAAA,EAAE,eAAEnC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEmC,EAAR,iDAAczC,KAHV;AAIN4C,IAAAA,SAAS,sBAAEtC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEsC,SAAR,+DAAqBgiC;AAJxB,GAAP;AAMA,CARM;;;;;;;;;;;;;;;;;;;;;AClIP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAGO,IAAM3rC,gBAAgB,GAAGunB,mDAAM,CAAqB,UAACG,GAAD;AAAA,SAAU;AACpE/iB,IAAAA,yBAAyB,EAAE,EADyC;AAEpEC,IAAAA,SAAS,EAAE,EAFyD;AAGpEi0B,IAAAA,GAAG,EAAE,mBAAoD;AAAA,UAAjDl0B,yBAAiD,QAAjDA,yBAAiD;AAAA,UAAtBC,SAAsB,QAAtBA,SAAsB;AACxD8iB,MAAAA,GAAG,CAAC,UAACliB,CAAD;AAAA,eAAQ;AACXb,UAAAA,yBAAyB,EAAE/E,8CAAM,CAChC+E,yBADgC,aAChCA,yBADgC,cAChCA,yBADgC,GACH,EADG,EAEhC,UAACE,GAAD,EAAMC,CAAN,EAASgV,GAAT,EAAiB;AAChB;AACAjV,YAAAA,GAAG,CAACiV,GAAD,CAAH,GAAWhV,CAAX;AACA,mBAAOD,GAAP;AACA,WAN+B,EAOhCW,CAAC,CAACb,yBAP8B,CADtB;AAUXC,UAAAA,SAAS,EAAEhF,8CAAM,CAChBgF,SADgB,aAChBA,SADgB,cAChBA,SADgB,GACH,EADG,EAEhB,UAACC,GAAD,EAAMC,CAAN,EAASgV,GAAT,EAAiB;AAChB;AACAjV,YAAAA,GAAG,CAACiV,GAAD,CAAH,GAAWhV,CAAX;AACA,mBAAOD,GAAP;AACA,WANe,EAOhBW,CAAC,CAACZ,SAPc;AAVN,SAAR;AAAA,OAAD,CAAH;AAoBA;AAxBmE,GAAV;AAAA,CAArB,CAA/B;AA2BA,IAAM2L,SAAS,GAAG,SAAZA,SAAY,CAACy7B,OAAD,EAA6D;AACrF,MAAMC,YAAY,GAAGjsC,gBAAgB,CAAC;AAAA,QAAG64B,GAAH,SAAGA,GAAH;AAAA,WAAaA,GAAb;AAAA,GAAD,CAArC;AACA7nB,EAAAA,gDAAS,CAAC,YAAM;AACfi7B,IAAAA,YAAY,CAACD,OAAD,CAAZ;AACA,GAFQ,EAEN,CAACA,OAAD,EAAUC,YAAV,CAFM,CAAT;AAGA,CALM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCP;AACA;AACA;AACA;AACA;AAEA;AASA;CAGA;;AACO,IAAMppC,SAAS,GAAG,SAAZA,SAAY,CAAC2G,EAAD;AAAA,SAAoC0iC,uDAAc,CAAC,UAAC1mC,CAAD;AAAA;;AAAA,yBAAOA,CAAC,CAACgnC,OAAT,+CAAO,WAAYhjC,EAAZ,CAAP;AAAA,GAAD,CAAlD;AAAA,CAAlB;AACA,IAAM7G,SAAS,GAAG,SAAZA,SAAY,CAAC6G,EAAD;AAAA;;AAAA,kCACxB0iC,4DAAA,EADwB,oFACxB,sBAA2BM,OADH,2DACxB,uBAAqChjC,EAArC,CADwB;AAAA,CAAlB;AAEA,IAAM1G,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAeopC,uDAAc,CAAC,UAAC1mC,CAAD;AAAA,WAAOA,CAAC,CAACgnC,OAAT;AAAA,GAAD,CAA7B;AAAA,CAAnB;AACA,IAAM5pC,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAespC,4DAAA,GAA0BM,OAAzC;AAAA,CAAnB,EAEP;;AACO,IAAMzpC,OAAO,GAAG,SAAVA,OAAU,CAACyG,EAAD;AAAA,SAAoC0iC,uDAAc,CAAC,UAAC1mC,CAAD;AAAA;;AAAA,uBAAOA,CAAC,CAACinC,KAAT,6CAAO,SAAUjjC,EAAV,CAAP;AAAA,GAAD,CAAlD;AAAA,CAAhB;AACA,IAAMxG,OAAO,GAAG,SAAVA,OAAU,CAACwG,EAAD;AAAA;;AAAA,mCAAoC0iC,4DAAA,GAA0BO,KAA9D,2DAAoC,uBAAkCjjC,EAAlC,CAApC;AAAA,CAAhB;AACA,IAAMvG,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAeipC,uDAAc,CAAC,UAAC1mC,CAAD;AAAA,WAAOA,CAAC,CAACinC,KAAT;AAAA,GAAD,CAA7B;AAAA,CAAjB;AACA,IAAMvpC,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAAegpC,4DAAA,GAA0BO,KAAzC;AAAA,CAAjB,EAEP;;AACO,IAAMhpC,aAAa,GAAG,SAAhBA,aAAgB,CAACipC,MAAD;AAAA,SAC5BR,uDAAc,CAAC,UAAC1mC,CAAD;AAAA,WAAQA,CAAC,CAACinC,KAAF,GAAUjnC,CAAC,CAACinC,KAAF,CAAQC,MAAR,CAAV,GAA4B,EAApC;AAAA,GAAD,CADc;AAAA,CAAtB;AAEA,IAAMhpC,aAAa,GAAG,SAAhBA,aAAgB,CAACgpC,MAAD,EAAmE;AAC/F,MAAMF,OAAO,GAAGN,4DAAA,EAAhB;AACA,SAAOM,OAAO,CAACC,KAAR,GAAgBD,OAAO,CAACC,KAAR,CAAcC,MAAd,CAAhB,GAAwC,EAA/C;AACA,CAHM,EAKP;;AAEO,IAAMvpC,eAAe,GAAG,SAAlBA,eAAkB,CAACqG,EAAD;AAAA,SAC9B0iC,uDAAc,CAAC,UAAC1mC,CAAD;AAAA;;AAAA,0BAAOA,CAAC,CAACmnC,QAAT,gDAAO,YAAanjC,EAAb,CAAP;AAAA,GAAD,CADgB;AAAA,CAAxB;AAEA,IAAMnG,eAAe,GAAG,SAAlBA,eAAkB,CAACmG,EAAD;AAAA,SAC9B0iC,4DAAA,GAA0BS,QAA1B,CAAmCnjC,EAAnC,CAD8B;AAAA,CAAxB;AAEA,IAAMpG,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,SAAgB8oC,uDAAc,CAAC,UAAC1mC,CAAD;AAAA,WAAOA,CAAC,CAACmnC,QAAT;AAAA,GAAD,CAA9B;AAAA,CAAzB;AACA,IAAMrpC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,SAAgB4oC,4DAAA,GAA0BS,QAA1C;AAAA,CAAzB,EAEP;;AAEO,IAAMnpC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACqmB,IAAD,EAAqC;AACpE,MAAM4iB,KAAK,GAAGxpC,QAAQ,EAAtB;AACA,SAAO9E,+CAAO,CACb;AAAA,WAAOsuC,KAAK,GAAGN,oDAAW,CAASh6B,MAAM,CAACC,MAAP,CAAcq6B,KAAd,CAAT,EAA+BL,yDAAgB,CAACviB,IAAD,CAA/C,CAAd,GAAuE,EAAnF;AAAA,GADa,EAEb,CAAC4iB,KAAD,EAAQ5iB,IAAR,CAFa,CAAd;AAIA,CANM;AAQA,IAAMtmB,yBAAyB,GAAG,SAA5BA,yBAA4B,CACxCsmB,IADwC,EAExCke,eAFwC,EAGxC6E,SAHwC,EAIZ;AAC5B,MAAMH,KAAK,GAAGxpC,QAAQ,EAAtB;AACA,SAAO9E,+CAAO,CACb;AAAA,WACCsuC,KAAK,GACFH,iDAAQ,CAA0Bn6B,MAAM,CAACC,MAAP,CAAcq6B,KAAd,CAA1B,EAAgD;AACxDI,MAAAA,WAAW,EAAE,qBAAC/nC,CAAD,EAAO;AAAA;;AACnB,YAAM6V,IAAI,GAAG;AACZnR,UAAAA,EAAE,EAAE1E,CAAC,CAAC0E,EADM;AAEZK,UAAAA,KAAK,EAAE/E,CAAC,CAACR,IAFG;AAGZyjC,UAAAA,eAAe,EAAfA,eAHY;AAIZtU,UAAAA,KAAK,EAAE,EAJK;AAKZqZ,UAAAA,MAAM,EAAEhoC,CALI;AAMZs7B,UAAAA,YAAY,EAAEiM,+CAAM,CAACvnC,CAAD;AANR,SAAb;AAQA,YAAMuV,KAAK,iBAAGuyB,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAGjyB,IAAH,CAAZ,mDAAwB,EAAnC;AACA,+CAAYA,IAAZ,GAAqBN,KAArB;AACA,OAZuD;AAaxD0yB,MAAAA,cAAc,EAAEX,yDAAgB,CAACviB,IAAD,CAbwB;AAcxDmjB,MAAAA,YAAY,EAAE,OAd0C;AAexDC,MAAAA,YAAY,EAAEV,gDAf0C;AAgBxDW,MAAAA,IAAI,EAAE;AAhBkD,KAAhD,CADN,GAmBF,EApBJ;AAAA,GADa,EAsBb,CAACnF,eAAD,EAAkB6E,SAAlB,EAA6BH,KAA7B,EAAoC5iB,IAApC,CAtBa,CAAd;AAwBA,CA9BM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DP;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEO,IAAMqiB,cAAc,GAAG3kB,mDAAM,CAAc;AAAA,SAAO;AACxDilB,IAAAA,OAAO,EAAE,EAD+C;AAExDC,IAAAA,KAAK,EAAE,EAFiD;AAGxDE,IAAAA,QAAQ,EAAE;AAH8C,GAAP;AAAA,CAAd,CAA7B;;AAMPQ,4DAAA,GAAyB,gBAAoB;AAAA,MAAjB9lC,IAAiB,QAAjBA,IAAiB;AAC5C6kC,EAAAA,cAAc,CAACrhC,QAAf,CAAwBxD,IAAxB;AACA,CAFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA,IAAMgmC,KAAK,GAAG,SAARA,KAAQ,CAACvoC,CAAD,EAAgC0E,EAAhC;AAAA,SAAwD1E,CAAC,CAAC0E,EAAF,CAAK0I,KAAL,CAAW,GAAX,EAAgB+K,QAAhB,CAAyBzT,EAAzB,CAAxD;AAAA,CAAd;;AACA,IAAM8jC,aAAa,GAAG,SAAhBA,aAAgB,CAACxoC,CAAD,EAAuB;AAAA;;AAC5C,MAAMyoC,KAAK,GAAGzoC,CAAC,CAAC0E,EAAF,CAAK0I,KAAL,CAAW,GAAX,CAAd;AACA,oBAAOq7B,KAAK,CAAC,CAAD,CAAZ,6CAAmBA,KAAK,CAAC,CAAD,CAAxB;AACA,CAHD;;AAIO,IAAMhB,WAAW,GAAG,SAAdA,WAAc,CAACznC,CAAD,EAAuB;AACjD,MAAM0E,EAAE,GAAG8jC,aAAa,CAACxoC,CAAD,CAAxB;;AACA,MAAI0E,EAAE,KAAKgL,sDAAX,EAA0B;AACzB,WAAO,GAAP;AACA;;AACD,SAAOsM,QAAQ,CAACtX,EAAD,EAAK,EAAL,CAAR,GAAmB,EAAnB,gBAA8BA,EAA9B,IAAqC1E,CAAC,CAACR,IAAF,CAAOkpC,WAAP,EAA5C;AACA,CANM;AAQA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAC3oC,CAAD;AAAA,SAAwBuoC,KAAK,CAACvoC,CAAD,EAAI0P,sDAAJ,CAA7B;AAAA,CAAhB;AAEA,IAAM63B,MAAM,GAAG,SAATA,MAAS,CAACvnC,CAAD;AAAA,SACrBA,CAAC,CAAC0E,EAAF,KAASgL,0DAAT,IAA+B1P,CAAD,CAAkB4oC,KAAlB,KAA4B32B,kDADrC;AAAA,CAAf;AAGA,IAAMq1B,gBAAgB,GAC5B,SADYA,gBACZ,CAACngB,CAAD;AAAA,SACA,UAACihB,IAAD;AAAA,WACA,UAACpoC,CAAD;AAAA,aACCA,CAAC,CAAC+kB,IAAF,KAAWoC,CAAX,IAAgB,CAACihB,IAAjB,IAA0B,OAAOpoC,CAAC,CAAC+kB,IAAT,KAAkB,WAAlB,IAAiC,CAACwiB,MAAM,CAACvnC,CAAD,CADnE;AAAA,KADA;AAAA,GADA;AAAA,CADM;AAMA,IAAMqnC,WAAW,GAAG,SAAdA,WAAc,CAC1BptC,QAD0B,EAE1B+F,CAF0B,EAG1BooC,IAH0B;AAAA,SAK1BnuC,QAAQ,CACNiP,MADF,CACSlJ,CAAC,CAACooC,IAAD,CADV,EAEEhoC,GAFF,CAEM,UAACgY,CAAD;AAAA,2CAAaA,CAAb;AAAgBne,MAAAA,QAAQ,EAAEotC,WAAW,CAAcjvB,CAAC,CAACne,QAAhB,EAA0B+F,CAA1B,EAA6B,IAA7B;AAArC;AAAA,GAFN,CAL0B;AAAA,CAApB;AAgBA,IAAMwnC,QAAQ,GAAG,SAAXA,QAAW,CACvBvtC,QADuB;AAAA,MAErB8tC,WAFqB,QAErBA,WAFqB;AAAA,MAERE,cAFQ,QAERA,cAFQ;AAAA,MAEQC,YAFR,QAEQA,YAFR;AAAA,MAEsBC,YAFtB,QAEsBA,YAFtB;AAAA,MAEoCC,IAFpC,QAEoCA,IAFpC;AAAA,SAIvB5E,+CAAM,CAACvpC,QAAD,EAAWkuC,YAAX,CAAN,CAA+BrtC,MAA/B,CAAsC,UAACiF,GAAD,EAAMioC,MAAN,EAAiB;AACtD,QAAIC,cAAc,CAACG,IAAD,CAAd,CAAqBJ,MAArB,CAAJ,EAAkC;AACjCjoC,MAAAA,GAAG,CAACyG,IAAJ,iCACIuhC,WAAW,CAACC,MAAD,CADf,6FAEEE,YAFF,EAEiBV,QAAQ,CAAiBQ,MAAM,CAAC/tC,QAAxB,EAAkC;AACzD8tC,QAAAA,WAAW,EAAXA,WADyD;AAEzDE,QAAAA,cAAc,EAAdA,cAFyD;AAGzDC,QAAAA,YAAY,EAAZA,YAHyD;AAIzDC,QAAAA,YAAY,EAAZA,YAJyD;AAKzDC,QAAAA,IAAI,EAAE;AALmD,OAAlC,CAFzB;AAUA;;AACD,WAAOroC,GAAP;AACA,GAdD,EAcG,EAdH,CAJuB;AAAA,CAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDP;AACA;AACA;AACA;AACA;AACA;CAEA;AACA;;CAEA;;AACA8oC,wDAAO,EAEP;;CAEA;;CAEA;;CAGA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAeA,IAAME,QAA2B,GAAG,SAA9BA,QAA8B,OAO9B;AAAA,MANLC,cAMK,QANLA,cAMK;AAAA,yBALLC,MAKK;AAAA,MALLA,MAKK,4BALI,KAKJ;AAAA,MAJLxzB,KAIK,QAJLA,KAIK;AAAA,MAHLyzB,aAGK,QAHLA,aAGK;AAAA,MAFLvH,YAEK,QAFLA,YAEK;AAAA,MADFwH,IACE;;AACL,kBAA8B57B,+CAAQ,CAACo0B,YAAD,CAAtC;AAAA;AAAA,MAAOuF,OAAP;AAAA,MAAgBkC,UAAhB;;AAEA,MAAMC,eAAe,GAAG5uC,kDAAW,CAClC,UAAC6uC,UAAD,EAAaC,MAAb,EAAwB;AACvBH,IAAAA,UAAU,CAACE,UAAD,CAAV;AACAN,IAAAA,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAG,CAChBO,MAAM,CAACC,UAAP,CAAkB;AAAErQ,MAAAA,MAAM,EAAE;AAAV,KAAlB,CADgB,EAEhBoQ,MAAM,CAACC,UAAP,CAAkB;AAAErQ,MAAAA,MAAM,EAAE;AAAV,KAAlB,CAFgB,CAAH,CAAd;AAIA,GAPiC,EAQlC,CAACiQ,UAAD,EAAaJ,cAAb,CARkC,CAAnC;;AAWA98B,EAAAA,gDAAS,CAAC;AAAA,WAAMk9B,UAAU,CAAC3zB,KAAD,CAAhB;AAAA,GAAD,EAA0B,CAACA,KAAD,CAA1B,CAAT;AAEA,sBACC,2DAAC,uEAAD;AACC,UAAM,EAAC,MADR;AAEC,kBAAc,EAAC,UAFhB;AAGC,iBAAa,EAAC,YAHf;AAIC,SAAK,EAAE;AAAE2tB,MAAAA,SAAS,EAAE;AAAb;AAJR,kBAMC,2DAAC,2DAAD;AACC,SAAK,EAAE8D,OADR;AAEC,QAAI,EAAE;AACLuC,MAAAA,QAAQ,YAAKP,aAAL,4BADH;AAELQ,MAAAA,WAAW,YAAKR,aAAL,+CAFN;AAGLS,MAAAA,UAAU,EAAE,GAHP;AAILC,MAAAA,OAAO,EAAE,KAJJ;AAKLC,MAAAA,SAAS,EAAE,KALN;AAMLC,MAAAA,QAAQ,EAAE,KANL;AAOLC,MAAAA,MAAM,EAAE,IAPH;AAQLd,MAAAA,MAAM,EAANA,MARK;AASLe,MAAAA,OAAO,EAAE,CACR,SADQ,EAER,UAFQ,EAGR,OAHQ,EAIR,MAJQ,EAKR,OALQ,EAMR,SANQ,EAOR,OAPQ,EAQR,SARQ,EASR,QATQ,EAUR,eAVQ,EAWR,MAXQ,EAYR,YAZQ,EAaR,gBAbQ,EAcR,OAdQ,EAeR,OAfQ,EAgBR,OAhBQ,EAiBR,MAjBQ,EAkBR,MAlBQ,EAmBR,WAnBQ,EAoBR,gBApBQ,EAqBR,YArBQ,CATJ;AAgCLC,MAAAA,OAAO,EAAEhB,MAAM,GACZ,KADY,GAEZ;AACA,yNAnCE;AAoCLiB,MAAAA,wBAAwB,EAAEjB,MAAM,GAAG,iBAAH,GAAuB,EApClD;AAqCLkB,MAAAA,2BAA2B,EAAElB,MAAM,GAChC,wEADgC,GAEhC,WAvCE;AAwCLmB,MAAAA,WAAW,EAAEnB,MAAM,GAAG,EAAH,GAAQ,EAxCtB;AAyCLoB,MAAAA,YAAY,EAAE;AAzCT,KAFP;AA6CC,kBAAc,EAAEhB;AA7CjB,KA8CKF,IA9CL,EAND,CADD;AAyDA,CAhFD;;AAkFA,iEAAeJ,QAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7IA;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAEA;AACA;AACA;AAEA;AACA;CAEA;;AACO,IAAMttC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACiJ,EAAD,EAAqC;AAAA;;AACrE,MAAM6lC,WAAW,4BAAG/oC,iEAAA,GAAgCgpC,KAAnC,0DAAG,sBAAwC9lC,EAAxC,CAApB,CADqE,CAErE;;AACA,SAAO6lC,WAAW,GAAG,CAACA,WAAD,EAAc,IAAd,CAAH,GAAyB,CAAC,YAAY,CAAE,CAAf,EAAiB,KAAjB,CAA3C;AACA,CAJM,EAKP;;AACO,IAAM/uC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACkJ,EAAD,EAAqC;AAAA;;AACzE,MAAM6lC,WAAW,6BAAG/oC,iEAAA,GAAgC1B,SAAnC,2DAAG,uBAA4C4E,EAA5C,CAApB,CADyE,CAEzE;;AACA,SAAO6lC,WAAW,GAAG,CAACA,WAAD,EAAc,IAAd,CAAH,GAAyB,CAAC,YAAY,CAAE,CAAf,EAAiB,KAAjB,CAA3C;AACA,CAJM;AAMA,IAAMhvC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACmJ,EAAD,EAAuD;AAAA;;AAC5F,MAAM+lC,WAAW,6BAAGjpC,iEAAA,GAAgC4a,UAAnC,2DAAG,uBAA6C1X,EAA7C,CAApB;;AACA,MAAI+lC,WAAJ,EAAiB;AAChB,QAAMC,CAAK,GAAG,SAARA,CAAQ,CAACn1B,KAAD;AAAA,0BACb,2DAAC,sEAAD;AAAoB,WAAG,EAAEk1B,WAAW,CAACrwC;AAArC,sBAGC,2DAAC,WAAD,CAAa,IAAb,EAAsBmb,KAAtB,CAHD,CADa;AAAA,KAAd;;AAOA,WAAO,CAACm1B,CAAD,EAAI,IAAJ,CAAP;AACA;;AACD,SAAO,CAAC;AAAA,WAAY,IAAZ;AAAA,GAAD,EAAmB,KAAnB,CAAP;AACA,CAbM;AAeA,IAAMtvC,UAAU,GAAG,SAAbA,UAAa,CAAKkmB,MAAL,EAAgB/I,IAAhB,EAAgD;AACzE,MAAMoyB,SAAS,GAAGnpC,iEAAA,GAAgCy/B,OAAhC,CAAwC1oB,IAAxC,CAAlB;AACA,SAAO+xB,+CAAO,CACblqC,2CAAG,CAACuqC,SAAD,EAAY,UAAC3qC,CAAD,EAAO;AACrB,QAAI;AACH,UAAM0c,MAAM,GAAG1c,CAAC,CAACshB,MAAD,CAAhB;AACA,aAAO5E,MAAP;AACA,KAHD,CAGE,OAAOhV,CAAP,EAAU;AACX;AACA7M,MAAAA,OAAO,CAACD,KAAR,CAAc8M,CAAd;AACA,aAAO4Q,SAAP;AACA;AACD,GATE,CADU,CAAd;AAYA,CAdM;AAgBA,IAAMjd,iBAAiB,GAAG,SAApBA,iBAAoB,CAACkd,IAAD,EAAqD;AACrF,MAAMoyB,SAAS,GAAGnpC,iEAAA,GAAgCy/B,OAAhC,CAAwC1oB,IAAxC,CAAlB;AACA,SAAO,UAAK+I,MAAL;AAAA,WACNgpB,+CAAO,CACNlqC,2CAAG,CAACuqC,SAAD,EAAY,UAAC3qC,CAAD,EAAO;AACrB,UAAI;AACH,YAAM0c,MAAM,GAAG1c,CAAC,CAACshB,MAAD,CAAhB;AACA,eAAO5E,MAAP;AACA,OAHD,CAGE,OAAOhV,CAAP,EAAU;AACX;AACA7M,QAAAA,OAAO,CAACD,KAAR,CAAc8M,CAAd;AACA,eAAO4Q,SAAP;AACA;AACD,KATE,CADG,CADD;AAAA,GAAP;AAaA,CAfM;AAiBA,IAAMnd,SAAS,GAAG,SAAZA,SAAY,CACxBod,IADwB,EAExB7T,EAFwB,EAGxB4c,MAHwB,EAIW;AAAA;;AACnC,MAAMspB,OAAO,6BAAGppC,iEAAA,GAAgCy/B,OAAhC,CAAwC1oB,IAAxC,CAAH,2DAAG,uBAAgD7T,EAAhD,CAAhB;AACA,MAAMgY,MAAM,GAAGkuB,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAGtpB,MAAH,CAAtB;AACA,SAAO,CAAC5E,MAAD,EAAS,CAAC,CAACA,MAAX,CAAP;AACA,CARM;AAUA,IAAMphB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC/Bid,IAD+B,EAE/B7T,EAF+B,EAGc;AAAA;;AAC7C,MAAMkmC,OAAO,6BAAGppC,iEAAA,GAAgCy/B,OAAhC,CAAwC1oB,IAAxC,CAAH,2DAAG,uBAAgD7T,EAAhD,CAAhB;AACA,SAAO,CAACkmC,OAAD,EAAU,CAAC,CAACA,OAAZ,CAAP;AACA,CANM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFP;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAEA;AACA;AACA;AAEA;AACA;CAEA;;AACO,IAAM9tC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC4H,EAAD,EAAqC;AACrE,MAAM6lC,WAAW,GAAG/oC,4DAAoB,CAAC,UAACd,CAAD;AAAA;;AAAA,uBAAOA,CAAC,CAAC8pC,KAAT,6CAAO,SAAU9lC,EAAV,CAAP;AAAA,GAAD,CAAxC,CADqE,CAErE;;AACA,SAAO6lC,WAAW,GAAG,CAACA,WAAD,EAAc,IAAd,CAAH,GAAyB,CAAC,YAAY,CAAE,CAAf,EAAiB,KAAjB,CAA3C;AACA,CAJM,EAKP;;AACO,IAAM1tC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAC6H,EAAD,EAAqC;AACzE,MAAM6lC,WAAW,GAAG/oC,4DAAoB,CAAC,UAACd,CAAD;AAAA;;AAAA,2BAAOA,CAAC,CAACZ,SAAT,iDAAO,aAAc4E,EAAd,CAAP;AAAA,GAAD,CAAxC,CADyE,CAEzE;;AACA,SAAO6lC,WAAW,GAAG,CAACA,WAAD,EAAc,IAAd,CAAH,GAAyB,CAAC,YAAY,CAAE,CAAf,EAAiB,KAAjB,CAA3C;AACA,CAJM;AAMA,IAAM3tC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAC8H,EAAD,EAAuD;AAC5F,MAAM+lC,WAAW,GAAGjpC,4DAAoB,CAAC,UAACd,CAAD;AAAA;;AAAA,4BAAOA,CAAC,CAAC0b,UAAT,kDAAO,cAAe1X,EAAf,CAAP;AAAA,GAAD,CAAxC;AACA,SAAOrL,8CAAO,CAAC,YAAM;AACpB,QAAIoxC,WAAJ,EAAiB;AAChB,UAAMC,CAAK,GAAG,SAARA,CAAQ,CAACn1B,KAAD;AAAA,4BACb,2DAAC,sEAAD;AAAoB,aAAG,EAAEk1B,WAAW,CAACrwC;AAArC,wBAGC,2DAAC,WAAD,CAAa,IAAb,EAAsBmb,KAAtB,CAHD,CADa;AAAA,OAAd;;AAOA,aAAO,CAACm1B,CAAD,EAAI,IAAJ,CAAP;AACA;;AACD,WAAO,CAAC;AAAA,aAAY,IAAZ;AAAA,KAAD,EAAmB,KAAnB,CAAP;AACA,GAZa,EAYX,CAACD,WAAD,CAZW,CAAd;AAaA,CAfM;AAiBA,IAAMhuC,UAAU,GAAG,SAAbA,UAAa,CAAK6kB,MAAL,EAAgB/I,IAAhB,EAAgD;AACzE,MAAMoyB,SAAS,GAAGnpC,4DAAoB,CAAC,UAACd,CAAD;AAAA,WAAOA,CAAC,CAACugC,OAAF,CAAU1oB,IAAV,CAAP;AAAA,GAAD,CAAtC;AACA,MAAM0oB,OAAO,GAAG5nC,8CAAO,CACtB;AAAA;;AAAA,uBACCixC,+CAAO,CACNlqC,2CAAG,CAACuqC,SAAD,EAAY,UAAC3qC,CAAD,EAAO;AACrB,UAAI;AACH,YAAM0c,MAAM,GAAG1c,CAAC,CAACshB,MAAD,CAAhB;AACA,eAAO5E,MAAP;AACA,OAHD,CAGE,OAAOhV,CAAP,EAAU;AACX;AACA7M,QAAAA,OAAO,CAACD,KAAR,CAAc8M,CAAd;AACA,eAAO4Q,SAAP;AACA;AACD,KATE,CADG,CADR,+CAYM,EAZN;AAAA,GADsB,EActB,CAACqyB,SAAD,EAAYrpB,MAAZ,CAdsB,CAAvB;AAgBA,SAAO2f,OAAP;AACA,CAnBM;AAqBA,IAAMvkC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAK6b,IAAL,EAAgD;AAChF,MAAMoyB,SAAS,GAAGnpC,4DAAoB,CAAC,UAACd,CAAD;AAAA,WAAOA,CAAC,CAACugC,OAAF,CAAU1oB,IAAV,CAAP;AAAA,GAAD,CAAtC;AACA,MAAMsyB,eAAe,GAAGpwC,kDAAW,CAClC,UAAC6mB,MAAD;AAAA,WACCgpB,+CAAO,CACNlqC,2CAAG,CAACuqC,SAAD,EAAY,UAAC3qC,CAAD,EAAO;AACrB,UAAI;AACH,YAAM0c,MAAM,GAAG1c,CAAC,CAACshB,MAAD,CAAhB;AACA,eAAO5E,MAAP;AACA,OAHD,CAGE,OAAOhV,CAAP,EAAU;AACX;AACA7M,QAAAA,OAAO,CAACD,KAAR,CAAc8M,CAAd;AACA,eAAO4Q,SAAP;AACA;AACD,KATE,CADG,CADR;AAAA,GADkC,EAclC,CAACqyB,SAAD,CAdkC,CAAnC;AAgBA,SAAOE,eAAP;AACA,CAnBM;AAqBA,IAAMruC,SAAS,GAAG,SAAZA,SAAY,CACxB+b,IADwB,EAExB7T,EAFwB,EAGxB4c,MAHwB,EAIW;AACnC,MAAMspB,OAAO,GAAGppC,4DAAoB,CAAC,UAACd,CAAD;AAAA,WAAOA,CAAC,CAACugC,OAAF,CAAU1oB,IAAV,EAAgB7T,EAAhB,CAAP;AAAA,GAAD,CAApC;AACA,MAAMgY,MAAM,GAAGrjB,8CAAO,CAAC,YAAM;AAC5B,QAAI;AACH,aAAOuxC,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAGtpB,MAAH,CAAd;AACA,KAFD,CAEE,OAAO5Z,CAAP,EAAU;AACX,aAAO4Q,SAAP;AACA;AACD,GANqB,EAMnB,CAACsyB,OAAD,EAAUtpB,MAAV,CANmB,CAAtB;AAOA,SAAO,CAAC5E,MAAD,EAAS,CAAC,CAACA,MAAX,CAAP;AACA,CAdM;AAgBA,IAAM/f,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC/B4b,IAD+B,EAE/B7T,EAF+B,EAGc;AAC7C,MAAMkmC,OAAO,GAAGppC,4DAAoB,CAAC,UAACd,CAAD;AAAA,WAAOA,CAAC,CAACugC,OAAF,CAAU1oB,IAAV,EAAgB7T,EAAhB,CAAP;AAAA,GAAD,CAApC;AACA,SAAO,CAACkmC,OAAD,EAAU,CAAC,CAACA,OAAZ,CAAP;AACA,CANM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxGP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEO,IAAMppC,oBAAoB,GAAGihB,oDAAM,CAAoB,UAACG,GAAD;AAAA,SAAU;AACvEqe,IAAAA,OAAO,EAAE,EAD8D;AAEvE7kB,IAAAA,UAAU,EAAE;AACX0uB,MAAAA,QAAQ,EAAE;AACTj1B,QAAAA,IAAI,EAAEkzB,kDADG;AAET3uC,QAAAA,GAAG,EAAEkK,iDAAYA;AAFR;AADC,KAF2D;AAQvEkmC,IAAAA,KAAK,EAAE,EARgE;AASvE1qC,IAAAA,SAAS,EAAE,EAT4D;AAUvEyD,IAAAA,eAAe,EAAE;AAAA,wCACborB,KADa;AACbA,QAAAA,KADa;AAAA;;AAAA,aAGhB/L,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAW;AAClB0L,QAAAA,gDAAO,CAAC+a,KAAD,EAAQ,gBAA0B;AAAA,cAAvBjqB,EAAuB,QAAvBA,EAAuB;AAAA,cAAnBgY,MAAmB,QAAnBA,MAAmB;AAAA,cAAXnE,IAAW,QAAXA,IAAW;AACxC,cAAI,CAACrQ,KAAK,CAAC+4B,OAAN,CAAc1oB,IAAd,CAAL,EAA0BrQ,KAAK,CAAC+4B,OAAN,CAAc1oB,IAAd,IAAsB,EAAtB;AAC1BrQ,UAAAA,KAAK,CAAC+4B,OAAN,CAAc1oB,IAAd,EAAoB7T,EAApB,IAA0BgY,MAA1B;AACA,SAHM,CAAP;AAIA,OALM,CADL,CAHa;AAAA,KAVsD;AAqBvEjZ,IAAAA,kBAAkB,EACjB,4BAACrJ,GAAD;AAAA,aACA;AAAA,2CAAIu0B,KAAJ;AAAIA,UAAAA,KAAJ;AAAA;;AAAA,eACC/L,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAW;AAClB0L,UAAAA,gDAAO,CAAC+a,KAAD,EAAQ,iBAAuB;AAAA,gBAApBjqB,EAAoB,SAApBA,EAAoB;AAAA,gBAAhBG,SAAgB,SAAhBA,SAAgB;AACrCqD,YAAAA,KAAK,CAACkU,UAAN,CAAiB1X,EAAjB,IAAuB;AAAEtK,cAAAA,GAAG,EAAHA,GAAF;AAAOyb,cAAAA,IAAI,EAAEhR;AAAb,aAAvB;AACA,WAFM,CAAP;AAGA,SAJM,CADL,CADJ;AAAA,OADA;AAAA,KAtBsE;AA+BvE1B,IAAAA,aAAa,EAAE;AAAA,yCAAIwrB,KAAJ;AAAIA,QAAAA,KAAJ;AAAA;;AAAA,aACd/L,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAW;AAClB0L,QAAAA,gDAAO,CAAC+a,KAAD,EAAQ,iBAAkB;AAAA,cAAfjqB,EAAe,SAAfA,EAAe;AAAA,cAAXqmC,IAAW,SAAXA,IAAW;AAChC7iC,UAAAA,KAAK,CAACsiC,KAAN,CAAY9lC,EAAZ,IAAkBqmC,IAAlB;AACA,SAFM,CAAP;AAGA,OAJM,CADL,CADW;AAAA,KA/BwD;AAuCvE1nC,IAAAA,iBAAiB,EAAE;AAAA,yCAAIsrB,KAAJ;AAAIA,QAAAA,KAAJ;AAAA;;AAAA,aAClB/L,GAAG,CACFhf,kDAAO,CAAC,UAACsE,KAAD,EAAW;AAClB0L,QAAAA,gDAAO,CAAC+a,KAAD,EAAQ,iBAAgB;AAAA,cAAbjqB,EAAa,SAAbA,EAAa;AAAA,cAATsmC,EAAS,SAATA,EAAS;AAC9B9iC,UAAAA,KAAK,CAACpI,SAAN,CAAgB4E,EAAhB,IAAsBsmC,EAAtB;AACA,SAFM,CAAP;AAGA,OAJM,CADL,CADe;AAAA,KAvCoD;AA+CvExnC,IAAAA,aAAa,EAAE;AAAA,yCAAIynC,GAAJ;AAAIA,QAAAA,GAAJ;AAAA;;AAAA,aACdroB,GAAG,CAAC,UAACliB,CAAD;AAAA,+CACAA,CADA;AAEHugC,UAAAA,OAAO,EAAEnmC,+CAAM,CACd4F,CAAC,CAACugC,OADY,EAEd,UAAClhC,GAAD,EAAMkhC,OAAN,EAAe1oB,IAAf;AAAA,mDAA8BxY,GAA9B,8FAAoCwY,IAApC,EAA2C4tB,6CAAI,CAAClF,OAAD,EAAUgK,GAAV,CAA/C;AAAA,WAFc,EAGd,EAHc;AAFZ;AAAA,OAAD,CADW;AAAA,KA/CwD;AAwDvEvnC,IAAAA,gBAAgB,EAAE;AAAA,yCAAIunC,GAAJ;AAAIA,QAAAA,GAAJ;AAAA;;AAAA,aACjBroB,GAAG,CAAC,UAACliB,CAAD;AAAA,+CACAA,CADA;AAEHugC,UAAAA,OAAO,EAAEkF,6CAAI,CAACzlC,CAAC,CAAC0b,UAAH,EAAe6uB,GAAf;AAFV;AAAA,OAAD,CADc;AAAA,KAxDqD;AA6DvE7nC,IAAAA,WAAW,EAAE;AAAA,yCAAI6nC,GAAJ;AAAIA,QAAAA,GAAJ;AAAA;;AAAA,aACZroB,GAAG,CAAC,UAACliB,CAAD;AAAA,+CACAA,CADA;AAEHugC,UAAAA,OAAO,EAAEkF,6CAAI,CAACzlC,CAAC,CAAC8pC,KAAH,EAAUS,GAAV;AAFV;AAAA,OAAD,CADS;AAAA,KA7D0D;AAkEvE3nC,IAAAA,eAAe,EAAE;AAAA,yCAAI2nC,GAAJ;AAAIA,QAAAA,GAAJ;AAAA;;AAAA,aAChBroB,GAAG,CAAC,UAACliB,CAAD;AAAA,+CACAA,CADA;AAEHugC,UAAAA,OAAO,EAAEkF,6CAAI,CAACzlC,CAAC,CAACZ,SAAH,EAAcmrC,GAAd;AAFV;AAAA,OAAD,CADa;AAAA;AAlEsD,GAAV;AAAA,CAApB,CAAnC;;;;;;;;;;;;;;;;;ACbP;AACA;AACA;AACA;AACA;AAEA;AAEO,IAAMlsC,SAAS,GAAG,SAAZA,SAAY,GAAoB;AAC5C,MAAM4a,MAAM,GAAGhB,uDAAe,CAAC,UAACjY,CAAD;AAAA;;AAAA,wBAAOA,CAAC,CAACiZ,MAAT,iDAAmB,EAAnB;AAAA,GAAD,CAA9B;AACA,SAAOA,MAAP;AACA,CAHM;AAIA,IAAM3a,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAmB2Z,uDAAe,CAAC,UAACjY,CAAD;AAAA;;AAAA,yBAAOA,CAAC,CAACka,OAAT,mDAAoB,EAApB;AAAA,GAAD,CAAlC;AAAA,CAAnB;;;;;;;;;;;;;;;;;;;ACZP;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACO,IAAMjC,eAAe,GAAG8J,mDAAM,CAAe;AAAA,SAAO;AAC1DzI,IAAAA,WAAW,EAAE1B,SAD6C;AAE1DQ,IAAAA,eAAe,EAAE,KAFyC;AAG1DkC,IAAAA,GAAG,EAAE;AAHqD,GAAP;AAAA,CAAf,CAA9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXP;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEO,IAAMpC,UAAU,GAAG,SAAbA,UAAa;AAAA,MAAGgC,OAAH,QAAGA,OAAH;AAAA,MAAYjB,MAAZ,QAAYA,MAAZ;AAAA,SACzB,IAAIvS,OAAJ,CAAY,UAAC0L,CAAD,EAAO;AAClB,gCAAgB6F,4DAAA,EAAhB;AAAA,QAAQqC,GAAR,yBAAQA,GAAR;;AACA,QAAIJ,OAAJ,EAAa;AAAA;;AACZswB,MAAAA,2DAAA,CAAsB;AACrBvuB,QAAAA,EAAE,EAAE,SADiB;AAErB0uB,QAAAA,IAAI,EAAEzwB,OAAO,CAACywB;AAFO,OAAtB;AAIAhD,MAAAA,8DAAA,CAAyB;AACxB1rB,QAAAA,EAAE,EAAE,SADoB;AAExBqrB,QAAAA,MAAM,qBAAEptB,OAAO,CAACotB,MAAV,6DAAoB;AAFF,OAAzB;AAIA;;AACD,QAAIruB,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEwG,MAAZ,EAAoB;AACnBvM,MAAAA,+CAAO,CAAC+F,MAAD,EAAS,UAAC9D,IAAD,EAAU;AACzB,YAAIA,IAAI,CAACmF,GAAL,GAAWA,GAAf,EAAoB;AACnBkwB,UAAAA,2DAAA,CAAsB;AACrBvuB,YAAAA,EAAE,EAAE,QADiB;AAErBhD,YAAAA,MAAM,EAAE9D,IAFa;AAGrB3N,YAAAA,KAAK,EAAEijC,uDAAA,GAAuBE;AAHT,WAAtB;AAKAhD,UAAAA,8DAAA,CAAyB;AACxB1rB,YAAAA,EAAE,EAAE,QADoB;AAExBhD,YAAAA,MAAM,EAAE9D,IAFgB;AAGxB3N,YAAAA,KAAK,EAAEk/B,4DAAA,GAA0BM;AAHT,WAAzB;AAKA;AACD,OAbM,CAAP;AAcA;;AACD50B,IAAAA,CAAC;AACD,GA7BD,CADyB;AAAA,CAAnB,EA+BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;;AACA;;AAEO,IAAMhU,OAAO,GAAG,SAAVA,OAAU,CAACmsC,GAAD;AAAA,SACtBE,mDAAW,CAAC,UAACzqC,CAAD;AAAA,WAAQuqC,GAAG,GAAGK,4CAAI,CAAC5qC,CAAC,CAAC2qC,IAAH,EAASJ,GAAT,CAAP,GAAuBvqC,CAAC,CAAC2qC,IAApC;AAAA,GAAD,CADW;AAAA,CAAhB;AAEA,IAAMxsC,OAAO,GAAG,SAAVA,OAAU,CAACosC,GAAD;AAAA,SACtBA,GAAG,GAAGK,4CAAI,CAACH,wDAAA,GAAuBE,IAAxB,EAA8BJ,GAA9B,CAAP,GAA4CE,wDAAA,GAAuBE,IADhD;AAAA,CAAhB;;;;;;;;;;;;;;;;;;;ACfP;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEO,IAAMF,WAAW,GAAG1oB,mDAAM,CAAW;AAAA,SAAO;AAClD4oB,IAAAA,IAAI,EAAE;AAD4C,GAAP;AAAA,CAAX,CAA1B;;AAIPH,yDAAA,GAAsB,gBAAoB;AAAA,MAAjB3oC,IAAiB,QAAjBA,IAAiB;AACzC4oC,EAAAA,WAAW,CAACplC,QAAZ,CAAqBxD,IAArB;AACA,CAFD;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAKO,IAAMqE,OAAyB,GAAG,SAA5BA,OAA4B,OAA4B;AAAA,MAAzB6kC,EAAyB,QAAzBA,EAAyB;AAAA,MAArBxpC,KAAqB,QAArBA,KAAqB;AAAA,MAAXknC,IAAW;;AACpE,MAAMuC,GAAG,GAAGryC,8CAAO,CAAC;AAAA,WAAM4Z,2DAAW,CAAC;AAAEG,MAAAA,IAAI,EAAEq4B,EAAR;AAAYxpC,MAAAA,KAAK,EAALA;AAAZ,KAAD,CAAjB;AAAA,GAAD,EAAyC,CAACA,KAAD,EAAQwpC,EAAR,CAAzC,CAAnB;;AACA,sBAAO,2DAAC,kDAAD;AAAQ,SAAK,EAAE;AAAEE,MAAAA,cAAc,EAAE;AAAlB,KAAf;AAA2C,MAAE,EAAED;AAA/C,KAAwDvC,IAAxD,EAAP;AACA,CAHM;;;;;;;;;;;;;;;;;;;;;;;;;ACbP;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEO,IAAM3Q,iBAGX,GAAG,SAHQA,iBAGR,OAAgC;AAAA,MAA7Bv+B,QAA6B,QAA7BA,QAA6B;AAAA,MAAnB4xC,IAAmB,QAAnBA,IAAmB;AAAA,MAAbhf,MAAa,QAAbA,MAAa;AACpC,MAAMhhB,OAAO,GAAGP,4DAAU,EAA1B;AACA,MAAMwgC,mBAAmB,GAAGzyC,8CAAO,CAAC;AAAA,WAAMwS,OAAO,CAACgH,QAAR,CAAiBE,QAAvB;AAAA,GAAD,EAAkC,CAAClH,OAAD,CAAlC,CAAnC;;AACA,kBAAwC0B,+CAAQ,CAAC,KAAD,CAAhD;AAAA;AAAA,MAAOw+B,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAwCz+B,+CAAQ,CAAWu+B,mBAAX,CAAhD;AAAA;AAAA,MAAOG,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAsD3+B,+CAAQ,CAAC,KAAD,CAA9D;AAAA;AAAA,MAAO4+B,mBAAP;AAAA,MAA4BC,sBAA5B;;AACA,wBAAYjgC,6DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,MAAM4pB,OAAO,GAAG,SAAVA,OAAU,GAAY;AAC3Bwd,IAAAA,eAAe,CAAC,KAAD,CAAf;AACAI,IAAAA,sBAAsB,CAAC,IAAD,CAAtB;AACA,GAHD;;AAIA,MAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,YAAD,EAAqC;AACpE,QACC,CAACH,mBAAD,IACAG,YAAY,CAACv5B,QAAb,MAA2B,CAAAk5B,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEl5B,QAAd,KAA0B+4B,mBAArD,CAFD,EAGE;AACDE,MAAAA,eAAe,CAAC,IAAD,CAAf;AACAE,MAAAA,eAAe,CAACI,YAAD,CAAf;AACA,aAAO,KAAP;AACA;;AACD,WAAO,IAAP;AACA,GAVD;;AAWA,MAAMle,SAAS,GAAG,SAAZA,SAAY,GAAY;AAC7B4d,IAAAA,eAAe,CAAC,KAAD,CAAf;AACAnf,IAAAA,MAAM;AACNuf,IAAAA,sBAAsB,CAAC,IAAD,CAAtB;AACA,GAJD;;AAKAlgC,EAAAA,gDAAS,CAAC,YAAM;AACf,QAAIigC,mBAAmB,IAAIF,YAA3B,EAAyC;AACxC;AACApgC,MAAAA,OAAO,CAACrF,IAAR,CAAaylC,YAAY,CAACl5B,QAA1B;AACA;AACD,GALQ,EAKN,CAACo5B,mBAAD,EAAsBtgC,OAAtB,EAA+BogC,YAA/B,CALM,CAAT;AAMA,sBACC,uIACC,2DAAC,oDAAD;AAAQ,QAAI,EAAEJ,IAAd;AAAoB,WAAO,EAAEQ;AAA7B,IADD,eAGC,2DAAC,kEAAD;AACC,QAAI,EAAEN,YADP;AAEC,WAAO,EAAEvd,OAFV;AAGC,aAAS,EAAEJ,SAHZ;AAIC,SAAK,EAAExpB,CAAC,CAAC,uBAAD,EAA0B,0BAA1B,CAJT;AAKC,gBAAY,EAAEA,CAAC,CAAC,oBAAD,EAAuB,cAAvB,CALhB;AAMC,gBAAY,EAAEA,CAAC,CAAC,sBAAD,EAAyB,gBAAzB;AANhB,KAQE3K,QARF,CAHD,CADD;AAgBA,CApDM;AAqDP,iEAAeu+B,iBAAf;;;;;;;;;;;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEO,IAAM7xB,OAAW,GAAG,SAAdA,OAAc;AAAA,sBAC1B,2DAAC,sEAAD;AAAW,SAAK,EAAC,MAAjB;AAAwB,UAAM,EAAC,MAA/B;AAAsC,iBAAa,EAAC,QAApD;AAA6D,kBAAc,EAAC;AAA5E,kBAEC,2DAAC,mEAAD;AAAQ,QAAI,EAAC,OAAb;AAAqB,SAAK,EAAC,QAA3B;AAAoC,SAAK,EAAC,SAA1C;AAAoD,WAAO;AAA3D,IAFD,CAD0B;AAAA,CAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAM6lC,cAAyC,GAAG,SAA5CA,cAA4C,OAAc;AAAA,MAAXznB,IAAW,QAAXA,IAAW;;AAC/D,4BAA+Cqf,0DAAkB,EAAjE;AAAA,MAAQqI,IAAR,uBAAQA,IAAR;AAAA,MAAc1R,OAAd,uBAAcA,OAAd;AAAA,MAAuBlkB,OAAvB,uBAAuBA,OAAvB;AAAA,MAAgC61B,UAAhC,uBAAgCA,UAAhC;;AACA,MAAM9X,OAAO,GAAGn6B,kDAAW,CAAC,YAAY;AACvC;AACAsgC,IAAAA,OAAO,CAAClkB,OAAO,KAAKkO,IAAI,CAACrgB,EAAjB,GAAsB,MAAtB,GAA+B+nC,IAAI,KAAK,MAAT,GAAkB,MAAlB,GAA2B,QAA3D,CAAP;AACAC,IAAAA,UAAU,CAAC3nB,IAAI,CAACrgB,EAAN,CAAV;AACA,GAJ0B,EAIxB,CAACmS,OAAD,EAAU41B,IAAV,EAAgBC,UAAhB,EAA4B3R,OAA5B,EAAqChW,IAAI,CAACrgB,EAA1C,CAJwB,CAA3B;;AAKA,MAAI,OAAOqgB,IAAI,CAACkiB,MAAZ,KAAuB,QAA3B,EAAqC;AACpC,wBACC,2DAAC,qEAAD;AAAS,WAAK,EAAEliB,IAAI,CAAChgB,KAArB;AAA4B,eAAS,EAAC;AAAtC,oBACC,2DAAC,wEAAD;AACC,UAAI,EAAEggB,IAAI,CAACkiB,MADZ;AAEC,eAAS,EAAEpwB,OAAO,KAAKkO,IAAI,CAACrgB,EAAjB,GAAsB,SAAtB,GAAkC,MAF9C;AAGC,aAAO,EAAEkwB,OAHV;AAIC,UAAI,EAAC;AAJN,MADD,CADD;AAUA;;AACD,sBAAO,2DAAC,IAAD,CAAM,MAAN;AAAa,QAAI,EAAE6X,IAAnB;AAAyB,WAAO,EAAE1R;AAAlC,IAAP;AACA,CApBD;;AAsBO,IAAMiK,eAAmB,GAAG,SAAtBA,eAAsB,GAAM;AAAA;;AACxC,MAAM/+B,KAAK,GAAGsmC,uDAAe,EAA7B;;AACA,wBAAYpgC,8DAAc,EAA1B;AAAA;AAAA,MAAOvH,CAAP;;AACA,MAAM8S,OAAO,GAAG5b,+DAAc,EAA9B;AACA,MAAM6wC,YAAY,GAAGtzC,8CAAO,CAC3B;AAAA;;AAAA,WAAM,CACL;AACCqL,MAAAA,EAAE,EAAE,SADL;AAECK,MAAAA,KAAK,mCAAE2S,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEC,WAAX,uEAA0BD,OAA1B,aAA0BA,OAA1B,uBAA0BA,OAAO,CAAElY,IAAnC,yCAA2C,EAFjD;AAGC2f,MAAAA,QAAQ,EAAE;AAHX,KADK,EAML;AACC5G,MAAAA,IAAI,EAAE,SADP;AAEC7T,MAAAA,EAAE,EAAE,SAFL;AAGCK,MAAAA,KAAK,EAAE;AAHR,KANK,EAWL;AACCL,MAAAA,EAAE,EAAE,UADL;AAECK,MAAAA,KAAK,EAAEH,CAAC,CAAC,gBAAD,EAAmB,UAAnB,CAFT;AAGC+e,MAAAA,KAAK,EAAE;AAAA;;AAAA,wCACNzoB,4EAAA,GAA4B2E,yBADtB,0DACN,sBAAuDsS,QAAvD,CAAgE7N,gDAAhE,EACC,YADD,EAEC;AAAE8N,UAAAA,KAAK,EAAExN,CAAC,CAAC,gBAAD,EAAmB,UAAnB;AAAV,SAFD,CADM;AAAA,OAHR;AAQCS,MAAAA,IAAI,EAAE;AARP,KAXK,EAqBL;AACCX,MAAAA,EAAE,EAAE,QADL;AAECK,MAAAA,KAAK,EAAEH,CAAC,CAAC,mBAAD,EAAsB,aAAtB,CAFT;AAGC+e,MAAAA,KAAK,EAAE;AAAA,eAAY9K,oDAAI,EAAhB;AAAA,OAHR;AAICxT,MAAAA,IAAI,EAAE;AAJP,KArBK,EA2BL;AACCX,MAAAA,EAAE,EAAE,MADL;AAECK,MAAAA,KAAK,EAAEH,CAAC,CAAC,qBAAD,EAAwB,eAAxB,CAFT;AAGC;AACA;AACA+e,MAAAA,KAAK,EAAE,iBAAY,CAAE,CALtB;AAMCxE,MAAAA,QAAQ,EAAE,IANX;AAOC9Z,MAAAA,IAAI,EAAE;AAPP,KA3BK,EAoCL;AACCX,MAAAA,EAAE,EAAE,QADL;AAECK,MAAAA,KAAK,EAAEH,CAAC,CAAC,cAAD,EAAiB,QAAjB,CAFT;AAGC+e,MAAAA,KAAK,EAAEnH,mDAHR;AAICnX,MAAAA,IAAI,EAAE;AAJP,KApCK,CAAN;AAAA,GAD2B,EA4C3B,CAACqS,OAAD,EAAU9S,CAAV,CA5C2B,CAA5B;AA8CA,sBACC,2DAAC,uEAAD;AAAW,eAAW,EAAC,YAAvB;AAAoC,SAAK,EAAC;AAA1C,KACExE,2CAAG,CAAC6F,KAAD,EAAQ,UAAC8e,IAAD;AAAA,wBACX,2DAAC,cAAD;AAAgB,UAAI,EAAEA,IAAtB;AAA4B,SAAG,EAAEA,IAAI,CAACrgB;AAAtC,MADW;AAAA,GAAR,CADL,eAIC,2DAAC,qEAAD;AAAS,SAAK,2BAAEgT,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEC,WAAX,yEAA0BD,OAA1B,aAA0BA,OAA1B,uBAA0BA,OAAO,CAAElY,IAAjD;AAAuD,aAAS,EAAC;AAAjE,kBACC,2DAAC,sEAAD;AAAU,SAAK,EAAEmtC,YAAjB;AAA+B,YAAQ,EAAC,OAAxC;AAAgD,oBAAgB;AAAhE,kBACC,2DAAC,wEAAD;AAAY,QAAI,EAAC,eAAjB;AAAiC,QAAI,EAAC;AAAtC,IADD,CADD,CAJD,CADD;AAYA,CA9DM;;;;;;;;;;;;;;;;;;;;ACvCP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMC,KAAK,GAAG1uB,6DAAM,CAACJ,sEAAD,CAAT;AAAA;AAAA;AAAA,4IACD;AAAA,MAAG2uB,IAAH,QAAGA,IAAH;AAAA,SAAuBA,IAAI,KAAK,QAAT,GAAoB,GAApB,GAA0B,EAAjD;AAAA,CADC,EASe;AAAA,MAAG39B,KAAH,SAAGA,KAAH;AAAA,SAAuBA,KAAK,CAACyP,OAAN,CAAcwT,KAAd,CAAoBtT,OAA3C;AAAA,CATf,CAAX;AAWA,IAAMouB,MAAM,GAAG3uB,wEAAH;AAAA;AAAA;AAAA,0EAEF;AAAA,MAAGuuB,IAAH,SAAGA,IAAH;AAAA,SAAuBA,IAAI,KAAK,MAAT,GAAkB,GAAlB,GAAwB,EAA/C;AAAA,CAFE,CAAZ;AAOO,IAAMxH,iBAAqB,GAAG,SAAxBA,iBAAwB,GAAM;AAC1C,4BAA+Cb,0DAAkB,EAAjE;AAAA,MAAQqI,IAAR,uBAAQA,IAAR;AAAA,MAAc1R,OAAd,uBAAcA,OAAd;AAAA,MAAuBlkB,OAAvB,uBAAuBA,OAAvB;AAAA,MAAgC61B,UAAhC,uBAAgCA,UAAhC;;AACA,MAAMzmC,KAAK,GAAGsmC,uDAAe,EAA7B;AACA,MAAMO,YAAY,GAAGzzC,8CAAO,CAAC;AAAA,WAAMgZ,4CAAI,CAACpM,KAAD,EAAQ,UAAC8e,IAAD;AAAA,aAAUA,IAAI,CAACrgB,EAAL,KAAYmS,OAAtB;AAAA,KAAR,CAAV;AAAA,GAAD,EAAmD,CAACA,OAAD,EAAU5Q,KAAV,CAAnD,CAA5B;AACAiG,EAAAA,gDAAS,CAAC,YAAM;AACf,QAAI,EAAE2K,OAAO,IAAIi2B,YAAb,CAAJ,EAAgC;AAAA;;AAC/BJ,MAAAA,UAAU,YAACzmC,KAAK,CAAC,CAAD,CAAN,4CAAC,QAAUvB,EAAX,CAAV;AACA;AACD,GAJQ,EAIN,CAACmS,OAAD,EAAUi2B,YAAV,EAAwBJ,UAAxB,EAAoCzmC,KAApC,CAJM,CAAT;AAKA,SAAO6mC,YAAY,gBAClB,2DAAC,uEAAD;AAAY,QAAI,EAAC;AAAjB,kBACC,2DAAC,MAAD;AAAQ,QAAI,EAAEL;AAAd,kBACC,2DAAC,KAAD;AAAO,QAAI,EAAEA,IAAb;AAAmB,iBAAa,EAAC;AAAjC,KACEK,YAAY,iBACZ,2DAAC,sEAAD;AAAoB,OAAG,EAAEA,YAAF,aAAEA,YAAF,uBAAEA,YAAY,CAAEpoC;AAAvC,kBACC,2DAAC,YAAD,CAAc,SAAd;AAAwB,QAAI,EAAE+nC,IAA9B;AAAoC,WAAO,EAAE1R;AAA7C,IADD,CAFF,CADD,CADD,CADkB,GAYf,IAZJ;AAaA,CAtBM;;;;;;;;;;;;;;;;AC/BP;AACA;AACA;AACA;AACA;AACA;AAGO,IAAMqJ,kBAAkB,GAAG3hB,mDAAM,CAAkB,UAACG,GAAD;AAAA,SAAU;AACnE6pB,IAAAA,IAAI,EAAE,QAD6D;AAEnE51B,IAAAA,OAAO,EAAEyB,SAF0D;AAGnEksB,IAAAA,iBAAiB,EAAE,IAHgD;AAInEzJ,IAAAA,OAAO,EAAE,iBAAC0R,IAAD;AAAA,aACR7pB,GAAG,CAAC,UAACliB,CAAD;AAAA,eAAQ;AAAE+rC,UAAAA,IAAI,EAAJA,IAAF;AAAQjI,UAAAA,iBAAiB,EAAEiI,IAAI,KAAK,MAAT,GAAkB,KAAlB,GAA0B/rC,CAAC,CAAC8jC;AAAvD,SAAR;AAAA,OAAD,CADK;AAAA,KAJ0D;AAMnEkI,IAAAA,UAAU,EAAE,oBAAC71B,OAAD;AAAA,aAAmB+L,GAAG,CAAC;AAAE/L,QAAAA,OAAO,EAAPA;AAAF,OAAD,CAAtB;AAAA,KANuD;AAOnE6tB,IAAAA,oBAAoB,EAAE,8BAACF,iBAAD;AAAA,aAAsC5hB,GAAG,CAAC;AAAE4hB,QAAAA,iBAAiB,EAAjBA;AAAF,OAAD,CAAzC;AAAA;AAP6C,GAAV;AAAA,CAAlB,CAAjC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRP;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEO,IAAMwI,SAAS,GAAG,SAAZA,SAAY,CAACC,EAAD,EAAoBC,EAApB;AAAA,SACxBH,oDAAY,CAACE,EAAD,EAAKC,EAAL,CAAZ,CAAqB/sB,MAArB,GAA8B,CADN;AAAA,CAAlB;AAGA,IAAMsjB,UAAU,GAAG,SAAbA,UAAa,CACzB1e,IADyB,EAEzB5B,WAFyB,EAGZ;AACb,MAAMgqB,iBAAiB,GAAG9/B,MAAM,CAACC,MAAP,CAAc6V,WAAd,aAAcA,WAAd,cAAcA,WAAd,GAA6B,EAA7B,CAA1B;AACA,MAAI4B,IAAI,CAACiiB,eAAT,EAA0B,OAAO,CAACgG,SAAS,CAACG,iBAAD,EAAoBpoB,IAAI,CAACiiB,eAAzB,CAAjB;AAC1B,MAAIjiB,IAAI,CAACgiB,eAAT,EAA0B,OAAOiG,SAAS,CAACG,iBAAD,EAAoBpoB,IAAI,CAACgiB,eAAzB,CAAhB;AAC1B,SAAO,IAAP;AACA,CARM;AASA,IAAMwF,eAAe,GAAG,SAAlBA,eAAkB,GAA0B;AACxD,MAAMa,YAAY,GAAG/sC,uDAAW,CAAC,UAACK,CAAD;AAAA,WAAOA,CAAC,CAACuF,KAAF,CAAQwgC,UAAf;AAAA,GAAD,CAAhC;AAEA,MAAMtjB,WAAW,GAAGhmB,+DAAe,EAAnC;AACA,SAAO9D,8CAAO,CACb;AAAA,WAAM6P,8CAAM,CAACkkC,YAAD,EAAe,UAACjmB,CAAD;AAAA,aAAOsc,UAAU,CAACtc,CAAD,EAAIhE,WAAJ,CAAjB;AAAA,KAAf,CAAZ;AAAA,GADa,EAEb,CAACA,WAAD,EAAciqB,YAAd,CAFa,CAAd;AAIA,CARM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBP;AACA;AACA;AACA;AACA;AAEA;AACA;AACO,IAAMlC,SAAS,GAAG,IAAImC,MAAJ,CAAW,IAAIC,GAAJ,CAAQ,8GAAR,CAAX,CAAlB,EACP;AACA;;AACO,IAAMjF,YAAY,GAAG,IAAIgF,MAAJ,CAAW,IAAIC,GAAJ,CAAQ,iHAAR,CAAX,CAArB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXP;AACA;AACA;AACA;AACA;;AACA;AAiCO,IAAM3tC,mBAAN;AAaA,IAAMgE,YAAN;AACA,IAAM2L,sBAAN;AACA,IAAMI,OAAN;AAGA,IAAMpL,YAAY,GAAG,mBAArB;AACA,IAAMD,eAAe,GAAG,UAAxB;AACA,IAAMD,aAAa,GAAG,QAAtB;AACA,IAAMwM,YAAN;AAGA,IAAM68B,WAAN;AACA,IAAM9hC,QAAN;AACA,IAAMlQ,iBAAN;AACA,IAAMD,qBAAN;AACA,IAAMD,sBAAN;AACA,IAAMH,UAAN;AACA,IAAMC,iBAAN;AACA,IAAMF,SAAN;AACA,IAAMG,gBAAN;AAIA,IAAMwB,iBAAN;AACA,IAAMD,qBAAN;AACA,IAAMD,sBAAN;AACA,IAAMH,UAAN;AACA,IAAMC,iBAAN;AACA,IAAMF,SAAN;AACA,IAAMG,gBAAN;AAIA,IAAM3B,MAAN;AACA,IAAMnB,MAAN;AACA,IAAMoB,aAAN;AACA,IAAMF,aAAN;AACA,IAAMe,cAAN;AACA,IAAMC,eAAN;AACA,IAAMI,aAAN;AACA,IAAMD,YAAN;AACA,IAAMR,cAAN;AACA,IAAMC,eAAN;AACA,IAAMU,aAAN;AACA,IAAMD,YAAN;AACA,IAAM0C,OAAN;AACA,IAAMD,OAAN;AACA,IAAM6uC,MAAN;AACA,IAAMC,MAAN;AACA,IAAM5vC,SAAN;AACA,IAAMF,SAAN;AACA,IAAMG,UAAN;AACA,IAAMF,UAAN;AACA,IAAMG,OAAN;AACA,IAAMC,OAAN;AACA,IAAMC,QAAN;AACA,IAAMC,QAAN;AACA,IAAMwvC,aAAN;AACA,IAAMC,aAAN;AACA,IAAM3uC,SAAN;AACA,IAAME,SAAN;AACA,IAAMD,SAAN;AACA,IAAMF,cAAN;AACA,IAAMhD,eAAN;AACA,IAAMD,cAAN;AACA,IAAMH,eAAN;AACA,IAAMD,cAAN;AACA,IAAMvB,KAAN;AAIA,IAAM0E,SAAN;AACA,IAAMC,UAAN;AACA,IAAM4H,OAAN;AACA,IAAMD,OAAN;AACA,IAAMjH,mBAAN;AAIA,IAAMhC,qBAAN;AACA,IAAMD,qBAAN;AACA,IAAMD,cAAN;AAEA,IAAMlB,WAAN;AACA,IAAMiD,SAAN;AACA,IAAME,YAAN;AACA,IAAMqH,MAAN;AACA,IAAM/E,aAAN;AAEA,IAAMyB,aAAN;AACA,IAAMD,eAAN;AAGA,IAAMG,gBAAN;AACA,IAAMD,kBAAN;AAGA,IAAML,WAAN;AACA,IAAMD,aAAN;AACA,IAAMG,eAAN;AACA,IAAMD,iBAAN,EACP;;AACO,IAAMrB,QAAN;AACA,IAAME,kBAAN,EACP;;AACO,IAAMG,WAAN,EACP;AACA;;AACO,IAAMR,kBAAN;AACA,IAAMC,kBAAN,EACP;AACA;;AACO,IAAMQ,YAAN,EACP;;AACO,IAAME,eAAN,EACP;AACA;;AACO,IAAMC,eAAN,EACP;;AACO,IAAMC,kBAAN,EACP;AACA;;AACO,IAAMC,aAAN,EACP;;AACO,IAAMC,gBAAN,EACP;AACA;;AACO,IAAMC,cAAN,EACP;;AACO,IAAMC,iBAAN,EACP;AACA;;AACO,IAAMC,uBAAN,EACP;;AACO,IAAMC,0BAAN,EACP;AACA;;AACO,IAAMC,yBAAN,EACP;;AACO,IAAMC,4BAAN;AACA,IAAMnG,sBAAN;AACA,IAAME,yBAAN;AACA,IAAMD,wBAAN;AACA,IAAMM,WAAN;AACA,IAAMF,cAAN;AACA,IAAMC,aAAN;AACA,IAAMF,eAAN;AACA,IAAMD,eAAN,EAEP;AAEA;AAEA;;AACO,IAAMyB,aAAN;AACA,IAAMC,aAAN,EAEP;;AAEO,IAAMP,eAAN;AACA,IAAMC,gBAAN;AACA,IAAMC,eAAN;AACA,IAAMC,gBAAN,EAEP;;AAEO,IAAME,gBAAN;AAEA,IAAMD,yBAAN,EAMP;;AACO,IAAMY,SAAN;AAEA,IAAM9C,eAAN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpOP;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AAQA;AACO,IAAKuxC,IAAZ;;WAAYA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;AAAAA,EAAAA;GAAAA,SAAAA;;;;;;;;;;;;;ACbZ;AACA;AACA;AACA;AACA;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;CAqBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;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/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.jsx","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//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';\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// 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: Error) => void = (e) => {\n\t\t\tif (!resolved) {\n\t\t\t\tresolved = true;\n\t\t\t\t_reject(e);\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\t(window as unknown as IShellWindow).__ZAPP_SHARED_LIBRARIES__['@zextras/carbonio-shell-ui'][\n\t\t\t\tappPkg.name\n\t\t\t] = {\n\t\t\t\tstore: {\n\t\t\t\t\tstore,\n\t\t\t\t\tsetReducer: (reducer: Reducer): void => store.replaceReducer(reducer)\n\t\t\t\t},\n\t\t\t\treport: report(appPkg.name),\n\t\t\t\tAppLink,\n\t\t\t\tSpinner,\n\t\t\t\tSettingsHeader,\n\t\t\t\t...getAppSetters(appPkg),\n\t\t\t\t...getAppFunctions(appPkg),\n\t\t\t\t...CONSTANTS\n\t\t\t};\n\n\t\t\t(window as unknown as IShellWindow).__ZAPP_HMR_EXPORT__[appPkg.name] = (\n\t\t\t\tappComponent: ComponentType\n\t\t\t): void => {\n\t\t\t\tuseAppStore.setState((state) => ({\n\t\t\t\t\tentryPoints: {\n\t\t\t\t\t\t...state.entryPoints,\n\t\t\t\t\t\t[appPkg.name]: appComponent\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tconsole.info(\n\t\t\t\t\t`%c loaded ${appPkg.name}`,\n\t\t\t\t\t'color: white; background: #539507;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t\t\t\t);\n\t\t\t\tresolve(appPkg);\n\t\t\t};\n\n\t\t\t// if (FLAVOR === 'NPM' && typeof cliSettings !== 'undefined' && cliSettings.hasHandlers) {\n\t\t\t// eslint-disable-next-line max-len\n\t\t\t// (\n\t\t\t// \twindow as unknown as IShellWindow<SharedLibrariesAppsMap, ComponentClass>\n\t\t\t// ).__ZAPP_HMR_HANDLERS__[appPkg.name] = (handlers: RequestHandlersList): void =>\n\t\t\t// \tupdateAppHandlers(appPkg, handlers);\n\t\t\t// }\n\t\t\tconst script: HTMLScriptElement = document.createElement('script');\n\t\t\tscript.setAttribute('type', 'text/javascript');\n\t\t\tscript.setAttribute('data-pkg_name', appPkg.name);\n\t\t\tscript.setAttribute('data-pkg_version', appPkg.version);\n\t\t\tscript.setAttribute('data-is_app', 'true');\n\t\t\tscript.setAttribute('src', `${appPkg.js_entrypoint}`);\n\t\t\tdocument.body.appendChild(script);\n\t\t\t_scripts[`${appPkg.name}-loader-${(_scriptId += 1)}`] = script;\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\treject(err);\n\t\t}\n\t});\n}\n\nexport function loadApp(pkg: CarbonioModule, storeFactory: StoreFactory): Promise<CarbonioModule> {\n\tconst store = storeFactory.getStoreForApp(pkg);\n\treturn loadAppModule(pkg, store);\n}\n\nexport function unloadApps(): Promise<void> {\n\treturn Promise.resolve().then(() => {\n\t\tforOwn(_scripts, (script) => {\n\t\t\tif (script.parentNode) script.parentNode.removeChild(script);\n\t\t});\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\nimport { filter, map } from 'lodash';\n\nimport StoreFactory from '../../redux/store-factory';\n\nimport { loadApp, unloadApps } from './load-app';\nimport { CarbonioModule } from '../../../types';\nimport { injectSharedLibraries } from './shared-libraries';\nimport { getUserSetting } from '../../store/account';\nimport { useReporter } from '../../reporting';\nimport { SHELL_APP_ID } from '../../constants';\n\nexport function loadApps(storeFactory: StoreFactory, apps: Array<CarbonioModule>): void {\n\tinjectSharedLibraries();\n\tconst appsToLoad = filter(apps, (app) => {\n\t\tif (app.name === SHELL_APP_ID) return false;\n\t\tif (app.attrKey && getUserSetting('attrs', app.attrKey) !== 'TRUE') return false;\n\t\treturn true;\n\t});\n\tconsole.log(\n\t\t'%cLOADING APPS',\n\t\t'color: white; background: #2b73d2;padding: 4px 8px 2px 4px; font-family: sans-serif; border-radius: 12px; width: 100%'\n\t);\n\tuseReporter.getState().setClients(appsToLoad);\n\tPromise.allSettled(map(appsToLoad, (app) => loadApp(app, storeFactory)));\n}\n\nexport function unloadAllApps(): Promise<void> {\n\treturn unloadApps();\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable import/no-duplicates */\n/* eslint-disable import/no-named-default */\n\nimport React, { ComponentClass } from 'react';\nimport * as PropTypes from 'prop-types';\nimport * as ReactDOM from 'react-dom';\nimport * as Lodash from 'lodash';\nimport * as ReactRouterDom from 'react-router-dom';\nimport * as Moment from 'moment';\nimport * as ReactI18n from 'react-i18next';\n// import * as Msw from 'msw';\n// import * as Faker from 'faker';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxJSToolkit from '@reduxjs/toolkit';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as ZappUI from '@zextras/carbonio-design-system';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport * as StyledComponents from 'styled-components';\n// 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 } from 'react';\nimport { BrowserRouter, useHistory } from 'react-router-dom';\nimport { SnackbarManagerContext, ModalManagerContext } from '@zextras/carbonio-design-system';\nimport AppLoaderMounter from './app/app-loader-mounter';\nimport { useBridge } from '../store/context-bridge';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport ShellView from '../shell/shell-view';\nimport { BASENAME } from '../constants';\n\nconst ContextBridge: FC = () => {\n\tconst history = useHistory();\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createSnackbar = useContext(SnackbarManagerContext) as Function;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tconst createModal = useContext(ModalManagerContext) as Function;\n\tuseBridge({\n\t\tfunctions: {\n\t\t\tgetHistory: () => history,\n\t\t\tcreateSnackbar,\n\t\t\tcreateModal\n\t\t}\n\t});\n\treturn null;\n};\n\nconst BootstrapperRouter: FC = () => (\n\t<BrowserRouter basename={BASENAME}>\n\t\t<ContextBridge />\n\t\t<AppLoaderMounter />\n\t\t<ShellView />\n\t</BrowserRouter>\n);\n\nexport default BootstrapperRouter;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useEffect, useMemo } from 'react';\nimport { SnackbarManager, ModalManager } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { init } from './init';\nimport { ThemeProvider } from './theme-provider';\nimport BootstrapperRouter from './bootstrapper-router';\nimport BootstrapperContextProvider from './bootstrapper-provider';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { unloadAllApps } from './app/load-apps';\nimport { registerDefaultViews } from './app/default-views';\nimport { useBridge } from '../store/context-bridge';\n\nconst DefaultViewsRegister: FC = () => {\n\tconst [t] = useTranslation();\n\tuseEffect(() => {\n\t\tregisterDefaultViews(t);\n\t}, [t]);\n\treturn null;\n};\n\nconst TBridge: FC<{ i18nFactory: I18nFactory }> = ({ i18nFactory }) => {\n\tuseBridge({\n\t\tfunctions: {},\n\t\tpackageDependentFunctions: {\n\t\t\tt: (app) => i18nFactory.getAppI18n({ name: app }).t\n\t\t}\n\t});\n\treturn null;\n};\n\nconst Bootstrapper: FC = () => {\n\tconst i18nFactory = useMemo(() => new I18nFactory(), []);\n\tconst storeFactory = useMemo(() => new StoreFactory(), []);\n\tuseEffect(() => {\n\t\tinit(i18nFactory, storeFactory);\n\t\treturn () => {\n\t\t\tunloadAllApps();\n\t\t};\n\t}, [i18nFactory, storeFactory]);\n\treturn (\n\t\t<ThemeProvider>\n\t\t\t<SnackbarManager>\n\t\t\t\t<ModalManager>\n\t\t\t\t\t<BootstrapperContextProvider i18nFactory={i18nFactory} storeFactory={storeFactory}>\n\t\t\t\t\t\t<TBridge i18nFactory={i18nFactory} />\n\t\t\t\t\t\t<DefaultViewsRegister />\n\t\t\t\t\t\t<BootstrapperRouter />\n\t\t\t\t\t</BootstrapperContextProvider>\n\t\t\t\t</ModalManager>\n\t\t\t</SnackbarManager>\n\t\t</ThemeProvider>\n\t);\n};\n\nexport default Bootstrapper;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useAccountStore } from '../store/account';\nimport { useAppStore } from '../store/app';\nimport { registerDefaultViews } from './app/default-views';\nimport { loadApps } from './app/load-apps';\nimport I18nFactory from '../i18n/i18n-factory';\nimport StoreFactory from '../redux/store-factory';\nimport { getInfo } from '../network/get-info';\n\nexport const init = (_i18nFactory: I18nFactory, _storeFactory: StoreFactory): void => {\n\tgetInfo().then(() => {\n\t\t_i18nFactory.setLocale(\n\t\t\t(\n\t\t\t\t(useAccountStore.getState().settings?.prefs?.zimbraPrefLocale as string) ??\n\t\t\t\t(useAccountStore.getState().settings?.attrs?.zimbraLocale as string)\n\t\t\t)?.split?.('_')?.[0] ?? 'en'\n\t\t);\n\t\tloadApps(_storeFactory, Object.values(useAppStore.getState().apps));\n\t});\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { createContext, FC, useCallback, useEffect, useState } from 'react';\nimport { ThemeProvider as UIThemeProvider } from '@zextras/carbonio-design-system';\nimport { enable, disable, auto, setFetchMethod } from 'darkreader';\nimport { reduce } from 'lodash';\nimport { useAccountStore } from '../store/account';\nimport { 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 (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '10px',\n\t\t\t\t\tsmall: '12px',\n\t\t\t\t\tmedium: '14px',\n\t\t\t\t\tlarge: '16px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'large': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '14px',\n\t\t\t\t\tsmall: '16px',\n\t\t\t\t\tmedium: '18px',\n\t\t\t\t\tlarge: '20px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'larger': {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '16px',\n\t\t\t\t\tsmall: '18px',\n\t\t\t\t\tmedium: '20px',\n\t\t\t\t\tlarge: '22px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t\tcase 'default':\n\t\tcase 'normal':\n\t\tdefault: {\n\t\t\treturn (t: any): any => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tt.sizes.font = {\n\t\t\t\t\textrasmall: '12px',\n\t\t\t\t\tsmall: '14px',\n\t\t\t\t\tmedium: '16px',\n\t\t\t\t\tlarge: '18px'\n\t\t\t\t};\n\t\t\t\treturn t;\n\t\t\t};\n\t\t}\n\t}\n};\n\nexport const ThemeProvider: FC = ({ children }) => {\n\tconst zimbraPrefFontSize = useAccountStore((s) => s.settings.prefs?.zimbraPrefFontSize as string);\n\t// TODO: update when the DS is fully typed :D\n\tconst [extensions, setExtensions] = useState<ThemeExtensionMap>({\n\t\tfonts: (theme) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\ttheme.sizes.font = {\n\t\t\t\textrasmall: '12px',\n\t\t\t\tsmall: '14px',\n\t\t\t\tmedium: '16px',\n\t\t\t\tlarge: '18px'\n\t\t\t};\n\t\t\treturn theme;\n\t\t}\n\t});\n\tuseEffect(() => {\n\t\tsetExtensions((e) => ({\n\t\t\t...e,\n\t\t\tfonts: themeSizes(zimbraPrefFontSize)\n\t\t}));\n\t}, [zimbraPrefFontSize]);\n\tconst [darkReaderState, setDarkReaderState] = useState<'auto' | 'disabled' | 'enabled'>('auto');\n\tuseEffect(() => {\n\t\tswitch (darkReaderState) {\n\t\t\tcase 'disabled':\n\t\t\t\tdisable();\n\t\t\t\tbreak;\n\t\t\tcase 'enabled':\n\t\t\t\tenable(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\tauto(\n\t\t\t\t\t{\n\t\t\t\t\t\tsepia: -50\n\t\t\t\t\t},\n\t\t\t\t\tdarkReaderDynamicThemeFixes\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}, [darkReaderState]);\n\tconst aggregatedExtensions = useCallback(\n\t\t(theme: any) => reduce(extensions, (acc, val) => val(acc), theme),\n\t\t[extensions]\n\t);\n\tconst addExtension = useCallback((newExtension: ThemeExtension, id: string) => {\n\t\tsetExtensions((ext) => ({ ...ext, [id]: newExtension }));\n\t}, []);\n\treturn (\n\t\t<UIThemeProvider extension={aggregatedExtensions}>\n\t\t\t<ThemeCallbacksContext.Provider value={{ addExtension, setDarkReaderState }}>\n\t\t\t\t{children}\n\t\t\t</ThemeCallbacksContext.Provider>\n\t\t</UIThemeProvider>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { DynamicThemeFix } from 'darkreader';\n\n/*\n\treference: https://zextras.atlassian.net/wiki/spaces/IRIS/pages/223215854/UI+Guidelines+and+theming\n*/\nexport const ZIMBRA_STANDARD_COLORS = [\n\t{ zValue: 0, hex: '#000000', zLabel: 'black' },\n\t{ zValue: 1, hex: '#2b73d2', zLabel: 'blue' },\n\t{ zValue: 2, hex: '#2196d3', zLabel: 'cyan' },\n\t{ zValue: 3, hex: '#639030', zLabel: 'green' },\n\t{ zValue: 4, hex: '#1a75a7', zLabel: 'purple' },\n\t{ zValue: 5, hex: '#d74942', zLabel: 'red' },\n\t{ zValue: 6, hex: '#ffc107', zLabel: 'yellow' },\n\t{ zValue: 7, hex: '#edaeab', zLabel: 'pink' },\n\t{ zValue: 8, hex: '#828282', zLabel: 'gray' },\n\t{ zValue: 9, hex: '#ba8b00', zLabel: 'orange' }\n];\n\nexport const FOLDERS = {\n\tUSER_ROOT: '1',\n\tINBOX: '2',\n\tTRASH: '3',\n\tSPAM: '4',\n\tSENT: '5',\n\tDRAFTS: '6',\n\tCONTACTS: '7',\n\tTAGS: '8',\n\tCONVERSATIONS: '9',\n\tCALENDAR: '10',\n\tROOT: '11',\n\tNOTEBOOK: '12', // no longer created in new mailboxes since Helix (bug 39647). old mailboxes may still contain a system folder with id 12\n\tAUTO_CONTACTS: '13',\n\tIM_LOGS: '14',\n\tTASKS: '15',\n\tBRIEFCASE: '16'\n};\n\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const ACCOUNTS_APP_ID = 'accounts';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES = {\n\tCONVERSATION: 'conversation',\n\tCONVERSATION_lIST: 'conversation_list',\n\tMESSAGE: 'message',\n\tMESSAGE_lIST: 'message_list',\n\tCONTACT: 'contact',\n\tCONTACT_lIST: 'contact_list',\n\tINVITE: 'invite',\n\tINVITE_lIST: 'invite_list',\n\tAPPOINTMENT: 'appointment',\n\tAPPOINTMENT_lIST: 'appointment_list',\n\tFOLDER: 'folder',\n\tFOLDER_lIST: 'folder_list',\n\tCALENDAR: 'calendar',\n\tCALENDAR_lIST: 'calendar_list',\n\tNEW: 'new'\n};\n\nexport const darkReaderDynamicThemeFixes: DynamicThemeFix = {\n\tignoreImageAnalysis: ['.no-dr-invert *'],\n\tinvert: [],\n\tcss: `\n\t\t.tox, .force-white-bg, .tox-swatches-menu, .tox .tox-edit-area__iframe {\n\t\t\tbackground-color: #fff !important;\n\t\t\tbackground: #fff !important;\n\t\t}\n\t`,\n\tignoreInlineStyle: ['.tox-menu *'],\n\tdisableStyleSheetsProxy: false\n};\n\nexport const BASENAME = `/carbonio/`;\nexport const EMAIL_VALIDATION_REGEX =\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars, max-len, no-control-regex\n\t/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\n\nexport const ROOT_NAME = 'USER_ROOT';\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\tlng: this.locale,\n\t\t\t\tfallbackLng: 'en',\n\t\t\t\tdebug: false,\n\t\t\t\tinterpolation: {\n\t\t\t\t\tescapeValue: false // not needed for react as it escapes by default\n\t\t\t\t},\n\t\t\t\tmissingKeyHandler: (lng, ns, key, fallbackValue) => {\n\t\t\t\t\tconsole.warn(`Missing translation with key '${key}'`);\n\t\t\t\t},\n\t\t\t\tbackend: {\n\t\t\t\t\tloadPath: `${baseI18nPath}/i18n/{{lng}}.json`\n\t\t\t\t}\n\t\t\t});\n\t\tthis._cache[appPkgDescription.name] = newI18n;\n\t\treturn newI18n;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { filter, find, findIndex, forEach, map, reduce } from 'lodash';\nimport { SHELL_APP_ID } from '../constants';\nimport { useAccountStore } from '../store/account/store';\nimport { AccountState, Mods, Account } from '../../types';\nimport { getXmlSoapFetch } from './fetch';\n\nexport const editSettings = (mods: Mods, appId: string = SHELL_APP_ID): Promise<any> =>\n\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t'Batch',\n\t\t`<BatchRequest xmlns=\"urn:zimbra\" onerror=\"stop\">${\n\t\t\tmods.props\n\t\t\t\t? `<ModifyPropertiesRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.props,\n\t\t\t\t\t\t(prop, key) => `<prop name=\"${key}\" zimlet=\"${prop.app ?? appId}\">${prop.value}</prop>`\n\t\t\t\t )}</ModifyPropertiesRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.prefs\n\t\t\t\t? `<ModifyPrefsRequest xmlns=\"urn:zimbraAccount\">${map(\n\t\t\t\t\t\tmods.prefs,\n\t\t\t\t\t\t(pref, key) => `<pref name=\"${key}\">${pref}</pref>`\n\t\t\t\t ).join('')}</ModifyPrefsRequest>`\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.modifyList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.modifyList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<ModifyIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${\n\t\t\t\t\t\t\t\titem.id\n\t\t\t\t\t\t\t}\">${map(item.prefs, (value, key) => `<a name=\"${key}\">${value}</a>`).join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t)}<a name=\"zimbraPrefFromAddressType\">sendAs</a></identity></ModifyIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.deleteList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.deleteList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<DeleteIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\"><identity id=\"${item}\"/></DeleteIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.identity?.createList\n\t\t\t\t? map(\n\t\t\t\t\t\tmods.identity.createList,\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t`<CreateIdentityRequest xmlns=\"urn:zimbraAccount\" requestId=\"${item.prefs.requestId}\"><identity name=\"${item.prefs.zimbraPrefIdentityName}\"><a name=\"zimbraPrefIdentityName\">${item.prefs.zimbraPrefIdentityName}</a><a name=\"zimbraPrefFromDisplay\">${item.prefs.zimbraPrefFromDisplay}</a><a name=\"zimbraPrefFromAddress\">${item.prefs.zimbraPrefFromAddress}</a><a name=\"zimbraPrefFromAddressType\">sendAs</a><a name=\"zimbraPrefReplyToEnabled\">${item.prefs.zimbraPrefReplyToEnabled}</a><a name=\"zimbraPrefReplyToDisplay\">${item.prefs.zimbraPrefReplyToDisplay}</a><a name=\"zimbraPrefReplyToAddress\">${item.prefs.zimbraPrefReplyToAddress}</a><a name=\"zimbraPrefDefaultSignatureId\">${item.prefs.zimbraPrefDefaultSignatureId}</a><a name=\"zimbraPrefForwardReplySignatureId\">${item.prefs.zimbraPrefForwardReplySignatureId}</a><a name=\"zimbraPrefWhenSentToEnabled\">${item.prefs.zimbraPrefWhenSentToEnabled}</a><a name=\"zimbraPrefWhenInFoldersEnabled\">${item.prefs.zimbraPrefWhenInFoldersEnabled}</a></identity></CreateIdentityRequest>`\n\t\t\t\t ).join('')\n\t\t\t\t: ''\n\t\t}${\n\t\t\tmods.permissions\n\t\t\t\t? `<RevokeRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"0\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? map(mods.permissions.freeBusy.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'dom')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? map(mods.permissions.inviteRight.current, (right) => {\n\t\t\t\t\t\t\t\t\tif (right.gt === 'all' && right.deny)\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\tif (right.gt === 'usr')\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" d=\"${right.d}\"/>`;\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${right.gt}\" zid=\"${right.zid}\" />`;\n\t\t\t\t\t\t\t }).join('')\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }</RevokeRightsRequest><GrantRightsRequest xmlns=\"urn:zimbraAccount\" requestId=\"1\">${\n\t\t\t\t\t\tmods.permissions.freeBusy\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'dom') {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" d=\"zextras.com\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.freeBusy.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.freeBusy.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"viewFreeBusy\" gt=\"${mods.permissions?.freeBusy.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"viewFreeBusy\" gt=\"${mods.permissions.freeBusy.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }${\n\t\t\t\t\t\tmods.permissions.inviteRight\n\t\t\t\t\t\t\t? `${((): string => {\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.gt === 'all' &&\n\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.deny\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions.inviteRight.new.gt}\" deny=\"1\"/>`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (mods.permissions.inviteRight.new.gt === 'usr') {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\t\treturn map(\n\t\t\t\t\t\t\t\t\t\t\tmods.permissions.inviteRight.new.d,\n\t\t\t\t\t\t\t\t\t\t\t(u) =>\n\t\t\t\t\t\t\t\t\t\t\t\t`<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" d=\"${u.email}\"/>`\n\t\t\t\t\t\t\t\t\t\t).join('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn `<ace right=\"invite\" gt=\"${mods.permissions?.inviteRight.new.gt}\" />`;\n\t\t\t\t\t\t\t })()}`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t }\n\t</GrantRightsRequest>`\n\t\t\t\t: ''\n\t\t}</BatchRequest>`\n\t).then((r: any) => {\n\t\tuseAccountStore.setState((s: AccountState) => ({\n\t\t\tsettings: {\n\t\t\t\t...s.settings,\n\t\t\t\tprefs: reduce(\n\t\t\t\t\tmods.prefs,\n\t\t\t\t\t(acc, pref, key) => ({\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[key]: pref as string\n\t\t\t\t\t}),\n\t\t\t\t\ts.settings.prefs\n\t\t\t\t),\n\t\t\t\tprops: reduce(\n\t\t\t\t\tmods.props,\n\t\t\t\t\t(acc, { app, value }, key) => {\n\t\t\t\t\t\tconst propIndex = findIndex(acc, (p) => p.name === key && p.zimlet === app);\n\t\t\t\t\t\tif (propIndex >= 0) {\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\tacc[propIndex] = {\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tacc.push({\n\t\t\t\t\t\t\t\tname: key,\n\t\t\t\t\t\t\t\tzimlet: app,\n\t\t\t\t\t\t\t\t_content: value as string\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\ts.settings.props\n\t\t\t\t)\n\t\t\t},\n\t\t\taccount: {\n\t\t\t\t...s.account,\n\t\t\t\tdisplayName:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefIdentityName || s.account?.displayName,\n\t\t\t\tname:\n\t\t\t\t\tfind(mods?.identity?.modifyList, (item) => item.id === s?.account?.id)?.prefs\n\t\t\t\t\t\t.zimbraPrefFromAddress || s.account?.name,\n\t\t\t\tidentities: {\n\t\t\t\t\tidentity:\n\t\t\t\t\t\ttypeof s.account !== 'undefined'\n\t\t\t\t\t\t\t? reduce(\n\t\t\t\t\t\t\t\t\tmods?.identity?.modifyList,\n\t\t\t\t\t\t\t\t\t(acc, { id, prefs }) => {\n\t\t\t\t\t\t\t\t\t\tconst tempResult = [];\n\t\t\t\t\t\t\t\t\t\tconst propIndex = findIndex(\n\t\t\t\t\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t\t\t\t\t(itemMods, indexAccount) => acc[indexAccount].id === id\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (propIndex > -1) {\n\t\t\t\t\t\t\t\t\t\t\tforEach(Object.keys(prefs), (item, _index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex]._attrs[item] = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem === 'zimbraPrefIdentityName' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name !== 'DEFAULT'\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\t\t\t\t\t\tacc[propIndex].name = Object.values(prefs)[_index];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\ttempResult.push(prefs);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name !== 'DEFAULT'),\n\t\t\t\t\t\t\t\t\t\t...map(r?.CreateIdentityResponse, (item) => item.identity[0]),\n\t\t\t\t\t\t\t\t\t\t...filter(\n\t\t\t\t\t\t\t\t\t\t\ts.account.identities.identity,\n\t\t\t\t\t\t\t\t\t\t\t(item) => !mods?.identity?.deleteList?.includes(item.id)\n\t\t\t\t\t\t\t\t\t\t).filter((i) => i.name === 'DEFAULT')\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t} as Account\n\t\t}));\n\t\treturn r;\n\t});\n\nexport const getEditSettingsForApp =\n\t(app: string) =>\n\t(mods: Mods): Promise<any> =>\n\t\teditSettings(mods, app).then((r) => {\n\t\t\tr.type = 'fulfilled';\n\t\t\treturn r;\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { find, map, maxBy } from 'lodash';\nimport { goToLogin } from './go-to-login';\nimport { Account, ErrorSoapResponse, SoapContext, SoapResponse } from '../../types';\nimport { userAgent } from './user-agent';\nimport { report } from '../reporting';\nimport { useAccountStore } from '../store/account';\nimport { SHELL_APP_ID } from '../constants';\nimport { useNetworkStore } from '../store/network';\nimport { handleSync } from '../store/network/utils';\n\nexport const noOp = (): void => {\n\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\tgetSoapFetch(SHELL_APP_ID)(\n\t\t'NoOp',\n\t\tuseNetworkStore.getState().pollingInterval === 500\n\t\t\t? { _jsns: 'urn:zimbraMail', limitToOneBlocked: 1, wait: 1 }\n\t\t\t: { _jsns: 'urn:zimbraMail' }\n\t);\n};\n\nconst getAccount = (\n\tacc?: Account,\n\totherAccount?: string\n): { by: string; _content: string } | undefined => {\n\tif (otherAccount) {\n\t\treturn {\n\t\t\tby: 'name',\n\t\t\t_content: otherAccount\n\t\t};\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn {\n\t\t\t\tby: 'name',\n\t\t\t\t_content: acc.name\n\t\t\t};\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn {\n\t\t\t\tby: 'id',\n\t\t\t\t_content: acc.id\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n};\n\nconst getXmlAccount = (acc?: Account, otherAccount?: string): string => {\n\tif (otherAccount) {\n\t\treturn `<account by=\"name\">${otherAccount}</account>`;\n\t}\n\tif (acc) {\n\t\tif (acc.name) {\n\t\t\treturn `<account by=\"name\">${acc.name}</account>`;\n\t\t}\n\t\tif (acc.id) {\n\t\t\treturn `<account by=\"id\">${acc.id}</account>`;\n\t\t}\n\t}\n\treturn '';\n};\n\nconst getXmlSession = (): string => {\n\tconst sessionId = useNetworkStore.getState().session?.id;\n\tif (sessionId) {\n\t\treturn `<session id=\"${sessionId}\"/>`;\n\t}\n\treturn '';\n};\n\nconst normalizeContext = (context: any): SoapContext => {\n\tif (context.notify) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext.notify = map(context.notify, (notify) => ({\n\t\t\t...notify,\n\t\t\tdeleted: notify.deleted?.id?.split(',')\n\t\t}));\n\t}\n\treturn context;\n};\n\nconst handleResponse = <R>(api: string, res: SoapResponse<R>): R => {\n\tconst { pollingInterval, noOpTimeout } = useNetworkStore.getState();\n\tconst { usedQuota } = useAccountStore.getState();\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\tclearTimeout(noOpTimeout);\n\tif (res.Body.Fault) {\n\t\tif (\n\t\t\tfind(\n\t\t\t\t['service.AUTH_REQUIRED', 'service.AUTH_EXPIRED'],\n\t\t\t\t(code) => code === (<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Code\n\t\t\t)\n\t\t) {\n\t\t\tgoToLogin();\n\t\t}\n\t\tthrow new Error(\n\t\t\t`${(<ErrorSoapResponse>res).Body.Fault.Detail?.Error?.Detail}: ${\n\t\t\t\t(<ErrorSoapResponse>res).Body.Fault.Reason?.Text\n\t\t\t}`\n\t\t);\n\t}\n\tif (res.Header?.context) {\n\t\tconst responseUsedQuota =\n\t\t\tres.Header.context?.refresh?.mbx?.[0]?.s ??\n\t\t\tres.Header.context?.notify?.[0]?.modified?.mbx?.[0]?.s;\n\t\tconst _context = normalizeContext(res.Header.context);\n\t\tconst seq = maxBy(_context.notify, 'seq')?.seq ?? 0;\n\t\thandleSync(_context);\n\t\tuseAccountStore.setState({\n\t\t\tusedQuota: responseUsedQuota ?? usedQuota\n\t\t});\n\t\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};\nexport const getInfo = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)<{ _jsns: string; rights: string }, GetInfoResponse>('GetInfo', {\n\t\t_jsns: 'urn:zimbraAccount',\n\t\trights: 'sendAs,sendAsDistList,viewFreeBusy,sendOnBehalfOf,sendOnBehalfOfDistList'\n\t})\n\t\t.then((res: any): void => {\n\t\t\tif (res) {\n\t\t\t\tconst { account, settings, version } = normalizeAccount(res);\n\t\t\t\tuseNetworkStore.setState({\n\t\t\t\t\tpollingInterval: parsePollingInterval(settings)\n\t\t\t\t});\n\t\t\t\tuseAccountStore.setState({\n\t\t\t\t\taccount,\n\t\t\t\t\tsettings,\n\t\t\t\t\tzimbraVersion: version\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.then(() => fetch('/static/iris/components.json'))\n\t\t.then((r: any) => r.json())\n\t\t.then(({ components }: { components: Array<CarbonioModule> }) => {\n\t\t\tuseAppStore.getState().setters.addApps(\n\t\t\t\tfilter(components, ({ type }) => {\n\t\t\t\t\tif (type === 'shell' || type === 'carbonio') return true;\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t);\n\t\t})\n\t\t.catch((err: unknown) => {\n\t\t\tconsole.log('there was an error checking user data');\n\t\t\tconsole.error(err);\n\t\t\tgoToLogin();\n\t\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport const goToLogin: () => void = () => {\n\twindow?.location?.assign?.(`${window?.location?.origin}/static/login`);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { SHELL_APP_ID } from '../constants';\nimport { getSoapFetch } from './fetch';\nimport { goToLogin } from './go-to-login';\n\nexport const logout = (): Promise<void> =>\n\tgetSoapFetch(SHELL_APP_ID)('EndSession', {\n\t\t_jsns: 'urn:zimbraAccount'\n\t}).then(() => {\n\t\tfetch('/?loginOp=logout')\n\t\t\t.then((res) => res)\n\t\t\t.then(goToLogin);\n\t});\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\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: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Store, configureStore, createSlice } from '@reduxjs/toolkit';\nimport logger from 'redux-logger';\nimport { CarbonioModule } from '../../types';\n\nconst _uselessSlice = createSlice({\n\tname: '_useless',\n\tinitialState: {},\n\treducers: {}\n});\n\nexport default class StoreFactory {\n\tprivate _cache: { [pkgName: string]: Store<any> } = {};\n\n\tgetStoreForApp(pkg: CarbonioModule): Store<any> {\n\t\tif (this._cache[pkg.name]) return this._cache[pkg?.name];\n\t\tconst store = configureStore({\n\t\t\tdevTools: __CARBONIO_DEV__\n\t\t\t\t? {\n\t\t\t\t\t\tname: pkg.name\n\t\t\t\t }\n\t\t\t\t: false,\n\t\t\tmiddleware: __CARBONIO_DEV__\n\t\t\t\t? // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware().concat(logger)\n\t\t\t\t: // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n\t\t\t\t (getDefaultMiddleware) => getDefaultMiddleware(),\n\t\t\treducer: {\n\t\t\t\t_useless: _uselessSlice.reducer\n\t\t\t}\n\t\t});\n\t\tthis._cache[pkg?.name] = store;\n\t\treturn store;\n\t}\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, {\n\tuseEffect,\n\tuseState,\n\tuseCallback,\n\tuseReducer,\n\tuseMemo,\n\tFC,\n\tuseContext\n} from 'react';\nimport {\n\tText,\n\tButton,\n\tSelect,\n\tContainer,\n\tRow,\n\tIcon,\n\tSnackbarManagerContext\n} from '@zextras/carbonio-design-system';\nimport { Severity, Event } from '@sentry/browser';\nimport { filter, find, map } from 'lodash';\nimport styled from 'styled-components';\nimport { TFunction, useTranslation } from 'react-i18next';\nimport { useUserAccount } from '../store/account';\nimport { useRemoveCurrentBoard } from '../shell/boards/board-hooks';\nimport { feedback } from './functions';\nimport { useAppList } from '../store/app';\n\nconst TextArea = styled.textarea<{ size?: string }>`\n\twidth: 100%;\n\tmin-height: 128px;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: none;\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tresize: none;\n\ttransition: height 0.4s ease;\n\tcolor: ${({ theme }): string => theme.palette.text.regular};\n\tfont-family: ${({ theme }): string => theme.fonts.default};\n\tfont-size: ${({ theme, size }): string => theme.sizes.font[size ?? 'medium']};\n\t&:focus {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t}\n`;\n\nconst TextContainer = styled(Container)`\n\ttext-align: justify;\n\talign-items: left;\n\twidth: 80%;\n`;\n\nconst ButtonContainer = styled(Container)`\n\twidth: 20%;\n\tposition: relative;\n`;\n\nconst TAContainer = styled(Container)`\n\tbackground: ${({ theme }): string => theme.palette.gray5.regular};\n\tborder-radius: 2px 2px 0 0;\n\tpadding: 8px;\n\ttransition: height 0.4s ease;\n\theight: auto;\n\tmax-height: 50%;\n\t&:focus-within {\n\t\tbackground: ${({ theme }): string => theme.palette.gray4.regular};\n\t\toutline: none;\n\t\tborder-bottom: 1px solid ${({ theme }): string => theme.palette.primary.regular};\n\t}\n`;\n\nconst SubHeadingText = styled(Text)`\n\tborder-radius: 2px 2px 0 0;\n\tline-height: 21px;\n\tfont-size: 14px;\n\tfont-weight: 300;\n\tmargin-top: 10px;\n\tline-height: ${(props): string => props.lineHeight};\n`;\n\nconst LabelContainer = styled(Container)`\n\tborder-bottom: 1px solid ${(props): string => (props.disabled ? 'red' : '#cfd5dc')};\n`;\n\nconst emptyEvent: Event = {\n\tmessage: '',\n\tlevel: Severity.Info,\n\trelease: 'unknown',\n\textra: {\n\t\tapp: '0',\n\t\ttopic: '0'\n\t},\n\tuser: {}\n};\n\nfunction reducer(state: Event, { type, payload }: { type: string; payload: any }): Event {\n\tswitch (type) {\n\t\tcase 'set-user':\n\t\t\treturn { ...state, user: payload };\n\t\tcase 'reset':\n\t\t\treturn emptyEvent;\n\t\tcase 'set-message':\n\t\t\treturn { ...state, message: payload };\n\t\tcase 'select-app':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\trelease: payload.version,\n\t\t\t\textra: { ...state.extra, app: payload.app }\n\t\t\t};\n\t\tcase 'select-topic':\n\t\t\treturn { ...state, extra: { ...state.extra, topic: payload } };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst getTopics = (t: TFunction): Array<{ label: string; value: string }> => [\n\t{ label: t('feedback.user_interface', 'User interface'), value: 'UserInterface' },\n\t{ label: t('feedback.behaviors', 'Behaviors'), value: 'Behaviors' },\n\t{ label: t('feedback.missing_features', 'Missing features'), value: 'MissingFeatures' },\n\t{ label: t('feedback.other', 'Other'), value: 'Other' }\n];\n\nconst ModuleLabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n}> = ({ selected, label, open, focus }) => (\n\t<LabelContainer\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t</Text>\n\t\t</Row>\n\t\t<Icon\n\t\t\tsize=\"large\"\n\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t/>\n\t</LabelContainer>\n);\n\nconst _LabelFactory: FC<{\n\tselected: Array<{ label: string; value: string }>;\n\tlabel: string;\n\topen: boolean;\n\tfocus: boolean;\n\tshowErr: boolean;\n}> = ({ selected, label, open, focus, showErr }) => (\n\t<LabelContainer\n\t\tdisabled={showErr}\n\t\torientation=\"horizontal\"\n\t\twidth=\"fill\"\n\t\tcrossAlignment=\"center\"\n\t\tmainAlignment=\"space-between\"\n\t\tborderRadius=\"half\"\n\t\tbackground=\"gray5\"\n\t\tpadding={{\n\t\t\tall: 'small'\n\t\t}}\n\t>\n\t\t<Row takeAvailableSpace mainAlignment=\"unset\">\n\t\t\t{showErr ? (\n\t\t\t\t<Text size=\"medium\" color={(open && showErr) || focus ? 'primary' : 'error'}>\n\t\t\t\t\t{' '}\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t) : (\n\t\t\t\t<Text size=\"medium\" color={open || focus ? 'primary' : 'secondary'}>\n\t\t\t\t\t{selected.length > 0 ? selected[0].label : label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Row>\n\n\t\t{showErr ? (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={(open && showErr) || focus ? 'primary' : 'error'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t) : (\n\t\t\t<Icon\n\t\t\t\tsize=\"large\"\n\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\tcolor={open || focus ? 'primary' : 'secondary'}\n\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t/>\n\t\t)}\n\t</LabelContainer>\n);\n\nconst Feedback: FC = () => {\n\tconst [t] = useTranslation();\n\tconst topics = useMemo(() => getTopics(t), [t]);\n\tconst allApps = useAppList();\n\tconst apps = useMemo(\n\t\t() => filter(allApps, (app) => !!app.sentryDsn),\n\n\t\t[allApps]\n\t);\n\tconst appItems = useMemo(\n\t\t() =>\n\t\t\tmap(apps, (app) => ({\n\t\t\t\tlabel: app.display,\n\t\t\t\tvalue: app.name\n\t\t\t})),\n\t\t[apps]\n\t);\n\tconst acct = useUserAccount();\n\tconst [event, dispatch] = useReducer(reducer, emptyEvent);\n\tconst [showErr, setShowErr] = useState(false);\n\tconst [limit, setLimit] = useState(0);\n\n\tconst onAppSelect = useCallback(\n\t\t(ev) =>\n\t\t\tdispatch({\n\t\t\t\ttype: 'select-app',\n\t\t\t\tpayload: {\n\t\t\t\t\tapp: ev,\n\t\t\t\t\tversion: find(apps, ['name', ev])?.version\n\t\t\t\t}\n\t\t\t}),\n\t\t[apps]\n\t);\n\n\tconst onTopicSelect = useCallback((ev) => {\n\t\tsetShowErr(false);\n\t\tdispatch({ type: 'select-topic', payload: ev });\n\t}, []);\n\n\tconst onInputChange = useCallback((ev) => {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = 'auto';\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tev.target.style.height = `${25 + ev.target.scrollHeight}px`;\n\t\tif (ev.target.value.length <= 500) {\n\t\t\tsetLimit(ev.target.value.length);\n\t\t\tdispatch({ type: 'set-message', payload: ev.target.value });\n\t\t}\n\t}, []);\n\n\tconst checkTopicSelect = useCallback(\n\t\t(ev) => {\n\t\t\tif (event.extra?.topic === '0') setShowErr(true);\n\t\t\telse setShowErr(false);\n\t\t\tif (ev.keyCode === 8) {\n\t\t\t\tif (event.message?.length === 0) {\n\t\t\t\t\tsetShowErr(false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setShowErr, event]\n\t);\n\n\tconst closeBoard = useRemoveCurrentBoard();\n\n\tconst createSnackbar = useContext(SnackbarManagerContext) as (snackbar: any) => void;\n\n\tconst confirmHandler = useCallback(() => {\n\t\tconst feedbackId = feedback(event);\n\t\tcreateSnackbar(\n\t\t\tfeedbackId\n\t\t\t\t? { type: 'success', label: t('feedback.success', 'Thank you for your feedback') }\n\t\t\t\t: {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tlabel: t('feedback.error', 'There was an error while sending your feedback')\n\t\t\t\t }\n\t\t);\n\t\tcloseBoard();\n\t}, [event, createSnackbar, t, closeBoard]);\n\n\tuseEffect(() => {\n\t\tdispatch({\n\t\t\ttype: 'set-user',\n\t\t\tpayload: { id: acct.id, name: acct.displayName ?? acct.name }\n\t\t});\n\t}, [acct]);\n\n\tconst disabledSend = useMemo(\n\t\t() =>\n\t\t\t(event?.message?.length ?? 0) <= 0 || event.extra?.topic === '0' || event.extra?.app === '0',\n\t\t[event.message, event.extra?.topic, event.extra?.app]\n\t);\n\n\tconst LabelFactory = useCallback(\n\t\t(props) => <_LabelFactory {...props} showErr={showErr} />,\n\t\t[showErr]\n\t);\n\n\treturn (\n\t\t<Container padding={{ all: 'large' }} mainAlignment=\"space-around\">\n\t\t\t<Container orientation=\"horizontal\" height=\"fit\">\n\t\t\t\t<TextContainer mainAlignment=\"flex-start\" crossAlignment=\"flex-start\">\n\t\t\t\t\t<Text weight=\"bold\" size=\"18px\">\n\t\t\t\t\t\t{t('feedback.report_something', 'Do you want to report something?')}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\" lineHeight=\"21px\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.explanation',\n\t\t\t\t\t\t\t'Please send us your feedback about your new experience with Zextras Server. Your opinion is meaningful for us to improve our product. So tell us what’s on your mind.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t\t<SubHeadingText overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'feedback.hint',\n\t\t\t\t\t\t\t'Remember: define the topic using module and macro area selectors before write your feedback. Thanks for your help.'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SubHeadingText>\n\t\t\t\t</TextContainer>\n\n\t\t\t\t<ButtonContainer crossAlignment=\"flex-end\" mainAlignment=\"baseline\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('feedback.send', 'SEND')}\n\t\t\t\t\t\tonClick={confirmHandler}\n\t\t\t\t\t\tdisabled={disabledSend}\n\t\t\t\t\t/>\n\t\t\t\t</ButtonContainer>\n\t\t\t</Container>\n\t\t\t<Container\n\t\t\t\tpadding={{ bottom: 'medium' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tModule\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_module', 'Select a module')}\n\t\t\t\t\t\titems={appItems}\n\t\t\t\t\t\tonChange={onAppSelect}\n\t\t\t\t\t\tLabelFactory={ModuleLabelFactory}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"space-between\" crossAlignment=\"flex-start\" maxWidth=\"305px\">\n\t\t\t\t\t<Row padding={{ vertical: 'large' }}>\n\t\t\t\t\t\t<Text weight=\"bold\" size=\"14px\">\n\t\t\t\t\t\t\tTopic\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Row>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabel={t('feedback.select_a_topic', 'Select a topic')}\n\t\t\t\t\t\tselection={find(topics, ['value', event.extra?.topic])}\n\t\t\t\t\t\titems={topics}\n\t\t\t\t\t\tonChange={onTopicSelect}\n\t\t\t\t\t\tLabelFactory={LabelFactory}\n\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t</Container>\n\t\t\t<TAContainer crossAlignment=\"flex-end\">\n\t\t\t\t<TextArea\n\t\t\t\t\tvalue={event.message}\n\t\t\t\t\tonKeyUp={checkTopicSelect}\n\t\t\t\t\tonChange={onInputChange}\n\t\t\t\t\tplaceholder={t('feedback.write_here', 'Write your feedback here')}\n\t\t\t\t/>\n\t\t\t\t<Text size=\"medium\" color=\"secondary\">\n\t\t\t\t\t{limit}/500\n\t\t\t\t</Text>\n\t\t\t</TAContainer>\n\t\t</Container>\n\t);\n};\n\nexport default Feedback;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { Event, EventHint, Severity } from '@sentry/browser';\nimport { useReporter } from './store';\n\nexport const report =\n\t(appId: string) =>\n\t(error: Event, hint?: EventHint): string => {\n\t\tconst reporter = useReporter.getState();\n\t\tconst eventId = reporter.clients[appId]?.captureException(error, { ...hint });\n\t\tif (eventId) {\n\t\t\tconsole.info('Reported event ', eventId);\n\t\t}\n\t\treturn eventId;\n\t};\n\nexport const feedback = (message: Event): string => {\n\tconst reporter = useReporter.getState();\n\tconst eventId = reporter.clients.feedbacks.captureEvent({ ...message, level: Severity.Info });\n\tif (eventId) {\n\t\tconsole.info('Feedback ', eventId, ' sent, Thank you');\n\t}\n\treturn eventId;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport * from './store';\nexport * from './functions';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { BrowserClient, Hub } from '@sentry/browser';\nimport { reduce } from 'lodash';\nimport { CarbonioModule, SHELL_APP_ID } from '../../types';\n\ntype ReporterState = {\n\tclients: Record<string, Hub>;\n\tsetClients: (apps: Array<CarbonioModule>) => void;\n};\n\nexport const useReporter = create<ReporterState>((set) => ({\n\tclients: {\n\t\t[SHELL_APP_ID]: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://0ce2448c05b94f0182c47ae52c7ff52c@feedback.zextras.tools/6',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t),\n\t\tfeedbacks: new Hub(\n\t\t\tnew BrowserClient({\n\t\t\t\tdsn: 'https://1b6b3e2bbdc64a73bf45c72b725c56b4@feedback.zextras.tools/8',\n\t\t\t\trelease: '0',\n\t\t\t\tmaxValueLength: 500\n\t\t\t})\n\t\t)\n\t},\n\tsetClients: (apps): void => {\n\t\tset((s) => ({\n\t\t\tclients: reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app) => {\n\t\t\t\t\tif (app.sentryDsn) {\n\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\ts.clients[app.name] = new Hub(\n\t\t\t\t\t\t\tnew BrowserClient({\n\t\t\t\t\t\t\t\tdsn: app.sentryDsn,\n\t\t\t\t\t\t\t\trelease: app.version,\n\t\t\t\t\t\t\t\tmaxValueLength: 500\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.clients\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ReporterState, StoreApi<ReporterState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { Container, Row, Text, Icon, Dropdown } from '@zextras/carbonio-design-system';\nimport { AppRoute } from '../../types';\nimport { useAppStore } from '../store/app';\nimport { useSearchStore } from './search-store';\nimport { SEARCH_APP_ID } from '../constants';\nimport { 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\nexport const ModuleSelector: FC<{ activeRoute: AppRoute; disabled: boolean }> = ({\n\tactiveRoute\n}) => {\n\tconst modules = useAppStore((s) => s.views.search);\n\tconst { module, updateModule } = useSearchStore();\n\tconst fullModule = useMemo(\n\t\t() => modules.find((m) => m.route === module) ?? modules[0],\n\t\t[module, modules]\n\t);\n\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 (activeRoute?.app !== SEARCH_APP_ID) {\n\t\t\tif (!fullModule || fullModule?.app !== activeRoute?.app) {\n\t\t\t\tupdateModule((modules.find((m) => m.app === activeRoute?.app) ?? modules[0])?.route);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [activeRoute, modules, updateModule]);\n\n\tif (!fullModule) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\titems={dropdownItems}\n\t\t\tonOpen={(): void => setOpen(true)}\n\t\t\tonClose={(): void => setOpen(false)}\n\t\t>\n\t\t\t<SelectorContainer\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\theight={42}\n\t\t\t\twidth=\"fit\"\n\t\t\t\tminWidth=\"150px\"\n\t\t\t\tcrossAlignment=\"center\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tborderRadius=\"half\"\n\t\t\t>\n\t\t\t\t<Row takeAvailableSpace mainAlignment=\"unset\" padding={{ left: 'small' }}>\n\t\t\t\t\t<Text size=\"small\" color={open ? 'primary' : 'text'}>\n\t\t\t\t\t\t{fullModule?.label}\n\t\t\t\t\t</Text>\n\t\t\t\t</Row>\n\t\t\t\t<Icon\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\ticon={open ? 'ChevronUpOutline' : 'ChevronDownOutline'}\n\t\t\t\t\tcolor={open ? 'primary' : 'text'}\n\t\t\t\t\tstyle={{ alignSelf: 'center' }}\n\t\t\t\t/>\n\t\t\t</SelectorContainer>\n\t\t</Dropdown>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 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, SearchBarProps } from '../../types';\nimport { ModuleSelector } from './module-selector';\n\nconst OutlinedIconButton = styled(IconButton)`\n\tborder: 1px solid\n\t\t${({ theme, disabled }): string =>\n\t\t\tdisabled ? theme.palette.primary.disabled : theme.palette.primary.regular};\n\tdisplay: 'block';\n\t& svg {\n\t\tborder: none;\n\t}\n`;\n\nconst StyledChipInput = styled(ChipInput)`\n\tpadding: 0 16px;\n\t&:hover {\n\t\toutline: none;\n\t\tbackground: ${({ theme, disabled }): string =>\n\t\t\tdisabled ? 'gray5' : theme.palette.gray5.hover};\n\t}\n`;\n\nconst StyledContainer = styled(Container)`\n\theight: 42px;\n\toverflow-y: hidden;\n\t&:first-child {\n\t\ttransform: translateY(-2px);\n\t}\n`;\n\ntype SearchLocalStorage = Array<{\n\tvalue: string;\n\tlabel: string;\n\ticon: string;\n\tapp: string;\n\tid: string;\n}>;\nexport const SearchBar: FC<SearchBarProps> = ({\n\tactiveRoute\n\t// primaryAction,\n\t// secondaryActions\n}) => {\n\tconst [searchIsEnabled, setSearchIsEnabled] = useState(false);\n\tconst inputRef = useRef<HTMLInputElement>();\n\tconst [t] = useTranslation();\n\tconst [storedValue, setStoredValue] = useLocalStorage<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\n\t// useEffect(() => {\n\t// \tconst handler = (event: KeyboardEvent): unknown =>\n\t// \t\thandleKeyboardShortcuts({\n\t// \t\t\tevent,\n\t// \t\t\tinputRef,\n\t// \t\t\tprimaryAction,\n\t// \t\t\tsecondaryActions,\n\t// \t\t\tcurrentApp\n\t// \t\t});\n\t// \tdocument.addEventListener('keydown', handler);\n\t// \treturn (): void => {\n\t// \t\tdocument.removeEventListener('keydown', handler);\n\t// \t};\n\t// }, [currentApp, inputRef, primaryAction, secondaryActions]);\n\n\tuseEffect(() => {\n\t\tconst ref = inputRef.current;\n\t\tconst searchCb = (ev: any): void => {\n\t\t\tif (ev.key === 'Enter') {\n\t\t\t\tsetTimeout(() => setTriggerSearch(true), 0);\n\t\t\t}\n\t\t};\n\t\tif (ref) {\n\t\t\tref.addEventListener('keyup', searchCb);\n\t\t}\n\t\treturn (): void => {\n\t\t\tif (ref) {\n\t\t\t\tref.removeEventListener('keyup', searchCb);\n\t\t\t}\n\t\t};\n\t}, [onSearch]);\n\n\tuseEffect(() => {\n\t\tif (triggerSearch) {\n\t\t\tonSearch();\n\t\t\tsetTriggerSearch(false);\n\t\t}\n\t}, [onSearch, triggerSearch]);\n\n\t// useEffect(() => {\n\t// \tsetChangedBySearchBar((value) => {\n\t// \t\tif (!value) {\n\t// \t\t\tsetInputState(filter(query, (q) => !q.isQueryFilter));\n\t// \t\t}\n\t// \t\treturn false;\n\t// \t});\n\t// }, [query]);\n\n\tconst disableOptions = useMemo(() => !(options.length > 0) || isTyping, [options, isTyping]);\n\n\tconst placeholder = useMemo(\n\t\t() =>\n\t\t\tinputHasFocus && module\n\t\t\t\t? t('search.active_input_label', 'Separate your keywords by a comma or pressing TAB')\n\t\t\t\t: t('search.idle_input_label', 'Search in {{module}}', {\n\t\t\t\t\t\tmodule\n\t\t\t\t }),\n\t\t[inputHasFocus, module, t]\n\t);\n\n\tconst clearButtonPlaceholder = useMemo(\n\t\t() =>\n\t\t\tshowClear || isTyping\n\t\t\t\t? t('search.clear', 'Clear search input')\n\t\t\t\t: t('search.already_clear', 'Search input is already clear'),\n\t\t[showClear, t, isTyping]\n\t);\n\tconst searchBtnTooltipLabel = useMemo(() => {\n\t\tif (searchIsEnabled && inputState.length > 0) {\n\t\t\treturn t('search.start', 'Start search');\n\t\t}\n\t\tif (inputHasFocus) {\n\t\t\treturn t(\n\t\t\t\t'search.type_or_choose_suggestion',\n\t\t\t\t'Type or choose some keywords to start a search'\n\t\t\t);\n\t\t}\n\t\tif (query.length > 0) {\n\t\t\treturn t('label.edit_to_start_search', 'Edit your search to start a new one');\n\t\t}\n\t\treturn t('search.type_to_start_search', 'Type some keywords to start a search');\n\t}, [t, searchIsEnabled, inputState.length, inputHasFocus, query.length]);\n\n\tconst onChipAdd = useCallback(\n\t\t(newChip: string) => {\n\t\t\tsetIsTyping(false);\n\t\t\tsetInputTyped('');\n\t\t\tif (module) {\n\t\t\t\tconst suggestions = filter(\n\t\t\t\t\tappSuggestions,\n\t\t\t\t\t(suggestion) => suggestion?.app === module\n\t\t\t\t).slice(0, 5);\n\n\t\t\t\tsetOptions(suggestions);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tlabel: newChip.trim(),\n\t\t\t\thasAvatar: false,\n\t\t\t\tavatarLabel: ''\n\t\t\t};\n\t\t},\n\t\t[appSuggestions, module]\n\t);\n\n\tuseEffect(() => {\n\t\tsetInputState(map(query, (q) => ({ ...q, disabled: searchDisabled })));\n\t}, [searchDisabled, query]);\n\n\tconst addFocus = useCallback(() => setInputHasFocus(true), []);\n\tconst removeFocus = useCallback(() => setInputHasFocus(false), []);\n\tconst disableClearButton = useMemo(() => (isTyping ? false : !showClear), [showClear, isTyping]);\n\n\treturn (\n\t\t<Container orientation=\"horizontal\" minWidth=\"0\" ref={containerRef}>\n\t\t\t<Tooltip\n\t\t\t\tdisabled={!searchDisabled}\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tlabel={t(\n\t\t\t\t\t'search.unable_to_parse_query',\n\t\t\t\t\t'Unable to complete the search, clear it and retry'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t<Container minWidth=\"512px\" width=\"fill\">\n\t\t\t\t\t\t<Container orientation=\"horizontal\" width=\"fill\">\n\t\t\t\t\t\t\t<Container width=\"fit\">\n\t\t\t\t\t\t\t\t<ModuleSelector activeRoute={activeRoute} disabled={searchDisabled} />\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t\t<StyledContainer orientation=\"horizontal\">\n\t\t\t\t\t\t\t\t<StyledChipInput\n\t\t\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\t\t\t\t\tvalue={inputState}\n\t\t\t\t\t\t\t\t\tonAdd={onChipAdd}\n\t\t\t\t\t\t\t\t\toptions={options}\n\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\tconfirmChipOnBlur={false}\n\t\t\t\t\t\t\t\t\tconfirmChipOnSpace={false}\n\t\t\t\t\t\t\t\t\tseparators={['Comma']}\n\t\t\t\t\t\t\t\t\tbackground={searchDisabled ? 'gray5' : 'gray6'}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden'\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonChange={onQueryChange}\n\t\t\t\t\t\t\t\t\tonInputType={onInputType}\n\t\t\t\t\t\t\t\t\tonInputTypeDebounce={0}\n\t\t\t\t\t\t\t\t\tonBlur={removeFocus}\n\t\t\t\t\t\t\t\t\tonFocus={addFocus}\n\t\t\t\t\t\t\t\t\tdisableOptions={disableOptions}\n\t\t\t\t\t\t\t\t\trequireUniqueChips={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StyledContainer>\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Container>\n\n\t\t\t\t\t{!disableClearButton && (\n\t\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t\t<Tooltip label={clearButtonPlaceholder} placement=\"bottom\">\n\t\t\t\t\t\t\t\t<OutlinedIconButton\n\t\t\t\t\t\t\t\t\tdisabled={disableClearButton}\n\t\t\t\t\t\t\t\t\ticon=\"BackspaceOutline\"\n\t\t\t\t\t\t\t\t\ticonColor=\"primary\"\n\t\t\t\t\t\t\t\t\tonClick={clearSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Padding left=\"small\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\t\t\t\tdisabled={searchDisabled}\n\t\t\t\t\t\t\tlabel={searchBtnTooltipLabel}\n\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticon=\"Search\"\n\t\t\t\t\t\t\t\tdisabled={!(searchIsEnabled && inputState.length > 0)}\n\t\t\t\t\t\t\t\tbackgroundColor=\"primary\"\n\t\t\t\t\t\t\t\ticonColor=\"gray6\"\n\t\t\t\t\t\t\t\tonClick={onSearch}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</Padding>\n\t\t\t\t</Container>\n\t\t\t</Tooltip>\n\t\t</Container>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { isFunction } from 'lodash';\nimport create from 'zustand';\nimport { QueryChip, SearchState } from '../../types';\n\nexport const useSearchStore = create<SearchState>((set, get) => ({\n\tquery: [],\n\tsearchDisabled: false,\n\tsetSearchDisabled: (searchDisabled: boolean): void => set({ searchDisabled }),\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)): void =>\n\t\tset({ query: isFunction(query) ? query(get().query) : query }),\n\tupdateModule: (module: string): void => set({ module })\n}));\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useMemo } from 'react';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { AccountsSettings } from './accounts-settings';\nimport { useUserAccount } from '../store/account';\n\nconst AccountWrapper = (): React.ReactElement | null => {\n\tconst accountSettings = useUserAccount();\n\tconst [t] = useTranslation();\n\tconst identitiesDefault = useMemo(() => {\n\t\tconst temp = map(accountSettings?.identities.identity, (item, index) => ({\n\t\t\tid: item.name === 'DEFAULT' ? '0' : (index + 1).toString(),\n\t\t\ttype: item.name === 'DEFAULT' ? t('label.primary', 'Primary') : t('label.persona', 'Persona'),\n\t\t\tidentityId: item._attrs.zimbraPrefIdentityId || '',\n\t\t\tfromAddress: item._attrs.zimbraPrefFromAddress || '',\n\t\t\tidentityName: item._attrs.zimbraPrefIdentityName || '',\n\t\t\tfromDisplay: item._attrs.zimbraPrefFromDisplay || '',\n\t\t\trecoveryAccount: item._attrs.zimbraRecoveryAccount || '',\n\t\t\treplyToDisplay: item._attrs.zimbraPrefReplyToDisplay || '',\n\t\t\treplyToAddress: item._attrs.zimbraPrefReplyToAddress || '',\n\t\t\treplyToEnabled: item._attrs.zimbraPrefReplyToEnabled || '',\n\t\t\tsaveToSent: item._attrs.zimbraPrefSaveToSent || '',\n\t\t\tsentMailFolder: item._attrs.zimbraPrefSentMailFolder || '',\n\t\t\twhenInFoldersEnabled: item._attrs.zimbraPrefWhenInFoldersEnabled || '',\n\t\t\twhenSentToEnabled: item._attrs.zimbraPrefWhenSentToEnabled || '',\n\t\t\twhenSentToAddresses: item._attrs.zimbraPrefWhenSentToAddresses || ''\n\t\t}));\n\t\tconst result = [temp[temp.length - 1], ...temp];\n\t\tresult.pop();\n\t\treturn result;\n\t}, [accountSettings, t]);\n\n\treturn identitiesDefault.length > 0 ? (\n\t\t<AccountsSettings identitiesDefault={identitiesDefault} t={t} />\n\t) : null;\n};\n\nexport default AccountWrapper;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useState, useEffect, ReactElement } from 'react';\nimport { Container, useSnackbar } from '@zextras/carbonio-design-system';\nimport { TFunction } from 'react-i18next';\nimport { map, includes, findIndex, reduce, find, replace, lowerFirst, isEmpty } from 'lodash';\nimport { useUserSettings } from '../store/account/hooks';\nimport { editSettings } from '../network/edit-settings';\nimport { SHELL_APP_ID } from '../constants';\nimport { Mods, IdentityProps, CreateIdentityProps } from '../../types';\nimport { useAccountStore } from '../store/account/store';\nimport AccountsList from './components/account-settings/accounts-list';\nimport PrimaryAccountSettings from './components/account-settings/primary-account-settings';\nimport SettingsSentMessages from './components/account-settings/settings-sent-messages';\nimport PasswordRecoverySettings from './components/account-settings/password-recovery-settings';\nimport Delegates from './components/account-settings/delegates';\nimport PersonaSettings from './components/account-settings/persona-settings';\nimport PersonaUseSection from './components/account-settings/persona-use-section';\nimport SettingsHeader from './components/settings-header';\nimport { getXmlSoapFetch } from '../network/fetch';\n\n// external accounts not yet activated, graphical part is complete\n// import ExternalAccount from './components/account-settings/external-account-settings';\n// import AdvancedSettings from './components/account-settings/advanced-settings';\n// import DownloadMessages from './components/account-settings/download-messages';\n\ntype ModifyProps = { id: string | number; key: string; value: string | boolean } | undefined;\ntype AddModProps = {\n\ttype: string;\n\tmodifyProp?: ModifyProps;\n\tdeleteList?: string[];\n\tcreateList?: { prefs: CreateIdentityProps }[];\n};\ntype AccountSettingsProps = {\n\tidentitiesDefault: IdentityProps[];\n\tt: TFunction;\n};\n\ntype UserRightsProps = { email: string; right: string };\n\ntype DelegateProps = {\n\tid: string;\n\temail: string;\n\tright: string;\n};\n\nexport const AccountsSettings = ({ identitiesDefault, t }: AccountSettingsProps): ReactElement => {\n\tconst [mods, setMods] = useState<Mods>({});\n\tconst [activeDelegateView, setActiveDelegateView] = useState('0');\n\tconst [selectedIdentityId, setSelectedIdentityId] = useState(0);\n\tconst [identities, setIdentities] = useState<IdentityProps[]>(identitiesDefault);\n\tconst [delegates, setDelegates] = useState<DelegateProps[]>([]);\n\n\tconst maxIdentities = useUserSettings().attrs.zimbraIdentityMaxNumEntries;\n\tconst addMod = useCallback(\n\t\t(arg: AddModProps) => {\n\t\t\tconst { type, modifyProp, deleteList, createList } = arg;\n\t\t\tsetMods((prevState) => {\n\t\t\t\tconst prevRecord = find(\n\t\t\t\t\tprevState?.identity?.modifyList,\n\t\t\t\t\t(item) => item.id === modifyProp?.id\n\t\t\t\t)?.prefs;\n\t\t\t\tconst modifyList =\n\t\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...prevState.identity?.modifyList,\n\t\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\t\tid: modifyProp.id,\n\t\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: prevState.identity?.modifyList;\n\t\t\t\tconst newCreateList = prevState.identity?.createList || createList;\n\t\t\t\tconst newDeleteList = prevState.identity?.deleteList || deleteList;\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\n\t\t\t\t\t[type]: {\n\t\t\t\t\t\tdeleteList: newDeleteList,\n\t\t\t\t\t\tcreateList: newCreateList,\n\t\t\t\t\t\tmodifyList\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t[setMods]\n\t);\n\n\tconst modifyCreateList = useCallback((arg: AddModProps) => {\n\t\tconst { type, modifyProp } = arg;\n\t\tsetMods((prevState) => {\n\t\t\tconst prevRecord = find(\n\t\t\t\tprevState?.identity?.createList,\n\t\t\t\t(item) => item.prefs.requestId === modifyProp?.id\n\t\t\t)?.prefs;\n\t\t\tconst modifiedCreateList =\n\t\t\t\ttypeof modifyProp !== 'undefined'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...prevState.identity?.createList,\n\t\t\t\t\t\t\t[modifyProp.id]: {\n\t\t\t\t\t\t\t\tprefs: { ...prevRecord, [modifyProp.key]: modifyProp.value }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\n\t\t\t\t[type]: {\n\t\t\t\t\tcreateList: modifiedCreateList,\n\t\t\t\t\tdeleteList: prevState.identity?.deleteList,\n\t\t\t\t\tmodifyList: prevState.identity?.modifyList\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}, []);\n\tconst createIdentities = useCallback(\n\t\t(createList: { prefs: CreateIdentityProps }[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tcreateList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst updateIdentities = useCallback(\n\t\t(modifyProp: { id: string | number; key: string; value: string | boolean }) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tmodifyProp: { id: modifyProp.id, key: modifyProp.key, value: modifyProp.value }\n\t\t\t};\n\t\t\tif (typeof modifyProp.id === 'string') {\n\t\t\t\taddMod(arg);\n\t\t\t} else if (typeof modifyProp.id === 'number') {\n\t\t\t\tmodifyCreateList(arg);\n\t\t\t}\n\t\t\tconst updatedIdentityKey = lowerFirst(replace(modifyProp.key, 'zimbraPref', ''));\n\t\t\tsetIdentities(\n\t\t\t\tmap(identities, (item) =>\n\t\t\t\t\titem.identityId === modifyProp.id\n\t\t\t\t\t\t? { ...item, [updatedIdentityKey]: modifyProp.value }\n\t\t\t\t\t\t: item\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[addMod, identities, modifyCreateList]\n\t);\n\n\tconst deleteIdentities = useCallback(\n\t\t(deleteList: string[]) => {\n\t\t\tconst arg = {\n\t\t\t\ttype: 'identity',\n\t\t\t\tdeleteList\n\t\t\t};\n\t\t\taddMod(arg);\n\t\t},\n\t\t[addMod]\n\t);\n\n\tconst createSnackbar = useSnackbar();\n\n\tuseEffect(() => {\n\t\tgetXmlSoapFetch(SHELL_APP_ID)(\n\t\t\t'GetRights',\n\t\t\t`<GetRightsRequest xmlns=\"urn:zimbraAccount\"></GetRightsRequest>`\n\t\t).then((res: any) => {\n\t\t\tif (res.ace) {\n\t\t\t\tconst tempResult: UserRightsProps[] = map(res.ace, (item) => ({\n\t\t\t\t\temail: item.d,\n\t\t\t\t\tright: item.right\n\t\t\t\t}));\n\t\t\t\tconst resultReduced = reduce(\n\t\t\t\t\ttempResult,\n\t\t\t\t\t(result: UserRightsProps[], item) => {\n\t\t\t\t\t\tconst index = findIndex(result, { email: item.email });\n\t\t\t\t\t\tif (index === -1) {\n\t\t\t\t\t\t\tresult.push({ email: item.email, right: item.right });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\temail: item.email,\n\t\t\t\t\t\t\t\tright: `${item.right} and ${result[index].right}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tresult.splice(index, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tconst result = map(resultReduced, (item: UserRightsProps, index) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tid: index.toString()\n\t\t\t\t}));\n\t\t\t\tsetDelegates(result);\n\t\t\t}\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIdentities(identitiesDefault);\n\t\tsetMods({});\n\t}, [identitiesDefault]);\n\n\tconst onSave = useCallback(() => {\n\t\tif (\n\t\t\tidentitiesDefault.length +\n\t\t\t\t(mods.identity?.createList?.length || 0) -\n\t\t\t\t(mods?.identity?.deleteList?.length || 0) >\n\t\t\tmaxIdentities\n\t\t) {\n\t\t\tcreateSnackbar({\n\t\t\t\tkey: `new`,\n\t\t\t\treplace: true,\n\t\t\t\ttype: 'error',\n\t\t\t\tlabel: t(\n\t\t\t\t\t'message.snackbar.identities_quota_exceeded',\n\t\t\t\t\t'The identitity could not be created because you have exceeded your identity quota'\n\t\t\t\t),\n\t\t\t\tautoHideTimeout: 5000,\n\t\t\t\thideButton: true\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\teditSettings(mods)\n\t\t\t.then(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\tlabel: t('message.snackbar.settings_saved', 'Edits saved correctly'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tcreateSnackbar({\n\t\t\t\t\tkey: `new`,\n\t\t\t\t\treplace: true,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tlabel: t('snackbar.error', 'Something went wrong, please try again'),\n\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\thideButton: true\n\t\t\t\t});\n\t\t\t});\n\t\tsetMods({});\n\t}, [identitiesDefault.length, mods, maxIdentities, createSnackbar, t]);\n\n\tconst onCancel = useCallback(() => setMods({}), []);\n\tconst title: string = useMemo(() => t('label.accounts', 'Accounts'), [t]);\n\tconst isDirty = useMemo(() => !isEmpty(mods), [mods]);\n\treturn (\n\t\t<>\n\t\t\t<SettingsHeader onSave={onSave} onCancel={onCancel} isDirty={isDirty} title={title} />\n\t\t\t<Container background=\"gray5\" padding={{ top: 'large' }} height=\"fit\" />\n\t\t\t<Container\n\t\t\t\tbackground=\"gray5\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\tstyle={{ overflow: 'auto' }}\n\t\t\t>\n\t\t\t\t<AccountsList\n\t\t\t\t\tt={t}\n\t\t\t\t\tidentities={identities}\n\t\t\t\t\tsetIdentities={setIdentities}\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t\tdeleteIdentities={deleteIdentities}\n\t\t\t\t\tcreateIdentities={createIdentities}\n\t\t\t\t/>\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.primary', 'Primary') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PrimaryAccountSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[0]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{/* <PasswordRecoverySettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tcreateSnackbar={createSnackbar}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t\t<Delegates\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={delegates}\n\t\t\t\t\t\t\tactiveDelegateView={activeDelegateView}\n\t\t\t\t\t\t\tsetActiveDelegateView={setActiveDelegateView}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{identities[selectedIdentityId]?.type === t('label.persona', 'Persona') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PersonaSettings\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount={false}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PersonaUseSection\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{includes(['IMAP', 'POP'], identities[selectedIdentityId]?.type) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* <ExternalAccount t={t} items={identities} />\n\t\t\t\t\t\t<AdvancedSettings t={t} items={identities} />\n\t\t\t\t\t\t<DownloadMessages t={t} items={identities} />\n\t\t\t\t\t\t<SettingsSentMessages\n\t\t\t\t\t\t\tt={t}\n\t\t\t\t\t\t\titems={identities[selectedIdentityId]}\n\t\t\t\t\t\t\tisExternalAccount\n\t\t\t\t\t\t\tupdateIdentities={updateIdentities}\n\t\t\t\t\t\t\tsetMods={setMods}\n\t\t\t\t\t\t/> */}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, ReactElement, useState, useContext } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tIcon,\n\tModalManagerContext\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\nimport { map, filter, max } from 'lodash';\nimport { IdentityProps, CreateIdentityProps } from '../../../../types';\n\ntype AccountsListProps = {\n\tt: TFunction;\n\tidentities: IdentityProps[];\n\tsetIdentities: (identities: IdentityProps[]) => void;\n\tselectedIdentityId: number;\n\tsetSelectedIdentityId: (value: number) => void;\n\tdeleteIdentities: (deleteList: string[]) => void;\n\tcreateIdentities: (createList: { prefs: CreateIdentityProps }[]) => void;\n};\n\ntype ListItemProps = {\n\tactive: boolean;\n\titem: IdentityProps;\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst AccountsList = ({\n\tt,\n\tselectedIdentityId,\n\tidentities,\n\tsetIdentities,\n\tsetSelectedIdentityId,\n\tdeleteIdentities,\n\tcreateIdentities\n}: AccountsListProps): ReactElement => {\n\tconst changeView = (value: number): void => setSelectedIdentityId(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => {\n\t\t\t\t\tchangeView(Number(item.id));\n\t\t\t\t}}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Icon icon=\"CheckmarkCircle2Outline\" size=\"large\" color=\"primary\" />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.identityName}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t({item.fromAddress})\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.type}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\tconst createModal = useContext(ModalManagerContext);\n\n\tconst [createListrequestId, setCreateListrequestId] = useState(0);\n\tconst [createList, setCreateList] = useState<{ prefs: CreateIdentityProps }[]>([]);\n\tconst addNewPersona = useCallback(() => {\n\t\tconst newPersonaNextNumber =\n\t\t\tNumber(\n\t\t\t\tmax([\n\t\t\t\t\t...filter(\n\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\tfilter(identities, (item) => item.identityName?.includes('New Persona')),\n\t\t\t\t\t\t\t\t(item: IdentityProps) => item.identityName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t(item: string) => parseFloat(item.replace('New Persona ', ''))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(item) => Number(item)\n\t\t\t\t\t)\n\t\t\t\t])\n\t\t\t) + 1;\n\t\tconst newPersonaName = `New Persona ${newPersonaNextNumber || 1}`;\n\t\tidentities.push({\n\t\t\tid: `${identities.length}`,\n\t\t\ttype: t('label.persona', 'Persona'),\n\t\t\tidentityId: createListrequestId,\n\t\t\tfromAddress: identities[0]?.fromAddress,\n\t\t\tidentityName: newPersonaName,\n\t\t\tfromDisplay: identities[0]?.fromDisplay,\n\t\t\treplyToDisplay: '',\n\t\t\treplyToAddress: '',\n\t\t\treplyToEnabled: 'FALSE',\n\t\t\tsaveToSent: '',\n\t\t\tsentMailFolder: '',\n\t\t\twhenInFoldersEnabled: '',\n\t\t\twhenSentToEnabled: ''\n\t\t});\n\t\tsetIdentities(identities);\n\t\tsetCreateListrequestId(createListrequestId + 1);\n\t\tsetCreateList((state) => {\n\t\t\tstate.push({\n\t\t\t\tprefs: {\n\t\t\t\t\trequestId: createListrequestId,\n\t\t\t\t\tzimbraPrefIdentityName: newPersonaName,\n\t\t\t\t\tzimbraPrefFromDisplay: identities[0]?.fromDisplay,\n\t\t\t\t\tzimbraPrefFromAddress: identities[0]?.fromAddress,\n\t\t\t\t\tzimbraPrefFromAddressType: 'sendAs',\n\t\t\t\t\tzimbraPrefReplyToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefReplyToDisplay: '',\n\t\t\t\t\tzimbraPrefReplyToAddress: '',\n\t\t\t\t\tzimbraPrefDefaultSignatureId: '',\n\t\t\t\t\tzimbraPrefForwardReplySignatureId: '',\n\t\t\t\t\tzimbraPrefWhenSentToEnabled: 'FALSE',\n\t\t\t\t\tzimbraPrefWhenInFoldersEnabled: 'FALSE'\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\t\tcreateIdentities(createList);\n\t\tsetSelectedIdentityId(identities.length - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tt,\n\t\tcreateIdentities,\n\t\tcreateListrequestId,\n\t\tcreateList,\n\t\tsetSelectedIdentityId\n\t]);\n\n\tconst [deleteList, setDeleteList] = useState<string[]>([]);\n\tconst onConfirmDelete = useCallback((): void => {\n\t\tconst newIdentities = map(\n\t\t\tfilter(\n\t\t\t\tidentities,\n\t\t\t\t(identity) => identity?.identityId !== identities[selectedIdentityId]?.identityId\n\t\t\t),\n\t\t\t(item: IdentityProps, index: number) => ({ ...item, id: index.toString() })\n\t\t);\n\t\tsetDeleteList((state) => {\n\t\t\tstate.push(identities[selectedIdentityId]?.identityId.toString());\n\t\t\treturn state;\n\t\t});\n\t\tsetIdentities(newIdentities);\n\t\tdeleteIdentities(deleteList);\n\t\tsetSelectedIdentityId(selectedIdentityId - 1);\n\t}, [\n\t\tidentities,\n\t\tsetIdentities,\n\t\tdeleteIdentities,\n\t\tdeleteList,\n\t\tsetSelectedIdentityId,\n\t\tselectedIdentityId\n\t]);\n\tconst onDelete = useCallback((): void => {\n\t\t// I'm disabling lint as the DS is not defining the type\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst closeModal = createModal({\n\t\t\ttitle: t('label.permanent_delete_title', 'Are you sure to permanently delete this Persona?'),\n\t\t\tonConfirm: () => {\n\t\t\t\tonConfirmDelete();\n\t\t\t\tcloseModal();\n\t\t\t},\n\t\t\tconfirmLabel: t('label.delete_permanently', 'Delete permanently'),\n\t\t\tconfirmColor: 'error',\n\t\t\tshowCloseIcon: true,\n\t\t\tonClose: () => closeModal(),\n\t\t\tchildren: (\n\t\t\t\t<Padding all=\"small\">\n\t\t\t\t\t<Text overflow=\"break-word\">\n\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t'messages.permanent_delete_body',\n\t\t\t\t\t\t\t'If you permanently delete this Persona you will not be able to recover it. Continue?'\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Text>\n\t\t\t\t</Padding>\n\t\t\t)\n\t\t});\n\t}, [createModal, t, onConfirmDelete]);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.accounts_list', 'Accounts list')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={identities}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={identities[selectedIdentityId]?.id}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tselectedIdentityId={selectedIdentityId}\n\t\t\t\t\tsetSelectedIdentityId={setSelectedIdentityId}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large', bottom: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_external_account', 'Add external account')}\n\t\t\t\t\t\t// onClick={(): void => setSelectedIdentity({ type: 'POP' })}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_persona', 'Add persona')}\n\t\t\t\t\t\tonClick={(): void => addNewPersona()}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={t('label.delete', 'Delete')}\n\t\t\t\t\tonClick={(): void => onDelete()}\n\t\t\t\t\tcolor=\"error\"\n\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\tdisabled={identities[selectedIdentityId]?.type === t('label.primary', 'Primary')}\n\t\t\t\t/>\n\t\t\t</Row>\n\t\t\t<Padding bottom=\"large\" />\n\t\t</>\n\t);\n};\n\nexport default AccountsList;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { ReactElement, useState } from 'react';\nimport {\n\tContainer,\n\tText,\n\tList,\n\tDivider,\n\tRow,\n\tPadding,\n\tButton,\n\tRadio,\n\tRadioGroup\n} from '@zextras/carbonio-design-system';\nimport { TFunction } from 'i18next';\n\ntype DelegatesProps = {\n\tt: TFunction;\n\titems: { email: string; right: string; id: string }[];\n\tactiveDelegateView: string;\n\tsetActiveDelegateView: (value: string) => void;\n};\n\ntype ListItemProps = {\n\tactive: string;\n\titem: { id: string; label: string; email: string; right: string };\n\tselected: boolean;\n\tsetSelected: () => void;\n\tbackground: string;\n\tselectedBackground: string;\n\tactiveBackground: string;\n};\n\nconst Delegates = ({\n\tt,\n\titems,\n\tactiveDelegateView,\n\tsetActiveDelegateView\n}: DelegatesProps): ReactElement => {\n\tconst [activeValue, setActiveValue] = useState('1');\n\n\tconst changeView = (value: string): void => setActiveDelegateView(value);\n\n\tconst ListItem = ({ item }: ListItemProps): ReactElement => (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tonClick={(): void => changeView(item.id)}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tpadding={{ all: 'small' }}\n\t\t\t>\n\t\t\t\t<Row width=\"fill\" mainAlignment=\"space-between\">\n\t\t\t\t\t<Container orientation=\"horizontal\" mainAlignment=\"flex-start\" width=\"fit\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\" color=\"secondary\">\n\t\t\t\t\t\t\t\t{item.email}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fit\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Text weight=\"regular\" size=\"small\">\n\t\t\t\t\t\t\t{item.right}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</Container>\n\t\t\t\t</Row>\n\n\t\t\t\t<Row width=\"fit\"></Row>\n\t\t\t</Container>\n\t\t\t<Divider />\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"fill\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Padding horizontal=\"medium\" bottom=\"large\" width=\"100%\">\n\t\t\t\t\t<Text weight=\"bold\">{t('label.delegates', 'Delegates')}</Text>\n\t\t\t\t</Padding>\n\t\t\t\t<List\n\t\t\t\t\titems={items}\n\t\t\t\t\tItemComponent={ListItem}\n\t\t\t\t\tactive={activeDelegateView}\n\t\t\t\t\theight=\"fit\"\n\t\t\t\t\tactiveView={activeDelegateView}\n\t\t\t\t\tsetActiveView={setActiveDelegateView}\n\t\t\t\t/>\n\t\t\t</Container>\n\t\t\t<Row\n\t\t\t\tpadding={{ horizontal: 'large' }}\n\t\t\t\twidth=\"fill\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.add_delegate', 'Add delegate')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={t('label.edit_permissions', 'Edit permissions')}\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\ttype=\"outlined\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Button label={t('label.remove', 'remove')} color=\"error\" type=\"outlined\" disabled />\n\t\t\t</Row>\n\t\t\t<Container\n\t\t\t\tminWidth=\"calc(min(100%, 512px))\"\n\t\t\t\twidth=\"100%\"\n\t\t\t\tpadding={{ all: 'large' }}\n\t\t\t\theight=\"fit\"\n\t\t\t\tbackground=\"gray6\"\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t>\n\t\t\t\t<RadioGroup\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\tvalue={activeValue}\n\t\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\t\tonChange={(newValue: string): void => setActiveValue(newValue)}\n\t\t\t\t>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_to_my_sent_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_delegate_folder',\n\t\t\t\t\t\t\t'Save a copy of sent messages to delegate’s Sent folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"2\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio\n\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t'label.save_both_folders',\n\t\t\t\t\t\t\t'Save a copy of sent messages to my Sent folder and delegate’s folder'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Radio label={t('label.dont_save', 'Don’t save a copy of sent messages')} value=\"4\" />\n\t\t\t\t</RadioGroup>\n\t\t\t\t<Padding bottom=\"large\" />\n\t\t\t</Container>\n\t\t</>\n\t);\n};\n\nexport default Delegates;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { 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 { 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\tsetDarkReaderState(v);\n\t\t\taddMod('props', 'zappDarkreaderMode', { app: SHELL_APP_ID, value: v });\n\t\t},\n\t\t[addMod, 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\tInput,\n\tCheckbox,\n\tSelect,\n\tPadding\n} from '@zextras/carbonio-design-system';\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport momentLocalizer from 'react-widgets-moment';\nimport { useTranslation } from 'react-i18next';\nimport { 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\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<Input\n\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>): void => {\n\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeReply(e.target.value);\n\t\t\t\t\t\t\tupdatePrefs(e.target.value, 'zimbraPrefOutOfOfficeReply');\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tautoComplete=\"on\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.auto_reply_message', 'Auto-Reply Message:')}\n\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeReply || ''}\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t/>\n\t\t\t\t</Padding>\n\t\t\t\t<Padding top=\"small\" width=\"100%\">\n\t\t\t\t\t<Select\n\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\titems={itemsExternalSenders}\n\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.external_senders', 'External Senders')}\n\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\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<Input\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>): void => {\n\t\t\t\t\t\t\t\tsetInputZimbraPrefOutOfOfficeExternalReply(e.target.value);\n\t\t\t\t\t\t\t\tupdatePrefs(e.target.value, 'zimbraPrefOutOfOfficeExternalReply');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tautoComplete=\"on\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.auto_reply_message_external',\n\t\t\t\t\t\t\t\t'Auto-Reply Message for External senders:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t\tvalue={inputZimbraPrefOutOfOfficeExternalReply || ''}\n\t\t\t\t\t\t\tdisabled={!sendAutoReply}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Padding>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t<DateTimeSelect settings={settings} addMod={addMod} sendAutoReply={sendAutoReply} />\n\t\t\t\t<Container crossAlignment=\"flex-start\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\ttitle={t('settings.out_of_office.headings.create_appointment', 'Calendar Appointment')}\n\t\t\t\t\t/>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\tlabel={t('settings.out_of_office.labels.create_appointment', 'Create Appointment:')}\n\t\t\t\t\t\tvalue={createAppointment}\n\t\t\t\t\t\tonClick={(value: any): void => {\n\t\t\t\t\t\t\tsetCreateAppointment(!createAppointment);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Container>\n\t\t\t\t<Container crossAlignment=\"baseline\" padding={{ all: 'small' }}>\n\t\t\t\t\t<Padding top=\"small\" width=\"50%\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tdisabled={createAppointmentDisabled}\n\t\t\t\t\t\t\titems={itemsOutOfOfficeStatus}\n\t\t\t\t\t\t\tbackground=\"gray5\"\n\t\t\t\t\t\t\tlabel={t(\n\t\t\t\t\t\t\t\t'settings.out_of_office.labels.out_of_office_status',\n\t\t\t\t\t\t\t\t'Out Of Office Status:'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonChange={(value: unknown): void => {\n\t\t\t\t\t\t\t\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: 'pt_BR',\n\t\tname: 'português (Brasil)',\n\t\tlocalName: t('locale.portuguese_brazil', 'Portuguese (Brazil)'),\n\t\tlabel: t('locale.label_portuguese_brazil', {\n\t\t\tvalue: 'português (Brasil)',\n\t\t\tdefaultValue: 'Portuguese - {{value}}'\n\t\t}),\n\t\tvalue: 'pt_BR'\n\t},\n\n\t{\n\t\tid: 'ro',\n\t\tname: 'română',\n\t\tlocalName: t('locale.romanian', 'Romanian'),\n\t\tlabel: t('locale.label_romanian', { value: 'română', defaultValue: 'Romanian - {{value}}' }),\n\t\tvalue: 'ro'\n\t},\n\t{\n\t\tid: 'ru',\n\t\tname: 'русский',\n\t\tlocalName: t('locale.russian', 'Russian'),\n\t\tlabel: t('locale.label_russian', { value: 'русский', defaultValue: 'Russian - {{value}}' }),\n\t\tvalue: 'ru'\n\t},\n\n\t{\n\t\tid: 'es',\n\t\tname: 'español',\n\t\tlocalName: t('locale.spanish', 'Spanish'),\n\t\tlabel: t('locale.label_spanish', { value: 'español', defaultValue: 'Spanish - {{value}}' }),\n\t\tvalue: 'es'\n\t},\n\n\t{\n\t\tid: 'th',\n\t\tname: 'ไทย',\n\t\tlocalName: t('locale.thai', 'Thai'),\n\t\tlabel: t('locale.label_thai', { value: 'ไทย', defaultValue: 'Thai - {{value}}' }),\n\t\tvalue: 'th'\n\t},\n\t{\n\t\tid: 'tr',\n\t\tname: 'Türkçe',\n\t\tlocalName: t('locale.turkish', 'Turkish'),\n\t\tlabel: t('locale.label_turkish', { value: 'Türkçe', defaultValue: 'Turkish - {{value}}' }),\n\t\tvalue: 'tr'\n\t},\n\t{\n\t\tid: 'fr',\n\t\tname: 'français',\n\t\tlocalName: t('locale.french', 'French'),\n\t\tlabel: t('locale.label_french', { value: 'français', defaultValue: 'French - {{value}}' }),\n\t\tvalue: 'fr'\n\t}\n];\n// TODO: For future languages\n// export const localeList = (t: TFunction): any => [\n// \t{\n// \t\tid: 'ar',\n// \t\tname: 'العربية',\n// \t\tlocalName: t('locale.arabic', 'Arabic'),\n// \t\tlabel: t('locale.label_arabic', { value: 'لعربية', defaultValue: 'Arabic - {{value}}' }),\n// \t\tvalue: 'ar'\n// \t},\n// \t{\n// \t\tid: 'eu',\n// \t\tname: 'Euskara',\n// \t\tlocalName: t('locale.basque', 'Basque'),\n// \t\tlabel: t('locale.label_basque', { value: 'Euskara', defaultValue: 'Basque - {{value}}' }),\n// \t\tvalue: 'eu'\n// \t},\n// \t{\n// \t\tid: 'bg',\n// \t\tname: 'български',\n// \t\tlocalName: t('locale.bulgarian', 'Bulgarian'),\n// \t\tlabel: t('locale.label_bulgarian', {\n// \t\t\tvalue: 'български',\n// \t\t\tdefaultValue: 'Bulgarian - {{value}}'\n// \t\t}),\n// \t\tvalue: 'bg'\n// \t},\n// \t{\n// \t\tid: 'ca',\n// \t\tname: 'català',\n// \t\tlocalName: t('locale.catalan', 'Catalan'),\n// \t\tlabel: 'Catalan - català',\n// \t\tvalue: 'ca'\n// \t},\n// \t{\n// \t\tid: 'zh',\n// \t\tname: '中文',\n// \t\tlocalName: t('locale.chinese', 'Chinese'),\n// \t\tlabel: 'Chinese - 中文',\n// \t\tvalue: 'zh'\n// \t},\n// \t{\n// \t\tid: 'zh_CN',\n// \t\tname: '中文 (中国)',\n// \t\tlocalName: t('locale.chinese_china', 'Chinese (China)'),\n// \t\tlabel: 'Chinese (China) - 中文 (中国)',\n// \t\tvalue: 'zh_CN'\n// \t},\n// \t{\n// \t\tid: 'zh_HK',\n// \t\tname: '中文 (香港)',\n// \t\tlocalName: t('locale.chinese_hong_kong', 'Chinese (Hong Kong SAR China)'),\n// \t\tlabel: 'Chinese (Hong Kong SAR China) - 中文 (香港)',\n// \t\tvalue: 'zh_HK'\n// \t},\n// \t{\n// \t\tid: 'zh_TW',\n// \t\tname: '中文 (台灣)',\n// \t\tlocalName: t('locale.chinese_taiwan', 'Chinese (Taiwan)'),\n// \t\tlabel: 'Chinese (Taiwan) - 中文 (台灣)',\n// \t\tvalue: 'zh_TW'\n// \t},\n// \t{\n// \t\tid: 'hr',\n// \t\tname: 'hrvatski',\n// \t\tlocalName: t('locale.croatian', 'Croatian'),\n// \t\tlabel: 'Croatian - hrvatski',\n// \t\tvalue: 'hr'\n// \t},\n// \t{\n// \t\tid: 'da',\n// \t\tname: 'Dansk',\n// \t\tlocalName: t('locale.danish', 'Danish'),\n// \t\tlabel: 'Danish - Dansk',\n// \t\tvalue: 'da'\n// \t},\n\n// \t{\n// \t\tid: 'en_AU',\n// \t\tname: 'English (Australia)',\n// \t\tlocalName: t('locale.english_australia', 'English (Australia)'),\n// \t\tlabel: 'English (Australia) - English (Australia)',\n// \t\tvalue: 'en_AU'\n// \t},\n// \t{\n// \t\tid: 'en_GB',\n// \t\tname: 'English (United Kingdom)',\n// \t\tlocalName: t('locale.english_united_kingdom', 'English (United Kingdom)'),\n// \t\tlabel: 'English (United Kingdom) - English (United Kingdom)',\n// \t\tvalue: 'en_GB'\n// \t},\n// \t{\n// \t\tid: 'en_US',\n// \t\tname: 'English (United States)',\n// \t\tlocalName: t('locale.english_united_states', 'English (United States)'),\n// \t\tlabel: 'English (United States) - English (United States)',\n// \t\tvalue: 'en_US'\n// \t},\n// \t{\n// \t\tid: 'fr',\n// \t\tname: 'français',\n// \t\tlocalName: t('locale.french', 'French'),\n// \t\tlabel: 'French - français',\n// \t\tvalue: 'fr'\n// \t},\n// \t{\n// \t\tid: 'fr_CA',\n// \t\tname: 'français (Canada)',\n// \t\tlocalName: t('locale.french_canada', 'French (Canada)'),\n// \t\tlabel: 'French (Canada) - français (Canada)',\n// \t\tvalue: 'fr_CA'\n// \t},\n// \t{\n// \t\tid: 'fr_FR',\n// \t\tname: 'français (France)',\n// \t\tlocalName: t('locale.french_france', 'French (France)'),\n// \t\tlabel: 'French (France) - français (France)',\n// \t\tvalue: 'fr_FR'\n// \t},\n\n// \t{\n// \t\tid: 'iw',\n// \t\tname: 'עברית',\n// \t\tlocalName: t('locale.hebrew', 'Hebrew'),\n// \t\tlabel: 'Hebrew - עברית',\n// \t\tvalue: 'iw'\n// \t},\n\n// \t{\n// \t\tid: 'hu',\n// \t\tname: 'magyar',\n// \t\tlocalName: t('locale.hungarian', 'Hungarian'),\n// \t\tlabel: 'Hungarian - magyar',\n// \t\tvalue: 'hu'\n// \t},\n// \t{\n// \t\tid: 'in',\n// \t\tname: 'Bahasa Indonesia',\n// \t\tlocalName: t('locale.indonesian', 'Indonesian'),\n// \t\tlabel: 'Indonesian - Bahasa Indonesia',\n// \t\tvalue: 'in'\n// \t},\n\n// \t{\n// \t\tid: 'ko',\n// \t\tname: '한국어',\n// \t\tlocalName: t('locale.korean', 'Korean'),\n// \t\tlabel: 'Korean - 한국어',\n// \t\tvalue: 'ko'\n// \t},\n// \t{\n// \t\tid: 'lo',\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tname: 'ພາ​ສາ​ລາວ',\n// \t\tlocalName: t('locale.lao', 'Lao'),\n// eslint-disable-next-line no-irregular-whitespace\n// \t\tlabel: 'Lao - ພາ​ສາ​ລາວ',\n// \t\tvalue: 'lo'\n// \t},\n// \t{\n// \t\tid: 'ms',\n// \t\tname: 'Bahasa Melayu',\n// \t\tlocalName: t('locale.malay', 'Malay'),\n// \t\tlabel: 'Malay - Bahasa Melayu',\n// \t\tvalue: 'ms'\n// \t},\n// \t{\n// \t\tid: 'no',\n// \t\tname: 'norsk',\n// \t\tlocalName: t('locale.norwegian', 'Norwegian'),\n// \t\tlabel: 'Norwegian - norsk',\n// \t\tvalue: 'no'\n// \t},\n// \t{\n// \t\tid: 'pl',\n// \t\tname: 'polski',\n// \t\tlocalName: t('locale.polish', 'Polish'),\n// \t\tlabel: 'Polish - polski',\n// \t\tvalue: 'pl'\n// \t},\n\n// \t{\n// \t\tid: 'pt_PT',\n// \t\tname: 'português (Portugal)',\n// \t\tlocalName: t('locale.potuguese_portugal', 'Portuguese (Portugal)'),\n// \t\tlabel: 'Portuguese (Portugal) - português (Portugal)',\n// \t\tvalue: 'pt_PT'\n// \t},\n\n// \t{\n// \t\tid: 'sl',\n// \t\tname: 'Slovenščina',\n// \t\tlocalName: t('locale.slovenian', 'Slovenian'),\n// \t\tlabel: 'Slovenian - Slovenščina',\n// \t\tvalue: 'sl'\n// \t},\n\n// \t{\n// \t\tid: 'sv',\n// \t\tname: 'svenska',\n// \t\tlocalName: t('locale.swedish', 'Swedish'),\n// \t\tlabel: 'Swedish - svenska',\n// \t\tvalue: 'sv'\n// \t},\n// \t{\n// \t\tid: 'ta',\n// \t\tname: 'தமிழ்',\n// \t\tlocalName: t('locale.tamil', 'Tamil'),\n// \t\tlabel: 'Tamil - தமிழ்',\n// \t\tvalue: 'ta'\n// \t},\n\n// \t{\n// \t\tid: 'uk',\n// \t\tname: 'українська',\n// \t\tlocalName: t('locale.ukrainian', 'Ukrainian'),\n// \t\tlabel: 'Ukrainian - українська',\n// \t\tvalue: 'uk'\n// \t},\n// \t{\n// \t\tid: 'vi',\n// \t\tname: 'Tiếng Việt',\n// \t\tlocalName: t('locale.vietnamese', 'Vietnamese'),\n// \t\tlabel: 'Vietnamese - Tiếng Việt',\n// \t\tvalue: 'vi'\n// \t}\n// ];\n\nexport const timeZoneList = (\n\tt: TFunction\n): Array<{ value?: string; label: string; offSet?: string }> => [\n\t{\n\t\tvalue: 'Etc/GMT+12',\n\t\tlabel: t('timezone.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`;\n\nexport default function AppBoard({ idx }) {\n\tconst { boards, currentBoard } = useContext(BoardValueContext);\n\tconst [history] = useState(() => createMemoryHistory({ initialEntries: [boards[idx].url] }));\n\tconst { updateBoard } = useContext(BoardSetterContext);\n\tconst boardViews = useAppStore((s) => s.views.board);\n\tconst windowHistory = useHistory();\n\tconst routes = useMemo(\n\t\t() =>\n\t\t\tmap(boardViews, (view) => (\n\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t<view.component windowHistory={windowHistory} />\n\t\t\t\t\t</AppContextProvider>\n\t\t\t\t</Route>\n\t\t\t)),\n\t\t[boardViews, windowHistory]\n\t);\n\n\tuseEffect(() => {\n\t\tconst unlisten = history.listen(({ location }) => {\n\t\t\tif (`${location.pathname}${location.search}${location.hash}` !== boards[idx].url) {\n\t\t\t\tupdateBoard(idx, `${location.pathname}${location.search}${location.hash}`);\n\t\t\t}\n\t\t});\n\t\treturn () => {\n\t\t\tunlisten();\n\t\t};\n\t}, [boards, history, idx, updateBoard]);\n\n\tuseEffect(() => {\n\t\tconst l = history.location;\n\t\tif (`${l.pathname}${l.search}${l.hash}` !== boards[idx].url) {\n\t\t\thistory.push(boards[idx].url);\n\t\t}\n\t}, [idx, boards, history]);\n\n\treturn (\n\t\t<BoardContainer show={currentBoard === idx}>\n\t\t\t<Router history={history}>{routes}</Router>\n\t\t</BoardContainer>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useMemo, useReducer } from 'react';\nimport { pickBy, trim } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { BoardValueContext, BoardSetterContext } from './board-context';\nimport { useBridge } from '../../store/context-bridge';\n\nfunction getRandomKey() {\n\treturn String(Date.now() * (Math.floor(Math.random() * 1000) + 1));\n}\nconst reducer = (state, action) => {\n\tswitch (action.type) {\n\t\tcase 'ADD_BOARD': {\n\t\t\tconst returnValue = {\n\t\t\t\t...state,\n\t\t\t\tboards: {\n\t\t\t\t\t[action.payload.boardKey]: {\n\t\t\t\t\t\turl: action.payload.url,\n\t\t\t\t\t\ttitle: action.payload.title,\n\t\t\t\t\t\tcontext: action.payload.context,\n\t\t\t\t\t\tapp: action.payload.app\n\t\t\t\t\t},\n\t\t\t\t\t...state.boards\n\t\t\t\t},\n\t\t\t\tcurrentBoard: action.payload.boardKey,\n\t\t\t\tminimized: false\n\t\t\t};\n\t\t\treturn returnValue;\n\t\t}\n\t\tcase 'REMOVE_BOARD': {\n\t\t\tlet newCurrentBoard = state.currentBoard;\n\t\t\tconst boardKeys = Object.keys(state.boards);\n\t\t\tconst boardToRemove = (action.payload && action.payload.key) || state.currentBoard;\n\t\t\tif (state.currentBoard === boardToRemove) {\n\t\t\t\tconst removedBoardIndex = boardKeys.indexOf(boardToRemove);\n\t\t\t\tnewCurrentBoard = boardKeys[removedBoardIndex > 0 ? removedBoardIndex - 1 : 1];\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: pickBy(state.boards, (board, key) => key !== boardToRemove),\n\t\t\t\tlargeView: boardKeys.length === 1 ? false : state.largeView,\n\t\t\t\tcurrentBoard: newCurrentBoard\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ALL_BOARDS': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: {},\n\t\t\t\tlargeView: false\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_BOARD': {\n\t\t\tif (!state.boards[action.payload.key]) return state;\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[action.payload.key].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[action.payload.key].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'UPDATE_CURRENT_BOARD': {\n\t\t\tconst updatedBoards = { ...state.boards };\n\t\t\tif (action.payload.url) updatedBoards[state.currentBoard].url = action.payload.url;\n\t\t\tif (action.payload.title) updatedBoards[state.currentBoard].title = action.payload.title;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tboards: updatedBoards\n\t\t\t};\n\t\t}\n\t\tcase 'SET_CURRENT_BOARD': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcurrentBoard: action.payload.key\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_LARGE_VIEW': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tlargeView: !state.largeView\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_MINIMIZED': {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tminimized: !state.minimized\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tconsole.warn('Unrecognized action type in BoardContext');\n\t\t\treturn state;\n\t}\n};\n\nexport default function BoardContextProvider({ children }) {\n\tconst [t] = useTranslation();\n\tconst [boardState, dispatch] = useReducer(reducer, {\n\t\tboards: {},\n\t\tcurrentBoard: 0,\n\t\tlargeView: false,\n\t\tminimized: false\n\t});\n\n\tconst addBoard = useCallback(\n\t\t(url, context, app) => {\n\t\t\tconst boardKey = getRandomKey();\n\t\t\tdispatch({\n\t\t\t\ttype: 'ADD_BOARD',\n\t\t\t\tpayload: {\n\t\t\t\t\turl: `/${trim(url, '/')}`,\n\t\t\t\t\ttitle: context?.title ?? t('new_tab', 'New Tab'),\n\t\t\t\t\tcontext,\n\t\t\t\t\tboardKey,\n\t\t\t\t\tapp\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn boardKey;\n\t\t},\n\t\t[t]\n\t);\n\tconst removeBoard = useCallback((key) => {\n\t\tdispatch({ type: 'REMOVE_BOARD', payload: { key } });\n\t}, []);\n\tconst removeCurrentBoard = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_BOARD' });\n\t}, []);\n\tconst removeAllBoards = useCallback(() => {\n\t\tdispatch({ type: 'REMOVE_ALL_BOARDS' });\n\t}, []);\n\tconst updateBoard = useCallback((key, url, title) => {\n\t\tdispatch({ type: 'UPDATE_BOARD', payload: { key, url, title } });\n\t}, []);\n\tconst updateCurrentBoard = useCallback((url, title) => {\n\t\tdispatch({ type: 'UPDATE_CURRENT_BOARD', payload: { url, title } });\n\t}, []);\n\tconst setCurrentBoard = useCallback((key) => {\n\t\tdispatch({ type: 'SET_CURRENT_BOARD', payload: { key } });\n\t}, []);\n\tconst toggleLargeView = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_LARGE_VIEW' });\n\t}, []);\n\tconst toggleMinimized = useCallback(() => {\n\t\tdispatch({ type: 'TOGGLE_MINIMIZED' });\n\t}, []);\n\n\tconst boardSetters = useMemo(\n\t\t() => ({\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tremoveAllBoards,\n\t\t\tupdateBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateCurrentBoard\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveAllBoards,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleLargeView,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\n\tconst cbFunctions = useMemo(\n\t\t() => ({\n\t\t\tpackageDependentFunctions: {\n\t\t\t\taddBoard: (pkg) => (path, context) => {\n\t\t\t\t\taddBoard(path, context, context?.app ?? pkg);\n\t\t\t\t}\n\t\t\t},\n\t\t\tfunctions: {\n\t\t\t\tremoveBoard,\n\t\t\t\tremoveCurrentBoard,\n\t\t\t\tupdateBoard,\n\t\t\t\tsetCurrentBoard,\n\t\t\t\tupdateCurrentBoard,\n\t\t\t\ttoggleMinimizedBoard: toggleMinimized\n\t\t\t}\n\t\t}),\n\t\t[\n\t\t\taddBoard,\n\t\t\tremoveBoard,\n\t\t\tremoveCurrentBoard,\n\t\t\tsetCurrentBoard,\n\t\t\ttoggleMinimized,\n\t\t\tupdateBoard,\n\t\t\tupdateCurrentBoard\n\t\t]\n\t);\n\tuseBridge(cbFunctions);\n\n\treturn (\n\t\t<BoardValueContext.Provider value={boardState}>\n\t\t\t<BoardSetterContext.Provider value={boardSetters}>{children}</BoardSetterContext.Provider>\n\t\t</BoardValueContext.Provider>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { createContext } from 'react';\n\nconst BoardValueContext = createContext({\n\tboards: {},\n\tcurrentBoard: 0,\n\tlargeView: false,\n\tminimized: false\n});\nconst BoardSetterContext = createContext({\n\taddBoard: (url, title, context) => undefined,\n\tremoveBoard: (key) => undefined,\n\tremoveCurrentBoard: () => undefined,\n\tremoveAllBoards: () => undefined,\n\tupdateBoard: (key, url, title) => undefined,\n\tsetCurrentBoard: (key) => undefined,\n\tupdateCurrentBoard: (url, title) => undefined,\n\ttoggleLargeView: () => undefined,\n\ttoggleMinimized: () => undefined\n});\n\nexport { BoardValueContext, BoardSetterContext };\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useContext, useCallback } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardSetterContext, BoardValueContext } from './board-context';\n\nexport const getUseAddBoardCallback =\n\t(appId: string) => (): ((path: string, context?: unknown | { app: string }) => void) => {\n\t\tconst { addBoard } = useContext(BoardSetterContext);\n\t\tconst callback = useCallback(\n\t\t\t(path: string, context?: unknown | { app?: string }) => {\n\t\t\t\taddBoard(path, context, (context as { app?: string })?.app ?? appId);\n\t\t\t},\n\t\t\t[addBoard]\n\t\t);\n\t\treturn callback;\n\t};\n\nexport function useUpdateCurrentBoard(): (url: string, title: string) => void {\n\tconst { updateCurrentBoard } = useContext(BoardSetterContext);\n\treturn updateCurrentBoard;\n}\n\nexport function useRemoveCurrentBoard(): () => void {\n\tconst { removeCurrentBoard } = useContext(BoardSetterContext);\n\treturn removeCurrentBoard;\n}\n\nexport function useBoardConfig(): unknown {\n\tconst context: any = useContext(BoardValueContext);\n\tif (context) {\n\t\treturn context.boards?.[context.currentBoard]?.context;\n\t}\n\treturn undefined;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { Icon } from '@zextras/carbonio-design-system';\n\nconst VerticalDivider = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\theight: 100%;\n\twidth: 1px;\n\tmax-width: 1px;\n\tmin-width: 1px;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background 0.2s;\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n`;\n\nconst Bubble = styled.div<{ open: boolean }>`\n\tcursor: pointer;\n\tz-index: 2;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: -12px;\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground-color: ${({ theme }): string => theme.palette.gray2.regular};\n\ttransition: background-color 0.2s, transform 0.2s;\n\ttransform: scaleX(${({ open }): number => (open ? 1 : -1)});\n\t&:hover {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.hover};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }): string => theme.palette.gray2.active};\n\t}\n`;\n\nexport const Collapser: FunctionComponent<{ open: boolean; onClick: () => void }> = ({\n\topen,\n\tonClick\n}) => (\n\t<VerticalDivider>\n\t\t<Bubble onClick={onClick} open={open}>\n\t\t\t<Icon size=\"medium\" icon=\"ChevronLeft\" />\n\t\t</Bubble>\n\t</VerticalDivider>\n);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport { reduce, groupBy } from 'lodash';\nimport { MultiButton, Button, Dropdown } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useLocation } from 'react-router-dom';\nimport { useActions } from '../store/integrations/hooks';\nimport { ACTION_TYPES } from '../constants';\nimport { Action, AppRoute } from '../../types';\nimport { useAppList } from '../store/app';\n\nconst useSecondaryActions = (\n\tactions: Array<Action>,\n\tactiveRoute?: AppRoute\n): Array<Action | { type: string; id: string }> => {\n\tconst apps = useAppList();\n\n\tconst byApp = useMemo(() => groupBy(actions, 'group'), [actions]);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...(byApp[activeRoute?.app ?? ''] ?? []),\n\t\t\t...reduce(\n\t\t\t\tapps,\n\t\t\t\t(acc, app, i) => {\n\t\t\t\t\tif (app.name !== activeRoute?.app && byApp[app.name]?.length > 0) {\n\t\t\t\t\t\tacc.push({ type: 'divider', label: '', id: `divider-${i}` }, ...byApp[app.name]);\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[] as Array<Action | { type: string; id: string }>\n\t\t\t)\n\t\t],\n\t\t[activeRoute?.app, apps, byApp]\n\t);\n};\n\nexport const CreationButton: FC<{ activeRoute?: AppRoute }> = ({ activeRoute }) => {\n\tconst [t] = useTranslation();\n\tconst location = useLocation();\n\tconst actions = useActions({ activeRoute, location }, ACTION_TYPES.NEW);\n\tconst [open, setOpen] = useState(false);\n\tconst primaryAction = useMemo(\n\t\t() =>\n\t\t\tactions?.find?.(\n\t\t\t\t(a) => (a.group === activeRoute?.id || a.group === activeRoute?.app) && a.primary\n\t\t\t),\n\t\t[actions, activeRoute?.app, activeRoute?.id]\n\t);\n\tconst secondaryActions = useSecondaryActions(actions, activeRoute);\n\n\tconst onClose = useCallback(() => {\n\t\tsetOpen(false);\n\t}, []);\n\tconst onOpen = useCallback(() => {\n\t\tsetOpen(true);\n\t}, []);\n\treturn primaryAction ? (\n\t\t<MultiButton\n\t\t\tstyle={{ height: '42px' }}\n\t\t\tbackground=\"primary\"\n\t\t\tlabel={primaryAction?.label ?? t('new', 'New')}\n\t\t\tonClick={primaryAction?.click}\n\t\t\titems={secondaryActions}\n\t\t\tdisabled={!primaryAction || primaryAction?.disabled}\n\t\t/>\n\t) : (\n\t\t<Dropdown items={secondaryActions} onClose={onClose} onOpen={onOpen}>\n\t\t\t<Button\n\t\t\t\tstyle={{ height: '42px' }}\n\t\t\t\tbackground=\"primary\"\n\t\t\t\titems={secondaryActions}\n\t\t\t\tlabel={t('new', 'New')}\n\t\t\t\ticon={open ? 'ChevronUp' : 'ChevronDown'}\n\t\t\t/>\n\t\t</Dropdown>\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\nimport { 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 } from 'react';\nimport {\n\tContainer,\n\tIconButton,\n\tPadding,\n\tResponsive,\n\tuseScreenMode,\n\tCatcher\n} from '@zextras/carbonio-design-system';\nimport Logo from '../svg/carbonio.svg';\nimport { SearchBar } from '../search/search-bar';\nimport { CreationButton } from './creation-button';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\n\nconst ShellHeader: FC<{\n\tactiveRoute: AppRoute;\n\tmobileNavIsOpen: boolean;\n\tonMobileMenuClick: () => void;\n}> = ({ activeRoute, mobileNavIsOpen, onMobileMenuClick, children }) => {\n\tconst screenMode = useScreenMode();\n\tconst searchEnabled = useAppStore((s) => s.views.search.length > 0);\n\treturn (\n\t\t<Container\n\t\t\torientation=\"horizontal\"\n\t\t\tbackground=\"gray3\"\n\t\t\twidth=\"fill\"\n\t\t\theight=\"60px\"\n\t\t\tminHeight=\"60px\"\n\t\t\tmaxHeight=\"60px\"\n\t\t\tmainAlignment=\"space-between\"\n\t\t\tpadding={{\n\t\t\t\thorizontal: screenMode === 'desktop' ? 'large' : 'extrasmall',\n\t\t\t\tvertical: 'small'\n\t\t\t}}\n\t\t>\n\t\t\t<Catcher>\n\t\t\t\t<Container\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\twidth=\"75%\"\n\t\t\t\t\tmaxWidth=\"75%\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Padding right=\"small\">\n\t\t\t\t\t\t\t<IconButton icon={mobileNavIsOpen ? 'Close' : 'Menu'} onClick={onMobileMenuClick} />\n\t\t\t\t\t\t</Padding>\n\t\t\t\t\t</Responsive>\n\t\t\t\t\t<Container width={320} height={32} crossAlignment=\"flex-start\">\n\t\t\t\t\t\t<Logo height=\"32px\" />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Padding horizontal=\"large\">\n\t\t\t\t\t\t<CreationButton activeRoute={activeRoute} />\n\t\t\t\t\t</Padding>\n\t\t\t\t\t<Responsive mode=\"desktop\">\n\t\t\t\t\t\t{searchEnabled && (\n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tactiveRoute={activeRoute}\n\t\t\t\t\t\t\t\t// primaryAction={primaryAction}\n\t\t\t\t\t\t\t\t// secondaryActions={secondaryActions}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t\t<Container orientation=\"horizontal\" width=\"25%\" mainAlignment=\"flex-end\">\n\t\t\t\t\t<Responsive mode=\"desktop\">{children}</Responsive>\n\t\t\t\t\t<Responsive mode=\"mobile\">\n\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\t\t\t\tpadding={{ right: 'extrasmall' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* <Dropdown items={secondaryActions} placement=\"bottom-start\">\n\t\t\t\t\t\t\t<IconButton icon=\"Plus\" />\n\t\t\t\t\t\t</Dropdown> */}\n\t\t\t\t\t\t</Container>\n\t\t\t\t\t</Responsive>\n\t\t\t\t</Container>\n\t\t\t</Catcher>\n\t\t</Container>\n\t);\n};\nexport default ShellHeader;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport { reduce, find } from 'lodash';\nimport { Accordion, Collapse, Container, Padding } from '@zextras/carbonio-design-system';\nimport { useHistory } from 'react-router-dom';\nimport { useAppStore } from '../store/app';\nimport AppContextProvider from '../boot/app/app-context-provider';\n\nconst SidebarComponent = ({ item }) =>\n\titem.secondary ? (\n\t\t<AppContextProvider pkg={item.id}>\n\t\t\t<item.secondary />\n\t\t</AppContextProvider>\n\t) : null;\n\nexport default function ShellMobileNav({ mobileNavIsOpen, menuTree }) {\n\tconst history = useHistory();\n\tconst views = useAppStore((s) =>\n\t\treduce(\n\t\t\ts.routes,\n\t\t\t(acc, val) => {\n\t\t\t\tconst primary = find(s.views.primaryBar, (item) => item.id === val.id);\n\t\t\t\tconst secondary = find(s.views.secondaryBar, (item) => item.id === val.id);\n\t\t\t\tif (primary && primary.visible) {\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\tid: `${val.app}-wrap`,\n\t\t\t\t\t\tlabel: primary.label,\n\t\t\t\t\t\ticon: typeof primary.component === 'string' ? primary.component : 'Cube',\n\t\t\t\t\t\tonClick: () => history.push(`/${val.route}`),\n\t\t\t\t\t\titems: secondary\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: secondary.id,\n\t\t\t\t\t\t\t\t\t\tlabel: secondary.id,\n\t\t\t\t\t\t\t\t\t\ticon: 'Cube',\n\t\t\t\t\t\t\t\t\t\tsecondary: secondary.component,\n\t\t\t\t\t\t\t\t\t\tCustomComponent: SidebarComponent\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t[]\n\t\t)\n\t);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"fill\"\n\t\t\twidth=\"fit\"\n\t\t\tbackground=\"gray5\"\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tzIndex: 3\n\t\t\t}}\n\t\t>\n\t\t\t<Collapse orientation=\"horizontal\" open={mobileNavIsOpen} crossSize=\"100%\">\n\t\t\t\t<Container\n\t\t\t\t\twidth={256 + 48 + 12}\n\t\t\t\t\theight=\"fill\"\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"space-between\">\n\t\t\t\t\t\t<Accordion items={views} />\n\t\t\t\t\t</Container>\n\t\t\t\t\t<Container width=\"fill\" height=\"fit\" orientation=\"vertical\" mainAlignment=\"flex-end\">\n\t\t\t\t\t\t<Accordion items={menuTree} />\n\t\t\t\t\t\t<Padding vertical=\"medium\">{/* <UserQuota mobileView={true}/> */}</Padding>\n\t\t\t\t\t</Container>\n\t\t\t\t</Container>\n\t\t\t</Collapse>\n\t\t</Container>\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { 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';\nimport { AppRoute } from '../../types';\n\ntype ShellNavigationBarProps = {\n\tmobileNavIsOpen: boolean;\n\tactiveRoute: AppRoute;\n};\n\nconst ShellNavigationBar: FC<ShellNavigationBarProps> = ({ mobileNavIsOpen, activeRoute }) => (\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 activeRoute={activeRoute} />\n\t\t\t<ShellSecondaryBar activeRoute={activeRoute} />\n\t\t</Responsive>\n\t\t<Responsive mode=\"mobile\">\n\t\t\t<ShellMobileNav mobileNavIsOpen={mobileNavIsOpen} menuTree={activeRoute} />\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 {\n\tContainer,\n\tIconButton,\n\tRow,\n\tTooltip,\n\tText,\n\tPadding,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { map, isEmpty, trim, filter, sortBy } from 'lodash';\nimport React, { useContext, FC, useState, useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { useHistory } from 'react-router-dom';\n// TODO: convert boards management to ts (and maybe a zustand store)\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { BoardValueContext, BoardSetterContext } from './boards/board-context';\nimport { useAppStore } from '../store/app';\nimport { AppRoute, PrimaryAccessoryView, PrimaryBarView } from '../../types';\nimport BadgeWrap from './badge-wrap';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { checkRoute } from '../utility-bar/utils';\n\nconst PrimaryContainer = styled(Container)<{ active: boolean }>`\n\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].regular};\n\tcursor: pointer;\n\ttransition: background 0.2s ease-out;\n\t&:hover {\n\t\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].hover};\n\t}\n\t&:focus {\n\t\tbackground: ${({ theme, active }): string => theme.palette[active ? 'gray4' : 'gray6'].focus};\n\t}\n`;\n\nconst ContainerWithDivider = styled(Container)`\n\tborder-right: 1px solid ${({ theme }): string => theme.palette.gray3.regular};\n`;\n\nconst ToggleBoardIcon: FC = () => {\n\tconst { boards, minimized } = useContext(BoardValueContext);\n\tconst { toggleMinimized } = useContext(BoardSetterContext);\n\n\tif (isEmpty(boards)) return null;\n\treturn (\n\t\t<IconButton\n\t\t\ticonColor=\"primary\"\n\t\t\ticon={minimized ? 'BoardOpen' : 'BoardCollapse'}\n\t\t\tonClick={toggleMinimized}\n\t\t\tsize=\"large\"\n\t\t/>\n\t);\n};\n\ntype PrimaryBarItemProps = {\n\tview: PrimaryBarView;\n\tactive: boolean;\n\tonClick: () => void;\n};\n\ntype PrimaryBarAccessoryItemProps = {\n\tview: PrimaryAccessoryView;\n};\n\nconst PrimaryBarElement: FC<PrimaryBarItemProps> = ({ view, active, onClick }) => (\n\t<Tooltip label={view.label} placement=\"right\" key={view.id}>\n\t\t<BadgeWrap badge={view.badge}>\n\t\t\t{typeof view.component === 'string' ? (\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={view.component}\n\t\t\t\t\tbackgroundColor={active ? 'gray4' : 'gray6'}\n\t\t\t\t\ticonColor={active ? 'primary' : 'text'}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\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 ShellPrimaryBar: FC<{ activeRoute: AppRoute }> = ({ activeRoute }) => {\n\tconst primaryBarViews = useAppStore((s) => s.views.primaryBar);\n\n\tconst [routes, setRoutes] = useState<Record<string, string>>({});\n\tconst history = useHistory();\n\n\tuseEffect(() => {\n\t\tsetRoutes((r) =>\n\t\t\tprimaryBarViews.reduce((acc, v) => {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tif (!acc[v.id]) acc[v.id] = v.route;\n\t\t\t\treturn acc;\n\t\t\t}, r)\n\t\t);\n\t}, [primaryBarViews]);\n\tuseEffect(() => {\n\t\tif (activeRoute) {\n\t\t\tsetRoutes((r) => ({\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\treturn (\n\t\t<ContainerWithDivider\n\t\t\twidth={49}\n\t\t\theight=\"fill\"\n\t\t\tbackground=\"gray6\"\n\t\t\torientation=\"vertical\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tcrossAlignment=\"flex-start\"\n\t\t>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-start\"\n\t\t\t\tcrossAlignment=\"flex-start\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\ttakeAvailableSpace\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{map(primaryBarViews, (view) =>\n\t\t\t\t\tview.visible ? (\n\t\t\t\t\t\t<PrimaryBarElement\n\t\t\t\t\t\t\tkey={view.id}\n\t\t\t\t\t\t\tonClick={(): void => history.push(`/${routes[view.id]}`)}\n\t\t\t\t\t\t\tview={view}\n\t\t\t\t\t\t\tactive={activeRoute?.id === view.id}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t)}\n\t\t\t</Row>\n\t\t\t<Row\n\t\t\t\tmainAlignment=\"flex-end\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\twrap=\"nowrap\"\n\t\t\t\tstyle={{ minHeight: '1px', overflowY: 'overlay' }}\n\t\t\t>\n\t\t\t\t{accessories.map((v) => (\n\t\t\t\t\t<PrimaryBarAccessoryElement view={v} key={v.id} />\n\t\t\t\t))}\n\t\t\t\t<ToggleBoardIcon />\n\t\t\t</Row>\n\t\t</ContainerWithDivider>\n\t);\n};\n\nexport default ShellPrimaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { filter, findIndex, map, sortBy } from 'lodash';\nimport styled from 'styled-components';\nimport { Route, Switch } from 'react-router-dom';\nimport { Container } from '@zextras/carbonio-design-system';\nimport AppContextProvider from '../boot/app/app-context-provider';\nimport { Collapser } from './collapser';\nimport { useAppStore } from '../store/app';\nimport { AppRoute } from '../../types';\nimport { useUtilityBarStore } from '../utility-bar';\nimport { checkRoute } from '../utility-bar/utils';\n\nconst SidebarContainer = styled(Container)`\n\tmin-width: 48px;\n\tmax-width: 314px;\n\twidth: ${({ sidebarIsOpen }): number => (sidebarIsOpen ? 314 : 48)}px;\n\ttransition: width 300ms;\n\toverflow-x: hidden;\n`;\n\ntype SecondaryBarProps = {\n\tactiveRoute: AppRoute;\n};\n\nconst ShellSecondaryBar: FC<SecondaryBarProps> = ({ activeRoute }) => {\n\tconst isOpen = useUtilityBarStore((s) => s.secondaryBarState);\n\tconst setIsOpen = useUtilityBarStore((s) => s.setSecondaryBarState);\n\tconst onCollapserClick = useCallback(() => setIsOpen(!isOpen), [isOpen, setIsOpen]);\n\tconst secondaryBarViews = useAppStore((s) => s.views.secondaryBar);\n\tconst secondaryBarAccessoryViews = useAppStore((s) => s.views.secondaryBarAccessories);\n\tconst accessories = useMemo(\n\t\t() =>\n\t\t\tsortBy(\n\t\t\t\tfilter(secondaryBarAccessoryViews, (v) => checkRoute(v, activeRoute)),\n\t\t\t\t'position'\n\t\t\t),\n\t\t[activeRoute, secondaryBarAccessoryViews]\n\t);\n\tconst disabled = useMemo(\n\t\t() => findIndex(secondaryBarViews, (view) => view.id === activeRoute?.id) < 0,\n\t\t[activeRoute?.id, secondaryBarViews]\n\t);\n\treturn disabled ? null : (\n\t\t<>\n\t\t\t<SidebarContainer\n\t\t\t\tsidebarIsOpen={isOpen}\n\t\t\t\trole=\"menu\"\n\t\t\t\theight=\"fill\"\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tmainAlignment=\"space-between\"\n\t\t\t\tonClick={isOpen ? undefined : onCollapserClick}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: 'calc(100vh - 48px)',\n\t\t\t\t\toverflowY: 'auto'\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Container mainAlignment=\"flex-start\">\n\t\t\t\t\t<Switch>\n\t\t\t\t\t\t{map(secondaryBarViews, (view) => (\n\t\t\t\t\t\t\t<Route key={view.id} path={`/${view.route}`}>\n\t\t\t\t\t\t\t\t<AppContextProvider pkg={view.app}>\n\t\t\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t\t\t</Route>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Switch>\n\t\t\t\t</Container>\n\t\t\t\t<Container mainAlignment=\"flex-end\" height=\"fit\">\n\t\t\t\t\t{accessories.map((view) => (\n\t\t\t\t\t\t<AppContextProvider key={view.id} pkg={view.app}>\n\t\t\t\t\t\t\t<view.component expanded={isOpen} />\n\t\t\t\t\t\t</AppContextProvider>\n\t\t\t\t\t))}\n\t\t\t\t</Container>\n\t\t\t</SidebarContainer>\n\t\t\t<Collapser onClick={onCollapserClick} open={isOpen} />\n\t\t</>\n\t);\n};\n\nexport default ShellSecondaryBar;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState, useContext, 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 { useUserSettings } from '../store/account';\nimport { ShellUtilityBar, ShellUtilityPanel } from '../utility-bar';\nimport { useCurrentRoute } from '../history/hooks';\nimport { SHELL_APP_ID } from '../constants';\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\nexport const Shell: FC = () => {\n\tconst [mobileNavOpen, setMobileNavOpen] = useState(false);\n\tconst activeRoute = useCurrentRoute() as AppRoute;\n\treturn (\n\t\t<Background>\n\t\t\t<DarkReaderListener />\n\t\t\t{/* <MainAppRerouter /> */}\n\t\t\t<ShellHeader\n\t\t\t\tactiveRoute={activeRoute}\n\t\t\t\tmobileNavIsOpen={mobileNavOpen}\n\t\t\t\tonMobileMenuClick={(): void => setMobileNavOpen(!mobileNavOpen)}\n\t\t\t>\n\t\t\t\t<ShellUtilityBar />\n\t\t\t</ShellHeader>\n\t\t\t<Row crossAlignment=\"unset\" style={{ position: 'relative', flexGrow: '1' }}>\n\t\t\t\t<ShellNavigationBar activeRoute={activeRoute} mobileNavIsOpen={mobileNavOpen} />\n\t\t\t\t<AppViewContainer />\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 ShellView: FC = () => (\n\t<ShellContextProvider>\n\t\t<ModalManager>\n\t\t\t<SnackbarManager>\n\t\t\t\t<PreviewManager>\n\t\t\t\t\t<Shell />\n\t\t\t\t</PreviewManager>\n\t\t\t</SnackbarManager>\n\t\t</ModalManager>\n\t</ShellContextProvider>\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\taccount: undefined,\n\tversion: '',\n\tsettings: {\n\t\tprefs: {},\n\t\tattrs: {},\n\t\tprops: []\n\t},\n\tusedQuota: 0,\n\tlastNotificationTime: Date.now()\n})) as UseBoundStore<AccountState, StoreApi<AccountState>>;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { sortBy } from 'lodash';\nimport { useMemo } from 'react';\nimport { useAppStore } from './store';\nimport { AppRoute, CarbonioModule } from '../../../types';\n\nexport const useApp = (appId: string) => (): CarbonioModule => useAppStore((s) => s.apps[appId]);\nexport const useApps = (): Record<string, CarbonioModule> => useAppStore((s) => s.apps);\nexport const useAppList = (): Array<CarbonioModule> => {\n\tconst apps = useApps();\n\treturn useMemo(() => sortBy(apps, (a) => a.priority), [apps]);\n};\nexport const getAppList = (): Array<CarbonioModule> =>\n\tsortBy(useAppStore.getState().apps, (a) => a.priority);\n\nexport const getApp = (appId: string) => (): CarbonioModule => useAppStore.getState().apps[appId];\nexport const getApps = (): Record<string, CarbonioModule> => useAppStore.getState().apps;\n\nexport const useAppContext = (appId: string) => (): unknown =>\n\tuseAppStore((s) => s.appContexts[appId]);\nexport const getAppContext = (appId: string) => (): unknown =>\n\tuseAppStore.getState().appContexts[appId];\nexport const getShell = (): CarbonioModule => useAppStore.getState().shell;\nexport const getRoutes = (): Record<string, AppRoute> => useAppStore.getState().routes;\nexport const useRoutes = (): Record<string, AppRoute> => useAppStore((s) => s.routes);\nexport const getRoute = (id: string): AppRoute => useAppStore.getState().routes[id];\nexport const useRoute = (id: string): AppRoute => useAppStore((s) => s.routes[id]);\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './hooks';\nexport * from './store';\nexport * from './utils';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport { filter, find, findIndex, merge, omit, reduce, sortBy, unionBy, unionWith } from 'lodash';\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport {\n\tAppRouteDescriptor,\n\tAppState,\n\tAppView,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tPrimaryBarView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSecondaryBarView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\nimport { SHELL_APP_ID } from '../../constants';\nimport { normalizeApp } from './utils';\n\nconst filterById = <T extends { id: string }>(items: Array<T>, id: string): Array<T> =>\n\tfilter(items, (item) => item.id !== id);\n\nexport const useAppStore = create<AppState>((set) => ({\n\tapps: {},\n\tappContexts: {},\n\tshell: {\n\t\tcommit: '',\n\t\tdescription: '',\n\t\tjs_entrypoint: '',\n\t\tname: 'carbonio-shell-ui',\n\t\tpriority: -1,\n\t\tversion: '',\n\t\ttype: 'shell',\n\t\tattrKey: '',\n\t\ticon: '',\n\t\tdisplay: 'Shell'\n\t},\n\tentryPoints: {},\n\troutes: {},\n\tviews: {\n\t\tprimaryBar: [],\n\t\tsecondaryBar: [],\n\t\tappView: [],\n\t\tboard: [],\n\t\tutilityBar: [],\n\t\tsettings: [],\n\t\tsearch: [],\n\t\tprimaryBarAccessories: [],\n\t\tsecondaryBarAccessories: []\n\t},\n\tsetters: {\n\t\taddApps: (apps: Array<Partial<CarbonioModule>>): void => {\n\t\t\tset((state) => ({\n\t\t\t\tapps: reduce(\n\t\t\t\t\tapps,\n\t\t\t\t\t(acc, app) =>\n\t\t\t\t\t\tapp.name && app.name !== SHELL_APP_ID\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t[app.name]: normalizeApp(app)\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: acc,\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t\tshell: {\n\t\t\t\t\t...state.shell,\n\t\t\t\t\t...(find(apps, (app) => app.name === SHELL_APP_ID) ?? {})\n\t\t\t\t},\n\t\t\t\tappContexts: reduce(apps, (acc, val) => (val.name ? { ...acc, [val.name]: {} } : acc), {})\n\t\t\t}));\n\t\t},\n\t\tsetAppContext:\n\t\t\t(app: string) =>\n\t\t\t(context: unknown): void => {\n\t\t\t\tset(\n\t\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\t\tstate.appContexts[app] = merge(state.appContexts[app], context);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t},\n\t\t// add route (id route primaryBar secondaryBar app)\n\t\taddRoute: (routeData: AppRouteDescriptor): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes[routeData.id] = routeData;\n\t\t\t\t\tif (routeData.primaryBar) {\n\t\t\t\t\t\tstate.views.primaryBar = sortBy(\n\t\t\t\t\t\t\tunionWith<PrimaryBarView>(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\t\tcomponent: routeData.primaryBar,\n\t\t\t\t\t\t\t\t\t\tbadge: routeData.badge,\n\t\t\t\t\t\t\t\t\t\tposition: routeData.position,\n\t\t\t\t\t\t\t\t\t\tvisible: routeData.visible,\n\t\t\t\t\t\t\t\t\t\tlabel: routeData.label\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tstate.views.primaryBar,\n\t\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'position'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.secondaryBar) {\n\t\t\t\t\t\tstate.views.secondaryBar = unionWith<SecondaryBarView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.secondaryBar\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.secondaryBar,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (routeData.appView) {\n\t\t\t\t\t\tstate.views.appView = unionWith<AppView>(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tapp: routeData.app,\n\t\t\t\t\t\t\t\t\tid: routeData.id,\n\t\t\t\t\t\t\t\t\troute: routeData.route,\n\t\t\t\t\t\t\t\t\tcomponent: routeData.appView\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tstate.views.appView,\n\t\t\t\t\t\t\t(a, b): boolean => a.id === b.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn routeData.id;\n\t\t},\n\t\tsetRouteVisibility: (id: string, visible: boolean): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (view) => view.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].visible = visible;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// remove route (id | route)\n\t\tremoveRoute: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.routes = omit(state.routes, [id]);\n\t\t\t\t\tstate.views.primaryBar = filterById(state.views.primaryBar, id);\n\t\t\t\t\tstate.views.secondaryBar = filterById(state.views.secondaryBar, id);\n\t\t\t\t\tstate.views.appView = filterById(state.views.appView, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t// add board\n\t\taddBoardView: (data: BoardView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = unionBy([data], state.views.board, 'id');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove board\n\t\tremoveBoardView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.board = filterById(state.views.board, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\n\t\t// add settings\n\t\taddSettingsView: (data: SettingsView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = sortBy(unionBy([data], state.views.settings, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\n\t\t// remove settings\n\t\tremoveSettingsView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.settings = filterById(state.views.settings, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add search\n\t\taddSearchView: (data: SearchView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = sortBy(unionBy([data], state.views.search, 'id'), 'position');\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove search\n\t\tremoveSearchView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.search = filterById(state.views.search, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add utility\n\t\taddUtilityView: (data: UtilityView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = sortBy(\n\t\t\t\t\t\tunionBy([data], state.views.utilityBar, 'id'),\n\t\t\t\t\t\t'position'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove utility\n\t\tremoveUtilityView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.utilityBar = filterById(state.views.utilityBar, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add primaryAccessory\n\t\taddPrimaryAccessoryView: (data: PrimaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.primaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove primaryAccessory\n\t\tremovePrimaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.primaryBarAccessories = filterById(state.views.primaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\t//\n\t\t// add secondaryAccessory\n\t\taddSecondaryAccessoryView: (data: SecondaryAccessoryView): string => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = unionBy(\n\t\t\t\t\t\t[data],\n\t\t\t\t\t\tstate.views.secondaryBarAccessories,\n\t\t\t\t\t\t'id'\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn data.id;\n\t\t},\n\t\t// remove secondaryAccessory\n\t\tremoveSecondaryAccessoryView: (id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tstate.views.secondaryBarAccessories = filterById(state.views.secondaryBarAccessories, id);\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdatePrimaryBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.primaryBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.primaryBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.primaryBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t},\n\t\tupdateUtilityBadge: (badge: Partial<BadgeInfo>, id: string): void => {\n\t\t\tset(\n\t\t\t\tproduce((state: AppState) => {\n\t\t\t\t\tconst idx = findIndex(state.views.utilityBar, (bar) => bar.id === id);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tstate.views.utilityBar[idx].badge = {\n\t\t\t\t\t\t\t...state.views.utilityBar[idx].badge,\n\t\t\t\t\t\t\t...badge\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n})) as UseBoundStore<AppState, StoreApi<AppState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { trim } from 'lodash';\nimport React, { FC } from 'react';\nimport {\n\tAppRouteDescriptor,\n\tBadgeInfo,\n\tBoardView,\n\tCarbonioModule,\n\tPrimaryAccessoryView,\n\tSearchView,\n\tSecondaryAccessoryView,\n\tSettingsView,\n\tUtilityView\n} from '../../../types';\n\nexport const normalizeApp = (app: Partial<CarbonioModule>): CarbonioModule => ({\n\tcommit: app.commit ?? '',\n\tdescription: app.description ?? 'A carbonio Module',\n\t// eslint-disable-next-line camelcase\n\tjs_entrypoint: app.js_entrypoint ?? '',\n\tname: app.name ?? 'module',\n\tpriority: app.priority ?? 99,\n\tversion: app.version ?? '',\n\ttype: app.type ?? 'carbonio',\n\tattrKey: app.attrKey,\n\ticon: app.icon ?? 'Cube',\n\tdisplay: app.display ?? 'Module',\n\tsentryDsn: app.sentryDsn\n});\n\nconst FallbackView: FC = () => <p>Missing Component</p>;\n\nexport const normalizeBadgeInfo = (badge: Partial<BadgeInfo>): BadgeInfo => ({\n\tshow: badge.show ?? false,\n\tcount: badge.count ?? 0,\n\tshowCount: badge.showCount ?? false,\n\tcolor: badge.color ?? 'primary'\n});\n\nexport const normalizeRoute = (\n\tdata: Partial<AppRouteDescriptor>,\n\tapp: CarbonioModule\n): AppRouteDescriptor => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data.id ?? route,\n\t\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\t\tposition: data?.position ?? app.priority,\n\t\tvisible: data?.visible ?? true,\n\t\tlabel: data?.label ?? '',\n\t\tprimaryBar: data.primaryBar ?? app.icon ?? 'CubeOutline',\n\t\tsecondaryBar: data.secondaryBar,\n\t\tappView: data.appView ?? FallbackView\n\t};\n};\n\nexport const normalizeSettingsView = (\n\tdata: Partial<SettingsView>,\n\tapp: CarbonioModule\n): SettingsView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99,\n\t\tsubSections: data.subSections ?? []\n\t};\n};\nexport const normalizeSearchView = (data: Partial<SearchView>, app: CarbonioModule): SearchView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView,\n\t\tlabel: data.label ?? app.display,\n\t\ticon: data.icon ?? app.icon,\n\t\tposition: data.position ?? app.priority ?? 99\n\t};\n};\nexport const normalizeUtilityView = (\n\tdata: Partial<UtilityView>,\n\tapp: CarbonioModule\n): UtilityView => ({\n\tapp: app.name,\n\tid: data?.id ?? app.name,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tcomponent: data?.component ?? FallbackView,\n\tbutton: data?.button ?? 'Cube',\n\tbadge: normalizeBadgeInfo(data?.badge ?? {}),\n\tposition: data?.position ?? app.priority,\n\tlabel: data?.label ?? app.display\n});\nexport const normalizePrimaryAccessoryView = (\n\tdata: Partial<PrimaryAccessoryView>,\n\tapp: CarbonioModule\n): PrimaryAccessoryView => ({\n\tapp: app.name,\n\tonClick: data?.onClick,\n\tlabel: data?.label ?? app.display,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\nexport const normalizeSecondaryAccessoryView = (\n\tdata: Partial<SecondaryAccessoryView>,\n\tapp: CarbonioModule\n): SecondaryAccessoryView => ({\n\tapp: app.name,\n\tposition: data?.position ?? app.priority,\n\twhitelistRoutes: data?.whitelistRoutes,\n\tblacklistRoutes: data?.blacklistRoutes,\n\tid: data?.id ?? app.name,\n\tcomponent: data?.component ?? FallbackView\n});\n\nexport const normalizeBoardView = (data: Partial<BoardView>, app: CarbonioModule): BoardView => {\n\tconst route = trim(data.route ?? app.name, '/');\n\treturn {\n\t\tapp: app.name,\n\t\troute,\n\t\tid: data?.id ?? route,\n\t\tcomponent: data?.component ?? FallbackView\n\t};\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport create, { UseBoundStore, StoreApi } from 'zustand';\nimport { reduce } from 'lodash';\nimport { useEffect } from 'react';\nimport { ContextBridgeState } from '../../types';\n\nexport const useContextBridge = create<ContextBridgeState>((set) => ({\n\tpackageDependentFunctions: {},\n\tfunctions: {},\n\tadd: ({ packageDependentFunctions, functions }): void => {\n\t\tset((s) => ({\n\t\t\tpackageDependentFunctions: reduce(\n\t\t\t\tpackageDependentFunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.packageDependentFunctions\n\t\t\t),\n\t\t\tfunctions: reduce(\n\t\t\t\tfunctions ?? {},\n\t\t\t\t(acc, f, key) => {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tacc[key] = f;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\ts.functions\n\t\t\t)\n\t\t}));\n\t}\n})) as UseBoundStore<ContextBridgeState, StoreApi<ContextBridgeState>>;\n\nexport const useBridge = (content: Partial<Omit<ContextBridgeState, 'add'>>): void => {\n\tconst addFunctions = useContextBridge(({ add }) => add);\n\tuseEffect(() => {\n\t\taddFunctions(content);\n\t}, [content, addFunctions]);\n};\n","/*\n * SPDX-FileCopyrightText: 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 { useFolderStore } from './store';\nimport { filterNodes, folderViewFilter, isRoot, mapNodes, sortFolders } from './utils';\n\n// FOLDERS\nexport const useFolder = (id: string): Folder | undefined => useFolderStore((s) => s.folders?.[id]);\nexport const getFolder = (id: string): Folder | undefined =>\n\tuseFolderStore.getState()?.folders?.[id];\nexport const useFolders = (): Folders => useFolderStore((s) => s.folders);\nexport const getFolders = (): Folders => useFolderStore.getState().folders;\n\n// ROOTS\nexport const useRoot = (id: string): Folder | undefined => useFolderStore((s) => s.roots?.[id]);\nexport const getRoot = (id: string): Folder | undefined => useFolderStore.getState().roots?.[id];\nexport const useRoots = (): Folders => useFolderStore((s) => s.roots);\nexport const getRoots = (): Folders => useFolderStore.getState().roots;\n\n// ROOTS BY VIEW\nexport const useRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> =>\n\tuseFolderStore((s) => (s.roots ? s.roots[userId] : {}));\nexport const getRootByUser = (userId: string): Folder | SearchFolder | Record<string, never> => {\n\tconst folders = useFolderStore.getState();\n\treturn folders.roots ? folders.roots[userId] : {};\n};\n\n// SEARCHES\n\nexport const useSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore((s) => s.searches?.[id]);\nexport const getSearchFolder = (id: string): SearchFolder | undefined =>\n\tuseFolderStore.getState().searches[id];\nexport const useSearchFolders = (): Searches => useFolderStore((s) => s.searches);\nexport const getSearchFolders = (): Searches => useFolderStore.getState().searches;\n\n// Accordion-ize\n\nexport const useFoldersByView = (view: FolderView): Array<Folder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() => (roots ? filterNodes<Folder>(Object.values(roots), folderViewFilter(view)) : []),\n\t\t[roots, view]\n\t);\n};\n\nexport const useFoldersAccordionByView = (\n\tview: FolderView,\n\tCustomComponent: ComponentType<{ folder: Folder }>,\n\titemProps?: (item: AccordionFolder) => Record<string, any>\n): Array<AccordionFolder> => {\n\tconst roots = useRoots();\n\treturn useMemo(\n\t\t() =>\n\t\t\troots\n\t\t\t\t? mapNodes<Folder, AccordionFolder>(Object.values(roots), {\n\t\t\t\t\t\tmapFunction: (f) => {\n\t\t\t\t\t\t\tconst item = {\n\t\t\t\t\t\t\t\tid: f.id,\n\t\t\t\t\t\t\t\tlabel: f.name,\n\t\t\t\t\t\t\t\tCustomComponent,\n\t\t\t\t\t\t\t\titems: [],\n\t\t\t\t\t\t\t\tfolder: f,\n\t\t\t\t\t\t\t\tdisableHover: isRoot(f)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst props = itemProps?.(item) ?? {};\n\t\t\t\t\t\t\treturn { ...item, ...props };\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfilterFunction: folderViewFilter(view),\n\t\t\t\t\t\trecursionKey: 'items',\n\t\t\t\t\t\tsortFunction: sortFolders,\n\t\t\t\t\t\tdeep: false\n\t\t\t\t })\n\t\t\t\t: [],\n\t\t[CustomComponent, itemProps, roots, view]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { 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\tdeep?: boolean\n): TreeNode<T>[] =>\n\tchildren\n\t\t.filter(f(deep))\n\t\t.map((i) => ({ ...i, children: filterNodes<TreeNode<T>>(i.children, f, true) }));\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, useEffect, useState } from 'react';\nimport { Container } from '@zextras/carbonio-design-system';\n// TinyMCE so the global var exists\n// eslint-disable-next-line no-unused-vars\nimport tinymce from 'tinymce/tinymce';\n// this 'expression' prevents webpack from stripping it, maybe there's a better way\ntinymce;\n\n// Theme\nimport 'tinymce/themes/silver';\n// Toolbar icons\nimport 'tinymce/icons/default';\n// Editor styles\nimport 'tinymce/skins/ui/oxide/skin.min.css';\n\n// importing the plugin js.\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/charmap';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/print';\nimport 'tinymce/plugins/preview';\nimport 'tinymce/plugins/anchor';\nimport 'tinymce/plugins/searchreplace';\nimport 'tinymce/plugins/visualblocks';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/insertdatetime';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/table';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/help';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/plugins/quickbars';\nimport 'tinymce/plugins/directionality';\nimport 'tinymce/plugins/autoresize';\n\nimport { Editor } from '@tinymce/tinymce-react';\n\ntype ComposerProps = {\n\t/** The callback invoked when an edit is performed into the editor. `([text, html]) => {}` */\n\tonEditorChange?: (values: [string, string]) => void;\n\t/** Enable the distraction-free mode */\n\tinline?: boolean;\n\t/** The initial content of the editor */\n\tinitialValue?: string;\n\t/** The content of the editor (controlled mode) */\n\tvalue?: string;\n\t/** The base url to append to the resource urls */\n\tbaseAssetsUrl?: string;\n};\n\nconst Composer: FC<ComposerProps> = ({\n\tonEditorChange,\n\tinline = false,\n\tvalue,\n\tbaseAssetsUrl,\n\tinitialValue,\n\t...rest\n}) => {\n\tconst [content, setContent] = useState(initialValue);\n\n\tconst _onEditorChange = useCallback(\n\t\t(newContent, editor) => {\n\t\t\tsetContent(newContent);\n\t\t\tonEditorChange?.([\n\t\t\t\teditor.getContent({ format: 'text' }),\n\t\t\t\teditor.getContent({ format: 'html' })\n\t\t\t]);\n\t\t},\n\t\t[setContent, onEditorChange]\n\t);\n\n\tuseEffect(() => setContent(value), [value]);\n\n\treturn (\n\t\t<Container\n\t\t\theight=\"100%\"\n\t\t\tcrossAlignment=\"baseline\"\n\t\t\tmainAlignment=\"flex-start\"\n\t\t\tstyle={{ overflowY: 'hidden' }}\n\t\t>\n\t\t\t<Editor\n\t\t\t\tvalue={content}\n\t\t\t\tinit={{\n\t\t\t\t\tskin_url: `${baseAssetsUrl}/tinymce/skins/ui/oxide`,\n\t\t\t\t\tcontent_css: `${baseAssetsUrl}/tinymce/skins/content/default/content.css`,\n\t\t\t\t\tmin_height: 350,\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tstatusbar: false,\n\t\t\t\t\tbranding: false,\n\t\t\t\t\tresize: true,\n\t\t\t\t\tinline,\n\t\t\t\t\tplugins: [\n\t\t\t\t\t\t'advlist',\n\t\t\t\t\t\t'autolink',\n\t\t\t\t\t\t'lists',\n\t\t\t\t\t\t'link',\n\t\t\t\t\t\t'image',\n\t\t\t\t\t\t'charmap',\n\t\t\t\t\t\t'print',\n\t\t\t\t\t\t'preview',\n\t\t\t\t\t\t'anchor',\n\t\t\t\t\t\t'searchreplace',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'fullscreen',\n\t\t\t\t\t\t'insertdatetime',\n\t\t\t\t\t\t'media',\n\t\t\t\t\t\t'table',\n\t\t\t\t\t\t'paste',\n\t\t\t\t\t\t'code',\n\t\t\t\t\t\t'help',\n\t\t\t\t\t\t'quickbars',\n\t\t\t\t\t\t'directionality',\n\t\t\t\t\t\t'autoresize'\n\t\t\t\t\t],\n\t\t\t\t\ttoolbar: inline\n\t\t\t\t\t\t? false\n\t\t\t\t\t\t: // eslint-disable-next-line max-len\n\t\t\t\t\t\t 'fontselect fontsizeselect formatselect | bold italic underline strikethrough | removeformat code | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent | ltr rtl',\n\t\t\t\t\tquickbars_insert_toolbar: inline ? 'bullist numlist' : '',\n\t\t\t\t\tquickbars_selection_toolbar: inline\n\t\t\t\t\t\t? 'bold italic underline | forecolor backcolor | removeformat | quicklink'\n\t\t\t\t\t\t: 'quicklink',\n\t\t\t\t\tcontextmenu: inline ? '' : '',\n\t\t\t\t\ttoolbar_mode: 'wrap'\n\t\t\t\t}}\n\t\t\t\tonEditorChange={_onEditorChange}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</Container>\n\t);\n};\n\nexport default Composer;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { FC, FunctionComponent } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().hooks?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore.getState().functions?.[id];\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const getIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore.getState().components?.[id];\n\tif (Integration) {\n\t\tconst C: FC = (props: unknown) => (\n\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t<Integration.item {...props} />\n\t\t\t</AppContextProvider>\n\t\t);\n\t\treturn [C, true];\n\t}\n\treturn [(): null => null, false];\n};\n\nexport const getActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn compact(\n\t\tmap(factories, (f) => {\n\t\t\ttry {\n\t\t\t\tconst action = f(target);\n\t\t\t\treturn action;\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(e);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const getActionsFactory = (type: string): (<T>(target: T) => Array<Action>) => {\n\tconst factories = useIntegrationsStore.getState().actions[type];\n\treturn <T,>(target: T): Array<Action> =>\n\t\tcompact(\n\t\t\tmap(factories, (f) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst action = f(target);\n\t\t\t\t\treturn action;\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n};\n\nexport const getAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\tconst action = factory?.(target);\n\treturn [action, !!action];\n};\n\nexport const getActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore.getState().actions[type]?.[id];\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint-disable react-hooks/rules-of-hooks */\n/* THIS FILE CONTAINS HOOKS, BUT ESLINT IS DUMB */\n\nimport { compact, map } from 'lodash';\nimport React, { useMemo, FC, FunctionComponent, useCallback } from 'react';\nimport { useIntegrationsStore } from './store';\nimport { Action, ActionFactory, CombinedActionFactory } from '../../../types';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport AppContextProvider from '../../boot/app/app-context-provider';\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedHook = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.hooks?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const useIntegratedFunction = (id: string): [Function, boolean] => {\n\tconst integration = useIntegrationsStore((s) => s.functions?.[id]);\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\treturn integration ? [integration, true] : [(): void => {}, false];\n};\n\nexport const useIntegratedComponent = (id: string): [FunctionComponent<unknown>, boolean] => {\n\tconst Integration = useIntegrationsStore((s) => s.components?.[id]);\n\treturn useMemo(() => {\n\t\tif (Integration) {\n\t\t\tconst C: FC = (props: unknown) => (\n\t\t\t\t<AppContextProvider pkg={Integration.app}>\n\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t{/* @ts-ignore */}\n\t\t\t\t\t<Integration.item {...props} />\n\t\t\t\t</AppContextProvider>\n\t\t\t);\n\t\t\treturn [C, true];\n\t\t}\n\t\treturn [(): null => null, false];\n\t}, [Integration]);\n};\n\nexport const useActions = <T,>(target: T, type: string): Array<Action> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t) ?? [],\n\t\t[factories, target]\n\t);\n\treturn actions;\n};\n\nexport const useActionsFactory = <T,>(type: string): CombinedActionFactory<T> => {\n\tconst factories = useIntegrationsStore((s) => s.actions[type]);\n\tconst combinedFactory = useCallback(\n\t\t(target: unknown) =>\n\t\t\tcompact(\n\t\t\t\tmap(factories, (f) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst action = f(target);\n\t\t\t\t\t\treturn action;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t),\n\t\t[factories]\n\t);\n\treturn combinedFactory;\n};\n\nexport const useAction = <T,>(\n\ttype: string,\n\tid: string,\n\ttarget?: T\n): [Action | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\tconst action = useMemo(() => {\n\t\ttry {\n\t\t\treturn factory?.(target);\n\t\t} catch (e) {\n\t\t\treturn undefined;\n\t\t}\n\t}, [factory, target]);\n\treturn [action, !!action];\n};\n\nexport const useActionFactory = <T,>(\n\ttype: string,\n\tid: string\n): [ActionFactory<T> | undefined, boolean] => {\n\tconst factory = useIntegrationsStore((s) => s.actions[type][id]);\n\treturn [factory, !!factory];\n};\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport produce from 'immer';\nimport create from 'zustand';\nimport { forEach, omit, reduce } from 'lodash';\nimport { ComponentType } from 'react';\nimport { ActionFactory, AnyFunction, IntegrationsState, SHELL_APP_ID } from '../../../types';\nimport Composer from './composer';\n\nexport const useIntegrationsStore = create<IntegrationsState>((set) => ({\n\tactions: {},\n\tcomponents: {\n\t\tcomposer: {\n\t\t\titem: Composer,\n\t\t\tapp: SHELL_APP_ID\n\t\t}\n\t},\n\thooks: {},\n\tfunctions: {},\n\tregisterActions: <T>(\n\t\t...items: Array<{ id: string; action: ActionFactory<T>; type: string }>\n\t): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, action, type }) => {\n\t\t\t\t\tif (!state.actions[type]) state.actions[type] = {};\n\t\t\t\t\tstate.actions[type][id] = action;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterComponents:\n\t\t(app: string) =>\n\t\t(...items: Array<{ id: string; component: ComponentType }>): void =>\n\t\t\tset(\n\t\t\t\tproduce((state) => {\n\t\t\t\t\tforEach(items, ({ id, component }) => {\n\t\t\t\t\t\tstate.components[id] = { app, item: component };\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\tregisterHooks: (...items: Array<{ id: string; hook: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, hook }) => {\n\t\t\t\t\tstate.hooks[id] = hook;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tregisterFunctions: (...items: Array<{ id: string; fn: AnyFunction }>): void =>\n\t\tset(\n\t\t\tproduce((state) => {\n\t\t\t\tforEach(items, ({ id, fn }) => {\n\t\t\t\t\tstate.functions[id] = fn;\n\t\t\t\t});\n\t\t\t})\n\t\t),\n\tremoveActions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: reduce(\n\t\t\t\ts.actions,\n\t\t\t\t(acc, actions, type) => ({ ...acc, [type]: omit(actions, ids) }),\n\t\t\t\t{}\n\t\t\t)\n\t\t})),\n\tremoveComponents: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.components, ids)\n\t\t})),\n\tremoveHooks: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.hooks, ids)\n\t\t})),\n\tremoveFunctions: (...ids: Array<string>): void =>\n\t\tset((s) => ({\n\t\t\t...s,\n\t\t\tactions: omit(s.functions, ids)\n\t\t}))\n}));\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { SoapNotify, SoapRefresh } from '../../../types';\nimport { useNetworkStore } from './store';\n\nexport const useNotify = (): SoapNotify[] => {\n\tconst notify = useNetworkStore((s) => s.notify ?? []);\n\treturn notify;\n};\nexport const useRefresh = (): SoapRefresh => useNetworkStore((s) => s.refresh ?? {});\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport * from './store';\nexport * from './hooks';\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport create, { StoreApi, UseBoundStore } from 'zustand';\nimport { NetworkState } from '../../../types';\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const useNetworkStore = create<NetworkState>(() => ({\n\tnoOpTimeout: undefined,\n\tpollingInterval: 30000,\n\tseq: 0\n})) as UseBoundStore<NetworkState, StoreApi<NetworkState>>;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { forEach } from 'lodash';\nimport { SoapContext } from '../../../types';\n\n// import { map, maxBy } from 'lodash';\n// import { SoapContext } from '../../../types';\n// import { getSoapFetch } from '../../network/fetch';\n// import { useNetworkStore } from './store';\n\nimport { 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?.name ?? '',\n\t\t\t\tdisabled: true\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'divider',\n\t\t\t\tid: 'divider',\n\t\t\t\tlabel: 'divider'\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'feedback',\n\t\t\t\tlabel: t('label.feedback', 'Feedback'),\n\t\t\t\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=\"200px\" 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 } from 'lodash';\nimport { useMemo } from 'react';\nimport { AppRoute, PrimaryAccessoryView, SecondaryAccessoryView, UtilityView } from '../../types';\nimport { useCurrentRoute } from '../history/hooks';\nimport { useAppStore } from '../store/app';\n\nexport const checkList = (l1: Array<string>, l2?: Array<string>): boolean =>\n\tintersection(l1, l2).length > 0;\n\nexport const checkRoute = (\n\tview: UtilityView | PrimaryAccessoryView | SecondaryAccessoryView,\n\tactiveRoute?: AppRoute\n): boolean => {\n\tconst activeRouteValues = Object.values(activeRoute ?? {});\n\tif (view.blacklistRoutes) return !checkList(activeRouteValues, view.blacklistRoutes);\n\tif (view.whitelistRoutes) return checkList(activeRouteValues, view.whitelistRoutes);\n\treturn true;\n};\nexport const useUtilityViews = (): Array<UtilityView> => {\n\tconst utilityViews = useAppStore((s) => s.views.utilityBar);\n\n\tconst activeRoute = useCurrentRoute();\n\treturn useMemo(\n\t\t() => filter(utilityViews, (v) => checkRoute(v, activeRoute)),\n\t\t[activeRoute, utilityViews]\n\t);\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>\n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const tagWorker = new Worker(new URL('./tag', import.meta.url));\n// 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';\n\nexport const getBridgedFunctions: () => {\n\taddBoard: (path: string, context?: unknown | { app: string }) => void;\n\tcreateModal: (...params: any[]) => void;\n\tcreateSnackbar: (...params: any[]) => void;\n\tgetHistory: () => History;\n\tremoveBoard: (key: string) => void;\n\tremoveCurrentBoard: () => void;\n\tsetCurrentBoard: (key: string) => void;\n\tupdateBoard: (key: string, url: string, title: string) => void;\n\tupdateCurrentBoard: (url: string, title: string) => void;\n\tt: TFunction;\n\ttoggleMinimizedBoard: () => void;\n};\nexport const editSettings: (mods: Mods) => Promise<any>;\nexport const ZIMBRA_STANDARD_COLORS: Array<{ zValue: number; hex: string; zLabel: string }>;\nexport const FOLDERS: {\n\t[name: string]: string;\n};\nexport const SHELL_APP_ID = 'carbonio-shell-ui';\nexport const SETTINGS_APP_ID = 'settings';\nexport const SEARCH_APP_ID = 'search';\nexport const ACTION_TYPES: {\n\t[name: string]: string;\n};\nexport const SHELL_MODES: Record<string, ShellModes>;\nexport const BASENAME: string;\nexport const getIntegratedHook: (id: string) => [Function, boolean];\nexport const getIntegratedFunction: (id: string) => [Function, boolean];\nexport const getIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const getActions: <T>(target: T, type: string) => Array<Action>;\nexport const getActionsFactory: (type: string) => <T>(target: T) => Array<Action>;\nexport const getAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const getActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useIntegratedHook: (id: string) => [Function, boolean];\nexport const useIntegratedFunction: (id: string) => [Function, boolean];\nexport const useIntegratedComponent: (id: string) => [ComponentType<unknown>, boolean];\nexport const useActions: <T>(target: T, type: string) => Array<Action>;\nexport const useActionsFactory: <T>(type: string) => CombinedActionFactory<T>;\nexport const useAction: <T>(type: string, id: string, target?: T) => [Action | undefined, boolean];\nexport const useActionFactory: <T>(\n\ttype: string,\n\tid: string\n) => [ActionFactory<T> | undefined, boolean];\nexport const useApp: () => CarbonioModule;\nexport const getApp: () => CarbonioModule;\nexport const useAppContext: <T>() => T;\nexport const getAppContext: <T>() => T;\nexport const useUserAccount: () => Account;\nexport const useUserAccounts: () => Array<Account>;\nexport const useUserRights: () => AccountRights;\nexport const useUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const getUserAccount: () => Account;\nexport const getUserAccounts: () => Array<Account>;\nexport const getUserRights: () => AccountRights;\nexport const getUserRight: (right: AccountRightName) => Array<AccountRightTarget>;\nexport const useTags: () => Tags;\nexport const getTags: () => Tags;\nexport const useTag: (id: string) => Tag;\nexport const getTag: (id: string) => Tag;\nexport const 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// 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 './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<SoapPolicy>;\n\tpurge: Array<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: unknown;\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 { AppRoute } from '../apps';\nimport { QueryChip } from './items';\n\nexport * from './items';\nexport type SearchState = {\n\tquery: Array<QueryChip>;\n\tmodule?: string;\n\tsearchDisabled: boolean;\n\tsetSearchDisabled: (searchDisabled: boolean) => void;\n\tupdateQuery: (query: Array<QueryChip> | ((q: Array<QueryChip>) => Array<QueryChip>)) => void;\n\tupdateModule: (module: string) => void;\n};\n\nexport type SearchBarProps = {\n\tactiveRoute: AppRoute;\n\tprimaryAction?: unknown;\n\tsecondaryActions?: unknown;\n};\n\n// export type SelectLabelFactoryProps = {\n// \tselected: [{ label: string; value: string }];\n// \topen: boolean;\n// \tfocus: boolean;\n// \tdisabled: boolean;\n// };\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","/* (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","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","BrowserRouter","useHistory","SnackbarManagerContext","ModalManagerContext","useBridge","ShellView","BASENAME","ContextBridge","history","createSnackbar","createModal","getHistory","BootstrapperRouter","useEffect","useTranslation","init","ThemeProvider","I18nFactory","StoreFactory","DefaultViewsRegister","TBridge","Bootstrapper","useAccountStore","getInfo","_i18nFactory","_storeFactory","setLocale","prefs","zimbraPrefLocale","attrs","zimbraLocale","split","Object","values","useState","UIThemeProvider","enable","disable","auto","setFetchMethod","darkReaderDynamicThemeFixes","fetch","ThemeCallbacksContext","addExtension","newExtension","setDarkReaderState","newState","themeSizes","size","sizes","font","extrasmall","small","medium","large","zimbraPrefFontSize","fonts","theme","extensions","setExtensions","darkReaderState","sepia","aggregatedExtensions","val","ext","ZIMBRA_STANDARD_COLORS","zValue","hex","zLabel","FOLDERS","USER_ROOT","INBOX","TRASH","SPAM","SENT","DRAFTS","CONTACTS","TAGS","CONVERSATIONS","CALENDAR","ROOT","NOTEBOOK","AUTO_CONTACTS","IM_LOGS","TASKS","BRIEFCASE","ACCOUNTS_APP_ID","ACTION_TYPES","CONVERSATION","CONVERSATION_lIST","MESSAGE","MESSAGE_lIST","CONTACT","CONTACT_lIST","INVITE","INVITE_lIST","APPOINTMENT","APPOINTMENT_lIST","FOLDER","FOLDER_lIST","CALENDAR_lIST","NEW","ignoreImageAnalysis","invert","css","ignoreInlineStyle","disableStyleSheetsProxy","EMAIL_VALIDATION_REGEX","ROOT_NAME","IconButton","addBoard","title","find","startsWith","replace","trim","useLocation","useSearchStore","useRoutes","getRoutes","location","r","pathname","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","lng","fallbackLng","debug","interpolation","escapeValue","missingKeyHandler","ns","key","fallbackValue","warn","backend","loadPath","findIndex","mods","props","prop","value","pref","identity","modifyList","item","deleteList","createList","requestId","zimbraPrefIdentityName","zimbraPrefFromDisplay","zimbraPrefFromAddress","zimbraPrefReplyToEnabled","zimbraPrefReplyToDisplay","zimbraPrefReplyToAddress","zimbraPrefDefaultSignatureId","zimbraPrefForwardReplySignatureId","zimbraPrefWhenSentToEnabled","zimbraPrefWhenInFoldersEnabled","permissions","freeBusy","current","right","gt","zid","deny","d","inviteRight","u","email","propIndex","p","zimlet","_content","account","displayName","identities","tempResult","itemMods","indexAccount","keys","_index","_attrs","includes","i","CreateIdentityResponse","undefined","type","maxBy","goToLogin","userAgent","useNetworkStore","handleSync","noOp","pollingInterval","_jsns","limitToOneBlocked","wait","getAccount","otherAccount","by","getXmlAccount","getXmlSession","sessionId","session","normalizeContext","context","notify","deleted","handleResponse","api","res","noOpTimeout","usedQuota","clearTimeout","Body","Fault","code","Detail","Code","Reason","Text","Header","responseUsedQuota","refresh","mbx","modified","_context","seq","nextPollingInterval","waitDisallowed","setTimeout","zimbraVersion","method","headers","JSON","stringify","json","shellSoap","normalizeAccount","parsePollingInterval","pollingPref","zimbraPrefMailPollingInterval","pollingValue","parseInt","Number","isNaN","rights","components","addApps","assign","origin","logout","tag","action","op","color","rgb","UAParser","os","browser","createSlice","logger","_uselessSlice","initialState","reducers","devTools","middleware","getDefaultMiddleware","concat","_useless","useReducer","Button","Select","Container","Row","Icon","Severity","styled","feedback","useAppList","TextArea","textarea","palette","gray5","regular","text","gray4","TextContainer","ButtonContainer","TAContainer","primary","SubHeadingText","lineHeight","LabelContainer","disabled","emptyEvent","message","level","Info","release","extra","topic","user","payload","getTopics","ModuleLabelFactory","selected","open","focus","all","length","alignSelf","_LabelFactory","showErr","topics","allApps","sentryDsn","appItems","display","acct","event","dispatch","setShowErr","limit","setLimit","onAppSelect","ev","onTopicSelect","onInputChange","target","style","scrollHeight","checkTopicSelect","keyCode","closeBoard","confirmHandler","feedbackId","disabledSend","LabelFactory","bottom","vertical","hint","reporter","eventId","clients","captureException","feedbacks","captureEvent","create","BrowserClient","Hub","set","dsn","maxValueLength","Dropdown","SelectorContainer","hover","ModuleSelector","activeRoute","modules","updateModule","fullModule","m","setOpen","dropdownItems","active","click","left","query","searchDisabled","Redirect","Route","Switch","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","searchCb","addEventListener","removeEventListener","disableOptions","placeholder","clearButtonPlaceholder","searchBtnTooltipLabel","onChipAdd","newChip","avatarLabel","addFocus","removeFocus","disableClearButton","cursor","overflowX","isFunction","get","AccountsSettings","accountSettings","identitiesDefault","temp","index","toString","identityId","zimbraPrefIdentityId","fromAddress","identityName","fromDisplay","recoveryAccount","zimbraRecoveryAccount","replyToDisplay","replyToAddress","replyToEnabled","saveToSent","zimbraPrefSaveToSent","sentMailFolder","zimbraPrefSentMailFolder","whenInFoldersEnabled","whenSentToEnabled","whenSentToAddresses","zimbraPrefWhenSentToAddresses","result","pop","useSnackbar","lowerFirst","AccountsList","PrimaryAccountSettings","SettingsSentMessages","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","onClick","sectionTitle","Badge","ThemeContext","versionsSubSection","ModuleVersionSettings","copyToClipboard","preventDefault","navigator","clipboard","writeText","filteredList","description","backgroundColor","success","gray6","ItemsExternalSenders","getExternalSendersPrefsData","ItemsOutOfOfficeStatus","getOutOfOfficeStatusPrefsData","ItemsSendAutoReplies","outOfOfficeSubSection","OutOfOfficeView","zimbraPrefOutOfOfficeReplyEnabled","setSendAutoReply","zimbraPrefOutOfOfficeReply","inputZimbraPrefOutOfOfficeReply","setInputZimbraPrefOutOfOfficeReply","zimbraPrefOutOfOfficeExternalReply","inputZimbraPrefOutOfOfficeExternalReply","setInputZimbraPrefOutOfOfficeExternalReply","createAppointmentDisabled","setCreateAppointmentDisabled","zimbraPrefOutOfOfficeExternalReplyEnabled","externalReplyInput","setExternalReplyInput","createAppointment","setCreateAppointment","externalSendersHandler","createAppointmentAsHandler","itemsSendAutoReplies","itemsExternalSenders","itemsOutOfOfficeStatus","defaultSendAutoreply","defaultOutOfOfficeStatus","selectedItemSendAutoReplies","Quota","quotaSubSection","UserQuota","mobileView","used","quota","userQuota","zimbraMailQuota","Math","round","defaultValue","fillBackground","Breadcrumbs","useParams","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","useSecondaryActions","actions","byApp","CreationButton","primaryAction","a","group","secondaryActions","onOpen","ShellContext","isMobile","initialValue","localStorage","getItem","parse","setValue","valueToStore","Function","setItem","useScreenMode","ShellContextProvider","screenMode","Responsive","Logo","ShellHeader","mobileNavIsOpen","onMobileMenuClick","searchEnabled","Collapse","SidebarComponent","secondary","ShellMobileNav","menuTree","CustomComponent","zIndex","maxHeight","overflowY","ShellPrimaryBar","ShellSecondaryBar","ShellNavigationBar","sortBy","checkRoute","PrimaryContainer","ContainerWithDivider","ToggleBoardIcon","PrimaryBarElement","PrimaryBarAccessoryElement","primaryBarViews","setRoutes","primaryBarAccessoryViews","accessories","minHeight","useUtilityBarStore","SidebarContainer","sidebarIsOpen","isOpen","secondaryBarState","setIsOpen","setSecondaryBarState","onCollapserClick","secondaryBarViews","secondaryBarAccessoryViews","secondaryBarAccessories","PreviewManager","ShellUtilityBar","ShellUtilityPanel","Background","DarkReaderListener","Shell","mobileNavOpen","setMobileNavOpen","targets","normalizeSettings","signatures","lastNotificationTime","priority","getAppList","getApps","appContexts","shell","getRoute","useRoute","merge","omit","unionBy","unionWith","normalizeApp","filterById","commit","utilityBar","routeData","b","bar","FallbackView","normalizeBadgeInfo","whitelistRoutes","blacklistRoutes","button","content","addFunctions","useFolderStore","filterNodes","folderViewFilter","isRoot","mapNodes","sortFolders","folders","roots","userId","searches","itemProps","mapFunction","folder","filterFunction","recursionKey","sortFunction","deep","folderWorker","onmessage","hasId","getOriginalId","parts","toLowerCase","isTrash","oname","tinymce","Editor","Composer","onEditorChange","inline","baseAssetsUrl","rest","setContent","_onEditorChange","newContent","editor","getContent","skin_url","content_css","min_height","menubar","statusbar","branding","resize","plugins","toolbar","quickbars_insert_toolbar","quickbars_selection_toolbar","contextmenu","toolbar_mode","compact","integration","hooks","Integration","C","factories","factory","combinedFactory","composer","hook","fn","ids","tagWorker","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","Panel","Spacer","currentPanel","intersection","checkList","l1","l2","activeRouteValues","utilityViews","Worker","URL","import","meta","SHELL_MODES","useTag","getTag","useRootByView","getRootByView","JSNS"],"sourceRoot":""}