@bigbinary/neeto-molecules 3.16.53 → 3.16.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var shallow = require('zustand/shallow');
4
- var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
5
- var zustand = require('zustand');
3
+ var useKeyboardShortcutsPaneState = require('./useKeyboardShortcutsPaneState-YnXpWOcs.js');
6
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
5
  var Close = require('@bigbinary/neeto-icons/Close');
8
6
  var Typography = require('@bigbinary/neetoui/Typography');
@@ -20,39 +18,11 @@ var platform = require('./platform-BUcCb8Jx.js');
20
18
  var ramda = require('ramda');
21
19
  var jsxRuntime = require('react/jsx-runtime');
22
20
  var injectCss = require('./inject-css-vQvjPR2x.js');
21
+ require('zustand/shallow');
22
+ require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
23
+ require('zustand');
23
24
  require('./_commonjsHelpers-BJu3ubxk.js');
24
25
 
25
- /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
26
- var useKeyboardShortcutsStore = zustand.create(withImmutableActions(function (set) {
27
- return {
28
- isOpen: false,
29
- setIsOpen: function setIsOpen(arg) {
30
- if (typeof arg === "function") {
31
- set(function (state) {
32
- return {
33
- isOpen: arg(state.isOpen)
34
- };
35
- });
36
- } else {
37
- set({
38
- isOpen: arg
39
- });
40
- }
41
- }
42
- };
43
- }));
44
- var useKeyboardShortcutsPaneState = function useKeyboardShortcutsPaneState() {
45
- var _useKeyboardShortcuts = useKeyboardShortcutsStore(function (store) {
46
- return {
47
- isOpen: store["isOpen"],
48
- setIsOpen: store["setIsOpen"]
49
- };
50
- }, shallow.shallow),
51
- isOpen = _useKeyboardShortcuts.isOpen,
52
- setIsOpen = _useKeyboardShortcuts.setIsOpen;
53
- return [isOpen, setIsOpen];
54
- };
55
-
56
26
  var KEY_SHORTFORM_MAP = {
57
27
  command: "⌘",
58
28
  escape: "esc",
@@ -225,7 +195,7 @@ injectCss.n(css,{});
225
195
  var KeyboardShortcutsPane = function KeyboardShortcutsPane(_ref) {
226
196
  var _ref$productShortcuts = _ref.productShortcuts,
227
197
  productShortcuts = _ref$productShortcuts === void 0 ? {} : _ref$productShortcuts;
228
- var _useKeyboardShortcuts = useKeyboardShortcutsPaneState(),
198
+ var _useKeyboardShortcuts = useKeyboardShortcutsPaneState.useKeyboardShortcutsPaneState(),
229
199
  _useKeyboardShortcuts2 = _slicedToArray(_useKeyboardShortcuts, 2),
230
200
  isOpen = _useKeyboardShortcuts2[0],
231
201
  setIsOpen = _useKeyboardShortcuts2[1];
@@ -278,7 +248,7 @@ var KeyboardShortcutsPane = function KeyboardShortcutsPane(_ref) {
278
248
 
279
249
  var KeyboardShortcuts = {
280
250
  Pane: KeyboardShortcutsPane,
281
- usePaneState: useKeyboardShortcutsPaneState,
251
+ usePaneState: useKeyboardShortcutsPaneState.useKeyboardShortcutsPaneState,
282
252
  GLOBAL_SHORTCUTS: getGlobalShortcuts()
283
253
  };
284
254
 
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcuts.js","sources":["../../src/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js","../../src/components/KeyboardShortcuts/Pane/constants.js","../../src/components/KeyboardShortcuts/Pane/utils.js","../../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../src/components/KeyboardShortcuts/Pane/index.jsx","../../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n","export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, Fragment } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-dvh overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","store","shallow","KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsx","className","children","_jsxs","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","_createElement","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts2","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardShortcuts.js","sources":["../../src/components/KeyboardShortcuts/Pane/constants.js","../../src/components/KeyboardShortcuts/Pane/utils.js","../../src/components/KeyboardShortcuts/Pane/HotKey.jsx","../../src/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../src/components/KeyboardShortcuts/Pane/index.jsx","../../src/components/KeyboardShortcuts/index.js"],"sourcesContent":["export const KEY_SHORTFORM_MAP = {\n command: \"⌘\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"⌘\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"shift+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, Fragment } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Kbd, Typography } from \"@bigbinary/neetoui\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy=\"hotkey-item\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <Kbd {...{ keyName }} tooltipProps={getTooltipProps(keyName)} />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <Kbd keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { Button, Typography } from \"@bigbinary/neetoui\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography style=\"h6\" textTransform=\"uppercase\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button\n className=\"mb-3\"\n href={fullShortcutsLink}\n style=\"link\"\n target=\"_blank\"\n label={t(\n \"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\"\n )}\n />\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { Close } from \"@bigbinary/neeto-icons\";\nimport { Typography, Button } from \"@bigbinary/neetoui\";\nimport { manager } from \"@bigbinary/neetoui/managers\";\nimport classnames from \"classnames\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport \"./keyboard-shortcuts.scss\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(shortcuts.openKeyboardShortcutsPane.sequence, () =>\n setIsOpen(prevIsOpen => !prevIsOpen)\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false));\n\n return (\n <div\n data-cy=\"keyboard-shortcuts-pane\"\n className={classnames(\n \"neeto-molecules-keyboard-shortcuts-pane neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto h-dvh overflow-hidden border-l duration-300 ease-in-out\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"right-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"neeto-ui-border-gray-300 my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography data-cy=\"keyboard-shortcuts-pane-title\" style=\"h4\">\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-cy=\"keyboard-shortcuts-pane-close-button\"\n icon={Close}\n style=\"text\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","windows","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","platformInfo","platform","parse","navigator","userAgent","isOSX","os","family","includes","shortenHotKey","result","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","getTooltipProps","key","position","content","followCursor","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsx","className","children","_jsxs","Typography","lineHeight","style","idx","Fragment","Kbd","tooltipProps","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","textTransform","weight","_ref3$","_createElement","Button","href","target","label","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isOpen","setIsOpen","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","classnames","absolute","icon","Close","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
@@ -19,12 +19,16 @@ var jsxRuntime = require('react/jsx-runtime');
19
19
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
20
20
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
21
21
  var Right = require('@bigbinary/neeto-icons/Right');
22
+ var useKeyboardShortcutsPaneState = require('./useKeyboardShortcutsPaneState-YnXpWOcs.js');
22
23
  require('@bigbinary/neeto-commons-frontend/react-utils');
23
24
  require('@bigbinary/neeto-commons-frontend/utils/general');
24
25
  require('@bigbinary/neeto-icons/Home');
25
26
  require('@bigbinary/neeto-filters-frontend/Segments');
26
27
  require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
27
28
  require('./inject-css-vQvjPR2x.js');
29
+ require('zustand/shallow');
30
+ require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
31
+ require('zustand');
28
32
 
29
33
  function _interopNamespaceDefault(e) {
30
34
  var n = Object.create(null);
@@ -181,6 +185,9 @@ var Sidebar = function Sidebar(_ref) {
181
185
  showWorkspaceName = _ref$showWorkspaceNam === void 0 ? false : _ref$showWorkspaceNam,
182
186
  _ref$isExpandable = _ref.isExpandable,
183
187
  isExpandable = _ref$isExpandable === void 0 ? true : _ref$isExpandable;
188
+ var _useKeyboardShortcuts = useKeyboardShortcutsPaneState.useKeyboardShortcutsPaneState(),
189
+ _useKeyboardShortcuts2 = _slicedToArray(_useKeyboardShortcuts, 1),
190
+ isKeyboardShortcutsPaneOpen = _useKeyboardShortcuts2[0];
184
191
  var _useState = React.useState(false),
185
192
  _useState2 = _slicedToArray(_useState, 2),
186
193
  isSidebarPaneOpen = _useState2[0],
@@ -211,6 +218,15 @@ var Sidebar = function Sidebar(_ref) {
211
218
  return window.innerWidth > 768;
212
219
  };
213
220
  var isSidebarClosed = isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen);
221
+ React.useEffect(function () {
222
+ if (isKeyboardShortcutsPaneOpen) {
223
+ setIsSidebarPaneOpen(false);
224
+ setIsSidebarCollapsed(true);
225
+ } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {
226
+ setIsSidebarPaneOpen(true);
227
+ setIsSidebarCollapsed(false);
228
+ }
229
+ }, [isKeyboardShortcutsPaneOpen]);
214
230
  React.useEffect(function () {
215
231
  if (!neetoCist.isPresent(navLinks)) return;
216
232
  var currentLink = ramda.findLast(function (_ref2) {
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={homePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.key || index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n /**\n * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_jsx","className","children","Link","to","onClick","classnames","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","navLink","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","Component","otherProps","_objectWithoutProperties","_excluded","IconSVG","url","URL","window","href","is","Function","pathname","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","Typography","style","Right","size","_Fragment","Items","key","Sidebar","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useTranslation","useTranslation","t","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","undefined","handle","document","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","width","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","push","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","find","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={homePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent\n className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport { Right } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={navLink.key || index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {isExpandable && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Right size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n DEFAULT_HOME_PATH,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n enableDraggingStyles,\n disableDraggingStyles,\n} from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidth, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n `${DEFAULT_SIDEBAR_WIDTH}px`\n );\n\n const sidebarRef = useRef(null);\n const isMouseDownRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const { data } = useFetchNeetoApps();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n } else if (!isKeyboardShortcutsPaneOpen && isLargerScreen()) {\n setIsSidebarPaneOpen(true);\n setIsSidebarCollapsed(false);\n }\n }, [isKeyboardShortcutsPaneOpen]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const handle = document.querySelector(\n \".neeto-molecules-sidebar__resize-handle\"\n );\n\n if (!handle) return undefined;\n\n const onMouseDown = e => {\n isMouseDownRef.current = true;\n startXRef.current = e.clientX;\n startWidthRef.current =\n sidebarRef.current?.getBoundingClientRect().width ||\n DEFAULT_SIDEBAR_WIDTH;\n\n enableDraggingStyles();\n };\n\n const onMouseMove = e => {\n if (!isMouseDownRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n let newWidth = startWidthRef.current + dx;\n\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n setSidebarWidth(`${newWidth}px`);\n };\n\n const onMouseUp = () => {\n if (!isMouseDownRef.current) return;\n\n isMouseDownRef.current = false;\n disableDraggingStyles();\n };\n\n handle.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n handle.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--neeto-molecules-sidebar-width\",\n `${parseInt(sidebarWidth) / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(buildUrl(configureNavLink.to));\n }\n };\n\n const homePath = useMemo(() => {\n if (!data?.neetoApps) return DEFAULT_HOME_PATH;\n\n const productName = globalProps.appName.substr(5);\n const thisApp = findBy({ name: productName }, data.neetoApps);\n\n return thisApp?.url ? new URL(thisApp.url).pathname : DEFAULT_HOME_PATH;\n }, [data]);\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <div\n data-testid=\"sidebar-container\"\n ref={sidebarRef}\n style={{ width: isSidebarCollapsed ? \"0\" : sidebarWidth }}\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {showWorkspaceName && (\n <div className=\"neeto-ui-bg-gray-100 neeto-molecules-sidebar__workspace-info\">\n <Typography\n className=\"neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </Typography>\n <Typography className=\"neeto-ui-truncate\" style=\"body2\">\n {globalProps.organization.name}\n </Typography>\n </div>\n )}\n {isSelectedNavLinkVisible ? (\n <SelectedLink\n {...{ handleGoBack, homePath }}\n navLink={activeLink}\n />\n ) : (\n <Links\n {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }}\n />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n {isExpandable && (\n <div className=\"neeto-molecules-sidebar__resize-handle\" />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n /**\n * Boolean to determine whether the workspace name should be shown.\n */\n showWorkspaceName: PropTypes.bool,\n /**\n * Boolean to determine whether the sidebar should be expandable.\n */\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_jsx","className","children","Link","to","onClick","classnames","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","navLink","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","not","resetPath","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","Component","otherProps","_objectWithoutProperties","_excluded","IconSVG","url","URL","window","href","is","Function","pathname","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","Typography","style","Right","size","_Fragment","Items","key","Sidebar","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidth","setSidebarWidth","sidebarRef","useRef","isMouseDownRef","startXRef","startWidthRef","history","useHistory","_useTranslation","useTranslation","t","_useFetchNeetoApps","useFetchNeetoApps","data","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","undefined","handle","document","querySelector","onMouseDown","e","_sidebarRef$current","current","clientX","getBoundingClientRect","width","enableDraggingStyles","onMouseMove","dx","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","onMouseUp","disableDraggingStyles","documentElement","setProperty","parseInt","handleGoBack","configureNavLink","getActiveConfigurePageLink","push","buildUrl","useMemo","neetoApps","DEFAULT_HOME_PATH","thisApp","findBy","name","activeLink","find","link","isSelectedNavLinkVisible","ref","weight","organization","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var shallow = require('zustand/shallow');
4
+ var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
5
+ var zustand = require('zustand');
6
+
7
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
8
+ var useKeyboardShortcutsStore = zustand.create(withImmutableActions(function (set) {
9
+ return {
10
+ isOpen: false,
11
+ setIsOpen: function setIsOpen(arg) {
12
+ if (typeof arg === "function") {
13
+ set(function (state) {
14
+ return {
15
+ isOpen: arg(state.isOpen)
16
+ };
17
+ });
18
+ } else {
19
+ set({
20
+ isOpen: arg
21
+ });
22
+ }
23
+ }
24
+ };
25
+ }));
26
+ var useKeyboardShortcutsPaneState = function useKeyboardShortcutsPaneState() {
27
+ var _useKeyboardShortcuts = useKeyboardShortcutsStore(function (store) {
28
+ return {
29
+ isOpen: store["isOpen"],
30
+ setIsOpen: store["setIsOpen"]
31
+ };
32
+ }, shallow.shallow),
33
+ isOpen = _useKeyboardShortcuts.isOpen,
34
+ setIsOpen = _useKeyboardShortcuts.setIsOpen;
35
+ return [isOpen, setIsOpen];
36
+ };
37
+
38
+ exports.useKeyboardShortcutsPaneState = useKeyboardShortcutsPaneState;
39
+ //# sourceMappingURL=useKeyboardShortcutsPaneState-YnXpWOcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardShortcutsPaneState-YnXpWOcs.js","sources":["../../src/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","store","shallow"],"mappings":";;;;;;AAGA;AACA,IAAMA,yBAAyB,GAAGC,cAAM,CACtCC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,MAAM,EAAE,KAAK;AAEbC,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEC,GAAG,EAAI;AAChB,MAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BH,GAAG,CAAC,UAAAI,KAAK,EAAA;UAAA,OAAK;AAAEH,YAAAA,MAAM,EAAEE,GAAG,CAACC,KAAK,CAACH,MAAM,CAAA;WAAG,CAAA;AAAA,SAAC,CAAC,CAAA;AAC/C,OAAC,MAAM;AACLD,QAAAA,GAAG,CAAC;AAAEC,UAAAA,MAAM,EAAEE,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtB,OAAA;AACF,KAAA;GACD,CAAA;AAAA,CAAC,CACJ,CAAC,CAAA;AAED,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,GAAS;AAC1C,EAAA,IAAAC,qBAAA,GAAAT,yBAAA,CAAA,UAAAU,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQN,QAAAA,MAAM,EAAAM,KAAA,CAAA,QAAA,CAAA;AAAEL,QAAAA,SAAS,EAAAK,KAAA,CAAA,WAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAC,eAAA,CAAA;IAAjBP,MAAM,GAAAK,qBAAA,CAANL,MAAM;IAAEC,SAAS,GAAAI,qBAAA,CAATJ,SAAS,CAAA;AAEzB,EAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC,CAAA;AAC5B;;;;"}
@@ -0,0 +1,37 @@
1
+ import { shallow } from 'zustand/shallow';
2
+ import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
3
+ import { create } from 'zustand';
4
+
5
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
6
+ var useKeyboardShortcutsStore = create(withImmutableActions(function (set) {
7
+ return {
8
+ isOpen: false,
9
+ setIsOpen: function setIsOpen(arg) {
10
+ if (typeof arg === "function") {
11
+ set(function (state) {
12
+ return {
13
+ isOpen: arg(state.isOpen)
14
+ };
15
+ });
16
+ } else {
17
+ set({
18
+ isOpen: arg
19
+ });
20
+ }
21
+ }
22
+ };
23
+ }));
24
+ var useKeyboardShortcutsPaneState = function useKeyboardShortcutsPaneState() {
25
+ var _useKeyboardShortcuts = useKeyboardShortcutsStore(function (store) {
26
+ return {
27
+ isOpen: store["isOpen"],
28
+ setIsOpen: store["setIsOpen"]
29
+ };
30
+ }, shallow),
31
+ isOpen = _useKeyboardShortcuts.isOpen,
32
+ setIsOpen = _useKeyboardShortcuts.setIsOpen;
33
+ return [isOpen, setIsOpen];
34
+ };
35
+
36
+ export { useKeyboardShortcutsPaneState as u };
37
+ //# sourceMappingURL=useKeyboardShortcutsPaneState-C_eLceJQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardShortcutsPaneState-C_eLceJQ.js","sources":["../src/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","store","shallow"],"mappings":";;;;AAGA;AACA,IAAMA,yBAAyB,GAAGC,MAAM,CACtCC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,MAAM,EAAE,KAAK;AAEbC,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEC,GAAG,EAAI;AAChB,MAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BH,GAAG,CAAC,UAAAI,KAAK,EAAA;UAAA,OAAK;AAAEH,YAAAA,MAAM,EAAEE,GAAG,CAACC,KAAK,CAACH,MAAM,CAAA;WAAG,CAAA;AAAA,SAAC,CAAC,CAAA;AAC/C,OAAC,MAAM;AACLD,QAAAA,GAAG,CAAC;AAAEC,UAAAA,MAAM,EAAEE,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtB,OAAA;AACF,KAAA;GACD,CAAA;AAAA,CAAC,CACJ,CAAC,CAAA;AAED,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,GAAS;AAC1C,EAAA,IAAAC,qBAAA,GAAAT,yBAAA,CAAA,UAAAU,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQN,QAAAA,MAAM,EAAAM,KAAA,CAAA,QAAA,CAAA;AAAEL,QAAAA,SAAS,EAAAK,KAAA,CAAA,WAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAC,OAAA,CAAA;IAAjBP,MAAM,GAAAK,qBAAA,CAANL,MAAM;IAAEC,SAAS,GAAAI,qBAAA,CAATJ,SAAS,CAAA;AAEzB,EAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC,CAAA;AAC5B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.16.53",
3
+ "version": "3.16.54",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",