@navikt/ds-react 2.7.7 → 2.8.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/_docs.json +340 -0
- package/cjs/expansion-card/ExpansionCard.js +76 -0
- package/cjs/expansion-card/ExpansionCardContent.js +56 -0
- package/cjs/expansion-card/ExpansionCardDescription.js +47 -0
- package/cjs/expansion-card/ExpansionCardHeader.js +56 -0
- package/cjs/expansion-card/ExpansionCardTitle.js +46 -0
- package/cjs/expansion-card/index.js +8 -0
- package/cjs/expansion-card/package.json +6 -0
- package/cjs/index.js +1 -0
- package/esm/expansion-card/ExpansionCard.d.ts +43 -0
- package/esm/expansion-card/ExpansionCard.js +48 -0
- package/esm/expansion-card/ExpansionCard.js.map +1 -0
- package/esm/expansion-card/ExpansionCardContent.d.ts +7 -0
- package/esm/expansion-card/ExpansionCardContent.js +29 -0
- package/esm/expansion-card/ExpansionCardContent.js.map +1 -0
- package/esm/expansion-card/ExpansionCardDescription.d.ts +7 -0
- package/esm/expansion-card/ExpansionCardDescription.js +19 -0
- package/esm/expansion-card/ExpansionCardDescription.js.map +1 -0
- package/esm/expansion-card/ExpansionCardHeader.d.ts +7 -0
- package/esm/expansion-card/ExpansionCardHeader.js +29 -0
- package/esm/expansion-card/ExpansionCardHeader.js.map +1 -0
- package/esm/expansion-card/ExpansionCardTitle.d.ts +13 -0
- package/esm/expansion-card/ExpansionCardTitle.js +18 -0
- package/esm/expansion-card/ExpansionCardTitle.js.map +1 -0
- package/esm/expansion-card/index.d.ts +1 -0
- package/esm/expansion-card/index.js +2 -0
- package/esm/expansion-card/index.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/package.json +3 -2
- package/src/expansion-card/ExpansionCard.tsx +119 -0
- package/src/expansion-card/ExpansionCardContent.tsx +42 -0
- package/src/expansion-card/ExpansionCardDescription.tsx +22 -0
- package/src/expansion-card/ExpansionCardHeader.tsx +50 -0
- package/src/expansion-card/ExpansionCardTitle.tsx +34 -0
- package/src/expansion-card/expansion-card.stories.tsx +269 -0
- package/src/expansion-card/index.ts +4 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { PlantIcon } from "@navikt/aksel-icons";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import { ExpansionCard } from ".";
|
|
4
|
+
import { BodyLong } from "../typography";
|
|
5
|
+
import ExpansionCardContent from "./ExpansionCardContent";
|
|
6
|
+
import ExpansionCardHeader from "./ExpansionCardHeader";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "ds-react/ExpansionCard",
|
|
10
|
+
component: ExpansionCard,
|
|
11
|
+
subcomponents: [ExpansionCardHeader, ExpansionCardContent],
|
|
12
|
+
decorators: [
|
|
13
|
+
(Story) => (
|
|
14
|
+
<div
|
|
15
|
+
style={{
|
|
16
|
+
width: "600px",
|
|
17
|
+
minHeight: "100vh",
|
|
18
|
+
padding: "10rem 0",
|
|
19
|
+
display: "flex",
|
|
20
|
+
flexDirection: "column",
|
|
21
|
+
gap: "1rem",
|
|
22
|
+
}}
|
|
23
|
+
>
|
|
24
|
+
<Story />
|
|
25
|
+
</div>
|
|
26
|
+
),
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const Content = () => (
|
|
31
|
+
<ExpansionCard.Content>
|
|
32
|
+
<BodyLong spacing>
|
|
33
|
+
På ditt faste arbeidssted vil du ha yrkesskadedekning også i hvilepauser,
|
|
34
|
+
lunsjpauser, trimaktiviteter og lignende i arbeidstiden.
|
|
35
|
+
</BodyLong>
|
|
36
|
+
<BodyLong spacing>
|
|
37
|
+
Som hovedregel er du som arbeidstaker ikke yrkesskadedekket på veien til
|
|
38
|
+
og fra arbeid eller første og siste oppdragssted. Du er heller ikke
|
|
39
|
+
yrkesskadedekket på fritiden eller under private gjøremål i arbeidstiden.
|
|
40
|
+
</BodyLong>
|
|
41
|
+
<BodyLong spacing>
|
|
42
|
+
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fuga suscipit
|
|
43
|
+
voluptatum expedita earum id, aperiam deleniti molestiae eveniet
|
|
44
|
+
doloremque explicabo perspiciatis quasi repellendus! Est dolore a nemo
|
|
45
|
+
aspernatur obcaecati dicta.
|
|
46
|
+
</BodyLong>
|
|
47
|
+
<BodyLong spacing>
|
|
48
|
+
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fuga suscipit
|
|
49
|
+
voluptatum expedita earum id, aperiam deleniti molestiae eveniet
|
|
50
|
+
doloremque explicabo perspiciatis quasi repellendus! Est dolore a nemo
|
|
51
|
+
aspernatur obcaecati dicta.
|
|
52
|
+
</BodyLong>
|
|
53
|
+
<BodyLong>
|
|
54
|
+
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Fuga suscipit
|
|
55
|
+
voluptatum expedita earum id, aperiam deleniti molestiae eveniet
|
|
56
|
+
doloremque explicabo perspiciatis quasi repellendus! Est dolore a nemo
|
|
57
|
+
aspernatur obcaecati dicta.
|
|
58
|
+
</BodyLong>
|
|
59
|
+
</ExpansionCard.Content>
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
export const Default = {
|
|
63
|
+
render: (props) => {
|
|
64
|
+
return (
|
|
65
|
+
<ExpansionCard
|
|
66
|
+
{...props}
|
|
67
|
+
open={props?.open || undefined}
|
|
68
|
+
size={props.size}
|
|
69
|
+
aria-label="default-demo"
|
|
70
|
+
>
|
|
71
|
+
<ExpansionCard.Header>
|
|
72
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
73
|
+
{props.description && (
|
|
74
|
+
<ExpansionCard.Description>
|
|
75
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
|
|
76
|
+
til tid, sted og arbeidsoppgaver
|
|
77
|
+
</ExpansionCard.Description>
|
|
78
|
+
)}
|
|
79
|
+
</ExpansionCard.Header>
|
|
80
|
+
<Content />
|
|
81
|
+
</ExpansionCard>
|
|
82
|
+
);
|
|
83
|
+
},
|
|
84
|
+
args: {
|
|
85
|
+
open: false,
|
|
86
|
+
size: "medium",
|
|
87
|
+
description: false,
|
|
88
|
+
variant: "neutral",
|
|
89
|
+
},
|
|
90
|
+
argTypes: {
|
|
91
|
+
size: { control: "select", options: ["medium", "small"] },
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const Description = {
|
|
96
|
+
render: () => (
|
|
97
|
+
<ExpansionCard aria-label="bare description">
|
|
98
|
+
<ExpansionCard.Header>
|
|
99
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
100
|
+
<ExpansionCard.Description>
|
|
101
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
|
|
102
|
+
tid, sted og arbeidsoppgaver
|
|
103
|
+
</ExpansionCard.Description>
|
|
104
|
+
</ExpansionCard.Header>
|
|
105
|
+
<Content />
|
|
106
|
+
</ExpansionCard>
|
|
107
|
+
),
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export const Sizes = {
|
|
111
|
+
render: () => (
|
|
112
|
+
<>
|
|
113
|
+
<h2>Medium</h2>
|
|
114
|
+
<ExpansionCard aria-label="Demo med description">
|
|
115
|
+
<ExpansionCard.Header>
|
|
116
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
117
|
+
<ExpansionCard.Description>
|
|
118
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
|
|
119
|
+
til tid, sted og arbeidsoppgaver
|
|
120
|
+
</ExpansionCard.Description>
|
|
121
|
+
</ExpansionCard.Header>
|
|
122
|
+
<Content />
|
|
123
|
+
</ExpansionCard>
|
|
124
|
+
<ExpansionCard aria-label="Demo">
|
|
125
|
+
<ExpansionCard.Header>
|
|
126
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
127
|
+
</ExpansionCard.Header>
|
|
128
|
+
<Content />
|
|
129
|
+
</ExpansionCard>
|
|
130
|
+
<h2>Small</h2>
|
|
131
|
+
<ExpansionCard size="small" aria-label="small-demo">
|
|
132
|
+
<ExpansionCard.Header>
|
|
133
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
134
|
+
<ExpansionCard.Description>
|
|
135
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
|
|
136
|
+
til tid, sted og arbeidsoppgaver
|
|
137
|
+
</ExpansionCard.Description>
|
|
138
|
+
</ExpansionCard.Header>
|
|
139
|
+
<Content />
|
|
140
|
+
</ExpansionCard>
|
|
141
|
+
<ExpansionCard
|
|
142
|
+
size="small"
|
|
143
|
+
aria-label="small-demo med avatar uten description"
|
|
144
|
+
>
|
|
145
|
+
<ExpansionCard.Header>
|
|
146
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
147
|
+
</ExpansionCard.Header>
|
|
148
|
+
<Content />
|
|
149
|
+
</ExpansionCard>
|
|
150
|
+
</>
|
|
151
|
+
),
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export const HeadingSizing = {
|
|
155
|
+
render: () => (
|
|
156
|
+
<>
|
|
157
|
+
{(["large", "medium", "small"] as const).map((x) => (
|
|
158
|
+
<ExpansionCard aria-label={`demo-${x}`}>
|
|
159
|
+
<ExpansionCard.Header key={x}>
|
|
160
|
+
<ExpansionCard.Title size={x}>{x}</ExpansionCard.Title>
|
|
161
|
+
<ExpansionCard.Description>
|
|
162
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
|
|
163
|
+
til tid, sted og arbeidsoppgaver
|
|
164
|
+
</ExpansionCard.Description>
|
|
165
|
+
</ExpansionCard.Header>
|
|
166
|
+
<Content />
|
|
167
|
+
</ExpansionCard>
|
|
168
|
+
))}
|
|
169
|
+
</>
|
|
170
|
+
),
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
export const DefaultOpen = {
|
|
174
|
+
render: () => (
|
|
175
|
+
<ExpansionCard defaultOpen aria-label="defaultOpen demo">
|
|
176
|
+
<ExpansionCard.Header>
|
|
177
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
178
|
+
<ExpansionCard.Description>
|
|
179
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav til
|
|
180
|
+
tid, sted og arbeidsoppgaver
|
|
181
|
+
</ExpansionCard.Description>
|
|
182
|
+
</ExpansionCard.Header>
|
|
183
|
+
<Content />
|
|
184
|
+
</ExpansionCard>
|
|
185
|
+
),
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
export const ControlledState = {
|
|
189
|
+
render: () => {
|
|
190
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
191
|
+
const [open, setOpen] = useState(false);
|
|
192
|
+
return (
|
|
193
|
+
<ExpansionCard
|
|
194
|
+
open={open}
|
|
195
|
+
onToggle={setOpen}
|
|
196
|
+
aria-label="Controlled-state demo"
|
|
197
|
+
>
|
|
198
|
+
<ExpansionCard.Header>
|
|
199
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
200
|
+
<ExpansionCard.Description>
|
|
201
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
|
|
202
|
+
til tid, sted og arbeidsoppgaver
|
|
203
|
+
</ExpansionCard.Description>
|
|
204
|
+
</ExpansionCard.Header>
|
|
205
|
+
<Content />
|
|
206
|
+
</ExpansionCard>
|
|
207
|
+
);
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
export const Customization = {
|
|
212
|
+
render: () => (
|
|
213
|
+
<div className="subtle-card">
|
|
214
|
+
<ExpansionCard aria-label="custom-styling demo">
|
|
215
|
+
<ExpansionCard.Header>
|
|
216
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
217
|
+
<ExpansionCard.Description>
|
|
218
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel krav
|
|
219
|
+
til tid, sted og arbeidsoppgaver
|
|
220
|
+
</ExpansionCard.Description>
|
|
221
|
+
</ExpansionCard.Header>
|
|
222
|
+
<Content />
|
|
223
|
+
</ExpansionCard>
|
|
224
|
+
|
|
225
|
+
<style>{`
|
|
226
|
+
.subtle-card {
|
|
227
|
+
--ac-expansioncard-bg: var(--a-surface-subtle);
|
|
228
|
+
--ac-expansioncard-border-open-color: var(--a-border-alt-3);
|
|
229
|
+
}`}</style>
|
|
230
|
+
</div>
|
|
231
|
+
),
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
export const Icon = {
|
|
235
|
+
render: () => (
|
|
236
|
+
<div>
|
|
237
|
+
<ExpansionCard aria-label="custom-styling demo">
|
|
238
|
+
<ExpansionCard.Header>
|
|
239
|
+
<div className="with-icon">
|
|
240
|
+
<div className="icon">
|
|
241
|
+
<PlantIcon aria-hidden />
|
|
242
|
+
</div>
|
|
243
|
+
<div>
|
|
244
|
+
<ExpansionCard.Title>Arbeidstakere</ExpansionCard.Title>
|
|
245
|
+
<ExpansionCard.Description>
|
|
246
|
+
For at yrkesskadedekningen skal gjelde, er det som hovedregel
|
|
247
|
+
krav til tid, sted og arbeidsoppgaver
|
|
248
|
+
</ExpansionCard.Description>
|
|
249
|
+
</div>
|
|
250
|
+
</div>
|
|
251
|
+
</ExpansionCard.Header>
|
|
252
|
+
<Content />
|
|
253
|
+
</ExpansionCard>
|
|
254
|
+
|
|
255
|
+
<style>{`
|
|
256
|
+
.with-icon {
|
|
257
|
+
display: flex;
|
|
258
|
+
align-items: center;
|
|
259
|
+
gap: 1rem;
|
|
260
|
+
}
|
|
261
|
+
.icon {
|
|
262
|
+
font-size: 3rem;
|
|
263
|
+
flex-shrink: 0;
|
|
264
|
+
display: grid;
|
|
265
|
+
place-content: center;
|
|
266
|
+
}`}</style>
|
|
267
|
+
</div>
|
|
268
|
+
),
|
|
269
|
+
};
|