@norges-domstoler/dds-components 7.1.0 → 7.2.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 (119) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
  3. package/dist/cjs/components/Button/Button.stories.d.ts +1 -1
  4. package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +1 -1
  5. package/dist/cjs/components/Chip/Chip.stories.d.ts +1 -1
  6. package/dist/cjs/components/DescriptionList/DescriptionList.stories.d.ts +1 -1
  7. package/dist/cjs/components/Divider/Divider.stories.d.ts +1 -1
  8. package/dist/cjs/components/Drawer/Drawer.stories.d.ts +1 -1
  9. package/dist/cjs/components/GlobalMessage/GlobalMessage.stories.d.ts +1 -1
  10. package/dist/cjs/components/InputMessage/InputMessage.stories.d.ts +1 -1
  11. package/dist/cjs/components/List/List.stories.d.ts +1 -1
  12. package/dist/cjs/components/LocalMessage/LocalMessage.stories.d.ts +1 -1
  13. package/dist/cjs/components/Modal/Modal.stories.d.ts +1 -1
  14. package/dist/cjs/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
  15. package/dist/cjs/components/Pagination/Pagination.stories.d.ts +1 -1
  16. package/dist/cjs/components/Popover/Popover.stories.d.ts +1 -1
  17. package/dist/cjs/components/ProgressTracker/ProgressTracker.context.d.ts +6 -0
  18. package/dist/cjs/components/ProgressTracker/ProgressTracker.d.ts +12 -0
  19. package/dist/cjs/components/ProgressTracker/ProgressTracker.stories.d.ts +40 -0
  20. package/dist/cjs/components/ProgressTracker/ProgressTracker.tokens.d.ts +69 -0
  21. package/dist/cjs/components/ProgressTracker/ProgressTrackerItem.d.ts +24 -0
  22. package/dist/cjs/components/ProgressTracker/index.d.ts +1 -0
  23. package/dist/cjs/components/RadioButton/RadioButton.stories.d.ts +1 -1
  24. package/dist/cjs/components/RadioButton/RadioButtonGroup.stories.d.ts +1 -1
  25. package/dist/cjs/components/Search/Search.d.ts +2 -2
  26. package/dist/cjs/components/Search/Search.stories.d.ts +7 -1
  27. package/dist/cjs/components/Search/Search.tokens.d.ts +4 -1
  28. package/dist/cjs/components/SkipToContent/SkipToContent.stories.d.ts +1 -1
  29. package/dist/cjs/components/Table/Cell.d.ts +1 -1
  30. package/dist/cjs/components/Table/Table.d.ts +4 -0
  31. package/dist/cjs/components/Table/Table.stories.d.ts +7 -0
  32. package/dist/cjs/components/Table/Table.tokens.d.ts +72 -0
  33. package/dist/cjs/components/Tag/Tag.stories.d.ts +1 -1
  34. package/dist/cjs/components/ToggleButton/ToggleButton.stories.d.ts +1 -1
  35. package/dist/cjs/components/Tooltip/Tooltip.stories.d.ts +1 -1
  36. package/dist/cjs/components/Typography/Caption/Caption.stories.d.ts +1 -1
  37. package/dist/cjs/components/Typography/Heading/Heading.stories.d.ts +1 -1
  38. package/dist/cjs/components/Typography/Label/Label.stories.d.ts +1 -1
  39. package/dist/cjs/components/Typography/Legend/Legend.stories.d.ts +1 -1
  40. package/dist/cjs/components/Typography/Link/Link.stories.d.ts +1 -1
  41. package/dist/cjs/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
  42. package/dist/cjs/index.d.ts +1 -1
  43. package/dist/cjs/index.js +920 -854
  44. package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
  45. package/dist/components/Button/Button.stories.d.ts +1 -1
  46. package/dist/components/Checkbox/Checkbox.stories.d.ts +1 -1
  47. package/dist/components/Chip/Chip.stories.d.ts +1 -1
  48. package/dist/components/DescriptionList/DescriptionList.stories.d.ts +1 -1
  49. package/dist/components/Divider/Divider.stories.d.ts +1 -1
  50. package/dist/components/Drawer/Drawer.stories.d.ts +1 -1
  51. package/dist/components/GlobalMessage/GlobalMessage.stories.d.ts +1 -1
  52. package/dist/components/InputMessage/InputMessage.stories.d.ts +1 -1
  53. package/dist/components/List/List.stories.d.ts +1 -1
  54. package/dist/components/LocalMessage/LocalMessage.stories.d.ts +1 -1
  55. package/dist/components/Modal/Modal.stories.d.ts +1 -1
  56. package/dist/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
  57. package/dist/components/Pagination/Pagination.stories.d.ts +1 -1
  58. package/dist/components/Popover/Popover.stories.d.ts +1 -1
  59. package/dist/components/ProgressTracker/ProgressTracker.context.d.ts +6 -0
  60. package/dist/components/ProgressTracker/ProgressTracker.context.js +10 -0
  61. package/dist/components/ProgressTracker/ProgressTracker.d.ts +12 -0
  62. package/dist/components/ProgressTracker/ProgressTracker.js +93 -0
  63. package/dist/components/ProgressTracker/ProgressTracker.stories.d.ts +40 -0
  64. package/dist/components/ProgressTracker/ProgressTracker.tokens.d.ts +69 -0
  65. package/dist/components/ProgressTracker/ProgressTracker.tokens.js +80 -0
  66. package/dist/components/ProgressTracker/ProgressTrackerItem.d.ts +24 -0
  67. package/dist/components/ProgressTracker/ProgressTrackerItem.js +168 -0
  68. package/dist/components/ProgressTracker/index.d.ts +1 -0
  69. package/dist/components/RadioButton/RadioButton.stories.d.ts +1 -1
  70. package/dist/components/RadioButton/RadioButtonGroup.stories.d.ts +1 -1
  71. package/dist/components/Search/Search.d.ts +2 -2
  72. package/dist/components/Search/Search.js +36 -28
  73. package/dist/components/Search/Search.stories.d.ts +7 -1
  74. package/dist/components/Search/Search.tokens.d.ts +4 -1
  75. package/dist/components/Search/Search.tokens.js +6 -2
  76. package/dist/components/SkipToContent/SkipToContent.stories.d.ts +1 -1
  77. package/dist/components/Table/Cell.d.ts +1 -1
  78. package/dist/components/Table/Cell.js +6 -4
  79. package/dist/components/Table/Row.js +12 -5
  80. package/dist/components/Table/SortCell.js +8 -11
  81. package/dist/components/Table/Table.d.ts +4 -0
  82. package/dist/components/Table/Table.js +8 -3
  83. package/dist/components/Table/Table.stories.d.ts +7 -0
  84. package/dist/components/Table/Table.tokens.d.ts +72 -0
  85. package/dist/components/Table/Table.tokens.js +69 -0
  86. package/dist/components/Tag/Tag.stories.d.ts +1 -1
  87. package/dist/components/ToggleButton/ToggleButton.stories.d.ts +1 -1
  88. package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
  89. package/dist/components/Typography/Caption/Caption.stories.d.ts +1 -1
  90. package/dist/components/Typography/Heading/Heading.stories.d.ts +1 -1
  91. package/dist/components/Typography/Label/Label.stories.d.ts +1 -1
  92. package/dist/components/Typography/Legend/Legend.stories.d.ts +1 -1
  93. package/dist/components/Typography/Link/Link.stories.d.ts +1 -1
  94. package/dist/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
  95. package/dist/index.d.ts +1 -1
  96. package/dist/index.js +1 -2
  97. package/package.json +1 -1
  98. package/dist/cjs/components/Stepper/Step.d.ts +0 -20
  99. package/dist/cjs/components/Stepper/Stepper.context.d.ts +0 -6
  100. package/dist/cjs/components/Stepper/Stepper.d.ts +0 -11
  101. package/dist/cjs/components/Stepper/Stepper.stories.d.ts +0 -25
  102. package/dist/cjs/components/Stepper/Stepper.tokens.d.ts +0 -39
  103. package/dist/cjs/components/Stepper/index.d.ts +0 -2
  104. package/dist/cjs/components/Table/Cell.tokens.d.ts +0 -31
  105. package/dist/cjs/components/Table/Row.tokens.d.ts +0 -32
  106. package/dist/components/Stepper/Step.d.ts +0 -20
  107. package/dist/components/Stepper/Step.js +0 -118
  108. package/dist/components/Stepper/Stepper.context.d.ts +0 -6
  109. package/dist/components/Stepper/Stepper.context.js +0 -10
  110. package/dist/components/Stepper/Stepper.d.ts +0 -11
  111. package/dist/components/Stepper/Stepper.js +0 -66
  112. package/dist/components/Stepper/Stepper.stories.d.ts +0 -25
  113. package/dist/components/Stepper/Stepper.tokens.d.ts +0 -39
  114. package/dist/components/Stepper/Stepper.tokens.js +0 -49
  115. package/dist/components/Stepper/index.d.ts +0 -2
  116. package/dist/components/Table/Cell.tokens.d.ts +0 -31
  117. package/dist/components/Table/Cell.tokens.js +0 -60
  118. package/dist/components/Table/Row.tokens.d.ts +0 -32
  119. package/dist/components/Table/Row.tokens.js +0 -73
@@ -0,0 +1,168 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useMemo } from 'react';
3
+ import styled, { css } from 'styled-components';
4
+ import { focusVisibleTransitionValue, focusVisible } from '../../helpers/styling/focusVisible.js';
5
+ import '../../helpers/styling/hover.js';
6
+ import '../../helpers/styling/focus.js';
7
+ import '../../helpers/styling/danger.js';
8
+ import '../../helpers/styling/selection.js';
9
+ import 'tslib';
10
+ import '../../icons/utils/StyledSvg.js';
11
+ import { CheckIcon } from '../../icons/tsx/check.js';
12
+ import { Icon } from '../Icon/Icon.js';
13
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.js';
14
+ import { useProgressTrackerContext } from './ProgressTracker.context.js';
15
+ import { progressTrackerTokens } from './ProgressTracker.tokens.js';
16
+
17
+ var toItemState = function toItemState(active, completed, disabled) {
18
+ if (disabled) {
19
+ return 'disabled';
20
+ }
21
+
22
+ if (active) {
23
+ return completed ? 'activeCompleted' : 'activeIncomplete';
24
+ } else {
25
+ return completed ? 'inactiveCompleted' : 'inactiveIncomplete';
26
+ }
27
+ };
28
+
29
+ var itemNumber = progressTrackerTokens.itemNumber,
30
+ itemText = progressTrackerTokens.itemText,
31
+ itemContentWrapper = progressTrackerTokens.itemContentWrapper;
32
+ var ItemWrapper = styled.li.withConfig({
33
+ displayName: "ProgressTrackerItem__ItemWrapper",
34
+ componentId: "sc-1j9qaj9-0"
35
+ })(["flex:1;position:relative;display:flex;justify-content:center;"]);
36
+ var ItemNumber = styled.div.withConfig({
37
+ displayName: "ProgressTrackerItem__ItemNumber",
38
+ componentId: "sc-1j9qaj9-1"
39
+ })(["border-radius:50%;border:", " solid;width:", ";height:", ";display:flex;align-items:center;justify-content:center;z-index:2;font-size:", ";font-weight:600;", ""], itemNumber.borderWidth, itemNumber.size, itemNumber.size, itemNumber.fontSize, function (_ref) {
40
+ var state = _ref.state;
41
+
42
+ switch (state) {
43
+ case 'activeIncomplete':
44
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.active.borderColor, itemNumber.active.color, itemNumber.active.backgroundColor);
45
+
46
+ case 'activeCompleted':
47
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.completed.borderColor, itemNumber.completed.color, itemNumber.completed.backgroundColor);
48
+
49
+ case 'inactiveCompleted':
50
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.completed.borderColor, itemNumber.completed.color, itemNumber.completed.backgroundColor);
51
+
52
+ case 'inactiveIncomplete':
53
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.inactive.borderColor, itemNumber.inactive.color, itemNumber.inactive.backgroundColor);
54
+
55
+ case 'disabled':
56
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.disabled.borderColor, itemNumber.disabled.color, itemNumber.disabled.backgroundColor);
57
+ }
58
+ });
59
+ var ItemText = styled.div.withConfig({
60
+ displayName: "ProgressTrackerItem__ItemText",
61
+ componentId: "sc-1j9qaj9-2"
62
+ })(["font-family:", ";font-size:", ";text-align:start;", ""], itemText.fontFamily, itemText.fontSize, function (_ref2) {
63
+ var state = _ref2.state;
64
+
65
+ switch (state) {
66
+ case 'activeCompleted':
67
+ case 'activeIncomplete':
68
+ return css(["color:", ";text-decoration ", ";"], itemText.active.color, itemText.active.textDecoration);
69
+
70
+ case 'inactiveCompleted':
71
+ case 'inactiveIncomplete':
72
+ return css(["color:", ";text-decoration ", ";"], itemText.inactive.color, itemText.inactive.textDecoration);
73
+
74
+ case 'disabled':
75
+ return css(["color:", ";text-decoration:", ";"], itemText.disabled.color, itemText.disabled.textDecoration);
76
+ }
77
+ });
78
+ var ItemContentWrapper = styled.div.withConfig({
79
+ displayName: "ProgressTrackerItem__ItemContentWrapper",
80
+ componentId: "sc-1j9qaj9-3"
81
+ })(["background:none;border:none;margin:0;padding:0;display:grid;grid-template-columns:", " 1fr;justify-content:flex-start;align-items:center;font-family:inherit;gap:", ";transition:", ";:focus-visible{", "}", " ", ""], itemNumber.size, itemContentWrapper.gap, focusVisibleTransitionValue, focusVisible, function (_ref3) {
82
+ var clickable = _ref3.clickable,
83
+ state = _ref3.state;
84
+
85
+ if (clickable) {
86
+ return css([":hover{", "{", "}", "{", "}}"], ItemNumber, function () {
87
+ if (state === 'inactiveCompleted') {
88
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.completed.hover.borderColor, itemNumber.completed.hover.color, itemNumber.completed.hover.backgroundColor);
89
+ } else if (state === 'inactiveIncomplete') {
90
+ return css(["border-color:", ";color:", ";background-color:", ";"], itemNumber.inactive.hover.borderColor, itemNumber.inactive.hover.color, itemNumber.inactive.hover.backgroundColor);
91
+ }
92
+ }, ItemText, function () {
93
+ if (state !== 'disabled') {
94
+ return css(["text-decoration ", ";"], itemText.inactive.hover.textDecoration);
95
+ }
96
+ });
97
+ }
98
+ }, function (_ref4) {
99
+ var clickable = _ref4.clickable,
100
+ state = _ref4.state;
101
+ return clickable && state !== 'disabled' && css(["cursor:pointer;"]);
102
+ });
103
+
104
+ var getVisuallyHiddenText = function getVisuallyHiddenText(active, completed, index) {
105
+ return "".concat(index + 1, ", ").concat(active ? '' : 'Trinn, ').concat(completed ? 'Ferdig, ' : 'Ikke ferdig, ');
106
+ };
107
+
108
+ var ProgressTrackerItem = function ProgressTrackerItem(props) {
109
+ var _props$index = props.index,
110
+ index = _props$index === void 0 ? 0 : _props$index,
111
+ _props$completed = props.completed,
112
+ completed = _props$completed === void 0 ? false : _props$completed,
113
+ _props$disabled = props.disabled,
114
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
115
+ icon = props.icon,
116
+ children = props.children;
117
+
118
+ var _useProgressTrackerCo = useProgressTrackerContext(),
119
+ activeStep = _useProgressTrackerCo.activeStep;
120
+
121
+ var active = activeStep === index;
122
+ var styleProps = {
123
+ state: toItemState(active, completed, disabled),
124
+ clickable: props.onClick !== undefined
125
+ };
126
+ var stepNumberContent = useMemo(function () {
127
+ if (completed) {
128
+ return jsx(Icon, {
129
+ icon: CheckIcon,
130
+ iconSize: itemNumber.iconSize
131
+ });
132
+ }
133
+
134
+ if (icon !== undefined) {
135
+ return jsx(Icon, {
136
+ icon: icon,
137
+ iconSize: itemNumber.iconSize
138
+ });
139
+ }
140
+
141
+ return index + 1;
142
+ }, [completed, icon, index]);
143
+ return jsx(ItemWrapper, Object.assign({
144
+ "aria-current": active ? 'step' : undefined
145
+ }, {
146
+ children: jsxs(ItemContentWrapper, Object.assign({}, styleProps, {
147
+ as: props.onClick ? 'button' : 'div',
148
+ onClick: !disabled && props.onClick ? function () {
149
+ return props.onClick(index);
150
+ } : undefined,
151
+ disabled: disabled
152
+ }, {
153
+ children: [jsx(ItemNumber, Object.assign({}, styleProps, {
154
+ "aria-hidden": true
155
+ }, {
156
+ children: stepNumberContent
157
+ })), jsxs(ItemText, Object.assign({}, styleProps, {
158
+ children: [jsx(VisuallyHidden, Object.assign({
159
+ as: "span"
160
+ }, {
161
+ children: getVisuallyHiddenText(active, completed, index)
162
+ })), children]
163
+ }))]
164
+ }))
165
+ }));
166
+ };
167
+
168
+ export { ProgressTrackerItem };
@@ -0,0 +1 @@
1
+ export * from './ProgressTracker';
@@ -1,7 +1,7 @@
1
1
  import { RadioButtonProps } from '.';
2
2
  declare const _default: {
3
3
  title: string;
4
- component: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "name" | "aria-describedby" | "onChange" | "value" | "checked" | "readOnly" | "required">, "className" | "id"> & {
4
+ component: import("react").ForwardRefExoticComponent<Pick<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "name" | "aria-describedby" | "onChange" | "value" | "checked" | "readOnly" | "required">, "id" | "className"> & {
5
5
  label?: string | undefined;
6
6
  disabled?: boolean | undefined;
7
7
  error?: boolean | undefined;
@@ -1,7 +1,7 @@
1
1
  import { RadioButtonGroupProps } from '.';
2
2
  declare const _default: {
3
3
  title: string;
4
- component: <T extends string | number = string>(props: Pick<Omit<import("react").HTMLAttributes<HTMLDivElement>, "onChange">, "className" | "id"> & {
4
+ component: <T extends string | number = string>(props: Pick<Omit<import("react").HTMLAttributes<HTMLDivElement>, "onChange">, "id" | "className"> & {
5
5
  name?: string | undefined;
6
6
  label?: string | undefined;
7
7
  onChange?: ((event: import("react").ChangeEvent<HTMLInputElement>, value: T | undefined) => void) | undefined;
@@ -6,13 +6,13 @@ declare type ButtonProps = {
6
6
  label?: string;
7
7
  loading?: boolean;
8
8
  } & ButtonHTMLAttributes<HTMLButtonElement>;
9
- export declare type SearchProps = Pick<BaseInputProps, 'tip'> & {
9
+ export declare type SearchProps = Pick<BaseInputProps, 'tip' | 'label'> & {
10
10
  /**Størrelsen på komponenten. */
11
11
  componentSize?: SearchSize;
12
12
  /**Props for søkeknappen. */
13
13
  buttonProps?: ButtonProps;
14
14
  } & InputHTMLAttributes<HTMLInputElement>;
15
- export declare const Search: import("react").ForwardRefExoticComponent<Pick<BaseInputProps, "tip"> & {
15
+ export declare const Search: import("react").ForwardRefExoticComponent<Pick<BaseInputProps, "label" | "tip"> & {
16
16
  /**Størrelsen på komponenten. */
17
17
  componentSize?: SearchSize | undefined;
18
18
  /**Props for søkeknappen. */
@@ -7,7 +7,7 @@ import { searchTokens } from './Search.tokens.js';
7
7
  import '../../helpers/Backdrop/Backdrop.js';
8
8
  import '../../helpers/Chevron/AnimatedChevronUpDown.styles.js';
9
9
  import '../../helpers/HiddenInput/HiddenInput.js';
10
- import { Input as Input$1, OuterInputContainer } from '../../helpers/Input/Input.styles.js';
10
+ import { Input as Input$1 } from '../../helpers/Input/Input.styles.js';
11
11
  import '../../helpers/Input/Input.tokens.js';
12
12
  import '../../helpers/Paper/Paper.js';
13
13
  import '../../helpers/RequiredMarker/RequiredMarker.js';
@@ -17,9 +17,13 @@ import '../../utils/color.js';
17
17
  import { Icon } from '../Icon/Icon.js';
18
18
  import '../../icons/utils/StyledSvg.js';
19
19
  import { SearchIcon } from '../../icons/tsx/search.js';
20
+ import '../Typography/Typography/Typography.js';
21
+ import { Label } from '../Typography/Label/Label.js';
22
+ import '../Typography/Link/Link.js';
20
23
 
21
24
  var input = searchTokens.input,
22
- container = searchTokens.container,
25
+ outerContainer = searchTokens.outerContainer,
26
+ horisontalContainer = searchTokens.horisontalContainer,
23
27
  icon = searchTokens.icon;
24
28
 
25
29
  var getIconSize = function getIconSize(size) {
@@ -49,32 +53,34 @@ var StyledIcon = styled(Icon).withConfig({
49
53
  var size = _ref2.size;
50
54
  return css(["top:", ";"], searchTokens.icon[size].top);
51
55
  });
52
- var Container = styled.div.withConfig({
53
- displayName: "Search__Container",
56
+ var OuterContainer = styled.div.withConfig({
57
+ displayName: "Search__OuterContainer",
54
58
  componentId: "sc-1ax3s9s-2"
55
- })(["display:flex;flex-direction:row;gap:", ";"], container.gap);
59
+ })(["display:flex;flex-direction:column;gap:", ";"], outerContainer.gap);
60
+ var HorisontalContainer = styled.div.withConfig({
61
+ displayName: "Search__HorisontalContainer",
62
+ componentId: "sc-1ax3s9s-3"
63
+ })(["display:grid;grid-template-columns:1fr auto;gap:", ";"], horisontalContainer.gap);
56
64
  var InputContainer = styled.div.withConfig({
57
65
  displayName: "Search__InputContainer",
58
- componentId: "sc-1ax3s9s-3"
59
- })(["position:relative;"]);
60
- var ButtonWrapper = styled.div.withConfig({
61
- displayName: "Search__ButtonWrapper",
62
66
  componentId: "sc-1ax3s9s-4"
63
- })([""]);
67
+ })(["position:relative;"]);
64
68
  var Search = /*#__PURE__*/forwardRef(function (_a, ref) {
65
69
  var _a$componentSize = _a.componentSize,
66
70
  componentSize = _a$componentSize === void 0 ? 'medium' : _a$componentSize,
67
71
  buttonProps = _a.buttonProps,
68
72
  name = _a.name,
73
+ label = _a.label,
69
74
  tip = _a.tip,
70
75
  id = _a.id,
71
76
  className = _a.className,
72
77
  style = _a.style,
73
78
  ariaDescribedby = _a['aria-describedby'],
74
- rest = __rest(_a, ["componentSize", "buttonProps", "name", "tip", "id", "className", "style", 'aria-describedby']);
79
+ rest = __rest(_a, ["componentSize", "buttonProps", "name", "label", "tip", "id", "className", "style", 'aria-describedby']);
75
80
 
76
81
  var generatedId = useId();
77
82
  var uniqueId = id !== null && id !== void 0 ? id : "".concat(generatedId, "-searchInput");
83
+ var hasLabel = !!label;
78
84
  var hasTip = !!tip;
79
85
  var tipId = derivativeIdGenerator(uniqueId, 'tip', tip);
80
86
  var containerProps = {
@@ -92,33 +98,35 @@ var Search = /*#__PURE__*/forwardRef(function (_a, ref) {
92
98
  });
93
99
 
94
100
  var _b = buttonProps || {},
95
- label = _b.label,
101
+ buttonLabel = _b.label,
96
102
  onClick = _b.onClick,
97
103
  otherButtonProps = __rest(_b, ["label", "onClick"]);
98
104
 
99
- return jsxs(Container, Object.assign({}, containerProps, {
100
- children: [jsxs(OuterInputContainer, Object.assign({
101
- width: "100%"
105
+ return jsxs(OuterContainer, {
106
+ children: [hasLabel && jsx(Label, Object.assign({
107
+ htmlFor: uniqueId
102
108
  }, {
103
- children: [jsxs(InputContainer, {
104
- children: [jsx(StyledIcon, {
105
- icon: SearchIcon,
109
+ children: label
110
+ })), jsxs("div", {
111
+ children: [jsxs(HorisontalContainer, Object.assign({}, containerProps, {
112
+ children: [jsxs(InputContainer, {
113
+ children: [jsx(StyledIcon, {
114
+ icon: SearchIcon,
115
+ size: componentSize,
116
+ iconSize: getIconSize(componentSize)
117
+ }), jsx(Input, Object.assign({}, inputProps))]
118
+ }), buttonProps && onClick && jsx(Button, Object.assign({
106
119
  size: componentSize,
107
- iconSize: getIconSize(componentSize)
108
- }), jsx(Input, Object.assign({}, inputProps))]
109
- }), hasTip && jsx(InputMessage, {
120
+ label: buttonLabel || 'Søk',
121
+ onClick: onClick
122
+ }, otherButtonProps))]
123
+ })), hasTip && jsx(InputMessage, {
110
124
  id: tipId,
111
125
  messageType: "tip",
112
126
  message: tip
113
127
  })]
114
- })), buttonProps && onClick && jsx(ButtonWrapper, {
115
- children: jsx(Button, Object.assign({
116
- size: componentSize,
117
- label: label || 'Søk',
118
- onClick: onClick
119
- }, otherButtonProps))
120
128
  })]
121
- }));
129
+ });
122
130
  });
123
131
 
124
132
  export { Search };
@@ -1,7 +1,7 @@
1
1
  import { SearchProps } from './Search';
2
2
  declare const _default: {
3
3
  title: string;
4
- component: import("react").ForwardRefExoticComponent<Pick<import("../../helpers").InputProps, "tip"> & {
4
+ component: import("react").ForwardRefExoticComponent<Pick<import("../../helpers").InputProps, "label" | "tip"> & {
5
5
  componentSize?: import("./Search").SearchSize | undefined;
6
6
  buttonProps?: ({
7
7
  onClick: (event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void;
@@ -15,6 +15,11 @@ declare const _default: {
15
15
  type: string;
16
16
  };
17
17
  };
18
+ label: {
19
+ control: {
20
+ type: string;
21
+ };
22
+ };
18
23
  };
19
24
  parameters: {
20
25
  controls: {
@@ -24,5 +29,6 @@ declare const _default: {
24
29
  };
25
30
  export default _default;
26
31
  export declare const Overview: (args: SearchProps) => JSX.Element;
32
+ export declare const OverviewSizes: (args: SearchProps) => JSX.Element;
27
33
  export declare const Default: (args: SearchProps) => JSX.Element;
28
34
  export declare const WithButton: (args: SearchProps) => JSX.Element;
@@ -61,7 +61,10 @@ export declare const searchTokens: {
61
61
  top: string;
62
62
  };
63
63
  };
64
- container: {
64
+ horisontalContainer: {
65
+ gap: string;
66
+ };
67
+ outerContainer: {
65
68
  gap: string;
66
69
  };
67
70
  };
@@ -33,9 +33,12 @@ var input = {
33
33
  }
34
34
  }
35
35
  };
36
- var container = {
36
+ var horisontalContainer = {
37
37
  gap: spacing.SizesDdsSpacingLocalX05
38
38
  };
39
+ var outerContainer = {
40
+ gap: spacing.SizesDdsSpacingLocalX0125
41
+ };
39
42
  var icon = {
40
43
  base: {
41
44
  left: spacing.SizesDdsSpacingLocalX075,
@@ -54,7 +57,8 @@ var icon = {
54
57
  var searchTokens = {
55
58
  input: input,
56
59
  icon: icon,
57
- container: container
60
+ horisontalContainer: horisontalContainer,
61
+ outerContainer: outerContainer
58
62
  };
59
63
 
60
64
  export { searchTokens };
@@ -1,7 +1,7 @@
1
1
  import { SkipToContentProps } from '.';
2
2
  declare const _default: {
3
3
  title: string;
4
- component: import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLAnchorElement>, "className" | "id"> & {
4
+ component: import("react").ForwardRefExoticComponent<Pick<import("react").HTMLAttributes<HTMLAnchorElement>, "id" | "className"> & {
5
5
  text?: string | undefined;
6
6
  href: string;
7
7
  top?: import("csstype").Property.Top<string | number> | undefined;
@@ -4,7 +4,7 @@ export declare type TableCellLayout = 'left' | 'right' | 'center' | 'text and ic
4
4
  export declare type TableCellProps = {
5
5
  /**Type celle. Returnerer enten `<td>` eller `<th>`. */
6
6
  type?: TableCellType;
7
- /**Layout av innholdet i cellen. 'tekst and icon' legger margin mellom første barnet og andre barnet i cellen, og skal hovedsakelig brukes når innholdet er tekst og ikon; tekst må bli wrappet i `<span>` hvis det er det første barnet. */
7
+ /**Layout av innholdet i cellen. 'tekst and icon' legger `gap` mellom barna og andre barnet i cellen. */
8
8
  layout?: TableCellLayout;
9
9
  } & (TdHTMLAttributes<HTMLTableCellElement> | ThHTMLAttributes<HTMLTableCellElement>);
10
10
  export declare const Cell: import("react").ForwardRefExoticComponent<TableCellProps & import("react").RefAttributes<HTMLTableCellElement>>;
@@ -2,7 +2,9 @@ import { __rest } from 'tslib';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import styled, { css } from 'styled-components';
5
- import { cellTokens } from './Cell.tokens.js';
5
+ import { tableTokens } from './Table.tokens.js';
6
+
7
+ var cell = tableTokens.cell;
6
8
 
7
9
  var layoutStyle = function layoutStyle(layout) {
8
10
  switch (layout) {
@@ -13,7 +15,7 @@ var layoutStyle = function layoutStyle(layout) {
13
15
  return css(["justify-content:flex-end;"]);
14
16
 
15
17
  case 'text and icon':
16
- return css(["& > *:first-of-type{", "}"], cellTokens.data.layout.textAndIcon.base);
18
+ return css(["gap:", ";"], cell.layout.textAndIcon.gap);
17
19
 
18
20
  default:
19
21
  case 'left':
@@ -24,9 +26,9 @@ var layoutStyle = function layoutStyle(layout) {
24
26
  var StyledCell = styled.td.withConfig({
25
27
  displayName: "Cell__StyledCell",
26
28
  componentId: "sc-ghfpfs-0"
27
- })(["", " ", ""], cellTokens.base, function (_ref) {
29
+ })(["", ""], function (_ref) {
28
30
  var type = _ref.type;
29
- return type && css(["", ""], cellTokens[type].base);
31
+ return type === 'head' && css(["background-color:", ";"], cell.head.backgroundColor);
30
32
  });
31
33
  var InnerCell = styled.div.withConfig({
32
34
  displayName: "Cell__InnerCell",
@@ -2,24 +2,31 @@ import { __rest } from 'tslib';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import styled, { css } from 'styled-components';
5
- import { rowTokens } from './Row.tokens.js';
5
+ import { focusVisibleInset } from '../../helpers/styling/focusVisible.js';
6
+ import '../../helpers/styling/hover.js';
7
+ import '../../helpers/styling/focus.js';
8
+ import '../../helpers/styling/danger.js';
9
+ import '../../helpers/styling/selection.js';
10
+ import { tableTokens } from './Table.tokens.js';
11
+
12
+ var row = tableTokens.row;
6
13
 
7
14
  var bodyStyles = function bodyStyles(mode, selected) {
8
- return css(["", " ", ""], mode && css(["", ""], rowTokens.body.mode[mode].base), selected && css(["", ""], rowTokens.body.selected.base));
15
+ return css(["", " ", ""], mode === 'sum' && css(["font-weight:600;border-top:", ";border-bottom:", ";background-color:", ";"], row.body.mode.sum.borderTop, row.body.mode.sum.borderBottom, row.body.mode.sum.backgroundColor), selected && css(["background-color:", ";"], row.body.selected.backgroundColor));
9
16
  };
10
17
 
11
18
  var StyledRow = styled.tr.withConfig({
12
19
  displayName: "Row__StyledRow",
13
20
  componentId: "sc-15vvjkk-0"
14
- })(["@media (prefers-reduced-motion:no-preference){transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s;}", " ", ""], function (_ref) {
21
+ })(["@media (prefers-reduced-motion:no-preference){transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s;}", " color:", ";", " ", ""], row.base.font, row.base.color, function (_ref) {
15
22
  var type = _ref.type;
16
- return type && css(["", ""], rowTokens[type].base);
23
+ return type === 'head' && css(["font-weight:600;text-align:left;"]);
17
24
  }, function (_ref2) {
18
25
  var type = _ref2.type,
19
26
  mode = _ref2.mode,
20
27
  selected = _ref2.selected,
21
28
  hoverable = _ref2.hoverable;
22
- return type === 'body' && css(["&:nth-of-type(even){", " ", "}&:nth-of-type(odd){", " ", "}", " &:focus-visible,&.focus-visible{", "}"], rowTokens.body.even.base, bodyStyles(mode, selected), rowTokens.body.odd.base, bodyStyles(mode, selected), hoverable && css(["&:hover{", "}"], rowTokens.body.hover.base), rowTokens.body.focus.base);
29
+ return type === 'body' && css(["&:nth-of-type(even){background-color:", ";", "}&:nth-of-type(odd){background-color:", ";", "}", " &:focus-visible,&.focus-visible{", "}"], row.body.even.backgroundColor, bodyStyles(mode, selected), row.body.odd.backgroundColor, bodyStyles(mode, selected), hoverable && css(["&:hover{background-color:", ";}"], row.body.hover.backgroundColor), focusVisibleInset);
23
30
  });
24
31
  var Row = /*#__PURE__*/forwardRef(function (_a, ref) {
25
32
  var _a$type = _a.type,
@@ -2,7 +2,7 @@ import { __rest } from 'tslib';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { Cell } from './Cell.js';
5
- import { cellTokens } from './Cell.tokens.js';
5
+ import { tableTokens } from './Table.tokens.js';
6
6
  import { Icon } from '../Icon/Icon.js';
7
7
  import '../../icons/utils/StyledSvg.js';
8
8
  import { ChevronDownIcon } from '../../icons/tsx/chevronDown.js';
@@ -10,33 +10,30 @@ import { ChevronUpIcon } from '../../icons/tsx/chevronUp.js';
10
10
  import { UnfoldMoreIcon } from '../../icons/tsx/unfoldMore.js';
11
11
  import styled from 'styled-components';
12
12
  import { removeButtonStyling } from '../../helpers/styling/removeButtonStyling.js';
13
- import '../../helpers/styling/focusVisible.js';
13
+ import { focusVisible } from '../../helpers/styling/focusVisible.js';
14
14
  import '../../helpers/styling/hover.js';
15
15
  import '../../helpers/styling/focus.js';
16
16
  import '../../helpers/styling/danger.js';
17
17
  import '../../helpers/styling/selection.js';
18
18
 
19
- var SortIcon = styled(Icon).withConfig({
20
- displayName: "SortCell__SortIcon",
21
- componentId: "sc-1l3jzvh-0"
22
- })(["", ""], cellTokens.head.sortCell.icon.base);
19
+ var cell = tableTokens.cell;
23
20
  var StyledButton = styled.button.withConfig({
24
21
  displayName: "SortCell__StyledButton",
25
- componentId: "sc-1l3jzvh-1"
26
- })(["", " display:flex;align-items:center;&:focus-visible{", "}"], removeButtonStyling, cellTokens.head.sortCell.focus.base);
22
+ componentId: "sc-1l3jzvh-0"
23
+ })(["", " display:flex;align-items:center;gap:", ";&:focus-visible{", "}"], removeButtonStyling, cell.sort.gap, focusVisible);
27
24
 
28
25
  var makeSortIcon = function makeSortIcon(isSorted, sortOrder) {
29
26
  if (!isSorted || !sortOrder) {
30
- return jsx(SortIcon, {
27
+ return jsx(Icon, {
31
28
  icon: UnfoldMoreIcon,
32
29
  iconSize: "inherit"
33
30
  });
34
31
  }
35
32
 
36
- return sortOrder === 'ascending' ? jsx(SortIcon, {
33
+ return sortOrder === 'ascending' ? jsx(Icon, {
37
34
  icon: ChevronDownIcon,
38
35
  iconSize: "inherit"
39
- }) : jsx(SortIcon, {
36
+ }) : jsx(Icon, {
40
37
  icon: ChevronUpIcon,
41
38
  iconSize: "inherit"
42
39
  });
@@ -5,10 +5,14 @@ export declare type TableProps = {
5
5
  density?: TableDensity;
6
6
  /**Spesifiserer om cellene i `<Head>` skal bli sticky ved scrolling. */
7
7
  stickyHeader?: boolean;
8
+ /**Legger skillelinjer mellom radene. */
9
+ withDividers?: boolean;
8
10
  } & HTMLAttributes<HTMLTableElement>;
9
11
  export declare const Table: import("react").ForwardRefExoticComponent<{
10
12
  /**Spesifiserer hvor romslige cellene i tabellen skal være. */
11
13
  density?: TableDensity | undefined;
12
14
  /**Spesifiserer om cellene i `<Head>` skal bli sticky ved scrolling. */
13
15
  stickyHeader?: boolean | undefined;
16
+ /**Legger skillelinjer mellom radene. */
17
+ withDividers?: boolean | undefined;
14
18
  } & HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>>;
@@ -10,17 +10,22 @@ import { selection } from '../../helpers/styling/selection.js';
10
10
  import '../ScrollableContainer/Scrollbar.js';
11
11
  import '../ScrollableContainer/ScrollableContainer.js';
12
12
  import { scrollbarStyling } from '../ScrollableContainer/scrollbarStyling.js';
13
- import { cellTokens } from './Cell.tokens.js';
13
+ import { tableTokens } from './Table.tokens.js';
14
14
 
15
+ var cell = tableTokens.cell,
16
+ row = tableTokens.row;
15
17
  var StyledTable = styled.table.withConfig({
16
18
  displayName: "Table__StyledTable",
17
19
  componentId: "sc-bw0w0a-0"
18
- })(["border-spacing:0;border-collapse:collapse;*::selection{", "}", " ", " ", " ", ""], selection, scrollbarStyling.webkit, scrollbarStyling.firefox, function (_ref) {
20
+ })(["border-spacing:0;border-collapse:collapse;*::selection{", "}", " ", " ", " ", " ", ""], selection, scrollbarStyling.webkit, scrollbarStyling.firefox, function (_ref) {
19
21
  var density = _ref.density;
20
- return density && css(["td,th{", "}"], cellTokens.density[density].base);
22
+ return css(["td,th{padding:", ";}"], cell.density[density].padding);
21
23
  }, function (_ref2) {
22
24
  var stickyHeader = _ref2.stickyHeader;
23
25
  return stickyHeader && css(["tr[type='head']{th[type='head']{position:sticky;top:0;}}"]);
26
+ }, function (_ref3) {
27
+ var withDividers = _ref3.withDividers;
28
+ return withDividers && css(["tr[type='body']{border-bottom:", ";}"], row.body.withDividers.borderBottom);
24
29
  });
25
30
  var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
26
31
  var _a$density = _a.density,
@@ -4,6 +4,7 @@ declare const _default: {
4
4
  component: import("react").ForwardRefExoticComponent<{
5
5
  density?: import("./Table").TableDensity | undefined;
6
6
  stickyHeader?: boolean | undefined;
7
+ withDividers?: boolean | undefined;
7
8
  } & import("react").HTMLAttributes<HTMLTableElement> & import("react").RefAttributes<HTMLTableElement>>;
8
9
  argTypes: {
9
10
  stickyHeader: {
@@ -11,10 +12,16 @@ declare const _default: {
11
12
  type: string;
12
13
  };
13
14
  };
15
+ withDividers: {
16
+ control: {
17
+ type: string;
18
+ };
19
+ };
14
20
  };
15
21
  };
16
22
  export default _default;
17
23
  export declare const Default: (args: TableProps) => JSX.Element;
24
+ export declare const withDividers: (args: TableProps) => JSX.Element;
18
25
  export declare const Focusable: (args: TableProps) => JSX.Element;
19
26
  export declare const Compact: (args: TableProps) => JSX.Element;
20
27
  export declare const StickyHeader: (args: TableProps) => JSX.Element;