@bigbinary/neeto-molecules 1.19.17 → 2.0.1

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.
Files changed (51) hide show
  1. package/dist/BrowserSupport.js +1 -1
  2. package/dist/{Chevron-fe44fbdd.js → Chevron-5b713e55.js} +6 -5
  3. package/dist/Chevron-5b713e55.js.map +1 -0
  4. package/dist/ConfigurePageSidebar.js +3 -8
  5. package/dist/ConfigurePageSidebar.js.map +1 -1
  6. package/dist/CopyToClipboardButton.js +1 -1
  7. package/dist/CustomDomain.js +1 -1
  8. package/dist/CustomDomainDashboard.js +1 -1
  9. package/dist/FloatingActionMenu.js +12 -19
  10. package/dist/FloatingActionMenu.js.map +1 -1
  11. package/dist/IpRestriction.js +10 -7
  12. package/dist/IpRestriction.js.map +1 -1
  13. package/dist/MenuBar.js +1 -1
  14. package/dist/Schedule.js +2 -2
  15. package/dist/Schedule.js.map +1 -1
  16. package/dist/Settings.js +1 -1
  17. package/dist/Settings.js.map +1 -1
  18. package/dist/ShareViaLink.js +1 -1
  19. package/dist/ShareViaLink.js.map +1 -1
  20. package/dist/Sidebar.js +5 -11
  21. package/dist/Sidebar.js.map +1 -1
  22. package/dist/SubHeader.js +1 -1
  23. package/dist/cjs/BrowserSupport.js +1 -1
  24. package/dist/cjs/{Chevron-37ef38ee.js → Chevron-840304ff.js} +6 -5
  25. package/dist/cjs/Chevron-840304ff.js.map +1 -0
  26. package/dist/cjs/ConfigurePageSidebar.js +3 -8
  27. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  28. package/dist/cjs/CopyToClipboardButton.js +1 -1
  29. package/dist/cjs/CustomDomain.js +1 -1
  30. package/dist/cjs/CustomDomainDashboard.js +1 -1
  31. package/dist/cjs/FloatingActionMenu.js +10 -18
  32. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  33. package/dist/cjs/IpRestriction.js +9 -6
  34. package/dist/cjs/IpRestriction.js.map +1 -1
  35. package/dist/cjs/MenuBar.js +1 -1
  36. package/dist/cjs/Schedule.js +2 -2
  37. package/dist/cjs/Schedule.js.map +1 -1
  38. package/dist/cjs/Settings.js +1 -1
  39. package/dist/cjs/Settings.js.map +1 -1
  40. package/dist/cjs/ShareViaLink.js +1 -1
  41. package/dist/cjs/ShareViaLink.js.map +1 -1
  42. package/dist/cjs/Sidebar.js +6 -12
  43. package/dist/cjs/Sidebar.js.map +1 -1
  44. package/dist/cjs/SubHeader.js +1 -1
  45. package/dist/cjs/{index-5189db17.js → index-a0ea156b.js} +1 -1
  46. package/dist/cjs/{index-5189db17.js.map → index-a0ea156b.js.map} +1 -1
  47. package/dist/{index-e29acf27.js → index-92e5af99.js} +1 -1
  48. package/dist/{index-e29acf27.js.map → index-92e5af99.js.map} +1 -1
  49. package/package.json +2 -2
  50. package/dist/Chevron-fe44fbdd.js.map +0 -1
  51. package/dist/cjs/Chevron-37ef38ee.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Menu.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Modal.jsx","../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/components/LinkSection.jsx","../src/components/FloatingActionMenu/components/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 React from \"react\";\n\nimport classnames from \"classnames\";\nimport { NeetoIcon } from \"neetoicons\";\nimport * as AppIcons from \"neetoicons/app-icons\";\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\n className={classnames(\n \"neeto-molecules-product-switcher-link__icon-holder\",\n { \"neeto-ui-bg-primary-500\": !AppIcon }\n )}\n >\n {AppIcon ? (\n <AppIcon size={42} />\n ) : (\n <NeetoIcon color=\"white\" size={42} />\n )}\n </div>\n <div className=\"neeto-molecules-product-switcher-link__content\">\n <Typography\n component=\"span\"\n lineHeight=\"relaxed\"\n style=\"h4\"\n weight=\"medium\"\n >\n {name}\n </Typography>\n <Typography component=\"span\" style=\"body3\" weight=\"normal\">\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default React.memo(ProductLink);\n","import React, { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./product-switcher.scss\";\nimport ProductLink from \"./ProductLink\";\n\nconst Menu = ({ isMobile = false }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { data } = useFetchNeetoApps({ enabled: false });\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n const handleSearch = e => setSearchTerm(e.target.value);\n\n return (\n <div\n className=\"neeto-molecules-product-switcher__wrapper\"\n data-cy=\"switcher-wrapper\"\n data-testid=\"switcher-wrapper\"\n key=\"switcher-wrapper\"\n >\n <div\n data-cy=\"product-switcher-body-wrapper\"\n className={classNames(\"neeto-molecules-product-switcher__header\", {\n \"neeto-molecules-product-switcher__header-mobile\": isMobile,\n })}\n >\n {!isMobile && (\n <Typography style=\"h1\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n )}\n <div className=\"neeto-molecules-product-switcher__search-wrapper\">\n <Input\n autoFocus\n data-cy=\"product-switcher-search-input\"\n placeholder={t(\"neetoMolecules.productSwitcher.searchProducts\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n </div>\n <div\n className={classNames(\"neeto-molecules-product-switcher__body\", {\n [\"neeto-molecules-product-switcher__body-mobile\"]: isMobile,\n })}\n >\n {filteredApps?.length > 0 ? (\n <div className=\"neeto-molecules-product-switcher__grid\">\n {filteredApps.map(app => (\n <ProductLink key={app.name} {...app} />\n ))}\n </div>\n ) : (\n <Typography className=\"neeto-ui-text-center\" style=\"body1\">\n {t(\"neetoMolecules.productSwitcher.noApps\")}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal as NeetoUIModal, Typography } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = withT(({ t, isOpen, onClose }) => (\n <NeetoUIModal\n {...{ isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"fullScreen\"\n >\n <NeetoUIModal.Header>\n <Typography className=\"pr-4\" style=\"h2\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n </NeetoUIModal.Header>\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu isMobile />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n));\n\nexport default Modal;\n","import { t } from \"i18next\";\nimport { Book, Help } 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 CHANGELOG_WIDGET_TRIGGER_ID = \"neetochangelog-trigger\";\nexport const MENU_ITEMS_WITH_ICONS = [\"Chat with support\", \"Help articles\"];\n\nexport const DEFAULT_HELP_LINK_PROPS = {\n helpCenterProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.helpArticles\"),\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 changelogProps: {\n id: CHANGELOG_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-cy\": \"help-link-changelog-button\",\n isVisible: shouldShowWhatsNew,\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-cy\": \"help-link-keyboard-shortcut-button\",\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","import React from \"react\";\n\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport { MENU_ITEMS_WITH_ICONS, 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 style=\"text\"\n prefix={\n MENU_ITEMS_WITH_ICONS.includes(label) ? (\n <Icon size={18} />\n ) : undefined\n }\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 React from \"react\";\n\nimport { Right } from \"neetoicons\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ isLoading, onMouseEnter, ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\n {...{ onMouseEnter }}\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"product-switcher-button\"\n data-testid=\"product-switcher-button\"\n label={t(\"neetoMolecules.sidebar.productSwitcher\")}\n style=\"text\"\n suffix={isLoading ? <Spinner /> : <Right size={18} />}\n {...otherProps}\n >\n {t(\"neetoMolecules.sidebar.productSwitcher\")}\n </MenuItem.Button>\n );\n};\n\nexport default MenuButton;\n","import React from \"react\";\n\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst Dropdown = () => {\n const { Menu, MenuItem } = NeetoUIDropdown;\n\n const {\n data,\n isLoading,\n isStale,\n refetch: refetchNeetoApps,\n } = useFetchNeetoApps();\n\n const onMouseEnter = () => {\n if (!isStale) return;\n refetchNeetoApps();\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ isLoading, onMouseEnter }} />}\n disabled={!data || isLoading}\n interactiveDebounce={30}\n isOpen={!data ? false : undefined}\n offset={[0, 5]}\n position=\"right\"\n trigger=\"all\"\n zIndex={99999}\n dropdownProps={{\n classNames: \"neeto-molecules-product-switcher-menu-popup__dropdown\",\n }}\n >\n <Menu>\n <MenuItem>\n <ProductSwitcherMenu />\n </MenuItem>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport 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 React from \"react\";\n\nimport { 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-100 neeto-molecules-profile-popup__top-section\"\n data-cy=\"floating-action-menu-profile-header\"\n >\n <div className=\"left-0 top-0\">\n <Avatar\n data-cy=\"floating-action-menu-header-profile-icon\"\n size=\"large\"\n user={profileInfo}\n />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3\">\n <Typography\n className=\"neeto-ui-m-0\"\n component=\"h2\"\n data-cy=\"floating-action-menu-header-user-name\"\n lineHeight=\"tight\"\n style=\"h5\"\n title={name}\n weight=\"semibold\"\n >\n {truncate(name, 18)}\n </Typography>\n {email && (\n <Typography\n className=\"neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700\"\n data-cy=\"floating-action-menu-header-user-email\"\n lineHeight=\"tight\"\n style=\"body3\"\n >\n {email}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProfileHeader;\n","import { t } from \"i18next\";\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { resetAuthTokens } from \"neetocommons/utils/axios\";\nimport { removeFromLocalStorage } from \"neetocommons/utils/general\";\nimport { mergeDeepLeft } from \"ramda\";\n\nimport {\n MY_ORGANIZATION_URL,\n THEMES,\n APP_THEME_LOCALSTORAGE_KEY,\n} from \"./constants\";\n\nconst getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const getDefaultTopLinks = (isOwner, setIsProfilePaneOpen) =>\n [\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 isOwner && {\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n },\n ].filter(Boolean);\n\nexport const getDefaultBottomLinks = () => [\n {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/logout\";\n },\n \"data-cy\": \"profile-logout-button\",\n },\n];\n\nexport const getProfileInfo = profileInfoOverrides =>\n mergeDeepLeft(profileInfoOverrides, {\n name: `${globalProps.user?.firstName} ${globalProps.user?.lastName}`,\n imageUrl: globalProps.user?.profileImageUrl,\n email: globalProps.user?.email || globalProps.user?.phoneNumber,\n });\n\n// Theme switcher utils.\nexport const setDarkTheme = () => {\n document.body.classList.remove(THEMES.LIGHT);\n document.body.classList.add(THEMES.DARK);\n};\n\nexport const setLightTheme = () => {\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 React from \"react\";\n\nimport { 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 React from \"react\";\n\nimport 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 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 React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nimport LinkSection from \"./LinkSection\";\nimport ProductSwitcherMenu from \"./ProductSwitcher\";\nimport ProfileHeader from \"./ProfileHeader\";\nimport ThemeSwitcher from \"./ThemeSwitcher\";\n\nconst ProfileMenu = ({\n profileInfo,\n showProductSwitcher,\n helpLinks,\n defaultLinks,\n topLinks,\n bottomLinks,\n customContent,\n toggleModal,\n isThemeSwitcherEnabled,\n}) => {\n const { Menu, MenuItem, Divider } = Dropdown;\n\n return (\n <Menu className=\"pb-1\">\n <MenuItem\n className=\"neeto-molecules-profile-popup mb-1\"\n data-cy=\"profile-popup\"\n data-testid=\"profile-popup\"\n >\n <ProfileHeader {...{ profileInfo }} />\n </MenuItem>\n {showProductSwitcher && <ProductSwitcherMenu {...{ toggleModal }} />}\n {isThemeSwitcherEnabled && <ThemeSwitcher />}\n <Divider />\n <LinkSection links={topLinks} />\n {isPresent(customContent) && (\n <>\n <Divider />\n <MenuItem className=\"neeto-molecules-floating-action-button__profile-wrapper-custom-content\">\n {customContent}\n </MenuItem>\n </>\n )}\n <Divider />\n <LinkSection links={defaultLinks} />\n <Divider />\n <LinkSection links={helpLinks} />\n <Divider />\n <LinkSection links={bottomLinks} />\n </Menu>\n );\n};\n\nexport default ProfileMenu;\n","import React, { useEffect, useState } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\n\nimport KeyboardShortcuts from \"components/KeyboardShortcuts\";\n\nimport ProductSwitcherModal from \"./ProductSwitcher/Modal\";\nimport ProfileMenu from \"./ProfileMenu\";\n\nimport { DEFAULT_HELP_LINK_PROPS, DEFAULT_MENU_LINK_PROPS } from \"../constants\";\nimport {\n getDefaultBottomLinks,\n getDefaultTopLinks,\n getProfileInfo,\n} from \"../utils\";\n\nconst ProfileButton = ({\n helpLinkOverrides,\n profileInfoOverrides,\n showProductSwitcher,\n bottomLinks,\n topLinks,\n customContent,\n isThemeSwitcherEnabled,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [changesCount, setChangesCount] = useState(null);\n\n const [, setIsOpen] = KeyboardShortcuts.usePaneState();\n const [, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const { data, refetch, isStale } = useFetchNeetoApps();\n\n const profileInfo = getProfileInfo(profileInfoOverrides);\n\n useEffect(() => {\n const Nv = {\n onReceiveData: data => {\n if (!data.unreadCount) return;\n setChangesCount(data.unreadCount);\n },\n onShow: () => {\n setChangesCount(null);\n },\n };\n\n window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;\n }, []);\n\n useEffect(() => {\n if (!isStale) return;\n refetch();\n }, [isStale]);\n\n const newTopLinks =\n globalProps.appName !== \"neetoAuth\"\n ? [\n ...getDefaultTopLinks(data?.isOwner, setIsProfilePaneOpen),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [...getDefaultBottomLinks(), ...bottomLinks];\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 ...helpLinkOverrides[key],\n ...(key === \"keyboardShortcutProps\" && {\n onClick: () => setIsOpen(prev => !prev),\n }),\n ...(key === \"changelogProps\" && changesCount && { changesCount }),\n }))\n .filter(({ hide }) => !hide);\n\n return (\n <>\n <Profile.Pane />\n <Dropdown\n isMultiLevel\n appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\n data-cy=\"floating-action-button\"\n data-testid=\"floating-action-button\"\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 </button>\n }\n dropdownProps={{\n classNames: \"neeto-molecules-floating-action-button__dropdown\",\n }}\n >\n <ProfileMenu\n {...{\n customContent,\n defaultLinks,\n helpLinks,\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 React, { forwardRef, useEffect } from \"react\";\n\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 helpLinkOverrides = {},\n topLinks = [],\n bottomLinks = [],\n showProductSwitcher = true,\n isThemeSwitcherEnabled = false,\n customContent,\n ...otherProps\n },\n ref\n ) => {\n useEffect(() => {\n isThemeSwitcherEnabled && setAppTheme();\n }, []);\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 helpLinkOverrides,\n isThemeSwitcherEnabled,\n profileInfoOverrides,\n showProductSwitcher,\n topLinks,\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 override the values in the help links section in the menu.\n */\n helpLinkOverrides: PropTypes.object,\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\nexport default FloatingActionMenu;\n"],"names":["ProductLink","_ref","name","description","url","appName","concat","charAt","slice","toLowerCase","AppIcon","AppIcons","React","createElement","href","rel","target","className","classnames","globalProps","includes","size","NeetoIcon","color","Typography","component","lineHeight","style","weight","memo","Menu","_ref$isMobile","isMobile","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","_useFetchNeetoApps","useFetchNeetoApps","enabled","data","substring","replace","filteredApps","neetoApps","filter","_ref2","handleSearch","e","value","key","classNames","Input","autoFocus","placeholder","prefix","Search","type","onChange","_defineProperty","length","map","app","_extends","Modal","withT","isOpen","onClose","NeetoUIModal","backdropClassName","Header","Body","shouldShowWhatsNew","_window$globalProps","_window$globalProps$u","currentUserEmail","window","user","email","location","hostname","endsWith","MY_ORGANIZATION_URL","CHANGELOG_WIDGET_TRIGGER_ID","MENU_ITEMS_WITH_ICONS","DEFAULT_HELP_LINK_PROPS","helpCenterProps","label","icon","Book","toLower","liveChatProps","Help","onClick","_window$NeetoChat","_window$NeetoChat$con","_window$NeetoChat2","_window$NeetoChat2$co","NeetoChat","contextualHelp","maximizeWidget","openWidget","DEFAULT_MENU_LINK_PROPS","changelogProps","id","isVisible","keyboardShortcutProps","NON_BUTTON_PROPS","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","LinkSection","links","MenuItem","Dropdown","isNotPresent","Fragment","idx","Icon","changesCount","otherProps","_objectWithoutProperties","_excluded","Button","undefined","omit","isPresent","MenuButton","isLoading","onMouseEnter","suffix","Spinner","Right","NeetoUIDropdown","isStale","refetchNeetoApps","refetch","closeOnSelect","customTarget","MenuItemButton","disabled","interactiveDebounce","offset","position","trigger","zIndex","dropdownProps","ProductSwitcherMenu","ProductSwitcher","toggleModal","_useBreakpoints","useBreakpoints","isSize","ProfileHeader","profileInfo","Avatar","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","phoneNumber","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","open","Boolean","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","_globalProps$user3","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","mergeDeepLeft","firstName","lastName","imageUrl","profileImageUrl","setDarkTheme","document","body","classList","remove","add","setLightTheme","setAppTheme","isDarkTheme","getFromLocalStorage","selectedThemeName","selectedTheme","ThemeSwitcher","_useLocalStorage","useLocalStorage","_useLocalStorage2","appTheme","isDarkThemeSelected","switchTheme","theme","Check","ProfileMenu","showProductSwitcher","helpLinks","defaultLinks","topLinks","bottomLinks","customContent","isThemeSwitcherEnabled","Divider","ProfileButton","helpLinkOverrides","isModalOpen","setIsModalOpen","_useState3","_useState4","setChangesCount","_KeyboardShortcuts$us","KeyboardShortcuts","usePaneState","_KeyboardShortcuts$us2","setIsOpen","_Profile$usePaneState","Profile","_Profile$usePaneState2","useEffect","Nv","onReceiveData","unreadCount","onShow","Object","assign","newTopLinks","_toConsumableArray","newBottomLinks","keys","_objectSpread","hide","_DEFAULT_MENU_LINK_PR","_DEFAULT_MENU_LINK_PR2","_DEFAULT_MENU_LINK_PR3","call","prev","_ref3","Pane","isMultiLevel","appendTo","buttonStyle","noop","strategy","ProductSwitcherModal","FloatingActionMenu","forwardRef","ref","_ref$profileInfoOverr","_ref$helpLinkOverride","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"FloatingActionMenu.js","sources":["../src/components/FloatingActionMenu/components/ProductSwitcher/ProductLink.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Menu.jsx","../src/components/FloatingActionMenu/components/ProductSwitcher/Modal.jsx","../src/components/FloatingActionMenu/constants.js","../src/components/FloatingActionMenu/components/LinkSection.jsx","../src/components/FloatingActionMenu/components/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 React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as AppIcons from \"neetoicons/typeface-logos\";\nimport { Typography } from \"neetoui\";\n\nimport \"./product-switcher.scss\";\n\nconst ProductLink = ({ name, description, url }) => {\n const appName = `Neeto${name.charAt(0)}${name.slice(1).toLowerCase()}`;\n const AppIcon = AppIcons[appName];\n\n return (\n <a\n data-cy={`${name}-app-link`}\n data-test-id={`neetoapp-link-${name}`}\n href={url}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"neeto-molecules-product-switcher-link\", {\n \"neeto-molecules-product-switcher-link--active\":\n globalProps.appName.includes(name),\n })}\n >\n <div className=\"neeto-molecules-product-switcher-link__icon-holder\">\n {AppIcon ? (\n <AppIcon />\n ) : (\n <Neeto className=\"neeto-molecules-product-switcher-link__icon-default\" />\n )}\n </div>\n <div className=\"neeto-molecules-product-switcher-link__divider neeto-ui-bg-gray-200\" />\n <div className=\"neeto-molecules-product-switcher-link__content\">\n <Typography component=\"span\" style=\"body3\" weight=\"medium\">\n {description}\n </Typography>\n </div>\n </a>\n );\n};\n\nexport default React.memo(ProductLink);\n","import React, { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Search } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./product-switcher.scss\";\nimport ProductLink from \"./ProductLink\";\n\nconst Menu = ({ isMobile = false }) => {\n const { t } = useTranslation();\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { data } = useFetchNeetoApps({ enabled: false });\n\n const substring = searchTerm.replace(/ /g, \"\").toLowerCase();\n\n const filteredApps = data?.neetoApps.filter(({ name }) =>\n name.toLowerCase().includes(substring)\n );\n\n const handleSearch = e => setSearchTerm(e.target.value);\n\n return (\n <div\n className=\"neeto-molecules-product-switcher__wrapper\"\n data-cy=\"switcher-wrapper\"\n data-testid=\"switcher-wrapper\"\n key=\"switcher-wrapper\"\n >\n <div\n data-cy=\"product-switcher-body-wrapper\"\n className={classNames(\"neeto-molecules-product-switcher__header\", {\n \"neeto-molecules-product-switcher__header-mobile\": isMobile,\n })}\n >\n {!isMobile && (\n <Typography style=\"h1\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n )}\n <div className=\"neeto-molecules-product-switcher__search-wrapper\">\n <Input\n autoFocus\n data-cy=\"product-switcher-search-input\"\n placeholder={t(\"neetoMolecules.productSwitcher.searchProducts\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n />\n </div>\n </div>\n <div\n className={classNames(\"neeto-molecules-product-switcher__body\", {\n [\"neeto-molecules-product-switcher__body-mobile\"]: isMobile,\n })}\n >\n {filteredApps?.length > 0 ? (\n <div className=\"neeto-molecules-product-switcher__grid\">\n {filteredApps.map(app => (\n <ProductLink key={app.name} {...app} />\n ))}\n </div>\n ) : (\n <Typography className=\"neeto-ui-text-center\" style=\"body1\">\n {t(\"neetoMolecules.productSwitcher.noApps\")}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal as NeetoUIModal, Typography } from \"neetoui\";\n\nimport Menu from \"./Menu\";\n\nconst Modal = withT(({ t, isOpen, onClose }) => (\n <NeetoUIModal\n {...{ isOpen, onClose }}\n backdropClassName=\"neeto-molecules-product-switcher_modal\"\n size=\"fullScreen\"\n >\n <NeetoUIModal.Header>\n <Typography className=\"pr-4\" style=\"h2\">\n {t(\"neetoMolecules.productSwitcher.chooseNeetoProduct\")}\n </Typography>\n </NeetoUIModal.Header>\n <NeetoUIModal.Body>\n <div\n className=\"neeto-molecules-product-switcher_modal-container\"\n data-testid=\"product-switcher-modal\"\n >\n <Menu isMobile />\n </div>\n </NeetoUIModal.Body>\n </NeetoUIModal>\n));\n\nexport default Modal;\n","import { t } from \"i18next\";\nimport { Book, Help } 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 CHANGELOG_WIDGET_TRIGGER_ID = \"neetochangelog-trigger\";\nexport const MENU_ITEMS_WITH_ICONS = [\"Chat with support\", \"Help articles\"];\n\nexport const DEFAULT_HELP_LINK_PROPS = {\n helpCenterProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.helpArticles\"),\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 changelogProps: {\n id: CHANGELOG_WIDGET_TRIGGER_ID,\n label: t(\"neetoMolecules.sidebar.helpLinks.whatsNew\"),\n \"data-cy\": \"help-link-changelog-button\",\n isVisible: shouldShowWhatsNew,\n },\n keyboardShortcutProps: {\n label: t(\"neetoMolecules.sidebar.helpLinks.keyboardShortcuts\"),\n \"data-cy\": \"help-link-keyboard-shortcut-button\",\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","import React from \"react\";\n\nimport { isNotPresent, isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\nimport { omit } from \"ramda\";\n\nimport { MENU_ITEMS_WITH_ICONS, 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 style=\"text\"\n prefix={\n MENU_ITEMS_WITH_ICONS.includes(label) ? (\n <Icon size={18} />\n ) : undefined\n }\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 React from \"react\";\n\nimport { Right } from \"neetoicons\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuButton = ({ isLoading, onMouseEnter, ...otherProps }) => {\n const { t } = useTranslation();\n const { MenuItem } = Dropdown;\n\n return (\n <MenuItem.Button\n {...{ onMouseEnter }}\n className=\"neeto-molecules-menu-sublist__item-btn\"\n data-cy=\"product-switcher-button\"\n data-testid=\"product-switcher-button\"\n label={t(\"neetoMolecules.sidebar.productSwitcher\")}\n style=\"text\"\n suffix={isLoading ? <Spinner /> : <Right size={18} />}\n {...otherProps}\n >\n {t(\"neetoMolecules.sidebar.productSwitcher\")}\n </MenuItem.Button>\n );\n};\n\nexport default MenuButton;\n","import React from \"react\";\n\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport ProductSwitcherMenu from \"./Menu\";\nimport MenuItemButton from \"./MenuButton\";\n\nconst Dropdown = () => {\n const { Menu, MenuItem } = NeetoUIDropdown;\n\n const {\n data,\n isLoading,\n isStale,\n refetch: refetchNeetoApps,\n } = useFetchNeetoApps();\n\n const onMouseEnter = () => {\n if (!isStale) return;\n refetchNeetoApps();\n };\n\n return (\n <NeetoUIDropdown\n className=\"neeto-molecules-product-switcher-menu-popup-wrapper\"\n closeOnSelect={false}\n customTarget={<MenuItemButton {...{ isLoading, onMouseEnter }} />}\n disabled={!data || isLoading}\n interactiveDebounce={30}\n isOpen={!data ? false : undefined}\n offset={[0, 5]}\n position=\"right\"\n trigger=\"all\"\n zIndex={99999}\n dropdownProps={{\n classNames: \"neeto-molecules-product-switcher-menu-popup__dropdown\",\n }}\n >\n <Menu>\n <MenuItem>\n <ProductSwitcherMenu />\n </MenuItem>\n </Menu>\n </NeetoUIDropdown>\n );\n};\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport 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 React from \"react\";\n\nimport { truncate } from \"neetocist\";\nimport { Avatar, Typography } from \"neetoui\";\n\nconst ProfileHeader = ({ profileInfo }) => {\n const { name, email } = profileInfo;\n\n return (\n <div\n className=\"neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-50 neeto-molecules-profile-popup__top-section\"\n data-cy=\"floating-action-menu-profile-header\"\n >\n <div className=\"left-0 top-0\">\n <Avatar\n data-cy=\"floating-action-menu-header-profile-icon\"\n size=\"large\"\n user={profileInfo}\n />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3\">\n <Typography\n className=\"neeto-ui-m-0\"\n component=\"h2\"\n data-cy=\"floating-action-menu-header-user-name\"\n lineHeight=\"tight\"\n style=\"h5\"\n title={name}\n weight=\"semibold\"\n >\n {truncate(name, 18)}\n </Typography>\n {email && (\n <Typography\n className=\"neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700\"\n data-cy=\"floating-action-menu-header-user-email\"\n lineHeight=\"tight\"\n style=\"body3\"\n >\n {email}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProfileHeader;\n","import { t } from \"i18next\";\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { resetAuthTokens } from \"neetocommons/utils/axios\";\nimport { removeFromLocalStorage } from \"neetocommons/utils/general\";\nimport { mergeDeepLeft } from \"ramda\";\n\nimport {\n MY_ORGANIZATION_URL,\n THEMES,\n APP_THEME_LOCALSTORAGE_KEY,\n} from \"./constants\";\n\nconst getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const getDefaultTopLinks = (isOwner, setIsProfilePaneOpen) =>\n [\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 isOwner && {\n label: t(\"neetoMolecules.sidebar.myWorkspace\"),\n onClick: () => window.open(MY_ORGANIZATION_URL, \"_self\"),\n \"data-cy\": \"profile-organization-settings-button\",\n },\n ].filter(Boolean);\n\nexport const getDefaultBottomLinks = () => [\n {\n label: t(\"neetoMolecules.sidebar.logout\"),\n onClick: () => {\n resetAuthTokens();\n removeFromLocalStorage(getSidebarStateLocalStorageKey());\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = \"/logout\";\n },\n \"data-cy\": \"profile-logout-button\",\n },\n];\n\nexport const getProfileInfo = profileInfoOverrides =>\n mergeDeepLeft(profileInfoOverrides, {\n name: `${globalProps.user?.firstName} ${globalProps.user?.lastName}`,\n imageUrl: globalProps.user?.profileImageUrl,\n email: globalProps.user?.email || globalProps.user?.phoneNumber,\n });\n\n// Theme switcher utils.\nexport const setDarkTheme = () => {\n document.body.classList.remove(THEMES.LIGHT);\n document.body.classList.add(THEMES.DARK);\n};\n\nexport const setLightTheme = () => {\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 React from \"react\";\n\nimport { 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 React from \"react\";\n\nimport 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 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 React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nimport LinkSection from \"./LinkSection\";\nimport ProductSwitcherMenu from \"./ProductSwitcher\";\nimport ProfileHeader from \"./ProfileHeader\";\nimport ThemeSwitcher from \"./ThemeSwitcher\";\n\nconst ProfileMenu = ({\n profileInfo,\n showProductSwitcher,\n helpLinks,\n defaultLinks,\n topLinks,\n bottomLinks,\n customContent,\n toggleModal,\n isThemeSwitcherEnabled,\n}) => {\n const { Menu, MenuItem, Divider } = Dropdown;\n\n return (\n <Menu className=\"pb-1\">\n <MenuItem\n className=\"neeto-molecules-profile-popup mb-1\"\n data-cy=\"profile-popup\"\n data-testid=\"profile-popup\"\n >\n <ProfileHeader {...{ profileInfo }} />\n </MenuItem>\n {showProductSwitcher && <ProductSwitcherMenu {...{ toggleModal }} />}\n {isThemeSwitcherEnabled && <ThemeSwitcher />}\n <Divider />\n <LinkSection links={topLinks} />\n {isPresent(customContent) && (\n <>\n <Divider />\n <MenuItem className=\"neeto-molecules-floating-action-button__profile-wrapper-custom-content\">\n {customContent}\n </MenuItem>\n </>\n )}\n <Divider />\n <LinkSection links={defaultLinks} />\n <Divider />\n <LinkSection links={helpLinks} />\n <Divider />\n <LinkSection links={bottomLinks} />\n </Menu>\n );\n};\n\nexport default ProfileMenu;\n","import React, { useEffect, useState } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Profile } from \"neetoteam\";\nimport { Avatar, Dropdown } from \"neetoui\";\n\nimport KeyboardShortcuts from \"components/KeyboardShortcuts\";\n\nimport ProductSwitcherModal from \"./ProductSwitcher/Modal\";\nimport ProfileMenu from \"./ProfileMenu\";\n\nimport { DEFAULT_HELP_LINK_PROPS, DEFAULT_MENU_LINK_PROPS } from \"../constants\";\nimport {\n getDefaultBottomLinks,\n getDefaultTopLinks,\n getProfileInfo,\n} from \"../utils\";\n\nconst ProfileButton = ({\n helpLinkOverrides,\n profileInfoOverrides,\n showProductSwitcher,\n bottomLinks,\n topLinks,\n customContent,\n isThemeSwitcherEnabled,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [changesCount, setChangesCount] = useState(null);\n\n const [, setIsOpen] = KeyboardShortcuts.usePaneState();\n const [, setIsProfilePaneOpen] = Profile.usePaneState();\n\n const { data, refetch, isStale } = useFetchNeetoApps();\n\n const profileInfo = getProfileInfo(profileInfoOverrides);\n\n useEffect(() => {\n const Nv = {\n onReceiveData: data => {\n if (!data.unreadCount) return;\n setChangesCount(data.unreadCount);\n },\n onShow: () => {\n setChangesCount(null);\n },\n };\n\n window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;\n }, []);\n\n useEffect(() => {\n if (!isStale) return;\n refetch();\n }, [isStale]);\n\n const newTopLinks =\n globalProps.appName !== \"neetoAuth\"\n ? [\n ...getDefaultTopLinks(data?.isOwner, setIsProfilePaneOpen),\n ...topLinks,\n ]\n : topLinks;\n\n const newBottomLinks = [...getDefaultBottomLinks(), ...bottomLinks];\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 ...helpLinkOverrides[key],\n ...(key === \"keyboardShortcutProps\" && {\n onClick: () => setIsOpen(prev => !prev),\n }),\n ...(key === \"changelogProps\" && changesCount && { changesCount }),\n }))\n .filter(({ hide }) => !hide);\n\n return (\n <>\n <Profile.Pane />\n <Dropdown\n isMultiLevel\n appendTo={() => document.body}\n buttonStyle=\"link\"\n closeOnSelect={false}\n data-cy=\"floating-action-button\"\n data-testid=\"floating-action-button\"\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 </button>\n }\n dropdownProps={{\n classNames: \"neeto-molecules-floating-action-button__dropdown\",\n }}\n >\n <ProfileMenu\n {...{\n customContent,\n defaultLinks,\n helpLinks,\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 React, { forwardRef, useEffect } from \"react\";\n\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 helpLinkOverrides = {},\n topLinks = [],\n bottomLinks = [],\n showProductSwitcher = true,\n isThemeSwitcherEnabled = false,\n customContent,\n ...otherProps\n },\n ref\n ) => {\n useEffect(() => {\n isThemeSwitcherEnabled && setAppTheme();\n }, []);\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 helpLinkOverrides,\n isThemeSwitcherEnabled,\n profileInfoOverrides,\n showProductSwitcher,\n topLinks,\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 override the values in the help links section in the menu.\n */\n helpLinkOverrides: PropTypes.object,\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\nexport default FloatingActionMenu;\n"],"names":["ProductLink","_ref","name","description","url","appName","concat","charAt","slice","toLowerCase","AppIcon","AppIcons","React","createElement","href","rel","target","className","classnames","globalProps","includes","Neeto","Typography","component","style","weight","memo","Menu","_ref$isMobile","isMobile","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","_useFetchNeetoApps","useFetchNeetoApps","enabled","data","substring","replace","filteredApps","neetoApps","filter","_ref2","handleSearch","e","value","key","classNames","Input","autoFocus","placeholder","prefix","Search","type","onChange","_defineProperty","length","map","app","_extends","Modal","withT","isOpen","onClose","NeetoUIModal","backdropClassName","size","Header","Body","shouldShowWhatsNew","_window$globalProps","_window$globalProps$u","currentUserEmail","window","user","email","location","hostname","endsWith","MY_ORGANIZATION_URL","CHANGELOG_WIDGET_TRIGGER_ID","MENU_ITEMS_WITH_ICONS","DEFAULT_HELP_LINK_PROPS","helpCenterProps","label","icon","Book","toLower","liveChatProps","Help","onClick","_window$NeetoChat","_window$NeetoChat$con","_window$NeetoChat2","_window$NeetoChat2$co","NeetoChat","contextualHelp","maximizeWidget","openWidget","DEFAULT_MENU_LINK_PROPS","changelogProps","id","isVisible","keyboardShortcutProps","NON_BUTTON_PROPS","APP_THEME_LOCALSTORAGE_KEY","THEMES","LIGHT","DARK","LinkSection","links","MenuItem","Dropdown","isNotPresent","Fragment","idx","Icon","changesCount","otherProps","_objectWithoutProperties","_excluded","Button","undefined","omit","isPresent","MenuButton","isLoading","onMouseEnter","suffix","Spinner","Right","NeetoUIDropdown","isStale","refetchNeetoApps","refetch","closeOnSelect","customTarget","MenuItemButton","disabled","interactiveDebounce","offset","position","trigger","zIndex","dropdownProps","ProductSwitcherMenu","ProductSwitcher","toggleModal","_useBreakpoints","useBreakpoints","isSize","ProfileHeader","profileInfo","Avatar","lineHeight","title","truncate","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","phoneNumber","getDefaultTopLinks","isOwner","setIsProfilePaneOpen","open","Boolean","getDefaultBottomLinks","resetAuthTokens","removeFromLocalStorage","getProfileInfo","profileInfoOverrides","_globalProps$user3","_globalProps$user4","_globalProps$user5","_globalProps$user6","_globalProps$user7","mergeDeepLeft","firstName","lastName","imageUrl","profileImageUrl","setDarkTheme","document","body","classList","remove","add","setLightTheme","setAppTheme","isDarkTheme","getFromLocalStorage","selectedThemeName","selectedTheme","ThemeSwitcher","_useLocalStorage","useLocalStorage","_useLocalStorage2","appTheme","isDarkThemeSelected","switchTheme","theme","Check","ProfileMenu","showProductSwitcher","helpLinks","defaultLinks","topLinks","bottomLinks","customContent","isThemeSwitcherEnabled","Divider","ProfileButton","helpLinkOverrides","isModalOpen","setIsModalOpen","_useState3","_useState4","setChangesCount","_KeyboardShortcuts$us","KeyboardShortcuts","usePaneState","_KeyboardShortcuts$us2","setIsOpen","_Profile$usePaneState","Profile","_Profile$usePaneState2","useEffect","Nv","onReceiveData","unreadCount","onShow","Object","assign","newTopLinks","_toConsumableArray","newBottomLinks","keys","_objectSpread","hide","_DEFAULT_MENU_LINK_PR","_DEFAULT_MENU_LINK_PR2","_DEFAULT_MENU_LINK_PR3","call","prev","_ref3","Pane","isMultiLevel","appendTo","buttonStyle","noop","strategy","ProductSwitcherModal","FloatingActionMenu","forwardRef","ref","_ref$profileInfoOverr","_ref$helpLinkOverride","_ref$topLinks","_ref$bottomLinks","_ref$showProductSwitc","_ref$isThemeSwitcherE","displayName"],"mappings":"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"}
@@ -12,7 +12,7 @@ import { Trans, useTranslation } from 'react-i18next';
12
12
  import PageLoader from './PageLoader.js';
13
13
  import { FieldArray } from 'formik';
14
14
  import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
15
- import { Delete } from '@bigbinary/neeto-icons';
15
+ import { Delete, Plus } from '@bigbinary/neeto-icons';
16
16
  import Input from '@bigbinary/neetoui/formik/Input';
17
17
  import Select from '@bigbinary/neetoui/formik/Select';
18
18
  import { t } from 'i18next';
@@ -161,7 +161,7 @@ var AllowedIpRange = withT(function (_ref) {
161
161
  index = _ref.index,
162
162
  arrayHelpers = _ref.arrayHelpers;
163
163
  return /*#__PURE__*/React__default.createElement("div", {
164
- className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-4 p-3 sm:grid-cols-12"
164
+ className: "neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-2 py-2 sm:grid-cols-12 sm:gap-4 sm:py-3"
165
165
  }, /*#__PURE__*/React__default.createElement(Input, {
166
166
  className: "col-span-1 text-left sm:col-span-4",
167
167
  "data-cy": "ip-start-text-field",
@@ -190,7 +190,7 @@ var AllowedIpRange = withT(function (_ref) {
190
190
  name: "allowedIpRanges.".concat(index, ".addressType"),
191
191
  options: ADDRESS_TYPE_SELECT_OPTIONS
192
192
  }), /*#__PURE__*/React__default.createElement("div", {
193
- className: "col-span-1 flex sm:col-span-2 sm:justify-center"
193
+ className: "col-span-1 flex items-start sm:col-span-2 sm:justify-center"
194
194
  }, /*#__PURE__*/React__default.createElement(Button, {
195
195
  className: "mt-auto sm:mt-0",
196
196
  "data-testid": "allowed-ip-range-delete-btn",
@@ -215,9 +215,9 @@ var AllowedIpRanges = withT(function (_ref) {
215
215
  "data-cy": "allowed-ip-range-heading",
216
216
  style: "h4"
217
217
  }, t("neetoMolecules.ipRestriction.allowedIpRangeTitle")), /*#__PURE__*/React__default.createElement("div", {
218
- className: "space-y-4"
218
+ className: "space-y-2"
219
219
  }, /*#__PURE__*/React__default.createElement("div", {
220
- className: "hidden grid-cols-12 gap-4 px-3 sm:grid"
220
+ className: "hidden grid-cols-12 gap-4 sm:grid"
221
221
  }, /*#__PURE__*/React__default.createElement(Typography, {
222
222
  className: "neeto-ui-text-gray-700 col-span-4 uppercase",
223
223
  style: "h6"
@@ -243,7 +243,10 @@ var AllowedIpRanges = withT(function (_ref) {
243
243
  key: allowedIpRange.createdAt
244
244
  });
245
245
  }), /*#__PURE__*/React__default.createElement(Button, {
246
+ className: "mt-2",
246
247
  "data-cy": "add-allowed-ip-range-button",
248
+ icon: Plus,
249
+ iconPosition: "left",
247
250
  label: t("neetoMolecules.ipRestriction.addNew"),
248
251
  style: "link",
249
252
  onClick: function onClick() {
@@ -412,7 +415,7 @@ var IpRestriction = function IpRestriction() {
412
415
  resetForm = _ref2.resetForm,
413
416
  setSubmitting = _ref2.setSubmitting;
414
417
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(BlockNavigation, null), /*#__PURE__*/React__default.createElement("div", {
415
- className: "neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl",
418
+ className: "neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl",
416
419
  "data-cy": "ip-restrictions-card"
417
420
  }, /*#__PURE__*/React__default.createElement("div", {
418
421
  className: "space-y-2 p-6"
@@ -432,7 +435,7 @@ var IpRestriction = function IpRestriction() {
432
435
  "data-cy": "ip-restriction-description",
433
436
  style: "body2"
434
437
  }, t("neetoMolecules.ipRestriction.description"))), values.ipRestriction && /*#__PURE__*/React__default.createElement("div", {
435
- className: "neeto-ui-bg-gray-100 w-full space-y-6 p-6"
438
+ className: "neeto-ui-border-gray-300 w-full space-y-6 border-t p-6"
436
439
  }, /*#__PURE__*/React__default.createElement(CurrentIp$1, null), /*#__PURE__*/React__default.createElement(AllowedIpRanges$1, null), /*#__PURE__*/React__default.createElement(Callout, {
437
440
  style: "warning"
438
441
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"IpRestriction.js","sources":["../src/components/IpRestriction/utils.js","../src/components/IpRestriction/constants.js","../src/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../src/components/IpRestriction/AllowedIpRanges/index.jsx","../src/components/IpRestriction/apis/current_ip.js","../src/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../src/components/IpRestriction/CurrentIp.jsx","../src/components/IpRestriction/apis/allowed_ip_ranges.js","../src/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../src/components/IpRestriction/apis/ip_restriction.js","../src/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../src/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { assoc, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nconst toLabelAndValue = value => ({\n label: humanizeIpAddressFormat(value),\n value,\n});\n\nconst isValidIPv4String = ip =>\n isNotNil(ip) && Validator.isValidIPv4String(ip)[0];\n\nconst isValidIPv6String = ip =>\n isNotNil(ip) && Validator.isValidIPv6String(ip)[0];\n\nconst isValidIpString = ip => isValidIPv4String(ip) || isValidIPv6String(ip);\n\nconst areIpAddressesInSameFormat = (ipStart, ipEnd) =>\n (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) ||\n (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd));\n\nconst isValidIPv4Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv4.fromDecimalDottedString(ipStart);\n const ipEndAddr = IPv4.fromDecimalDottedString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPv6Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv6.fromString(ipStart);\n const ipEndAddr = IPv6.fromString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPRange = (ipStart, ipEnd) => {\n if (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) {\n return isValidIPv4Range(ipStart, ipEnd);\n }\n\n if (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd)) {\n return isValidIPv6Range(ipStart, ipEnd);\n }\n\n return false;\n};\n\nyup.addMethod(yup.string, \"validIp\", function (errorMessage) {\n return this.test(\"valid-ip\", errorMessage, function (value) {\n if (isNil(value)) {\n return this;\n }\n\n const isValidIp = isValidIpString(value);\n\n return (\n isValidIp || this.createError({ path: this.path, message: errorMessage })\n );\n });\n});\n\nexport const getIpRestrictionValidationSchema = () =>\n yup.object().shape({\n ipStart: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .required(t(\"neetoMolecules.ipRestriction.validations.ipStartRequired\")),\n ipEnd: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => areIpAddressesInSameFormat(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.eitherIpv4OrIpv6\"\n ),\n })\n )\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => isValidIPRange(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.ipEndGreaterThanIpStart\"\n ),\n })\n )\n .required(t(\"neetoMolecules.ipRestriction.validations.ipEndRequired\")),\n addressType: yup\n .object()\n .shape({\n value: yup.string().required(),\n label: yup.string().required(),\n })\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const humanizeIpAddressFormat = addressFormat => {\n const addressFormats = { ipv4: \"IPv4\", ipv6: \"IPv6\" };\n\n return addressFormats[addressFormat];\n};\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges: buildAllowedIpRangesFormData(allowedIpRanges),\n});\n\nexport const buildAllowedIpRangesFormData = allowedIpRanges =>\n allowedIpRanges?.map(allowedIpRange =>\n assoc(\n \"addressType\",\n toLabelAndValue(allowedIpRange.addressType),\n allowedIpRange\n )\n );\n\nexport const buildIpRestrictionPayload = values => {\n const allowedIpRangesWithTransformedAddressType = values.allowedIpRanges.map(\n allowedIpRange =>\n assoc(\"addressType\", allowedIpRange.addressType.value, allowedIpRange)\n );\n\n return {\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: allowedIpRangesWithTransformedAddressType,\n };\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/ip_restrictions/api/v1\";\n\nexport const QUERY_KEYS = {\n IP_RESTRICTION: \"IP_RESTRICTION\",\n ALLOWED_IP_RANGES: \"ALLOWED_IP_RANGES\",\n CURRENT_IP: \"CURRENT_IP\",\n};\n\nexport const TRUNCATE_LENGTH = 18;\n\nexport const ADDRESS_TYPE_SELECT_OPTIONS = [\n { label: t(\"neetoMolecules.ipRestriction.ipv4\"), value: \"ipv4\" },\n { label: t(\"neetoMolecules.ipRestriction.ipv6\"), value: \"ipv6\" },\n];\n\nexport const INITIAL_VALUES = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: ADDRESS_TYPE_SELECT_OPTIONS[0].value,\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n ipRestriction: yup.boolean(),\n allowedIpRanges: yup.array().of(getIpRestrictionValidationSchema()),\n});\n\nexport const NEW_ALLOWED_IP_RANGE = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: null,\n createdAt: new Date().toISOString(),\n};\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-4 p-3 sm:grid-cols-12\">\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"col-span-1 text-left sm:col-span-2\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n <div className=\"col-span-1 flex sm:col-span-2 sm:justify-center\">\n <Button\n className=\"mt-auto sm:mt-0\"\n data-testid=\"allowed-ip-range-delete-btn\"\n icon={Delete}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.discard\"),\n position: \"top\",\n }}\n onClick={() => arrayHelpers.remove(index)}\n />\n </div>\n </div>\n));\n\nexport default AllowedIpRange;\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Button, Typography } from \"neetoui\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div className=\"space-y-6\" data-cy=\"allowed-ip-range-container\">\n <Typography data-cy=\"allowed-ip-range-heading\" style=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"space-y-4\">\n <div className=\"hidden grid-cols-12 gap-4 px-3 sm:grid\">\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 text-center uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n <div className=\"w-full space-y-2\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n )\n )}\n <Button\n data-cy=\"add-allowed-ip-range-button\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default React.memo(AllowedIpRanges);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst show = params =>\n axios.get(`${IP_RESTRICTIONS_ENGINE_BASE_URL}/current_ip`, { params });\n\nconst currentIpApi = { show };\n\nexport default currentIpApi;\n","import { useQuery } from \"react-query\";\n\nimport currentIpApi from \"../../apis/current_ip\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { CURRENT_IP } = QUERY_KEYS;\n\nconst useShowCurrentIp = () =>\n useQuery([CURRENT_IP], () => currentIpApi.show());\n\nexport { useShowCurrentIp };\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { useShowCurrentIp } from \"./hooks/reactQuery/useCurrentIp\";\n\nconst CurrentIp = () => {\n const { data, isLoading } = useShowCurrentIp();\n\n return (\n <div\n className=\"flex flex-wrap items-baseline gap-1\"\n data-cy=\"current-ip-container\"\n >\n <Typography>\n <Trans\n i18nKey=\"neetoMolecules.ipRestriction.currentIpMessage\"\n values={{ ip: isLoading ? \"...\" : data.ip }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default React.memo(CurrentIp);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst allowedIpRangesUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/allowed_ips`;\n\nconst fetch = () => axios.get(allowedIpRangesUrl);\n\nconst create = payload =>\n axios.post(allowedIpRangesUrl, { allowedIpRange: payload });\n\nconst destroy = id => axios.delete(`${allowedIpRangesUrl}/${id}`);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${allowedIpRangesUrl}/${id}`, {\n allowedIpRange: payload,\n });\n\nconst allowedIpRangesApi = { fetch, create, destroy, update };\n\nexport default allowedIpRangesApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport allowedIpRangesApi from \"../../apis/allowed_ip_ranges\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useFetchAllowedIpRanges = options =>\n useQuery([ALLOWED_IP_RANGES], () => allowedIpRangesApi.fetch(), options);\n\nconst useCreateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.create, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useDestroyAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.destroy, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useUpdateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.update, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nexport {\n useFetchAllowedIpRanges,\n useCreateAllowedIpRanges,\n useDestroyAllowedIpRanges,\n useUpdateAllowedIpRanges,\n};\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst ipRestrictionUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/ip_restriction`;\n\nconst update = params =>\n axios.patch(ipRestrictionUrl, { ipRestriction: params });\n\nconst show = () => axios.get(ipRestrictionUrl);\n\nconst ipRestrictionApi = { update, show };\n\nexport default ipRestrictionApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport ipRestrictionApi from \"../../apis/ip_restriction\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { IP_RESTRICTION, ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useShowIpRestriction = () =>\n useQuery([IP_RESTRICTION], () => ipRestrictionApi.show());\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [IP_RESTRICTION, ALLOWED_IP_RANGES],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import React, { useState } from \"react\";\n\nimport { Typography, Alert, Callout, Button } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Checkbox,\n Button as FormikButton,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport AllowedIpRanges from \"./AllowedIpRanges\";\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport CurrentIp from \"./CurrentIp\";\nimport { useFetchAllowedIpRanges } from \"./hooks/reactQuery/useAllowedIpRanges\";\nimport {\n useShowIpRestriction,\n useUpdateIpRestriction,\n} from \"./hooks/reactQuery/useIpRestrictions\";\nimport { buildInitialValue, buildIpRestrictionPayload } from \"./utils\";\n\nconst IpRestriction = () => {\n const { t } = useTranslation();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n\n const {\n data: { isIpRestrictionEnabled } = {},\n isLoading: isFetchingIpRestriction,\n } = useShowIpRestriction();\n\n const {\n data: allowedIpRanges,\n isLoading: isFetchingAllowedIpRanges,\n isRefetching,\n } = useFetchAllowedIpRanges({ enabled: isIpRestrictionEnabled });\n\n const { mutate: updateIpRestriction, isLoading: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"h-screen\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = (values, formikBag) => {\n if (values.ipRestriction) setIsAlertOpen(true);\n else handleUpdateIpRestriction(values, formikBag);\n };\n\n const handleCloseAlert = setSubmitting => {\n setIsAlertOpen(false);\n setSubmitting(false);\n };\n\n const handleUpdateIpRestriction = (values, { setSubmitting, resetForm }) => {\n updateIpRestriction(buildIpRestrictionPayload(values), {\n onSuccess: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n resetForm({ values });\n },\n onError: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n },\n });\n };\n\n return (\n <NeetoUIForm\n className=\"mx-auto mb-4 w-full sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n formikProps={{\n initialValues: buildInitialValue(\n isIpRestrictionEnabled,\n allowedIpRanges\n ),\n validationSchema: VALIDATION_SCHEMA,\n validateOnBlur: true,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, dirty, setFieldValue, resetForm, setSubmitting }) => (\n <>\n <BlockNavigation />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-200 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n data-cy=\"ip-restrictions-card\"\n >\n <div className=\"space-y-2 p-6\">\n <Checkbox\n checked={values.ipRestriction}\n className=\"flex-grow-0\"\n data-cy=\"enable-ip-restriction-checkbox\"\n disabled={isFetchingIpRestriction || isUpdating}\n name=\"ipRestriction\"\n label={\n <Typography style=\"h3\">\n {t(\"neetoMolecules.ipRestriction.switchLabel\")}\n </Typography>\n }\n onChange={() =>\n setFieldValue(\"ipRestriction\", !values.ipRestriction)\n }\n />\n <Typography data-cy=\"ip-restriction-description\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"neeto-ui-bg-gray-100 w-full space-y-6 p-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout style=\"warning\">\n <div className=\"leading-2 block whitespace-pre-wrap py-1\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\n </div>\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n {dirty && (\n <Typography className=\"neeto-ui-text-error-500\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n <div className=\"ml-auto flex justify-between\">\n <Button\n className=\"mr-2\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n style=\"secondary\"\n type=\"reset\"\n onClick={resetForm}\n />\n <FormikButton\n data-cy=\"ip-restriction-save-changes\"\n data-testid=\"save-changes-button\"\n isLoading={isUpdating}\n type=\"submit\"\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n </div>\n </div>\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isUpdating}\n title={t(\"neetoMolecules.ipRestriction.enableAlert.title\")}\n message={\n <Trans i18nKey=\"neetoMolecules.ipRestriction.enableAlert.message\" />\n }\n submitButtonLabel={t(\n \"neetoMolecules.ipRestriction.enableAlert.submitButtonLabel\"\n )}\n onClose={() => handleCloseAlert(setSubmitting)}\n onSubmit={() =>\n handleUpdateIpRestriction(values, { setSubmitting, resetForm })\n }\n />\n </>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default React.memo(IpRestriction);\n"],"names":["toLabelAndValue","value","label","humanizeIpAddressFormat","isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","addressFormat","addressFormats","ipv4","ipv6","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildAllowedIpRangesFormData","map","allowedIpRange","assoc","buildIpRestrictionPayload","values","allowedIpRangesWithTransformedAddressType","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","React","createElement","className","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Delete","style","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","Fragment","form","key","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","ipRestrictionUrl","ipRestrictionApi","useShowIpRestriction","useUpdateIpRestriction","useMutationWithInvalidation","keysToInvalidate","IpRestriction","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isAlertOpen","setIsAlertOpen","_useShowIpRestriction","_useShowIpRestriction2","_useShowIpRestriction3","isFetchingIpRestriction","_useFetchAllowedIpRan","enabled","isFetchingAllowedIpRanges","isRefetching","_useUpdateIpRestricti","updateIpRestriction","mutate","isUpdating","PageLoader","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","setFieldValue","BlockNavigation","Checkbox","checked","disabled","onChange","Callout","type","FormikButton","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"IpRestriction.js","sources":["../src/components/IpRestriction/utils.js","../src/components/IpRestriction/constants.js","../src/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../src/components/IpRestriction/AllowedIpRanges/index.jsx","../src/components/IpRestriction/apis/current_ip.js","../src/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../src/components/IpRestriction/CurrentIp.jsx","../src/components/IpRestriction/apis/allowed_ip_ranges.js","../src/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../src/components/IpRestriction/apis/ip_restriction.js","../src/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../src/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { assoc, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nconst toLabelAndValue = value => ({\n label: humanizeIpAddressFormat(value),\n value,\n});\n\nconst isValidIPv4String = ip =>\n isNotNil(ip) && Validator.isValidIPv4String(ip)[0];\n\nconst isValidIPv6String = ip =>\n isNotNil(ip) && Validator.isValidIPv6String(ip)[0];\n\nconst isValidIpString = ip => isValidIPv4String(ip) || isValidIPv6String(ip);\n\nconst areIpAddressesInSameFormat = (ipStart, ipEnd) =>\n (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) ||\n (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd));\n\nconst isValidIPv4Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv4.fromDecimalDottedString(ipStart);\n const ipEndAddr = IPv4.fromDecimalDottedString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPv6Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv6.fromString(ipStart);\n const ipEndAddr = IPv6.fromString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPRange = (ipStart, ipEnd) => {\n if (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) {\n return isValidIPv4Range(ipStart, ipEnd);\n }\n\n if (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd)) {\n return isValidIPv6Range(ipStart, ipEnd);\n }\n\n return false;\n};\n\nyup.addMethod(yup.string, \"validIp\", function (errorMessage) {\n return this.test(\"valid-ip\", errorMessage, function (value) {\n if (isNil(value)) {\n return this;\n }\n\n const isValidIp = isValidIpString(value);\n\n return (\n isValidIp || this.createError({ path: this.path, message: errorMessage })\n );\n });\n});\n\nexport const getIpRestrictionValidationSchema = () =>\n yup.object().shape({\n ipStart: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .required(t(\"neetoMolecules.ipRestriction.validations.ipStartRequired\")),\n ipEnd: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => areIpAddressesInSameFormat(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.eitherIpv4OrIpv6\"\n ),\n })\n )\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => isValidIPRange(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.ipEndGreaterThanIpStart\"\n ),\n })\n )\n .required(t(\"neetoMolecules.ipRestriction.validations.ipEndRequired\")),\n addressType: yup\n .object()\n .shape({\n value: yup.string().required(),\n label: yup.string().required(),\n })\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const humanizeIpAddressFormat = addressFormat => {\n const addressFormats = { ipv4: \"IPv4\", ipv6: \"IPv6\" };\n\n return addressFormats[addressFormat];\n};\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges: buildAllowedIpRangesFormData(allowedIpRanges),\n});\n\nexport const buildAllowedIpRangesFormData = allowedIpRanges =>\n allowedIpRanges?.map(allowedIpRange =>\n assoc(\n \"addressType\",\n toLabelAndValue(allowedIpRange.addressType),\n allowedIpRange\n )\n );\n\nexport const buildIpRestrictionPayload = values => {\n const allowedIpRangesWithTransformedAddressType = values.allowedIpRanges.map(\n allowedIpRange =>\n assoc(\"addressType\", allowedIpRange.addressType.value, allowedIpRange)\n );\n\n return {\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: allowedIpRangesWithTransformedAddressType,\n };\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/ip_restrictions/api/v1\";\n\nexport const QUERY_KEYS = {\n IP_RESTRICTION: \"IP_RESTRICTION\",\n ALLOWED_IP_RANGES: \"ALLOWED_IP_RANGES\",\n CURRENT_IP: \"CURRENT_IP\",\n};\n\nexport const TRUNCATE_LENGTH = 18;\n\nexport const ADDRESS_TYPE_SELECT_OPTIONS = [\n { label: t(\"neetoMolecules.ipRestriction.ipv4\"), value: \"ipv4\" },\n { label: t(\"neetoMolecules.ipRestriction.ipv6\"), value: \"ipv6\" },\n];\n\nexport const INITIAL_VALUES = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: ADDRESS_TYPE_SELECT_OPTIONS[0].value,\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n ipRestriction: yup.boolean(),\n allowedIpRanges: yup.array().of(getIpRestrictionValidationSchema()),\n});\n\nexport const NEW_ALLOWED_IP_RANGE = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: null,\n createdAt: new Date().toISOString(),\n};\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-2 py-2 sm:grid-cols-12 sm:gap-4 sm:py-3\">\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"col-span-1 text-left sm:col-span-2\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n <div className=\"col-span-1 flex items-start sm:col-span-2 sm:justify-center\">\n <Button\n className=\"mt-auto sm:mt-0\"\n data-testid=\"allowed-ip-range-delete-btn\"\n icon={Delete}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.discard\"),\n position: \"top\",\n }}\n onClick={() => arrayHelpers.remove(index)}\n />\n </div>\n </div>\n));\n\nexport default AllowedIpRange;\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div className=\"space-y-6\" data-cy=\"allowed-ip-range-container\">\n <Typography data-cy=\"allowed-ip-range-heading\" style=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"space-y-2\">\n <div className=\"hidden grid-cols-12 gap-4 sm:grid\">\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 text-center uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n <div className=\"w-full space-y-2\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n )\n )}\n <Button\n className=\"mt-2\"\n data-cy=\"add-allowed-ip-range-button\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default React.memo(AllowedIpRanges);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst show = params =>\n axios.get(`${IP_RESTRICTIONS_ENGINE_BASE_URL}/current_ip`, { params });\n\nconst currentIpApi = { show };\n\nexport default currentIpApi;\n","import { useQuery } from \"react-query\";\n\nimport currentIpApi from \"../../apis/current_ip\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { CURRENT_IP } = QUERY_KEYS;\n\nconst useShowCurrentIp = () =>\n useQuery([CURRENT_IP], () => currentIpApi.show());\n\nexport { useShowCurrentIp };\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { useShowCurrentIp } from \"./hooks/reactQuery/useCurrentIp\";\n\nconst CurrentIp = () => {\n const { data, isLoading } = useShowCurrentIp();\n\n return (\n <div\n className=\"flex flex-wrap items-baseline gap-1\"\n data-cy=\"current-ip-container\"\n >\n <Typography>\n <Trans\n i18nKey=\"neetoMolecules.ipRestriction.currentIpMessage\"\n values={{ ip: isLoading ? \"...\" : data.ip }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default React.memo(CurrentIp);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst allowedIpRangesUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/allowed_ips`;\n\nconst fetch = () => axios.get(allowedIpRangesUrl);\n\nconst create = payload =>\n axios.post(allowedIpRangesUrl, { allowedIpRange: payload });\n\nconst destroy = id => axios.delete(`${allowedIpRangesUrl}/${id}`);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${allowedIpRangesUrl}/${id}`, {\n allowedIpRange: payload,\n });\n\nconst allowedIpRangesApi = { fetch, create, destroy, update };\n\nexport default allowedIpRangesApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport allowedIpRangesApi from \"../../apis/allowed_ip_ranges\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useFetchAllowedIpRanges = options =>\n useQuery([ALLOWED_IP_RANGES], () => allowedIpRangesApi.fetch(), options);\n\nconst useCreateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.create, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useDestroyAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.destroy, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useUpdateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.update, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nexport {\n useFetchAllowedIpRanges,\n useCreateAllowedIpRanges,\n useDestroyAllowedIpRanges,\n useUpdateAllowedIpRanges,\n};\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst ipRestrictionUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/ip_restriction`;\n\nconst update = params =>\n axios.patch(ipRestrictionUrl, { ipRestriction: params });\n\nconst show = () => axios.get(ipRestrictionUrl);\n\nconst ipRestrictionApi = { update, show };\n\nexport default ipRestrictionApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport ipRestrictionApi from \"../../apis/ip_restriction\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { IP_RESTRICTION, ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useShowIpRestriction = () =>\n useQuery([IP_RESTRICTION], () => ipRestrictionApi.show());\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [IP_RESTRICTION, ALLOWED_IP_RANGES],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import React, { useState } from \"react\";\n\nimport { Typography, Alert, Callout, Button } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Checkbox,\n Button as FormikButton,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport AllowedIpRanges from \"./AllowedIpRanges\";\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport CurrentIp from \"./CurrentIp\";\nimport { useFetchAllowedIpRanges } from \"./hooks/reactQuery/useAllowedIpRanges\";\nimport {\n useShowIpRestriction,\n useUpdateIpRestriction,\n} from \"./hooks/reactQuery/useIpRestrictions\";\nimport { buildInitialValue, buildIpRestrictionPayload } from \"./utils\";\n\nconst IpRestriction = () => {\n const { t } = useTranslation();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n\n const {\n data: { isIpRestrictionEnabled } = {},\n isLoading: isFetchingIpRestriction,\n } = useShowIpRestriction();\n\n const {\n data: allowedIpRanges,\n isLoading: isFetchingAllowedIpRanges,\n isRefetching,\n } = useFetchAllowedIpRanges({ enabled: isIpRestrictionEnabled });\n\n const { mutate: updateIpRestriction, isLoading: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"h-screen\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = (values, formikBag) => {\n if (values.ipRestriction) setIsAlertOpen(true);\n else handleUpdateIpRestriction(values, formikBag);\n };\n\n const handleCloseAlert = setSubmitting => {\n setIsAlertOpen(false);\n setSubmitting(false);\n };\n\n const handleUpdateIpRestriction = (values, { setSubmitting, resetForm }) => {\n updateIpRestriction(buildIpRestrictionPayload(values), {\n onSuccess: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n resetForm({ values });\n },\n onError: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n },\n });\n };\n\n return (\n <NeetoUIForm\n className=\"mx-auto mb-4 w-full sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n formikProps={{\n initialValues: buildInitialValue(\n isIpRestrictionEnabled,\n allowedIpRanges\n ),\n validationSchema: VALIDATION_SCHEMA,\n validateOnBlur: true,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, dirty, setFieldValue, resetForm, setSubmitting }) => (\n <>\n <BlockNavigation />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n data-cy=\"ip-restrictions-card\"\n >\n <div className=\"space-y-2 p-6\">\n <Checkbox\n checked={values.ipRestriction}\n className=\"flex-grow-0\"\n data-cy=\"enable-ip-restriction-checkbox\"\n disabled={isFetchingIpRestriction || isUpdating}\n name=\"ipRestriction\"\n label={\n <Typography style=\"h3\">\n {t(\"neetoMolecules.ipRestriction.switchLabel\")}\n </Typography>\n }\n onChange={() =>\n setFieldValue(\"ipRestriction\", !values.ipRestriction)\n }\n />\n <Typography data-cy=\"ip-restriction-description\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"neeto-ui-border-gray-300 w-full space-y-6 border-t p-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout style=\"warning\">\n <div className=\"leading-2 block whitespace-pre-wrap py-1\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\n </div>\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n {dirty && (\n <Typography className=\"neeto-ui-text-error-500\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n <div className=\"ml-auto flex justify-between\">\n <Button\n className=\"mr-2\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n style=\"secondary\"\n type=\"reset\"\n onClick={resetForm}\n />\n <FormikButton\n data-cy=\"ip-restriction-save-changes\"\n data-testid=\"save-changes-button\"\n isLoading={isUpdating}\n type=\"submit\"\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n </div>\n </div>\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isUpdating}\n title={t(\"neetoMolecules.ipRestriction.enableAlert.title\")}\n message={\n <Trans i18nKey=\"neetoMolecules.ipRestriction.enableAlert.message\" />\n }\n submitButtonLabel={t(\n \"neetoMolecules.ipRestriction.enableAlert.submitButtonLabel\"\n )}\n onClose={() => handleCloseAlert(setSubmitting)}\n onSubmit={() =>\n handleUpdateIpRestriction(values, { setSubmitting, resetForm })\n }\n />\n </>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default React.memo(IpRestriction);\n"],"names":["toLabelAndValue","value","label","humanizeIpAddressFormat","isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","addressFormat","addressFormats","ipv4","ipv6","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildAllowedIpRangesFormData","map","allowedIpRange","assoc","buildIpRestrictionPayload","values","allowedIpRangesWithTransformedAddressType","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","React","createElement","className","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Delete","style","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","Fragment","form","key","Plus","iconPosition","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","ipRestrictionUrl","ipRestrictionApi","useShowIpRestriction","useUpdateIpRestriction","useMutationWithInvalidation","keysToInvalidate","IpRestriction","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isAlertOpen","setIsAlertOpen","_useShowIpRestriction","_useShowIpRestriction2","_useShowIpRestriction3","isFetchingIpRestriction","_useFetchAllowedIpRan","enabled","isFetchingAllowedIpRanges","isRefetching","_useUpdateIpRestricti","updateIpRestriction","mutate","isUpdating","PageLoader","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","setFieldValue","BlockNavigation","Checkbox","checked","disabled","onChange","Callout","type","FormikButton","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}