@bigbinary/neeto-molecules 3.16.98 → 3.16.100

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.
@@ -94,6 +94,10 @@ var getGlobalShortcuts = function getGlobalShortcuts() {
94
94
  submitForm: {
95
95
  sequence: "command+return",
96
96
  description: i18next.t("neetoMolecules.keyboardShortcuts.global.submitForm")
97
+ },
98
+ openProductSwitcher: {
99
+ sequence: "command+e",
100
+ description: i18next.t("neetoMolecules.keyboardShortcuts.global.openProductSwitcher")
97
101
  }
98
102
  });
99
103
  };
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcuts.js","sources":["../src/components/KeyboardShortcuts/Pane/constants.js","../src/components/KeyboardShortcuts/Pane/utils.js","../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../src/components/KeyboardShortcuts/Pane/index.jsx","../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, Fragment } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-dvh overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsx","className","children","_jsxs","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","_createElement","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isOpen","setIsOpen","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardShortcuts.js","sources":["../src/components/KeyboardShortcuts/Pane/constants.js","../src/components/KeyboardShortcuts/Pane/utils.js","../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../src/components/KeyboardShortcuts/Pane/index.jsx","../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n openProductSwitcher: {\n sequence: \"command+e\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, Fragment } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-dvh overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","openProductSwitcher","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsx","className","children","_jsxs","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","_createElement","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isOpen","setIsOpen","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
@@ -8,23 +8,24 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
8
8
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
9
  var neetoCist = require('@bigbinary/neeto-cist');
10
10
  var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
11
+ var useHotkeys = require('@bigbinary/neeto-hotkeys');
11
12
  var Help = require('@bigbinary/neeto-icons/Help');
12
13
  var Profile = require('@bigbinary/neeto-team-members-frontend/Profile');
13
14
  var Avatar = require('@bigbinary/neetoui/Avatar');
14
15
  var Dropdown$1 = require('@bigbinary/neetoui/Dropdown');
16
+ var ramda = require('ramda');
15
17
  var KeyboardShortcuts = require('./KeyboardShortcuts.js');
16
18
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
17
19
  var Modal$1 = require('@bigbinary/neetoui/Modal');
18
- var Typography = require('@bigbinary/neetoui/Typography');
19
20
  var classnames = require('classnames');
20
21
  var Search = require('@bigbinary/neeto-icons/Search');
21
22
  var Input = require('@bigbinary/neetoui/Input');
23
+ var Typography = require('@bigbinary/neetoui/Typography');
22
24
  var reactI18next = require('react-i18next');
23
25
  var injectCss = require('./inject-css-vQvjPR2x.js');
24
26
  var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
25
27
  var AppIcons = require('@bigbinary/neeto-icons/typeface-logos');
26
28
  var jsxRuntime = require('react/jsx-runtime');
27
- var ramda = require('ramda');
28
29
  var i18next = require('i18next');
29
30
  var Book = require('@bigbinary/neeto-icons/Book');
30
31
  var Community = require('@bigbinary/neeto-icons/Community');
@@ -47,7 +48,6 @@ require('zustand');
47
48
  require('@bigbinary/neeto-icons/Close');
48
49
  require('@bigbinary/neetoui/Button');
49
50
  require('@bigbinary/neetoui/managers');
50
- require('@bigbinary/neeto-hotkeys');
51
51
  require('@bigbinary/neetoui/Kbd');
52
52
  require('./platform-BUcCb8Jx.js');
53
53
  require('./_commonjsHelpers-BJu3ubxk.js');
@@ -71,7 +71,7 @@ function _interopNamespaceDefault(e) {
71
71
 
72
72
  var AppIcons__namespace = /*#__PURE__*/_interopNamespaceDefault(AppIcons);
73
73
 
74
- var css$1 = ".neeto-molecules-product-switcher__wrapper{align-items:flex-start;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;overflow-y:auto;padding:24px;position:relative;transition:all .3s;width:100%}@media screen and (max-width:768px){.neeto-molecules-product-switcher__wrapper{padding:16px}}.neeto-molecules-product-switcher__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}@media only screen and (max-width:992px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.neeto-molecules-product-switcher__header{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px;position:relative;width:100%}@media only screen and (max-width:768px){.neeto-molecules-product-switcher__header{align-items:flex-start;flex-direction:column;gap:24px}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__header h1{font-size:24px}}@media only screen and (max-width:768px){.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__header-mobile{align-items:flex-start;margin-bottom:24px}}.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__wrapper{padding:0}.neeto-molecules-product-switcher__close-btn{position:absolute;right:12px;top:12px}.neeto-molecules-product-switcher__search-wrapper{flex-grow:1}@media only screen and (min-width:992px){.neeto-molecules-product-switcher__search-wrapper{flex-grow:0;width:296px}}.neeto-molecules-product-switcher__body{display:flex;flex-direction:column;font-size:var(--neeto-ui-text-sm);gap:12px;margin-bottom:24px;width:100%}.neeto-molecules-product-switcher-link{background-color:rgb(var(--neeto-ui-white));border-color:rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-lg);border-style:solid;border-width:1px;cursor:pointer;display:flex;flex-direction:column;gap:16px;max-width:100%;padding:10px 8px;text-decoration:none;transition:all .3s ease-in-out;width:100%}.neeto-molecules-product-switcher-link:focus,.neeto-molecules-product-switcher-link:focus-visible{outline:none}.neeto-molecules-product-switcher-link:focus-visible{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover{border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-product-switcher-link--active{background-color:rgb(var(--neeto-ui-primary-50));border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-product-switcher-link__icon-holder{flex-grow:1;flex-shrink:0}.neeto-molecules-product-switcher-link__icon-holder svg{height:36px;width:auto}.neeto-molecules-product-switcher-link__icon-holder .neeto-molecules-product-switcher-link__icon-default{height:24px}.neeto-molecules-product-switcher-link__content{flex-shrink:0}.neeto-molecules-product-switcher-link__content span{display:block}.neeto-molecules-product-switcher_modal{z-index:100000}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen{display:flex;flex-direction:column;height:100dvh!important;width:100vw!important}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__header{flex-shrink:0}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__body{flex-grow:1;min-height:0;overflow-y:auto}.neeto-ui-theme--dark .neeto-molecules-product-switcher__wrapper [data-dark-mode-color=true]{fill:rgb(var(--neeto-ui-black))}";
74
+ var css$1 = ".neeto-molecules-product-switcher__wrapper{align-items:flex-start;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;overflow-y:auto;padding:24px;position:relative;transition:all .3s;width:100%}@media screen and (max-width:768px){.neeto-molecules-product-switcher__wrapper{padding:16px}}.neeto-molecules-product-switcher__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}@media only screen and (max-width:992px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.neeto-molecules-product-switcher__header{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px;position:relative;width:100%}@media only screen and (max-width:768px){.neeto-molecules-product-switcher__header{align-items:flex-start;flex-direction:column;gap:24px}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__header h1{font-size:24px}}@media only screen and (max-width:768px){.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__header-mobile{align-items:flex-start;margin-bottom:24px}}.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__wrapper{padding:0}.neeto-molecules-product-switcher__close-btn{position:absolute;right:12px;top:12px}.neeto-molecules-product-switcher__search-wrapper{flex-grow:1}@media only screen and (min-width:992px){.neeto-molecules-product-switcher__search-wrapper{flex-grow:0;width:296px}}.neeto-molecules-product-switcher__body{display:flex;flex-direction:column;font-size:var(--neeto-ui-text-sm);gap:12px;margin-bottom:24px;width:100%}.neeto-molecules-product-switcher-link{background-color:rgb(var(--neeto-ui-white));border-color:rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-lg);border-style:solid;border-width:1px;cursor:pointer;display:flex;flex-direction:column;gap:16px;max-width:100%;padding:10px 8px;text-decoration:none;transition:all .3s ease-in-out;width:100%}.neeto-molecules-product-switcher-link:focus,.neeto-molecules-product-switcher-link:focus-visible{outline:none}.neeto-molecules-product-switcher-link:focus-visible{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover{border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-product-switcher-link--active{background-color:rgb(var(--neeto-ui-primary-50));border-color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-product-switcher-link__icon-holder{flex-grow:1;flex-shrink:0}.neeto-molecules-product-switcher-link__icon-holder svg{height:36px;width:auto}.neeto-molecules-product-switcher-link__icon-holder .neeto-molecules-product-switcher-link__icon-default{height:24px}.neeto-molecules-product-switcher-link__content{flex-shrink:0}.neeto-molecules-product-switcher-link__content span{display:block}.neeto-molecules-product-switcher_modal{z-index:100000}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen{display:flex;flex-direction:column;height:100dvh!important;width:100vw!important}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__header{flex-shrink:0}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__body{--neeto-ui-modal-body-padding-top:24px;flex-grow:1;min-height:0;overflow-y:auto}.neeto-ui-theme--dark .neeto-molecules-product-switcher__wrapper [data-dark-mode-color=true]{fill:rgb(var(--neeto-ui-black))}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-molecules-product-switcher__header{padding-right:56px}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__close{z-index:2}";
75
75
  injectCss.n(css$1,{});
76
76
 
77
77
  var ProductLink = function ProductLink(_ref) {
@@ -173,29 +173,20 @@ var Menu$3 = function Menu(_ref) {
173
173
  };
174
174
 
175
175
  var Modal = reactUtils.withT(function (_ref) {
176
- var t = _ref.t,
177
- isOpen = _ref.isOpen,
176
+ var isOpen = _ref.isOpen,
178
177
  onClose = _ref.onClose;
179
- return /*#__PURE__*/jsxRuntime.jsxs(Modal$1, {
178
+ return /*#__PURE__*/jsxRuntime.jsx(Modal$1, {
180
179
  isOpen: isOpen,
181
180
  onClose: onClose,
182
181
  backdropClassName: "neeto-molecules-product-switcher_modal",
183
182
  size: "fullScreen",
184
- children: [/*#__PURE__*/jsxRuntime.jsx(Modal$1.Header, {
185
- children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
186
- className: "pr-4",
187
- style: "h2",
188
- children: t("neetoMolecules.productSwitcher.chooseNeetoProduct")
189
- })
190
- }), /*#__PURE__*/jsxRuntime.jsx(Modal$1.Body, {
183
+ children: /*#__PURE__*/jsxRuntime.jsx(Modal$1.Body, {
191
184
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
192
185
  className: "neeto-molecules-product-switcher_modal-container",
193
186
  "data-testid": "product-switcher-modal",
194
- children: /*#__PURE__*/jsxRuntime.jsx(Menu$3, {
195
- isMobile: true
196
- })
187
+ children: /*#__PURE__*/jsxRuntime.jsx(Menu$3, {})
197
188
  })
198
- })]
189
+ })
199
190
  });
200
191
  });
201
192
 
@@ -762,6 +753,11 @@ var ProfileButton = function ProfileButton(_ref) {
762
753
  data = _useFetchNeetoApps.data,
763
754
  refetch = _useFetchNeetoApps.refetch,
764
755
  isStale = _useFetchNeetoApps.isStale;
756
+ useHotkeys(["ctrl+e", "command+e"], function () {
757
+ return setIsModalOpen(ramda.not);
758
+ }, {
759
+ mode: "global"
760
+ });
765
761
  var profileInfo = getProfileInfo(profileInfoOverrides, isConsumer);
766
762
  React.useEffect(function () {
767
763
  var Nv = {