@navikt/ds-react 6.5.0 → 6.6.1
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/collapsible/Collapsible.context.d.ts +48 -0
- package/cjs/collapsible/Collapsible.context.js +10 -0
- package/cjs/collapsible/Collapsible.context.js.map +1 -0
- package/cjs/collapsible/Collapsible.d.ts +48 -0
- package/cjs/collapsible/Collapsible.js +91 -0
- package/cjs/collapsible/Collapsible.js.map +1 -0
- package/cjs/collapsible/Collapsible.types.d.ts +19 -0
- package/cjs/collapsible/Collapsible.types.js +3 -0
- package/cjs/collapsible/Collapsible.types.js.map +1 -0
- package/cjs/collapsible/index.d.ts +3 -0
- package/cjs/collapsible/index.js +14 -0
- package/cjs/collapsible/index.js.map +1 -0
- package/cjs/collapsible/parts/Collapsible.Content.d.ts +10 -0
- package/cjs/collapsible/parts/Collapsible.Content.js +48 -0
- package/cjs/collapsible/parts/Collapsible.Content.js.map +1 -0
- package/cjs/collapsible/parts/Collapsible.Trigger.d.ts +10 -0
- package/cjs/collapsible/parts/Collapsible.Trigger.js +49 -0
- package/cjs/collapsible/parts/Collapsible.Trigger.js.map +1 -0
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/cjs/form/combobox/Input/Input.js +6 -1
- package/cjs/form/combobox/Input/Input.js.map +1 -1
- package/cjs/form/form-summary/FormSummary.d.ts +82 -0
- package/cjs/form/form-summary/FormSummary.js +81 -0
- package/cjs/form/form-summary/FormSummary.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryAnswer.d.ts +11 -0
- package/cjs/form/form-summary/FormSummaryAnswer.js +25 -0
- package/cjs/form/form-summary/FormSummaryAnswer.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryAnswers.d.ts +9 -0
- package/cjs/form/form-summary/FormSummaryAnswers.js +48 -0
- package/cjs/form/form-summary/FormSummaryAnswers.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryEditLink.d.ts +17 -0
- package/cjs/form/form-summary/FormSummaryEditLink.js +49 -0
- package/cjs/form/form-summary/FormSummaryEditLink.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryHeader.d.ts +9 -0
- package/cjs/form/form-summary/FormSummaryHeader.js +48 -0
- package/cjs/form/form-summary/FormSummaryHeader.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryHeading.d.ts +14 -0
- package/cjs/form/form-summary/FormSummaryHeading.js +31 -0
- package/cjs/form/form-summary/FormSummaryHeading.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryLabel.d.ts +6 -0
- package/cjs/form/form-summary/FormSummaryLabel.js +45 -0
- package/cjs/form/form-summary/FormSummaryLabel.js.map +1 -0
- package/cjs/form/form-summary/FormSummaryValue.d.ts +6 -0
- package/cjs/form/form-summary/FormSummaryValue.js +49 -0
- package/cjs/form/form-summary/FormSummaryValue.js.map +1 -0
- package/cjs/form/form-summary/index.d.ts +8 -0
- package/cjs/form/form-summary/index.js +24 -0
- package/cjs/form/form-summary/index.js.map +1 -0
- package/cjs/index.d.ts +3 -2
- package/cjs/index.js +5 -3
- package/cjs/index.js.map +1 -1
- package/cjs/layout/stack/Spacer.js +1 -1
- package/cjs/layout/stack/Spacer.js.map +1 -1
- package/cjs/util/hooks/descendants/descendant.js +10 -1
- package/cjs/util/hooks/descendants/descendant.js.map +1 -1
- package/cjs/util/hooks/descendants/useDescendant.js +0 -5
- package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
- package/esm/collapsible/Collapsible.context.d.ts +48 -0
- package/esm/collapsible/Collapsible.context.js +6 -0
- package/esm/collapsible/Collapsible.context.js.map +1 -0
- package/esm/collapsible/Collapsible.d.ts +48 -0
- package/esm/collapsible/Collapsible.js +62 -0
- package/esm/collapsible/Collapsible.js.map +1 -0
- package/esm/collapsible/Collapsible.types.d.ts +19 -0
- package/esm/collapsible/Collapsible.types.js +2 -0
- package/esm/collapsible/Collapsible.types.js.map +1 -0
- package/esm/collapsible/index.d.ts +3 -0
- package/esm/collapsible/index.js +5 -0
- package/esm/collapsible/index.js.map +1 -0
- package/esm/collapsible/parts/Collapsible.Content.d.ts +10 -0
- package/esm/collapsible/parts/Collapsible.Content.js +22 -0
- package/esm/collapsible/parts/Collapsible.Content.js.map +1 -0
- package/esm/collapsible/parts/Collapsible.Trigger.d.ts +10 -0
- package/esm/collapsible/parts/Collapsible.Trigger.js +23 -0
- package/esm/collapsible/parts/Collapsible.Trigger.js.map +1 -0
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/esm/form/combobox/Input/Input.js +6 -1
- package/esm/form/combobox/Input/Input.js.map +1 -1
- package/esm/form/form-summary/FormSummary.d.ts +82 -0
- package/esm/form/form-summary/FormSummary.js +52 -0
- package/esm/form/form-summary/FormSummary.js.map +1 -0
- package/esm/form/form-summary/FormSummaryAnswer.d.ts +11 -0
- package/esm/form/form-summary/FormSummaryAnswer.js +19 -0
- package/esm/form/form-summary/FormSummaryAnswer.js.map +1 -0
- package/esm/form/form-summary/FormSummaryAnswers.d.ts +9 -0
- package/esm/form/form-summary/FormSummaryAnswers.js +19 -0
- package/esm/form/form-summary/FormSummaryAnswers.js.map +1 -0
- package/esm/form/form-summary/FormSummaryEditLink.d.ts +17 -0
- package/esm/form/form-summary/FormSummaryEditLink.js +20 -0
- package/esm/form/form-summary/FormSummaryEditLink.js.map +1 -0
- package/esm/form/form-summary/FormSummaryHeader.d.ts +9 -0
- package/esm/form/form-summary/FormSummaryHeader.js +19 -0
- package/esm/form/form-summary/FormSummaryHeader.js.map +1 -0
- package/esm/form/form-summary/FormSummaryHeading.d.ts +14 -0
- package/esm/form/form-summary/FormSummaryHeading.js +5 -0
- package/esm/form/form-summary/FormSummaryHeading.js.map +1 -0
- package/esm/form/form-summary/FormSummaryLabel.d.ts +6 -0
- package/esm/form/form-summary/FormSummaryLabel.js +19 -0
- package/esm/form/form-summary/FormSummaryLabel.js.map +1 -0
- package/esm/form/form-summary/FormSummaryValue.d.ts +6 -0
- package/esm/form/form-summary/FormSummaryValue.js +20 -0
- package/esm/form/form-summary/FormSummaryValue.js.map +1 -0
- package/esm/form/form-summary/index.d.ts +8 -0
- package/esm/form/form-summary/index.js +10 -0
- package/esm/form/form-summary/index.js.map +1 -0
- package/esm/index.d.ts +3 -2
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/esm/layout/stack/Spacer.js +1 -1
- package/esm/layout/stack/Spacer.js.map +1 -1
- package/esm/util/hooks/descendants/descendant.js +10 -1
- package/esm/util/hooks/descendants/descendant.js.map +1 -1
- package/esm/util/hooks/descendants/useDescendant.js +0 -5
- package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
- package/package.json +15 -4
- package/src/collapsible/Collapsible.context.tsx +32 -0
- package/src/collapsible/Collapsible.tsx +100 -0
- package/src/collapsible/Collapsible.types.ts +19 -0
- package/src/collapsible/index.ts +10 -0
- package/src/collapsible/parts/Collapsible.Content.tsx +39 -0
- package/src/collapsible/parts/Collapsible.Trigger.tsx +42 -0
- package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +9 -1
- package/src/form/combobox/Input/Input.tsx +5 -0
- package/src/form/form-summary/FormSummary.tsx +106 -0
- package/src/form/form-summary/FormSummaryAnswer.tsx +27 -0
- package/src/form/form-summary/FormSummaryAnswers.tsx +25 -0
- package/src/form/form-summary/FormSummaryEditLink.tsx +35 -0
- package/src/form/form-summary/FormSummaryHeader.tsx +25 -0
- package/src/form/form-summary/FormSummaryHeading.tsx +23 -0
- package/src/form/form-summary/FormSummaryLabel.tsx +17 -0
- package/src/form/form-summary/FormSummaryValue.tsx +24 -0
- package/src/form/form-summary/index.ts +30 -0
- package/src/index.ts +16 -15
- package/src/layout/stack/Spacer.tsx +1 -1
- package/src/util/hooks/descendants/descendant.ts +15 -1
- package/src/util/hooks/descendants/useDescendant.tsx +0 -5
- package/src/accordion/accordion.stories.tsx +0 -286
- package/src/alert/alert.stories.tsx +0 -306
- package/src/button/button.stories.tsx +0 -185
- package/src/chat/chat.stories.tsx +0 -341
- package/src/chips/chips.stories.tsx +0 -260
- package/src/copybutton/copy-button.stories.tsx +0 -261
- package/src/date/datepicker/datepicker.stories.tsx +0 -614
- package/src/date/monthpicker/monthpicker.stories.tsx +0 -221
- package/src/dropdown/dropdown.stories.tsx +0 -124
- package/src/expansion-card/expansion-card.stories.tsx +0 -282
- package/src/form/checkbox/checkbox.stories.tsx +0 -281
- package/src/form/combobox/combobox.stories.tsx +0 -626
- package/src/form/confirmation-panel/confirmation-panel.stories.tsx +0 -128
- package/src/form/error-summary/error-summary.stories.tsx +0 -81
- package/src/form/fieldset/fieldset.stories.tsx +0 -157
- package/src/form/file-upload/file-upload-dropzone.stories.tsx +0 -123
- package/src/form/file-upload/file-upload-item.stories.tsx +0 -148
- package/src/form/file-upload/file-upload.stories.tsx +0 -248
- package/src/form/radio/radio.stories.tsx +0 -230
- package/src/form/search/search.stories.tsx +0 -238
- package/src/form/select/select.stories.tsx +0 -172
- package/src/form/switch/switch.stories.tsx +0 -171
- package/src/form/textarea/textarea.stories.tsx +0 -254
- package/src/form/textfield/text-field.stories.tsx +0 -143
- package/src/guide-panel/guidepanel.stories.tsx +0 -90
- package/src/help-text/help-text.stories.tsx +0 -91
- package/src/internal-header/header.stories.tsx +0 -229
- package/src/layout/bleed/Bleed.stories.tsx +0 -395
- package/src/layout/box/Box.stories.tsx +0 -380
- package/src/layout/grid/h-grid.stories.tsx +0 -122
- package/src/layout/page/Page.stories.tsx +0 -271
- package/src/layout/responsive/hide.stories.tsx +0 -80
- package/src/layout/responsive/show.stories.tsx +0 -80
- package/src/layout/sidemal-test/navno-sidemal.stories.tsx +0 -69
- package/src/layout/stack/stack.stories.tsx +0 -183
- package/src/link/stories/link.stories.tsx +0 -304
- package/src/link-panel/link-panel.stories.tsx +0 -59
- package/src/list/list.stories.tsx +0 -280
- package/src/loader/loader.stories.tsx +0 -82
- package/src/modal/modal.stories.tsx +0 -391
- package/src/pagination/pagination.stories.tsx +0 -110
- package/src/popover/popover.stories.tsx +0 -113
- package/src/portal/Portal.stories.tsx +0 -102
- package/src/read-more/readmore.stories.tsx +0 -91
- package/src/skeleton/skeleton.stories.tsx +0 -130
- package/src/stepper/stepper.stories.tsx +0 -200
- package/src/table/stories/table-1.stories.tsx +0 -292
- package/src/table/stories/table-2-expandable.stories.tsx +0 -298
- package/src/table/stories/table-3-async.stories.tsx +0 -179
- package/src/table/stories/tests/table.stories.tsx +0 -102
- package/src/tabs/Tabs.stories.tsx +0 -311
- package/src/tag/tag.stories.tsx +0 -126
- package/src/timeline/timeline.stories.tsx +0 -445
- package/src/toggle-group/ToggleGroup.stories.tsx +0 -198
- package/src/tooltip/tooltip.stories.tsx +0 -101
- package/src/typography/stories/bodylong.stories.tsx +0 -209
- package/src/typography/stories/bodyshort.stories.tsx +0 -208
- package/src/typography/stories/detail.stories.tsx +0 -115
- package/src/typography/stories/error-message.stories.tsx +0 -122
- package/src/typography/stories/heading.stories.tsx +0 -169
- package/src/typography/stories/label.stories.tsx +0 -131
- package/src/util/hooks/descendants/descendant.stories.tsx +0 -147
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@storybook/react";
|
|
2
|
-
import React, { useState } from "react";
|
|
3
|
-
import {
|
|
4
|
-
EnvelopeClosedIcon,
|
|
5
|
-
EnvelopeOpenIcon,
|
|
6
|
-
InboxUpIcon,
|
|
7
|
-
} from "@navikt/aksel-icons";
|
|
8
|
-
import { VStack } from "../layout/stack";
|
|
9
|
-
import ToggleGroup from "./ToggleGroup";
|
|
10
|
-
|
|
11
|
-
const meta: Meta<typeof ToggleGroup> = {
|
|
12
|
-
title: "ds-react/ToggleGroup",
|
|
13
|
-
component: ToggleGroup,
|
|
14
|
-
argTypes: {
|
|
15
|
-
size: {
|
|
16
|
-
options: ["medium", "small"],
|
|
17
|
-
control: {
|
|
18
|
-
type: "radio",
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
variant: {
|
|
22
|
-
options: ["action", "neutral"],
|
|
23
|
-
control: { type: "radio" },
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
parameters: {
|
|
27
|
-
chromatic: { disable: true },
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default meta;
|
|
32
|
-
|
|
33
|
-
const Items = (icon?: boolean, both?: boolean) => (
|
|
34
|
-
<>
|
|
35
|
-
<ToggleGroup.Item value="ulest">
|
|
36
|
-
{both ? (
|
|
37
|
-
<>
|
|
38
|
-
<EnvelopeClosedIcon /> Uleste
|
|
39
|
-
</>
|
|
40
|
-
) : (
|
|
41
|
-
<>{icon ? <EnvelopeClosedIcon /> : "Uleste"}</>
|
|
42
|
-
)}
|
|
43
|
-
</ToggleGroup.Item>
|
|
44
|
-
<ToggleGroup.Item value="lest">
|
|
45
|
-
{both ? (
|
|
46
|
-
<>
|
|
47
|
-
<EnvelopeOpenIcon /> Leste
|
|
48
|
-
</>
|
|
49
|
-
) : (
|
|
50
|
-
<>{icon ? <EnvelopeOpenIcon /> : "Leste"}</>
|
|
51
|
-
)}
|
|
52
|
-
</ToggleGroup.Item>
|
|
53
|
-
<ToggleGroup.Item value="sendt">
|
|
54
|
-
{both ? (
|
|
55
|
-
<>
|
|
56
|
-
<InboxUpIcon /> Sendt
|
|
57
|
-
</>
|
|
58
|
-
) : (
|
|
59
|
-
<>{icon ? <InboxUpIcon /> : "Sendt"}</>
|
|
60
|
-
)}
|
|
61
|
-
</ToggleGroup.Item>
|
|
62
|
-
</>
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
export const Default = (props) => {
|
|
66
|
-
const [activeValue, setActiveValue] = useState("ulest");
|
|
67
|
-
return (
|
|
68
|
-
<ToggleGroup
|
|
69
|
-
size={props.size}
|
|
70
|
-
variant={props.variant}
|
|
71
|
-
value={activeValue}
|
|
72
|
-
onChange={setActiveValue}
|
|
73
|
-
label={props.label ? "Proident minim dolor pariatur." : undefined}
|
|
74
|
-
>
|
|
75
|
-
{Items(props.icon, props.text && props.icon)}
|
|
76
|
-
</ToggleGroup>
|
|
77
|
-
);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
Default.args = {
|
|
81
|
-
icon: true,
|
|
82
|
-
text: true,
|
|
83
|
-
label: false,
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const Compositions = () => {
|
|
87
|
-
const [activeValue, setActiveValue] = useState("ulest");
|
|
88
|
-
|
|
89
|
-
return (
|
|
90
|
-
<VStack gap="6">
|
|
91
|
-
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
92
|
-
{Items()}
|
|
93
|
-
</ToggleGroup>
|
|
94
|
-
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
95
|
-
{Items(true, true)}
|
|
96
|
-
</ToggleGroup>
|
|
97
|
-
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
98
|
-
{Items(true)}
|
|
99
|
-
</ToggleGroup>
|
|
100
|
-
<ToggleGroup fill value={activeValue} onChange={setActiveValue}>
|
|
101
|
-
{Items(true)}
|
|
102
|
-
</ToggleGroup>
|
|
103
|
-
</VStack>
|
|
104
|
-
);
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export const Variants = () => {
|
|
108
|
-
const [activeValue, setActiveValue] = useState("ulest");
|
|
109
|
-
|
|
110
|
-
return (
|
|
111
|
-
<VStack gap="6">
|
|
112
|
-
<ToggleGroup
|
|
113
|
-
variant="action"
|
|
114
|
-
value={activeValue}
|
|
115
|
-
onChange={setActiveValue}
|
|
116
|
-
>
|
|
117
|
-
{Items(true, true)}
|
|
118
|
-
</ToggleGroup>
|
|
119
|
-
<ToggleGroup
|
|
120
|
-
variant="neutral"
|
|
121
|
-
value={activeValue}
|
|
122
|
-
onChange={setActiveValue}
|
|
123
|
-
>
|
|
124
|
-
{Items(true, true)}
|
|
125
|
-
</ToggleGroup>
|
|
126
|
-
</VStack>
|
|
127
|
-
);
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
export const Small = () => {
|
|
131
|
-
const [activeValue, setActiveValue] = useState("ulest");
|
|
132
|
-
|
|
133
|
-
return (
|
|
134
|
-
<VStack gap="6">
|
|
135
|
-
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
136
|
-
{Items()}
|
|
137
|
-
</ToggleGroup>
|
|
138
|
-
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
139
|
-
{Items(true, true)}
|
|
140
|
-
</ToggleGroup>
|
|
141
|
-
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
142
|
-
{Items(true)}
|
|
143
|
-
</ToggleGroup>
|
|
144
|
-
</VStack>
|
|
145
|
-
);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
export const Chromatic = {
|
|
149
|
-
render: () => (
|
|
150
|
-
<VStack gap="6">
|
|
151
|
-
<div>
|
|
152
|
-
<h2>Text</h2>
|
|
153
|
-
<ToggleGroup value="ulest" onChange={console.log}>
|
|
154
|
-
{Items()}
|
|
155
|
-
</ToggleGroup>
|
|
156
|
-
</div>
|
|
157
|
-
<div>
|
|
158
|
-
<h2>Icon</h2>
|
|
159
|
-
<ToggleGroup value="ulest" onChange={console.log}>
|
|
160
|
-
{Items(true)}
|
|
161
|
-
</ToggleGroup>
|
|
162
|
-
</div>
|
|
163
|
-
<div>
|
|
164
|
-
<h2>Text + icon</h2>
|
|
165
|
-
<ToggleGroup value="ulest" onChange={console.log}>
|
|
166
|
-
{Items(true, true)}
|
|
167
|
-
</ToggleGroup>
|
|
168
|
-
</div>
|
|
169
|
-
<div style={{ minWidth: 600 }}>
|
|
170
|
-
<h2>Fill</h2>
|
|
171
|
-
<ToggleGroup value="ulest" onChange={console.log} fill>
|
|
172
|
-
{Items(true, true)}
|
|
173
|
-
</ToggleGroup>
|
|
174
|
-
</div>
|
|
175
|
-
<div>
|
|
176
|
-
<h2>Small</h2>
|
|
177
|
-
<ToggleGroup value="ulest" onChange={console.log} size="small">
|
|
178
|
-
{Items(true, true)}
|
|
179
|
-
</ToggleGroup>
|
|
180
|
-
</div>
|
|
181
|
-
<div>
|
|
182
|
-
<h2>Small + fill</h2>
|
|
183
|
-
<ToggleGroup value="ulest" onChange={console.log} size="small" fill>
|
|
184
|
-
{Items(true, true)}
|
|
185
|
-
</ToggleGroup>
|
|
186
|
-
</div>
|
|
187
|
-
<div>
|
|
188
|
-
<h2>Neutral</h2>
|
|
189
|
-
<ToggleGroup value="ulest" onChange={console.log} variant="neutral">
|
|
190
|
-
{Items(true, true)}
|
|
191
|
-
</ToggleGroup>
|
|
192
|
-
</div>
|
|
193
|
-
</VStack>
|
|
194
|
-
),
|
|
195
|
-
parameters: {
|
|
196
|
-
chromatic: { disable: false },
|
|
197
|
-
},
|
|
198
|
-
};
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@storybook/react";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { Alert } from "../alert";
|
|
4
|
-
import { Button } from "../button";
|
|
5
|
-
import { Search } from "../form/search";
|
|
6
|
-
import Tooltip from "./Tooltip";
|
|
7
|
-
|
|
8
|
-
export default {
|
|
9
|
-
title: "ds-react/Tooltip",
|
|
10
|
-
component: Tooltip,
|
|
11
|
-
parameters: {
|
|
12
|
-
chromatic: { disable: true },
|
|
13
|
-
},
|
|
14
|
-
argTypes: {
|
|
15
|
-
open: {
|
|
16
|
-
control: {
|
|
17
|
-
type: "boolean",
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
offset: {
|
|
21
|
-
control: {
|
|
22
|
-
type: "number",
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
placement: {
|
|
26
|
-
control: {
|
|
27
|
-
type: "radio",
|
|
28
|
-
options: ["top", "right", "bottom", "left"],
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
} as Meta;
|
|
33
|
-
|
|
34
|
-
export const Demo = () => (
|
|
35
|
-
<div>
|
|
36
|
-
<Tooltip content="Tooltip example" placement="top">
|
|
37
|
-
<Alert variant="info">test</Alert>
|
|
38
|
-
</Tooltip>
|
|
39
|
-
<Tooltip content="Tooltip example" placement="top">
|
|
40
|
-
<Search label="søk" />
|
|
41
|
-
</Tooltip>
|
|
42
|
-
<Tooltip content="Tooltip example" placement="top">
|
|
43
|
-
<Button aria-describedby="test123">Tooltip</Button>
|
|
44
|
-
</Tooltip>
|
|
45
|
-
</div>
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
export const Default = {
|
|
49
|
-
render: (props) => {
|
|
50
|
-
return (
|
|
51
|
-
<Tooltip
|
|
52
|
-
content="Tooltip example"
|
|
53
|
-
open={props?.open}
|
|
54
|
-
keys={props?.keys ? ["Cmd", "K"] : undefined}
|
|
55
|
-
placement={props?.placement}
|
|
56
|
-
arrow={props?.arrow}
|
|
57
|
-
delay={props?.delay}
|
|
58
|
-
offset={props?.offset}
|
|
59
|
-
>
|
|
60
|
-
<Button aria-describedby="test123">Tooltip</Button>
|
|
61
|
-
</Tooltip>
|
|
62
|
-
);
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
args: {
|
|
66
|
-
keys: false,
|
|
67
|
-
arrow: true,
|
|
68
|
-
delay: 150,
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export const Placement = () => {
|
|
73
|
-
return (
|
|
74
|
-
<div className="colgap">
|
|
75
|
-
<Tooltip content="Tooltip example" open={true} placement="top">
|
|
76
|
-
<div>Element</div>
|
|
77
|
-
</Tooltip>
|
|
78
|
-
<Tooltip content="Tooltip example" open={true} placement="right">
|
|
79
|
-
<div>Element</div>
|
|
80
|
-
</Tooltip>
|
|
81
|
-
<Tooltip content="Tooltip example" open={true} placement="left">
|
|
82
|
-
<div>Element</div>
|
|
83
|
-
</Tooltip>
|
|
84
|
-
<Tooltip content="Tooltip example" open={true} placement="bottom">
|
|
85
|
-
<div>Element</div>
|
|
86
|
-
</Tooltip>
|
|
87
|
-
</div>
|
|
88
|
-
);
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export const Keys = () => {
|
|
92
|
-
return (
|
|
93
|
-
<Tooltip
|
|
94
|
-
content="Tooltip example Laboris reprehenderit sit sunt nisi velit mollit esse excepteur. Consectetur ullamco quis laboris enim nulla amet proident proident deserunt laborum. Aliqua adipisicing ipsum nisi ipsum nisi pariatur tempor amet aute labore laboris eiusmod adipisicing eu. Et cillum ipsum voluptate ea irure aliquip laboris mollit in. Voluptate tempor do voluptate reprehenderit ea dolor velit ullamco et magna enim ut sit. Pariatur culpa nulla consectetur voluptate id Lorem incididunt magna aliqua sunt ut Lorem. Laborum est quis aute enim et fugiat aute."
|
|
95
|
-
open={true}
|
|
96
|
-
keys={["CMD", "K"]}
|
|
97
|
-
>
|
|
98
|
-
<div>Element</div>
|
|
99
|
-
</Tooltip>
|
|
100
|
-
);
|
|
101
|
-
};
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import { expect, within } from "@storybook/test";
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { VStack } from "../../layout/stack";
|
|
5
|
-
import BodyLong from "../BodyLong";
|
|
6
|
-
|
|
7
|
-
const meta: Meta<typeof BodyLong> = {
|
|
8
|
-
title: "ds-react/Typography/BodyLong",
|
|
9
|
-
component: BodyLong,
|
|
10
|
-
decorators: [(story) => <div style={{ maxWidth: "700px" }}>{story()}</div>],
|
|
11
|
-
parameters: {
|
|
12
|
-
chromatic: { disable: true },
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
export default meta;
|
|
16
|
-
|
|
17
|
-
type Story = StoryObj<typeof BodyLong>;
|
|
18
|
-
|
|
19
|
-
const lorem =
|
|
20
|
-
"Hvis du ikke bor sammen med begge foreldrene dine, kan du ha rett til barnebidrag fra en eller begge foreldre mens du fullfører videregående skole eller tilsvarende.";
|
|
21
|
-
|
|
22
|
-
export const Controls: Story = {
|
|
23
|
-
args: {
|
|
24
|
-
spacing: false,
|
|
25
|
-
children: lorem,
|
|
26
|
-
|
|
27
|
-
truncate: false,
|
|
28
|
-
visuallyHidden: false,
|
|
29
|
-
},
|
|
30
|
-
argTypes: {
|
|
31
|
-
size: {
|
|
32
|
-
control: "radio",
|
|
33
|
-
options: ["large", "medium", "small"],
|
|
34
|
-
},
|
|
35
|
-
weight: {
|
|
36
|
-
control: "radio",
|
|
37
|
-
options: ["regular", "semibold"],
|
|
38
|
-
},
|
|
39
|
-
align: {
|
|
40
|
-
control: "radio",
|
|
41
|
-
options: ["start", "center", "end"],
|
|
42
|
-
},
|
|
43
|
-
textColor: {
|
|
44
|
-
control: "radio",
|
|
45
|
-
options: ["default", "subtle"],
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const SizeLarge: Story = {
|
|
51
|
-
render: () => (
|
|
52
|
-
<VStack gap="4">
|
|
53
|
-
<BodyLong size="large">{lorem}</BodyLong>
|
|
54
|
-
<BodyLong size="large" weight="semibold">
|
|
55
|
-
{lorem}
|
|
56
|
-
</BodyLong>
|
|
57
|
-
<BodyLong size="large" truncate>
|
|
58
|
-
{lorem}
|
|
59
|
-
</BodyLong>
|
|
60
|
-
</VStack>
|
|
61
|
-
),
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export const SizeMedium: Story = {
|
|
65
|
-
render: () => (
|
|
66
|
-
<VStack gap="2">
|
|
67
|
-
<BodyLong size="medium">{lorem}</BodyLong>
|
|
68
|
-
<BodyLong size="medium" weight="semibold">
|
|
69
|
-
{lorem}
|
|
70
|
-
</BodyLong>
|
|
71
|
-
<BodyLong size="medium" truncate>
|
|
72
|
-
{lorem}
|
|
73
|
-
</BodyLong>
|
|
74
|
-
</VStack>
|
|
75
|
-
),
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const SizeSmall: Story = {
|
|
79
|
-
render: () => (
|
|
80
|
-
<VStack gap="2">
|
|
81
|
-
<BodyLong size="small">{lorem}</BodyLong>
|
|
82
|
-
<BodyLong size="small" weight="semibold">
|
|
83
|
-
{lorem}
|
|
84
|
-
</BodyLong>
|
|
85
|
-
<BodyLong size="small" truncate>
|
|
86
|
-
{lorem}
|
|
87
|
-
</BodyLong>
|
|
88
|
-
</VStack>
|
|
89
|
-
),
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
export const SpacingLarge: Story = {
|
|
93
|
-
render: () => (
|
|
94
|
-
<div>
|
|
95
|
-
<BodyLong size="large" spacing>
|
|
96
|
-
{lorem}
|
|
97
|
-
</BodyLong>
|
|
98
|
-
<BodyLong size="large" spacing>
|
|
99
|
-
{lorem}
|
|
100
|
-
</BodyLong>
|
|
101
|
-
</div>
|
|
102
|
-
),
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export const SpacingMedium: Story = {
|
|
106
|
-
render: () => (
|
|
107
|
-
<div>
|
|
108
|
-
<BodyLong size="medium" spacing>
|
|
109
|
-
{lorem}
|
|
110
|
-
</BodyLong>
|
|
111
|
-
<BodyLong size="medium" spacing>
|
|
112
|
-
{lorem}
|
|
113
|
-
</BodyLong>
|
|
114
|
-
</div>
|
|
115
|
-
),
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export const SpacingSmall: Story = {
|
|
119
|
-
render: () => (
|
|
120
|
-
<div>
|
|
121
|
-
<BodyLong size="small" spacing>
|
|
122
|
-
{lorem}
|
|
123
|
-
</BodyLong>
|
|
124
|
-
<BodyLong size="small" spacing>
|
|
125
|
-
{lorem}
|
|
126
|
-
</BodyLong>
|
|
127
|
-
</div>
|
|
128
|
-
),
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
export const Colors: Story = {
|
|
132
|
-
render: () => (
|
|
133
|
-
<VStack gap="2">
|
|
134
|
-
<BodyLong textColor="default">{lorem}</BodyLong>
|
|
135
|
-
<BodyLong textColor="subtle">{lorem}</BodyLong>
|
|
136
|
-
</VStack>
|
|
137
|
-
),
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
export const Align: Story = {
|
|
141
|
-
render: () => (
|
|
142
|
-
<VStack gap="2">
|
|
143
|
-
<BodyLong align="start">{lorem}</BodyLong>
|
|
144
|
-
<BodyLong align="center">{lorem}</BodyLong>
|
|
145
|
-
<BodyLong align="end">{lorem}</BodyLong>
|
|
146
|
-
</VStack>
|
|
147
|
-
),
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
export const OverrideTag: Story = {
|
|
151
|
-
render: () => (
|
|
152
|
-
<div>
|
|
153
|
-
<BodyLong spacing>default bodylong</BodyLong>
|
|
154
|
-
<BodyLong as="legend">legend bodylong</BodyLong>
|
|
155
|
-
</div>
|
|
156
|
-
),
|
|
157
|
-
play: async ({ canvasElement }) => {
|
|
158
|
-
const canvas = within(canvasElement);
|
|
159
|
-
|
|
160
|
-
const defaultBodyLong = canvas.getByText("default bodylong");
|
|
161
|
-
const legendBodyLong = canvas.getByText("legend bodylong");
|
|
162
|
-
|
|
163
|
-
expect(defaultBodyLong.tagName).toEqual("P");
|
|
164
|
-
expect(legendBodyLong.tagName).toEqual("LEGEND");
|
|
165
|
-
},
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
export const Chromatic: Story = {
|
|
169
|
-
render: (...props) => (
|
|
170
|
-
<div>
|
|
171
|
-
<div>
|
|
172
|
-
<h2>Large</h2>
|
|
173
|
-
<h3>Size</h3>
|
|
174
|
-
{SizeLarge.render?.(...props)}
|
|
175
|
-
<h3>Spacing</h3>
|
|
176
|
-
{SpacingLarge.render?.(...props)}
|
|
177
|
-
</div>
|
|
178
|
-
<div>
|
|
179
|
-
<h2>Medium</h2>
|
|
180
|
-
<h3>Size</h3>
|
|
181
|
-
{SizeMedium.render?.(...props)}
|
|
182
|
-
<h3>Spacing</h3>
|
|
183
|
-
{SpacingMedium.render?.(...props)}
|
|
184
|
-
</div>
|
|
185
|
-
<div>
|
|
186
|
-
<h2>Small</h2>
|
|
187
|
-
<h3>Size</h3>
|
|
188
|
-
{SizeSmall.render?.(...props)}
|
|
189
|
-
<h3>Spacing</h3>
|
|
190
|
-
{SpacingSmall.render?.(...props)}
|
|
191
|
-
</div>
|
|
192
|
-
<div>
|
|
193
|
-
<h2>Colors</h2>
|
|
194
|
-
{Colors.render?.(...props)}
|
|
195
|
-
</div>
|
|
196
|
-
<div>
|
|
197
|
-
<h2>Align</h2>
|
|
198
|
-
{Align.render?.(...props)}
|
|
199
|
-
</div>
|
|
200
|
-
<div>
|
|
201
|
-
<h2>Override Tag</h2>
|
|
202
|
-
{OverrideTag.render?.(...props)}
|
|
203
|
-
</div>
|
|
204
|
-
</div>
|
|
205
|
-
),
|
|
206
|
-
parameters: {
|
|
207
|
-
chromatic: { disable: false },
|
|
208
|
-
},
|
|
209
|
-
};
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
-
import { expect, within } from "@storybook/test";
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { VStack } from "../../layout/stack";
|
|
5
|
-
import { BodyShort } from "../BodyShort";
|
|
6
|
-
|
|
7
|
-
const meta: Meta<typeof BodyShort> = {
|
|
8
|
-
title: "ds-react/Typography/BodyShort",
|
|
9
|
-
component: BodyShort,
|
|
10
|
-
decorators: [(story) => <div style={{ maxWidth: "250px" }}>{story()}</div>],
|
|
11
|
-
parameters: {
|
|
12
|
-
chromatic: { disable: true },
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
export default meta;
|
|
16
|
-
|
|
17
|
-
type Story = StoryObj<typeof BodyShort>;
|
|
18
|
-
|
|
19
|
-
const lorem = "Du må gjøre en filtrering for å se brukere i listen.";
|
|
20
|
-
|
|
21
|
-
export const Controls: Story = {
|
|
22
|
-
args: {
|
|
23
|
-
spacing: false,
|
|
24
|
-
children: lorem,
|
|
25
|
-
|
|
26
|
-
truncate: false,
|
|
27
|
-
visuallyHidden: false,
|
|
28
|
-
},
|
|
29
|
-
argTypes: {
|
|
30
|
-
size: {
|
|
31
|
-
control: "radio",
|
|
32
|
-
options: ["large", "medium", "small"],
|
|
33
|
-
},
|
|
34
|
-
weight: {
|
|
35
|
-
control: "radio",
|
|
36
|
-
options: ["regular", "semibold"],
|
|
37
|
-
},
|
|
38
|
-
align: {
|
|
39
|
-
control: "radio",
|
|
40
|
-
options: ["start", "center", "end"],
|
|
41
|
-
},
|
|
42
|
-
textColor: {
|
|
43
|
-
control: "radio",
|
|
44
|
-
options: ["default", "subtle"],
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const SizeLarge: Story = {
|
|
50
|
-
render: () => (
|
|
51
|
-
<VStack gap="2">
|
|
52
|
-
<BodyShort size="large">{lorem}</BodyShort>
|
|
53
|
-
<BodyShort size="large" weight="semibold">
|
|
54
|
-
{lorem}
|
|
55
|
-
</BodyShort>
|
|
56
|
-
<BodyShort size="large" truncate>
|
|
57
|
-
{lorem}
|
|
58
|
-
</BodyShort>
|
|
59
|
-
</VStack>
|
|
60
|
-
),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export const SizeMedium: Story = {
|
|
64
|
-
render: () => (
|
|
65
|
-
<VStack gap="2">
|
|
66
|
-
<BodyShort size="medium">{lorem}</BodyShort>
|
|
67
|
-
<BodyShort size="medium" weight="semibold">
|
|
68
|
-
{lorem}
|
|
69
|
-
</BodyShort>
|
|
70
|
-
<BodyShort size="medium" truncate>
|
|
71
|
-
{lorem}
|
|
72
|
-
</BodyShort>
|
|
73
|
-
</VStack>
|
|
74
|
-
),
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export const SizeSmall: Story = {
|
|
78
|
-
render: () => (
|
|
79
|
-
<VStack gap="2">
|
|
80
|
-
<BodyShort size="small">{lorem}</BodyShort>
|
|
81
|
-
<BodyShort size="small" weight="semibold">
|
|
82
|
-
{lorem}
|
|
83
|
-
</BodyShort>
|
|
84
|
-
<BodyShort size="small" truncate>
|
|
85
|
-
{lorem}
|
|
86
|
-
</BodyShort>
|
|
87
|
-
</VStack>
|
|
88
|
-
),
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export const SpacingLarge: Story = {
|
|
92
|
-
render: () => (
|
|
93
|
-
<div>
|
|
94
|
-
<BodyShort size="large" spacing>
|
|
95
|
-
{lorem}
|
|
96
|
-
</BodyShort>
|
|
97
|
-
<BodyShort size="large" spacing>
|
|
98
|
-
{lorem}
|
|
99
|
-
</BodyShort>
|
|
100
|
-
</div>
|
|
101
|
-
),
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
export const SpacingMedium: Story = {
|
|
105
|
-
render: () => (
|
|
106
|
-
<div>
|
|
107
|
-
<BodyShort size="medium" spacing>
|
|
108
|
-
{lorem}
|
|
109
|
-
</BodyShort>
|
|
110
|
-
<BodyShort size="medium" spacing>
|
|
111
|
-
{lorem}
|
|
112
|
-
</BodyShort>
|
|
113
|
-
</div>
|
|
114
|
-
),
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
export const SpacingSmall: Story = {
|
|
118
|
-
render: () => (
|
|
119
|
-
<div>
|
|
120
|
-
<BodyShort size="small" spacing>
|
|
121
|
-
{lorem}
|
|
122
|
-
</BodyShort>
|
|
123
|
-
<BodyShort size="small" spacing>
|
|
124
|
-
{lorem}
|
|
125
|
-
</BodyShort>
|
|
126
|
-
</div>
|
|
127
|
-
),
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
export const Colors: Story = {
|
|
131
|
-
render: () => (
|
|
132
|
-
<VStack gap="2">
|
|
133
|
-
<BodyShort textColor="default">{lorem}</BodyShort>
|
|
134
|
-
<BodyShort textColor="subtle">{lorem}</BodyShort>
|
|
135
|
-
</VStack>
|
|
136
|
-
),
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
export const Align: Story = {
|
|
140
|
-
render: () => (
|
|
141
|
-
<VStack gap="2">
|
|
142
|
-
<BodyShort align="start">{lorem}</BodyShort>
|
|
143
|
-
<BodyShort align="center">{lorem}</BodyShort>
|
|
144
|
-
<BodyShort align="end">{lorem}</BodyShort>
|
|
145
|
-
</VStack>
|
|
146
|
-
),
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
export const OverrideTag: Story = {
|
|
150
|
-
render: () => (
|
|
151
|
-
<div>
|
|
152
|
-
<BodyShort spacing>default bodyshort</BodyShort>
|
|
153
|
-
<BodyShort as="legend">legend bodyshort</BodyShort>
|
|
154
|
-
</div>
|
|
155
|
-
),
|
|
156
|
-
play: async ({ canvasElement }) => {
|
|
157
|
-
const canvas = within(canvasElement);
|
|
158
|
-
|
|
159
|
-
const defaultBodyShort = canvas.getByText("default bodyshort");
|
|
160
|
-
const legendBodyShort = canvas.getByText("legend bodyshort");
|
|
161
|
-
|
|
162
|
-
expect(defaultBodyShort.tagName).toEqual("P");
|
|
163
|
-
expect(legendBodyShort.tagName).toEqual("LEGEND");
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
export const Chromatic: Story = {
|
|
168
|
-
render: (...props) => (
|
|
169
|
-
<div>
|
|
170
|
-
<div>
|
|
171
|
-
<h2>Large</h2>
|
|
172
|
-
<h3>Size</h3>
|
|
173
|
-
{SizeLarge.render?.(...props)}
|
|
174
|
-
<h3>Spacing</h3>
|
|
175
|
-
{SpacingLarge.render?.(...props)}
|
|
176
|
-
</div>
|
|
177
|
-
<div>
|
|
178
|
-
<h2>Medium</h2>
|
|
179
|
-
<h3>Size</h3>
|
|
180
|
-
{SizeMedium.render?.(...props)}
|
|
181
|
-
<h3>Spacing</h3>
|
|
182
|
-
{SpacingMedium.render?.(...props)}
|
|
183
|
-
</div>
|
|
184
|
-
<div>
|
|
185
|
-
<h2>Small</h2>
|
|
186
|
-
<h3>Size</h3>
|
|
187
|
-
{SizeSmall.render?.(...props)}
|
|
188
|
-
<h3>Spacing</h3>
|
|
189
|
-
{SpacingSmall.render?.(...props)}
|
|
190
|
-
</div>
|
|
191
|
-
<div>
|
|
192
|
-
<h2>Colors</h2>
|
|
193
|
-
{Colors.render?.(...props)}
|
|
194
|
-
</div>
|
|
195
|
-
<div>
|
|
196
|
-
<h2>Align</h2>
|
|
197
|
-
{Align.render?.(...props)}
|
|
198
|
-
</div>
|
|
199
|
-
<div>
|
|
200
|
-
<h2>Override Tag</h2>
|
|
201
|
-
{OverrideTag.render?.(...props)}
|
|
202
|
-
</div>
|
|
203
|
-
</div>
|
|
204
|
-
),
|
|
205
|
-
parameters: {
|
|
206
|
-
chromatic: { disable: false },
|
|
207
|
-
},
|
|
208
|
-
};
|