@shohojdhara/atomix 0.5.5 → 0.5.7

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 (74) hide show
  1. package/README.md +43 -21
  2. package/dist/atomix.css +1016 -1681
  3. package/dist/atomix.css.map +1 -1
  4. package/dist/atomix.min.css +5 -5
  5. package/dist/atomix.min.css.map +1 -1
  6. package/dist/core.d.ts +102 -9
  7. package/dist/core.js +89 -79
  8. package/dist/core.js.map +1 -1
  9. package/dist/forms.js +1 -7
  10. package/dist/forms.js.map +1 -1
  11. package/dist/heavy.js +7 -3
  12. package/dist/heavy.js.map +1 -1
  13. package/dist/index.d.ts +181 -55
  14. package/dist/index.esm.js +112 -99
  15. package/dist/index.esm.js.map +1 -1
  16. package/dist/index.js +112 -99
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.min.js +1 -1
  19. package/dist/index.min.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/components/Accordion/Accordion.tsx +40 -25
  22. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -14
  23. package/src/components/Button/Button.tsx +4 -5
  24. package/src/components/Callout/Callout.tsx +98 -96
  25. package/src/components/Card/Card.tsx +117 -103
  26. package/src/components/Card/index.ts +7 -5
  27. package/src/components/Dropdown/Dropdown.tsx +27 -8
  28. package/src/components/EdgePanel/EdgePanel.tsx +7 -2
  29. package/src/components/Modal/Modal.tsx +27 -8
  30. package/src/components/Spinner/Spinner.tsx +60 -43
  31. package/src/components/Tabs/Tabs.tsx +163 -149
  32. package/src/lib/composables/useInput.ts +11 -9
  33. package/src/lib/types/components.ts +84 -0
  34. package/src/styles/01-settings/_settings.background.scss +2 -1
  35. package/src/styles/02-tools/_tools.background.scss +100 -294
  36. package/src/styles/06-components/_components.avatar-group.scss +1 -3
  37. package/src/styles/06-components/_components.avatar.scss +1 -1
  38. package/src/styles/06-components/_components.badge.scss +2 -2
  39. package/src/styles/06-components/_components.button.scss +3 -3
  40. package/src/styles/06-components/_components.callout.scss +5 -5
  41. package/src/styles/06-components/_components.card.scss +4 -7
  42. package/src/styles/06-components/_components.checkbox.scss +1 -1
  43. package/src/styles/06-components/_components.data-table.scss +1 -1
  44. package/src/styles/06-components/_components.datepicker.scss +1 -1
  45. package/src/styles/06-components/_components.dropdown.scss +3 -3
  46. package/src/styles/06-components/_components.edge-panel.scss +5 -9
  47. package/src/styles/06-components/_components.footer.scss +12 -13
  48. package/src/styles/06-components/_components.hero.scss +2 -2
  49. package/src/styles/06-components/_components.input.scss +3 -3
  50. package/src/styles/06-components/_components.list.scss +1 -1
  51. package/src/styles/06-components/_components.menu.scss +2 -2
  52. package/src/styles/06-components/_components.messages.scss +16 -18
  53. package/src/styles/06-components/_components.modal.scss +6 -6
  54. package/src/styles/06-components/_components.nav.scss +0 -3
  55. package/src/styles/06-components/_components.navbar.scss +3 -3
  56. package/src/styles/06-components/_components.pagination.scss +3 -3
  57. package/src/styles/06-components/_components.photoviewer.scss +3 -3
  58. package/src/styles/06-components/_components.popover.scss +3 -3
  59. package/src/styles/06-components/_components.product-review.scss +2 -2
  60. package/src/styles/06-components/_components.progress.scss +2 -2
  61. package/src/styles/06-components/_components.river.scss +1 -1
  62. package/src/styles/06-components/_components.sectionintro.scss +1 -1
  63. package/src/styles/06-components/_components.select.scss +5 -6
  64. package/src/styles/06-components/_components.side-menu.scss +6 -6
  65. package/src/styles/06-components/_components.skeleton.scss +8 -8
  66. package/src/styles/06-components/_components.slider.scss +6 -6
  67. package/src/styles/06-components/_components.steps.scss +2 -2
  68. package/src/styles/06-components/_components.tabs.scss +2 -2
  69. package/src/styles/06-components/_components.todo.scss +1 -1
  70. package/src/styles/06-components/_components.toggle.scss +3 -5
  71. package/src/styles/06-components/_components.tooltip.scss +2 -4
  72. package/src/styles/06-components/_components.upload.scss +1 -2
  73. package/src/styles/06-components/_components.video-player.scss +2 -2
  74. package/src/styles/99-utilities/_utilities.link.scss +4 -5
package/dist/index.js CHANGED
@@ -4456,29 +4456,30 @@ const AccordionImpl = React.memo((({title: title, children: children, defaultOp
4456
4456
  }), headerClassNames = generateHeaderClassNames(), panelClassNames = ACCORDION.SELECTORS.PANEL.replace(".", ""), hasCompoundComponents = React__default.default.Children.toArray(children).some((child => {
4457
4457
  var _context;
4458
4458
 
4459
- return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "AccordionHeader", "AccordionBody" ]).call(_context, child.type.displayName);
4459
+ return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "AccordionHeader", "AccordionBody" ]).call(_context, child.type.displayName || "");
4460
4460
  })), content = jsxRuntime.jsx("div", {
4461
4461
  className: generateClassNames(className) + (glass ? " c-accordion--glass" : ""),
4462
4462
  style: style,
4463
4463
  children: hasCompoundComponents ? React__default.default.Children.map(children, (child => {
4464
4464
  if ( React__default.default.isValidElement(child)) {
4465
+ const childProps = child.props;
4465
4466
  if ("AccordionHeader" === child.type.displayName)
4466
4467
  return React__default.default.cloneElement(child, {
4467
4468
  id: buttonId,
4468
- className: `${headerClassNames} ${child.props.className || ""}`.trim(),
4469
+ className: `${headerClassNames} ${childProps.className || ""}`.trim(),
4469
4470
  onClick: e => {
4470
- toggle(), child.props.onClick?.(e);
4471
+ toggle(), childProps?.onClick?.(e);
4471
4472
  },
4472
4473
  "aria-expanded": state.isOpen,
4473
4474
  "aria-controls": panelId,
4474
4475
  "aria-disabled": disabled,
4475
4476
  disabled: disabled,
4476
- iconPosition: child.props.iconPosition || iconPosition
4477
+ iconPosition: childProps.iconPosition || iconPosition
4477
4478
  });
4478
4479
  if ("AccordionBody" === child.type.displayName)
4479
4480
  return React__default.default.cloneElement(child, {
4480
4481
  id: panelId,
4481
- className: `${panelClassNames} ${child.props.className || ""}`.trim(),
4482
+ className: `${panelClassNames} ${childProps.className || ""}`.trim(),
4482
4483
  "aria-labelledby": buttonId,
4483
4484
  panelRef: panelRef,
4484
4485
  contentRef: contentRef
@@ -5166,11 +5167,12 @@ const BreadcrumbComponent = React.memo((function({items: items, divider: divide
5166
5167
  const childrenCount = React.Children.count(children);
5167
5168
  content = React.Children.map(children, ((child, index) => {
5168
5169
  if ( React.isValidElement(child)) {
5169
- const isLast = index === childrenCount - 1, childProps = child.props, {active: active, linkAs: linkAs, ...otherProps} = childProps, newProps = {
5170
+ const isLast = index === childrenCount - 1, {active: active, linkAs: linkAs, ...otherProps} = child.props, newProps = {
5170
5171
  active: active ?? (!!isLast || void 0),
5171
5172
  linkAs: linkAs ?? linkComponent
5172
5173
  };
5173
-
5174
+ // Extract props from the child element with proper typing
5175
+
5174
5176
  return React.cloneElement(child, newProps);
5175
5177
  }
5176
5178
  return child;
@@ -5214,7 +5216,7 @@ function useSpinner(initialProps) {
5214
5216
 
5215
5217
  Breadcrumb.displayName = "Breadcrumb", Breadcrumb.Item = BreadcrumbItem;
5216
5218
 
5217
- const Spinner = React.memo((({size: size = "md", variant: variant = "primary", fullscreen: fullscreen = !1, className: className = "", style: style, glass: glass, "aria-label": ariaLabel, role: role = "status"}) => {
5219
+ const Spinner = React.memo( React.forwardRef((({size: size = "md", variant: variant = "primary", fullscreen: fullscreen = !1, className: className = "", style: style, glass: glass, "aria-label": ariaLabel, role: role = "status", "aria-live": ariaLive = "polite", "aria-describe": ariaDescribe, ...rest}, ref) => {
5218
5220
  const {generateSpinnerClass: generateSpinnerClass} = useSpinner({
5219
5221
  size: size,
5220
5222
  variant: variant,
@@ -5225,13 +5227,17 @@ const Spinner = React.memo((({size: size = "md", variant: variant = "primary",
5225
5227
  fullscreen: fullscreen,
5226
5228
  className: `${className} ${glass ? "c-spinner--glass" : ""}`.trim()
5227
5229
  }), spinnerContent = jsxRuntime.jsx("div", {
5230
+ ref: ref,
5228
5231
  className: spinnerClass,
5229
5232
  style: style,
5230
5233
  role: role,
5231
5234
  "aria-label": ariaLabel || "Loading",
5235
+ "aria-live": ariaLive,
5236
+ "aria-describe": ariaDescribe,
5237
+ ...rest,
5232
5238
  children: jsxRuntime.jsx("span", {
5233
5239
  className: SPINNER.VISUALLY_HIDDEN,
5234
- children: ariaLabel || "Loading..."
5240
+ children: ariaLabel || "Loading content..."
5235
5241
  })
5236
5242
  });
5237
5243
  if (glass) {
@@ -5250,7 +5256,7 @@ const Spinner = React.memo((({size: size = "md", variant: variant = "primary",
5250
5256
  });
5251
5257
  }
5252
5258
  return spinnerContent;
5253
- }));
5259
+ })));
5254
5260
 
5255
5261
  Spinner.displayName = "Spinner";
5256
5262
 
@@ -5716,7 +5722,7 @@ const CalloutComponentBase = ({title: title, children: children, icon: icon, var
5716
5722
  }, calloutContent = React__default.default.Children.toArray(children).some((child => {
5717
5723
  var _context3;
5718
5724
 
5719
- return React__default.default.isValidElement(child) && _includesInstanceProperty(_context3 = [ "CalloutIcon", "CalloutMessage", "CalloutTitle", "CalloutText", "CalloutActions", "CalloutContent" ]).call(_context3, child.type.displayName);
5725
+ return React__default.default.isValidElement(child) && _includesInstanceProperty(_context3 = [ "CalloutIcon", "CalloutMessage", "CalloutTitle", "CalloutText", "CalloutActions", "CalloutContent" ]).call(_context3, child.type.displayName || "");
5720
5726
  })) ? children : jsxRuntime.jsxs(jsxRuntime.Fragment, {
5721
5727
  children: [ jsxRuntime.jsxs("div", {
5722
5728
  className: "c-callout__content",
@@ -5801,7 +5807,66 @@ Callout.Icon = CalloutIcon, Callout.Message = CalloutMessage, Callout.Title = Ca
5801
5807
  Callout.Text = CalloutText, Callout.Actions = CalloutActions, Callout.CloseButton = CalloutCloseButton,
5802
5808
  Callout.Content = CalloutContent;
5803
5809
 
5804
- const Card = React__default.default.memo( React.forwardRef((({
5810
+ const CardHeader = React.forwardRef((({title: title, subtitle: subtitle, action: action, icon: icon, children: children, className: className = "", ...props}, ref) => {
5811
+ const headerClasses = `${CARD.SELECTORS.HEADER.substring(1)} ${className}`.trim();
5812
+ return jsxRuntime.jsxs("div", {
5813
+ ref: ref,
5814
+ className: headerClasses,
5815
+ ...props,
5816
+ children: [ icon && jsxRuntime.jsx("div", {
5817
+ className: CARD.SELECTORS.ICON.substring(1),
5818
+ children: icon
5819
+ }), (title || subtitle) && jsxRuntime.jsxs("div", {
5820
+ children: [ title && jsxRuntime.jsx("h3", {
5821
+ className: CARD.SELECTORS.TITLE.substring(1),
5822
+ children: title
5823
+ }), subtitle && jsxRuntime.jsx("p", {
5824
+ className: CARD.SELECTORS.TEXT.substring(1),
5825
+ children: subtitle
5826
+ }) ]
5827
+ }), action && jsxRuntime.jsx("div", {
5828
+ className: CARD.SELECTORS.ACTIONS.substring(1),
5829
+ children: action
5830
+ }), children ]
5831
+ });
5832
+ }));
5833
+
5834
+ CardHeader.displayName = "CardHeader";
5835
+
5836
+ const CardBody = React.forwardRef((({scrollable: scrollable = !1, maxHeight: maxHeight, children: children, className: className = "", style: style, ...props}, ref) => {
5837
+ const bodyClasses = `${CARD.SELECTORS.BODY.substring(1)} ${scrollable ? "c-card__body--scrollable" : ""} ${className}`.trim(), bodyStyle = {
5838
+ ...style,
5839
+ ...scrollable && maxHeight ? {
5840
+ maxHeight: "number" == typeof maxHeight ? `${maxHeight}px` : maxHeight,
5841
+ overflowY: "auto"
5842
+ } : {}
5843
+ };
5844
+ return jsxRuntime.jsx("div", {
5845
+ ref: ref,
5846
+ className: bodyClasses,
5847
+ style: bodyStyle,
5848
+ ...props,
5849
+ children: children
5850
+ });
5851
+ }));
5852
+
5853
+ CardBody.displayName = "CardBody";
5854
+
5855
+ const CardFooter = React.forwardRef((({align: align, children: children, className: className = "", style: style, ...props}, ref) => {
5856
+ const footerClasses = `${CARD.SELECTORS.FOOTER.substring(1)} ${align ? `c-card__footer--align-${align}` : ""} ${className}`.trim();
5857
+ return jsxRuntime.jsx("div", {
5858
+ ref: ref,
5859
+ className: footerClasses,
5860
+ style: style,
5861
+ ...props,
5862
+ children: children
5863
+ });
5864
+ }));
5865
+
5866
+ CardFooter.displayName = "CardFooter";
5867
+
5868
+ // Main Card component implementation
5869
+ const CardImpl = React__default.default.memo( React.forwardRef((({
5805
5870
  // Variants
5806
5871
  size: size = "md", variant: variant = "", appearance: appearance = "filled", elevation: elevation = "none", hoverable: hoverable = !1, hoverElevation: hoverElevation = "md",
5807
5872
  // Layout
@@ -5944,75 +6009,15 @@ className: className = "", style: style, ...rest}, ref) => {
5944
6009
  return divElement;
5945
6010
  })));
5946
6011
 
5947
- Card.displayName = "Card";
5948
-
5949
- const CardHeader = React.forwardRef((({title: title, subtitle: subtitle, action: action, icon: icon, children: children, className: className = "", ...props}, ref) => {
5950
- const headerClasses = `${CARD.SELECTORS.HEADER.substring(1)} ${className}`.trim();
5951
- return jsxRuntime.jsxs("div", {
5952
- ref: ref,
5953
- className: headerClasses,
5954
- ...props,
5955
- children: [ icon && jsxRuntime.jsx("div", {
5956
- className: CARD.SELECTORS.ICON.substring(1),
5957
- children: icon
5958
- }), (title || subtitle) && jsxRuntime.jsxs("div", {
5959
- children: [ title && jsxRuntime.jsx("h3", {
5960
- className: CARD.SELECTORS.TITLE.substring(1),
5961
- children: title
5962
- }), subtitle && jsxRuntime.jsx("p", {
5963
- className: CARD.SELECTORS.TEXT.substring(1),
5964
- children: subtitle
5965
- }) ]
5966
- }), action && jsxRuntime.jsx("div", {
5967
- className: CARD.SELECTORS.ACTIONS.substring(1),
5968
- children: action
5969
- }), children ]
5970
- });
5971
- }));
5972
-
5973
- CardHeader.displayName = "CardHeader";
6012
+ CardImpl.displayName = "Card";
5974
6013
 
5975
- const CardBody = React.forwardRef((({scrollable: scrollable = !1, maxHeight: maxHeight, children: children, className: className = "", style: style, ...props}, ref) => {
5976
- const bodyClasses = `${CARD.SELECTORS.BODY.substring(1)} ${scrollable ? "c-card__body--scrollable" : ""} ${className}`.trim(), bodyStyle = {
5977
- ...style,
5978
- ...scrollable && maxHeight ? {
5979
- maxHeight: "number" == typeof maxHeight ? `${maxHeight}px` : maxHeight,
5980
- overflowY: "auto"
5981
- } : {}
5982
- };
5983
- return jsxRuntime.jsx("div", {
5984
- ref: ref,
5985
- className: bodyClasses,
5986
- style: bodyStyle,
5987
- ...props,
5988
- children: children
5989
- });
5990
- }));
6014
+ // Create compound component with proper typing
6015
+ const CardWithSubcomponents = CardImpl;
5991
6016
 
5992
- CardBody.displayName = "CardBody";
6017
+ CardWithSubcomponents.Header = CardHeader, CardWithSubcomponents.Body = CardBody,
6018
+ CardWithSubcomponents.Footer = CardFooter;
5993
6019
 
5994
- const CardFooter = React.forwardRef((({align: align, children: children, className: className = "", style: style, ...props}, ref) => {
5995
- const footerClasses = `${CARD.SELECTORS.FOOTER.substring(1)} ${align ? `c-card__footer--align-${align}` : ""} ${className}`.trim();
5996
- return jsxRuntime.jsx("div", {
5997
- ref: ref,
5998
- className: footerClasses,
5999
- style: style,
6000
- ...props,
6001
- children: children
6002
- });
6003
- }));
6004
-
6005
- CardFooter.displayName = "CardFooter",
6006
- // Attach subcomponents to Card
6007
- Card.Header = CardHeader, Card.Body = CardBody, Card.Footer = CardFooter;
6008
-
6009
- /**
6010
- * Hook for managing Card component state and behaviors
6011
- *
6012
- * @param options - Configuration options for the card
6013
- * @returns Card state and handlers
6014
- */
6015
- const ElevationCard = ({elevationClass: elevationClass = "is-elevated", className: className = "", style: style, children: children, onClick: onClick, ...props}) => {
6020
+ const Card = CardWithSubcomponents, ElevationCard = ({elevationClass: elevationClass = "is-elevated", className: className = "", style: style, children: children, onClick: onClick, ...props}) => {
6016
6021
  const {getCardProps: getCardProps} = ((options = {}) => {
6017
6022
  const {elevationEffect: elevationEffect = !1, elevationClass: elevationClass = CARD.CLASSES.ACTIVE, flipEffect: flipEffect = !1, flipTrigger: flipTrigger = "click", focusEffect: focusEffect = !1, clickable: clickable = !1, onClick: onClick} = options, cardRef = React.useRef(null), frontRef = React.useRef(null), backRef = React.useRef(null), [isFlipped, setIsFlipped] = React.useState(!1), [isElevated, setIsElevated] = React.useState(!1), [isFocused, setIsFocused] = React.useState(!1), [isHovered, setIsHovered] = React.useState(!1), handleClick = React.useCallback((event => {
6018
6023
  flipEffect && "click" === flipTrigger && setIsFlipped((prev => !prev)), onClick && onClick(event);
@@ -6083,6 +6088,12 @@ const ElevationCard = ({elevationClass: elevationClass = "is-elevated", classNam
6083
6088
  });
6084
6089
  };
6085
6090
 
6091
+ /**
6092
+ * Hook for managing Card component state and behaviors
6093
+ *
6094
+ * @param options - Configuration options for the card
6095
+ * @returns Card state and handlers
6096
+ */
6086
6097
  /**
6087
6098
  * Comprehensive chart hook with shared functionality
6088
6099
  * @param initialProps - Initial chart properties
@@ -10846,23 +10857,29 @@ const DropdownStyleContext = React.createContext({}), Dropdown = React.memo((f
10846
10857
  React__default.default.Children.toArray(children).some((child => {
10847
10858
  var _context;
10848
10859
 
10849
- return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "DropdownTrigger", "DropdownMenu" ]).call(_context, child.type.displayName);
10860
+ return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "DropdownTrigger", "DropdownMenu" ]).call(_context, child.type.displayName || "");
10850
10861
  })) ?
10851
10862
  // Find Trigger and Menu in children
10852
10863
  React__default.default.Children.forEach(children, (child => {
10853
- React__default.default.isValidElement(child) && ("DropdownTrigger" === child.type.displayName ? triggerContent = React__default.default.cloneElement(child, {
10854
- ref: toggleRef,
10855
- onClick: e => {
10856
- handleToggleClick(e), child.props.onClick?.(e);
10857
- },
10858
- onKeyDown: e => {
10859
- handleToggleKeyDown(e), child.props.onKeyDown?.(e);
10860
- },
10861
- "aria-haspopup": "menu",
10862
- "aria-expanded": isOpen,
10863
- "aria-controls": dropdownId,
10864
- tabIndex: 0
10865
- }) : "DropdownMenu" === child.type.displayName && (menuContentNode = child));
10864
+ if ( React__default.default.isValidElement(child)) {
10865
+ const component = child.type;
10866
+ if ("DropdownTrigger" === component.displayName) {
10867
+ const triggerProps = {
10868
+ ref: toggleRef,
10869
+ onClick: e => {
10870
+ handleToggleClick(e), child.props.onClick?.(e);
10871
+ },
10872
+ onKeyDown: e => {
10873
+ handleToggleKeyDown(e), child.props.onKeyDown?.(e);
10874
+ },
10875
+ "aria-haspopup": "menu",
10876
+ "aria-expanded": isOpen,
10877
+ "aria-controls": dropdownId,
10878
+ tabIndex: 0
10879
+ };
10880
+ triggerContent = React__default.default.cloneElement(child, triggerProps);
10881
+ } else "DropdownMenu" === component.displayName && (menuContentNode = child);
10882
+ }
10866
10883
  })) : (
10867
10884
  // Legacy mode
10868
10885
  triggerContent = jsxRuntime.jsx("div", {
@@ -12236,7 +12253,7 @@ const EdgePanelComponentBase = ({title: title, children: children, position: pos
12236
12253
  }, panelContent = React__default.default.Children.toArray(children).some((child => {
12237
12254
  var _context;
12238
12255
 
12239
- return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "EdgePanelHeader", "EdgePanelBody", "EdgePanelFooter" ]).call(_context, child.type.displayName);
12256
+ return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "EdgePanelHeader", "EdgePanelBody", "EdgePanelFooter" ]).call(_context, child.type.displayName || "");
12240
12257
  })) ? children : jsxRuntime.jsxs(jsxRuntime.Fragment, {
12241
12258
  children: [ jsxRuntime.jsxs("div", {
12242
12259
  className: "c-edge-panel__header",
@@ -12402,11 +12419,6 @@ const FormGroup = ({children: children, label: label, helperText: helperText, ht
12402
12419
  });
12403
12420
  };
12404
12421
 
12405
- /**
12406
- * Input state and functionality
12407
- * @param initialProps - Initial input properties
12408
- * @returns Input state and methods
12409
- */
12410
12422
  function useInput(initialProps) {
12411
12423
  // Default input properties
12412
12424
  const defaultProps = {
@@ -15370,11 +15382,12 @@ const ModalImpl = React.memo((({children: children, isOpen: isOpen = !1, onOpen
15370
15382
  const modalClasses = [ "c-modal", isOpenState ? MODAL.CLASSES.IS_OPEN : "", size ? `c-modal--${size}` : "", glass ? "c-modal--glass" : "", className ].filter(Boolean).join(" "), hasCompoundComponents = React__default.default.Children.toArray(children).some((child => {
15371
15383
  var _context;
15372
15384
 
15373
- return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "ModalHeader", "ModalBody", "ModalFooter" ]).call(_context, child.type.displayName);
15385
+ return React__default.default.isValidElement(child) && _includesInstanceProperty(_context = [ "ModalHeader", "ModalBody", "ModalFooter" ]).call(_context, child.type.displayName || "");
15374
15386
  })), modalContent = jsxRuntime.jsx("div", {
15375
15387
  className: "c-modal__content",
15376
15388
  ref: contentRef,
15377
15389
  children: hasCompoundComponents ? React__default.default.Children.map(children, (child => React__default.default.isValidElement(child) && "ModalHeader" === child.type.displayName ? React__default.default.cloneElement(child, {
15390
+ ...child.props,
15378
15391
  onClose: child.props.onClose || close,
15379
15392
  id: titleId
15380
15393
  }) : child)) : jsxRuntime.jsxs(jsxRuntime.Fragment, {