@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
@@ -0,0 +1,24 @@
1
+ import cl from "clsx";
2
+ import React, { forwardRef } from "react";
3
+ import { BodyLong } from "../../typography";
4
+
5
+ export interface FormSummaryValueProps
6
+ extends React.HTMLAttributes<HTMLDivElement> {
7
+ children: React.ReactNode;
8
+ }
9
+
10
+ export const FormSummaryValue = forwardRef<
11
+ HTMLDivElement,
12
+ FormSummaryValueProps
13
+ >(({ children, className, ...rest }, ref) => (
14
+ <BodyLong
15
+ ref={ref}
16
+ {...rest}
17
+ as="dd"
18
+ className={cl("navds-form-summary__value", className)}
19
+ >
20
+ {children}
21
+ </BodyLong>
22
+ ));
23
+
24
+ export default FormSummaryValue;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ export { default as FormSummary, type FormSummaryProps } from "./FormSummary";
3
+ export {
4
+ default as FormSummaryAnswer,
5
+ type FormSummaryAnswerProps,
6
+ } from "./FormSummaryAnswer";
7
+ export {
8
+ default as FormSummaryAnswers,
9
+ type FormSummaryAnswersProps,
10
+ } from "./FormSummaryAnswers";
11
+ export {
12
+ default as FormSummaryEditLink,
13
+ type FormSummaryEditProps,
14
+ } from "./FormSummaryEditLink";
15
+ export {
16
+ default as FormSummaryHeader,
17
+ type FormSummaryHeaderProps,
18
+ } from "./FormSummaryHeader";
19
+ export {
20
+ default as FormSummaryHeading,
21
+ type FormSummaryHeadingProps,
22
+ } from "./FormSummaryHeading";
23
+ export {
24
+ default as FormSummaryLabel,
25
+ type FormSummaryLabelProps,
26
+ } from "./FormSummaryLabel";
27
+ export {
28
+ default as FormSummaryValue,
29
+ type FormSummaryValueProps,
30
+ } from "./FormSummaryValue";
package/src/index.ts CHANGED
@@ -26,8 +26,8 @@ export { Dropdown, type DropdownProps } from "./dropdown";
26
26
  export { ExpansionCard, type ExpansionCardProps } from "./expansion-card";
27
27
  export {
28
28
  GuidePanel,
29
- type GuidePanelProps,
30
29
  GuidePanelDefaultIllustration,
30
+ type GuidePanelProps,
31
31
  } from "./guide-panel";
32
32
  export { HelpText, type HelpTextProps } from "./help-text";
33
33
  export {
@@ -125,6 +125,21 @@ export {
125
125
  } from "./form/confirmation-panel";
126
126
  export { ErrorSummary, type ErrorSummaryProps } from "./form/error-summary";
127
127
  export { Fieldset, type FieldsetProps } from "./form/fieldset";
128
+ export {
129
+ UNSAFE_FileUpload,
130
+ type FileAccepted,
131
+ type FileItem,
132
+ type FileMetadata,
133
+ type FileObject,
134
+ type FileRejected,
135
+ type FileRejectedPartitioned,
136
+ type FileRejectionReason,
137
+ type FileUploadDropzoneProps,
138
+ type FileUploadItemProps,
139
+ type FileUploadTriggerProps,
140
+ type FilesPartitioned,
141
+ } from "./form/file-upload";
142
+ export { FormSummary, type FormSummaryProps } from "./form/form-summary";
128
143
  export {
129
144
  Radio,
130
145
  RadioGroup,
@@ -136,20 +151,6 @@ export { Select, type SelectProps } from "./form/select";
136
151
  export { Switch, type SwitchProps } from "./form/switch";
137
152
  export { Textarea, type TextareaProps } from "./form/textarea";
138
153
  export { TextField, type TextFieldProps } from "./form/textfield";
139
- export {
140
- UNSAFE_FileUpload,
141
- type FileUploadDropzoneProps,
142
- type FileUploadTriggerProps,
143
- type FileObject,
144
- type FileRejected,
145
- type FileAccepted,
146
- type FileRejectedPartitioned,
147
- type FilesPartitioned,
148
- type FileRejectionReason,
149
- type FileUploadItemProps,
150
- type FileItem,
151
- type FileMetadata,
152
- } from "./form/file-upload";
153
154
 
154
155
  /**
155
156
  * @deprecated
@@ -143,7 +143,21 @@ export class DescendantsManager<
143
143
  };
144
144
 
145
145
  private registerNode = (node: T | null, options?: DescendantOptions<K>) => {
146
- if (!node || this.descendants.has(node)) return;
146
+ if (!node) return;
147
+
148
+ /**
149
+ * While the node is registered, we have to make sure to sync options
150
+ * This is useful when ex. a node is disabled after it has been registered
151
+ */
152
+ const mapNode = this.descendants.get(node);
153
+ if (mapNode) {
154
+ this.descendants.set(node, {
155
+ index: mapNode.index,
156
+ node,
157
+ ...options,
158
+ } as Descendant<T, K>);
159
+ return;
160
+ }
147
161
 
148
162
  const keys = Array.from(this.descendants.keys()).concat(node);
149
163
  const sorted = sortNodes(keys);
@@ -17,11 +17,6 @@ function useDescendants<
17
17
  K extends Record<string, any> = object,
18
18
  >() {
19
19
  const descendants = useRef(new DescendantsManager<T, K>()).current;
20
- useClientLayoutEffect(() => {
21
- return () => {
22
- descendants.destroy();
23
- };
24
- });
25
20
 
26
21
  return descendants;
27
22
  }
@@ -1,286 +0,0 @@
1
- import { StoryObj } from "@storybook/react";
2
- import React, { useState } from "react";
3
- import { Accordion, AccordionProps } from ".";
4
- import AccordionContent from "./AccordionContent";
5
- import AccordionHeader from "./AccordionHeader";
6
- import AccordionItem from "./AccordionItem";
7
-
8
- export default {
9
- title: "ds-react/Accordion",
10
- component: Accordion,
11
- subcomponents: {
12
- AccordionItem,
13
- AccordionContent,
14
- AccordionHeader,
15
- },
16
- parameters: {
17
- chromatic: { disable: true },
18
- },
19
- decorators: [
20
- (Story) => (
21
- <div
22
- style={{
23
- width: "600px",
24
- minHeight: "100vh",
25
- display: "flex",
26
- flexDirection: "column",
27
- gap: "1rem",
28
- }}
29
- >
30
- <Story />
31
- </div>
32
- ),
33
- ],
34
- };
35
-
36
- type Story = StoryObj<typeof Accordion>;
37
-
38
- const Content = () => (
39
- <Accordion.Content>
40
- Magna aliquip aliquip fugiat nostrud nostrud velit pariatur veniam officia
41
- laboris voluptate officia pariatur. <a href="#Lorem">Lorem est</a> ex anim
42
- velit occaecat nisi qui nostrud sit consectetur consectetur officia nostrud
43
- ullamco. Est ex duis proident nostrud elit qui laborum anim minim eu
44
- eiusmod. Veniam in nostrud sunt tempor velit incididunt sint ex dolor qui
45
- velit id eu. Deserunt magna sunt velit in. Est exercitation id cillum qui
46
- do. Minim adipisicing nostrud commodo proident occaecat aliquip nulla anim
47
- proident reprehenderit. Magna ipsum officia veniam cupidatat duis veniam
48
- dolore reprehenderit mollit velit. Ut consequat commodo minim occaecat id
49
- pariatur. Nisi enim tempor laborum commodo. Tempor sit quis nostrud eu
50
- cupidatat sunt commodo reprehenderit irure deserunt eiusmod ipsum.
51
- Exercitation quis commodo cillum eiusmod eiusmod. Do laborum qui proident
52
- commodo adipisicing eiusmod id.
53
- </Accordion.Content>
54
- );
55
-
56
- const SmallContent = () => (
57
- <Accordion.Content>
58
- Magna aliquip aliquip fugiat nostrud <a href="#Lorem">Lorem est</a> pariatur
59
- veniam officia laboris voluptate officia pariatur.ex anim
60
- </Accordion.Content>
61
- );
62
-
63
- const Item = (props) => {
64
- const [open, setOpen] = useState(false);
65
-
66
- if (props.defaultOpen) {
67
- return (
68
- <Accordion.Item
69
- defaultOpen={props.defaultOpen}
70
- onOpenChange={console.log}
71
- >
72
- <Accordion.Header>Accordion header text</Accordion.Header>
73
- <SmallContent />
74
- </Accordion.Item>
75
- );
76
- }
77
-
78
- return props.controlled ? (
79
- <Accordion.Item open={open} onOpenChange={console.log}>
80
- <Accordion.Header onClick={() => setOpen(!open)}>
81
- Accordion header text
82
- </Accordion.Header>
83
- <Content />
84
- </Accordion.Item>
85
- ) : (
86
- <Accordion.Item onOpenChange={console.log}>
87
- <Accordion.Header>Accordion header text</Accordion.Header>
88
- <Content />
89
- </Accordion.Item>
90
- );
91
- };
92
-
93
- export const Controls: Story = {
94
- render: ({ ...props }) => {
95
- return (
96
- <div style={{ width: 500 }}>
97
- <Accordion {...props}>
98
- {[...Array(4)].map((_, y) => (
99
- <Item key={y} {...props} />
100
- ))}
101
- </Accordion>
102
- </div>
103
- );
104
- },
105
- argTypes: {
106
- variant: {
107
- options: ["default", "neutral"],
108
- control: { type: "select" },
109
- },
110
- headingSize: {
111
- options: ["large", "medium", "small", "xsmall"],
112
- control: { type: "select" },
113
- },
114
- size: {
115
- options: ["large", "medium", "small"],
116
- control: { type: "select" },
117
- },
118
- },
119
-
120
- args: {
121
- variant: "default",
122
- headingSize: "medium",
123
- size: "medium",
124
- indent: true,
125
- },
126
- };
127
-
128
- export const DefaultOpen: Story = {
129
- render: () => {
130
- return (
131
- <div style={{ width: 500 }}>
132
- <Accordion>
133
- {[...Array(4)].map((_, y) => (
134
- <Item key={y} defaultOpen={y === 2} />
135
- ))}
136
- </Accordion>
137
- </div>
138
- );
139
- },
140
- };
141
-
142
- export const Variants: Story = {
143
- render: () => {
144
- return (
145
- <div style={{ width: 500 }} className="colgap">
146
- <h3>Default</h3>
147
- <Accordion>
148
- {[...Array(2)].map((_, y) => (
149
- <Item key={y} defaultOpen />
150
- ))}
151
- </Accordion>
152
- <h3>Neutral</h3>
153
- <Accordion variant="neutral">
154
- {[...Array(2)].map((_, y) => (
155
- <Item key={y} defaultOpen />
156
- ))}
157
- </Accordion>
158
- </div>
159
- );
160
- },
161
- };
162
-
163
- export const ControlledState: Story = {
164
- render: () => {
165
- const [open, setOpen] = useState(false);
166
- const [open2, setOpen2] = useState(false);
167
-
168
- return (
169
- <div style={{ width: 500 }}>
170
- <Accordion>
171
- <Accordion.Item open={open}>
172
- <Accordion.Header onClick={() => setOpen(!open)}>
173
- Accordion header text
174
- </Accordion.Header>
175
- <Content />
176
- </Accordion.Item>
177
- <Accordion.Item open={open2}>
178
- <Accordion.Header onClick={() => setOpen2(!open2)}>
179
- Accordion header text
180
- </Accordion.Header>
181
- <Content />
182
- </Accordion.Item>
183
- </Accordion>
184
- </div>
185
- );
186
- },
187
- };
188
-
189
- const SingleHeaderAccordion = ({
190
- size = "medium",
191
- headingSize = "medium",
192
- }: Partial<AccordionProps>) => {
193
- return (
194
- <Accordion size={size} headingSize={headingSize}>
195
- <Accordion.Item>
196
- <Accordion.Header>{`${size} size + ${headingSize} heading`}</Accordion.Header>
197
- <Accordion.Content>a</Accordion.Content>
198
- </Accordion.Item>
199
- <Accordion.Item open>
200
- <Accordion.Header>{`${size} size + ${headingSize} heading`}</Accordion.Header>
201
- <Accordion.Content>
202
- lorem ipsum dolor sit amet, consectetur adipiscing elit.
203
- </Accordion.Content>
204
- </Accordion.Item>
205
- </Accordion>
206
- );
207
- };
208
-
209
- const sizes: AccordionProps["size"][] = ["large", "medium", "small"];
210
- const headingSizes: AccordionProps["headingSize"][] = [
211
- "large",
212
- "medium",
213
- "small",
214
- "xsmall",
215
- ];
216
-
217
- export const Size: Story = {
218
- render: () => (
219
- <div style={{ width: 500 }} className="colgap">
220
- {sizes.map((size) => (
221
- <SingleHeaderAccordion key={size} size={size} />
222
- ))}
223
- </div>
224
- ),
225
- };
226
-
227
- export const HeadingSize: Story = {
228
- render: () => (
229
- <div style={{ width: 500 }} className="colgap">
230
- {headingSizes.map((size) => (
231
- <SingleHeaderAccordion key={size} headingSize={size} />
232
- ))}
233
- </div>
234
- ),
235
- };
236
-
237
- export const Indent: Story = {
238
- render: () => {
239
- return (
240
- <div style={{ width: 500 }} className="colgap">
241
- <h3>No indent</h3>
242
- <Accordion indent>
243
- {[...Array(2)].map((_, y) => (
244
- <Item key={y} defaultOpen />
245
- ))}
246
- </Accordion>
247
- <h3>Indent</h3>
248
- <Accordion indent={false}>
249
- {[...Array(2)].map((_, y) => (
250
- <Item key={y} defaultOpen />
251
- ))}
252
- </Accordion>
253
- </div>
254
- );
255
- },
256
- };
257
-
258
- export const Chromatic: Story = {
259
- render: (...props) => (
260
- <div>
261
- <div>
262
- <h2>Variants</h2>
263
- {Variants.render?.(...props)}
264
- </div>
265
- <div>
266
- <h2>Size</h2>
267
- {Size.render?.(...props)}
268
- </div>
269
- <div>
270
- <h2>HeadingSize</h2>
271
- {HeadingSize.render?.(...props)}
272
- </div>
273
- <div>
274
- <h2>DefaultOpen</h2>
275
- {DefaultOpen.render?.(...props)}
276
- </div>
277
- <div>
278
- <h2>Indent</h2>
279
- {Indent.render?.(...props)}
280
- </div>
281
- </div>
282
- ),
283
- parameters: {
284
- chromatic: { disable: false },
285
- },
286
- };