@equinor/eds-core-react 0.23.0 → 0.24.0-dev.20221006

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 (177) hide show
  1. package/dist/eds-core-react.cjs.js +4139 -5171
  2. package/dist/esm/components/Accordion/Accordion.js +26 -21
  3. package/dist/esm/components/Accordion/Accordion.tokens.js +23 -62
  4. package/dist/esm/components/Accordion/AccordionHeader.js +55 -74
  5. package/dist/esm/components/Accordion/AccordionHeaderActions.js +19 -23
  6. package/dist/esm/components/Accordion/AccordionHeaderTitle.js +19 -23
  7. package/dist/esm/components/Accordion/AccordionItem.js +32 -25
  8. package/dist/esm/components/Accordion/AccordionPanel.js +22 -27
  9. package/dist/esm/components/Accordion/index.js +1 -1
  10. package/dist/esm/components/Autocomplete/Autocomplete.js +279 -272
  11. package/dist/esm/components/Autocomplete/Autocomplete.tokens.js +18 -27
  12. package/dist/esm/components/Autocomplete/Option.js +27 -25
  13. package/dist/esm/components/Avatar/Avatar.js +23 -22
  14. package/dist/esm/components/Avatar/Avatar.tokens.js +1 -1
  15. package/dist/esm/components/Banner/Banner.js +31 -27
  16. package/dist/esm/components/Banner/Banner.tokens.js +19 -47
  17. package/dist/esm/components/Banner/BannerActions.js +21 -20
  18. package/dist/esm/components/Banner/BannerIcon.js +28 -28
  19. package/dist/esm/components/Banner/BannerMessage.js +16 -14
  20. package/dist/esm/components/Banner/index.js +1 -1
  21. package/dist/esm/components/Breadcrumbs/Breadcrumb.js +29 -28
  22. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +47 -40
  23. package/dist/esm/components/Breadcrumbs/Breadcrumbs.tokens.js +5 -20
  24. package/dist/esm/components/Breadcrumbs/index.js +1 -1
  25. package/dist/esm/components/Button/Button.js +49 -46
  26. package/dist/esm/components/Button/ButtonGroup/ButtonGroup.js +22 -24
  27. package/dist/esm/components/Button/ButtonGroup/ButtonGroup.tokens.js +2 -8
  28. package/dist/esm/components/Button/InnerFullWidth.js +10 -9
  29. package/dist/esm/components/Button/ToggleButton/ToggleButton.js +31 -21
  30. package/dist/esm/components/Button/index.js +1 -1
  31. package/dist/esm/components/Button/tokens/button.js +31 -60
  32. package/dist/esm/components/Button/tokens/contained.js +14 -38
  33. package/dist/esm/components/Button/tokens/contained_icon.js +10 -13
  34. package/dist/esm/components/Button/tokens/ghost.js +13 -36
  35. package/dist/esm/components/Button/tokens/icon.js +20 -46
  36. package/dist/esm/components/Button/tokens/index.js +1 -1
  37. package/dist/esm/components/Button/tokens/outlined.js +15 -42
  38. package/dist/esm/components/Card/Card.js +28 -26
  39. package/dist/esm/components/Card/Card.tokens.js +11 -32
  40. package/dist/esm/components/Card/CardActions.js +24 -23
  41. package/dist/esm/components/Card/CardContent.js +13 -13
  42. package/dist/esm/components/Card/CardHeader.js +15 -14
  43. package/dist/esm/components/Card/CardHeaderTitle.js +14 -11
  44. package/dist/esm/components/Card/CardMedia.js +21 -21
  45. package/dist/esm/components/Card/index.js +1 -1
  46. package/dist/esm/components/Checkbox/Checkbox.js +20 -20
  47. package/dist/esm/components/Checkbox/Checkbox.tokens.js +14 -39
  48. package/dist/esm/components/Checkbox/Input.js +63 -78
  49. package/dist/esm/components/Chip/Chip.js +60 -70
  50. package/dist/esm/components/Chip/Chip.tokens.js +27 -68
  51. package/dist/esm/components/Chip/Icon.js +9 -15
  52. package/dist/esm/components/Dialog/Dialog.js +36 -31
  53. package/dist/esm/components/Dialog/Dialog.tokens.js +8 -29
  54. package/dist/esm/components/Dialog/DialogActions.js +15 -15
  55. package/dist/esm/components/Dialog/DialogContent.js +23 -22
  56. package/dist/esm/components/Dialog/DialogHeader.js +17 -16
  57. package/dist/esm/components/Dialog/DialogTitle.js +15 -15
  58. package/dist/esm/components/Dialog/index.js +1 -1
  59. package/dist/esm/components/Divider/Divider.js +28 -25
  60. package/dist/esm/components/Divider/Divider.tokens.js +10 -24
  61. package/dist/esm/components/EdsProvider/eds.context.js +26 -16
  62. package/dist/esm/components/Icon/Icon.js +63 -67
  63. package/dist/esm/components/Icon/index.js +1 -1
  64. package/dist/esm/components/Icon/library.js +8 -8
  65. package/dist/esm/components/Input/Input.js +37 -40
  66. package/dist/esm/components/Input/Input.tokens.js +32 -43
  67. package/dist/esm/components/Label/Label.js +19 -17
  68. package/dist/esm/components/Label/Label.tokens.js +7 -10
  69. package/dist/esm/components/List/List.js +18 -19
  70. package/dist/esm/components/List/List.tokens.js +2 -6
  71. package/dist/esm/components/List/ListItem.js +9 -7
  72. package/dist/esm/components/List/index.js +1 -1
  73. package/dist/esm/components/Menu/Menu.context.js +45 -34
  74. package/dist/esm/components/Menu/Menu.js +92 -90
  75. package/dist/esm/components/Menu/Menu.tokens.js +24 -54
  76. package/dist/esm/components/Menu/MenuItem.js +50 -58
  77. package/dist/esm/components/Menu/MenuList.js +54 -50
  78. package/dist/esm/components/Menu/MenuSection.js +9 -9
  79. package/dist/esm/components/Menu/index.js +1 -1
  80. package/dist/esm/components/Pagination/Pagination.js +75 -71
  81. package/dist/esm/components/Pagination/Pagination.tokens.js +5 -18
  82. package/dist/esm/components/Pagination/PaginationItem.js +21 -19
  83. package/dist/esm/components/Pagination/paginationControl.js +22 -18
  84. package/dist/esm/components/Paper/Paper.js +15 -14
  85. package/dist/esm/components/Paper/Paper.tokens.js +4 -12
  86. package/dist/esm/components/Popover/Popover.js +85 -88
  87. package/dist/esm/components/Popover/Popover.tokens.js +8 -27
  88. package/dist/esm/components/Popover/PopoverActions.js +16 -16
  89. package/dist/esm/components/Popover/PopoverContent.js +16 -15
  90. package/dist/esm/components/Popover/PopoverHeader.js +17 -16
  91. package/dist/esm/components/Popover/PopoverTitle.js +16 -15
  92. package/dist/esm/components/Popover/index.js +1 -1
  93. package/dist/esm/components/Progress/Circular/CircularProgress.js +46 -34
  94. package/dist/esm/components/Progress/Circular/CircularProgress.tokens.js +8 -24
  95. package/dist/esm/components/Progress/Dots/DotProgress.js +23 -20
  96. package/dist/esm/components/Progress/Dots/DotProgress.tokens.js +8 -20
  97. package/dist/esm/components/Progress/Linear/LinearProgress.js +34 -24
  98. package/dist/esm/components/Progress/Linear/LinearProgress.tokens.js +4 -13
  99. package/dist/esm/components/Progress/Star/StarProgress.js +29 -25
  100. package/dist/esm/components/Progress/Star/StarProgress.tokens.js +2 -10
  101. package/dist/esm/components/Progress/index.js +1 -1
  102. package/dist/esm/components/Radio/Radio.js +57 -76
  103. package/dist/esm/components/Radio/Radio.tokens.js +14 -39
  104. package/dist/esm/components/Scrim/Scrim.js +24 -21
  105. package/dist/esm/components/Scrim/Scrim.tokens.js +3 -11
  106. package/dist/esm/components/Search/Search.js +130 -117
  107. package/dist/esm/components/Search/Search.tokens.js +12 -36
  108. package/dist/esm/components/Select/MultiSelect/MultiSelect.js +115 -105
  109. package/dist/esm/components/Select/NativeSelect/NativeSelect.js +45 -43
  110. package/dist/esm/components/Select/NativeSelect/NativeSelect.tokens.js +10 -14
  111. package/dist/esm/components/Select/Select.tokens.js +18 -27
  112. package/dist/esm/components/Select/SingleSelect/SingleSelect.js +86 -79
  113. package/dist/esm/components/Select/commonStyles.js +14 -26
  114. package/dist/esm/components/SideSheet/SideSheet.js +29 -27
  115. package/dist/esm/components/SideSheet/SideSheet.tokens.js +12 -28
  116. package/dist/esm/components/Slider/MinMax.js +6 -11
  117. package/dist/esm/components/Slider/Output.js +10 -17
  118. package/dist/esm/components/Slider/Slider.js +126 -116
  119. package/dist/esm/components/Slider/Slider.tokens.js +19 -51
  120. package/dist/esm/components/Slider/SliderInput.js +35 -37
  121. package/dist/esm/components/Snackbar/Snackbar.js +45 -34
  122. package/dist/esm/components/Snackbar/Snackbar.tokens.js +17 -44
  123. package/dist/esm/components/Snackbar/SnackbarAction.js +16 -15
  124. package/dist/esm/components/Snackbar/index.js +1 -1
  125. package/dist/esm/components/Switch/Switch.js +37 -38
  126. package/dist/esm/components/Switch/Switch.styles.js +14 -20
  127. package/dist/esm/components/Switch/Switch.tokens.js +25 -70
  128. package/dist/esm/components/Switch/SwitchDefault.js +27 -37
  129. package/dist/esm/components/Switch/SwitchSmall.js +28 -41
  130. package/dist/esm/components/Table/Body.js +10 -8
  131. package/dist/esm/components/Table/Caption.js +9 -9
  132. package/dist/esm/components/Table/Cell.js +14 -16
  133. package/dist/esm/components/Table/DataCell/DataCell.js +27 -28
  134. package/dist/esm/components/Table/DataCell/DataCell.tokens.js +38 -73
  135. package/dist/esm/components/Table/Head/Head.js +12 -10
  136. package/dist/esm/components/Table/Head/Head.tokens.js +4 -15
  137. package/dist/esm/components/Table/HeaderCell/HeaderCell.js +30 -32
  138. package/dist/esm/components/Table/HeaderCell/HeaderCell.tokens.js +28 -62
  139. package/dist/esm/components/Table/Inner.context.js +2 -2
  140. package/dist/esm/components/Table/Row/Row.js +11 -13
  141. package/dist/esm/components/Table/Row/Row.tokens.js +4 -13
  142. package/dist/esm/components/Table/Table.js +10 -8
  143. package/dist/esm/components/Table/index.js +1 -1
  144. package/dist/esm/components/TableOfContents/LinkItem.js +12 -12
  145. package/dist/esm/components/TableOfContents/TableOfContents.js +28 -28
  146. package/dist/esm/components/TableOfContents/TableOfContents.tokens.js +21 -43
  147. package/dist/esm/components/TableOfContents/index.js +1 -1
  148. package/dist/esm/components/Tabs/Tab.js +15 -21
  149. package/dist/esm/components/Tabs/TabList.js +61 -52
  150. package/dist/esm/components/Tabs/TabPanel.js +18 -20
  151. package/dist/esm/components/Tabs/TabPanels.js +22 -18
  152. package/dist/esm/components/Tabs/Tabs.context.js +5 -3
  153. package/dist/esm/components/Tabs/Tabs.js +60 -39
  154. package/dist/esm/components/Tabs/Tabs.tokens.js +21 -55
  155. package/dist/esm/components/Tabs/index.js +1 -1
  156. package/dist/esm/components/TextField/Field.js +78 -85
  157. package/dist/esm/components/TextField/HelperText/HelperText.js +37 -40
  158. package/dist/esm/components/TextField/HelperText/HelperText.token.js +5 -9
  159. package/dist/esm/components/TextField/Icon/Icon.js +41 -40
  160. package/dist/esm/components/TextField/Icon/Icon.tokens.js +4 -8
  161. package/dist/esm/components/TextField/TextField.context.js +29 -19
  162. package/dist/esm/components/TextField/TextField.js +59 -57
  163. package/dist/esm/components/TextField/TextField.tokens.js +12 -16
  164. package/dist/esm/components/Textarea/Textarea.js +56 -58
  165. package/dist/esm/components/Tooltip/Tooltip.js +76 -64
  166. package/dist/esm/components/Tooltip/Tooltip.tokens.js +13 -32
  167. package/dist/esm/components/TopBar/Actions.js +12 -10
  168. package/dist/esm/components/TopBar/CustomContent.js +12 -10
  169. package/dist/esm/components/TopBar/Header.js +12 -10
  170. package/dist/esm/components/TopBar/TopBar.js +29 -25
  171. package/dist/esm/components/TopBar/TopBar.tokens.js +4 -10
  172. package/dist/esm/components/TopBar/index.js +1 -1
  173. package/dist/esm/components/Typography/Typography.js +44 -50
  174. package/dist/esm/components/Typography/Typography.tokens.js +25 -49
  175. package/dist/esm/node_modules/.pnpm/ramda@0.28.0/node_modules/ramda/es/internal/_isPlaceholder.js +3 -1
  176. package/dist/types/components/Autocomplete/Autocomplete.d.ts +4 -0
  177. package/package.json +4 -10
@@ -1,3 +1,7 @@
1
+ import _typeof from '@babel/runtime/helpers/typeof';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
1
5
  import { forwardRef, useRef, useState, useEffect, useMemo, useCallback, useLayoutEffect } from 'react';
2
6
  import { useMultipleSelection, useCombobox } from 'downshift';
3
7
  import styled, { css, ThemeProvider } from 'styled-components';
@@ -14,200 +18,209 @@ import { Input } from '../Input/Input.js';
14
18
  import { useEds } from '../EdsProvider/eds.context.js';
15
19
  import { Label } from '../Label/Label.js';
16
20
 
17
- const Container = styled.div.withConfig({
21
+ var _excluded = ["options", "label", "meta", "className", "style", "disabled", "readOnly", "hideClearButton", "onOptionsChange", "selectedOptions", "multiple", "initialSelectedOptions", "disablePortal", "optionDisabled", "optionsFilter", "autoWidth", "placeholder", "optionLabel", "clearSearchOnChange"];
22
+ var Container = styled.div.withConfig({
18
23
  displayName: "Autocomplete__Container",
19
24
  componentId: "sc-yvif0e-0"
20
25
  })(["position:relative;"]);
21
- const StyledInput = styled(Input).withConfig({
26
+ var StyledInput = styled(Input).withConfig({
22
27
  displayName: "Autocomplete__StyledInput",
23
28
  componentId: "sc-yvif0e-1"
24
- })(_ref => {
25
- let {
26
- theme: {
27
- entities: {
28
- button
29
- }
30
- }
31
- } = _ref;
29
+ })(function (_ref) {
30
+ var button = _ref.theme.entities.button;
32
31
  return css(["padding-right:calc( ", " + ", " + (", " * 2) );"], button.spacings.left, button.spacings.right, button.height);
33
32
  });
34
- const StyledList = styled(List).withConfig({
33
+ var StyledList = styled(List).withConfig({
35
34
  displayName: "Autocomplete__StyledList",
36
35
  componentId: "sc-yvif0e-2"
37
- })(_ref2 => {
38
- let {
39
- theme
40
- } = _ref2;
36
+ })(function (_ref2) {
37
+ var theme = _ref2.theme;
41
38
  return css(["background-color:", ";box-shadow:", ";", " overflow-y:auto;max-height:300px;padding:0;"], theme.background, theme.boxShadow, bordersTemplate(theme.border));
42
39
  });
43
- const StyledButton = styled(Button).withConfig({
40
+ var StyledButton = styled(Button).withConfig({
44
41
  displayName: "Autocomplete__StyledButton",
45
42
  componentId: "sc-yvif0e-3"
46
- })(_ref3 => {
47
- let {
48
- theme: {
49
- entities: {
50
- button
51
- }
52
- }
53
- } = _ref3;
43
+ })(function (_ref3) {
44
+ var button = _ref3.theme.entities.button;
54
45
  return css(["position:absolute;height:", ";width:", ";right:", ";top:", ";"], button.height, button.height, button.spacings.right, button.spacings.top);
55
46
  });
56
47
 
57
- const findIndex = _ref4 => {
58
- let {
59
- calc,
60
- index,
61
- optionDisabled,
62
- availableItems
63
- } = _ref4;
64
- const nextItem = availableItems[index];
48
+ var findIndex = function findIndex(_ref4) {
49
+ var calc = _ref4.calc,
50
+ index = _ref4.index,
51
+ optionDisabled = _ref4.optionDisabled,
52
+ availableItems = _ref4.availableItems;
53
+ var nextItem = availableItems[index];
65
54
 
66
55
  if (optionDisabled(nextItem)) {
67
- const nextIndex = calc(index);
56
+ var nextIndex = calc(index);
68
57
  return findIndex({
69
- calc,
58
+ calc: calc,
70
59
  index: nextIndex,
71
- availableItems,
72
- optionDisabled
60
+ availableItems: availableItems,
61
+ optionDisabled: optionDisabled
73
62
  });
74
63
  }
75
64
 
76
65
  return index;
77
66
  };
78
67
 
79
- const findNextIndex = _ref5 => {
80
- let {
81
- index,
82
- optionDisabled,
83
- availableItems
84
- } = _ref5;
85
- const options = {
86
- index,
87
- optionDisabled,
88
- availableItems,
89
- calc: num => num + 1
68
+ var findNextIndex = function findNextIndex(_ref5) {
69
+ var index = _ref5.index,
70
+ optionDisabled = _ref5.optionDisabled,
71
+ availableItems = _ref5.availableItems;
72
+ var options = {
73
+ index: index,
74
+ optionDisabled: optionDisabled,
75
+ availableItems: availableItems,
76
+ calc: function calc(num) {
77
+ return num + 1;
78
+ }
90
79
  };
91
- const nextIndex = findIndex(options);
80
+ var nextIndex = findIndex(options);
92
81
 
93
82
  if (nextIndex > availableItems.length - 1) {
94
83
  // jump to start of list
95
- return findIndex({ ...options,
84
+ return findIndex(_objectSpread(_objectSpread({}, options), {}, {
96
85
  index: 0
97
- });
86
+ }));
98
87
  }
99
88
 
100
89
  return nextIndex;
101
90
  };
102
91
 
103
- const findPrevIndex = _ref6 => {
104
- let {
105
- index,
106
- optionDisabled,
107
- availableItems
108
- } = _ref6;
109
- const options = {
110
- index,
111
- optionDisabled,
112
- availableItems,
113
- calc: num => num - 1
92
+ var findPrevIndex = function findPrevIndex(_ref6) {
93
+ var index = _ref6.index,
94
+ optionDisabled = _ref6.optionDisabled,
95
+ availableItems = _ref6.availableItems;
96
+ var options = {
97
+ index: index,
98
+ optionDisabled: optionDisabled,
99
+ availableItems: availableItems,
100
+ calc: function calc(num) {
101
+ return num - 1;
102
+ }
114
103
  };
115
- const prevIndex = findIndex(options);
104
+ var prevIndex = findIndex(options);
116
105
 
117
106
  if (prevIndex < 0) {
118
107
  // jump to end of list
119
- return findIndex({ ...options,
108
+ return findIndex(_objectSpread(_objectSpread({}, options), {}, {
120
109
  index: availableItems.length - 1
121
- });
110
+ }));
122
111
  }
123
112
 
124
113
  return prevIndex;
125
114
  };
126
115
 
127
116
  function AutocompleteInner(props, ref) {
128
- const {
129
- options = [],
130
- label,
131
- meta,
132
- className,
133
- style,
134
- disabled = false,
135
- readOnly = false,
136
- hideClearButton = false,
137
- onOptionsChange,
138
- selectedOptions,
139
- multiple,
140
- initialSelectedOptions = [],
141
- disablePortal,
142
- optionDisabled = () => false,
143
- optionsFilter,
144
- autoWidth,
145
- placeholder,
146
- optionLabel,
147
- ...other
148
- } = props;
149
- const anchorRef = useRef(null);
150
- const isControlled = Boolean(selectedOptions);
151
- const [inputOptions, setInputOptions] = useState(options);
152
- useEffect(() => {
153
- const availableHash = JSON.stringify(inputOptions);
154
- const optionsHash = JSON.stringify(options);
117
+ var _props$options = props.options,
118
+ options = _props$options === void 0 ? [] : _props$options,
119
+ label = props.label,
120
+ meta = props.meta,
121
+ className = props.className,
122
+ style = props.style,
123
+ _props$disabled = props.disabled,
124
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
125
+ _props$readOnly = props.readOnly,
126
+ readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
127
+ _props$hideClearButto = props.hideClearButton,
128
+ hideClearButton = _props$hideClearButto === void 0 ? false : _props$hideClearButto,
129
+ onOptionsChange = props.onOptionsChange,
130
+ selectedOptions = props.selectedOptions,
131
+ multiple = props.multiple,
132
+ _props$initialSelecte = props.initialSelectedOptions,
133
+ initialSelectedOptions = _props$initialSelecte === void 0 ? [] : _props$initialSelecte,
134
+ disablePortal = props.disablePortal,
135
+ _props$optionDisabled = props.optionDisabled,
136
+ optionDisabled = _props$optionDisabled === void 0 ? function () {
137
+ return false;
138
+ } : _props$optionDisabled,
139
+ optionsFilter = props.optionsFilter,
140
+ autoWidth = props.autoWidth,
141
+ placeholder = props.placeholder,
142
+ optionLabel = props.optionLabel,
143
+ _props$clearSearchOnC = props.clearSearchOnChange,
144
+ clearSearchOnChange = _props$clearSearchOnC === void 0 ? true : _props$clearSearchOnC,
145
+ other = _objectWithoutProperties(props, _excluded);
146
+
147
+ var anchorRef = useRef(null);
148
+ var isControlled = Boolean(selectedOptions);
149
+
150
+ var _useState = useState(options),
151
+ _useState2 = _slicedToArray(_useState, 2),
152
+ inputOptions = _useState2[0],
153
+ setInputOptions = _useState2[1];
154
+
155
+ var _useState3 = useState(inputOptions),
156
+ _useState4 = _slicedToArray(_useState3, 2),
157
+ availableItems = _useState4[0],
158
+ setAvailableItems = _useState4[1];
159
+
160
+ var _useState5 = useState(''),
161
+ _useState6 = _slicedToArray(_useState5, 2),
162
+ typedInputValue = _useState6[0],
163
+ setTypedInputValue = _useState6[1];
164
+
165
+ useEffect(function () {
166
+ var availableHash = JSON.stringify(inputOptions);
167
+ var optionsHash = JSON.stringify(options);
155
168
 
156
169
  if (availableHash !== optionsHash) {
157
170
  setInputOptions(options);
158
171
  }
159
172
  }, [options, inputOptions]);
160
- useEffect(() => {
173
+ useEffect(function () {
161
174
  setAvailableItems(inputOptions);
162
175
  }, [inputOptions]);
163
- const [availableItems, setAvailableItems] = useState(inputOptions);
164
- const disabledItems = useMemo(() => options.filter(optionDisabled), [options, optionDisabled]);
165
- const {
166
- density
167
- } = useEds();
168
- const token = useToken({
169
- density
176
+ var disabledItems = useMemo(function () {
177
+ return options.filter(optionDisabled);
178
+ }, [options, optionDisabled]);
179
+
180
+ var _useEds = useEds(),
181
+ density = _useEds.density;
182
+
183
+ var token = useToken({
184
+ density: density
170
185
  }, multiple ? multiSelect : selectTokens);
171
- let placeholderText = placeholder;
172
- let multipleSelectionProps = {
186
+ var placeholderText = placeholder;
187
+ var multipleSelectionProps = {
173
188
  initialSelectedItems: multiple ? initialSelectedOptions : initialSelectedOptions[0] ? [initialSelectedOptions[0]] : []
174
189
  };
175
190
 
176
191
  if (multiple) {
177
- multipleSelectionProps = { ...multipleSelectionProps,
178
- onSelectedItemsChange: changes => {
192
+ multipleSelectionProps = _objectSpread(_objectSpread({}, multipleSelectionProps), {}, {
193
+ onSelectedItemsChange: function onSelectedItemsChange(changes) {
179
194
  if (onOptionsChange) {
180
- const {
181
- selectedItems
182
- } = changes;
195
+ var _selectedItems = changes.selectedItems;
183
196
  onOptionsChange({
184
- selectedItems
197
+ selectedItems: _selectedItems
185
198
  });
186
199
  }
187
200
  }
188
- };
201
+ });
189
202
 
190
203
  if (isControlled) {
191
- multipleSelectionProps = { ...multipleSelectionProps,
204
+ multipleSelectionProps = _objectSpread(_objectSpread({}, multipleSelectionProps), {}, {
192
205
  selectedItems: selectedOptions
193
- };
206
+ });
194
207
  }
195
208
  }
196
209
 
197
- const {
198
- getDropdownProps,
199
- addSelectedItem,
200
- removeSelectedItem,
201
- selectedItems,
202
- reset: resetSelection,
203
- setSelectedItems
204
- } = useMultipleSelection(multipleSelectionProps);
205
- const getLabel = useCallback(item => {
210
+ var _useMultipleSelection = useMultipleSelection(multipleSelectionProps),
211
+ getDropdownProps = _useMultipleSelection.getDropdownProps,
212
+ addSelectedItem = _useMultipleSelection.addSelectedItem,
213
+ removeSelectedItem = _useMultipleSelection.removeSelectedItem,
214
+ selectedItems = _useMultipleSelection.selectedItems,
215
+ resetSelection = _useMultipleSelection.reset,
216
+ setSelectedItems = _useMultipleSelection.setSelectedItems;
217
+
218
+ var getLabel = useCallback(function (item) {
206
219
  if (!item) {
207
220
  return '';
208
221
  }
209
222
 
210
- if (typeof item === 'object') {
223
+ if (_typeof(item) === 'object') {
211
224
  if (optionLabel) {
212
225
  return optionLabel(item);
213
226
  } else {
@@ -225,15 +238,13 @@ function AutocompleteInner(props, ref) {
225
238
  throw new Error('Unable to find label, make sure your are using options as documented');
226
239
  }
227
240
  }, [optionLabel]);
228
- let comboBoxProps = {
241
+ var comboBoxProps = {
229
242
  items: availableItems,
230
243
  initialSelectedItem: initialSelectedOptions[0],
231
244
  itemToString: getLabel,
232
- onInputValueChange: _ref7 => {
233
- let {
234
- inputValue
235
- } = _ref7;
236
- setAvailableItems(options.filter(item => {
245
+ onInputValueChange: function onInputValueChange(_ref7) {
246
+ var inputValue = _ref7.inputValue;
247
+ setAvailableItems(options.filter(function (item) {
237
248
  if (optionsFilter) {
238
249
  return optionsFilter(item, inputValue);
239
250
  }
@@ -241,23 +252,19 @@ function AutocompleteInner(props, ref) {
241
252
  return getLabel(item).toLowerCase().includes(inputValue.toLowerCase());
242
253
  }));
243
254
  },
244
- onIsOpenChange: _ref8 => {
245
- let {
246
- selectedItem
247
- } = _ref8;
255
+ onIsOpenChange: function onIsOpenChange(_ref8) {
256
+ var selectedItem = _ref8.selectedItem;
248
257
  // Show all options when single select is reopened with a selected item
249
- const availableHash = JSON.stringify(availableItems[0]);
250
- const selectedsHash = JSON.stringify(selectedItem);
258
+ var availableHash = JSON.stringify(availableItems[0]);
259
+ var selectedsHash = JSON.stringify(selectedItem);
251
260
 
252
261
  if (availableItems.length === 1 && selectedsHash === availableHash) {
253
262
  setAvailableItems(options);
254
263
  }
255
264
  },
256
- onStateChange: _ref9 => {
257
- let {
258
- type,
259
- selectedItem
260
- } = _ref9;
265
+ onStateChange: function onStateChange(_ref9) {
266
+ var type = _ref9.type,
267
+ selectedItem = _ref9.selectedItem;
261
268
 
262
269
  switch (type) {
263
270
  case useCombobox.stateChangeTypes.InputChange:
@@ -277,32 +284,30 @@ function AutocompleteInner(props, ref) {
277
284
  break;
278
285
  }
279
286
  },
280
- stateReducer: (_, actionAndChanges) => {
281
- const {
282
- changes,
283
- type
284
- } = actionAndChanges;
287
+ stateReducer: function stateReducer(_, actionAndChanges) {
288
+ var changes = actionAndChanges.changes,
289
+ type = actionAndChanges.type;
285
290
 
286
291
  switch (type) {
287
292
  case useCombobox.stateChangeTypes.InputKeyDownArrowDown:
288
293
  case useCombobox.stateChangeTypes.InputKeyDownHome:
289
- return { ...changes,
294
+ return _objectSpread(_objectSpread({}, changes), {}, {
290
295
  highlightedIndex: findNextIndex({
291
296
  index: changes.highlightedIndex,
292
- availableItems,
293
- optionDisabled
297
+ availableItems: availableItems,
298
+ optionDisabled: optionDisabled
294
299
  })
295
- };
300
+ });
296
301
 
297
302
  case useCombobox.stateChangeTypes.InputKeyDownArrowUp:
298
303
  case useCombobox.stateChangeTypes.InputKeyDownEnd:
299
- return { ...changes,
304
+ return _objectSpread(_objectSpread({}, changes), {}, {
300
305
  highlightedIndex: findPrevIndex({
301
306
  index: changes.highlightedIndex,
302
- availableItems,
303
- optionDisabled
307
+ availableItems: availableItems,
308
+ optionDisabled: optionDisabled
304
309
  })
305
- };
310
+ });
306
311
 
307
312
  default:
308
313
  return changes;
@@ -311,187 +316,185 @@ function AutocompleteInner(props, ref) {
311
316
  };
312
317
 
313
318
  if (!multiple) {
314
- comboBoxProps = { ...comboBoxProps,
315
- onSelectedItemChange: changes => {
319
+ comboBoxProps = _objectSpread(_objectSpread({}, comboBoxProps), {}, {
320
+ onSelectedItemChange: function onSelectedItemChange(changes) {
316
321
  if (onOptionsChange) {
317
- const {
318
- selectedItem
319
- } = changes;
322
+ var selectedItem = changes.selectedItem;
320
323
  onOptionsChange({
321
324
  selectedItems: selectedItem ? [selectedItem] : []
322
325
  });
323
326
  }
324
327
  }
325
- };
328
+ });
326
329
 
327
330
  if (isControlled) {
328
- comboBoxProps = { ...comboBoxProps,
331
+ comboBoxProps = _objectSpread(_objectSpread({}, comboBoxProps), {}, {
329
332
  selectedItem: selectedOptions[0] || null
330
- };
333
+ });
331
334
  }
332
335
  }
333
336
 
334
337
  if (multiple) {
335
- placeholderText = typeof placeholderText !== 'undefined' ? placeholderText : `${selectedItems.length}/${options.length - disabledItems.length} selected`;
336
- comboBoxProps = { ...comboBoxProps,
338
+ placeholderText = typeof placeholderText !== 'undefined' ? placeholderText : "".concat(selectedItems.length, "/").concat(options.length - disabledItems.length, " selected");
339
+ comboBoxProps = _objectSpread(_objectSpread({}, comboBoxProps), {}, {
337
340
  selectedItem: null,
338
- stateReducer: (state, actionAndChanges) => {
339
- const {
340
- changes,
341
- type
342
- } = actionAndChanges;
341
+ stateReducer: function stateReducer(state, actionAndChanges) {
342
+ var changes = actionAndChanges.changes,
343
+ type = actionAndChanges.type;
343
344
 
344
345
  switch (type) {
345
346
  case useCombobox.stateChangeTypes.InputKeyDownArrowDown:
346
347
  case useCombobox.stateChangeTypes.InputKeyDownHome:
347
- return { ...changes,
348
+ return _objectSpread(_objectSpread({}, changes), {}, {
348
349
  highlightedIndex: findNextIndex({
349
350
  index: changes.highlightedIndex,
350
- availableItems,
351
- optionDisabled
351
+ availableItems: availableItems,
352
+ optionDisabled: optionDisabled
352
353
  })
353
- };
354
+ });
354
355
 
355
356
  case useCombobox.stateChangeTypes.InputKeyDownArrowUp:
356
357
  case useCombobox.stateChangeTypes.InputKeyDownEnd:
357
- return { ...changes,
358
+ return _objectSpread(_objectSpread({}, changes), {}, {
358
359
  highlightedIndex: findPrevIndex({
359
360
  index: changes.highlightedIndex,
360
- availableItems,
361
- optionDisabled
361
+ availableItems: availableItems,
362
+ optionDisabled: optionDisabled
362
363
  })
363
- };
364
+ });
364
365
 
365
366
  case useCombobox.stateChangeTypes.InputKeyDownEnter:
366
367
  case useCombobox.stateChangeTypes.ItemClick:
367
- return { ...changes,
368
+ return _objectSpread(_objectSpread({}, changes), {}, {
368
369
  isOpen: true,
369
370
  // keep menu open after selection.
370
371
  highlightedIndex: state.highlightedIndex,
371
- inputValue: '' // don't add the item string as input value at selection.
372
-
373
- };
372
+ inputValue: !clearSearchOnChange ? typedInputValue : ''
373
+ });
374
374
 
375
375
  case useCombobox.stateChangeTypes.InputBlur:
376
- return { ...changes,
377
- inputValue: '' // don't add the item string as input value at selection.
376
+ return _objectSpread(_objectSpread({}, changes), {}, {
377
+ inputValue: ''
378
+ });
378
379
 
379
- };
380
+ case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:
381
+ return _objectSpread(_objectSpread({}, changes), {}, {
382
+ inputValue: !clearSearchOnChange ? typedInputValue : changes.inputValue
383
+ });
380
384
 
381
385
  default:
382
386
  return changes;
383
387
  }
384
388
  }
385
- };
389
+ });
386
390
  }
387
391
 
388
- const {
389
- isOpen,
390
- getToggleButtonProps,
391
- getLabelProps,
392
- getMenuProps,
393
- getInputProps,
394
- getComboboxProps,
395
- highlightedIndex,
396
- getItemProps,
397
- openMenu,
398
- inputValue,
399
- reset: resetCombobox
400
- } = useCombobox(comboBoxProps);
401
- useEffect(() => {
392
+ var _useCombobox = useCombobox(comboBoxProps),
393
+ isOpen = _useCombobox.isOpen,
394
+ getToggleButtonProps = _useCombobox.getToggleButtonProps,
395
+ getLabelProps = _useCombobox.getLabelProps,
396
+ getMenuProps = _useCombobox.getMenuProps,
397
+ getInputProps = _useCombobox.getInputProps,
398
+ getComboboxProps = _useCombobox.getComboboxProps,
399
+ highlightedIndex = _useCombobox.highlightedIndex,
400
+ getItemProps = _useCombobox.getItemProps,
401
+ openMenu = _useCombobox.openMenu,
402
+ inputValue = _useCombobox.inputValue,
403
+ resetCombobox = _useCombobox.reset;
404
+
405
+ useEffect(function () {
402
406
  if (isControlled) {
403
407
  setSelectedItems(selectedOptions);
404
408
  }
405
409
  }, [isControlled, selectedOptions, setSelectedItems]);
406
410
 
407
- const openSelect = () => {
411
+ var openSelect = function openSelect() {
408
412
  if (!isOpen && !(disabled || readOnly)) {
409
413
  openMenu();
410
414
  }
411
415
  };
412
416
 
413
- const {
414
- x,
415
- y,
416
- refs,
417
- update,
418
- reference,
419
- floating,
420
- strategy
421
- } = useFloating({
417
+ var _useFloating = useFloating({
422
418
  placement: 'bottom-start',
423
419
  middleware: [offset(4), flip(), shift({
424
420
  padding: 8
425
421
  }), size({
426
- apply(_ref10) {
427
- let {
428
- rects,
429
- availableHeight,
430
- elements
431
- } = _ref10;
432
- const anchorWidth = `${rects.reference.width}px`;
422
+ apply: function apply(_ref10) {
423
+ var rects = _ref10.rects,
424
+ availableHeight = _ref10.availableHeight,
425
+ elements = _ref10.elements;
426
+ var anchorWidth = "".concat(rects.reference.width, "px");
433
427
  Object.assign(elements.floating.style, {
434
- width: `${autoWidth ? anchorWidth : 'auto'}`,
435
- maxHeight: `${availableHeight}px`
428
+ width: "".concat(autoWidth ? anchorWidth : 'auto'),
429
+ maxHeight: "".concat(availableHeight, "px")
436
430
  });
437
431
  },
438
-
439
432
  padding: 10
440
433
  })]
441
- });
442
- const {
443
- getFloatingProps
444
- } = useInteractions([]);
445
- useLayoutEffect(() => {
434
+ }),
435
+ x = _useFloating.x,
436
+ y = _useFloating.y,
437
+ refs = _useFloating.refs,
438
+ update = _useFloating.update,
439
+ reference = _useFloating.reference,
440
+ floating = _useFloating.floating,
441
+ strategy = _useFloating.strategy;
442
+
443
+ var _useInteractions = useInteractions([]),
444
+ getFloatingProps = _useInteractions.getFloatingProps;
445
+
446
+ useLayoutEffect(function () {
446
447
  reference(anchorRef.current);
447
448
  }, [anchorRef, reference]);
448
- useLayoutEffect(() => {
449
+ useLayoutEffect(function () {
449
450
  if (refs.reference.current && refs.floating.current && isOpen) {
450
451
  return autoUpdate(refs.reference.current, refs.floating.current, update);
451
452
  }
452
453
  }, [refs.reference, refs.floating, update, isOpen]);
453
454
 
454
- const clear = () => {
455
+ var clear = function clear() {
455
456
  resetCombobox();
456
457
  resetSelection();
458
+ setTypedInputValue('');
457
459
  };
458
460
 
459
- const showClearButton = (selectedItems.length > 0 || inputValue) && !readOnly && !hideClearButton;
460
- const selectedItemsLabels = useMemo(() => selectedItems.map(getLabel), [selectedItems, getLabel]);
461
-
462
- const optionsList = /*#__PURE__*/jsx("div", { ...getFloatingProps({
463
- ref: floating,
464
- style: {
465
- position: strategy,
466
- top: y || 0,
467
- left: x || 0,
468
- zIndex: 1400
469
- }
470
- }),
471
- children: /*#__PURE__*/jsx(StyledList, { ...getMenuProps({
472
- 'aria-multiselectable': multiple ? 'true' : null
473
- }, {
474
- suppressRefError: true
475
- }),
476
- children: !isOpen ? null : availableItems.map((item, index) => {
477
- const label = getLabel(item);
478
- const isDisabled = optionDisabled(item);
479
- const isSelected = selectedItemsLabels.includes(label);
480
- return /*#__PURE__*/jsx(AutocompleteOption, {
461
+ var showClearButton = (selectedItems.length > 0 || inputValue) && !readOnly && !hideClearButton;
462
+ var selectedItemsLabels = useMemo(function () {
463
+ return selectedItems.map(getLabel);
464
+ }, [selectedItems, getLabel]);
465
+
466
+ var optionsList = /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({}, getFloatingProps({
467
+ ref: floating,
468
+ style: {
469
+ position: strategy,
470
+ top: y || 0,
471
+ left: x || 0,
472
+ zIndex: 1400
473
+ }
474
+ })), {}, {
475
+ children: /*#__PURE__*/jsx(StyledList, _objectSpread(_objectSpread({}, getMenuProps({
476
+ 'aria-multiselectable': multiple ? 'true' : null
477
+ }, {
478
+ suppressRefError: true
479
+ })), {}, {
480
+ children: !isOpen ? null : availableItems.map(function (item, index) {
481
+ var label = getLabel(item);
482
+ var isDisabled = optionDisabled(item);
483
+ var isSelected = selectedItemsLabels.includes(label);
484
+ return /*#__PURE__*/jsx(AutocompleteOption, _objectSpread({
481
485
  value: label,
482
486
  multiple: multiple,
483
487
  highlighted: highlightedIndex === index && !isDisabled ? 'true' : 'false',
484
488
  isSelected: isSelected,
485
- isDisabled: isDisabled,
486
- ...getItemProps({
487
- item,
488
- index,
489
- disabled
490
- })
491
- }, label);
489
+ isDisabled: isDisabled
490
+ }, getItemProps({
491
+ item: item,
492
+ index: index,
493
+ disabled: disabled
494
+ })), label);
492
495
  })
493
- })
494
- });
496
+ }))
497
+ }));
495
498
 
496
499
  return /*#__PURE__*/jsx(ThemeProvider, {
497
500
  theme: token,
@@ -499,23 +502,27 @@ function AutocompleteInner(props, ref) {
499
502
  className: className,
500
503
  style: style,
501
504
  ref: ref,
502
- children: [/*#__PURE__*/jsx(Label, { ...getLabelProps(),
505
+ children: [/*#__PURE__*/jsx(Label, _objectSpread(_objectSpread({}, getLabelProps()), {}, {
503
506
  label: label,
504
507
  meta: meta,
505
508
  disabled: disabled
506
- }), /*#__PURE__*/jsxs(Container, { ...getComboboxProps(),
507
- children: [/*#__PURE__*/jsx(StyledInput, { ...getInputProps( // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
508
- getDropdownProps({
509
- preventKeyAction: multiple ? isOpen : undefined,
510
- disabled,
511
- ref: refs.reference
512
- })),
509
+ })), /*#__PURE__*/jsxs(Container, _objectSpread(_objectSpread({}, getComboboxProps()), {}, {
510
+ children: [/*#__PURE__*/jsx(StyledInput, _objectSpread(_objectSpread({}, getInputProps( // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
511
+ getDropdownProps({
512
+ preventKeyAction: multiple ? isOpen : undefined,
513
+ disabled: disabled,
514
+ ref: refs.reference,
515
+ onChange: function onChange(e) {
516
+ var _e$currentTarget;
517
+
518
+ return setTypedInputValue(e === null || e === void 0 ? void 0 : (_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 ? void 0 : _e$currentTarget.value);
519
+ }
520
+ }))), {}, {
513
521
  placeholder: placeholderText,
514
522
  readOnly: readOnly,
515
523
  onFocus: openSelect,
516
- onClick: openSelect,
517
- ...other
518
- }), showClearButton && /*#__PURE__*/jsx(StyledButton, {
524
+ onClick: openSelect
525
+ }, other)), showClearButton && /*#__PURE__*/jsx(StyledButton, {
519
526
  variant: "ghost_icon",
520
527
  disabled: disabled || readOnly,
521
528
  "aria-label": 'clear options',
@@ -528,18 +535,18 @@ function AutocompleteInner(props, ref) {
528
535
  data: close,
529
536
  size: 16
530
537
  })
531
- }), /*#__PURE__*/jsx(StyledButton, {
532
- variant: "ghost_icon",
533
- ...getToggleButtonProps({
534
- disabled: disabled || readOnly
535
- }),
538
+ }), /*#__PURE__*/jsx(StyledButton, _objectSpread(_objectSpread({
539
+ variant: "ghost_icon"
540
+ }, getToggleButtonProps({
541
+ disabled: disabled || readOnly
542
+ })), {}, {
536
543
  "aria-label": 'toggle options',
537
544
  title: "open",
538
545
  children: !readOnly && /*#__PURE__*/jsx(Icon, {
539
546
  data: isOpen ? arrow_drop_up : arrow_drop_down
540
547
  })
541
- })]
542
- }), disablePortal ? optionsList : /*#__PURE__*/jsx(FloatingPortal, {
548
+ }))]
549
+ })), disablePortal ? optionsList : /*#__PURE__*/jsx(FloatingPortal, {
543
550
  id: "eds-autocomplete-container",
544
551
  children: optionsList
545
552
  })]
@@ -547,6 +554,6 @@ function AutocompleteInner(props, ref) {
547
554
  });
548
555
  }
549
556
 
550
- const Autocomplete = /*#__PURE__*/forwardRef(AutocompleteInner);
557
+ var Autocomplete = /*#__PURE__*/forwardRef(AutocompleteInner);
551
558
 
552
559
  export { Autocomplete };