@allxsmith/bestax-bulma 2.3.2 → 2.4.0

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.cjs.js CHANGED
@@ -570,11 +570,11 @@ const Breadcrumb = ({ className, alignment, separator, size, children, ...props
570
570
  return (jsxRuntime.jsx("nav", { className: breadcrumbClasses, "aria-label": "breadcrumbs", ...rest, children: jsxRuntime.jsx("ul", { children: children }) }));
571
571
  };
572
572
 
573
- const renderFooter = (footer) => {
573
+ const renderFooter = (footer, classPrefix) => {
574
574
  if (!footer)
575
575
  return null;
576
576
  const items = Array.isArray(footer) ? footer : [footer];
577
- return items.map((item, idx) => (jsxRuntime.jsx("span", { className: "card-footer-item", children: item }, idx)));
577
+ return items.map((item, idx) => (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'card-footer-item'), children: item }, idx)));
578
578
  };
579
579
  const hasCompoundComponents = (children) => {
580
580
  return React.Children.toArray(children).some(child => {
@@ -589,6 +589,7 @@ const hasCompoundComponents = (children) => {
589
589
  });
590
590
  };
591
591
  const CardComponent = ({ className, children, textColor, bgColor, hasShadow = true, header, headerCentered, headerIcon, footer, image, imageAlt, ...props }) => {
592
+ const { classPrefix } = useConfig();
592
593
  const { bulmaHelperClasses, rest } = useBulmaClasses({
593
594
  color: textColor,
594
595
  backgroundColor: bgColor,
@@ -598,36 +599,42 @@ const CardComponent = ({ className, children, textColor, bgColor, hasShadow = tr
598
599
  'is-shadowless': !hasShadow,
599
600
  });
600
601
  const cardClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
601
- const renderHeader = (header, headerIcon, headerCentered) => {
602
+ const renderHeader = (header, headerIcon, headerCentered, classPrefix) => {
602
603
  if (!header && !headerIcon)
603
604
  return null;
604
- return (jsxRuntime.jsxs("header", { className: "card-header", children: [header && (jsxRuntime.jsx("div", { className: classNames('card-header-title', {
605
+ return (jsxRuntime.jsxs("header", { className: prefixedClassNames(classPrefix, 'card-header'), children: [header && (jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'card-header-title', {
605
606
  'is-centered': headerCentered,
606
607
  }), children: header })), headerIcon] }));
607
608
  };
608
- return (jsxRuntime.jsxs("div", { className: cardClasses, ...rest, children: [renderHeader(header, headerIcon, headerCentered), image && (jsxRuntime.jsx("div", { className: "card-image", children: typeof image === 'string' ? (jsxRuntime.jsx("figure", { className: "image", children: jsxRuntime.jsx("img", { src: image, alt: imageAlt !== null && imageAlt !== void 0 ? imageAlt : 'Card image' }) })) : (image) })), typeof children !== 'undefined' &&
609
+ return (jsxRuntime.jsxs("div", { className: cardClasses, ...rest, children: [renderHeader(header, headerIcon, headerCentered, classPrefix), image && (jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'card-image'), children: typeof image === 'string' ? (jsxRuntime.jsx("figure", { className: prefixedClassNames(classPrefix, 'image'), children: jsxRuntime.jsx("img", { src: image, alt: imageAlt !== null && imageAlt !== void 0 ? imageAlt : 'Card image' }) })) : (image) })), typeof children !== 'undefined' &&
609
610
  children !== null &&
610
611
  children !== '' &&
611
- !hasCompoundComponents(children) && (jsxRuntime.jsx("div", { className: "card-content", children: children })), typeof children !== 'undefined' &&
612
+ !hasCompoundComponents(children) && (jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'card-content'), children: children })), typeof children !== 'undefined' &&
612
613
  children !== null &&
613
614
  children !== '' &&
614
615
  hasCompoundComponents(children) &&
615
- children, footer && (jsxRuntime.jsx("footer", { className: "card-footer", children: renderFooter(footer) }))] }));
616
+ children, footer && (jsxRuntime.jsx("footer", { className: prefixedClassNames(classPrefix, 'card-footer'), children: Array.isArray(footer)
617
+ ? footer.map((item, idx) => (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'card-footer-item'), children: item }, idx)))
618
+ : footer && (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'card-footer-item'), children: footer })) }))] }));
616
619
  };
617
620
  const CardHeader = ({ className, children, centered, ...props }) => {
621
+ const { classPrefix } = useConfig();
618
622
  const hasHeaderTitle = React.Children.toArray(children).some(child => React.isValidElement(child) &&
619
623
  typeof child.type === 'function' &&
620
624
  child.type === CardHeaderTitle);
621
- return (jsxRuntime.jsx("header", { className: classNames('card-header', className), ...props, children: hasHeaderTitle ? (children) : (jsxRuntime.jsx("div", { className: classNames('card-header-title', {
625
+ const headerClasses = usePrefixedClassNames('card-header');
626
+ return (jsxRuntime.jsx("header", { className: classNames(headerClasses, className), ...props, children: hasHeaderTitle ? (children) : (jsxRuntime.jsx("div", { className: classNames(prefixedClassNames(classPrefix, 'card-header-title', {
622
627
  'is-centered': centered,
623
- }), children: children })) }));
624
- };
625
- const CardHeaderTitle = ({ className, children, centered, ...props }) => (jsxRuntime.jsx("div", { className: classNames('card-header-title', { 'is-centered': centered }, className), ...props, children: children }));
626
- const CardHeaderIcon = ({ className, children, ...props }) => (jsxRuntime.jsx("button", { className: classNames('card-header-icon', className), "aria-label": props['aria-label'] || 'more options', ...props, children: children }));
627
- const CardImage = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames('card-image', className), ...props, children: children }));
628
- const CardContent = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames('card-content', className), ...props, children: children }));
629
- const CardFooter = ({ className, children, ...props }) => (jsxRuntime.jsx("footer", { className: classNames('card-footer', className), ...props, children: children }));
630
- const CardFooterItem = ({ className, children, ...props }) => (jsxRuntime.jsx("span", { className: classNames('card-footer-item', className), ...props, children: children }));
628
+ }), className), children: children })) }));
629
+ };
630
+ const CardHeaderTitle = ({ className, children, centered, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('card-header-title', {
631
+ 'is-centered': centered,
632
+ }), className), ...props, children: children }));
633
+ const CardHeaderIcon = ({ className, children, ...props }) => (jsxRuntime.jsx("button", { className: classNames(usePrefixedClassNames('card-header-icon'), className), "aria-label": props['aria-label'] || 'more options', ...props, children: children }));
634
+ const CardImage = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('card-image'), className), ...props, children: children }));
635
+ const CardContent = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('card-content'), className), ...props, children: children }));
636
+ const CardFooter = ({ className, children, ...props }) => (jsxRuntime.jsx("footer", { className: classNames(usePrefixedClassNames('card-footer'), className), ...props, children: children }));
637
+ const CardFooterItem = ({ className, children, ...props }) => (jsxRuntime.jsx("span", { className: classNames(usePrefixedClassNames('card-footer-item'), className), ...props, children: children }));
631
638
  const CardWithSubComponents = CardComponent;
632
639
  const CardHeaderWithTitle = CardHeader;
633
640
  CardHeaderWithTitle.Title = CardHeaderTitle;
@@ -685,13 +692,15 @@ const DropdownComponent = ({ label, children, className, menuClassName, active:
685
692
  }
686
693
  };
687
694
  const dropdownClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
688
- return (jsxRuntime.jsxs("div", { className: dropdownClasses, ref: dropdownRef, id: id, "data-testid": "dropdown-root", ...rest, children: [jsxRuntime.jsx("div", { className: "dropdown-trigger", children: jsxRuntime.jsxs("button", { className: buttonClass, "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, disabled: disabled, type: "button", children: [jsxRuntime.jsx("span", { children: label }), jsxRuntime.jsx("span", { className: "icon is-small", "aria-hidden": "true", children: jsxRuntime.jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsxRuntime.jsx("div", { className: classNames('dropdown-menu', menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", children: jsxRuntime.jsx("div", { className: "dropdown-content", onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
695
+ return (jsxRuntime.jsxs("div", { className: dropdownClasses, ref: dropdownRef, id: id, "data-testid": "dropdown-root", ...rest, children: [jsxRuntime.jsx("div", { className: usePrefixedClassNames('dropdown-trigger'), children: jsxRuntime.jsxs("button", { className: buttonClass, "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, disabled: disabled, type: "button", children: [jsxRuntime.jsx("span", { children: label }), jsxRuntime.jsx("span", { className: usePrefixedClassNames('icon', 'is-small'), "aria-hidden": "true", children: jsxRuntime.jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('dropdown-menu'), menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", children: jsxRuntime.jsx("div", { className: usePrefixedClassNames('dropdown-content'), onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
689
696
  };
690
697
  const DropdownItem = ({ children, active, className, as: Component = 'a', ...props }) => {
691
698
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
692
- return (jsxRuntime.jsx(Component, { className: classNames('dropdown-item', bulmaHelperClasses, { 'is-active': active }, className), tabIndex: 0, role: "menuitem", "data-testid": "dropdown-item", ...rest, children: children }));
699
+ return (jsxRuntime.jsx(Component, { className: classNames(usePrefixedClassNames('dropdown-item', {
700
+ 'is-active': active,
701
+ }), bulmaHelperClasses, className), tabIndex: 0, role: "menuitem", "data-testid": "dropdown-item", ...rest, children: children }));
693
702
  };
694
- const DropdownDivider = () => (jsxRuntime.jsx("hr", { className: "dropdown-divider" }));
703
+ const DropdownDivider = () => (jsxRuntime.jsx("hr", { className: usePrefixedClassNames('dropdown-divider') }));
695
704
  const Dropdown = Object.assign(DropdownComponent, {
696
705
  Item: DropdownItem,
697
706
  Divider: DropdownDivider,
@@ -705,19 +714,19 @@ const MenuComponent = ({ className, children, ...props }) => {
705
714
  };
706
715
  const MenuLabel = ({ className, children, ...props }) => {
707
716
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
708
- return (jsxRuntime.jsx("p", { className: classNames('menu-label', className, bulmaHelperClasses), ...rest, children: children }));
717
+ return (jsxRuntime.jsx("p", { className: classNames(usePrefixedClassNames('menu-label'), className, bulmaHelperClasses), ...rest, children: children }));
709
718
  };
710
719
  const MenuList = ({ className, children, ...props }) => {
711
720
  const level = React.useContext(MenuListLevelContext);
712
721
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
713
722
  const ulClass = classNames(className, bulmaHelperClasses, {
714
- 'menu-list': level === 0,
723
+ [usePrefixedClassNames('menu-list')]: level === 0,
715
724
  });
716
725
  return (jsxRuntime.jsx(MenuListLevelContext.Provider, { value: level + 1, children: jsxRuntime.jsx("ul", { className: ulClass, ...rest, children: children }) }));
717
726
  };
718
727
  const MenuItem = ({ className, children, active, href, as: Component = 'a', 'data-testid': testId, ...rest }) => {
719
728
  const { bulmaHelperClasses, rest: bulmaRest } = useBulmaClasses(rest);
720
- const itemClass = classNames({ 'is-active': active }, bulmaHelperClasses);
729
+ const itemClass = classNames({ [usePrefixedClassNames('is-active')]: active }, bulmaHelperClasses);
721
730
  const { style, id, title, role, tabIndex, ...linkProps } = bulmaRest;
722
731
  const labelChildren = [];
723
732
  const nestedMenuLists = [];
@@ -744,6 +753,7 @@ const Menu = Object.assign(MenuComponent, {
744
753
  });
745
754
 
746
755
  const MessageComponent = ({ className, title, textColor, color, bgColor, onClose, children, ...props }) => {
756
+ const { classPrefix } = useConfig();
747
757
  const { bulmaHelperClasses, rest } = useBulmaClasses({
748
758
  color: textColor,
749
759
  backgroundColor: bgColor,
@@ -754,20 +764,72 @@ const MessageComponent = ({ className, title, textColor, color, bgColor, onClose
754
764
  });
755
765
  const deleteClass = usePrefixedClassNames('delete');
756
766
  const messageClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
757
- return (jsxRuntime.jsxs("article", { className: messageClasses, ...rest, "data-testid": "message", children: [(title || onClose) && (jsxRuntime.jsxs("div", { className: "message-header", children: [title && jsxRuntime.jsx("span", { children: title }), onClose && (jsxRuntime.jsx("button", { className: deleteClass, "aria-label": "delete", onClick: onClose, type: "button", "data-testid": "message-close" }))] })), children && (jsxRuntime.jsx("div", { className: "message-body", "data-testid": "message-body", children: children }))] }));
767
+ return (jsxRuntime.jsxs("article", { className: messageClasses, ...rest, "data-testid": "message", children: [(title || onClose) && (jsxRuntime.jsxs("div", { className: prefixedClassNames(classPrefix, 'message-header'), children: [title && jsxRuntime.jsx("span", { children: title }), onClose && (jsxRuntime.jsx("button", { className: deleteClass, "aria-label": "delete", onClick: onClose, type: "button", "data-testid": "message-close" }))] })), children && (jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'message-body'), "data-testid": "message-body", children: children }))] }));
758
768
  };
759
- const MessageHeader = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames('message-header', className), ...props, children: children }));
760
- const MessageBody = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames('message-body', className), ...props, children: children }));
769
+ const MessageHeader = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('message-header'), className), ...props, children: children }));
770
+ const MessageBody = ({ className, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('message-body'), className), ...props, children: children }));
761
771
  const MessageWithSubComponents = MessageComponent;
762
772
  MessageWithSubComponents.Header = MessageHeader;
763
773
  MessageWithSubComponents.Body = MessageBody;
764
774
 
765
- const Modal = ({ active = false, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
775
+ const ModalBackground = ({ className, ...props }) => {
776
+ const classes = classNames(usePrefixedClassNames('modal-background'), className);
777
+ return jsxRuntime.jsx("div", { className: classes, ...props });
778
+ };
779
+ const ModalContent = ({ className, ...props }) => {
780
+ const classes = classNames(usePrefixedClassNames('modal-content'), className);
781
+ return jsxRuntime.jsx("div", { className: classes, ...props });
782
+ };
783
+ const ModalCardHead = ({ className, ...props }) => {
784
+ const classes = classNames(usePrefixedClassNames('modal-card-head'), className);
785
+ return jsxRuntime.jsx("header", { className: classes, ...props });
786
+ };
787
+ const ModalCardTitle = ({ className, ...props }) => {
788
+ const classes = classNames(usePrefixedClassNames('modal-card-title'), className);
789
+ return jsxRuntime.jsx("p", { className: classes, ...props });
790
+ };
791
+ const ModalCardBody = ({ className, ...props }) => {
792
+ const classes = classNames(usePrefixedClassNames('modal-card-body'), className);
793
+ return jsxRuntime.jsx("section", { className: classes, ...props });
794
+ };
795
+ const ModalCardFoot = ({ className, ...props }) => {
796
+ const classes = classNames(usePrefixedClassNames('modal-card-foot'), className);
797
+ return jsxRuntime.jsx("footer", { className: classes, ...props });
798
+ };
799
+ const ModalCard = ({ className, ...props }) => {
800
+ const classes = classNames(usePrefixedClassNames('modal-card'), className);
801
+ return jsxRuntime.jsx("div", { className: classes, ...props });
802
+ };
803
+ ModalCard.Head = ModalCardHead;
804
+ ModalCard.Title = ModalCardTitle;
805
+ ModalCard.Body = ModalCardBody;
806
+ ModalCard.Foot = ModalCardFoot;
807
+ const ModalClose = ({ className, size = 'large', variant = 'delete', ...props }) => {
808
+ const classes = classNames(usePrefixedClassNames(variant === 'delete' ? 'delete' : 'modal-close', variant === 'floating' && size && { [`is-${size}`]: true }), className);
809
+ return (jsxRuntime.jsx("button", { className: classes, "aria-label": "close", type: "button", ...props }));
810
+ };
811
+ const ModalRoot = ({ active, isActive, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
812
+ var _a;
813
+ const { classPrefix } = useConfig();
766
814
  const { bulmaHelperClasses, rest } = useBulmaClasses({
767
815
  color: textColor,
768
816
  backgroundColor: bgColor,
769
817
  ...props,
770
818
  });
819
+ const isModalActive = (_a = active !== null && active !== void 0 ? active : isActive) !== null && _a !== void 0 ? _a : false;
820
+ const hasCompoundComponents = React.Children.toArray(children).some(child => React.isValidElement(child) &&
821
+ (child.type === ModalBackground ||
822
+ child.type === ModalContent ||
823
+ child.type === ModalCard ||
824
+ child.type === ModalClose));
825
+ const bulmaClasses = usePrefixedClassNames('modal', {
826
+ 'is-active': isModalActive,
827
+ });
828
+ const deleteClass = usePrefixedClassNames('delete');
829
+ const modalClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
830
+ if (hasCompoundComponents) {
831
+ return (jsxRuntime.jsx("div", { className: modalClasses, ...rest, "data-testid": "modal", children: children }));
832
+ }
771
833
  let isModalCard;
772
834
  if (type === 'card')
773
835
  isModalCard = true;
@@ -775,13 +837,13 @@ const Modal = ({ active = false, onClose, className, textColor, bgColor, modalCa
775
837
  isModalCard = false;
776
838
  else
777
839
  isModalCard = !!modalCardTitle || !!modalCardFoot;
778
- const bulmaClasses = usePrefixedClassNames('modal', {
779
- 'is-active': active,
780
- });
781
- const deleteClass = usePrefixedClassNames('delete');
782
- const modalClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
783
- return (jsxRuntime.jsxs("div", { className: modalClasses, ...rest, "data-testid": "modal", children: [jsxRuntime.jsx("div", { className: "modal-background", onClick: onClose, "data-testid": "modal-background" }), isModalCard ? (jsxRuntime.jsxs("div", { className: "modal-card", children: [modalCardTitle && (jsxRuntime.jsxs("header", { className: "modal-card-head", children: [jsxRuntime.jsx("p", { className: "modal-card-title", children: modalCardTitle }), onClose && (jsxRuntime.jsx("button", { className: deleteClass, "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close" }))] })), jsxRuntime.jsx("section", { className: "modal-card-body", "data-testid": "modal-body", children: children }), modalCardFoot && (jsxRuntime.jsx("footer", { className: "modal-card-foot", children: modalCardFoot }))] })) : (jsxRuntime.jsx("div", { className: "modal-content", "data-testid": "modal-content", children: children })), (!isModalCard || (!modalCardTitle && onClose)) && onClose && (jsxRuntime.jsx("button", { className: "modal-close is-large", "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close-float" }))] }));
840
+ return (jsxRuntime.jsxs("div", { className: modalClasses, ...rest, "data-testid": "modal", children: [jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'modal-background'), onClick: onClose, "data-testid": "modal-background" }), isModalCard ? (jsxRuntime.jsxs("div", { className: prefixedClassNames(classPrefix, 'modal-card'), children: [modalCardTitle && (jsxRuntime.jsxs("header", { className: prefixedClassNames(classPrefix, 'modal-card-head'), children: [jsxRuntime.jsx("p", { className: prefixedClassNames(classPrefix, 'modal-card-title'), children: modalCardTitle }), onClose && (jsxRuntime.jsx("button", { className: deleteClass, "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close" }))] })), jsxRuntime.jsx("section", { className: prefixedClassNames(classPrefix, 'modal-card-body'), "data-testid": "modal-body", children: children }), modalCardFoot && (jsxRuntime.jsx("footer", { className: prefixedClassNames(classPrefix, 'modal-card-foot'), children: modalCardFoot }))] })) : (jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'modal-content'), "data-testid": "modal-content", children: children })), (!isModalCard || (!modalCardTitle && onClose)) && onClose && (jsxRuntime.jsx("button", { className: prefixedClassNames(classPrefix, 'modal-close', 'is-large'), "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close-float" }))] }));
784
841
  };
842
+ ModalRoot.Background = ModalBackground;
843
+ ModalRoot.Content = ModalContent;
844
+ ModalRoot.Card = ModalCard;
845
+ ModalRoot.Close = ModalClose;
846
+ const Modal = ModalRoot;
785
847
 
786
848
  const Navbar = ({ className, textColor, bgColor, color, transparent, fixed, children, ...props }) => {
787
849
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -802,7 +864,7 @@ const NavbarBrand = ({ className, children, textColor, ...props }) => {
802
864
  color: textColor,
803
865
  ...props,
804
866
  });
805
- return (jsxRuntime.jsx("div", { className: classNames('navbar-brand', bulmaHelperClasses, className), ...rest, children: children }));
867
+ return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-brand'), bulmaHelperClasses, className), ...rest, children: children }));
806
868
  };
807
869
  const NavbarItem = ({ className, as: Component = 'a', active, textColor, bgColor, children, ...props }) => {
808
870
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -810,50 +872,50 @@ const NavbarItem = ({ className, as: Component = 'a', active, textColor, bgColor
810
872
  backgroundColor: bgColor,
811
873
  ...props,
812
874
  });
813
- return (jsxRuntime.jsx(Component, { className: classNames('navbar-item', bulmaHelperClasses, className, {
875
+ return (jsxRuntime.jsx(Component, { className: classNames(usePrefixedClassNames('navbar-item', {
814
876
  'is-active': active,
815
- }), ...rest, children: children }));
877
+ }), bulmaHelperClasses, className), ...rest, children: children }));
816
878
  };
817
879
  const NavbarBurger = ({ className, active, children, ...props }) => {
818
880
  var _a;
819
881
  const { bulmaHelperClasses, rest } = useBulmaClasses({
820
882
  ...props,
821
883
  });
822
- return (jsxRuntime.jsxs("button", { type: "button", className: classNames('navbar-burger', bulmaHelperClasses, className, {
884
+ return (jsxRuntime.jsxs("button", { type: "button", className: classNames(usePrefixedClassNames('navbar-burger', {
823
885
  'is-active': active,
824
- }), "aria-label": props['aria-label'] || 'menu', "aria-expanded": (_a = props['aria-expanded']) !== null && _a !== void 0 ? _a : !!active, ...rest, children: [jsxRuntime.jsx("span", { "aria-hidden": "true" }), jsxRuntime.jsx("span", { "aria-hidden": "true" }), jsxRuntime.jsx("span", { "aria-hidden": "true" }), children] }));
886
+ }), bulmaHelperClasses, className), "aria-label": props['aria-label'] || 'menu', "aria-expanded": (_a = props['aria-expanded']) !== null && _a !== void 0 ? _a : !!active, ...rest, children: [jsxRuntime.jsx("span", { "aria-hidden": "true" }), jsxRuntime.jsx("span", { "aria-hidden": "true" }), jsxRuntime.jsx("span", { "aria-hidden": "true" }), children] }));
825
887
  };
826
888
  const NavbarMenu = ({ className, active, children, ...props }) => {
827
889
  const { bulmaHelperClasses, rest } = useBulmaClasses({
828
890
  ...props,
829
891
  });
830
- return (jsxRuntime.jsx("div", { className: classNames('navbar-menu', bulmaHelperClasses, className, {
892
+ return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-menu', {
831
893
  'is-active': active,
832
- }), ...rest, children: children }));
894
+ }), bulmaHelperClasses, className), ...rest, children: children }));
833
895
  };
834
896
  const NavbarStart = ({ className, children, ...props }) => {
835
897
  const { bulmaHelperClasses, rest } = useBulmaClasses({
836
898
  ...props,
837
899
  });
838
- return (jsxRuntime.jsx("div", { className: classNames('navbar-start', bulmaHelperClasses, className), ...rest, children: children }));
900
+ return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-start'), bulmaHelperClasses, className), ...rest, children: children }));
839
901
  };
840
902
  const NavbarEnd = ({ className, children, ...props }) => {
841
903
  const { bulmaHelperClasses, rest } = useBulmaClasses({
842
904
  ...props,
843
905
  });
844
- return (jsxRuntime.jsx("div", { className: classNames('navbar-end', bulmaHelperClasses, className), ...rest, children: children }));
906
+ return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-end'), bulmaHelperClasses, className), ...rest, children: children }));
845
907
  };
846
- const NavbarDropdown = ({ className, right, up, hoverable, active, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames('navbar-item', 'has-dropdown', {
908
+ const NavbarDropdown = ({ className, right, up, hoverable, active, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-item', 'has-dropdown', {
847
909
  'is-right': right,
848
910
  'is-up': up,
849
911
  'is-hoverable': hoverable,
850
912
  'is-active': active,
851
- }, className), ...props, children: children }));
852
- const NavbarDropdownMenu = ({ className, right, up, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames('navbar-dropdown', {
913
+ }), className), ...props, children: children }));
914
+ const NavbarDropdownMenu = ({ className, right, up, children, ...props }) => (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-dropdown', {
853
915
  'is-right': right,
854
916
  'is-up': up,
855
- }, className), ...props, children: children }));
856
- const NavbarDivider = props => jsxRuntime.jsx("hr", { className: "navbar-divider", ...props });
917
+ }), className), ...props, children: children }));
918
+ const NavbarDivider = props => (jsxRuntime.jsx("hr", { className: usePrefixedClassNames('navbar-divider'), ...props }));
857
919
  Navbar.Brand = NavbarBrand;
858
920
  Navbar.Item = NavbarItem;
859
921
  Navbar.Burger = NavbarBurger;
@@ -864,7 +926,7 @@ Navbar.Dropdown = NavbarDropdown;
864
926
  Navbar.DropdownMenu = NavbarDropdownMenu;
865
927
  Navbar.Divider = NavbarDivider;
866
928
 
867
- const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames('pagination-previous', className, {
929
+ const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames(usePrefixedClassNames('pagination-previous'), className, {
868
930
  'is-disabled': disabled,
869
931
  }), "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, ...props, onClick: disabled
870
932
  ? e => {
@@ -872,7 +934,7 @@ const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsx
872
934
  e.stopPropagation();
873
935
  }
874
936
  : props.onClick, children: children }));
875
- const PaginationNext = ({ className, disabled, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames('pagination-next', className, {
937
+ const PaginationNext = ({ className, disabled, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames(usePrefixedClassNames('pagination-next'), className, {
876
938
  'is-disabled': disabled,
877
939
  }), "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, ...props, onClick: disabled
878
940
  ? e => {
@@ -901,7 +963,7 @@ const PaginationList = ({ className, textColor, bgColor, children, ...props }) =
901
963
  backgroundColor: bgColor,
902
964
  ...props,
903
965
  });
904
- return (jsxRuntime.jsx("ul", { className: classNames('pagination-list', bulmaHelperClasses, className), ...rest, children: children }));
966
+ return (jsxRuntime.jsx("ul", { className: classNames(usePrefixedClassNames('pagination-list'), bulmaHelperClasses, className), ...rest, children: children }));
905
967
  };
906
968
  const PaginationLink = ({ className, textColor, bgColor, active, disabled, onClick, children, ...props }) => {
907
969
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -919,12 +981,12 @@ const PaginationLink = ({ className, textColor, bgColor, active, disabled, onCli
919
981
  onClick(e);
920
982
  }
921
983
  };
922
- return (jsxRuntime.jsx("li", { children: jsxRuntime.jsx("a", { className: classNames('pagination-link', bulmaHelperClasses, className, {
984
+ return (jsxRuntime.jsx("li", { children: jsxRuntime.jsx("a", { className: classNames(usePrefixedClassNames('pagination-link'), bulmaHelperClasses, className, {
923
985
  'is-current': active,
924
986
  'is-disabled': disabled,
925
987
  }), "aria-current": active ? 'page' : undefined, "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, onClick: handleClick, ...rest, children: children }) }));
926
988
  };
927
- const PaginationEllipsis = props => (jsxRuntime.jsx("li", { children: jsxRuntime.jsx("span", { className: "pagination-ellipsis", ...props, children: "\u2026" }) }));
989
+ const PaginationEllipsis = props => (jsxRuntime.jsx("li", { children: jsxRuntime.jsx("span", { className: usePrefixedClassNames('pagination-ellipsis'), ...props, children: "\u2026" }) }));
928
990
  Pagination.Link = PaginationLink;
929
991
  Pagination.List = PaginationList;
930
992
  Pagination.Ellipsis = PaginationEllipsis;
@@ -942,16 +1004,16 @@ const Panel = ({ color, className, children, ...props }) => {
942
1004
  const panelClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
943
1005
  return (jsxRuntime.jsx("nav", { className: panelClasses, ...rest, children: children }));
944
1006
  };
945
- const PanelHeading = ({ className, children, ...props }) => (jsxRuntime.jsx("p", { className: classNames('panel-heading', className), ...props, children: children }));
946
- const PanelTabs = ({ className, children, ...props }) => (jsxRuntime.jsx("p", { className: classNames('panel-tabs', className), ...props, children: children }));
947
- const PanelBlock = ({ className, active, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames('panel-block', className, { 'is-active': active }), ...props, children: children }));
948
- const PanelIcon = ({ className, children, ...props }) => (jsxRuntime.jsx("span", { className: classNames('panel-icon', className), ...props, children: children }));
1007
+ const PanelHeading = ({ className, children, ...props }) => (jsxRuntime.jsx("p", { className: classNames(usePrefixedClassNames('panel-heading'), className), ...props, children: children }));
1008
+ const PanelTabs = ({ className, children, ...props }) => (jsxRuntime.jsx("p", { className: classNames(usePrefixedClassNames('panel-tabs'), className), ...props, children: children }));
1009
+ const PanelBlock = ({ className, active, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames(usePrefixedClassNames('panel-block', { 'is-active': active }), className), ...props, children: children }));
1010
+ const PanelIcon = ({ className, children, ...props }) => (jsxRuntime.jsx("span", { className: classNames(usePrefixedClassNames('panel-icon'), className), ...props, children: children }));
949
1011
  const PanelInputBlock = ({ value, onChange, placeholder, iconClassName = 'fas fa-search', ...props }) => {
950
1012
  const inputClass = usePrefixedClassNames('input');
951
- return (jsxRuntime.jsx("div", { className: "panel-block", ...props, children: jsxRuntime.jsxs("p", { className: "control has-icons-left", children: [jsxRuntime.jsx("input", { className: inputClass, type: "text", placeholder: placeholder, value: value, onChange: onChange }), jsxRuntime.jsx("span", { className: "icon is-left", children: jsxRuntime.jsx("i", { className: iconClassName, "aria-hidden": "true" }) })] }) }));
1013
+ return (jsxRuntime.jsx("div", { className: usePrefixedClassNames('panel-block'), ...props, children: jsxRuntime.jsxs("p", { className: usePrefixedClassNames('control', 'has-icons-left'), children: [jsxRuntime.jsx("input", { className: inputClass, type: "text", placeholder: placeholder, value: value, onChange: onChange }), jsxRuntime.jsx("span", { className: usePrefixedClassNames('icon', 'is-left'), children: jsxRuntime.jsx("i", { className: iconClassName, "aria-hidden": "true" }) })] }) }));
952
1014
  };
953
- const PanelCheckboxBlock = ({ checked, onChange, children, ...props }) => (jsxRuntime.jsxs("label", { className: "panel-block", ...props, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: checked, onChange: onChange }), children] }));
954
- const PanelButtonBlock = ({ children, className, ...props }) => (jsxRuntime.jsx("div", { className: "panel-block", children: jsxRuntime.jsx("button", { className: classNames('button is-link is-outlined is-fullwidth', className), ...props, children: children }) }));
1015
+ const PanelCheckboxBlock = ({ checked, onChange, children, ...props }) => (jsxRuntime.jsxs("label", { className: usePrefixedClassNames('panel-block'), ...props, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: checked, onChange: onChange }), children] }));
1016
+ const PanelButtonBlock = ({ children, className, ...props }) => (jsxRuntime.jsx("div", { className: usePrefixedClassNames('panel-block'), children: jsxRuntime.jsx("button", { className: classNames(usePrefixedClassNames('button', 'is-link', 'is-outlined', 'is-fullwidth'), className), ...props, children: children }) }));
955
1017
  Panel.Heading = PanelHeading;
956
1018
  Panel.Tabs = PanelTabs;
957
1019
  Panel.Block = PanelBlock;
@@ -977,7 +1039,7 @@ const Tabs = ({ align, size, fullwidth, boxed, toggle, rounded, color, className
977
1039
  return (jsxRuntime.jsx("div", { className: tabsClass, ...rest, children: children }));
978
1040
  };
979
1041
  const TabList = ({ className, children, ...props }) => (jsxRuntime.jsx("ul", { className: classNames(className), ...props, children: children }));
980
- const TabItem = ({ active, className, children, onClick, ...props }) => (jsxRuntime.jsx("li", { className: classNames({ 'is-active': active }, className), onClick: onClick, ...props, children: children }));
1042
+ const TabItem = ({ active, className, children, onClick, ...props }) => (jsxRuntime.jsx("li", { className: classNames({ [usePrefixedClassNames('is-active')]: active }, className), onClick: onClick, ...props, children: children }));
981
1043
  Tabs.List = TabList;
982
1044
  Tabs.Item = TabItem;
983
1045
 
@@ -1485,6 +1547,7 @@ const Checkboxes = ({ children, className, ...props }) => {
1485
1547
  const allowedColors = [...validColors, 'inherit', 'current'];
1486
1548
  const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isLoading, isExpanded, size, textColor, bgColor, iconLeft, iconRight, iconLeftName, iconLeftSize, iconRightName, iconRightSize, className, children, ...props }, ref) => {
1487
1549
  const Component = (as === 'p' ? 'p' : 'div');
1550
+ const { classPrefix } = useConfig();
1488
1551
  const { textColor: _ignoredTextColor, bgColor: _ignoredBgColor, ...restProps } = props;
1489
1552
  const safeTextColor = allowedColors.includes(textColor)
1490
1553
  ? textColor
@@ -1519,7 +1582,7 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1519
1582
  [`is-${size}`]: !!size,
1520
1583
  });
1521
1584
  const controlClass = classNames(mainClass, bulmaHelperClasses, className);
1522
- return (jsxRuntime.jsxs(Component, { className: controlClass, ref: ref, ...restProps, ...rest, children: [children, leftIconProps && leftIconProps.name && (jsxRuntime.jsx(Icon, { ...leftIconProps, className: "is-left" })), rightIconProps && rightIconProps.name && (jsxRuntime.jsx(Icon, { ...rightIconProps, className: "is-right" }))] }));
1585
+ return (jsxRuntime.jsxs(Component, { className: controlClass, ref: ref, ...restProps, ...rest, children: [children, leftIconProps && leftIconProps.name && (jsxRuntime.jsx(Icon, { ...leftIconProps, className: prefixedClassNames(classPrefix, 'is-left') })), rightIconProps && rightIconProps.name && (jsxRuntime.jsx(Icon, { ...rightIconProps, className: prefixedClassNames(classPrefix, 'is-right') }))] }));
1523
1586
  });
1524
1587
  Control.displayName = 'Control';
1525
1588
 
@@ -1592,19 +1655,20 @@ Field.Label = FieldLabel;
1592
1655
  Field.Body = FieldBody;
1593
1656
 
1594
1657
  const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentered, hasName, label, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
1658
+ const { classPrefix } = useConfig();
1595
1659
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1596
1660
  color,
1597
1661
  ...props,
1598
1662
  });
1599
1663
  let alignmentClass;
1600
1664
  if (isRight && isCentered) {
1601
- alignmentClass = 'is-right';
1665
+ alignmentClass = prefixedClassNames(classPrefix, 'is-right');
1602
1666
  }
1603
1667
  else if (isRight) {
1604
- alignmentClass = 'is-right';
1668
+ alignmentClass = prefixedClassNames(classPrefix, 'is-right');
1605
1669
  }
1606
1670
  else if (isCentered) {
1607
- alignmentClass = 'is-centered';
1671
+ alignmentClass = prefixedClassNames(classPrefix, 'is-centered');
1608
1672
  }
1609
1673
  const mainClass = usePrefixedClassNames('file', {
1610
1674
  [`is-${color}`]: !!color,
@@ -1614,7 +1678,7 @@ const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isC
1614
1678
  'has-name': hasName,
1615
1679
  });
1616
1680
  const fileClass = classNames(mainClass, bulmaHelperClasses, alignmentClass, className);
1617
- return (jsxRuntime.jsx("div", { className: fileClass, children: jsxRuntime.jsxs("label", { className: "file-label", children: [jsxRuntime.jsx("input", { ref: ref, className: classNames('file-input', inputClassName), type: "file", ...rest }), jsxRuntime.jsxs("span", { className: "file-cta", children: [iconLeft && jsxRuntime.jsx("span", { className: "file-icon", children: iconLeft }), jsxRuntime.jsx("span", { className: "file-label", children: label || 'Choose a file…' }), iconRight && jsxRuntime.jsx("span", { className: "file-icon", children: iconRight })] }), hasName && fileName && jsxRuntime.jsx("span", { className: "file-name", children: fileName })] }) }));
1681
+ return (jsxRuntime.jsx("div", { className: fileClass, children: jsxRuntime.jsxs("label", { className: usePrefixedClassNames('file-label'), children: [jsxRuntime.jsx("input", { ref: ref, className: classNames(usePrefixedClassNames('file-input'), inputClassName), type: "file", ...rest }), jsxRuntime.jsxs("span", { className: usePrefixedClassNames('file-cta'), children: [iconLeft && (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'file-icon'), children: iconLeft })), jsxRuntime.jsx("span", { className: usePrefixedClassNames('file-label'), children: label || 'Choose a file…' }), iconRight && (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'file-icon'), children: iconRight }))] }), hasName && fileName && (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'file-name'), children: fileName }))] }) }));
1618
1682
  });
1619
1683
  File.displayName = 'File';
1620
1684