@allxsmith/bestax-bulma 2.3.3 → 2.4.1

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
@@ -568,11 +568,11 @@ const Breadcrumb = ({ className, alignment, separator, size, children, ...props
568
568
  return (jsx("nav", { className: breadcrumbClasses, "aria-label": "breadcrumbs", ...rest, children: jsx("ul", { children: children }) }));
569
569
  };
570
570
 
571
- const renderFooter = (footer) => {
571
+ const renderFooter = (footer, classPrefix) => {
572
572
  if (!footer)
573
573
  return null;
574
574
  const items = Array.isArray(footer) ? footer : [footer];
575
- return items.map((item, idx) => (jsx("span", { className: "card-footer-item", children: item }, idx)));
575
+ return items.map((item, idx) => (jsx("span", { className: prefixedClassNames(classPrefix, 'card-footer-item'), children: item }, idx)));
576
576
  };
577
577
  const hasCompoundComponents = (children) => {
578
578
  return React.Children.toArray(children).some(child => {
@@ -587,6 +587,7 @@ const hasCompoundComponents = (children) => {
587
587
  });
588
588
  };
589
589
  const CardComponent = ({ className, children, textColor, bgColor, hasShadow = true, header, headerCentered, headerIcon, footer, image, imageAlt, ...props }) => {
590
+ const { classPrefix } = useConfig();
590
591
  const { bulmaHelperClasses, rest } = useBulmaClasses({
591
592
  color: textColor,
592
593
  backgroundColor: bgColor,
@@ -596,36 +597,42 @@ const CardComponent = ({ className, children, textColor, bgColor, hasShadow = tr
596
597
  'is-shadowless': !hasShadow,
597
598
  });
598
599
  const cardClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
599
- const renderHeader = (header, headerIcon, headerCentered) => {
600
+ const renderHeader = (header, headerIcon, headerCentered, classPrefix) => {
600
601
  if (!header && !headerIcon)
601
602
  return null;
602
- return (jsxs("header", { className: "card-header", children: [header && (jsx("div", { className: classNames('card-header-title', {
603
+ return (jsxs("header", { className: prefixedClassNames(classPrefix, 'card-header'), children: [header && (jsx("div", { className: prefixedClassNames(classPrefix, 'card-header-title', {
603
604
  'is-centered': headerCentered,
604
605
  }), children: header })), headerIcon] }));
605
606
  };
606
- return (jsxs("div", { className: cardClasses, ...rest, children: [renderHeader(header, headerIcon, headerCentered), image && (jsx("div", { className: "card-image", children: typeof image === 'string' ? (jsx("figure", { className: "image", children: jsx("img", { src: image, alt: imageAlt !== null && imageAlt !== void 0 ? imageAlt : 'Card image' }) })) : (image) })), typeof children !== 'undefined' &&
607
+ return (jsxs("div", { className: cardClasses, ...rest, children: [renderHeader(header, headerIcon, headerCentered, classPrefix), image && (jsx("div", { className: prefixedClassNames(classPrefix, 'card-image'), children: typeof image === 'string' ? (jsx("figure", { className: prefixedClassNames(classPrefix, 'image'), children: jsx("img", { src: image, alt: imageAlt !== null && imageAlt !== void 0 ? imageAlt : 'Card image' }) })) : (image) })), typeof children !== 'undefined' &&
607
608
  children !== null &&
608
609
  children !== '' &&
609
- !hasCompoundComponents(children) && (jsx("div", { className: "card-content", children: children })), typeof children !== 'undefined' &&
610
+ !hasCompoundComponents(children) && (jsx("div", { className: prefixedClassNames(classPrefix, 'card-content'), children: children })), typeof children !== 'undefined' &&
610
611
  children !== null &&
611
612
  children !== '' &&
612
613
  hasCompoundComponents(children) &&
613
- children, footer && (jsx("footer", { className: "card-footer", children: renderFooter(footer) }))] }));
614
+ children, footer && (jsx("footer", { className: prefixedClassNames(classPrefix, 'card-footer'), children: Array.isArray(footer)
615
+ ? footer.map((item, idx) => (jsx("span", { className: prefixedClassNames(classPrefix, 'card-footer-item'), children: item }, idx)))
616
+ : footer && (jsx("span", { className: prefixedClassNames(classPrefix, 'card-footer-item'), children: footer })) }))] }));
614
617
  };
615
618
  const CardHeader = ({ className, children, centered, ...props }) => {
619
+ const { classPrefix } = useConfig();
616
620
  const hasHeaderTitle = React.Children.toArray(children).some(child => React.isValidElement(child) &&
617
621
  typeof child.type === 'function' &&
618
622
  child.type === CardHeaderTitle);
619
- return (jsx("header", { className: classNames('card-header', className), ...props, children: hasHeaderTitle ? (children) : (jsx("div", { className: classNames('card-header-title', {
623
+ const headerClasses = usePrefixedClassNames('card-header');
624
+ return (jsx("header", { className: classNames(headerClasses, className), ...props, children: hasHeaderTitle ? (children) : (jsx("div", { className: classNames(prefixedClassNames(classPrefix, 'card-header-title', {
620
625
  'is-centered': centered,
621
- }), children: children })) }));
622
- };
623
- const CardHeaderTitle = ({ className, children, centered, ...props }) => (jsx("div", { className: classNames('card-header-title', { 'is-centered': centered }, className), ...props, children: children }));
624
- const CardHeaderIcon = ({ className, children, ...props }) => (jsx("button", { className: classNames('card-header-icon', className), "aria-label": props['aria-label'] || 'more options', ...props, children: children }));
625
- const CardImage = ({ className, children, ...props }) => (jsx("div", { className: classNames('card-image', className), ...props, children: children }));
626
- const CardContent = ({ className, children, ...props }) => (jsx("div", { className: classNames('card-content', className), ...props, children: children }));
627
- const CardFooter = ({ className, children, ...props }) => (jsx("footer", { className: classNames('card-footer', className), ...props, children: children }));
628
- const CardFooterItem = ({ className, children, ...props }) => (jsx("span", { className: classNames('card-footer-item', className), ...props, children: children }));
626
+ }), className), children: children })) }));
627
+ };
628
+ const CardHeaderTitle = ({ className, children, centered, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('card-header-title', {
629
+ 'is-centered': centered,
630
+ }), className), ...props, children: children }));
631
+ const CardHeaderIcon = ({ className, children, ...props }) => (jsx("button", { className: classNames(usePrefixedClassNames('card-header-icon'), className), "aria-label": props['aria-label'] || 'more options', ...props, children: children }));
632
+ const CardImage = ({ className, children, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('card-image'), className), ...props, children: children }));
633
+ const CardContent = ({ className, children, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('card-content'), className), ...props, children: children }));
634
+ const CardFooter = ({ className, children, ...props }) => (jsx("footer", { className: classNames(usePrefixedClassNames('card-footer'), className), ...props, children: children }));
635
+ const CardFooterItem = ({ className, children, ...props }) => (jsx("span", { className: classNames(usePrefixedClassNames('card-footer-item'), className), ...props, children: children }));
629
636
  const CardWithSubComponents = CardComponent;
630
637
  const CardHeaderWithTitle = CardHeader;
631
638
  CardHeaderWithTitle.Title = CardHeaderTitle;
@@ -683,13 +690,15 @@ const DropdownComponent = ({ label, children, className, menuClassName, active:
683
690
  }
684
691
  };
685
692
  const dropdownClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
686
- return (jsxs("div", { className: dropdownClasses, ref: dropdownRef, id: id, "data-testid": "dropdown-root", ...rest, children: [jsx("div", { className: "dropdown-trigger", children: jsxs("button", { className: buttonClass, "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, disabled: disabled, type: "button", children: [jsx("span", { children: label }), jsx("span", { className: "icon is-small", "aria-hidden": "true", children: jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsx("div", { className: classNames('dropdown-menu', menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", children: jsx("div", { className: "dropdown-content", onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
693
+ return (jsxs("div", { className: dropdownClasses, ref: dropdownRef, id: id, "data-testid": "dropdown-root", ...rest, children: [jsx("div", { className: usePrefixedClassNames('dropdown-trigger'), children: jsxs("button", { className: buttonClass, "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, disabled: disabled, type: "button", children: [jsx("span", { children: label }), jsx("span", { className: usePrefixedClassNames('icon', 'is-small'), "aria-hidden": "true", children: jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsx("div", { className: classNames(usePrefixedClassNames('dropdown-menu'), menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", children: jsx("div", { className: usePrefixedClassNames('dropdown-content'), onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
687
694
  };
688
695
  const DropdownItem = ({ children, active, className, as: Component = 'a', ...props }) => {
689
696
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
690
- return (jsx(Component, { className: classNames('dropdown-item', bulmaHelperClasses, { 'is-active': active }, className), tabIndex: 0, role: "menuitem", "data-testid": "dropdown-item", ...rest, children: children }));
697
+ return (jsx(Component, { className: classNames(usePrefixedClassNames('dropdown-item', {
698
+ 'is-active': active,
699
+ }), bulmaHelperClasses, className), tabIndex: 0, role: "menuitem", "data-testid": "dropdown-item", ...rest, children: children }));
691
700
  };
692
- const DropdownDivider = () => (jsx("hr", { className: "dropdown-divider" }));
701
+ const DropdownDivider = () => (jsx("hr", { className: usePrefixedClassNames('dropdown-divider') }));
693
702
  const Dropdown = Object.assign(DropdownComponent, {
694
703
  Item: DropdownItem,
695
704
  Divider: DropdownDivider,
@@ -703,19 +712,19 @@ const MenuComponent = ({ className, children, ...props }) => {
703
712
  };
704
713
  const MenuLabel = ({ className, children, ...props }) => {
705
714
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
706
- return (jsx("p", { className: classNames('menu-label', className, bulmaHelperClasses), ...rest, children: children }));
715
+ return (jsx("p", { className: classNames(usePrefixedClassNames('menu-label'), className, bulmaHelperClasses), ...rest, children: children }));
707
716
  };
708
717
  const MenuList = ({ className, children, ...props }) => {
709
718
  const level = useContext(MenuListLevelContext);
710
719
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
711
720
  const ulClass = classNames(className, bulmaHelperClasses, {
712
- 'menu-list': level === 0,
721
+ [usePrefixedClassNames('menu-list')]: level === 0,
713
722
  });
714
723
  return (jsx(MenuListLevelContext.Provider, { value: level + 1, children: jsx("ul", { className: ulClass, ...rest, children: children }) }));
715
724
  };
716
725
  const MenuItem = ({ className, children, active, href, as: Component = 'a', 'data-testid': testId, ...rest }) => {
717
726
  const { bulmaHelperClasses, rest: bulmaRest } = useBulmaClasses(rest);
718
- const itemClass = classNames({ 'is-active': active }, bulmaHelperClasses);
727
+ const itemClass = classNames({ [usePrefixedClassNames('is-active')]: active }, bulmaHelperClasses);
719
728
  const { style, id, title, role, tabIndex, ...linkProps } = bulmaRest;
720
729
  const labelChildren = [];
721
730
  const nestedMenuLists = [];
@@ -742,6 +751,7 @@ const Menu = Object.assign(MenuComponent, {
742
751
  });
743
752
 
744
753
  const MessageComponent = ({ className, title, textColor, color, bgColor, onClose, children, ...props }) => {
754
+ const { classPrefix } = useConfig();
745
755
  const { bulmaHelperClasses, rest } = useBulmaClasses({
746
756
  color: textColor,
747
757
  backgroundColor: bgColor,
@@ -752,40 +762,40 @@ const MessageComponent = ({ className, title, textColor, color, bgColor, onClose
752
762
  });
753
763
  const deleteClass = usePrefixedClassNames('delete');
754
764
  const messageClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
755
- return (jsxs("article", { className: messageClasses, ...rest, "data-testid": "message", children: [(title || onClose) && (jsxs("div", { className: "message-header", children: [title && jsx("span", { children: title }), onClose && (jsx("button", { className: deleteClass, "aria-label": "delete", onClick: onClose, type: "button", "data-testid": "message-close" }))] })), children && (jsx("div", { className: "message-body", "data-testid": "message-body", children: children }))] }));
765
+ return (jsxs("article", { className: messageClasses, ...rest, "data-testid": "message", children: [(title || onClose) && (jsxs("div", { className: prefixedClassNames(classPrefix, 'message-header'), children: [title && jsx("span", { children: title }), onClose && (jsx("button", { className: deleteClass, "aria-label": "delete", onClick: onClose, type: "button", "data-testid": "message-close" }))] })), children && (jsx("div", { className: prefixedClassNames(classPrefix, 'message-body'), "data-testid": "message-body", children: children }))] }));
756
766
  };
757
- const MessageHeader = ({ className, children, ...props }) => (jsx("div", { className: classNames('message-header', className), ...props, children: children }));
758
- const MessageBody = ({ className, children, ...props }) => (jsx("div", { className: classNames('message-body', className), ...props, children: children }));
767
+ const MessageHeader = ({ className, children, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('message-header'), className), ...props, children: children }));
768
+ const MessageBody = ({ className, children, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('message-body'), className), ...props, children: children }));
759
769
  const MessageWithSubComponents = MessageComponent;
760
770
  MessageWithSubComponents.Header = MessageHeader;
761
771
  MessageWithSubComponents.Body = MessageBody;
762
772
 
763
773
  const ModalBackground = ({ className, ...props }) => {
764
- const classes = classNames('modal-background', className);
774
+ const classes = classNames(usePrefixedClassNames('modal-background'), className);
765
775
  return jsx("div", { className: classes, ...props });
766
776
  };
767
777
  const ModalContent = ({ className, ...props }) => {
768
- const classes = classNames('modal-content', className);
778
+ const classes = classNames(usePrefixedClassNames('modal-content'), className);
769
779
  return jsx("div", { className: classes, ...props });
770
780
  };
771
781
  const ModalCardHead = ({ className, ...props }) => {
772
- const classes = classNames('modal-card-head', className);
782
+ const classes = classNames(usePrefixedClassNames('modal-card-head'), className);
773
783
  return jsx("header", { className: classes, ...props });
774
784
  };
775
785
  const ModalCardTitle = ({ className, ...props }) => {
776
- const classes = classNames('modal-card-title', className);
786
+ const classes = classNames(usePrefixedClassNames('modal-card-title'), className);
777
787
  return jsx("p", { className: classes, ...props });
778
788
  };
779
789
  const ModalCardBody = ({ className, ...props }) => {
780
- const classes = classNames('modal-card-body', className);
790
+ const classes = classNames(usePrefixedClassNames('modal-card-body'), className);
781
791
  return jsx("section", { className: classes, ...props });
782
792
  };
783
793
  const ModalCardFoot = ({ className, ...props }) => {
784
- const classes = classNames('modal-card-foot', className);
794
+ const classes = classNames(usePrefixedClassNames('modal-card-foot'), className);
785
795
  return jsx("footer", { className: classes, ...props });
786
796
  };
787
797
  const ModalCard = ({ className, ...props }) => {
788
- const classes = classNames('modal-card', className);
798
+ const classes = classNames(usePrefixedClassNames('modal-card'), className);
789
799
  return jsx("div", { className: classes, ...props });
790
800
  };
791
801
  ModalCard.Head = ModalCardHead;
@@ -793,11 +803,12 @@ ModalCard.Title = ModalCardTitle;
793
803
  ModalCard.Body = ModalCardBody;
794
804
  ModalCard.Foot = ModalCardFoot;
795
805
  const ModalClose = ({ className, size = 'large', variant = 'delete', ...props }) => {
796
- const classes = classNames(variant === 'delete' ? 'delete' : 'modal-close', variant === 'floating' && size && `is-${size}`, className);
806
+ const classes = classNames(usePrefixedClassNames(variant === 'delete' ? 'delete' : 'modal-close', variant === 'floating' && size && { [`is-${size}`]: true }), className);
797
807
  return (jsx("button", { className: classes, "aria-label": "close", type: "button", ...props }));
798
808
  };
799
809
  const ModalRoot = ({ active, isActive, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
800
810
  var _a;
811
+ const { classPrefix } = useConfig();
801
812
  const { bulmaHelperClasses, rest } = useBulmaClasses({
802
813
  color: textColor,
803
814
  backgroundColor: bgColor,
@@ -824,7 +835,7 @@ const ModalRoot = ({ active, isActive, onClose, className, textColor, bgColor, m
824
835
  isModalCard = false;
825
836
  else
826
837
  isModalCard = !!modalCardTitle || !!modalCardFoot;
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" }))] }));
838
+ return (jsxs("div", { className: modalClasses, ...rest, "data-testid": "modal", children: [jsx("div", { className: prefixedClassNames(classPrefix, 'modal-background'), onClick: onClose, "data-testid": "modal-background" }), isModalCard ? (jsxs("div", { className: prefixedClassNames(classPrefix, 'modal-card'), children: [modalCardTitle && (jsxs("header", { className: prefixedClassNames(classPrefix, 'modal-card-head'), children: [jsx("p", { className: prefixedClassNames(classPrefix, 'modal-card-title'), children: modalCardTitle }), onClose && (jsx("button", { className: deleteClass, "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close" }))] })), jsx("section", { className: prefixedClassNames(classPrefix, 'modal-card-body'), "data-testid": "modal-body", children: children }), modalCardFoot && (jsx("footer", { className: prefixedClassNames(classPrefix, 'modal-card-foot'), children: modalCardFoot }))] })) : (jsx("div", { className: prefixedClassNames(classPrefix, 'modal-content'), "data-testid": "modal-content", children: children })), (!isModalCard || (!modalCardTitle && onClose)) && onClose && (jsx("button", { className: prefixedClassNames(classPrefix, 'modal-close', 'is-large'), "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close-float" }))] }));
828
839
  };
829
840
  ModalRoot.Background = ModalBackground;
830
841
  ModalRoot.Content = ModalContent;
@@ -851,7 +862,7 @@ const NavbarBrand = ({ className, children, textColor, ...props }) => {
851
862
  color: textColor,
852
863
  ...props,
853
864
  });
854
- return (jsx("div", { className: classNames('navbar-brand', bulmaHelperClasses, className), ...rest, children: children }));
865
+ return (jsx("div", { className: classNames(usePrefixedClassNames('navbar-brand'), bulmaHelperClasses, className), ...rest, children: children }));
855
866
  };
856
867
  const NavbarItem = ({ className, as: Component = 'a', active, textColor, bgColor, children, ...props }) => {
857
868
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -859,50 +870,50 @@ const NavbarItem = ({ className, as: Component = 'a', active, textColor, bgColor
859
870
  backgroundColor: bgColor,
860
871
  ...props,
861
872
  });
862
- return (jsx(Component, { className: classNames('navbar-item', bulmaHelperClasses, className, {
873
+ return (jsx(Component, { className: classNames(usePrefixedClassNames('navbar-item', {
863
874
  'is-active': active,
864
- }), ...rest, children: children }));
875
+ }), bulmaHelperClasses, className), ...rest, children: children }));
865
876
  };
866
877
  const NavbarBurger = ({ className, active, children, ...props }) => {
867
878
  var _a;
868
879
  const { bulmaHelperClasses, rest } = useBulmaClasses({
869
880
  ...props,
870
881
  });
871
- return (jsxs("button", { type: "button", className: classNames('navbar-burger', bulmaHelperClasses, className, {
882
+ return (jsxs("button", { type: "button", className: classNames(usePrefixedClassNames('navbar-burger', {
872
883
  'is-active': active,
873
- }), "aria-label": props['aria-label'] || 'menu', "aria-expanded": (_a = props['aria-expanded']) !== null && _a !== void 0 ? _a : !!active, ...rest, children: [jsx("span", { "aria-hidden": "true" }), jsx("span", { "aria-hidden": "true" }), jsx("span", { "aria-hidden": "true" }), children] }));
884
+ }), bulmaHelperClasses, className), "aria-label": props['aria-label'] || 'menu', "aria-expanded": (_a = props['aria-expanded']) !== null && _a !== void 0 ? _a : !!active, ...rest, children: [jsx("span", { "aria-hidden": "true" }), jsx("span", { "aria-hidden": "true" }), jsx("span", { "aria-hidden": "true" }), children] }));
874
885
  };
875
886
  const NavbarMenu = ({ className, active, children, ...props }) => {
876
887
  const { bulmaHelperClasses, rest } = useBulmaClasses({
877
888
  ...props,
878
889
  });
879
- return (jsx("div", { className: classNames('navbar-menu', bulmaHelperClasses, className, {
890
+ return (jsx("div", { className: classNames(usePrefixedClassNames('navbar-menu', {
880
891
  'is-active': active,
881
- }), ...rest, children: children }));
892
+ }), bulmaHelperClasses, className), ...rest, children: children }));
882
893
  };
883
894
  const NavbarStart = ({ className, children, ...props }) => {
884
895
  const { bulmaHelperClasses, rest } = useBulmaClasses({
885
896
  ...props,
886
897
  });
887
- return (jsx("div", { className: classNames('navbar-start', bulmaHelperClasses, className), ...rest, children: children }));
898
+ return (jsx("div", { className: classNames(usePrefixedClassNames('navbar-start'), bulmaHelperClasses, className), ...rest, children: children }));
888
899
  };
889
900
  const NavbarEnd = ({ className, children, ...props }) => {
890
901
  const { bulmaHelperClasses, rest } = useBulmaClasses({
891
902
  ...props,
892
903
  });
893
- return (jsx("div", { className: classNames('navbar-end', bulmaHelperClasses, className), ...rest, children: children }));
904
+ return (jsx("div", { className: classNames(usePrefixedClassNames('navbar-end'), bulmaHelperClasses, className), ...rest, children: children }));
894
905
  };
895
- const NavbarDropdown = ({ className, right, up, hoverable, active, children, ...props }) => (jsx("div", { className: classNames('navbar-item', 'has-dropdown', {
906
+ const NavbarDropdown = ({ className, right, up, hoverable, active, children, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('navbar-item', 'has-dropdown', {
896
907
  'is-right': right,
897
908
  'is-up': up,
898
909
  'is-hoverable': hoverable,
899
910
  'is-active': active,
900
- }, className), ...props, children: children }));
901
- const NavbarDropdownMenu = ({ className, right, up, children, ...props }) => (jsx("div", { className: classNames('navbar-dropdown', {
911
+ }), className), ...props, children: children }));
912
+ const NavbarDropdownMenu = ({ className, right, up, children, ...props }) => (jsx("div", { className: classNames(usePrefixedClassNames('navbar-dropdown', {
902
913
  'is-right': right,
903
914
  'is-up': up,
904
- }, className), ...props, children: children }));
905
- const NavbarDivider = props => jsx("hr", { className: "navbar-divider", ...props });
915
+ }), className), ...props, children: children }));
916
+ const NavbarDivider = props => (jsx("hr", { className: usePrefixedClassNames('navbar-divider'), ...props }));
906
917
  Navbar.Brand = NavbarBrand;
907
918
  Navbar.Item = NavbarItem;
908
919
  Navbar.Burger = NavbarBurger;
@@ -913,7 +924,7 @@ Navbar.Dropdown = NavbarDropdown;
913
924
  Navbar.DropdownMenu = NavbarDropdownMenu;
914
925
  Navbar.Divider = NavbarDivider;
915
926
 
916
- const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsx("a", { className: classNames('pagination-previous', className, {
927
+ const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsx("a", { className: classNames(usePrefixedClassNames('pagination-previous'), className, {
917
928
  'is-disabled': disabled,
918
929
  }), "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, ...props, onClick: disabled
919
930
  ? e => {
@@ -921,7 +932,7 @@ const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsx
921
932
  e.stopPropagation();
922
933
  }
923
934
  : props.onClick, children: children }));
924
- const PaginationNext = ({ className, disabled, children, ...props }) => (jsx("a", { className: classNames('pagination-next', className, {
935
+ const PaginationNext = ({ className, disabled, children, ...props }) => (jsx("a", { className: classNames(usePrefixedClassNames('pagination-next'), className, {
925
936
  'is-disabled': disabled,
926
937
  }), "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, ...props, onClick: disabled
927
938
  ? e => {
@@ -950,7 +961,7 @@ const PaginationList = ({ className, textColor, bgColor, children, ...props }) =
950
961
  backgroundColor: bgColor,
951
962
  ...props,
952
963
  });
953
- return (jsx("ul", { className: classNames('pagination-list', bulmaHelperClasses, className), ...rest, children: children }));
964
+ return (jsx("ul", { className: classNames(usePrefixedClassNames('pagination-list'), bulmaHelperClasses, className), ...rest, children: children }));
954
965
  };
955
966
  const PaginationLink = ({ className, textColor, bgColor, active, disabled, onClick, children, ...props }) => {
956
967
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -968,12 +979,12 @@ const PaginationLink = ({ className, textColor, bgColor, active, disabled, onCli
968
979
  onClick(e);
969
980
  }
970
981
  };
971
- return (jsx("li", { children: jsx("a", { className: classNames('pagination-link', bulmaHelperClasses, className, {
982
+ return (jsx("li", { children: jsx("a", { className: classNames(usePrefixedClassNames('pagination-link'), bulmaHelperClasses, className, {
972
983
  'is-current': active,
973
984
  'is-disabled': disabled,
974
985
  }), "aria-current": active ? 'page' : undefined, "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, onClick: handleClick, ...rest, children: children }) }));
975
986
  };
976
- const PaginationEllipsis = props => (jsx("li", { children: jsx("span", { className: "pagination-ellipsis", ...props, children: "\u2026" }) }));
987
+ const PaginationEllipsis = props => (jsx("li", { children: jsx("span", { className: usePrefixedClassNames('pagination-ellipsis'), ...props, children: "\u2026" }) }));
977
988
  Pagination.Link = PaginationLink;
978
989
  Pagination.List = PaginationList;
979
990
  Pagination.Ellipsis = PaginationEllipsis;
@@ -991,16 +1002,16 @@ const Panel = ({ color, className, children, ...props }) => {
991
1002
  const panelClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
992
1003
  return (jsx("nav", { className: panelClasses, ...rest, children: children }));
993
1004
  };
994
- const PanelHeading = ({ className, children, ...props }) => (jsx("p", { className: classNames('panel-heading', className), ...props, children: children }));
995
- const PanelTabs = ({ className, children, ...props }) => (jsx("p", { className: classNames('panel-tabs', className), ...props, children: children }));
996
- const PanelBlock = ({ className, active, children, ...props }) => (jsx("a", { className: classNames('panel-block', className, { 'is-active': active }), ...props, children: children }));
997
- const PanelIcon = ({ className, children, ...props }) => (jsx("span", { className: classNames('panel-icon', className), ...props, children: children }));
1005
+ const PanelHeading = ({ className, children, ...props }) => (jsx("p", { className: classNames(usePrefixedClassNames('panel-heading'), className), ...props, children: children }));
1006
+ const PanelTabs = ({ className, children, ...props }) => (jsx("p", { className: classNames(usePrefixedClassNames('panel-tabs'), className), ...props, children: children }));
1007
+ const PanelBlock = ({ className, active, children, ...props }) => (jsx("a", { className: classNames(usePrefixedClassNames('panel-block', { 'is-active': active }), className), ...props, children: children }));
1008
+ const PanelIcon = ({ className, children, ...props }) => (jsx("span", { className: classNames(usePrefixedClassNames('panel-icon'), className), ...props, children: children }));
998
1009
  const PanelInputBlock = ({ value, onChange, placeholder, iconClassName = 'fas fa-search', ...props }) => {
999
1010
  const inputClass = usePrefixedClassNames('input');
1000
- return (jsx("div", { className: "panel-block", ...props, children: jsxs("p", { className: "control has-icons-left", children: [jsx("input", { className: inputClass, type: "text", placeholder: placeholder, value: value, onChange: onChange }), jsx("span", { className: "icon is-left", children: jsx("i", { className: iconClassName, "aria-hidden": "true" }) })] }) }));
1011
+ return (jsx("div", { className: usePrefixedClassNames('panel-block'), ...props, children: jsxs("p", { className: usePrefixedClassNames('control', 'has-icons-left'), children: [jsx("input", { className: inputClass, type: "text", placeholder: placeholder, value: value, onChange: onChange }), jsx("span", { className: usePrefixedClassNames('icon', 'is-left'), children: jsx("i", { className: iconClassName, "aria-hidden": "true" }) })] }) }));
1001
1012
  };
1002
- const PanelCheckboxBlock = ({ checked, onChange, children, ...props }) => (jsxs("label", { className: "panel-block", ...props, children: [jsx("input", { type: "checkbox", checked: checked, onChange: onChange }), children] }));
1003
- const PanelButtonBlock = ({ children, className, ...props }) => (jsx("div", { className: "panel-block", children: jsx("button", { className: classNames('button is-link is-outlined is-fullwidth', className), ...props, children: children }) }));
1013
+ const PanelCheckboxBlock = ({ checked, onChange, children, ...props }) => (jsxs("label", { className: usePrefixedClassNames('panel-block'), ...props, children: [jsx("input", { type: "checkbox", checked: checked, onChange: onChange }), children] }));
1014
+ const PanelButtonBlock = ({ children, className, ...props }) => (jsx("div", { className: usePrefixedClassNames('panel-block'), children: jsx("button", { className: classNames(usePrefixedClassNames('button', 'is-link', 'is-outlined', 'is-fullwidth'), className), ...props, children: children }) }));
1004
1015
  Panel.Heading = PanelHeading;
1005
1016
  Panel.Tabs = PanelTabs;
1006
1017
  Panel.Block = PanelBlock;
@@ -1026,7 +1037,7 @@ const Tabs = ({ align, size, fullwidth, boxed, toggle, rounded, color, className
1026
1037
  return (jsx("div", { className: tabsClass, ...rest, children: children }));
1027
1038
  };
1028
1039
  const TabList = ({ className, children, ...props }) => (jsx("ul", { className: classNames(className), ...props, children: children }));
1029
- const TabItem = ({ active, className, children, onClick, ...props }) => (jsx("li", { className: classNames({ 'is-active': active }, className), onClick: onClick, ...props, children: children }));
1040
+ const TabItem = ({ active, className, children, onClick, ...props }) => (jsx("li", { className: classNames({ [usePrefixedClassNames('is-active')]: active }, className), onClick: onClick, ...props, children: children }));
1030
1041
  Tabs.List = TabList;
1031
1042
  Tabs.Item = TabItem;
1032
1043
 
@@ -1534,6 +1545,7 @@ const Checkboxes = ({ children, className, ...props }) => {
1534
1545
  const allowedColors = [...validColors, 'inherit', 'current'];
1535
1546
  const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isLoading, isExpanded, size, textColor, bgColor, iconLeft, iconRight, iconLeftName, iconLeftSize, iconRightName, iconRightSize, className, children, ...props }, ref) => {
1536
1547
  const Component = (as === 'p' ? 'p' : 'div');
1548
+ const { classPrefix } = useConfig();
1537
1549
  const { textColor: _ignoredTextColor, bgColor: _ignoredBgColor, ...restProps } = props;
1538
1550
  const safeTextColor = allowedColors.includes(textColor)
1539
1551
  ? textColor
@@ -1568,7 +1580,7 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1568
1580
  [`is-${size}`]: !!size,
1569
1581
  });
1570
1582
  const controlClass = classNames(mainClass, bulmaHelperClasses, className);
1571
- return (jsxs(Component, { className: controlClass, ref: ref, ...restProps, ...rest, children: [children, leftIconProps && leftIconProps.name && (jsx(Icon, { ...leftIconProps, className: "is-left" })), rightIconProps && rightIconProps.name && (jsx(Icon, { ...rightIconProps, className: "is-right" }))] }));
1583
+ return (jsxs(Component, { className: controlClass, ref: ref, ...restProps, ...rest, children: [children, leftIconProps && leftIconProps.name && (jsx(Icon, { ...leftIconProps, className: prefixedClassNames(classPrefix, 'is-left') })), rightIconProps && rightIconProps.name && (jsx(Icon, { ...rightIconProps, className: prefixedClassNames(classPrefix, 'is-right') }))] }));
1572
1584
  });
1573
1585
  Control.displayName = 'Control';
1574
1586
 
@@ -1641,19 +1653,20 @@ Field.Label = FieldLabel;
1641
1653
  Field.Body = FieldBody;
1642
1654
 
1643
1655
  const File = forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentered, hasName, label, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
1656
+ const { classPrefix } = useConfig();
1644
1657
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1645
1658
  color,
1646
1659
  ...props,
1647
1660
  });
1648
1661
  let alignmentClass;
1649
1662
  if (isRight && isCentered) {
1650
- alignmentClass = 'is-right';
1663
+ alignmentClass = prefixedClassNames(classPrefix, 'is-right');
1651
1664
  }
1652
1665
  else if (isRight) {
1653
- alignmentClass = 'is-right';
1666
+ alignmentClass = prefixedClassNames(classPrefix, 'is-right');
1654
1667
  }
1655
1668
  else if (isCentered) {
1656
- alignmentClass = 'is-centered';
1669
+ alignmentClass = prefixedClassNames(classPrefix, 'is-centered');
1657
1670
  }
1658
1671
  const mainClass = usePrefixedClassNames('file', {
1659
1672
  [`is-${color}`]: !!color,
@@ -1663,7 +1676,7 @@ const File = forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentere
1663
1676
  'has-name': hasName,
1664
1677
  });
1665
1678
  const fileClass = classNames(mainClass, bulmaHelperClasses, alignmentClass, className);
1666
- return (jsx("div", { className: fileClass, children: jsxs("label", { className: "file-label", children: [jsx("input", { ref: ref, className: classNames('file-input', inputClassName), type: "file", ...rest }), jsxs("span", { className: "file-cta", children: [iconLeft && jsx("span", { className: "file-icon", children: iconLeft }), jsx("span", { className: "file-label", children: label || 'Choose a file…' }), iconRight && jsx("span", { className: "file-icon", children: iconRight })] }), hasName && fileName && jsx("span", { className: "file-name", children: fileName })] }) }));
1679
+ return (jsx("div", { className: fileClass, children: jsxs("label", { className: usePrefixedClassNames('file-label'), children: [jsx("input", { ref: ref, className: classNames(usePrefixedClassNames('file-input'), inputClassName), type: "file", ...rest }), jsxs("span", { className: usePrefixedClassNames('file-cta'), children: [iconLeft && (jsx("span", { className: prefixedClassNames(classPrefix, 'file-icon'), children: iconLeft })), jsx("span", { className: usePrefixedClassNames('file-label'), children: label || 'Choose a file…' }), iconRight && (jsx("span", { className: prefixedClassNames(classPrefix, 'file-icon'), children: iconRight }))] }), hasName && fileName && (jsx("span", { className: prefixedClassNames(classPrefix, 'file-name'), children: fileName }))] }) }));
1667
1680
  });
1668
1681
  File.displayName = 'File';
1669
1682