@sproutsocial/seeds-react-accordion 0.4.31 → 0.4.46
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/dist/accordion.css +159 -0
- package/dist/esm/index.js +236 -78
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +21 -10
- package/dist/index.d.ts +21 -10
- package/dist/index.js +235 -79
- package/dist/index.js.map +1 -1
- package/package.json +21 -10
- package/.eslintignore +0 -6
- package/.eslintrc.js +0 -4
- package/.turbo/turbo-build.log +0 -21
- package/CHANGELOG.md +0 -519
- package/jest.config.js +0 -9
- package/src/Accordion.stories.tsx +0 -844
- package/src/Accordion.tsx +0 -83
- package/src/AccordionContent.tsx +0 -23
- package/src/AccordionItem.tsx +0 -11
- package/src/AccordionTrigger.tsx +0 -161
- package/src/AccordionTypes.ts +0 -80
- package/src/__tests__/accordion.test.tsx +0 -536
- package/src/index.ts +0 -7
- package/src/styled.d.ts +0 -7
- package/src/styles.ts +0 -164
- package/tsconfig.json +0 -9
- package/tsup.config.ts +0 -12
package/dist/index.js
CHANGED
|
@@ -100,13 +100,24 @@ var Accordion = ({
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
// src/AccordionItem.tsx
|
|
103
|
-
var
|
|
103
|
+
var RadixAccordion2 = __toESM(require("@radix-ui/react-accordion"));
|
|
104
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
105
|
+
var AccordionItem = ({ children, value }) => {
|
|
106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RadixAccordion2.Item, { className: "accordion-item", value, children });
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
// src/AccordionContent.tsx
|
|
110
|
+
var import_react4 = require("react");
|
|
111
|
+
|
|
112
|
+
// src/AccordionContentHybrid.tsx
|
|
113
|
+
var import_react3 = require("react");
|
|
114
|
+
var import_seeds_react_system_props3 = require("@sproutsocial/seeds-react-system-props");
|
|
104
115
|
|
|
105
116
|
// src/styles.ts
|
|
106
117
|
var import_styled_components = __toESM(require("styled-components"));
|
|
107
|
-
var
|
|
118
|
+
var RadixAccordion3 = __toESM(require("@radix-ui/react-accordion"));
|
|
108
119
|
var import_seeds_react_system_props2 = require("@sproutsocial/seeds-react-system-props");
|
|
109
|
-
var StyledAccordionItem = (0, import_styled_components.default)(
|
|
120
|
+
var StyledAccordionItem = (0, import_styled_components.default)(RadixAccordion3.Item)``;
|
|
110
121
|
var animations = import_styled_components.css`
|
|
111
122
|
@keyframes slideDown {
|
|
112
123
|
from {
|
|
@@ -127,7 +138,7 @@ var animations = import_styled_components.css`
|
|
|
127
138
|
}
|
|
128
139
|
`;
|
|
129
140
|
var StyledRadixAccordionContent = (0, import_styled_components.default)(
|
|
130
|
-
|
|
141
|
+
RadixAccordion3.Content
|
|
131
142
|
)`
|
|
132
143
|
${animations}
|
|
133
144
|
|
|
@@ -160,7 +171,8 @@ var ContentContainer = import_styled_components.default.div`
|
|
|
160
171
|
font-family: ${({ theme }) => theme.fontFamily};
|
|
161
172
|
|
|
162
173
|
&[data-styled="true"] {
|
|
163
|
-
padding: ${({ theme }) => theme.space[400]}
|
|
174
|
+
padding: 0 ${({ theme }) => theme.space[400]}
|
|
175
|
+
${({ theme }) => theme.space[400]};
|
|
164
176
|
${({ theme }) => theme.typography[200]};
|
|
165
177
|
}
|
|
166
178
|
|
|
@@ -215,7 +227,7 @@ var TriggerContainer = import_styled_components.default.div`
|
|
|
215
227
|
`}
|
|
216
228
|
|
|
217
229
|
.accordion-item[data-state="open"] &[data-styled="true"] {
|
|
218
|
-
border-bottom: ${({ theme }) => `${theme.borderWidths[500]} solid
|
|
230
|
+
border-bottom: ${({ theme }) => `${theme.borderWidths[500]} solid transparent`};
|
|
219
231
|
}
|
|
220
232
|
|
|
221
233
|
.accordion-item[data-state="closed"] &[data-styled="true"] {
|
|
@@ -228,12 +240,10 @@ var TriggerContainer = import_styled_components.default.div`
|
|
|
228
240
|
border-top-right-radius: ${({ theme }) => theme.radii.outer};
|
|
229
241
|
}
|
|
230
242
|
|
|
231
|
-
.accordion-item:last-child &[data-styled="true"] {
|
|
232
|
-
border-bottom: ${({ theme }) => `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};
|
|
233
|
-
}
|
|
234
|
-
|
|
235
243
|
.accordion-item:last-child[data-state="closed"] &[data-styled="true"] {
|
|
236
|
-
transition: border-radius 0s linear 0.3s
|
|
244
|
+
transition: border-radius 0s linear 0.3s,
|
|
245
|
+
border-bottom-color 0s ease-in-out 0.3s;
|
|
246
|
+
border-bottom: ${({ theme }) => `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};
|
|
237
247
|
border-bottom-left-radius: ${({ theme }) => theme.radii.outer};
|
|
238
248
|
border-bottom-right-radius: ${({ theme }) => theme.radii.outer};
|
|
239
249
|
}
|
|
@@ -244,94 +254,119 @@ var TriggerContainer = import_styled_components.default.div`
|
|
|
244
254
|
${import_seeds_react_system_props2.FLEXBOX}
|
|
245
255
|
`;
|
|
246
256
|
|
|
247
|
-
// src/
|
|
248
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
249
|
-
var AccordionItem = ({ children, value }) => {
|
|
250
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StyledAccordionItem, { className: "accordion-item", value, children });
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
// src/AccordionContent.tsx
|
|
257
|
+
// src/AccordionContentTailwind.tsx
|
|
254
258
|
var import_react2 = require("react");
|
|
259
|
+
var RadixAccordion4 = __toESM(require("@radix-ui/react-accordion"));
|
|
255
260
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
256
|
-
|
|
261
|
+
function cn(...inputs) {
|
|
262
|
+
const classes = [];
|
|
263
|
+
for (const input of inputs) {
|
|
264
|
+
if (!input) continue;
|
|
265
|
+
if (typeof input === "string") {
|
|
266
|
+
classes.push(input);
|
|
267
|
+
} else if (typeof input === "object") {
|
|
268
|
+
for (const [key, value] of Object.entries(input)) {
|
|
269
|
+
if (value) {
|
|
270
|
+
classes.push(key);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return classes.join(" ");
|
|
276
|
+
}
|
|
277
|
+
var AccordionContentTailwind = ({
|
|
257
278
|
children,
|
|
279
|
+
className,
|
|
258
280
|
...rest
|
|
259
281
|
}) => {
|
|
260
282
|
const { styled: styled2 } = (0, import_react2.useContext)(AccordionContext);
|
|
261
|
-
|
|
283
|
+
const contentDataAttrs = { "data-styled": styled2 };
|
|
284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
285
|
+
RadixAccordion4.Content,
|
|
286
|
+
{
|
|
287
|
+
className: cn("seeds-accordion-content", className),
|
|
288
|
+
...contentDataAttrs,
|
|
289
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
290
|
+
"div",
|
|
291
|
+
{
|
|
292
|
+
className: "seeds-accordion-content-inner",
|
|
293
|
+
"data-styled": styled2,
|
|
294
|
+
...rest,
|
|
295
|
+
children
|
|
296
|
+
}
|
|
297
|
+
)
|
|
298
|
+
}
|
|
299
|
+
);
|
|
262
300
|
};
|
|
263
301
|
|
|
264
|
-
// src/
|
|
302
|
+
// src/AccordionContentHybrid.tsx
|
|
303
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
304
|
+
var AccordionContentHybrid = ({
|
|
305
|
+
children,
|
|
306
|
+
...rest
|
|
307
|
+
}) => {
|
|
308
|
+
const { styled: styled2 } = (0, import_react3.useContext)(AccordionContext);
|
|
309
|
+
if ((0, import_seeds_react_system_props3.needsStyledComponents)(rest)) {
|
|
310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(StyledRadixAccordionContent, { "data-styled": styled2, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ContentContainer, { "data-styled": styled2, ...rest, children }) });
|
|
311
|
+
}
|
|
312
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionContentTailwind, { ...rest, children });
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
// src/AccordionContent.tsx
|
|
316
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
317
|
+
var AccordionContent = (props) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AccordionContentHybrid, { ...props });
|
|
318
|
+
|
|
319
|
+
// src/AccordionTriggerHybrid.tsx
|
|
320
|
+
var import_react7 = require("react");
|
|
321
|
+
var import_seeds_react_system_props4 = require("@sproutsocial/seeds-react-system-props");
|
|
322
|
+
|
|
323
|
+
// src/AccordionTriggerInner.tsx
|
|
324
|
+
var import_react5 = require("react");
|
|
265
325
|
var import_seeds_react_box = require("@sproutsocial/seeds-react-box");
|
|
266
326
|
var import_seeds_react_button = require("@sproutsocial/seeds-react-button");
|
|
267
327
|
var import_seeds_react_icon3 = require("@sproutsocial/seeds-react-icon");
|
|
268
328
|
var import_seeds_react_menu2 = require("@sproutsocial/seeds-react-menu");
|
|
269
|
-
var import_react3 = require("react");
|
|
270
329
|
var import_seeds_react_content_header2 = require("@sproutsocial/seeds-react-content-header");
|
|
271
|
-
var
|
|
272
|
-
var
|
|
330
|
+
var RadixAccordion5 = __toESM(require("@radix-ui/react-accordion"));
|
|
331
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
273
332
|
var MAX_RELATED_ACTIONS = 2;
|
|
274
333
|
var AccordionTriggerWrapper = ({
|
|
275
334
|
children
|
|
276
|
-
}) => /* @__PURE__ */ (0,
|
|
277
|
-
var
|
|
278
|
-
|
|
335
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadixAccordion5.Trigger, { asChild: true, children });
|
|
336
|
+
var AccordionTriggerInner = ({
|
|
337
|
+
title,
|
|
338
|
+
headingLevel,
|
|
279
339
|
leftSlot,
|
|
340
|
+
rightSlot,
|
|
280
341
|
relatedActions,
|
|
281
342
|
overflowMenu,
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
...rest
|
|
343
|
+
color,
|
|
344
|
+
triggerIcon,
|
|
345
|
+
triggerPosition
|
|
286
346
|
}) => {
|
|
287
|
-
const { triggerIcon, triggerPosition, styled: styled2 } = (0, import_react3.useContext)(AccordionContext);
|
|
288
347
|
const validatedActions = relatedActions?.slice(0, MAX_RELATED_ACTIONS);
|
|
289
|
-
const {
|
|
290
|
-
color,
|
|
291
|
-
padding,
|
|
292
|
-
paddingBottom,
|
|
293
|
-
paddingTop,
|
|
294
|
-
paddingX,
|
|
295
|
-
paddingY,
|
|
296
|
-
paddingLeft,
|
|
297
|
-
paddingRight,
|
|
298
|
-
p,
|
|
299
|
-
pb,
|
|
300
|
-
pt,
|
|
301
|
-
pr,
|
|
302
|
-
pl,
|
|
303
|
-
px,
|
|
304
|
-
py,
|
|
305
|
-
fontFamily,
|
|
306
|
-
fontSize,
|
|
307
|
-
fontStyle,
|
|
308
|
-
fontWeight,
|
|
309
|
-
lineHeight,
|
|
310
|
-
textAlign,
|
|
311
|
-
...triggerProps
|
|
312
|
-
} = rest;
|
|
313
348
|
const shouldRenderActionsBlock = Boolean(overflowMenu || validatedActions);
|
|
314
|
-
const renderedOverflowMenu = overflowMenu && /* @__PURE__ */ (0,
|
|
349
|
+
const renderedOverflowMenu = overflowMenu && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
315
350
|
import_seeds_react_menu2.ActionMenu,
|
|
316
351
|
{
|
|
317
|
-
menuToggleElement: /* @__PURE__ */ (0,
|
|
352
|
+
menuToggleElement: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
318
353
|
import_seeds_react_menu2.MenuToggleButton,
|
|
319
354
|
{
|
|
320
355
|
"aria-label": overflowMenu["aria-label"],
|
|
321
356
|
appearance: "unstyled",
|
|
322
357
|
color,
|
|
323
|
-
children: /* @__PURE__ */ (0,
|
|
358
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_seeds_react_icon3.Icon, { name: "ellipsis-horizontal-outline", "aria-hidden": "true" })
|
|
324
359
|
}
|
|
325
360
|
),
|
|
326
|
-
children: /* @__PURE__ */ (0,
|
|
327
|
-
const { iconName, id, onClick, children
|
|
328
|
-
return /* @__PURE__ */ (0,
|
|
361
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_seeds_react_menu2.MenuContent, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_seeds_react_menu2.MenuGroup, { id: "overflow-actions", children: overflowMenu.items.map((item, index) => {
|
|
362
|
+
const { iconName, id, onClick, children, ...menuItemProps } = item;
|
|
363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
329
364
|
import_seeds_react_menu2.MenuItem,
|
|
330
365
|
{
|
|
331
366
|
id: id || `overflow-item-${index}`,
|
|
332
367
|
onClick,
|
|
333
368
|
...menuItemProps,
|
|
334
|
-
children: iconName ? /* @__PURE__ */ (0,
|
|
369
|
+
children: iconName ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
335
370
|
import_seeds_react_box.Box,
|
|
336
371
|
{
|
|
337
372
|
display: "flex",
|
|
@@ -339,56 +374,177 @@ var AccordionTrigger = ({
|
|
|
339
374
|
gap: "300",
|
|
340
375
|
color,
|
|
341
376
|
children: [
|
|
342
|
-
/* @__PURE__ */ (0,
|
|
343
|
-
|
|
377
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_seeds_react_icon3.Icon, { name: iconName }),
|
|
378
|
+
children
|
|
344
379
|
]
|
|
345
380
|
}
|
|
346
|
-
) :
|
|
381
|
+
) : children
|
|
347
382
|
},
|
|
348
383
|
id || `overflow-item-${index}`
|
|
349
384
|
);
|
|
350
385
|
}) }) })
|
|
351
386
|
}
|
|
352
387
|
);
|
|
353
|
-
const renderedRelatedActions = validatedActions && validatedActions.length > 0 && /* @__PURE__ */ (0,
|
|
388
|
+
const renderedRelatedActions = validatedActions && validatedActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_seeds_react_box.Box, { display: "flex", children: validatedActions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
354
389
|
import_seeds_react_button.Button,
|
|
355
390
|
{
|
|
356
391
|
onClick: action.onClick,
|
|
357
392
|
"aria-label": action["aria-label"],
|
|
358
393
|
color,
|
|
359
|
-
children: /* @__PURE__ */ (0,
|
|
394
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_seeds_react_icon3.Icon, { name: action.iconName, "aria-hidden": "true" })
|
|
360
395
|
},
|
|
361
396
|
`${action.iconName}-${index}`
|
|
362
397
|
)) });
|
|
363
|
-
const renderedActions = shouldRenderActionsBlock ? /* @__PURE__ */ (0,
|
|
398
|
+
const renderedActions = shouldRenderActionsBlock ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_seeds_react_box.Box, { mr: 300, display: "flex", children: [
|
|
364
399
|
renderedOverflowMenu,
|
|
365
400
|
renderedRelatedActions
|
|
366
401
|
] }) : void 0;
|
|
367
|
-
return /* @__PURE__ */ (0,
|
|
368
|
-
|
|
402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
403
|
+
import_seeds_react_content_header2.CollapsibleContentHeader,
|
|
404
|
+
{
|
|
405
|
+
title,
|
|
406
|
+
headingLevel,
|
|
407
|
+
leftSlot,
|
|
408
|
+
rightSlot,
|
|
409
|
+
headerActions: renderedActions,
|
|
410
|
+
trigger: AccordionTriggerWrapper,
|
|
411
|
+
triggerPosition,
|
|
412
|
+
triggerIcon,
|
|
413
|
+
bordered: false
|
|
414
|
+
}
|
|
415
|
+
);
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
// src/AccordionTriggerTailwind.tsx
|
|
419
|
+
var import_react6 = require("react");
|
|
420
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
421
|
+
function cn2(...inputs) {
|
|
422
|
+
const classes = [];
|
|
423
|
+
for (const input of inputs) {
|
|
424
|
+
if (!input) continue;
|
|
425
|
+
if (typeof input === "string") {
|
|
426
|
+
classes.push(input);
|
|
427
|
+
} else if (typeof input === "object") {
|
|
428
|
+
for (const [key, value] of Object.entries(input)) {
|
|
429
|
+
if (value) {
|
|
430
|
+
classes.push(key);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return classes.join(" ");
|
|
436
|
+
}
|
|
437
|
+
var AccordionTriggerTailwind = ({
|
|
438
|
+
children,
|
|
439
|
+
leftSlot,
|
|
440
|
+
relatedActions,
|
|
441
|
+
overflowMenu,
|
|
442
|
+
rightSlot,
|
|
443
|
+
title,
|
|
444
|
+
headingLevel = "h4",
|
|
445
|
+
className,
|
|
446
|
+
// In the Tailwind path the hybrid gate guarantees no styled-system props are
|
|
447
|
+
// present. `color` is still pulled out so it is forwarded to the inner content
|
|
448
|
+
// (overflow menu / related actions) but not onto the wrapper div.
|
|
449
|
+
color,
|
|
450
|
+
...triggerProps
|
|
451
|
+
}) => {
|
|
452
|
+
const { triggerIcon, triggerPosition, styled: styled2 } = (0, import_react6.useContext)(AccordionContext);
|
|
453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
454
|
+
"div",
|
|
369
455
|
{
|
|
456
|
+
className: cn2("seeds-accordion-trigger", className),
|
|
370
457
|
"data-styled": styled2,
|
|
371
|
-
$styled: styled2,
|
|
372
458
|
"data-qa-trigger": "HERE",
|
|
373
|
-
color,
|
|
374
459
|
...triggerProps,
|
|
375
|
-
children: /* @__PURE__ */ (0,
|
|
376
|
-
|
|
460
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
461
|
+
AccordionTriggerInner,
|
|
377
462
|
{
|
|
378
463
|
title,
|
|
379
464
|
headingLevel,
|
|
380
465
|
leftSlot,
|
|
381
466
|
rightSlot,
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
467
|
+
relatedActions,
|
|
468
|
+
overflowMenu,
|
|
469
|
+
color,
|
|
385
470
|
triggerIcon,
|
|
386
|
-
|
|
471
|
+
triggerPosition
|
|
387
472
|
}
|
|
388
473
|
)
|
|
389
474
|
}
|
|
390
475
|
);
|
|
391
476
|
};
|
|
477
|
+
|
|
478
|
+
// src/AccordionTriggerHybrid.tsx
|
|
479
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
480
|
+
var AccordionTriggerHybrid = (props) => {
|
|
481
|
+
const {
|
|
482
|
+
children,
|
|
483
|
+
leftSlot,
|
|
484
|
+
relatedActions,
|
|
485
|
+
overflowMenu,
|
|
486
|
+
rightSlot,
|
|
487
|
+
title,
|
|
488
|
+
headingLevel = "h4",
|
|
489
|
+
...rest
|
|
490
|
+
} = props;
|
|
491
|
+
const { triggerIcon, triggerPosition, styled: styled2 } = (0, import_react7.useContext)(AccordionContext);
|
|
492
|
+
if ((0, import_seeds_react_system_props4.needsStyledComponents)(rest)) {
|
|
493
|
+
const {
|
|
494
|
+
color,
|
|
495
|
+
padding,
|
|
496
|
+
paddingBottom,
|
|
497
|
+
paddingTop,
|
|
498
|
+
paddingX,
|
|
499
|
+
paddingY,
|
|
500
|
+
paddingLeft,
|
|
501
|
+
paddingRight,
|
|
502
|
+
p,
|
|
503
|
+
pb,
|
|
504
|
+
pt,
|
|
505
|
+
pr,
|
|
506
|
+
pl,
|
|
507
|
+
px,
|
|
508
|
+
py,
|
|
509
|
+
fontFamily,
|
|
510
|
+
fontSize,
|
|
511
|
+
fontStyle,
|
|
512
|
+
fontWeight,
|
|
513
|
+
lineHeight,
|
|
514
|
+
textAlign,
|
|
515
|
+
...triggerProps
|
|
516
|
+
} = rest;
|
|
517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
518
|
+
TriggerContainer,
|
|
519
|
+
{
|
|
520
|
+
"data-styled": styled2,
|
|
521
|
+
$styled: styled2,
|
|
522
|
+
"data-qa-trigger": "HERE",
|
|
523
|
+
color,
|
|
524
|
+
...triggerProps,
|
|
525
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
526
|
+
AccordionTriggerInner,
|
|
527
|
+
{
|
|
528
|
+
title,
|
|
529
|
+
headingLevel,
|
|
530
|
+
leftSlot,
|
|
531
|
+
rightSlot,
|
|
532
|
+
relatedActions,
|
|
533
|
+
overflowMenu,
|
|
534
|
+
color,
|
|
535
|
+
triggerIcon,
|
|
536
|
+
triggerPosition
|
|
537
|
+
}
|
|
538
|
+
)
|
|
539
|
+
}
|
|
540
|
+
);
|
|
541
|
+
}
|
|
542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionTriggerTailwind, { ...props });
|
|
543
|
+
};
|
|
544
|
+
|
|
545
|
+
// src/AccordionTrigger.tsx
|
|
546
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
547
|
+
var AccordionTrigger = (props) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(AccordionTriggerHybrid, { ...props });
|
|
392
548
|
// Annotate the CommonJS export names for ESM import in node:
|
|
393
549
|
0 && (module.exports = {
|
|
394
550
|
Accordion,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/Accordion.tsx","../src/AccordionTypes.ts","../src/AccordionItem.tsx","../src/styles.ts","../src/AccordionContent.tsx","../src/AccordionTrigger.tsx"],"sourcesContent":["import { Accordion } from \"./Accordion\";\nimport { AccordionItem } from \"./AccordionItem\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport { Accordion, AccordionItem, AccordionContent, AccordionTrigger };\nexport * from \"./AccordionTypes\";\n","import React, { createContext, type ReactElement } from \"react\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport { type TypeAccordionProps } from \"./AccordionTypes\";\n\nexport const AccordionContext = createContext<{\n triggerIcon: ReactElement | null;\n triggerPosition: string;\n styled: boolean;\n}>({\n triggerIcon: null,\n triggerPosition: \"\",\n styled: false,\n});\n\nexport const Accordion = ({\n children,\n collapsible,\n defaultValue = [\"item-0\"],\n triggerPosition = \"right\",\n triggerIcon = <Icon className=\"triggerIcon\" name=\"chevron-down-outline\" />,\n type = \"multiple\",\n styled = true,\n value,\n onValueChange,\n}: TypeAccordionProps) => {\n const contextValue = {\n triggerIcon: React.isValidElement(triggerIcon) ? triggerIcon : null,\n triggerPosition,\n styled,\n };\n\n if (type === \"single\") {\n // Determine if controlled or uncontrolled\n const isControlled = value !== undefined;\n\n return (\n <RadixAccordion.Root\n type=\"single\"\n value={\n isControlled ? (Array.isArray(value) ? value[0] : value) : undefined\n }\n defaultValue={\n !isControlled && defaultValue\n ? Array.isArray(defaultValue)\n ? defaultValue[0]\n : defaultValue\n : undefined\n }\n onValueChange={onValueChange as ((value: string) => void) | undefined}\n collapsible={collapsible}\n >\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </RadixAccordion.Root>\n );\n }\n\n // Multiple mode\n const isControlled = value !== undefined;\n\n return (\n <RadixAccordion.Root\n type=\"multiple\"\n value={\n isControlled ? (Array.isArray(value) ? value : [value]) : undefined\n }\n defaultValue={\n !isControlled && defaultValue\n ? Array.isArray(defaultValue)\n ? defaultValue\n : [defaultValue]\n : undefined\n }\n onValueChange={onValueChange as ((value: string[]) => void) | undefined}\n >\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </RadixAccordion.Root>\n );\n};\n","import * as React from \"react\";\nimport {\n type TypeSystemCommonProps,\n type TypeBorderSystemProps,\n type TypeFlexboxSystemProps,\n type TypeLayoutSystemProps,\n type TypeStyledComponentsCommonProps,\n type TypeSystemTypographyProps,\n} from \"@sproutsocial/seeds-react-system-props\";\nimport { type TypeIconName } from \"@sproutsocial/seeds-react-icon\";\nimport { type TypeMenuItemProps } from \"@sproutsocial/seeds-react-menu\";\nimport { type TypeHeadingLevel } from \"@sproutsocial/seeds-react-content-header\";\n\nexport interface TypeAccordionSystemProps\n extends Omit<React.ComponentPropsWithoutRef<\"div\">, \"color\">,\n TypeStyledComponentsCommonProps,\n TypeSystemCommonProps,\n TypeBorderSystemProps,\n TypeFlexboxSystemProps,\n TypeLayoutSystemProps,\n TypeSystemTypographyProps {}\n\nexport interface TypeAccordionProps {\n children?: React.ReactNode;\n collapsible?: boolean;\n defaultValue?: string | string[];\n triggerIcon?: React.ReactNode;\n triggerPosition?: \"left\" | \"right\";\n type?: \"single\" | \"multiple\";\n styled?: boolean;\n /** Controlled value for open accordion items (single mode: string, multiple mode: string[]) */\n value?: string | string[];\n /** Callback fired when accordion items change (single mode: string, multiple mode: string[]) */\n onValueChange?: (value: string | string[]) => void;\n}\n\nexport interface TypeRelatedAction {\n iconName: TypeIconName;\n onClick: () => void;\n \"aria-label\": string;\n}\n\nexport interface TypeOverflowMenuItem extends TypeMenuItemProps {\n iconName?: TypeIconName;\n}\n\nexport interface TypeOverflowMenuConfig {\n /** Menu items to be rendered in the overflow menu */\n items: TypeOverflowMenuItem[];\n /** Aria label for the overflow menu trigger button. Defaults to \"More actions\" */\n \"aria-label\"?: string;\n}\n\nexport interface TypeAccordionItemProps {\n children: React.ReactNode;\n relatedActions?: TypeRelatedAction[];\n overflowMenu?: TypeOverflowMenuConfig;\n value: string;\n}\n\n/**\n * Props for AccordionTrigger component\n *\n * @example\n * ```tsx\n * <AccordionTrigger\n * title=\"My Accordion Title\"\n * headingLevel=\"h2\"\n * />\n * ```\n */\nexport interface TypeAccordionTriggerProps extends TypeAccordionSystemProps {\n title: string;\n leftSlot?: React.ReactNode;\n relatedActions?: TypeRelatedAction[];\n overflowMenu?: TypeOverflowMenuConfig;\n rightSlot?: React.ReactNode;\n /** The semantic heading level for the accordion title. Defaults to \"h4\" */\n headingLevel?: TypeHeadingLevel;\n}\n","import * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport { type TypeAccordionItemProps } from \"./AccordionTypes\";\nimport { StyledAccordionItem } from \"./styles\";\n\nexport const AccordionItem = ({ children, value }: TypeAccordionItemProps) => {\n return (\n <StyledAccordionItem className=\"accordion-item\" value={value}>\n {children}\n </StyledAccordionItem>\n );\n};\n","import styled, { css } from \"styled-components\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport {\n BORDER,\n COMMON,\n FLEXBOX,\n LAYOUT,\n TYPOGRAPHY,\n} from \"@sproutsocial/seeds-react-system-props\";\nimport { type TypeAccordionSystemProps } from \"./AccordionTypes\";\n\ninterface StyledAccordionProps extends TypeAccordionSystemProps {\n $styled?: boolean;\n}\n\nexport const StyledAccordionItem = styled(RadixAccordion.Item)``;\n\nconst animations = css`\n @keyframes slideDown {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n }\n\n @keyframes slideUp {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n }\n`;\n\nexport const StyledRadixAccordionContent = styled(\n RadixAccordion.Content\n)<StyledAccordionProps>`\n ${animations}\n\n overflow: hidden;\n\n &[data-state=\"open\"] {\n animation: slideDown 300ms ease-in-out;\n }\n\n &[data-state=\"closed\"] {\n animation: slideUp 300ms ease-in-out;\n }\n\n &[data-styled=\"true\"] {\n border-left: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n border-right: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n background: ${({ theme }) => theme.colors.container.background.base};\n }\n\n .accordion-item:last-child[data-state=\"open\"] &[data-styled=\"true\"],\n .accordion-item:last-child[data-state=\"closed\"] &[data-styled=\"true\"] {\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n border-bottom-left-radius: ${({ theme }) => theme.radii.outer};\n border-bottom-right-radius: ${({ theme }) => theme.radii.outer};\n }\n`;\n\nexport const ContentContainer = styled.div<StyledAccordionProps>`\n color: ${({ theme }) => theme.colors.text.body};\n background: transparent;\n font-family: ${({ theme }) => theme.fontFamily};\n\n &[data-styled=\"true\"] {\n padding: ${({ theme }) => theme.space[400]};\n ${({ theme }) => theme.typography[200]};\n }\n\n .accordion-item:last-child[data-state=\"open\"] &[data-styled=\"true\"],\n .accordion-item:last-child[data-state=\"closed\"] &[data-styled=\"true\"] {\n border-bottom-left-radius: ${({ theme }) => theme.radii.outer};\n border-bottom-right-radius: ${({ theme }) => theme.radii.outer};\n }\n\n ${COMMON}\n ${TYPOGRAPHY}\n ${BORDER}\n\t${LAYOUT}\n\t${FLEXBOX}\n`;\n\nexport const TriggerContainer = styled.div<StyledAccordionProps>`\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.colors.text.body};\n ${({ theme }) => theme.typography[200]};\n\n /* Override Text.Headline styles to match original accordion trigger typography */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: normal;\n line-height: inherit;\n color: inherit;\n }\n\n &[data-styled=\"true\"] {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n color: ${({ theme }) => theme.colors.text.headline};\n }\n }\n\n ${({ $styled, theme }) =>\n $styled &&\n `\n border-top: ${theme.borderWidths[500]} solid ${theme.colors.container.border.base};\n border-left: ${theme.borderWidths[500]} solid ${theme.colors.container.border.base};\n border-right: ${theme.borderWidths[500]} solid ${theme.colors.container.border.base};\n background: ${theme.colors.container.background.base};\n `}\n\n .accordion-item[data-state=\"open\"] &[data-styled=\"true\"] {\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n }\n\n .accordion-item[data-state=\"closed\"] &[data-styled=\"true\"] {\n transition: border-bottom-color 0s ease-in-out 0.3s;\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid transparent`};\n }\n\n .accordion-item:first-child &[data-styled=\"true\"] {\n border-top-left-radius: ${({ theme }) => theme.radii.outer};\n border-top-right-radius: ${({ theme }) => theme.radii.outer};\n }\n\n .accordion-item:last-child &[data-styled=\"true\"] {\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n }\n\n .accordion-item:last-child[data-state=\"closed\"] &[data-styled=\"true\"] {\n transition: border-radius 0s linear 0.3s;\n border-bottom-left-radius: ${({ theme }) => theme.radii.outer};\n border-bottom-right-radius: ${({ theme }) => theme.radii.outer};\n }\n\n ${COMMON}\n ${BORDER}\n\t${LAYOUT}\n\t${FLEXBOX}\n`;\n","import { StyledRadixAccordionContent, ContentContainer } from \"./styles\";\nimport { type TypeAccordionSystemProps } from \"./AccordionTypes\";\nimport { AccordionContext } from \"./Accordion\";\nimport { useContext } from \"react\";\n\ninterface TypeAccordionContentProps extends TypeAccordionSystemProps {\n children?: React.ReactNode;\n}\n\nexport const AccordionContent = ({\n children,\n ...rest\n}: TypeAccordionContentProps) => {\n const { styled } = useContext(AccordionContext);\n\n return (\n <StyledRadixAccordionContent data-styled={styled}>\n <ContentContainer data-styled={styled} {...rest}>\n {children}\n </ContentContainer>\n </StyledRadixAccordionContent>\n );\n};\n","import { TriggerContainer } from \"./styles\";\nimport { type TypeAccordionTriggerProps } from \"./AccordionTypes\";\nimport { Box } from \"@sproutsocial/seeds-react-box\";\nimport { Button } from \"@sproutsocial/seeds-react-button\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport {\n ActionMenu,\n MenuContent,\n MenuItem,\n MenuGroup,\n MenuToggleButton,\n} from \"@sproutsocial/seeds-react-menu\";\nimport React, { useContext } from \"react\";\nimport { AccordionContext } from \"./Accordion\";\nimport { CollapsibleContentHeader } from \"@sproutsocial/seeds-react-content-header\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\n\nconst MAX_RELATED_ACTIONS = 2;\n\n// Wrapper to adapt RadixAccordion.Trigger to the ContentHeader trigger interface\nconst AccordionTriggerWrapper = ({\n children,\n}: {\n children: React.ReactElement;\n}) => <RadixAccordion.Trigger asChild>{children}</RadixAccordion.Trigger>;\n\nexport const AccordionTrigger = ({\n children,\n leftSlot,\n relatedActions,\n overflowMenu,\n rightSlot,\n title,\n headingLevel = \"h4\",\n ...rest\n}: TypeAccordionTriggerProps) => {\n const { triggerIcon, triggerPosition, styled } = useContext(AccordionContext);\n\n // Validate and limit related actions\n const validatedActions = relatedActions?.slice(0, MAX_RELATED_ACTIONS);\n\n // Extract system props to distribute to appropriate container\n const {\n color,\n padding,\n paddingBottom,\n paddingTop,\n paddingX,\n paddingY,\n paddingLeft,\n paddingRight,\n p,\n pb,\n pt,\n pr,\n pl,\n px,\n py,\n fontFamily,\n fontSize,\n fontStyle,\n fontWeight,\n lineHeight,\n textAlign,\n ...triggerProps\n } = rest;\n\n const shouldRenderActionsBlock = Boolean(overflowMenu || validatedActions);\n\n // Render overflow menu from config\n const renderedOverflowMenu = overflowMenu && (\n <ActionMenu\n menuToggleElement={\n <MenuToggleButton\n aria-label={overflowMenu[\"aria-label\"]}\n appearance=\"unstyled\"\n color={color}\n >\n <Icon name=\"ellipsis-horizontal-outline\" aria-hidden=\"true\" />\n </MenuToggleButton>\n }\n >\n <MenuContent>\n <MenuGroup id=\"overflow-actions\">\n {overflowMenu.items.map((item, index) => {\n const { iconName, id, onClick, children, ...menuItemProps } = item;\n return (\n <MenuItem\n key={id || `overflow-item-${index}`}\n id={id || `overflow-item-${index}`}\n onClick={onClick}\n {...menuItemProps}\n >\n {iconName ? (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n gap=\"300\"\n color={color}\n >\n <Icon name={iconName} />\n {children}\n </Box>\n ) : (\n children\n )}\n </MenuItem>\n );\n })}\n </MenuGroup>\n </MenuContent>\n </ActionMenu>\n );\n\n // Render related actions from config\n const renderedRelatedActions = validatedActions &&\n validatedActions.length > 0 && (\n <Box display=\"flex\">\n {validatedActions.map((action, index) => (\n <Button\n key={`${action.iconName}-${index}`}\n onClick={action.onClick}\n aria-label={action[\"aria-label\"]}\n color={color}\n >\n <Icon name={action.iconName} aria-hidden=\"true\" />\n </Button>\n ))}\n </Box>\n );\n\n // Compose actions into a single ReactNode for ContentHeader\n const renderedActions = shouldRenderActionsBlock ? (\n <Box mr={300} display=\"flex\">\n {renderedOverflowMenu}\n {renderedRelatedActions}\n </Box>\n ) : undefined;\n\n return (\n <TriggerContainer\n data-styled={styled}\n $styled={styled}\n data-qa-trigger=\"HERE\"\n color={color}\n {...triggerProps}\n >\n <CollapsibleContentHeader\n title={title}\n headingLevel={headingLevel}\n leftSlot={leftSlot}\n rightSlot={rightSlot}\n headerActions={renderedActions}\n trigger={AccordionTriggerWrapper}\n triggerPosition={triggerPosition as \"left\" | \"right\"}\n triggerIcon={triggerIcon}\n bordered={false}\n />\n </TriggerContainer>\n );\n};\n"],"mappings":"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","names":["import_seeds_react_icon","styled","React","isControlled","RadixAccordion","RadixAccordion","import_seeds_react_system_props","styled","import_jsx_runtime","import_react","import_jsx_runtime","styled","import_seeds_react_icon","import_seeds_react_menu","import_react","import_seeds_react_content_header","RadixAccordion","import_jsx_runtime","styled","children"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/Accordion.tsx","../src/AccordionTypes.ts","../src/AccordionItem.tsx","../src/AccordionContent.tsx","../src/AccordionContentHybrid.tsx","../src/styles.ts","../src/AccordionContentTailwind.tsx","../src/AccordionTriggerHybrid.tsx","../src/AccordionTriggerInner.tsx","../src/AccordionTriggerTailwind.tsx","../src/AccordionTrigger.tsx"],"sourcesContent":["import { Accordion } from \"./Accordion\";\nimport { AccordionItem } from \"./AccordionItem\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport { Accordion, AccordionItem, AccordionContent, AccordionTrigger };\nexport * from \"./AccordionTypes\";\n","import React, { createContext, type ReactElement } from \"react\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport { type TypeAccordionProps } from \"./AccordionTypes\";\n\nexport const AccordionContext = createContext<{\n triggerIcon: ReactElement | null;\n triggerPosition: string;\n styled: boolean;\n}>({\n triggerIcon: null,\n triggerPosition: \"\",\n styled: false,\n});\n\nexport const Accordion = ({\n children,\n collapsible,\n defaultValue = [\"item-0\"],\n triggerPosition = \"right\",\n triggerIcon = <Icon className=\"triggerIcon\" name=\"chevron-down-outline\" />,\n type = \"multiple\",\n styled = true,\n value,\n onValueChange,\n}: TypeAccordionProps) => {\n const contextValue = {\n triggerIcon: React.isValidElement(triggerIcon) ? triggerIcon : null,\n triggerPosition,\n styled,\n };\n\n if (type === \"single\") {\n // Determine if controlled or uncontrolled\n const isControlled = value !== undefined;\n\n return (\n <RadixAccordion.Root\n type=\"single\"\n value={\n isControlled ? (Array.isArray(value) ? value[0] : value) : undefined\n }\n defaultValue={\n !isControlled && defaultValue\n ? Array.isArray(defaultValue)\n ? defaultValue[0]\n : defaultValue\n : undefined\n }\n onValueChange={onValueChange as ((value: string) => void) | undefined}\n collapsible={collapsible}\n >\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </RadixAccordion.Root>\n );\n }\n\n // Multiple mode\n const isControlled = value !== undefined;\n\n return (\n <RadixAccordion.Root\n type=\"multiple\"\n value={\n isControlled ? (Array.isArray(value) ? value : [value]) : undefined\n }\n defaultValue={\n !isControlled && defaultValue\n ? Array.isArray(defaultValue)\n ? defaultValue\n : [defaultValue]\n : undefined\n }\n onValueChange={onValueChange as ((value: string[]) => void) | undefined}\n >\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </RadixAccordion.Root>\n );\n};\n","import * as React from \"react\";\nimport {\n type TypeSystemCommonProps,\n type TypeBorderSystemProps,\n type TypeFlexboxSystemProps,\n type TypeLayoutSystemProps,\n type TypeStyledComponentsCommonProps,\n type TypeSystemTypographyProps,\n} from \"@sproutsocial/seeds-react-system-props\";\nimport { type TypeIconName } from \"@sproutsocial/seeds-react-icon\";\nimport { type TypeMenuItemProps } from \"@sproutsocial/seeds-react-menu\";\nimport { type TypeHeadingLevel } from \"@sproutsocial/seeds-react-content-header\";\n\nexport interface TypeAccordionSystemProps\n extends Omit<React.ComponentPropsWithoutRef<\"div\">, \"color\">,\n TypeStyledComponentsCommonProps,\n TypeSystemCommonProps,\n TypeBorderSystemProps,\n TypeFlexboxSystemProps,\n TypeLayoutSystemProps,\n TypeSystemTypographyProps {}\n\nexport interface TypeAccordionProps {\n children?: React.ReactNode;\n collapsible?: boolean;\n defaultValue?: string | string[];\n triggerIcon?: React.ReactNode;\n triggerPosition?: \"left\" | \"right\";\n type?: \"single\" | \"multiple\";\n styled?: boolean;\n /** Controlled value for open accordion items (single mode: string, multiple mode: string[]) */\n value?: string | string[];\n /** Callback fired when accordion items change (single mode: string, multiple mode: string[]) */\n onValueChange?: (value: string | string[]) => void;\n}\n\nexport interface TypeRelatedAction {\n iconName: TypeIconName;\n onClick: () => void;\n \"aria-label\": string;\n}\n\nexport interface TypeOverflowMenuItem extends TypeMenuItemProps {\n iconName?: TypeIconName;\n}\n\nexport interface TypeOverflowMenuConfig {\n /** Menu items to be rendered in the overflow menu */\n items: TypeOverflowMenuItem[];\n /** Aria label for the overflow menu trigger button. Defaults to \"More actions\" */\n \"aria-label\"?: string;\n}\n\nexport interface TypeAccordionItemProps {\n children: React.ReactNode;\n relatedActions?: TypeRelatedAction[];\n overflowMenu?: TypeOverflowMenuConfig;\n value: string;\n}\n\n/**\n * Props for AccordionTrigger component\n *\n * @example\n * ```tsx\n * <AccordionTrigger\n * title=\"My Accordion Title\"\n * headingLevel=\"h2\"\n * />\n * ```\n */\nexport interface TypeAccordionTriggerProps extends TypeAccordionSystemProps {\n title: string;\n leftSlot?: React.ReactNode;\n relatedActions?: TypeRelatedAction[];\n overflowMenu?: TypeOverflowMenuConfig;\n rightSlot?: React.ReactNode;\n /** The semantic heading level for the accordion title. Defaults to \"h4\" */\n headingLevel?: TypeHeadingLevel;\n}\n","import * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport { type TypeAccordionItemProps } from \"./AccordionTypes\";\n\nexport const AccordionItem = ({ children, value }: TypeAccordionItemProps) => {\n return (\n <RadixAccordion.Item className=\"accordion-item\" value={value}>\n {children}\n </RadixAccordion.Item>\n );\n};\n","import React from \"react\";\nimport { type TypeAccordionSystemProps } from \"./AccordionTypes\";\nimport { AccordionContentHybrid } from \"./AccordionContentHybrid\";\n\ninterface TypeAccordionContentProps extends TypeAccordionSystemProps {\n children?: React.ReactNode;\n}\n\n/**\n * AccordionContent. Automatically routes between the Tailwind implementation\n * (preferred) and the styled-components implementation (for consumers using\n * system props or a styled() extension).\n */\nexport const AccordionContent = (props: TypeAccordionContentProps) => (\n <AccordionContentHybrid {...props} />\n);\n","/**\n * Hybrid AccordionContent.\n * Automatically chooses between the Tailwind and styled-components rendering\n * based on whether styled-system props or a styled() extension are present.\n */\n\nimport React, { useContext } from \"react\";\nimport { needsStyledComponents } from \"@sproutsocial/seeds-react-system-props\";\nimport { StyledRadixAccordionContent, ContentContainer } from \"./styles\";\nimport { AccordionContext } from \"./Accordion\";\nimport { AccordionContentTailwind } from \"./AccordionContentTailwind\";\nimport { type TypeAccordionSystemProps } from \"./AccordionTypes\";\n\ninterface TypeAccordionContentProps extends TypeAccordionSystemProps {\n children?: React.ReactNode;\n}\n\nexport const AccordionContentHybrid = ({\n children,\n ...rest\n}: TypeAccordionContentProps) => {\n const { styled } = useContext(AccordionContext);\n\n if (needsStyledComponents(rest)) {\n // Styled-components branch — identical to the legacy AccordionContent body.\n return (\n <StyledRadixAccordionContent data-styled={styled}>\n <ContentContainer data-styled={styled} {...rest}>\n {children}\n </ContentContainer>\n </StyledRadixAccordionContent>\n );\n }\n\n // Tailwind path (preferred — no styled-components runtime).\n return (\n <AccordionContentTailwind {...rest}>{children}</AccordionContentTailwind>\n );\n};\n","import styled, { css } from \"styled-components\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport {\n BORDER,\n COMMON,\n FLEXBOX,\n LAYOUT,\n TYPOGRAPHY,\n} from \"@sproutsocial/seeds-react-system-props\";\nimport { type TypeAccordionSystemProps } from \"./AccordionTypes\";\n\ninterface StyledAccordionProps extends TypeAccordionSystemProps {\n $styled?: boolean;\n}\n\nexport const StyledAccordionItem = styled(RadixAccordion.Item)``;\n\nconst animations = css`\n @keyframes slideDown {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n }\n\n @keyframes slideUp {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n }\n`;\n\nexport const StyledRadixAccordionContent = styled(\n RadixAccordion.Content\n)<StyledAccordionProps>`\n ${animations}\n\n overflow: hidden;\n\n &[data-state=\"open\"] {\n animation: slideDown 300ms ease-in-out;\n }\n\n &[data-state=\"closed\"] {\n animation: slideUp 300ms ease-in-out;\n }\n\n &[data-styled=\"true\"] {\n border-left: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n border-right: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n background: ${({ theme }) => theme.colors.container.background.base};\n }\n\n .accordion-item:last-child[data-state=\"open\"] &[data-styled=\"true\"],\n .accordion-item:last-child[data-state=\"closed\"] &[data-styled=\"true\"] {\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n border-bottom-left-radius: ${({ theme }) => theme.radii.outer};\n border-bottom-right-radius: ${({ theme }) => theme.radii.outer};\n }\n`;\n\nexport const ContentContainer = styled.div<StyledAccordionProps>`\n color: ${({ theme }) => theme.colors.text.body};\n background: transparent;\n font-family: ${({ theme }) => theme.fontFamily};\n\n &[data-styled=\"true\"] {\n padding: 0 ${({ theme }) => theme.space[400]}\n ${({ theme }) => theme.space[400]};\n ${({ theme }) => theme.typography[200]};\n }\n\n .accordion-item:last-child[data-state=\"open\"] &[data-styled=\"true\"],\n .accordion-item:last-child[data-state=\"closed\"] &[data-styled=\"true\"] {\n border-bottom-left-radius: ${({ theme }) => theme.radii.outer};\n border-bottom-right-radius: ${({ theme }) => theme.radii.outer};\n }\n\n ${COMMON}\n ${TYPOGRAPHY}\n ${BORDER}\n\t${LAYOUT}\n\t${FLEXBOX}\n`;\n\nexport const TriggerContainer = styled.div<StyledAccordionProps>`\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.colors.text.body};\n ${({ theme }) => theme.typography[200]};\n\n /* Override Text.Headline styles to match original accordion trigger typography */\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: normal;\n line-height: inherit;\n color: inherit;\n }\n\n &[data-styled=\"true\"] {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n color: ${({ theme }) => theme.colors.text.headline};\n }\n }\n\n ${({ $styled, theme }) =>\n $styled &&\n `\n border-top: ${theme.borderWidths[500]} solid ${theme.colors.container.border.base};\n border-left: ${theme.borderWidths[500]} solid ${theme.colors.container.border.base};\n border-right: ${theme.borderWidths[500]} solid ${theme.colors.container.border.base};\n background: ${theme.colors.container.background.base};\n `}\n\n .accordion-item[data-state=\"open\"] &[data-styled=\"true\"] {\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid transparent`};\n }\n\n .accordion-item[data-state=\"closed\"] &[data-styled=\"true\"] {\n transition: border-bottom-color 0s ease-in-out 0.3s;\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid transparent`};\n }\n\n .accordion-item:first-child &[data-styled=\"true\"] {\n border-top-left-radius: ${({ theme }) => theme.radii.outer};\n border-top-right-radius: ${({ theme }) => theme.radii.outer};\n }\n\n .accordion-item:last-child[data-state=\"closed\"] &[data-styled=\"true\"] {\n transition: border-radius 0s linear 0.3s,\n border-bottom-color 0s ease-in-out 0.3s;\n border-bottom: ${({ theme }) =>\n `${theme.borderWidths[500]} solid ${theme.colors.container.border.base}`};\n border-bottom-left-radius: ${({ theme }) => theme.radii.outer};\n border-bottom-right-radius: ${({ theme }) => theme.radii.outer};\n }\n\n ${COMMON}\n ${BORDER}\n\t${LAYOUT}\n\t${FLEXBOX}\n`;\n","/**\n * Tailwind/CSS-class implementation of AccordionContent.\n * Uses the Seeds accordion CSS classes from accordion.css.\n */\n\nimport React, { useContext } from \"react\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport { AccordionContext } from \"./Accordion\";\nimport { type TypeAccordionSystemProps } from \"./AccordionTypes\";\n\n// Utility for merging class names properly\nfunction cn(\n ...inputs: (string | undefined | null | false | Record<string, boolean>)[]\n): string {\n const classes: string[] = [];\n\n for (const input of inputs) {\n if (!input) continue;\n\n if (typeof input === \"string\") {\n classes.push(input);\n } else if (typeof input === \"object\") {\n for (const [key, value] of Object.entries(input)) {\n if (value) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(\" \");\n}\n\ninterface TypeAccordionContentTailwindProps extends TypeAccordionSystemProps {\n children?: React.ReactNode;\n}\n\nexport const AccordionContentTailwind = ({\n children,\n className,\n ...rest\n}: TypeAccordionContentTailwindProps) => {\n const { styled } = useContext(AccordionContext);\n\n // data-styled is forwarded to the Radix Content element via spread: React\n // component prop types have no data-* index signature, so spreading (which is\n // not subject to excess-property checks) keeps this type-safe. Radix forwards\n // the attribute to the underlying DOM node so the CSS [data-styled] rules fire.\n const contentDataAttrs = { \"data-styled\": styled };\n\n return (\n <RadixAccordion.Content\n className={cn(\"seeds-accordion-content\", className)}\n {...contentDataAttrs}\n >\n <div\n className=\"seeds-accordion-content-inner\"\n data-styled={styled}\n {...(rest as React.HTMLAttributes<HTMLDivElement>)}\n >\n {children}\n </div>\n </RadixAccordion.Content>\n );\n};\n","/**\n * Hybrid AccordionTrigger wrapper.\n * Automatically chooses between the Tailwind and styled-components rendering\n * based on whether styled-system props or a styled() extension are present.\n */\n\nimport { useContext } from \"react\";\nimport { needsStyledComponents } from \"@sproutsocial/seeds-react-system-props\";\nimport { TriggerContainer } from \"./styles\";\nimport { AccordionContext } from \"./Accordion\";\nimport { AccordionTriggerInner } from \"./AccordionTriggerInner\";\nimport { AccordionTriggerTailwind } from \"./AccordionTriggerTailwind\";\nimport { type TypeAccordionTriggerProps } from \"./AccordionTypes\";\n\nexport const AccordionTriggerHybrid = (props: TypeAccordionTriggerProps) => {\n const {\n children,\n leftSlot,\n relatedActions,\n overflowMenu,\n rightSlot,\n title,\n headingLevel = \"h4\",\n ...rest\n } = props;\n const { triggerIcon, triggerPosition, styled } = useContext(AccordionContext);\n\n if (needsStyledComponents(rest)) {\n // Styled-components branch — mirrors the legacy AccordionTrigger exactly:\n // the styled-system props are destructured out and only `color` plus the\n // remaining triggerProps are forwarded to TriggerContainer.\n const {\n color,\n padding,\n paddingBottom,\n paddingTop,\n paddingX,\n paddingY,\n paddingLeft,\n paddingRight,\n p,\n pb,\n pt,\n pr,\n pl,\n px,\n py,\n fontFamily,\n fontSize,\n fontStyle,\n fontWeight,\n lineHeight,\n textAlign,\n ...triggerProps\n } = rest;\n\n return (\n <TriggerContainer\n data-styled={styled}\n $styled={styled}\n data-qa-trigger=\"HERE\"\n color={color}\n {...triggerProps}\n >\n <AccordionTriggerInner\n title={title}\n headingLevel={headingLevel}\n leftSlot={leftSlot}\n rightSlot={rightSlot}\n relatedActions={relatedActions}\n overflowMenu={overflowMenu}\n color={color}\n triggerIcon={triggerIcon}\n triggerPosition={triggerPosition}\n />\n </TriggerContainer>\n );\n }\n\n // Tailwind path (preferred — no styled-components runtime).\n return <AccordionTriggerTailwind {...props} />;\n};\n","import React from \"react\";\nimport { Box } from \"@sproutsocial/seeds-react-box\";\nimport { Button } from \"@sproutsocial/seeds-react-button\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport {\n ActionMenu,\n MenuContent,\n MenuItem,\n MenuGroup,\n MenuToggleButton,\n} from \"@sproutsocial/seeds-react-menu\";\nimport {\n CollapsibleContentHeader,\n type TypeHeadingLevel,\n} from \"@sproutsocial/seeds-react-content-header\";\nimport * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport {\n type TypeRelatedAction,\n type TypeOverflowMenuConfig,\n type TypeAccordionSystemProps,\n} from \"./AccordionTypes\";\n\nconst MAX_RELATED_ACTIONS = 2;\n\n// Wrapper to adapt RadixAccordion.Trigger to the ContentHeader trigger interface\nconst AccordionTriggerWrapper = ({\n children,\n}: {\n children: React.ReactElement;\n}) => <RadixAccordion.Trigger asChild>{children}</RadixAccordion.Trigger>;\n\nexport interface TypeAccordionTriggerInnerProps {\n title: string;\n headingLevel: TypeHeadingLevel;\n leftSlot?: React.ReactNode;\n rightSlot?: React.ReactNode;\n relatedActions?: TypeRelatedAction[];\n overflowMenu?: TypeOverflowMenuConfig;\n color?: TypeAccordionSystemProps[\"color\"];\n triggerIcon: React.ReactElement | null;\n triggerPosition: string;\n}\n\n/**\n * Wrapper-agnostic inner subtree of the accordion trigger (overflow menu,\n * related actions, and CollapsibleContentHeader). Shared by both the\n * styled-components and Tailwind trigger wrappers so they render an identical\n * subtree and guarantee visual parity.\n */\nexport const AccordionTriggerInner = ({\n title,\n headingLevel,\n leftSlot,\n rightSlot,\n relatedActions,\n overflowMenu,\n color,\n triggerIcon,\n triggerPosition,\n}: TypeAccordionTriggerInnerProps) => {\n // Validate and limit related actions\n const validatedActions = relatedActions?.slice(0, MAX_RELATED_ACTIONS);\n\n const shouldRenderActionsBlock = Boolean(overflowMenu || validatedActions);\n\n // Render overflow menu from config\n const renderedOverflowMenu = overflowMenu && (\n <ActionMenu\n menuToggleElement={\n <MenuToggleButton\n aria-label={overflowMenu[\"aria-label\"]}\n appearance=\"unstyled\"\n color={color}\n >\n <Icon name=\"ellipsis-horizontal-outline\" aria-hidden=\"true\" />\n </MenuToggleButton>\n }\n >\n <MenuContent>\n <MenuGroup id=\"overflow-actions\">\n {overflowMenu.items.map((item, index) => {\n const { iconName, id, onClick, children, ...menuItemProps } = item;\n return (\n <MenuItem\n key={id || `overflow-item-${index}`}\n id={id || `overflow-item-${index}`}\n onClick={onClick}\n {...menuItemProps}\n >\n {iconName ? (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n gap=\"300\"\n color={color}\n >\n <Icon name={iconName} />\n {children}\n </Box>\n ) : (\n children\n )}\n </MenuItem>\n );\n })}\n </MenuGroup>\n </MenuContent>\n </ActionMenu>\n );\n\n // Render related actions from config\n const renderedRelatedActions = validatedActions &&\n validatedActions.length > 0 && (\n <Box display=\"flex\">\n {validatedActions.map((action, index) => (\n <Button\n key={`${action.iconName}-${index}`}\n onClick={action.onClick}\n aria-label={action[\"aria-label\"]}\n color={color}\n >\n <Icon name={action.iconName} aria-hidden=\"true\" />\n </Button>\n ))}\n </Box>\n );\n\n // Compose actions into a single ReactNode for ContentHeader\n const renderedActions = shouldRenderActionsBlock ? (\n <Box mr={300} display=\"flex\">\n {renderedOverflowMenu}\n {renderedRelatedActions}\n </Box>\n ) : undefined;\n\n return (\n <CollapsibleContentHeader\n title={title}\n headingLevel={headingLevel}\n leftSlot={leftSlot}\n rightSlot={rightSlot}\n headerActions={renderedActions}\n trigger={AccordionTriggerWrapper}\n triggerPosition={triggerPosition as \"left\" | \"right\"}\n triggerIcon={triggerIcon}\n bordered={false}\n />\n );\n};\n","/**\n * Tailwind/CSS-class implementation of the AccordionTrigger wrapper.\n * Uses the Seeds accordion CSS classes from accordion.css.\n */\n\nimport React, { useContext } from \"react\";\nimport { AccordionContext } from \"./Accordion\";\nimport { AccordionTriggerInner } from \"./AccordionTriggerInner\";\nimport { type TypeAccordionTriggerProps } from \"./AccordionTypes\";\n\n// Utility for merging class names properly\nfunction cn(\n ...inputs: (string | undefined | null | false | Record<string, boolean>)[]\n): string {\n const classes: string[] = [];\n\n for (const input of inputs) {\n if (!input) continue;\n\n if (typeof input === \"string\") {\n classes.push(input);\n } else if (typeof input === \"object\") {\n for (const [key, value] of Object.entries(input)) {\n if (value) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(\" \");\n}\n\nexport const AccordionTriggerTailwind = ({\n children,\n leftSlot,\n relatedActions,\n overflowMenu,\n rightSlot,\n title,\n headingLevel = \"h4\",\n className,\n // In the Tailwind path the hybrid gate guarantees no styled-system props are\n // present. `color` is still pulled out so it is forwarded to the inner content\n // (overflow menu / related actions) but not onto the wrapper div.\n color,\n ...triggerProps\n}: TypeAccordionTriggerProps) => {\n const { triggerIcon, triggerPosition, styled } = useContext(AccordionContext);\n\n return (\n <div\n className={cn(\"seeds-accordion-trigger\", className)}\n data-styled={styled}\n data-qa-trigger=\"HERE\"\n {...(triggerProps as React.HTMLAttributes<HTMLDivElement>)}\n >\n <AccordionTriggerInner\n title={title}\n headingLevel={headingLevel}\n leftSlot={leftSlot}\n rightSlot={rightSlot}\n relatedActions={relatedActions}\n overflowMenu={overflowMenu}\n color={color}\n triggerIcon={triggerIcon}\n triggerPosition={triggerPosition}\n />\n </div>\n );\n};\n","import { type TypeAccordionTriggerProps } from \"./AccordionTypes\";\nimport { AccordionTriggerHybrid } from \"./AccordionTriggerHybrid\";\n\n/**\n * AccordionTrigger. Automatically routes between the Tailwind implementation\n * (preferred) and the styled-components implementation (for consumers using\n * system props or a styled() extension).\n */\nexport const AccordionTrigger = (props: TypeAccordionTriggerProps) => (\n <AccordionTriggerHybrid {...props} />\n);\n"],"mappings":"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","names":["import_seeds_react_icon","styled","React","isControlled","RadixAccordion","import_jsx_runtime","import_react","import_react","import_seeds_react_system_props","RadixAccordion","import_seeds_react_system_props","styled","import_react","RadixAccordion","import_jsx_runtime","styled","import_jsx_runtime","styled","import_jsx_runtime","import_react","import_seeds_react_system_props","import_react","import_seeds_react_icon","import_seeds_react_menu","import_seeds_react_content_header","RadixAccordion","import_jsx_runtime","import_react","import_jsx_runtime","cn","styled","import_jsx_runtime","styled","import_jsx_runtime"]}
|
package/package.json
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sproutsocial/seeds-react-accordion",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.46",
|
|
4
4
|
"description": "Seeds React Accordion",
|
|
5
5
|
"author": "Sprout Social, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"module": "dist/esm/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"import": "./dist/esm/index.js",
|
|
16
|
+
"require": "./dist/index.js",
|
|
17
|
+
"types": "./dist/index.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./dist/accordion.css": "./dist/accordion.css"
|
|
20
|
+
},
|
|
10
21
|
"scripts": {
|
|
11
|
-
"build": "tsup --dts",
|
|
12
|
-
"build:debug": "tsup --dts --metafile",
|
|
22
|
+
"build": "tsup --dts && cp src/accordion.css dist/accordion.css",
|
|
23
|
+
"build:debug": "tsup --dts --metafile && cp src/accordion.css dist/accordion.css",
|
|
13
24
|
"dev": "tsup --watch --dts",
|
|
14
25
|
"clean": "rm -rf .turbo dist",
|
|
15
26
|
"clean:modules": "rm -rf node_modules",
|
|
@@ -19,13 +30,13 @@
|
|
|
19
30
|
},
|
|
20
31
|
"dependencies": {
|
|
21
32
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
22
|
-
"@sproutsocial/seeds-react-theme": "^
|
|
23
|
-
"@sproutsocial/seeds-react-system-props": "^3.
|
|
24
|
-
"@sproutsocial/seeds-react-box": "^1.1.
|
|
25
|
-
"@sproutsocial/seeds-react-content-header": "^0.2.
|
|
26
|
-
"@sproutsocial/seeds-react-button": "^2.
|
|
27
|
-
"@sproutsocial/seeds-react-icon": "^2.
|
|
28
|
-
"@sproutsocial/seeds-react-menu": "^1.
|
|
33
|
+
"@sproutsocial/seeds-react-theme": "^4.1.0",
|
|
34
|
+
"@sproutsocial/seeds-react-system-props": "^3.1.1",
|
|
35
|
+
"@sproutsocial/seeds-react-box": "^1.1.21",
|
|
36
|
+
"@sproutsocial/seeds-react-content-header": "^0.2.19",
|
|
37
|
+
"@sproutsocial/seeds-react-button": "^2.2.1",
|
|
38
|
+
"@sproutsocial/seeds-react-icon": "^2.4.0",
|
|
39
|
+
"@sproutsocial/seeds-react-menu": "^1.15.10",
|
|
29
40
|
"styled-system": "^5.1.5"
|
|
30
41
|
},
|
|
31
42
|
"devDependencies": {
|
package/.eslintignore
DELETED
package/.eslintrc.js
DELETED