@navikt/ds-react 0.17.20 → 0.17.23
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/cjs/tooltip/Tooltip.js +4 -1
- package/esm/tooltip/Tooltip.js +4 -1
- package/esm/tooltip/Tooltip.js.map +1 -1
- package/package.json +4 -4
- package/src/form/checkbox/checkbox.stories.tsx +178 -0
- package/src/form/error-summary/error-summary.stories.tsx +42 -0
- package/src/form/radio/radio.stories.tsx +82 -0
- package/src/form/search/search.stories.tsx +124 -83
- package/src/tooltip/Tooltip.tsx +4 -1
- package/src/form/checkbox/stories/checkbox.stories.mdx +0 -203
- package/src/form/checkbox/stories/checkbox.stories.tsx +0 -109
- package/src/form/error-summary/stories/error-summary.stories.mdx +0 -54
- package/src/form/error-summary/stories/error-summary.stories.tsx +0 -28
- package/src/form/radio/stories/radio.stories.mdx +0 -173
- package/src/form/radio/stories/radio.stories.tsx +0 -51
- package/src/form/search/search-themes.stories.tsx +0 -52
package/cjs/tooltip/Tooltip.js
CHANGED
|
@@ -116,7 +116,10 @@ const Tooltip = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
116
116
|
? (0, classnames_1.default)(ariaId, children === null || children === void 0 ? void 0 : children.props["aria-describedby"])
|
|
117
117
|
: children === null || children === void 0 ? void 0 : children.props["aria-describedby"], ref: (0, react_merge_refs_1.default)([children.ref, refs.reference]), onMouseEnter: (0, __1.composeEventHandlers)(children.props.onMouseEnter, handleDelayedOpen), onMouseLeave: (0, __1.composeEventHandlers)(children.props.onMouseLeave, handleClose), onMouseDown: (0, __1.composeEventHandlers)(children.props.onMouseDown, () => {
|
|
118
118
|
isMouseDownRef.current = true;
|
|
119
|
-
document
|
|
119
|
+
document &&
|
|
120
|
+
document.addEventListener("mouseup", handleMouseUp, {
|
|
121
|
+
once: true,
|
|
122
|
+
});
|
|
120
123
|
}), onFocus: (0, __1.composeEventHandlers)(children.props.onFocus, () => !isMouseDownRef.current && handleOpen()), onBlur: (0, __1.composeEventHandlers)(children.props.onBlur, handleClose) })),
|
|
121
124
|
(open !== null && open !== void 0 ? open : isOpen) && (react_1.default.createElement(portal_1.default, null,
|
|
122
125
|
react_1.default.createElement("div", Object.assign({ ref: stableRef }, rest, { onMouseEnter: handleOpen, onMouseLeave: handleClose, role: "tooltip", id: ariaId, style: {
|
package/esm/tooltip/Tooltip.js
CHANGED
|
@@ -88,7 +88,10 @@ const Tooltip = forwardRef((_a, ref) => {
|
|
|
88
88
|
? cl(ariaId, children === null || children === void 0 ? void 0 : children.props["aria-describedby"])
|
|
89
89
|
: children === null || children === void 0 ? void 0 : children.props["aria-describedby"], ref: mergeRefs([children.ref, refs.reference]), onMouseEnter: composeEventHandlers(children.props.onMouseEnter, handleDelayedOpen), onMouseLeave: composeEventHandlers(children.props.onMouseLeave, handleClose), onMouseDown: composeEventHandlers(children.props.onMouseDown, () => {
|
|
90
90
|
isMouseDownRef.current = true;
|
|
91
|
-
document
|
|
91
|
+
document &&
|
|
92
|
+
document.addEventListener("mouseup", handleMouseUp, {
|
|
93
|
+
once: true,
|
|
94
|
+
});
|
|
92
95
|
}), onFocus: composeEventHandlers(children.props.onFocus, () => !isMouseDownRef.current && handleOpen()), onBlur: composeEventHandlers(children.props.onBlur, handleClose) })),
|
|
93
96
|
(open !== null && open !== void 0 ? open : isOpen) && (React.createElement(Portal, null,
|
|
94
97
|
React.createElement("div", Object.assign({ ref: stableRef }, rest, { onMouseEnter: handleOpen, onMouseLeave: handleClose, role: "tooltip", id: ariaId, style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/tooltip/Tooltip.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/tooltip/Tooltip.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.23",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "NAV designsystem react components",
|
|
6
6
|
"author": "NAV Designsystem team",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@floating-ui/react-dom": "0.6.0",
|
|
38
38
|
"@material-ui/core": "^4.12.3",
|
|
39
|
-
"@navikt/ds-icons": "^0.8.
|
|
39
|
+
"@navikt/ds-icons": "^0.8.10",
|
|
40
40
|
"@popperjs/core": "^2.10.1",
|
|
41
41
|
"@radix-ui/react-tabs": "0.1.5",
|
|
42
42
|
"@radix-ui/react-toggle-group": "0.1.5",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"@types/react": "^17.0.30",
|
|
70
|
-
"react": "^17.0.0
|
|
70
|
+
"react": "^17.0.0 || ^18.0.0"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "d5f2e044e8887f4e85b9d15ec15d3b2faf0760fd"
|
|
73
73
|
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Checkbox, CheckboxGroup } from "../../index";
|
|
3
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "ds-react/Form/Checkbox",
|
|
7
|
+
component: Checkbox,
|
|
8
|
+
subcomponents: {
|
|
9
|
+
CheckboxGroup,
|
|
10
|
+
},
|
|
11
|
+
} as Meta;
|
|
12
|
+
|
|
13
|
+
export const Default = (props) => {
|
|
14
|
+
const [state, setState] = useState(["checkbox1"]);
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<CheckboxGroup
|
|
18
|
+
legend={props.legend}
|
|
19
|
+
description={props.description}
|
|
20
|
+
value={props.controlled ? state : undefined}
|
|
21
|
+
onChange={props.controlled ? setState : undefined}
|
|
22
|
+
hideLegend={props.hideLegend}
|
|
23
|
+
error={props.errorGroup ? "Errormelding" : undefined}
|
|
24
|
+
{...props}
|
|
25
|
+
>
|
|
26
|
+
<Checkbox
|
|
27
|
+
value="checkbox1"
|
|
28
|
+
indeterminate={props.indeterminate}
|
|
29
|
+
hideLabel={props.hideLabel}
|
|
30
|
+
>
|
|
31
|
+
{props.children || "Apple"}
|
|
32
|
+
</Checkbox>
|
|
33
|
+
<Checkbox
|
|
34
|
+
value="checkbox2"
|
|
35
|
+
error={props.errorSingle}
|
|
36
|
+
description={
|
|
37
|
+
props.checkboxDescription ? "Orange description" : undefined
|
|
38
|
+
}
|
|
39
|
+
indeterminate={props.indeterminate}
|
|
40
|
+
hideLabel={props.hideLabel}
|
|
41
|
+
>
|
|
42
|
+
{props.children || "Orange"}
|
|
43
|
+
</Checkbox>
|
|
44
|
+
<Checkbox
|
|
45
|
+
value="checkbox3"
|
|
46
|
+
indeterminate={props.indeterminate}
|
|
47
|
+
hideLabel={props.hideLabel}
|
|
48
|
+
>
|
|
49
|
+
{props.children || "Banana"}
|
|
50
|
+
</Checkbox>
|
|
51
|
+
<Checkbox
|
|
52
|
+
value="checkbox4"
|
|
53
|
+
indeterminate={props.indeterminate}
|
|
54
|
+
hideLabel={props.hideLabel}
|
|
55
|
+
>
|
|
56
|
+
{props.children || "Melon"}
|
|
57
|
+
</Checkbox>
|
|
58
|
+
</CheckboxGroup>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
Default.args = {
|
|
63
|
+
controlled: false,
|
|
64
|
+
legend: "Legend-tekst",
|
|
65
|
+
checkboxDescription: false,
|
|
66
|
+
hideLegend: false,
|
|
67
|
+
errorSingle: false,
|
|
68
|
+
children: "",
|
|
69
|
+
description: "",
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export const Group = () => (
|
|
73
|
+
<CheckboxGroup legend="Group legend" defaultValue={["tekst2"]}>
|
|
74
|
+
<Checkbox value="tekst">Checkboxtekst</Checkbox>
|
|
75
|
+
<Checkbox value="tekst2">Checkboxtekst</Checkbox>
|
|
76
|
+
</CheckboxGroup>
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
export const GroupError = () => (
|
|
80
|
+
<CheckboxGroup
|
|
81
|
+
legend="Group legend"
|
|
82
|
+
defaultValue={["tekst2"]}
|
|
83
|
+
error="Group errormelding"
|
|
84
|
+
>
|
|
85
|
+
<Checkbox value="tekst">Checkboxtekst</Checkbox>
|
|
86
|
+
<Checkbox value="tekst2">Checkboxtekst</Checkbox>
|
|
87
|
+
</CheckboxGroup>
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
export const GroupSmall = () => (
|
|
91
|
+
<CheckboxGroup legend="Group legend" defaultValue={["tekst2"]} size="small">
|
|
92
|
+
<Checkbox value="tekst">Checkboxtekst</Checkbox>
|
|
93
|
+
<Checkbox value="tekst2">Checkboxtekst</Checkbox>
|
|
94
|
+
</CheckboxGroup>
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
export const GroupDescription = () => (
|
|
98
|
+
<CheckboxGroup
|
|
99
|
+
legend="Group legend"
|
|
100
|
+
defaultValue={["tekst2"]}
|
|
101
|
+
description="Group description"
|
|
102
|
+
>
|
|
103
|
+
<Checkbox value="tekst">Checkboxtekst</Checkbox>
|
|
104
|
+
<Checkbox value="tekst2">Checkboxtekst</Checkbox>
|
|
105
|
+
</CheckboxGroup>
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
export const Single = () => (
|
|
109
|
+
<div className="colspan">
|
|
110
|
+
<Checkbox value="tekst">Checkboxtekst</Checkbox>
|
|
111
|
+
<Checkbox value="tekst" defaultChecked>
|
|
112
|
+
Checkboxtekst
|
|
113
|
+
</Checkbox>
|
|
114
|
+
</div>
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
export const SingleSmall = () => (
|
|
118
|
+
<div className="colspan">
|
|
119
|
+
<Checkbox value="tekst" size="small">
|
|
120
|
+
Checkboxtekst
|
|
121
|
+
</Checkbox>
|
|
122
|
+
<Checkbox value="tekst" defaultChecked size="small">
|
|
123
|
+
Checkboxtekst
|
|
124
|
+
</Checkbox>
|
|
125
|
+
</div>
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
export const SingleDescription = () => (
|
|
129
|
+
<div className="colspan">
|
|
130
|
+
<Checkbox value="tekst" description="checkboxdescription">
|
|
131
|
+
Checkboxtekst
|
|
132
|
+
</Checkbox>
|
|
133
|
+
<Checkbox value="tekst" defaultChecked description="checkboxdescription">
|
|
134
|
+
Checkboxtekst
|
|
135
|
+
</Checkbox>
|
|
136
|
+
</div>
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
export const SingleError = () => (
|
|
140
|
+
<div className="colspan">
|
|
141
|
+
<Checkbox value="tekst" error>
|
|
142
|
+
Checkboxtekst
|
|
143
|
+
</Checkbox>
|
|
144
|
+
<Checkbox value="tekst" defaultChecked error>
|
|
145
|
+
Checkboxtekst
|
|
146
|
+
</Checkbox>
|
|
147
|
+
</div>
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
export const Indeterminate = () => {
|
|
151
|
+
const [checked, setChecked] = useState([true, false]);
|
|
152
|
+
|
|
153
|
+
return (
|
|
154
|
+
<>
|
|
155
|
+
<Checkbox
|
|
156
|
+
checked={checked[0] && checked[1]}
|
|
157
|
+
indeterminate={checked[0] !== checked[1]}
|
|
158
|
+
onChange={(e) => setChecked([e.target.checked, e.target.checked])}
|
|
159
|
+
>
|
|
160
|
+
Parent
|
|
161
|
+
</Checkbox>
|
|
162
|
+
<div style={{ paddingLeft: "2rem" }}>
|
|
163
|
+
<Checkbox
|
|
164
|
+
checked={checked[0]}
|
|
165
|
+
onChange={(e) => setChecked([e.target.checked, checked[1]])}
|
|
166
|
+
>
|
|
167
|
+
Child 1
|
|
168
|
+
</Checkbox>
|
|
169
|
+
<Checkbox
|
|
170
|
+
checked={checked[1]}
|
|
171
|
+
onChange={(e) => setChecked([checked[0], e.target.checked])}
|
|
172
|
+
>
|
|
173
|
+
Child 2
|
|
174
|
+
</Checkbox>
|
|
175
|
+
</div>
|
|
176
|
+
</>
|
|
177
|
+
);
|
|
178
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
3
|
+
import { ErrorSummary } from "..";
|
|
4
|
+
export default {
|
|
5
|
+
title: "ds-react/Form/Errorsummary",
|
|
6
|
+
component: ErrorSummary,
|
|
7
|
+
argTypes: {
|
|
8
|
+
headingTag: {
|
|
9
|
+
control: {
|
|
10
|
+
type: "text",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
control: {
|
|
15
|
+
type: "radio",
|
|
16
|
+
options: ["medium", "small"],
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
} as Meta;
|
|
21
|
+
|
|
22
|
+
export const Default = (props) => (
|
|
23
|
+
<ErrorSummary
|
|
24
|
+
heading="Feiloppsummering komponent"
|
|
25
|
+
headingTag={props.headingTag || "h2"}
|
|
26
|
+
size={props.size ?? undefined}
|
|
27
|
+
>
|
|
28
|
+
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
29
|
+
<ErrorSummary.Item href="#2">
|
|
30
|
+
Tekstfeltet må ha en godkjent e-mail
|
|
31
|
+
</ErrorSummary.Item>
|
|
32
|
+
</ErrorSummary>
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
export const Small = () => (
|
|
36
|
+
<ErrorSummary heading="Feiloppsummering komponent" size="small">
|
|
37
|
+
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
38
|
+
<ErrorSummary.Item href="#2">
|
|
39
|
+
Tekstfeltet må ha en godkjent e-mail
|
|
40
|
+
</ErrorSummary.Item>
|
|
41
|
+
</ErrorSummary>
|
|
42
|
+
);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Radio, RadioGroup } from "../../index";
|
|
3
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "ds-react/Form/Radio",
|
|
7
|
+
component: Radio,
|
|
8
|
+
subcomponents: {
|
|
9
|
+
RadioGroup,
|
|
10
|
+
},
|
|
11
|
+
} as Meta;
|
|
12
|
+
|
|
13
|
+
export const Default = (props) => {
|
|
14
|
+
const [state, setState] = useState("radio1");
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<RadioGroup
|
|
18
|
+
legend={props.legend}
|
|
19
|
+
description={props.description}
|
|
20
|
+
value={props.controlled ? state : undefined}
|
|
21
|
+
onChange={props.controlled ? setState : undefined}
|
|
22
|
+
hideLegend={props.hideLegend}
|
|
23
|
+
error={props.errorGroup ? "Errormelding" : undefined}
|
|
24
|
+
{...props}
|
|
25
|
+
>
|
|
26
|
+
<Radio value="radio1">{props.children || "Apple"}</Radio>
|
|
27
|
+
<Radio
|
|
28
|
+
value="radio2"
|
|
29
|
+
description={props.radioDescription ? "Orange description" : undefined}
|
|
30
|
+
>
|
|
31
|
+
{props.children || "Orange"}
|
|
32
|
+
</Radio>
|
|
33
|
+
<Radio value="radio3">{props.children || "Banana"}</Radio>
|
|
34
|
+
<Radio value="radio4">{props.children || "Melon"}</Radio>
|
|
35
|
+
</RadioGroup>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
Default.args = {
|
|
40
|
+
controlled: false,
|
|
41
|
+
legend: "Legend-tekst",
|
|
42
|
+
radioDescription: false,
|
|
43
|
+
hideLegend: false,
|
|
44
|
+
children: "",
|
|
45
|
+
description: "",
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const Group = () => (
|
|
49
|
+
<RadioGroup legend="Group legend" defaultValue={"tekst2"}>
|
|
50
|
+
<Radio value="tekst">Radiotekst</Radio>
|
|
51
|
+
<Radio value="tekst2">Radiotekst</Radio>
|
|
52
|
+
</RadioGroup>
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
export const GroupError = () => (
|
|
56
|
+
<RadioGroup
|
|
57
|
+
legend="Group legend"
|
|
58
|
+
defaultValue={"tekst2"}
|
|
59
|
+
error="Group errormelding"
|
|
60
|
+
>
|
|
61
|
+
<Radio value="tekst">Radiotekst</Radio>
|
|
62
|
+
<Radio value="tekst2">Radiotekst</Radio>
|
|
63
|
+
</RadioGroup>
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
export const GroupSmall = () => (
|
|
67
|
+
<RadioGroup legend="Group legend" defaultValue={"tekst2"} size="small">
|
|
68
|
+
<Radio value="tekst">Radiotekst</Radio>
|
|
69
|
+
<Radio value="tekst2">Radiotekst</Radio>
|
|
70
|
+
</RadioGroup>
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
export const GroupDescription = () => (
|
|
74
|
+
<RadioGroup
|
|
75
|
+
legend="Group legend"
|
|
76
|
+
defaultValue={"tekst2"}
|
|
77
|
+
description="Group description"
|
|
78
|
+
>
|
|
79
|
+
<Radio value="tekst">Radiotekst</Radio>
|
|
80
|
+
<Radio value="tekst2">Radiotekst</Radio>
|
|
81
|
+
</RadioGroup>
|
|
82
|
+
);
|
|
@@ -3,99 +3,140 @@ import React, { useState } from "react";
|
|
|
3
3
|
|
|
4
4
|
import { Search } from "../index";
|
|
5
5
|
export default {
|
|
6
|
-
title: "ds-react/
|
|
6
|
+
title: "ds-react/Form/Search",
|
|
7
7
|
component: Search,
|
|
8
|
+
argTypes: {
|
|
9
|
+
clearButton: {
|
|
10
|
+
control: {
|
|
11
|
+
type: "boolean",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
size: {
|
|
15
|
+
control: {
|
|
16
|
+
type: "radio",
|
|
17
|
+
options: ["medium", "small"],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
variant: {
|
|
21
|
+
control: {
|
|
22
|
+
type: "radio",
|
|
23
|
+
options: ["primary", "secondary", "simple"],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
8
27
|
} as Meta;
|
|
9
28
|
|
|
10
|
-
export const
|
|
11
|
-
const [
|
|
29
|
+
export const Default = (props) => {
|
|
30
|
+
const [state, setState] = useState("");
|
|
12
31
|
return (
|
|
13
|
-
<div
|
|
14
|
-
style={{
|
|
15
|
-
display: "flex",
|
|
16
|
-
alignItems: "center",
|
|
17
|
-
flexDirection: "column",
|
|
18
|
-
maxWidth: 400,
|
|
19
|
-
}}
|
|
20
|
-
>
|
|
21
|
-
<h1>Search</h1>
|
|
22
|
-
|
|
23
|
-
<Search label="Søk alle sider om X og Y" onSearch={console.log}></Search>
|
|
24
|
-
<h2>Secondary</h2>
|
|
32
|
+
<div data-theme={props.darkmode ? "dark" : "light"}>
|
|
25
33
|
<Search
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
value={props.controlled ? state : undefined}
|
|
35
|
+
onChange={props.controlled ? setState : null}
|
|
36
|
+
onSearch={(v) => console.log({ onSearch: v })}
|
|
37
|
+
label="Søk"
|
|
38
|
+
size={props.size}
|
|
39
|
+
clearButton={props.clearButton}
|
|
40
|
+
variant={props.variant}
|
|
41
|
+
hideLabel={props.hideLabel}
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
30
46
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
></Search>
|
|
47
|
+
Default.args = {
|
|
48
|
+
controlled: false,
|
|
49
|
+
darkmode: false,
|
|
50
|
+
hideLabel: true,
|
|
51
|
+
};
|
|
37
52
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<
|
|
47
|
-
<Search
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
export const Small = () => (
|
|
54
|
+
<div className="rowgap">
|
|
55
|
+
<div className="colgap">
|
|
56
|
+
<Search label="Søk" size="small" />
|
|
57
|
+
<Search label="Søk" variant="secondary" size="small" />
|
|
58
|
+
<Search label="Søk" variant="simple" size="small" />
|
|
59
|
+
</div>
|
|
60
|
+
<div className="colgap" data-theme="dark">
|
|
61
|
+
<Search label="Søk" size="small" />
|
|
62
|
+
<Search label="Søk" variant="secondary" size="small" />
|
|
63
|
+
<Search label="Søk" variant="simple" size="small" />
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
export const Variants = () => (
|
|
69
|
+
<div className="rowgap">
|
|
70
|
+
<div className="colgap">
|
|
71
|
+
<Search label="Søk" />
|
|
72
|
+
<Search label="Søk" variant="secondary" />
|
|
73
|
+
<Search label="Søk" variant="simple" />
|
|
74
|
+
</div>
|
|
75
|
+
<div className="colgap" data-theme="dark">
|
|
76
|
+
<Search label="Søk" />
|
|
77
|
+
<Search label="Søk" variant="secondary" />
|
|
78
|
+
<Search label="Søk" variant="simple" />
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
export const Placeholder = () => (
|
|
84
|
+
<div className="rowgap">
|
|
85
|
+
<div className="colgap">
|
|
86
|
+
<Search label="Søk" placeholder="Søk" />
|
|
87
|
+
</div>
|
|
88
|
+
<div className="colgap" data-theme="dark">
|
|
89
|
+
<Search label="Søk" placeholder="Søk" />
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
export const Text = () => (
|
|
95
|
+
<div className="rowgap">
|
|
96
|
+
<div className="colgap">
|
|
97
|
+
<Search label="Søk" value="Søketekst" />
|
|
98
|
+
<Search label="Søk" variant="secondary" value="Søketekst" />
|
|
99
|
+
<Search label="Søk" variant="simple" value="Søketekst" />
|
|
100
|
+
</div>
|
|
101
|
+
<div className="colgap" data-theme="dark">
|
|
102
|
+
<Search label="Søk" value="Søketekst" />
|
|
103
|
+
<Search label="Søk" variant="secondary" value="Søketekst" />
|
|
104
|
+
<Search label="Søk" variant="simple" value="Søketekst" />
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
);
|
|
56
108
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
109
|
+
export const WLabel = () => (
|
|
110
|
+
<div className="rowgap">
|
|
111
|
+
<div className="colgap">
|
|
112
|
+
<Search label="Label søk" variant="simple" hideLabel={false} />
|
|
61
113
|
<Search
|
|
62
|
-
label="
|
|
114
|
+
label="Label søk"
|
|
115
|
+
description="Description søk"
|
|
116
|
+
variant="simple"
|
|
63
117
|
hideLabel={false}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
<h2>Hidelabel false</h2>
|
|
69
|
-
<Search label="Søk alle sider om X og Y" hideLabel={false}>
|
|
70
|
-
<Search.Button />
|
|
71
|
-
</Search>
|
|
72
|
-
<h2>Controlled state </h2>
|
|
73
|
-
<Search
|
|
74
|
-
value={value}
|
|
75
|
-
label="Søk alle sider om X og Y"
|
|
76
|
-
description="Beskrivelse av søket"
|
|
77
|
-
onChange={(e) => setValue(e)}
|
|
78
|
-
onClear={() => setValue("")}
|
|
79
|
-
>
|
|
80
|
-
<Search.Button />
|
|
81
|
-
</Search>
|
|
82
|
-
<h2>No clear button</h2>
|
|
118
|
+
/>
|
|
119
|
+
</div>
|
|
120
|
+
<div className="colgap" data-theme="dark">
|
|
121
|
+
<Search label="Label søk" variant="simple" hideLabel={false} />
|
|
83
122
|
<Search
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
<Search.Button />
|
|
90
|
-
</Search>
|
|
123
|
+
label="Label søk"
|
|
124
|
+
description="Description søk"
|
|
125
|
+
variant="simple"
|
|
126
|
+
hideLabel={false}
|
|
127
|
+
/>
|
|
91
128
|
</div>
|
|
92
|
-
|
|
93
|
-
|
|
129
|
+
</div>
|
|
130
|
+
);
|
|
94
131
|
|
|
95
|
-
export const
|
|
96
|
-
|
|
97
|
-
<Search label="
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
132
|
+
export const NoClearButton = () => (
|
|
133
|
+
<div className="colgap">
|
|
134
|
+
<Search label="Label søk" clearButton={false} value="søketekst" />
|
|
135
|
+
<Search
|
|
136
|
+
label="Label søk"
|
|
137
|
+
variant="simple"
|
|
138
|
+
clearButton={false}
|
|
139
|
+
value="søketekst"
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
);
|
package/src/tooltip/Tooltip.tsx
CHANGED
|
@@ -212,7 +212,10 @@ const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
|
|
|
212
212
|
),
|
|
213
213
|
onMouseDown: composeEventHandlers(children.props.onMouseDown, () => {
|
|
214
214
|
isMouseDownRef.current = true;
|
|
215
|
-
document
|
|
215
|
+
document &&
|
|
216
|
+
document.addEventListener("mouseup", handleMouseUp, {
|
|
217
|
+
once: true,
|
|
218
|
+
});
|
|
216
219
|
}),
|
|
217
220
|
onFocus: composeEventHandlers(
|
|
218
221
|
children.props.onFocus,
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { Meta, Canvas } from "@storybook/addon-docs";
|
|
2
|
-
import { Checkbox, CheckboxGroup } from "../index";
|
|
3
|
-
|
|
4
|
-
<Meta title="ds-react/form/checkbox/intro" />
|
|
5
|
-
|
|
6
|
-
# Hvordan ta i bruk Checkbox
|
|
7
|
-
|
|
8
|
-
```jsx
|
|
9
|
-
<CheckboxGroup legend="Mollit eiusmod">
|
|
10
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
11
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
12
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
13
|
-
</CheckboxGroup>
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
<Canvas>
|
|
17
|
-
<CheckboxGroup legend="Mollit eiusmod">
|
|
18
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
19
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
20
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
21
|
-
</CheckboxGroup>
|
|
22
|
-
</Canvas>
|
|
23
|
-
|
|
24
|
-
Label å checkbox settes her da med children
|
|
25
|
-
|
|
26
|
-
## Description
|
|
27
|
-
|
|
28
|
-
Man kan både sette en description på CheckboxGroup og selve checkbox
|
|
29
|
-
|
|
30
|
-
```jsx
|
|
31
|
-
<CheckboxGroup legend="Culpa cupidatat" description="Exercitation do labore">
|
|
32
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
33
|
-
<Checkbox value="Orange" description="Laborum ad">
|
|
34
|
-
Orange
|
|
35
|
-
</Checkbox>
|
|
36
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
37
|
-
</CheckboxGroup>
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
<Canvas>
|
|
41
|
-
<CheckboxGroup legend="Mollit eiusmod" description="Exercitation do labore">
|
|
42
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
43
|
-
<Checkbox value="Orange" description="Laborum ad">
|
|
44
|
-
Orange
|
|
45
|
-
</Checkbox>
|
|
46
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
47
|
-
</CheckboxGroup>
|
|
48
|
-
</Canvas>
|
|
49
|
-
|
|
50
|
-
## Errors
|
|
51
|
-
|
|
52
|
-
Feilmeldinger kan bare settes på gruppa
|
|
53
|
-
|
|
54
|
-
```jsx
|
|
55
|
-
<CheckboxGroup legend="Mollit eiusmod" error="Boks nr 2 må være valgt">
|
|
56
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
57
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
58
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
59
|
-
</CheckboxGroup>
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
<Canvas>
|
|
63
|
-
<CheckboxGroup legend="Mollit eiusmod" error="Boks nr 2 må være valgt">
|
|
64
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
65
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
66
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
67
|
-
</CheckboxGroup>
|
|
68
|
-
</Canvas>
|
|
69
|
-
|
|
70
|
-
Enkelt-checkboxer tar en `boolean` error prop
|
|
71
|
-
|
|
72
|
-
```jsx
|
|
73
|
-
<Checkbox value="Apple" error>
|
|
74
|
-
Apple
|
|
75
|
-
</Checkbox>
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
<Canvas>
|
|
79
|
-
<Checkbox value="Apple" error>
|
|
80
|
-
Apple
|
|
81
|
-
</Checkbox>
|
|
82
|
-
</Canvas>
|
|
83
|
-
|
|
84
|
-
## Sizing
|
|
85
|
-
|
|
86
|
-
Checkboxer har default 48px høy klikkflate. Med size="small" blir klikkflaten 32px
|
|
87
|
-
|
|
88
|
-
```jsx
|
|
89
|
-
<CheckboxGroup
|
|
90
|
-
legend="Mollit eiusmod"
|
|
91
|
-
error="Boks nr 2 må være valgt"
|
|
92
|
-
size="small"
|
|
93
|
-
>
|
|
94
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
95
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
96
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
97
|
-
</CheckboxGroup>
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
<Canvas>
|
|
101
|
-
<CheckboxGroup
|
|
102
|
-
legend="Mollit eiusmod"
|
|
103
|
-
error="Boks nr 2 må være valgt"
|
|
104
|
-
size="small"
|
|
105
|
-
>
|
|
106
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
107
|
-
<Checkbox value="Orange" error="Boksen må være valgt">
|
|
108
|
-
Orange
|
|
109
|
-
</Checkbox>
|
|
110
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
111
|
-
</CheckboxGroup>
|
|
112
|
-
</Canvas>
|
|
113
|
-
|
|
114
|
-
## defaultValues
|
|
115
|
-
|
|
116
|
-
```jsx
|
|
117
|
-
<CheckboxGroup legend="Mollit eiusmod" defaultValue={["Orange", "Melon"]}>
|
|
118
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
119
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
120
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
121
|
-
</CheckboxGroup>
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
<Canvas>
|
|
125
|
-
<CheckboxGroup legend="Mollit eiusmod" defaultValue={["Orange", "Melon"]}>
|
|
126
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
127
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
128
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
129
|
-
</CheckboxGroup>
|
|
130
|
-
</Canvas>
|
|
131
|
-
|
|
132
|
-
## hideLegend
|
|
133
|
-
|
|
134
|
-
Ved bruk av `hideLegend` på CheckboxGroup kan man gjøre slik at legend/description bare vises for skjermlesere
|
|
135
|
-
|
|
136
|
-
```jsx
|
|
137
|
-
<CheckboxGroup legend="Mollit eiusmod" hideLegend>
|
|
138
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
139
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
140
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
141
|
-
</CheckboxGroup>
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
<Canvas>
|
|
145
|
-
<CheckboxGroup legend="Mollit eiusmod" hideLegend>
|
|
146
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
147
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
148
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
149
|
-
</CheckboxGroup>
|
|
150
|
-
</Canvas>
|
|
151
|
-
|
|
152
|
-
## hideLabel
|
|
153
|
-
|
|
154
|
-
Ved bruk av `hideLabel` kan man lettere ta i bruk checkbox internt i eks tabeller.
|
|
155
|
-
|
|
156
|
-
```jsx
|
|
157
|
-
<Checkbox value="Orange" hideLabel>
|
|
158
|
-
Orange
|
|
159
|
-
</Checkbox>
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
<Canvas>
|
|
163
|
-
<Checkbox value="Orange" hideLabel>
|
|
164
|
-
Orange
|
|
165
|
-
</Checkbox>
|
|
166
|
-
</Canvas>
|
|
167
|
-
|
|
168
|
-
## Disabled
|
|
169
|
-
|
|
170
|
-
Ved bruk av `disabled` kan man både disabled enkelte checkboxer eller checkboxgruppen.
|
|
171
|
-
|
|
172
|
-
NOTE: Husk at disabled bør unngås!
|
|
173
|
-
|
|
174
|
-
```jsx
|
|
175
|
-
<CheckboxGroup legend="Mollit eiusmod" disabled>
|
|
176
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
177
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
178
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
179
|
-
</CheckboxGroup>
|
|
180
|
-
|
|
181
|
-
<CheckboxGroup legend="Mollit eiusmod">
|
|
182
|
-
<Checkbox value="Apple" disabled>Apple</Checkbox>
|
|
183
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
184
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
185
|
-
</CheckboxGroup>
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
<Canvas>
|
|
189
|
-
<div>
|
|
190
|
-
<CheckboxGroup legend="Mollit eiusmod" disabled>
|
|
191
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
192
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
193
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
194
|
-
</CheckboxGroup>
|
|
195
|
-
<CheckboxGroup legend="Mollit eiusmod">
|
|
196
|
-
<Checkbox value="Apple" disabled>
|
|
197
|
-
Apple
|
|
198
|
-
</Checkbox>
|
|
199
|
-
<Checkbox value="Orange">Orange</Checkbox>
|
|
200
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
201
|
-
</CheckboxGroup>
|
|
202
|
-
</div>
|
|
203
|
-
</Canvas>
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
import { Checkbox, CheckboxGroup } from "../../index";
|
|
3
|
-
import { Meta } from "@storybook/react/types-6-0";
|
|
4
|
-
import { CheckboxGroupProps } from "..";
|
|
5
|
-
export default {
|
|
6
|
-
title: "ds-react/form/checkbox",
|
|
7
|
-
component: Checkbox,
|
|
8
|
-
} as Meta;
|
|
9
|
-
|
|
10
|
-
export const Indeterminate = () => {
|
|
11
|
-
const [checked, setChecked] = useState([true, false]);
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
<>
|
|
15
|
-
<Checkbox
|
|
16
|
-
checked={checked[0] && checked[1]}
|
|
17
|
-
indeterminate={checked[0] !== checked[1]}
|
|
18
|
-
onChange={(e) => setChecked([e.target.checked, e.target.checked])}
|
|
19
|
-
>
|
|
20
|
-
Parent
|
|
21
|
-
</Checkbox>
|
|
22
|
-
<div style={{ paddingLeft: "2rem" }}>
|
|
23
|
-
<Checkbox
|
|
24
|
-
checked={checked[0]}
|
|
25
|
-
onChange={(e) => setChecked([e.target.checked, checked[1]])}
|
|
26
|
-
>
|
|
27
|
-
Child 1
|
|
28
|
-
</Checkbox>
|
|
29
|
-
<Checkbox
|
|
30
|
-
checked={checked[1]}
|
|
31
|
-
onChange={(e) => setChecked([checked[0], e.target.checked])}
|
|
32
|
-
>
|
|
33
|
-
Child 2
|
|
34
|
-
</Checkbox>
|
|
35
|
-
</div>
|
|
36
|
-
</>
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export const All = () => {
|
|
41
|
-
const Checkboxes = (
|
|
42
|
-
props: Omit<CheckboxGroupProps, "legend" | "description" | "children">
|
|
43
|
-
) => (
|
|
44
|
-
<CheckboxGroup
|
|
45
|
-
legend="Mollit eiusmod"
|
|
46
|
-
description="Exercitation do labore"
|
|
47
|
-
{...props}
|
|
48
|
-
>
|
|
49
|
-
<Checkbox value={1}>Apple</Checkbox>
|
|
50
|
-
<Checkbox value="Orange" description="Laborum ad">
|
|
51
|
-
Orange
|
|
52
|
-
</Checkbox>
|
|
53
|
-
<Checkbox value="Banana" description={<div>Laborum ad</div>}>
|
|
54
|
-
Banana
|
|
55
|
-
</Checkbox>
|
|
56
|
-
<Checkbox value="Melon">Melon</Checkbox>
|
|
57
|
-
</CheckboxGroup>
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<>
|
|
62
|
-
<h1>Checkbox</h1>
|
|
63
|
-
<h2>Single checkbox</h2>
|
|
64
|
-
<Checkbox value="Apple">Apple</Checkbox>
|
|
65
|
-
<h3>Desription</h3>
|
|
66
|
-
<Checkbox value={1} description="Laborum ad" defaultChecked>
|
|
67
|
-
Apple
|
|
68
|
-
</Checkbox>
|
|
69
|
-
<h3>Error</h3>
|
|
70
|
-
<Checkbox value="Apple" error>
|
|
71
|
-
Apple
|
|
72
|
-
</Checkbox>
|
|
73
|
-
<Checkbox value="Apple" error defaultChecked>
|
|
74
|
-
Orange
|
|
75
|
-
</Checkbox>
|
|
76
|
-
<h3>Hide label</h3>
|
|
77
|
-
<Checkbox value="Apple" hideLabel description="Laborum ad">
|
|
78
|
-
Apple
|
|
79
|
-
</Checkbox>
|
|
80
|
-
<h3>Disabled</h3>
|
|
81
|
-
<Checkbox value="Apple" disabled>
|
|
82
|
-
Apple
|
|
83
|
-
</Checkbox>
|
|
84
|
-
<Checkbox value="Orange" description="Laborum ad" disabled defaultChecked>
|
|
85
|
-
Orange
|
|
86
|
-
</Checkbox>
|
|
87
|
-
<h3>Indeterminate</h3>
|
|
88
|
-
<Checkbox value="Apple" indeterminate>
|
|
89
|
-
Apple
|
|
90
|
-
</Checkbox>
|
|
91
|
-
<Checkbox value="Orange" indeterminate size="small">
|
|
92
|
-
Orange
|
|
93
|
-
</Checkbox>
|
|
94
|
-
|
|
95
|
-
<h2>Checkbox group</h2>
|
|
96
|
-
<Checkboxes />
|
|
97
|
-
<h3>Error</h3>
|
|
98
|
-
<Checkboxes error="Dette er en feilmelding" />
|
|
99
|
-
<h3>Small</h3>
|
|
100
|
-
<Checkboxes size="small" />
|
|
101
|
-
<h3>Small + error</h3>
|
|
102
|
-
<Checkboxes size="small" error="Dette er en feilmelding" />
|
|
103
|
-
<h3>Default value</h3>
|
|
104
|
-
<Checkboxes defaultValue={[1, "Melon"]} />
|
|
105
|
-
<h3>Disabled</h3>
|
|
106
|
-
<Checkboxes disabled />
|
|
107
|
-
</>
|
|
108
|
-
);
|
|
109
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Meta, Canvas } from "@storybook/addon-docs";
|
|
2
|
-
import { ErrorSummary } from "../index";
|
|
3
|
-
|
|
4
|
-
<Meta title="ds-react/form/errorsummary/intro" />
|
|
5
|
-
|
|
6
|
-
# Hvordan ta i bruk ErrorSummary
|
|
7
|
-
|
|
8
|
-
`href` på `ErrorSummary.Item` linker til id som er satt på skjema-elementer.
|
|
9
|
-
|
|
10
|
-
```jsx
|
|
11
|
-
<ErrorSummary heading="Eiusmod est cillum mollit pariatur deserunt">
|
|
12
|
-
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
13
|
-
<ErrorSummary.Item href="#2">
|
|
14
|
-
Tekstfeltet må ha en godkjent e-mail
|
|
15
|
-
</ErrorSummary.Item>
|
|
16
|
-
</ErrorSummary>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
<Canvas>
|
|
20
|
-
<ErrorSummary heading="Eiusmod est cillum mollit pariatur deserunt">
|
|
21
|
-
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
22
|
-
<ErrorSummary.Item href="#2">
|
|
23
|
-
Tekstfeltet må ha en godkjent e-mail
|
|
24
|
-
</ErrorSummary.Item>
|
|
25
|
-
</ErrorSummary>
|
|
26
|
-
</Canvas>
|
|
27
|
-
|
|
28
|
-
## Custom headingTag
|
|
29
|
-
|
|
30
|
-
`headingTag` lar deg sette heading til en annen html-tag en default "h2"
|
|
31
|
-
|
|
32
|
-
```jsx
|
|
33
|
-
<ErrorSummary
|
|
34
|
-
heading="Eiusmod est cillum mollit pariatur deserunt"
|
|
35
|
-
headingTag="h3"
|
|
36
|
-
>
|
|
37
|
-
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
38
|
-
<ErrorSummary.Item href="#2">
|
|
39
|
-
Tekstfeltet må ha en godkjent e-mail
|
|
40
|
-
</ErrorSummary.Item>
|
|
41
|
-
</ErrorSummary>
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
<Canvas>
|
|
45
|
-
<ErrorSummary
|
|
46
|
-
heading="Eiusmod est cillum mollit pariatur deserunt"
|
|
47
|
-
headingTag="h3"
|
|
48
|
-
>
|
|
49
|
-
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
50
|
-
<ErrorSummary.Item href="#2">
|
|
51
|
-
Tekstfeltet må ha en godkjent e-mail
|
|
52
|
-
</ErrorSummary.Item>
|
|
53
|
-
</ErrorSummary>
|
|
54
|
-
</Canvas>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Meta } from "@storybook/react/types-6-0";
|
|
3
|
-
import { ErrorSummary } from "..";
|
|
4
|
-
export default {
|
|
5
|
-
title: "ds-react/form/errorsummary",
|
|
6
|
-
component: ErrorSummary,
|
|
7
|
-
} as Meta;
|
|
8
|
-
|
|
9
|
-
export const All = () => {
|
|
10
|
-
return (
|
|
11
|
-
<>
|
|
12
|
-
<h1>Error summary</h1>
|
|
13
|
-
<ErrorSummary heading="Feiloppsummering komponent" headingTag="h4">
|
|
14
|
-
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
15
|
-
<ErrorSummary.Item href="#2">
|
|
16
|
-
Tekstfeltet må ha en godkjent e-mail
|
|
17
|
-
</ErrorSummary.Item>
|
|
18
|
-
</ErrorSummary>
|
|
19
|
-
<h2>size small</h2>
|
|
20
|
-
<ErrorSummary size="small" heading="Feiloppsummering komponent">
|
|
21
|
-
<ErrorSummary.Item href="#1">Checkbox må fylles ut</ErrorSummary.Item>
|
|
22
|
-
<ErrorSummary.Item href="#2">
|
|
23
|
-
Tekstfeltet må ha en godkjent e-mail
|
|
24
|
-
</ErrorSummary.Item>
|
|
25
|
-
</ErrorSummary>
|
|
26
|
-
</>
|
|
27
|
-
);
|
|
28
|
-
};
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { Meta, Canvas } from "@storybook/addon-docs";
|
|
2
|
-
import { Radio, RadioGroup } from "../index";
|
|
3
|
-
|
|
4
|
-
<Meta title="ds-react/form/radio/intro" />
|
|
5
|
-
|
|
6
|
-
# Hvordan ta i bruk Radio
|
|
7
|
-
|
|
8
|
-
```jsx
|
|
9
|
-
<RadioGroup legend="Mollit eiusmod">
|
|
10
|
-
<Radio value="Apple">Apple</Radio>
|
|
11
|
-
<Radio value="Orange">Orange</Radio>
|
|
12
|
-
<Radio value="Melon">Melon</Radio>
|
|
13
|
-
</RadioGroup>
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
<Canvas>
|
|
17
|
-
<RadioGroup legend="Mollit eiusmod">
|
|
18
|
-
<Radio value="Apple">Apple</Radio>
|
|
19
|
-
<Radio value="Orange">Orange</Radio>
|
|
20
|
-
<Radio value="Melon">Melon</Radio>
|
|
21
|
-
</RadioGroup>
|
|
22
|
-
</Canvas>
|
|
23
|
-
|
|
24
|
-
Label å Radio settes her da med children
|
|
25
|
-
|
|
26
|
-
## Description
|
|
27
|
-
|
|
28
|
-
Man kan både sette en description på RadioGroup og selve Radio
|
|
29
|
-
|
|
30
|
-
```jsx
|
|
31
|
-
<RadioGroup legend="Culpa cupidatat" description="Exercitation do labore">
|
|
32
|
-
<Radio value="Apple">Apple</Radio>
|
|
33
|
-
<Radio value="Orange" description="Laborum ad">
|
|
34
|
-
Orange
|
|
35
|
-
</Radio>
|
|
36
|
-
<Radio value="Melon">Melon</Radio>
|
|
37
|
-
</RadioGroup>
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
<Canvas>
|
|
41
|
-
<RadioGroup legend="Mollit eiusmod" description="Exercitation do labore">
|
|
42
|
-
<Radio value="Apple">Apple</Radio>
|
|
43
|
-
<Radio value="Orange" description="Laborum ad">
|
|
44
|
-
Orange
|
|
45
|
-
</Radio>
|
|
46
|
-
<Radio value="Melon">Melon</Radio>
|
|
47
|
-
</RadioGroup>
|
|
48
|
-
</Canvas>
|
|
49
|
-
|
|
50
|
-
## Errors
|
|
51
|
-
|
|
52
|
-
Feilmeldinger kan bare settes på gruppa
|
|
53
|
-
|
|
54
|
-
```jsx
|
|
55
|
-
<RadioGroup legend="Mollit eiusmod" error="Boks nr 2 må være valgt">
|
|
56
|
-
<Radio value="Apple">Apple</Radio>
|
|
57
|
-
<Radio value="Orange">Orange</Radio>
|
|
58
|
-
<Radio value="Melon">Melon</Radio>
|
|
59
|
-
</RadioGroup>
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
<Canvas>
|
|
63
|
-
<RadioGroup legend="Mollit eiusmod" error="Boks nr 2 må være valgt">
|
|
64
|
-
<Radio value="Apple">Apple</Radio>
|
|
65
|
-
<Radio value="Orange">Orange</Radio>
|
|
66
|
-
<Radio value="Melon">Melon</Radio>
|
|
67
|
-
</RadioGroup>
|
|
68
|
-
</Canvas>
|
|
69
|
-
|
|
70
|
-
## Sizing
|
|
71
|
-
|
|
72
|
-
Radioknapper har default 48px høy klikkflate. Med size="small" blir klikkflaten 32px
|
|
73
|
-
|
|
74
|
-
```jsx
|
|
75
|
-
<RadioGroup
|
|
76
|
-
legend="Mollit eiusmod"
|
|
77
|
-
error="Boks nr 2 må være valgt"
|
|
78
|
-
size="small"
|
|
79
|
-
>
|
|
80
|
-
<Radio value="Apple">Apple</Radio>
|
|
81
|
-
<Radio value="Orange">Orange</Radio>
|
|
82
|
-
<Radio value="Melon">Melon</Radio>
|
|
83
|
-
</RadioGroup>
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
<Canvas>
|
|
87
|
-
<RadioGroup
|
|
88
|
-
legend="Mollit eiusmod"
|
|
89
|
-
error="Boks nr 2 må være valgt"
|
|
90
|
-
size="small"
|
|
91
|
-
>
|
|
92
|
-
<Radio value="Apple">Apple</Radio>
|
|
93
|
-
<Radio value="Orange" error="Boksen må være valgt">
|
|
94
|
-
Orange
|
|
95
|
-
</Radio>
|
|
96
|
-
<Radio value="Melon">Melon</Radio>
|
|
97
|
-
</RadioGroup>
|
|
98
|
-
</Canvas>
|
|
99
|
-
|
|
100
|
-
## defaultValue
|
|
101
|
-
|
|
102
|
-
```jsx
|
|
103
|
-
<RadioGroup legend="Mollit eiusmod" defaultValue="Orange">
|
|
104
|
-
<Radio value="Apple">Apple</Radio>
|
|
105
|
-
<Radio value="Orange">Orange</Radio>
|
|
106
|
-
<Radio value="Melon">Melon</Radio>
|
|
107
|
-
</RadioGroup>
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
<Canvas>
|
|
111
|
-
<RadioGroup legend="Mollit eiusmod" defaultValue="Orange">
|
|
112
|
-
<Radio value="Apple">Apple</Radio>
|
|
113
|
-
<Radio value="Orange">Orange</Radio>
|
|
114
|
-
<Radio value="Melon">Melon</Radio>
|
|
115
|
-
</RadioGroup>
|
|
116
|
-
</Canvas>
|
|
117
|
-
|
|
118
|
-
## hideLegend
|
|
119
|
-
|
|
120
|
-
Ved bruk av `hideLegend` på RadioGroup kan man gjøre slik at legend/description bare vises for skjermlesere
|
|
121
|
-
|
|
122
|
-
```jsx
|
|
123
|
-
<RadioGroup legend="Mollit eiusmod" hideLegend>
|
|
124
|
-
<Radio value="Apple">Apple</Radio>
|
|
125
|
-
<Radio value="Orange">Orange</Radio>
|
|
126
|
-
<Radio value="Melon">Melon</Radio>
|
|
127
|
-
</RadioGroup>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
<Canvas>
|
|
131
|
-
<RadioGroup legend="Mollit eiusmod" hideLegend>
|
|
132
|
-
<Radio value="Apple">Apple</Radio>
|
|
133
|
-
<Radio value="Orange">Orange</Radio>
|
|
134
|
-
<Radio value="Melon">Melon</Radio>
|
|
135
|
-
</RadioGroup>
|
|
136
|
-
</Canvas>
|
|
137
|
-
|
|
138
|
-
## Disabled
|
|
139
|
-
|
|
140
|
-
Ved bruk av `disabled` kan man både disabled enkelte Radioer eller Radiogruppen.
|
|
141
|
-
|
|
142
|
-
NOTE: Husk at disabled bør unngås!
|
|
143
|
-
|
|
144
|
-
```jsx
|
|
145
|
-
<RadioGroup legend="Mollit eiusmod" disabled>
|
|
146
|
-
<Radio value="Apple">Apple</Radio>
|
|
147
|
-
<Radio value="Orange">Orange</Radio>
|
|
148
|
-
<Radio value="Melon">Melon</Radio>
|
|
149
|
-
</RadioGroup>
|
|
150
|
-
|
|
151
|
-
<RadioGroup legend="Mollit eiusmod" >
|
|
152
|
-
<Radio value="Apple" disabled>Apple</Radio>
|
|
153
|
-
<Radio value="Orange">Orange</Radio>
|
|
154
|
-
<Radio value="Melon">Melon</Radio>
|
|
155
|
-
</RadioGroup>
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
<Canvas>
|
|
159
|
-
<div>
|
|
160
|
-
<RadioGroup legend="Mollit eiusmod" disabled>
|
|
161
|
-
<Radio value="Apple">Apple</Radio>
|
|
162
|
-
<Radio value="Orange">Orange</Radio>
|
|
163
|
-
<Radio value="Melon">Melon</Radio>
|
|
164
|
-
</RadioGroup>
|
|
165
|
-
<RadioGroup legend="Mollit eiusmod">
|
|
166
|
-
<Radio value="Apple" disabled>
|
|
167
|
-
Apple
|
|
168
|
-
</Radio>
|
|
169
|
-
<Radio value="Orange">Orange</Radio>
|
|
170
|
-
<Radio value="Melon">Melon</Radio>
|
|
171
|
-
</RadioGroup>
|
|
172
|
-
</div>
|
|
173
|
-
</Canvas>
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Meta } from "@storybook/react/types-6-0";
|
|
3
|
-
import { RadioGroup, Radio } from "../index";
|
|
4
|
-
import { RadioGroupProps } from "../RadioGroup";
|
|
5
|
-
export default {
|
|
6
|
-
title: "ds-react/form/radio",
|
|
7
|
-
component: RadioGroup,
|
|
8
|
-
} as Meta;
|
|
9
|
-
|
|
10
|
-
export const All = () => {
|
|
11
|
-
const Radios = (props: Omit<RadioGroupProps, "legend" | "children">) => (
|
|
12
|
-
<RadioGroup
|
|
13
|
-
legend="Mollit eiusmod"
|
|
14
|
-
description={<div>"Exercitation do labore"</div>}
|
|
15
|
-
{...props}
|
|
16
|
-
>
|
|
17
|
-
<Radio value={1}>Apple</Radio>
|
|
18
|
-
<Radio value={false} description={<div>Laborum ad</div>}>
|
|
19
|
-
Orange
|
|
20
|
-
</Radio>
|
|
21
|
-
<Radio value="Melon">Melon</Radio>
|
|
22
|
-
</RadioGroup>
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<>
|
|
27
|
-
<h1>Radio group</h1>
|
|
28
|
-
<Radios />
|
|
29
|
-
<h2>Error</h2>
|
|
30
|
-
<Radios error="Dette er en feilmelding" />
|
|
31
|
-
<h2>Small</h2>
|
|
32
|
-
<Radios size="small" />
|
|
33
|
-
<h2>Small + error</h2>
|
|
34
|
-
<Radios size="small" error="Dette er en feilmelding" />
|
|
35
|
-
<h2>Default value</h2>
|
|
36
|
-
<Radios defaultValue={1} />
|
|
37
|
-
<h2>Disabled</h2>
|
|
38
|
-
<RadioGroup legend="Mollit eiusmod" description="Exercitation do labore">
|
|
39
|
-
<Radio value="Apple" disabled>
|
|
40
|
-
Apple
|
|
41
|
-
</Radio>
|
|
42
|
-
<Radio value={false} description="Laborum ad" disabled>
|
|
43
|
-
Orange
|
|
44
|
-
</Radio>
|
|
45
|
-
<Radio value="Melon">Melon</Radio>
|
|
46
|
-
</RadioGroup>
|
|
47
|
-
<h2>Disabled group</h2>
|
|
48
|
-
<Radios disabled />
|
|
49
|
-
</>
|
|
50
|
-
);
|
|
51
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@storybook/react/types-6-0";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Heading } from "../..";
|
|
4
|
-
import { Search } from "..";
|
|
5
|
-
|
|
6
|
-
export default {
|
|
7
|
-
title: "ds-react/form/search",
|
|
8
|
-
component: Search,
|
|
9
|
-
} as Meta;
|
|
10
|
-
|
|
11
|
-
export const LightTheme = () => (
|
|
12
|
-
<div
|
|
13
|
-
style={{ maxWidth: 400, display: "flex", flexDirection: "column", gap: 16 }}
|
|
14
|
-
>
|
|
15
|
-
<Heading size="xlarge">Search</Heading>
|
|
16
|
-
<Heading level="2" size="large">
|
|
17
|
-
size medium
|
|
18
|
-
</Heading>
|
|
19
|
-
<Search label="hidden label" placeholder="Søk" />
|
|
20
|
-
<Search label="hidden label" variant="secondary" defaultValue="dagpenger" />
|
|
21
|
-
<Search label="hidden label" variant="simple" placeholder="Søk" />
|
|
22
|
-
<Search label="with label" hideLabel={false} />
|
|
23
|
-
|
|
24
|
-
<Heading level="2" size="large">
|
|
25
|
-
size small
|
|
26
|
-
</Heading>
|
|
27
|
-
<Search label="hidden label" size="small" placeholder="Søk" />
|
|
28
|
-
<Search
|
|
29
|
-
label="hidden label"
|
|
30
|
-
variant="secondary"
|
|
31
|
-
size="small"
|
|
32
|
-
defaultValue="dagpenger"
|
|
33
|
-
/>
|
|
34
|
-
<Search
|
|
35
|
-
label="hidden label"
|
|
36
|
-
variant="simple"
|
|
37
|
-
size="small"
|
|
38
|
-
placeholder="Søk"
|
|
39
|
-
/>
|
|
40
|
-
<Search label="with label" hideLabel={false} size="small" />
|
|
41
|
-
</div>
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
export const DarkTheme = () => (
|
|
45
|
-
<div data-theme="dark">
|
|
46
|
-
<LightTheme />
|
|
47
|
-
</div>
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
DarkTheme.parameters = {
|
|
51
|
-
backgrounds: { default: "dark" },
|
|
52
|
-
};
|