@shohojdhara/atomix 0.5.5 → 0.5.6
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/README.md +43 -21
- package/dist/atomix.css +647 -1395
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +5 -5
- package/dist/atomix.min.css.map +1 -1
- package/dist/core.d.ts +100 -8
- package/dist/core.js +89 -79
- package/dist/core.js.map +1 -1
- package/dist/forms.js +1 -7
- package/dist/forms.js.map +1 -1
- package/dist/heavy.js +7 -3
- package/dist/heavy.js.map +1 -1
- package/dist/index.d.ts +179 -54
- package/dist/index.esm.js +112 -99
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +112 -99
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Accordion/Accordion.tsx +40 -25
- package/src/components/Breadcrumb/Breadcrumb.tsx +22 -13
- package/src/components/Button/Button.tsx +4 -5
- package/src/components/Callout/Callout.tsx +98 -96
- package/src/components/Card/Card.tsx +117 -103
- package/src/components/Card/index.ts +7 -5
- package/src/components/Dropdown/Dropdown.tsx +27 -8
- package/src/components/EdgePanel/EdgePanel.tsx +7 -2
- package/src/components/Modal/Modal.tsx +27 -8
- package/src/components/Spinner/Spinner.tsx +60 -43
- package/src/components/Tabs/Tabs.tsx +163 -149
- package/src/lib/composables/useInput.ts +11 -9
- package/src/lib/types/components.ts +84 -0
- package/src/styles/01-settings/_settings.background.scss +2 -1
- package/src/styles/02-tools/_tools.background.scss +100 -294
- package/src/styles/06-components/_components.card.scss +2 -2
- package/src/styles/99-utilities/_utilities.link.scss +4 -5
package/dist/index.esm.js
CHANGED
|
@@ -4431,29 +4431,30 @@ const AccordionImpl = memo((({title: title, children: children, defaultOpen: de
|
|
|
4431
4431
|
}), headerClassNames = generateHeaderClassNames(), panelClassNames = ACCORDION.SELECTORS.PANEL.replace(".", ""), hasCompoundComponents = React.Children.toArray(children).some((child => {
|
|
4432
4432
|
var _context;
|
|
4433
4433
|
|
|
4434
|
-
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "AccordionHeader", "AccordionBody" ]).call(_context, child.type.displayName);
|
|
4434
|
+
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "AccordionHeader", "AccordionBody" ]).call(_context, child.type.displayName || "");
|
|
4435
4435
|
})), content = jsx("div", {
|
|
4436
4436
|
className: generateClassNames(className) + (glass ? " c-accordion--glass" : ""),
|
|
4437
4437
|
style: style,
|
|
4438
4438
|
children: hasCompoundComponents ? React.Children.map(children, (child => {
|
|
4439
4439
|
if ( React.isValidElement(child)) {
|
|
4440
|
+
const childProps = child.props;
|
|
4440
4441
|
if ("AccordionHeader" === child.type.displayName)
|
|
4441
4442
|
return React.cloneElement(child, {
|
|
4442
4443
|
id: buttonId,
|
|
4443
|
-
className: `${headerClassNames} ${
|
|
4444
|
+
className: `${headerClassNames} ${childProps.className || ""}`.trim(),
|
|
4444
4445
|
onClick: e => {
|
|
4445
|
-
toggle(),
|
|
4446
|
+
toggle(), childProps?.onClick?.(e);
|
|
4446
4447
|
},
|
|
4447
4448
|
"aria-expanded": state.isOpen,
|
|
4448
4449
|
"aria-controls": panelId,
|
|
4449
4450
|
"aria-disabled": disabled,
|
|
4450
4451
|
disabled: disabled,
|
|
4451
|
-
iconPosition:
|
|
4452
|
+
iconPosition: childProps.iconPosition || iconPosition
|
|
4452
4453
|
});
|
|
4453
4454
|
if ("AccordionBody" === child.type.displayName)
|
|
4454
4455
|
return React.cloneElement(child, {
|
|
4455
4456
|
id: panelId,
|
|
4456
|
-
className: `${panelClassNames} ${
|
|
4457
|
+
className: `${panelClassNames} ${childProps.className || ""}`.trim(),
|
|
4457
4458
|
"aria-labelledby": buttonId,
|
|
4458
4459
|
panelRef: panelRef,
|
|
4459
4460
|
contentRef: contentRef
|
|
@@ -5133,8 +5134,9 @@ const BreadcrumbComponent = memo((function({items: items, divider: divider, cla
|
|
|
5133
5134
|
const childrenCount = Children.count(children);
|
|
5134
5135
|
content = Children.map(children, ((child, index) => {
|
|
5135
5136
|
if ( isValidElement(child)) {
|
|
5136
|
-
const isLast = index === childrenCount - 1,
|
|
5137
|
-
|
|
5137
|
+
const isLast = index === childrenCount - 1, {active: active, linkAs: linkAs, ...otherProps} = child.props;
|
|
5138
|
+
// Extract props from the child element with proper typing
|
|
5139
|
+
|
|
5138
5140
|
return cloneElement(child, {
|
|
5139
5141
|
active: active ?? (!!isLast || void 0),
|
|
5140
5142
|
linkAs: linkAs ?? linkComponent
|
|
@@ -5181,7 +5183,7 @@ function useSpinner(initialProps) {
|
|
|
5181
5183
|
|
|
5182
5184
|
Breadcrumb.displayName = "Breadcrumb", Breadcrumb.Item = BreadcrumbItem;
|
|
5183
5185
|
|
|
5184
|
-
const Spinner = memo((({size: size = "md", variant: variant = "primary", fullscreen: fullscreen = !1, className: className = "", style: style, glass: glass, "aria-label": ariaLabel, role: role = "status"}) => {
|
|
5186
|
+
const Spinner = memo( 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) => {
|
|
5185
5187
|
const {generateSpinnerClass: generateSpinnerClass} = useSpinner({
|
|
5186
5188
|
size: size,
|
|
5187
5189
|
variant: variant,
|
|
@@ -5192,13 +5194,17 @@ const Spinner = memo((({size: size = "md", variant: variant = "primary", fullsc
|
|
|
5192
5194
|
fullscreen: fullscreen,
|
|
5193
5195
|
className: `${className} ${glass ? "c-spinner--glass" : ""}`.trim()
|
|
5194
5196
|
}), spinnerContent = jsx("div", {
|
|
5197
|
+
ref: ref,
|
|
5195
5198
|
className: spinnerClass,
|
|
5196
5199
|
style: style,
|
|
5197
5200
|
role: role,
|
|
5198
5201
|
"aria-label": ariaLabel || "Loading",
|
|
5202
|
+
"aria-live": ariaLive,
|
|
5203
|
+
"aria-describe": ariaDescribe,
|
|
5204
|
+
...rest,
|
|
5199
5205
|
children: jsx("span", {
|
|
5200
5206
|
className: SPINNER.VISUALLY_HIDDEN,
|
|
5201
|
-
children: ariaLabel || "Loading..."
|
|
5207
|
+
children: ariaLabel || "Loading content..."
|
|
5202
5208
|
})
|
|
5203
5209
|
});
|
|
5204
5210
|
if (glass) {
|
|
@@ -5217,7 +5223,7 @@ const Spinner = memo((({size: size = "md", variant: variant = "primary", fullsc
|
|
|
5217
5223
|
});
|
|
5218
5224
|
}
|
|
5219
5225
|
return spinnerContent;
|
|
5220
|
-
}));
|
|
5226
|
+
})));
|
|
5221
5227
|
|
|
5222
5228
|
Spinner.displayName = "Spinner";
|
|
5223
5229
|
|
|
@@ -5735,7 +5741,7 @@ const Callout = memo((({title: title, children: children, icon: icon, variant:
|
|
|
5735
5741
|
}, calloutContent = React.Children.toArray(children).some((child => {
|
|
5736
5742
|
var _context3;
|
|
5737
5743
|
|
|
5738
|
-
return React.isValidElement(child) && _includesInstanceProperty(_context3 = [ "CalloutIcon", "CalloutMessage", "CalloutTitle", "CalloutText", "CalloutActions", "CalloutContent" ]).call(_context3, child.type.displayName);
|
|
5744
|
+
return React.isValidElement(child) && _includesInstanceProperty(_context3 = [ "CalloutIcon", "CalloutMessage", "CalloutTitle", "CalloutText", "CalloutActions", "CalloutContent" ]).call(_context3, child.type.displayName || "");
|
|
5739
5745
|
})) ? children : jsxs(Fragment, {
|
|
5740
5746
|
children: [ jsxs("div", {
|
|
5741
5747
|
className: "c-callout__content",
|
|
@@ -5820,7 +5826,66 @@ Callout.Icon = CalloutIcon, Callout.Message = CalloutMessage, Callout.Title = Ca
|
|
|
5820
5826
|
Callout.Text = CalloutText, Callout.Actions = CalloutActions, Callout.CloseButton = CalloutCloseButton,
|
|
5821
5827
|
Callout.Content = CalloutContent;
|
|
5822
5828
|
|
|
5823
|
-
const
|
|
5829
|
+
const CardHeader = forwardRef((({title: title, subtitle: subtitle, action: action, icon: icon, children: children, className: className = "", ...props}, ref) => {
|
|
5830
|
+
const headerClasses = `${CARD.SELECTORS.HEADER.substring(1)} ${className}`.trim();
|
|
5831
|
+
return jsxs("div", {
|
|
5832
|
+
ref: ref,
|
|
5833
|
+
className: headerClasses,
|
|
5834
|
+
...props,
|
|
5835
|
+
children: [ icon && jsx("div", {
|
|
5836
|
+
className: CARD.SELECTORS.ICON.substring(1),
|
|
5837
|
+
children: icon
|
|
5838
|
+
}), (title || subtitle) && jsxs("div", {
|
|
5839
|
+
children: [ title && jsx("h3", {
|
|
5840
|
+
className: CARD.SELECTORS.TITLE.substring(1),
|
|
5841
|
+
children: title
|
|
5842
|
+
}), subtitle && jsx("p", {
|
|
5843
|
+
className: CARD.SELECTORS.TEXT.substring(1),
|
|
5844
|
+
children: subtitle
|
|
5845
|
+
}) ]
|
|
5846
|
+
}), action && jsx("div", {
|
|
5847
|
+
className: CARD.SELECTORS.ACTIONS.substring(1),
|
|
5848
|
+
children: action
|
|
5849
|
+
}), children ]
|
|
5850
|
+
});
|
|
5851
|
+
}));
|
|
5852
|
+
|
|
5853
|
+
CardHeader.displayName = "CardHeader";
|
|
5854
|
+
|
|
5855
|
+
const CardBody = forwardRef((({scrollable: scrollable = !1, maxHeight: maxHeight, children: children, className: className = "", style: style, ...props}, ref) => {
|
|
5856
|
+
const bodyClasses = `${CARD.SELECTORS.BODY.substring(1)} ${scrollable ? "c-card__body--scrollable" : ""} ${className}`.trim(), bodyStyle = {
|
|
5857
|
+
...style,
|
|
5858
|
+
...scrollable && maxHeight ? {
|
|
5859
|
+
maxHeight: "number" == typeof maxHeight ? `${maxHeight}px` : maxHeight,
|
|
5860
|
+
overflowY: "auto"
|
|
5861
|
+
} : {}
|
|
5862
|
+
};
|
|
5863
|
+
return jsx("div", {
|
|
5864
|
+
ref: ref,
|
|
5865
|
+
className: bodyClasses,
|
|
5866
|
+
style: bodyStyle,
|
|
5867
|
+
...props,
|
|
5868
|
+
children: children
|
|
5869
|
+
});
|
|
5870
|
+
}));
|
|
5871
|
+
|
|
5872
|
+
CardBody.displayName = "CardBody";
|
|
5873
|
+
|
|
5874
|
+
const CardFooter = forwardRef((({align: align, children: children, className: className = "", style: style, ...props}, ref) => {
|
|
5875
|
+
const footerClasses = `${CARD.SELECTORS.FOOTER.substring(1)} ${align ? `c-card__footer--align-${align}` : ""} ${className}`.trim();
|
|
5876
|
+
return jsx("div", {
|
|
5877
|
+
ref: ref,
|
|
5878
|
+
className: footerClasses,
|
|
5879
|
+
style: style,
|
|
5880
|
+
...props,
|
|
5881
|
+
children: children
|
|
5882
|
+
});
|
|
5883
|
+
}));
|
|
5884
|
+
|
|
5885
|
+
CardFooter.displayName = "CardFooter";
|
|
5886
|
+
|
|
5887
|
+
// Main Card component implementation
|
|
5888
|
+
const CardImpl = React.memo( forwardRef((({
|
|
5824
5889
|
// Variants
|
|
5825
5890
|
size: size = "md", variant: variant = "", appearance: appearance = "filled", elevation: elevation = "none", hoverable: hoverable = !1, hoverElevation: hoverElevation = "md",
|
|
5826
5891
|
// Layout
|
|
@@ -5951,75 +6016,15 @@ className: className = "", style: style, ...rest}, ref) => {
|
|
|
5951
6016
|
}) : divElement;
|
|
5952
6017
|
})));
|
|
5953
6018
|
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
const CardHeader = forwardRef((({title: title, subtitle: subtitle, action: action, icon: icon, children: children, className: className = "", ...props}, ref) => {
|
|
5957
|
-
const headerClasses = `${CARD.SELECTORS.HEADER.substring(1)} ${className}`.trim();
|
|
5958
|
-
return jsxs("div", {
|
|
5959
|
-
ref: ref,
|
|
5960
|
-
className: headerClasses,
|
|
5961
|
-
...props,
|
|
5962
|
-
children: [ icon && jsx("div", {
|
|
5963
|
-
className: CARD.SELECTORS.ICON.substring(1),
|
|
5964
|
-
children: icon
|
|
5965
|
-
}), (title || subtitle) && jsxs("div", {
|
|
5966
|
-
children: [ title && jsx("h3", {
|
|
5967
|
-
className: CARD.SELECTORS.TITLE.substring(1),
|
|
5968
|
-
children: title
|
|
5969
|
-
}), subtitle && jsx("p", {
|
|
5970
|
-
className: CARD.SELECTORS.TEXT.substring(1),
|
|
5971
|
-
children: subtitle
|
|
5972
|
-
}) ]
|
|
5973
|
-
}), action && jsx("div", {
|
|
5974
|
-
className: CARD.SELECTORS.ACTIONS.substring(1),
|
|
5975
|
-
children: action
|
|
5976
|
-
}), children ]
|
|
5977
|
-
});
|
|
5978
|
-
}));
|
|
5979
|
-
|
|
5980
|
-
CardHeader.displayName = "CardHeader";
|
|
6019
|
+
CardImpl.displayName = "Card";
|
|
5981
6020
|
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
...style,
|
|
5985
|
-
...scrollable && maxHeight ? {
|
|
5986
|
-
maxHeight: "number" == typeof maxHeight ? `${maxHeight}px` : maxHeight,
|
|
5987
|
-
overflowY: "auto"
|
|
5988
|
-
} : {}
|
|
5989
|
-
};
|
|
5990
|
-
return jsx("div", {
|
|
5991
|
-
ref: ref,
|
|
5992
|
-
className: bodyClasses,
|
|
5993
|
-
style: bodyStyle,
|
|
5994
|
-
...props,
|
|
5995
|
-
children: children
|
|
5996
|
-
});
|
|
5997
|
-
}));
|
|
6021
|
+
// Create compound component with proper typing
|
|
6022
|
+
const CardWithSubcomponents = CardImpl;
|
|
5998
6023
|
|
|
5999
|
-
|
|
6024
|
+
CardWithSubcomponents.Header = CardHeader, CardWithSubcomponents.Body = CardBody,
|
|
6025
|
+
CardWithSubcomponents.Footer = CardFooter;
|
|
6000
6026
|
|
|
6001
|
-
const
|
|
6002
|
-
const footerClasses = `${CARD.SELECTORS.FOOTER.substring(1)} ${align ? `c-card__footer--align-${align}` : ""} ${className}`.trim();
|
|
6003
|
-
return jsx("div", {
|
|
6004
|
-
ref: ref,
|
|
6005
|
-
className: footerClasses,
|
|
6006
|
-
style: style,
|
|
6007
|
-
...props,
|
|
6008
|
-
children: children
|
|
6009
|
-
});
|
|
6010
|
-
}));
|
|
6011
|
-
|
|
6012
|
-
CardFooter.displayName = "CardFooter",
|
|
6013
|
-
// Attach subcomponents to Card
|
|
6014
|
-
Card.Header = CardHeader, Card.Body = CardBody, Card.Footer = CardFooter;
|
|
6015
|
-
|
|
6016
|
-
/**
|
|
6017
|
-
* Hook for managing Card component state and behaviors
|
|
6018
|
-
*
|
|
6019
|
-
* @param options - Configuration options for the card
|
|
6020
|
-
* @returns Card state and handlers
|
|
6021
|
-
*/
|
|
6022
|
-
const ElevationCard = ({elevationClass: elevationClass = "is-elevated", className: className = "", style: style, children: children, onClick: onClick, ...props}) => {
|
|
6027
|
+
const Card = CardWithSubcomponents, ElevationCard = ({elevationClass: elevationClass = "is-elevated", className: className = "", style: style, children: children, onClick: onClick, ...props}) => {
|
|
6023
6028
|
const {getCardProps: getCardProps} = ((options = {}) => {
|
|
6024
6029
|
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 = useRef(null), frontRef = useRef(null), backRef = useRef(null), [isFlipped, setIsFlipped] = useState(!1), [isElevated, setIsElevated] = useState(!1), [isFocused, setIsFocused] = useState(!1), [isHovered, setIsHovered] = useState(!1), handleClick = useCallback((event => {
|
|
6025
6030
|
flipEffect && "click" === flipTrigger && setIsFlipped((prev => !prev)), onClick && onClick(event);
|
|
@@ -6090,6 +6095,12 @@ const ElevationCard = ({elevationClass: elevationClass = "is-elevated", classNam
|
|
|
6090
6095
|
});
|
|
6091
6096
|
};
|
|
6092
6097
|
|
|
6098
|
+
/**
|
|
6099
|
+
* Hook for managing Card component state and behaviors
|
|
6100
|
+
*
|
|
6101
|
+
* @param options - Configuration options for the card
|
|
6102
|
+
* @returns Card state and handlers
|
|
6103
|
+
*/
|
|
6093
6104
|
/**
|
|
6094
6105
|
* Comprehensive chart hook with shared functionality
|
|
6095
6106
|
* @param initialProps - Initial chart properties
|
|
@@ -10840,23 +10851,29 @@ const DropdownStyleContext = createContext({}), Dropdown = memo((function({chi
|
|
|
10840
10851
|
React.Children.toArray(children).some((child => {
|
|
10841
10852
|
var _context;
|
|
10842
10853
|
|
|
10843
|
-
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "DropdownTrigger", "DropdownMenu" ]).call(_context, child.type.displayName);
|
|
10854
|
+
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "DropdownTrigger", "DropdownMenu" ]).call(_context, child.type.displayName || "");
|
|
10844
10855
|
})) ?
|
|
10845
10856
|
// Find Trigger and Menu in children
|
|
10846
10857
|
React.Children.forEach(children, (child => {
|
|
10847
|
-
|
|
10848
|
-
|
|
10849
|
-
|
|
10850
|
-
|
|
10851
|
-
|
|
10852
|
-
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
10859
|
-
|
|
10858
|
+
if ( React.isValidElement(child)) {
|
|
10859
|
+
const component = child.type;
|
|
10860
|
+
if ("DropdownTrigger" === component.displayName) {
|
|
10861
|
+
const triggerProps = {
|
|
10862
|
+
ref: toggleRef,
|
|
10863
|
+
onClick: e => {
|
|
10864
|
+
handleToggleClick(e), child.props.onClick?.(e);
|
|
10865
|
+
},
|
|
10866
|
+
onKeyDown: e => {
|
|
10867
|
+
handleToggleKeyDown(e), child.props.onKeyDown?.(e);
|
|
10868
|
+
},
|
|
10869
|
+
"aria-haspopup": "menu",
|
|
10870
|
+
"aria-expanded": isOpen,
|
|
10871
|
+
"aria-controls": dropdownId,
|
|
10872
|
+
tabIndex: 0
|
|
10873
|
+
};
|
|
10874
|
+
triggerContent = React.cloneElement(child, triggerProps);
|
|
10875
|
+
} else "DropdownMenu" === component.displayName && (menuContentNode = child);
|
|
10876
|
+
}
|
|
10860
10877
|
})) : (
|
|
10861
10878
|
// Legacy mode
|
|
10862
10879
|
triggerContent = jsx("div", {
|
|
@@ -12230,7 +12247,7 @@ const EdgePanel = memo((({title: title, children: children, position: position
|
|
|
12230
12247
|
}, panelContent = React.Children.toArray(children).some((child => {
|
|
12231
12248
|
var _context;
|
|
12232
12249
|
|
|
12233
|
-
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "EdgePanelHeader", "EdgePanelBody", "EdgePanelFooter" ]).call(_context, child.type.displayName);
|
|
12250
|
+
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "EdgePanelHeader", "EdgePanelBody", "EdgePanelFooter" ]).call(_context, child.type.displayName || "");
|
|
12234
12251
|
})) ? children : jsxs(Fragment, {
|
|
12235
12252
|
children: [ jsxs("div", {
|
|
12236
12253
|
className: "c-edge-panel__header",
|
|
@@ -12396,11 +12413,6 @@ const FormGroup = ({children: children, label: label, helperText: helperText, ht
|
|
|
12396
12413
|
});
|
|
12397
12414
|
};
|
|
12398
12415
|
|
|
12399
|
-
/**
|
|
12400
|
-
* Input state and functionality
|
|
12401
|
-
* @param initialProps - Initial input properties
|
|
12402
|
-
* @returns Input state and methods
|
|
12403
|
-
*/
|
|
12404
12416
|
function useInput(initialProps) {
|
|
12405
12417
|
// Default input properties
|
|
12406
12418
|
const defaultProps = {
|
|
@@ -15359,11 +15371,12 @@ const ModalImpl = memo((({children: children, isOpen: isOpen = !1, onOpenChange
|
|
|
15359
15371
|
const modalClasses = [ "c-modal", isOpenState ? MODAL.CLASSES.IS_OPEN : "", size ? `c-modal--${size}` : "", glass ? "c-modal--glass" : "", className ].filter(Boolean).join(" "), hasCompoundComponents = React.Children.toArray(children).some((child => {
|
|
15360
15372
|
var _context;
|
|
15361
15373
|
|
|
15362
|
-
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "ModalHeader", "ModalBody", "ModalFooter" ]).call(_context, child.type.displayName);
|
|
15374
|
+
return React.isValidElement(child) && _includesInstanceProperty(_context = [ "ModalHeader", "ModalBody", "ModalFooter" ]).call(_context, child.type.displayName || "");
|
|
15363
15375
|
})), modalContent = jsx("div", {
|
|
15364
15376
|
className: "c-modal__content",
|
|
15365
15377
|
ref: contentRef,
|
|
15366
15378
|
children: hasCompoundComponents ? React.Children.map(children, (child => React.isValidElement(child) && "ModalHeader" === child.type.displayName ? React.cloneElement(child, {
|
|
15379
|
+
...child.props,
|
|
15367
15380
|
onClose: child.props.onClose || close,
|
|
15368
15381
|
id: titleId
|
|
15369
15382
|
}) : child)) : jsxs(Fragment, {
|