@equinor/eds-core-react 0.18.0-envis.1 → 0.19.0-dev.20220404

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 (194) hide show
  1. package/dist/eds-core-react.cjs.js +2321 -1964
  2. package/dist/esm/components/Accordion/Accordion.js +9 -9
  3. package/dist/esm/components/Accordion/Accordion.tokens.js +6 -1
  4. package/dist/esm/components/Accordion/AccordionHeader.js +61 -49
  5. package/dist/esm/components/Accordion/AccordionHeaderTitle.js +12 -10
  6. package/dist/esm/components/Accordion/AccordionItem.js +11 -10
  7. package/dist/esm/components/Accordion/AccordionPanel.js +22 -18
  8. package/dist/esm/components/Avatar/Avatar.js +21 -14
  9. package/dist/esm/components/Banner/Banner.js +12 -11
  10. package/dist/esm/components/Banner/BannerActions.js +11 -9
  11. package/dist/esm/components/Banner/BannerIcon.js +12 -10
  12. package/dist/esm/components/Banner/BannerMessage.js +5 -4
  13. package/dist/esm/components/Breadcrumbs/Breadcrumb.js +16 -12
  14. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +7 -6
  15. package/dist/esm/components/Button/Button.js +17 -18
  16. package/dist/esm/components/Button/InnerFullWidth.js +5 -4
  17. package/dist/esm/components/Button/tokens/button.js +15 -25
  18. package/dist/esm/components/Button/tokens/contained.js +5 -5
  19. package/dist/esm/components/Button/tokens/ghost.js +4 -4
  20. package/dist/esm/components/Button/tokens/icon.js +11 -6
  21. package/dist/esm/components/Button/tokens/outlined.js +5 -5
  22. package/dist/esm/components/Card/Card.js +19 -12
  23. package/dist/esm/components/Card/CardActions.js +13 -9
  24. package/dist/esm/components/Card/CardContent.js +5 -4
  25. package/dist/esm/components/Card/CardHeader.js +5 -4
  26. package/dist/esm/components/Card/CardHeaderTitle.js +5 -4
  27. package/dist/esm/components/Card/CardMedia.js +12 -8
  28. package/dist/esm/components/Checkbox/Checkbox.js +15 -11
  29. package/dist/esm/components/Checkbox/Checkbox.tokens.js +9 -4
  30. package/dist/esm/components/Checkbox/Input.js +72 -46
  31. package/dist/esm/components/Chip/Chip.js +46 -30
  32. package/dist/esm/components/Chip/Chip.tokens.js +7 -2
  33. package/dist/esm/components/Chip/Icon.js +12 -7
  34. package/dist/esm/components/Dialog/Dialog.js +44 -20
  35. package/dist/esm/components/Dialog/Dialog.tokens.js +4 -12
  36. package/dist/esm/components/Dialog/DialogActions.js +27 -0
  37. package/dist/esm/components/Dialog/DialogContent.js +44 -0
  38. package/dist/esm/components/Dialog/DialogHeader.js +37 -0
  39. package/dist/esm/components/Dialog/DialogTitle.js +31 -0
  40. package/dist/esm/components/Dialog/index.js +11 -7
  41. package/dist/esm/components/Divider/Divider.js +6 -5
  42. package/dist/esm/components/EdsProvider/eds.context.js +5 -4
  43. package/dist/esm/components/Icon/Icon.js +77 -46
  44. package/dist/esm/components/Input/Input.js +12 -12
  45. package/dist/esm/components/Input/Input.tokens.js +4 -4
  46. package/dist/esm/components/Label/Label.js +7 -4
  47. package/dist/esm/components/List/List.js +13 -9
  48. package/dist/esm/components/List/ListItem.js +5 -4
  49. package/dist/esm/components/Menu/Menu.context.js +16 -4
  50. package/dist/esm/components/Menu/Menu.js +71 -30
  51. package/dist/esm/components/Menu/MenuItem.js +38 -25
  52. package/dist/esm/components/Menu/MenuList.js +18 -11
  53. package/dist/esm/components/Menu/MenuSection.js +1 -1
  54. package/dist/esm/components/Pagination/Pagination.js +16 -12
  55. package/dist/esm/components/Pagination/PaginationItem.js +7 -6
  56. package/dist/esm/components/Paper/Paper.js +11 -7
  57. package/dist/esm/components/Popover/Popover.js +43 -50
  58. package/dist/esm/components/Popover/Popover.tokens.js +2 -12
  59. package/dist/esm/components/Popover/PopoverActions.js +28 -0
  60. package/dist/esm/components/Popover/PopoverContent.js +12 -6
  61. package/dist/esm/components/Popover/PopoverHeader.js +36 -0
  62. package/dist/esm/components/Popover/PopoverTitle.js +13 -24
  63. package/dist/esm/components/Popover/index.js +6 -0
  64. package/dist/esm/components/Progress/Circular/CircularProgress.js +14 -10
  65. package/dist/esm/components/Progress/Dots/DotProgress.js +12 -8
  66. package/dist/esm/components/Progress/Linear/LinearProgress.js +6 -5
  67. package/dist/esm/components/Progress/Star/StarProgress.js +14 -10
  68. package/dist/esm/components/Radio/Radio.js +84 -52
  69. package/dist/esm/components/Radio/Radio.tokens.js +9 -4
  70. package/dist/esm/components/Scrim/Scrim.js +16 -20
  71. package/dist/esm/components/Search/Search.js +28 -28
  72. package/dist/esm/components/Select/MultiSelect/MultiSelect.js +27 -22
  73. package/dist/esm/components/Select/NativeSelect/NativeSelect.js +19 -17
  74. package/dist/esm/components/Select/Select.tokens.js +2 -2
  75. package/dist/esm/components/Select/SingleSelect/SingleSelect.js +29 -23
  76. package/dist/esm/components/Select/commonStyles.js +14 -13
  77. package/dist/esm/components/SideSheet/SideSheet.js +16 -13
  78. package/dist/esm/components/Slider/MinMax.js +5 -4
  79. package/dist/esm/components/Slider/Output.js +13 -9
  80. package/dist/esm/components/Slider/Slider.js +81 -38
  81. package/dist/esm/components/Slider/Slider.tokens.js +7 -2
  82. package/dist/esm/components/Slider/SliderInput.js +14 -14
  83. package/dist/esm/components/Snackbar/Snackbar.js +17 -21
  84. package/dist/esm/components/Snackbar/SnackbarAction.js +9 -7
  85. package/dist/esm/components/Switch/Switch.js +21 -15
  86. package/dist/esm/components/Switch/Switch.styles.js +24 -17
  87. package/dist/esm/components/Switch/Switch.tokens.js +6 -1
  88. package/dist/esm/components/Switch/SwitchDefault.js +39 -29
  89. package/dist/esm/components/Switch/SwitchSmall.js +38 -28
  90. package/dist/esm/components/Table/Body.js +5 -4
  91. package/dist/esm/components/Table/Caption.js +8 -5
  92. package/dist/esm/components/Table/Cell.js +9 -6
  93. package/dist/esm/components/Table/DataCell/DataCell.js +15 -14
  94. package/dist/esm/components/Table/DataCell/DataCell.tokens.js +19 -9
  95. package/dist/esm/components/Table/Head/Head.js +7 -6
  96. package/dist/esm/components/Table/HeaderCell/HeaderCell.js +7 -8
  97. package/dist/esm/components/Table/HeaderCell/HeaderCell.tokens.js +18 -8
  98. package/dist/esm/components/Table/Row/Row.js +7 -5
  99. package/dist/esm/components/Table/Table.js +5 -4
  100. package/dist/esm/components/TableOfContents/LinkItem.js +10 -10
  101. package/dist/esm/components/TableOfContents/TableOfContents.js +17 -15
  102. package/dist/esm/components/Tabs/Tab.js +21 -19
  103. package/dist/esm/components/Tabs/TabList.js +27 -11
  104. package/dist/esm/components/Tabs/TabPanel.js +8 -7
  105. package/dist/esm/components/Tabs/TabPanels.js +5 -4
  106. package/dist/esm/components/Tabs/Tabs.context.js +1 -0
  107. package/dist/esm/components/Tabs/Tabs.js +45 -15
  108. package/dist/esm/components/Tabs/Tabs.tokens.js +8 -2
  109. package/dist/esm/components/TextField/Field.js +49 -38
  110. package/dist/esm/components/TextField/HelperText/HelperText.js +28 -19
  111. package/dist/esm/components/TextField/Icon/Icon.js +20 -18
  112. package/dist/esm/components/TextField/TextField.context.js +4 -3
  113. package/dist/esm/components/TextField/TextField.js +19 -19
  114. package/dist/esm/components/Textarea/Textarea.js +16 -16
  115. package/dist/esm/components/Tooltip/Tooltip.js +23 -24
  116. package/dist/esm/components/TopBar/Actions.js +5 -4
  117. package/dist/esm/components/TopBar/CustomContent.js +5 -4
  118. package/dist/esm/components/TopBar/Header.js +5 -4
  119. package/dist/esm/components/TopBar/TopBar.js +11 -11
  120. package/dist/esm/components/Typography/Typography.js +49 -28
  121. package/dist/esm/components/Typography/Typography.tokens.js +7 -2
  122. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/internal/_curry1.js +1 -1
  123. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/internal/_curry2.js +1 -1
  124. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/internal/_curry3.js +1 -1
  125. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/internal/_has.js +1 -1
  126. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/internal/_isObject.js +1 -1
  127. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/internal/_isPlaceholder.js +1 -1
  128. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/mergeDeepRight.js +2 -1
  129. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/mergeDeepWithKey.js +1 -1
  130. package/dist/esm/node_modules/.pnpm/{ramda@0.27.1 → ramda@0.27.2}/node_modules/ramda/src/mergeWithKey.js +1 -1
  131. package/dist/types/components/Accordion/AccordionHeader.d.ts +2 -2
  132. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  133. package/dist/types/components/Checkbox/Input.d.ts +1 -1
  134. package/dist/types/components/Dialog/Dialog.d.ts +18 -2
  135. package/dist/types/components/Dialog/DialogActions.d.ts +3 -0
  136. package/dist/types/components/Dialog/{CustomContent.d.ts → DialogContent.d.ts} +2 -2
  137. package/dist/types/components/Dialog/DialogHeader.d.ts +3 -0
  138. package/dist/types/components/Dialog/DialogTitle.d.ts +3 -0
  139. package/dist/types/components/Dialog/index.d.ts +10 -7
  140. package/dist/types/components/Icon/Icon.d.ts +2 -2
  141. package/dist/types/components/Menu/Menu.context.d.ts +3 -0
  142. package/dist/types/components/Menu/Menu.d.ts +1 -6
  143. package/dist/types/components/Menu/MenuList.d.ts +0 -2
  144. package/dist/types/components/Popover/Popover.d.ts +1 -1
  145. package/dist/types/components/Popover/PopoverActions.d.ts +3 -0
  146. package/dist/types/components/Popover/PopoverHeader.d.ts +3 -0
  147. package/dist/types/components/Popover/index.d.ts +5 -1
  148. package/dist/types/components/Progress/Circular/CircularProgress.d.ts +1 -1
  149. package/dist/types/components/Progress/Dots/DotProgress.d.ts +1 -1
  150. package/dist/types/components/Progress/Star/StarProgress.d.ts +1 -1
  151. package/dist/types/components/Switch/Switch.d.ts +1 -1
  152. package/dist/types/components/Switch/Switch.styles.d.ts +2 -1
  153. package/dist/types/components/Tabs/TabList.d.ts +4 -0
  154. package/dist/types/components/Tabs/Tabs.context.d.ts +1 -0
  155. package/dist/types/components/Tabs/Tabs.d.ts +4 -0
  156. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
  157. package/package.json +37 -38
  158. package/dist/esm/components/Dialog/Actions.js +0 -26
  159. package/dist/esm/components/Dialog/CustomContent.js +0 -46
  160. package/dist/esm/components/Dialog/Title.js +0 -41
  161. package/dist/esm/hooks/useAutoResize.js +0 -39
  162. package/dist/esm/hooks/useCombinedRefs.js +0 -14
  163. package/dist/esm/hooks/useGlobalKeyPress.js +0 -34
  164. package/dist/esm/hooks/useHideBodyScroll.js +0 -20
  165. package/dist/esm/hooks/useId.js +0 -14
  166. package/dist/esm/hooks/useMountedRef.js +0 -12
  167. package/dist/esm/hooks/useOutsideClick.js +0 -18
  168. package/dist/esm/hooks/usePopper.js +0 -31
  169. package/dist/esm/hooks/useToken.js +0 -16
  170. package/dist/esm/utils/joinHandlers.js +0 -10
  171. package/dist/esm/utils/setReactInputValue.js +0 -18
  172. package/dist/esm/utils/templates/borders.js +0 -35
  173. package/dist/esm/utils/templates/common.js +0 -19
  174. package/dist/esm/utils/templates/focus.js +0 -35
  175. package/dist/esm/utils/templates/index.js +0 -52
  176. package/dist/types/components/Dialog/Actions.d.ts +0 -3
  177. package/dist/types/components/Dialog/Title.d.ts +0 -3
  178. package/dist/types/hooks/index.d.ts +0 -9
  179. package/dist/types/hooks/useAutoResize.d.ts +0 -1
  180. package/dist/types/hooks/useCombinedRefs.d.ts +0 -3
  181. package/dist/types/hooks/useGlobalKeyPress.d.ts +0 -10
  182. package/dist/types/hooks/useHideBodyScroll.d.ts +0 -1
  183. package/dist/types/hooks/useId.d.ts +0 -1
  184. package/dist/types/hooks/useMountedRef.d.ts +0 -1
  185. package/dist/types/hooks/useOutsideClick.d.ts +0 -1
  186. package/dist/types/hooks/usePopper.d.ts +0 -12
  187. package/dist/types/hooks/useToken.d.ts +0 -7
  188. package/dist/types/utils/index.d.ts +0 -4
  189. package/dist/types/utils/joinHandlers.d.ts +0 -3
  190. package/dist/types/utils/setReactInputValue.d.ts +0 -7
  191. package/dist/types/utils/templates/borders.d.ts +0 -2
  192. package/dist/types/utils/templates/common.d.ts +0 -9
  193. package/dist/types/utils/templates/focus.d.ts +0 -2
  194. package/dist/types/utils/templates/index.d.ts +0 -7
@@ -5,11 +5,14 @@ import { jsx } from 'react/jsx-runtime';
5
5
  const StyledCaption = styled.caption.withConfig({
6
6
  displayName: "Caption__StyledCaption",
7
7
  componentId: "sc-rtfr07-0"
8
- })(({
9
- captionSide = 'top'
10
- }) => ({
11
- captionSide
12
- }));
8
+ })(_ref => {
9
+ let {
10
+ captionSide = 'top'
11
+ } = _ref;
12
+ return {
13
+ captionSide
14
+ };
15
+ });
13
16
  const Caption = /*#__PURE__*/forwardRef(function Caption(props, ref) {
14
17
  return /*#__PURE__*/jsx(StyledCaption, { ...props,
15
18
  ref: ref
@@ -4,13 +4,16 @@ import { jsx } from 'react/jsx-runtime';
4
4
  import { TableDataCell } from './DataCell/DataCell.js';
5
5
  import { TableHeaderCell } from './HeaderCell/HeaderCell.js';
6
6
 
7
- const Cell = /*#__PURE__*/forwardRef(function Cell({ ...rest
8
- }, ref) {
7
+ const Cell = /*#__PURE__*/forwardRef(function Cell(_ref, ref) {
8
+ let { ...rest
9
+ } = _ref;
9
10
  return /*#__PURE__*/jsx(InnerContext.Consumer, {
10
- children: ({
11
- variant,
12
- sticky
13
- }) => {
11
+ children: _ref2 => {
12
+ let {
13
+ variant,
14
+ sticky
15
+ } = _ref2;
16
+
14
17
  switch (variant) {
15
18
  case 'head':
16
19
  return /*#__PURE__*/jsx(TableHeaderCell, {
@@ -1,36 +1,37 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled, { css, ThemeProvider } from 'styled-components';
3
+ import { spacingsTemplate, typographyTemplate, bordersTemplate, useToken } from '@equinor/eds-utils';
3
4
  import { applyVariant, tableCell } from './DataCell.tokens.js';
4
5
  import { jsx } from 'react/jsx-runtime';
5
- import { spacingsTemplate, typographyTemplate } from '../../../utils/templates/index.js';
6
- import { bordersTemplate } from '../../../utils/templates/borders.js';
7
6
  import { useEds } from '../../EdsProvider/eds.context.js';
8
- import { useToken } from '../../../hooks/useToken.js';
9
7
 
10
8
  const StyledTableCell = styled.td.withConfig({
11
9
  displayName: "DataCell__StyledTableCell",
12
10
  componentId: "sc-15tuitc-0"
13
- })(({
14
- theme,
15
- color
16
- }) => {
11
+ })(_ref => {
17
12
  var _theme$validation$err;
18
13
 
14
+ let {
15
+ theme,
16
+ color
17
+ } = _ref;
19
18
  const {
20
19
  height,
21
20
  typography,
22
21
  spacings,
23
- border
22
+ border,
23
+ align
24
24
  } = theme;
25
25
  const backgroundColor = color === 'error' ? (_theme$validation$err = theme.validation.error) === null || _theme$validation$err === void 0 ? void 0 : _theme$validation$err.background : '';
26
- const base = css(["min-height:", ";height:", ";background:", ";", " ", " ", ""], height, height, backgroundColor, spacingsTemplate(spacings), typographyTemplate(typography), bordersTemplate(border));
26
+ const base = css(["min-height:", ";height:", ";background:", ";vertical-align:", ";", " ", " ", ""], height, height, backgroundColor, align.vertical, spacingsTemplate(spacings), typographyTemplate(typography), bordersTemplate(border));
27
27
  return base;
28
28
  });
29
- const TableDataCell = /*#__PURE__*/forwardRef(function TableDataCell({
30
- children,
31
- variant = 'text',
32
- ...rest
33
- }, ref) {
29
+ const TableDataCell = /*#__PURE__*/forwardRef(function TableDataCell(_ref2, ref) {
30
+ let {
31
+ children,
32
+ variant = 'text',
33
+ ...rest
34
+ } = _ref2;
34
35
  const {
35
36
  density
36
37
  } = useEds();
@@ -1,5 +1,5 @@
1
1
  import { tokens } from '@equinor/eds-tokens';
2
- import mergeDeepRight_1 from '../../../node_modules/.pnpm/ramda@0.27.1/node_modules/ramda/src/mergeDeepRight.js';
2
+ import mergeDeepRight from '../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/mergeDeepRight.js';
3
3
 
4
4
  const {
5
5
  typography: {
@@ -56,8 +56,11 @@ const {
56
56
  }
57
57
  } = tokens;
58
58
  const tableCell = {
59
- height: '48px',
59
+ height: 'var(--eds_table__cell__height, 48px)',
60
60
  background: backgroundColor,
61
+ align: {
62
+ vertical: 'var(--eds_table__cell__vertical_align, inherit)'
63
+ },
61
64
  border: {
62
65
  type: 'bordergroup',
63
66
  bottom: {
@@ -67,13 +70,14 @@ const tableCell = {
67
70
  }
68
71
  },
69
72
  spacings: {
70
- top: '0',
71
- bottom: '0',
72
- left: medium,
73
- right: medium
73
+ top: 'var(--eds_table__cell__padding_y, 0)',
74
+ bottom: 'var(--eds_table__cell__padding_y, 0)',
75
+ left: "var(--eds_table__cell__padding_x, ".concat(medium, ")"),
76
+ right: "var(--eds_table__cell__padding_x, ".concat(medium, ")")
74
77
  },
75
78
  typography: { ...cellTypography,
76
- color: typographyColor
79
+ color: typographyColor,
80
+ fontSize: "var(--eds_table__font_size, ".concat(cellTypography.fontSize, ")")
77
81
  },
78
82
  states: {
79
83
  active: {
@@ -112,9 +116,15 @@ const tableCell = {
112
116
  },
113
117
  modes: {
114
118
  compact: {
115
- height: '32px',
119
+ height: 'var(--eds_table__cell__height_compact, 32px)',
116
120
  typography: { ...compactTypography.table.cell_text,
117
121
  color: typographyColor
122
+ },
123
+ spacings: {
124
+ top: 'var(--eds_table__cell__padding_y_compact, 0)',
125
+ bottom: 'var(--eds_table__cell__padding_y_compact, 0)',
126
+ left: "var(--eds_table__cell__padding_x_compact, ".concat(medium, ")"),
127
+ right: "var(--eds_table__cell__padding_x_compact, ".concat(medium, ")")
118
128
  }
119
129
  }
120
130
  },
@@ -141,7 +151,7 @@ const tableCell = {
141
151
  const applyVariant = (variant, token) => {
142
152
  switch (variant) {
143
153
  case 'numeric':
144
- return mergeDeepRight_1(token, token.variants.numeric);
154
+ return mergeDeepRight(token, token.variants.numeric);
145
155
 
146
156
  default:
147
157
  return token;
@@ -1,19 +1,20 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled from 'styled-components';
3
3
  import { token } from './Head.tokens.js';
4
+ import { bordersTemplate } from '@equinor/eds-utils';
4
5
  import { InnerContext } from '../Inner.context.js';
5
6
  import { jsx } from 'react/jsx-runtime';
6
- import { bordersTemplate } from '../../../utils/templates/borders.js';
7
7
 
8
8
  const StyledTableHead = styled.thead.withConfig({
9
9
  displayName: "Head__StyledTableHead",
10
10
  componentId: "sc-g9tch7-0"
11
11
  })(["", " background:", ";"], bordersTemplate(token.border), token.background);
12
- const Head = /*#__PURE__*/forwardRef(function Head({
13
- children,
14
- sticky,
15
- ...props
16
- }, ref) {
12
+ const Head = /*#__PURE__*/forwardRef(function Head(_ref, ref) {
13
+ let {
14
+ children,
15
+ sticky,
16
+ ...props
17
+ } = _ref;
17
18
  return /*#__PURE__*/jsx(InnerContext.Provider, {
18
19
  value: {
19
20
  variant: 'head',
@@ -1,11 +1,9 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled, { css, ThemeProvider } from 'styled-components';
3
+ import { spacingsTemplate, typographyTemplate, bordersTemplate, useToken } from '@equinor/eds-utils';
3
4
  import { token } from './HeaderCell.tokens.js';
4
5
  import { jsx } from 'react/jsx-runtime';
5
- import { spacingsTemplate, typographyTemplate } from '../../../utils/templates/index.js';
6
- import { bordersTemplate } from '../../../utils/templates/borders.js';
7
6
  import { useEds } from '../../EdsProvider/eds.context.js';
8
- import { useToken } from '../../../hooks/useToken.js';
9
7
 
10
8
  const StyledTableCell = styled.th.withConfig({
11
9
  displayName: "HeaderCell__StyledTableCell",
@@ -40,11 +38,12 @@ const CellInner = styled.div.withConfig({
40
38
  displayName: "HeaderCell__CellInner",
41
39
  componentId: "sc-18w2o3a-1"
42
40
  })(["display:flex;align-items:center;"]);
43
- const TableHeaderCell = /*#__PURE__*/forwardRef(function TableHeaderCell({
44
- children,
45
- sort,
46
- ...rest
47
- }, ref) {
41
+ const TableHeaderCell = /*#__PURE__*/forwardRef(function TableHeaderCell(_ref, ref) {
42
+ let {
43
+ children,
44
+ sort,
45
+ ...rest
46
+ } = _ref;
48
47
  const {
49
48
  density
50
49
  } = useEds();
@@ -51,10 +51,14 @@ const {
51
51
  }
52
52
  } = tokens;
53
53
  const token = {
54
- height: '48px',
54
+ height: 'var(--eds_table__cell__height, 48px)',
55
55
  background: backgroundColor,
56
+ align: {
57
+ vertical: 'var(--eds_table__cell__vertical_align, inherit)'
58
+ },
56
59
  typography: { ...cellTypography,
57
- color: typographyColor
60
+ color: typographyColor,
61
+ fontSize: "var(--eds_table__font_size, ".concat(cellTypography.fontSize, ")")
58
62
  },
59
63
  border: {
60
64
  type: 'bordergroup',
@@ -66,10 +70,10 @@ const token = {
66
70
  }
67
71
  },
68
72
  spacings: {
69
- top: '0',
70
- bottom: '0',
71
- left: medium,
72
- right: medium
73
+ top: 'var(--eds_table__cell__padding_y, 0)',
74
+ bottom: 'var(--eds_table__cell__padding_y, 0)',
75
+ left: "var(--eds_table__cell__padding_x, ".concat(medium, ")"),
76
+ right: "var(--eds_table__cell__padding_x, ".concat(medium, ")")
73
77
  },
74
78
  states: {
75
79
  active: {
@@ -109,8 +113,14 @@ const token = {
109
113
  },
110
114
  modes: {
111
115
  compact: {
112
- height: '32px',
113
- typography: compactTypography.table.cell_header
116
+ height: 'var(--eds_table__cell__height_compact, 32px)',
117
+ typography: compactTypography.table.cell_header,
118
+ spacings: {
119
+ top: 'var(--eds_table__cell__padding_y_compact, 0)',
120
+ bottom: 'var(--eds_table__cell__padding_y_compact, 0)',
121
+ left: "var(--eds_table__cell__padding_x_compact, ".concat(medium, ")"),
122
+ right: "var(--eds_table__cell__padding_x_compact, ".concat(medium, ")")
123
+ }
114
124
  }
115
125
  }
116
126
  };
@@ -6,11 +6,12 @@ import { jsx } from 'react/jsx-runtime';
6
6
  const StyledRow = styled.tr.withConfig({
7
7
  displayName: "Row__StyledRow",
8
8
  componentId: "sc-12c5lns-0"
9
- })(({
10
- active
11
- }) => {
9
+ })(_ref => {
12
10
  var _token$states$active, _token$states$hover;
13
11
 
12
+ let {
13
+ active
14
+ } = _ref;
14
15
  return {
15
16
  background: active ? (_token$states$active = token.states.active) === null || _token$states$active === void 0 ? void 0 : _token$states$active.background : null,
16
17
  '@media (hover: hover) and (pointer: fine)': {
@@ -20,8 +21,9 @@ const StyledRow = styled.tr.withConfig({
20
21
  }
21
22
  };
22
23
  });
23
- const Row = /*#__PURE__*/forwardRef(function Row({ ...props
24
- }, ref) {
24
+ const Row = /*#__PURE__*/forwardRef(function Row(_ref2, ref) {
25
+ let { ...props
26
+ } = _ref2;
25
27
  const {
26
28
  children
27
29
  } = props;
@@ -7,10 +7,11 @@ const TableBase = styled.table.withConfig({
7
7
  displayName: "Table__TableBase",
8
8
  componentId: "sc-14kktwc-0"
9
9
  })(["border-spacing:0;background:", ";"], tableCell.background);
10
- const Table = /*#__PURE__*/forwardRef(function Table({
11
- children,
12
- ...props
13
- }, ref) {
10
+ const Table = /*#__PURE__*/forwardRef(function Table(_ref, ref) {
11
+ let {
12
+ children,
13
+ ...props
14
+ } = _ref;
14
15
  return /*#__PURE__*/jsx(TableBase, { ...props,
15
16
  ref: ref,
16
17
  children: children
@@ -1,22 +1,22 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
+ import { typographyTemplate, spacingsTemplate, outlineTemplate, bordersTemplate } from '@equinor/eds-utils';
3
4
  import { jsx } from 'react/jsx-runtime';
4
- import { typographyTemplate, spacingsTemplate } from '../../utils/templates/index.js';
5
- import { outlineTemplate } from '../../utils/templates/focus.js';
6
- import { bordersTemplate } from '../../utils/templates/borders.js';
7
5
 
8
6
  const StyledLinkItem = styled.li.withConfig({
9
7
  displayName: "LinkItem__StyledLinkItem",
10
8
  componentId: "sc-1tfuad4-0"
11
- })(({
12
- theme
13
- }) => {
9
+ })(_ref => {
10
+ let {
11
+ theme
12
+ } = _ref;
14
13
  return css(["list-style:none;margin:0;padding:0;a{text-decoration:none;", " ", " height:", ";width:", ";display:block;position:relative;svg{fill:", ";margin-right:", ";vertical-align:text-bottom;}span{max-width:", ";overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:text-bottom;display:inline-block;}&:focus{", ";}@media (hover:hover) and (pointer:fine){&:hover{", " background:", ";", " svg{fill:", ";}}}&:active{outline:none;}}"], typographyTemplate(theme.entities.links.typography), spacingsTemplate(theme.entities.links.spacings), theme.entities.links.typography.lineHeight, theme.entities.links.width, theme.entities.icon.background, theme.entities.icon.spacings.right, theme.entities.span.maxWidth, outlineTemplate(theme.states.focus.outline), typographyTemplate(theme.states.hover.typography), theme.states.hover.background, bordersTemplate(theme.states.hover.border), theme.states.hover.entities.icon.background);
15
14
  });
16
- const LinkItem = /*#__PURE__*/forwardRef(function LinkItem({
17
- children,
18
- ...props
19
- }, ref) {
15
+ const LinkItem = /*#__PURE__*/forwardRef(function LinkItem(_ref2, ref) {
16
+ let {
17
+ children,
18
+ ...props
19
+ } = _ref2;
20
20
  return /*#__PURE__*/jsx(StyledLinkItem, { ...props,
21
21
  ref: ref,
22
22
  children: children
@@ -1,20 +1,20 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled, { css, ThemeProvider } from 'styled-components';
3
3
  import { List } from '../List/index.js';
4
+ import { typographyTemplate, useToken } from '@equinor/eds-utils';
4
5
  import { tableOfContents } from './TableOfContents.tokens.js';
5
6
  import { jsx, jsxs } from 'react/jsx-runtime';
6
7
  import { Typography } from '../Typography/Typography.js';
7
- import { typographyTemplate } from '../../utils/templates/index.js';
8
8
  import { useEds } from '../EdsProvider/eds.context.js';
9
- import { useToken } from '../../hooks/useToken.js';
10
9
 
11
10
  const StyledTableOfContents = styled.nav.withConfig({
12
11
  displayName: "TableOfContents__StyledTableOfContents",
13
12
  componentId: "sc-q23s6y-0"
14
- })(({
15
- theme,
16
- sticky
17
- }) => {
13
+ })(_ref => {
14
+ let {
15
+ theme,
16
+ sticky
17
+ } = _ref;
18
18
  return css(["margin-top:", ";margin-bottom:", ";", ""], theme.spacings.top, theme.spacings.bottom, sticky && css(["position:fixed;top:", ";right:", ";"], theme.entities.sticky.spacings.top, theme.entities.sticky.spacings.right));
19
19
  });
20
20
  const TocList = styled(List).withConfig({
@@ -24,17 +24,19 @@ const TocList = styled(List).withConfig({
24
24
  const TocLabel = styled(Typography).withConfig({
25
25
  displayName: "TableOfContents__TocLabel",
26
26
  componentId: "sc-q23s6y-2"
27
- })(({
28
- theme
29
- }) => {
27
+ })(_ref2 => {
28
+ let {
29
+ theme
30
+ } = _ref2;
30
31
  return css(["", ""], typographyTemplate(theme.typography));
31
32
  });
32
- const TableOfContents = /*#__PURE__*/forwardRef(function TableOfContents({
33
- children,
34
- sticky = false,
35
- label = '',
36
- ...rest
37
- }, ref) {
33
+ const TableOfContents = /*#__PURE__*/forwardRef(function TableOfContents(_ref3, ref) {
34
+ let {
35
+ children,
36
+ sticky = false,
37
+ label = '',
38
+ ...rest
39
+ } = _ref3;
38
40
  const {
39
41
  density
40
42
  } = useEds();
@@ -1,33 +1,35 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
+ import { spacingsTemplate, outlineTemplate, bordersTemplate } from '@equinor/eds-utils';
3
4
  import { jsx } from 'react/jsx-runtime';
4
- import { spacingsTemplate } from '../../utils/templates/index.js';
5
- import { outlineTemplate } from '../../utils/templates/focus.js';
6
- import { bordersTemplate } from '../../utils/templates/borders.js';
7
5
 
8
- const StyledTab = styled.button.attrs(({
9
- active = false,
10
- disabled = false
11
- }) => ({
12
- type: 'button',
13
- role: 'tab',
14
- 'aria-selected': active,
15
- 'aria-disabled': disabled,
16
- tabIndex: active ? '0' : '-1'
17
- })).withConfig({
6
+ const StyledTab = styled.button.attrs(_ref => {
7
+ let {
8
+ active = false,
9
+ disabled = false
10
+ } = _ref;
11
+ return {
12
+ type: 'button',
13
+ role: 'tab',
14
+ 'aria-selected': active,
15
+ 'aria-disabled': disabled,
16
+ tabIndex: active ? '0' : '-1'
17
+ };
18
+ }).withConfig({
18
19
  displayName: "Tab__StyledTab",
19
20
  componentId: "sc-scjkct-0"
20
- })(({
21
- theme,
22
- active,
23
- disabled
24
- }) => {
21
+ })(_ref2 => {
22
+ let {
23
+ theme,
24
+ active,
25
+ disabled
26
+ } = _ref2;
25
27
  const {
26
28
  entities: {
27
29
  tab
28
30
  }
29
31
  } = theme;
30
- return css(["appearance:none;box-sizing:border-box;font-family:inherit;border:none;outline:none;font-size:1rem;height:", ";", " color:", ";background-color:", ";position:relative;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;&:focus{outline:none;}&[data-focus],&[data-focus-visible-added]:focus{", "}&:focus-visible{", "}&::-moz-focus-inner{border:0;}@media (hover:hover) and (pointer:fine){&[data-hover],&:hover{color:", ";", "}}", " ", ""], tab.height, spacingsTemplate(tab.spacings), active ? tab.states.active.typography.color : tab.typography.color, tab.background, outlineTemplate(tab.states.focus.outline), outlineTemplate(tab.states.focus.outline), active ? tab.states.active.states.hover.typography.color : tab.typography.color, disabled ? css(["background:", ";cursor:not-allowed;"], tab.states.disabled.background) : css(["background:", ";cursor:pointer;"], tab.states.hover.background), disabled ? bordersTemplate(tab.states.disabled.border) : bordersTemplate(tab.border), active && bordersTemplate(tab.states.active.border));
32
+ return css(["appearance:none;box-sizing:border-box;font-family:inherit;border:none;outline:none;font-size:1rem;height:", ";", " color:", ";background-color:", ";position:relative;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;scroll-snap-align:end;scroll-snap-stop:always;&:focus{outline:none;}&[data-focus],&[data-focus-visible-added]:focus{", "}&:focus-visible{", "}&::-moz-focus-inner{border:0;}@media (hover:hover) and (pointer:fine){&[data-hover],&:hover{color:", ";", "}}", " ", ""], tab.height, spacingsTemplate(tab.spacings), active ? tab.states.active.typography.color : tab.typography.color, tab.background, outlineTemplate(tab.states.focus.outline), outlineTemplate(tab.states.focus.outline), active ? tab.states.active.states.hover.typography.color : tab.typography.color, disabled ? css(["background:", ";cursor:not-allowed;"], tab.states.disabled.background) : css(["background:", ";cursor:pointer;"], tab.states.hover.background), disabled ? bordersTemplate(tab.states.disabled.border) : bordersTemplate(tab.border), active && bordersTemplate(tab.states.active.border));
31
33
  });
32
34
  const Tab = /*#__PURE__*/forwardRef(function Tab(props, ref) {
33
35
  return /*#__PURE__*/jsx(StyledTab, {
@@ -1,8 +1,8 @@
1
- import { forwardRef, useContext, useRef, useCallback, useEffect, Children, cloneElement } from 'react';
1
+ import { forwardRef, useContext, useRef, useState, useCallback, useEffect, Children, cloneElement } from 'react';
2
2
  import styled from 'styled-components';
3
+ import { useCombinedRefs } from '@equinor/eds-utils';
3
4
  import { TabsContext } from './Tabs.context.js';
4
5
  import { jsx } from 'react/jsx-runtime';
5
- import { useCombinedRefs } from '../../hooks/useCombinedRefs.js';
6
6
 
7
7
  const variants = {
8
8
  fullWidth: 'minmax(1%, 360px)',
@@ -13,26 +13,38 @@ const StyledTabList = styled.div.attrs(() => ({
13
13
  })).withConfig({
14
14
  displayName: "TabList__StyledTabList",
15
15
  componentId: "sc-1g1p5i1-0"
16
- })(["display:grid;grid-auto-flow:column;grid-auto-columns:", ";"], ({
17
- variant
18
- }) => variants[variant]);
19
- const TabList = /*#__PURE__*/forwardRef(function TabsList({
20
- children = [],
21
- ...props
22
- }, ref) {
16
+ })(["display:grid;grid-auto-flow:column;grid-auto-columns:", ";overflow-x:", ";scroll-snap-type:x mandatory;overscroll-behavior-x:contain;@media (prefers-reduced-motion:no-preference){scroll-behavior:smooth;}@media (hover:none){overflow-x:scroll;-webkit-overflow-scrolling:touch;scrollbar-width:0;&::-webkit-scrollbar{width:0;height:0;}}"], _ref => {
17
+ let {
18
+ variant
19
+ } = _ref;
20
+ return variants[variant];
21
+ }, _ref2 => {
22
+ let {
23
+ scrollable
24
+ } = _ref2;
25
+ return scrollable ? 'auto' : 'hidden';
26
+ });
27
+ const TabList = /*#__PURE__*/forwardRef(function TabsList(_ref3, ref) {
28
+ let {
29
+ children = [],
30
+ ...props
31
+ } = _ref3;
23
32
  const {
24
33
  activeTab,
25
34
  handleChange,
26
35
  tabsId,
27
36
  variant = 'minWidth',
37
+ scrollable = false,
28
38
  tabsFocused
29
39
  } = useContext(TabsContext);
30
40
  const currentTab = useRef(activeTab);
41
+ const [arrowNavigating, setArrowNavigating] = useState(false);
31
42
  const selectedTabRef = useCallback(node => {
32
- if (node !== null && tabsFocused) {
43
+ if (node !== null && tabsFocused || node !== null && arrowNavigating) {
44
+ setArrowNavigating(false);
33
45
  node.focus();
34
46
  }
35
- }, [tabsFocused]);
47
+ }, [arrowNavigating, tabsFocused]);
36
48
  useEffect(() => {
37
49
  currentTab.current = activeTab;
38
50
  }, [activeTab]);
@@ -61,6 +73,7 @@ const TabList = /*#__PURE__*/forwardRef(function TabsList({
61
73
  const handleTabsChange = (direction, fallbackTab) => {
62
74
  const i = direction === 'left' ? 1 : -1;
63
75
  const nextTab = focusableChildren[focusableChildren.indexOf(currentTab.current) - i];
76
+ setArrowNavigating(true);
64
77
  handleChange(nextTab === undefined ? fallbackTab : nextTab);
65
78
  };
66
79
 
@@ -70,10 +83,12 @@ const TabList = /*#__PURE__*/forwardRef(function TabsList({
70
83
  } = event;
71
84
 
72
85
  if (key === 'ArrowLeft') {
86
+ event.preventDefault();
73
87
  handleTabsChange('left', lastFocusableChild);
74
88
  }
75
89
 
76
90
  if (key === 'ArrowRight') {
91
+ event.preventDefault();
77
92
  handleTabsChange('right', firstFocusableChild);
78
93
  }
79
94
  };
@@ -83,6 +98,7 @@ const TabList = /*#__PURE__*/forwardRef(function TabsList({
83
98
  ref: ref,
84
99
  ...props,
85
100
  variant: variant,
101
+ scrollable: scrollable,
86
102
  children: Tabs
87
103
  });
88
104
  });
@@ -1,8 +1,7 @@
1
1
  import { forwardRef } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
+ import { spacingsTemplate, outlineTemplate } from '@equinor/eds-utils';
3
4
  import { jsx } from 'react/jsx-runtime';
4
- import { spacingsTemplate } from '../../utils/templates/index.js';
5
- import { outlineTemplate } from '../../utils/templates/focus.js';
6
5
 
7
6
  const StyledTabPanel = styled.div.attrs(() => ({
8
7
  tabIndex: 0,
@@ -10,9 +9,10 @@ const StyledTabPanel = styled.div.attrs(() => ({
10
9
  })).withConfig({
11
10
  displayName: "TabPanel__StyledTabPanel",
12
11
  componentId: "sc-e8v1d4-0"
13
- })(({
14
- theme
15
- }) => {
12
+ })(_ref => {
13
+ let {
14
+ theme
15
+ } = _ref;
16
16
  const {
17
17
  entities: {
18
18
  panel
@@ -20,8 +20,9 @@ const StyledTabPanel = styled.div.attrs(() => ({
20
20
  } = theme;
21
21
  return css(["", " &:focus{outline:none;}&[data-focus-visible-added]:focus{", "}&:focus-visible{", "}"], spacingsTemplate(panel.spacings), outlineTemplate(panel.states.focus.outline), outlineTemplate(panel.states.focus.outline));
22
22
  });
23
- const TabPanel = /*#__PURE__*/forwardRef(function TabPanel({ ...props
24
- }, ref) {
23
+ const TabPanel = /*#__PURE__*/forwardRef(function TabPanel(_ref2, ref) {
24
+ let { ...props
25
+ } = _ref2;
25
26
  return /*#__PURE__*/jsx(StyledTabPanel, {
26
27
  ref: ref,
27
28
  ...props,
@@ -2,10 +2,11 @@ import { forwardRef, useContext, Children, cloneElement } from 'react';
2
2
  import { TabsContext } from './Tabs.context.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
- const TabPanels = /*#__PURE__*/forwardRef(function TabPanels({
6
- children,
7
- ...props
8
- }, ref) {
5
+ const TabPanels = /*#__PURE__*/forwardRef(function TabPanels(_ref, ref) {
6
+ let {
7
+ children,
8
+ ...props
9
+ } = _ref;
9
10
  const {
10
11
  activeTab,
11
12
  tabsId
@@ -2,6 +2,7 @@ import { createContext } from 'react';
2
2
 
3
3
  const TabsContext = /*#__PURE__*/createContext({
4
4
  variant: 'minWidth',
5
+ scrollable: false,
5
6
  handleChange: () => null,
6
7
  activeTab: 0,
7
8
  tabsId: '',