@navikt/ds-react 5.18.0 → 5.18.2

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 (79) hide show
  1. package/cjs/date/parts/DateWrapper.js +2 -2
  2. package/cjs/form/search/Search.js +1 -1
  3. package/cjs/modal/Modal.context.js +9 -0
  4. package/cjs/modal/Modal.js +3 -6
  5. package/cjs/modal/ModalHeader.js +2 -6
  6. package/cjs/panel/Panel.js +6 -16
  7. package/cjs/popover/Popover.js +2 -2
  8. package/cjs/tooltip/Tooltip.js +2 -2
  9. package/cjs/util/create-context.js +9 -5
  10. package/esm/date/parts/DateWrapper.js +3 -3
  11. package/esm/date/parts/DateWrapper.js.map +1 -1
  12. package/esm/form/search/Search.js +1 -1
  13. package/esm/modal/Modal.context.d.ts +9 -0
  14. package/esm/modal/Modal.context.js +6 -0
  15. package/esm/modal/Modal.context.js.map +1 -0
  16. package/esm/modal/Modal.js +3 -6
  17. package/esm/modal/Modal.js.map +1 -1
  18. package/esm/modal/ModalHeader.js +3 -7
  19. package/esm/modal/ModalHeader.js.map +1 -1
  20. package/esm/panel/Panel.d.ts +9 -16
  21. package/esm/panel/Panel.js +6 -16
  22. package/esm/panel/Panel.js.map +1 -1
  23. package/esm/popover/Popover.js +2 -2
  24. package/esm/popover/Popover.js.map +1 -1
  25. package/esm/tooltip/Tooltip.js +3 -3
  26. package/esm/tooltip/Tooltip.js.map +1 -1
  27. package/esm/util/create-context.d.ts +2 -5
  28. package/esm/util/create-context.js +10 -6
  29. package/esm/util/create-context.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/accordion/accordion.stories.tsx +121 -135
  32. package/src/alert/alert.stories.tsx +202 -113
  33. package/src/button/button.stories.tsx +88 -185
  34. package/src/chat/chat.stories.tsx +284 -206
  35. package/src/date/datepicker/datepicker.stories.tsx +6 -2
  36. package/src/date/monthpicker/monthpicker.stories.tsx +2 -1
  37. package/src/date/parts/DateWrapper.tsx +3 -3
  38. package/src/dropdown/dropdown.stories.tsx +1 -1
  39. package/src/form/error-summary/error-summary.stories.tsx +1 -1
  40. package/src/form/search/Search.tsx +3 -3
  41. package/src/form/stories/confirmation-panel.stories.tsx +1 -1
  42. package/src/help-text/help-text.stories.tsx +2 -1
  43. package/src/internal-header/header.stories.tsx +2 -1
  44. package/src/layout/bleed/Bleed.stories.tsx +2 -1
  45. package/src/layout/box/Box.stories.tsx +2 -1
  46. package/src/layout/sidemal-test/navno-sidemal.stories.tsx +5 -1
  47. package/src/link/stories/link.stories.tsx +20 -22
  48. package/src/link-panel/link-panel.stories.tsx +1 -1
  49. package/src/list/list.stories.tsx +2 -1
  50. package/src/loader/loader.stories.tsx +1 -1
  51. package/src/modal/Modal.context.ts +13 -0
  52. package/src/modal/Modal.tsx +6 -8
  53. package/src/modal/ModalHeader.tsx +3 -7
  54. package/src/modal/modal.stories.tsx +3 -1
  55. package/src/panel/Panel.tsx +9 -16
  56. package/src/popover/Popover.tsx +2 -2
  57. package/src/stepper/stepper.stories.tsx +1 -1
  58. package/src/table/stories/{table.stories.tsx → table-1.stories.tsx} +118 -92
  59. package/src/table/stories/{table-expandable.stories.tsx → table-2-expandable.stories.tsx} +10 -34
  60. package/src/table/stories/{table-async.stories.tsx → table-3-async.stories.tsx} +5 -3
  61. package/src/table/stories/tests/table.stories.tsx +4 -1
  62. package/src/tabs/Tabs.test.tsx +109 -0
  63. package/src/toggle-group/ToggleGroup.test.tsx +54 -0
  64. package/src/tooltip/Tooltip.tsx +3 -9
  65. package/src/tooltip/tooltip.stories.tsx +4 -1
  66. package/src/typography/stories/bodylong.stories.tsx +49 -3
  67. package/src/typography/stories/bodyshort.stories.tsx +50 -4
  68. package/src/typography/stories/detail.stories.tsx +32 -3
  69. package/src/typography/stories/error-message.stories.tsx +34 -3
  70. package/src/typography/stories/heading.stories.tsx +32 -3
  71. package/src/typography/stories/label.stories.tsx +38 -3
  72. package/src/util/create-context.tsx +26 -15
  73. package/cjs/modal/ModalContext.js +0 -8
  74. package/esm/modal/ModalContext.d.ts +0 -7
  75. package/esm/modal/ModalContext.js +0 -3
  76. package/esm/modal/ModalContext.js.map +0 -1
  77. package/src/modal/ModalContext.ts +0 -7
  78. package/src/panel/panel.stories.tsx +0 -63
  79. package/src/typography/stories/ingress.stories.tsx +0 -50
@@ -1,15 +1,21 @@
1
+ import { StoryObj } from "@storybook/react";
1
2
  import React from "react";
2
- import { StarIcon } from "@navikt/aksel-icons";
3
+ import { StarIcon as BaseStarIcon } from "@navikt/aksel-icons";
4
+ import { HStack, VStack } from "../layout/stack";
3
5
  import { Button } from "./index";
4
6
 
5
7
  export default {
6
8
  title: "ds-react/Button",
7
9
  component: Button,
8
10
  parameters: {
9
- chromatic: { delay: 600 },
11
+ chromatic: { disable: true },
10
12
  },
11
13
  };
12
14
 
15
+ type Story = StoryObj<typeof Button>;
16
+
17
+ const StarIcon = () => <BaseStarIcon aria-hidden />;
18
+
13
19
  const variants: (
14
20
  | "primary"
15
21
  | "secondary"
@@ -28,17 +34,7 @@ const variants: (
28
34
  "tertiary-neutral",
29
35
  ];
30
36
 
31
- const varSwitch = {
32
- primary: "Primary",
33
- secondary: "Secondary",
34
- tertiary: "Tertiary",
35
- danger: "Danger",
36
- "primary-neutral": "Primary",
37
- "secondary-neutral": "Secondary",
38
- "tertiary-neutral": "Tertiary",
39
- };
40
-
41
- export const Default = {
37
+ export const Controls: Story = {
42
38
  render: (props) => {
43
39
  return (
44
40
  <Button
@@ -57,7 +53,7 @@ export const Default = {
57
53
  icon: false,
58
54
  loading: false,
59
55
  iconPosition: "left",
60
- children: "Knapp",
56
+ children: "Button",
61
57
  variant: "primary",
62
58
  size: "medium",
63
59
  },
@@ -91,192 +87,99 @@ export const Default = {
91
87
  },
92
88
  };
93
89
 
94
- export const Small = () => (
95
- <div className="rowgap">
96
- {variants.map((variant) => (
97
- <Button key={variant} variant={variant} size="small">
98
- {varSwitch[variant]}
99
- </Button>
100
- ))}
101
- </div>
102
- );
90
+ function ButtonGrid(props: any) {
91
+ return (
92
+ <VStack gap="2">
93
+ {variants.map((variant) => (
94
+ <HStack gap="2" key={variant}>
95
+ <Button variant={variant} {...props}>
96
+ Button
97
+ </Button>
98
+ <Button variant={variant} {...props} icon={<StarIcon />}>
99
+ Button
100
+ </Button>
101
+ <Button
102
+ variant={variant}
103
+ {...props}
104
+ icon={<StarIcon />}
105
+ iconPosition="right"
106
+ >
107
+ Button
108
+ </Button>
109
+ <Button variant={variant} {...props} icon={<StarIcon />} />
110
+ </HStack>
111
+ ))}
112
+ </VStack>
113
+ );
114
+ }
103
115
 
104
- export const XSmall = () => (
105
- <div className="rowgap">
106
- {variants.map((variant) => (
107
- <Button key={variant} variant={variant} size="xsmall">
108
- {varSwitch[variant]}
109
- </Button>
110
- ))}
111
- </div>
112
- );
116
+ export const Medium: Story = {
117
+ render: () => <ButtonGrid size="medium" />,
118
+ };
113
119
 
114
- export const Link = () => (
115
- <div className="rowgap">
116
- {variants.map((variant) => (
117
- <Button key={variant} variant={variant} as="a" href="#thecakeisalie">
118
- {varSwitch[variant]}
119
- </Button>
120
- ))}
121
- </div>
122
- );
120
+ export const Small: Story = {
121
+ render: () => <ButtonGrid size="small" />,
122
+ };
123
123
 
124
- export const Loading = {
124
+ export const XSmall: Story = {
125
+ render: () => <ButtonGrid size="xsmall" />,
126
+ };
127
+
128
+ export const AsLink: Story = {
125
129
  render: () => (
126
- <div className="colgap chromatic-ignore">
127
- <div className="rowgap">
128
- {variants.map((variant) => (
129
- <Button key={variant} variant={variant} loading>
130
- {varSwitch[variant]}
131
- </Button>
132
- ))}
133
- </div>
134
- <div className="rowgap">
135
- {variants.map((variant) => (
136
- <Button key={variant} variant={variant} loading size="small">
137
- {varSwitch[variant]}
138
- </Button>
139
- ))}
140
- </div>
141
- <div className="rowgap">
142
- {variants.map((variant) => (
143
- <Button key={variant} variant={variant} loading size="xsmall">
144
- {varSwitch[variant]}
145
- </Button>
146
- ))}
147
- </div>
148
- </div>
130
+ <VStack gap="4">
131
+ <Button href="#" as="a">
132
+ Button as a-tag
133
+ </Button>
134
+ <Button href="#" as="a" disabled>
135
+ Disabled Button as a-tag
136
+ </Button>
137
+ </VStack>
149
138
  ),
139
+ };
150
140
 
151
- parameters: {
152
- chromatic: { disableSnapshot: true },
153
- },
141
+ export const Loading: Story = {
142
+ render: () => <ButtonGrid loading />,
154
143
  };
155
144
 
156
- export const Icon = () => (
157
- <div className="colgap ">
158
- <div className="rowgap">
159
- {variants.map((variant) => (
160
- <Button
161
- key={variant}
162
- variant={variant}
163
- icon={<StarIcon title="Stjerne" />}
164
- />
165
- ))}
166
- </div>
167
- <div className="rowgap">
168
- {variants.map((variant) => (
169
- <Button
170
- key={variant}
171
- variant={variant}
172
- size="small"
173
- icon={<StarIcon title="Stjerne" />}
174
- />
175
- ))}
176
- </div>
177
- <div className="rowgap">
178
- {variants.map((variant) => (
179
- <Button
180
- key={variant}
181
- variant={variant}
182
- size="xsmall"
183
- icon={<StarIcon title="Stjerne" />}
184
- />
185
- ))}
186
- </div>
187
- </div>
188
- );
145
+ export const LoadingAsLink: Story = {
146
+ render: () => <ButtonGrid loading href="#" as="a" />,
147
+ };
189
148
 
190
- export const IconWText = () => (
191
- <div className="colgap">
192
- <div className="rowgap">
193
- {variants.map((variant, i) => (
194
- <Button
195
- key={variant}
196
- variant={variant}
197
- icon={<StarIcon title="Stjerne" />}
198
- iconPosition={i % 2 ? "left" : "right"}
199
- >
200
- {varSwitch[variant]}
201
- </Button>
202
- ))}
203
- </div>
204
- <div className="rowgap">
205
- {variants.map((variant, i) => (
206
- <Button
207
- key={variant}
208
- variant={variant}
209
- size="small"
210
- icon={<StarIcon title="Stjerne" />}
211
- iconPosition={i % 2 ? "left" : "right"}
212
- >
213
- {varSwitch[variant]}
214
- </Button>
215
- ))}
216
- </div>
217
- <div className="rowgap">
218
- {variants.map((variant, i) => (
219
- <Button
220
- key={variant}
221
- variant={variant}
222
- size="xsmall"
223
- icon={<StarIcon title="Stjerne" />}
224
- iconPosition={i % 2 ? "left" : "right"}
225
- >
226
- {varSwitch[variant]}
227
- </Button>
228
- ))}
229
- </div>
230
- </div>
231
- );
149
+ export const Disabled: Story = {
150
+ render: () => <ButtonGrid disabled />,
151
+ };
232
152
 
233
- export const Disabled = () => (
234
- <div className="colgap">
235
- <div className="rowgap">
236
- {variants.map((variant) => (
237
- <Button key={variant} variant={variant} disabled>
238
- {varSwitch[variant]}
239
- </Button>
240
- ))}
241
- </div>
242
- <div className="rowgap">
243
- {variants.map((variant) => (
244
- <Button key={variant} variant={variant} disabled as="a" href="#">
245
- {varSwitch[variant]}
246
- </Button>
247
- ))}
248
- </div>
249
- </div>
250
- );
153
+ export const DisabledAsLink: Story = {
154
+ render: () => <ButtonGrid disabled href="#" as="a" />,
155
+ };
251
156
 
252
- export const LoadingWithAs = {
157
+ export const Chromatic: Story = {
253
158
  render: () => (
254
- <div className="colgap chromatic-ignore">
255
- <div className="rowgap">
256
- {variants.map((variant) => (
257
- <Button key={variant} variant={variant} loading size="small">
258
- {varSwitch[variant]}
259
- </Button>
260
- ))}
159
+ <VStack gap="6" align="center">
160
+ <div>
161
+ <h2>Medium</h2>
162
+ <ButtonGrid size="medium" />
261
163
  </div>
262
- <div className="rowgap">
263
- {variants.map((variant) => (
264
- <Button
265
- key={variant}
266
- variant={variant}
267
- loading
268
- size="small"
269
- as="a"
270
- href="#"
271
- >
272
- {varSwitch[variant]}
273
- </Button>
274
- ))}
164
+ <div>
165
+ <h2>Small</h2>
166
+ <ButtonGrid size="small" />
167
+ </div>
168
+ <div>
169
+ <h2>XSmall</h2>
170
+ <ButtonGrid size="xsmall" />
275
171
  </div>
276
- </div>
172
+ <div>
173
+ <h2>As Link</h2>
174
+ <ButtonGrid as="a" href="#" />
175
+ </div>
176
+ <div>
177
+ <h2>Disabled</h2>
178
+ <ButtonGrid disabled />
179
+ </div>
180
+ </VStack>
277
181
  ),
278
-
279
182
  parameters: {
280
- chromatic: { disableSnapshot: true },
183
+ chromatic: { disable: false },
281
184
  },
282
185
  };