@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.
- package/README.md +1 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
- package/dist/cjs/components/Button/Button.stories.d.ts +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +1 -1
- package/dist/cjs/components/Chip/Chip.stories.d.ts +1 -1
- package/dist/cjs/components/DescriptionList/DescriptionList.stories.d.ts +1 -1
- package/dist/cjs/components/Divider/Divider.stories.d.ts +1 -1
- package/dist/cjs/components/Drawer/Drawer.stories.d.ts +1 -1
- package/dist/cjs/components/GlobalMessage/GlobalMessage.stories.d.ts +1 -1
- package/dist/cjs/components/InputMessage/InputMessage.stories.d.ts +1 -1
- package/dist/cjs/components/List/List.stories.d.ts +1 -1
- package/dist/cjs/components/LocalMessage/LocalMessage.stories.d.ts +1 -1
- package/dist/cjs/components/Modal/Modal.stories.d.ts +1 -1
- package/dist/cjs/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
- package/dist/cjs/components/Pagination/Pagination.stories.d.ts +1 -1
- package/dist/cjs/components/Popover/Popover.stories.d.ts +1 -1
- package/dist/cjs/components/ProgressTracker/ProgressTracker.context.d.ts +6 -0
- package/dist/cjs/components/ProgressTracker/ProgressTracker.d.ts +12 -0
- package/dist/cjs/components/ProgressTracker/ProgressTracker.stories.d.ts +40 -0
- package/dist/cjs/components/ProgressTracker/ProgressTracker.tokens.d.ts +69 -0
- package/dist/cjs/components/ProgressTracker/ProgressTrackerItem.d.ts +24 -0
- package/dist/cjs/components/ProgressTracker/index.d.ts +1 -0
- package/dist/cjs/components/RadioButton/RadioButton.stories.d.ts +1 -1
- package/dist/cjs/components/RadioButton/RadioButtonGroup.stories.d.ts +1 -1
- package/dist/cjs/components/Search/Search.d.ts +2 -2
- package/dist/cjs/components/Search/Search.stories.d.ts +7 -1
- package/dist/cjs/components/Search/Search.tokens.d.ts +4 -1
- package/dist/cjs/components/SkipToContent/SkipToContent.stories.d.ts +1 -1
- package/dist/cjs/components/Table/Cell.d.ts +1 -1
- package/dist/cjs/components/Table/Table.d.ts +4 -0
- package/dist/cjs/components/Table/Table.stories.d.ts +7 -0
- package/dist/cjs/components/Table/Table.tokens.d.ts +72 -0
- package/dist/cjs/components/Tag/Tag.stories.d.ts +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.stories.d.ts +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Heading/Heading.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Label/Label.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Legend/Legend.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Link/Link.stories.d.ts +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +920 -854
- package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
- package/dist/components/Button/Button.stories.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.stories.d.ts +1 -1
- package/dist/components/Chip/Chip.stories.d.ts +1 -1
- package/dist/components/DescriptionList/DescriptionList.stories.d.ts +1 -1
- package/dist/components/Divider/Divider.stories.d.ts +1 -1
- package/dist/components/Drawer/Drawer.stories.d.ts +1 -1
- package/dist/components/GlobalMessage/GlobalMessage.stories.d.ts +1 -1
- package/dist/components/InputMessage/InputMessage.stories.d.ts +1 -1
- package/dist/components/List/List.stories.d.ts +1 -1
- package/dist/components/LocalMessage/LocalMessage.stories.d.ts +1 -1
- package/dist/components/Modal/Modal.stories.d.ts +1 -1
- package/dist/components/OverflowMenu/OverflowMenu.stories.d.ts +1 -1
- package/dist/components/Pagination/Pagination.stories.d.ts +1 -1
- package/dist/components/Popover/Popover.stories.d.ts +1 -1
- package/dist/components/ProgressTracker/ProgressTracker.context.d.ts +6 -0
- package/dist/components/ProgressTracker/ProgressTracker.context.js +10 -0
- package/dist/components/ProgressTracker/ProgressTracker.d.ts +12 -0
- package/dist/components/ProgressTracker/ProgressTracker.js +93 -0
- package/dist/components/ProgressTracker/ProgressTracker.stories.d.ts +40 -0
- package/dist/components/ProgressTracker/ProgressTracker.tokens.d.ts +69 -0
- package/dist/components/ProgressTracker/ProgressTracker.tokens.js +80 -0
- package/dist/components/ProgressTracker/ProgressTrackerItem.d.ts +24 -0
- package/dist/components/ProgressTracker/ProgressTrackerItem.js +168 -0
- package/dist/components/ProgressTracker/index.d.ts +1 -0
- package/dist/components/RadioButton/RadioButton.stories.d.ts +1 -1
- package/dist/components/RadioButton/RadioButtonGroup.stories.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +2 -2
- package/dist/components/Search/Search.js +36 -28
- package/dist/components/Search/Search.stories.d.ts +7 -1
- package/dist/components/Search/Search.tokens.d.ts +4 -1
- package/dist/components/Search/Search.tokens.js +6 -2
- package/dist/components/SkipToContent/SkipToContent.stories.d.ts +1 -1
- package/dist/components/Table/Cell.d.ts +1 -1
- package/dist/components/Table/Cell.js +6 -4
- package/dist/components/Table/Row.js +12 -5
- package/dist/components/Table/SortCell.js +8 -11
- package/dist/components/Table/Table.d.ts +4 -0
- package/dist/components/Table/Table.js +8 -3
- package/dist/components/Table/Table.stories.d.ts +7 -0
- package/dist/components/Table/Table.tokens.d.ts +72 -0
- package/dist/components/Table/Table.tokens.js +69 -0
- package/dist/components/Tag/Tag.stories.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButton.stories.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/components/Typography/Caption/Caption.stories.d.ts +1 -1
- package/dist/components/Typography/Heading/Heading.stories.d.ts +1 -1
- package/dist/components/Typography/Label/Label.stories.d.ts +1 -1
- package/dist/components/Typography/Legend/Legend.stories.d.ts +1 -1
- package/dist/components/Typography/Link/Link.stories.d.ts +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.stories.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -2
- package/package.json +1 -1
- package/dist/cjs/components/Stepper/Step.d.ts +0 -20
- package/dist/cjs/components/Stepper/Stepper.context.d.ts +0 -6
- package/dist/cjs/components/Stepper/Stepper.d.ts +0 -11
- package/dist/cjs/components/Stepper/Stepper.stories.d.ts +0 -25
- package/dist/cjs/components/Stepper/Stepper.tokens.d.ts +0 -39
- package/dist/cjs/components/Stepper/index.d.ts +0 -2
- package/dist/cjs/components/Table/Cell.tokens.d.ts +0 -31
- package/dist/cjs/components/Table/Row.tokens.d.ts +0 -32
- package/dist/components/Stepper/Step.d.ts +0 -20
- package/dist/components/Stepper/Step.js +0 -118
- package/dist/components/Stepper/Stepper.context.d.ts +0 -6
- package/dist/components/Stepper/Stepper.context.js +0 -10
- package/dist/components/Stepper/Stepper.d.ts +0 -11
- package/dist/components/Stepper/Stepper.js +0 -66
- package/dist/components/Stepper/Stepper.stories.d.ts +0 -25
- package/dist/components/Stepper/Stepper.tokens.d.ts +0 -39
- package/dist/components/Stepper/Stepper.tokens.js +0 -49
- package/dist/components/Stepper/index.d.ts +0 -2
- package/dist/components/Table/Cell.tokens.d.ts +0 -31
- package/dist/components/Table/Cell.tokens.js +0 -60
- package/dist/components/Table/Row.tokens.d.ts +0 -32
- 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">, "
|
|
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">, "
|
|
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
|
|
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
|
-
|
|
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
|
|
53
|
-
displayName: "
|
|
56
|
+
var OuterContainer = styled.div.withConfig({
|
|
57
|
+
displayName: "Search__OuterContainer",
|
|
54
58
|
componentId: "sc-1ax3s9s-2"
|
|
55
|
-
})(["display:flex;flex-direction:
|
|
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
|
-
|
|
101
|
+
buttonLabel = _b.label,
|
|
96
102
|
onClick = _b.onClick,
|
|
97
103
|
otherButtonProps = __rest(_b, ["label", "onClick"]);
|
|
98
104
|
|
|
99
|
-
return jsxs(
|
|
100
|
-
children: [
|
|
101
|
-
|
|
105
|
+
return jsxs(OuterContainer, {
|
|
106
|
+
children: [hasLabel && jsx(Label, Object.assign({
|
|
107
|
+
htmlFor: uniqueId
|
|
102
108
|
}, {
|
|
103
|
-
children:
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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;
|
|
@@ -33,9 +33,12 @@ var input = {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
var
|
|
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
|
-
|
|
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>, "
|
|
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
|
|
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 {
|
|
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(["
|
|
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
|
-
})(["", "
|
|
29
|
+
})(["", ""], function (_ref) {
|
|
28
30
|
var type = _ref.type;
|
|
29
|
-
return type && css(["", ""],
|
|
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 {
|
|
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(["", ""],
|
|
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([""
|
|
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){", "
|
|
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 {
|
|
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
|
|
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-
|
|
26
|
-
})(["", " display:flex;align-items:center;&:focus-visible{", "}"], removeButtonStyling,
|
|
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(
|
|
27
|
+
return jsx(Icon, {
|
|
31
28
|
icon: UnfoldMoreIcon,
|
|
32
29
|
iconSize: "inherit"
|
|
33
30
|
});
|
|
34
31
|
}
|
|
35
32
|
|
|
36
|
-
return sortOrder === 'ascending' ? jsx(
|
|
33
|
+
return sortOrder === 'ascending' ? jsx(Icon, {
|
|
37
34
|
icon: ChevronDownIcon,
|
|
38
35
|
iconSize: "inherit"
|
|
39
|
-
}) : jsx(
|
|
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 {
|
|
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
|
|
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;
|