@cerberus-design/react 0.16.0-next-ba05f96 → 0.16.0-next-d049636

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +198 -160
  2. package/build/legacy/components/accordion/index.cjs +178 -0
  3. package/build/legacy/components/accordion/index.cjs.map +1 -0
  4. package/build/legacy/components/accordion/item-group.cjs +166 -0
  5. package/build/legacy/components/accordion/item-group.cjs.map +1 -0
  6. package/build/legacy/components/accordion/item-indicator.cjs +114 -0
  7. package/build/legacy/components/accordion/item-indicator.cjs.map +1 -0
  8. package/build/legacy/components/accordion/parts.cjs +91 -0
  9. package/build/legacy/components/accordion/parts.cjs.map +1 -0
  10. package/build/legacy/components/{Accordion.cjs → accordion/primitives.cjs} +35 -32
  11. package/build/legacy/components/accordion/primitives.cjs.map +1 -0
  12. package/build/legacy/components/admonition/admonition.cjs +314 -0
  13. package/build/legacy/components/admonition/admonition.cjs.map +1 -0
  14. package/build/legacy/components/admonition/index.cjs +326 -0
  15. package/build/legacy/components/admonition/index.cjs.map +1 -0
  16. package/build/legacy/components/{Admonition.client.cjs → admonition/match-avatar.cjs} +61 -65
  17. package/build/legacy/components/admonition/match-avatar.cjs.map +1 -0
  18. package/build/legacy/components/admonition/parts.cjs +88 -0
  19. package/build/legacy/components/admonition/parts.cjs.map +1 -0
  20. package/build/legacy/components/admonition/primitives.cjs +85 -0
  21. package/build/legacy/components/admonition/primitives.cjs.map +1 -0
  22. package/build/legacy/index.cjs +1005 -976
  23. package/build/legacy/index.cjs.map +1 -1
  24. package/build/modern/_tsup-dts-rollup.d.ts +198 -160
  25. package/build/modern/{chunk-RHCTPSKT.js → chunk-2KPSUYFL.js} +4 -4
  26. package/build/modern/chunk-572S5CLA.js +41 -0
  27. package/build/modern/chunk-572S5CLA.js.map +1 -0
  28. package/build/modern/chunk-6OJ27QWV.js +21 -0
  29. package/build/modern/chunk-6OJ27QWV.js.map +1 -0
  30. package/build/modern/{chunk-3B4SFTQB.js → chunk-A45TFOGO.js} +4 -4
  31. package/build/modern/{chunk-RKVY2HJ3.js → chunk-AAGQR6B4.js} +4 -4
  32. package/build/modern/chunk-CPNKDKC2.js +64 -0
  33. package/build/modern/chunk-CPNKDKC2.js.map +1 -0
  34. package/build/modern/{chunk-J7SAFAW3.js → chunk-EKIAT7N7.js} +4 -4
  35. package/build/modern/{chunk-VTQ6RW3Z.js → chunk-EKZENP7X.js} +5 -5
  36. package/build/modern/{chunk-U5XRQ2JZ.js → chunk-EQPYRZ3X.js} +6 -6
  37. package/build/modern/chunk-FWVFM7RK.js +38 -0
  38. package/build/modern/chunk-FWVFM7RK.js.map +1 -0
  39. package/build/modern/{chunk-FBS7AX76.js → chunk-NTU5OYUF.js} +4 -4
  40. package/build/modern/chunk-R2V75WU6.js +1 -0
  41. package/build/modern/chunk-RKGFPKKK.js +59 -0
  42. package/build/modern/chunk-RKGFPKKK.js.map +1 -0
  43. package/build/modern/chunk-RQCJKDXU.js +21 -0
  44. package/build/modern/chunk-RQCJKDXU.js.map +1 -0
  45. package/build/modern/chunk-TM6TVO2D.js +78 -0
  46. package/build/modern/chunk-TM6TVO2D.js.map +1 -0
  47. package/build/modern/chunk-UR2NYAQC.js +1 -0
  48. package/build/modern/chunk-XBDEIBW2.js +21 -0
  49. package/build/modern/chunk-XBDEIBW2.js.map +1 -0
  50. package/build/modern/{chunk-QQCB6JXW.js → chunk-XTIIAYPU.js} +4 -4
  51. package/build/modern/{chunk-R7MPDSXX.js → chunk-XYDJ5TRW.js} +13 -13
  52. package/build/modern/components/DatePicker.client.js +3 -3
  53. package/build/modern/components/FileStatus.js +4 -4
  54. package/build/modern/components/accordion/index.js +31 -0
  55. package/build/modern/components/accordion/item-group.js +16 -0
  56. package/build/modern/components/accordion/item-indicator.js +11 -0
  57. package/build/modern/components/accordion/parts.js +8 -0
  58. package/build/modern/components/accordion/parts.js.map +1 -0
  59. package/build/modern/components/accordion/primitives.js +15 -0
  60. package/build/modern/components/accordion/primitives.js.map +1 -0
  61. package/build/modern/components/admonition/admonition.js +15 -0
  62. package/build/modern/components/admonition/admonition.js.map +1 -0
  63. package/build/modern/components/admonition/index.js +30 -0
  64. package/build/modern/components/admonition/index.js.map +1 -0
  65. package/build/modern/components/admonition/match-avatar.js +11 -0
  66. package/build/modern/components/admonition/match-avatar.js.map +1 -0
  67. package/build/modern/components/admonition/parts.js +8 -0
  68. package/build/modern/components/admonition/parts.js.map +1 -0
  69. package/build/modern/components/admonition/primitives.js +15 -0
  70. package/build/modern/components/admonition/primitives.js.map +1 -0
  71. package/build/modern/components/combobox/combobox.js +2 -2
  72. package/build/modern/components/combobox/index.js +7 -7
  73. package/build/modern/components/cta-dialog/index.js +4 -4
  74. package/build/modern/components/cta-dialog/provider.js +4 -4
  75. package/build/modern/components/deprecated/Label.js +2 -2
  76. package/build/modern/components/field/field.js +2 -2
  77. package/build/modern/components/field/index.js +2 -2
  78. package/build/modern/components/rating/index.js +2 -2
  79. package/build/modern/components/rating/rating.js +2 -2
  80. package/build/modern/components/select/index.js +4 -4
  81. package/build/modern/context/confirm-modal.js +4 -4
  82. package/build/modern/context/notification-center.js +3 -3
  83. package/build/modern/context/prompt-modal.js +12 -12
  84. package/build/modern/index.js +201 -182
  85. package/build/modern/index.js.map +1 -1
  86. package/package.json +2 -2
  87. package/src/components/accordion/index.ts +3 -0
  88. package/src/components/accordion/item-group.tsx +66 -0
  89. package/src/components/accordion/item-indicator.tsx +27 -0
  90. package/src/components/accordion/parts.ts +53 -0
  91. package/src/components/accordion/primitives.tsx +101 -0
  92. package/src/components/admonition/admonition.tsx +65 -0
  93. package/src/components/admonition/index.ts +3 -0
  94. package/src/components/admonition/match-avatar.tsx +84 -0
  95. package/src/components/admonition/parts.ts +53 -0
  96. package/src/components/admonition/primitives.tsx +73 -0
  97. package/src/index.ts +2 -4
  98. package/build/legacy/components/Accordion.cjs.map +0 -1
  99. package/build/legacy/components/Accordion.client.cjs +0 -64
  100. package/build/legacy/components/Accordion.client.cjs.map +0 -1
  101. package/build/legacy/components/AccordionItemGroup.cjs +0 -142
  102. package/build/legacy/components/AccordionItemGroup.cjs.map +0 -1
  103. package/build/legacy/components/Admonition.cjs +0 -273
  104. package/build/legacy/components/Admonition.cjs.map +0 -1
  105. package/build/legacy/components/Admonition.client.cjs.map +0 -1
  106. package/build/modern/chunk-2HOUQ2DX.js +0 -82
  107. package/build/modern/chunk-2HOUQ2DX.js.map +0 -1
  108. package/build/modern/chunk-AZRFYQO7.js +0 -60
  109. package/build/modern/chunk-AZRFYQO7.js.map +0 -1
  110. package/build/modern/chunk-DXBZ3HMY.js +0 -68
  111. package/build/modern/chunk-DXBZ3HMY.js.map +0 -1
  112. package/build/modern/chunk-WN7TJX6J.js +0 -41
  113. package/build/modern/chunk-WN7TJX6J.js.map +0 -1
  114. package/build/modern/chunk-XZGXRRSQ.js +0 -31
  115. package/build/modern/chunk-XZGXRRSQ.js.map +0 -1
  116. package/build/modern/components/Accordion.client.js +0 -9
  117. package/build/modern/components/Accordion.js +0 -13
  118. package/build/modern/components/AccordionItemGroup.js +0 -11
  119. package/build/modern/components/Admonition.client.js +0 -11
  120. package/build/modern/components/Admonition.js +0 -15
  121. package/src/components/Accordion.client.tsx +0 -46
  122. package/src/components/Accordion.tsx +0 -125
  123. package/src/components/AccordionItemGroup.tsx +0 -79
  124. package/src/components/Admonition.client.tsx +0 -73
  125. package/src/components/Admonition.tsx +0 -117
  126. /package/build/modern/{chunk-RHCTPSKT.js.map → chunk-2KPSUYFL.js.map} +0 -0
  127. /package/build/modern/{chunk-3B4SFTQB.js.map → chunk-A45TFOGO.js.map} +0 -0
  128. /package/build/modern/{chunk-RKVY2HJ3.js.map → chunk-AAGQR6B4.js.map} +0 -0
  129. /package/build/modern/{chunk-J7SAFAW3.js.map → chunk-EKIAT7N7.js.map} +0 -0
  130. /package/build/modern/{chunk-VTQ6RW3Z.js.map → chunk-EKZENP7X.js.map} +0 -0
  131. /package/build/modern/{chunk-U5XRQ2JZ.js.map → chunk-EQPYRZ3X.js.map} +0 -0
  132. /package/build/modern/{chunk-FBS7AX76.js.map → chunk-NTU5OYUF.js.map} +0 -0
  133. /package/build/modern/{components/Accordion.client.js.map → chunk-R2V75WU6.js.map} +0 -0
  134. /package/build/modern/{components/Accordion.js.map → chunk-UR2NYAQC.js.map} +0 -0
  135. /package/build/modern/{chunk-QQCB6JXW.js.map → chunk-XTIIAYPU.js.map} +0 -0
  136. /package/build/modern/{chunk-R7MPDSXX.js.map → chunk-XYDJ5TRW.js.map} +0 -0
  137. /package/build/modern/components/{AccordionItemGroup.js.map → accordion/index.js.map} +0 -0
  138. /package/build/modern/components/{Admonition.client.js.map → accordion/item-group.js.map} +0 -0
  139. /package/build/modern/components/{Admonition.js.map → accordion/item-indicator.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/AccordionItemGroup.tsx"],"sourcesContent":["import { Accordion as ArkAccordion } from '@ark-ui/react'\nimport { type AccordionVariantProps } from '@cerberus/styled-system/recipes'\nimport type { PropsWithChildren } from 'react'\nimport { Show } from './Show'\nimport {\n AccordionItem,\n AccordionItemContent,\n AccordionItemTrigger,\n} from './Accordion'\nimport { css } from '@cerberus/styled-system/css'\nimport { AccordionItemIndicator } from './Accordion.client'\n\n/**\n * This module contains an abstraction of the AccordionItem components.\n * @module\n */\n\nexport interface AccordionItemGroupBaseProps extends ArkAccordion.ItemProps {\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}\nexport type AccordionItemGroupProps = AccordionItemGroupBaseProps &\n AccordionVariantProps\n\n/**\n * A grouped item for the Accordion component.\n * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)\n * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)\n * @example\n * ```tsx\n * <Accordion>\n * <AccordionItemGroup heading=\"Accordion Item 1\" value=\"one\">\n * Accordion Item 1 content\n * </AccordionItemGroup>\n * </Accordion>\n * ```\n */\nexport function AccordionItemGroup(\n props: PropsWithChildren<AccordionItemGroupProps>,\n) {\n const {\n size,\n heading,\n children,\n indicatorPosition = 'end',\n ...itemProps\n } = props\n const triggerStyles =\n indicatorPosition === 'start'\n ? {\n gap: 'md',\n justifyContent: 'flex-start',\n }\n : undefined\n\n return (\n <AccordionItem {...itemProps}>\n <AccordionItemTrigger className={css(triggerStyles)} size={size}>\n <Show when={indicatorPosition === 'start'}>\n <AccordionItemIndicator size={size} />\n </Show>\n\n {heading}\n\n <Show when={indicatorPosition === 'end'}>\n <AccordionItemIndicator size={size} />\n </Show>\n </AccordionItemTrigger>\n\n <AccordionItemContent size={size}>{children}</AccordionItemContent>\n </AccordionItem>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AASA,SAAS,WAAW;AAsDd,SAEI,KAFJ;AApBC,SAAS,mBACd,OACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,gBACJ,sBAAsB,UAClB;AAAA,IACE,KAAK;AAAA,IACL,gBAAgB;AAAA,EAClB,IACA;AAEN,SACE,qBAAC,iBAAe,GAAG,WACjB;AAAA,yBAAC,wBAAqB,WAAW,IAAI,aAAa,GAAG,MACnD;AAAA,0BAAC,QAAK,MAAM,sBAAsB,SAChC,8BAAC,0BAAuB,MAAY,GACtC;AAAA,MAEC;AAAA,MAED,oBAAC,QAAK,MAAM,sBAAsB,OAChC,8BAAC,0BAAuB,MAAY,GACtC;AAAA,OACF;AAAA,IAEA,oBAAC,wBAAqB,MAAa,UAAS;AAAA,KAC9C;AAEJ;","names":[]}
@@ -1,31 +0,0 @@
1
- import {
2
- useCerberusContext
3
- } from "./chunk-GITT5645.js";
4
-
5
- // src/components/Accordion.client.tsx
6
- import { Accordion as ArkAccordion } from "@ark-ui/react";
7
- import { cx } from "@cerberus/styled-system/css";
8
- import {
9
- accordion
10
- } from "@cerberus/styled-system/recipes";
11
- import { jsx } from "react/jsx-runtime";
12
- function AccordionItemIndicator(props) {
13
- const { size, ...indicatorProps } = props;
14
- const styles = accordion({ size });
15
- const iconSize = size === "sm" ? 16 : "24";
16
- const { icons } = useCerberusContext();
17
- const ChevronDown = icons.accordionIndicator;
18
- return /* @__PURE__ */ jsx(
19
- ArkAccordion.ItemIndicator,
20
- {
21
- ...indicatorProps,
22
- className: cx(indicatorProps.className, styles.itemIndicator),
23
- children: /* @__PURE__ */ jsx(ChevronDown, { size: iconSize })
24
- }
25
- );
26
- }
27
-
28
- export {
29
- AccordionItemIndicator
30
- };
31
- //# sourceMappingURL=chunk-XZGXRRSQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/Accordion.client.tsx"],"sourcesContent":["'use client'\n\nimport { Accordion as ArkAccordion } from '@ark-ui/react'\nimport { cx } from '@cerberus/styled-system/css'\nimport {\n accordion,\n type AccordionVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport { useCerberusContext } from '../context/cerberus'\n\nexport type AccordionItemIndicatorProps = ArkAccordion.ItemIndicatorProps &\n AccordionVariantProps\n\n/**\n * The indicator for the Accordion component.\n * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)\n * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)\n * @example\n * ```tsx\n * <Accordion>\n * <AccordionItem value=\"one\">\n * <AccordionTrigger>\n * Accordion Item 1\n * <AccordionIndicator />\n * </AccordionTrigger>\n * <AccordionContent>Accordion Item 1 content</AccordionContent>\n * </AccordionItem>\n * </Accordion>\n * ```\n * */\nexport function AccordionItemIndicator(props: AccordionItemIndicatorProps) {\n const { size, ...indicatorProps } = props\n const styles = accordion({ size })\n const iconSize = size === 'sm' ? 16 : '24'\n const { icons } = useCerberusContext()\n const ChevronDown = icons.accordionIndicator\n\n return (\n <ArkAccordion.ItemIndicator\n {...indicatorProps}\n className={cx(indicatorProps.className, styles.itemIndicator)}\n >\n <ChevronDown size={iconSize} />\n </ArkAccordion.ItemIndicator>\n )\n}\n"],"mappings":";;;;;AAEA,SAAS,aAAa,oBAAoB;AAC1C,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,OAEK;AAmCD;AAZC,SAAS,uBAAuB,OAAoC;AACzE,QAAM,EAAE,MAAM,GAAG,eAAe,IAAI;AACpC,QAAM,SAAS,UAAU,EAAE,KAAK,CAAC;AACjC,QAAM,WAAW,SAAS,OAAO,KAAK;AACtC,QAAM,EAAE,MAAM,IAAI,mBAAmB;AACrC,QAAM,cAAc,MAAM;AAE1B,SACE;AAAA,IAAC,aAAa;AAAA,IAAb;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,GAAG,eAAe,WAAW,OAAO,aAAa;AAAA,MAE5D,8BAAC,eAAY,MAAM,UAAU;AAAA;AAAA,EAC/B;AAEJ;","names":[]}
@@ -1,9 +0,0 @@
1
- "use client";
2
- import {
3
- AccordionItemIndicator
4
- } from "../chunk-XZGXRRSQ.js";
5
- import "../chunk-GITT5645.js";
6
- export {
7
- AccordionItemIndicator
8
- };
9
- //# sourceMappingURL=Accordion.client.js.map
@@ -1,13 +0,0 @@
1
- import {
2
- Accordion,
3
- AccordionItem,
4
- AccordionItemContent,
5
- AccordionItemTrigger
6
- } from "../chunk-AZRFYQO7.js";
7
- export {
8
- Accordion,
9
- AccordionItem,
10
- AccordionItemContent,
11
- AccordionItemTrigger
12
- };
13
- //# sourceMappingURL=Accordion.js.map
@@ -1,11 +0,0 @@
1
- import {
2
- AccordionItemGroup
3
- } from "../chunk-WN7TJX6J.js";
4
- import "../chunk-XZGXRRSQ.js";
5
- import "../chunk-AZRFYQO7.js";
6
- import "../chunk-GITT5645.js";
7
- import "../chunk-BUVVRQLZ.js";
8
- export {
9
- AccordionItemGroup
10
- };
11
- //# sourceMappingURL=AccordionItemGroup.js.map
@@ -1,11 +0,0 @@
1
- "use client";
2
- import {
3
- MatchAvatar
4
- } from "../chunk-2HOUQ2DX.js";
5
- import "../chunk-SXLPDPOZ.js";
6
- import "../chunk-GITT5645.js";
7
- import "../chunk-BUVVRQLZ.js";
8
- export {
9
- MatchAvatar
10
- };
11
- //# sourceMappingURL=Admonition.client.js.map
@@ -1,15 +0,0 @@
1
- import {
2
- Admonition,
3
- AdmonitionDescription,
4
- AdmonitionHeading
5
- } from "../chunk-DXBZ3HMY.js";
6
- import "../chunk-2HOUQ2DX.js";
7
- import "../chunk-SXLPDPOZ.js";
8
- import "../chunk-GITT5645.js";
9
- import "../chunk-BUVVRQLZ.js";
10
- export {
11
- Admonition,
12
- AdmonitionDescription,
13
- AdmonitionHeading
14
- };
15
- //# sourceMappingURL=Admonition.js.map
@@ -1,46 +0,0 @@
1
- 'use client'
2
-
3
- import { Accordion as ArkAccordion } from '@ark-ui/react'
4
- import { cx } from '@cerberus/styled-system/css'
5
- import {
6
- accordion,
7
- type AccordionVariantProps,
8
- } from '@cerberus/styled-system/recipes'
9
- import { useCerberusContext } from '../context/cerberus'
10
-
11
- export type AccordionItemIndicatorProps = ArkAccordion.ItemIndicatorProps &
12
- AccordionVariantProps
13
-
14
- /**
15
- * The indicator for the Accordion component.
16
- * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)
17
- * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
18
- * @example
19
- * ```tsx
20
- * <Accordion>
21
- * <AccordionItem value="one">
22
- * <AccordionTrigger>
23
- * Accordion Item 1
24
- * <AccordionIndicator />
25
- * </AccordionTrigger>
26
- * <AccordionContent>Accordion Item 1 content</AccordionContent>
27
- * </AccordionItem>
28
- * </Accordion>
29
- * ```
30
- * */
31
- export function AccordionItemIndicator(props: AccordionItemIndicatorProps) {
32
- const { size, ...indicatorProps } = props
33
- const styles = accordion({ size })
34
- const iconSize = size === 'sm' ? 16 : '24'
35
- const { icons } = useCerberusContext()
36
- const ChevronDown = icons.accordionIndicator
37
-
38
- return (
39
- <ArkAccordion.ItemIndicator
40
- {...indicatorProps}
41
- className={cx(indicatorProps.className, styles.itemIndicator)}
42
- >
43
- <ChevronDown size={iconSize} />
44
- </ArkAccordion.ItemIndicator>
45
- )
46
- }
@@ -1,125 +0,0 @@
1
- import { Accordion as ArkAccordion } from '@ark-ui/react'
2
- import { cx } from '@cerberus/styled-system/css'
3
- import {
4
- accordion,
5
- type AccordionVariantProps,
6
- } from '@cerberus/styled-system/recipes'
7
-
8
- export type AccordionProps = ArkAccordion.RootProps & AccordionVariantProps
9
-
10
- /**
11
- * The context provider for the Accordion family.
12
- * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
13
- * @example
14
- * ```tsx
15
- * <Accordion>
16
- * <AccordionItemGroup heading="Item 1 heading" value="one">
17
- * This is the content
18
- * </AccordionItemGroup>
19
- * </Accordion>
20
- * ```
21
- */
22
- export function Accordion(props: AccordionProps) {
23
- const { size, className, ...rootProps } = props
24
- const styles = accordion({ size })
25
-
26
- return (
27
- <ArkAccordion.Root
28
- collapsible
29
- className={cx(className, styles.root)}
30
- {...rootProps}
31
- />
32
- )
33
- }
34
-
35
- type AccordionItemProps = ArkAccordion.ItemProps & AccordionVariantProps
36
-
37
- /**
38
- * The item for the Accordion component.
39
- * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)
40
- * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
41
- * @example
42
- * ```tsx
43
- * <Accordion>
44
- * <AccordionItem value="one">
45
- * <AccordionTrigger>
46
- * Accordion Item 1
47
- * <AccordionIndicator />
48
- * </AccordionTrigger>
49
- * <AccordionContent>Accordion Item 1 content</AccordionContent>
50
- * </AccordionItem>
51
- * </Accordion>
52
- * ```
53
- */
54
- export function AccordionItem(props: AccordionItemProps) {
55
- const { size, ...itemProps } = props
56
- const styles = accordion({ size })
57
- return (
58
- <ArkAccordion.Item
59
- {...itemProps}
60
- className={cx(itemProps.className, styles.item)}
61
- />
62
- )
63
- }
64
-
65
- export type AccordionItemTriggerProps = ArkAccordion.ItemTriggerProps &
66
- AccordionVariantProps
67
-
68
- /**
69
- * The trigger for the Accordion component.
70
- * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)
71
- * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
72
- * @example
73
- * ```tsx
74
- * <Accordion>
75
- * <AccordionItem value="one">
76
- * <AccordionTrigger>
77
- * Accordion Item 1
78
- * <AccordionIndicator />
79
- * </AccordionTrigger>
80
- * <AccordionContent>Accordion Item 1 content</AccordionContent>
81
- * </AccordionItem>
82
- * </Accordion>
83
- * ```
84
- */
85
- export function AccordionItemTrigger(props: AccordionItemTriggerProps) {
86
- const { size, ...triggerProps } = props
87
- const styles = accordion({ size })
88
- return (
89
- <ArkAccordion.ItemTrigger
90
- {...triggerProps}
91
- className={cx(triggerProps.className, styles.itemTrigger)}
92
- />
93
- )
94
- }
95
-
96
- export type AccordionItemContentProps = ArkAccordion.ItemContentProps &
97
- AccordionVariantProps
98
-
99
- /**
100
- * The content for the Accordion component.
101
- * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)
102
- * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
103
- * @example
104
- * ```tsx
105
- * <Accordion>
106
- * <AccordionItem value="one">
107
- * <AccordionTrigger>
108
- * Accordion Item 1
109
- * <AccordionIndicator />
110
- * </AccordionTrigger>
111
- * <AccordionContent>Accordion Item 1 content</AccordionContent>
112
- * </AccordionItem>
113
- * </Accordion>
114
- * ```
115
- * */
116
- export function AccordionItemContent(props: AccordionItemContentProps) {
117
- const { size, ...contentProps } = props
118
- const styles = accordion({ size })
119
- return (
120
- <ArkAccordion.ItemContent
121
- {...contentProps}
122
- className={cx(contentProps.className, styles.itemContent)}
123
- />
124
- )
125
- }
@@ -1,79 +0,0 @@
1
- import { Accordion as ArkAccordion } from '@ark-ui/react'
2
- import { type AccordionVariantProps } from '@cerberus/styled-system/recipes'
3
- import type { PropsWithChildren } from 'react'
4
- import { Show } from './Show'
5
- import {
6
- AccordionItem,
7
- AccordionItemContent,
8
- AccordionItemTrigger,
9
- } from './Accordion'
10
- import { css } from '@cerberus/styled-system/css'
11
- import { AccordionItemIndicator } from './Accordion.client'
12
-
13
- /**
14
- * This module contains an abstraction of the AccordionItem components.
15
- * @module
16
- */
17
-
18
- export interface AccordionItemGroupBaseProps extends ArkAccordion.ItemProps {
19
- /**
20
- * The heading of the accordion item to open and close the content.
21
- */
22
- heading: string
23
- /**
24
- * The position of the arrow indicator.
25
- */
26
- indicatorPosition?: 'start' | 'end'
27
- }
28
- export type AccordionItemGroupProps = AccordionItemGroupBaseProps &
29
- AccordionVariantProps
30
-
31
- /**
32
- * A grouped item for the Accordion component.
33
- * @definition [ARK docs](https://ark-ui.com/react/docs/components/accordion)
34
- * @definition [Accordion docs](https://cerberus.digitalu.design/react/accordion)
35
- * @example
36
- * ```tsx
37
- * <Accordion>
38
- * <AccordionItemGroup heading="Accordion Item 1" value="one">
39
- * Accordion Item 1 content
40
- * </AccordionItemGroup>
41
- * </Accordion>
42
- * ```
43
- */
44
- export function AccordionItemGroup(
45
- props: PropsWithChildren<AccordionItemGroupProps>,
46
- ) {
47
- const {
48
- size,
49
- heading,
50
- children,
51
- indicatorPosition = 'end',
52
- ...itemProps
53
- } = props
54
- const triggerStyles =
55
- indicatorPosition === 'start'
56
- ? {
57
- gap: 'md',
58
- justifyContent: 'flex-start',
59
- }
60
- : undefined
61
-
62
- return (
63
- <AccordionItem {...itemProps}>
64
- <AccordionItemTrigger className={css(triggerStyles)} size={size}>
65
- <Show when={indicatorPosition === 'start'}>
66
- <AccordionItemIndicator size={size} />
67
- </Show>
68
-
69
- {heading}
70
-
71
- <Show when={indicatorPosition === 'end'}>
72
- <AccordionItemIndicator size={size} />
73
- </Show>
74
- </AccordionItemTrigger>
75
-
76
- <AccordionItemContent size={size}>{children}</AccordionItemContent>
77
- </AccordionItem>
78
- )
79
- }
@@ -1,73 +0,0 @@
1
- 'use client'
2
-
3
- import type { AdmonitionVariantProps } from '@cerberus/styled-system/recipes'
4
- import { useCerberusContext } from '../context/cerberus'
5
- import { Avatar } from './Avatar'
6
-
7
- type MatchAvatarProps = AdmonitionVariantProps
8
-
9
- export function MatchAvatar(props: MatchAvatarProps) {
10
- const { icons } = useCerberusContext()
11
- const {
12
- infoNotification: InfoIcon,
13
- successNotification: SuccessIcon,
14
- warningNotification: WarningIcon,
15
- dangerNotification: DangerIcon,
16
- } = icons
17
-
18
- switch (props.palette) {
19
- case 'page':
20
- return (
21
- <Avatar
22
- gradient="charon-light"
23
- ariaLabel=""
24
- icon={<InfoIcon />}
25
- size="sm"
26
- src=""
27
- />
28
- )
29
- case 'info':
30
- return (
31
- <Avatar
32
- gradient="amphiaraus-dark"
33
- ariaLabel=""
34
- icon={<InfoIcon />}
35
- size="sm"
36
- src=""
37
- />
38
- )
39
- case 'success':
40
- return (
41
- <Avatar
42
- gradient="thanatos-dark"
43
- ariaLabel=""
44
- icon={<SuccessIcon />}
45
- size="sm"
46
- src=""
47
- />
48
- )
49
- case 'warning':
50
- return (
51
- <Avatar
52
- gradient="asphodel-light"
53
- ariaLabel=""
54
- icon={<WarningIcon />}
55
- size="sm"
56
- src=""
57
- />
58
- )
59
- case 'danger':
60
- return (
61
- <Avatar
62
- gradient="hades-light"
63
- ariaLabel=""
64
- icon={<DangerIcon />}
65
- size="sm"
66
- src=""
67
- />
68
- )
69
-
70
- default:
71
- throw new Error('Unsupported admonition palette')
72
- }
73
- }
@@ -1,117 +0,0 @@
1
- import {
2
- admonition,
3
- type AdmonitionVariantProps,
4
- } from '@cerberus/styled-system/recipes'
5
- import { cx } from '@cerberus/styled-system/css'
6
- import { hstack } from '@cerberus/styled-system/patterns'
7
- import type { HTMLAttributes, ReactNode } from 'react'
8
- import { Show } from './Show'
9
- import { MatchAvatar } from './Admonition.client'
10
-
11
- /**
12
- * This module provides a set of components for creating admonitions.
13
- * @module Admonition
14
- */
15
-
16
- export type AdmonitionProps = HTMLAttributes<HTMLDivElement> &
17
- AdmonitionVariantProps & {
18
- /**
19
- * One off replacement for the icon.
20
- */
21
- icon?: ReactNode
22
- }
23
-
24
- /**
25
- * The `Admonition` component is used to create an admonition.
26
- * @example
27
- * ```tsx
28
- * <Admonition palette="page">
29
- * <AdmonitionHeading palette="page">Page</AdmonitionHeading>
30
- * <AdmonitionDescription palette="page">
31
- * This is a page admonition.
32
- * </AdmonitionDescription>
33
- * </Admonition>
34
- * ```
35
- * @see https://cerberus.digitalu.design/react/admonition
36
- */
37
- export function Admonition(props: AdmonitionProps) {
38
- const { children, palette = 'page', usage, icon, ...nativeProps } = props
39
- return (
40
- <aside
41
- {...nativeProps}
42
- className={cx(
43
- nativeProps.className,
44
- hstack({
45
- gap: 'md',
46
- w: 'full',
47
- }),
48
- admonition({ palette, usage }).root,
49
- )}
50
- >
51
- <Show when={Boolean(icon)} fallback={<MatchAvatar palette={palette} />}>
52
- {icon}
53
- </Show>
54
- <div>{children}</div>
55
- </aside>
56
- )
57
- }
58
-
59
- export type AdmonitionHeadingProps = HTMLAttributes<HTMLParagraphElement> &
60
- AdmonitionVariantProps
61
-
62
- /**
63
- * The `AdmonitionHeading` component is used to create a heading within an
64
- * admonition.
65
- * @example
66
- * ```tsx
67
- * <Admonition palette="page">
68
- * <AdmonitionHeading palette="page">Page</AdmonitionHeading>
69
- * <AdmonitionDescription palette="page">
70
- * This is a page admonition.
71
- * </AdmonitionDescription>
72
- * </Admonition>
73
- * ```
74
- * @see https://cerberus.digitalu.design/react/admonition
75
- */
76
- export function AdmonitionHeading(props: AdmonitionHeadingProps) {
77
- const { palette, usage, ...nativeProps } = props
78
- return (
79
- <p
80
- {...nativeProps}
81
- className={cx(
82
- nativeProps.className,
83
- admonition({ palette, usage }).heading,
84
- )}
85
- />
86
- )
87
- }
88
-
89
- export type AdmonitionDescriptionProps = HTMLAttributes<HTMLParagraphElement> &
90
- AdmonitionVariantProps
91
-
92
- /**
93
- * The `AdmonitionDescription` component is used to create a description within
94
- * an admonition.
95
- * @example
96
- * ```tsx
97
- * <Admonition palette="page">
98
- * <AdmonitionHeading palette="page">Page</AdmonitionHeading>
99
- * <AdmonitionDescription palette="page">
100
- * This is a page admonition.
101
- * </AdmonitionDescription>
102
- * </Admonition>
103
- * ```
104
- * @see https://cerberus.digitalu.design/react/admonition
105
- */
106
- export function AdmonitionDescription(props: AdmonitionDescriptionProps) {
107
- const { palette, usage, ...nativeProps } = props
108
- return (
109
- <p
110
- {...nativeProps}
111
- className={cx(
112
- nativeProps.className,
113
- admonition({ palette, usage }).description,
114
- )}
115
- />
116
- )
117
- }