@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.
Files changed (200) hide show
  1. package/cjs/collapsible/Collapsible.context.d.ts +48 -0
  2. package/cjs/collapsible/Collapsible.context.js +10 -0
  3. package/cjs/collapsible/Collapsible.context.js.map +1 -0
  4. package/cjs/collapsible/Collapsible.d.ts +48 -0
  5. package/cjs/collapsible/Collapsible.js +91 -0
  6. package/cjs/collapsible/Collapsible.js.map +1 -0
  7. package/cjs/collapsible/Collapsible.types.d.ts +19 -0
  8. package/cjs/collapsible/Collapsible.types.js +3 -0
  9. package/cjs/collapsible/Collapsible.types.js.map +1 -0
  10. package/cjs/collapsible/index.d.ts +3 -0
  11. package/cjs/collapsible/index.js +14 -0
  12. package/cjs/collapsible/index.js.map +1 -0
  13. package/cjs/collapsible/parts/Collapsible.Content.d.ts +10 -0
  14. package/cjs/collapsible/parts/Collapsible.Content.js +48 -0
  15. package/cjs/collapsible/parts/Collapsible.Content.js.map +1 -0
  16. package/cjs/collapsible/parts/Collapsible.Trigger.d.ts +10 -0
  17. package/cjs/collapsible/parts/Collapsible.Trigger.js +49 -0
  18. package/cjs/collapsible/parts/Collapsible.Trigger.js.map +1 -0
  19. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
  20. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  21. package/cjs/form/combobox/Input/Input.js +6 -1
  22. package/cjs/form/combobox/Input/Input.js.map +1 -1
  23. package/cjs/form/form-summary/FormSummary.d.ts +82 -0
  24. package/cjs/form/form-summary/FormSummary.js +81 -0
  25. package/cjs/form/form-summary/FormSummary.js.map +1 -0
  26. package/cjs/form/form-summary/FormSummaryAnswer.d.ts +11 -0
  27. package/cjs/form/form-summary/FormSummaryAnswer.js +25 -0
  28. package/cjs/form/form-summary/FormSummaryAnswer.js.map +1 -0
  29. package/cjs/form/form-summary/FormSummaryAnswers.d.ts +9 -0
  30. package/cjs/form/form-summary/FormSummaryAnswers.js +48 -0
  31. package/cjs/form/form-summary/FormSummaryAnswers.js.map +1 -0
  32. package/cjs/form/form-summary/FormSummaryEditLink.d.ts +17 -0
  33. package/cjs/form/form-summary/FormSummaryEditLink.js +49 -0
  34. package/cjs/form/form-summary/FormSummaryEditLink.js.map +1 -0
  35. package/cjs/form/form-summary/FormSummaryHeader.d.ts +9 -0
  36. package/cjs/form/form-summary/FormSummaryHeader.js +48 -0
  37. package/cjs/form/form-summary/FormSummaryHeader.js.map +1 -0
  38. package/cjs/form/form-summary/FormSummaryHeading.d.ts +14 -0
  39. package/cjs/form/form-summary/FormSummaryHeading.js +31 -0
  40. package/cjs/form/form-summary/FormSummaryHeading.js.map +1 -0
  41. package/cjs/form/form-summary/FormSummaryLabel.d.ts +6 -0
  42. package/cjs/form/form-summary/FormSummaryLabel.js +45 -0
  43. package/cjs/form/form-summary/FormSummaryLabel.js.map +1 -0
  44. package/cjs/form/form-summary/FormSummaryValue.d.ts +6 -0
  45. package/cjs/form/form-summary/FormSummaryValue.js +49 -0
  46. package/cjs/form/form-summary/FormSummaryValue.js.map +1 -0
  47. package/cjs/form/form-summary/index.d.ts +8 -0
  48. package/cjs/form/form-summary/index.js +24 -0
  49. package/cjs/form/form-summary/index.js.map +1 -0
  50. package/cjs/index.d.ts +3 -2
  51. package/cjs/index.js +5 -3
  52. package/cjs/index.js.map +1 -1
  53. package/cjs/layout/stack/Spacer.js +1 -1
  54. package/cjs/layout/stack/Spacer.js.map +1 -1
  55. package/cjs/util/hooks/descendants/descendant.js +10 -1
  56. package/cjs/util/hooks/descendants/descendant.js.map +1 -1
  57. package/cjs/util/hooks/descendants/useDescendant.js +0 -5
  58. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  59. package/esm/collapsible/Collapsible.context.d.ts +48 -0
  60. package/esm/collapsible/Collapsible.context.js +6 -0
  61. package/esm/collapsible/Collapsible.context.js.map +1 -0
  62. package/esm/collapsible/Collapsible.d.ts +48 -0
  63. package/esm/collapsible/Collapsible.js +62 -0
  64. package/esm/collapsible/Collapsible.js.map +1 -0
  65. package/esm/collapsible/Collapsible.types.d.ts +19 -0
  66. package/esm/collapsible/Collapsible.types.js +2 -0
  67. package/esm/collapsible/Collapsible.types.js.map +1 -0
  68. package/esm/collapsible/index.d.ts +3 -0
  69. package/esm/collapsible/index.js +5 -0
  70. package/esm/collapsible/index.js.map +1 -0
  71. package/esm/collapsible/parts/Collapsible.Content.d.ts +10 -0
  72. package/esm/collapsible/parts/Collapsible.Content.js +22 -0
  73. package/esm/collapsible/parts/Collapsible.Content.js.map +1 -0
  74. package/esm/collapsible/parts/Collapsible.Trigger.d.ts +10 -0
  75. package/esm/collapsible/parts/Collapsible.Trigger.js +23 -0
  76. package/esm/collapsible/parts/Collapsible.Trigger.js.map +1 -0
  77. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -4
  78. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  79. package/esm/form/combobox/Input/Input.js +6 -1
  80. package/esm/form/combobox/Input/Input.js.map +1 -1
  81. package/esm/form/form-summary/FormSummary.d.ts +82 -0
  82. package/esm/form/form-summary/FormSummary.js +52 -0
  83. package/esm/form/form-summary/FormSummary.js.map +1 -0
  84. package/esm/form/form-summary/FormSummaryAnswer.d.ts +11 -0
  85. package/esm/form/form-summary/FormSummaryAnswer.js +19 -0
  86. package/esm/form/form-summary/FormSummaryAnswer.js.map +1 -0
  87. package/esm/form/form-summary/FormSummaryAnswers.d.ts +9 -0
  88. package/esm/form/form-summary/FormSummaryAnswers.js +19 -0
  89. package/esm/form/form-summary/FormSummaryAnswers.js.map +1 -0
  90. package/esm/form/form-summary/FormSummaryEditLink.d.ts +17 -0
  91. package/esm/form/form-summary/FormSummaryEditLink.js +20 -0
  92. package/esm/form/form-summary/FormSummaryEditLink.js.map +1 -0
  93. package/esm/form/form-summary/FormSummaryHeader.d.ts +9 -0
  94. package/esm/form/form-summary/FormSummaryHeader.js +19 -0
  95. package/esm/form/form-summary/FormSummaryHeader.js.map +1 -0
  96. package/esm/form/form-summary/FormSummaryHeading.d.ts +14 -0
  97. package/esm/form/form-summary/FormSummaryHeading.js +5 -0
  98. package/esm/form/form-summary/FormSummaryHeading.js.map +1 -0
  99. package/esm/form/form-summary/FormSummaryLabel.d.ts +6 -0
  100. package/esm/form/form-summary/FormSummaryLabel.js +19 -0
  101. package/esm/form/form-summary/FormSummaryLabel.js.map +1 -0
  102. package/esm/form/form-summary/FormSummaryValue.d.ts +6 -0
  103. package/esm/form/form-summary/FormSummaryValue.js +20 -0
  104. package/esm/form/form-summary/FormSummaryValue.js.map +1 -0
  105. package/esm/form/form-summary/index.d.ts +8 -0
  106. package/esm/form/form-summary/index.js +10 -0
  107. package/esm/form/form-summary/index.js.map +1 -0
  108. package/esm/index.d.ts +3 -2
  109. package/esm/index.js +2 -1
  110. package/esm/index.js.map +1 -1
  111. package/esm/layout/stack/Spacer.js +1 -1
  112. package/esm/layout/stack/Spacer.js.map +1 -1
  113. package/esm/util/hooks/descendants/descendant.js +10 -1
  114. package/esm/util/hooks/descendants/descendant.js.map +1 -1
  115. package/esm/util/hooks/descendants/useDescendant.js +0 -5
  116. package/esm/util/hooks/descendants/useDescendant.js.map +1 -1
  117. package/package.json +15 -4
  118. package/src/collapsible/Collapsible.context.tsx +32 -0
  119. package/src/collapsible/Collapsible.tsx +100 -0
  120. package/src/collapsible/Collapsible.types.ts +19 -0
  121. package/src/collapsible/index.ts +10 -0
  122. package/src/collapsible/parts/Collapsible.Content.tsx +39 -0
  123. package/src/collapsible/parts/Collapsible.Trigger.tsx +42 -0
  124. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +9 -1
  125. package/src/form/combobox/Input/Input.tsx +5 -0
  126. package/src/form/form-summary/FormSummary.tsx +106 -0
  127. package/src/form/form-summary/FormSummaryAnswer.tsx +27 -0
  128. package/src/form/form-summary/FormSummaryAnswers.tsx +25 -0
  129. package/src/form/form-summary/FormSummaryEditLink.tsx +35 -0
  130. package/src/form/form-summary/FormSummaryHeader.tsx +25 -0
  131. package/src/form/form-summary/FormSummaryHeading.tsx +23 -0
  132. package/src/form/form-summary/FormSummaryLabel.tsx +17 -0
  133. package/src/form/form-summary/FormSummaryValue.tsx +24 -0
  134. package/src/form/form-summary/index.ts +30 -0
  135. package/src/index.ts +16 -15
  136. package/src/layout/stack/Spacer.tsx +1 -1
  137. package/src/util/hooks/descendants/descendant.ts +15 -1
  138. package/src/util/hooks/descendants/useDescendant.tsx +0 -5
  139. package/src/accordion/accordion.stories.tsx +0 -286
  140. package/src/alert/alert.stories.tsx +0 -306
  141. package/src/button/button.stories.tsx +0 -185
  142. package/src/chat/chat.stories.tsx +0 -341
  143. package/src/chips/chips.stories.tsx +0 -260
  144. package/src/copybutton/copy-button.stories.tsx +0 -261
  145. package/src/date/datepicker/datepicker.stories.tsx +0 -614
  146. package/src/date/monthpicker/monthpicker.stories.tsx +0 -221
  147. package/src/dropdown/dropdown.stories.tsx +0 -124
  148. package/src/expansion-card/expansion-card.stories.tsx +0 -282
  149. package/src/form/checkbox/checkbox.stories.tsx +0 -281
  150. package/src/form/combobox/combobox.stories.tsx +0 -626
  151. package/src/form/confirmation-panel/confirmation-panel.stories.tsx +0 -128
  152. package/src/form/error-summary/error-summary.stories.tsx +0 -81
  153. package/src/form/fieldset/fieldset.stories.tsx +0 -157
  154. package/src/form/file-upload/file-upload-dropzone.stories.tsx +0 -123
  155. package/src/form/file-upload/file-upload-item.stories.tsx +0 -148
  156. package/src/form/file-upload/file-upload.stories.tsx +0 -248
  157. package/src/form/radio/radio.stories.tsx +0 -230
  158. package/src/form/search/search.stories.tsx +0 -238
  159. package/src/form/select/select.stories.tsx +0 -172
  160. package/src/form/switch/switch.stories.tsx +0 -171
  161. package/src/form/textarea/textarea.stories.tsx +0 -254
  162. package/src/form/textfield/text-field.stories.tsx +0 -143
  163. package/src/guide-panel/guidepanel.stories.tsx +0 -90
  164. package/src/help-text/help-text.stories.tsx +0 -91
  165. package/src/internal-header/header.stories.tsx +0 -229
  166. package/src/layout/bleed/Bleed.stories.tsx +0 -395
  167. package/src/layout/box/Box.stories.tsx +0 -380
  168. package/src/layout/grid/h-grid.stories.tsx +0 -122
  169. package/src/layout/page/Page.stories.tsx +0 -271
  170. package/src/layout/responsive/hide.stories.tsx +0 -80
  171. package/src/layout/responsive/show.stories.tsx +0 -80
  172. package/src/layout/sidemal-test/navno-sidemal.stories.tsx +0 -69
  173. package/src/layout/stack/stack.stories.tsx +0 -183
  174. package/src/link/stories/link.stories.tsx +0 -304
  175. package/src/link-panel/link-panel.stories.tsx +0 -59
  176. package/src/list/list.stories.tsx +0 -280
  177. package/src/loader/loader.stories.tsx +0 -82
  178. package/src/modal/modal.stories.tsx +0 -391
  179. package/src/pagination/pagination.stories.tsx +0 -110
  180. package/src/popover/popover.stories.tsx +0 -113
  181. package/src/portal/Portal.stories.tsx +0 -102
  182. package/src/read-more/readmore.stories.tsx +0 -91
  183. package/src/skeleton/skeleton.stories.tsx +0 -130
  184. package/src/stepper/stepper.stories.tsx +0 -200
  185. package/src/table/stories/table-1.stories.tsx +0 -292
  186. package/src/table/stories/table-2-expandable.stories.tsx +0 -298
  187. package/src/table/stories/table-3-async.stories.tsx +0 -179
  188. package/src/table/stories/tests/table.stories.tsx +0 -102
  189. package/src/tabs/Tabs.stories.tsx +0 -311
  190. package/src/tag/tag.stories.tsx +0 -126
  191. package/src/timeline/timeline.stories.tsx +0 -445
  192. package/src/toggle-group/ToggleGroup.stories.tsx +0 -198
  193. package/src/tooltip/tooltip.stories.tsx +0 -101
  194. package/src/typography/stories/bodylong.stories.tsx +0 -209
  195. package/src/typography/stories/bodyshort.stories.tsx +0 -208
  196. package/src/typography/stories/detail.stories.tsx +0 -115
  197. package/src/typography/stories/error-message.stories.tsx +0 -122
  198. package/src/typography/stories/heading.stories.tsx +0 -169
  199. package/src/typography/stories/label.stories.tsx +0 -131
  200. 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
- };