@navikt/ds-react 6.5.0 → 6.6.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.
Files changed (153) hide show
  1. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
  2. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  3. package/cjs/form/combobox/Input/Input.js +6 -1
  4. package/cjs/form/combobox/Input/Input.js.map +1 -1
  5. package/cjs/form/form-summary/FormSummary.d.ts +82 -0
  6. package/cjs/form/form-summary/FormSummary.js +81 -0
  7. package/cjs/form/form-summary/FormSummary.js.map +1 -0
  8. package/cjs/form/form-summary/FormSummaryAnswer.d.ts +11 -0
  9. package/cjs/form/form-summary/FormSummaryAnswer.js +25 -0
  10. package/cjs/form/form-summary/FormSummaryAnswer.js.map +1 -0
  11. package/cjs/form/form-summary/FormSummaryAnswers.d.ts +9 -0
  12. package/cjs/form/form-summary/FormSummaryAnswers.js +48 -0
  13. package/cjs/form/form-summary/FormSummaryAnswers.js.map +1 -0
  14. package/cjs/form/form-summary/FormSummaryEditLink.d.ts +17 -0
  15. package/cjs/form/form-summary/FormSummaryEditLink.js +49 -0
  16. package/cjs/form/form-summary/FormSummaryEditLink.js.map +1 -0
  17. package/cjs/form/form-summary/FormSummaryHeader.d.ts +9 -0
  18. package/cjs/form/form-summary/FormSummaryHeader.js +48 -0
  19. package/cjs/form/form-summary/FormSummaryHeader.js.map +1 -0
  20. package/cjs/form/form-summary/FormSummaryHeading.d.ts +14 -0
  21. package/cjs/form/form-summary/FormSummaryHeading.js +31 -0
  22. package/cjs/form/form-summary/FormSummaryHeading.js.map +1 -0
  23. package/cjs/form/form-summary/FormSummaryLabel.d.ts +6 -0
  24. package/cjs/form/form-summary/FormSummaryLabel.js +45 -0
  25. package/cjs/form/form-summary/FormSummaryLabel.js.map +1 -0
  26. package/cjs/form/form-summary/FormSummaryValue.d.ts +6 -0
  27. package/cjs/form/form-summary/FormSummaryValue.js +49 -0
  28. package/cjs/form/form-summary/FormSummaryValue.js.map +1 -0
  29. package/cjs/form/form-summary/index.d.ts +8 -0
  30. package/cjs/form/form-summary/index.js +24 -0
  31. package/cjs/form/form-summary/index.js.map +1 -0
  32. package/cjs/index.d.ts +3 -2
  33. package/cjs/index.js +5 -3
  34. package/cjs/index.js.map +1 -1
  35. package/cjs/util/hooks/descendants/descendant.js +10 -1
  36. package/cjs/util/hooks/descendants/descendant.js.map +1 -1
  37. package/cjs/util/hooks/descendants/useDescendant.js +0 -5
  38. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  39. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
  40. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  41. package/esm/form/combobox/Input/Input.js +6 -1
  42. package/esm/form/combobox/Input/Input.js.map +1 -1
  43. package/esm/form/form-summary/FormSummary.d.ts +82 -0
  44. package/esm/form/form-summary/FormSummary.js +52 -0
  45. package/esm/form/form-summary/FormSummary.js.map +1 -0
  46. package/esm/form/form-summary/FormSummaryAnswer.d.ts +11 -0
  47. package/esm/form/form-summary/FormSummaryAnswer.js +19 -0
  48. package/esm/form/form-summary/FormSummaryAnswer.js.map +1 -0
  49. package/esm/form/form-summary/FormSummaryAnswers.d.ts +9 -0
  50. package/esm/form/form-summary/FormSummaryAnswers.js +19 -0
  51. package/esm/form/form-summary/FormSummaryAnswers.js.map +1 -0
  52. package/esm/form/form-summary/FormSummaryEditLink.d.ts +17 -0
  53. package/esm/form/form-summary/FormSummaryEditLink.js +20 -0
  54. package/esm/form/form-summary/FormSummaryEditLink.js.map +1 -0
  55. package/esm/form/form-summary/FormSummaryHeader.d.ts +9 -0
  56. package/esm/form/form-summary/FormSummaryHeader.js +19 -0
  57. package/esm/form/form-summary/FormSummaryHeader.js.map +1 -0
  58. package/esm/form/form-summary/FormSummaryHeading.d.ts +14 -0
  59. package/esm/form/form-summary/FormSummaryHeading.js +5 -0
  60. package/esm/form/form-summary/FormSummaryHeading.js.map +1 -0
  61. package/esm/form/form-summary/FormSummaryLabel.d.ts +6 -0
  62. package/esm/form/form-summary/FormSummaryLabel.js +19 -0
  63. package/esm/form/form-summary/FormSummaryLabel.js.map +1 -0
  64. package/esm/form/form-summary/FormSummaryValue.d.ts +6 -0
  65. package/esm/form/form-summary/FormSummaryValue.js +20 -0
  66. package/esm/form/form-summary/FormSummaryValue.js.map +1 -0
  67. package/esm/form/form-summary/index.d.ts +8 -0
  68. package/esm/form/form-summary/index.js +10 -0
  69. package/esm/form/form-summary/index.js.map +1 -0
  70. package/esm/index.d.ts +3 -2
  71. package/esm/index.js +2 -1
  72. package/esm/index.js.map +1 -1
  73. package/esm/util/hooks/descendants/descendant.js +10 -1
  74. package/esm/util/hooks/descendants/descendant.js.map +1 -1
  75. package/esm/util/hooks/descendants/useDescendant.js +0 -5
  76. package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
  77. package/package.json +15 -4
  78. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +9 -1
  79. package/src/form/combobox/Input/Input.tsx +5 -0
  80. package/src/form/form-summary/FormSummary.tsx +106 -0
  81. package/src/form/form-summary/FormSummaryAnswer.tsx +27 -0
  82. package/src/form/form-summary/FormSummaryAnswers.tsx +25 -0
  83. package/src/form/form-summary/FormSummaryEditLink.tsx +35 -0
  84. package/src/form/form-summary/FormSummaryHeader.tsx +25 -0
  85. package/src/form/form-summary/FormSummaryHeading.tsx +23 -0
  86. package/src/form/form-summary/FormSummaryLabel.tsx +17 -0
  87. package/src/form/form-summary/FormSummaryValue.tsx +24 -0
  88. package/src/form/form-summary/index.ts +30 -0
  89. package/src/index.ts +16 -15
  90. package/src/util/hooks/descendants/descendant.ts +15 -1
  91. package/src/util/hooks/descendants/useDescendant.tsx +0 -5
  92. package/src/accordion/accordion.stories.tsx +0 -286
  93. package/src/alert/alert.stories.tsx +0 -306
  94. package/src/button/button.stories.tsx +0 -185
  95. package/src/chat/chat.stories.tsx +0 -341
  96. package/src/chips/chips.stories.tsx +0 -260
  97. package/src/copybutton/copy-button.stories.tsx +0 -261
  98. package/src/date/datepicker/datepicker.stories.tsx +0 -614
  99. package/src/date/monthpicker/monthpicker.stories.tsx +0 -221
  100. package/src/dropdown/dropdown.stories.tsx +0 -124
  101. package/src/expansion-card/expansion-card.stories.tsx +0 -282
  102. package/src/form/checkbox/checkbox.stories.tsx +0 -281
  103. package/src/form/combobox/combobox.stories.tsx +0 -626
  104. package/src/form/confirmation-panel/confirmation-panel.stories.tsx +0 -128
  105. package/src/form/error-summary/error-summary.stories.tsx +0 -81
  106. package/src/form/fieldset/fieldset.stories.tsx +0 -157
  107. package/src/form/file-upload/file-upload-dropzone.stories.tsx +0 -123
  108. package/src/form/file-upload/file-upload-item.stories.tsx +0 -148
  109. package/src/form/file-upload/file-upload.stories.tsx +0 -248
  110. package/src/form/radio/radio.stories.tsx +0 -230
  111. package/src/form/search/search.stories.tsx +0 -238
  112. package/src/form/select/select.stories.tsx +0 -172
  113. package/src/form/switch/switch.stories.tsx +0 -171
  114. package/src/form/textarea/textarea.stories.tsx +0 -254
  115. package/src/form/textfield/text-field.stories.tsx +0 -143
  116. package/src/guide-panel/guidepanel.stories.tsx +0 -90
  117. package/src/help-text/help-text.stories.tsx +0 -91
  118. package/src/internal-header/header.stories.tsx +0 -229
  119. package/src/layout/bleed/Bleed.stories.tsx +0 -395
  120. package/src/layout/box/Box.stories.tsx +0 -380
  121. package/src/layout/grid/h-grid.stories.tsx +0 -122
  122. package/src/layout/page/Page.stories.tsx +0 -271
  123. package/src/layout/responsive/hide.stories.tsx +0 -80
  124. package/src/layout/responsive/show.stories.tsx +0 -80
  125. package/src/layout/sidemal-test/navno-sidemal.stories.tsx +0 -69
  126. package/src/layout/stack/stack.stories.tsx +0 -183
  127. package/src/link/stories/link.stories.tsx +0 -304
  128. package/src/link-panel/link-panel.stories.tsx +0 -59
  129. package/src/list/list.stories.tsx +0 -280
  130. package/src/loader/loader.stories.tsx +0 -82
  131. package/src/modal/modal.stories.tsx +0 -391
  132. package/src/pagination/pagination.stories.tsx +0 -110
  133. package/src/popover/popover.stories.tsx +0 -113
  134. package/src/portal/Portal.stories.tsx +0 -102
  135. package/src/read-more/readmore.stories.tsx +0 -91
  136. package/src/skeleton/skeleton.stories.tsx +0 -130
  137. package/src/stepper/stepper.stories.tsx +0 -200
  138. package/src/table/stories/table-1.stories.tsx +0 -292
  139. package/src/table/stories/table-2-expandable.stories.tsx +0 -298
  140. package/src/table/stories/table-3-async.stories.tsx +0 -179
  141. package/src/table/stories/tests/table.stories.tsx +0 -102
  142. package/src/tabs/Tabs.stories.tsx +0 -311
  143. package/src/tag/tag.stories.tsx +0 -126
  144. package/src/timeline/timeline.stories.tsx +0 -445
  145. package/src/toggle-group/ToggleGroup.stories.tsx +0 -198
  146. package/src/tooltip/tooltip.stories.tsx +0 -101
  147. package/src/typography/stories/bodylong.stories.tsx +0 -209
  148. package/src/typography/stories/bodyshort.stories.tsx +0 -208
  149. package/src/typography/stories/detail.stories.tsx +0 -115
  150. package/src/typography/stories/error-message.stories.tsx +0 -122
  151. package/src/typography/stories/heading.stories.tsx +0 -169
  152. package/src/typography/stories/label.stories.tsx +0 -131
  153. package/src/util/hooks/descendants/descendant.stories.tsx +0 -147
@@ -1,126 +0,0 @@
1
- import type { Meta } from "@storybook/react";
2
- import React from "react";
3
- import { ComponentIcon } from "@navikt/aksel-icons";
4
- import { Tag, TagProps } from ".";
5
- import { HStack } from "../layout/stack";
6
-
7
- const sizes: TagProps["size"][] = ["xsmall", "small", "medium"];
8
-
9
- const variants: TagProps["variant"][] = [
10
- "warning",
11
- "error",
12
- "info",
13
- "success",
14
- "neutral",
15
- "alt1",
16
- "alt2",
17
- "alt3",
18
- "warning-filled",
19
- "error-filled",
20
- "info-filled",
21
- "success-filled",
22
- "neutral-filled",
23
- "alt1-filled",
24
- "alt2-filled",
25
- "alt3-filled",
26
- "warning-moderate",
27
- "error-moderate",
28
- "info-moderate",
29
- "success-moderate",
30
- "neutral-moderate",
31
- "alt1-moderate",
32
- "alt2-moderate",
33
- "alt3-moderate",
34
- ];
35
-
36
- export default {
37
- title: "ds-react/Tag",
38
- component: Tag,
39
- argTypes: {
40
- variant: {
41
- defaultValue: "info",
42
- control: {
43
- type: "radio",
44
- },
45
- options: variants,
46
- },
47
- size: {
48
- defaultValue: "medium",
49
- control: {
50
- type: "radio",
51
- },
52
- options: ["xsmall", "small", "medium"],
53
- },
54
- },
55
- } satisfies Meta<typeof Tag>;
56
-
57
- export const Default = {
58
- render: (props) => (
59
- <Tag
60
- variant={props.variant}
61
- size={props.size}
62
- icon={props.icon && <ComponentIcon aria-hidden />}
63
- >
64
- {props.children}
65
- </Tag>
66
- ),
67
-
68
- args: {
69
- children: "Id elit esse",
70
- variant: "info",
71
- icon: false,
72
- },
73
- };
74
-
75
- export const Small = () => {
76
- return (
77
- <div className="rowgap rowgap-wrap">
78
- {variants.map((variant) => (
79
- <Tag key={variant} variant={variant} size="small">
80
- {variant}
81
- </Tag>
82
- ))}
83
- </div>
84
- );
85
- };
86
-
87
- export const XSmall = () => {
88
- return (
89
- <div className="rowgap rowgap-wrap">
90
- {variants.map((variant) => (
91
- <Tag key={variant} variant={variant} size="xsmall">
92
- {variant}
93
- </Tag>
94
- ))}
95
- </div>
96
- );
97
- };
98
-
99
- export const Variants = () => {
100
- return (
101
- <div className="rowgap rowgap-wrap">
102
- {variants.map((variant) => (
103
- <Tag key={variant} variant={variant}>
104
- {variant}
105
- </Tag>
106
- ))}
107
- </div>
108
- );
109
- };
110
-
111
- export const WithIcons = () => {
112
- return (
113
- <HStack gap="2" align="start">
114
- {sizes.reverse().map((size) => (
115
- <Tag
116
- key={size}
117
- variant="neutral-moderate"
118
- size={size}
119
- icon={<ComponentIcon aria-hidden />}
120
- >
121
- {size}
122
- </Tag>
123
- ))}
124
- </HStack>
125
- );
126
- };
@@ -1,445 +0,0 @@
1
- import { Meta } from "@storybook/react";
2
- import * as React from "react";
3
- import { useState } from "react";
4
- import { CheckmarkCircleFillIcon } from "@navikt/aksel-icons";
5
- import Timeline from "./Timeline";
6
-
7
- export default {
8
- title: "ds-react/Timeline",
9
- component: Timeline,
10
- argTypes: {},
11
- } as Meta;
12
-
13
- const DummyLabel = () => {
14
- return (
15
- <div
16
- style={{
17
- width: "239px",
18
- margin: 0,
19
- textAlign: "left",
20
- fontSize: "14px",
21
- }}
22
- >
23
- <p>Periode: 15.07.2019 - 25.07.2019</p>
24
- <p>Utbetalt: 12 345,00 kr</p>
25
- <p style={{ color: "red" }}>Dager igjen: 0</p>
26
- </div>
27
- );
28
- };
29
-
30
- const row1 = [
31
- {
32
- id: "1",
33
- start: new Date("Jan 1 2022"),
34
- end: new Date("Jan 31 2022"),
35
- status: "success",
36
- icon: <CheckmarkCircleFillIcon aria-hidden />,
37
- statusLabel: "Sykemeldt",
38
- },
39
- {
40
- id: "2",
41
- start: new Date("Feb 1 2022"),
42
- end: new Date("Mar 15 2022"),
43
- status: "danger",
44
- onSelectPeriod: () => console.log("PERIOD SELECTED!"),
45
- statusLabel: "Sykemeldt",
46
- },
47
- {
48
- id: "3",
49
- start: new Date("May 2 2022"),
50
- end: new Date("May 25 2022"),
51
- status: "success",
52
- icon: <CheckmarkCircleFillIcon aria-hidden />,
53
- statusLabel: "Sykemeldt",
54
- },
55
- {
56
- id: "4",
57
- start: new Date("Mar 1 2022"),
58
- end: new Date("Mar 31 2022"),
59
- status: "success",
60
- onSelectPeriod: () => console.log("PERIOD SELECTED!"),
61
- icon: <CheckmarkCircleFillIcon aria-hidden />,
62
- label: "test",
63
- statusLabel: "Sykemeldt",
64
- },
65
- {
66
- id: "5",
67
- start: new Date("Jul 1 2022"),
68
- end: new Date("Jul 31 2022"),
69
- status: "warning",
70
- icon: <CheckmarkCircleFillIcon aria-hidden />,
71
- onSelectPeriod: () => console.log("PERIOD SELECTED!"),
72
- statusLabel: "Sykemeldt",
73
- },
74
- {
75
- id: "6",
76
- start: new Date("Aug 1 2022"),
77
- end: new Date("Aug 30 2022"),
78
- status: "warning",
79
- icon: <CheckmarkCircleFillIcon aria-hidden />,
80
- statusLabel: "Sykemeldt",
81
- },
82
- ];
83
-
84
- const row2 = [
85
- {
86
- id: "7",
87
- start: new Date("May 13 2022"),
88
- end: new Date("May 25 2022"),
89
- status: "warning",
90
- onSelectPeriod: () => console.log("PERIOD SELECTED!"),
91
- icon: <CheckmarkCircleFillIcon aria-hidden />,
92
- children: <DummyLabel />,
93
- },
94
- {
95
- id: "8",
96
- start: new Date("Feb 1 2022"),
97
- end: new Date("May 2 2022"),
98
- status: "neutral",
99
- onSelectPeriod: () => console.log("PERIOD SELECTED!"),
100
- icon: <CheckmarkCircleFillIcon aria-hidden />,
101
- children: <DummyLabel />,
102
- },
103
- ];
104
-
105
- export const Default = () => {
106
- return (
107
- <div style={{ width: "80vw" }}>
108
- <Timeline>
109
- <Timeline.Row
110
- label="Row 1"
111
- icon={<CheckmarkCircleFillIcon aria-hidden />}
112
- >
113
- {row1.map((p: any) => {
114
- return (
115
- <Timeline.Period
116
- key={p.id}
117
- start={p.start}
118
- end={p.end}
119
- status={p.status}
120
- icon={p.icon}
121
- />
122
- );
123
- })}
124
- </Timeline.Row>
125
- <Timeline.Row
126
- label="Row 2"
127
- icon={<CheckmarkCircleFillIcon aria-hidden />}
128
- >
129
- {row2.map((p: any) => {
130
- return (
131
- <Timeline.Period
132
- key={p.id}
133
- start={p.start}
134
- end={p.end}
135
- status={p.status}
136
- icon={p.icon}
137
- />
138
- );
139
- })}
140
- </Timeline.Row>
141
- </Timeline>
142
- </div>
143
- );
144
- };
145
-
146
- export const WithPins = () => {
147
- return (
148
- <div style={{ width: "80vw" }}>
149
- <Timeline>
150
- <Timeline.Pin date={new Date("Apr 15 2022")}>Pin 1</Timeline.Pin>
151
- <Timeline.Pin date={new Date("Jun 12 2022")}>Pin 2</Timeline.Pin>
152
- <Timeline.Pin date={new Date("Jul 28 2022")}>Pin 3</Timeline.Pin>
153
- <Timeline.Row
154
- label="Row 1"
155
- icon={<CheckmarkCircleFillIcon aria-hidden />}
156
- >
157
- {row1.map((p: any) => {
158
- return (
159
- <Timeline.Period
160
- key={p.id}
161
- start={p.start}
162
- end={p.end}
163
- status={p.status}
164
- icon={p.icon}
165
- />
166
- );
167
- })}
168
- </Timeline.Row>
169
- <Timeline.Row
170
- label="Row 2"
171
- icon={<CheckmarkCircleFillIcon aria-hidden />}
172
- >
173
- {row2.map((p: any) => {
174
- return (
175
- <Timeline.Period
176
- key={p.id}
177
- start={p.start}
178
- end={p.end}
179
- status={p.status}
180
- icon={p.icon}
181
- />
182
- );
183
- })}
184
- </Timeline.Row>
185
- </Timeline>
186
- </div>
187
- );
188
- };
189
-
190
- export const WithZoom = () => {
191
- return (
192
- <div style={{ width: "80vw" }}>
193
- <Timeline>
194
- <Timeline.Row
195
- label="Row 1"
196
- icon={<CheckmarkCircleFillIcon aria-hidden />}
197
- >
198
- {row1.map((p: any) => {
199
- return (
200
- <Timeline.Period
201
- key={p.id}
202
- start={p.start}
203
- end={p.end}
204
- status={p.status}
205
- icon={p.icon}
206
- />
207
- );
208
- })}
209
- </Timeline.Row>
210
- <Timeline.Row
211
- label="Row 2"
212
- icon={<CheckmarkCircleFillIcon aria-hidden />}
213
- >
214
- {row2.map((p: any) => {
215
- return (
216
- <Timeline.Period
217
- key={p.id}
218
- start={p.start}
219
- end={p.end}
220
- status={p.status}
221
- icon={p.icon}
222
- />
223
- );
224
- })}
225
- </Timeline.Row>
226
- <Timeline.Zoom>
227
- <Timeline.Zoom.Button label="3 mnd" interval="month" count={3} />
228
- <Timeline.Zoom.Button label="7 mnd" interval="month" count={7} />
229
- <Timeline.Zoom.Button label="9 mnd" interval="month" count={9} />
230
- </Timeline.Zoom>
231
- </Timeline>
232
- </div>
233
- );
234
- };
235
-
236
- export const ActivePeriod = () => {
237
- const [activePeriod, setActivePeriod] = useState(row1[0]);
238
-
239
- return (
240
- <div style={{ width: "80vw" }}>
241
- <Timeline>
242
- <Timeline.Pin date={new Date("Apr 15 2022")}>Pin 1</Timeline.Pin>
243
- <Timeline.Pin date={new Date("Jun 12 2022")}>Pin 2</Timeline.Pin>
244
- <Timeline.Pin date={new Date("Jul 28 2022")}>Pin 3</Timeline.Pin>
245
- <Timeline.Row
246
- label="Rad 1"
247
- icon={<CheckmarkCircleFillIcon aria-hidden />}
248
- >
249
- {row1.map((p: any) => {
250
- return (
251
- <Timeline.Period
252
- key={p.id}
253
- start={p.start}
254
- end={p.end}
255
- status={p.status}
256
- onSelectPeriod={() => {
257
- setActivePeriod(p);
258
- p?.onSelectPeriod?.();
259
- console.log("PERIOD SELECTED!");
260
- }}
261
- icon={p.icon}
262
- isActive={activePeriod.id === p.id}
263
- statusLabel={p.statusLabel}
264
- >
265
- {p.children}
266
- </Timeline.Period>
267
- );
268
- })}
269
- </Timeline.Row>
270
- <Timeline.Row label="Rad 2">
271
- {row2.map((p: any) => {
272
- return (
273
- <Timeline.Period
274
- key={p.id}
275
- start={p.start}
276
- end={p.end}
277
- status={p.status}
278
- onSelectPeriod={() => {
279
- setActivePeriod(p);
280
- p?.onSelectPeriod?.();
281
- }}
282
- icon={p.icon}
283
- isActive={activePeriod.id === p.id}
284
- statusLabel={p.statusLabel}
285
- >
286
- {p.children}
287
- </Timeline.Period>
288
- );
289
- })}
290
- </Timeline.Row>
291
- <Timeline.Row label="Rad 3">
292
- <Timeline.Period
293
- start={new Date("Jan 1 2022")}
294
- end={new Date("Aug 20 2022")}
295
- status="info"
296
- icon={<CheckmarkCircleFillIcon aria-hidden />}
297
- />
298
- </Timeline.Row>
299
- </Timeline>
300
- </div>
301
- );
302
- };
303
-
304
- export const WithDayLabels = () => {
305
- return (
306
- <div style={{ width: "80vw" }}>
307
- <Timeline>
308
- <Timeline.Row
309
- label="Row 1"
310
- icon={<CheckmarkCircleFillIcon aria-hidden />}
311
- >
312
- <Timeline.Period
313
- start={new Date("Feb 4 2022")}
314
- end={new Date("Feb 13 2022")}
315
- status="success"
316
- />
317
- </Timeline.Row>
318
- <Timeline.Row
319
- label="Row 2"
320
- icon={<CheckmarkCircleFillIcon aria-hidden />}
321
- >
322
- <Timeline.Period
323
- start={new Date("Feb 17 2022")}
324
- end={new Date("Feb 22 2022")}
325
- status="warning"
326
- />
327
- </Timeline.Row>
328
- </Timeline>
329
- </div>
330
- );
331
- };
332
-
333
- export const WithYearLabels = () => {
334
- return (
335
- <div style={{ width: "80vw" }}>
336
- <Timeline>
337
- <Timeline.Row
338
- label="Row 1"
339
- icon={<CheckmarkCircleFillIcon aria-hidden />}
340
- >
341
- <Timeline.Period
342
- start={new Date("Feb 4 2022")}
343
- end={new Date("Feb 13 2028")}
344
- status="success"
345
- />
346
- </Timeline.Row>
347
- <Timeline.Row
348
- label="Row 2"
349
- icon={<CheckmarkCircleFillIcon aria-hidden />}
350
- >
351
- <Timeline.Period
352
- start={new Date("Feb 17 2024")}
353
- end={new Date("Feb 22 2031")}
354
- status="warning"
355
- />
356
- </Timeline.Row>
357
- </Timeline>
358
- </div>
359
- );
360
- };
361
-
362
- export const ContentDemo = () => {
363
- const [activePeriod, setActivePeriod] = useState<any>(undefined);
364
-
365
- return (
366
- <div style={{ width: "80vw" }}>
367
- <Timeline>
368
- <Timeline.Pin date={new Date("Apr 15 2022")}>Pin 1</Timeline.Pin>
369
- <Timeline.Pin date={new Date("Jun 12 2022")}>
370
- Pin 2 <button>test</button>
371
- <a href="/123">test123123</a>
372
- </Timeline.Pin>
373
- <Timeline.Pin date={new Date("Jul 28 2022")}>Pin 3</Timeline.Pin>
374
- <Timeline.Row
375
- label="Rad 1"
376
- icon={<CheckmarkCircleFillIcon aria-hidden />}
377
- >
378
- {row1.map((p: any) => {
379
- return (
380
- <Timeline.Period
381
- key={p.id}
382
- start={p.start}
383
- end={p.end}
384
- status={p.status}
385
- onSelectPeriod={() => {
386
- setActivePeriod(p);
387
- p?.onSelectPeriod?.();
388
- console.log("PERIOD SELECTED!");
389
- }}
390
- icon={p.icon}
391
- isActive={activePeriod?.id === p.id}
392
- statusLabel={p.statusLabel}
393
- aria-controls={
394
- activePeriod?.id === p.id ? "timeline-data" : undefined
395
- }
396
- id={p.id}
397
- >
398
- {p.children}
399
- </Timeline.Period>
400
- );
401
- })}
402
- </Timeline.Row>
403
- <Timeline.Row label="Rad 2">
404
- {row2.map((p: any) => {
405
- return (
406
- <Timeline.Period
407
- key={p.id}
408
- start={p.start}
409
- end={p.end}
410
- status={p.status}
411
- onSelectPeriod={() => {
412
- setActivePeriod(p);
413
- p?.onSelectPeriod?.();
414
- }}
415
- icon={p.icon}
416
- isActive={activePeriod?.id === p.id}
417
- statusLabel={p.statusLabel}
418
- aria-controls={
419
- activePeriod?.id === p.id ? "timeline-data" : undefined
420
- }
421
- id={p.id}
422
- >
423
- {p.children}
424
- </Timeline.Period>
425
- );
426
- })}
427
- </Timeline.Row>
428
- <Timeline.Row label="Rad 3">
429
- <Timeline.Period
430
- start={new Date("Jan 1 2022")}
431
- end={new Date("Aug 20 2022")}
432
- status="info"
433
- icon={<CheckmarkCircleFillIcon aria-hidden />}
434
- />
435
- </Timeline.Row>
436
- </Timeline>
437
- {activePeriod && (
438
- <div id="timeline-data" aria-controls={activePeriod.id}>
439
- <h2>Period-data</h2>
440
- <p>{`Periode:${activePeriod.id}, dato:${activePeriod.start}`}</p>
441
- </div>
442
- )}
443
- </div>
444
- );
445
- };