@allxsmith/bestax-bulma 2.3.2 → 2.3.3

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/dist/index.esm.js CHANGED
@@ -760,12 +760,63 @@ const MessageWithSubComponents = MessageComponent;
760
760
  MessageWithSubComponents.Header = MessageHeader;
761
761
  MessageWithSubComponents.Body = MessageBody;
762
762
 
763
- const Modal = ({ active = false, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
763
+ const ModalBackground = ({ className, ...props }) => {
764
+ const classes = classNames('modal-background', className);
765
+ return jsx("div", { className: classes, ...props });
766
+ };
767
+ const ModalContent = ({ className, ...props }) => {
768
+ const classes = classNames('modal-content', className);
769
+ return jsx("div", { className: classes, ...props });
770
+ };
771
+ const ModalCardHead = ({ className, ...props }) => {
772
+ const classes = classNames('modal-card-head', className);
773
+ return jsx("header", { className: classes, ...props });
774
+ };
775
+ const ModalCardTitle = ({ className, ...props }) => {
776
+ const classes = classNames('modal-card-title', className);
777
+ return jsx("p", { className: classes, ...props });
778
+ };
779
+ const ModalCardBody = ({ className, ...props }) => {
780
+ const classes = classNames('modal-card-body', className);
781
+ return jsx("section", { className: classes, ...props });
782
+ };
783
+ const ModalCardFoot = ({ className, ...props }) => {
784
+ const classes = classNames('modal-card-foot', className);
785
+ return jsx("footer", { className: classes, ...props });
786
+ };
787
+ const ModalCard = ({ className, ...props }) => {
788
+ const classes = classNames('modal-card', className);
789
+ return jsx("div", { className: classes, ...props });
790
+ };
791
+ ModalCard.Head = ModalCardHead;
792
+ ModalCard.Title = ModalCardTitle;
793
+ ModalCard.Body = ModalCardBody;
794
+ ModalCard.Foot = ModalCardFoot;
795
+ const ModalClose = ({ className, size = 'large', variant = 'delete', ...props }) => {
796
+ const classes = classNames(variant === 'delete' ? 'delete' : 'modal-close', variant === 'floating' && size && `is-${size}`, className);
797
+ return (jsx("button", { className: classes, "aria-label": "close", type: "button", ...props }));
798
+ };
799
+ const ModalRoot = ({ active, isActive, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
800
+ var _a;
764
801
  const { bulmaHelperClasses, rest } = useBulmaClasses({
765
802
  color: textColor,
766
803
  backgroundColor: bgColor,
767
804
  ...props,
768
805
  });
806
+ const isModalActive = (_a = active !== null && active !== void 0 ? active : isActive) !== null && _a !== void 0 ? _a : false;
807
+ const hasCompoundComponents = React.Children.toArray(children).some(child => React.isValidElement(child) &&
808
+ (child.type === ModalBackground ||
809
+ child.type === ModalContent ||
810
+ child.type === ModalCard ||
811
+ child.type === ModalClose));
812
+ const bulmaClasses = usePrefixedClassNames('modal', {
813
+ 'is-active': isModalActive,
814
+ });
815
+ const deleteClass = usePrefixedClassNames('delete');
816
+ const modalClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
817
+ if (hasCompoundComponents) {
818
+ return (jsx("div", { className: modalClasses, ...rest, "data-testid": "modal", children: children }));
819
+ }
769
820
  let isModalCard;
770
821
  if (type === 'card')
771
822
  isModalCard = true;
@@ -773,13 +824,13 @@ const Modal = ({ active = false, onClose, className, textColor, bgColor, modalCa
773
824
  isModalCard = false;
774
825
  else
775
826
  isModalCard = !!modalCardTitle || !!modalCardFoot;
776
- const bulmaClasses = usePrefixedClassNames('modal', {
777
- 'is-active': active,
778
- });
779
- const deleteClass = usePrefixedClassNames('delete');
780
- const modalClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
781
827
  return (jsxs("div", { className: modalClasses, ...rest, "data-testid": "modal", children: [jsx("div", { className: "modal-background", onClick: onClose, "data-testid": "modal-background" }), isModalCard ? (jsxs("div", { className: "modal-card", children: [modalCardTitle && (jsxs("header", { className: "modal-card-head", children: [jsx("p", { className: "modal-card-title", children: modalCardTitle }), onClose && (jsx("button", { className: deleteClass, "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close" }))] })), jsx("section", { className: "modal-card-body", "data-testid": "modal-body", children: children }), modalCardFoot && (jsx("footer", { className: "modal-card-foot", children: modalCardFoot }))] })) : (jsx("div", { className: "modal-content", "data-testid": "modal-content", children: children })), (!isModalCard || (!modalCardTitle && onClose)) && onClose && (jsx("button", { className: "modal-close is-large", "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close-float" }))] }));
782
828
  };
829
+ ModalRoot.Background = ModalBackground;
830
+ ModalRoot.Content = ModalContent;
831
+ ModalRoot.Card = ModalCard;
832
+ ModalRoot.Close = ModalClose;
833
+ const Modal = ModalRoot;
783
834
 
784
835
  const Navbar = ({ className, textColor, bgColor, color, transparent, fixed, children, ...props }) => {
785
836
  const { bulmaHelperClasses, rest } = useBulmaClasses({