@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.
Files changed (52) hide show
  1. package/cjs/form/Fieldset/Fieldset.js +6 -3
  2. package/cjs/form/Select.js +4 -1
  3. package/cjs/form/TextField.js +8 -3
  4. package/cjs/form/Textarea.js +4 -1
  5. package/cjs/form/checkbox/Checkbox.js +9 -8
  6. package/cjs/form/checkbox/useCheckbox.js +2 -1
  7. package/cjs/form/radio/Radio.js +8 -14
  8. package/cjs/form/radio/useRadio.js +2 -1
  9. package/cjs/form/search-field/SearchField.js +4 -1
  10. package/esm/form/Fieldset/Fieldset.js +7 -4
  11. package/esm/form/Fieldset/Fieldset.js.map +1 -1
  12. package/esm/form/Select.js +4 -1
  13. package/esm/form/Select.js.map +1 -1
  14. package/esm/form/TextField.js +9 -4
  15. package/esm/form/TextField.js.map +1 -1
  16. package/esm/form/Textarea.js +4 -1
  17. package/esm/form/Textarea.js.map +1 -1
  18. package/esm/form/checkbox/Checkbox.d.ts +6 -1
  19. package/esm/form/checkbox/Checkbox.js +10 -9
  20. package/esm/form/checkbox/Checkbox.js.map +1 -1
  21. package/esm/form/checkbox/CheckboxGroup.d.ts +1 -1
  22. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  23. package/esm/form/checkbox/useCheckbox.js +2 -1
  24. package/esm/form/checkbox/useCheckbox.js.map +1 -1
  25. package/esm/form/radio/Radio.d.ts +4 -1
  26. package/esm/form/radio/Radio.js +9 -15
  27. package/esm/form/radio/Radio.js.map +1 -1
  28. package/esm/form/radio/RadioGroup.d.ts +1 -1
  29. package/esm/form/radio/RadioGroup.js.map +1 -1
  30. package/esm/form/radio/useRadio.js +2 -1
  31. package/esm/form/radio/useRadio.js.map +1 -1
  32. package/esm/form/search-field/SearchField.js +4 -1
  33. package/esm/form/search-field/SearchField.js.map +1 -1
  34. package/package.json +2 -2
  35. package/src/form/Fieldset/Fieldset.tsx +25 -13
  36. package/src/form/Select.tsx +4 -1
  37. package/src/form/TextField.tsx +30 -12
  38. package/src/form/Textarea.tsx +4 -1
  39. package/src/form/checkbox/Checkbox.tsx +30 -38
  40. package/src/form/checkbox/CheckboxGroup.tsx +2 -1
  41. package/src/form/checkbox/stories/checkbox.stories.mdx +17 -45
  42. package/src/form/checkbox/stories/checkbox.stories.tsx +55 -82
  43. package/src/form/checkbox/useCheckbox.ts +5 -1
  44. package/src/form/radio/Radio.tsx +26 -41
  45. package/src/form/radio/RadioGroup.tsx +2 -1
  46. package/src/form/radio/stories/radio.stories.mdx +3 -29
  47. package/src/form/radio/stories/radio.stories.tsx +33 -64
  48. package/src/form/radio/useRadio.ts +5 -1
  49. package/src/form/search-field/SearchField.tsx +4 -1
  50. package/src/form/search-field/stories/search-field.stories.tsx +24 -0
  51. package/src/form/stories/text-field.stories.tsx +19 -0
  52. 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
- Radioer har default 44px høy klikkflate. Med size="small" blir denne til 24px slik som før
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>Radios</h1>
13
- <RadioGroup legend="Mollit eiusmod">
14
- <Radio value="Apple">Apple</Radio>
15
- <Radio value="Orange">Orange</Radio>
16
- <Radio value="Melon">Melon</Radio>
17
- </RadioGroup>
18
- <h2>description</h2>
19
- <RadioGroup
20
- legend="Mollit eiusmod"
21
- description={<div>Exercitation do labore</div>}
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" disabled>
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">Orange</Radio>
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(props, "radio");
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
- { "navds-search-field--error": hasError }
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={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>