@cerberus-design/react 0.16.0-next-004ae01 → 0.16.0-next-7f1fa64
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/build/legacy/_tsup-dts-rollup.d.cts +104 -112
- package/build/legacy/components/accordion/index.cjs +178 -0
- package/build/legacy/components/accordion/index.cjs.map +1 -0
- package/build/legacy/components/accordion/item-group.cjs +166 -0
- package/build/legacy/components/accordion/item-group.cjs.map +1 -0
- package/build/legacy/components/accordion/item-indicator.cjs +114 -0
- package/build/legacy/components/accordion/item-indicator.cjs.map +1 -0
- package/build/legacy/components/accordion/parts.cjs +91 -0
- package/build/legacy/components/accordion/parts.cjs.map +1 -0
- package/build/legacy/components/{Accordion.cjs → accordion/primitives.cjs} +35 -32
- package/build/legacy/components/accordion/primitives.cjs.map +1 -0
- package/build/legacy/index.cjs +471 -473
- package/build/legacy/index.cjs.map +1 -1
- package/build/modern/_tsup-dts-rollup.d.ts +104 -112
- package/build/modern/{chunk-RHCTPSKT.js → chunk-2KPSUYFL.js} +4 -4
- package/build/modern/{chunk-6I2FW4WI.js → chunk-32M5JS5F.js} +5 -5
- package/build/modern/{chunk-FBS7AX76.js → chunk-3J5D3O6Z.js} +5 -5
- package/build/modern/chunk-6OJ27QWV.js +21 -0
- package/build/modern/chunk-6OJ27QWV.js.map +1 -0
- package/build/modern/{chunk-RKVY2HJ3.js → chunk-AAGQR6B4.js} +4 -4
- package/build/modern/chunk-CPNKDKC2.js +64 -0
- package/build/modern/chunk-CPNKDKC2.js.map +1 -0
- package/build/modern/chunk-FWVFM7RK.js +38 -0
- package/build/modern/chunk-FWVFM7RK.js.map +1 -0
- package/build/modern/chunk-R2V75WU6.js +1 -0
- package/build/modern/{chunk-R7MPDSXX.js → chunk-R662TP4N.js} +5 -5
- package/build/modern/{chunk-LT62577B.js → chunk-R7IDIIST.js} +2 -2
- package/build/modern/{chunk-VSTOSLFS.js → chunk-VNPLKMEM.js} +4 -4
- package/build/modern/{chunk-U5XRQ2JZ.js → chunk-WA3QADO4.js} +4 -4
- package/build/modern/chunk-XBDEIBW2.js +21 -0
- package/build/modern/chunk-XBDEIBW2.js.map +1 -0
- package/build/modern/{chunk-QQCB6JXW.js → chunk-XTIIAYPU.js} +4 -4
- package/build/modern/{chunk-VTQ6RW3Z.js → chunk-Z6EXPMTS.js} +3 -3
- package/build/modern/components/DatePicker.client.js +3 -3
- package/build/modern/components/FileStatus.js +6 -6
- package/build/modern/components/accordion/index.js +31 -0
- package/build/modern/components/accordion/item-group.js +16 -0
- package/build/modern/components/accordion/item-indicator.js +11 -0
- package/build/modern/components/accordion/item-indicator.js.map +1 -0
- package/build/modern/components/accordion/parts.js +8 -0
- package/build/modern/components/accordion/parts.js.map +1 -0
- package/build/modern/components/accordion/primitives.js +15 -0
- package/build/modern/components/accordion/primitives.js.map +1 -0
- package/build/modern/components/combobox/index.js +3 -3
- package/build/modern/components/cta-dialog/index.js +2 -2
- package/build/modern/components/cta-dialog/provider.js +2 -2
- package/build/modern/components/deprecated/Label.js +6 -6
- package/build/modern/components/field/field.js +4 -4
- package/build/modern/components/field/index.js +7 -7
- package/build/modern/components/field/parts.js +3 -3
- package/build/modern/components/field/primitives.js +2 -2
- package/build/modern/components/rating/index.js +2 -2
- package/build/modern/components/rating/rating.js +2 -2
- package/build/modern/components/select/index.js +4 -4
- package/build/modern/context/confirm-modal.js +3 -3
- package/build/modern/context/field.js +2 -2
- package/build/modern/context/notification-center.js +3 -3
- package/build/modern/context/prompt-modal.js +8 -8
- package/build/modern/index.js +118 -112
- package/build/modern/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/accordion/index.ts +3 -0
- package/src/components/accordion/item-group.tsx +66 -0
- package/src/components/accordion/item-indicator.tsx +27 -0
- package/src/components/accordion/parts.ts +53 -0
- package/src/components/accordion/primitives.tsx +101 -0
- package/src/index.ts +1 -3
- package/build/legacy/components/Accordion.cjs.map +0 -1
- package/build/legacy/components/Accordion.client.cjs +0 -64
- package/build/legacy/components/Accordion.client.cjs.map +0 -1
- package/build/legacy/components/AccordionItemGroup.cjs +0 -142
- package/build/legacy/components/AccordionItemGroup.cjs.map +0 -1
- package/build/modern/chunk-AZRFYQO7.js +0 -60
- package/build/modern/chunk-AZRFYQO7.js.map +0 -1
- package/build/modern/chunk-WN7TJX6J.js +0 -41
- package/build/modern/chunk-WN7TJX6J.js.map +0 -1
- package/build/modern/chunk-XZGXRRSQ.js +0 -31
- package/build/modern/chunk-XZGXRRSQ.js.map +0 -1
- package/build/modern/components/Accordion.client.js +0 -9
- package/build/modern/components/Accordion.js +0 -13
- package/build/modern/components/AccordionItemGroup.js +0 -11
- package/src/components/Accordion.client.tsx +0 -46
- package/src/components/Accordion.tsx +0 -125
- package/src/components/AccordionItemGroup.tsx +0 -79
- /package/build/modern/{chunk-RHCTPSKT.js.map → chunk-2KPSUYFL.js.map} +0 -0
- /package/build/modern/{chunk-6I2FW4WI.js.map → chunk-32M5JS5F.js.map} +0 -0
- /package/build/modern/{chunk-FBS7AX76.js.map → chunk-3J5D3O6Z.js.map} +0 -0
- /package/build/modern/{chunk-RKVY2HJ3.js.map → chunk-AAGQR6B4.js.map} +0 -0
- /package/build/modern/{components/Accordion.client.js.map → chunk-R2V75WU6.js.map} +0 -0
- /package/build/modern/{chunk-R7MPDSXX.js.map → chunk-R662TP4N.js.map} +0 -0
- /package/build/modern/{chunk-LT62577B.js.map → chunk-R7IDIIST.js.map} +0 -0
- /package/build/modern/{chunk-VSTOSLFS.js.map → chunk-VNPLKMEM.js.map} +0 -0
- /package/build/modern/{chunk-U5XRQ2JZ.js.map → chunk-WA3QADO4.js.map} +0 -0
- /package/build/modern/{chunk-QQCB6JXW.js.map → chunk-XTIIAYPU.js.map} +0 -0
- /package/build/modern/{chunk-VTQ6RW3Z.js.map → chunk-Z6EXPMTS.js.map} +0 -0
- /package/build/modern/components/{Accordion.js.map → accordion/index.js.map} +0 -0
- /package/build/modern/components/{AccordionItemGroup.js.map → accordion/item-group.js.map} +0 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AccordionItemContentProps } from '@ark-ui/react/accordion';
|
|
2
|
+
import { AccordionItemIndicatorProps } from '@ark-ui/react/accordion';
|
|
3
|
+
import { AccordionItemProps } from '@ark-ui/react/accordion';
|
|
4
|
+
import { AccordionItemTriggerProps } from '@ark-ui/react/accordion';
|
|
5
|
+
import { AccordionRootProps } from '@ark-ui/react/accordion';
|
|
2
6
|
import { AccordionVariantProps } from '@cerberus/styled-system/recipes';
|
|
3
7
|
import { Activator } from '@dnd-kit/core';
|
|
4
8
|
import { Activators } from '@dnd-kit/core';
|
|
@@ -238,89 +242,58 @@ import { useSensor } from '@dnd-kit/core';
|
|
|
238
242
|
import { useSensors } from '@dnd-kit/core';
|
|
239
243
|
|
|
240
244
|
/**
|
|
241
|
-
*
|
|
242
|
-
* @
|
|
243
|
-
* @example
|
|
244
|
-
* ```tsx
|
|
245
|
-
* <Accordion>
|
|
246
|
-
* <AccordionItemGroup heading="Item 1 heading" value="one">
|
|
247
|
-
* This is the content
|
|
248
|
-
* </AccordionItemGroup>
|
|
249
|
-
* </Accordion>
|
|
250
|
-
* ```
|
|
245
|
+
* This module contains an abstraction of the AccordionItem components.
|
|
246
|
+
* @module
|
|
251
247
|
*/
|
|
252
|
-
declare
|
|
248
|
+
declare const Accordion: ElementType;
|
|
253
249
|
export { Accordion }
|
|
254
250
|
export { Accordion as Accordion_alias_1 }
|
|
251
|
+
export { Accordion as Accordion_alias_2 }
|
|
255
252
|
|
|
256
253
|
/**
|
|
257
|
-
*
|
|
258
|
-
* @
|
|
259
|
-
* @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
|
|
260
|
-
* @example
|
|
261
|
-
* ```tsx
|
|
262
|
-
* <Accordion>
|
|
263
|
-
* <AccordionItem value="one">
|
|
264
|
-
* <AccordionTrigger>
|
|
265
|
-
* Accordion Item 1
|
|
266
|
-
* <AccordionIndicator />
|
|
267
|
-
* </AccordionTrigger>
|
|
268
|
-
* <AccordionContent>Accordion Item 1 content</AccordionContent>
|
|
269
|
-
* </AccordionItem>
|
|
270
|
-
* </Accordion>
|
|
271
|
-
* ```
|
|
254
|
+
* This module contains the internal AccordionItemIndicator component.
|
|
255
|
+
* @module 'accordion/item-indicator'
|
|
272
256
|
*/
|
|
273
|
-
declare function
|
|
257
|
+
export declare function AccordionChevronItemIndicator(props: AccordionItemIndicatorProps & AccordionVariantProps): JSX_2.Element;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* The primitive item component of the Accordion component.
|
|
261
|
+
*
|
|
262
|
+
* This component returns the Ark `Accordion.Item` component which has a
|
|
263
|
+
* base style using the Cerberus `accordion` recipe that can be overridden.
|
|
264
|
+
*/
|
|
265
|
+
declare function AccordionItem(props: AccordionItemProps & AccordionVariantProps): JSX_2.Element;
|
|
274
266
|
export { AccordionItem }
|
|
275
267
|
export { AccordionItem as AccordionItem_alias_1 }
|
|
268
|
+
export { AccordionItem as AccordionItem_alias_2 }
|
|
276
269
|
|
|
277
270
|
/**
|
|
278
|
-
* The content
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
|
|
283
|
-
* <Accordion>
|
|
284
|
-
* <AccordionItem value="one">
|
|
285
|
-
* <AccordionTrigger>
|
|
286
|
-
* Accordion Item 1
|
|
287
|
-
* <AccordionIndicator />
|
|
288
|
-
* </AccordionTrigger>
|
|
289
|
-
* <AccordionContent>Accordion Item 1 content</AccordionContent>
|
|
290
|
-
* </AccordionItem>
|
|
291
|
-
* </Accordion>
|
|
292
|
-
* ```
|
|
293
|
-
* */
|
|
271
|
+
* The primitive content component of the Accordion component.
|
|
272
|
+
*
|
|
273
|
+
* This component returns the Ark `Accordion.Content` component which has a
|
|
274
|
+
* base style using the Cerberus `accordion` recipe that can be overridden.
|
|
275
|
+
*/
|
|
294
276
|
declare function AccordionItemContent(props: AccordionItemContentProps): JSX_2.Element;
|
|
295
277
|
export { AccordionItemContent }
|
|
296
278
|
export { AccordionItemContent as AccordionItemContent_alias_1 }
|
|
297
|
-
|
|
298
|
-
declare type AccordionItemContentProps = Accordion_2.ItemContentProps & AccordionVariantProps;
|
|
299
|
-
export { AccordionItemContentProps }
|
|
300
|
-
export { AccordionItemContentProps as AccordionItemContentProps_alias_1 }
|
|
279
|
+
export { AccordionItemContent as AccordionItemContent_alias_2 }
|
|
301
280
|
|
|
302
281
|
/**
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
*
|
|
309
|
-
*
|
|
310
|
-
*
|
|
311
|
-
* </AccordionItemGroup>
|
|
312
|
-
* </Accordion>
|
|
313
|
-
* ```
|
|
282
|
+
* The AccordionItemGroup component is an abstraction of the Accordion primitive
|
|
283
|
+
* components which renders an accordion item with a heading and an indicator.
|
|
284
|
+
*
|
|
285
|
+
* It is a wrapper around the `AccordionParts.Item`, `AccordionParts.
|
|
286
|
+
* ItemTrigger`, `AccordionParts.ItemIndicator`, and `AccordionParts.ItemContent` components.
|
|
287
|
+
*
|
|
288
|
+
* @description [Cerberus docs](https://cerberus.digitalu.design/react/accordion)
|
|
289
|
+
* @description [Ark docs](https://ark-ui.com/react/docs/components/accordion)
|
|
314
290
|
*/
|
|
315
|
-
declare function AccordionItemGroup(props:
|
|
291
|
+
declare function AccordionItemGroup(props: AccordionItemGroupProps): JSX_2.Element;
|
|
316
292
|
export { AccordionItemGroup }
|
|
317
293
|
export { AccordionItemGroup as AccordionItemGroup_alias_1 }
|
|
294
|
+
export { AccordionItemGroup as AccordionItemGroup_alias_2 }
|
|
318
295
|
|
|
319
|
-
|
|
320
|
-
* This module contains an abstraction of the AccordionItem components.
|
|
321
|
-
* @module
|
|
322
|
-
*/
|
|
323
|
-
declare interface AccordionItemGroupBaseProps extends Accordion_2.ItemProps {
|
|
296
|
+
declare interface AccordionItemGroupProps extends AccordionItemProps, AccordionVariantProps {
|
|
324
297
|
/**
|
|
325
298
|
* The heading of the accordion item to open and close the content.
|
|
326
299
|
*/
|
|
@@ -330,68 +303,87 @@ declare interface AccordionItemGroupBaseProps extends Accordion_2.ItemProps {
|
|
|
330
303
|
*/
|
|
331
304
|
indicatorPosition?: 'start' | 'end';
|
|
332
305
|
}
|
|
333
|
-
export { AccordionItemGroupBaseProps }
|
|
334
|
-
export { AccordionItemGroupBaseProps as AccordionItemGroupBaseProps_alias_1 }
|
|
335
|
-
|
|
336
|
-
declare type AccordionItemGroupProps = AccordionItemGroupBaseProps & AccordionVariantProps;
|
|
337
306
|
export { AccordionItemGroupProps }
|
|
338
307
|
export { AccordionItemGroupProps as AccordionItemGroupProps_alias_1 }
|
|
308
|
+
export { AccordionItemGroupProps as AccordionItemGroupProps_alias_2 }
|
|
339
309
|
|
|
340
310
|
/**
|
|
341
|
-
* The indicator
|
|
342
|
-
*
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
|
|
346
|
-
* <Accordion>
|
|
347
|
-
* <AccordionItem value="one">
|
|
348
|
-
* <AccordionTrigger>
|
|
349
|
-
* Accordion Item 1
|
|
350
|
-
* <AccordionIndicator />
|
|
351
|
-
* </AccordionTrigger>
|
|
352
|
-
* <AccordionContent>Accordion Item 1 content</AccordionContent>
|
|
353
|
-
* </AccordionItem>
|
|
354
|
-
* </Accordion>
|
|
355
|
-
* ```
|
|
356
|
-
* */
|
|
311
|
+
* The primitive item indicator component of the Accordion component.
|
|
312
|
+
*
|
|
313
|
+
* This component returns the Ark `Accordion.ItemIndicator` component which has
|
|
314
|
+
* a base style using the Cerberus `accordion` recipe that can be overridden.
|
|
315
|
+
*/
|
|
357
316
|
declare function AccordionItemIndicator(props: AccordionItemIndicatorProps): JSX_2.Element;
|
|
358
317
|
export { AccordionItemIndicator }
|
|
359
318
|
export { AccordionItemIndicator as AccordionItemIndicator_alias_1 }
|
|
360
|
-
|
|
361
|
-
declare type AccordionItemIndicatorProps = Accordion_2.ItemIndicatorProps & AccordionVariantProps;
|
|
362
|
-
export { AccordionItemIndicatorProps }
|
|
363
|
-
export { AccordionItemIndicatorProps as AccordionItemIndicatorProps_alias_1 }
|
|
364
|
-
|
|
365
|
-
declare type AccordionItemProps = Accordion_2.ItemProps & AccordionVariantProps;
|
|
319
|
+
export { AccordionItemIndicator as AccordionItemIndicator_alias_2 }
|
|
366
320
|
|
|
367
321
|
/**
|
|
368
|
-
* The trigger
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
* ```tsx
|
|
373
|
-
* <Accordion>
|
|
374
|
-
* <AccordionItem value="one">
|
|
375
|
-
* <AccordionTrigger>
|
|
376
|
-
* Accordion Item 1
|
|
377
|
-
* <AccordionIndicator />
|
|
378
|
-
* </AccordionTrigger>
|
|
379
|
-
* <AccordionContent>Accordion Item 1 content</AccordionContent>
|
|
380
|
-
* </AccordionItem>
|
|
381
|
-
* </Accordion>
|
|
382
|
-
* ```
|
|
322
|
+
* The primitive trigger component of the Accordion component.
|
|
323
|
+
*
|
|
324
|
+
* This component returns the Ark `Accordion.ItemTrigger` component which has
|
|
325
|
+
* a base style using the Cerberus `accordion` recipe that can be overridden.
|
|
383
326
|
*/
|
|
384
327
|
declare function AccordionItemTrigger(props: AccordionItemTriggerProps): JSX_2.Element;
|
|
385
328
|
export { AccordionItemTrigger }
|
|
386
329
|
export { AccordionItemTrigger as AccordionItemTrigger_alias_1 }
|
|
330
|
+
export { AccordionItemTrigger as AccordionItemTrigger_alias_2 }
|
|
387
331
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
332
|
+
/**
|
|
333
|
+
* An Object containing the parts of the Accordion component. For users that
|
|
334
|
+
* prefer Object component syntax.
|
|
335
|
+
*
|
|
336
|
+
* @remarks
|
|
337
|
+
*
|
|
338
|
+
* When using object component syntax, you import the AccordionParts object and
|
|
339
|
+
* the entire family of components vs. only what you use.
|
|
340
|
+
*/
|
|
341
|
+
declare const AccordionParts: AccordionPartsValue;
|
|
342
|
+
export { AccordionParts }
|
|
343
|
+
export { AccordionParts as AccordionParts_alias_1 }
|
|
344
|
+
export { AccordionParts as AccordionParts_alias_2 }
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* This module contains the parts of the Accordion component.
|
|
348
|
+
* @module 'accordion/parts'
|
|
349
|
+
*/
|
|
350
|
+
declare interface AccordionPartsValue {
|
|
351
|
+
/**
|
|
352
|
+
* The context provider of the accordion.
|
|
353
|
+
*/
|
|
354
|
+
Root: ElementType;
|
|
355
|
+
/**
|
|
356
|
+
* The item of the accordion.
|
|
357
|
+
*/
|
|
358
|
+
Item: ElementType;
|
|
359
|
+
/**
|
|
360
|
+
* The trigger of the accordion item.
|
|
361
|
+
*/
|
|
362
|
+
ItemTrigger: ElementType;
|
|
363
|
+
/**
|
|
364
|
+
* The content of the accordion item.
|
|
365
|
+
*/
|
|
366
|
+
ItemContent: ElementType;
|
|
367
|
+
/**
|
|
368
|
+
* The indicator of the accordion item.
|
|
369
|
+
*/
|
|
370
|
+
ItemIndicator: ElementType;
|
|
371
|
+
}
|
|
391
372
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
373
|
+
/**
|
|
374
|
+
* This module contains the primitives of the Accordion component.
|
|
375
|
+
* @module 'accordion/primitives'
|
|
376
|
+
*/
|
|
377
|
+
/**
|
|
378
|
+
* The primitive root component of the Accordion component.
|
|
379
|
+
*
|
|
380
|
+
* This component returns the Ark `Accordion.Root` component which has a
|
|
381
|
+
* base style using the Cerberus `accordion` recipe that can be overridden.
|
|
382
|
+
*/
|
|
383
|
+
declare function AccordionRoot(props: AccordionRootProps & AccordionVariantProps): JSX_2.Element;
|
|
384
|
+
export { AccordionRoot }
|
|
385
|
+
export { AccordionRoot as AccordionRoot_alias_1 }
|
|
386
|
+
export { AccordionRoot as AccordionRoot_alias_2 }
|
|
395
387
|
|
|
396
388
|
export { Activator }
|
|
397
389
|
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/accordion/index.ts
|
|
21
|
+
var accordion_exports = {};
|
|
22
|
+
__export(accordion_exports, {
|
|
23
|
+
Accordion: () => Accordion2,
|
|
24
|
+
AccordionItem: () => AccordionItem,
|
|
25
|
+
AccordionItemContent: () => AccordionItemContent,
|
|
26
|
+
AccordionItemGroup: () => AccordionItemGroup,
|
|
27
|
+
AccordionItemIndicator: () => AccordionItemIndicator,
|
|
28
|
+
AccordionItemTrigger: () => AccordionItemTrigger,
|
|
29
|
+
AccordionParts: () => AccordionParts,
|
|
30
|
+
AccordionRoot: () => AccordionRoot
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(accordion_exports);
|
|
33
|
+
|
|
34
|
+
// src/components/accordion/primitives.tsx
|
|
35
|
+
var import_accordion = require("@ark-ui/react/accordion");
|
|
36
|
+
var import_css = require("@cerberus/styled-system/css");
|
|
37
|
+
var import_recipes = require("@cerberus/styled-system/recipes");
|
|
38
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
|
+
function AccordionRoot(props) {
|
|
40
|
+
const { size, ...rootProps } = props;
|
|
41
|
+
const styles = (0, import_recipes.accordion)({ size });
|
|
42
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
43
|
+
import_accordion.Accordion.Root,
|
|
44
|
+
{
|
|
45
|
+
...props,
|
|
46
|
+
className: (0, import_css.cx)(styles.root, rootProps.className),
|
|
47
|
+
"data-size": size
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
function AccordionItem(props) {
|
|
52
|
+
const styles = (0, import_recipes.accordion)();
|
|
53
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.Accordion.Item, { ...props, className: (0, import_css.cx)(styles.item, props.className) });
|
|
54
|
+
}
|
|
55
|
+
function AccordionItemTrigger(props) {
|
|
56
|
+
const styles = (0, import_recipes.accordion)();
|
|
57
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
58
|
+
import_accordion.Accordion.ItemTrigger,
|
|
59
|
+
{
|
|
60
|
+
...props,
|
|
61
|
+
className: (0, import_css.cx)(styles.itemTrigger, props.className)
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
function AccordionItemIndicator(props) {
|
|
66
|
+
const styles = (0, import_recipes.accordion)();
|
|
67
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
|
+
import_accordion.Accordion.ItemIndicator,
|
|
69
|
+
{
|
|
70
|
+
...props,
|
|
71
|
+
className: (0, import_css.cx)(styles.itemIndicator, props.className)
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
function AccordionItemContent(props) {
|
|
76
|
+
const styles = (0, import_recipes.accordion)();
|
|
77
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
78
|
+
import_accordion.Accordion.ItemContent,
|
|
79
|
+
{
|
|
80
|
+
...props,
|
|
81
|
+
className: (0, import_css.cx)(styles.itemContent, props.className)
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// src/components/accordion/parts.ts
|
|
87
|
+
var AccordionParts = {
|
|
88
|
+
Root: AccordionRoot,
|
|
89
|
+
Item: AccordionItem,
|
|
90
|
+
ItemTrigger: AccordionItemTrigger,
|
|
91
|
+
ItemContent: AccordionItemContent,
|
|
92
|
+
ItemIndicator: AccordionItemIndicator
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
// src/utils/index.ts
|
|
96
|
+
function splitProps(props, ...keyGroups) {
|
|
97
|
+
const result = keyGroups.map(() => ({}));
|
|
98
|
+
const rest = {};
|
|
99
|
+
for (const key in props) {
|
|
100
|
+
let assigned = false;
|
|
101
|
+
for (let i = 0; i < keyGroups.length; i++) {
|
|
102
|
+
if (keyGroups[i].includes(key)) {
|
|
103
|
+
result[i][key] = props[key];
|
|
104
|
+
assigned = true;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!assigned) {
|
|
109
|
+
rest[key] = props[key];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return [...result, rest];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// src/components/Show.tsx
|
|
116
|
+
var import_react = require("react");
|
|
117
|
+
function Show(props) {
|
|
118
|
+
const { when, children, fallback } = props;
|
|
119
|
+
const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
|
|
120
|
+
return (0, import_react.useMemo)(() => {
|
|
121
|
+
if (condition) return children;
|
|
122
|
+
return fallback ?? null;
|
|
123
|
+
}, [condition, children, fallback]);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// src/context/cerberus.tsx
|
|
127
|
+
var import_react2 = require("react");
|
|
128
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
129
|
+
var CerberusContext = (0, import_react2.createContext)(null);
|
|
130
|
+
function useCerberusContext() {
|
|
131
|
+
const context = (0, import_react2.useContext)(CerberusContext);
|
|
132
|
+
if (!context) {
|
|
133
|
+
throw new Error("useCerberus must be used within a CerberusProvider");
|
|
134
|
+
}
|
|
135
|
+
return context;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// src/components/accordion/item-indicator.tsx
|
|
139
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
140
|
+
function AccordionChevronItemIndicator(props) {
|
|
141
|
+
const { size, ...indicatorProps } = props;
|
|
142
|
+
const iconSize = size === "sm" ? 16 : "24";
|
|
143
|
+
const { icons } = useCerberusContext();
|
|
144
|
+
const { accordionIndicator: ChevronDown } = icons;
|
|
145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionParts.ItemIndicator, { ...indicatorProps, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChevronDown, { size: iconSize }) });
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// src/components/accordion/item-group.tsx
|
|
149
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
150
|
+
var Accordion2 = AccordionParts.Root;
|
|
151
|
+
function AccordionItemGroup(props) {
|
|
152
|
+
const [groupProps, itemProps] = splitProps(props, [
|
|
153
|
+
"heading",
|
|
154
|
+
"children",
|
|
155
|
+
"indicatorPosition"
|
|
156
|
+
]);
|
|
157
|
+
const indicatorPosition = groupProps.indicatorPosition ?? "end";
|
|
158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(AccordionParts.Item, { ...itemProps, children: [
|
|
159
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(AccordionParts.ItemTrigger, { "data-indicator-position": indicatorPosition, children: [
|
|
160
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Show, { when: indicatorPosition === "start", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionChevronItemIndicator, {}) }),
|
|
161
|
+
groupProps.heading,
|
|
162
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Show, { when: indicatorPosition === "end", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionChevronItemIndicator, {}) })
|
|
163
|
+
] }),
|
|
164
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionParts.ItemContent, { children: groupProps.children })
|
|
165
|
+
] });
|
|
166
|
+
}
|
|
167
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
168
|
+
0 && (module.exports = {
|
|
169
|
+
Accordion,
|
|
170
|
+
AccordionItem,
|
|
171
|
+
AccordionItemContent,
|
|
172
|
+
AccordionItemGroup,
|
|
173
|
+
AccordionItemIndicator,
|
|
174
|
+
AccordionItemTrigger,
|
|
175
|
+
AccordionParts,
|
|
176
|
+
AccordionRoot
|
|
177
|
+
});
|
|
178
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/accordion/index.ts","../../../../src/components/accordion/primitives.tsx","../../../../src/components/accordion/parts.ts","../../../../src/utils/index.ts","../../../../src/components/Show.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/accordion/item-indicator.tsx","../../../../src/components/accordion/item-group.tsx"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\nexport * from './item-group'\n","import {\n Accordion,\n type AccordionItemContentProps,\n type AccordionItemIndicatorProps,\n type AccordionItemProps,\n type AccordionItemTriggerProps,\n type AccordionRootProps,\n} from '@ark-ui/react/accordion'\nimport { cx } from '@cerberus/styled-system/css'\nimport {\n accordion,\n type AccordionVariantProps,\n} from '@cerberus/styled-system/recipes'\n\n/**\n * This module contains the primitives of the Accordion component.\n * @module 'accordion/primitives'\n */\n\n/**\n * The primitive root component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Root` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport function AccordionRoot(\n props: AccordionRootProps & AccordionVariantProps,\n) {\n const { size, ...rootProps } = props\n const styles = accordion({ size })\n return (\n <Accordion.Root\n {...props}\n className={cx(styles.root, rootProps.className)}\n data-size={size}\n />\n )\n}\n\n/**\n * The primitive item component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Item` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport function AccordionItem(\n props: AccordionItemProps & AccordionVariantProps,\n) {\n const styles = accordion()\n return (\n <Accordion.Item {...props} className={cx(styles.item, props.className)} />\n )\n}\n\n/**\n * The primitive trigger component of the Accordion component.\n *\n * This component returns the Ark `Accordion.ItemTrigger` component which has\n * a base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport function AccordionItemTrigger(props: AccordionItemTriggerProps) {\n const styles = accordion()\n return (\n <Accordion.ItemTrigger\n {...props}\n className={cx(styles.itemTrigger, props.className)}\n />\n )\n}\n\n/**\n * The primitive item indicator component of the Accordion component.\n *\n * This component returns the Ark `Accordion.ItemIndicator` component which has\n * a base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport function AccordionItemIndicator(props: AccordionItemIndicatorProps) {\n const styles = accordion()\n return (\n <Accordion.ItemIndicator\n {...props}\n className={cx(styles.itemIndicator, props.className)}\n />\n )\n}\n\n/**\n * The primitive content component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Content` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport function AccordionItemContent(props: AccordionItemContentProps) {\n const styles = accordion()\n return (\n <Accordion.ItemContent\n {...props}\n className={cx(styles.itemContent, props.className)}\n />\n )\n}\n","import type { ElementType } from 'react'\nimport {\n AccordionItem,\n AccordionItemContent,\n AccordionItemIndicator,\n AccordionItemTrigger,\n AccordionRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Accordion component.\n * @module 'accordion/parts'\n */\n\ninterface AccordionPartsValue {\n /**\n * The context provider of the accordion.\n */\n Root: ElementType\n /**\n * The item of the accordion.\n */\n Item: ElementType\n /**\n * The trigger of the accordion item.\n */\n ItemTrigger: ElementType\n /**\n * The content of the accordion item.\n */\n ItemContent: ElementType\n /**\n * The indicator of the accordion item.\n */\n ItemIndicator: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AccordionParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AccordionParts: AccordionPartsValue = {\n Root: AccordionRoot,\n Item: AccordionItem,\n ItemTrigger: AccordionItemTrigger,\n ItemContent: AccordionItemContent,\n ItemIndicator: AccordionItemIndicator,\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","'use client'\n\nimport { useMemo, type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show(props: PropsWithChildren<ShowProps>): ReactNode {\n const { when, children, fallback } = props\n const condition = useMemo(() => when ?? false, [when])\n\n return useMemo(() => {\n if (condition) return children\n return fallback ?? null\n }, [condition, children, fallback])\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","'use client'\n\nimport { type AccordionItemIndicatorProps } from '@ark-ui/react/accordion'\nimport { type AccordionVariantProps } from '@cerberus/styled-system/recipes'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { AccordionParts } from './parts'\n\n/**\n * This module contains the internal AccordionItemIndicator component.\n * @module 'accordion/item-indicator'\n */\n\nexport function AccordionChevronItemIndicator(\n props: AccordionItemIndicatorProps & AccordionVariantProps,\n) {\n const { size, ...indicatorProps } = props\n const iconSize = size === 'sm' ? 16 : '24'\n\n const { icons } = useCerberusContext()\n const { accordionIndicator: ChevronDown } = icons\n\n return (\n <AccordionParts.ItemIndicator {...indicatorProps}>\n <ChevronDown size={iconSize} />\n </AccordionParts.ItemIndicator>\n )\n}\n","import type { AccordionItemProps } from '@ark-ui/react/accordion'\nimport { type AccordionVariantProps } from '@cerberus/styled-system/recipes'\nimport { splitProps } from '../../utils/index'\nimport { Show } from '../Show'\nimport { AccordionParts } from './parts'\nimport { AccordionChevronItemIndicator } from './item-indicator'\n\n/**\n * This module contains an abstraction of the AccordionItem components.\n * @module\n */\n\n// We are only exposing this to keep the API consistent\nexport const Accordion = AccordionParts.Root\n\nexport interface AccordionItemGroupProps\n extends AccordionItemProps,\n AccordionVariantProps {\n /**\n * The heading of the accordion item to open and close the content.\n */\n heading: string\n /**\n * The position of the arrow indicator.\n */\n indicatorPosition?: 'start' | 'end'\n}\n\n/**\n * The AccordionItemGroup component is an abstraction of the Accordion primitive\n * components which renders an accordion item with a heading and an indicator.\n *\n * It is a wrapper around the `AccordionParts.Item`, `AccordionParts.\n * ItemTrigger`, `AccordionParts.ItemIndicator`, and `AccordionParts.ItemContent` components.\n *\n * @description [Cerberus docs](https://cerberus.digitalu.design/react/accordion)\n * @description [Ark docs](https://ark-ui.com/react/docs/components/accordion)\n */\nexport function AccordionItemGroup(props: AccordionItemGroupProps) {\n const [groupProps, itemProps] = splitProps(props, [\n 'heading',\n 'children',\n 'indicatorPosition',\n ])\n const indicatorPosition = groupProps.indicatorPosition ?? 'end'\n\n return (\n <AccordionParts.Item {...itemProps}>\n <AccordionParts.ItemTrigger data-indicator-position={indicatorPosition}>\n <Show when={indicatorPosition === 'start'}>\n <AccordionChevronItemIndicator />\n </Show>\n\n {groupProps.heading}\n\n <Show when={indicatorPosition === 'end'}>\n <AccordionChevronItemIndicator />\n </Show>\n </AccordionParts.ItemTrigger>\n\n <AccordionParts.ItemContent>\n {groupProps.children}\n </AccordionParts.ItemContent>\n </AccordionParts.Item>\n )\n}\n"],"mappings":"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","names":["Accordion","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Accordion"]}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/accordion/item-group.tsx
|
|
21
|
+
var item_group_exports = {};
|
|
22
|
+
__export(item_group_exports, {
|
|
23
|
+
Accordion: () => Accordion2,
|
|
24
|
+
AccordionItemGroup: () => AccordionItemGroup
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(item_group_exports);
|
|
27
|
+
|
|
28
|
+
// src/utils/index.ts
|
|
29
|
+
function splitProps(props, ...keyGroups) {
|
|
30
|
+
const result = keyGroups.map(() => ({}));
|
|
31
|
+
const rest = {};
|
|
32
|
+
for (const key in props) {
|
|
33
|
+
let assigned = false;
|
|
34
|
+
for (let i = 0; i < keyGroups.length; i++) {
|
|
35
|
+
if (keyGroups[i].includes(key)) {
|
|
36
|
+
result[i][key] = props[key];
|
|
37
|
+
assigned = true;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (!assigned) {
|
|
42
|
+
rest[key] = props[key];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return [...result, rest];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// src/components/Show.tsx
|
|
49
|
+
var import_react = require("react");
|
|
50
|
+
function Show(props) {
|
|
51
|
+
const { when, children, fallback } = props;
|
|
52
|
+
const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
|
|
53
|
+
return (0, import_react.useMemo)(() => {
|
|
54
|
+
if (condition) return children;
|
|
55
|
+
return fallback ?? null;
|
|
56
|
+
}, [condition, children, fallback]);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// src/components/accordion/primitives.tsx
|
|
60
|
+
var import_accordion = require("@ark-ui/react/accordion");
|
|
61
|
+
var import_css = require("@cerberus/styled-system/css");
|
|
62
|
+
var import_recipes = require("@cerberus/styled-system/recipes");
|
|
63
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
64
|
+
function AccordionRoot(props) {
|
|
65
|
+
const { size, ...rootProps } = props;
|
|
66
|
+
const styles = (0, import_recipes.accordion)({ size });
|
|
67
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
|
+
import_accordion.Accordion.Root,
|
|
69
|
+
{
|
|
70
|
+
...props,
|
|
71
|
+
className: (0, import_css.cx)(styles.root, rootProps.className),
|
|
72
|
+
"data-size": size
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
function AccordionItem(props) {
|
|
77
|
+
const styles = (0, import_recipes.accordion)();
|
|
78
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.Accordion.Item, { ...props, className: (0, import_css.cx)(styles.item, props.className) });
|
|
79
|
+
}
|
|
80
|
+
function AccordionItemTrigger(props) {
|
|
81
|
+
const styles = (0, import_recipes.accordion)();
|
|
82
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
|
+
import_accordion.Accordion.ItemTrigger,
|
|
84
|
+
{
|
|
85
|
+
...props,
|
|
86
|
+
className: (0, import_css.cx)(styles.itemTrigger, props.className)
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
function AccordionItemIndicator(props) {
|
|
91
|
+
const styles = (0, import_recipes.accordion)();
|
|
92
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
93
|
+
import_accordion.Accordion.ItemIndicator,
|
|
94
|
+
{
|
|
95
|
+
...props,
|
|
96
|
+
className: (0, import_css.cx)(styles.itemIndicator, props.className)
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
function AccordionItemContent(props) {
|
|
101
|
+
const styles = (0, import_recipes.accordion)();
|
|
102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
103
|
+
import_accordion.Accordion.ItemContent,
|
|
104
|
+
{
|
|
105
|
+
...props,
|
|
106
|
+
className: (0, import_css.cx)(styles.itemContent, props.className)
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// src/components/accordion/parts.ts
|
|
112
|
+
var AccordionParts = {
|
|
113
|
+
Root: AccordionRoot,
|
|
114
|
+
Item: AccordionItem,
|
|
115
|
+
ItemTrigger: AccordionItemTrigger,
|
|
116
|
+
ItemContent: AccordionItemContent,
|
|
117
|
+
ItemIndicator: AccordionItemIndicator
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// src/context/cerberus.tsx
|
|
121
|
+
var import_react2 = require("react");
|
|
122
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
123
|
+
var CerberusContext = (0, import_react2.createContext)(null);
|
|
124
|
+
function useCerberusContext() {
|
|
125
|
+
const context = (0, import_react2.useContext)(CerberusContext);
|
|
126
|
+
if (!context) {
|
|
127
|
+
throw new Error("useCerberus must be used within a CerberusProvider");
|
|
128
|
+
}
|
|
129
|
+
return context;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// src/components/accordion/item-indicator.tsx
|
|
133
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
134
|
+
function AccordionChevronItemIndicator(props) {
|
|
135
|
+
const { size, ...indicatorProps } = props;
|
|
136
|
+
const iconSize = size === "sm" ? 16 : "24";
|
|
137
|
+
const { icons } = useCerberusContext();
|
|
138
|
+
const { accordionIndicator: ChevronDown } = icons;
|
|
139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionParts.ItemIndicator, { ...indicatorProps, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChevronDown, { size: iconSize }) });
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// src/components/accordion/item-group.tsx
|
|
143
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
144
|
+
var Accordion2 = AccordionParts.Root;
|
|
145
|
+
function AccordionItemGroup(props) {
|
|
146
|
+
const [groupProps, itemProps] = splitProps(props, [
|
|
147
|
+
"heading",
|
|
148
|
+
"children",
|
|
149
|
+
"indicatorPosition"
|
|
150
|
+
]);
|
|
151
|
+
const indicatorPosition = groupProps.indicatorPosition ?? "end";
|
|
152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(AccordionParts.Item, { ...itemProps, children: [
|
|
153
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(AccordionParts.ItemTrigger, { "data-indicator-position": indicatorPosition, children: [
|
|
154
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Show, { when: indicatorPosition === "start", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionChevronItemIndicator, {}) }),
|
|
155
|
+
groupProps.heading,
|
|
156
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Show, { when: indicatorPosition === "end", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionChevronItemIndicator, {}) })
|
|
157
|
+
] }),
|
|
158
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(AccordionParts.ItemContent, { children: groupProps.children })
|
|
159
|
+
] });
|
|
160
|
+
}
|
|
161
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
162
|
+
0 && (module.exports = {
|
|
163
|
+
Accordion,
|
|
164
|
+
AccordionItemGroup
|
|
165
|
+
});
|
|
166
|
+
//# sourceMappingURL=item-group.cjs.map
|