@navikt/ds-react 0.19.8 → 0.19.11
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 +20 -1
- package/cjs/form/Textarea.js +12 -4
- package/cjs/form/error-summary/ErrorSummary.js +4 -2
- package/cjs/loader/Loader.js +2 -2
- package/esm/form/Textarea.d.ts +4 -0
- package/esm/form/Textarea.js +12 -4
- package/esm/form/Textarea.js.map +1 -1
- package/esm/form/error-summary/ErrorSummary.js +4 -2
- package/esm/form/error-summary/ErrorSummary.js.map +1 -1
- package/esm/loader/Loader.d.ts +1 -1
- package/esm/loader/Loader.js +2 -2
- package/esm/loader/Loader.js.map +1 -1
- package/package.json +2 -2
- package/src/alert/alert.stories.tsx +9 -1
- package/src/form/Textarea.tsx +17 -2
- package/src/form/error-summary/ErrorSummary.tsx +9 -3
- package/src/form/stories/textarea.stories.tsx +10 -0
- package/src/guide-panel/guidepanel.stories.tsx +51 -0
- package/src/help-text/help-text.stories.tsx +53 -18
- package/src/link/link.stories.tsx +77 -0
- package/src/link-panel/link-panel.stories.tsx +57 -0
- package/src/loader/Loader.tsx +8 -4
- package/src/loader/loader.stories.tsx +79 -0
- package/src/modal/modal.stories.tsx +71 -38
- package/src/panel/{stories/panel.stories.tsx → panel.stories.tsx} +27 -5
- package/src/popover/popover.stories.tsx +126 -0
- package/src/table/stories/table-async.stories.tsx +1 -1
- package/src/table/stories/table-expandable.stories.tsx +89 -62
- package/src/table/stories/table.stories.tsx +73 -83
- package/src/tag/tag.stories.tsx +45 -0
- package/src/toggle-group/ToggleGroup.stories.tsx +63 -81
- package/src/typography/heading.stories.tsx +75 -0
- package/src/typography/typography.stories.tsx +184 -111
- package/src/guide-panel/stories/example.css +0 -13
- package/src/guide-panel/stories/guidepanel.stories.mdx +0 -81
- package/src/guide-panel/stories/guidepanel.stories.tsx +0 -68
- package/src/link/stories/link.stories.mdx +0 -26
- package/src/link/stories/link.stories.tsx +0 -53
- package/src/link-panel/stories/illustration.tsx +0 -125
- package/src/link-panel/stories/link-panel.stories.mdx +0 -110
- package/src/link-panel/stories/link-panel.stories.tsx +0 -51
- package/src/loader/stories/loader.stories.mdx +0 -65
- package/src/loader/stories/loader.stories.tsx +0 -69
- package/src/panel/stories/panel.stories.mdx +0 -42
- package/src/popover/stories/popover.stories.mdx +0 -23
- package/src/popover/stories/popover.stories.tsx +0 -56
- package/src/table/stories/table-hot.stories.tsx +0 -376
- package/src/table/stories/table.stories.mdx +0 -112
- package/src/tag/stories/tag.stories.mdx +0 -56
- package/src/tag/stories/tag.stories.tsx +0 -32
|
@@ -3,85 +3,82 @@ import { Table } from "../";
|
|
|
3
3
|
import { Alert, Button, Checkbox, Link } from "../..";
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
|
-
title: "ds-react/
|
|
6
|
+
title: "ds-react/Table",
|
|
7
7
|
component: Table,
|
|
8
8
|
};
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<Table
|
|
13
|
-
<Table.
|
|
14
|
-
<Table.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<Table.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
10
|
+
const TableComponent = (props) => (
|
|
11
|
+
<Table {...props}>
|
|
12
|
+
<Table.Header>
|
|
13
|
+
<Table.Row>
|
|
14
|
+
{props.button && <Table.HeaderCell>Action</Table.HeaderCell>}
|
|
15
|
+
<Table.HeaderCell>ID</Table.HeaderCell>
|
|
16
|
+
<Table.HeaderCell>Fornavn</Table.HeaderCell>
|
|
17
|
+
<Table.HeaderCell>Etternavn</Table.HeaderCell>
|
|
18
|
+
<Table.HeaderCell>Rolle</Table.HeaderCell>
|
|
19
|
+
</Table.Row>
|
|
20
|
+
</Table.Header>
|
|
21
|
+
<Table.Body>
|
|
22
|
+
<Table.Row>
|
|
23
|
+
{props.button && (
|
|
24
|
+
<Table.DataCell
|
|
25
|
+
style={{
|
|
26
|
+
paddingTop: 6,
|
|
27
|
+
paddingBottom: 6,
|
|
28
|
+
}}
|
|
29
|
+
>
|
|
30
|
+
<Button size="xsmall">Click me!</Button>
|
|
31
|
+
</Table.DataCell>
|
|
32
|
+
)}
|
|
33
|
+
<Table.HeaderCell>1</Table.HeaderCell>
|
|
34
|
+
<Table.DataCell>Jean-Luc</Table.DataCell>
|
|
35
|
+
<Table.DataCell>Picard</Table.DataCell>
|
|
36
|
+
<Table.DataCell>Kaptein</Table.DataCell>
|
|
37
|
+
</Table.Row>
|
|
38
|
+
<Table.Row>
|
|
39
|
+
{props.button && (
|
|
40
|
+
<Table.DataCell
|
|
41
|
+
style={{
|
|
42
|
+
paddingTop: 6,
|
|
43
|
+
paddingBottom: 6,
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
<Button size="xsmall">Click me!</Button>
|
|
47
|
+
</Table.DataCell>
|
|
48
|
+
)}
|
|
49
|
+
<Table.HeaderCell>2</Table.HeaderCell>
|
|
50
|
+
<Table.DataCell>William</Table.DataCell>
|
|
51
|
+
<Table.DataCell>Riker</Table.DataCell>
|
|
52
|
+
<Table.DataCell>Kommandør</Table.DataCell>
|
|
53
|
+
</Table.Row>
|
|
54
|
+
<Table.Row>
|
|
55
|
+
{props.button && (
|
|
56
|
+
<Table.DataCell
|
|
57
|
+
style={{
|
|
58
|
+
paddingTop: 6,
|
|
59
|
+
paddingBottom: 6,
|
|
60
|
+
}}
|
|
61
|
+
>
|
|
62
|
+
<Button size="xsmall">Click me!</Button>
|
|
63
|
+
</Table.DataCell>
|
|
64
|
+
)}
|
|
65
|
+
<Table.HeaderCell>3</Table.HeaderCell>
|
|
66
|
+
<Table.DataCell>Geordi</Table.DataCell>
|
|
67
|
+
<Table.DataCell>La Forge</Table.DataCell>
|
|
68
|
+
<Table.DataCell>Sjefsingeniør</Table.DataCell>
|
|
69
|
+
</Table.Row>
|
|
70
|
+
</Table.Body>
|
|
71
|
+
</Table>
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
export const Default = () => <TableComponent />;
|
|
75
|
+
export const Zebra = () => <TableComponent zebraStripes />;
|
|
76
|
+
export const Small = () => <TableComponent size="small" />;
|
|
77
|
+
export const Buttons = () => <TableComponent size="small" button />;
|
|
78
|
+
|
|
79
|
+
export const WithDivs = () => {
|
|
74
80
|
return (
|
|
75
81
|
<>
|
|
76
|
-
<h1>Table</h1>
|
|
77
|
-
<TableComponent />
|
|
78
|
-
<h2>Zebra</h2>
|
|
79
|
-
<TableComponent zebraStripes />
|
|
80
|
-
<h2>Small Table</h2>
|
|
81
|
-
<TableComponent size="small" />
|
|
82
|
-
<h2>Small Table with buttons</h2>
|
|
83
|
-
<TableComponent size="small" button />
|
|
84
|
-
<h2>Table with divs</h2>
|
|
85
82
|
<Alert variant="warning">
|
|
86
83
|
Obs! Hvis man skal bygge tabeller uten å bruke vanlig {"<tabell> "}
|
|
87
84
|
-markup er det svært viktig at man supplerer elementene med{" "}
|
|
@@ -147,15 +144,8 @@ export const All = () => {
|
|
|
147
144
|
);
|
|
148
145
|
};
|
|
149
146
|
|
|
150
|
-
export const Selection = () =>
|
|
151
|
-
|
|
152
|
-
<h1>Selection</h1>
|
|
153
|
-
<h2>Medium</h2>
|
|
154
|
-
<SelectionTable />
|
|
155
|
-
<h2>Small</h2>
|
|
156
|
-
<SelectionTable size="small" />
|
|
157
|
-
</>
|
|
158
|
-
);
|
|
147
|
+
export const Selection = () => <SelectionTable />;
|
|
148
|
+
export const SelectionSmall = () => <SelectionTable size="small" />;
|
|
159
149
|
|
|
160
150
|
const SelectionTable = ({ size = "medium" }: { size?: "small" | "medium" }) => {
|
|
161
151
|
const useToggleList = (initialState) => {
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Tag } from ".";
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: "ds-react/Tag",
|
|
6
|
+
component: Tag,
|
|
7
|
+
argTypes: {
|
|
8
|
+
variant: {
|
|
9
|
+
defaultValue: "info",
|
|
10
|
+
control: {
|
|
11
|
+
type: "radio",
|
|
12
|
+
options: ["error", "warning", "info", "success"],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const variants: Array<"error" | "warning" | "info" | "success"> = [
|
|
19
|
+
"error",
|
|
20
|
+
"warning",
|
|
21
|
+
"info",
|
|
22
|
+
"success",
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
export const Default = (props) => (
|
|
26
|
+
<Tag variant={props.variant} size={props.size}>
|
|
27
|
+
{props.children}
|
|
28
|
+
</Tag>
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
Default.args = {
|
|
32
|
+
children: "Id elit esse",
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const Small = () => {
|
|
36
|
+
return (
|
|
37
|
+
<div className="rowgap">
|
|
38
|
+
{variants.map((variant, i) => (
|
|
39
|
+
<Tag key={variant} variant={variant} size="small">
|
|
40
|
+
{new Array(i + 1).fill("Id elit esse")}
|
|
41
|
+
</Tag>
|
|
42
|
+
))}
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
@@ -1,122 +1,104 @@
|
|
|
1
|
+
import { Email, EmailOpened, Send } from "@navikt/ds-icons";
|
|
2
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
1
3
|
import React, { useState } from "react";
|
|
2
|
-
import { Attachment, Hamburger, Star, System } from "@navikt/ds-icons";
|
|
3
4
|
import { ToggleGroup } from "../index";
|
|
4
|
-
import { Meta } from "@storybook/react/types-6-0";
|
|
5
5
|
export default {
|
|
6
|
-
title: "ds-react/
|
|
6
|
+
title: "ds-react/ToggleGroup",
|
|
7
7
|
component: ToggleGroup,
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
argTypes: {
|
|
9
|
+
size: {
|
|
10
|
+
control: {
|
|
11
|
+
type: "radio",
|
|
12
|
+
options: ["medium", "small"],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
10
15
|
},
|
|
11
16
|
} as Meta;
|
|
12
17
|
|
|
13
18
|
const Items = (icon?: boolean, both?: boolean) => (
|
|
14
19
|
<>
|
|
15
|
-
<ToggleGroup.Item value="
|
|
20
|
+
<ToggleGroup.Item value="ulest">
|
|
16
21
|
{both ? (
|
|
17
22
|
<>
|
|
18
|
-
<
|
|
23
|
+
<Email /> Uleste
|
|
19
24
|
</>
|
|
20
25
|
) : (
|
|
21
|
-
<>{icon ? <
|
|
26
|
+
<>{icon ? <Email /> : "Uleste"}</>
|
|
22
27
|
)}
|
|
23
28
|
</ToggleGroup.Item>
|
|
24
|
-
<ToggleGroup.Item value="
|
|
29
|
+
<ToggleGroup.Item value="lest">
|
|
25
30
|
{both ? (
|
|
26
31
|
<>
|
|
27
|
-
<
|
|
32
|
+
<EmailOpened /> Leste
|
|
28
33
|
</>
|
|
29
34
|
) : (
|
|
30
|
-
<>{icon ? <
|
|
35
|
+
<>{icon ? <EmailOpened /> : "Leste"}</>
|
|
31
36
|
)}
|
|
32
37
|
</ToggleGroup.Item>
|
|
33
|
-
<ToggleGroup.Item value="
|
|
38
|
+
<ToggleGroup.Item value="sendt">
|
|
34
39
|
{both ? (
|
|
35
40
|
<>
|
|
36
|
-
<
|
|
41
|
+
<Send /> Sendte
|
|
37
42
|
</>
|
|
38
43
|
) : (
|
|
39
|
-
<>{icon ? <
|
|
40
|
-
)}
|
|
41
|
-
</ToggleGroup.Item>
|
|
42
|
-
<ToggleGroup.Item value="fourth">
|
|
43
|
-
{both ? (
|
|
44
|
-
<>
|
|
45
|
-
<System /> Fourth
|
|
46
|
-
</>
|
|
47
|
-
) : (
|
|
48
|
-
<>{icon ? <System /> : "Fourth"}</>
|
|
44
|
+
<>{icon ? <Send /> : "Sendte"}</>
|
|
49
45
|
)}
|
|
50
46
|
</ToggleGroup.Item>
|
|
51
47
|
</>
|
|
52
48
|
);
|
|
53
49
|
|
|
54
|
-
export const
|
|
50
|
+
export const Default = (props) => {
|
|
55
51
|
const [activeValue, setActiveValue] = useState("ulest");
|
|
56
52
|
return (
|
|
57
|
-
<ToggleGroup
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
<ToggleGroup
|
|
54
|
+
size={props?.size}
|
|
55
|
+
value={activeValue}
|
|
56
|
+
onChange={setActiveValue}
|
|
57
|
+
label={props.label ? "Proident minim dolor pariatur." : undefined}
|
|
58
|
+
>
|
|
59
|
+
{Items(!!props?.icon, !!props?.text && props.icon)}
|
|
61
60
|
</ToggleGroup>
|
|
62
61
|
);
|
|
63
62
|
};
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
Default.args = {
|
|
65
|
+
icon: true,
|
|
66
|
+
text: true,
|
|
67
|
+
label: false,
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const Compositions = () => {
|
|
71
|
+
const [activeValue, setActiveValue] = useState("ulest");
|
|
72
|
+
|
|
73
|
+
return (
|
|
74
|
+
<div className="colgap">
|
|
75
|
+
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
76
|
+
{Items()}
|
|
77
|
+
</ToggleGroup>
|
|
78
|
+
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
79
|
+
{Items(true, true)}
|
|
80
|
+
</ToggleGroup>
|
|
81
|
+
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
82
|
+
{Items(true)}
|
|
83
|
+
</ToggleGroup>
|
|
84
|
+
</div>
|
|
85
|
+
);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const Small = () => {
|
|
89
|
+
const [activeValue, setActiveValue] = useState("ulest");
|
|
67
90
|
|
|
68
91
|
return (
|
|
69
|
-
<div>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<ToggleGroup value={activeValue} onChange={setActiveValue}>
|
|
80
|
-
{Items(true, true)}
|
|
81
|
-
</ToggleGroup>
|
|
82
|
-
</div>
|
|
83
|
-
<h2>ToggleGroup Small</h2>
|
|
84
|
-
<h3>{activeValue}</h3>
|
|
85
|
-
<div style={{ display: "flex", flexDirection: "column", gap: "0.5rem" }}>
|
|
86
|
-
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
87
|
-
{Items()}
|
|
88
|
-
</ToggleGroup>
|
|
89
|
-
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
90
|
-
{Items(true)}
|
|
91
|
-
</ToggleGroup>
|
|
92
|
-
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
93
|
-
{Items(true, true)}
|
|
94
|
-
</ToggleGroup>
|
|
95
|
-
</div>
|
|
96
|
-
<h2>ToggleGroup label</h2>
|
|
97
|
-
<div style={{ display: "flex", flexDirection: "column", gap: "0.5rem" }}>
|
|
98
|
-
<ToggleGroup
|
|
99
|
-
label="Label msg"
|
|
100
|
-
value={activeValue}
|
|
101
|
-
onChange={setActiveValue}
|
|
102
|
-
>
|
|
103
|
-
{Items()}
|
|
104
|
-
</ToggleGroup>
|
|
105
|
-
<ToggleGroup
|
|
106
|
-
label="Label msg"
|
|
107
|
-
value={activeValue}
|
|
108
|
-
onChange={setActiveValue}
|
|
109
|
-
aria-describedby="demo-id"
|
|
110
|
-
>
|
|
111
|
-
{Items()}
|
|
112
|
-
</ToggleGroup>
|
|
113
|
-
</div>
|
|
114
|
-
<div style={{ display: "flex", flexDirection: "column", gap: "0.5rem" }}>
|
|
115
|
-
<h2>Uncontrolled</h2>
|
|
116
|
-
<ToggleGroup onChange={setActiveValue} defaultValue="second">
|
|
117
|
-
{Items()}
|
|
118
|
-
</ToggleGroup>
|
|
119
|
-
</div>
|
|
92
|
+
<div className="colgap">
|
|
93
|
+
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
94
|
+
{Items()}
|
|
95
|
+
</ToggleGroup>
|
|
96
|
+
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
97
|
+
{Items(true, true)}
|
|
98
|
+
</ToggleGroup>
|
|
99
|
+
<ToggleGroup size="small" value={activeValue} onChange={setActiveValue}>
|
|
100
|
+
{Items(true)}
|
|
101
|
+
</ToggleGroup>
|
|
120
102
|
</div>
|
|
121
103
|
);
|
|
122
104
|
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Meta } from "@storybook/react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Heading } from "..";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "ds-react/Typography/Heading",
|
|
7
|
+
component: Heading,
|
|
8
|
+
argTypes: {
|
|
9
|
+
size: {
|
|
10
|
+
defaultValue: "large",
|
|
11
|
+
control: {
|
|
12
|
+
type: "radio",
|
|
13
|
+
options: ["xlarge", "large", "medium", "small", "xsmall"],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
level: {
|
|
17
|
+
defaultValue: "1",
|
|
18
|
+
control: {
|
|
19
|
+
type: "radio",
|
|
20
|
+
options: ["1", "2", "3", "4", "5", "6"],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
} as Meta;
|
|
25
|
+
|
|
26
|
+
const lorem = "Veniam consequat cillum";
|
|
27
|
+
|
|
28
|
+
export const Default = (props) => <Heading {...props}>{lorem}</Heading>;
|
|
29
|
+
|
|
30
|
+
Default.args = {
|
|
31
|
+
spacing: false,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const Sizes = () => (
|
|
35
|
+
<div className="colgap">
|
|
36
|
+
<Heading level="1" size="xlarge">
|
|
37
|
+
{lorem}
|
|
38
|
+
</Heading>
|
|
39
|
+
<Heading level="2" size="large">
|
|
40
|
+
{lorem}
|
|
41
|
+
</Heading>
|
|
42
|
+
<Heading level="3" size="medium">
|
|
43
|
+
{lorem}
|
|
44
|
+
</Heading>
|
|
45
|
+
<Heading level="4" size="small">
|
|
46
|
+
{lorem}
|
|
47
|
+
</Heading>
|
|
48
|
+
<Heading level="5" size="xsmall">
|
|
49
|
+
{lorem}
|
|
50
|
+
</Heading>
|
|
51
|
+
</div>
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
export const Spacing = () => (
|
|
55
|
+
<div>
|
|
56
|
+
<Heading level="1" size="xlarge" spacing>
|
|
57
|
+
{lorem}
|
|
58
|
+
</Heading>
|
|
59
|
+
<Heading level="2" size="large" spacing>
|
|
60
|
+
{lorem}
|
|
61
|
+
</Heading>
|
|
62
|
+
<Heading level="3" size="medium" spacing>
|
|
63
|
+
{lorem}
|
|
64
|
+
</Heading>
|
|
65
|
+
<Heading level="4" size="small" spacing>
|
|
66
|
+
{lorem}
|
|
67
|
+
</Heading>
|
|
68
|
+
<Heading level="5" size="xsmall" spacing>
|
|
69
|
+
{lorem}
|
|
70
|
+
</Heading>
|
|
71
|
+
<Heading level="5" size="xsmall">
|
|
72
|
+
{lorem}
|
|
73
|
+
</Heading>
|
|
74
|
+
</div>
|
|
75
|
+
);
|