@cerberus-design/react 0.16.0-next-7f1fa64 → 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 (85) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +94 -48
  2. package/build/legacy/components/admonition/admonition.cjs +314 -0
  3. package/build/legacy/components/admonition/admonition.cjs.map +1 -0
  4. package/build/legacy/components/admonition/index.cjs +326 -0
  5. package/build/legacy/components/admonition/index.cjs.map +1 -0
  6. package/build/legacy/components/{Admonition.client.cjs → admonition/match-avatar.cjs} +61 -65
  7. package/build/legacy/components/admonition/match-avatar.cjs.map +1 -0
  8. package/build/legacy/components/admonition/parts.cjs +88 -0
  9. package/build/legacy/components/admonition/parts.cjs.map +1 -0
  10. package/build/legacy/components/admonition/primitives.cjs +85 -0
  11. package/build/legacy/components/admonition/primitives.cjs.map +1 -0
  12. package/build/legacy/index.cjs +749 -718
  13. package/build/legacy/index.cjs.map +1 -1
  14. package/build/modern/_tsup-dts-rollup.d.ts +94 -48
  15. package/build/modern/chunk-572S5CLA.js +41 -0
  16. package/build/modern/chunk-572S5CLA.js.map +1 -0
  17. package/build/modern/{chunk-32M5JS5F.js → chunk-6I2FW4WI.js} +5 -5
  18. package/build/modern/{chunk-3B4SFTQB.js → chunk-A45TFOGO.js} +4 -4
  19. package/build/modern/{chunk-J7SAFAW3.js → chunk-EKIAT7N7.js} +4 -4
  20. package/build/modern/{chunk-Z6EXPMTS.js → chunk-EKZENP7X.js} +6 -6
  21. package/build/modern/{chunk-WA3QADO4.js → chunk-EQPYRZ3X.js} +4 -4
  22. package/build/modern/{chunk-R7IDIIST.js → chunk-LT62577B.js} +2 -2
  23. package/build/modern/{chunk-3J5D3O6Z.js → chunk-NTU5OYUF.js} +2 -2
  24. package/build/modern/chunk-RKGFPKKK.js +59 -0
  25. package/build/modern/chunk-RKGFPKKK.js.map +1 -0
  26. package/build/modern/chunk-RQCJKDXU.js +21 -0
  27. package/build/modern/chunk-RQCJKDXU.js.map +1 -0
  28. package/build/modern/chunk-TM6TVO2D.js +78 -0
  29. package/build/modern/chunk-TM6TVO2D.js.map +1 -0
  30. package/build/modern/chunk-UR2NYAQC.js +1 -0
  31. package/build/modern/{chunk-VNPLKMEM.js → chunk-VSTOSLFS.js} +4 -4
  32. package/build/modern/{chunk-R662TP4N.js → chunk-XYDJ5TRW.js} +12 -12
  33. package/build/modern/components/FileStatus.js +6 -6
  34. package/build/modern/components/admonition/admonition.js +15 -0
  35. package/build/modern/components/admonition/index.js +30 -0
  36. package/build/modern/components/admonition/index.js.map +1 -0
  37. package/build/modern/components/admonition/match-avatar.js +11 -0
  38. package/build/modern/components/admonition/match-avatar.js.map +1 -0
  39. package/build/modern/components/admonition/parts.js +8 -0
  40. package/build/modern/components/admonition/parts.js.map +1 -0
  41. package/build/modern/components/admonition/primitives.js +15 -0
  42. package/build/modern/components/admonition/primitives.js.map +1 -0
  43. package/build/modern/components/combobox/combobox.js +2 -2
  44. package/build/modern/components/combobox/index.js +6 -6
  45. package/build/modern/components/cta-dialog/index.js +2 -2
  46. package/build/modern/components/cta-dialog/provider.js +2 -2
  47. package/build/modern/components/deprecated/Label.js +5 -5
  48. package/build/modern/components/field/field.js +3 -3
  49. package/build/modern/components/field/index.js +6 -6
  50. package/build/modern/components/field/parts.js +3 -3
  51. package/build/modern/components/field/primitives.js +2 -2
  52. package/build/modern/context/confirm-modal.js +2 -2
  53. package/build/modern/context/field.js +2 -2
  54. package/build/modern/context/prompt-modal.js +9 -9
  55. package/build/modern/index.js +126 -113
  56. package/build/modern/index.js.map +1 -1
  57. package/package.json +2 -2
  58. package/src/components/admonition/admonition.tsx +65 -0
  59. package/src/components/admonition/index.ts +3 -0
  60. package/src/components/admonition/match-avatar.tsx +84 -0
  61. package/src/components/admonition/parts.ts +53 -0
  62. package/src/components/admonition/primitives.tsx +73 -0
  63. package/src/index.ts +1 -1
  64. package/build/legacy/components/Admonition.cjs +0 -273
  65. package/build/legacy/components/Admonition.cjs.map +0 -1
  66. package/build/legacy/components/Admonition.client.cjs.map +0 -1
  67. package/build/modern/chunk-2HOUQ2DX.js +0 -82
  68. package/build/modern/chunk-2HOUQ2DX.js.map +0 -1
  69. package/build/modern/chunk-DXBZ3HMY.js +0 -68
  70. package/build/modern/chunk-DXBZ3HMY.js.map +0 -1
  71. package/build/modern/components/Admonition.client.js +0 -11
  72. package/build/modern/components/Admonition.js +0 -15
  73. package/src/components/Admonition.client.tsx +0 -73
  74. package/src/components/Admonition.tsx +0 -117
  75. /package/build/modern/{chunk-32M5JS5F.js.map → chunk-6I2FW4WI.js.map} +0 -0
  76. /package/build/modern/{chunk-3B4SFTQB.js.map → chunk-A45TFOGO.js.map} +0 -0
  77. /package/build/modern/{chunk-J7SAFAW3.js.map → chunk-EKIAT7N7.js.map} +0 -0
  78. /package/build/modern/{chunk-Z6EXPMTS.js.map → chunk-EKZENP7X.js.map} +0 -0
  79. /package/build/modern/{chunk-WA3QADO4.js.map → chunk-EQPYRZ3X.js.map} +0 -0
  80. /package/build/modern/{chunk-R7IDIIST.js.map → chunk-LT62577B.js.map} +0 -0
  81. /package/build/modern/{chunk-3J5D3O6Z.js.map → chunk-NTU5OYUF.js.map} +0 -0
  82. /package/build/modern/{components/Admonition.client.js.map → chunk-UR2NYAQC.js.map} +0 -0
  83. /package/build/modern/{chunk-VNPLKMEM.js.map → chunk-VSTOSLFS.js.map} +0 -0
  84. /package/build/modern/{chunk-R662TP4N.js.map → chunk-XYDJ5TRW.js.map} +0 -0
  85. /package/build/modern/components/{Admonition.js.map → admonition/admonition.js.map} +0 -0
@@ -122,6 +122,7 @@ import { ForwardRefExoticComponent } from 'react';
122
122
  import { getClientRect } from '@dnd-kit/core';
123
123
  import { getFirstCollision } from '@dnd-kit/core';
124
124
  import { getScrollableAncestors } from '@dnd-kit/core';
125
+ import { HTMLArkProps } from '@ark-ui/react/factory';
125
126
  import { HTMLAttributes } from 'react';
126
127
  import { HtmlHTMLAttributes } from 'react';
127
128
  import { IconButtonVariantProps } from '@cerberus/styled-system/recipes';
@@ -404,78 +405,123 @@ export declare type AddNotifyAction = {
404
405
  };
405
406
 
406
407
  /**
407
- * The `Admonition` component is used to create an admonition.
408
- * @example
409
- * ```tsx
410
- * <Admonition palette="page">
411
- * <AdmonitionHeading palette="page">Page</AdmonitionHeading>
412
- * <AdmonitionDescription palette="page">
413
- * This is a page admonition.
414
- * </AdmonitionDescription>
415
- * </Admonition>
416
- * ```
417
- * @see https://cerberus.digitalu.design/react/admonition
408
+ * The Admonition component is an abstraction of the primitives which
409
+ * displays a Admonition with a label.
410
+ *
411
+ * @description [Cerberus Docs](https://cerberus.digitalu.design/react/admonition)
412
+ *
413
+ * @remarks
414
+ *
415
+ * For a customizable Admonition, use the `AdmonitionParts` object to access the
416
+ * individual primitives of the Admonition component.
418
417
  */
419
418
  declare function Admonition(props: AdmonitionProps): JSX_2.Element;
420
419
  export { Admonition }
421
420
  export { Admonition as Admonition_alias_1 }
421
+ export { Admonition as Admonition_alias_2 }
422
422
 
423
423
  /**
424
- * The `AdmonitionDescription` component is used to create a description within
425
- * an admonition.
426
- * @example
427
- * ```tsx
428
- * <Admonition palette="page">
429
- * <AdmonitionHeading palette="page">Page</AdmonitionHeading>
430
- * <AdmonitionDescription palette="page">
431
- * This is a page admonition.
432
- * </AdmonitionDescription>
433
- * </Admonition>
434
- * ```
435
- * @see https://cerberus.digitalu.design/react/admonition
424
+ * The `AdmonitionContent` component is the content for the Admonition.
436
425
  */
437
- declare function AdmonitionDescription(props: AdmonitionDescriptionProps): JSX_2.Element;
426
+ declare function AdmonitionContent(props: HTMLArkProps<'div'>): JSX_2.Element;
427
+ export { AdmonitionContent }
428
+ export { AdmonitionContent as AdmonitionContent_alias_1 }
429
+ export { AdmonitionContent as AdmonitionContent_alias_2 }
430
+
431
+ /**
432
+ * The `AdmonitionDescription` component is the description for the Admonition.
433
+ */
434
+ declare function AdmonitionDescription(props: HTMLArkProps<'p'>): JSX_2.Element;
438
435
  export { AdmonitionDescription }
439
436
  export { AdmonitionDescription as AdmonitionDescription_alias_1 }
440
-
441
- declare type AdmonitionDescriptionProps = HTMLAttributes<HTMLParagraphElement> & AdmonitionVariantProps;
442
- export { AdmonitionDescriptionProps }
443
- export { AdmonitionDescriptionProps as AdmonitionDescriptionProps_alias_1 }
437
+ export { AdmonitionDescription as AdmonitionDescription_alias_2 }
444
438
 
445
439
  /**
446
- * The `AdmonitionHeading` component is used to create a heading within an
447
- * admonition.
448
- * @example
449
- * ```tsx
450
- * <Admonition palette="page">
451
- * <AdmonitionHeading palette="page">Page</AdmonitionHeading>
452
- * <AdmonitionDescription palette="page">
453
- * This is a page admonition.
454
- * </AdmonitionDescription>
455
- * </Admonition>
456
- * ```
457
- * @see https://cerberus.digitalu.design/react/admonition
440
+ * The `AdmonitionHeading` component is the heading title for the Admonition.
458
441
  */
459
- declare function AdmonitionHeading(props: AdmonitionHeadingProps): JSX_2.Element;
442
+ declare function AdmonitionHeading(props: HTMLArkProps<'p'>): JSX_2.Element;
460
443
  export { AdmonitionHeading }
461
444
  export { AdmonitionHeading as AdmonitionHeading_alias_1 }
445
+ export { AdmonitionHeading as AdmonitionHeading_alias_2 }
462
446
 
463
- declare type AdmonitionHeadingProps = HTMLAttributes<HTMLParagraphElement> & AdmonitionVariantProps;
464
- export { AdmonitionHeadingProps }
465
- export { AdmonitionHeadingProps as AdmonitionHeadingProps_alias_1 }
447
+ /**
448
+ * The `AdmonitionIndicator` component is the indicator for the Admonition.
449
+ */
450
+ declare function AdmonitionIndicator(props: HTMLArkProps<'span'>): JSX_2.Element;
451
+ export { AdmonitionIndicator }
452
+ export { AdmonitionIndicator as AdmonitionIndicator_alias_1 }
453
+ export { AdmonitionIndicator as AdmonitionIndicator_alias_2 }
454
+
455
+ /**
456
+ * An Object containing the parts of the Accordion component. For users that
457
+ * prefer Object component syntax.
458
+ *
459
+ * @remarks
460
+ *
461
+ * When using object component syntax, you import the AdmonitionParts object and
462
+ * the entire family of components vs. only what you use.
463
+ */
464
+ declare const AdmonitionParts: AdmonitionPartsValue;
465
+ export { AdmonitionParts }
466
+ export { AdmonitionParts as AdmonitionParts_alias_1 }
467
+ export { AdmonitionParts as AdmonitionParts_alias_2 }
466
468
 
467
469
  /**
468
- * This module provides a set of components for creating admonitions.
469
- * @module Admonition
470
+ * This module contains the parts of the Admonition component.
471
+ * @module 'admonition/parts'
470
472
  */
471
- declare type AdmonitionProps = HTMLAttributes<HTMLDivElement> & AdmonitionVariantProps & {
473
+ declare interface AdmonitionPartsValue {
474
+ /**
475
+ * The context provider of the Admonition.
476
+ */
477
+ Root: ElementType;
478
+ /**
479
+ * The indicator of the Admonition.
480
+ */
481
+ Indicator: ElementType;
482
+ /**
483
+ * The content of the Admonition.
484
+ */
485
+ Content: ElementType;
486
+ /**
487
+ * The heading of the Admonition.
488
+ */
489
+ Heading: ElementType;
490
+ /**
491
+ * The description of the Admonition.
492
+ */
493
+ Description: ElementType;
494
+ }
495
+
496
+ /**
497
+ * This module provides an abstraction for the Admonition component.
498
+ * @module 'admonition/admonition'
499
+ */
500
+ declare interface AdmonitionProps extends AdmonitionVariantProps, HTMLArkProps<'aside'> {
501
+ /**
502
+ * The heading title for the Admonition.
503
+ */
504
+ heading?: string;
472
505
  /**
473
506
  * One off replacement for the icon.
474
507
  */
475
508
  icon?: ReactNode;
476
- };
509
+ }
477
510
  export { AdmonitionProps }
478
511
  export { AdmonitionProps as AdmonitionProps_alias_1 }
512
+ export { AdmonitionProps as AdmonitionProps_alias_2 }
513
+
514
+ /**
515
+ * This module contains the primitives of the Admonition components.
516
+ * @module 'admonition/primitives'
517
+ */
518
+ /**
519
+ * The `AdmonitionRoot` component is the container for the Admonition.
520
+ */
521
+ declare function AdmonitionRoot(props: HTMLArkProps<'aside'> & AdmonitionVariantProps): JSX_2.Element;
522
+ export { AdmonitionRoot }
523
+ export { AdmonitionRoot as AdmonitionRoot_alias_1 }
524
+ export { AdmonitionRoot as AdmonitionRoot_alias_2 }
479
525
 
480
526
  export declare function AnimatingUploadIcon(props: AnimatingUploadIconProps): JSX_2.Element;
481
527
 
@@ -0,0 +1,314 @@
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/admonition/admonition.tsx
21
+ var admonition_exports = {};
22
+ __export(admonition_exports, {
23
+ Admonition: () => Admonition
24
+ });
25
+ module.exports = __toCommonJS(admonition_exports);
26
+
27
+ // src/utils/index.ts
28
+ function splitProps(props, ...keyGroups) {
29
+ const result = keyGroups.map(() => ({}));
30
+ const rest = {};
31
+ for (const key in props) {
32
+ let assigned = false;
33
+ for (let i = 0; i < keyGroups.length; i++) {
34
+ if (keyGroups[i].includes(key)) {
35
+ result[i][key] = props[key];
36
+ assigned = true;
37
+ break;
38
+ }
39
+ }
40
+ if (!assigned) {
41
+ rest[key] = props[key];
42
+ }
43
+ }
44
+ return [...result, rest];
45
+ }
46
+
47
+ // src/components/admonition/primitives.tsx
48
+ var import_factory = require("@ark-ui/react/factory");
49
+ var import_css = require("@cerberus/styled-system/css");
50
+ var import_recipes = require("@cerberus/styled-system/recipes");
51
+ var import_jsx_runtime = require("react/jsx-runtime");
52
+ function AdmonitionRoot(props) {
53
+ const { palette, usage, ...nativeProps } = props;
54
+ const styles = (0, import_recipes.admonition)({ palette, usage });
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
+ import_factory.ark.aside,
57
+ {
58
+ ...nativeProps,
59
+ className: (0, import_css.cx)(styles.root, nativeProps.className),
60
+ "data-scope": "admonition",
61
+ "data-part": "root"
62
+ }
63
+ );
64
+ }
65
+ function AdmonitionIndicator(props) {
66
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_factory.ark.span, { ...props, "data-scope": "admonition", "data-part": "indicator" });
67
+ }
68
+ function AdmonitionContent(props) {
69
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_factory.ark.div, { ...props, "data-scope": "admonition", "data-part": "content" });
70
+ }
71
+ function AdmonitionHeading(props) {
72
+ const styles = (0, import_recipes.admonition)();
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
+ import_factory.ark.p,
75
+ {
76
+ ...props,
77
+ className: (0, import_css.cx)(styles.heading, props.className),
78
+ "data-scope": "admonition",
79
+ "data-part": "heading"
80
+ }
81
+ );
82
+ }
83
+ function AdmonitionDescription(props) {
84
+ const styles = (0, import_recipes.admonition)();
85
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
86
+ import_factory.ark.p,
87
+ {
88
+ ...props,
89
+ className: (0, import_css.cx)(styles.description, props.className),
90
+ "data-scope": "admonition",
91
+ "data-part": "description"
92
+ }
93
+ );
94
+ }
95
+
96
+ // src/components/admonition/parts.ts
97
+ var AdmonitionParts = {
98
+ Root: AdmonitionRoot,
99
+ Indicator: AdmonitionIndicator,
100
+ Content: AdmonitionContent,
101
+ Heading: AdmonitionHeading,
102
+ Description: AdmonitionDescription
103
+ };
104
+
105
+ // src/components/Show.tsx
106
+ var import_react = require("react");
107
+ function Show(props) {
108
+ const { when, children, fallback } = props;
109
+ const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
110
+ return (0, import_react.useMemo)(() => {
111
+ if (condition) return children;
112
+ return fallback ?? null;
113
+ }, [condition, children, fallback]);
114
+ }
115
+
116
+ // src/context/cerberus.tsx
117
+ var import_react2 = require("react");
118
+ var import_jsx_runtime2 = require("react/jsx-runtime");
119
+ var CerberusContext = (0, import_react2.createContext)(null);
120
+ function useCerberusContext() {
121
+ const context = (0, import_react2.useContext)(CerberusContext);
122
+ if (!context) {
123
+ throw new Error("useCerberus must be used within a CerberusProvider");
124
+ }
125
+ return context;
126
+ }
127
+
128
+ // src/components/Avatar.tsx
129
+ var import_css2 = require("@cerberus/styled-system/css");
130
+ var import_patterns = require("@cerberus/styled-system/patterns");
131
+ var import_recipes2 = require("@cerberus/styled-system/recipes");
132
+ var import_jsx_runtime3 = require("react/jsx-runtime");
133
+ function Avatar(props) {
134
+ const {
135
+ ariaLabel,
136
+ as,
137
+ gradient,
138
+ size,
139
+ src,
140
+ width,
141
+ height,
142
+ icon,
143
+ ...nativeProps
144
+ } = props;
145
+ const { icons } = useCerberusContext();
146
+ const { avatar: AvatarIcon } = icons;
147
+ const initials = (ariaLabel || "").split(" ").map((word) => word[0]).join("").slice(0, 2);
148
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
149
+ "div",
150
+ {
151
+ ...nativeProps,
152
+ className: (0, import_css2.cx)(
153
+ nativeProps.className,
154
+ (0, import_recipes2.avatar)({ gradient, size }),
155
+ (0, import_patterns.circle)()
156
+ ),
157
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
158
+ Show,
159
+ {
160
+ when: Boolean(src) || Boolean(as),
161
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
162
+ Show,
163
+ {
164
+ when: Boolean(initials),
165
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
166
+ Show,
167
+ {
168
+ when: Boolean(icon),
169
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
170
+ AvatarIcon,
171
+ {
172
+ size: iconSizeMap[size]
173
+ }
174
+ ),
175
+ children: icon
176
+ }
177
+ ),
178
+ children: initials
179
+ }
180
+ ),
181
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
182
+ Show,
183
+ {
184
+ when: Boolean(as),
185
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
186
+ "img",
187
+ {
188
+ alt: props.ariaLabel,
189
+ className: (0, import_css2.css)({
190
+ h: "full",
191
+ objectFit: "cover",
192
+ w: "full"
193
+ }),
194
+ decoding: "async",
195
+ loading: "lazy",
196
+ src,
197
+ height,
198
+ width
199
+ }
200
+ ),
201
+ children: as
202
+ }
203
+ )
204
+ }
205
+ )
206
+ }
207
+ );
208
+ }
209
+ var iconSizeMap = {
210
+ xs: 16,
211
+ sm: 16,
212
+ md: 20,
213
+ lg: 34,
214
+ xl: 32,
215
+ "2xl": 32,
216
+ "3xl": 32,
217
+ "4xl": 32
218
+ };
219
+
220
+ // src/components/admonition/match-avatar.tsx
221
+ var import_react3 = require("react");
222
+ var import_jsx_runtime4 = require("react/jsx-runtime");
223
+ function MatchAvatar(props) {
224
+ const { palette = "page" } = props;
225
+ const { icons } = useCerberusContext();
226
+ const {
227
+ infoNotification: InfoIcon,
228
+ successNotification: SuccessIcon,
229
+ warningNotification: WarningIcon,
230
+ dangerNotification: DangerIcon
231
+ } = icons;
232
+ const elRef = (0, import_react3.useRef)({
233
+ page: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
234
+ Avatar,
235
+ {
236
+ gradient: "charon-light",
237
+ ariaLabel: "",
238
+ icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(InfoIcon, {}),
239
+ size: "sm",
240
+ src: ""
241
+ }
242
+ ),
243
+ info: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
244
+ Avatar,
245
+ {
246
+ gradient: "amphiaraus-dark",
247
+ ariaLabel: "",
248
+ icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(InfoIcon, {}),
249
+ size: "sm",
250
+ src: ""
251
+ }
252
+ ),
253
+ success: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
254
+ Avatar,
255
+ {
256
+ gradient: "thanatos-dark",
257
+ ariaLabel: "",
258
+ icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SuccessIcon, {}),
259
+ size: "sm",
260
+ src: ""
261
+ }
262
+ ),
263
+ warning: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
264
+ Avatar,
265
+ {
266
+ gradient: "asphodel-light",
267
+ ariaLabel: "",
268
+ icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(WarningIcon, {}),
269
+ size: "sm",
270
+ src: ""
271
+ }
272
+ ),
273
+ danger: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
274
+ Avatar,
275
+ {
276
+ gradient: "hades-light",
277
+ ariaLabel: "",
278
+ icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DangerIcon, {}),
279
+ size: "sm",
280
+ src: ""
281
+ }
282
+ )
283
+ });
284
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: elRef.current[palette] });
285
+ }
286
+
287
+ // src/components/admonition/admonition.tsx
288
+ var import_jsx_runtime5 = require("react/jsx-runtime");
289
+ function Admonition(props) {
290
+ const [elProps, styleProps, rootProps] = splitProps(
291
+ props,
292
+ ["heading", "icon", "children"],
293
+ ["palette", "usage"]
294
+ );
295
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(AdmonitionParts.Root, { ...styleProps, ...rootProps, children: [
296
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
297
+ Show,
298
+ {
299
+ when: Boolean(elProps.icon),
300
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(MatchAvatar, { palette: styleProps.palette }),
301
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AdmonitionParts.Indicator, { children: elProps.icon })
302
+ }
303
+ ),
304
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(AdmonitionParts.Content, { children: [
305
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Show, { when: Boolean(elProps.heading), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AdmonitionParts.Heading, { children: elProps.heading }) }),
306
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AdmonitionParts.Description, { children: elProps.children })
307
+ ] })
308
+ ] });
309
+ }
310
+ // Annotate the CommonJS export names for ESM import in node:
311
+ 0 && (module.exports = {
312
+ Admonition
313
+ });
314
+ //# sourceMappingURL=admonition.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/admonition/admonition.tsx","../../../../src/utils/index.ts","../../../../src/components/admonition/primitives.tsx","../../../../src/components/admonition/parts.ts","../../../../src/components/Show.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/Avatar.tsx","../../../../src/components/admonition/match-avatar.tsx"],"sourcesContent":["import type { HTMLArkProps } from '@ark-ui/react/factory'\nimport type { AdmonitionVariantProps } from '@cerberus/styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils/index'\nimport { AdmonitionParts } from './parts'\nimport { Show } from '../Show'\nimport { MatchAvatar } from './match-avatar'\n\n/**\n * This module provides an abstraction for the Admonition component.\n * @module 'admonition/admonition'\n */\n\nexport interface AdmonitionProps\n extends AdmonitionVariantProps,\n HTMLArkProps<'aside'> {\n /**\n * The heading title for the Admonition.\n */\n heading?: string\n /**\n * One off replacement for the icon.\n */\n icon?: ReactNode\n}\n\n/**\n * The Admonition component is an abstraction of the primitives which\n * displays a Admonition with a label.\n *\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/admonition)\n *\n * @remarks\n *\n * For a customizable Admonition, use the `AdmonitionParts` object to access the\n * individual primitives of the Admonition component.\n */\nexport function Admonition(props: AdmonitionProps) {\n const [elProps, styleProps, rootProps] = splitProps(\n props,\n ['heading', 'icon', 'children'],\n ['palette', 'usage'],\n )\n\n return (\n <AdmonitionParts.Root {...styleProps} {...rootProps}>\n <Show\n when={Boolean(elProps.icon)}\n fallback={<MatchAvatar palette={styleProps.palette} />}\n >\n <AdmonitionParts.Indicator>{elProps.icon}</AdmonitionParts.Indicator>\n </Show>\n\n <AdmonitionParts.Content>\n <Show when={Boolean(elProps.heading)}>\n <AdmonitionParts.Heading>{elProps.heading}</AdmonitionParts.Heading>\n </Show>\n\n <AdmonitionParts.Description>\n {elProps.children}\n </AdmonitionParts.Description>\n </AdmonitionParts.Content>\n </AdmonitionParts.Root>\n )\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","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { cx } from '@cerberus/styled-system/css'\nimport {\n admonition,\n type AdmonitionVariantProps,\n} from '@cerberus/styled-system/recipes'\n\n/**\n * This module contains the primitives of the Admonition components.\n * @module 'admonition/primitives'\n */\n\n/**\n * The `AdmonitionRoot` component is the container for the Admonition.\n */\nexport function AdmonitionRoot(\n props: HTMLArkProps<'aside'> & AdmonitionVariantProps,\n) {\n const { palette, usage, ...nativeProps } = props\n const styles = admonition({ palette, usage })\n return (\n <ark.aside\n {...nativeProps}\n className={cx(styles.root, nativeProps.className)}\n data-scope=\"admonition\"\n data-part=\"root\"\n />\n )\n}\n\n/**\n * The `AdmonitionIndicator` component is the indicator for the Admonition.\n */\nexport function AdmonitionIndicator(props: HTMLArkProps<'span'>) {\n return <ark.span {...props} data-scope=\"admonition\" data-part=\"indicator\" />\n}\n\n/**\n * The `AdmonitionContent` component is the content for the Admonition.\n */\nexport function AdmonitionContent(props: HTMLArkProps<'div'>) {\n return <ark.div {...props} data-scope=\"admonition\" data-part=\"content\" />\n}\n\n/**\n * The `AdmonitionHeading` component is the heading title for the Admonition.\n */\nexport function AdmonitionHeading(props: HTMLArkProps<'p'>) {\n const styles = admonition()\n return (\n <ark.p\n {...props}\n className={cx(styles.heading, props.className)}\n data-scope=\"admonition\"\n data-part=\"heading\"\n />\n )\n}\n\n/**\n * The `AdmonitionDescription` component is the description for the Admonition.\n */\nexport function AdmonitionDescription(props: HTMLArkProps<'p'>) {\n const styles = admonition()\n return (\n <ark.p\n {...props}\n className={cx(styles.description, props.className)}\n data-scope=\"admonition\"\n data-part=\"description\"\n />\n )\n}\n","import type { ElementType } from 'react'\nimport {\n AdmonitionContent,\n AdmonitionDescription,\n AdmonitionHeading,\n AdmonitionIndicator,\n AdmonitionRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Admonition component.\n * @module 'admonition/parts'\n */\n\ninterface AdmonitionPartsValue {\n /**\n * The context provider of the Admonition.\n */\n Root: ElementType\n /**\n * The indicator of the Admonition.\n */\n Indicator: ElementType\n /**\n * The content of the Admonition.\n */\n Content: ElementType\n /**\n * The heading of the Admonition.\n */\n Heading: ElementType\n /**\n * The description of the Admonition.\n */\n Description: 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 AdmonitionParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AdmonitionParts: AdmonitionPartsValue = {\n Root: AdmonitionRoot,\n Indicator: AdmonitionIndicator,\n Content: AdmonitionContent,\n Heading: AdmonitionHeading,\n Description: AdmonitionDescription,\n}\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 { css, cx } from '@cerberus/styled-system/css'\nimport { circle } from '@cerberus/styled-system/patterns'\nimport {\n avatar,\n type AvatarVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport type { HtmlHTMLAttributes, ReactNode } from 'react'\nimport { Show } from './Show'\nimport { useCerberusContext } from '../context/cerberus'\n\n/**\n * This module contains the Avatar component.\n * @module\n */\n\nexport type SharedAvatarProps = {\n /**\n * An optional icon to show when no src or ariaLabel is provided.\n */\n icon?: ReactNode\n /**\n * The size of the avatar.\n */\n width?: number\n /**\n * The size of the avatar.\n */\n height?: number\n}\nexport type AvatarImageProps = HtmlHTMLAttributes<HTMLImageElement> &\n SharedAvatarProps & {\n /**\n * The aria-label for the avatar needed for accessibility.\n */\n ariaLabel: string\n /**\n * An optional element to replace the image. Recommended for Next.js Image component.\n */\n as?: never\n /**\n * The source of the image.\n */\n src: string\n }\nexport type AvatarAsProps = SharedAvatarProps & {\n /**\n * An optional element to replace the image. Recommended for Next.js Image component.\n */\n as: ReactNode\n /**\n * The aria-label for the avatar needed for accessibility.\n */\n ariaLabel?: never\n /**\n * The source of the image.\n */\n src?: never\n}\n\nexport type AvatarProps = (HtmlHTMLAttributes<HTMLDivElement> &\n AvatarVariantProps) &\n (AvatarImageProps | AvatarAsProps)\n\n/**\n * The Avatar component is used to represent a user or entity. It will show an image if src provided, otherwise it will show the ariaLabel of the ariaLabel. If the ariaLabel is empty, it will show a `defineIcons().avatar` icon.\n * @see https://cerberus.digitalu.design/react/avatar\n * @example\n * ```tsx\n * <Avatar\n * ariaLabel=\"Protector Cerberus\"\n * src=\"https://cerberus.digitalu.design/logo.svg\"\n * />\n * ```\n */\nexport function Avatar(props: AvatarProps) {\n const {\n ariaLabel,\n as,\n gradient,\n size,\n src,\n width,\n height,\n icon,\n ...nativeProps\n } = props\n const { icons } = useCerberusContext()\n const { avatar: AvatarIcon } = icons\n const initials = (ariaLabel || '')\n .split(' ')\n .map((word) => word[0])\n .join('')\n .slice(0, 2)\n\n return (\n <div\n {...nativeProps}\n className={cx(\n nativeProps.className,\n avatar({ gradient, size }),\n circle(),\n )}\n >\n <Show\n when={Boolean(src) || Boolean(as)}\n fallback={\n <Show\n when={Boolean(initials)}\n fallback={\n <Show\n when={Boolean(icon)}\n fallback={\n <AvatarIcon\n size={iconSizeMap[size as keyof typeof iconSizeMap]}\n />\n }\n >\n {icon}\n </Show>\n }\n >\n {initials}\n </Show>\n }\n >\n <Show\n when={Boolean(as)}\n fallback={\n <img\n alt={props.ariaLabel}\n className={css({\n h: 'full',\n objectFit: 'cover',\n w: 'full',\n })}\n decoding=\"async\"\n loading=\"lazy\"\n src={src}\n height={height}\n width={width}\n />\n }\n >\n {as}\n </Show>\n </Show>\n </div>\n )\n}\n\nconst iconSizeMap = {\n xs: 16,\n sm: 16,\n md: 20,\n lg: 34,\n xl: 32,\n '2xl': 32,\n '3xl': 32,\n '4xl': 32,\n}\n","'use client'\n\nimport type { AdmonitionVariantProps } from '@cerberus/styled-system/recipes'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Avatar } from '../Avatar'\nimport { useRef, type ReactNode } from 'react'\n\n/**\n * This module provides a component for creating the admonition indicator.\n * @module 'admonition/match-avatar'\n */\n\ninterface AvatarRefProps {\n page: ReactNode\n info: ReactNode\n success: ReactNode\n warning: ReactNode\n danger: ReactNode\n}\n\ntype MatchAvatarProps = AdmonitionVariantProps\n\nexport function MatchAvatar(props: MatchAvatarProps) {\n const { palette = 'page' } = props\n\n const { icons } = useCerberusContext()\n const {\n infoNotification: InfoIcon,\n successNotification: SuccessIcon,\n warningNotification: WarningIcon,\n dangerNotification: DangerIcon,\n } = icons\n\n // cache the el since the result is static and the component is client side\n const elRef = useRef<AvatarRefProps>({\n page: (\n <Avatar\n gradient=\"charon-light\"\n ariaLabel=\"\"\n icon={<InfoIcon />}\n size=\"sm\"\n src=\"\"\n />\n ),\n info: (\n <Avatar\n gradient=\"amphiaraus-dark\"\n ariaLabel=\"\"\n icon={<InfoIcon />}\n size=\"sm\"\n src=\"\"\n />\n ),\n success: (\n <Avatar\n gradient=\"thanatos-dark\"\n ariaLabel=\"\"\n icon={<SuccessIcon />}\n size=\"sm\"\n src=\"\"\n />\n ),\n warning: (\n <Avatar\n gradient=\"asphodel-light\"\n ariaLabel=\"\"\n icon={<WarningIcon />}\n size=\"sm\"\n src=\"\"\n />\n ),\n danger: (\n <Avatar\n gradient=\"hades-light\"\n ariaLabel=\"\"\n icon={<DangerIcon />}\n size=\"sm\"\n src=\"\"\n />\n ),\n })\n\n return <>{elRef.current[palette]}</>\n}\n"],"mappings":"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","names":["import_react","import_jsx_runtime","import_css","import_recipes","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime"]}