@laerdal/life-react-components 2.3.1-dev.12 → 2.3.1-dev.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/AuthPage/AuthPage.d.ts +1 -0
  2. package/dist/Banners/Banner.cjs.map +1 -1
  3. package/dist/Banners/Banner.js.map +1 -1
  4. package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -0
  5. package/dist/Dropdown/DropdownContent.cjs +1 -1
  6. package/dist/Dropdown/DropdownContent.js +1 -1
  7. package/dist/Footer/Components/FooterBottomLinks.d.ts +1 -0
  8. package/dist/Footer/Components/FooterDropdownLinks.d.ts +1 -0
  9. package/dist/Footer/Components/FooterNavSection.d.ts +1 -0
  10. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  11. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +1 -0
  12. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  13. package/dist/Footer/Components/FooterTop.d.ts +1 -0
  14. package/dist/Footer/Footer.d.ts +1 -0
  15. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  16. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  17. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -1
  18. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  19. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +1 -0
  20. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +2 -2
  21. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  22. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +6 -65
  23. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  24. package/dist/GlobalNavigationBar/desktop/MainMenu.js +6 -65
  25. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  26. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +19 -102
  27. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
  28. package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +1 -4
  29. package/dist/GlobalNavigationBar/desktop/SubMenu.js +19 -102
  30. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
  31. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +1 -0
  32. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -0
  33. package/dist/InputFields/DatepickerFieldHeader.cjs +2 -4
  34. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  35. package/dist/InputFields/DatepickerFieldHeader.d.ts +1 -0
  36. package/dist/InputFields/DatepickerFieldHeader.js +2 -4
  37. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  38. package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -0
  39. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  40. package/dist/Paginator/Paginator.cjs.map +1 -1
  41. package/dist/Paginator/Paginator.d.ts +1 -0
  42. package/dist/Paginator/Paginator.js.map +1 -1
  43. package/dist/SideMenu/SideMenuBody.d.ts +1 -0
  44. package/dist/SideMenu/SideMenuFooter.d.ts +1 -0
  45. package/dist/SideMenu/SideMenuHeader.d.ts +1 -0
  46. package/dist/SideMenu/types.d.ts +1 -0
  47. package/dist/Switcher/MobileCustomMenuContent.cjs +3 -0
  48. package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -1
  49. package/dist/Switcher/MobileCustomMenuContent.d.ts +1 -0
  50. package/dist/Switcher/MobileCustomMenuContent.js +3 -0
  51. package/dist/Switcher/MobileCustomMenuContent.js.map +1 -1
  52. package/dist/Switcher/SwitcherMenuItem.d.ts +1 -0
  53. package/dist/Table/Table.cjs +1 -1
  54. package/dist/Table/Table.js +1 -1
  55. package/dist/Table/TableFooter.cjs.map +1 -1
  56. package/dist/Table/TableFooter.js.map +1 -1
  57. package/dist/Table/TableTypes.d.ts +1 -0
  58. package/dist/Tabs/TabLink.cjs +53 -50
  59. package/dist/Tabs/TabLink.cjs.map +1 -1
  60. package/dist/Tabs/TabLink.d.ts +14 -13
  61. package/dist/Tabs/TabLink.js +53 -50
  62. package/dist/Tabs/TabLink.js.map +1 -1
  63. package/dist/Tile/TileCommonItems.d.ts +1 -0
  64. package/dist/Toggles/TogglerTypes.d.ts +1 -0
  65. package/dist/Tooltips/TooltipOverflow.cjs +1 -1
  66. package/dist/Tooltips/TooltipOverflow.cjs.map +1 -1
  67. package/dist/Tooltips/TooltipOverflow.js +1 -1
  68. package/dist/Tooltips/TooltipOverflow.js.map +1 -1
  69. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  70. package/dist/Tooltips/TooltipWrapper.d.ts +1 -0
  71. package/dist/assets/index.cjs.map +1 -1
  72. package/dist/assets/index.js.map +1 -1
  73. package/dist/common/ActionWithin.cjs +1 -1
  74. package/dist/common/ActionWithin.js +1 -1
  75. package/dist/common/FocusVisible.cjs +1 -1
  76. package/dist/common/FocusVisible.js +1 -1
  77. package/dist/icons/systemicons/LoadingMedium.cjs.map +1 -1
  78. package/dist/icons/systemicons/LoadingMedium.js.map +1 -1
  79. package/dist/icons/systemicons/LoadingSmall.cjs.map +1 -1
  80. package/dist/icons/systemicons/LoadingSmall.js.map +1 -1
  81. package/package.json +6 -7
@@ -31,7 +31,7 @@ var SubMenuWrapper = _styledComponents.default.div(_templateObject || (_template
31
31
  return !props.visible ? 'display: none;' : '';
32
32
  });
33
33
  exports.SubMenuWrapper = SubMenuWrapper;
34
- var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
34
+ var SubMenu = function SubMenu(_ref) {
35
35
  var item = _ref.item,
36
36
  index = _ref.index,
37
37
  topLevel = _ref.topLevel,
@@ -39,33 +39,11 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
39
39
  onSubMenuHidden = _ref.onSubMenuHidden,
40
40
  onSubMenuOpened = _ref.onSubMenuOpened,
41
41
  onItemStateChanged = _ref.onItemStateChanged,
42
- focusedItemId = _ref.focusedItemId,
43
42
  activeItemId = _ref.activeItemId,
44
- nestPath = _ref.nestPath,
45
- ariaLabelledBy = _ref.ariaLabelledBy,
46
- onItemFocused = _ref.onItemFocused;
43
+ nestPath = _ref.nestPath;
47
44
  var _React$useState = React.useState({}),
48
45
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
49
46
  forceUpdate = _React$useState2[1];
50
- var focusedRef = React.useRef({
51
- index: -1
52
- });
53
- var _React$useState3 = React.useState([]),
54
- _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
55
- allRefs = _React$useState4[0],
56
- setAllRefs = _React$useState4[1];
57
- var _React$useState5 = React.useState([]),
58
- _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
59
- subMenuRefs = _React$useState6[0],
60
- setAllSubMenuRefs = _React$useState6[1];
61
- React.useEffect(function () {
62
- setAllRefs(item.items.map(function (x) {
63
- return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : /*#__PURE__*/React.createRef();
64
- }));
65
- setAllSubMenuRefs(item.items.map(function (x) {
66
- return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : undefined;
67
- }));
68
- }, [item]);
69
47
  var existingRef = dropdownMenusOpenedArray.current.find(function (x) {
70
48
  return x == item.id;
71
49
  });
@@ -90,77 +68,30 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
90
68
  forceUpdate({});
91
69
  }
92
70
  };
93
- var _onKeyDown = function onKeyDown(e) {
94
- if (e.key === 'ArrowUp' || e.key === 'Up') {
95
- e.stopPropagation();
96
- e.preventDefault();
97
- if (focusedRef.current.index > 0) {
98
- setNewFocusedElement(focusedRef.current.index - 1);
99
- }
100
- } else if (e.key === 'ArrowDown' || e.key === 'Down') {
101
- e.stopPropagation();
102
- e.preventDefault();
103
- if (focusedRef.current.index < allRefs.length - 1) setNewFocusedElement(focusedRef.current.index + 1);
104
- } else if (e.key == 'Enter' || e.code == 'Space') {
105
- e.stopPropagation();
106
- if (focusedRef.current.index < 0) return;
107
- var focusedItem = item.items[focusedRef.current.index];
108
- if (focusedItem.type == 'desktopgroup') {
109
- dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [focusedItem.id]);
110
- forceUpdate({});
111
- } else {
112
- var _allRefs$focusedRef$c;
113
- (_allRefs$focusedRef$c = allRefs[focusedRef.current.index].current) === null || _allRefs$focusedRef$c === void 0 ? void 0 : _allRefs$focusedRef$c.click();
114
- forceUpdate({});
115
- }
116
-
71
+ var _onKeyDown = function onKeyDown(event, entryId) {
72
+ if (event.key == 'Enter' || event.code == 'Space') {
73
+ dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [entryId]);
117
74
  //just trigger rerendering
75
+ forceUpdate({});
118
76
  }
119
77
  };
120
-
121
- var setNewFocusedElement = function setNewFocusedElement(index) {
122
- var _oldFocusedElement$cu;
123
- var newFocusedElement = index >= 0 ? allRefs[index] : null;
124
- var oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;
125
- focusedRef.current.index = index;
126
- if (oldFocusedElement) oldFocusedElement === null || oldFocusedElement === void 0 ? void 0 : (_oldFocusedElement$cu = oldFocusedElement.current) === null || _oldFocusedElement$cu === void 0 ? void 0 : _oldFocusedElement$cu.classList.remove('dropdown-hover');
127
- if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
128
- var _newFocusedElement$cu, _item$items$index$id;
129
- (_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
130
- console.log(item.items[index].id);
131
- onItemFocused && onItemFocused((_item$items$index$id = item.items[index].id) !== null && _item$items$index$id !== void 0 ? _item$items$index$id : '');
132
- } else if (onItemFocused) onItemFocused('');
133
- };
134
78
  var onFocus = function onFocus(event) {
135
- event.stopPropagation();
136
79
  dropdownMenusOpenedArray.current = (0, _toConsumableArray2.default)(nestPath !== null && nestPath !== void 0 ? nestPath : []);
137
- setNewFocusedElement(0);
138
80
  forceUpdate({});
139
81
  };
140
- var onBlur = function onBlur(event) {
141
- event.stopPropagation();
142
- setNewFocusedElement(-1);
143
- };
144
82
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(SubMenuWrapper, {
145
83
  id: item.id,
146
84
  className: existingRef ? 'open' : '',
147
85
  topLevel: topLevel,
148
86
  visible: Boolean(existingRef),
149
87
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.Menu, {
150
- role: "group",
151
- ref: ref,
152
- "aria-labelledby": ariaLabelledBy,
153
- onBlur: onBlur,
154
- onFocus: onFocus,
155
- onKeyDown: function onKeyDown(event) {
156
- return _onKeyDown(event);
157
- },
158
- tabIndex: 0,
88
+ role: "menu",
89
+ "aria-labelledby": "UserMenuButton",
159
90
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.MenuSection, {
160
91
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.MenuSectionList, {
161
92
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {
162
93
  size: _types.Size.Medium,
163
- children: item.items.map(function (entry, index) {
94
+ children: item.items.map(function (entry) {
164
95
  var _entry$label2;
165
96
  var isGroup = entry.type == 'desktopgroup';
166
97
  var key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';
@@ -168,7 +99,7 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
168
99
  return x == entry.id;
169
100
  }));
170
101
  if (isGroup) {
171
- var _entry$items$find$id, _entry$items$find, _entry$label;
102
+ var _entry$label;
172
103
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
173
104
  style: {
174
105
  position: 'relative'
@@ -180,17 +111,12 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
180
111
  return _onMouseLeave(event, entry.id);
181
112
  },
182
113
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.MenuItem, {
183
- id: entry.id + '_parentOption',
184
- "aria-expanded": Boolean(SubItemOpened),
185
- "aria-activedescendant": (_entry$items$find$id = (_entry$items$find = entry.items.find(function (x) {
186
- return x.id == focusedItemId;
187
- })) === null || _entry$items$find === void 0 ? void 0 : _entry$items$find.id) !== null && _entry$items$find$id !== void 0 ? _entry$items$find$id : '',
188
- tabIndex: -1,
189
- ref: allRefs[index],
190
- "aria-controls": entry.id,
191
- role: "group"
192
- //id={entry.id} removing this can break something
193
- ,
114
+ tabIndex: 0,
115
+ onFocus: onFocus,
116
+ onKeyDown: function onKeyDown(event) {
117
+ return _onKeyDown(event, entry.id);
118
+ },
119
+ id: entry.id,
194
120
  item: {
195
121
  value: (_entry$label = entry.label) !== null && _entry$label !== void 0 ? _entry$label : ''
196
122
  },
@@ -200,10 +126,6 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
200
126
  active: SubItemOpened || Boolean(activeItemId) && activeItemId != '' && (0, _utils.checkIfContainsItem)(entry, activeItemId),
201
127
  onClickHandler: function onClickHandler() {}
202
128
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SubMenu, {
203
- ariaLabelledBy: entry.id + '_parentOption',
204
- onItemFocused: onItemFocused,
205
- focusedItemId: focusedItemId,
206
- ref: subMenuRefs[index],
207
129
  nestPath: [].concat((0, _toConsumableArray2.default)(nestPath !== null && nestPath !== void 0 ? nestPath : []), [entry.id]),
208
130
  onItemStateChanged: onItemStateChanged,
209
131
  activeItemId: activeItemId,
@@ -216,10 +138,8 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
216
138
  }
217
139
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
218
140
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabLink.default, {
219
- id: entry.id,
220
- tabIndex: -1,
221
141
  to: isGroup ? '' : key,
222
- ref: allRefs[index],
142
+ onFocus: onFocus,
223
143
  onActiveStateChanged: function onActiveStateChanged(state) {
224
144
  return onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state);
225
145
  },
@@ -242,7 +162,7 @@ var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
242
162
  })
243
163
  })
244
164
  });
245
- });
165
+ };
246
166
  exports.SubMenu = SubMenu;
247
167
  SubMenu.propTypes = {
248
168
  index: _propTypes.default.number.isRequired,
@@ -250,10 +170,7 @@ SubMenu.propTypes = {
250
170
  onSubMenuOpened: _propTypes.default.func,
251
171
  onSubMenuHidden: _propTypes.default.func,
252
172
  onItemStateChanged: _propTypes.default.func,
253
- onItemFocused: _propTypes.default.func,
254
- focusedItemId: _propTypes.default.string,
255
173
  activeItemId: _propTypes.default.string,
256
- nestPath: _propTypes.default.arrayOf(_propTypes.default.string),
257
- ariaLabelledBy: _propTypes.default.string
174
+ nestPath: _propTypes.default.arrayOf(_propTypes.default.string)
258
175
  };
259
176
  //# sourceMappingURL=SubMenu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubMenu.cjs","names":["SubMenuWrapper","styled","div","Menu","props","topLevel","visible","SubMenu","React","forwardRef","ref","item","index","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","useState","forceUpdate","focusedRef","useRef","allRefs","setAllRefs","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","filter","containActiveItem","checkIfContainsItem","onMouseEnter","existingRefForId","onKeyDown","e","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","click","newFocusedElement","oldFocusedElement","classList","remove","add","console","log","onFocus","onBlur","Boolean","Size","Medium","entry","isGroup","to","SubItemOpened","position","value","label","state","disabled"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../../NavItem';\nimport { COLORS, BREAKPOINTS } from '../../styles';\nimport ExtendedMainMenu, { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { IconButton } from '../../Button';\nimport { defaultOnMouseDownHandler } from '../../common';\nimport { MenuNavigationItemTypeDesktopGroup, MenuNavigationItemTypeItem } from '../types';\nimport { DropdownContent } from '../../Dropdown';\nimport { VerticalTabEntry, VerticalTabs } from '../../Tabs';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\nimport { NavItemDiv } from '../../NavItem/NavItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ topLevel: boolean; visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n console.log(item.items[index].id);\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } topLevel={topLevel} visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubMenu.cjs","names":["SubMenuWrapper","styled","div","Menu","props","topLevel","visible","SubMenu","item","index","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","activeItemId","nestPath","React","useState","forceUpdate","existingRef","current","find","x","id","onMouseLeave","event","filter","containActiveItem","type","checkIfContainsItem","onMouseEnter","existingRefForId","onKeyDown","entryId","key","code","onFocus","Boolean","Size","Medium","items","map","entry","isGroup","to","SubItemOpened","position","value","label","state","disabled"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../../NavItem';\nimport { COLORS, BREAKPOINTS } from '../../styles';\nimport ExtendedMainMenu, { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { IconButton } from '../../Button';\nimport { defaultOnMouseDownHandler } from '../../common';\nimport { MenuNavigationItemTypeDesktopGroup, MenuNavigationItemTypeItem } from '../types';\nimport { DropdownContent } from '../../Dropdown';\nimport { VerticalTabEntry, VerticalTabs } from '../../Tabs';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\nimport { NavItemDiv } from '../../NavItem/NavItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n activeItemId?: string;\n nestPath?: string[];\n};\n\nexport const SubMenuWrapper = styled.div<{ topLevel: boolean, visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${props => !props.visible ? 'display: none;' : ''}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = ({ item, index, topLevel, dropdownMenusOpenedArray, onSubMenuHidden, onSubMenuOpened, onItemStateChanged, activeItemId, nestPath }: SubMenuProps): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if(item.type == 'desktopgroup' && activeItemId)\n containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, entryId: string) => {\n if(event.key == 'Enter' || event.code == 'Space')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, entryId];\n //just trigger rerendering\n forceUpdate({});\n }\n };\n\n const onFocus = (event: React.FocusEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n forceUpdate({});\n }\n\n return <SubMenuWrapper id={item.id} className={existingRef ? 'open' : ''} topLevel={topLevel} visible={Boolean(existingRef)}>\n <Menu role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n tabIndex={0}\n onFocus={onFocus}\n onKeyDown={(event) => onKeyDown(event, entry.id)}\n id={entry.id}\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu nestPath={[...(nestPath ?? []), entry.id]} onItemStateChanged={onItemStateChanged} activeItemId={activeItemId} dropdownMenusOpenedArray={dropdownMenusOpenedArray} item={entry as MenuNavigationItemTypeDesktopGroup} index={index + 1} topLevel={false} />\n </div>\n );\n }\n return (\n <>\n <TabLink\n key={key}\n to={isGroup ? '' : key}\n onFocus={onFocus}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>;\n};\n"],"mappings":"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"}
@@ -8,14 +8,11 @@ export type SubMenuProps = {
8
8
  onSubMenuOpened?: (item: string) => void;
9
9
  onSubMenuHidden?: (item: string) => void;
10
10
  onItemStateChanged?: (item: string, state: boolean) => void;
11
- onItemFocused?: (item: string) => void;
12
- focusedItemId?: string;
13
11
  activeItemId?: string;
14
12
  nestPath?: string[];
15
- ariaLabelledBy?: string;
16
13
  };
17
14
  export declare const SubMenuWrapper: import("styled-components").StyledComponent<"div", any, {
18
15
  topLevel: boolean;
19
16
  visible: boolean;
20
17
  }, never>;
21
- export declare const SubMenu: React.ForwardRefExoticComponent<SubMenuProps & React.RefAttributes<HTMLUListElement>>;
18
+ export declare const SubMenu: ({ item, index, topLevel, dropdownMenusOpenedArray, onSubMenuHidden, onSubMenuOpened, onItemStateChanged, activeItemId, nestPath }: SubMenuProps) => React.ReactElement<SubMenuProps>;
@@ -22,7 +22,7 @@ export var SubMenuWrapper = styled.div(_templateObject || (_templateObject = _ta
22
22
  }, function (props) {
23
23
  return !props.visible ? 'display: none;' : '';
24
24
  });
25
- export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25
+ export var SubMenu = function SubMenu(_ref) {
26
26
  var item = _ref.item,
27
27
  index = _ref.index,
28
28
  topLevel = _ref.topLevel,
@@ -30,33 +30,11 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30
30
  onSubMenuHidden = _ref.onSubMenuHidden,
31
31
  onSubMenuOpened = _ref.onSubMenuOpened,
32
32
  onItemStateChanged = _ref.onItemStateChanged,
33
- focusedItemId = _ref.focusedItemId,
34
33
  activeItemId = _ref.activeItemId,
35
- nestPath = _ref.nestPath,
36
- ariaLabelledBy = _ref.ariaLabelledBy,
37
- onItemFocused = _ref.onItemFocused;
34
+ nestPath = _ref.nestPath;
38
35
  var _React$useState = React.useState({}),
39
36
  _React$useState2 = _slicedToArray(_React$useState, 2),
40
37
  forceUpdate = _React$useState2[1];
41
- var focusedRef = React.useRef({
42
- index: -1
43
- });
44
- var _React$useState3 = React.useState([]),
45
- _React$useState4 = _slicedToArray(_React$useState3, 2),
46
- allRefs = _React$useState4[0],
47
- setAllRefs = _React$useState4[1];
48
- var _React$useState5 = React.useState([]),
49
- _React$useState6 = _slicedToArray(_React$useState5, 2),
50
- subMenuRefs = _React$useState6[0],
51
- setAllSubMenuRefs = _React$useState6[1];
52
- React.useEffect(function () {
53
- setAllRefs(item.items.map(function (x) {
54
- return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : /*#__PURE__*/React.createRef();
55
- }));
56
- setAllSubMenuRefs(item.items.map(function (x) {
57
- return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : undefined;
58
- }));
59
- }, [item]);
60
38
  var existingRef = dropdownMenusOpenedArray.current.find(function (x) {
61
39
  return x == item.id;
62
40
  });
@@ -81,77 +59,30 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
81
59
  forceUpdate({});
82
60
  }
83
61
  };
84
- var _onKeyDown = function onKeyDown(e) {
85
- if (e.key === 'ArrowUp' || e.key === 'Up') {
86
- e.stopPropagation();
87
- e.preventDefault();
88
- if (focusedRef.current.index > 0) {
89
- setNewFocusedElement(focusedRef.current.index - 1);
90
- }
91
- } else if (e.key === 'ArrowDown' || e.key === 'Down') {
92
- e.stopPropagation();
93
- e.preventDefault();
94
- if (focusedRef.current.index < allRefs.length - 1) setNewFocusedElement(focusedRef.current.index + 1);
95
- } else if (e.key == 'Enter' || e.code == 'Space') {
96
- e.stopPropagation();
97
- if (focusedRef.current.index < 0) return;
98
- var focusedItem = item.items[focusedRef.current.index];
99
- if (focusedItem.type == 'desktopgroup') {
100
- dropdownMenusOpenedArray.current = [].concat(_toConsumableArray(dropdownMenusOpenedArray.current), [focusedItem.id]);
101
- forceUpdate({});
102
- } else {
103
- var _allRefs$focusedRef$c;
104
- (_allRefs$focusedRef$c = allRefs[focusedRef.current.index].current) === null || _allRefs$focusedRef$c === void 0 ? void 0 : _allRefs$focusedRef$c.click();
105
- forceUpdate({});
106
- }
107
-
62
+ var _onKeyDown = function onKeyDown(event, entryId) {
63
+ if (event.key == 'Enter' || event.code == 'Space') {
64
+ dropdownMenusOpenedArray.current = [].concat(_toConsumableArray(dropdownMenusOpenedArray.current), [entryId]);
108
65
  //just trigger rerendering
66
+ forceUpdate({});
109
67
  }
110
68
  };
111
-
112
- var setNewFocusedElement = function setNewFocusedElement(index) {
113
- var _oldFocusedElement$cu;
114
- var newFocusedElement = index >= 0 ? allRefs[index] : null;
115
- var oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;
116
- focusedRef.current.index = index;
117
- if (oldFocusedElement) oldFocusedElement === null || oldFocusedElement === void 0 ? void 0 : (_oldFocusedElement$cu = oldFocusedElement.current) === null || _oldFocusedElement$cu === void 0 ? void 0 : _oldFocusedElement$cu.classList.remove('dropdown-hover');
118
- if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
119
- var _newFocusedElement$cu, _item$items$index$id;
120
- (_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
121
- console.log(item.items[index].id);
122
- onItemFocused && onItemFocused((_item$items$index$id = item.items[index].id) !== null && _item$items$index$id !== void 0 ? _item$items$index$id : '');
123
- } else if (onItemFocused) onItemFocused('');
124
- };
125
69
  var onFocus = function onFocus(event) {
126
- event.stopPropagation();
127
70
  dropdownMenusOpenedArray.current = _toConsumableArray(nestPath !== null && nestPath !== void 0 ? nestPath : []);
128
- setNewFocusedElement(0);
129
71
  forceUpdate({});
130
72
  };
131
- var onBlur = function onBlur(event) {
132
- event.stopPropagation();
133
- setNewFocusedElement(-1);
134
- };
135
73
  return /*#__PURE__*/_jsx(SubMenuWrapper, {
136
74
  id: item.id,
137
75
  className: existingRef ? 'open' : '',
138
76
  topLevel: topLevel,
139
77
  visible: Boolean(existingRef),
140
78
  children: /*#__PURE__*/_jsx(Menu, {
141
- role: "group",
142
- ref: ref,
143
- "aria-labelledby": ariaLabelledBy,
144
- onBlur: onBlur,
145
- onFocus: onFocus,
146
- onKeyDown: function onKeyDown(event) {
147
- return _onKeyDown(event);
148
- },
149
- tabIndex: 0,
79
+ role: "menu",
80
+ "aria-labelledby": "UserMenuButton",
150
81
  children: /*#__PURE__*/_jsx(MenuSection, {
151
82
  children: /*#__PURE__*/_jsx(MenuSectionList, {
152
83
  children: /*#__PURE__*/_jsx(Tabs, {
153
84
  size: Size.Medium,
154
- children: item.items.map(function (entry, index) {
85
+ children: item.items.map(function (entry) {
155
86
  var _entry$label2;
156
87
  var isGroup = entry.type == 'desktopgroup';
157
88
  var key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';
@@ -159,7 +90,7 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
159
90
  return x == entry.id;
160
91
  }));
161
92
  if (isGroup) {
162
- var _entry$items$find$id, _entry$items$find, _entry$label;
93
+ var _entry$label;
163
94
  return /*#__PURE__*/_jsxs("div", {
164
95
  style: {
165
96
  position: 'relative'
@@ -171,17 +102,12 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
171
102
  return _onMouseLeave(event, entry.id);
172
103
  },
173
104
  children: [/*#__PURE__*/_jsx(MenuItem, {
174
- id: entry.id + '_parentOption',
175
- "aria-expanded": Boolean(SubItemOpened),
176
- "aria-activedescendant": (_entry$items$find$id = (_entry$items$find = entry.items.find(function (x) {
177
- return x.id == focusedItemId;
178
- })) === null || _entry$items$find === void 0 ? void 0 : _entry$items$find.id) !== null && _entry$items$find$id !== void 0 ? _entry$items$find$id : '',
179
- tabIndex: -1,
180
- ref: allRefs[index],
181
- "aria-controls": entry.id,
182
- role: "group"
183
- //id={entry.id} removing this can break something
184
- ,
105
+ tabIndex: 0,
106
+ onFocus: onFocus,
107
+ onKeyDown: function onKeyDown(event) {
108
+ return _onKeyDown(event, entry.id);
109
+ },
110
+ id: entry.id,
185
111
  item: {
186
112
  value: (_entry$label = entry.label) !== null && _entry$label !== void 0 ? _entry$label : ''
187
113
  },
@@ -191,10 +117,6 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
191
117
  active: SubItemOpened || Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId),
192
118
  onClickHandler: function onClickHandler() {}
193
119
  }), /*#__PURE__*/_jsx(SubMenu, {
194
- ariaLabelledBy: entry.id + '_parentOption',
195
- onItemFocused: onItemFocused,
196
- focusedItemId: focusedItemId,
197
- ref: subMenuRefs[index],
198
120
  nestPath: [].concat(_toConsumableArray(nestPath !== null && nestPath !== void 0 ? nestPath : []), [entry.id]),
199
121
  onItemStateChanged: onItemStateChanged,
200
122
  activeItemId: activeItemId,
@@ -207,10 +129,8 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
207
129
  }
208
130
  return /*#__PURE__*/_jsx(_Fragment, {
209
131
  children: /*#__PURE__*/_jsx(TabLink, {
210
- id: entry.id,
211
- tabIndex: -1,
212
132
  to: isGroup ? '' : key,
213
- ref: allRefs[index],
133
+ onFocus: onFocus,
214
134
  onActiveStateChanged: function onActiveStateChanged(state) {
215
135
  return onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state);
216
136
  },
@@ -233,17 +153,14 @@ export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
233
153
  })
234
154
  })
235
155
  });
236
- });
156
+ };
237
157
  SubMenu.propTypes = {
238
158
  index: _pt.number.isRequired,
239
159
  topLevel: _pt.bool.isRequired,
240
160
  onSubMenuOpened: _pt.func,
241
161
  onSubMenuHidden: _pt.func,
242
162
  onItemStateChanged: _pt.func,
243
- onItemFocused: _pt.func,
244
- focusedItemId: _pt.string,
245
163
  activeItemId: _pt.string,
246
- nestPath: _pt.arrayOf(_pt.string),
247
- ariaLabelledBy: _pt.string
164
+ nestPath: _pt.arrayOf(_pt.string)
248
165
  };
249
166
  //# sourceMappingURL=SubMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubMenu.js","names":["React","styled","Menu","MenuSection","MenuSectionList","Size","SystemIcons","checkIfContainsItem","Tabs","TabLink","MenuItem","SubMenuWrapper","div","props","topLevel","visible","SubMenu","forwardRef","ref","item","index","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","useState","forceUpdate","focusedRef","useRef","allRefs","setAllRefs","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","filter","containActiveItem","onMouseEnter","existingRefForId","onKeyDown","e","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","click","newFocusedElement","oldFocusedElement","classList","remove","add","console","log","onFocus","onBlur","Boolean","Medium","entry","isGroup","to","SubItemOpened","position","value","label","state","disabled"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../../NavItem';\nimport { COLORS, BREAKPOINTS } from '../../styles';\nimport ExtendedMainMenu, { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { IconButton } from '../../Button';\nimport { defaultOnMouseDownHandler } from '../../common';\nimport { MenuNavigationItemTypeDesktopGroup, MenuNavigationItemTypeItem } from '../types';\nimport { DropdownContent } from '../../Dropdown';\nimport { VerticalTabEntry, VerticalTabs } from '../../Tabs';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\nimport { NavItemDiv } from '../../NavItem/NavItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ topLevel: boolean; visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n console.log(item.items[index].id);\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } topLevel={topLevel} visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubMenu.js","names":["React","styled","Menu","MenuSection","MenuSectionList","Size","SystemIcons","checkIfContainsItem","Tabs","TabLink","MenuItem","SubMenuWrapper","div","props","topLevel","visible","SubMenu","item","index","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","activeItemId","nestPath","useState","forceUpdate","existingRef","current","find","x","id","onMouseLeave","event","filter","containActiveItem","type","onMouseEnter","existingRefForId","onKeyDown","entryId","key","code","onFocus","Boolean","Medium","items","map","entry","isGroup","to","SubItemOpened","position","value","label","state","disabled"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../../NavItem';\nimport { COLORS, BREAKPOINTS } from '../../styles';\nimport ExtendedMainMenu, { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { IconButton } from '../../Button';\nimport { defaultOnMouseDownHandler } from '../../common';\nimport { MenuNavigationItemTypeDesktopGroup, MenuNavigationItemTypeItem } from '../types';\nimport { DropdownContent } from '../../Dropdown';\nimport { VerticalTabEntry, VerticalTabs } from '../../Tabs';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\nimport { NavItemDiv } from '../../NavItem/NavItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n activeItemId?: string;\n nestPath?: string[];\n};\n\nexport const SubMenuWrapper = styled.div<{ topLevel: boolean, visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${props => !props.visible ? 'display: none;' : ''}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = ({ item, index, topLevel, dropdownMenusOpenedArray, onSubMenuHidden, onSubMenuOpened, onItemStateChanged, activeItemId, nestPath }: SubMenuProps): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if(item.type == 'desktopgroup' && activeItemId)\n containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, entryId: string) => {\n if(event.key == 'Enter' || event.code == 'Space')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, entryId];\n //just trigger rerendering\n forceUpdate({});\n }\n };\n\n const onFocus = (event: React.FocusEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n forceUpdate({});\n }\n\n return <SubMenuWrapper id={item.id} className={existingRef ? 'open' : ''} topLevel={topLevel} visible={Boolean(existingRef)}>\n <Menu role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n tabIndex={0}\n onFocus={onFocus}\n onKeyDown={(event) => onKeyDown(event, entry.id)}\n id={entry.id}\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu nestPath={[...(nestPath ?? []), entry.id]} onItemStateChanged={onItemStateChanged} activeItemId={activeItemId} dropdownMenusOpenedArray={dropdownMenusOpenedArray} item={entry as MenuNavigationItemTypeDesktopGroup} index={index + 1} topLevel={false} />\n </div>\n );\n }\n return (\n <>\n <TabLink\n key={key}\n to={isGroup ? '' : key}\n onFocus={onFocus}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>;\n};\n"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,MAAM,MAAM,mBAAmB;AAItC,SAA2BC,IAAI,EAAEC,WAAW,EAAEC,eAAe,QAAQ,oBAAoB;AAMzF,SAASC,IAAI,QAAQ,aAAa;AAClC,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,OAAO,MAAM,oBAAoB;AACxC,SAASC,QAAQ,QAAQ,gBAAgB;AAAC;AAAA;AAAA;AAe1C,OAAO,IAAMC,cAAc,GAAGV,MAAM,CAACW,GAAG,6KACpCV,IAAI,EACG,UAACW,KAAK;EAAA,OAAMA,KAAK,CAACC,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,EAC3C,UAACD,KAAK;EAAA,OAAMA,KAAK,CAACC,QAAQ,GAAG,KAAK,GAAG,mBAAmB;AAAA,CAAC,EAGjE,UAAAD,KAAK;EAAA,OAAI,CAACA,KAAK,CAACE,OAAO,GAAG,gBAAgB,GAAG,EAAE;AAAA,EAKlD;AAED,OAAO,IAAMC,OAAO,GAAG,SAAVA,OAAO,OAA0L;EAAA,IAApLC,IAAI,QAAJA,IAAI;IAAEC,KAAK,QAALA,KAAK;IAAEJ,QAAQ,QAARA,QAAQ;IAAEK,wBAAwB,QAAxBA,wBAAwB;IAAEC,eAAe,QAAfA,eAAe;IAAEC,eAAe,QAAfA,eAAe;IAAEC,kBAAkB,QAAlBA,kBAAkB;IAAEC,YAAY,QAAZA,YAAY;IAAEC,QAAQ,QAARA,QAAQ;EACrJ,sBAAwBxB,KAAK,CAACyB,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAA;IAAjCC,WAAW;EAEpB,IAAMC,WAAW,GAAGR,wBAAwB,CAACS,OAAO,CAACC,IAAI,CAAC,UAACC,CAAC;IAAA,OAAKA,CAAC,IAAIb,IAAI,CAACc,EAAE;EAAA,EAAC;EAC9E,IAAMC,aAAY,GAAG,SAAfA,YAAY,CAAIC,KAAU,EAAEF,EAAU,EAAK;IAC/CZ,wBAAwB,CAACS,OAAO,sBAAOT,wBAAwB,CAACS,OAAO,CAACM,MAAM,CAAC,UAACJ,CAAC;MAAA,OAAKA,CAAC,IAAIC,EAAE;IAAA,EAAC,CAAC;IAC/F;IACAX,eAAe,IAAIA,eAAe,CAACW,EAAE,CAAC;IACtCL,WAAW,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC;EACD,IAAIS,iBAAiB,GAAG,KAAK;EAC7B,IAAGlB,IAAI,CAACmB,IAAI,IAAI,cAAc,IAAIb,YAAY,EAC5CY,iBAAiB,GAAG5B,mBAAmB,CAACU,IAAI,EAAEM,YAAY,CAAC;EAE7D,IAAMc,aAAY,GAAG,SAAfA,YAAY,CAAIJ,KAAU,EAAEF,EAAU,EAAK;IAC/C,IAAMO,gBAAgB,GAAGnB,wBAAwB,CAACS,OAAO,CAACC,IAAI,CAAC,UAACC,CAAC;MAAA,OAAKA,CAAC,IAAIC,EAAE;IAAA,EAAC;IAC9E,IAAIO,gBAAgB,IAAI,IAAI,EAAE;MAC5BnB,wBAAwB,CAACS,OAAO,gCAAOT,wBAAwB,CAACS,OAAO,IAAEG,EAAE,EAAC;MAC5E;MACAV,eAAe,IAAIA,eAAe,CAACU,EAAE,CAAC;MACtCL,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB;EACF,CAAC;EAED,IAAMa,UAAS,GAAG,SAAZA,SAAS,CAAIN,KAA6C,EAAEO,OAAe,EAAK;IACpF,IAAGP,KAAK,CAACQ,GAAG,IAAI,OAAO,IAAIR,KAAK,CAACS,IAAI,IAAI,OAAO,EAChD;MACEvB,wBAAwB,CAACS,OAAO,gCAAOT,wBAAwB,CAACS,OAAO,IAAEY,OAAO,EAAC;MACjF;MACAd,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB;EACF,CAAC;EAED,IAAMiB,OAAO,GAAG,SAAVA,OAAO,CAAIV,KAA8D,EAAK;IAClFd,wBAAwB,CAACS,OAAO,sBAAQJ,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAE,CAAE;IACxDE,WAAW,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC;EAED,oBAAO,KAAC,cAAc;IAAC,EAAE,EAAET,IAAI,CAACc,EAAG;IAAC,SAAS,EAAEJ,WAAW,GAAG,MAAM,GAAG,EAAG;IAAC,QAAQ,EAAEb,QAAS;IAAC,OAAO,EAAE8B,OAAO,CAACjB,WAAW,CAAE;IAAA,uBACxH,KAAC,IAAI;MAAC,IAAI,EAAC,MAAM;MAAC,mBAAgB,gBAAgB;MAAA,uBAChD,KAAC,WAAW;QAAA,uBACV,KAAC,eAAe;UAAA,uBACd,KAAC,IAAI;YAAC,IAAI,EAAEtB,IAAI,CAACwC,MAAO;YAAA,UACrB5B,IAAI,CAAC6B,KAAK,CAACC,GAAG,CAAC,UAACC,KAAK,EAAK;cAAA;cACzB,IAAMC,OAAO,GAAGD,KAAK,CAACZ,IAAI,IAAI,cAAc;cAC5C,IAAMK,GAAG,GAAGQ,OAAO,GAAGD,KAAK,CAACjB,EAAE,GAAGiB,KAAK,CAACZ,IAAI,IAAI,MAAM,GAAGY,KAAK,CAACE,EAAE,GAAG,EAAE;cACrE,IAAMC,aAAa,GAAGP,OAAO,CAACzB,wBAAwB,CAACS,OAAO,CAACC,IAAI,CAAC,UAACC,CAAC;gBAAA,OAAKA,CAAC,IAAIkB,KAAK,CAACjB,EAAE;cAAA,EAAC,CAAC;cAC1F,IAAIkB,OAAO,EAAE;gBAAA;gBACX,oBACE;kBAAK,KAAK,EAAE;oBAAEG,QAAQ,EAAE;kBAAW,CAAE;kBAAC,YAAY,EAAE,sBAACnB,KAAK;oBAAA,OAAKI,aAAY,CAACJ,KAAK,EAAEe,KAAK,CAACjB,EAAE,CAAC;kBAAA,CAAC;kBAAC,YAAY,EAAE,sBAACE,KAAK;oBAAA,OAAKD,aAAY,CAACC,KAAK,EAAEe,KAAK,CAACjB,EAAE,CAAC;kBAAA,CAAC;kBAAA,wBACnJ,KAAC,QAAQ;oBACP,QAAQ,EAAE,CAAE;oBACZ,OAAO,EAAEY,OAAQ;oBACjB,SAAS,EAAE,mBAACV,KAAK;sBAAA,OAAKM,UAAS,CAACN,KAAK,EAAEe,KAAK,CAACjB,EAAE,CAAC;oBAAA,CAAC;oBACjD,EAAE,EAAEiB,KAAK,CAACjB,EAAG;oBACb,IAAI,EAAE;sBACJsB,KAAK,kBAAEL,KAAK,CAACM,KAAK,uDAAI;oBACxB,CAAE;oBACF,SAAS,eAAE,KAAC,WAAW,CAAC,cAAc;sBAAC,IAAI,EAAC;oBAAM,EAAI;oBACtD,MAAM,EAAEH,aAAa,IAAKP,OAAO,CAACrB,YAAY,CAAC,IAAIA,YAAY,IAAI,EAAE,IAAIhB,mBAAmB,CAACyC,KAAK,EAAEzB,YAAY,CAAI;oBACpH,cAAc,EAAE,0BAAM,CAAC;kBAAE,EACzB,eACF,KAAC,OAAO;oBAAC,QAAQ,+BAAOC,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAE,IAAGwB,KAAK,CAACjB,EAAE,EAAE;oBAAC,kBAAkB,EAAET,kBAAmB;oBAAC,YAAY,EAAEC,YAAa;oBAAC,wBAAwB,EAAEJ,wBAAyB;oBAAC,IAAI,EAAE6B,KAA4C;oBAAC,KAAK,EAAE9B,KAAK,GAAG,CAAE;oBAAC,QAAQ,EAAE;kBAAM,EAAG;gBAAA,EAChQ;cAEV;cACA,oBACE;gBAAA,uBACE,KAAC,OAAO;kBAEN,EAAE,EAAE+B,OAAO,GAAG,EAAE,GAAGR,GAAI;kBACvB,OAAO,EAAEE,OAAQ;kBACjB,oBAAoB,EAAE,8BAACY,KAAK;oBAAA,OAAKjC,kBAAkB,IAAI0B,KAAK,CAACZ,IAAI,IAAI,MAAM,IAAId,kBAAkB,CAAC0B,KAAK,CAACE,EAAE,EAAEK,KAAK,CAAC;kBAAA,CAAC;kBACnH,eAAe,EAAEN,OAAQ;kBACzB,YAAY,mBAAED,KAAK,CAACM,KAAK,yDAAI,EAAG;kBAChC,YAAY,EAAE,EAAG;kBACjB,WAAW,EAAEL,OAAO,gBAAG,KAAC,WAAW,CAAC,cAAc;oBAAC,IAAI,EAAC;kBAAM,EAAG,GAAG,IAAK;kBACzE,gBAAgB,EAAE,EAAG;kBACrB,QAAQ,EAAED,KAAK,CAACQ,QAAS;kBACzB,mBAAmB,EAAE,KAAM;kBAC3B,IAAI,EAAEnD,IAAI,CAACwC,MAAO;kBAClB,OAAO,EAAC;gBAAU,GAZbJ,GAAG;cAaR,EACD;YAEP,CAAC;UAAC;QACG;MACS;IACN;EACT,EACQ;AACrB,CAAC;AAAC;EAlHAvB,KAAK;EACLJ,QAAQ;EAERO,eAAe;EACfD,eAAe;EACfE,kBAAkB;EAClBC,YAAY;EACZC,QAAQ;AAAA"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ProfileMenu } from '../types';
2
3
  interface UserMenuProps extends ProfileMenu {
3
4
  show?: boolean;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { MobileNavigationMenuProps, ProfileMenu } from '../types';
2
3
  type Props = MobileNavigationMenuProps & {
3
4
  profile?: ProfileMenu;
@@ -52,8 +52,7 @@ var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
52
52
  children: [!yearPickerMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
53
53
  className: "react-datepicker__navigation react-datepicker__navigation--previous",
54
54
  onClick: handleDecreaseMonth,
55
- disabled: prevMonthButtonDisabled,
56
- children: "Prevoius month"
55
+ disabled: prevMonthButtonDisabled
57
56
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderLabelContainer, {
58
57
  onClick: function onClick() {
59
58
  return setYearPickerMode(!yearPickerMode);
@@ -69,8 +68,7 @@ var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
69
68
  }), !yearPickerMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
70
69
  className: "react-datepicker__navigation react-datepicker__navigation--next",
71
70
  onClick: handleIncreaseMonth,
72
- disabled: nextMonthButtonDisabled,
73
- children: "Next month"
71
+ disabled: nextMonthButtonDisabled
74
72
  })]
75
73
  })
76
74
  });