@allxsmith/bestax-bulma 1.1.1 → 2.0.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.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useRef, useEffect, createContext, useContext, forwardRef } from 'react';
1
+ import React, { useMemo, createContext, useContext, useState, useRef, useEffect, forwardRef } from 'react';
2
2
 
3
3
  var jsxRuntime = {exports: {}};
4
4
 
@@ -729,6 +729,16 @@ const useBulmaClasses = (props) => {
729
729
  return { bulmaHelperClasses, rest };
730
730
  };
731
731
 
732
+ const ConfigContext = createContext({});
733
+ const useConfig = () => useContext(ConfigContext);
734
+ const ConfigProvider = ({ classPrefix, children, }) => {
735
+ return (jsxRuntimeExports.jsx(ConfigContext.Provider, { value: { classPrefix }, children: children }));
736
+ };
737
+ const useClassPrefix = () => {
738
+ const { classPrefix } = useConfig();
739
+ return classPrefix || '';
740
+ };
741
+
732
742
  function getColumnClassNames(props) {
733
743
  const classList = [];
734
744
  const sizeProps = [
@@ -787,7 +797,9 @@ const Column = ({ className, textColor, bgColor, size, sizeMobile, sizeTablet, s
787
797
  backgroundColor: bgColor,
788
798
  ...props,
789
799
  });
790
- const columnClasses = classNames('column', ...getColumnClassNames({
800
+ const { classPrefix } = useConfig();
801
+ const mainClass = classPrefix ? `${classPrefix}column` : 'column';
802
+ const columnClasses = classNames(mainClass, ...getColumnClassNames({
791
803
  size,
792
804
  sizeMobile,
793
805
  sizeTablet,
@@ -837,7 +849,9 @@ const Columns = ({ className, textColor, bgColor, isCentered, isGapless, isMulti
837
849
  backgroundColor: bgColor,
838
850
  ...props,
839
851
  });
840
- const columnsClasses = classNames('columns', {
852
+ const { classPrefix } = useConfig();
853
+ const mainClass = classPrefix ? `${classPrefix}columns` : 'columns';
854
+ const columnsClasses = classNames(mainClass, {
841
855
  'is-centered': isCentered,
842
856
  'is-gapless': isGapless,
843
857
  'is-multiline': isMultiline,
@@ -864,8 +878,10 @@ const validBreadcrumbSeparators = [
864
878
  ];
865
879
  const validBreadcrumbSizes = ['small', 'medium', 'large'];
866
880
  const Breadcrumb = ({ className, alignment, separator, size, children, ...props }) => {
881
+ const { classPrefix } = useConfig();
867
882
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
868
- const breadcrumbClasses = classNames('breadcrumb', className, bulmaHelperClasses, {
883
+ const mainClass = classPrefix ? `${classPrefix}breadcrumb` : 'breadcrumb';
884
+ const breadcrumbClasses = classNames(mainClass, className, bulmaHelperClasses, {
869
885
  [`is-${alignment}`]: alignment && validBreadcrumbAlignments.includes(alignment),
870
886
  [`has-${separator}-separator`]: separator && validBreadcrumbSeparators.includes(separator),
871
887
  [`is-${size}`]: size && validBreadcrumbSizes.includes(size),
@@ -880,12 +896,14 @@ const renderFooter = (footer) => {
880
896
  return items.map((item, idx) => (jsxRuntimeExports.jsx("span", { className: "card-footer-item", children: item }, idx)));
881
897
  };
882
898
  const Card = ({ className, children, textColor, bgColor, hasShadow = true, header, headerCentered, headerIcon, footer, image, imageAlt, ...props }) => {
899
+ const { classPrefix } = useConfig();
883
900
  const { bulmaHelperClasses, rest } = useBulmaClasses({
884
901
  color: textColor,
885
902
  backgroundColor: bgColor,
886
903
  ...props,
887
904
  });
888
- const cardClasses = classNames('card', className, bulmaHelperClasses, {
905
+ const mainClass = classPrefix ? `${classPrefix}card` : 'card';
906
+ const cardClasses = classNames(mainClass, className, bulmaHelperClasses, {
889
907
  'is-shadowless': !hasShadow,
890
908
  });
891
909
  const renderHeader = (header, headerIcon, headerCentered) => {
@@ -903,9 +921,12 @@ const __test_exports__ = { renderFooter };
903
921
 
904
922
  const isBrowser = (win, doc) => typeof win !== 'undefined' && typeof doc !== 'undefined';
905
923
  const DropdownComponent = ({ label, children, className, menuClassName, active: activeProp, up, right, hoverable, disabled, onActiveChange, closeOnClick = true, id, ...props }) => {
924
+ const { classPrefix } = useConfig();
906
925
  const [active, setActive] = useState(!!activeProp);
907
926
  const dropdownRef = useRef(null);
908
927
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
928
+ const mainClass = classPrefix ? `${classPrefix}dropdown` : 'dropdown';
929
+ const buttonClass = classPrefix ? `${classPrefix}button` : 'button';
909
930
  useEffect(() => {
910
931
  if (typeof activeProp === 'boolean')
911
932
  setActive(activeProp);
@@ -938,14 +959,14 @@ const DropdownComponent = ({ label, children, className, menuClassName, active:
938
959
  onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(false);
939
960
  }
940
961
  };
941
- const dropdownClasses = classNames('dropdown', bulmaHelperClasses, {
962
+ const dropdownClasses = classNames(mainClass, bulmaHelperClasses, {
942
963
  'is-active': active,
943
964
  'is-up': up,
944
965
  'is-right': right,
945
966
  'is-hoverable': hoverable,
946
967
  'is-disabled': disabled,
947
968
  }, className);
948
- return (jsxRuntimeExports.jsxs("div", { className: dropdownClasses, ref: dropdownRef, id: id, "data-testid": "dropdown-root", ...rest, children: [jsxRuntimeExports.jsx("div", { className: "dropdown-trigger", children: jsxRuntimeExports.jsxs("button", { className: "button", "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, disabled: disabled, type: "button", children: [jsxRuntimeExports.jsx("span", { children: label }), jsxRuntimeExports.jsx("span", { className: "icon is-small", "aria-hidden": "true", children: jsxRuntimeExports.jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsxRuntimeExports.jsx("div", { className: classNames('dropdown-menu', menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", children: jsxRuntimeExports.jsx("div", { className: "dropdown-content", onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
969
+ return (jsxRuntimeExports.jsxs("div", { className: dropdownClasses, ref: dropdownRef, id: id, "data-testid": "dropdown-root", ...rest, children: [jsxRuntimeExports.jsx("div", { className: "dropdown-trigger", children: jsxRuntimeExports.jsxs("button", { className: buttonClass, "aria-haspopup": "true", "aria-controls": id ? `${id}-menu` : undefined, "aria-expanded": active, onClick: handleToggle, disabled: disabled, type: "button", children: [jsxRuntimeExports.jsx("span", { children: label }), jsxRuntimeExports.jsx("span", { className: "icon is-small", "aria-hidden": "true", children: jsxRuntimeExports.jsx("i", { className: "fas fa-angle-down" }) })] }) }), jsxRuntimeExports.jsx("div", { className: classNames('dropdown-menu', menuClassName), id: id ? `${id}-menu` : undefined, role: "menu", "data-testid": "dropdown-menu", children: jsxRuntimeExports.jsx("div", { className: "dropdown-content", onClick: handleMenuClick, tabIndex: -1, children: children }) })] }));
949
970
  };
950
971
  const DropdownItem = ({ children, active, className, as: Component = 'a', ...props }) => {
951
972
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
@@ -959,8 +980,10 @@ const Dropdown = Object.assign(DropdownComponent, {
959
980
 
960
981
  const MenuListLevelContext = createContext(0);
961
982
  const MenuComponent = ({ className, children, ...props }) => {
983
+ const { classPrefix } = useConfig();
962
984
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
963
- return (jsxRuntimeExports.jsx("aside", { className: classNames('menu', className, bulmaHelperClasses), ...rest, children: children }));
985
+ const mainClass = classPrefix ? `${classPrefix}menu` : 'menu';
986
+ return (jsxRuntimeExports.jsx("aside", { className: classNames(mainClass, className, bulmaHelperClasses), ...rest, children: children }));
964
987
  };
965
988
  const MenuLabel = ({ className, children, ...props }) => {
966
989
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
@@ -1003,16 +1026,20 @@ const Menu = Object.assign(MenuComponent, {
1003
1026
  });
1004
1027
 
1005
1028
  const Message = ({ className, title, textColor, color, bgColor, onClose, children, ...props }) => {
1029
+ const { classPrefix } = useConfig();
1006
1030
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1007
1031
  color: textColor,
1008
1032
  backgroundColor: bgColor,
1009
1033
  ...props,
1010
1034
  });
1011
- const messageClasses = classNames('message', color && `is-${color}`, className, bulmaHelperClasses);
1012
- return (jsxRuntimeExports.jsxs("article", { className: messageClasses, ...rest, "data-testid": "message", children: [(title || onClose) && (jsxRuntimeExports.jsxs("div", { className: "message-header", children: [title && jsxRuntimeExports.jsx("span", { children: title }), onClose && (jsxRuntimeExports.jsx("button", { className: "delete", "aria-label": "delete", onClick: onClose, type: "button", "data-testid": "message-close" }))] })), children && (jsxRuntimeExports.jsx("div", { className: "message-body", "data-testid": "message-body", children: children }))] }));
1035
+ const mainClass = classPrefix ? `${classPrefix}message` : 'message';
1036
+ const deleteClass = classPrefix ? `${classPrefix}delete` : 'delete';
1037
+ const messageClasses = classNames(mainClass, color && `is-${color}`, className, bulmaHelperClasses);
1038
+ return (jsxRuntimeExports.jsxs("article", { className: messageClasses, ...rest, "data-testid": "message", children: [(title || onClose) && (jsxRuntimeExports.jsxs("div", { className: "message-header", children: [title && jsxRuntimeExports.jsx("span", { children: title }), onClose && (jsxRuntimeExports.jsx("button", { className: deleteClass, "aria-label": "delete", onClick: onClose, type: "button", "data-testid": "message-close" }))] })), children && (jsxRuntimeExports.jsx("div", { className: "message-body", "data-testid": "message-body", children: children }))] }));
1013
1039
  };
1014
1040
 
1015
1041
  const Modal = ({ active = false, onClose, className, textColor, bgColor, modalCardTitle, modalCardFoot, type, children, ...props }) => {
1042
+ const { classPrefix } = useConfig();
1016
1043
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1017
1044
  color: textColor,
1018
1045
  backgroundColor: bgColor,
@@ -1025,17 +1052,21 @@ const Modal = ({ active = false, onClose, className, textColor, bgColor, modalCa
1025
1052
  isModalCard = false;
1026
1053
  else
1027
1054
  isModalCard = !!modalCardTitle || !!modalCardFoot;
1028
- const modalClasses = classNames('modal', { 'is-active': active }, className, bulmaHelperClasses);
1029
- return (jsxRuntimeExports.jsxs("div", { className: modalClasses, ...rest, "data-testid": "modal", children: [jsxRuntimeExports.jsx("div", { className: "modal-background", onClick: onClose, "data-testid": "modal-background" }), isModalCard ? (jsxRuntimeExports.jsxs("div", { className: "modal-card", children: [modalCardTitle && (jsxRuntimeExports.jsxs("header", { className: "modal-card-head", children: [jsxRuntimeExports.jsx("p", { className: "modal-card-title", children: modalCardTitle }), onClose && (jsxRuntimeExports.jsx("button", { className: "delete", "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close" }))] })), jsxRuntimeExports.jsx("section", { className: "modal-card-body", "data-testid": "modal-body", children: children }), modalCardFoot && (jsxRuntimeExports.jsx("footer", { className: "modal-card-foot", children: modalCardFoot }))] })) : (jsxRuntimeExports.jsx("div", { className: "modal-content", "data-testid": "modal-content", children: children })), (!isModalCard || (!modalCardTitle && onClose)) && onClose && (jsxRuntimeExports.jsx("button", { className: "modal-close is-large", "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close-float" }))] }));
1055
+ const mainClass = classPrefix ? `${classPrefix}modal` : 'modal';
1056
+ const deleteClass = classPrefix ? `${classPrefix}delete` : 'delete';
1057
+ const modalClasses = classNames(mainClass, { 'is-active': active }, className, bulmaHelperClasses);
1058
+ return (jsxRuntimeExports.jsxs("div", { className: modalClasses, ...rest, "data-testid": "modal", children: [jsxRuntimeExports.jsx("div", { className: "modal-background", onClick: onClose, "data-testid": "modal-background" }), isModalCard ? (jsxRuntimeExports.jsxs("div", { className: "modal-card", children: [modalCardTitle && (jsxRuntimeExports.jsxs("header", { className: "modal-card-head", children: [jsxRuntimeExports.jsx("p", { className: "modal-card-title", children: modalCardTitle }), onClose && (jsxRuntimeExports.jsx("button", { className: deleteClass, "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close" }))] })), jsxRuntimeExports.jsx("section", { className: "modal-card-body", "data-testid": "modal-body", children: children }), modalCardFoot && (jsxRuntimeExports.jsx("footer", { className: "modal-card-foot", children: modalCardFoot }))] })) : (jsxRuntimeExports.jsx("div", { className: "modal-content", "data-testid": "modal-content", children: children })), (!isModalCard || (!modalCardTitle && onClose)) && onClose && (jsxRuntimeExports.jsx("button", { className: "modal-close is-large", "aria-label": "close", onClick: onClose, type: "button", "data-testid": "modal-close-float" }))] }));
1030
1059
  };
1031
1060
 
1032
1061
  const Navbar = ({ className, textColor, bgColor, color, transparent, fixed, children, ...props }) => {
1062
+ const { classPrefix } = useConfig();
1033
1063
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1034
1064
  color: textColor,
1035
1065
  backgroundColor: bgColor,
1036
1066
  ...props,
1037
1067
  });
1038
- const navbarClasses = classNames('navbar', bulmaHelperClasses, className, {
1068
+ const mainClass = classPrefix ? `${classPrefix}navbar` : 'navbar';
1069
+ const navbarClasses = classNames(mainClass, bulmaHelperClasses, className, {
1039
1070
  [`is-${color}`]: color,
1040
1071
  'is-transparent': transparent,
1041
1072
  [`is-fixed-${fixed}`]: fixed,
@@ -1126,12 +1157,14 @@ const PaginationNext = ({ className, disabled, children, ...props }) => (jsxRunt
1126
1157
  }
1127
1158
  : props.onClick, children: children }));
1128
1159
  const Pagination = ({ color, textColor, bgColor, size, align, rounded, className, children, ...props }) => {
1160
+ const { classPrefix } = useConfig();
1129
1161
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1130
1162
  color: textColor,
1131
1163
  backgroundColor: bgColor,
1132
1164
  ...props,
1133
1165
  });
1134
- const paginationClasses = classNames('pagination', bulmaHelperClasses, className, {
1166
+ const mainClass = classPrefix ? `${classPrefix}pagination` : 'pagination';
1167
+ const paginationClasses = classNames(mainClass, bulmaHelperClasses, className, {
1135
1168
  [`is-${color}`]: color,
1136
1169
  [`is-${size}`]: size,
1137
1170
  [`is-${align}`]: align,
@@ -1176,11 +1209,13 @@ Pagination.Previous = PaginationPrevious;
1176
1209
  Pagination.Next = PaginationNext;
1177
1210
 
1178
1211
  const Panel = ({ color, className, children, ...props }) => {
1212
+ const { classPrefix } = useConfig();
1179
1213
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1180
1214
  color,
1181
1215
  ...props,
1182
1216
  });
1183
- const panelClasses = classNames('panel', bulmaHelperClasses, className, {
1217
+ const mainClass = classPrefix ? `${classPrefix}panel` : 'panel';
1218
+ const panelClasses = classNames(mainClass, bulmaHelperClasses, className, {
1184
1219
  [`is-${color}`]: color,
1185
1220
  });
1186
1221
  return (jsxRuntimeExports.jsx("nav", { className: panelClasses, ...rest, children: children }));
@@ -1189,7 +1224,11 @@ const PanelHeading = ({ className, children, ...props }) => (jsxRuntimeExports.j
1189
1224
  const PanelTabs = ({ className, children, ...props }) => (jsxRuntimeExports.jsx("p", { className: classNames('panel-tabs', className), ...props, children: children }));
1190
1225
  const PanelBlock = ({ className, active, children, ...props }) => (jsxRuntimeExports.jsx("a", { className: classNames('panel-block', className, { 'is-active': active }), ...props, children: children }));
1191
1226
  const PanelIcon = ({ className, children, ...props }) => (jsxRuntimeExports.jsx("span", { className: classNames('panel-icon', className), ...props, children: children }));
1192
- const PanelInputBlock = ({ value, onChange, placeholder, iconClassName = 'fas fa-search', ...props }) => (jsxRuntimeExports.jsx("div", { className: "panel-block", ...props, children: jsxRuntimeExports.jsxs("p", { className: "control has-icons-left", children: [jsxRuntimeExports.jsx("input", { className: "input", type: "text", placeholder: placeholder, value: value, onChange: onChange }), jsxRuntimeExports.jsx("span", { className: "icon is-left", children: jsxRuntimeExports.jsx("i", { className: iconClassName, "aria-hidden": "true" }) })] }) }));
1227
+ const PanelInputBlock = ({ value, onChange, placeholder, iconClassName = 'fas fa-search', ...props }) => {
1228
+ const { classPrefix } = useConfig();
1229
+ const inputClass = classPrefix ? `${classPrefix}input` : 'input';
1230
+ return (jsxRuntimeExports.jsx("div", { className: "panel-block", ...props, children: jsxRuntimeExports.jsxs("p", { className: "control has-icons-left", children: [jsxRuntimeExports.jsx("input", { className: inputClass, type: "text", placeholder: placeholder, value: value, onChange: onChange }), jsxRuntimeExports.jsx("span", { className: "icon is-left", children: jsxRuntimeExports.jsx("i", { className: iconClassName, "aria-hidden": "true" }) })] }) }));
1231
+ };
1193
1232
  const PanelCheckboxBlock = ({ checked, onChange, children, ...props }) => (jsxRuntimeExports.jsxs("label", { className: "panel-block", ...props, children: [jsxRuntimeExports.jsx("input", { type: "checkbox", checked: checked, onChange: onChange }), children] }));
1194
1233
  const PanelButtonBlock = ({ children, className, ...props }) => (jsxRuntimeExports.jsx("div", { className: "panel-block", children: jsxRuntimeExports.jsx("button", { className: classNames('button is-link is-outlined is-fullwidth', className), ...props, children: children }) }));
1195
1234
  Panel.Heading = PanelHeading;
@@ -1201,11 +1240,13 @@ Panel.CheckboxBlock = PanelCheckboxBlock;
1201
1240
  Panel.ButtonBlock = PanelButtonBlock;
1202
1241
 
1203
1242
  const Tabs = ({ align, size, fullwidth, boxed, toggle, rounded, color, className, children, ...props }) => {
1243
+ const { classPrefix } = useConfig();
1204
1244
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1205
1245
  color,
1206
1246
  ...props,
1207
1247
  });
1208
- const tabsClass = classNames('tabs', bulmaHelperClasses, {
1248
+ const mainClass = classPrefix ? `${classPrefix}tabs` : 'tabs';
1249
+ const tabsClass = classNames(mainClass, bulmaHelperClasses, {
1209
1250
  [`is-${align}`]: align,
1210
1251
  [`is-${size}`]: size,
1211
1252
  'is-fullwidth': fullwidth,
@@ -1222,34 +1263,40 @@ Tabs.List = TabList;
1222
1263
  Tabs.Item = TabItem;
1223
1264
 
1224
1265
  const Block = ({ className, textColor, bgColor, children, ...props }) => {
1266
+ const { classPrefix } = useConfig();
1225
1267
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1226
1268
  color: textColor,
1227
1269
  backgroundColor: bgColor,
1228
1270
  ...props,
1229
1271
  });
1230
- const blockClasses = classNames('block', className, bulmaHelperClasses);
1272
+ const mainClass = classPrefix ? `${classPrefix}block` : 'block';
1273
+ const blockClasses = classNames(mainClass, className, bulmaHelperClasses);
1231
1274
  return (jsxRuntimeExports.jsx("div", { className: blockClasses, ...rest, children: children }));
1232
1275
  };
1233
1276
 
1234
1277
  const Box = ({ className, textColor, bgColor, hasShadow = true, children, ...props }) => {
1278
+ const { classPrefix } = useConfig();
1235
1279
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1236
1280
  color: textColor,
1237
1281
  backgroundColor: bgColor,
1238
1282
  ...props,
1239
1283
  });
1240
- const boxClasses = classNames('box', className, bulmaHelperClasses, {
1284
+ const mainClass = classPrefix ? `${classPrefix}box` : 'box';
1285
+ const boxClasses = classNames(mainClass, className, bulmaHelperClasses, {
1241
1286
  'is-shadowless': !hasShadow,
1242
1287
  });
1243
1288
  return (jsxRuntimeExports.jsx("div", { className: boxClasses, ...rest, children: children }));
1244
1289
  };
1245
1290
 
1246
1291
  const Button = ({ color, size, isLight, isRounded, isLoading, isStatic, isFullWidth, isOutlined, isInverted, isFocused, isActive, isHovered, isDisabled, className, children, textColor, bgColor, as = 'button', href, onClick, target, rel, ...props }) => {
1292
+ const { classPrefix } = useConfig();
1247
1293
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1248
1294
  color: textColor,
1249
1295
  backgroundColor: bgColor,
1250
1296
  ...props,
1251
1297
  });
1252
- const buttonClasses = classNames('button', className, bulmaHelperClasses, {
1298
+ const mainClass = classPrefix ? `${classPrefix}button` : 'button';
1299
+ const buttonClasses = classNames(mainClass, className, bulmaHelperClasses, {
1253
1300
  [`is-${color}`]: color,
1254
1301
  [`is-${size}`]: size && size !== 'normal',
1255
1302
  'is-light': isLight,
@@ -1274,12 +1321,14 @@ const Button = ({ color, size, isLight, isRounded, isLoading, isStatic, isFullWi
1274
1321
  };
1275
1322
 
1276
1323
  const Buttons = ({ className, textColor, bgColor, isCentered, isRight, hasAddons, children, ...props }) => {
1324
+ const { classPrefix } = useConfig();
1277
1325
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1278
1326
  color: textColor,
1279
1327
  backgroundColor: bgColor,
1280
1328
  ...props,
1281
1329
  });
1282
- const buttonsClasses = classNames('buttons', className, bulmaHelperClasses, {
1330
+ const mainClass = classPrefix ? `${classPrefix}buttons` : 'buttons';
1331
+ const buttonsClasses = classNames(mainClass, className, bulmaHelperClasses, {
1283
1332
  'is-centered': isCentered,
1284
1333
  'is-right': isRight,
1285
1334
  'has-addons': hasAddons,
@@ -1289,24 +1338,28 @@ const Buttons = ({ className, textColor, bgColor, isCentered, isRight, hasAddons
1289
1338
 
1290
1339
  const validSizes = ['small', 'medium', 'large'];
1291
1340
  const Content = ({ className, textColor, bgColor, size, children, ...props }) => {
1341
+ const { classPrefix } = useConfig();
1292
1342
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1293
1343
  color: textColor,
1294
1344
  backgroundColor: bgColor,
1295
1345
  ...props,
1296
1346
  });
1297
- const contentClasses = classNames('content', className, bulmaHelperClasses, {
1347
+ const mainClass = classPrefix ? `${classPrefix}content` : 'content';
1348
+ const contentClasses = classNames(mainClass, className, bulmaHelperClasses, {
1298
1349
  [`is-${size}`]: size && size !== 'normal' && validSizes.includes(size),
1299
1350
  });
1300
1351
  return (jsxRuntimeExports.jsx("div", { className: contentClasses, ...rest, children: children }));
1301
1352
  };
1302
1353
 
1303
1354
  const Delete = ({ className, textColor, bgColor, onClick, size, ariaLabel = 'Close', disabled = false, ...props }) => {
1355
+ const { classPrefix } = useConfig();
1304
1356
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1305
1357
  color: textColor,
1306
1358
  backgroundColor: bgColor,
1307
1359
  ...props,
1308
1360
  });
1309
- const classes = classNames('delete', {
1361
+ const mainClass = classPrefix ? `${classPrefix}delete` : 'delete';
1362
+ const classes = classNames(mainClass, {
1310
1363
  [`is-${size}`]: size,
1311
1364
  'is-disabled': disabled,
1312
1365
  }, bulmaHelperClasses, className);
@@ -1342,12 +1395,14 @@ function getIconClasses(library, name, libraryFeatures) {
1342
1395
  }
1343
1396
  }
1344
1397
  const Icon = ({ className, textColor, bgColor, name, library = 'fa', libraryFeatures, size, ariaLabel = 'icon', style, ...props }) => {
1398
+ const { classPrefix } = useConfig();
1345
1399
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1346
1400
  color: textColor,
1347
1401
  backgroundColor: bgColor,
1348
1402
  ...props,
1349
1403
  });
1350
- const iconContainerClasses = classNames('icon', {
1404
+ const mainClass = classPrefix ? `${classPrefix}icon` : 'icon';
1405
+ const iconContainerClasses = classNames(mainClass, {
1351
1406
  [`is-${size}`]: size,
1352
1407
  }, bulmaHelperClasses, className);
1353
1408
  const iClasses = getIconClasses(library, name, libraryFeatures);
@@ -1355,22 +1410,26 @@ const Icon = ({ className, textColor, bgColor, name, library = 'fa', libraryFeat
1355
1410
  };
1356
1411
 
1357
1412
  const IconText = ({ className, textColor, bgColor, iconProps, children, items, ...props }) => {
1413
+ const { classPrefix } = useConfig();
1358
1414
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1359
1415
  color: textColor,
1360
1416
  backgroundColor: bgColor,
1361
1417
  ...props,
1362
1418
  });
1363
- const iconTextClasses = classNames('icon-text', bulmaHelperClasses, className);
1419
+ const mainClass = classPrefix ? `${classPrefix}icon-text` : 'icon-text';
1420
+ const iconTextClasses = classNames(mainClass, bulmaHelperClasses, className);
1364
1421
  return (jsxRuntimeExports.jsx("span", { className: iconTextClasses, ...rest, children: items ? (items.map((item, index) => (jsxRuntimeExports.jsxs(React.Fragment, { children: [jsxRuntimeExports.jsx(Icon, { ...item.iconProps }), item.text && jsxRuntimeExports.jsx("span", { children: item.text })] }, index)))) : (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [iconProps && jsxRuntimeExports.jsx(Icon, { ...iconProps }), children && jsxRuntimeExports.jsx("span", { children: children })] })) }));
1365
1422
  };
1366
1423
 
1367
1424
  const Image = ({ as, className, textColor, bgColor, size, isRounded, isRetina, src, alt, children, ...props }) => {
1425
+ const { classPrefix } = useConfig();
1368
1426
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1369
1427
  color: textColor,
1370
1428
  backgroundColor: bgColor,
1371
1429
  ...props,
1372
1430
  });
1373
- const imageClasses = classNames('image', className, bulmaHelperClasses, {
1431
+ const mainClass = classPrefix ? `${classPrefix}image` : 'image';
1432
+ const imageClasses = classNames(mainClass, className, bulmaHelperClasses, {
1374
1433
  [`is-${size}`]: size,
1375
1434
  'has-ratio': size && typeof size === 'string' && size.includes('by'),
1376
1435
  });
@@ -1389,21 +1448,26 @@ const Image = ({ as, className, textColor, bgColor, size, isRounded, isRetina, s
1389
1448
  };
1390
1449
 
1391
1450
  const Notification = ({ className, color, isLight, hasDelete, onDelete, children, ...props }) => {
1451
+ const { classPrefix } = useConfig();
1392
1452
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1393
1453
  ...props,
1394
1454
  });
1395
- const notificationClasses = classNames('notification', className, bulmaHelperClasses, {
1455
+ const mainClass = classPrefix ? `${classPrefix}notification` : 'notification';
1456
+ const deleteClass = classPrefix ? `${classPrefix}delete` : 'delete';
1457
+ const notificationClasses = classNames(mainClass, className, bulmaHelperClasses, {
1396
1458
  [`is-${color}`]: color && validColors.includes(color),
1397
1459
  'is-light': isLight,
1398
1460
  });
1399
- return (jsxRuntimeExports.jsxs("div", { className: notificationClasses, ...rest, children: [hasDelete && (jsxRuntimeExports.jsx("button", { className: "delete", onClick: onDelete, "aria-label": "Close notification" })), children] }));
1461
+ return (jsxRuntimeExports.jsxs("div", { className: notificationClasses, ...rest, children: [hasDelete && (jsxRuntimeExports.jsx("button", { className: deleteClass, onClick: onDelete, "aria-label": "Close notification" })), children] }));
1400
1462
  };
1401
1463
 
1402
1464
  const Progress = ({ className, color, size, value, max, children, ...props }) => {
1465
+ const { classPrefix } = useConfig();
1403
1466
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1404
1467
  ...props,
1405
1468
  });
1406
- const progressClasses = classNames('progress', className, bulmaHelperClasses, {
1469
+ const mainClass = classPrefix ? `${classPrefix}progress` : 'progress';
1470
+ const progressClasses = classNames(mainClass, className, bulmaHelperClasses, {
1407
1471
  [`is-${color}`]: color && validColors.includes(color),
1408
1472
  [`is-${size}`]: size,
1409
1473
  });
@@ -1411,10 +1475,17 @@ const Progress = ({ className, color, size, value, max, children, ...props }) =>
1411
1475
  };
1412
1476
 
1413
1477
  const Skeleton = ({ className, variant = 'block', lines = 3, children, ...props }) => {
1478
+ const { classPrefix } = useConfig();
1414
1479
  if (variant === 'lines') {
1415
- return (jsxRuntimeExports.jsx("div", { className: classNames('skeleton-lines', className), ...props, children: Array.from({ length: lines }).map((_, i) => (jsxRuntimeExports.jsx("div", {}, i))) }));
1480
+ const linesClass = classPrefix
1481
+ ? `${classPrefix}skeleton-lines`
1482
+ : 'skeleton-lines';
1483
+ return (jsxRuntimeExports.jsx("div", { className: classNames(linesClass, className), ...props, children: Array.from({ length: lines }).map((_, i) => (jsxRuntimeExports.jsx("div", {}, i))) }));
1416
1484
  }
1417
- return (jsxRuntimeExports.jsx("div", { className: classNames('skeleton-block', className), ...props, children: children }));
1485
+ const blockClass = classPrefix
1486
+ ? `${classPrefix}skeleton-block`
1487
+ : 'skeleton-block';
1488
+ return (jsxRuntimeExports.jsx("div", { className: classNames(blockClass, className), ...props, children: children }));
1418
1489
  };
1419
1490
 
1420
1491
  const validSubTitleSizes = ['1', '2', '3', '4', '5', '6'];
@@ -1428,10 +1499,12 @@ const validSubTitleElements = [
1428
1499
  'p',
1429
1500
  ];
1430
1501
  const SubTitle = ({ className, size, as = 'h1', hasSkeleton, children, ...props }) => {
1502
+ const { classPrefix } = useConfig();
1431
1503
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1432
1504
  const element = validSubTitleElements.includes(as) ? as : 'h1';
1433
1505
  const validSize = size && validSubTitleSizes.includes(size) ? size : undefined;
1434
- const subTitleClasses = classNames('subtitle', className, bulmaHelperClasses, {
1506
+ const mainClass = classPrefix ? `${classPrefix}subtitle` : 'subtitle';
1507
+ const subTitleClasses = classNames(mainClass, className, bulmaHelperClasses, {
1435
1508
  [`is-${validSize}`]: validSize,
1436
1509
  'has-skeleton': hasSkeleton,
1437
1510
  });
@@ -1440,8 +1513,10 @@ const SubTitle = ({ className, size, as = 'h1', hasSkeleton, children, ...props
1440
1513
  };
1441
1514
 
1442
1515
  const Table = ({ className, isBordered, isStriped, isNarrow, isHoverable, isFullwidth, isResponsive, children, ...props }) => {
1516
+ const { classPrefix } = useConfig();
1443
1517
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1444
- const tableClasses = classNames('table', className, bulmaHelperClasses, {
1518
+ const mainClass = classPrefix ? `${classPrefix}table` : 'table';
1519
+ const tableClasses = classNames(mainClass, className, bulmaHelperClasses, {
1445
1520
  'is-bordered': isBordered,
1446
1521
  'is-striped': isStriped,
1447
1522
  'is-narrow': isNarrow,
@@ -1449,7 +1524,13 @@ const Table = ({ className, isBordered, isStriped, isNarrow, isHoverable, isFull
1449
1524
  'is-fullwidth': isFullwidth,
1450
1525
  });
1451
1526
  const tableElement = (jsxRuntimeExports.jsx("table", { className: tableClasses, ...rest, children: children }));
1452
- return isResponsive ? (jsxRuntimeExports.jsx("div", { className: "table-container", children: tableElement })) : (tableElement);
1527
+ if (isResponsive) {
1528
+ const containerClass = classPrefix
1529
+ ? `${classPrefix}table-container`
1530
+ : 'table-container';
1531
+ return jsxRuntimeExports.jsx("div", { className: containerClass, children: tableElement });
1532
+ }
1533
+ return tableElement;
1453
1534
  };
1454
1535
 
1455
1536
  const validTagColors = [
@@ -1466,8 +1547,10 @@ const validTagColors = [
1466
1547
  ];
1467
1548
  const validTagSizes = ['normal', 'medium', 'large'];
1468
1549
  const Tag = ({ className, color, size, isRounded, isDelete, isHoverable, onDelete, children, ...props }) => {
1550
+ const { classPrefix } = useConfig();
1469
1551
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1470
- const tagClasses = classNames('tag', className, bulmaHelperClasses, {
1552
+ const mainClass = classPrefix ? `${classPrefix}tag` : 'tag';
1553
+ const tagClasses = classNames(mainClass, className, bulmaHelperClasses, {
1471
1554
  [`is-${color}`]: color && validTagColors.includes(color),
1472
1555
  [`is-${size}`]: size && size !== 'normal' && validTagSizes.includes(size),
1473
1556
  'is-rounded': isRounded,
@@ -1481,8 +1564,10 @@ const Tag = ({ className, color, size, isRounded, isDelete, isHoverable, onDelet
1481
1564
  };
1482
1565
 
1483
1566
  const Tags = ({ className, hasAddons, isMultiline, children, ...props }) => {
1567
+ const { classPrefix } = useConfig();
1484
1568
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1485
- const tagsClasses = classNames('tags', className, bulmaHelperClasses, {
1569
+ const mainClass = classPrefix ? `${classPrefix}tags` : 'tags';
1570
+ const tagsClasses = classNames(mainClass, className, bulmaHelperClasses, {
1486
1571
  'has-addons': hasAddons,
1487
1572
  'are-multiline': isMultiline,
1488
1573
  });
@@ -1542,10 +1627,12 @@ const Thead = ({ className, children, ...props }) => {
1542
1627
  const validTitleSizes = ['1', '2', '3', '4', '5', '6'];
1543
1628
  const validTitleElements = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p'];
1544
1629
  const Title = ({ className, size, isSpaced, as = 'h1', hasSkeleton, children, ...props }) => {
1630
+ const { classPrefix } = useConfig();
1545
1631
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1546
1632
  const element = validTitleElements.includes(as) ? as : 'h1';
1547
1633
  const validSize = size && validTitleSizes.includes(size) ? size : undefined;
1548
- const titleClasses = classNames('title', className, bulmaHelperClasses, {
1634
+ const mainClass = classPrefix ? `${classPrefix}title` : 'title';
1635
+ const titleClasses = classNames(mainClass, className, bulmaHelperClasses, {
1549
1636
  [`is-${validSize}`]: validSize,
1550
1637
  'is-spaced': isSpaced,
1551
1638
  'has-skeleton': hasSkeleton,
@@ -1564,25 +1651,30 @@ const Tr = ({ className, isSelected, color, children, ...props }) => {
1564
1651
  };
1565
1652
 
1566
1653
  const Checkbox = forwardRef(({ disabled, className, children, ...props }, ref) => {
1654
+ const { classPrefix } = useConfig();
1567
1655
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1568
1656
  ...props,
1569
1657
  });
1570
- const checkboxClass = classNames('checkbox', bulmaHelperClasses, className);
1658
+ const mainClass = classPrefix ? `${classPrefix}checkbox` : 'checkbox';
1659
+ const checkboxClass = classNames(mainClass, bulmaHelperClasses, className);
1571
1660
  return (jsxRuntimeExports.jsxs("label", { className: checkboxClass, children: [jsxRuntimeExports.jsx("input", { ref: ref, type: "checkbox", disabled: disabled, ...rest }), children] }));
1572
1661
  });
1573
1662
  Checkbox.displayName = 'Checkbox';
1574
1663
 
1575
1664
  const Checkboxes = ({ children, className, ...props }) => {
1665
+ const { classPrefix } = useConfig();
1576
1666
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1577
1667
  ...props,
1578
1668
  });
1579
- const wrapperClass = classNames('checkboxes', bulmaHelperClasses, className);
1669
+ const mainClass = classPrefix ? `${classPrefix}checkboxes` : 'checkboxes';
1670
+ const wrapperClass = classNames(mainClass, bulmaHelperClasses, className);
1580
1671
  return (jsxRuntimeExports.jsx("div", { className: wrapperClass, ...rest, children: children }));
1581
1672
  };
1582
1673
 
1583
1674
  const allowedColors = [...validColors, 'inherit', 'current'];
1584
1675
  const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isLoading, isExpanded, size, textColor, bgColor, iconLeft, iconRight, iconLeftName, iconLeftSize, iconRightName, iconRightSize, className, children, ...props }, ref) => {
1585
1676
  const Component = (as === 'p' ? 'p' : 'div');
1677
+ const { classPrefix } = useConfig();
1586
1678
  const { textColor: _ignoredTextColor, bgColor: _ignoredBgColor, ...restProps } = props;
1587
1679
  const safeTextColor = allowedColors.includes(textColor)
1588
1680
  ? textColor
@@ -1609,7 +1701,8 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1609
1701
  size: iconRightSize,
1610
1702
  }
1611
1703
  : undefined);
1612
- const controlClass = classNames('control', bulmaHelperClasses, {
1704
+ const mainClass = classPrefix ? `${classPrefix}control` : 'control';
1705
+ const controlClass = classNames(mainClass, bulmaHelperClasses, {
1613
1706
  'has-icons-left': hasIconsLeft || !!leftIconProps,
1614
1707
  'has-icons-right': hasIconsRight || !!rightIconProps,
1615
1708
  'is-loading': isLoading,
@@ -1621,30 +1714,36 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1621
1714
  Control.displayName = 'Control';
1622
1715
 
1623
1716
  const FieldLabel = ({ size, textColor, bgColor, className, children, ...props }) => {
1717
+ const { classPrefix } = useConfig();
1624
1718
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1625
1719
  color: textColor,
1626
1720
  backgroundColor: bgColor,
1627
1721
  ...props,
1628
1722
  });
1629
- const fieldLabelClass = classNames('field-label', bulmaHelperClasses, { [`is-${size}`]: size }, className);
1723
+ const mainClass = classPrefix ? `${classPrefix}field-label` : 'field-label';
1724
+ const fieldLabelClass = classNames(mainClass, bulmaHelperClasses, { [`is-${size}`]: size }, className);
1630
1725
  return (jsxRuntimeExports.jsx("div", { className: fieldLabelClass, ...props, ...rest, children: children }));
1631
1726
  };
1632
1727
  const FieldBody = ({ textColor, bgColor, className, children, ...props }) => {
1728
+ const { classPrefix } = useConfig();
1633
1729
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1634
1730
  color: textColor,
1635
1731
  backgroundColor: bgColor,
1636
1732
  ...props,
1637
1733
  });
1638
- const fieldBodyClass = classNames('field-body', bulmaHelperClasses, className);
1734
+ const mainClass = classPrefix ? `${classPrefix}field-body` : 'field-body';
1735
+ const fieldBodyClass = classNames(mainClass, bulmaHelperClasses, className);
1639
1736
  return (jsxRuntimeExports.jsx("div", { className: fieldBodyClass, ...props, ...rest, children: children }));
1640
1737
  };
1641
1738
  const Field = ({ horizontal, grouped, hasAddons, label, labelSize, labelProps, textColor, bgColor, className, children, ...props }) => {
1739
+ const { classPrefix } = useConfig();
1642
1740
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1643
1741
  color: textColor,
1644
1742
  backgroundColor: bgColor,
1645
1743
  ...props,
1646
1744
  });
1647
- const fieldClass = classNames('field', bulmaHelperClasses, {
1745
+ const mainClass = classPrefix ? `${classPrefix}field` : 'field';
1746
+ const fieldClass = classNames(mainClass, bulmaHelperClasses, {
1648
1747
  'is-horizontal': horizontal,
1649
1748
  'has-addons': !!hasAddons,
1650
1749
  'is-grouped': grouped === true ||
@@ -1658,11 +1757,12 @@ const Field = ({ horizontal, grouped, hasAddons, label, labelSize, labelProps, t
1658
1757
  const mappedLabelSize = labelSize === 'normal' ? undefined : labelSize;
1659
1758
  let renderedLabel = null;
1660
1759
  if (label) {
1760
+ const labelClass = classPrefix ? `${classPrefix}label` : 'label';
1661
1761
  if (horizontal) {
1662
- renderedLabel = (jsxRuntimeExports.jsx(FieldLabel, { size: mappedLabelSize, children: jsxRuntimeExports.jsx("label", { ...labelProps, className: classNames('label', labelProps === null || labelProps === void 0 ? void 0 : labelProps.className), style: labelProps === null || labelProps === void 0 ? void 0 : labelProps.style, children: label }) }));
1762
+ renderedLabel = (jsxRuntimeExports.jsx(FieldLabel, { size: mappedLabelSize, children: jsxRuntimeExports.jsx("label", { ...labelProps, className: classNames(labelClass, labelProps === null || labelProps === void 0 ? void 0 : labelProps.className), style: labelProps === null || labelProps === void 0 ? void 0 : labelProps.style, children: label }) }));
1663
1763
  }
1664
1764
  else {
1665
- renderedLabel = (jsxRuntimeExports.jsx("label", { ...labelProps, className: classNames('label', labelProps === null || labelProps === void 0 ? void 0 : labelProps.className), style: { display: 'block', ...((labelProps === null || labelProps === void 0 ? void 0 : labelProps.style) || {}) }, children: label }));
1765
+ renderedLabel = (jsxRuntimeExports.jsx("label", { ...labelProps, className: classNames(labelClass, labelProps === null || labelProps === void 0 ? void 0 : labelProps.className), style: { display: 'block', ...((labelProps === null || labelProps === void 0 ? void 0 : labelProps.style) || {}) }, children: label }));
1666
1766
  }
1667
1767
  }
1668
1768
  let content = children;
@@ -1683,6 +1783,7 @@ Field.Label = FieldLabel;
1683
1783
  Field.Body = FieldBody;
1684
1784
 
1685
1785
  const File = forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentered, hasName, label, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
1786
+ const { classPrefix } = useConfig();
1686
1787
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1687
1788
  color,
1688
1789
  ...props,
@@ -1697,7 +1798,8 @@ const File = forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentere
1697
1798
  else if (isCentered) {
1698
1799
  alignmentClass = 'is-centered';
1699
1800
  }
1700
- const fileClass = classNames('file', bulmaHelperClasses, {
1801
+ const mainClass = classPrefix ? `${classPrefix}file` : 'file';
1802
+ const fileClass = classNames(mainClass, bulmaHelperClasses, {
1701
1803
  [`is-${color}`]: color,
1702
1804
  [`is-${size}`]: size,
1703
1805
  'is-boxed': isBoxed,
@@ -1709,11 +1811,13 @@ const File = forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentere
1709
1811
  File.displayName = 'File';
1710
1812
 
1711
1813
  const Input = forwardRef(({ color, size, isRounded, isStatic, isHovered, isFocused, isLoading, className, disabled, readOnly, ...props }, ref) => {
1814
+ const { classPrefix } = useConfig();
1712
1815
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1713
1816
  color,
1714
1817
  ...props,
1715
1818
  });
1716
- const inputClass = classNames('input', bulmaHelperClasses, {
1819
+ const mainClass = classPrefix ? `${classPrefix}input` : 'input';
1820
+ const inputClass = classNames(mainClass, bulmaHelperClasses, {
1717
1821
  [`is-${color}`]: color,
1718
1822
  [`is-${size}`]: size,
1719
1823
  'is-rounded': isRounded,
@@ -1727,28 +1831,34 @@ const Input = forwardRef(({ color, size, isRounded, isStatic, isHovered, isFocus
1727
1831
  Input.displayName = 'Input';
1728
1832
 
1729
1833
  const Radio = forwardRef(({ disabled, className, children, ...props }, ref) => {
1834
+ const { classPrefix } = useConfig();
1730
1835
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1731
1836
  ...props,
1732
1837
  });
1733
- const radioClass = classNames('radio', bulmaHelperClasses, className);
1838
+ const mainClass = classPrefix ? `${classPrefix}radio` : 'radio';
1839
+ const radioClass = classNames(mainClass, bulmaHelperClasses, className);
1734
1840
  return (jsxRuntimeExports.jsxs("label", { className: radioClass, children: [jsxRuntimeExports.jsx("input", { ref: ref, type: "radio", disabled: disabled, ...rest }), children] }));
1735
1841
  });
1736
1842
  Radio.displayName = 'Radio';
1737
1843
 
1738
1844
  const Radios = ({ children, className, ...props }) => {
1845
+ const { classPrefix } = useConfig();
1739
1846
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1740
1847
  ...props,
1741
1848
  });
1742
- const wrapperClass = classNames('radios', bulmaHelperClasses, className);
1849
+ const mainClass = classPrefix ? `${classPrefix}radios` : 'radios';
1850
+ const wrapperClass = classNames(mainClass, bulmaHelperClasses, className);
1743
1851
  return (jsxRuntimeExports.jsx("div", { className: wrapperClass, ...rest, children: children }));
1744
1852
  };
1745
1853
 
1746
1854
  const Select = forwardRef(({ color, size, isRounded, isLoading, isActive, className, disabled, children, multiple, multipleSize, ...props }, ref) => {
1855
+ const { classPrefix } = useConfig();
1747
1856
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1748
1857
  color,
1749
1858
  ...props,
1750
1859
  });
1751
- const selectClass = classNames('select', bulmaHelperClasses, {
1860
+ const mainClass = classPrefix ? `${classPrefix}select` : 'select';
1861
+ const selectClass = classNames(mainClass, bulmaHelperClasses, {
1752
1862
  [`is-${color}`]: color,
1753
1863
  [`is-${size}`]: size,
1754
1864
  'is-rounded': isRounded,
@@ -1768,11 +1878,13 @@ const Select = forwardRef(({ color, size, isRounded, isLoading, isActive, classN
1768
1878
  Select.displayName = 'Select';
1769
1879
 
1770
1880
  const TextArea = forwardRef(({ color, size, isRounded, isStatic, isHovered, isFocused, isLoading, isActive, hasFixedSize, className, disabled, readOnly, rows, ...props }, ref) => {
1881
+ const { classPrefix } = useConfig();
1771
1882
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1772
1883
  color,
1773
1884
  ...props,
1774
1885
  });
1775
- const textareaClass = classNames('textarea', bulmaHelperClasses, {
1886
+ const mainClass = classPrefix ? `${classPrefix}textarea` : 'textarea';
1887
+ const textareaClass = classNames(mainClass, bulmaHelperClasses, {
1776
1888
  [`is-${color}`]: color,
1777
1889
  [`is-${size}`]: size,
1778
1890
  'is-rounded': isRounded,
@@ -1809,7 +1921,9 @@ const Cell = ({ colStart, colFromEnd, colSpan, rowStart, rowFromEnd, rowSpan, cl
1809
1921
  backgroundColor: bgColor,
1810
1922
  ...props,
1811
1923
  });
1812
- const cellClasses = classNames('cell', ...getCellGridClasses({
1924
+ const { classPrefix } = useConfig();
1925
+ const mainClass = classPrefix ? `${classPrefix}cell` : 'cell';
1926
+ const cellClasses = classNames(mainClass, ...getCellGridClasses({
1813
1927
  colStart,
1814
1928
  colFromEnd,
1815
1929
  colSpan,
@@ -1858,7 +1972,9 @@ const Grid = ({ isFixed = false, gap, columnGap, rowGap, minCol, fixedCols, fixe
1858
1972
  backgroundColor: bgColor,
1859
1973
  ...props,
1860
1974
  });
1861
- const gridClasses = classNames('grid', ...getGridInnerClasses({ gap, columnGap, rowGap, minCol }), bulmaHelperClasses, className);
1975
+ const { classPrefix } = useConfig();
1976
+ const mainClass = classPrefix ? `${classPrefix}grid` : 'grid';
1977
+ const gridClasses = classNames(mainClass, ...getGridInnerClasses({ gap, columnGap, rowGap, minCol }), bulmaHelperClasses, className);
1862
1978
  if (isFixed) {
1863
1979
  const fixedGridClasses = classNames('fixed-grid', ...getFixedGridClasses({
1864
1980
  fixedCols,
@@ -1873,7 +1989,598 @@ const Grid = ({ isFixed = false, gap, columnGap, rowGap, minCol, fixedCols, fixe
1873
1989
  return (jsxRuntimeExports.jsx("div", { className: gridClasses, ...rest, children: children }));
1874
1990
  };
1875
1991
 
1992
+ const bulmaCssVars = [
1993
+ '--bulma-scheme-h',
1994
+ '--bulma-scheme-s',
1995
+ '--bulma-light-l',
1996
+ '--bulma-light-invert-l',
1997
+ '--bulma-dark-l',
1998
+ '--bulma-dark-invert-l',
1999
+ '--bulma-soft-l',
2000
+ '--bulma-bold-l',
2001
+ '--bulma-soft-invert-l',
2002
+ '--bulma-bold-invert-l',
2003
+ '--bulma-hover-background-l-delta',
2004
+ '--bulma-active-background-l-delta',
2005
+ '--bulma-hover-border-l-delta',
2006
+ '--bulma-active-border-l-delta',
2007
+ '--bulma-hover-color-l-delta',
2008
+ '--bulma-active-color-l-delta',
2009
+ '--bulma-hover-shadow-a-delta',
2010
+ '--bulma-active-shadow-a-delta',
2011
+ '--bulma-primary-h',
2012
+ '--bulma-primary-s',
2013
+ '--bulma-primary-l',
2014
+ '--bulma-link-h',
2015
+ '--bulma-link-s',
2016
+ '--bulma-link-l',
2017
+ '--bulma-info-h',
2018
+ '--bulma-info-s',
2019
+ '--bulma-info-l',
2020
+ '--bulma-success-h',
2021
+ '--bulma-success-s',
2022
+ '--bulma-success-l',
2023
+ '--bulma-warning-h',
2024
+ '--bulma-warning-s',
2025
+ '--bulma-warning-l',
2026
+ '--bulma-danger-h',
2027
+ '--bulma-danger-s',
2028
+ '--bulma-danger-l',
2029
+ '--bulma-family-primary',
2030
+ '--bulma-family-secondary',
2031
+ '--bulma-family-code',
2032
+ '--bulma-size-small',
2033
+ '--bulma-size-normal',
2034
+ '--bulma-size-medium',
2035
+ '--bulma-size-large',
2036
+ '--bulma-weight-light',
2037
+ '--bulma-weight-normal',
2038
+ '--bulma-weight-medium',
2039
+ '--bulma-weight-semibold',
2040
+ '--bulma-weight-bold',
2041
+ '--bulma-weight-extrabold',
2042
+ '--bulma-block-spacing',
2043
+ '--bulma-duration',
2044
+ '--bulma-easing',
2045
+ '--bulma-radius-small',
2046
+ '--bulma-radius',
2047
+ '--bulma-radius-medium',
2048
+ '--bulma-radius-large',
2049
+ '--bulma-radius-rounded',
2050
+ '--bulma-speed',
2051
+ '--bulma-arrow-color',
2052
+ '--bulma-loading-color',
2053
+ '--bulma-burger-h',
2054
+ '--bulma-burger-s',
2055
+ '--bulma-burger-l',
2056
+ '--bulma-burger-border-radius',
2057
+ '--bulma-burger-gap',
2058
+ '--bulma-burger-item-height',
2059
+ '--bulma-burger-item-width',
2060
+ '--bulma-body-background-color',
2061
+ '--bulma-body-size',
2062
+ '--bulma-body-min-width',
2063
+ '--bulma-body-rendering',
2064
+ '--bulma-body-family',
2065
+ '--bulma-body-overflow-x',
2066
+ '--bulma-body-overflow-y',
2067
+ '--bulma-body-color',
2068
+ '--bulma-body-font-size',
2069
+ '--bulma-body-weight',
2070
+ '--bulma-body-line-height',
2071
+ '--bulma-code-family',
2072
+ '--bulma-code-padding',
2073
+ '--bulma-code-weight',
2074
+ '--bulma-code-size',
2075
+ '--bulma-small-font-size',
2076
+ '--bulma-hr-background-color',
2077
+ '--bulma-hr-height',
2078
+ '--bulma-hr-margin',
2079
+ '--bulma-strong-color',
2080
+ '--bulma-strong-weight',
2081
+ '--bulma-pre-font-size',
2082
+ '--bulma-pre-padding',
2083
+ '--bulma-pre-code-font-size',
2084
+ '--bulma-skeleton-background',
2085
+ '--bulma-skeleton-radius',
2086
+ '--bulma-skeleton-block-min-height',
2087
+ '--bulma-skeleton-lines-gap',
2088
+ '--bulma-skeleton-line-height',
2089
+ '--bulma-breadcrumb-item-color',
2090
+ '--bulma-breadcrumb-item-hover-color',
2091
+ '--bulma-breadcrumb-item-active-color',
2092
+ '--bulma-breadcrumb-item-padding-vertical',
2093
+ '--bulma-breadcrumb-item-padding-horizontal',
2094
+ '--bulma-breadcrumb-item-separator-color',
2095
+ '--bulma-card-color',
2096
+ '--bulma-card-background-color',
2097
+ '--bulma-card-shadow',
2098
+ '--bulma-card-radius',
2099
+ '--bulma-card-header-background-color',
2100
+ '--bulma-card-header-color',
2101
+ '--bulma-card-header-padding',
2102
+ '--bulma-card-header-shadow',
2103
+ '--bulma-card-header-weight',
2104
+ '--bulma-card-content-background-color',
2105
+ '--bulma-card-content-padding',
2106
+ '--bulma-card-footer-background-color',
2107
+ '--bulma-card-footer-border-top',
2108
+ '--bulma-card-footer-padding',
2109
+ '--bulma-card-media-margin',
2110
+ '--bulma-dropdown-menu-min-width',
2111
+ '--bulma-dropdown-content-background-color',
2112
+ '--bulma-dropdown-content-offset',
2113
+ '--bulma-dropdown-content-padding-bottom',
2114
+ '--bulma-dropdown-content-padding-top',
2115
+ '--bulma-dropdown-content-radius',
2116
+ '--bulma-dropdown-content-shadow',
2117
+ '--bulma-dropdown-content-z',
2118
+ '--bulma-dropdown-item-h',
2119
+ '--bulma-dropdown-item-s',
2120
+ '--bulma-dropdown-item-l',
2121
+ '--bulma-dropdown-item-background-l',
2122
+ '--bulma-dropdown-item-background-l-delta',
2123
+ '--bulma-dropdown-item-hover-background-l-delta',
2124
+ '--bulma-dropdown-item-active-background-l-delta',
2125
+ '--bulma-dropdown-item-color-l',
2126
+ '--bulma-dropdown-item-selected-h',
2127
+ '--bulma-dropdown-item-selected-s',
2128
+ '--bulma-dropdown-item-selected-l',
2129
+ '--bulma-dropdown-item-selected-background-l',
2130
+ '--bulma-dropdown-item-selected-color-l',
2131
+ '--bulma-dropdown-divider-background-color',
2132
+ '--bulma-menu-item-h',
2133
+ '--bulma-menu-item-s',
2134
+ '--bulma-menu-item-l',
2135
+ '--bulma-menu-item-background-l',
2136
+ '--bulma-menu-item-background-l-delta',
2137
+ '--bulma-menu-item-hover-background-l-delta',
2138
+ '--bulma-menu-item-active-background-l-delta',
2139
+ '--bulma-menu-item-color-l',
2140
+ '--bulma-menu-item-radius',
2141
+ '--bulma-menu-item-selected-h',
2142
+ '--bulma-menu-item-selected-s',
2143
+ '--bulma-menu-item-selected-l',
2144
+ '--bulma-menu-item-selected-background-l',
2145
+ '--bulma-menu-item-selected-color-l',
2146
+ '--bulma-menu-list-border-left',
2147
+ '--bulma-menu-list-line-height',
2148
+ '--bulma-menu-list-link-padding',
2149
+ '--bulma-menu-nested-list-margin',
2150
+ '--bulma-menu-nested-list-padding-left',
2151
+ '--bulma-menu-label-color',
2152
+ '--bulma-menu-label-font-size',
2153
+ '--bulma-menu-label-letter-spacing',
2154
+ '--bulma-menu-label-spacing',
2155
+ '--bulma-message-h',
2156
+ '--bulma-message-s',
2157
+ '--bulma-message-background-l',
2158
+ '--bulma-message-border-l',
2159
+ '--bulma-message-border-l-delta',
2160
+ '--bulma-message-border-style',
2161
+ '--bulma-message-border-width',
2162
+ '--bulma-message-color-l',
2163
+ '--bulma-message-radius',
2164
+ '--bulma-message-header-weight',
2165
+ '--bulma-message-header-padding',
2166
+ '--bulma-message-header-radius',
2167
+ '--bulma-message-header-body-border-width',
2168
+ '--bulma-message-header-background-l',
2169
+ '--bulma-message-header-color-l',
2170
+ '--bulma-message-body-border-width',
2171
+ '--bulma-message-body-color',
2172
+ '--bulma-message-body-padding',
2173
+ '--bulma-message-body-radius',
2174
+ '--bulma-message-body-pre-code-background-color',
2175
+ '--bulma-modal-z',
2176
+ '--bulma-modal-background-background-color',
2177
+ '--bulma-modal-content-width',
2178
+ '--bulma-modal-content-margin-mobile',
2179
+ '--bulma-modal-content-spacing-mobile',
2180
+ '--bulma-modal-content-spacing-tablet',
2181
+ '--bulma-modal-close-dimensions',
2182
+ '--bulma-modal-close-right',
2183
+ '--bulma-modal-close-top',
2184
+ '--bulma-modal-card-spacing',
2185
+ '--bulma-modal-card-head-background-color',
2186
+ '--bulma-modal-card-head-padding',
2187
+ '--bulma-modal-card-head-radius',
2188
+ '--bulma-modal-card-title-color',
2189
+ '--bulma-modal-card-title-line-height',
2190
+ '--bulma-modal-card-title-size',
2191
+ '--bulma-modal-card-foot-background-color',
2192
+ '--bulma-modal-card-foot-radius',
2193
+ '--bulma-modal-card-body-background-color',
2194
+ '--bulma-modal-card-body-padding',
2195
+ '--bulma-navbar-h',
2196
+ '--bulma-navbar-s',
2197
+ '--bulma-navbar-l',
2198
+ '--bulma-navbar-background-color',
2199
+ '--bulma-navbar-box-shadow-size',
2200
+ '--bulma-navbar-box-shadow-color',
2201
+ '--bulma-navbar-padding-vertical',
2202
+ '--bulma-navbar-padding-horizontal',
2203
+ '--bulma-navbar-z',
2204
+ '--bulma-navbar-fixed-z',
2205
+ '--bulma-navbar-item-background-a',
2206
+ '--bulma-navbar-item-background-l',
2207
+ '--bulma-navbar-item-background-l-delta',
2208
+ '--bulma-navbar-item-hover-background-l-delta',
2209
+ '--bulma-navbar-item-active-background-l-delta',
2210
+ '--bulma-navbar-item-color-l',
2211
+ '--bulma-navbar-item-selected-h',
2212
+ '--bulma-navbar-item-selected-s',
2213
+ '--bulma-navbar-item-selected-l',
2214
+ '--bulma-navbar-item-selected-background-l',
2215
+ '--bulma-navbar-item-selected-color-l',
2216
+ '--bulma-navbar-item-img-max-height',
2217
+ '--bulma-navbar-burger-color',
2218
+ '--bulma-navbar-tab-hover-background-color',
2219
+ '--bulma-navbar-tab-hover-border-bottom-color',
2220
+ '--bulma-navbar-tab-active-color',
2221
+ '--bulma-navbar-tab-active-background-color',
2222
+ '--bulma-navbar-tab-active-border-bottom-color',
2223
+ '--bulma-navbar-tab-active-border-bottom-style',
2224
+ '--bulma-navbar-tab-active-border-bottom-width',
2225
+ '--bulma-navbar-dropdown-background-color',
2226
+ '--bulma-navbar-dropdown-border-l',
2227
+ '--bulma-navbar-dropdown-border-color',
2228
+ '--bulma-navbar-dropdown-border-style',
2229
+ '--bulma-navbar-dropdown-border-width',
2230
+ '--bulma-navbar-dropdown-offset',
2231
+ '--bulma-navbar-dropdown-arrow',
2232
+ '--bulma-navbar-dropdown-radius',
2233
+ '--bulma-navbar-dropdown-z',
2234
+ '--bulma-navbar-dropdown-boxed-radius',
2235
+ '--bulma-navbar-dropdown-boxed-shadow',
2236
+ '--bulma-navbar-dropdown-item-h',
2237
+ '--bulma-navbar-dropdown-item-s',
2238
+ '--bulma-navbar-dropdown-item-l',
2239
+ '--bulma-navbar-dropdown-item-background-l',
2240
+ '--bulma-navbar-dropdown-item-color-l',
2241
+ '--bulma-navbar-divider-background-l',
2242
+ '--bulma-navbar-divider-height',
2243
+ '--bulma-navbar-bottom-box-shadow-size',
2244
+ '--bulma-pagination-margin',
2245
+ '--bulma-pagination-min-width',
2246
+ '--bulma-pagination-item-h',
2247
+ '--bulma-pagination-item-s',
2248
+ '--bulma-pagination-item-l',
2249
+ '--bulma-pagination-item-background-l-delta',
2250
+ '--bulma-pagination-item-hover-background-l-delta',
2251
+ '--bulma-pagination-item-active-background-l-delta',
2252
+ '--bulma-pagination-item-border-style',
2253
+ '--bulma-pagination-item-border-width',
2254
+ '--bulma-pagination-item-border-l',
2255
+ '--bulma-pagination-item-border-l-delta',
2256
+ '--bulma-pagination-item-hover-border-l-delta',
2257
+ '--bulma-pagination-item-active-border-l-delta',
2258
+ '--bulma-pagination-item-focus-border-l-delta',
2259
+ '--bulma-pagination-item-color-l',
2260
+ '--bulma-pagination-item-font-size',
2261
+ '--bulma-pagination-item-margin',
2262
+ '--bulma-pagination-item-padding-left',
2263
+ '--bulma-pagination-item-padding-right',
2264
+ '--bulma-pagination-item-outer-shadow-h',
2265
+ '--bulma-pagination-item-outer-shadow-s',
2266
+ '--bulma-pagination-item-outer-shadow-l',
2267
+ '--bulma-pagination-item-outer-shadow-a',
2268
+ '--bulma-pagination-nav-padding-left',
2269
+ '--bulma-pagination-nav-padding-right',
2270
+ '--bulma-pagination-disabled-color',
2271
+ '--bulma-pagination-disabled-background-color',
2272
+ '--bulma-pagination-disabled-border-color',
2273
+ '--bulma-pagination-current-color',
2274
+ '--bulma-pagination-current-background-color',
2275
+ '--bulma-pagination-current-border-color',
2276
+ '--bulma-pagination-ellipsis-color',
2277
+ '--bulma-pagination-shadow-inset',
2278
+ '--bulma-pagination-selected-item-h',
2279
+ '--bulma-pagination-selected-item-s',
2280
+ '--bulma-pagination-selected-item-l',
2281
+ '--bulma-pagination-selected-item-background-l',
2282
+ '--bulma-pagination-selected-item-border-l',
2283
+ '--bulma-pagination-selected-item-color-l',
2284
+ '--bulma-panel-margin',
2285
+ '--bulma-panel-item-border',
2286
+ '--bulma-panel-radius',
2287
+ '--bulma-panel-shadow',
2288
+ '--bulma-panel-heading-line-height',
2289
+ '--bulma-panel-heading-padding',
2290
+ '--bulma-panel-heading-radius',
2291
+ '--bulma-panel-heading-size',
2292
+ '--bulma-panel-heading-weight',
2293
+ '--bulma-panel-tabs-font-size',
2294
+ '--bulma-panel-tab-border-bottom-color',
2295
+ '--bulma-panel-tab-border-bottom-style',
2296
+ '--bulma-panel-tab-border-bottom-width',
2297
+ '--bulma-panel-tab-active-color',
2298
+ '--bulma-panel-list-item-color',
2299
+ '--bulma-panel-list-item-hover-color',
2300
+ '--bulma-panel-block-color',
2301
+ '--bulma-panel-block-hover-background-color',
2302
+ '--bulma-panel-block-active-border-left-color',
2303
+ '--bulma-panel-block-active-color',
2304
+ '--bulma-panel-block-active-icon-color',
2305
+ '--bulma-panel-icon-color',
2306
+ '--bulma-tabs-border-bottom-color',
2307
+ '--bulma-tabs-border-bottom-style',
2308
+ '--bulma-tabs-border-bottom-width',
2309
+ '--bulma-tabs-link-color',
2310
+ '--bulma-tabs-link-hover-border-bottom-color',
2311
+ '--bulma-tabs-link-hover-color',
2312
+ '--bulma-tabs-link-active-border-bottom-color',
2313
+ '--bulma-tabs-link-active-color',
2314
+ '--bulma-tabs-link-padding',
2315
+ '--bulma-tabs-boxed-link-radius',
2316
+ '--bulma-tabs-boxed-link-hover-background-color',
2317
+ '--bulma-tabs-boxed-link-hover-border-bottom-color',
2318
+ '--bulma-tabs-boxed-link-active-background-color',
2319
+ '--bulma-tabs-boxed-link-active-border-color',
2320
+ '--bulma-tabs-boxed-link-active-border-bottom-color',
2321
+ '--bulma-tabs-toggle-link-border-color',
2322
+ '--bulma-tabs-toggle-link-border-style',
2323
+ '--bulma-tabs-toggle-link-border-width',
2324
+ '--bulma-tabs-toggle-link-hover-background-color',
2325
+ '--bulma-tabs-toggle-link-hover-border-color',
2326
+ '--bulma-tabs-toggle-link-radius',
2327
+ '--bulma-tabs-toggle-link-active-background-color',
2328
+ '--bulma-tabs-toggle-link-active-border-color',
2329
+ '--bulma-tabs-toggle-link-active-color',
2330
+ '--bulma-box-background-color',
2331
+ '--bulma-box-color',
2332
+ '--bulma-box-radius',
2333
+ '--bulma-box-shadow',
2334
+ '--bulma-box-padding',
2335
+ '--bulma-box-link-hover-shadow',
2336
+ '--bulma-box-link-active-shadow',
2337
+ '--bulma-content-heading-color',
2338
+ '--bulma-content-heading-weight',
2339
+ '--bulma-content-heading-line-height',
2340
+ '--bulma-content-block-margin-bottom',
2341
+ '--bulma-content-blockquote-background-color',
2342
+ '--bulma-content-blockquote-border-left',
2343
+ '--bulma-content-blockquote-padding',
2344
+ '--bulma-content-pre-padding',
2345
+ '--bulma-content-table-cell-border',
2346
+ '--bulma-content-table-cell-border-width',
2347
+ '--bulma-content-table-cell-padding',
2348
+ '--bulma-content-table-cell-heading-color',
2349
+ '--bulma-content-table-head-cell-border-width',
2350
+ '--bulma-content-table-head-cell-color',
2351
+ '--bulma-content-table-body-last-row-cell-border-bottom-width',
2352
+ '--bulma-content-table-foot-cell-border-width',
2353
+ '--bulma-content-table-foot-cell-color',
2354
+ '--bulma-delete-dimensions',
2355
+ '--bulma-delete-background-l',
2356
+ '--bulma-delete-background-alpha',
2357
+ '--bulma-delete-color',
2358
+ '--bulma-icon-dimensions',
2359
+ '--bulma-icon-dimensions-small',
2360
+ '--bulma-icon-dimensions-medium',
2361
+ '--bulma-icon-dimensions-large',
2362
+ '--bulma-icon-text-spacing',
2363
+ '--bulma-notification-h',
2364
+ '--bulma-notification-s',
2365
+ '--bulma-notification-background-l',
2366
+ '--bulma-notification-color-l',
2367
+ '--bulma-notification-code-background-color',
2368
+ '--bulma-notification-radius',
2369
+ '--bulma-notification-padding',
2370
+ '--bulma-progress-border-radius',
2371
+ '--bulma-progress-bar-background-color',
2372
+ '--bulma-progress-value-background-color',
2373
+ '--bulma-progress-indeterminate-duration',
2374
+ '--bulma-table-color',
2375
+ '--bulma-table-background-color',
2376
+ '--bulma-table-cell-border-color',
2377
+ '--bulma-table-cell-border-style',
2378
+ '--bulma-table-cell-border-width',
2379
+ '--bulma-table-cell-padding',
2380
+ '--bulma-table-cell-heading-color',
2381
+ '--bulma-table-cell-text-align',
2382
+ '--bulma-table-head-cell-border-width',
2383
+ '--bulma-table-head-cell-color',
2384
+ '--bulma-table-foot-cell-border-width',
2385
+ '--bulma-table-foot-cell-color',
2386
+ '--bulma-table-head-background-color',
2387
+ '--bulma-table-body-background-color',
2388
+ '--bulma-table-foot-background-color',
2389
+ '--bulma-table-row-hover-background-color',
2390
+ '--bulma-table-row-active-background-color',
2391
+ '--bulma-table-row-active-color',
2392
+ '--bulma-table-striped-row-even-background-color',
2393
+ '--bulma-table-striped-row-even-hover-background-color',
2394
+ '--bulma-tag-h',
2395
+ '--bulma-tag-s',
2396
+ '--bulma-tag-background-l',
2397
+ '--bulma-tag-background-l-delta',
2398
+ '--bulma-tag-hover-background-l-delta',
2399
+ '--bulma-tag-active-background-l-delta',
2400
+ '--bulma-tag-color-l',
2401
+ '--bulma-tag-radius',
2402
+ '--bulma-tag-delete-margin',
2403
+ '--bulma-title-color',
2404
+ '--bulma-title-family',
2405
+ '--bulma-title-size',
2406
+ '--bulma-title-weight',
2407
+ '--bulma-title-line-height',
2408
+ '--bulma-title-strong-color',
2409
+ '--bulma-title-strong-weight',
2410
+ '--bulma-title-sub-size',
2411
+ '--bulma-title-sup-size',
2412
+ '--bulma-subtitle-color',
2413
+ '--bulma-subtitle-family',
2414
+ '--bulma-subtitle-size',
2415
+ '--bulma-subtitle-weight',
2416
+ '--bulma-subtitle-line-height',
2417
+ '--bulma-subtitle-strong-color',
2418
+ '--bulma-subtitle-strong-weight',
2419
+ '--bulma-control-radius',
2420
+ '--bulma-control-radius-small',
2421
+ '--bulma-control-border-width',
2422
+ '--bulma-control-height',
2423
+ '--bulma-control-line-height',
2424
+ '--bulma-control-padding-vertical',
2425
+ '--bulma-control-padding-horizontal',
2426
+ '--bulma-control-size',
2427
+ '--bulma-control-focus-shadow-l',
2428
+ '--bulma-file-radius',
2429
+ '--bulma-file-name-border-color',
2430
+ '--bulma-file-name-border-style',
2431
+ '--bulma-file-name-border-width',
2432
+ '--bulma-file-name-max-width',
2433
+ '--bulma-file-h',
2434
+ '--bulma-file-s',
2435
+ '--bulma-file-background-l',
2436
+ '--bulma-file-background-l-delta',
2437
+ '--bulma-file-hover-background-l-delta',
2438
+ '--bulma-file-active-background-l-delta',
2439
+ '--bulma-file-border-l',
2440
+ '--bulma-file-border-l-delta',
2441
+ '--bulma-file-hover-border-l-delta',
2442
+ '--bulma-file-active-border-l-delta',
2443
+ '--bulma-file-cta-color-l',
2444
+ '--bulma-file-name-color-l',
2445
+ '--bulma-file-color-l-delta',
2446
+ '--bulma-file-hover-color-l-delta',
2447
+ '--bulma-file-active-color-l-delta',
2448
+ '--bulma-input-h',
2449
+ '--bulma-input-s',
2450
+ '--bulma-input-l',
2451
+ '--bulma-input-border-style',
2452
+ '--bulma-input-border-l',
2453
+ '--bulma-input-border-l-delta',
2454
+ '--bulma-input-hover-border-l-delta',
2455
+ '--bulma-input-active-border-l-delta',
2456
+ '--bulma-input-focus-h',
2457
+ '--bulma-input-focus-s',
2458
+ '--bulma-input-focus-l',
2459
+ '--bulma-input-focus-shadow-size',
2460
+ '--bulma-input-focus-shadow-alpha',
2461
+ '--bulma-input-color-l',
2462
+ '--bulma-input-background-l',
2463
+ '--bulma-input-background-l-delta',
2464
+ '--bulma-input-height',
2465
+ '--bulma-input-shadow',
2466
+ '--bulma-input-placeholder-color',
2467
+ '--bulma-input-disabled-color',
2468
+ '--bulma-input-disabled-background-color',
2469
+ '--bulma-input-disabled-border-color',
2470
+ '--bulma-input-disabled-placeholder-color',
2471
+ '--bulma-input-arrow',
2472
+ '--bulma-input-icon-color',
2473
+ '--bulma-input-icon-hover-color',
2474
+ '--bulma-input-icon-focus-color',
2475
+ '--bulma-input-radius',
2476
+ '--bulma-column-gap',
2477
+ '--bulma-grid-gap',
2478
+ '--bulma-grid-column-count',
2479
+ '--bulma-grid-column-min',
2480
+ '--bulma-grid-cell-column-span',
2481
+ '--bulma-grid-cell-column-start',
2482
+ '--bulma-footer-background-color',
2483
+ '--bulma-footer-color',
2484
+ '--bulma-footer-padding',
2485
+ '--bulma-hero-body-padding',
2486
+ '--bulma-hero-body-padding-tablet',
2487
+ '--bulma-hero-body-padding-small',
2488
+ '--bulma-hero-body-padding-medium',
2489
+ '--bulma-hero-body-padding-large',
2490
+ '--bulma-media-border-color',
2491
+ '--bulma-media-border-size',
2492
+ '--bulma-media-spacing',
2493
+ '--bulma-media-spacing-large',
2494
+ '--bulma-media-content-spacing',
2495
+ '--bulma-media-level-1-spacing',
2496
+ '--bulma-media-level-1-content-spacing',
2497
+ '--bulma-media-level-2-spacing',
2498
+ '--bulma-section-padding',
2499
+ '--bulma-section-padding-desktop',
2500
+ '--bulma-section-padding-medium',
2501
+ '--bulma-section-padding-large',
2502
+ ];
2503
+ function cssVarToProp(varName) {
2504
+ return varName
2505
+ .replace(/^--bulma-/, '')
2506
+ .split('-')
2507
+ .map((part, i) => i === 0 ? part : part.charAt(0).toUpperCase() + part.slice(1))
2508
+ .join('');
2509
+ }
2510
+ const bulmaVarPropMap = Object.fromEntries(bulmaCssVars.map(cssVar => [cssVarToProp(cssVar), cssVar]));
2511
+ const Theme = ({ bulmaVars = {}, children, className, isRoot = false, ...restProps }) => {
2512
+ const { bulmaVarProps, otherProps } = useMemo(() => {
2513
+ const varProps = {};
2514
+ const otherPropsObj = {};
2515
+ for (const [key, value] of Object.entries(restProps)) {
2516
+ if (Object.prototype.hasOwnProperty.call(bulmaVarPropMap, key)) {
2517
+ varProps[key] = value;
2518
+ }
2519
+ else {
2520
+ otherPropsObj[key] = value;
2521
+ }
2522
+ }
2523
+ return { bulmaVarProps: varProps, otherProps: otherPropsObj };
2524
+ }, [restProps]);
2525
+ const { bulmaHelperClasses, rest } = useBulmaClasses(otherProps);
2526
+ const mergedVars = useMemo(() => {
2527
+ const vars = { ...bulmaVars };
2528
+ for (const [propName, cssVar] of Object.entries(bulmaVarPropMap)) {
2529
+ if (bulmaVarProps[propName] !== undefined) {
2530
+ vars[cssVar] = bulmaVarProps[propName];
2531
+ }
2532
+ }
2533
+ return vars;
2534
+ }, [bulmaVars, bulmaVarProps]);
2535
+ useEffect(() => {
2536
+ if (!isRoot) {
2537
+ return;
2538
+ }
2539
+ const validVars = Object.entries(mergedVars).filter(([key, value]) => bulmaCssVars.includes(key) && value);
2540
+ if (validVars.length === 0) {
2541
+ return;
2542
+ }
2543
+ const styleId = 'bestax-bulma-theme-vars';
2544
+ let styleElement = document.getElementById(styleId);
2545
+ if (!styleElement) {
2546
+ styleElement = document.createElement('style');
2547
+ styleElement.id = styleId;
2548
+ document.head.appendChild(styleElement);
2549
+ }
2550
+ const cssRules = validVars
2551
+ .map(([key, value]) => `${key}: ${value};`)
2552
+ .join(' ');
2553
+ styleElement.textContent = `:root { ${cssRules} }`;
2554
+ return () => {
2555
+ const element = document.getElementById(styleId);
2556
+ if (element) {
2557
+ element.remove();
2558
+ }
2559
+ };
2560
+ }, [mergedVars, isRoot]);
2561
+ const style = useMemo(() => {
2562
+ if (isRoot) {
2563
+ return {};
2564
+ }
2565
+ const styleObj = {};
2566
+ for (const [key, value] of Object.entries(mergedVars)) {
2567
+ if (bulmaCssVars.includes(key) && value) {
2568
+ styleObj[key] = value;
2569
+ }
2570
+ }
2571
+ return styleObj;
2572
+ }, [mergedVars, isRoot]);
2573
+ const combinedClassName = useMemo(() => {
2574
+ if (isRoot) {
2575
+ return '';
2576
+ }
2577
+ return classNames(className, bulmaHelperClasses);
2578
+ }, [className, bulmaHelperClasses, isRoot]);
2579
+ return isRoot ? (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children })) : (jsxRuntimeExports.jsx("div", { className: combinedClassName || undefined, style: style, ...rest, children: children }));
2580
+ };
2581
+
1876
2582
  const Container = ({ className, textColor, bgColor, fluid, widescreen, fullhd, breakpoint, isMax, children, ...props }) => {
2583
+ const { classPrefix } = useConfig();
1877
2584
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1878
2585
  color: textColor,
1879
2586
  backgroundColor: bgColor,
@@ -1893,7 +2600,8 @@ const Container = ({ className, textColor, bgColor, fluid, widescreen, fullhd, b
1893
2600
  breakpointClass = `is-${breakpoint}`;
1894
2601
  }
1895
2602
  }
1896
- const containerClasses = classNames('container', {
2603
+ const mainClass = classPrefix ? `${classPrefix}container` : 'container';
2604
+ const containerClasses = classNames(mainClass, {
1897
2605
  'is-fluid': fluid,
1898
2606
  'is-widescreen': widescreen,
1899
2607
  'is-fullhd': fullhd,
@@ -1902,73 +2610,91 @@ const Container = ({ className, textColor, bgColor, fluid, widescreen, fullhd, b
1902
2610
  };
1903
2611
 
1904
2612
  const Footer = ({ as = 'footer', className, children, ...props }) => {
2613
+ const { classPrefix } = useConfig();
1905
2614
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1906
2615
  const Tag = as;
1907
- return (jsxRuntimeExports.jsx(Tag, { className: classNames('footer', bulmaHelperClasses, className), ...rest, children: children }));
2616
+ const mainClass = classPrefix ? `${classPrefix}footer` : 'footer';
2617
+ return (jsxRuntimeExports.jsx(Tag, { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1908
2618
  };
1909
2619
 
1910
2620
  const Hero = ({ className, color, size, bgColor, fullheightWithNavbar, children, ...props }) => {
2621
+ const { classPrefix } = useConfig();
1911
2622
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1912
2623
  color,
1913
2624
  backgroundColor: bgColor,
1914
2625
  ...props,
1915
2626
  });
1916
- const heroClasses = classNames('hero', bulmaHelperClasses, className, color && `is-${color}`, size && size !== 'fullheight-with-navbar' && `is-${size}`, {
2627
+ const mainClass = classPrefix ? `${classPrefix}hero` : 'hero';
2628
+ const heroClasses = classNames(mainClass, bulmaHelperClasses, className, color && `is-${color}`, size && size !== 'fullheight-with-navbar' && `is-${size}`, {
1917
2629
  'is-fullheight-with-navbar': fullheightWithNavbar || size === 'fullheight-with-navbar',
1918
2630
  });
1919
2631
  return (jsxRuntimeExports.jsx("section", { className: heroClasses, ...rest, children: children }));
1920
2632
  };
1921
2633
  const HeroHead = ({ className, children, color, bgColor, textColor, ...props }) => {
2634
+ const { classPrefix } = useConfig();
1922
2635
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1923
2636
  color: textColor !== null && textColor !== void 0 ? textColor : color,
1924
2637
  backgroundColor: bgColor,
1925
2638
  ...props,
1926
2639
  });
1927
- return (jsxRuntimeExports.jsx("div", { className: classNames('hero-head', bulmaHelperClasses, className), ...rest, children: children }));
2640
+ const mainClass = classPrefix ? `${classPrefix}hero-head` : 'hero-head';
2641
+ return (jsxRuntimeExports.jsx("div", { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1928
2642
  };
1929
2643
  const HeroBody = ({ className, children, color, bgColor, textColor, ...props }) => {
2644
+ const { classPrefix } = useConfig();
1930
2645
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1931
2646
  color: textColor !== null && textColor !== void 0 ? textColor : color,
1932
2647
  backgroundColor: bgColor,
1933
2648
  ...props,
1934
2649
  });
1935
- return (jsxRuntimeExports.jsx("div", { className: classNames('hero-body', bulmaHelperClasses, className), ...rest, children: children }));
2650
+ const mainClass = classPrefix ? `${classPrefix}hero-body` : 'hero-body';
2651
+ return (jsxRuntimeExports.jsx("div", { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1936
2652
  };
1937
2653
  const HeroFoot = ({ className, children, color, bgColor, textColor, ...props }) => {
2654
+ const { classPrefix } = useConfig();
1938
2655
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1939
2656
  color: textColor !== null && textColor !== void 0 ? textColor : color,
1940
2657
  backgroundColor: bgColor,
1941
2658
  ...props,
1942
2659
  });
1943
- return (jsxRuntimeExports.jsx("div", { className: classNames('hero-foot', bulmaHelperClasses, className), ...rest, children: children }));
2660
+ const mainClass = classPrefix ? `${classPrefix}hero-foot` : 'hero-foot';
2661
+ return (jsxRuntimeExports.jsx("div", { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1944
2662
  };
1945
2663
  Hero.Head = HeroHead;
1946
2664
  Hero.Body = HeroBody;
1947
2665
  Hero.Foot = HeroFoot;
1948
2666
 
1949
2667
  const Level = ({ isMobile, className, children, ...props }) => {
2668
+ const { classPrefix } = useConfig();
1950
2669
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1951
- return (jsxRuntimeExports.jsx("nav", { className: classNames('level', bulmaHelperClasses, className, {
2670
+ const mainClass = classPrefix ? `${classPrefix}level` : 'level';
2671
+ return (jsxRuntimeExports.jsx("nav", { className: classNames(mainClass, bulmaHelperClasses, className, {
1952
2672
  'is-mobile': isMobile,
1953
2673
  }), ...rest, children: children }));
1954
2674
  };
1955
2675
  const LevelLeft = ({ className, children, ...props }) => {
2676
+ const { classPrefix } = useConfig();
1956
2677
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1957
- return (jsxRuntimeExports.jsx("div", { className: classNames('level-left', bulmaHelperClasses, className), ...rest, children: children }));
2678
+ const mainClass = classPrefix ? `${classPrefix}level-left` : 'level-left';
2679
+ return (jsxRuntimeExports.jsx("div", { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1958
2680
  };
1959
2681
  const LevelRight = ({ className, children, ...props }) => {
2682
+ const { classPrefix } = useConfig();
1960
2683
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1961
- return (jsxRuntimeExports.jsx("div", { className: classNames('level-right', bulmaHelperClasses, className), ...rest, children: children }));
2684
+ const mainClass = classPrefix ? `${classPrefix}level-right` : 'level-right';
2685
+ return (jsxRuntimeExports.jsx("div", { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1962
2686
  };
1963
2687
  const LevelItem = ({ as = 'div', hasTextCentered, className, children, href, target, rel, ...props }) => {
2688
+ const { classPrefix } = useConfig();
1964
2689
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1965
2690
  const Tag = as;
2691
+ const mainClass = classPrefix ? `${classPrefix}level-item` : 'level-item';
1966
2692
  if (Tag === 'a') {
1967
- return (jsxRuntimeExports.jsx("a", { className: classNames('level-item', bulmaHelperClasses, className, {
2693
+ return (jsxRuntimeExports.jsx("a", { className: classNames(mainClass, bulmaHelperClasses, className, {
1968
2694
  'has-text-centered': hasTextCentered,
1969
2695
  }), href: href, target: target, rel: rel, ...rest, children: children }));
1970
2696
  }
1971
- return (jsxRuntimeExports.jsx(Tag, { className: classNames('level-item', bulmaHelperClasses, className, {
2697
+ return (jsxRuntimeExports.jsx(Tag, { className: classNames(mainClass, bulmaHelperClasses, className, {
1972
2698
  'has-text-centered': hasTextCentered,
1973
2699
  }), ...rest, children: children }));
1974
2700
  };
@@ -1977,9 +2703,11 @@ Level.Right = LevelRight;
1977
2703
  Level.Item = LevelItem;
1978
2704
 
1979
2705
  const Media = ({ as = 'article', className, children, ...props }) => {
2706
+ const { classPrefix } = useConfig();
1980
2707
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1981
2708
  const Tag = as;
1982
- return (jsxRuntimeExports.jsx(Tag, { className: classNames('media', bulmaHelperClasses, className), ...rest, children: children }));
2709
+ const mainClass = classPrefix ? `${classPrefix}media` : 'media';
2710
+ return (jsxRuntimeExports.jsx(Tag, { className: classNames(mainClass, bulmaHelperClasses, className), ...rest, children: children }));
1983
2711
  };
1984
2712
  const MediaLeft = ({ as = 'figure', className, children, ...props }) => {
1985
2713
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
@@ -1999,12 +2727,14 @@ Media.Content = MediaContent;
1999
2727
  Media.Right = MediaRight;
2000
2728
 
2001
2729
  const Section = ({ size, className, children, ...props }) => {
2730
+ const { classPrefix } = useConfig();
2002
2731
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
2003
- const sectionClasses = classNames('section', className, bulmaHelperClasses, {
2732
+ const mainClass = classPrefix ? `${classPrefix}section` : 'section';
2733
+ const sectionClasses = classNames(mainClass, className, bulmaHelperClasses, {
2004
2734
  [`is-${size}`]: size,
2005
2735
  });
2006
2736
  return (jsxRuntimeExports.jsx("section", { className: sectionClasses, ...rest, children: children }));
2007
2737
  };
2008
2738
 
2009
- export { Block, Box, Breadcrumb, Button, Buttons, Card, Cell, Checkbox, Checkboxes, Column, Columns, Container, Content, Control, Delete, Dropdown, DropdownDivider, DropdownItem, Field, FieldBody, FieldLabel, File, Footer, Grid, Hero, HeroBody, HeroFoot, HeroHead, Icon, IconText, Image, Input, Level, LevelItem, LevelLeft, LevelRight, Media, MediaContent, MediaLeft, MediaRight, Menu, MenuItem, MenuLabel, MenuList, Message, Modal, Navbar, NavbarBrand, NavbarBurger, NavbarDivider, NavbarDropdown, NavbarDropdownMenu, NavbarEnd, NavbarItem, NavbarMenu, NavbarStart, Notification, Pagination, PaginationEllipsis, PaginationLink, PaginationList, PaginationNext, PaginationPrevious, Panel, PanelBlock, PanelButtonBlock, PanelCheckboxBlock, PanelHeading, PanelIcon, PanelInputBlock, PanelTabs, Progress, Radio, Radios, Section, Select, Skeleton, SubTitle, TabItem, TabList, Table, Tabs, Tag, Tags, Tbody, Td, TextArea, Tfoot, Th, Thead, Title, Tr, __test_exports__, classNames, isBrowser, useBulmaClasses, validAlignContents, validAlignItems, validAlignSelfs, validAlignments$1 as validAlignments, validColorShades, validColors, validDisplays, validFlexDirections, validFlexGrowShrink, validFlexWraps, validFontFamilies, validJustifyContents, validSizes$1 as validSizes, validTableColors, validTextSizes, validTextTransforms, validTextWeights, validViewports, validVisibilities };
2739
+ export { Block, Box, Breadcrumb, Button, Buttons, Card, Cell, Checkbox, Checkboxes, Column, Columns, ConfigProvider, Container, Content, Control, Delete, Dropdown, DropdownDivider, DropdownItem, Field, FieldBody, FieldLabel, File, Footer, Grid, Hero, HeroBody, HeroFoot, HeroHead, Icon, IconText, Image, Input, Level, LevelItem, LevelLeft, LevelRight, Media, MediaContent, MediaLeft, MediaRight, Menu, MenuItem, MenuLabel, MenuList, Message, Modal, Navbar, NavbarBrand, NavbarBurger, NavbarDivider, NavbarDropdown, NavbarDropdownMenu, NavbarEnd, NavbarItem, NavbarMenu, NavbarStart, Notification, Pagination, PaginationEllipsis, PaginationLink, PaginationList, PaginationNext, PaginationPrevious, Panel, PanelBlock, PanelButtonBlock, PanelCheckboxBlock, PanelHeading, PanelIcon, PanelInputBlock, PanelTabs, Progress, Radio, Radios, Section, Select, Skeleton, SubTitle, TabItem, TabList, Table, Tabs, Tag, Tags, Tbody, Td, TextArea, Tfoot, Th, Thead, Theme, Title, Tr, __test_exports__, classNames, isBrowser, useBulmaClasses, useClassPrefix, useConfig, validAlignContents, validAlignItems, validAlignSelfs, validAlignments$1 as validAlignments, validColorShades, validColors, validDisplays, validFlexDirections, validFlexGrowShrink, validFlexWraps, validFontFamilies, validJustifyContents, validSizes$1 as validSizes, validTableColors, validTextSizes, validTextTransforms, validTextWeights, validViewports, validVisibilities };
2010
2740
  //# sourceMappingURL=index.esm.js.map