@equinor/eds-core-react 0.35.1 → 0.36.0

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 (183) hide show
  1. package/dist/eds-core-react.cjs +5582 -4353
  2. package/dist/esm/components/Accordion/Accordion.js +21 -23
  3. package/dist/esm/components/Accordion/Accordion.tokens.js +65 -23
  4. package/dist/esm/components/Accordion/AccordionHeader.js +74 -62
  5. package/dist/esm/components/Accordion/AccordionHeaderActions.js +22 -20
  6. package/dist/esm/components/Accordion/AccordionHeaderTitle.js +22 -20
  7. package/dist/esm/components/Accordion/AccordionItem.js +28 -35
  8. package/dist/esm/components/Accordion/AccordionPanel.js +27 -26
  9. package/dist/esm/components/Accordion/index.js +1 -1
  10. package/dist/esm/components/Autocomplete/Autocomplete.js +451 -329
  11. package/dist/esm/components/Autocomplete/Autocomplete.tokens.js +33 -17
  12. package/dist/esm/components/Autocomplete/Option.js +35 -32
  13. package/dist/esm/components/Avatar/Avatar.js +19 -26
  14. package/dist/esm/components/Avatar/Avatar.tokens.js +1 -1
  15. package/dist/esm/components/Banner/Banner.js +26 -27
  16. package/dist/esm/components/Banner/Banner.tokens.js +47 -18
  17. package/dist/esm/components/Banner/BannerActions.js +18 -19
  18. package/dist/esm/components/Banner/BannerIcon.js +26 -25
  19. package/dist/esm/components/Banner/BannerMessage.js +13 -14
  20. package/dist/esm/components/Banner/index.js +1 -1
  21. package/dist/esm/components/Breadcrumbs/Breadcrumb.js +30 -32
  22. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +46 -53
  23. package/dist/esm/components/Breadcrumbs/Breadcrumbs.tokens.js +20 -5
  24. package/dist/esm/components/Breadcrumbs/index.js +1 -1
  25. package/dist/esm/components/Button/Button.js +46 -46
  26. package/dist/esm/components/Button/ButtonGroup/ButtonGroup.js +22 -22
  27. package/dist/esm/components/Button/ButtonGroup/ButtonGroup.tokens.js +8 -2
  28. package/dist/esm/components/Button/InnerFullWidth.js +8 -10
  29. package/dist/esm/components/Button/ToggleButton/ToggleButton.js +23 -33
  30. package/dist/esm/components/Button/index.js +1 -1
  31. package/dist/esm/components/Button/tokens/button.js +62 -31
  32. package/dist/esm/components/Button/tokens/contained.js +38 -14
  33. package/dist/esm/components/Button/tokens/contained_icon.js +13 -10
  34. package/dist/esm/components/Button/tokens/ghost.js +36 -13
  35. package/dist/esm/components/Button/tokens/icon.js +46 -20
  36. package/dist/esm/components/Button/tokens/index.js +1 -1
  37. package/dist/esm/components/Button/tokens/outlined.js +42 -15
  38. package/dist/esm/components/Card/Card.js +24 -27
  39. package/dist/esm/components/Card/Card.tokens.js +32 -11
  40. package/dist/esm/components/Card/CardActions.js +22 -23
  41. package/dist/esm/components/Card/CardContent.js +12 -12
  42. package/dist/esm/components/Card/CardHeader.js +15 -13
  43. package/dist/esm/components/Card/CardHeaderTitle.js +12 -12
  44. package/dist/esm/components/Card/CardMedia.js +20 -20
  45. package/dist/esm/components/Card/index.js +1 -1
  46. package/dist/esm/components/Checkbox/Checkbox.js +20 -21
  47. package/dist/esm/components/Checkbox/Checkbox.tokens.js +41 -16
  48. package/dist/esm/components/Checkbox/Input.js +75 -84
  49. package/dist/esm/components/Chip/Chip.js +61 -64
  50. package/dist/esm/components/Chip/Chip.tokens.js +68 -26
  51. package/dist/esm/components/Chip/Icon.js +13 -11
  52. package/dist/esm/components/Dialog/Dialog.js +34 -35
  53. package/dist/esm/components/Dialog/Dialog.tokens.js +32 -10
  54. package/dist/esm/components/Dialog/DialogActions.js +13 -14
  55. package/dist/esm/components/Dialog/DialogContent.js +19 -20
  56. package/dist/esm/components/Dialog/DialogHeader.js +16 -15
  57. package/dist/esm/components/Dialog/DialogTitle.js +13 -14
  58. package/dist/esm/components/Dialog/index.js +1 -1
  59. package/dist/esm/components/Divider/Divider.js +24 -25
  60. package/dist/esm/components/Divider/Divider.tokens.js +24 -10
  61. package/dist/esm/components/EdsProvider/eds.context.js +18 -26
  62. package/dist/esm/components/Icon/Icon.js +75 -78
  63. package/dist/esm/components/Icon/index.js +1 -1
  64. package/dist/esm/components/Icon/library.js +9 -8
  65. package/dist/esm/components/Input/Input.js +93 -92
  66. package/dist/esm/components/Input/Input.tokens.js +56 -40
  67. package/dist/esm/components/InputWrapper/HelperText/HelperText.js +24 -28
  68. package/dist/esm/components/InputWrapper/HelperText/HelperText.token.js +11 -7
  69. package/dist/esm/components/InputWrapper/InputWrapper.js +34 -35
  70. package/dist/esm/components/InputWrapper/InputWrapper.tokens.js +56 -40
  71. package/dist/esm/components/Label/Label.js +16 -20
  72. package/dist/esm/components/Label/Label.tokens.js +11 -7
  73. package/dist/esm/components/List/List.js +17 -19
  74. package/dist/esm/components/List/List.tokens.js +6 -2
  75. package/dist/esm/components/List/ListItem.js +7 -8
  76. package/dist/esm/components/List/index.js +1 -1
  77. package/dist/esm/components/Menu/Menu.context.js +35 -42
  78. package/dist/esm/components/Menu/Menu.js +111 -108
  79. package/dist/esm/components/Menu/Menu.tokens.js +57 -24
  80. package/dist/esm/components/Menu/MenuItem.js +59 -61
  81. package/dist/esm/components/Menu/MenuList.js +52 -55
  82. package/dist/esm/components/Menu/MenuSection.js +9 -9
  83. package/dist/esm/components/Menu/index.js +1 -1
  84. package/dist/esm/components/Pagination/Pagination.js +70 -75
  85. package/dist/esm/components/Pagination/Pagination.tokens.js +18 -5
  86. package/dist/esm/components/Pagination/PaginationItem.js +18 -19
  87. package/dist/esm/components/Pagination/paginationControl.js +18 -22
  88. package/dist/esm/components/Paper/Paper.js +15 -18
  89. package/dist/esm/components/Paper/Paper.tokens.js +12 -4
  90. package/dist/esm/components/Popover/Popover.js +98 -87
  91. package/dist/esm/components/Popover/Popover.tokens.js +37 -11
  92. package/dist/esm/components/Popover/PopoverActions.js +15 -14
  93. package/dist/esm/components/Popover/PopoverContent.js +15 -14
  94. package/dist/esm/components/Popover/PopoverHeader.js +16 -15
  95. package/dist/esm/components/Popover/PopoverTitle.js +15 -14
  96. package/dist/esm/components/Popover/index.js +1 -1
  97. package/dist/esm/components/Progress/Circular/CircularProgress.js +33 -42
  98. package/dist/esm/components/Progress/Circular/CircularProgress.tokens.js +24 -8
  99. package/dist/esm/components/Progress/Dots/DotProgress.js +20 -23
  100. package/dist/esm/components/Progress/Dots/DotProgress.tokens.js +20 -8
  101. package/dist/esm/components/Progress/Linear/LinearProgress.js +25 -31
  102. package/dist/esm/components/Progress/Linear/LinearProgress.tokens.js +13 -4
  103. package/dist/esm/components/Progress/Star/StarProgress.js +23 -27
  104. package/dist/esm/components/Progress/Star/StarProgress.tokens.js +10 -2
  105. package/dist/esm/components/Progress/index.js +1 -1
  106. package/dist/esm/components/Radio/Radio.js +71 -83
  107. package/dist/esm/components/Radio/Radio.tokens.js +41 -16
  108. package/dist/esm/components/Scrim/Scrim.js +20 -23
  109. package/dist/esm/components/Scrim/Scrim.tokens.js +11 -3
  110. package/dist/esm/components/Search/Search.js +24 -31
  111. package/dist/esm/components/Select/NativeSelect.js +45 -44
  112. package/dist/esm/components/Select/NativeSelect.tokens.js +15 -10
  113. package/dist/esm/components/SideBar/SideBar.context.js +27 -33
  114. package/dist/esm/components/SideBar/SideBar.js +42 -40
  115. package/dist/esm/components/SideBar/SideBar.tokens.js +49 -20
  116. package/dist/esm/components/SideBar/SideBarAccordion/index.js +98 -90
  117. package/dist/esm/components/SideBar/SideBarAccordionItem/index.js +46 -33
  118. package/dist/esm/components/SideBar/SideBarButton/index.js +61 -45
  119. package/dist/esm/components/SideBar/SideBarContent.js +13 -13
  120. package/dist/esm/components/SideBar/SideBarFooter.js +13 -13
  121. package/dist/esm/components/SideBar/SideBarToggle.js +40 -26
  122. package/dist/esm/components/SideBar/SidebarLink/index.js +87 -48
  123. package/dist/esm/components/SideBar/index.js +1 -1
  124. package/dist/esm/components/SideSheet/SideSheet.js +27 -27
  125. package/dist/esm/components/SideSheet/SideSheet.tokens.js +29 -12
  126. package/dist/esm/components/Slider/MinMax.js +10 -6
  127. package/dist/esm/components/Slider/Output.js +15 -18
  128. package/dist/esm/components/Slider/Slider.js +157 -188
  129. package/dist/esm/components/Slider/Slider.tokens.js +67 -19
  130. package/dist/esm/components/Slider/SliderInput.js +37 -34
  131. package/dist/esm/components/Snackbar/Snackbar.js +39 -45
  132. package/dist/esm/components/Snackbar/Snackbar.tokens.js +45 -17
  133. package/dist/esm/components/Snackbar/SnackbarAction.js +15 -14
  134. package/dist/esm/components/Snackbar/index.js +1 -1
  135. package/dist/esm/components/Switch/Switch.js +37 -42
  136. package/dist/esm/components/Switch/Switch.styles.js +17 -20
  137. package/dist/esm/components/Switch/Switch.tokens.js +66 -21
  138. package/dist/esm/components/Switch/SwitchDefault.js +38 -36
  139. package/dist/esm/components/Switch/SwitchSmall.js +38 -33
  140. package/dist/esm/components/Table/Body.js +8 -9
  141. package/dist/esm/components/Table/Caption.js +12 -14
  142. package/dist/esm/components/Table/Cell.js +15 -14
  143. package/dist/esm/components/Table/DataCell/DataCell.js +27 -26
  144. package/dist/esm/components/Table/DataCell/DataCell.tokens.js +79 -38
  145. package/dist/esm/components/Table/Head/Head.js +10 -11
  146. package/dist/esm/components/Table/Head/Head.tokens.js +15 -4
  147. package/dist/esm/components/Table/HeaderCell/HeaderCell.js +37 -33
  148. package/dist/esm/components/Table/HeaderCell/HeaderCell.tokens.js +65 -28
  149. package/dist/esm/components/Table/Inner.context.js +2 -2
  150. package/dist/esm/components/Table/Row/Row.js +12 -16
  151. package/dist/esm/components/Table/Row/Row.tokens.js +13 -4
  152. package/dist/esm/components/Table/Table.js +8 -9
  153. package/dist/esm/components/Table/index.js +1 -1
  154. package/dist/esm/components/TableOfContents/LinkItem.js +11 -11
  155. package/dist/esm/components/TableOfContents/TableOfContents.js +25 -26
  156. package/dist/esm/components/TableOfContents/TableOfContents.tokens.js +46 -21
  157. package/dist/esm/components/TableOfContents/index.js +1 -1
  158. package/dist/esm/components/Tabs/Tab.js +30 -29
  159. package/dist/esm/components/Tabs/TabList.js +50 -62
  160. package/dist/esm/components/Tabs/TabPanel.js +19 -18
  161. package/dist/esm/components/Tabs/TabPanels.js +16 -17
  162. package/dist/esm/components/Tabs/Tabs.context.js +3 -5
  163. package/dist/esm/components/Tabs/Tabs.js +37 -53
  164. package/dist/esm/components/Tabs/Tabs.tokens.js +56 -21
  165. package/dist/esm/components/Tabs/index.js +1 -1
  166. package/dist/esm/components/TextField/TextField.js +64 -59
  167. package/dist/esm/components/Textarea/Textarea.js +38 -38
  168. package/dist/esm/components/Tooltip/Tooltip.js +79 -81
  169. package/dist/esm/components/Tooltip/Tooltip.tokens.js +33 -13
  170. package/dist/esm/components/TopBar/Actions.js +9 -11
  171. package/dist/esm/components/TopBar/CustomContent.js +9 -11
  172. package/dist/esm/components/TopBar/Header.js +9 -11
  173. package/dist/esm/components/TopBar/TopBar.js +24 -25
  174. package/dist/esm/components/TopBar/TopBar.tokens.js +10 -4
  175. package/dist/esm/components/TopBar/index.js +1 -1
  176. package/dist/esm/components/Typography/Typography.js +42 -54
  177. package/dist/esm/components/Typography/Typography.tokens.js +50 -23
  178. package/dist/esm/node_modules/.pnpm/ramda@0.29.1/node_modules/ramda/es/internal/_isPlaceholder.js +1 -3
  179. package/dist/types/components/Accordion/Accordion.types.d.ts +1 -1
  180. package/dist/types/components/Autocomplete/Autocomplete.d.ts +13 -0
  181. package/dist/types/components/Autocomplete/Option.d.ts +1 -0
  182. package/dist/types/components/Slider/Slider.d.ts +11 -3
  183. package/package.json +6 -7
@@ -1,6 +1,3 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
3
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
1
  import { forwardRef, useMemo, useEffect } from 'react';
5
2
  import styled, { css, ThemeProvider } from 'styled-components';
6
3
  import { MenuProvider, useMenu } from './Menu.context.js';
@@ -12,40 +9,41 @@ import { jsx, Fragment } from 'react/jsx-runtime';
12
9
  import { Paper } from '../Paper/Paper.js';
13
10
  import { useEds } from '../EdsProvider/eds.context.js';
14
11
 
15
- var _excluded = ["children", "anchorEl", "onClose", "open"],
16
- _excluded2 = ["anchorEl", "open", "placement", "matchAnchorWidth", "onClose", "style", "className"];
17
- var border = menu.border;
18
- var MenuPaper = styled(Paper).withConfig({
12
+ const {
13
+ border
14
+ } = menu;
15
+ const MenuPaper = styled(Paper).withConfig({
19
16
  displayName: "Menu__MenuPaper",
20
17
  componentId: "sc-1vlnqcj-0"
21
- })(["position:absolute;z-index:1400;width:fit-content;min-width:fit-content;", ";", ";"], bordersTemplate(border), function (_ref) {
22
- var open = _ref.open;
23
- return css({
24
- display: open ? 'block' : 'none'
25
- });
26
- });
27
- var MenuContainer = /*#__PURE__*/forwardRef(function MenuContainer(_ref2, ref) {
28
- var children = _ref2.children,
29
- anchorEl = _ref2.anchorEl,
30
- onCloseCallback = _ref2.onClose,
31
- open = _ref2.open,
32
- rest = _objectWithoutProperties(_ref2, _excluded);
33
- var _useMenu = useMenu(),
34
- setOnClose = _useMenu.setOnClose,
35
- onClose = _useMenu.onClose,
36
- setInitialFocus = _useMenu.setInitialFocus,
37
- focusedIndex = _useMenu.focusedIndex;
38
- var closeMenuOnClickIndexes = useMemo(function () {
39
- return [];
40
- }, []);
41
- useEffect(function () {
18
+ })(["position:absolute;z-index:1400;width:fit-content;min-width:fit-content;", ";", ";"], bordersTemplate(border), ({
19
+ open
20
+ }) => css({
21
+ display: open ? 'block' : 'none'
22
+ }));
23
+ const MenuContainer = /*#__PURE__*/forwardRef(function MenuContainer({
24
+ children,
25
+ anchorEl,
26
+ onClose: onCloseCallback,
27
+ open,
28
+ ...rest
29
+ }, ref) {
30
+ const {
31
+ setOnClose,
32
+ onClose,
33
+ setInitialFocus,
34
+ focusedIndex
35
+ } = useMenu();
36
+ const closeMenuOnClickIndexes = useMemo(() => [], []);
37
+ useEffect(() => {
42
38
  if (onClose === null && onCloseCallback) {
43
39
  setOnClose(onCloseCallback);
44
40
  }
45
41
  }, [onClose, onCloseCallback, setOnClose]);
46
- useEffect(function () {
47
- var openWithKey = function openWithKey(e) {
48
- var key = e.key;
42
+ useEffect(() => {
43
+ const openWithKey = e => {
44
+ const {
45
+ key
46
+ } = e;
49
47
  //activate menu with arrows according to wai-aria best practices
50
48
  if (key === 'ArrowDown' || key === 'ArrowUp') {
51
49
  e.preventDefault();
@@ -65,125 +63,130 @@ var MenuContainer = /*#__PURE__*/forwardRef(function MenuContainer(_ref2, ref) {
65
63
  }
66
64
  };
67
65
  if (anchorEl) anchorEl.addEventListener('keydown', openWithKey);
68
- return function () {
66
+ return () => {
69
67
  if (anchorEl) anchorEl.removeEventListener('keydown', openWithKey);
70
68
  };
71
69
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
70
  }, [anchorEl]);
73
- useGlobalKeyPress('Escape', function () {
71
+ useGlobalKeyPress('Escape', () => {
74
72
  if (open && onClose !== null) {
75
73
  onClose();
76
74
  anchorEl.focus();
77
75
  }
78
76
  });
79
- useGlobalKeyPress('Enter', function () {
77
+ useGlobalKeyPress('Enter', () => {
80
78
  if (open && onClose !== null && closeMenuOnClickIndexes.includes(focusedIndex)) {
81
- setTimeout(function () {
79
+ setTimeout(() => {
82
80
  if (window.document.contains(anchorEl)) {
83
81
  anchorEl.focus();
84
82
  }
85
83
  }, 0);
86
84
  }
87
85
  });
88
- var addCloseMenuOnClickIndex = function addCloseMenuOnClickIndex(index) {
86
+ const addCloseMenuOnClickIndex = index => {
89
87
  if (closeMenuOnClickIndexes.indexOf(index) < 0) {
90
88
  closeMenuOnClickIndexes.push(index);
91
89
  }
92
90
  };
93
- return /*#__PURE__*/jsx(MenuList, _objectSpread(_objectSpread({
94
- addCloseMenuOnClickIndex: addCloseMenuOnClickIndex
95
- }, rest), {}, {
91
+ return /*#__PURE__*/jsx(MenuList, {
92
+ addCloseMenuOnClickIndex: addCloseMenuOnClickIndex,
93
+ ...rest,
96
94
  ref: ref,
97
95
  children: children
98
- }));
96
+ });
99
97
  });
100
- var Menu = /*#__PURE__*/forwardRef(function Menu(_ref3, ref) {
101
- var anchorEl = _ref3.anchorEl,
102
- open = _ref3.open,
103
- _ref3$placement = _ref3.placement,
104
- placement = _ref3$placement === void 0 ? 'bottom' : _ref3$placement,
105
- _ref3$matchAnchorWidt = _ref3.matchAnchorWidth,
106
- matchAnchorWidth = _ref3$matchAnchorWidt === void 0 ? false : _ref3$matchAnchorWidt,
107
- onClose = _ref3.onClose,
108
- style = _ref3.style,
109
- className = _ref3.className,
110
- rest = _objectWithoutProperties(_ref3, _excluded2);
111
- var _useEds = useEds(),
112
- density = _useEds.density;
113
- var token = useToken({
114
- density: density
98
+ const Menu = /*#__PURE__*/forwardRef(function Menu({
99
+ anchorEl,
100
+ open,
101
+ placement = 'bottom',
102
+ matchAnchorWidth = false,
103
+ onClose,
104
+ style,
105
+ className,
106
+ ...rest
107
+ }, ref) {
108
+ const {
109
+ density
110
+ } = useEds();
111
+ const token = useToken({
112
+ density
115
113
  }, menu);
116
- var floatingMiddleware = [offset(4), flip(), shift({
114
+ let floatingMiddleware = [offset(4), flip(), shift({
117
115
  padding: 8
118
116
  })];
119
117
  if (matchAnchorWidth) {
120
- floatingMiddleware = [].concat(_toConsumableArray(floatingMiddleware), [size({
121
- apply: function apply(_ref4) {
122
- var rects = _ref4.rects,
123
- elements = _ref4.elements;
118
+ floatingMiddleware = [...floatingMiddleware, size({
119
+ apply({
120
+ rects,
121
+ elements
122
+ }) {
124
123
  Object.assign(elements.floating.style, {
125
- width: "".concat(rects.reference.width, "px")
124
+ width: `${rects.reference.width}px`
126
125
  });
127
126
  }
128
- })]);
127
+ })];
129
128
  }
130
- var _useFloating = useFloating({
131
- elements: {
132
- reference: anchorEl
133
- },
134
- placement: placement,
135
- open: open,
136
- onOpenChange: onClose,
137
- middleware: floatingMiddleware
138
- }),
139
- x = _useFloating.x,
140
- y = _useFloating.y,
141
- refs = _useFloating.refs,
142
- update = _useFloating.update,
143
- strategy = _useFloating.strategy,
144
- context = _useFloating.context;
145
- var popoverRef = useMemo(function () {
146
- return mergeRefs(refs.setFloating, ref);
147
- }, [refs.setFloating, ref]);
148
- useIsomorphicLayoutEffect(function () {
129
+ const {
130
+ x,
131
+ y,
132
+ refs,
133
+ update,
134
+ strategy,
135
+ context
136
+ } = useFloating({
137
+ elements: {
138
+ reference: anchorEl
139
+ },
140
+ placement,
141
+ open,
142
+ onOpenChange: onClose,
143
+ middleware: floatingMiddleware
144
+ });
145
+ const popoverRef = useMemo(() => mergeRefs(refs.setFloating, ref), [refs.setFloating, ref]);
146
+ useIsomorphicLayoutEffect(() => {
149
147
  if (refs.reference.current && refs.floating.current && open) {
150
148
  return autoUpdate(refs.reference.current, refs.floating.current, update);
151
149
  }
152
150
  }, [refs.reference, refs.floating, update, open]);
153
- var _useInteractions = useInteractions([useDismiss(context, {
154
- escapeKey: false
155
- })]),
156
- getFloatingProps = _useInteractions.getFloatingProps;
157
- var props = {
158
- open: open,
159
- className: className
151
+ const {
152
+ getFloatingProps
153
+ } = useInteractions([useDismiss(context, {
154
+ escapeKey: false
155
+ })]);
156
+ const props = {
157
+ open,
158
+ className
159
+ };
160
+ const menuProps = {
161
+ ...rest,
162
+ onClose,
163
+ anchorEl,
164
+ open
160
165
  };
161
- var menuProps = _objectSpread(_objectSpread({}, rest), {}, {
162
- onClose: onClose,
163
- anchorEl: anchorEl,
164
- open: open
165
- });
166
166
 
167
167
  //temporary fix when inside dialog. Should be replaced by popover api when it is ready
168
- var inDialog = useIsInDialog(anchorEl);
169
- var menuElement = /*#__PURE__*/jsx(ThemeProvider, {
168
+ const inDialog = useIsInDialog(anchorEl);
169
+ const menuElement = /*#__PURE__*/jsx(ThemeProvider, {
170
170
  theme: token,
171
- children: /*#__PURE__*/jsx(MenuPaper, _objectSpread(_objectSpread(_objectSpread({
172
- elevation: "raised"
173
- }, props), getFloatingProps({
174
- ref: popoverRef,
175
- style: _objectSpread(_objectSpread({}, style), {}, {
176
- position: strategy,
177
- top: y || 0,
178
- left: x || 0
179
- })
180
- })), {}, {
171
+ children: /*#__PURE__*/jsx(MenuPaper, {
172
+ elevation: "raised",
173
+ ...props,
174
+ ...getFloatingProps({
175
+ ref: popoverRef,
176
+ style: {
177
+ ...style,
178
+ position: strategy,
179
+ top: y || 0,
180
+ left: x || 0
181
+ }
182
+ }),
181
183
  children: /*#__PURE__*/jsx(MenuProvider, {
182
- children: /*#__PURE__*/jsx(MenuContainer, _objectSpread(_objectSpread({}, menuProps), {}, {
184
+ children: /*#__PURE__*/jsx(MenuContainer, {
185
+ ...menuProps,
183
186
  ref: ref
184
- }))
187
+ })
185
188
  })
186
- }))
189
+ })
187
190
  });
188
191
  return /*#__PURE__*/jsx(Fragment, {
189
192
  children: inDialog ? menuElement : /*#__PURE__*/jsx(FloatingPortal, {
@@ -1,23 +1,53 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
1
  import { tokens } from '@equinor/eds-tokens';
3
2
 
4
- var _tokens$colors = tokens.colors,
5
- background = _tokens$colors.ui.background__default.rgba,
6
- _tokens$colors$intera = _tokens$colors.interactive,
7
- activeBackground = _tokens$colors$intera.primary__selected_highlight.rgba,
8
- activeTextColor = _tokens$colors$intera.primary__resting.rgba,
9
- focusColor = _tokens$colors$intera.focus.rgba,
10
- disabledIconColor = _tokens$colors$intera.disabled__fill.rgba,
11
- disabledTextColor = _tokens$colors$intera.disabled__text.rgba,
12
- hoverBackground = _tokens$colors$intera.table__header__fill_hover.rgba,
13
- textColor = _tokens$colors.text.static_icons__default.rgba,
14
- _tokens$spacings$comf = tokens.spacings.comfortable,
15
- medium = _tokens$spacings$comf.medium,
16
- large = _tokens$spacings$comf.large,
17
- small = _tokens$spacings$comf.small,
18
- typography = tokens.typography.navigation.menu_title;
19
- var menu = {
20
- background: background,
3
+ const {
4
+ colors: {
5
+ ui: {
6
+ background__default: {
7
+ rgba: background
8
+ }
9
+ },
10
+ interactive: {
11
+ primary__selected_highlight: {
12
+ rgba: activeBackground
13
+ },
14
+ primary__resting: {
15
+ rgba: activeTextColor
16
+ },
17
+ focus: {
18
+ rgba: focusColor
19
+ },
20
+ disabled__fill: {
21
+ rgba: disabledIconColor
22
+ },
23
+ disabled__text: {
24
+ rgba: disabledTextColor
25
+ },
26
+ table__header__fill_hover: {
27
+ rgba: hoverBackground
28
+ }
29
+ },
30
+ text: {
31
+ static_icons__default: {
32
+ rgba: textColor
33
+ }
34
+ }
35
+ },
36
+ spacings: {
37
+ comfortable: {
38
+ medium,
39
+ large,
40
+ small
41
+ }
42
+ },
43
+ typography: {
44
+ navigation: {
45
+ menu_title: typography
46
+ }
47
+ }
48
+ } = tokens;
49
+ const menu = {
50
+ background,
21
51
  spacings: {
22
52
  top: small,
23
53
  bottom: small,
@@ -28,9 +58,10 @@ var menu = {
28
58
  type: 'border',
29
59
  radius: '4px'
30
60
  },
31
- typography: _objectSpread(_objectSpread({}, typography), {}, {
61
+ typography: {
62
+ ...typography,
32
63
  color: textColor
33
- }),
64
+ },
34
65
  entities: {
35
66
  icon: {
36
67
  states: {
@@ -50,9 +81,10 @@ var menu = {
50
81
  },
51
82
  states: {
52
83
  active: {
53
- typography: _objectSpread(_objectSpread({}, typography), {}, {
84
+ typography: {
85
+ ...typography,
54
86
  color: activeTextColor
55
- }),
87
+ },
56
88
  background: activeBackground
57
89
  },
58
90
  focus: {
@@ -68,9 +100,10 @@ var menu = {
68
100
  background: hoverBackground
69
101
  },
70
102
  disabled: {
71
- typography: _objectSpread(_objectSpread({}, typography), {}, {
103
+ typography: {
104
+ ...typography,
72
105
  color: disabledTextColor
73
- })
106
+ }
74
107
  }
75
108
  }
76
109
  },
@@ -1,5 +1,3 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
1
  import { forwardRef } from 'react';
4
2
  import styled, { css } from 'styled-components';
5
3
  import { menu } from './Menu.tokens.js';
@@ -7,80 +5,80 @@ import { typographyTemplate, spacingsTemplate, outlineTemplate, mergeRefs } from
7
5
  import { useMenu } from './Menu.context.js';
8
6
  import { jsx } from 'react/jsx-runtime';
9
7
 
10
- var _excluded = ["children", "disabled", "active", "index", "as", "onClick", "closeMenuOnClick"];
11
- var typography = menu.typography,
12
- _tokens$entities = menu.entities,
13
- _tokens$entities$item = _tokens$entities.item.states,
14
- activeToken = _tokens$entities$item.active,
15
- focus = _tokens$entities$item.focus,
16
- hover = _tokens$entities$item.hover,
17
- disabledToken = _tokens$entities$item.disabled,
18
- icon = _tokens$entities.icon;
19
- var Item = styled.button.attrs(function (_ref) {
20
- var $isFocused = _ref.$isFocused;
21
- return {
22
- role: 'menuitem',
23
- tabIndex: $isFocused ? -1 : 0
24
- };
25
- }).withConfig({
8
+ const {
9
+ typography,
10
+ entities: {
11
+ item: {
12
+ states: {
13
+ active: activeToken,
14
+ focus,
15
+ hover,
16
+ disabled: disabledToken
17
+ }
18
+ },
19
+ icon
20
+ }
21
+ } = menu;
22
+ const Item = styled.button.attrs(({
23
+ $isFocused
24
+ }) => ({
25
+ role: 'menuitem',
26
+ tabIndex: $isFocused ? -1 : 0
27
+ })).withConfig({
26
28
  displayName: "MenuItem__Item",
27
29
  componentId: "sc-1g9fpbe-0"
28
- })(["border:0;background-color:transparent;width:auto;position:relative;z-index:2;text-decoration:none;", " ", " ", " ", ""], typographyTemplate(typography), function (_ref2) {
29
- var theme = _ref2.theme;
30
- return spacingsTemplate(theme.entities.item.spacings);
31
- }, function (_ref3) {
32
- var $active = _ref3.$active;
33
- return $active && css(["background:", ";*{color:", ";}"], activeToken.background, activeToken.typography.color);
34
- }, function (_ref4) {
35
- var disabled = _ref4.disabled;
36
- return disabled ? css(["*{color:", ";}svg{fill:", ";}&:focus{outline:none;}@media (hover:hover) and (pointer:fine){&:hover{cursor:not-allowed;}}"], disabledToken.typography.color, icon.states.disabled.typography.color) : css(["@media (hover:hover) and (pointer:fine){&:hover{z-index:1;cursor:pointer;background:", ";}}&:focus{z-index:3;", "}"], hover.background, outlineTemplate(focus.outline));
37
- });
38
- var Content = styled.div.withConfig({
30
+ })(["border:0;background-color:transparent;width:auto;position:relative;z-index:2;text-decoration:none;", " ", " ", " ", ""], typographyTemplate(typography), ({
31
+ theme
32
+ }) => spacingsTemplate(theme.entities.item.spacings), ({
33
+ $active
34
+ }) => $active && css(["background:", ";*{color:", ";}"], activeToken.background, activeToken.typography.color), ({
35
+ disabled
36
+ }) => disabled ? css(["*{color:", ";}svg{fill:", ";}&:focus{outline:none;}@media (hover:hover) and (pointer:fine){&:hover{cursor:not-allowed;}}"], disabledToken.typography.color, icon.states.disabled.typography.color) : css(["@media (hover:hover) and (pointer:fine){&:hover{z-index:1;cursor:pointer;background:", ";}}&:focus{z-index:3;", "}"], hover.background, outlineTemplate(focus.outline)));
37
+ const Content = styled.div.withConfig({
39
38
  displayName: "MenuItem__Content",
40
39
  componentId: "sc-1g9fpbe-1"
41
40
  })(["width:auto;display:grid;grid-gap:16px;grid-auto-flow:column;grid-auto-columns:max-content auto max-content;align-items:center;"]);
42
- var MenuItem = /*#__PURE__*/forwardRef(function MenuItem(_ref5, ref) {
43
- var children = _ref5.children,
44
- disabled = _ref5.disabled,
45
- active = _ref5.active,
46
- _ref5$index = _ref5.index,
47
- index = _ref5$index === void 0 ? 0 : _ref5$index,
48
- _ref5$as = _ref5.as,
49
- as = _ref5$as === void 0 ? 'button' : _ref5$as,
50
- _onClick = _ref5.onClick,
51
- _ref5$closeMenuOnClic = _ref5.closeMenuOnClick,
52
- closeMenuOnClick = _ref5$closeMenuOnClic === void 0 ? true : _ref5$closeMenuOnClic,
53
- rest = _objectWithoutProperties(_ref5, _excluded);
54
- var _useMenu = useMenu(),
55
- focusedIndex = _useMenu.focusedIndex,
56
- setFocusedIndex = _useMenu.setFocusedIndex,
57
- onClose = _useMenu.onClose;
58
- var toggleFocus = function toggleFocus(index_) {
41
+ const MenuItem = /*#__PURE__*/forwardRef(function MenuItem({
42
+ children,
43
+ disabled,
44
+ active,
45
+ index = 0,
46
+ as = 'button',
47
+ onClick,
48
+ closeMenuOnClick = true,
49
+ ...rest
50
+ }, ref) {
51
+ const {
52
+ focusedIndex,
53
+ setFocusedIndex,
54
+ onClose
55
+ } = useMenu();
56
+ const toggleFocus = index_ => {
59
57
  if (focusedIndex !== index_) {
60
58
  setFocusedIndex(index_);
61
59
  }
62
60
  };
63
- var isFocused = index === focusedIndex;
64
- var props = _objectSpread(_objectSpread({}, rest), {}, {
65
- as: as,
66
- disabled: disabled,
61
+ const isFocused = index === focusedIndex;
62
+ const props = {
63
+ ...rest,
64
+ as,
65
+ disabled,
67
66
  $isFocused: isFocused
68
- });
69
- return /*#__PURE__*/jsx(Item, _objectSpread(_objectSpread({}, props), {}, {
67
+ };
68
+ return /*#__PURE__*/jsx(Item, {
69
+ ...props,
70
70
  $active: active,
71
- ref: mergeRefs(ref, function (el) {
71
+ ref: mergeRefs(ref, el => {
72
72
  if (isFocused) {
73
- requestAnimationFrame(function () {
73
+ requestAnimationFrame(() => {
74
74
  if (el !== null) el.focus();
75
75
  });
76
76
  }
77
77
  }),
78
- onFocus: function onFocus() {
79
- return toggleFocus(index);
80
- },
81
- onClick: function onClick(e) {
82
- if (_onClick) {
83
- _onClick(e);
78
+ onFocus: () => toggleFocus(index),
79
+ onClick: e => {
80
+ if (onClick) {
81
+ onClick(e);
84
82
  if (onClose !== null && closeMenuOnClick) {
85
83
  onClose(e);
86
84
  }
@@ -89,7 +87,7 @@ var MenuItem = /*#__PURE__*/forwardRef(function MenuItem(_ref5, ref) {
89
87
  children: /*#__PURE__*/jsx(Content, {
90
88
  children: children
91
89
  })
92
- }));
90
+ });
93
91
  });
94
92
  MenuItem.displayName = 'MenuItem';
95
93