@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.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,40 +764,40 @@ 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
775
  const ModalBackground = ({ className, ...props }) => {
766
- const classes = classNames('modal-background', className);
776
+ const classes = classNames(usePrefixedClassNames('modal-background'), className);
767
777
  return jsxRuntime.jsx("div", { className: classes, ...props });
768
778
  };
769
779
  const ModalContent = ({ className, ...props }) => {
770
- const classes = classNames('modal-content', className);
780
+ const classes = classNames(usePrefixedClassNames('modal-content'), className);
771
781
  return jsxRuntime.jsx("div", { className: classes, ...props });
772
782
  };
773
783
  const ModalCardHead = ({ className, ...props }) => {
774
- const classes = classNames('modal-card-head', className);
784
+ const classes = classNames(usePrefixedClassNames('modal-card-head'), className);
775
785
  return jsxRuntime.jsx("header", { className: classes, ...props });
776
786
  };
777
787
  const ModalCardTitle = ({ className, ...props }) => {
778
- const classes = classNames('modal-card-title', className);
788
+ const classes = classNames(usePrefixedClassNames('modal-card-title'), className);
779
789
  return jsxRuntime.jsx("p", { className: classes, ...props });
780
790
  };
781
791
  const ModalCardBody = ({ className, ...props }) => {
782
- const classes = classNames('modal-card-body', className);
792
+ const classes = classNames(usePrefixedClassNames('modal-card-body'), className);
783
793
  return jsxRuntime.jsx("section", { className: classes, ...props });
784
794
  };
785
795
  const ModalCardFoot = ({ className, ...props }) => {
786
- const classes = classNames('modal-card-foot', className);
796
+ const classes = classNames(usePrefixedClassNames('modal-card-foot'), className);
787
797
  return jsxRuntime.jsx("footer", { className: classes, ...props });
788
798
  };
789
799
  const ModalCard = ({ className, ...props }) => {
790
- const classes = classNames('modal-card', className);
800
+ const classes = classNames(usePrefixedClassNames('modal-card'), className);
791
801
  return jsxRuntime.jsx("div", { className: classes, ...props });
792
802
  };
793
803
  ModalCard.Head = ModalCardHead;
@@ -795,11 +805,12 @@ ModalCard.Title = ModalCardTitle;
795
805
  ModalCard.Body = ModalCardBody;
796
806
  ModalCard.Foot = ModalCardFoot;
797
807
  const ModalClose = ({ className, size = 'large', variant = 'delete', ...props }) => {
798
- const classes = classNames(variant === 'delete' ? 'delete' : 'modal-close', variant === 'floating' && size && `is-${size}`, className);
808
+ const classes = classNames(usePrefixedClassNames(variant === 'delete' ? 'delete' : 'modal-close', variant === 'floating' && size && { [`is-${size}`]: true }), className);
799
809
  return (jsxRuntime.jsx("button", { className: classes, "aria-label": "close", type: "button", ...props }));
800
810
  };
801
811
  const ModalRoot = ({ active, isActive, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
802
812
  var _a;
813
+ const { classPrefix } = useConfig();
803
814
  const { bulmaHelperClasses, rest } = useBulmaClasses({
804
815
  color: textColor,
805
816
  backgroundColor: bgColor,
@@ -826,7 +837,7 @@ const ModalRoot = ({ active, isActive, onClose, className, textColor, bgColor, m
826
837
  isModalCard = false;
827
838
  else
828
839
  isModalCard = !!modalCardTitle || !!modalCardFoot;
829
- 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" }))] }));
830
841
  };
831
842
  ModalRoot.Background = ModalBackground;
832
843
  ModalRoot.Content = ModalContent;
@@ -853,7 +864,7 @@ const NavbarBrand = ({ className, children, textColor, ...props }) => {
853
864
  color: textColor,
854
865
  ...props,
855
866
  });
856
- 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 }));
857
868
  };
858
869
  const NavbarItem = ({ className, as: Component = 'a', active, textColor, bgColor, children, ...props }) => {
859
870
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -861,50 +872,50 @@ const NavbarItem = ({ className, as: Component = 'a', active, textColor, bgColor
861
872
  backgroundColor: bgColor,
862
873
  ...props,
863
874
  });
864
- return (jsxRuntime.jsx(Component, { className: classNames('navbar-item', bulmaHelperClasses, className, {
875
+ return (jsxRuntime.jsx(Component, { className: classNames(usePrefixedClassNames('navbar-item', {
865
876
  'is-active': active,
866
- }), ...rest, children: children }));
877
+ }), bulmaHelperClasses, className), ...rest, children: children }));
867
878
  };
868
879
  const NavbarBurger = ({ className, active, children, ...props }) => {
869
880
  var _a;
870
881
  const { bulmaHelperClasses, rest } = useBulmaClasses({
871
882
  ...props,
872
883
  });
873
- return (jsxRuntime.jsxs("button", { type: "button", className: classNames('navbar-burger', bulmaHelperClasses, className, {
884
+ return (jsxRuntime.jsxs("button", { type: "button", className: classNames(usePrefixedClassNames('navbar-burger', {
874
885
  'is-active': active,
875
- }), "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] }));
876
887
  };
877
888
  const NavbarMenu = ({ className, active, children, ...props }) => {
878
889
  const { bulmaHelperClasses, rest } = useBulmaClasses({
879
890
  ...props,
880
891
  });
881
- return (jsxRuntime.jsx("div", { className: classNames('navbar-menu', bulmaHelperClasses, className, {
892
+ return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('navbar-menu', {
882
893
  'is-active': active,
883
- }), ...rest, children: children }));
894
+ }), bulmaHelperClasses, className), ...rest, children: children }));
884
895
  };
885
896
  const NavbarStart = ({ className, children, ...props }) => {
886
897
  const { bulmaHelperClasses, rest } = useBulmaClasses({
887
898
  ...props,
888
899
  });
889
- 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 }));
890
901
  };
891
902
  const NavbarEnd = ({ className, children, ...props }) => {
892
903
  const { bulmaHelperClasses, rest } = useBulmaClasses({
893
904
  ...props,
894
905
  });
895
- 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 }));
896
907
  };
897
- 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', {
898
909
  'is-right': right,
899
910
  'is-up': up,
900
911
  'is-hoverable': hoverable,
901
912
  'is-active': active,
902
- }, className), ...props, children: children }));
903
- 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', {
904
915
  'is-right': right,
905
916
  'is-up': up,
906
- }, className), ...props, children: children }));
907
- 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 }));
908
919
  Navbar.Brand = NavbarBrand;
909
920
  Navbar.Item = NavbarItem;
910
921
  Navbar.Burger = NavbarBurger;
@@ -915,7 +926,7 @@ Navbar.Dropdown = NavbarDropdown;
915
926
  Navbar.DropdownMenu = NavbarDropdownMenu;
916
927
  Navbar.Divider = NavbarDivider;
917
928
 
918
- 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, {
919
930
  'is-disabled': disabled,
920
931
  }), "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, ...props, onClick: disabled
921
932
  ? e => {
@@ -923,7 +934,7 @@ const PaginationPrevious = ({ className, disabled, children, ...props }) => (jsx
923
934
  e.stopPropagation();
924
935
  }
925
936
  : props.onClick, children: children }));
926
- 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, {
927
938
  'is-disabled': disabled,
928
939
  }), "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, ...props, onClick: disabled
929
940
  ? e => {
@@ -952,7 +963,7 @@ const PaginationList = ({ className, textColor, bgColor, children, ...props }) =
952
963
  backgroundColor: bgColor,
953
964
  ...props,
954
965
  });
955
- 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 }));
956
967
  };
957
968
  const PaginationLink = ({ className, textColor, bgColor, active, disabled, onClick, children, ...props }) => {
958
969
  const { bulmaHelperClasses, rest } = useBulmaClasses({
@@ -970,12 +981,12 @@ const PaginationLink = ({ className, textColor, bgColor, active, disabled, onCli
970
981
  onClick(e);
971
982
  }
972
983
  };
973
- 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, {
974
985
  'is-current': active,
975
986
  'is-disabled': disabled,
976
987
  }), "aria-current": active ? 'page' : undefined, "aria-disabled": disabled, tabIndex: disabled ? -1 : 0, onClick: handleClick, ...rest, children: children }) }));
977
988
  };
978
- 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" }) }));
979
990
  Pagination.Link = PaginationLink;
980
991
  Pagination.List = PaginationList;
981
992
  Pagination.Ellipsis = PaginationEllipsis;
@@ -993,16 +1004,16 @@ const Panel = ({ color, className, children, ...props }) => {
993
1004
  const panelClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
994
1005
  return (jsxRuntime.jsx("nav", { className: panelClasses, ...rest, children: children }));
995
1006
  };
996
- const PanelHeading = ({ className, children, ...props }) => (jsxRuntime.jsx("p", { className: classNames('panel-heading', className), ...props, children: children }));
997
- const PanelTabs = ({ className, children, ...props }) => (jsxRuntime.jsx("p", { className: classNames('panel-tabs', className), ...props, children: children }));
998
- const PanelBlock = ({ className, active, children, ...props }) => (jsxRuntime.jsx("a", { className: classNames('panel-block', className, { 'is-active': active }), ...props, children: children }));
999
- 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 }));
1000
1011
  const PanelInputBlock = ({ value, onChange, placeholder, iconClassName = 'fas fa-search', ...props }) => {
1001
1012
  const inputClass = usePrefixedClassNames('input');
1002
- 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" }) })] }) }));
1003
1014
  };
1004
- const PanelCheckboxBlock = ({ checked, onChange, children, ...props }) => (jsxRuntime.jsxs("label", { className: "panel-block", ...props, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: checked, onChange: onChange }), children] }));
1005
- 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 }) }));
1006
1017
  Panel.Heading = PanelHeading;
1007
1018
  Panel.Tabs = PanelTabs;
1008
1019
  Panel.Block = PanelBlock;
@@ -1028,7 +1039,7 @@ const Tabs = ({ align, size, fullwidth, boxed, toggle, rounded, color, className
1028
1039
  return (jsxRuntime.jsx("div", { className: tabsClass, ...rest, children: children }));
1029
1040
  };
1030
1041
  const TabList = ({ className, children, ...props }) => (jsxRuntime.jsx("ul", { className: classNames(className), ...props, children: children }));
1031
- 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 }));
1032
1043
  Tabs.List = TabList;
1033
1044
  Tabs.Item = TabItem;
1034
1045
 
@@ -1536,6 +1547,7 @@ const Checkboxes = ({ children, className, ...props }) => {
1536
1547
  const allowedColors = [...validColors, 'inherit', 'current'];
1537
1548
  const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isLoading, isExpanded, size, textColor, bgColor, iconLeft, iconRight, iconLeftName, iconLeftSize, iconRightName, iconRightSize, className, children, ...props }, ref) => {
1538
1549
  const Component = (as === 'p' ? 'p' : 'div');
1550
+ const { classPrefix } = useConfig();
1539
1551
  const { textColor: _ignoredTextColor, bgColor: _ignoredBgColor, ...restProps } = props;
1540
1552
  const safeTextColor = allowedColors.includes(textColor)
1541
1553
  ? textColor
@@ -1570,7 +1582,7 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1570
1582
  [`is-${size}`]: !!size,
1571
1583
  });
1572
1584
  const controlClass = classNames(mainClass, bulmaHelperClasses, className);
1573
- 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') }))] }));
1574
1586
  });
1575
1587
  Control.displayName = 'Control';
1576
1588
 
@@ -1643,19 +1655,20 @@ Field.Label = FieldLabel;
1643
1655
  Field.Body = FieldBody;
1644
1656
 
1645
1657
  const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentered, hasName, label, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
1658
+ const { classPrefix } = useConfig();
1646
1659
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1647
1660
  color,
1648
1661
  ...props,
1649
1662
  });
1650
1663
  let alignmentClass;
1651
1664
  if (isRight && isCentered) {
1652
- alignmentClass = 'is-right';
1665
+ alignmentClass = prefixedClassNames(classPrefix, 'is-right');
1653
1666
  }
1654
1667
  else if (isRight) {
1655
- alignmentClass = 'is-right';
1668
+ alignmentClass = prefixedClassNames(classPrefix, 'is-right');
1656
1669
  }
1657
1670
  else if (isCentered) {
1658
- alignmentClass = 'is-centered';
1671
+ alignmentClass = prefixedClassNames(classPrefix, 'is-centered');
1659
1672
  }
1660
1673
  const mainClass = usePrefixedClassNames('file', {
1661
1674
  [`is-${color}`]: !!color,
@@ -1665,7 +1678,7 @@ const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isC
1665
1678
  'has-name': hasName,
1666
1679
  });
1667
1680
  const fileClass = classNames(mainClass, bulmaHelperClasses, alignmentClass, className);
1668
- 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 }))] }) }));
1669
1682
  });
1670
1683
  File.displayName = 'File';
1671
1684