@navikt/ds-react 0.13.2 → 0.13.3
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/form/Fieldset/Fieldset.js +6 -3
- package/cjs/form/Select.js +4 -1
- package/cjs/form/TextField.js +8 -3
- package/cjs/form/Textarea.js +4 -1
- package/cjs/form/checkbox/Checkbox.js +9 -8
- package/cjs/form/checkbox/useCheckbox.js +2 -1
- package/cjs/form/radio/Radio.js +8 -14
- package/cjs/form/radio/useRadio.js +2 -1
- package/cjs/form/search-field/SearchField.js +4 -1
- package/esm/form/Fieldset/Fieldset.js +7 -4
- package/esm/form/Fieldset/Fieldset.js.map +1 -1
- package/esm/form/Select.js +4 -1
- package/esm/form/Select.js.map +1 -1
- package/esm/form/TextField.js +9 -4
- package/esm/form/TextField.js.map +1 -1
- package/esm/form/Textarea.js +4 -1
- package/esm/form/Textarea.js.map +1 -1
- package/esm/form/checkbox/Checkbox.d.ts +6 -1
- package/esm/form/checkbox/Checkbox.js +10 -9
- package/esm/form/checkbox/Checkbox.js.map +1 -1
- package/esm/form/checkbox/CheckboxGroup.d.ts +1 -1
- package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
- package/esm/form/checkbox/useCheckbox.js +2 -1
- package/esm/form/checkbox/useCheckbox.js.map +1 -1
- package/esm/form/radio/Radio.d.ts +4 -1
- package/esm/form/radio/Radio.js +9 -15
- package/esm/form/radio/Radio.js.map +1 -1
- package/esm/form/radio/RadioGroup.d.ts +1 -1
- package/esm/form/radio/RadioGroup.js.map +1 -1
- package/esm/form/radio/useRadio.js +2 -1
- package/esm/form/radio/useRadio.js.map +1 -1
- package/esm/form/search-field/SearchField.js +4 -1
- package/esm/form/search-field/SearchField.js.map +1 -1
- package/package.json +2 -2
- package/src/form/Fieldset/Fieldset.tsx +25 -13
- package/src/form/Select.tsx +4 -1
- package/src/form/TextField.tsx +30 -12
- package/src/form/Textarea.tsx +4 -1
- package/src/form/checkbox/Checkbox.tsx +30 -38
- package/src/form/checkbox/CheckboxGroup.tsx +2 -1
- package/src/form/checkbox/stories/checkbox.stories.mdx +17 -45
- package/src/form/checkbox/stories/checkbox.stories.tsx +55 -82
- package/src/form/checkbox/useCheckbox.ts +5 -1
- package/src/form/radio/Radio.tsx +26 -41
- package/src/form/radio/RadioGroup.tsx +2 -1
- package/src/form/radio/stories/radio.stories.mdx +3 -29
- package/src/form/radio/stories/radio.stories.tsx +33 -64
- package/src/form/radio/useRadio.ts +5 -1
- package/src/form/search-field/SearchField.tsx +4 -1
- package/src/form/search-field/stories/search-field.stories.tsx +24 -0
- package/src/form/stories/text-field.stories.tsx +19 -0
- package/src/form/stories/textarea.stories.tsx +11 -1
|
@@ -49,6 +49,8 @@ Man kan både sette en description på RadioGroup og selve Radio
|
|
|
49
49
|
|
|
50
50
|
## Errors
|
|
51
51
|
|
|
52
|
+
Feilmeldinger kan bare settes på gruppa
|
|
53
|
+
|
|
52
54
|
```jsx
|
|
53
55
|
<RadioGroup legend="Mollit eiusmod" error="Boks nr 2 må være valgt">
|
|
54
56
|
<Radio value="Apple">Apple</Radio>
|
|
@@ -65,37 +67,9 @@ Man kan både sette en description på RadioGroup og selve Radio
|
|
|
65
67
|
</RadioGroup>
|
|
66
68
|
</Canvas>
|
|
67
69
|
|
|
68
|
-
## Errors uten errorPropagation
|
|
69
|
-
|
|
70
|
-
```jsx
|
|
71
|
-
<RadioGroup
|
|
72
|
-
legend="Mollit eiusmod"
|
|
73
|
-
errorPropagation={false}
|
|
74
|
-
error="Boks nr 2 må være valgt"
|
|
75
|
-
>
|
|
76
|
-
<Radio value="Apple">Apple</Radio>
|
|
77
|
-
<Radio value="Orange">Orange</Radio>
|
|
78
|
-
<Radio value="Melon">Melon</Radio>
|
|
79
|
-
</RadioGroup>
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
<Canvas>
|
|
83
|
-
<RadioGroup
|
|
84
|
-
legend="Mollit eiusmod"
|
|
85
|
-
errorPropagation={false}
|
|
86
|
-
error="Boks nr 2 må være valgt"
|
|
87
|
-
>
|
|
88
|
-
<Radio value="Apple">Apple</Radio>
|
|
89
|
-
<Radio value="Orange" error="Boksen må være valgt">
|
|
90
|
-
Orange
|
|
91
|
-
</Radio>
|
|
92
|
-
<Radio value="Melon">Melon</Radio>
|
|
93
|
-
</RadioGroup>
|
|
94
|
-
</Canvas>
|
|
95
|
-
|
|
96
70
|
## Sizing
|
|
97
71
|
|
|
98
|
-
|
|
72
|
+
Radioknapper har default 48px høy klikkflate. Med size="small" blir klikkflaten 32px
|
|
99
73
|
|
|
100
74
|
```jsx
|
|
101
75
|
<RadioGroup
|
|
@@ -7,78 +7,47 @@ export default {
|
|
|
7
7
|
} as Meta;
|
|
8
8
|
|
|
9
9
|
export const All = () => {
|
|
10
|
+
const Radios = (props) => (
|
|
11
|
+
<RadioGroup
|
|
12
|
+
legend="Mollit eiusmod"
|
|
13
|
+
description={<div>"Exercitation do labore"</div>}
|
|
14
|
+
{...props}
|
|
15
|
+
>
|
|
16
|
+
<Radio value="Apple">Apple</Radio>
|
|
17
|
+
<Radio value="Orange" description="Laborum ad">
|
|
18
|
+
Orange
|
|
19
|
+
</Radio>
|
|
20
|
+
<Radio value="Orange" description={<div>Laborum ad</div>}>
|
|
21
|
+
Orange
|
|
22
|
+
</Radio>
|
|
23
|
+
<Radio value="Melon">Melon</Radio>
|
|
24
|
+
</RadioGroup>
|
|
25
|
+
);
|
|
26
|
+
|
|
10
27
|
return (
|
|
11
28
|
<>
|
|
12
|
-
<h1>
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<h2>
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
>
|
|
23
|
-
<Radio value="Apple">Apple</Radio>
|
|
24
|
-
<Radio value="Orange" description={<div>Laborum ad</div>}>
|
|
25
|
-
Orange
|
|
26
|
-
</Radio>
|
|
27
|
-
<Radio value="Melon">Melon</Radio>
|
|
28
|
-
</RadioGroup>
|
|
29
|
-
<h2>error</h2>
|
|
30
|
-
<RadioGroup legend="Mollit eiusmod" error="Boks nr 2 må være valgt">
|
|
31
|
-
<Radio value="Apple">Apple</Radio>
|
|
32
|
-
<Radio value="Orange">Orange</Radio>
|
|
33
|
-
<Radio value="Melon">Melon</Radio>
|
|
34
|
-
</RadioGroup>
|
|
35
|
-
<h2>error uten errorPropagation</h2>
|
|
36
|
-
<RadioGroup
|
|
37
|
-
legend="Mollit eiusmod"
|
|
38
|
-
errorPropagation={false}
|
|
39
|
-
error="Boks nr 2 må være valgt"
|
|
40
|
-
>
|
|
41
|
-
<Radio value="Apple">Apple</Radio>
|
|
42
|
-
<Radio value="Orange" error="Boksen må være valgt">
|
|
43
|
-
Orange
|
|
44
|
-
</Radio>
|
|
45
|
-
<Radio value="Melon">Melon</Radio>
|
|
46
|
-
</RadioGroup>
|
|
47
|
-
<h2>Sizing</h2>
|
|
48
|
-
<RadioGroup
|
|
49
|
-
legend="Mollit eiusmod"
|
|
50
|
-
error="Boks nr 2 må være valgt"
|
|
51
|
-
size="small"
|
|
52
|
-
>
|
|
53
|
-
<Radio value="Apple">Apple</Radio>
|
|
54
|
-
<Radio value="Orange">Orange</Radio>
|
|
55
|
-
<Radio value="Melon">Melon</Radio>
|
|
56
|
-
</RadioGroup>
|
|
57
|
-
<h2>defaultValue</h2>
|
|
58
|
-
<RadioGroup legend="Mollit eiusmod" defaultValue="Orange">
|
|
59
|
-
<Radio value="Apple">Apple</Radio>
|
|
60
|
-
<Radio value="Orange">Orange</Radio>
|
|
61
|
-
<Radio value="Melon">Melon</Radio>
|
|
62
|
-
</RadioGroup>
|
|
63
|
-
<h2>hideLenged</h2>
|
|
64
|
-
<RadioGroup legend="Mollit eiusmod" hideLegend>
|
|
65
|
-
<Radio value="Apple">Apple</Radio>
|
|
66
|
-
<Radio value="Orange">Orange</Radio>
|
|
67
|
-
<Radio value="Melon">Melon</Radio>
|
|
68
|
-
</RadioGroup>
|
|
29
|
+
<h1>Radio group</h1>
|
|
30
|
+
<Radios />
|
|
31
|
+
<h2>Error</h2>
|
|
32
|
+
<Radios error="Dette er en feilmelding" />
|
|
33
|
+
<h2>Small</h2>
|
|
34
|
+
<Radios size="small" />
|
|
35
|
+
<h2>Small + error</h2>
|
|
36
|
+
<Radios size="small" error="Dette er en feilmelding" />
|
|
37
|
+
<h2>Default value</h2>
|
|
38
|
+
<Radios defaultValue="Orange" />
|
|
69
39
|
<h2>Disabled</h2>
|
|
70
|
-
<RadioGroup legend="Mollit eiusmod"
|
|
71
|
-
<Radio value="Apple">Apple</Radio>
|
|
72
|
-
<Radio value="Orange">Orange</Radio>
|
|
73
|
-
<Radio value="Melon">Melon</Radio>
|
|
74
|
-
</RadioGroup>
|
|
75
|
-
<RadioGroup legend="Mollit eiusmod">
|
|
40
|
+
<RadioGroup legend="Mollit eiusmod" description="Exercitation do labore">
|
|
76
41
|
<Radio value="Apple" disabled>
|
|
77
42
|
Apple
|
|
78
43
|
</Radio>
|
|
79
|
-
<Radio value="Orange">
|
|
44
|
+
<Radio value="Orange" description="Laborum ad" disabled>
|
|
45
|
+
Orange
|
|
46
|
+
</Radio>
|
|
80
47
|
<Radio value="Melon">Melon</Radio>
|
|
81
48
|
</RadioGroup>
|
|
49
|
+
<h2>Disabled group</h2>
|
|
50
|
+
<Radios disabled />
|
|
82
51
|
</>
|
|
83
52
|
);
|
|
84
53
|
};
|
|
@@ -2,6 +2,7 @@ import { useContext } from "react";
|
|
|
2
2
|
import { useFormField } from "../useFormField";
|
|
3
3
|
import { RadioProps } from "./Radio";
|
|
4
4
|
import { RadioGroupContext } from "./RadioGroup";
|
|
5
|
+
import { omit } from "../..";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Handles props for Radios in context with Fieldset and RadioGroup
|
|
@@ -9,7 +10,10 @@ import { RadioGroupContext } from "./RadioGroup";
|
|
|
9
10
|
export const useRadio = (props: RadioProps) => {
|
|
10
11
|
const radioGroup = useContext(RadioGroupContext);
|
|
11
12
|
|
|
12
|
-
const { inputProps, ...rest } = useFormField(
|
|
13
|
+
const { inputProps, ...rest } = useFormField(
|
|
14
|
+
omit(props, ["description"]),
|
|
15
|
+
"radio"
|
|
16
|
+
);
|
|
13
17
|
|
|
14
18
|
if (!radioGroup) {
|
|
15
19
|
console.warn("<Radio> must be used inside <RadioGroup>.");
|
|
@@ -79,7 +79,10 @@ const SearchField = forwardRef<HTMLDivElement, SearchFieldProps>(
|
|
|
79
79
|
"navds-form-field",
|
|
80
80
|
`navds-form-field--${size ?? "medium"}`,
|
|
81
81
|
"navds-search-field",
|
|
82
|
-
{
|
|
82
|
+
{
|
|
83
|
+
"navds-search-field--error": hasError,
|
|
84
|
+
"navds-search-field--disabled": !!inputProps.disabled,
|
|
85
|
+
}
|
|
83
86
|
)}
|
|
84
87
|
>
|
|
85
88
|
<Label
|
|
@@ -170,6 +170,30 @@ export const All = () => {
|
|
|
170
170
|
<SearchField.Input />
|
|
171
171
|
</SearchField>
|
|
172
172
|
</Fieldset>
|
|
173
|
+
|
|
174
|
+
<h2>Disabled </h2>
|
|
175
|
+
<SearchField
|
|
176
|
+
disabled
|
|
177
|
+
label="Mollit eiusmod"
|
|
178
|
+
description="Ea cupidatat eu sunt commodo"
|
|
179
|
+
>
|
|
180
|
+
<SearchField.Input />
|
|
181
|
+
<SearchField.Button>
|
|
182
|
+
<Search /> Søk
|
|
183
|
+
</SearchField.Button>
|
|
184
|
+
</SearchField>
|
|
185
|
+
<Fieldset legend="Filter" disabled>
|
|
186
|
+
<SearchField
|
|
187
|
+
label="Mollit eiusmod"
|
|
188
|
+
description="Ea cupidatat eu sunt commodo"
|
|
189
|
+
error="Errormsg"
|
|
190
|
+
>
|
|
191
|
+
<SearchField.Input />
|
|
192
|
+
<SearchField.Button>
|
|
193
|
+
<Search /> Søk
|
|
194
|
+
</SearchField.Button>
|
|
195
|
+
</SearchField>
|
|
196
|
+
</Fieldset>
|
|
173
197
|
</>
|
|
174
198
|
);
|
|
175
199
|
};
|
|
@@ -55,6 +55,25 @@ export const All = () => {
|
|
|
55
55
|
description="Cillum mollit"
|
|
56
56
|
disabled
|
|
57
57
|
/>
|
|
58
|
+
<TextField
|
|
59
|
+
size="small"
|
|
60
|
+
label="Laborum excepteur"
|
|
61
|
+
description="Cillum mollit"
|
|
62
|
+
disabled
|
|
63
|
+
/>
|
|
64
|
+
<h2>Readonly</h2>
|
|
65
|
+
|
|
66
|
+
<TextField
|
|
67
|
+
label="Laborum excepteur"
|
|
68
|
+
description="Cillum mollit"
|
|
69
|
+
readOnly
|
|
70
|
+
/>
|
|
71
|
+
<TextField
|
|
72
|
+
label="Laborum excepteur"
|
|
73
|
+
description="Cillum mollit"
|
|
74
|
+
size="small"
|
|
75
|
+
readOnly
|
|
76
|
+
/>
|
|
58
77
|
</div>
|
|
59
78
|
);
|
|
60
79
|
};
|
|
@@ -78,7 +78,17 @@ export const All = () => {
|
|
|
78
78
|
description="Reprehenderit esse proident"
|
|
79
79
|
maxLength={400}
|
|
80
80
|
disabled
|
|
81
|
-
value=
|
|
81
|
+
value="Consectetur commodo mollit voluptate esse minim elit deserunt fugiat consectetur laboris."
|
|
82
|
+
onChange={handleChange}
|
|
83
|
+
/>
|
|
84
|
+
<h2>Readonly</h2>
|
|
85
|
+
|
|
86
|
+
<Textarea
|
|
87
|
+
label="In anim elit"
|
|
88
|
+
description="Reprehenderit esse proident"
|
|
89
|
+
maxLength={400}
|
|
90
|
+
readOnly
|
|
91
|
+
value="Consectetur commodo mollit voluptate esse minim elit deserunt fugiat consectetur laboris."
|
|
82
92
|
onChange={handleChange}
|
|
83
93
|
/>
|
|
84
94
|
</div>
|