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