@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 _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
4
1
  import { forwardRef, useState, useEffect, useRef, useCallback } from 'react';
5
2
  import styled, { css } from 'styled-components';
6
3
  import { slider } from './Slider.tokens.js';
@@ -10,157 +7,146 @@ import { SliderInput } from './SliderInput.js';
10
7
  import { bordersTemplate, useId } from '@equinor/eds-utils';
11
8
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
12
9
 
13
- var _excluded = ["min", "max", "value", "outputFunction", "onChange", "onChangeCommitted", "minMaxDots", "minMaxValues", "labelAlwaysOn", "step", "disabled", "hideActiveTrack", "ariaLabelledby", "aria-labelledby"];
14
- var _tokens$entities = slider.entities,
15
- track = _tokens$entities.track,
16
- handle = _tokens$entities.handle,
17
- dot = _tokens$entities.dot;
18
- var fakeTrackBg = css(["background-image:url(\"data:image/svg+xml,<svg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'><rect x='0' y='11' fill='", "' width='100%' height='4' rx='2' /></svg>\");background-size:cover;background-repeat:no-repeat;"], track.background);
19
- var fakeTrackBgHover = css({
20
- backgroundImage: "url(\"data:image/svg+xml,<svg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'><rect x='0' y='11' fill='".concat(track.states.hover.background, "' width='100%' height='4' rx='2' /></svg>\")")
10
+ const {
11
+ entities: {
12
+ track,
13
+ handle,
14
+ dot,
15
+ output
16
+ }
17
+ } = slider;
18
+ const fakeTrackBg = css(["background-image:url(\"data:image/svg+xml,<svg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'><rect x='0' y='11' fill='", "' width='100%' height='4' rx='2' /></svg>\");background-size:cover;background-repeat:no-repeat;"], track.background);
19
+ const fakeTrackBgHover = css({
20
+ backgroundImage: `url("data:image/svg+xml,<svg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'><rect x='0' y='11' fill='${track.states.hover.background}' width='100%' height='4' rx='2' /></svg>")`
21
21
  });
22
- var trackFill = css(["grid-column:1 / span 2;grid-row:2;height:", ";margin-bottom:", ";align-self:end;content:'';"], track.height, track.spacings.bottom);
23
- var wrapperGrid = css(["display:grid;grid-template-rows:max-content 24px;grid-template-columns:1fr 1fr;width:100%;position:relative;"]);
24
- var RangeWrapper = styled.div.attrs(function (_ref) {
25
- var $min = _ref.$min,
26
- $max = _ref.$max,
27
- $valA = _ref.$valA,
28
- $valB = _ref.$valB,
29
- $disabled = _ref.$disabled,
30
- $hideActiveTrack = _ref.$hideActiveTrack,
31
- $labelAlwaysOn = _ref.$labelAlwaysOn,
32
- style = _ref.style;
33
- return {
34
- 'data-disabled': $disabled ? true : null,
35
- style: _objectSpread({
36
- '--a': $valA,
37
- '--b': $valB,
38
- '--min': $min,
39
- '--max': $max,
40
- '--showTooltip': $labelAlwaysOn ? 1 : 0,
41
- '--background': $disabled ? track.entities.indicator.states.disabled.background : $hideActiveTrack ? 'transparent' : track.entities.indicator.background,
42
- '--background-hover': $hideActiveTrack ? 'transparent' : track.entities.indicator.states.hover.background
43
- }, style)
44
- };
45
- }).withConfig({
22
+ const trackFill = css(["grid-column:1 / span 2;grid-row:2;height:", ";margin-bottom:", ";align-self:end;content:'';"], track.height, track.spacings.bottom);
23
+ const wrapperGrid = css(["display:grid;grid-template-rows:max-content 24px;grid-template-columns:1fr 1fr;width:100%;position:relative;"]);
24
+ const RangeWrapper = styled.div.attrs(({
25
+ $min,
26
+ $max,
27
+ $valA,
28
+ $valB,
29
+ $disabled,
30
+ $hideActiveTrack,
31
+ $labelAlwaysOn,
32
+ style
33
+ }) => ({
34
+ 'data-disabled': $disabled ? true : null,
35
+ style: {
36
+ '--a': $valA,
37
+ '--b': $valB,
38
+ '--min': $min,
39
+ '--max': $max,
40
+ '--showTooltip': $labelAlwaysOn ? 1 : 0,
41
+ '--background': $disabled ? track.entities.indicator.states.disabled.background : $hideActiveTrack ? 'transparent' : track.entities.indicator.background,
42
+ '--background-hover': $hideActiveTrack ? 'transparent' : track.entities.indicator.states.hover.background,
43
+ ...style
44
+ }
45
+ })).withConfig({
46
46
  displayName: "Slider__RangeWrapper",
47
47
  componentId: "sc-n1grrg-0"
48
- })(["--dif:calc(var(--max) - var(--min));--realWidth:calc(100% - 12px);", " ", " &::before,&::after{", ";background:var(--background);}&::before{margin-left:calc( calc(", " / 2) + (var(--a) - var(--min)) / var(--dif) * var(--realWidth) );width:calc((var(--b) - var(--a)) / var(--dif) * var(--realWidth));}&::after{margin-left:calc( calc(", " / 2) + (var(--b) - var(--min)) / var(--dif) * var(--realWidth) );width:calc((var(--a) - var(--b)) / var(--dif) * var(--realWidth));}&:where(:hover,:has(:focus-visible)){> output{--showTooltip:1;}}@media (hover:hover) and (pointer:fine){&:hover:not([data-disabled]){", " &::before,&::after{background:var(--background-hover);}}}", ";"], wrapperGrid, fakeTrackBg, trackFill, handle.width, handle.width, fakeTrackBgHover, function (_ref2) {
49
- var $touchNavigation = _ref2.$touchNavigation;
50
- return $touchNavigation && css(["& > input[type='range']{pointer-events:none;}& > input[type='range']::-webkit-slider-thumb{pointer-events:auto;}& > input[type='range']::-moz-range-thumb{pointer-events:auto;}"]);
51
- });
52
- var Wrapper = styled.div.attrs(function (_ref3) {
53
- var $min = _ref3.$min,
54
- $max = _ref3.$max,
55
- value = _ref3.value,
56
- disabled = _ref3.disabled,
57
- $hideActiveTrack = _ref3.$hideActiveTrack,
58
- $labelAlwaysOn = _ref3.$labelAlwaysOn,
59
- style = _ref3.style;
60
- return {
61
- style: _objectSpread({
62
- '--min': $min,
63
- '--max': $max,
64
- '--value': value,
65
- '--showTooltip': $labelAlwaysOn ? 1 : 0,
66
- '--background': disabled ? track.entities.indicator.states.disabled.background : $hideActiveTrack ? 'transparent' : track.entities.indicator.background,
67
- '--background-hover': $hideActiveTrack ? 'transparent' : track.entities.indicator.states.hover.background
68
- }, style)
69
- };
70
- }).withConfig({
48
+ })(["--dif:calc(var(--max) - var(--min));--realWidth:calc(100% - 12px);", " ", " &::before,&::after{", ";background:var(--background);}&::before{margin-left:calc( calc(", " / 2) + (var(--a) - var(--min)) / var(--dif) * var(--realWidth) );width:calc((var(--b) - var(--a)) / var(--dif) * var(--realWidth));}&::after{margin-left:calc( calc(", " / 2) + (var(--b) - var(--min)) / var(--dif) * var(--realWidth) );width:calc((var(--a) - var(--b)) / var(--dif) * var(--realWidth));}&:has(:focus-visible),&:hover{& > output{--showTooltip:1;--tooltip-background:", ";}}@media (hover:hover) and (pointer:fine){&:hover:not([data-disabled]){", " &::before,&::after{background:var(--background-hover);}}}", ";", ";"], wrapperGrid, fakeTrackBg, trackFill, handle.width, handle.width, output.states.hover.background, fakeTrackBgHover, ({
49
+ $touchNavigation
50
+ }) => $touchNavigation && css(["& > input[type='range']{pointer-events:none;}& > input[type='range']::-webkit-slider-thumb{pointer-events:auto;}& > input[type='range']::-moz-range-thumb{pointer-events:auto;}"]), ({
51
+ $labelBelow
52
+ }) => $labelBelow && css(["& > output{top:calc(100% + 1px);bottom:unset;}"]));
53
+ const Wrapper = styled.div.attrs(({
54
+ $min,
55
+ $max,
56
+ value,
57
+ $disabled,
58
+ $hideActiveTrack,
59
+ $labelAlwaysOn,
60
+ style
61
+ }) => ({
62
+ 'data-disabled': $disabled ? true : null,
63
+ style: {
64
+ '--min': $min,
65
+ '--max': $max,
66
+ '--value': value,
67
+ '--showTooltip': $labelAlwaysOn ? 1 : 0,
68
+ '--background': $disabled ? track.entities.indicator.states.disabled.background : $hideActiveTrack ? 'transparent' : track.entities.indicator.background,
69
+ '--background-hover': $hideActiveTrack ? 'transparent' : track.entities.indicator.states.hover.background,
70
+ ...style
71
+ }
72
+ })).withConfig({
71
73
  displayName: "Slider__Wrapper",
72
74
  componentId: "sc-n1grrg-1"
73
- })(["--dif:calc(var(--max) - var(--min));--realWidth:calc(100% - 12px);", " ", " &::after{", " background:var(--background)}&::after{margin-right:calc( (var(--max) - var(--value)) / var(--dif) * var(--realWidth) );margin-left:3px;}&:where(:hover,:has(:focus-visible)){> output{--showTooltip:1;}}@media (hover:hover) and (pointer:fine){&:hover:not([disabled]){", " &::after{background:var(--background-hover);}}}"], wrapperGrid, fakeTrackBg, trackFill, fakeTrackBgHover);
74
- var WrapperGroupLabel = styled.div.withConfig({
75
+ })(["--dif:calc(var(--max) - var(--min));--realWidth:calc(100% - 12px);", " ", " &::after{", " background:var(--background)}&::after{margin-right:calc( (var(--max) - var(--value)) / var(--dif) * var(--realWidth) );margin-left:3px;}&:has(:focus-visible),&:hover{& > output{--showTooltip:1;--tooltip-background:", ";}}@media (hover:hover) and (pointer:fine){&:hover:not([data-disabled]){", " &::after{background:var(--background-hover);}}", ";}"], wrapperGrid, fakeTrackBg, trackFill, output.states.hover.background, fakeTrackBgHover, ({
76
+ $labelBelow
77
+ }) => $labelBelow && css(["& > output{top:calc(100% + 1px);bottom:unset;}"]));
78
+ const WrapperGroupLabel = styled.div.withConfig({
75
79
  displayName: "Slider__WrapperGroupLabel",
76
80
  componentId: "sc-n1grrg-2"
77
81
  })(["grid-row:1;grid-column:1 / 3;"]);
78
- var WrapperGroupLabelDots = styled(WrapperGroupLabel).withConfig({
82
+ const WrapperGroupLabelDots = styled(WrapperGroupLabel).withConfig({
79
83
  displayName: "Slider__WrapperGroupLabelDots",
80
84
  componentId: "sc-n1grrg-3"
81
85
  })(["&:before,&:after{content:' ';display:block;position:absolute;width:", ";height:", ";background:", ";", ";bottom:", ";left:0;}&:after{right:0;left:auto;}"], dot.width, dot.height, slider.background, bordersTemplate(dot.border), dot.spacings.bottom);
82
- var SrOnlyLabel = styled.label.withConfig({
86
+ const SrOnlyLabel = styled.label.withConfig({
83
87
  displayName: "Slider__SrOnlyLabel",
84
88
  componentId: "sc-n1grrg-4"
85
89
  })(["position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;"]);
86
- var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
87
- var _ref4$min = _ref4.min,
88
- min = _ref4$min === void 0 ? 0 : _ref4$min,
89
- _ref4$max = _ref4.max,
90
- max = _ref4$max === void 0 ? 100 : _ref4$max,
91
- _ref4$value = _ref4.value,
92
- value = _ref4$value === void 0 ? [40, 60] : _ref4$value,
93
- outputFunction = _ref4.outputFunction,
94
- onChange = _ref4.onChange,
95
- onChangeCommitted = _ref4.onChangeCommitted,
96
- _ref4$minMaxDots = _ref4.minMaxDots,
97
- minMaxDots = _ref4$minMaxDots === void 0 ? true : _ref4$minMaxDots,
98
- _ref4$minMaxValues = _ref4.minMaxValues,
99
- minMaxValues = _ref4$minMaxValues === void 0 ? true : _ref4$minMaxValues,
100
- labelAlwaysOn = _ref4.labelAlwaysOn,
101
- _ref4$step = _ref4.step,
102
- step = _ref4$step === void 0 ? 1 : _ref4$step,
103
- disabled = _ref4.disabled,
104
- hideActiveTrack = _ref4.hideActiveTrack,
105
- ariaLabelledby = _ref4.ariaLabelledby,
106
- ariaLabelledbyNative = _ref4['aria-labelledby'],
107
- rest = _objectWithoutProperties(_ref4, _excluded);
108
- var isNumber = !Array.isArray(value);
109
- var isRangeSlider = !isNumber && value.length === 2;
110
- var parsedValue = isNumber ? [value] : value;
111
- var _useState = useState(parsedValue),
112
- _useState2 = _slicedToArray(_useState, 2),
113
- initalValue = _useState2[0],
114
- setInitalValue = _useState2[1];
115
- var _useState3 = useState(parsedValue),
116
- _useState4 = _slicedToArray(_useState3, 2),
117
- sliderValue = _useState4[0],
118
- setSliderValue = _useState4[1];
119
- var _useState5 = useState(false),
120
- _useState6 = _slicedToArray(_useState5, 2),
121
- mousePressed = _useState6[0],
122
- setMousePressed = _useState6[1];
123
- var _useState7 = useState(false),
124
- _useState8 = _slicedToArray(_useState7, 2),
125
- touchNavigation = _useState8[0],
126
- setTouchNavigation = _useState8[1];
127
- useEffect(function () {
90
+ const Slider = /*#__PURE__*/forwardRef(function Slider({
91
+ min = 0,
92
+ max = 100,
93
+ value = [40, 60],
94
+ outputFunction,
95
+ onChange,
96
+ onChangeCommitted,
97
+ minMaxDots = true,
98
+ minMaxValues = true,
99
+ labelAlwaysOn,
100
+ labelBelow,
101
+ step = 1,
102
+ disabled,
103
+ hideActiveTrack,
104
+ ariaLabelledby,
105
+ 'aria-labelledby': ariaLabelledbyNative,
106
+ ...rest
107
+ }, ref) {
108
+ const isNumber = !Array.isArray(value);
109
+ const isRangeSlider = !isNumber && value.length === 2;
110
+ const parsedValue = isNumber ? [value] : value;
111
+ const [initalValue, setInitalValue] = useState(parsedValue);
112
+ const [sliderValue, setSliderValue] = useState(parsedValue);
113
+ const [mousePressed, setMousePressed] = useState(false);
114
+ const [touchNavigation, setTouchNavigation] = useState(false);
115
+ useEffect(() => {
128
116
  if (isRangeSlider) {
129
117
  if (value[0] !== initalValue[0] || value[1] !== initalValue[1]) {
130
118
  setInitalValue(value);
131
119
  setSliderValue(value);
132
120
  }
133
121
  } else {
134
- var numberValue = Number(value);
122
+ const numberValue = Number(value);
135
123
  if (numberValue !== initalValue[0]) {
136
124
  setInitalValue([numberValue]);
137
125
  setSliderValue([numberValue]);
138
126
  }
139
127
  }
140
128
  }, [value, initalValue, isRangeSlider]);
141
- var minRange = useRef(null);
142
- var maxRange = useRef(null);
143
- var onValueChange = function onValueChange(event, valueArrIdx) {
144
- var changedValue = parseFloat(event.target.value);
129
+ const minRange = useRef(null);
130
+ const maxRange = useRef(null);
131
+ const onValueChange = (event, valueArrIdx) => {
132
+ const changedValue = parseFloat(event.target.value);
145
133
  if (isRangeSlider) {
146
- var _newValue = sliderValue.slice();
147
- _newValue[valueArrIdx] = changedValue;
134
+ const newValue = sliderValue.slice();
135
+ newValue[valueArrIdx] = changedValue;
148
136
 
149
137
  //Prevent min/max values from crossing eachother
150
- if (valueArrIdx === 0 && _newValue[0] >= _newValue[1]) {
151
- var _maxRange$current;
152
- _newValue[0] = _newValue[1];
153
- (_maxRange$current = maxRange.current) === null || _maxRange$current === void 0 || _maxRange$current.focus();
138
+ if (valueArrIdx === 0 && newValue[0] >= newValue[1]) {
139
+ newValue[0] = newValue[1];
140
+ maxRange.current?.focus();
154
141
  }
155
- if (valueArrIdx === 1 && _newValue[1] <= _newValue[0]) {
156
- var _minRange$current;
157
- _newValue[1] = _newValue[0];
158
- (_minRange$current = minRange.current) === null || _minRange$current === void 0 || _minRange$current.focus();
142
+ if (valueArrIdx === 1 && newValue[1] <= newValue[0]) {
143
+ newValue[1] = newValue[0];
144
+ minRange.current?.focus();
159
145
  }
160
- setSliderValue(_newValue);
146
+ setSliderValue(newValue);
161
147
  if (onChange) {
162
148
  // Callback for provided onChange func
163
- onChange(event, _newValue);
149
+ onChange(event, newValue);
164
150
  }
165
151
  return;
166
152
  }
@@ -170,25 +156,25 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
170
156
  onChange(event, [changedValue]);
171
157
  }
172
158
  };
173
- var handleKeyUp = function handleKeyUp(event) {
159
+ const handleKeyUp = event => {
174
160
  if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
175
161
  handleCommitedValue(event);
176
162
  }
177
163
  };
178
- var handleCommitedValue = function handleCommitedValue(event) {
164
+ const handleCommitedValue = event => {
179
165
  if (onChangeCommitted) {
180
166
  onChangeCommitted(event, sliderValue);
181
167
  }
182
168
  };
183
- var getFormattedText = function getFormattedText(text) {
169
+ const getFormattedText = text => {
184
170
  return outputFunction ? outputFunction(text) : text;
185
171
  };
186
- var findClosestRange = function findClosestRange(event) {
187
- var target = event.target;
172
+ const findClosestRange = event => {
173
+ const target = event.target;
188
174
  if (target.type === 'output' || mousePressed) {
189
175
  return;
190
176
  }
191
- var clientX;
177
+ let clientX;
192
178
  if (event.type === 'touchstart') {
193
179
  clientX = event.targetTouches[0].clientX;
194
180
  setTouchNavigation(true);
@@ -196,15 +182,15 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
196
182
  clientX = event.clientX;
197
183
  setTouchNavigation(false);
198
184
  }
199
- var bounds = target.getBoundingClientRect();
200
- var x = clientX - bounds.left;
201
- var inputWidth = minRange.current.offsetWidth;
202
- var minValue = parseFloat(minRange.current.value);
203
- var maxValue = parseFloat(maxRange.current.value);
204
- var diff = max - min;
205
- var normX = x / inputWidth * diff + min;
206
- var maxX = Math.abs(normX - maxValue);
207
- var minX = Math.abs(normX - minValue);
185
+ const bounds = target.getBoundingClientRect();
186
+ const x = clientX - bounds.left;
187
+ const inputWidth = minRange.current.offsetWidth;
188
+ const minValue = parseFloat(minRange.current.value);
189
+ const maxValue = parseFloat(maxRange.current.value);
190
+ const diff = max - min;
191
+ const normX = x / inputWidth * diff + min;
192
+ const maxX = Math.abs(normX - maxValue);
193
+ const minX = Math.abs(normX - minValue);
208
194
  if (minX > maxX) {
209
195
  minRange.current.style.zIndex = '10';
210
196
  maxRange.current.style.zIndex = '20';
@@ -222,29 +208,30 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
222
208
  maxRange.current.style.zIndex = '10';
223
209
  }
224
210
  };
225
- var handleDragging = function handleDragging(type) {
211
+ const handleDragging = type => {
226
212
  if (type === 'mousedown' || type === 'touchmove') {
227
213
  setMousePressed(true);
228
214
  } else {
229
215
  setMousePressed(false);
230
216
  }
231
217
  };
232
- var inputIdA = useId(null, 'inputA');
233
- var inputIdB = useId(null, 'inputB');
234
- var inputId = useId(null, 'thumb');
218
+ let inputIdA = useId(null, 'inputA');
219
+ let inputIdB = useId(null, 'inputB');
220
+ let inputId = useId(null, 'thumb');
235
221
  if (rest['id']) {
236
- var overrideId = rest['id'];
237
- inputIdA = "".concat(overrideId, "-thumb-a");
238
- inputIdB = "".concat(overrideId, "-thumb-b");
239
- inputId = "".concat(overrideId, "-thumb");
222
+ const overrideId = rest['id'];
223
+ inputIdA = `${overrideId}-thumb-a`;
224
+ inputIdB = `${overrideId}-thumb-b`;
225
+ inputId = `${overrideId}-thumb`;
240
226
  }
241
- var getAriaLabelledby = useCallback(function () {
227
+ const getAriaLabelledby = useCallback(() => {
242
228
  if (ariaLabelledbyNative) return ariaLabelledbyNative;
243
229
  if (ariaLabelledby) return ariaLabelledby;
244
230
  return null;
245
231
  }, [ariaLabelledbyNative, ariaLabelledby]);
246
232
  return /*#__PURE__*/jsx(Fragment, {
247
- children: isRangeSlider ? /*#__PURE__*/jsxs(RangeWrapper, _objectSpread(_objectSpread({}, rest), {}, {
233
+ children: isRangeSlider ? /*#__PURE__*/jsxs(RangeWrapper, {
234
+ ...rest,
248
235
  ref: ref,
249
236
  role: "group",
250
237
  "aria-labelledby": getAriaLabelledby(),
@@ -255,21 +242,14 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
255
242
  $disabled: disabled,
256
243
  $hideActiveTrack: hideActiveTrack,
257
244
  $labelAlwaysOn: labelAlwaysOn || touchNavigation,
245
+ $labelBelow: labelBelow,
258
246
  $touchNavigation: touchNavigation,
259
247
  onMouseMove: findClosestRange,
260
248
  onTouchStartCapture: findClosestRange,
261
- onTouchEnd: function onTouchEnd(e) {
262
- return handleDragging(e.type);
263
- },
264
- onTouchMove: function onTouchMove(e) {
265
- return handleDragging(e.type);
266
- },
267
- onMouseDown: function onMouseDown(e) {
268
- return handleDragging(e.type);
269
- },
270
- onMouseUp: function onMouseUp(e) {
271
- return handleDragging(e.type);
272
- },
249
+ onTouchEnd: e => handleDragging(e.type),
250
+ onTouchMove: e => handleDragging(e.type),
251
+ onMouseDown: e => handleDragging(e.type),
252
+ onMouseUp: e => handleDragging(e.type),
273
253
  children: [minMaxDots && /*#__PURE__*/jsx(WrapperGroupLabelDots, {}), /*#__PURE__*/jsx(SrOnlyLabel, {
274
254
  htmlFor: inputIdA,
275
255
  children: "Value A"
@@ -285,15 +265,12 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
285
265
  "aria-valuetext": getFormattedText(sliderValue[0]).toString(),
286
266
  id: inputIdA,
287
267
  step: step,
288
- onChange: function onChange(event) {
268
+ onChange: event => {
289
269
  onValueChange(event, 0);
290
270
  },
291
- onMouseUp: function onMouseUp(event) {
292
- return handleCommitedValue(event);
293
- },
294
- onKeyUp: function onKeyUp(event) {
295
- return handleKeyUp(event);
296
- },
271
+ onMouseUp: event => handleCommitedValue(event),
272
+ onTouchEnd: event => handleCommitedValue(event),
273
+ onKeyUp: event => handleKeyUp(event),
297
274
  disabled: disabled
298
275
  }), /*#__PURE__*/jsx(Output, {
299
276
  htmlFor: inputIdA,
@@ -316,15 +293,12 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
316
293
  id: inputIdB,
317
294
  step: step,
318
295
  ref: maxRange,
319
- onChange: function onChange(event) {
296
+ onChange: event => {
320
297
  onValueChange(event, 1);
321
298
  },
322
- onMouseUp: function onMouseUp(event) {
323
- return handleCommitedValue(event);
324
- },
325
- onKeyUp: function onKeyUp(event) {
326
- return handleKeyUp(event);
327
- },
299
+ onMouseUp: event => handleCommitedValue(event),
300
+ onTouchEnd: event => handleCommitedValue(event),
301
+ onKeyUp: event => handleKeyUp(event),
328
302
  disabled: disabled
329
303
  }), /*#__PURE__*/jsx(Output, {
330
304
  htmlFor: inputIdB,
@@ -333,20 +307,18 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
333
307
  }), minMaxValues && /*#__PURE__*/jsx(MinMax, {
334
308
  children: getFormattedText(max)
335
309
  })]
336
- })) : /*#__PURE__*/jsxs(Wrapper, _objectSpread(_objectSpread({}, rest), {}, {
310
+ }) : /*#__PURE__*/jsxs(Wrapper, {
311
+ ...rest,
337
312
  ref: ref,
338
313
  $max: max,
339
314
  $min: min,
340
315
  value: sliderValue[0],
341
- disabled: disabled,
316
+ $disabled: disabled,
342
317
  $hideActiveTrack: hideActiveTrack,
343
318
  $labelAlwaysOn: labelAlwaysOn || touchNavigation,
344
- onTouchStartCapture: function onTouchStartCapture() {
345
- return setTouchNavigation(true);
346
- },
347
- onMouseDownCapture: function onMouseDownCapture() {
348
- return setTouchNavigation(false);
349
- },
319
+ $labelBelow: labelBelow,
320
+ onTouchStartCapture: () => setTouchNavigation(true),
321
+ onMouseDownCapture: () => setTouchNavigation(false),
350
322
  children: [/*#__PURE__*/jsx(SliderInput, {
351
323
  type: "range",
352
324
  value: sliderValue[0],
@@ -358,17 +330,14 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
358
330
  "aria-valuetext": getFormattedText(sliderValue[0]).toString(),
359
331
  step: step,
360
332
  id: inputId,
361
- onChange: function onChange(event) {
333
+ onChange: event => {
362
334
  onValueChange(event);
363
335
  },
364
336
  disabled: disabled,
365
337
  "aria-labelledby": getAriaLabelledby(),
366
- onMouseUp: function onMouseUp(event) {
367
- return handleCommitedValue(event);
368
- },
369
- onKeyUp: function onKeyUp(event) {
370
- return handleKeyUp(event);
371
- }
338
+ onMouseUp: event => handleCommitedValue(event),
339
+ onKeyUp: event => handleKeyUp(event),
340
+ onTouchEnd: event => handleCommitedValue(event)
372
341
  }), /*#__PURE__*/jsx(Output, {
373
342
  htmlFor: inputId,
374
343
  value: sliderValue[0],
@@ -380,7 +349,7 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref4, ref) {
380
349
  children: getFormattedText(max)
381
350
  })]
382
351
  })]
383
- }))
352
+ })
384
353
  });
385
354
  });
386
355
 
@@ -1,22 +1,57 @@
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
- _tokens$colors$ui = _tokens$colors.ui,
6
- backgroundColor = _tokens$colors$ui.background__light.rgba,
7
- backgroundColorDefault = _tokens$colors$ui.background__default.rgba,
8
- backgroundColorMedium = _tokens$colors$ui.background__medium.rgba,
9
- _tokens$colors$intera = _tokens$colors.interactive,
10
- indicatorColor = _tokens$colors$intera.primary__resting.rgba,
11
- primaryHoverAlt = _tokens$colors$intera.primary__hover_alt.rgba,
12
- primaryHover = _tokens$colors$intera.primary__hover.rgba,
13
- focusOutlineColor = _tokens$colors$intera.focus.rgba,
14
- backgroundColorDisabled = _tokens$colors$intera.disabled__fill.rgba,
15
- backgroundBorderDisabled = _tokens$colors$intera.disabled__border.rgba,
16
- textColor = _tokens$colors.text.static_icons__tertiary.rgba,
17
- paragraph = tokens.typography.paragraph,
18
- focusOutlineWidth = tokens.interactions.focused.width;
19
- var slider = {
3
+ const {
4
+ colors: {
5
+ ui: {
6
+ background__light: {
7
+ rgba: backgroundColor
8
+ },
9
+ background__default: {
10
+ rgba: backgroundColorDefault
11
+ },
12
+ background__medium: {
13
+ rgba: backgroundColorMedium
14
+ }
15
+ },
16
+ interactive: {
17
+ primary__resting: {
18
+ rgba: indicatorColor
19
+ },
20
+ primary__hover_alt: {
21
+ rgba: primaryHoverAlt
22
+ },
23
+ primary__hover: {
24
+ rgba: primaryHover
25
+ },
26
+ focus: {
27
+ rgba: focusOutlineColor
28
+ },
29
+ disabled__fill: {
30
+ rgba: backgroundColorDisabled
31
+ },
32
+ disabled__text: {
33
+ rgba: textColorDisabled
34
+ },
35
+ disabled__border: {
36
+ rgba: backgroundBorderDisabled
37
+ }
38
+ },
39
+ text: {
40
+ static_icons__tertiary: {
41
+ rgba: textColor
42
+ }
43
+ }
44
+ },
45
+ typography: {
46
+ paragraph
47
+ },
48
+ interactions: {
49
+ focused: {
50
+ width: focusOutlineWidth
51
+ }
52
+ }
53
+ } = tokens;
54
+ const slider = {
20
55
  background: backgroundColorDefault,
21
56
  entities: {
22
57
  track: {
@@ -46,9 +81,22 @@ var slider = {
46
81
  }
47
82
  },
48
83
  output: {
49
- typography: _objectSpread(_objectSpread({}, paragraph.caption), {}, {
84
+ background: indicatorColor,
85
+ typography: {
86
+ ...paragraph.caption,
50
87
  color: textColor
51
- })
88
+ },
89
+ states: {
90
+ hover: {
91
+ background: primaryHover
92
+ },
93
+ disabled: {
94
+ background: backgroundColorDisabled,
95
+ typography: {
96
+ color: textColorDisabled
97
+ }
98
+ }
99
+ }
52
100
  },
53
101
  handle: {
54
102
  background: backgroundColorDefault,