@equinor/eds-core-react 0.32.2 → 0.32.3

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.
@@ -1049,27 +1049,33 @@ var Tooltip$2 = /*#__PURE__*/react.forwardRef(function Tooltip(_ref, ref) {
1049
1049
  var updatedChildren = /*#__PURE__*/react.cloneElement(children, _objectSpread__default.default({}, getReferenceProps(_objectSpread__default.default({
1050
1050
  ref: anchorRef
1051
1051
  }, children.props))));
1052
+
1053
+ //temporary fix for tooltip inside dialog. Should be replaced by popover api when it is ready
1054
+ var inDialog = edsUtils.useIsInDialog(refs.domReference.current);
1055
+ var TooltipEl = /*#__PURE__*/jsxRuntime.jsxs(StyledTooltip, _objectSpread__default.default(_objectSpread__default.default(_objectSpread__default.default({}, rest), getFloatingProps({
1056
+ ref: tooltipRef,
1057
+ style: _objectSpread__default.default(_objectSpread__default.default({}, style), {}, {
1058
+ position: strategy,
1059
+ top: y || 0,
1060
+ left: x || 0
1061
+ })
1062
+ })), {}, {
1063
+ children: [title, /*#__PURE__*/jsxRuntime.jsx(ArrowWrapper$1, {
1064
+ ref: arrowRef,
1065
+ children: /*#__PURE__*/jsxRuntime.jsx(TooltipArrow, {
1066
+ className: "arrowSvg",
1067
+ children: /*#__PURE__*/jsxRuntime.jsx("path", {
1068
+ d: "M0.504838 4.86885C-0.168399 4.48524 -0.168399 3.51476 0.504838 3.13115L6 8.59227e-08L6 8L0.504838 4.86885Z"
1069
+ })
1070
+ })
1071
+ })]
1072
+ }));
1052
1073
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1053
- children: [/*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
1074
+ children: [inDialog ? /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
1075
+ children: shouldOpen && open && TooltipEl
1076
+ }) : /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
1054
1077
  id: "eds-tooltip-container",
1055
- children: shouldOpen && open && /*#__PURE__*/jsxRuntime.jsxs(StyledTooltip, _objectSpread__default.default(_objectSpread__default.default(_objectSpread__default.default({}, rest), getFloatingProps({
1056
- ref: tooltipRef,
1057
- style: _objectSpread__default.default(_objectSpread__default.default({}, style), {}, {
1058
- position: strategy,
1059
- top: y || 0,
1060
- left: x || 0
1061
- })
1062
- })), {}, {
1063
- children: [title, /*#__PURE__*/jsxRuntime.jsx(ArrowWrapper$1, {
1064
- ref: arrowRef,
1065
- children: /*#__PURE__*/jsxRuntime.jsx(TooltipArrow, {
1066
- className: "arrowSvg",
1067
- children: /*#__PURE__*/jsxRuntime.jsx("path", {
1068
- d: "M0.504838 4.86885C-0.168399 4.48524 -0.168399 3.51476 0.504838 3.13115L6 8.59227e-08L6 8L0.504838 4.86885Z"
1069
- })
1070
- })
1071
- })]
1072
- }))
1078
+ children: shouldOpen && open && TooltipEl
1073
1079
  }), updatedChildren]
1074
1080
  });
1075
1081
  });
@@ -3970,7 +3976,7 @@ var StyledDialog = styled__default.default(Paper).attrs({
3970
3976
  componentId: "sc-1mewo3f-0"
3971
3977
  })(function (_ref) {
3972
3978
  var theme = _ref.theme;
3973
- return styled.css(["width:", ";background:", ";display:grid;grid-auto-columns:auto;", ";", ";grid-gap:", ";overflow:hidden;"], theme.width, theme.background, edsUtils.typographyTemplate(theme.typography), edsUtils.bordersTemplate(theme.border), theme.spacings.bottom);
3979
+ return styled.css(["width:", ";background:", ";display:grid;grid-auto-columns:auto;", ";", ";grid-gap:", ";"], theme.width, theme.background, edsUtils.typographyTemplate(theme.typography), edsUtils.bordersTemplate(theme.border), theme.spacings.bottom);
3974
3980
  });
3975
3981
  var StyledNativeDialog = styled__default.default.dialog.withConfig({
3976
3982
  displayName: "Dialog__StyledNativeDialog",
@@ -5617,6 +5623,9 @@ var Popover$1 = /*#__PURE__*/react.forwardRef(function Popover(_ref5, ref) {
5617
5623
  var token = edsUtils.useToken({
5618
5624
  density: density
5619
5625
  }, popover);
5626
+
5627
+ //temporary fix when inside dialog. Should be replaced by popover api when it is ready
5628
+ var inDialog = edsUtils.useIsInDialog(anchorEl);
5620
5629
  var popover$1 = /*#__PURE__*/jsxRuntime.jsx(styled.ThemeProvider, {
5621
5630
  theme: token,
5622
5631
  children: /*#__PURE__*/jsxRuntime.jsxs(PopoverPaper, _objectSpread__default.default(_objectSpread__default.default(_objectSpread__default.default({
@@ -5644,7 +5653,7 @@ var Popover$1 = /*#__PURE__*/react.forwardRef(function Popover(_ref5, ref) {
5644
5653
  }))
5645
5654
  });
5646
5655
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
5647
- children: withinPortal ? /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
5656
+ children: withinPortal && !inDialog ? /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
5648
5657
  id: "eds-popover-container",
5649
5658
  children: open && trapFocus ? open && /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingFocusManager, {
5650
5659
  context: context,
@@ -7004,28 +7013,32 @@ var Menu$1 = /*#__PURE__*/react.forwardRef(function Menu(_ref3, ref) {
7004
7013
  anchorEl: anchorEl,
7005
7014
  open: open
7006
7015
  });
7007
- return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
7008
- children: /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
7009
- id: "eds-menu-container",
7010
- children: /*#__PURE__*/jsxRuntime.jsx(styled.ThemeProvider, {
7011
- theme: token,
7012
- children: /*#__PURE__*/jsxRuntime.jsx(MenuPaper, _objectSpread__default.default(_objectSpread__default.default(_objectSpread__default.default({
7013
- elevation: "raised"
7014
- }, props), getFloatingProps({
7015
- ref: popoverRef,
7016
- style: _objectSpread__default.default(_objectSpread__default.default({}, style), {}, {
7017
- position: strategy,
7018
- top: y || 0,
7019
- left: x || 0
7020
- })
7021
- })), {}, {
7022
- children: /*#__PURE__*/jsxRuntime.jsx(MenuProvider, {
7023
- children: /*#__PURE__*/jsxRuntime.jsx(MenuContainer, _objectSpread__default.default(_objectSpread__default.default({}, menuProps), {}, {
7024
- ref: ref
7025
- }))
7026
- })
7016
+
7017
+ //temporary fix when inside dialog. Should be replaced by popover api when it is ready
7018
+ var inDialog = edsUtils.useIsInDialog(anchorEl);
7019
+ var menuElement = /*#__PURE__*/jsxRuntime.jsx(styled.ThemeProvider, {
7020
+ theme: token,
7021
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuPaper, _objectSpread__default.default(_objectSpread__default.default(_objectSpread__default.default({
7022
+ elevation: "raised"
7023
+ }, props), getFloatingProps({
7024
+ ref: popoverRef,
7025
+ style: _objectSpread__default.default(_objectSpread__default.default({}, style), {}, {
7026
+ position: strategy,
7027
+ top: y || 0,
7028
+ left: x || 0
7029
+ })
7030
+ })), {}, {
7031
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuProvider, {
7032
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuContainer, _objectSpread__default.default(_objectSpread__default.default({}, menuProps), {}, {
7033
+ ref: ref
7027
7034
  }))
7028
7035
  })
7036
+ }))
7037
+ });
7038
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
7039
+ children: inDialog ? menuElement : /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
7040
+ id: "eds-menu-container",
7041
+ children: menuElement
7029
7042
  })
7030
7043
  });
7031
7044
  });
@@ -8713,6 +8726,9 @@ function AutocompleteInner(props, ref) {
8713
8726
  var selectedItemsLabels = react.useMemo(function () {
8714
8727
  return selectedItems.map(getLabel);
8715
8728
  }, [selectedItems, getLabel]);
8729
+
8730
+ //temporary fix when inside dialog. Should be replaced by popover api when it is ready
8731
+ var inDialog = edsUtils.useIsInDialog(refs.domReference.current);
8716
8732
  var optionsList = /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread__default.default(_objectSpread__default.default({}, getFloatingProps({
8717
8733
  ref: refs.setFloating,
8718
8734
  style: {
@@ -8823,7 +8839,7 @@ function AutocompleteInner(props, ref) {
8823
8839
  }))]
8824
8840
  })
8825
8841
  }, other))
8826
- }), disablePortal ? optionsList : /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
8842
+ }), disablePortal || inDialog ? optionsList : /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
8827
8843
  id: "eds-autocomplete-container",
8828
8844
  children: optionsList
8829
8845
  })]
@@ -12,7 +12,7 @@ import { Icon } from '../Icon/index.js';
12
12
  import { Progress } from '../Progress/index.js';
13
13
  import { close, arrow_drop_up, arrow_drop_down } from '@equinor/eds-icons';
14
14
  import { multiSelect, selectTokens } from './Autocomplete.tokens.js';
15
- import { bordersTemplate, useToken, useIsomorphicLayoutEffect } from '@equinor/eds-utils';
15
+ import { bordersTemplate, useToken, useIsomorphicLayoutEffect, useIsInDialog } from '@equinor/eds-utils';
16
16
  import { AutocompleteOption } from './Option.js';
17
17
  import { useFloating, offset, flip, shift, size, useInteractions, autoUpdate, FloatingPortal } from '@floating-ui/react';
18
18
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -431,6 +431,9 @@ function AutocompleteInner(props, ref) {
431
431
  var selectedItemsLabels = useMemo(function () {
432
432
  return selectedItems.map(getLabel);
433
433
  }, [selectedItems, getLabel]);
434
+
435
+ //temporary fix when inside dialog. Should be replaced by popover api when it is ready
436
+ var inDialog = useIsInDialog(refs.domReference.current);
434
437
  var optionsList = /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({}, getFloatingProps({
435
438
  ref: refs.setFloating,
436
439
  style: {
@@ -541,7 +544,7 @@ function AutocompleteInner(props, ref) {
541
544
  }))]
542
545
  })
543
546
  }, other))
544
- }), disablePortal ? optionsList : /*#__PURE__*/jsx(FloatingPortal, {
547
+ }), disablePortal || inDialog ? optionsList : /*#__PURE__*/jsx(FloatingPortal, {
545
548
  id: "eds-autocomplete-container",
546
549
  children: optionsList
547
550
  })]
@@ -17,7 +17,7 @@ var StyledDialog = styled(Paper).attrs({
17
17
  componentId: "sc-1mewo3f-0"
18
18
  })(function (_ref) {
19
19
  var theme = _ref.theme;
20
- return css(["width:", ";background:", ";display:grid;grid-auto-columns:auto;", ";", ";grid-gap:", ";overflow:hidden;"], theme.width, theme.background, typographyTemplate(theme.typography), bordersTemplate(theme.border), theme.spacings.bottom);
20
+ return css(["width:", ";background:", ";display:grid;grid-auto-columns:auto;", ";", ";grid-gap:", ";"], theme.width, theme.background, typographyTemplate(theme.typography), bordersTemplate(theme.border), theme.spacings.bottom);
21
21
  });
22
22
  var StyledNativeDialog = styled.dialog.withConfig({
23
23
  displayName: "Dialog__StyledNativeDialog",
@@ -5,7 +5,7 @@ import { forwardRef, useMemo, useEffect } from 'react';
5
5
  import styled, { css, ThemeProvider } from 'styled-components';
6
6
  import { MenuProvider, useMenu } from './Menu.context.js';
7
7
  import { MenuList } from './MenuList.js';
8
- import { bordersTemplate, useToken, mergeRefs, useIsomorphicLayoutEffect, useGlobalKeyPress } from '@equinor/eds-utils';
8
+ import { bordersTemplate, useToken, mergeRefs, useIsomorphicLayoutEffect, useIsInDialog, useGlobalKeyPress } from '@equinor/eds-utils';
9
9
  import { menu } from './Menu.tokens.js';
10
10
  import { offset, flip, shift, size, useFloating, autoUpdate, useInteractions, useDismiss, FloatingPortal } from '@floating-ui/react';
11
11
  import { jsx, Fragment } from 'react/jsx-runtime';
@@ -163,28 +163,32 @@ var Menu = /*#__PURE__*/forwardRef(function Menu(_ref3, ref) {
163
163
  anchorEl: anchorEl,
164
164
  open: open
165
165
  });
166
- return /*#__PURE__*/jsx(Fragment, {
167
- children: /*#__PURE__*/jsx(FloatingPortal, {
168
- id: "eds-menu-container",
169
- children: /*#__PURE__*/jsx(ThemeProvider, {
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
- })), {}, {
181
- children: /*#__PURE__*/jsx(MenuProvider, {
182
- children: /*#__PURE__*/jsx(MenuContainer, _objectSpread(_objectSpread({}, menuProps), {}, {
183
- ref: ref
184
- }))
185
- })
166
+
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, {
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
+ })), {}, {
181
+ children: /*#__PURE__*/jsx(MenuProvider, {
182
+ children: /*#__PURE__*/jsx(MenuContainer, _objectSpread(_objectSpread({}, menuProps), {}, {
183
+ ref: ref
186
184
  }))
187
185
  })
186
+ }))
187
+ });
188
+ return /*#__PURE__*/jsx(Fragment, {
189
+ children: inDialog ? menuElement : /*#__PURE__*/jsx(FloatingPortal, {
190
+ id: "eds-menu-container",
191
+ children: menuElement
188
192
  })
189
193
  });
190
194
  });
@@ -3,7 +3,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
4
  import { forwardRef, useRef, useMemo, useEffect } from 'react';
5
5
  import styled, { css, ThemeProvider } from 'styled-components';
6
- import { typographyTemplate, bordersTemplate, outlineTemplate, mergeRefs, useToken } from '@equinor/eds-utils';
6
+ import { typographyTemplate, bordersTemplate, outlineTemplate, mergeRefs, useToken, useIsInDialog } from '@equinor/eds-utils';
7
7
  import { popover } from './Popover.tokens.js';
8
8
  import { useFloating, offset, flip, shift, arrow, autoUpdate, useInteractions, useDismiss, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
9
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -122,6 +122,9 @@ var Popover = /*#__PURE__*/forwardRef(function Popover(_ref5, ref) {
122
122
  var token = useToken({
123
123
  density: density
124
124
  }, popover);
125
+
126
+ //temporary fix when inside dialog. Should be replaced by popover api when it is ready
127
+ var inDialog = useIsInDialog(anchorEl);
125
128
  var popover$1 = /*#__PURE__*/jsx(ThemeProvider, {
126
129
  theme: token,
127
130
  children: /*#__PURE__*/jsxs(PopoverPaper, _objectSpread(_objectSpread(_objectSpread({
@@ -149,7 +152,7 @@ var Popover = /*#__PURE__*/forwardRef(function Popover(_ref5, ref) {
149
152
  }))
150
153
  });
151
154
  return /*#__PURE__*/jsx(Fragment, {
152
- children: withinPortal ? /*#__PURE__*/jsx(FloatingPortal, {
155
+ children: withinPortal && !inDialog ? /*#__PURE__*/jsx(FloatingPortal, {
153
156
  id: "eds-popover-container",
154
157
  children: open && trapFocus ? open && /*#__PURE__*/jsx(FloatingFocusManager, {
155
158
  context: context,
@@ -4,10 +4,10 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
5
  import { forwardRef, useRef, useState, useMemo, useEffect, cloneElement } from 'react';
6
6
  import styled from 'styled-components';
7
- import { typographyTemplate, spacingsTemplate, bordersTemplate, mergeRefs } from '@equinor/eds-utils';
7
+ import { typographyTemplate, spacingsTemplate, bordersTemplate, mergeRefs, useIsInDialog } from '@equinor/eds-utils';
8
8
  import { tooltip } from './Tooltip.tokens.js';
9
9
  import { useFloating, offset, flip, shift, arrow, autoUpdate, useInteractions, useHover, useFocus, useRole, useDismiss, FloatingPortal } from '@floating-ui/react';
10
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
10
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
11
11
 
12
12
  var _excluded = ["title", "placement", "children", "style", "enterDelay"];
13
13
  var StyledTooltip = styled.div.withConfig({
@@ -108,27 +108,33 @@ var Tooltip = /*#__PURE__*/forwardRef(function Tooltip(_ref, ref) {
108
108
  var updatedChildren = /*#__PURE__*/cloneElement(children, _objectSpread({}, getReferenceProps(_objectSpread({
109
109
  ref: anchorRef
110
110
  }, children.props))));
111
+
112
+ //temporary fix for tooltip inside dialog. Should be replaced by popover api when it is ready
113
+ var inDialog = useIsInDialog(refs.domReference.current);
114
+ var TooltipEl = /*#__PURE__*/jsxs(StyledTooltip, _objectSpread(_objectSpread(_objectSpread({}, rest), getFloatingProps({
115
+ ref: tooltipRef,
116
+ style: _objectSpread(_objectSpread({}, style), {}, {
117
+ position: strategy,
118
+ top: y || 0,
119
+ left: x || 0
120
+ })
121
+ })), {}, {
122
+ children: [title, /*#__PURE__*/jsx(ArrowWrapper, {
123
+ ref: arrowRef,
124
+ children: /*#__PURE__*/jsx(TooltipArrow, {
125
+ className: "arrowSvg",
126
+ children: /*#__PURE__*/jsx("path", {
127
+ d: "M0.504838 4.86885C-0.168399 4.48524 -0.168399 3.51476 0.504838 3.13115L6 8.59227e-08L6 8L0.504838 4.86885Z"
128
+ })
129
+ })
130
+ })]
131
+ }));
111
132
  return /*#__PURE__*/jsxs(Fragment, {
112
- children: [/*#__PURE__*/jsx(FloatingPortal, {
133
+ children: [inDialog ? /*#__PURE__*/jsx(Fragment, {
134
+ children: shouldOpen && open && TooltipEl
135
+ }) : /*#__PURE__*/jsx(FloatingPortal, {
113
136
  id: "eds-tooltip-container",
114
- children: shouldOpen && open && /*#__PURE__*/jsxs(StyledTooltip, _objectSpread(_objectSpread(_objectSpread({}, rest), getFloatingProps({
115
- ref: tooltipRef,
116
- style: _objectSpread(_objectSpread({}, style), {}, {
117
- position: strategy,
118
- top: y || 0,
119
- left: x || 0
120
- })
121
- })), {}, {
122
- children: [title, /*#__PURE__*/jsx(ArrowWrapper, {
123
- ref: arrowRef,
124
- children: /*#__PURE__*/jsx(TooltipArrow, {
125
- className: "arrowSvg",
126
- children: /*#__PURE__*/jsx("path", {
127
- d: "M0.504838 4.86885C-0.168399 4.48524 -0.168399 3.51476 0.504838 3.13115L6 8.59227e-08L6 8L0.504838 4.86885Z"
128
- })
129
- })
130
- })]
131
- }))
137
+ children: shouldOpen && open && TooltipEl
132
138
  }), updatedChildren]
133
139
  });
134
140
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/eds-core-react",
3
- "version": "0.32.2",
3
+ "version": "0.32.3",
4
4
  "description": "The React implementation of the Equinor Design System",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -86,9 +86,9 @@
86
86
  "@floating-ui/react": "^0.24.3",
87
87
  "@tanstack/react-virtual": "3.0.0-beta.54",
88
88
  "downshift": "^7.6.0",
89
- "@equinor/eds-icons": "0.19.2",
89
+ "@equinor/eds-icons": "^0.19.3",
90
90
  "@equinor/eds-tokens": "0.9.2",
91
- "@equinor/eds-utils": "0.8.0"
91
+ "@equinor/eds-utils": "0.8.1"
92
92
  },
93
93
  "engines": {
94
94
  "pnpm": ">=4",