@bigbinary/neeto-molecules 4.0.47 → 4.0.48
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/BrowserSupport.js +53 -22
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/DownloadMobileAppCallout.js +5 -4
- package/dist/DownloadMobileAppCallout.js.map +1 -1
- package/dist/FloatingActionMenu.js +1 -2
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/KeyboardShortcuts.js +5 -5
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/BrowserSupport.js +53 -22
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/DownloadMobileAppCallout.js +5 -4
- package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +1 -2
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +5 -5
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/ua-parser-E0eEtHJZ.js +1477 -0
- package/dist/cjs/ua-parser-E0eEtHJZ.js.map +1 -0
- package/dist/ua-parser-rRwDJPFB.js +1475 -0
- package/dist/ua-parser-rRwDJPFB.js.map +1 -0
- package/package.json +2 -2
- package/types/BrowserSupport.d.ts +3 -3
- package/dist/cjs/platform-BUcCb8Jx.js +0 -1254
- package/dist/cjs/platform-BUcCb8Jx.js.map +0 -1
- package/dist/platform-F44zJ4Xh.js +0 -1252
- package/dist/platform-F44zJ4Xh.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/apis/neeto_apps.js","../src/components/FloatingActionMenu/components/ProductSwitcher/constants.js","../src/components/FloatingActionMenu/components/ProductSwitcher/hooks/useNeetoApps.js","../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Content.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 axios from \"axios\";\n\nconst fetch = () => axios.get(\"/api/v1/neeto_apps\");\n\nconst neetoAppsApi = { fetch };\n\nexport default neetoAppsApi;\n","export const QUERY_KEYS = { NEETO_APPS_LIST: \"neeto-apps-list\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport neetoAppsApi from \"../apis/neeto_apps\";\nimport { QUERY_KEYS } from \"../constants\";\n\nconst useFetchNeetoApps = options =>\n useQuery({\n queryKey: [QUERY_KEYS.NEETO_APPS_LIST],\n queryFn: neetoAppsApi.fetch,\n ...options,\n });\n\nexport { useFetchNeetoApps };\n","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__content\">\n <Typography\n className=\"neeto-ui-text-gray-600\"\n component=\"span\"\n style=\"body3\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default memo(ProductLink);\n","import { Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchNeetoApps } from \"./hooks/useNeetoApps\";\nimport ProductLink from \"./ProductLink\";\n\nconst Content = ({ searchTerm }) => {\n const { t } = useTranslation();\n\n const { data, isLoading } = useFetchNeetoApps();\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center py-8\">\n <Spinner />\n </div>\n );\n }\n\n return 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};\n\nexport default Content;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Content from \"./Content\";\nimport \"./product-switcher.scss\";\n\nconst Menu = ({ isMobile = false, initialFocusRef }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\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 pt-1\", {\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 ref={initialFocusRef}\n size=\"large\"\n type=\"search\"\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\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 <Content {...{ searchTerm }} />\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import { useRef } from \"react\";\n\nimport { Modal as NeetoUIModal } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = ({ isOpen, onClose }) => {\n const initialFocusRef = useRef(null);\n\n return (\n <NeetoUIModal\n {...{ initialFocusRef, isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"large\"\n >\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu {...{ initialFocusRef }} />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n );\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 } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\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={<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 { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst Dropdown = () => (\n <NeetoUIDropdown\n appendTo=\"parent\"\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton />}\n interactiveDebounce={30}\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\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\nconst getUserProfileInfo = () => ({\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\nconst getConsumerProfileInfo = () => ({\n name: `${globalProps.consumer?.firstName ?? \"\"} ${\n globalProps.consumer?.lastName ?? \"\"\n }`,\n imageUrl:\n globalProps.consumer?.profileImageUrl ||\n \"https://d2v7kzglnr2dnh.cloudfront.net/others/profile-pic.jpg\",\n email: globalProps.consumer?.email || globalProps.consumer?.phoneNumber,\n isAuthenticated: globalProps.isConsumer,\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, isConsumer) => [\n isAuthenticated\n ? {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n isConsumer\n ? // eslint-disable-next-line xss/no-location-href-assign\n (window.location.href = `/consumers/logout?redirect_uri=${window.location.href}`)\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, isConsumer) =>\n mergeDeepLeft(\n profileInfoOverrides,\n isConsumer ? getConsumerProfileInfo() : getUserProfileInfo()\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 isConsumer,\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 {!isConsumer && (\n <>\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-cy\": \"subscription-plan\",\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 </>\n )}\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 useHotkeys from \"neetohotkeys\";\nimport { Help } from \"neetoicons\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\nimport { not } from \"ramda\";\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 isConsumer,\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 useHotkeys([\"ctrl+e\", \"command+e\"], () => setIsModalOpen(not), {\n mode: \"global\",\n });\n\n const profileInfo = getProfileInfo(profileInfoOverrides, isConsumer);\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 const newTopLinks =\n globalProps.appName.toLowerCase() !== \"neetoauth\"\n ? [\n ...getDefaultTopLinks(\n globalProps.user?.isOwner,\n setIsProfilePaneOpen,\n profileInfo.isAuthenticated\n ),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [\n ...getDefaultBottomLinks(profileInfo.isAuthenticated, isConsumer),\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 isConsumer,\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 isConsumer = false,\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 isConsumer,\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 consumer profile info in the menu.\n */\n isConsumer: PropTypes.bool,\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":["fetch","axios","get","neetoAppsApi","QUERY_KEYS","NEETO_APPS_LIST","useFetchNeetoApps","options","useQuery","_objectSpread","queryKey","queryFn","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","Content","searchTerm","_useTranslation","useTranslation","t","_useFetchNeetoApps","data","isLoading","substring","replace","filteredApps","neetoApps","filter","_ref2","Spinner","length","map","app","Menu","_ref$isMobile","isMobile","initialFocusRef","_useState","useState","_useState2","_slicedToArray","setSearchTerm","classNames","Input","autoFocus","placeholder","prefix","Search","ref","size","type","value","onChange","e","_defineProperty","Modal","isOpen","onClose","useRef","NeetoUIModal","backdropClassName","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","params","loggedInOrganizationsApi","LOGGED_IN_ORGANIZATIONS_LIST","useFetchLoggedInOrganizations","MenuButton","withT","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","Object","assign","_objectDestructuringEmpty","ProductSwitcher","appendTo","dropdownProps","ProductSwitcherMenu","toggleModal","ProfileHeader","profileInfo","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user2","phoneNumber","getUserProfileInfo","_globalProps$user$fir","_globalProps$user3","_globalProps$user$las","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","firstName","lastName","authenticated","profileImageUrl","isAuthenticated","getConsumerProfileInfo","_globalProps$consumer","_globalProps$consumer2","_globalProps$consumer3","_globalProps$consumer4","_globalProps$consumer5","_globalProps$consumer6","_globalProps$consumer7","consumer","isConsumer","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","topLinks","push","open","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","mergeDeepLeft","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","useHotkeys","not","mode","useEffect","Nv","onReceiveData","unreadCount","onShow","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$profileInfoOverr","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","_ref$isOrganizationSw","_ref$profilePopoverPr","_ref$isConsumer","isBigBinaryEmail","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/apis/neeto_apps.js","../src/components/FloatingActionMenu/components/ProductSwitcher/constants.js","../src/components/FloatingActionMenu/components/ProductSwitcher/hooks/useNeetoApps.js","../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Content.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 axios from \"axios\";\n\nconst fetch = () => axios.get(\"/api/v1/neeto_apps\");\n\nconst neetoAppsApi = { fetch };\n\nexport default neetoAppsApi;\n","export const QUERY_KEYS = { NEETO_APPS_LIST: \"neeto-apps-list\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport neetoAppsApi from \"../apis/neeto_apps\";\nimport { QUERY_KEYS } from \"../constants\";\n\nconst useFetchNeetoApps = options =>\n useQuery({\n queryKey: [QUERY_KEYS.NEETO_APPS_LIST],\n queryFn: neetoAppsApi.fetch,\n ...options,\n });\n\nexport { useFetchNeetoApps };\n","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__content\">\n <Typography\n className=\"neeto-ui-text-gray-600\"\n component=\"span\"\n style=\"body3\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default memo(ProductLink);\n","import { Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchNeetoApps } from \"./hooks/useNeetoApps\";\nimport ProductLink from \"./ProductLink\";\n\nconst Content = ({ searchTerm }) => {\n const { t } = useTranslation();\n\n const { data, isLoading } = useFetchNeetoApps();\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center py-8\">\n <Spinner />\n </div>\n );\n }\n\n return 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};\n\nexport default Content;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Content from \"./Content\";\nimport \"./product-switcher.scss\";\n\nconst Menu = ({ isMobile = false, initialFocusRef }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\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 pt-1\", {\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 ref={initialFocusRef}\n size=\"large\"\n type=\"search\"\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\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 <Content {...{ searchTerm }} />\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import { useRef } from \"react\";\n\nimport { Modal as NeetoUIModal } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = ({ isOpen, onClose }) => {\n const initialFocusRef = useRef(null);\n\n return (\n <NeetoUIModal\n {...{ initialFocusRef, isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"large\"\n >\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu {...{ initialFocusRef }} />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n );\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 } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\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={<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 { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst { Menu, MenuItem } = NeetoUIDropdown;\n\nconst Dropdown = () => (\n <NeetoUIDropdown\n appendTo=\"parent\"\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton />}\n interactiveDebounce={30}\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\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\nconst getUserProfileInfo = () => ({\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\nconst getConsumerProfileInfo = () => ({\n name: `${globalProps.consumer?.firstName ?? \"\"} ${\n globalProps.consumer?.lastName ?? \"\"\n }`,\n imageUrl:\n globalProps.consumer?.profileImageUrl ||\n \"https://d2v7kzglnr2dnh.cloudfront.net/others/profile-pic.jpg\",\n email: globalProps.consumer?.email || globalProps.consumer?.phoneNumber,\n isAuthenticated: globalProps.isConsumer,\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, isConsumer) => [\n isAuthenticated\n ? {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n isConsumer\n ? // eslint-disable-next-line xss/no-location-href-assign\n (window.location.href = `/consumers/logout?redirect_uri=${window.location.href}`)\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, isConsumer) =>\n mergeDeepLeft(\n profileInfoOverrides,\n isConsumer ? getConsumerProfileInfo() : getUserProfileInfo()\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 isConsumer,\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 {!isConsumer && (\n <>\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-cy\": \"subscription-plan\",\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 </>\n )}\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 useHotkeys from \"neetohotkeys\";\nimport { Help } from \"neetoicons\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\nimport { not } from \"ramda\";\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 isConsumer,\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 useHotkeys([\"ctrl+e\", \"command+e\"], () => setIsModalOpen(not), {\n mode: \"global\",\n });\n\n const profileInfo = getProfileInfo(profileInfoOverrides, isConsumer);\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 const newTopLinks =\n globalProps.appName.toLowerCase() !== \"neetoauth\"\n ? [\n ...getDefaultTopLinks(\n globalProps.user?.isOwner,\n setIsProfilePaneOpen,\n profileInfo.isAuthenticated\n ),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [\n ...getDefaultBottomLinks(profileInfo.isAuthenticated, isConsumer),\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 isConsumer,\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 isConsumer = false,\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 isConsumer,\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 consumer profile info in the menu.\n */\n isConsumer: PropTypes.bool,\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":["fetch","axios","get","neetoAppsApi","QUERY_KEYS","NEETO_APPS_LIST","useFetchNeetoApps","options","useQuery","_objectSpread","queryKey","queryFn","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","Content","searchTerm","_useTranslation","useTranslation","t","_useFetchNeetoApps","data","isLoading","substring","replace","filteredApps","neetoApps","filter","_ref2","Spinner","length","map","app","Menu","_ref$isMobile","isMobile","initialFocusRef","_useState","useState","_useState2","_slicedToArray","setSearchTerm","classNames","Input","autoFocus","placeholder","prefix","Search","ref","size","type","value","onChange","e","_defineProperty","Modal","isOpen","onClose","useRef","NeetoUIModal","backdropClassName","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","params","loggedInOrganizationsApi","LOGGED_IN_ORGANIZATIONS_LIST","useFetchLoggedInOrganizations","MenuButton","withT","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","Object","assign","_objectDestructuringEmpty","ProductSwitcher","appendTo","dropdownProps","ProductSwitcherMenu","toggleModal","ProfileHeader","profileInfo","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user2","phoneNumber","getUserProfileInfo","_globalProps$user$fir","_globalProps$user3","_globalProps$user$las","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","firstName","lastName","authenticated","profileImageUrl","isAuthenticated","getConsumerProfileInfo","_globalProps$consumer","_globalProps$consumer2","_globalProps$consumer3","_globalProps$consumer4","_globalProps$consumer5","_globalProps$consumer6","_globalProps$consumer7","consumer","isConsumer","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","topLinks","push","open","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","mergeDeepLeft","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","useHotkeys","not","mode","useEffect","Nv","onReceiveData","unreadCount","onShow","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$profileInfoOverr","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","_ref$isOrganizationSw","_ref$profilePopoverPr","_ref$isConsumer","isBigBinaryEmail","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,OAAK,GAAG,SAARA,KAAKA,GAAA;AAAA,EAAA,OAASC,KAAK,CAACC,GAAG,CAAC,oBAAoB,CAAC;AAAA,CAAA;AAEnD,IAAMC,YAAY,GAAG;AAAEH,EAAAA,KAAK,EAALA;AAAM,CAAC;;ACJvB,IAAMI,YAAU,GAAG;AAAEC,EAAAA,eAAe,EAAE;AAAkB,CAAC;;;;ACKhE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,OAAO,EAAA;EAAA,OAC/BC,QAAQ,CAAAC,eAAA,CAAA;AACNC,IAAAA,QAAQ,EAAE,CAACN,YAAU,CAACC,eAAe,CAAC;IACtCM,OAAO,EAAER,YAAY,CAACH;GAAK,EACxBO,OAAO,CACX,CAAC;AAAA,CAAA;;;;;ACDJ,IAAMK,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;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;AACtE,EAAA,IAAMC,OAAO,GAAGC,QAAQ,CAACN,OAAO,CAAC;AAEjC,EAAA,oBACEO,IAAA,CAAA,GAAA,EAAA;IACE,SAAA,EAAA,EAAA,CAAAN,MAAA,CAAYJ,IAAI,EAAA,WAAA,CAAY;IAC5B,cAAA,EAAA,gBAAA,CAAAI,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;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;OAAuD;KAEvE,CAAC,eACNK,GAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,gDAAgD;MAAAI,QAAA,eAC7DC,GAAA,CAACE,UAAU,EAAA;AACTP,QAAAA,SAAS,EAAC,wBAAwB;AAClCQ,QAAAA,SAAS,EAAC,MAAM;AAChBC,QAAAA,KAAK,EAAC,OAAO;AACbC,QAAAA,MAAM,EAAC,QAAQ;AAAAN,QAAAA,QAAA,EAEdjB;OACS;AAAC,KACV,CAAC;AAAA,GACL,CAAC;AAER,CAAC;AAED,oBAAA,aAAewB,IAAI,CAAC3B,WAAW,CAAC;;;;ACxChC,IAAM4B,OAAO,GAAG,SAAVA,OAAOA,CAAA3B,IAAA,EAAuB;AAAA,EAAA,IAAjB4B,UAAU,GAAA5B,IAAA,CAAV4B,UAAU;AAC3B,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,kBAAA,GAA4BvC,iBAAiB,EAAE;IAAvCwC,IAAI,GAAAD,kBAAA,CAAJC,IAAI;IAAEC,SAAS,GAAAF,kBAAA,CAATE,SAAS;AAEvB,EAAA,IAAMC,SAAS,GAAGP,UAAU,CAACQ,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC5B,WAAW,EAAE;AAE5D,EAAA,IAAM6B,YAAY,GAAGJ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEK,SAAS,CAACC,MAAM,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGvC,IAAI,GAAAuC,KAAA,CAAJvC,IAAI;IAAA,OACjDA,IAAI,CAACO,WAAW,EAAE,CAACU,QAAQ,CAACiB,SAAS,CAAC;AAAA,EAAA,CACxC,CAAC;AAED,EAAA,IAAID,SAAS,EAAE;AACb,IAAA,oBACEd,GAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,uCAAuC;AAAAI,MAAAA,QAAA,eACpDC,GAAA,CAACqB,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,OAAO,CAAAJ,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEK,MAAM,IAAG,CAAC,gBAC7BtB,GAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,wCAAwC;AAAAI,IAAAA,QAAA,EACpDkB,YAAY,CAACM,GAAG,CAAC,UAAAC,GAAG,EAAA;MAAA,oBACnBxB,GAAA,CAACrB,aAAW,EAAAH,eAAA,CAAA,EAAA,EAAoBgD,GAAG,CAAA,EAAjBA,GAAG,CAAC3C,IAAgB,CAAC;IAAA,CACxC;AAAC,GACC,CAAC,gBAENmB,GAAA,CAACE,UAAU,EAAA;AACTP,IAAAA,SAAS,EAAC,sBAAsB;AAChC,IAAA,SAAA,EAAQ,qBAAqB;AAC7BS,IAAAA,KAAK,EAAC,OAAO;IAAAL,QAAA,EAEZY,CAAC,CAAC,uCAAuC;AAAC,GACjC,CACb;AACH,CAAC;;AC9BD,IAAMc,MAAI,GAAG,SAAPA,IAAIA,CAAA7C,IAAA,EAA8C;AAAA,EAAA,IAAA8C,aAAA,GAAA9C,IAAA,CAAxC+C,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAEE,eAAe,GAAAhD,IAAA,CAAfgD,eAAe;AAC/C,EAAA,IAAAnB,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAkB,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCrB,IAAAA,UAAU,GAAAuB,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEhC,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,EAAEuC,UAAU,CAAC,+CAA+C,EAAE;AACrE,QAAA,iDAAiD,EAAEP;AACrD,OAAC,CAAE;AAAA5B,MAAAA,QAAA,GAEF,CAAC4B,QAAQ,iBACR3B,GAAA,CAACE,UAAU,EAAA;AAACE,QAAAA,KAAK,EAAC,IAAI;QAAAL,QAAA,EACnBY,CAAC,CAAC,mDAAmD;OAC5C,CACb,eACDX,GAAA,CAAA,KAAA,EAAA;AAAKL,QAAAA,SAAS,EAAC,kDAAkD;QAAAI,QAAA,eAC/DC,GAAA,CAACmC,KAAK,EAAA;UACJC,SAAS,EAAA,IAAA;AACT,UAAA,SAAA,EAAQ,+BAA+B;AACvCC,UAAAA,WAAW,EAAE1B,CAAC,CAAC,+CAA+C,CAAE;AAChE2B,UAAAA,MAAM,eAAEtC,GAAA,CAACuC,MAAM,IAAE,CAAE;AACnBC,UAAAA,GAAG,EAAEZ,eAAgB;AACrBa,UAAAA,IAAI,EAAC,OAAO;AACZC,UAAAA,IAAI,EAAC,QAAQ;AACbC,UAAAA,KAAK,EAAEnC,UAAW;AAClBoC,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,CAAC,EAAA;AAAA,YAAA,OAAIZ,aAAa,CAACY,CAAC,CAACnD,MAAM,CAACiD,KAAK,CAAC;AAAA,UAAA;SAC7C;AAAC,OACC,CAAC;KACH,CAAC,eACN3C,GAAA,CAAA,KAAA,EAAA;MACEL,SAAS,EAAEuC,UAAU,CAAC,wCAAwC,EAAAY,eAAA,CAAA,EAAA,EAC3D,+CAA+C,EAAGnB,QAAQ,CAC5D,CAAE;MAAA5B,QAAA,eAEHC,GAAA,CAACO,OAAO,EAAA;AAAOC,QAAAA,UAAU,EAAVA;OAAe;AAAC,KAC5B,CAAC;AAAA,GAAA,EAjCF,kBAkCD,CAAC;AAEV,CAAC;;AClDD,IAAMuC,KAAK,GAAG,SAARA,KAAKA,CAAAnE,IAAA,EAA4B;AAAA,EAAA,IAAtBoE,MAAM,GAAApE,IAAA,CAANoE,MAAM;IAAEC,OAAO,GAAArE,IAAA,CAAPqE,OAAO;AAC9B,EAAA,IAAMrB,eAAe,GAAGsB,MAAM,CAAC,IAAI,CAAC;EAEpC,oBACElD,GAAA,CAACmD,OAAY,EAAA;AACLvB,IAAAA,eAAe,EAAfA,eAAe;AAAEoB,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACtCG,IAAAA,iBAAiB,EAAC,wCAAwC;AAC1DX,IAAAA,IAAI,EAAC,OAAO;AAAA1C,IAAAA,QAAA,eAEZC,GAAA,CAACmD,OAAY,CAACE,IAAI,EAAA;AAAAtD,MAAAA,QAAA,eAChBC,GAAA,CAAA,KAAA,EAAA;AACEL,QAAAA,SAAS,EAAC,kDAAkD;AAC5D,QAAA,aAAA,EAAY,wBAAwB;QAAAI,QAAA,eAEpCC,GAAA,CAACyB,MAAI,EAAA;AAAOG,UAAAA,eAAe,EAAfA;SAAoB;OAC7B;KACY;AAAC,GACR,CAAC;AAEnB,CAAC;;ACrBD,IAAM0B,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAAA,EAAA,IAAAC,mBAAA;EAC/B,IAAMC,gBAAgB,IAAAD,mBAAA,GAAGE,MAAM,CAAC5D,WAAW,cAAA0D,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GAAlBA,mBAAA,CAAoBG,IAAI,MAAA,IAAA,IAAAH,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,mBAAA,CAA0BI,KAAK;EAExD,OACEF,MAAM,CAACG,QAAQ,CAACC,QAAQ,KAAK,WAAW,IACxCL,gBAAgB,KAAK,oBAAoB,KACzCA,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEM,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAEhD,CAAC;AAEM,IAAMC,mBAAmB,GAAG,yBAAyB;AACrD,IAAMC,wBAAwB,GAAG,qBAAqB;AAEtD,IAAMC,uBAAuB,GAAG;AACrCC,EAAAA,cAAc,EAAE;AACdC,IAAAA,KAAK,EAAExD,CAAC,CAAC,4CAA4C,EAAE;MACrDa,GAAG,EAAE3B,WAAW,CAACb;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;GACT;AACD4E,EAAAA,eAAe,EAAE;AACfH,IAAAA,KAAK,EAAExD,CAAC,CAAC,6CAA6C,CAAC;AACvDyD,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,EAAA,OAAA,CAAO;AACzDU,IAAAA,MAAM,EAAE;GACT;AACD+E,EAAAA,aAAa,EAAE;AACbN,IAAAA,KAAK,EAAExD,CAAC,CAAC,2CAA2C,CAAC;AACrDyD,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;MACb,CAAAD,iBAAA,GAAAnB,MAAM,CAACqB,SAAS,MAAA,IAAA,IAAAF,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBG,cAAc,cAAAH,iBAAA,KAAA,MAAA,IAAhCA,iBAAA,CAAkCI,cAAc,EAAE;MAClD,CAAAH,kBAAA,GAAApB,MAAM,CAACqB,SAAS,MAAA,IAAA,IAAAD,kBAAA,gBAAAA,kBAAA,GAAhBA,kBAAA,CAAkBE,cAAc,cAAAF,kBAAA,KAAA,MAAA,IAAhCA,kBAAA,CAAkCI,UAAU,EAAE;AAChD,IAAA;AACF;AACF,CAAC;AAEM,IAAMC,uBAAuB,GAAG;AACrCC,EAAAA,WAAW,EAAE;AACXC,IAAAA,EAAE,EAAEpB,wBAAwB;AAC5BG,IAAAA,KAAK,EAAExD,CAAC,CAAC,2CAA2C,CAAC;AACrD,IAAA,SAAS,EAAE,yBAAyB;AACpC0E,IAAAA,SAAS,EAAE/B;GACZ;AACDgC,EAAAA,qBAAqB,EAAE;AACrBnB,IAAAA,KAAK,EAAExD,CAAC,CAAC,oDAAoD,CAAC;AAC9D,IAAA,SAAS,EAAE;GACZ;AACD4E,EAAAA,WAAW,EAAE;AACXpB,IAAAA,KAAK,EAAExD,CAAC,CAAC,gDAAgD,EAAE;MACzDa,GAAG,EAAE3B,WAAW,CAACb;AACnB,KAAC,CAAC;AACF,IAAA,SAAS,EAAE,yBAAyB;AACpCQ,IAAAA,IAAI,EAAE,0BAA0B;AAChCE,IAAAA,MAAM,EAAE;AACV;AACF,CAAC;AAEM,IAAM8F,gBAAgB,GAAG,CAAC,WAAW,CAAC;;AAE7C;AACO,IAAMC,0BAA0B,GAAG,UAAU;AAE7C,IAAMC,MAAM,GAAG;AACpBC,EAAAA,KAAK,EAAE,uBAAuB;AAC9BC,EAAAA,IAAI,EAAE;AACR,CAAC;AAEM,IAAMC,2BAA2B,GACtC,wCAAwC;;;;;AC1E1C,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAlH,IAAA,EAAkB;AAAA,EAAA,IAAZmH,KAAK,GAAAnH,IAAA,CAALmH,KAAK;AAC1B,EAAA,IAAQC,QAAQ,GAAKC,UAAQ,CAArBD,QAAQ;AAChB,EAAA,IAAIE,YAAY,CAACH,KAAK,CAAC,EAAE,OAAO,IAAI;EAEpC,oBACE/F,GAAA,CAAAmG,QAAA,EAAA;IAAApG,QAAA,EACGgG,KAAK,CAACxE,GAAG,CAAC,UAAAH,KAAA,EAAqDgF,GAAG,EAAA;AAAA,MAAA,IAArDjC,KAAK,GAAA/C,KAAA,CAAL+C,KAAK;QAAQkC,IAAI,GAAAjF,KAAA,CAAVgD,IAAI;QAAQkC,YAAY,GAAAlF,KAAA,CAAZkF,YAAY;AAAKC,QAAAA,UAAU,GAAAC,wBAAA,CAAApF,KAAA,EAAAqF,WAAA,CAAA;MAAA,oBAC1DlH,IAAA,CAACyG,QAAQ,CAACU,MAAM,EAAAlI,eAAA,CAAAA,eAAA,CAAA;AACdmB,QAAAA,SAAS,EAAC,wCAAwC;AAClD,QAAA,SAAA,EAAQ,mCAAmC;AAE3C2C,QAAAA,MAAM,EAAE+D,IAAI,iBAAIrG,GAAA,CAACqG,IAAI,EAAA;AAAC5D,UAAAA,IAAI,EAAE;AAAG,SAAE,CAAE;AACnCrC,QAAAA,KAAK,EAAC;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;AAAY,SACT,CACP;AAAA,OAAA,CAAA,EAdIF,GAeU,CAAC;IAAA,CACnB;AAAC,GACF,CAAC;AAEP,CAAC;;ACjCD,IAAMrI,KAAK,GAAG,SAARA,KAAKA,CAAG4F,KAAK,EAAA;AAAA,EAAA,OACjB3F,KAAK,CAACC,GAAG,CAAC,0BAA0B,EAAE;AAAE4I,IAAAA,MAAM,EAAE;AAAElD,MAAAA,KAAK,EAALA;AAAM;AAAE,GAAC,CAAC;AAAA,CAAA;AAE9D,IAAMmD,wBAAwB,GAAG;AAAE/I,EAAAA,KAAK,EAALA;AAAM,CAAC;;ACLnC,IAAMI,UAAU,GAAG;AACxB4I,EAAAA,4BAA4B,EAAE;AAChC,CAAC;;ACGD,IAAQA,4BAA4B,GAAK5I,UAAU,CAA3C4I,4BAA4B;AAEpC,IAAMC,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGrD,KAAK,EAAA;AAAA,EAAA,OACzCpF,QAAQ,CAAC;IACPE,QAAQ,EAAE,CAACsI,4BAA4B,CAAC;IACxCrI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQoI,wBAAwB,CAAC/I,KAAK,CAAC4F,KAAK,CAAC;AAAA,IAAA;AACtD,GAAC,CAAC;AAAA,CAAA;;ACPJ,IAAQqC,UAAQ,GAAKC,UAAQ,CAArBD,QAAQ;AAEhB,IAAMiB,YAAU,GAAGC,KAAK,CAAC,UAAAtI,IAAA,EAAA;AAAA,EAAA,IAAG+B,CAAC,GAAA/B,IAAA,CAAD+B,CAAC;AAAA,EAAA,oBAC3BX,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;IACZ+G,MAAM,eAAEnH,GAAA,CAACoH,KAAK,EAAA;AAAC3E,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAE;IAAA1C,QAAA,EAE3BY,CAAC,CAAC,mDAAmD;AAAC,GACxC,CAAC;AAAA,CACnB,CAAC;;ACNF,IAAQc,MAAI,GAAe4F,UAAe,CAAlC5F,IAAI;EAAEuE,UAAQ,GAAKqB,UAAe,CAA5BrB,QAAQ;AAEtB,IAAMsB,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AAAA,EAAA,IAAAC,iBAAA;AACjC,EAAA,IAAA9G,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAA6G,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AAEd,EAAA,IAAAC,qBAAA,GACEX,6BAA6B,CAACnH,aAAW,KAAA,IAAA,IAAXA,aAAW,KAAA,MAAA,IAAA,CAAA0H,iBAAA,GAAX1H,aAAW,CAAE6D,IAAI,MAAA,IAAA,IAAA6D,iBAAA,uBAAjBA,iBAAA,CAAmB5D,KAAK,CAAC;IAAAiE,sBAAA,GAAAD,qBAAA,CADjD9G,IAAI;AAAAgH,IAAAA,sBAAA,GAAAD,sBAAA,KAAA,MAAA,GAAkC,EAAE,GAAAA,sBAAA;IAAhCE,aAAa,GAAAD,sBAAA,CAAbC,aAAa;IAAEC,UAAU,GAAAF,sBAAA,CAAVE,UAAU;AAGzC,EAAA,IAAMpG,QAAQ,GAAG+F,MAAM,CAAC,QAAQ,CAAC;AAEjC,EAAA,IAAMM,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,IAAI,EAAI;AACjC,IAAA,IAAMC,gBAAgB,GAAGzE,MAAM,CAACG,QAAQ,CAACC,QAAQ,CAACsE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAA,IAAMC,aAAa,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC,CAACpE,QAAQ,CAACsE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE1D,OAAOD,gBAAgB,KAAKE,aAAa;EAC3C,CAAC;EAED,oBACEpI,GAAA,CAACqH,UAAe,EAAA;AACd1H,IAAAA,SAAS,EAAC,mDAAmD;AAC7D2I,IAAAA,aAAa,EAAE,KAAM;AACrBC,IAAAA,YAAY,eAAEvI,GAAA,CAACwI,YAAc,IAAE,CAAE;AACjCC,IAAAA,mBAAmB,EAAE,EAAG;AACxBC,IAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,IAAAA,QAAQ,EAAEhH,QAAQ,GAAG,QAAQ,GAAG,OAAQ;AACxCiH,IAAAA,OAAO,EAAC,KAAK;AACbC,IAAAA,MAAM,EAAE,KAAM;IAAA9I,QAAA,eAEdR,IAAA,CAACkC,MAAI,EAAA;MAAA1B,QAAA,EAAA,CACF+H,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEvG,GAAG,CAAC,UAAAuH,YAAY,EAAA;AAAA,QAAA,oBAC9BvJ,IAAA,CAACyG,UAAQ,CAACU,MAAM,EAAA;UACdlH,IAAI,EAAEsJ,YAAY,CAACC,eAAgB;AAEnCtJ,UAAAA,GAAG,EAAC,YAAY;AAChBW,UAAAA,KAAK,EAAC,MAAM;UACZ+G,MAAM,eAAEnH,GAAA,CAACgJ,YAAY,EAAA;AAACvG,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAE;AACnC/C,UAAAA,MAAM,EAAC,QAAQ;UACfC,SAAS,EAAEuC,UAAU,CAAC;AACpB,YAAA,qDAAqD,EACnD8F,kBAAkB,CAACc,YAAY,CAACC,eAAe;AACnD,WAAC,CAAE;UAAAhJ,QAAA,EAAA,cAEHC,GAAA,CAACiJ,MAAM,EAAA;AACLvF,YAAAA,IAAI,EAAE;cACJ7E,IAAI,EAAEiK,YAAY,CAACI,QAAQ;cAC3BC,QAAQ,EAAEL,YAAY,CAACM;AACzB;AAAE,WACH,CAAC,EACDN,YAAY,CAACO,OAAO;SAAA,EAhBhBP,YAAY,CAACQ,MAiBH,CAAC;AAAA,MAAA,CACnB,CAAC,eACFtJ,GAAA,CAACgG,UAAQ,CAACU,MAAM,EAAA;AAAClH,QAAAA,IAAI,EAAEuI,UAAW;AAACtI,QAAAA,GAAG,EAAC,YAAY;AAACC,QAAAA,MAAM,EAAC,QAAQ;QAAAK,QAAA,EAChEY,CAAC,CAAC,wDAAwD;AAAC,OAC7C,CAAC;KACd;AAAC,GACQ,CAAC;AAEtB,CAAC;;;;AChED,IAAMsG,YAAU,GAAG,SAAbA,UAAUA,CAAArI,IAAA,EAA0B;EAAA,IAAjB2H,UAAU,GAAAgD,MAAA,CAAAC,MAAA,MAAAC,yBAAA,CAAA7K,IAAA,CAAA,EAAAA,IAAA,EAAA;AACjC,EAAA,IAAA6B,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAQqF,QAAQ,GAAKC,UAAQ,CAArBD,QAAQ;EAEhB,oBACEzG,IAAA,CAACyG,QAAQ,CAACU,MAAM,EAAAlI,eAAA,CAAAA,eAAA,CAAA;AACdmB,IAAAA,SAAS,EAAC,wCAAwC;AAClD,IAAA,SAAA,EAAQ,yBAAyB;AACjC,IAAA,aAAA,EAAY,yBAAyB;AACrCwE,IAAAA,KAAK,EAAExD,CAAC,CAAC,wCAAwC,CAAE;AACnDP,IAAAA,KAAK,EAAC,MAAM;IACZ+G,MAAM,eAAEnH,GAAA,CAACoH,KAAK,EAAA;AAAC3E,MAAAA,IAAI,EAAE;KAAK;AAAE,GAAA,EACxB8D,UAAU,CAAA,EAAA,EAAA,EAAA;IAAAxG,QAAA,EAAA,cAEdC,GAAA,CAAC0J,iBAAe,EAAA;AAACjH,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC,EAC5B9B,CAAC,CAAC,wCAAwC,CAAC;AAAA,GAAA,CAC7B,CAAC;AAEtB,CAAC;;ACjBD,IAAQc,MAAI,GAAe4F,UAAe,CAAlC5F,IAAI;EAAEuE,UAAQ,GAAKqB,UAAe,CAA5BrB,QAAQ;AAEtB,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAA;EAAA,oBACZjG,GAAA,CAACqH,UAAe,EAAA;AACdsC,IAAAA,QAAQ,EAAC,QAAQ;AACjBhK,IAAAA,SAAS,EAAC,qDAAqD;AAC/D2I,IAAAA,aAAa,EAAE,KAAM;AACrBC,IAAAA,YAAY,eAAEvI,GAAA,CAACwI,YAAc,IAAE,CAAE;AACjCC,IAAAA,mBAAmB,EAAE,EAAG;AACxBC,IAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,IAAAA,QAAQ,EAAC,OAAO;AAChBC,IAAAA,OAAO,EAAC,KAAK;AACbC,IAAAA,MAAM,EAAE,KAAM;AACde,IAAAA,aAAa,EAAE;AACb1H,MAAAA,UAAU,EAAE;KACZ;IAAAnC,QAAA,eAEFC,GAAA,CAACyB,MAAI,EAAA;MAAA1B,QAAA,eACHC,GAAA,CAACgG,UAAQ,EAAA;AAAAjG,QAAAA,QAAA,eACPC,GAAA,CAAC6J,MAAmB,EAAA,EAAE;OACd;KACN;AAAC,GACQ,CAAC;AAAA,CACnB;;ACvBD,IAAMH,eAAe,GAAG,SAAlBA,eAAeA,CAAA9K,IAAA,EAAwB;AAAA,EAAA,IAAlBkL,WAAW,GAAAlL,IAAA,CAAXkL,WAAW;AACpC,EAAA,IAAAtC,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAM/F,QAAQ,GAAG+F,MAAM,CAAC,QAAQ,CAAC;AAEjC,EAAA,OAAO/F,QAAQ,gBACb3B,GAAA,CAACiH,YAAU,EAAA;IAACtC,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQmF,WAAW,CAAC,IAAI,CAAC;AAAA,IAAA;AAAC,GAAE,CAAC,gBAEhD9J,GAAA,CAACiG,QAAQ,IAAE,CACZ;AACH,CAAC;;ACXD,IAAM8D,aAAa,GAAG,SAAhBA,aAAaA,CAAAnL,IAAA,EAAwB;AAAA,EAAA,IAAlBoL,WAAW,GAAApL,IAAA,CAAXoL,WAAW;AAClC,EAAA,IAAQnL,IAAI,GAAYmL,WAAW,CAA3BnL,IAAI;IAAE8E,KAAK,GAAKqG,WAAW,CAArBrG,KAAK;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,CAACiJ,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,0CAA0C;AAClDxG,QAAAA,IAAI,EAAC,OAAO;AACZiB,QAAAA,IAAI,EAAEsG;OACP;KACE,CAAC,eACNzK,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/C8J,QAAAA,UAAU,EAAC,OAAO;AAClB7J,QAAAA,KAAK,EAAC,IAAI;AACV8J,QAAAA,KAAK,EAAErL,IAAK;AACZwB,QAAAA,MAAM,EAAC,UAAU;AAAAN,QAAAA,QAAA,EAEhBoK,QAAQ,CAACtL,IAAI,EAAE,EAAE;AAAC,OACT,CAAC,EACZ8E,KAAK,iBACJ3D,GAAA,CAACE,UAAU,EAAA;AACTP,QAAAA,SAAS,EAAC,0DAA0D;AACpE,QAAA,SAAA,EAAQ,wCAAwC;AAChDsK,QAAAA,UAAU,EAAC,OAAO;AAClB7J,QAAAA,KAAK,EAAC,OAAO;AAAAL,QAAAA,QAAA,EAEZ4D;AAAK,OACI,CACb;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AC/BD,IAAMyG,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAAS;EAAA,IAAA7C,iBAAA,EAAA8C,kBAAA;EAC3C,IAAM3G,IAAI,GAAG,CAAA,CAAA6D,iBAAA,GAAA1H,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAA6D,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkB5D,KAAK,MAAA,CAAA0G,kBAAA,GAAIxK,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAA2G,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBC,WAAW,CAAA;EAErE,OAAA,eAAA,CAAArL,MAAA,CAAuByE,IAAI,CAAA;AAC7B,CAAC;AAED,IAAM6G,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,EAAA,IAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA;EAAA,OAAU;IAChCjM,IAAI,EAAA,EAAA,CAAAI,MAAA,CAAA,CAAAuL,qBAAA,IAAAC,kBAAA,GAAK5K,WAAW,CAAC6D,IAAI,cAAA+G,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBM,SAAS,cAAAP,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE,OAAAvL,MAAA,CAAA,CAAAyL,qBAAA,GAAA,CAAAC,kBAAA,GACxC9K,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAAiH,kBAAA,uBAAhBA,kBAAA,CAAkBK,QAAQ,MAAA,IAAA,IAAAN,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAChC;AACFvB,IAAAA,QAAQ,EAAEtJ,WAAW,CAACoL,aAAa,GAAA,CAAAL,kBAAA,GAC/B/K,WAAW,CAAC6D,IAAI,cAAAkH,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBM,eAAe,GACjC,8DAA8D;IAClEvH,KAAK,EAAE,CAAA,CAAAkH,kBAAA,GAAAhL,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAAmH,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBlH,KAAK,MAAA,CAAAmH,kBAAA,GAAIjL,WAAW,CAAC6D,IAAI,cAAAoH,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBR,WAAW,CAAA;IAC/Da,eAAe,EAAEtL,WAAW,CAACoL;GAC9B;AAAA,CAAC;AAEF,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAAA,OAAU;IACpC9M,IAAI,EAAA,EAAA,CAAAI,MAAA,CAAA,CAAAoM,qBAAA,IAAAC,sBAAA,GAAKzL,WAAW,CAAC+L,QAAQ,cAAAN,sBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,sBAAA,CAAsBP,SAAS,cAAAM,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE,OAAApM,MAAA,CAAA,CAAAsM,sBAAA,GAAA,CAAAC,sBAAA,GAC5C3L,WAAW,CAAC+L,QAAQ,MAAA,IAAA,IAAAJ,sBAAA,uBAApBA,sBAAA,CAAsBR,QAAQ,MAAA,IAAA,IAAAO,sBAAA,cAAAA,sBAAA,GAAI,EAAE,CACpC;AACFpC,IAAAA,QAAQ,EACN,CAAA,CAAAsC,sBAAA,GAAA5L,WAAW,CAAC+L,QAAQ,MAAA,IAAA,IAAAH,sBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,sBAAA,CAAsBP,eAAe,KACrC,8DAA8D;IAChEvH,KAAK,EAAE,CAAA,CAAA+H,sBAAA,GAAA7L,WAAW,CAAC+L,QAAQ,MAAA,IAAA,IAAAF,sBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,sBAAA,CAAsB/H,KAAK,MAAA,CAAAgI,sBAAA,GAAI9L,WAAW,CAAC+L,QAAQ,cAAAD,sBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,sBAAA,CAAsBrB,WAAW,CAAA;IACvEa,eAAe,EAAEtL,WAAW,CAACgM;GAC9B;AAAA,CAAC;AAEK,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC7BC,OAAO,EACPC,oBAAoB,EACpBb,eAAe,EACZ;AACH,EAAA,IAAI,CAACA,eAAe,EAAE,OAAO,EAAE;EAE/B,IAAMc,QAAQ,GAAG,CACf;AACE9H,IAAAA,KAAK,EAAExD,CAAC,CAAC,kCAAkC,CAAC;IAC5CgE,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQqH,oBAAoB,CAAC,IAAI,CAAC;AAAA,IAAA,CAAA;AACzC,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,aAAa,EAAE;AACjB,GAAC,CACF;AAED,EAAA,IAAID,OAAO,EAAE;IACXE,QAAQ,CAACC,IAAI,CAAC;AACZ/H,MAAAA,KAAK,EAAExD,CAAC,CAAC,oCAAoC,CAAC;MAC9CgE,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQlB,MAAM,CAAC0I,IAAI,CAACpI,mBAAmB,EAAE,OAAO,CAAC;AAAA,MAAA,CAAA;AACxD,MAAA,SAAS,EAAE;AACb,KAAC,CAAC;AACJ,EAAA;AAEA,EAAA,OAAOkI,QAAQ;AACjB,CAAC;AAEM,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIjB,eAAe,EAAEU,UAAU,EAAA;EAAA,OAAK,CACpEV,eAAe,GACX;AACEhH,IAAAA,KAAK,EAAExD,CAAC,CAAC,+BAA+B,CAAC;AACzCgE,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb0H,MAAAA,eAAe,EAAE;AACjBC,MAAAA,sBAAsB,CAAClC,8BAA8B,EAAE,CAAC;MACxDyB,UAAU;AACN;AACCpI,MAAAA,MAAM,CAACG,QAAQ,CAACpE,IAAI,GAAA,iCAAA,CAAAP,MAAA,CAAqCwE,MAAM,CAACG,QAAQ,CAACpE,IAAI,CAAE;AAChF;AACCiE,MAAAA,MAAM,CAACG,QAAQ,CAACpE,IAAI,GAAG,SAAU;IACxC,CAAC;AACD,IAAA,SAAS,EAAE;AACb,GAAC,GACD;AACE2E,IAAAA,KAAK,EAAExD,CAAC,CAAC,8BAA8B,CAAC;AACxCgE,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb;AACAlB,MAAAA,MAAM,CAACG,QAAQ,CAACpE,IAAI,GAAG,QAAQ;IACjC,CAAC;AACD,IAAA,SAAS,EAAE;AACb,GAAC,CACN;AAAA,CAAA;AAEM,IAAM+M,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,oBAAoB,EAAEX,UAAU,EAAA;AAAA,EAAA,OAC7DY,aAAa,CACXD,oBAAoB,EACpBX,UAAU,GAAGT,sBAAsB,EAAE,GAAGb,kBAAkB,EAC5D,CAAC;AAAA,CAAA;;AAEH;AACO,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AAChC,EAAA,IAAI,CAACC,QAAQ,CAACC,IAAI,EAAE;EAEpBD,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,MAAM,CAACpH,MAAM,CAACC,KAAK,CAAC;EAC5CgH,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,GAAG,CAACrH,MAAM,CAACE,IAAI,CAAC;AAC1C,CAAC;AAEM,IAAMoH,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AACjC,EAAA,IAAI,CAACL,QAAQ,CAACC,IAAI,EAAE;EAEpBD,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,MAAM,CAACpH,MAAM,CAACE,IAAI,CAAC;EAC3C+G,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,GAAG,CAACrH,MAAM,CAACC,KAAK,CAAC;AAC3C,CAAC;AAEM,IAAMsH,WAAW,GAAG,SAAdA,WAAWA,GAAS;EAC/B,IAAMC,WAAW,GACfC,mBAAmB,CAAC1H,0BAA0B,CAAC,KAAKC,MAAM,CAACE,IAAI;AACjEsH,EAAAA,WAAW,GAAGR,YAAY,EAAE,GAAGM,aAAa,EAAE;AAChD,CAAC;;ACjHD,IAAQhH,UAAQ,GAAKC,UAAQ,CAArBD,QAAQ;AAEhB,IAAMiB,UAAU,GAAGC,KAAK,CAAC,UAAAtI,IAAA,EAAA;AAAA,EAAA,IAAG+B,CAAC,GAAA/B,IAAA,CAAD+B,CAAC;IAAEyM,iBAAiB,GAAAxO,IAAA,CAAjBwO,iBAAiB;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;IACZ+G,MAAM,eAAEnH,GAAA,CAACoH,KAAK,EAAA;AAAC3E,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAE;AAAA1C,IAAAA,QAAA,EAE3BY,CAAC,CAAC,4CAA4C,EAAE;AAC/C0M,MAAAA,aAAa,EAAED;KAChB;AAAC,GACa,CAAC;AAAA,CACnB,CAAC;;ACAF,IAAQ3L,IAAI,GAAe4F,UAAe,CAAlC5F,IAAI;EAAEuE,QAAQ,GAAKqB,UAAe,CAA5BrB,QAAQ;AAEtB,IAAMsH,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B,EAAA,IAAA7M,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAA6G,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;EAEd,IAAA6F,gBAAA,GAAgCC,eAAe,CAC7C/H,0BAA0B,EAC1BC,MAAM,CAACC,KACT,CAAC;IAAA8H,iBAAA,GAAAzL,cAAA,CAAAuL,gBAAA,EAAA,CAAA,CAAA;AAHMG,IAAAA,QAAQ,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAER,IAAAA,WAAW,GAAAQ,iBAAA,CAAA,CAAA,CAAA;AAI5B,EAAA,IAAME,mBAAmB,GAAGD,QAAQ,KAAKhI,MAAM,CAACE,IAAI;AACpD,EAAA,IAAMwH,iBAAiB,GAAGO,mBAAmB,GACzChN,CAAC,CAAC,2CAA2C,CAAC,GAC9CA,CAAC,CAAC,4CAA4C,CAAC;AAEnD,EAAA,IAAMgB,QAAQ,GAAG+F,MAAM,CAAC,QAAQ,CAAC;AAEjC,EAAA,IAAMkG,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;IAC3BA,KAAK,KAAKnI,MAAM,CAACC,KAAK,GAAGqH,aAAa,EAAE,GAAGN,YAAY,EAAE;IACzDO,WAAW,CAACY,KAAK,CAAC;EACpB,CAAC;EAED,oBACE7N,GAAA,CAACqH,UAAe,EAAA;AACdsC,IAAAA,QAAQ,EAAC,QAAQ;AACjBhK,IAAAA,SAAS,EAAC,mDAAmD;AAC7D2I,IAAAA,aAAa,EAAE,KAAM;IACrBC,YAAY,eAAEvI,GAAA,CAACwI,UAAc,EAAA;AAAO4E,MAAAA,iBAAiB,EAAjBA;AAAiB,KAAK,CAAE;AAC5D3E,IAAAA,mBAAmB,EAAE,EAAG;AACxBC,IAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,IAAAA,QAAQ,EAAEhH,QAAQ,GAAG,QAAQ,GAAG,OAAQ;AACxCiH,IAAAA,OAAO,EAAC,KAAK;AACbC,IAAAA,MAAM,EAAE,KAAM;IAAA9I,QAAA,eAEdR,IAAA,CAACkC,IAAI,EAAA;AAAA1B,MAAAA,QAAA,EAAA,cACHC,GAAA,CAACgG,QAAQ,CAACU,MAAM,EAAA;AACdS,QAAAA,MAAM,EAAE,CAACwG,mBAAmB,iBAAI3N,GAAA,CAAC8N,KAAK,EAAA;AAACrL,UAAAA,IAAI,EAAE;AAAG,SAAE,CAAE;QACpD9C,SAAS,EAAEuC,UAAU,CAAC;AACpB,UAAA,8CAA8C,EAC5C,CAACyL;AACL,SAAC,CAAE;QACHhJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQiJ,WAAW,CAAClI,MAAM,CAACC,KAAK,CAAC;QAAA,CAAC;QAAA5F,QAAA,EAExCY,CAAC,CAAC,4CAA4C;AAAC,OACjC,CAAC,eAClBX,GAAA,CAACgG,QAAQ,CAACU,MAAM,EAAA;AACdS,QAAAA,MAAM,EAAEwG,mBAAmB,iBAAI3N,GAAA,CAAC8N,KAAK,EAAA;AAACrL,UAAAA,IAAI,EAAE;AAAG,SAAE,CAAE;QACnD9C,SAAS,EAAEuC,UAAU,CAAC;AACpB,UAAA,8CAA8C,EAAEyL;AAClD,SAAC,CAAE;QACHhJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQiJ,WAAW,CAAClI,MAAM,CAACE,IAAI,CAAC;QAAA,CAAC;QAAA7F,QAAA,EAEvCY,CAAC,CAAC,2CAA2C;AAAC,OAChC,CAAC;KACd;AAAC,GACQ,CAAC;AAEtB,CAAC;;AC/DD,IAAMoN,WAAW,GAAG,SAAdA,WAAWA,CAAAnP,IAAA,EAYX;EAAA,IAAA2I,iBAAA,EAAA8C,kBAAA;AAAA,EAAA,IAXJL,WAAW,GAAApL,IAAA,CAAXoL,WAAW;IACXgE,mBAAmB,GAAApP,IAAA,CAAnBoP,mBAAmB;IACnBC,SAAS,GAAArP,IAAA,CAATqP,SAAS;IACTC,YAAY,GAAAtP,IAAA,CAAZsP,YAAY;IACZjC,QAAQ,GAAArN,IAAA,CAARqN,QAAQ;IACRkC,WAAW,GAAAvP,IAAA,CAAXuP,WAAW;IACXC,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IACbtE,WAAW,GAAAlL,IAAA,CAAXkL,WAAW;IACXuE,sBAAsB,GAAAzP,IAAA,CAAtByP,sBAAsB;IACtBC,6BAA6B,GAAA1P,IAAA,CAA7B0P,6BAA6B;IAC7BzC,UAAU,GAAAjN,IAAA,CAAViN,UAAU;AAEV,EAAA,IAAQpK,IAAI,GAAwBwE,UAAQ,CAApCxE,IAAI;IAAEuE,QAAQ,GAAcC,UAAQ,CAA9BD,QAAQ;IAAEuI,OAAO,GAAKtI,UAAQ,CAApBsI,OAAO;AAC/B,EAAA,IAAQpD,eAAe,GAAKnB,WAAW,CAA/BmB,eAAe;EAEvB,oBACE5L,IAAA,CAACkC,IAAI,EAAA;AAAC9B,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,EAE1BoL,eAAe,iBAAInL,GAAA,CAAC+J,aAAa,EAAA;AAAOC,QAAAA,WAAW,EAAXA;OAAgB;AAAC,KAClD,CAAC,EACV,CAAC6B,UAAU,iBACVtM,IAAA,CAAA4G,QAAA,EAAA;AAAApG,MAAAA,QAAA,GACG6G,SAAS,CAAA,CAAAW,iBAAA,GAAC1H,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAA6D,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkBiH,gBAAgB,CAAC,iBAC5CxO,GAAA,CAAC8F,WAAW,EAAA;AACVC,QAAAA,KAAK,EAAE,CACL;UACE5B,KAAK,eACHnE,GAAA,CAACyO,KAAK,EAAA;AACJC,YAAAA,OAAO,EAAC,oCAAoC;AAC5CC,YAAAA,MAAM,EAAE;AACNH,cAAAA,gBAAgB,EAAEI,QAAQ,CAAA,CAAAvE,kBAAA,GACxBxK,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAA2G,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBmE,gBACpB;AACF;AAAE,WACH,CACF;AACDhP,UAAAA,IAAI,EAAEqG,2BAA2B;AACjC,UAAA,SAAS,EAAE,mBAAmB;AAC9B,UAAA,aAAa,EAAE;SAChB;AACD,OACH,CACF,EACAmI,mBAAmB,iBAAIhO,GAAA,CAAC6J,eAAmB,EAAA;AAAOC,QAAAA,WAAW,EAAXA;OAAgB,CAAC,EACnEwE,6BAA6B,iBAAItO,GAAA,CAACsH,oBAAoB,EAAA,EAAE,CAAC,EACzD+G,sBAAsB,iBAAIrO,GAAA,CAACsN,aAAa,EAAA,EAAE,CAAC,EAC3CuB,UAAU,CAAC5C,QAAQ,CAAC,iBACnB1M,IAAA,CAAA4G,QAAA,EAAA;QAAApG,QAAA,EAAA,cACEC,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,UAAAA,KAAK,EAAEkG;AAAS,SAAE,CAAC;OAChC,CACH,EACArF,SAAS,CAACwH,aAAa,CAAC,iBACvB7O,IAAA,CAAA4G,QAAA,EAAA;QAAApG,QAAA,EAAA,cACEC,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAACgG,QAAQ,EAAA;AAACrG,UAAAA,SAAS,EAAC,wEAAwE;AAAAI,UAAAA,QAAA,EACzFqO;AAAa,SACN,CAAC;OACX,CACH,eACDpO,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,QAAAA,KAAK,EAAEmI;OAAe,CAAC,eACpClO,GAAA,CAACuO,OAAO,IAAE,CAAC,eACXvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,QAAAA,KAAK,EAAEkI;AAAU,OAAE,CAAC,eACjCjO,GAAA,CAACuO,OAAO,IAAE,CAAC;AAAA,KACX,CACH,eACDvO,GAAA,CAAC8F,WAAW,EAAA;AAACC,MAAAA,KAAK,EAAEoI;AAAY,KAAE,CAAC;AAAA,GAC/B,CAAC;AAEX,CAAC;;;;AClED,IAAMW,aAAa,GAAG,SAAhBA,aAAaA,CAAAlQ,IAAA,EAUb;AAAA,EAAA,IAAA2I,iBAAA;AAAA,EAAA,IATJiF,oBAAoB,GAAA5N,IAAA,CAApB4N,oBAAoB;IACpBwB,mBAAmB,GAAApP,IAAA,CAAnBoP,mBAAmB;IACnBG,WAAW,GAAAvP,IAAA,CAAXuP,WAAW;IACXlC,QAAQ,GAAArN,IAAA,CAARqN,QAAQ;IACRmC,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IACbC,sBAAsB,GAAAzP,IAAA,CAAtByP,sBAAsB;IACtBC,6BAA6B,GAAA1P,IAAA,CAA7B0P,6BAA6B;IAC7BS,mBAAmB,GAAAnQ,IAAA,CAAnBmQ,mBAAmB;IACnBlD,UAAU,GAAAjN,IAAA,CAAViN,UAAU;AAEV,EAAA,IAAAhK,SAAA,GAAsCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9CmN,IAAAA,WAAW,GAAAjN,UAAA,CAAA,CAAA,CAAA;AAAEkN,IAAAA,cAAc,GAAAlN,UAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAmN,UAAA,GAAwCpN,QAAQ,CAAC,IAAI,CAAC;IAAAqN,UAAA,GAAAnN,cAAA,CAAAkN,UAAA,EAAA,CAAA,CAAA;AAA/C5I,IAAAA,YAAY,GAAA6I,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAE,qBAAA,GAAsBC,iBAAiB,CAACC,YAAY,EAAE;IAAAC,sBAAA,GAAAxN,cAAA,CAAAqN,qBAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,SAAS,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAClB,EAAA,IAAAE,qBAAA,GAAiCC,OAAO,CAACJ,YAAY,EAAE;IAAAK,sBAAA,GAAA5N,cAAA,CAAA0N,qBAAA,EAAA,CAAA,CAAA;AAA9C1D,IAAAA,oBAAoB,GAAA4D,sBAAA,CAAA,CAAA,CAAA;AAE7BC,EAAAA,UAAU,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,YAAA;IAAA,OAAMZ,cAAc,CAACa,GAAG,CAAC;EAAA,CAAA,EAAE;AAC7DC,IAAAA,IAAI,EAAE;AACR,GAAC,CAAC;AAEF,EAAA,IAAM/F,WAAW,GAAGuC,cAAc,CAACC,oBAAoB,EAAEX,UAAU,CAAC;AAEpEmE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,EAAE,GAAG;AACTC,MAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAErP,IAAI,EAAI;AACrB,QAAA,IAAI,CAACA,IAAI,CAACsP,WAAW,EAAE;AACvBf,QAAAA,eAAe,CAACvO,IAAI,CAACsP,WAAW,CAAC;MACnC,CAAC;AACDC,MAAAA,MAAM,EAAE,SAARA,MAAMA,GAAQ;QACZhB,eAAe,CAAC,IAAI,CAAC;AACvB,MAAA;KACD;AAED3L,IAAAA,MAAM,CAACwM,EAAE,GAAGxM,MAAM,CAACwM,EAAE,GAAG1G,MAAM,CAACC,MAAM,CAAC/F,MAAM,CAACwM,EAAE,EAAEA,EAAE,CAAC,GAAGA,EAAE;EAC3D,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,IAAMI,WAAW,GACfxQ,WAAW,CAACb,OAAO,CAACI,WAAW,EAAE,KAAK,WAAW,MAAAH,MAAA,CAAAqR,kBAAA,CAExCxE,kBAAkB,EAAAvE,iBAAA,GACnB1H,WAAW,CAAC6D,IAAI,MAAA,IAAA,IAAA6D,iBAAA,uBAAhBA,iBAAA,CAAkBwE,OAAO,EACzBC,oBAAoB,EACpBhC,WAAW,CAACmB,eACd,CAAC,CAAA,EAAAmF,kBAAA,CACErE,QAAQ,KAEbA,QAAQ;AAEd,EAAA,IAAMsE,cAAc,GAAA,EAAA,CAAAtR,MAAA,CAAAqR,kBAAA,CACflE,qBAAqB,CAACpC,WAAW,CAACmB,eAAe,EAAEU,UAAU,CAAC,GAAAyE,kBAAA,CAC9DnC,WAAW,CAAA,CACf;AAED,EAAA,IAAMF,SAAS,GAAG1E,MAAM,CAACiH,IAAI,CAACvM,uBAAuB,CAAC,CACnD1C,GAAG,CAAC,UAAAkP,GAAG,EAAA;AAAA,IAAA,OAAAjS,eAAA,CAAA,EAAA,EAAUyF,uBAAuB,CAACwM,GAAG,CAAC,CAAA;AAAA,EAAA,CAAG,CAAC,CACjDtP,MAAM,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGsP,IAAI,GAAAtP,KAAA,CAAJsP,IAAI;AAAA,IAAA,OAAO,CAACA,IAAI;EAAA,CAAA,CAAC;AAE9B,EAAA,IAAMxC,YAAY,GAAG3E,MAAM,CAACiH,IAAI,CAACtL,uBAAuB,CAAC,CACtD/D,MAAM,CAAC,UAAAsP,GAAG,EAAA;AAAA,IAAA,IAAAE,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAA,CAAAF,qBAAA,GAAA,CAAAC,sBAAA,GAAI,CAAAC,sBAAA,GAAA3L,uBAAuB,CAACuL,GAAG,CAAC,EAACpL,SAAS,MAAA,IAAA,IAAAuL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtCA,sBAAA,CAAAE,IAAA,CAAAD,sBAAyC,CAAC,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;AAAA,EAAA,CAAA,CAAC,CACjEpP,GAAG,CAAC,UAAAkP,GAAG,EAAA;AAAA,IAAA,OAAAjS,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACH0G,uBAAuB,CAACuL,GAAG,CAAC,CAAA,EAC3BA,GAAG,KAAK,uBAAuB,IAAI;MACrC9L,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ8K,SAAS,CAAC,UAAAsB,IAAI,EAAA;AAAA,UAAA,OAAI,CAACA,IAAI;QAAA,CAAA,CAAC;AAAA,MAAA;AACzC,KAAC,GACGN,GAAG,KAAK,aAAa,IAAInK,YAAY,IAAI;AAAEA,MAAAA,YAAY,EAAZA;KAAc,CAAA;AAAA,EAAA,CAC7D,CAAC,CACFnF,MAAM,CAAC,UAAA6P,KAAA,EAAA;AAAA,IAAA,IAAGN,IAAI,GAAAM,KAAA,CAAJN,IAAI;AAAA,IAAA,OAAO,CAACA,IAAI;EAAA,CAAA,CAAC;EAE9B,oBACEnR,IAAA,CAAA4G,QAAA,EAAA;AAAApG,IAAAA,QAAA,EAAA,cACEC,GAAA,CAAC2P,OAAO,CAACsB,IAAI,EAAA;AAACC,MAAAA,YAAY,EAAEnC;AAAoB,KAAE,CAAC,eACnD/O,GAAA,CAACiG,UAAQ,EAAA;MACP0D,QAAQ,EAAE,SAAVA,QAAQA,GAAA;QAAA,OAAQgD,QAAQ,CAACC,IAAI;MAAA,CAAC;AAC9BuE,MAAAA,WAAW,EAAC,MAAM;AAClB7I,MAAAA,aAAa,EAAE,KAAM;AACrBlE,MAAAA,IAAI,EAAEgN,IAAK;AACX3I,MAAAA,mBAAmB,EAAE,EAAG;AACxBC,MAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAE;AACjBC,MAAAA,QAAQ,EAAC,WAAW;AACpB0I,MAAAA,QAAQ,EAAC,OAAO;AAChBxD,MAAAA,KAAK,EAAC,OAAO;AACbjF,MAAAA,OAAO,EAAC,KAAK;AACbC,MAAAA,MAAM,EAAE,KAAM;AACdN,MAAAA,YAAY,eACVhJ,IAAA,CAAA,QAAA,EAAA;AACEI,QAAAA,SAAS,EAAC,wCAAwC;AAClD+C,QAAAA,IAAI,EAAC,QAAQ;QAAA3C,QAAA,EAAA,cAEbC,GAAA,CAACiJ,MAAM,EAAA;AACLtJ,UAAAA,SAAS,EAAC,+EAA+E;AACzF,UAAA,SAAA,EAAQ,gBAAgB;AACxB,UAAA,aAAA,EAAY,gBAAgB;AAC5B8C,UAAAA,IAAI,EAAC,QAAQ;AACbiB,UAAAA,IAAI,EAAEsG;SACP,CAAC,eACFhK,GAAA,CAAA,MAAA,EAAA;AAAML,UAAAA,SAAS,EAAC,mDAAmD;UAAAI,QAAA,eACjEC,GAAA,CAAC0E,IAAI,EAAA;AAACjC,YAAAA,IAAI,EAAE;WAAK;AAAC,SACd,CAAC;AAAA,OACD,CACT;AACDmH,MAAAA,aAAa,EAAE;AACb1H,QAAAA,UAAU,EAAE;OACZ;MAAAnC,QAAA,eAEFC,GAAA,CAAC+N,WAAW,EAAA;AAERK,QAAAA,aAAa,EAAbA,aAAa;AACbF,QAAAA,YAAY,EAAZA,YAAY;AACZD,QAAAA,SAAS,EAATA,SAAS;AACTpC,QAAAA,UAAU,EAAVA,UAAU;AACVyC,QAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BD,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBrE,QAAAA,WAAW,EAAXA,WAAW;AACXgE,QAAAA,mBAAmB,EAAnBA,mBAAmB;AAErBG,QAAAA,WAAW,EAAEoC,cAAe;AAC5BzG,QAAAA,WAAW,EAAEmF,cAAe;AAC5BhD,QAAAA,QAAQ,EAAEoE;OACX;AAAC,KACM,CAAC,EACVzJ,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;AAAY,KACT,CACP,eACDtG,GAAA,CAACsR,KAAoB,EAAA;AACnBtO,MAAAA,MAAM,EAAEgM,WAAY;MACpB/L,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQgM,cAAc,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KACtC,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;;;;;;;ACpJD,IAAMsC,kBAAkB,gBAAGC,UAAU,CACnC,UAAA5S,IAAA,EAaE4D,GAAG,EACA;AAAA,EAAA,IAAA+E,iBAAA;AAAA,EAAA,IAAAkK,qBAAA,GAAA7S,IAAA,CAZD4N,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAiF,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,aAAA,GAAA9S,IAAA,CACzBqN,QAAQ;AAARA,IAAAA,QAAQ,GAAAyF,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAAC,gBAAA,GAAA/S,IAAA,CACbuP,WAAW;AAAXA,IAAAA,WAAW,GAAAwD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,qBAAA,GAAAhT,IAAA,CAChBoP,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA4D,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAC,qBAAA,GAAAjT,IAAA,CAC1ByP,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAwD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAlT,IAAA,CAC9B0P,6BAA6B;AAA7BA,IAAAA,6BAA6B,GAAAwD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IACrC1D,aAAa,GAAAxP,IAAA,CAAbwP,aAAa;IAAA2D,qBAAA,GAAAnT,IAAA,CACbmQ,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAgD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,eAAA,GAAApT,IAAA,CACxBiN,UAAU;AAAVA,IAAAA,UAAU,GAAAmG,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;AACfzL,IAAAA,UAAU,GAAAC,wBAAA,CAAA5H,IAAA,EAAA6H,SAAA,CAAA;AAIfuJ,EAAAA,SAAS,CAAC,YAAM;IACd3B,sBAAsB,IAAIpB,WAAW,EAAE;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMgF,gBAAgB,GACpBpS,aAAW,KAAA,IAAA,IAAXA,aAAW,KAAA,MAAA,IAAA,CAAA0H,iBAAA,GAAX1H,aAAW,CAAE6D,IAAI,MAAA,IAAA,IAAA6D,iBAAA,KAAA,MAAA,IAAA,CAAAA,iBAAA,GAAjBA,iBAAA,CAAmB5D,KAAK,MAAA,IAAA,IAAA4D,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,iBAAA,CAA0BzD,QAAQ,CAAC,gBAAgB,CAAC;AAEtD,EAAA,oBACE9D,GAAA,CAAA,KAAA,EAAAxB,aAAA,CAAAA,aAAA,CAAA;AACQgE,IAAAA,GAAG,EAAHA,GAAG;AACT7C,IAAAA,SAAS,EAAC,iDAAiD;AAC3D,IAAA,SAAA,EAAQ,gCAAgC;IACxC,aAAA,EAAY;AAAgC,GAAA,EACxC4G,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAxG,IAAAA,QAAA,eAEdC,GAAA,CAAC8O,aAAa,EAAAhM,eAAA,CAAA;AAEVqL,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,aAAa,EAAbA,aAAa;AACbvC,MAAAA,UAAU,EAAVA,UAAU;AACVyC,MAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BD,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtB7B,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBuC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBf,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB/B,MAAAA,QAAQ,EAARA;KAAQ,EAAA,+BAAA,EAGRgG,gBAAgB,IAAI3D,6BAA6B,CAEpD;AAAC,GAAA,CACC,CAAC;AAEV,CACF;AAEAiD,kBAAkB,CAACW,WAAW,GAAG,oBAAoB;;;;"}
|
|
@@ -12,14 +12,13 @@ import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
|
12
12
|
import Kbd from '@bigbinary/neetoui/Kbd';
|
|
13
13
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
14
14
|
import i18next from 'i18next';
|
|
15
|
-
import { p as platform } from './platform-F44zJ4Xh.js';
|
|
16
15
|
import { toPairs } from 'ramda';
|
|
16
|
+
import { U as UAParser } from './ua-parser-rRwDJPFB.js';
|
|
17
17
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
18
18
|
import { n } from './inject-css-C2dztUxs.js';
|
|
19
19
|
import 'zustand/shallow';
|
|
20
20
|
import '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
21
21
|
import 'zustand';
|
|
22
|
-
import './_commonjsHelpers-BFTU3MAI.js';
|
|
23
22
|
|
|
24
23
|
var KEY_SHORTFORM_MAP = {
|
|
25
24
|
command: "⌘",
|
|
@@ -63,9 +62,10 @@ var convertHotKeyToWindows = function convertHotKeyToWindows(hotkey) {
|
|
|
63
62
|
return hotkey;
|
|
64
63
|
};
|
|
65
64
|
var convertHotkeyToUsersPlatform = function convertHotkeyToUsersPlatform(hotkey) {
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
-
var
|
|
65
|
+
var _result$os$name;
|
|
66
|
+
var parser = new UAParser(navigator.userAgent);
|
|
67
|
+
var result = parser.getResult();
|
|
68
|
+
var isOSX = (_result$os$name = result.os.name) === null || _result$os$name === void 0 ? void 0 : _result$os$name.includes(OS.mac);
|
|
69
69
|
if (isOSX) return hotkey;
|
|
70
70
|
return convertHotKeyToWindows(hotkey);
|
|
71
71
|
};
|
|
@@ -1 +1 @@
|
|
|
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: \"command+/\",\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 openProductSwitcher: {\n sequence: \"command+e\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\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(\n shortcuts.openKeyboardShortcutsPane.sequence,\n () => setIsOpen(prevIsOpen => !prevIsOpen),\n { mode: \"global\" }\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false), {\n mode: \"global\",\n enabled: isOpen,\n });\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","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","openProductSwitcher","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","mode","enabled","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 { toPairs } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\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 parser = new UAParser(navigator.userAgent);\n const result = parser.getResult();\n const isOSX = result.os.name?.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: \"command+/\",\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 openProductSwitcher: {\n sequence: \"command+e\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\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(\n shortcuts.openKeyboardShortcutsPane.sequence,\n () => setIsOpen(prevIsOpen => !prevIsOpen),\n { mode: \"global\" }\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false), {\n mode: \"global\",\n enabled: isOpen,\n });\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","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","_result$os$name","parser","UAParser","navigator","userAgent","result","getResult","isOSX","os","name","includes","shortenHotKey","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","openProductSwitcher","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","mode","enabled","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
|