@bigbinary/neeto-molecules 3.16.53 → 3.16.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FloatingActionMenu.js +1 -0
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/KeyboardShortcuts.js +4 -34
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/Sidebar.js +22 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +1 -0
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +6 -36
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/Sidebar.js +22 -2
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/useKeyboardShortcutsPaneState-YnXpWOcs.js +39 -0
- package/dist/cjs/useKeyboardShortcutsPaneState-YnXpWOcs.js.map +1 -0
- package/dist/useKeyboardShortcutsPaneState-C_eLceJQ.js +37 -0
- package/dist/useKeyboardShortcutsPaneState-C_eLceJQ.js.map +1 -0
- package/package.json +1 -1
|
@@ -38,6 +38,7 @@ import Check from '@bigbinary/neeto-icons/Check';
|
|
|
38
38
|
import { getFromLocalStorage } from '@bigbinary/neeto-commons-frontend/utils';
|
|
39
39
|
import { resetAuthTokens } from '@bigbinary/neeto-commons-frontend/utils/axios';
|
|
40
40
|
import { removeFromLocalStorage } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
41
|
+
import './useKeyboardShortcutsPaneState-C_eLceJQ.js';
|
|
41
42
|
import 'zustand/shallow';
|
|
42
43
|
import '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
43
44
|
import 'zustand';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Menu.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Modal.jsx","../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/components/LinkSection.jsx","../src/components/FloatingActionMenu/components/OrganizationSwitcher/apis/logged_in_organizations.js","../src/components/FloatingActionMenu/components/OrganizationSwitcher/constants.js","../src/components/FloatingActionMenu/components/OrganizationSwitcher/hooks/reactQuery/useFetchLoggedInOrganizations.js","../src/components/FloatingActionMenu/components/OrganizationSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/OrganizationSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Dropdown.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileHeader.jsx","../src/components/FloatingActionMenu/utils.js","../src/components/FloatingActionMenu/components/ThemeSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ThemeSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileMenu.jsx","../src/components/FloatingActionMenu/components/ProfileButton.jsx","../src/components/FloatingActionMenu/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as AppIcons from \"neetoicons/typeface-logos\";\nimport { Typography } from \"neetoui\";\n\nimport \"./product-switcher.scss\";\n\nconst ProductLink = ({ name, description, url }) => {\n const appName = `Neeto${name.charAt(0)}${name.slice(1).toLowerCase()}`;\n const AppIcon = AppIcons[appName];\n\n return (\n <a\n data-cy={`${name}-app-link`}\n data-test-id={`neetoapp-link-${name}`}\n href={url}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"neeto-molecules-product-switcher-link\", {\n \"neeto-molecules-product-switcher-link--active\":\n globalProps.appName.includes(name),\n })}\n >\n <div className=\"neeto-molecules-product-switcher-link__icon-holder\">\n {AppIcon ? (\n <AppIcon />\n ) : (\n <Neeto className=\"neeto-molecules-product-switcher-link__icon-default\" />\n )}\n </div>\n <div className=\"neeto-molecules-product-switcher-link__divider neeto-ui-bg-gray-200\" />\n <div className=\"neeto-molecules-product-switcher-link__content\">\n <Typography component=\"span\" style=\"body3\" weight=\"medium\">\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default memo(ProductLink);\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./product-switcher.scss\";\nimport ProductLink from \"./ProductLink\";\n\nconst Menu = ({ isMobile = false }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { data } = useFetchNeetoApps({ enabled: false });\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n const handleSearch = e => setSearchTerm(e.target.value);\n\n return (\n <div\n className=\"neeto-molecules-product-switcher__wrapper\"\n data-cy=\"switcher-wrapper\"\n data-testid=\"switcher-wrapper\"\n key=\"switcher-wrapper\"\n >\n <div\n data-cy=\"product-switcher-body-wrapper\"\n className={classNames(\"neeto-molecules-product-switcher__header\", {\n \"neeto-molecules-product-switcher__header-mobile\": isMobile,\n })}\n >\n {!isMobile && (\n <Typography style=\"h1\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n )}\n <div className=\"neeto-molecules-product-switcher__search-wrapper\">\n <Input\n autoFocus\n data-cy=\"product-switcher-search-input\"\n placeholder={t(\"neetoMolecules.productSwitcher.searchProducts\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n </div>\n <div\n className={classNames(\"neeto-molecules-product-switcher__body\", {\n [\"neeto-molecules-product-switcher__body-mobile\"]: isMobile,\n })}\n >\n {filteredApps?.length > 0 ? (\n <div className=\"neeto-molecules-product-switcher__grid\">\n {filteredApps.map(app => (\n <ProductLink key={app.name} {...app} />\n ))}\n </div>\n ) : (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-apps-found-title\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.productSwitcher.noApps\")}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Modal as NeetoUIModal, Typography } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = withT(({ t, isOpen, onClose }) => (\n <NeetoUIModal\n {...{ isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"fullScreen\"\n >\n <NeetoUIModal.Header>\n <Typography className=\"pr-4\" style=\"h2\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n </NeetoUIModal.Header>\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu isMobile />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n));\n\nexport default Modal;\n","import { t } from \"i18next\";\nimport { Book, Help, Community } from \"neetoicons\";\nimport { toLower } from \"ramda\";\n\nconst shouldShowWhatsNew = () => {\n const currentUserEmail = window.globalProps?.user?.email;\n\n return (\n window.location.hostname === \"localhost\" ||\n currentUserEmail === \"oliver@example.com\" ||\n currentUserEmail?.endsWith(\"@bigbinary.com\")\n );\n};\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const ENGAGE_WIDGET_TRIGGER_ID = \"neetoengage-trigger\";\n\nexport const DEFAULT_HELP_LINK_PROPS = {\n communityProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.community\", {\n app: globalProps.appName,\n }),\n icon: Community,\n \"data-cy\": \"help-link-community-button\",\n \"data-btn-weight\": \"bold\",\n href: \"https://www.launchpass.com/neetohq\",\n target: \"_blank\",\n },\n helpCenterProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.helpCenter\"),\n icon: Book,\n \"data-cy\": \"help-link-help-center-button\",\n \"data-btn-weight\": \"bold\",\n href: `https://help.${toLower(globalProps.appName)}.com/`,\n target: \"_blank\",\n },\n liveChatProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.liveChat\"),\n icon: Help,\n \"data-cy\": \"help-link-live-chat-button\",\n \"data-btn-weight\": \"bold\",\n onClick: () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n },\n },\n};\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n engageProps: {\n id: ENGAGE_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-cy\": \"help-link-engage-button\",\n isVisible: shouldShowWhatsNew,\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-cy\": \"help-link-keyboard-shortcut-button\",\n },\n statusProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.productStatus\", {\n app: globalProps.appName,\n }),\n \"data-cy\": \"help-link-status-button\",\n href: \"https://neetostatus.com/\",\n target: \"_blank\",\n },\n};\n\nexport const NON_BUTTON_PROPS = [\"isVisible\"];\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n\nexport const NEETO_AUTH_BILLING_INFO_URL =\n \"/neeto_sso/api/v1/subscription/billing\";\n","import { isNotPresent, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport { NON_BUTTON_PROPS } from \"../constants\";\n\nconst LinkSection = ({ links }) => {\n const { MenuItem } = Dropdown;\n if (isNotPresent(links)) return null;\n\n return (\n <>\n {links.map(({ label, icon: Icon, changesCount, ...otherProps }, idx) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"floating-action-menu-link-section\"\n key={idx}\n prefix={Icon && <Icon size={18} />}\n style=\"text\"\n {...omit(NON_BUTTON_PROPS, otherProps)}\n >\n {label}\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu-list__item-btn-count\"\n data-cy=\"help-section-menu-changes-count\"\n data-testid=\"help-section-menu-changes-count\"\n >\n {changesCount}\n </span>\n )}\n </MenuItem.Button>\n ))}\n </>\n );\n};\n\nexport default LinkSection;\n","import axios from \"axios\";\n\nconst fetch = email =>\n axios.get(\"/logged_in_organizations\", { params: { email } });\n\nconst loggedInOrganizationsApi = { fetch };\n\nexport default loggedInOrganizationsApi;\n","export const QUERY_KEYS = {\n LOGGED_IN_ORGANIZATIONS_LIST: \"logged-in-organizations-list\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport loggedInOrganizationsApi from \"../../apis/logged_in_organizations.js\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { LOGGED_IN_ORGANIZATIONS_LIST } = QUERY_KEYS;\n\nconst useFetchLoggedInOrganizations = email =>\n useQuery({\n queryKey: [LOGGED_IN_ORGANIZATIONS_LIST],\n queryFn: () => loggedInOrganizationsApi.fetch(email),\n });\n\nexport { useFetchLoggedInOrganizations };\n","import { withT } from \"neetocommons/react-utils\";\nimport { Right } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst MenuButton = withT(({ t }) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"organization-switcher-button\"\n data-testid=\"organization-switcher-button\"\n style=\"text\"\n suffix={<Right size={18} />}\n >\n {t(\"neetoMolecules.sidebar.organizationSwitcher.label\")}\n </MenuItem.Button>\n));\n\nexport default MenuButton;\n","import classNames from \"classnames\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { ExternalLink } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown, Avatar } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchLoggedInOrganizations } from \"./hooks/reactQuery/useFetchLoggedInOrganizations.js\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst OrganizationSwitcher = () => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n const { data: { organizations, authAppUrl } = {} } =\n useFetchLoggedInOrganizations(globalProps?.user?.email);\n\n const isMobile = isSize(\"mobile\");\n\n const isCurrentSubdomain = link => {\n const currentSubdomain = window.location.hostname.split(\".\")[0];\n const linkSubdomain = new URL(link).hostname.split(\".\")[0];\n\n return currentSubdomain === linkSubdomain;\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-theme-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton />}\n interactiveDebounce={30}\n offset={[0, 5]}\n position={isMobile ? \"bottom\" : \"right\"}\n trigger=\"all\"\n zIndex={99999}\n >\n <Menu>\n {organizations?.map(organization => (\n <MenuItem.Button\n href={organization.organizationUrl}\n key={organization.userId}\n rel=\"noreferrer\"\n style=\"text\"\n suffix={<ExternalLink size={18} />}\n target=\"_blank\"\n className={classNames({\n \"neeto-molecules-organization-switcher-active-button\":\n isCurrentSubdomain(organization.organizationUrl),\n })}\n >\n <Avatar\n user={{\n name: organization.userName,\n imageUrl: organization.userImageUrl,\n }}\n />\n {organization.orgName}\n </MenuItem.Button>\n ))}\n <MenuItem.Button href={authAppUrl} rel=\"noreferrer\" target=\"_blank\">\n {t(\"neetoMolecules.sidebar.organizationSwitcher.addAccount\")}\n </MenuItem.Button>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default OrganizationSwitcher;\n","import { Right, ProductSwitcher } from \"neetoicons\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ isLoading, onMouseEnter, ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\n {...{ onMouseEnter }}\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"product-switcher-button\"\n data-testid=\"product-switcher-button\"\n label={t(\"neetoMolecules.sidebar.productSwitcher\")}\n style=\"text\"\n suffix={isLoading ? <Spinner /> : <Right size={18} />}\n {...otherProps}\n >\n <ProductSwitcher size={20} />\n {t(\"neetoMolecules.sidebar.productSwitcher\")}\n </MenuItem.Button>\n );\n};\n\nexport default MenuButton;\n","import useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst Dropdown = () => {\n const {\n data,\n isLoading,\n isStale,\n refetch: refetchNeetoApps,\n } = useFetchNeetoApps();\n\n const onMouseEnter = () => {\n if (!isStale) return;\n refetchNeetoApps();\n };\n\n return (\n <NeetoUIDropdown\n appendTo=\"parent\"\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ isLoading, onMouseEnter }} />}\n disabled={!data || isLoading}\n interactiveDebounce={30}\n isOpen={!data ? false : undefined}\n offset={[0, 5]}\n position=\"right\"\n trigger=\"all\"\n zIndex={99999}\n dropdownProps={{\n classNames: \"neeto-molecules-product-switcher-menu-popup__dropdown\",\n }}\n >\n <Menu>\n <MenuItem>\n <ProductSwitcherMenu />\n </MenuItem>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default Dropdown;\n","import useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\n\nimport Dropdown from \"./Dropdown\";\nimport MenuButton from \"./MenuButton\";\n\nconst ProductSwitcher = ({ toggleModal }) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n return isMobile ? (\n <MenuButton onClick={() => toggleModal(true)} />\n ) : (\n <Dropdown />\n );\n};\n\nexport default ProductSwitcher;\n","import { truncate } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nconst ProfileHeader = ({ profileInfo }) => {\n const { name, email } = profileInfo;\n\n return (\n <div\n className=\"neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-50 neeto-molecules-profile-popup__top-section\"\n data-cy=\"floating-action-menu-profile-header\"\n >\n <div className=\"left-0 top-0\">\n <Avatar\n data-cy=\"floating-action-menu-header-profile-icon\"\n size=\"large\"\n user={profileInfo}\n />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3\">\n <Typography\n className=\"neeto-ui-m-0\"\n component=\"h2\"\n data-cy=\"floating-action-menu-header-user-name\"\n lineHeight=\"tight\"\n style=\"h5\"\n title={name}\n weight=\"semibold\"\n >\n {truncate(name, 18)}\n </Typography>\n {email && (\n <Typography\n className=\"neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700\"\n data-cy=\"floating-action-menu-header-user-email\"\n lineHeight=\"tight\"\n style=\"body3\"\n >\n {email}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProfileHeader;\n","import { t } from \"i18next\";\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { resetAuthTokens } from \"neetocommons/utils/axios\";\nimport { removeFromLocalStorage } from \"neetocommons/utils/general\";\nimport { mergeDeepLeft } from \"ramda\";\n\nimport {\n MY_ORGANIZATION_URL,\n THEMES,\n APP_THEME_LOCALSTORAGE_KEY,\n} from \"./constants\";\n\nconst getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const getDefaultTopLinks = (\n isOwner,\n setIsProfilePaneOpen,\n isAuthenticated\n) => {\n if (!isAuthenticated) return [];\n\n const topLinks = [\n {\n label: t(\"neetoMolecules.sidebar.myProfile\"),\n onClick: () => setIsProfilePaneOpen(true),\n \"data-cy\": \"my-profile-button\",\n \"data-testid\": \"my-profile-button\",\n },\n ];\n\n if (isOwner) {\n topLinks.push({\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n });\n }\n\n return topLinks;\n};\n\nexport const getDefaultBottomLinks = isAuthenticated => [\n isAuthenticated\n ? {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/logout\";\n },\n \"data-cy\": \"profile-logout-button\",\n }\n : {\n label: t(\"neetoMolecules.sidebar.login\"),\n onClick: () => {\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/login\";\n },\n \"data-cy\": \"profile-login-button\",\n },\n];\n\nexport const getProfileInfo = profileInfoOverrides =>\n mergeDeepLeft(profileInfoOverrides, {\n name: `${globalProps.user?.firstName ?? \"\"} ${\n globalProps.user?.lastName ?? \"\"\n }`,\n imageUrl: globalProps.authenticated\n ? globalProps.user?.profileImageUrl\n : \"https://d2v7kzglnr2dnh.cloudfront.net/others/profile-pic.jpg\",\n email: globalProps.user?.email || globalProps.user?.phoneNumber,\n isAuthenticated: globalProps.authenticated,\n });\n\n// Theme switcher utils.\nexport const setDarkTheme = () => {\n if (!document.body) return;\n\n document.body.classList.remove(THEMES.LIGHT);\n document.body.classList.add(THEMES.DARK);\n};\n\nexport const setLightTheme = () => {\n if (!document.body) return;\n\n document.body.classList.remove(THEMES.DARK);\n document.body.classList.add(THEMES.LIGHT);\n};\n\nexport const setAppTheme = () => {\n const isDarkTheme =\n getFromLocalStorage(APP_THEME_LOCALSTORAGE_KEY) === THEMES.DARK;\n isDarkTheme ? setDarkTheme() : setLightTheme();\n};\n","import { withT } from \"neetocommons/react-utils\";\nimport { Right } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst MenuButton = withT(({ t, selectedThemeName }) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"theme-switcher-button\"\n data-testid=\"theme-switcher-button\"\n style=\"text\"\n suffix={<Right size={18} />}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.label\", {\n selectedTheme: selectedThemeName,\n })}\n </MenuItem.Button>\n));\n\nexport default MenuButton;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Check } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES,\n} from \"components/FloatingActionMenu/constants\";\nimport {\n setDarkTheme,\n setLightTheme,\n} from \"components/FloatingActionMenu/utils\";\n\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst ThemeSwitcher = () => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n const [appTheme, setAppTheme] = useLocalStorage(\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES.LIGHT\n );\n const isDarkThemeSelected = appTheme === THEMES.DARK;\n const selectedThemeName = isDarkThemeSelected\n ? t(\"neetoMolecules.sidebar.themeSwitcher.dark\")\n : t(\"neetoMolecules.sidebar.themeSwitcher.light\");\n\n const isMobile = isSize(\"mobile\");\n\n const switchTheme = theme => {\n theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();\n setAppTheme(theme);\n };\n\n return (\n <NeetoUIDropdown\n appendTo=\"parent\"\n className=\"neeto-molecules-theme-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ selectedThemeName }} />}\n interactiveDebounce={30}\n offset={[0, 5]}\n position={isMobile ? \"bottom\" : \"right\"}\n trigger=\"all\"\n zIndex={99999}\n >\n <Menu>\n <MenuItem.Button\n suffix={!isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\":\n !isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.LIGHT)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.light\")}\n </MenuItem.Button>\n <MenuItem.Button\n suffix={isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\": isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.DARK)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.dark\")}\n </MenuItem.Button>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default ThemeSwitcher;\n","import { isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport LinkSection from \"./LinkSection\";\nimport OrganizationSwitcher from \"./OrganizationSwitcher\";\nimport ProductSwitcherMenu from \"./ProductSwitcher\";\nimport ProfileHeader from \"./ProfileHeader\";\nimport ThemeSwitcher from \"./ThemeSwitcher\";\n\nimport { NEETO_AUTH_BILLING_INFO_URL } from \"../constants\";\n\nconst ProfileMenu = ({\n profileInfo,\n showProductSwitcher,\n helpLinks,\n defaultLinks,\n topLinks,\n bottomLinks,\n customContent,\n toggleModal,\n isThemeSwitcherEnabled,\n isOrganizationSwitcherEnabled,\n}) => {\n const { Menu, MenuItem, Divider } = Dropdown;\n const { isAuthenticated } = profileInfo;\n\n return (\n <Menu className=\"pb-1\">\n <MenuItem\n className=\"neeto-molecules-profile-popup\"\n data-cy=\"profile-popup\"\n data-testid=\"profile-popup\"\n >\n {isAuthenticated && <ProfileHeader {...{ profileInfo }} />}\n </MenuItem>\n {isPresent(globalProps.user?.subscriptionPlan) && (\n <LinkSection\n links={[\n {\n label: (\n <Trans\n i18nKey=\"neetoMolecules.sidebar.currentPlan\"\n values={{\n subscriptionPlan: humanize(\n globalProps.user?.subscriptionPlan\n ),\n }}\n />\n ),\n href: NEETO_AUTH_BILLING_INFO_URL,\n \"data-testid\": \"subscription-plan\",\n },\n ]}\n />\n )}\n {showProductSwitcher && <ProductSwitcherMenu {...{ toggleModal }} />}\n {isOrganizationSwitcherEnabled && <OrganizationSwitcher />}\n {isThemeSwitcherEnabled && <ThemeSwitcher />}\n {isNotEmpty(topLinks) && (\n <>\n <Divider />\n <LinkSection links={topLinks} />\n </>\n )}\n {isPresent(customContent) && (\n <>\n <Divider />\n <MenuItem className=\"neeto-molecules-floating-action-button__profile-wrapper-custom-content\">\n {customContent}\n </MenuItem>\n </>\n )}\n <Divider />\n <LinkSection links={defaultLinks} />\n <Divider />\n <LinkSection links={helpLinks} />\n <Divider />\n <LinkSection links={bottomLinks} />\n </Menu>\n );\n};\n\nexport default ProfileMenu;\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Help } from \"neetoicons\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\n\nimport KeyboardShortcuts from \"components/KeyboardShortcuts\";\n\nimport ProductSwitcherModal from \"./ProductSwitcher/Modal\";\nimport ProfileMenu from \"./ProfileMenu\";\n\nimport { DEFAULT_HELP_LINK_PROPS, DEFAULT_MENU_LINK_PROPS } from \"../constants\";\nimport {\n getDefaultBottomLinks,\n getDefaultTopLinks,\n getProfileInfo,\n} from \"../utils\";\n\nconst ProfileButton = ({\n profileInfoOverrides,\n showProductSwitcher,\n bottomLinks,\n topLinks,\n customContent,\n isThemeSwitcherEnabled,\n isOrganizationSwitcherEnabled,\n profilePopoverProps,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [changesCount, setChangesCount] = useState(null);\n\n const [, setIsOpen] = KeyboardShortcuts.usePaneState();\n const [, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const { data, refetch, isStale } = useFetchNeetoApps();\n\n const profileInfo = getProfileInfo(profileInfoOverrides);\n\n useEffect(() => {\n const Nv = {\n onReceiveData: data => {\n if (!data.unreadCount) return;\n setChangesCount(data.unreadCount);\n },\n onShow: () => {\n setChangesCount(null);\n },\n };\n\n window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;\n }, []);\n\n useEffect(() => {\n if (!isStale) return;\n refetch();\n }, [isStale]);\n\n const newTopLinks =\n globalProps.appName.toLowerCase() !== \"neetoauth\"\n ? [\n ...getDefaultTopLinks(\n data?.isOwner,\n setIsProfilePaneOpen,\n profileInfo.isAuthenticated\n ),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [\n ...getDefaultBottomLinks(profileInfo.isAuthenticated),\n ...bottomLinks,\n ];\n\n const helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS)\n .map(key => ({ ...DEFAULT_HELP_LINK_PROPS[key] }))\n .filter(({ hide }) => !hide);\n\n const defaultLinks = Object.keys(DEFAULT_MENU_LINK_PROPS)\n .filter(key => DEFAULT_MENU_LINK_PROPS[key].isVisible?.() ?? true)\n .map(key => ({\n ...DEFAULT_MENU_LINK_PROPS[key],\n ...(key === \"keyboardShortcutProps\" && {\n onClick: () => setIsOpen(prev => !prev),\n }),\n ...(key === \"engageProps\" && changesCount && { changesCount }),\n }))\n .filter(({ hide }) => !hide);\n\n return (\n <>\n <Profile.Pane popoverProps={profilePopoverProps} />\n <Dropdown\n appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\n icon={noop}\n interactiveDebounce={30}\n offset={[15, 10]}\n position=\"right-end\"\n strategy=\"fixed\"\n theme=\"light\"\n trigger=\"all\"\n zIndex={99999}\n customTarget={\n <button\n className=\"neeto-molecules-floating-action-button\"\n type=\"button\"\n >\n <Avatar\n className=\"neeto-ui-flex-shrink-0 neeto-molecules-floating-action-button__profile-avatar\"\n data-cy=\"profile-avatar\"\n data-testid=\"profile-avatar\"\n size=\"medium\"\n user={profileInfo}\n />\n <span className=\"neeto-molecules-floating-action-button__help-icon\">\n <Help size={20} />\n </span>\n </button>\n }\n dropdownProps={{\n classNames: \"neeto-molecules-floating-action-button__dropdown\",\n }}\n >\n <ProfileMenu\n {...{\n customContent,\n defaultLinks,\n helpLinks,\n isOrganizationSwitcherEnabled,\n isThemeSwitcherEnabled,\n profileInfo,\n showProductSwitcher,\n }}\n bottomLinks={newBottomLinks}\n toggleModal={setIsModalOpen}\n topLinks={newTopLinks}\n />\n </Dropdown>\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu__notif-count\"\n data-cy=\"help-icon-changes-count\"\n data-testid=\"help-icon-changes-count\"\n >\n {changesCount}\n </span>\n )}\n <ProductSwitcherModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n />\n </>\n );\n};\n\nexport default ProfileButton;\n","import { forwardRef, useEffect } from \"react\";\n\nimport { globalProps } from \"neetocommons/initializers\";\nimport PropTypes from \"prop-types\";\n\nimport ProfileButton from \"./components/ProfileButton\";\nimport \"./floating-action-menu.scss\";\nimport { setAppTheme } from \"./utils\";\n\nconst FloatingActionMenu = forwardRef(\n (\n {\n profileInfoOverrides = {},\n topLinks = [],\n bottomLinks = [],\n showProductSwitcher = true,\n isThemeSwitcherEnabled = false,\n isOrganizationSwitcherEnabled = false,\n customContent,\n profilePopoverProps = {},\n ...otherProps\n },\n ref\n ) => {\n useEffect(() => {\n isThemeSwitcherEnabled && setAppTheme();\n }, []);\n\n const isBigBinaryEmail =\n globalProps?.user?.email.endsWith(\"@bigbinary.com\");\n\n return (\n <div\n {...{ ref }}\n className=\"neeto-molecules-floating-action-menu__container\"\n data-cy=\"floating-action-menu-container\"\n data-testid=\"floating-action-menu-container\"\n {...otherProps}\n >\n <ProfileButton\n {...{\n bottomLinks,\n customContent,\n isOrganizationSwitcherEnabled,\n isThemeSwitcherEnabled,\n profileInfoOverrides,\n profilePopoverProps,\n showProductSwitcher,\n topLinks,\n }}\n isOrganizationSwitcherEnabled={\n isBigBinaryEmail || isOrganizationSwitcherEnabled\n }\n />\n </div>\n );\n }\n);\n\nFloatingActionMenu.displayName = \"FloatingActionMenu\";\n\nFloatingActionMenu.propTypes = {\n /**\n * To specify the profile info to be rendered in the menu\n */\n profileInfoOverrides: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n imageUrl: PropTypes.string,\n }),\n /**\n * Custom content to be rendered in the menu between the top and bottom links if any\n */\n customContent: PropTypes.element,\n /**\n * Any extra links to be rendered at the top of the menu.\n */\n topLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * Any extra links to be rendered at the bottom of the menu.\n */\n bottomLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * To display the product switcher menu option.\n */\n showProductSwitcher: PropTypes.bool,\n /**\n * To display the app theme switcher above the user profile.\n If this prop is set to `true`, it will set the last selected\n theme to the app when the component is mounted.\n */\n isThemeSwitcherEnabled: PropTypes.bool,\n /**\n * To display the organization switcher above the user profile.\n If this prop is set to `true`, it lists all the logged in\n organizations for the current user.\n */\n isOrganizationSwitcherEnabled: PropTypes.bool,\n /**\n * To show help icon popover for preferred date format, preferred time format and time zone.\n */\n profilePopoverProps: PropTypes.shape({\n preferredDateFormat: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n helpLinkProps: PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string,\n }),\n }),\n preferredTimeFormat: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n helpLinkProps: PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string,\n }),\n }),\n timeZone: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n helpLinkProps: PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string,\n }),\n }),\n }),\n};\n\nexport default FloatingActionMenu;\n"],"names":["ProductLink","_ref","name","description","url","appName","concat","charAt","slice","toLowerCase","AppIcon","AppIcons","_jsxs","href","rel","target","className","classnames","globalProps","includes","children","_jsx","Neeto","Typography","component","style","weight","memo","Menu","_ref$isMobile","isMobile","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","_useFetchNeetoApps","useFetchNeetoApps","enabled","data","substring","replace","filteredApps","neetoApps","filter","_ref2","handleSearch","e","value","classNames","Input","autoFocus","placeholder","prefix","Search","type","onChange","_defineProperty","length","map","app","_objectSpread","Modal","withT","isOpen","onClose","NeetoUIModal","backdropClassName","size","Header","Body","shouldShowWhatsNew","_window$globalProps","currentUserEmail","window","user","email","location","hostname","endsWith","MY_ORGANIZATION_URL","ENGAGE_WIDGET_TRIGGER_ID","DEFAULT_HELP_LINK_PROPS","communityProps","label","icon","Community","helpCenterProps","Book","toLower","liveChatProps","Help","onClick","_window$NeetoChat","_window$NeetoChat2","NeetoChat","contextualHelp","maximizeWidget","openWidget","DEFAULT_MENU_LINK_PROPS","engageProps","id","isVisible","keyboardShortcutProps","statusProps","NON_BUTTON_PROPS","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","NEETO_AUTH_BILLING_INFO_URL","LinkSection","links","MenuItem","Dropdown","isNotPresent","_Fragment","idx","Icon","changesCount","otherProps","_objectWithoutProperties","_excluded","Button","omit","isPresent","fetch","axios","get","params","loggedInOrganizationsApi","QUERY_KEYS","LOGGED_IN_ORGANIZATIONS_LIST","useFetchLoggedInOrganizations","useQuery","queryKey","queryFn","MenuButton","suffix","Right","NeetoUIDropdown","OrganizationSwitcher","_globalProps$user","_useBreakpoints","useBreakpoints","isSize","_useFetchLoggedInOrga","_useFetchLoggedInOrga2","_useFetchLoggedInOrga3","organizations","authAppUrl","isCurrentSubdomain","link","currentSubdomain","split","linkSubdomain","URL","closeOnSelect","customTarget","MenuItemButton","interactiveDebounce","offset","position","trigger","zIndex","organization","organizationUrl","ExternalLink","Avatar","userName","imageUrl","userImageUrl","orgName","userId","isLoading","onMouseEnter","Spinner","ProductSwitcher","isStale","refetchNeetoApps","refetch","appendTo","disabled","undefined","dropdownProps","ProductSwitcherMenu","toggleModal","ProfileHeader","profileInfo","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user2","phoneNumber","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","isAuthenticated","topLinks","push","open","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","_globalProps$user$fir","_globalProps$user3","_globalProps$user$las","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","mergeDeepLeft","firstName","lastName","authenticated","profileImageUrl","setDarkTheme","document","body","classList","remove","add","setLightTheme","setAppTheme","isDarkTheme","getFromLocalStorage","selectedThemeName","selectedTheme","ThemeSwitcher","_useLocalStorage","useLocalStorage","_useLocalStorage2","appTheme","isDarkThemeSelected","switchTheme","theme","Check","ProfileMenu","showProductSwitcher","helpLinks","defaultLinks","bottomLinks","customContent","isThemeSwitcherEnabled","isOrganizationSwitcherEnabled","Divider","subscriptionPlan","Trans","i18nKey","values","humanize","isNotEmpty","ProfileButton","profilePopoverProps","isModalOpen","setIsModalOpen","_useState3","_useState4","setChangesCount","_KeyboardShortcuts$us","KeyboardShortcuts","usePaneState","_KeyboardShortcuts$us2","setIsOpen","_Profile$usePaneState","Profile","_Profile$usePaneState2","useEffect","Nv","onReceiveData","unreadCount","onShow","Object","assign","newTopLinks","_toConsumableArray","newBottomLinks","keys","key","hide","_DEFAULT_MENU_LINK_PR","_DEFAULT_MENU_LINK_PR2","_DEFAULT_MENU_LINK_PR3","call","prev","_ref3","Pane","popoverProps","buttonStyle","noop","strategy","ProductSwitcherModal","FloatingActionMenu","forwardRef","ref","_ref$profileInfoOverr","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","_ref$isOrganizationSw","_ref$profilePopoverPr","isBigBinaryEmail","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAmC;AAAA,EAAA,IAA7BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,GAAG,GAAAH,IAAA,CAAHG,GAAG,CAAA;EAC3C,IAAMC,OAAO,WAAAC,MAAA,CAAWJ,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC,CAAA,CAAAD,MAAA,CAAGJ,IAAI,CAACM,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,CAAE,CAAA;AACtE,EAAA,IAAMC,OAAO,GAAGC,QAAQ,CAACN,OAAO,CAAC,CAAA;AAEjC,EAAA,oBACEO,IAAA,CAAA,GAAA,EAAA;IACE,SAAAN,EAAAA,EAAAA,CAAAA,MAAA,CAAYJ,IAAI,EAAY,WAAA,CAAA;IAC5B,cAAAI,EAAAA,gBAAAA,CAAAA,MAAA,CAA+BJ,IAAI,CAAG;AACtCW,IAAAA,IAAI,EAAET,GAAI;AACVU,IAAAA,GAAG,EAAC,YAAY;AAChBC,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,SAAS,EAAEC,UAAU,CAAC,uCAAuC,EAAE;AAC7D,MAAA,+CAA+C,EAC7CC,WAAW,CAACb,OAAO,CAACc,QAAQ,CAACjB,IAAI,CAAA;AACrC,KAAC,CAAE;AAAAkB,IAAAA,QAAA,gBAEHC,GAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,oDAAoD;MAAAI,QAAA,EAChEV,OAAO,gBACNW,GAAA,CAACX,OAAO,EAAA,EAAE,CAAC,gBAEXW,GAAA,CAACC,KAAK,EAAA;AAACN,QAAAA,SAAS,EAAC,qDAAA;OAAuD,CAAA;KAEvE,CAAC,eACNK,GAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,qEAAA;KAAuE,CAAC,eACvFK,GAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,gDAAgD;MAAAI,QAAA,eAC7DC,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,SAAS,EAAC,MAAM;AAACC,QAAAA,KAAK,EAAC,OAAO;AAACC,QAAAA,MAAM,EAAC,QAAQ;AAAAN,QAAAA,QAAA,EACvDjB,WAAAA;OACS,CAAA;AAAC,KACV,CAAC,CAAA;AAAA,GACL,CAAC,CAAA;AAER,CAAC,CAAA;AAED,oBAAewB,aAAAA,IAAI,CAAC3B,WAAW,CAAC;;;;AC/BhC,IAAM4B,MAAI,GAAG,SAAPA,IAAIA,CAAA3B,IAAA,EAA6B;AAAA,EAAA,IAAA4B,aAAA,GAAA5B,IAAA,CAAvB6B,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;AAC9B,EAAA,IAAAE,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;EAEhC,IAAAI,kBAAA,GAAiBC,iBAAiB,CAAC;AAAEC,MAAAA,OAAO,EAAE,KAAA;AAAM,KAAC,CAAC;IAA9CC,IAAI,GAAAH,kBAAA,CAAJG,IAAI,CAAA;AAEZ,EAAA,IAAMC,SAAS,GAAGN,UAAU,CAACO,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACpC,WAAW,EAAE,CAAA;AAE5D,EAAA,IAAMqC,YAAY,GAAGH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEI,SAAS,CAACC,MAAM,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAG/C,IAAI,GAAA+C,KAAA,CAAJ/C,IAAI,CAAA;IAAA,OACjDA,IAAI,CAACO,WAAW,EAAE,CAACU,QAAQ,CAACyB,SAAS,CAAC,CAAA;AAAA,GACxC,CAAC,CAAA;AAED,EAAA,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAAGC,CAAC,EAAA;AAAA,IAAA,OAAIZ,aAAa,CAACY,CAAC,CAACpC,MAAM,CAACqC,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAEvD,EAAA,oBACExC,IAAA,CAAA,KAAA,EAAA;AACEI,IAAAA,SAAS,EAAC,2CAA2C;AACrD,IAAA,SAAA,EAAQ,kBAAkB;AAC1B,IAAA,aAAA,EAAY,kBAAkB;AAAAI,IAAAA,QAAA,gBAG9BR,IAAA,CAAA,KAAA,EAAA;AACE,MAAA,SAAA,EAAQ,+BAA+B;AACvCI,MAAAA,SAAS,EAAEqC,UAAU,CAAC,0CAA0C,EAAE;AAChE,QAAA,iDAAiD,EAAEvB,QAAAA;AACrD,OAAC,CAAE;AAAAV,MAAAA,QAAA,GAEF,CAACU,QAAQ,iBACRT,GAAA,CAACE,UAAU,EAAA;AAACE,QAAAA,KAAK,EAAC,IAAI;QAAAL,QAAA,EACnBa,CAAC,CAAC,mDAAmD,CAAA;OAC5C,CACb,eACDZ,GAAA,CAAA,KAAA,EAAA;AAAKL,QAAAA,SAAS,EAAC,kDAAkD;QAAAI,QAAA,eAC/DC,GAAA,CAACiC,KAAK,EAAA;UACJC,SAAS,EAAA,IAAA;AACT,UAAA,SAAA,EAAQ,+BAA+B;AACvCC,UAAAA,WAAW,EAAEvB,CAAC,CAAC,+CAA+C,CAAE;AAChEwB,UAAAA,MAAM,eAAEpC,GAAA,CAACqC,MAAM,IAAE,CAAE;AACnBC,UAAAA,IAAI,EAAC,QAAQ;AACbP,UAAAA,KAAK,EAAEd,UAAW;AAClBsB,UAAAA,QAAQ,EAAEV,YAAAA;SACX,CAAA;AAAC,OACC,CAAC,CAAA;KACH,CAAC,eACN7B,GAAA,CAAA,KAAA,EAAA;MACEL,SAAS,EAAEqC,UAAU,CAAC,wCAAwC,EAAAQ,eAAA,CAAA,EAAA,EAC3D,+CAA+C,EAAG/B,QAAQ,CAC5D,CAAE;AAAAV,MAAAA,QAAA,EAEF,CAAA0B,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEgB,MAAM,IAAG,CAAC,gBACvBzC,GAAA,CAAA,KAAA,EAAA;AAAKL,QAAAA,SAAS,EAAC,wCAAwC;AAAAI,QAAAA,QAAA,EACpD0B,YAAY,CAACiB,GAAG,CAAC,UAAAC,GAAG,EAAA;UAAA,oBACnB3C,GAAA,CAACrB,aAAW,EAAAiE,eAAA,CAAoBD,EAAAA,EAAAA,GAAG,CAAjBA,EAAAA,GAAG,CAAC9D,IAAgB,CAAC,CAAA;SACxC,CAAA;AAAC,OACC,CAAC,gBAENmB,GAAA,CAACE,UAAU,EAAA;AACTP,QAAAA,SAAS,EAAC,sBAAsB;AAChC,QAAA,SAAA,EAAQ,qBAAqB;AAC7BS,QAAAA,KAAK,EAAC,OAAO;QAAAL,QAAA,EAEZa,CAAC,CAAC,uCAAuC,CAAA;OAChC,CAAA;AACb,KACE,CAAC,CAAA;AAAA,GAAA,EA7CF,kBA8CD,CAAC,CAAA;AAEV,CAAC;;AC1ED,IAAMiC,KAAK,GAAGC,KAAK,CAAC,UAAAlE,IAAA,EAAA;AAAA,EAAA,IAAGgC,CAAC,GAAAhC,IAAA,CAADgC,CAAC;IAAEmC,MAAM,GAAAnE,IAAA,CAANmE,MAAM;IAAEC,OAAO,GAAApE,IAAA,CAAPoE,OAAO,CAAA;EAAA,oBACvCzD,IAAA,CAAC0D,OAAY,EAAA;AACLF,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrBE,IAAAA,iBAAiB,EAAC,wCAAwC;AAC1DC,IAAAA,IAAI,EAAC,YAAY;AAAApD,IAAAA,QAAA,EAEjBC,cAAAA,GAAA,CAACiD,OAAY,CAACG,MAAM,EAAA;MAAArD,QAAA,eAClBC,GAAA,CAACE,UAAU,EAAA;AAACP,QAAAA,SAAS,EAAC,MAAM;AAACS,QAAAA,KAAK,EAAC,IAAI;QAAAL,QAAA,EACpCa,CAAC,CAAC,mDAAmD,CAAA;OAC5C,CAAA;AAAC,KACM,CAAC,eACtBZ,GAAA,CAACiD,OAAY,CAACI,IAAI,EAAA;AAAAtD,MAAAA,QAAA,eAChBC,GAAA,CAAA,KAAA,EAAA;AACEL,QAAAA,SAAS,EAAC,kDAAkD;AAC5D,QAAA,aAAA,EAAY,wBAAwB;QAAAI,QAAA,eAEpCC,GAAA,CAACO,MAAI,EAAA;UAACE,QAAQ,EAAA,IAAA;SAAE,CAAA;OACb,CAAA;AAAC,KACW,CAAC,CAAA;AAAA,GACR,CAAC,CAAA;AAAA,CAChB,CAAC;;ACrBF,IAAM6C,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAAA,EAAA,IAAAC,mBAAA,CAAA;EAC/B,IAAMC,gBAAgB,IAAAD,mBAAA,GAAGE,MAAM,CAAC5D,WAAW,cAAA0D,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,mBAAA,GAAlBA,mBAAA,CAAoBG,IAAI,MAAA,IAAA,IAAAH,mBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAA0BI,KAAK,CAAA;EAExD,OACEF,MAAM,CAACG,QAAQ,CAACC,QAAQ,KAAK,WAAW,IACxCL,gBAAgB,KAAK,oBAAoB,KACzCA,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEM,QAAQ,CAAC,gBAAgB,CAAC,CAAA,CAAA;AAEhD,CAAC,CAAA;AAEM,IAAMC,mBAAmB,GAAG,yBAAyB,CAAA;AACrD,IAAMC,wBAAwB,GAAG,qBAAqB,CAAA;AAEtD,IAAMC,uBAAuB,GAAG;AACrCC,EAAAA,cAAc,EAAE;AACdC,IAAAA,KAAK,EAAEvD,CAAC,CAAC,4CAA4C,EAAE;MACrD+B,GAAG,EAAE9C,WAAW,CAACb,OAAAA;AACnB,KAAC,CAAC;AACFoF,IAAAA,IAAI,EAAEC,SAAS;AACf,IAAA,SAAS,EAAE,4BAA4B;AACvC,IAAA,iBAAiB,EAAE,MAAM;AACzB7E,IAAAA,IAAI,EAAE,oCAAoC;AAC1CE,IAAAA,MAAM,EAAE,QAAA;GACT;AACD4E,EAAAA,eAAe,EAAE;AACfH,IAAAA,KAAK,EAAEvD,CAAC,CAAC,6CAA6C,CAAC;AACvDwD,IAAAA,IAAI,EAAEG,IAAI;AACV,IAAA,SAAS,EAAE,8BAA8B;AACzC,IAAA,iBAAiB,EAAE,MAAM;IACzB/E,IAAI,EAAA,eAAA,CAAAP,MAAA,CAAkBuF,OAAO,CAAC3E,WAAW,CAACb,OAAO,CAAC,EAAO,OAAA,CAAA;AACzDU,IAAAA,MAAM,EAAE,QAAA;GACT;AACD+E,EAAAA,aAAa,EAAE;AACbN,IAAAA,KAAK,EAAEvD,CAAC,CAAC,2CAA2C,CAAC;AACrDwD,IAAAA,IAAI,EAAEM,IAAI;AACV,IAAA,SAAS,EAAE,4BAA4B;AACvC,IAAA,iBAAiB,EAAE,MAAM;AACzBC,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;MACb,CAAAD,iBAAA,GAAAnB,MAAM,CAACqB,SAAS,MAAAF,IAAAA,IAAAA,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBG,cAAc,cAAAH,iBAAA,KAAA,KAAA,CAAA,IAAhCA,iBAAA,CAAkCI,cAAc,EAAE,CAAA;MAClD,CAAAH,kBAAA,GAAApB,MAAM,CAACqB,SAAS,MAAAD,IAAAA,IAAAA,kBAAA,gBAAAA,kBAAA,GAAhBA,kBAAA,CAAkBE,cAAc,cAAAF,kBAAA,KAAA,KAAA,CAAA,IAAhCA,kBAAA,CAAkCI,UAAU,EAAE,CAAA;AAChD,KAAA;AACF,GAAA;AACF,CAAC,CAAA;AAEM,IAAMC,uBAAuB,GAAG;AACrCC,EAAAA,WAAW,EAAE;AACXC,IAAAA,EAAE,EAAEpB,wBAAwB;AAC5BG,IAAAA,KAAK,EAAEvD,CAAC,CAAC,2CAA2C,CAAC;AACrD,IAAA,SAAS,EAAE,yBAAyB;AACpCyE,IAAAA,SAAS,EAAE/B,kBAAAA;GACZ;AACDgC,EAAAA,qBAAqB,EAAE;AACrBnB,IAAAA,KAAK,EAAEvD,CAAC,CAAC,oDAAoD,CAAC;AAC9D,IAAA,SAAS,EAAE,oCAAA;GACZ;AACD2E,EAAAA,WAAW,EAAE;AACXpB,IAAAA,KAAK,EAAEvD,CAAC,CAAC,gDAAgD,EAAE;MACzD+B,GAAG,EAAE9C,WAAW,CAACb,OAAAA;AACnB,KAAC,CAAC;AACF,IAAA,SAAS,EAAE,yBAAyB;AACpCQ,IAAAA,IAAI,EAAE,0BAA0B;AAChCE,IAAAA,MAAM,EAAE,QAAA;AACV,GAAA;AACF,CAAC,CAAA;AAEM,IAAM8F,gBAAgB,GAAG,CAAC,WAAW,CAAC,CAAA;;AAE7C;AACO,IAAMC,0BAA0B,GAAG,UAAU,CAAA;AAE7C,IAAMC,MAAM,GAAG;AACpBC,EAAAA,KAAK,EAAE,uBAAuB;AAC9BC,EAAAA,IAAI,EAAE,sBAAA;AACR,CAAC,CAAA;AAEM,IAAMC,2BAA2B,GACtC,wCAAwC;;;;;AC1E1C,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAlH,IAAA,EAAkB;AAAA,EAAA,IAAZmH,KAAK,GAAAnH,IAAA,CAALmH,KAAK,CAAA;AAC1B,EAAA,IAAQC,QAAQ,GAAKC,UAAQ,CAArBD,QAAQ,CAAA;AAChB,EAAA,IAAIE,YAAY,CAACH,KAAK,CAAC,EAAE,OAAO,IAAI,CAAA;EAEpC,oBACE/F,GAAA,CAAAmG,QAAA,EAAA;IAAApG,QAAA,EACGgG,KAAK,CAACrD,GAAG,CAAC,UAAAd,KAAA,EAAqDwE,GAAG,EAAA;AAAA,MAAA,IAArDjC,KAAK,GAAAvC,KAAA,CAALuC,KAAK;QAAQkC,IAAI,GAAAzE,KAAA,CAAVwC,IAAI;QAAQkC,YAAY,GAAA1E,KAAA,CAAZ0E,YAAY;AAAKC,QAAAA,UAAU,GAAAC,wBAAA,CAAA5E,KAAA,EAAA6E,WAAA,CAAA,CAAA;MAAA,oBAC1DlH,IAAA,CAACyG,QAAQ,CAACU,MAAM,EAAA9D,eAAA,CAAAA,eAAA,CAAA;AACdjD,QAAAA,SAAS,EAAC,wCAAwC;AAClD,QAAA,SAAA,EAAQ,mCAAmC;AAE3CyC,QAAAA,MAAM,EAAEiE,IAAI,iBAAIrG,GAAA,CAACqG,IAAI,EAAA;AAAClD,UAAAA,IAAI,EAAE,EAAA;AAAG,SAAE,CAAE;AACnC/C,QAAAA,KAAK,EAAC,MAAA;AAAM,OAAA,EACRuG,IAAI,CAACnB,gBAAgB,EAAEe,UAAU,CAAC,CAAA,EAAA,EAAA,EAAA;QAAAxG,QAAA,EAAA,CAErCoE,KAAK,EACLyC,SAAS,CAACN,YAAY,CAAC,iBACtBtG,GAAA,CAAA,MAAA,EAAA;AACEL,UAAAA,SAAS,EAAC,2CAA2C;AACrD,UAAA,SAAA,EAAQ,iCAAiC;AACzC,UAAA,aAAA,EAAY,iCAAiC;AAAAI,UAAAA,QAAA,EAE5CuG,YAAAA;AAAY,SACT,CACP,CAAA;AAAA,OAAA,CAAA,EAdIF,GAeU,CAAC,CAAA;KACnB,CAAA;AAAC,GACF,CAAC,CAAA;AAEP,CAAC;;ACjCD,IAAMS,KAAK,GAAG,SAARA,KAAKA,CAAGlD,KAAK,EAAA;AAAA,EAAA,OACjBmD,KAAK,CAACC,GAAG,CAAC,0BAA0B,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAErD,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAA;AAAE,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE9D,IAAMsD,wBAAwB,GAAG;AAAEJ,EAAAA,KAAK,EAALA,KAAAA;AAAM,CAAC;;ACLnC,IAAMK,UAAU,GAAG;AACxBC,EAAAA,4BAA4B,EAAE,8BAAA;AAChC,CAAC;;ACGD,IAAQA,4BAA4B,GAAKD,UAAU,CAA3CC,4BAA4B,CAAA;AAEpC,IAAMC,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGzD,KAAK,EAAA;AAAA,EAAA,OACzC0D,QAAQ,CAAC;IACPC,QAAQ,EAAE,CAACH,4BAA4B,CAAC;IACxCI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQN,wBAAwB,CAACJ,KAAK,CAAClD,KAAK,CAAC,CAAA;AAAA,KAAA;AACtD,GAAC,CAAC,CAAA;AAAA,CAAA;;ACPJ,IAAQqC,UAAQ,GAAKC,UAAQ,CAArBD,QAAQ,CAAA;AAEhB,IAAMwB,YAAU,GAAG1E,KAAK,CAAC,UAAAlE,IAAA,EAAA;AAAA,EAAA,IAAGgC,CAAC,GAAAhC,IAAA,CAADgC,CAAC,CAAA;AAAA,EAAA,oBAC3BZ,GAAA,CAACgG,UAAQ,CAACU,MAAM,EAAA;AACd/G,IAAAA,SAAS,EAAC,wCAAwC;AAClD,IAAA,SAAA,EAAQ,8BAA8B;AACtC,IAAA,aAAA,EAAY,8BAA8B;AAC1CS,IAAAA,KAAK,EAAC,MAAM;IACZqH,MAAM,eAAEzH,GAAA,CAAC0H,KAAK,EAAA;AAACvE,MAAAA,IAAI,EAAE,EAAA;AAAG,KAAE,CAAE;IAAApD,QAAA,EAE3Ba,CAAC,CAAC,mDAAmD,CAAA;AAAC,GACxC,CAAC,CAAA;AAAA,CACnB,CAAC;;ACNF,IAAQL,MAAI,GAAeoH,UAAe,CAAlCpH,IAAI;EAAEyF,UAAQ,GAAK2B,UAAe,CAA5B3B,QAAQ,CAAA;AAEtB,IAAM4B,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AAAA,EAAA,IAAAC,iBAAA,CAAA;AACjC,EAAA,IAAAnH,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAkH,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AAEd,EAAA,IAAAC,qBAAA,GACEb,6BAA6B,CAACvH,aAAW,KAAA,IAAA,IAAXA,aAAW,KAAAgI,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAAXhI,aAAW,CAAE6D,IAAI,MAAAmE,IAAAA,IAAAA,iBAAA,uBAAjBA,iBAAA,CAAmBlE,KAAK,CAAC;IAAAuE,sBAAA,GAAAD,qBAAA,CADjD3G,IAAI;AAAA6G,IAAAA,sBAAA,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAkC,EAAE,GAAAA,sBAAA;IAAhCE,aAAa,GAAAD,sBAAA,CAAbC,aAAa;IAAEC,UAAU,GAAAF,sBAAA,CAAVE,UAAU,CAAA;AAGzC,EAAA,IAAM5H,QAAQ,GAAGuH,MAAM,CAAC,QAAQ,CAAC,CAAA;AAEjC,EAAA,IAAMM,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,IAAI,EAAI;AACjC,IAAA,IAAMC,gBAAgB,GAAG/E,MAAM,CAACG,QAAQ,CAACC,QAAQ,CAAC4E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/D,IAAA,IAAMC,aAAa,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAAC1E,QAAQ,CAAC4E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1D,OAAOD,gBAAgB,KAAKE,aAAa,CAAA;GAC1C,CAAA;EAED,oBACE1I,GAAA,CAAC2H,UAAe,EAAA;AACdhI,IAAAA,SAAS,EAAC,mDAAmD;AAC7DiJ,IAAAA,aAAa,EAAE,KAAM;AACrBC,IAAAA,YAAY,eAAE7I,GAAA,CAAC8I,YAAc,IAAE,CAAE;AACjCC,IAAAA,mBAAmB,EAAE,EAAG;AACxBC,IAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,IAAAA,QAAQ,EAAExI,QAAQ,GAAG,QAAQ,GAAG,OAAQ;AACxCyI,IAAAA,OAAO,EAAC,KAAK;AACbC,IAAAA,MAAM,EAAE,KAAM;IAAApJ,QAAA,eAEdR,IAAA,CAACgB,MAAI,EAAA;MAAAR,QAAA,EAAA,CACFqI,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE1F,GAAG,CAAC,UAAA0G,YAAY,EAAA;AAAA,QAAA,oBAC9B7J,IAAA,CAACyG,UAAQ,CAACU,MAAM,EAAA;UACdlH,IAAI,EAAE4J,YAAY,CAACC,eAAgB;AAEnC5J,UAAAA,GAAG,EAAC,YAAY;AAChBW,UAAAA,KAAK,EAAC,MAAM;UACZqH,MAAM,eAAEzH,GAAA,CAACsJ,YAAY,EAAA;AAACnG,YAAAA,IAAI,EAAE,EAAA;AAAG,WAAE,CAAE;AACnCzD,UAAAA,MAAM,EAAC,QAAQ;UACfC,SAAS,EAAEqC,UAAU,CAAC;AACpB,YAAA,qDAAqD,EACnDsG,kBAAkB,CAACc,YAAY,CAACC,eAAe,CAAA;AACnD,WAAC,CAAE;UAAAtJ,QAAA,EAAA,cAEHC,GAAA,CAACuJ,MAAM,EAAA;AACL7F,YAAAA,IAAI,EAAE;cACJ7E,IAAI,EAAEuK,YAAY,CAACI,QAAQ;cAC3BC,QAAQ,EAAEL,YAAY,CAACM,YAAAA;AACzB,aAAA;AAAE,WACH,CAAC,EACDN,YAAY,CAACO,OAAO,CAAA;SAhBhBP,EAAAA,YAAY,CAACQ,MAiBH,CAAC,CAAA;AAAA,OACnB,CAAC,eACF5J,GAAA,CAACgG,UAAQ,CAACU,MAAM,EAAA;AAAClH,QAAAA,IAAI,EAAE6I,UAAW;AAAC5I,QAAAA,GAAG,EAAC,YAAY;AAACC,QAAAA,MAAM,EAAC,QAAQ;QAAAK,QAAA,EAChEa,CAAC,CAAC,wDAAwD,CAAA;AAAC,OAC7C,CAAC,CAAA;KACd,CAAA;AAAC,GACQ,CAAC,CAAA;AAEtB,CAAC;;;;;AChED,IAAM4G,YAAU,GAAG,SAAbA,UAAUA,CAAA5I,IAAA,EAAmD;AAAA,EAAA,IAA7CiL,SAAS,GAAAjL,IAAA,CAATiL,SAAS;IAAEC,YAAY,GAAAlL,IAAA,CAAZkL,YAAY;AAAKvD,IAAAA,UAAU,GAAAC,wBAAA,CAAA5H,IAAA,EAAA6H,WAAA,CAAA,CAAA;AAC1D,EAAA,IAAA/F,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAQoF,QAAQ,GAAKC,UAAQ,CAArBD,QAAQ,CAAA;EAEhB,oBACEzG,IAAA,CAACyG,QAAQ,CAACU,MAAM,EAAA9D,eAAA,CAAAA,eAAA,CAAA;AACRkH,IAAAA,YAAY,EAAZA,YAAY;AAClBnK,IAAAA,SAAS,EAAC,wCAAwC;AAClD,IAAA,SAAA,EAAQ,yBAAyB;AACjC,IAAA,aAAA,EAAY,yBAAyB;AACrCwE,IAAAA,KAAK,EAAEvD,CAAC,CAAC,wCAAwC,CAAE;AACnDR,IAAAA,KAAK,EAAC,MAAM;IACZqH,MAAM,EAAEoC,SAAS,gBAAG7J,GAAA,CAAC+J,OAAO,EAAA,EAAE,CAAC,gBAAG/J,GAAA,CAAC0H,KAAK,EAAA;AAACvE,MAAAA,IAAI,EAAE,EAAA;KAAK,CAAA;AAAE,GAAA,EAClDoD,UAAU,CAAA,EAAA,EAAA,EAAA;IAAAxG,QAAA,EAAA,cAEdC,GAAA,CAACgK,iBAAe,EAAA;AAAC7G,MAAAA,IAAI,EAAE,EAAA;AAAG,KAAE,CAAC,EAC5BvC,CAAC,CAAC,wCAAwC,CAAC,CAAA;AAAA,GAAA,CAC7B,CAAC,CAAA;AAEtB,CAAC;;ACjBD,IAAQL,MAAI,GAAeoH,UAAe,CAAlCpH,IAAI;EAAEyF,UAAQ,GAAK2B,UAAe,CAA5B3B,QAAQ,CAAA;AAEtB,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AACrB,EAAA,IAAA9E,kBAAA,GAKIC,iBAAiB,EAAE;IAJrBE,IAAI,GAAAH,kBAAA,CAAJG,IAAI;IACJuI,SAAS,GAAA1I,kBAAA,CAAT0I,SAAS;IACTI,OAAO,GAAA9I,kBAAA,CAAP8I,OAAO;IACEC,gBAAgB,GAAA/I,kBAAA,CAAzBgJ,OAAO,CAAA;AAGT,EAAA,IAAML,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzB,IAAI,CAACG,OAAO,EAAE,OAAA;AACdC,IAAAA,gBAAgB,EAAE,CAAA;GACnB,CAAA;EAED,oBACElK,GAAA,CAAC2H,UAAe,EAAA;AACdyC,IAAAA,QAAQ,EAAC,QAAQ;AACjBzK,IAAAA,SAAS,EAAC,qDAAqD;AAC/DiJ,IAAAA,aAAa,EAAE,KAAM;IACrBC,YAAY,eAAE7I,GAAA,CAAC8I,YAAc,EAAA;AAAOe,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,YAAY,EAAZA,YAAAA;AAAY,KAAK,CAAE;AAClEO,IAAAA,QAAQ,EAAE,CAAC/I,IAAI,IAAIuI,SAAU;AAC7Bd,IAAAA,mBAAmB,EAAE,EAAG;AACxBhG,IAAAA,MAAM,EAAE,CAACzB,IAAI,GAAG,KAAK,GAAGgJ,SAAU;AAClCtB,IAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,IAAAA,QAAQ,EAAC,OAAO;AAChBC,IAAAA,OAAO,EAAC,KAAK;AACbC,IAAAA,MAAM,EAAE,KAAM;AACdoB,IAAAA,aAAa,EAAE;AACbvI,MAAAA,UAAU,EAAE,uDAAA;KACZ;IAAAjC,QAAA,eAEFC,GAAA,CAACO,MAAI,EAAA;MAAAR,QAAA,eACHC,GAAA,CAACgG,UAAQ,EAAA;AAAAjG,QAAAA,QAAA,eACPC,GAAA,CAACwK,MAAmB,EAAE,EAAA,CAAA;OACd,CAAA;KACN,CAAA;AAAC,GACQ,CAAC,CAAA;AAEtB,CAAC;;ACxCD,IAAMR,eAAe,GAAG,SAAlBA,eAAeA,CAAApL,IAAA,EAAwB;AAAA,EAAA,IAAlB6L,WAAW,GAAA7L,IAAA,CAAX6L,WAAW,CAAA;AACpC,EAAA,IAAA3C,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AACd,EAAA,IAAMvH,QAAQ,GAAGuH,MAAM,CAAC,QAAQ,CAAC,CAAA;AAEjC,EAAA,OAAOvH,QAAQ,gBACbT,GAAA,CAACwH,YAAU,EAAA;IAAC7C,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ8F,WAAW,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AAAC,GAAE,CAAC,gBAEhDzK,GAAA,CAACiG,QAAQ,IAAE,CACZ,CAAA;AACH,CAAC;;ACXD,IAAMyE,aAAa,GAAG,SAAhBA,aAAaA,CAAA9L,IAAA,EAAwB;AAAA,EAAA,IAAlB+L,WAAW,GAAA/L,IAAA,CAAX+L,WAAW,CAAA;AAClC,EAAA,IAAQ9L,IAAI,GAAY8L,WAAW,CAA3B9L,IAAI;IAAE8E,KAAK,GAAKgH,WAAW,CAArBhH,KAAK,CAAA;AAEnB,EAAA,oBACEpE,IAAA,CAAA,KAAA,EAAA;AACEI,IAAAA,SAAS,EAAC,sIAAsI;AAChJ,IAAA,SAAA,EAAQ,qCAAqC;AAAAI,IAAAA,QAAA,gBAE7CC,GAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,cAAc;MAAAI,QAAA,eAC3BC,GAAA,CAACuJ,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,0CAA0C;AAClDpG,QAAAA,IAAI,EAAC,OAAO;AACZO,QAAAA,IAAI,EAAEiH,WAAAA;OACP,CAAA;KACE,CAAC,eACNpL,IAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,mFAAmF;MAAAI,QAAA,EAAA,cAChGC,GAAA,CAACE,UAAU,EAAA;AACTP,QAAAA,SAAS,EAAC,cAAc;AACxBQ,QAAAA,SAAS,EAAC,IAAI;AACd,QAAA,SAAA,EAAQ,uCAAuC;AAC/CyK,QAAAA,UAAU,EAAC,OAAO;AAClBxK,QAAAA,KAAK,EAAC,IAAI;AACVyK,QAAAA,KAAK,EAAEhM,IAAK;AACZwB,QAAAA,MAAM,EAAC,UAAU;AAAAN,QAAAA,QAAA,EAEhB+K,QAAQ,CAACjM,IAAI,EAAE,EAAE,CAAA;AAAC,OACT,CAAC,EACZ8E,KAAK,iBACJ3D,GAAA,CAACE,UAAU,EAAA;AACTP,QAAAA,SAAS,EAAC,0DAA0D;AACpE,QAAA,SAAA,EAAQ,wCAAwC;AAChDiL,QAAAA,UAAU,EAAC,OAAO;AAClBxK,QAAAA,KAAK,EAAC,OAAO;AAAAL,QAAAA,QAAA,EAEZ4D,KAAAA;AAAK,OACI,CACb,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC;;AC/BD,IAAMoH,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAAS;EAAA,IAAAlD,iBAAA,EAAAmD,kBAAA,CAAA;EAC3C,IAAMtH,IAAI,GAAG,CAAA,CAAAmE,iBAAA,GAAAhI,WAAW,CAAC6D,IAAI,MAAAmE,IAAAA,IAAAA,iBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAkBlE,KAAK,MAAA,CAAAqH,kBAAA,GAAInL,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAAsH,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBC,WAAW,CAAA,CAAA;EAErE,OAAAhM,eAAAA,CAAAA,MAAA,CAAuByE,IAAI,CAAA,CAAA;AAC7B,CAAC,CAAA;AAEM,IAAMwH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC7BC,OAAO,EACPC,oBAAoB,EACpBC,eAAe,EACZ;AACH,EAAA,IAAI,CAACA,eAAe,EAAE,OAAO,EAAE,CAAA;EAE/B,IAAMC,QAAQ,GAAG,CACf;AACEnH,IAAAA,KAAK,EAAEvD,CAAC,CAAC,kCAAkC,CAAC;IAC5C+D,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQyG,oBAAoB,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AACzC,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,aAAa,EAAE,mBAAA;AACjB,GAAC,CACF,CAAA;AAED,EAAA,IAAID,OAAO,EAAE;IACXG,QAAQ,CAACC,IAAI,CAAC;AACZpH,MAAAA,KAAK,EAAEvD,CAAC,CAAC,oCAAoC,CAAC;MAC9C+D,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQlB,MAAM,CAAC+H,IAAI,CAACzH,mBAAmB,EAAE,OAAO,CAAC,CAAA;AAAA,OAAA;AACxD,MAAA,SAAS,EAAE,sCAAA;AACb,KAAC,CAAC,CAAA;AACJ,GAAA;AAEA,EAAA,OAAOuH,QAAQ,CAAA;AACjB,CAAC,CAAA;AAEM,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGJ,eAAe,EAAA;EAAA,OAAI,CACtDA,eAAe,GACX;AACElH,IAAAA,KAAK,EAAEvD,CAAC,CAAC,+BAA+B,CAAC;AACzC+D,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb+G,MAAAA,eAAe,EAAE,CAAA;AACjBC,MAAAA,sBAAsB,CAACZ,8BAA8B,EAAE,CAAC,CAAA;AACxD;AACAtH,MAAAA,MAAM,CAACG,QAAQ,CAACpE,IAAI,GAAG,SAAS,CAAA;KACjC;AACD,IAAA,SAAS,EAAE,uBAAA;AACb,GAAC,GACD;AACE2E,IAAAA,KAAK,EAAEvD,CAAC,CAAC,8BAA8B,CAAC;AACxC+D,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb;AACAlB,MAAAA,MAAM,CAACG,QAAQ,CAACpE,IAAI,GAAG,QAAQ,CAAA;KAChC;AACD,IAAA,SAAS,EAAE,sBAAA;AACb,GAAC,CACN,CAAA;AAAA,CAAA,CAAA;AAEM,IAAMoM,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,oBAAoB,EAAA;AAAA,EAAA,IAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,CAAA;EAAA,OAChDC,aAAa,CAACR,oBAAoB,EAAE;IAClChN,IAAI,EAAA,EAAA,CAAAI,MAAA,CAAA6M,CAAAA,qBAAA,IAAAC,kBAAA,GAAKlM,WAAW,CAAC6D,IAAI,cAAAqI,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBO,SAAS,cAAAR,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,EAAE,OAAA7M,MAAA,CAAA,CAAA+M,qBAAA,GAAAC,CAAAA,kBAAA,GACxCpM,WAAW,CAAC6D,IAAI,MAAAuI,IAAAA,IAAAA,kBAAA,uBAAhBA,kBAAA,CAAkBM,QAAQ,MAAAP,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAChC;AACFvC,IAAAA,QAAQ,EAAE5J,WAAW,CAAC2M,aAAa,GAAA,CAAAN,kBAAA,GAC/BrM,WAAW,CAAC6D,IAAI,cAAAwI,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBO,eAAe,GACjC,8DAA8D;IAClE9I,KAAK,EAAE,CAAAwI,CAAAA,kBAAA,GAAAtM,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAAyI,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBxI,KAAK,MAAAyI,CAAAA,kBAAA,GAAIvM,WAAW,CAAC6D,IAAI,cAAA0I,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBnB,WAAW,CAAA;IAC/DI,eAAe,EAAExL,WAAW,CAAC2M,aAAAA;AAC/B,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;;AAEJ;AACO,IAAME,YAAY,GAAG,SAAfA,YAAYA,GAAS;AAChC,EAAA,IAAI,CAACC,QAAQ,CAACC,IAAI,EAAE,OAAA;EAEpBD,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,MAAM,CAACpH,MAAM,CAACC,KAAK,CAAC,CAAA;EAC5CgH,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,GAAG,CAACrH,MAAM,CAACE,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAEM,IAAMoH,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AACjC,EAAA,IAAI,CAACL,QAAQ,CAACC,IAAI,EAAE,OAAA;EAEpBD,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,MAAM,CAACpH,MAAM,CAACE,IAAI,CAAC,CAAA;EAC3C+G,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,GAAG,CAACrH,MAAM,CAACC,KAAK,CAAC,CAAA;AAC3C,CAAC,CAAA;AAEM,IAAMsH,WAAW,GAAG,SAAdA,WAAWA,GAAS;EAC/B,IAAMC,WAAW,GACfC,mBAAmB,CAAC1H,0BAA0B,CAAC,KAAKC,MAAM,CAACE,IAAI,CAAA;AACjEsH,EAAAA,WAAW,GAAGR,YAAY,EAAE,GAAGM,aAAa,EAAE,CAAA;AAChD,CAAC;;AC9FD,IAAQhH,UAAQ,GAAKC,UAAQ,CAArBD,QAAQ,CAAA;AAEhB,IAAMwB,UAAU,GAAG1E,KAAK,CAAC,UAAAlE,IAAA,EAAA;AAAA,EAAA,IAAGgC,CAAC,GAAAhC,IAAA,CAADgC,CAAC;IAAEwM,iBAAiB,GAAAxO,IAAA,CAAjBwO,iBAAiB,CAAA;AAAA,EAAA,oBAC9CpN,GAAA,CAACgG,UAAQ,CAACU,MAAM,EAAA;AACd/G,IAAAA,SAAS,EAAC,wCAAwC;AAClD,IAAA,SAAA,EAAQ,uBAAuB;AAC/B,IAAA,aAAA,EAAY,uBAAuB;AACnCS,IAAAA,KAAK,EAAC,MAAM;IACZqH,MAAM,eAAEzH,GAAA,CAAC0H,KAAK,EAAA;AAACvE,MAAAA,IAAI,EAAE,EAAA;AAAG,KAAE,CAAE;AAAApD,IAAAA,QAAA,EAE3Ba,CAAC,CAAC,4CAA4C,EAAE;AAC/CyM,MAAAA,aAAa,EAAED,iBAAAA;KAChB,CAAA;AAAC,GACa,CAAC,CAAA;AAAA,CACnB,CAAC;;ACAF,IAAQ7M,IAAI,GAAeoH,UAAe,CAAlCpH,IAAI;EAAEyF,QAAQ,GAAK2B,UAAe,CAA5B3B,QAAQ,CAAA;AAEtB,IAAMsH,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B,EAAA,IAAA5M,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAkH,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;EAEd,IAAAuF,gBAAA,GAAgCC,eAAe,CAC7C/H,0BAA0B,EAC1BC,MAAM,CAACC,KACT,CAAC;IAAA8H,iBAAA,GAAAzM,cAAA,CAAAuM,gBAAA,EAAA,CAAA,CAAA;AAHMG,IAAAA,QAAQ,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAER,IAAAA,WAAW,GAAAQ,iBAAA,CAAA,CAAA,CAAA,CAAA;AAI5B,EAAA,IAAME,mBAAmB,GAAGD,QAAQ,KAAKhI,MAAM,CAACE,IAAI,CAAA;AACpD,EAAA,IAAMwH,iBAAiB,GAAGO,mBAAmB,GACzC/M,CAAC,CAAC,2CAA2C,CAAC,GAC9CA,CAAC,CAAC,4CAA4C,CAAC,CAAA;AAEnD,EAAA,IAAMH,QAAQ,GAAGuH,MAAM,CAAC,QAAQ,CAAC,CAAA;AAEjC,EAAA,IAAM4F,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;IAC3BA,KAAK,KAAKnI,MAAM,CAACC,KAAK,GAAGqH,aAAa,EAAE,GAAGN,YAAY,EAAE,CAAA;IACzDO,WAAW,CAACY,KAAK,CAAC,CAAA;GACnB,CAAA;EAED,oBACE7N,GAAA,CAAC2H,UAAe,EAAA;AACdyC,IAAAA,QAAQ,EAAC,QAAQ;AACjBzK,IAAAA,SAAS,EAAC,mDAAmD;AAC7DiJ,IAAAA,aAAa,EAAE,KAAM;IACrBC,YAAY,eAAE7I,GAAA,CAAC8I,UAAc,EAAA;AAAOsE,MAAAA,iBAAiB,EAAjBA,iBAAAA;AAAiB,KAAK,CAAE;AAC5DrE,IAAAA,mBAAmB,EAAE,EAAG;AACxBC,IAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,IAAAA,QAAQ,EAAExI,QAAQ,GAAG,QAAQ,GAAG,OAAQ;AACxCyI,IAAAA,OAAO,EAAC,KAAK;AACbC,IAAAA,MAAM,EAAE,KAAM;IAAApJ,QAAA,eAEdR,IAAA,CAACgB,IAAI,EAAA;AAAAR,MAAAA,QAAA,EACHC,cAAAA,GAAA,CAACgG,QAAQ,CAACU,MAAM,EAAA;AACde,QAAAA,MAAM,EAAE,CAACkG,mBAAmB,iBAAI3N,GAAA,CAAC8N,KAAK,EAAA;AAAC3K,UAAAA,IAAI,EAAE,EAAA;AAAG,SAAE,CAAE;QACpDxD,SAAS,EAAEqC,UAAU,CAAC;AACpB,UAAA,8CAA8C,EAC5C,CAAC2L,mBAAAA;AACL,SAAC,CAAE;QACHhJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQiJ,WAAW,CAAClI,MAAM,CAACC,KAAK,CAAC,CAAA;SAAC;QAAA5F,QAAA,EAExCa,CAAC,CAAC,4CAA4C,CAAA;AAAC,OACjC,CAAC,eAClBZ,GAAA,CAACgG,QAAQ,CAACU,MAAM,EAAA;AACde,QAAAA,MAAM,EAAEkG,mBAAmB,iBAAI3N,GAAA,CAAC8N,KAAK,EAAA;AAAC3K,UAAAA,IAAI,EAAE,EAAA;AAAG,SAAE,CAAE;QACnDxD,SAAS,EAAEqC,UAAU,CAAC;AACpB,UAAA,8CAA8C,EAAE2L,mBAAAA;AAClD,SAAC,CAAE;QACHhJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQiJ,WAAW,CAAClI,MAAM,CAACE,IAAI,CAAC,CAAA;SAAC;QAAA7F,QAAA,EAEvCa,CAAC,CAAC,2CAA2C,CAAA;AAAC,OAChC,CAAC,CAAA;KACd,CAAA;AAAC,GACQ,CAAC,CAAA;AAEtB,CAAC;;AC/DD,IAAMmN,WAAW,GAAG,SAAdA,WAAWA,CAAAnP,IAAA,EAWX;EAAA,IAAAiJ,iBAAA,EAAAmD,kBAAA,CAAA;AAAA,EAAA,IAVJL,WAAW,GAAA/L,IAAA,CAAX+L,WAAW;IACXqD,mBAAmB,GAAApP,IAAA,CAAnBoP,mBAAmB;IACnBC,SAAS,GAAArP,IAAA,CAATqP,SAAS;IACTC,YAAY,GAAAtP,IAAA,CAAZsP,YAAY;IACZ5C,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;IACR6C,WAAW,GAAAvP,IAAA,CAAXuP,WAAW;IACXC,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IACb3D,WAAW,GAAA7L,IAAA,CAAX6L,WAAW;IACX4D,sBAAsB,GAAAzP,IAAA,CAAtByP,sBAAsB;IACtBC,6BAA6B,GAAA1P,IAAA,CAA7B0P,6BAA6B,CAAA;AAE7B,EAAA,IAAQ/N,IAAI,GAAwB0F,UAAQ,CAApC1F,IAAI;IAAEyF,QAAQ,GAAcC,UAAQ,CAA9BD,QAAQ;IAAEuI,OAAO,GAAKtI,UAAQ,CAApBsI,OAAO,CAAA;AAC/B,EAAA,IAAQlD,eAAe,GAAKV,WAAW,CAA/BU,eAAe,CAAA;EAEvB,oBACE9L,IAAA,CAACgB,IAAI,EAAA;AAACZ,IAAAA,SAAS,EAAC,MAAM;IAAAI,QAAA,EAAA,cACpBC,GAAA,CAACgG,QAAQ,EAAA;AACPrG,MAAAA,SAAS,EAAC,+BAA+B;AACzC,MAAA,SAAA,EAAQ,eAAe;AACvB,MAAA,aAAA,EAAY,eAAe;AAAAI,MAAAA,QAAA,EAE1BsL,eAAe,iBAAIrL,GAAA,CAAC0K,aAAa,EAAA;AAAOC,QAAAA,WAAW,EAAXA,WAAAA;OAAgB,CAAA;AAAC,KAClD,CAAC,EACV/D,SAAS,EAAAiB,iBAAA,GAAChI,WAAW,CAAC6D,IAAI,cAAAmE,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,iBAAA,CAAkB2G,gBAAgB,CAAC,iBAC5CxO,GAAA,CAAC8F,WAAW,EAAA;AACVC,MAAAA,KAAK,EAAE,CACL;QACE5B,KAAK,eACHnE,GAAA,CAACyO,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,oCAAoC;AAC5CC,UAAAA,MAAM,EAAE;AACNH,YAAAA,gBAAgB,EAAEI,QAAQ,CAAA5D,CAAAA,kBAAA,GACxBnL,WAAW,CAAC6D,IAAI,MAAAsH,IAAAA,IAAAA,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBwD,gBACpB,CAAA;AACF,WAAA;AAAE,SACH,CACF;AACDhP,QAAAA,IAAI,EAAEqG,2BAA2B;AACjC,QAAA,aAAa,EAAE,mBAAA;OAChB,CAAA;AACD,KACH,CACF,EACAmI,mBAAmB,iBAAIhO,GAAA,CAACwK,eAAmB,EAAA;AAAOC,MAAAA,WAAW,EAAXA,WAAAA;KAAgB,CAAC,EACnE6D,6BAA6B,iBAAItO,GAAA,CAAC4H,oBAAoB,EAAA,EAAE,CAAC,EACzDyG,sBAAsB,iBAAIrO,GAAA,CAACsN,aAAa,EAAE,EAAA,CAAC,EAC3CuB,UAAU,CAACvD,QAAQ,CAAC,iBACnB/L,IAAA,CAAA4G,QAAA,EAAA;MAAApG,QAAA,EAAA,cACEC,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,QAAAA,KAAK,EAAEuF,QAAAA;AAAS,OAAE,CAAC,CAAA;KAChC,CACH,EACA1E,SAAS,CAACwH,aAAa,CAAC,iBACvB7O,IAAA,CAAA4G,QAAA,EAAA;MAAApG,QAAA,EAAA,cACEC,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAACgG,QAAQ,EAAA;AAACrG,QAAAA,SAAS,EAAC,wEAAwE;AAAAI,QAAAA,QAAA,EACzFqO,aAAAA;AAAa,OACN,CAAC,CAAA;KACX,CACH,eACDpO,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,MAAAA,KAAK,EAAEmI,YAAAA;KAAe,CAAC,eACpClO,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,MAAAA,KAAK,EAAEkI,SAAAA;KAAY,CAAC,eACjCjO,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,MAAAA,KAAK,EAAEoI,WAAAA;AAAY,KAAE,CAAC,CAAA;AAAA,GAC/B,CAAC,CAAA;AAEX,CAAC;;;;AC7DD,IAAMW,aAAa,GAAG,SAAhBA,aAAaA,CAAAlQ,IAAA,EASb;AAAA,EAAA,IARJiN,oBAAoB,GAAAjN,IAAA,CAApBiN,oBAAoB;IACpBmC,mBAAmB,GAAApP,IAAA,CAAnBoP,mBAAmB;IACnBG,WAAW,GAAAvP,IAAA,CAAXuP,WAAW;IACX7C,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;IACR8C,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IACbC,sBAAsB,GAAAzP,IAAA,CAAtByP,sBAAsB;IACtBC,6BAA6B,GAAA1P,IAAA,CAA7B0P,6BAA6B;IAC7BS,mBAAmB,GAAAnQ,IAAA,CAAnBmQ,mBAAmB,CAAA;AAEnB,EAAA,IAAAlO,SAAA,GAAsCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9CmO,IAAAA,WAAW,GAAAjO,UAAA,CAAA,CAAA,CAAA;AAAEkO,IAAAA,cAAc,GAAAlO,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAmO,UAAA,GAAwCpO,QAAQ,CAAC,IAAI,CAAC;IAAAqO,UAAA,GAAAnO,cAAA,CAAAkO,UAAA,EAAA,CAAA,CAAA;AAA/C5I,IAAAA,YAAY,GAAA6I,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAE,qBAAA,GAAsBC,iBAAiB,CAACC,YAAY,EAAE;IAAAC,sBAAA,GAAAxO,cAAA,CAAAqO,qBAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,SAAS,GAAAD,sBAAA,CAAA,CAAA,CAAA,CAAA;AAClB,EAAA,IAAAE,qBAAA,GAAiCC,OAAO,CAACJ,YAAY,EAAE;IAAAK,sBAAA,GAAA5O,cAAA,CAAA0O,qBAAA,EAAA,CAAA,CAAA;AAA9CtE,IAAAA,oBAAoB,GAAAwE,sBAAA,CAAA,CAAA,CAAA,CAAA;AAE7B,EAAA,IAAAzO,kBAAA,GAAmCC,iBAAiB,EAAE;IAA9CE,IAAI,GAAAH,kBAAA,CAAJG,IAAI;IAAE6I,OAAO,GAAAhJ,kBAAA,CAAPgJ,OAAO;IAAEF,OAAO,GAAA9I,kBAAA,CAAP8I,OAAO,CAAA;AAE9B,EAAA,IAAMU,WAAW,GAAGiB,cAAc,CAACC,oBAAoB,CAAC,CAAA;AAExDgE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,EAAE,GAAG;AACTC,MAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAEzO,IAAI,EAAI;AACrB,QAAA,IAAI,CAACA,IAAI,CAAC0O,WAAW,EAAE,OAAA;AACvBZ,QAAAA,eAAe,CAAC9N,IAAI,CAAC0O,WAAW,CAAC,CAAA;OAClC;AACDC,MAAAA,MAAM,EAAE,SAARA,MAAMA,GAAQ;QACZb,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,OAAA;KACD,CAAA;AAED3L,IAAAA,MAAM,CAACqM,EAAE,GAAGrM,MAAM,CAACqM,EAAE,GAAGI,MAAM,CAACC,MAAM,CAAC1M,MAAM,CAACqM,EAAE,EAAEA,EAAE,CAAC,GAAGA,EAAE,CAAA;GAC1D,EAAE,EAAE,CAAC,CAAA;AAEND,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAAC5F,OAAO,EAAE,OAAA;AACdE,IAAAA,OAAO,EAAE,CAAA;AACX,GAAC,EAAE,CAACF,OAAO,CAAC,CAAC,CAAA;AAEb,EAAA,IAAMmG,WAAW,GACfvQ,WAAW,CAACb,OAAO,CAACI,WAAW,EAAE,KAAK,WAAW,GAAAH,EAAAA,CAAAA,MAAA,CAAAoR,kBAAA,CAExCnF,kBAAkB,CACnB5J,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAE6J,OAAO,EACbC,oBAAoB,EACpBT,WAAW,CAACU,eACd,CAAC,CAAA,EAAAgF,kBAAA,CACE/E,QAAQ,KAEbA,QAAQ,CAAA;AAEd,EAAA,IAAMgF,cAAc,GAAArR,EAAAA,CAAAA,MAAA,CAAAoR,kBAAA,CACf5E,qBAAqB,CAACd,WAAW,CAACU,eAAe,CAAC,CAAA,EAAAgF,kBAAA,CAClDlC,WAAW,CACf,CAAA,CAAA;AAED,EAAA,IAAMF,SAAS,GAAGiC,MAAM,CAACK,IAAI,CAACtM,uBAAuB,CAAC,CACnDvB,GAAG,CAAC,UAAA8N,GAAG,EAAA;AAAA,IAAA,OAAA5N,eAAA,CAAA,EAAA,EAAUqB,uBAAuB,CAACuM,GAAG,CAAC,CAAA,CAAA;AAAA,GAAG,CAAC,CACjD7O,MAAM,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAG6O,IAAI,GAAA7O,KAAA,CAAJ6O,IAAI,CAAA;AAAA,IAAA,OAAO,CAACA,IAAI,CAAA;GAAC,CAAA,CAAA;AAE9B,EAAA,IAAMvC,YAAY,GAAGgC,MAAM,CAACK,IAAI,CAACrL,uBAAuB,CAAC,CACtDvD,MAAM,CAAC,UAAA6O,GAAG,EAAA;AAAA,IAAA,IAAAE,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;IAAA,OAAAF,CAAAA,qBAAA,GAAAC,CAAAA,sBAAA,GAAI,CAAAC,sBAAA,GAAA1L,uBAAuB,CAACsL,GAAG,CAAC,EAACnL,SAAS,MAAAsL,IAAAA,IAAAA,sBAAA,KAAtCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAAE,IAAA,CAAAD,sBAAyC,CAAC,MAAA,IAAA,IAAAF,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,IAAI,CAAA;AAAA,GAAA,CAAC,CACjEhO,GAAG,CAAC,UAAA8N,GAAG,EAAA;AAAA,IAAA,OAAA5N,eAAA,CAAAA,eAAA,CAAAA,eAAA,CACHsC,EAAAA,EAAAA,uBAAuB,CAACsL,GAAG,CAAC,CAAA,EAC3BA,GAAG,KAAK,uBAAuB,IAAI;MACrC7L,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ8K,SAAS,CAAC,UAAAqB,IAAI,EAAA;AAAA,UAAA,OAAI,CAACA,IAAI,CAAA;SAAC,CAAA,CAAA;AAAA,OAAA;AACzC,KAAC,GACGN,GAAG,KAAK,aAAa,IAAIlK,YAAY,IAAI;AAAEA,MAAAA,YAAY,EAAZA,YAAAA;KAAc,CAAA,CAAA;AAAA,GAC7D,CAAC,CACF3E,MAAM,CAAC,UAAAoP,KAAA,EAAA;AAAA,IAAA,IAAGN,IAAI,GAAAM,KAAA,CAAJN,IAAI,CAAA;AAAA,IAAA,OAAO,CAACA,IAAI,CAAA;GAAC,CAAA,CAAA;EAE9B,oBACElR,IAAA,CAAA4G,QAAA,EAAA;AAAApG,IAAAA,QAAA,EACEC,cAAAA,GAAA,CAAC2P,OAAO,CAACqB,IAAI,EAAA;AAACC,MAAAA,YAAY,EAAElC,mBAAAA;AAAoB,KAAE,CAAC,eACnD/O,GAAA,CAACiG,UAAQ,EAAA;MACPmE,QAAQ,EAAE,SAAVA,QAAQA,GAAA;QAAA,OAAQuC,QAAQ,CAACC,IAAI,CAAA;OAAC;AAC9BsE,MAAAA,WAAW,EAAC,MAAM;AAClBtI,MAAAA,aAAa,EAAE,KAAM;AACrBxE,MAAAA,IAAI,EAAE+M,IAAK;AACXpI,MAAAA,mBAAmB,EAAE,EAAG;AACxBC,MAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAE;AACjBC,MAAAA,QAAQ,EAAC,WAAW;AACpBmI,MAAAA,QAAQ,EAAC,OAAO;AAChBvD,MAAAA,KAAK,EAAC,OAAO;AACb3E,MAAAA,OAAO,EAAC,KAAK;AACbC,MAAAA,MAAM,EAAE,KAAM;AACdN,MAAAA,YAAY,eACVtJ,IAAA,CAAA,QAAA,EAAA;AACEI,QAAAA,SAAS,EAAC,wCAAwC;AAClD2C,QAAAA,IAAI,EAAC,QAAQ;QAAAvC,QAAA,EAAA,cAEbC,GAAA,CAACuJ,MAAM,EAAA;AACL5J,UAAAA,SAAS,EAAC,+EAA+E;AACzF,UAAA,SAAA,EAAQ,gBAAgB;AACxB,UAAA,aAAA,EAAY,gBAAgB;AAC5BwD,UAAAA,IAAI,EAAC,QAAQ;AACbO,UAAAA,IAAI,EAAEiH,WAAAA;SACP,CAAC,eACF3K,GAAA,CAAA,MAAA,EAAA;AAAML,UAAAA,SAAS,EAAC,mDAAmD;UAAAI,QAAA,eACjEC,GAAA,CAAC0E,IAAI,EAAA;AAACvB,YAAAA,IAAI,EAAE,EAAA;WAAK,CAAA;AAAC,SACd,CAAC,CAAA;AAAA,OACD,CACT;AACDoH,MAAAA,aAAa,EAAE;AACbvI,QAAAA,UAAU,EAAE,kDAAA;OACZ;MAAAjC,QAAA,eAEFC,GAAA,CAAC+N,WAAW,EAAA;AAERK,QAAAA,aAAa,EAAbA,aAAa;AACbF,QAAAA,YAAY,EAAZA,YAAY;AACZD,QAAAA,SAAS,EAATA,SAAS;AACTK,QAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BD,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtB1D,QAAAA,WAAW,EAAXA,WAAW;AACXqD,QAAAA,mBAAmB,EAAnBA,mBAAmB;AAErBG,QAAAA,WAAW,EAAEmC,cAAe;AAC5B7F,QAAAA,WAAW,EAAEwE,cAAe;AAC5B3D,QAAAA,QAAQ,EAAE8E,WAAAA;OACX,CAAA;AAAC,KACM,CAAC,EACVxJ,SAAS,CAACN,YAAY,CAAC,iBACtBtG,GAAA,CAAA,MAAA,EAAA;AACEL,MAAAA,SAAS,EAAC,mCAAmC;AAC7C,MAAA,SAAA,EAAQ,yBAAyB;AACjC,MAAA,aAAA,EAAY,yBAAyB;AAAAI,MAAAA,QAAA,EAEpCuG,YAAAA;AAAY,KACT,CACP,eACDtG,GAAA,CAACqR,KAAoB,EAAA;AACnBtO,MAAAA,MAAM,EAAEiM,WAAY;MACpBhM,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQiM,cAAc,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;AAAC,KACtC,CAAC,CAAA;AAAA,GACF,CAAC,CAAA;AAEP,CAAC;;;;;;;;ACpJKqC,IAAAA,kBAAkB,gBAAGC,UAAU,CACnC,UAAA3S,IAAA,EAYE4S,GAAG,EACA;AAAA,EAAA,IAAA3J,iBAAA,CAAA;AAAA,EAAA,IAAA4J,qBAAA,GAAA7S,IAAA,CAXDiN,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAA4F,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,aAAA,GAAA9S,IAAA,CACzB0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAoG,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAC,gBAAA,GAAA/S,IAAA,CACbuP,WAAW;AAAXA,IAAAA,WAAW,GAAAwD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAC,qBAAA,GAAAhT,IAAA,CAChBoP,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA4D,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAC,qBAAA,GAAAjT,IAAA,CAC1ByP,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAwD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAlT,IAAA,CAC9B0P,6BAA6B;AAA7BA,IAAAA,6BAA6B,GAAAwD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACrC1D,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IAAA2D,qBAAA,GAAAnT,IAAA,CACbmQ,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAgD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;AACrBxL,IAAAA,UAAU,GAAAC,wBAAA,CAAA5H,IAAA,EAAA6H,SAAA,CAAA,CAAA;AAIfoJ,EAAAA,SAAS,CAAC,YAAM;IACdxB,sBAAsB,IAAIpB,WAAW,EAAE,CAAA;GACxC,EAAE,EAAE,CAAC,CAAA;EAEN,IAAM+E,gBAAgB,GACpBnS,aAAW,KAAA,IAAA,IAAXA,aAAW,KAAAgI,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAAXhI,aAAW,CAAE6D,IAAI,MAAAmE,IAAAA,IAAAA,iBAAA,uBAAjBA,iBAAA,CAAmBlE,KAAK,CAACG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAErD,EAAA,oBACE9D,GAAA,CAAA,KAAA,EAAA4C,aAAA,CAAAA,aAAA,CAAA;AACQ4O,IAAAA,GAAG,EAAHA,GAAG;AACT7R,IAAAA,SAAS,EAAC,iDAAiD;AAC3D,IAAA,SAAA,EAAQ,gCAAgC;IACxC,aAAY,EAAA,gCAAA;AAAgC,GAAA,EACxC4G,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAxG,IAAAA,QAAA,eAEdC,GAAA,CAAC8O,aAAa,EAAAtM,eAAA,CAAA;AAEV2L,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,aAAa,EAAbA,aAAa;AACbE,MAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BD,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBxC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBkD,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBf,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB1C,MAAAA,QAAQ,EAARA,QAAAA;KAGA0G,EAAAA,+BAAAA,EAAAA,gBAAgB,IAAI1D,6BAA6B,CAEpD,CAAA;AAAC,GAAA,CACC,CAAC,CAAA;AAEV,CACF,EAAC;AAEDgD,kBAAkB,CAACW,WAAW,GAAG,oBAAoB;;;;"}
|
|
1
|
+
{"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Menu.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Modal.jsx","../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/components/LinkSection.jsx","../src/components/FloatingActionMenu/components/OrganizationSwitcher/apis/logged_in_organizations.js","../src/components/FloatingActionMenu/components/OrganizationSwitcher/constants.js","../src/components/FloatingActionMenu/components/OrganizationSwitcher/hooks/reactQuery/useFetchLoggedInOrganizations.js","../src/components/FloatingActionMenu/components/OrganizationSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/OrganizationSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Dropdown.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileHeader.jsx","../src/components/FloatingActionMenu/utils.js","../src/components/FloatingActionMenu/components/ThemeSwitcher/MenuButton.jsx","../src/components/FloatingActionMenu/components/ThemeSwitcher/index.jsx","../src/components/FloatingActionMenu/components/ProfileMenu.jsx","../src/components/FloatingActionMenu/components/ProfileButton.jsx","../src/components/FloatingActionMenu/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as AppIcons from \"neetoicons/typeface-logos\";\nimport { Typography } from \"neetoui\";\n\nimport \"./product-switcher.scss\";\n\nconst ProductLink = ({ name, description, url }) => {\n const appName = `Neeto${name.charAt(0)}${name.slice(1).toLowerCase()}`;\n const AppIcon = AppIcons[appName];\n\n return (\n <a\n data-cy={`${name}-app-link`}\n data-test-id={`neetoapp-link-${name}`}\n href={url}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"neeto-molecules-product-switcher-link\", {\n \"neeto-molecules-product-switcher-link--active\":\n globalProps.appName.includes(name),\n })}\n >\n <div className=\"neeto-molecules-product-switcher-link__icon-holder\">\n {AppIcon ? (\n <AppIcon />\n ) : (\n <Neeto className=\"neeto-molecules-product-switcher-link__icon-default\" />\n )}\n </div>\n <div className=\"neeto-molecules-product-switcher-link__divider neeto-ui-bg-gray-200\" />\n <div className=\"neeto-molecules-product-switcher-link__content\">\n <Typography component=\"span\" style=\"body3\" weight=\"medium\">\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default memo(ProductLink);\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./product-switcher.scss\";\nimport ProductLink from \"./ProductLink\";\n\nconst Menu = ({ isMobile = false }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { data } = useFetchNeetoApps({ enabled: false });\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n const handleSearch = e => setSearchTerm(e.target.value);\n\n return (\n <div\n className=\"neeto-molecules-product-switcher__wrapper\"\n data-cy=\"switcher-wrapper\"\n data-testid=\"switcher-wrapper\"\n key=\"switcher-wrapper\"\n >\n <div\n data-cy=\"product-switcher-body-wrapper\"\n className={classNames(\"neeto-molecules-product-switcher__header\", {\n \"neeto-molecules-product-switcher__header-mobile\": isMobile,\n })}\n >\n {!isMobile && (\n <Typography style=\"h1\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n )}\n <div className=\"neeto-molecules-product-switcher__search-wrapper\">\n <Input\n autoFocus\n data-cy=\"product-switcher-search-input\"\n placeholder={t(\"neetoMolecules.productSwitcher.searchProducts\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n </div>\n <div\n className={classNames(\"neeto-molecules-product-switcher__body\", {\n [\"neeto-molecules-product-switcher__body-mobile\"]: isMobile,\n })}\n >\n {filteredApps?.length > 0 ? (\n <div className=\"neeto-molecules-product-switcher__grid\">\n {filteredApps.map(app => (\n <ProductLink key={app.name} {...app} />\n ))}\n </div>\n ) : (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-apps-found-title\"\n style=\"body1\"\n >\n {t(\"neetoMolecules.productSwitcher.noApps\")}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Modal as NeetoUIModal, Typography } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = withT(({ t, isOpen, onClose }) => (\n <NeetoUIModal\n {...{ isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"fullScreen\"\n >\n <NeetoUIModal.Header>\n <Typography className=\"pr-4\" style=\"h2\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n </NeetoUIModal.Header>\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu isMobile />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n));\n\nexport default Modal;\n","import { t } from \"i18next\";\nimport { Book, Help, Community } from \"neetoicons\";\nimport { toLower } from \"ramda\";\n\nconst shouldShowWhatsNew = () => {\n const currentUserEmail = window.globalProps?.user?.email;\n\n return (\n window.location.hostname === \"localhost\" ||\n currentUserEmail === \"oliver@example.com\" ||\n currentUserEmail?.endsWith(\"@bigbinary.com\")\n );\n};\n\nexport const MY_ORGANIZATION_URL = \"/auth/organization/edit\";\nexport const ENGAGE_WIDGET_TRIGGER_ID = \"neetoengage-trigger\";\n\nexport const DEFAULT_HELP_LINK_PROPS = {\n communityProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.community\", {\n app: globalProps.appName,\n }),\n icon: Community,\n \"data-cy\": \"help-link-community-button\",\n \"data-btn-weight\": \"bold\",\n href: \"https://www.launchpass.com/neetohq\",\n target: \"_blank\",\n },\n helpCenterProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.helpCenter\"),\n icon: Book,\n \"data-cy\": \"help-link-help-center-button\",\n \"data-btn-weight\": \"bold\",\n href: `https://help.${toLower(globalProps.appName)}.com/`,\n target: \"_blank\",\n },\n liveChatProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.liveChat\"),\n icon: Help,\n \"data-cy\": \"help-link-live-chat-button\",\n \"data-btn-weight\": \"bold\",\n onClick: () => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n },\n },\n};\n\nexport const DEFAULT_MENU_LINK_PROPS = {\n engageProps: {\n id: ENGAGE_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-cy\": \"help-link-engage-button\",\n isVisible: shouldShowWhatsNew,\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-cy\": \"help-link-keyboard-shortcut-button\",\n },\n statusProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.productStatus\", {\n app: globalProps.appName,\n }),\n \"data-cy\": \"help-link-status-button\",\n href: \"https://neetostatus.com/\",\n target: \"_blank\",\n },\n};\n\nexport const NON_BUTTON_PROPS = [\"isVisible\"];\n\n// Theme switcher\nexport const APP_THEME_LOCALSTORAGE_KEY = \"appTheme\";\n\nexport const THEMES = {\n LIGHT: \"neeto-ui-theme--light\",\n DARK: \"neeto-ui-theme--dark\",\n};\n\nexport const NEETO_AUTH_BILLING_INFO_URL =\n \"/neeto_sso/api/v1/subscription/billing\";\n","import { isNotPresent, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport { NON_BUTTON_PROPS } from \"../constants\";\n\nconst LinkSection = ({ links }) => {\n const { MenuItem } = Dropdown;\n if (isNotPresent(links)) return null;\n\n return (\n <>\n {links.map(({ label, icon: Icon, changesCount, ...otherProps }, idx) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"floating-action-menu-link-section\"\n key={idx}\n prefix={Icon && <Icon size={18} />}\n style=\"text\"\n {...omit(NON_BUTTON_PROPS, otherProps)}\n >\n {label}\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu-list__item-btn-count\"\n data-cy=\"help-section-menu-changes-count\"\n data-testid=\"help-section-menu-changes-count\"\n >\n {changesCount}\n </span>\n )}\n </MenuItem.Button>\n ))}\n </>\n );\n};\n\nexport default LinkSection;\n","import axios from \"axios\";\n\nconst fetch = email =>\n axios.get(\"/logged_in_organizations\", { params: { email } });\n\nconst loggedInOrganizationsApi = { fetch };\n\nexport default loggedInOrganizationsApi;\n","export const QUERY_KEYS = {\n LOGGED_IN_ORGANIZATIONS_LIST: \"logged-in-organizations-list\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport loggedInOrganizationsApi from \"../../apis/logged_in_organizations.js\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { LOGGED_IN_ORGANIZATIONS_LIST } = QUERY_KEYS;\n\nconst useFetchLoggedInOrganizations = email =>\n useQuery({\n queryKey: [LOGGED_IN_ORGANIZATIONS_LIST],\n queryFn: () => loggedInOrganizationsApi.fetch(email),\n });\n\nexport { useFetchLoggedInOrganizations };\n","import { withT } from \"neetocommons/react-utils\";\nimport { Right } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst MenuButton = withT(({ t }) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"organization-switcher-button\"\n data-testid=\"organization-switcher-button\"\n style=\"text\"\n suffix={<Right size={18} />}\n >\n {t(\"neetoMolecules.sidebar.organizationSwitcher.label\")}\n </MenuItem.Button>\n));\n\nexport default MenuButton;\n","import classNames from \"classnames\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { ExternalLink } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown, Avatar } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchLoggedInOrganizations } from \"./hooks/reactQuery/useFetchLoggedInOrganizations.js\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst OrganizationSwitcher = () => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n const { data: { organizations, authAppUrl } = {} } =\n useFetchLoggedInOrganizations(globalProps?.user?.email);\n\n const isMobile = isSize(\"mobile\");\n\n const isCurrentSubdomain = link => {\n const currentSubdomain = window.location.hostname.split(\".\")[0];\n const linkSubdomain = new URL(link).hostname.split(\".\")[0];\n\n return currentSubdomain === linkSubdomain;\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-theme-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton />}\n interactiveDebounce={30}\n offset={[0, 5]}\n position={isMobile ? \"bottom\" : \"right\"}\n trigger=\"all\"\n zIndex={99999}\n >\n <Menu>\n {organizations?.map(organization => (\n <MenuItem.Button\n href={organization.organizationUrl}\n key={organization.userId}\n rel=\"noreferrer\"\n style=\"text\"\n suffix={<ExternalLink size={18} />}\n target=\"_blank\"\n className={classNames({\n \"neeto-molecules-organization-switcher-active-button\":\n isCurrentSubdomain(organization.organizationUrl),\n })}\n >\n <Avatar\n user={{\n name: organization.userName,\n imageUrl: organization.userImageUrl,\n }}\n />\n {organization.orgName}\n </MenuItem.Button>\n ))}\n <MenuItem.Button href={authAppUrl} rel=\"noreferrer\" target=\"_blank\">\n {t(\"neetoMolecules.sidebar.organizationSwitcher.addAccount\")}\n </MenuItem.Button>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default OrganizationSwitcher;\n","import { Right, ProductSwitcher } from \"neetoicons\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ isLoading, onMouseEnter, ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\n {...{ onMouseEnter }}\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"product-switcher-button\"\n data-testid=\"product-switcher-button\"\n label={t(\"neetoMolecules.sidebar.productSwitcher\")}\n style=\"text\"\n suffix={isLoading ? <Spinner /> : <Right size={18} />}\n {...otherProps}\n >\n <ProductSwitcher size={20} />\n {t(\"neetoMolecules.sidebar.productSwitcher\")}\n </MenuItem.Button>\n );\n};\n\nexport default MenuButton;\n","import useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst Dropdown = () => {\n const {\n data,\n isLoading,\n isStale,\n refetch: refetchNeetoApps,\n } = useFetchNeetoApps();\n\n const onMouseEnter = () => {\n if (!isStale) return;\n refetchNeetoApps();\n };\n\n return (\n <NeetoUIDropdown\n appendTo=\"parent\"\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ isLoading, onMouseEnter }} />}\n disabled={!data || isLoading}\n interactiveDebounce={30}\n isOpen={!data ? false : undefined}\n offset={[0, 5]}\n position=\"right\"\n trigger=\"all\"\n zIndex={99999}\n dropdownProps={{\n classNames: \"neeto-molecules-product-switcher-menu-popup__dropdown\",\n }}\n >\n <Menu>\n <MenuItem>\n <ProductSwitcherMenu />\n </MenuItem>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default Dropdown;\n","import useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\n\nimport Dropdown from \"./Dropdown\";\nimport MenuButton from \"./MenuButton\";\n\nconst ProductSwitcher = ({ toggleModal }) => {\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n return isMobile ? (\n <MenuButton onClick={() => toggleModal(true)} />\n ) : (\n <Dropdown />\n );\n};\n\nexport default ProductSwitcher;\n","import { truncate } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nconst ProfileHeader = ({ profileInfo }) => {\n const { name, email } = profileInfo;\n\n return (\n <div\n className=\"neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-50 neeto-molecules-profile-popup__top-section\"\n data-cy=\"floating-action-menu-profile-header\"\n >\n <div className=\"left-0 top-0\">\n <Avatar\n data-cy=\"floating-action-menu-header-profile-icon\"\n size=\"large\"\n user={profileInfo}\n />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3\">\n <Typography\n className=\"neeto-ui-m-0\"\n component=\"h2\"\n data-cy=\"floating-action-menu-header-user-name\"\n lineHeight=\"tight\"\n style=\"h5\"\n title={name}\n weight=\"semibold\"\n >\n {truncate(name, 18)}\n </Typography>\n {email && (\n <Typography\n className=\"neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700\"\n data-cy=\"floating-action-menu-header-user-email\"\n lineHeight=\"tight\"\n style=\"body3\"\n >\n {email}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProfileHeader;\n","import { t } from \"i18next\";\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { resetAuthTokens } from \"neetocommons/utils/axios\";\nimport { removeFromLocalStorage } from \"neetocommons/utils/general\";\nimport { mergeDeepLeft } from \"ramda\";\n\nimport {\n MY_ORGANIZATION_URL,\n THEMES,\n APP_THEME_LOCALSTORAGE_KEY,\n} from \"./constants\";\n\nconst getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const getDefaultTopLinks = (\n isOwner,\n setIsProfilePaneOpen,\n isAuthenticated\n) => {\n if (!isAuthenticated) return [];\n\n const topLinks = [\n {\n label: t(\"neetoMolecules.sidebar.myProfile\"),\n onClick: () => setIsProfilePaneOpen(true),\n \"data-cy\": \"my-profile-button\",\n \"data-testid\": \"my-profile-button\",\n },\n ];\n\n if (isOwner) {\n topLinks.push({\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n });\n }\n\n return topLinks;\n};\n\nexport const getDefaultBottomLinks = isAuthenticated => [\n isAuthenticated\n ? {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/logout\";\n },\n \"data-cy\": \"profile-logout-button\",\n }\n : {\n label: t(\"neetoMolecules.sidebar.login\"),\n onClick: () => {\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/login\";\n },\n \"data-cy\": \"profile-login-button\",\n },\n];\n\nexport const getProfileInfo = profileInfoOverrides =>\n mergeDeepLeft(profileInfoOverrides, {\n name: `${globalProps.user?.firstName ?? \"\"} ${\n globalProps.user?.lastName ?? \"\"\n }`,\n imageUrl: globalProps.authenticated\n ? globalProps.user?.profileImageUrl\n : \"https://d2v7kzglnr2dnh.cloudfront.net/others/profile-pic.jpg\",\n email: globalProps.user?.email || globalProps.user?.phoneNumber,\n isAuthenticated: globalProps.authenticated,\n });\n\n// Theme switcher utils.\nexport const setDarkTheme = () => {\n if (!document.body) return;\n\n document.body.classList.remove(THEMES.LIGHT);\n document.body.classList.add(THEMES.DARK);\n};\n\nexport const setLightTheme = () => {\n if (!document.body) return;\n\n document.body.classList.remove(THEMES.DARK);\n document.body.classList.add(THEMES.LIGHT);\n};\n\nexport const setAppTheme = () => {\n const isDarkTheme =\n getFromLocalStorage(APP_THEME_LOCALSTORAGE_KEY) === THEMES.DARK;\n isDarkTheme ? setDarkTheme() : setLightTheme();\n};\n","import { withT } from \"neetocommons/react-utils\";\nimport { Right } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\n\nconst { MenuItem } = Dropdown;\n\nconst MenuButton = withT(({ t, selectedThemeName }) => (\n <MenuItem.Button\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"theme-switcher-button\"\n data-testid=\"theme-switcher-button\"\n style=\"text\"\n suffix={<Right size={18} />}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.label\", {\n selectedTheme: selectedThemeName,\n })}\n </MenuItem.Button>\n));\n\nexport default MenuButton;\n","import classNames from \"classnames\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { Check } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES,\n} from \"components/FloatingActionMenu/constants\";\nimport {\n setDarkTheme,\n setLightTheme,\n} from \"components/FloatingActionMenu/utils\";\n\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst ThemeSwitcher = () => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n const [appTheme, setAppTheme] = useLocalStorage(\n APP_THEME_LOCALSTORAGE_KEY,\n THEMES.LIGHT\n );\n const isDarkThemeSelected = appTheme === THEMES.DARK;\n const selectedThemeName = isDarkThemeSelected\n ? t(\"neetoMolecules.sidebar.themeSwitcher.dark\")\n : t(\"neetoMolecules.sidebar.themeSwitcher.light\");\n\n const isMobile = isSize(\"mobile\");\n\n const switchTheme = theme => {\n theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();\n setAppTheme(theme);\n };\n\n return (\n <NeetoUIDropdown\n appendTo=\"parent\"\n className=\"neeto-molecules-theme-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ selectedThemeName }} />}\n interactiveDebounce={30}\n offset={[0, 5]}\n position={isMobile ? \"bottom\" : \"right\"}\n trigger=\"all\"\n zIndex={99999}\n >\n <Menu>\n <MenuItem.Button\n suffix={!isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\":\n !isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.LIGHT)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.light\")}\n </MenuItem.Button>\n <MenuItem.Button\n suffix={isDarkThemeSelected && <Check size={18} />}\n className={classNames({\n \"neeto-molecules-theme-switcher-active-button\": isDarkThemeSelected,\n })}\n onClick={() => switchTheme(THEMES.DARK)}\n >\n {t(\"neetoMolecules.sidebar.themeSwitcher.dark\")}\n </MenuItem.Button>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default ThemeSwitcher;\n","import { isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport LinkSection from \"./LinkSection\";\nimport OrganizationSwitcher from \"./OrganizationSwitcher\";\nimport ProductSwitcherMenu from \"./ProductSwitcher\";\nimport ProfileHeader from \"./ProfileHeader\";\nimport ThemeSwitcher from \"./ThemeSwitcher\";\n\nimport { NEETO_AUTH_BILLING_INFO_URL } from \"../constants\";\n\nconst ProfileMenu = ({\n profileInfo,\n showProductSwitcher,\n helpLinks,\n defaultLinks,\n topLinks,\n bottomLinks,\n customContent,\n toggleModal,\n isThemeSwitcherEnabled,\n isOrganizationSwitcherEnabled,\n}) => {\n const { Menu, MenuItem, Divider } = Dropdown;\n const { isAuthenticated } = profileInfo;\n\n return (\n <Menu className=\"pb-1\">\n <MenuItem\n className=\"neeto-molecules-profile-popup\"\n data-cy=\"profile-popup\"\n data-testid=\"profile-popup\"\n >\n {isAuthenticated && <ProfileHeader {...{ profileInfo }} />}\n </MenuItem>\n {isPresent(globalProps.user?.subscriptionPlan) && (\n <LinkSection\n links={[\n {\n label: (\n <Trans\n i18nKey=\"neetoMolecules.sidebar.currentPlan\"\n values={{\n subscriptionPlan: humanize(\n globalProps.user?.subscriptionPlan\n ),\n }}\n />\n ),\n href: NEETO_AUTH_BILLING_INFO_URL,\n \"data-testid\": \"subscription-plan\",\n },\n ]}\n />\n )}\n {showProductSwitcher && <ProductSwitcherMenu {...{ toggleModal }} />}\n {isOrganizationSwitcherEnabled && <OrganizationSwitcher />}\n {isThemeSwitcherEnabled && <ThemeSwitcher />}\n {isNotEmpty(topLinks) && (\n <>\n <Divider />\n <LinkSection links={topLinks} />\n </>\n )}\n {isPresent(customContent) && (\n <>\n <Divider />\n <MenuItem className=\"neeto-molecules-floating-action-button__profile-wrapper-custom-content\">\n {customContent}\n </MenuItem>\n </>\n )}\n <Divider />\n <LinkSection links={defaultLinks} />\n <Divider />\n <LinkSection links={helpLinks} />\n <Divider />\n <LinkSection links={bottomLinks} />\n </Menu>\n );\n};\n\nexport default ProfileMenu;\n","import { useEffect, useState } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Help } from \"neetoicons\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\n\nimport KeyboardShortcuts from \"components/KeyboardShortcuts\";\n\nimport ProductSwitcherModal from \"./ProductSwitcher/Modal\";\nimport ProfileMenu from \"./ProfileMenu\";\n\nimport { DEFAULT_HELP_LINK_PROPS, DEFAULT_MENU_LINK_PROPS } from \"../constants\";\nimport {\n getDefaultBottomLinks,\n getDefaultTopLinks,\n getProfileInfo,\n} from \"../utils\";\n\nconst ProfileButton = ({\n profileInfoOverrides,\n showProductSwitcher,\n bottomLinks,\n topLinks,\n customContent,\n isThemeSwitcherEnabled,\n isOrganizationSwitcherEnabled,\n profilePopoverProps,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [changesCount, setChangesCount] = useState(null);\n\n const [, setIsOpen] = KeyboardShortcuts.usePaneState();\n const [, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const { data, refetch, isStale } = useFetchNeetoApps();\n\n const profileInfo = getProfileInfo(profileInfoOverrides);\n\n useEffect(() => {\n const Nv = {\n onReceiveData: data => {\n if (!data.unreadCount) return;\n setChangesCount(data.unreadCount);\n },\n onShow: () => {\n setChangesCount(null);\n },\n };\n\n window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;\n }, []);\n\n useEffect(() => {\n if (!isStale) return;\n refetch();\n }, [isStale]);\n\n const newTopLinks =\n globalProps.appName.toLowerCase() !== \"neetoauth\"\n ? [\n ...getDefaultTopLinks(\n data?.isOwner,\n setIsProfilePaneOpen,\n profileInfo.isAuthenticated\n ),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [\n ...getDefaultBottomLinks(profileInfo.isAuthenticated),\n ...bottomLinks,\n ];\n\n const helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS)\n .map(key => ({ ...DEFAULT_HELP_LINK_PROPS[key] }))\n .filter(({ hide }) => !hide);\n\n const defaultLinks = Object.keys(DEFAULT_MENU_LINK_PROPS)\n .filter(key => DEFAULT_MENU_LINK_PROPS[key].isVisible?.() ?? true)\n .map(key => ({\n ...DEFAULT_MENU_LINK_PROPS[key],\n ...(key === \"keyboardShortcutProps\" && {\n onClick: () => setIsOpen(prev => !prev),\n }),\n ...(key === \"engageProps\" && changesCount && { changesCount }),\n }))\n .filter(({ hide }) => !hide);\n\n return (\n <>\n <Profile.Pane popoverProps={profilePopoverProps} />\n <Dropdown\n appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\n icon={noop}\n interactiveDebounce={30}\n offset={[15, 10]}\n position=\"right-end\"\n strategy=\"fixed\"\n theme=\"light\"\n trigger=\"all\"\n zIndex={99999}\n customTarget={\n <button\n className=\"neeto-molecules-floating-action-button\"\n type=\"button\"\n >\n <Avatar\n className=\"neeto-ui-flex-shrink-0 neeto-molecules-floating-action-button__profile-avatar\"\n data-cy=\"profile-avatar\"\n data-testid=\"profile-avatar\"\n size=\"medium\"\n user={profileInfo}\n />\n <span className=\"neeto-molecules-floating-action-button__help-icon\">\n <Help size={20} />\n </span>\n </button>\n }\n dropdownProps={{\n classNames: \"neeto-molecules-floating-action-button__dropdown\",\n }}\n >\n <ProfileMenu\n {...{\n customContent,\n defaultLinks,\n helpLinks,\n isOrganizationSwitcherEnabled,\n isThemeSwitcherEnabled,\n profileInfo,\n showProductSwitcher,\n }}\n bottomLinks={newBottomLinks}\n toggleModal={setIsModalOpen}\n topLinks={newTopLinks}\n />\n </Dropdown>\n {isPresent(changesCount) && (\n <span\n className=\"neeto-molecules-menu__notif-count\"\n data-cy=\"help-icon-changes-count\"\n data-testid=\"help-icon-changes-count\"\n >\n {changesCount}\n </span>\n )}\n <ProductSwitcherModal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n />\n </>\n );\n};\n\nexport default ProfileButton;\n","import { forwardRef, useEffect } from \"react\";\n\nimport { globalProps } from \"neetocommons/initializers\";\nimport PropTypes from \"prop-types\";\n\nimport ProfileButton from \"./components/ProfileButton\";\nimport \"./floating-action-menu.scss\";\nimport { setAppTheme } from \"./utils\";\n\nconst FloatingActionMenu = forwardRef(\n (\n {\n profileInfoOverrides = {},\n topLinks = [],\n bottomLinks = [],\n showProductSwitcher = true,\n isThemeSwitcherEnabled = false,\n isOrganizationSwitcherEnabled = false,\n customContent,\n profilePopoverProps = {},\n ...otherProps\n },\n ref\n ) => {\n useEffect(() => {\n isThemeSwitcherEnabled && setAppTheme();\n }, []);\n\n const isBigBinaryEmail =\n globalProps?.user?.email.endsWith(\"@bigbinary.com\");\n\n return (\n <div\n {...{ ref }}\n className=\"neeto-molecules-floating-action-menu__container\"\n data-cy=\"floating-action-menu-container\"\n data-testid=\"floating-action-menu-container\"\n {...otherProps}\n >\n <ProfileButton\n {...{\n bottomLinks,\n customContent,\n isOrganizationSwitcherEnabled,\n isThemeSwitcherEnabled,\n profileInfoOverrides,\n profilePopoverProps,\n showProductSwitcher,\n topLinks,\n }}\n isOrganizationSwitcherEnabled={\n isBigBinaryEmail || isOrganizationSwitcherEnabled\n }\n />\n </div>\n );\n }\n);\n\nFloatingActionMenu.displayName = \"FloatingActionMenu\";\n\nFloatingActionMenu.propTypes = {\n /**\n * To specify the profile info to be rendered in the menu\n */\n profileInfoOverrides: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n imageUrl: PropTypes.string,\n }),\n /**\n * Custom content to be rendered in the menu between the top and bottom links if any\n */\n customContent: PropTypes.element,\n /**\n * Any extra links to be rendered at the top of the menu.\n */\n topLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * Any extra links to be rendered at the bottom of the menu.\n */\n bottomLinks: PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n })\n ),\n /**\n * To display the product switcher menu option.\n */\n showProductSwitcher: PropTypes.bool,\n /**\n * To display the app theme switcher above the user profile.\n If this prop is set to `true`, it will set the last selected\n theme to the app when the component is mounted.\n */\n isThemeSwitcherEnabled: PropTypes.bool,\n /**\n * To display the organization switcher above the user profile.\n If this prop is set to `true`, it lists all the logged in\n organizations for the current user.\n */\n isOrganizationSwitcherEnabled: PropTypes.bool,\n /**\n * To show help icon popover for preferred date format, preferred time format and time zone.\n */\n profilePopoverProps: PropTypes.shape({\n preferredDateFormat: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n helpLinkProps: PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string,\n }),\n }),\n preferredTimeFormat: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n helpLinkProps: PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string,\n }),\n }),\n timeZone: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n helpLinkProps: PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string,\n }),\n }),\n }),\n};\n\nexport default FloatingActionMenu;\n"],"names":["ProductLink","_ref","name","description","url","appName","concat","charAt","slice","toLowerCase","AppIcon","AppIcons","_jsxs","href","rel","target","className","classnames","globalProps","includes","children","_jsx","Neeto","Typography","component","style","weight","memo","Menu","_ref$isMobile","isMobile","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","_useFetchNeetoApps","useFetchNeetoApps","enabled","data","substring","replace","filteredApps","neetoApps","filter","_ref2","handleSearch","e","value","classNames","Input","autoFocus","placeholder","prefix","Search","type","onChange","_defineProperty","length","map","app","_objectSpread","Modal","withT","isOpen","onClose","NeetoUIModal","backdropClassName","size","Header","Body","shouldShowWhatsNew","_window$globalProps","currentUserEmail","window","user","email","location","hostname","endsWith","MY_ORGANIZATION_URL","ENGAGE_WIDGET_TRIGGER_ID","DEFAULT_HELP_LINK_PROPS","communityProps","label","icon","Community","helpCenterProps","Book","toLower","liveChatProps","Help","onClick","_window$NeetoChat","_window$NeetoChat2","NeetoChat","contextualHelp","maximizeWidget","openWidget","DEFAULT_MENU_LINK_PROPS","engageProps","id","isVisible","keyboardShortcutProps","statusProps","NON_BUTTON_PROPS","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","NEETO_AUTH_BILLING_INFO_URL","LinkSection","links","MenuItem","Dropdown","isNotPresent","_Fragment","idx","Icon","changesCount","otherProps","_objectWithoutProperties","_excluded","Button","omit","isPresent","fetch","axios","get","params","loggedInOrganizationsApi","QUERY_KEYS","LOGGED_IN_ORGANIZATIONS_LIST","useFetchLoggedInOrganizations","useQuery","queryKey","queryFn","MenuButton","suffix","Right","NeetoUIDropdown","OrganizationSwitcher","_globalProps$user","_useBreakpoints","useBreakpoints","isSize","_useFetchLoggedInOrga","_useFetchLoggedInOrga2","_useFetchLoggedInOrga3","organizations","authAppUrl","isCurrentSubdomain","link","currentSubdomain","split","linkSubdomain","URL","closeOnSelect","customTarget","MenuItemButton","interactiveDebounce","offset","position","trigger","zIndex","organization","organizationUrl","ExternalLink","Avatar","userName","imageUrl","userImageUrl","orgName","userId","isLoading","onMouseEnter","Spinner","ProductSwitcher","isStale","refetchNeetoApps","refetch","appendTo","disabled","undefined","dropdownProps","ProductSwitcherMenu","toggleModal","ProfileHeader","profileInfo","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user2","phoneNumber","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","isAuthenticated","topLinks","push","open","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","_globalProps$user$fir","_globalProps$user3","_globalProps$user$las","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","mergeDeepLeft","firstName","lastName","authenticated","profileImageUrl","setDarkTheme","document","body","classList","remove","add","setLightTheme","setAppTheme","isDarkTheme","getFromLocalStorage","selectedThemeName","selectedTheme","ThemeSwitcher","_useLocalStorage","useLocalStorage","_useLocalStorage2","appTheme","isDarkThemeSelected","switchTheme","theme","Check","ProfileMenu","showProductSwitcher","helpLinks","defaultLinks","bottomLinks","customContent","isThemeSwitcherEnabled","isOrganizationSwitcherEnabled","Divider","subscriptionPlan","Trans","i18nKey","values","humanize","isNotEmpty","ProfileButton","profilePopoverProps","isModalOpen","setIsModalOpen","_useState3","_useState4","setChangesCount","_KeyboardShortcuts$us","KeyboardShortcuts","usePaneState","_KeyboardShortcuts$us2","setIsOpen","_Profile$usePaneState","Profile","_Profile$usePaneState2","useEffect","Nv","onReceiveData","unreadCount","onShow","Object","assign","newTopLinks","_toConsumableArray","newBottomLinks","keys","key","hide","_DEFAULT_MENU_LINK_PR","_DEFAULT_MENU_LINK_PR2","_DEFAULT_MENU_LINK_PR3","call","prev","_ref3","Pane","popoverProps","buttonStyle","noop","strategy","ProductSwitcherModal","FloatingActionMenu","forwardRef","ref","_ref$profileInfoOverr","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","_ref$isOrganizationSw","_ref$profilePopoverPr","isBigBinaryEmail","displayName"],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
3
|
-
import { create } from 'zustand';
|
|
1
|
+
import { u as useKeyboardShortcutsPaneState } from './useKeyboardShortcutsPaneState-C_eLceJQ.js';
|
|
4
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
3
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
6
4
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
@@ -18,39 +16,11 @@ import { p as platform } from './platform-F44zJ4Xh.js';
|
|
|
18
16
|
import { toPairs } from 'ramda';
|
|
19
17
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
20
18
|
import { n } from './inject-css-DmrvuTKK.js';
|
|
19
|
+
import 'zustand/shallow';
|
|
20
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
21
|
+
import 'zustand';
|
|
21
22
|
import './_commonjsHelpers-BFTU3MAI.js';
|
|
22
23
|
|
|
23
|
-
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
24
|
-
var useKeyboardShortcutsStore = create(withImmutableActions(function (set) {
|
|
25
|
-
return {
|
|
26
|
-
isOpen: false,
|
|
27
|
-
setIsOpen: function setIsOpen(arg) {
|
|
28
|
-
if (typeof arg === "function") {
|
|
29
|
-
set(function (state) {
|
|
30
|
-
return {
|
|
31
|
-
isOpen: arg(state.isOpen)
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
} else {
|
|
35
|
-
set({
|
|
36
|
-
isOpen: arg
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
}));
|
|
42
|
-
var useKeyboardShortcutsPaneState = function useKeyboardShortcutsPaneState() {
|
|
43
|
-
var _useKeyboardShortcuts = useKeyboardShortcutsStore(function (store) {
|
|
44
|
-
return {
|
|
45
|
-
isOpen: store["isOpen"],
|
|
46
|
-
setIsOpen: store["setIsOpen"]
|
|
47
|
-
};
|
|
48
|
-
}, shallow),
|
|
49
|
-
isOpen = _useKeyboardShortcuts.isOpen,
|
|
50
|
-
setIsOpen = _useKeyboardShortcuts.setIsOpen;
|
|
51
|
-
return [isOpen, setIsOpen];
|
|
52
|
-
};
|
|
53
|
-
|
|
54
24
|
var KEY_SHORTFORM_MAP = {
|
|
55
25
|
command: "⌘",
|
|
56
26
|
escape: "esc",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardShortcuts.js","sources":["../src/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js","../src/components/KeyboardShortcuts/Pane/constants.js","../src/components/KeyboardShortcuts/Pane/utils.js","../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../src/components/KeyboardShortcuts/Pane/index.jsx","../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n","export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, Fragment } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-dvh overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","store","shallow","KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsx","className","children","_jsxs","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","_createElement","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts2","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KeyboardShortcuts.js","sources":["../src/components/KeyboardShortcuts/Pane/constants.js","../src/components/KeyboardShortcuts/Pane/utils.js","../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../src/components/KeyboardShortcuts/Pane/index.jsx","../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, Fragment } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-dvh overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsx","className","children","_jsxs","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","_createElement","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isOpen","setIsOpen","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
|