@allxsmith/bestax-bulma 1.1.0 → 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,27 +1450,46 @@ 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
  });
1412
1476
  return (jsxRuntimeExports.jsx("progress", { className: progressClasses, value: value, max: max, ...rest, children: children }));
1413
1477
  };
1414
1478
 
1479
+ const Skeleton = ({ className, variant = 'block', lines = 3, children, ...props }) => {
1480
+ const { classPrefix } = useConfig();
1481
+ if (variant === 'lines') {
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))) }));
1486
+ }
1487
+ const blockClass = classPrefix
1488
+ ? `${classPrefix}skeleton-block`
1489
+ : 'skeleton-block';
1490
+ return (jsxRuntimeExports.jsx("div", { className: classNames(blockClass, className), ...props, children: children }));
1491
+ };
1492
+
1415
1493
  const validSubTitleSizes = ['1', '2', '3', '4', '5', '6'];
1416
1494
  const validSubTitleElements = [
1417
1495
  'h1',
@@ -1423,10 +1501,12 @@ const validSubTitleElements = [
1423
1501
  'p',
1424
1502
  ];
1425
1503
  const SubTitle = ({ className, size, as = 'h1', hasSkeleton, children, ...props }) => {
1504
+ const { classPrefix } = useConfig();
1426
1505
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1427
1506
  const element = validSubTitleElements.includes(as) ? as : 'h1';
1428
1507
  const validSize = size && validSubTitleSizes.includes(size) ? size : undefined;
1429
- const subTitleClasses = classNames('subtitle', className, bulmaHelperClasses, {
1508
+ const mainClass = classPrefix ? `${classPrefix}subtitle` : 'subtitle';
1509
+ const subTitleClasses = classNames(mainClass, className, bulmaHelperClasses, {
1430
1510
  [`is-${validSize}`]: validSize,
1431
1511
  'has-skeleton': hasSkeleton,
1432
1512
  });
@@ -1435,8 +1515,10 @@ const SubTitle = ({ className, size, as = 'h1', hasSkeleton, children, ...props
1435
1515
  };
1436
1516
 
1437
1517
  const Table = ({ className, isBordered, isStriped, isNarrow, isHoverable, isFullwidth, isResponsive, children, ...props }) => {
1518
+ const { classPrefix } = useConfig();
1438
1519
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1439
- const tableClasses = classNames('table', className, bulmaHelperClasses, {
1520
+ const mainClass = classPrefix ? `${classPrefix}table` : 'table';
1521
+ const tableClasses = classNames(mainClass, className, bulmaHelperClasses, {
1440
1522
  'is-bordered': isBordered,
1441
1523
  'is-striped': isStriped,
1442
1524
  'is-narrow': isNarrow,
@@ -1444,7 +1526,13 @@ const Table = ({ className, isBordered, isStriped, isNarrow, isHoverable, isFull
1444
1526
  'is-fullwidth': isFullwidth,
1445
1527
  });
1446
1528
  const tableElement = (jsxRuntimeExports.jsx("table", { className: tableClasses, ...rest, children: children }));
1447
- 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;
1448
1536
  };
1449
1537
 
1450
1538
  const validTagColors = [
@@ -1461,8 +1549,10 @@ const validTagColors = [
1461
1549
  ];
1462
1550
  const validTagSizes = ['normal', 'medium', 'large'];
1463
1551
  const Tag = ({ className, color, size, isRounded, isDelete, isHoverable, onDelete, children, ...props }) => {
1552
+ const { classPrefix } = useConfig();
1464
1553
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1465
- const tagClasses = classNames('tag', className, bulmaHelperClasses, {
1554
+ const mainClass = classPrefix ? `${classPrefix}tag` : 'tag';
1555
+ const tagClasses = classNames(mainClass, className, bulmaHelperClasses, {
1466
1556
  [`is-${color}`]: color && validTagColors.includes(color),
1467
1557
  [`is-${size}`]: size && size !== 'normal' && validTagSizes.includes(size),
1468
1558
  'is-rounded': isRounded,
@@ -1476,8 +1566,10 @@ const Tag = ({ className, color, size, isRounded, isDelete, isHoverable, onDelet
1476
1566
  };
1477
1567
 
1478
1568
  const Tags = ({ className, hasAddons, isMultiline, children, ...props }) => {
1569
+ const { classPrefix } = useConfig();
1479
1570
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1480
- const tagsClasses = classNames('tags', className, bulmaHelperClasses, {
1571
+ const mainClass = classPrefix ? `${classPrefix}tags` : 'tags';
1572
+ const tagsClasses = classNames(mainClass, className, bulmaHelperClasses, {
1481
1573
  'has-addons': hasAddons,
1482
1574
  'are-multiline': isMultiline,
1483
1575
  });
@@ -1537,10 +1629,12 @@ const Thead = ({ className, children, ...props }) => {
1537
1629
  const validTitleSizes = ['1', '2', '3', '4', '5', '6'];
1538
1630
  const validTitleElements = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p'];
1539
1631
  const Title = ({ className, size, isSpaced, as = 'h1', hasSkeleton, children, ...props }) => {
1632
+ const { classPrefix } = useConfig();
1540
1633
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1541
1634
  const element = validTitleElements.includes(as) ? as : 'h1';
1542
1635
  const validSize = size && validTitleSizes.includes(size) ? size : undefined;
1543
- const titleClasses = classNames('title', className, bulmaHelperClasses, {
1636
+ const mainClass = classPrefix ? `${classPrefix}title` : 'title';
1637
+ const titleClasses = classNames(mainClass, className, bulmaHelperClasses, {
1544
1638
  [`is-${validSize}`]: validSize,
1545
1639
  'is-spaced': isSpaced,
1546
1640
  'has-skeleton': hasSkeleton,
@@ -1559,25 +1653,30 @@ const Tr = ({ className, isSelected, color, children, ...props }) => {
1559
1653
  };
1560
1654
 
1561
1655
  const Checkbox = React.forwardRef(({ disabled, className, children, ...props }, ref) => {
1656
+ const { classPrefix } = useConfig();
1562
1657
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1563
1658
  ...props,
1564
1659
  });
1565
- const checkboxClass = classNames('checkbox', bulmaHelperClasses, className);
1660
+ const mainClass = classPrefix ? `${classPrefix}checkbox` : 'checkbox';
1661
+ const checkboxClass = classNames(mainClass, bulmaHelperClasses, className);
1566
1662
  return (jsxRuntimeExports.jsxs("label", { className: checkboxClass, children: [jsxRuntimeExports.jsx("input", { ref: ref, type: "checkbox", disabled: disabled, ...rest }), children] }));
1567
1663
  });
1568
1664
  Checkbox.displayName = 'Checkbox';
1569
1665
 
1570
1666
  const Checkboxes = ({ children, className, ...props }) => {
1667
+ const { classPrefix } = useConfig();
1571
1668
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1572
1669
  ...props,
1573
1670
  });
1574
- const wrapperClass = classNames('checkboxes', bulmaHelperClasses, className);
1671
+ const mainClass = classPrefix ? `${classPrefix}checkboxes` : 'checkboxes';
1672
+ const wrapperClass = classNames(mainClass, bulmaHelperClasses, className);
1575
1673
  return (jsxRuntimeExports.jsx("div", { className: wrapperClass, ...rest, children: children }));
1576
1674
  };
1577
1675
 
1578
1676
  const allowedColors = [...validColors, 'inherit', 'current'];
1579
1677
  const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isLoading, isExpanded, size, textColor, bgColor, iconLeft, iconRight, iconLeftName, iconLeftSize, iconRightName, iconRightSize, className, children, ...props }, ref) => {
1580
1678
  const Component = (as === 'p' ? 'p' : 'div');
1679
+ const { classPrefix } = useConfig();
1581
1680
  const { textColor: _ignoredTextColor, bgColor: _ignoredBgColor, ...restProps } = props;
1582
1681
  const safeTextColor = allowedColors.includes(textColor)
1583
1682
  ? textColor
@@ -1604,7 +1703,8 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1604
1703
  size: iconRightSize,
1605
1704
  }
1606
1705
  : undefined);
1607
- const controlClass = classNames('control', bulmaHelperClasses, {
1706
+ const mainClass = classPrefix ? `${classPrefix}control` : 'control';
1707
+ const controlClass = classNames(mainClass, bulmaHelperClasses, {
1608
1708
  'has-icons-left': hasIconsLeft || !!leftIconProps,
1609
1709
  'has-icons-right': hasIconsRight || !!rightIconProps,
1610
1710
  'is-loading': isLoading,
@@ -1616,30 +1716,36 @@ const Control = React.forwardRef(({ as = 'div', hasIconsLeft, hasIconsRight, isL
1616
1716
  Control.displayName = 'Control';
1617
1717
 
1618
1718
  const FieldLabel = ({ size, textColor, bgColor, className, children, ...props }) => {
1719
+ const { classPrefix } = useConfig();
1619
1720
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1620
1721
  color: textColor,
1621
1722
  backgroundColor: bgColor,
1622
1723
  ...props,
1623
1724
  });
1624
- 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);
1625
1727
  return (jsxRuntimeExports.jsx("div", { className: fieldLabelClass, ...props, ...rest, children: children }));
1626
1728
  };
1627
1729
  const FieldBody = ({ textColor, bgColor, className, children, ...props }) => {
1730
+ const { classPrefix } = useConfig();
1628
1731
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1629
1732
  color: textColor,
1630
1733
  backgroundColor: bgColor,
1631
1734
  ...props,
1632
1735
  });
1633
- const fieldBodyClass = classNames('field-body', bulmaHelperClasses, className);
1736
+ const mainClass = classPrefix ? `${classPrefix}field-body` : 'field-body';
1737
+ const fieldBodyClass = classNames(mainClass, bulmaHelperClasses, className);
1634
1738
  return (jsxRuntimeExports.jsx("div", { className: fieldBodyClass, ...props, ...rest, children: children }));
1635
1739
  };
1636
1740
  const Field = ({ horizontal, grouped, hasAddons, label, labelSize, labelProps, textColor, bgColor, className, children, ...props }) => {
1741
+ const { classPrefix } = useConfig();
1637
1742
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1638
1743
  color: textColor,
1639
1744
  backgroundColor: bgColor,
1640
1745
  ...props,
1641
1746
  });
1642
- const fieldClass = classNames('field', bulmaHelperClasses, {
1747
+ const mainClass = classPrefix ? `${classPrefix}field` : 'field';
1748
+ const fieldClass = classNames(mainClass, bulmaHelperClasses, {
1643
1749
  'is-horizontal': horizontal,
1644
1750
  'has-addons': !!hasAddons,
1645
1751
  'is-grouped': grouped === true ||
@@ -1653,11 +1759,12 @@ const Field = ({ horizontal, grouped, hasAddons, label, labelSize, labelProps, t
1653
1759
  const mappedLabelSize = labelSize === 'normal' ? undefined : labelSize;
1654
1760
  let renderedLabel = null;
1655
1761
  if (label) {
1762
+ const labelClass = classPrefix ? `${classPrefix}label` : 'label';
1656
1763
  if (horizontal) {
1657
- 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 }) }));
1658
1765
  }
1659
1766
  else {
1660
- 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 }));
1661
1768
  }
1662
1769
  }
1663
1770
  let content = children;
@@ -1678,6 +1785,7 @@ Field.Label = FieldLabel;
1678
1785
  Field.Body = FieldBody;
1679
1786
 
1680
1787
  const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isCentered, hasName, label, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
1788
+ const { classPrefix } = useConfig();
1681
1789
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1682
1790
  color,
1683
1791
  ...props,
@@ -1692,7 +1800,8 @@ const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isC
1692
1800
  else if (isCentered) {
1693
1801
  alignmentClass = 'is-centered';
1694
1802
  }
1695
- const fileClass = classNames('file', bulmaHelperClasses, {
1803
+ const mainClass = classPrefix ? `${classPrefix}file` : 'file';
1804
+ const fileClass = classNames(mainClass, bulmaHelperClasses, {
1696
1805
  [`is-${color}`]: color,
1697
1806
  [`is-${size}`]: size,
1698
1807
  'is-boxed': isBoxed,
@@ -1704,11 +1813,13 @@ const File = React.forwardRef(({ color, size, isBoxed, isFullwidth, isRight, isC
1704
1813
  File.displayName = 'File';
1705
1814
 
1706
1815
  const Input = React.forwardRef(({ color, size, isRounded, isStatic, isHovered, isFocused, isLoading, className, disabled, readOnly, ...props }, ref) => {
1816
+ const { classPrefix } = useConfig();
1707
1817
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1708
1818
  color,
1709
1819
  ...props,
1710
1820
  });
1711
- const inputClass = classNames('input', bulmaHelperClasses, {
1821
+ const mainClass = classPrefix ? `${classPrefix}input` : 'input';
1822
+ const inputClass = classNames(mainClass, bulmaHelperClasses, {
1712
1823
  [`is-${color}`]: color,
1713
1824
  [`is-${size}`]: size,
1714
1825
  'is-rounded': isRounded,
@@ -1722,28 +1833,34 @@ const Input = React.forwardRef(({ color, size, isRounded, isStatic, isHovered, i
1722
1833
  Input.displayName = 'Input';
1723
1834
 
1724
1835
  const Radio = React.forwardRef(({ disabled, className, children, ...props }, ref) => {
1836
+ const { classPrefix } = useConfig();
1725
1837
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1726
1838
  ...props,
1727
1839
  });
1728
- const radioClass = classNames('radio', bulmaHelperClasses, className);
1840
+ const mainClass = classPrefix ? `${classPrefix}radio` : 'radio';
1841
+ const radioClass = classNames(mainClass, bulmaHelperClasses, className);
1729
1842
  return (jsxRuntimeExports.jsxs("label", { className: radioClass, children: [jsxRuntimeExports.jsx("input", { ref: ref, type: "radio", disabled: disabled, ...rest }), children] }));
1730
1843
  });
1731
1844
  Radio.displayName = 'Radio';
1732
1845
 
1733
1846
  const Radios = ({ children, className, ...props }) => {
1847
+ const { classPrefix } = useConfig();
1734
1848
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1735
1849
  ...props,
1736
1850
  });
1737
- const wrapperClass = classNames('radios', bulmaHelperClasses, className);
1851
+ const mainClass = classPrefix ? `${classPrefix}radios` : 'radios';
1852
+ const wrapperClass = classNames(mainClass, bulmaHelperClasses, className);
1738
1853
  return (jsxRuntimeExports.jsx("div", { className: wrapperClass, ...rest, children: children }));
1739
1854
  };
1740
1855
 
1741
1856
  const Select = React.forwardRef(({ color, size, isRounded, isLoading, isActive, className, disabled, children, multiple, multipleSize, ...props }, ref) => {
1857
+ const { classPrefix } = useConfig();
1742
1858
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1743
1859
  color,
1744
1860
  ...props,
1745
1861
  });
1746
- const selectClass = classNames('select', bulmaHelperClasses, {
1862
+ const mainClass = classPrefix ? `${classPrefix}select` : 'select';
1863
+ const selectClass = classNames(mainClass, bulmaHelperClasses, {
1747
1864
  [`is-${color}`]: color,
1748
1865
  [`is-${size}`]: size,
1749
1866
  'is-rounded': isRounded,
@@ -1763,11 +1880,13 @@ const Select = React.forwardRef(({ color, size, isRounded, isLoading, isActive,
1763
1880
  Select.displayName = 'Select';
1764
1881
 
1765
1882
  const TextArea = React.forwardRef(({ color, size, isRounded, isStatic, isHovered, isFocused, isLoading, isActive, hasFixedSize, className, disabled, readOnly, rows, ...props }, ref) => {
1883
+ const { classPrefix } = useConfig();
1766
1884
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1767
1885
  color,
1768
1886
  ...props,
1769
1887
  });
1770
- const textareaClass = classNames('textarea', bulmaHelperClasses, {
1888
+ const mainClass = classPrefix ? `${classPrefix}textarea` : 'textarea';
1889
+ const textareaClass = classNames(mainClass, bulmaHelperClasses, {
1771
1890
  [`is-${color}`]: color,
1772
1891
  [`is-${size}`]: size,
1773
1892
  'is-rounded': isRounded,
@@ -1804,7 +1923,9 @@ const Cell = ({ colStart, colFromEnd, colSpan, rowStart, rowFromEnd, rowSpan, cl
1804
1923
  backgroundColor: bgColor,
1805
1924
  ...props,
1806
1925
  });
1807
- const cellClasses = classNames('cell', ...getCellGridClasses({
1926
+ const { classPrefix } = useConfig();
1927
+ const mainClass = classPrefix ? `${classPrefix}cell` : 'cell';
1928
+ const cellClasses = classNames(mainClass, ...getCellGridClasses({
1808
1929
  colStart,
1809
1930
  colFromEnd,
1810
1931
  colSpan,
@@ -1853,7 +1974,9 @@ const Grid = ({ isFixed = false, gap, columnGap, rowGap, minCol, fixedCols, fixe
1853
1974
  backgroundColor: bgColor,
1854
1975
  ...props,
1855
1976
  });
1856
- 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);
1857
1980
  if (isFixed) {
1858
1981
  const fixedGridClasses = classNames('fixed-grid', ...getFixedGridClasses({
1859
1982
  fixedCols,
@@ -1868,7 +1991,598 @@ const Grid = ({ isFixed = false, gap, columnGap, rowGap, minCol, fixedCols, fixe
1868
1991
  return (jsxRuntimeExports.jsx("div", { className: gridClasses, ...rest, children: children }));
1869
1992
  };
1870
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
+
1871
2584
  const Container = ({ className, textColor, bgColor, fluid, widescreen, fullhd, breakpoint, isMax, children, ...props }) => {
2585
+ const { classPrefix } = useConfig();
1872
2586
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1873
2587
  color: textColor,
1874
2588
  backgroundColor: bgColor,
@@ -1888,7 +2602,8 @@ const Container = ({ className, textColor, bgColor, fluid, widescreen, fullhd, b
1888
2602
  breakpointClass = `is-${breakpoint}`;
1889
2603
  }
1890
2604
  }
1891
- const containerClasses = classNames('container', {
2605
+ const mainClass = classPrefix ? `${classPrefix}container` : 'container';
2606
+ const containerClasses = classNames(mainClass, {
1892
2607
  'is-fluid': fluid,
1893
2608
  'is-widescreen': widescreen,
1894
2609
  'is-fullhd': fullhd,
@@ -1897,73 +2612,91 @@ const Container = ({ className, textColor, bgColor, fluid, widescreen, fullhd, b
1897
2612
  };
1898
2613
 
1899
2614
  const Footer = ({ as = 'footer', className, children, ...props }) => {
2615
+ const { classPrefix } = useConfig();
1900
2616
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1901
2617
  const Tag = as;
1902
- 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 }));
1903
2620
  };
1904
2621
 
1905
2622
  const Hero = ({ className, color, size, bgColor, fullheightWithNavbar, children, ...props }) => {
2623
+ const { classPrefix } = useConfig();
1906
2624
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1907
2625
  color,
1908
2626
  backgroundColor: bgColor,
1909
2627
  ...props,
1910
2628
  });
1911
- 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}`, {
1912
2631
  'is-fullheight-with-navbar': fullheightWithNavbar || size === 'fullheight-with-navbar',
1913
2632
  });
1914
2633
  return (jsxRuntimeExports.jsx("section", { className: heroClasses, ...rest, children: children }));
1915
2634
  };
1916
2635
  const HeroHead = ({ className, children, color, bgColor, textColor, ...props }) => {
2636
+ const { classPrefix } = useConfig();
1917
2637
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1918
2638
  color: textColor !== null && textColor !== void 0 ? textColor : color,
1919
2639
  backgroundColor: bgColor,
1920
2640
  ...props,
1921
2641
  });
1922
- 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 }));
1923
2644
  };
1924
2645
  const HeroBody = ({ className, children, color, bgColor, textColor, ...props }) => {
2646
+ const { classPrefix } = useConfig();
1925
2647
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1926
2648
  color: textColor !== null && textColor !== void 0 ? textColor : color,
1927
2649
  backgroundColor: bgColor,
1928
2650
  ...props,
1929
2651
  });
1930
- 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 }));
1931
2654
  };
1932
2655
  const HeroFoot = ({ className, children, color, bgColor, textColor, ...props }) => {
2656
+ const { classPrefix } = useConfig();
1933
2657
  const { bulmaHelperClasses, rest } = useBulmaClasses({
1934
2658
  color: textColor !== null && textColor !== void 0 ? textColor : color,
1935
2659
  backgroundColor: bgColor,
1936
2660
  ...props,
1937
2661
  });
1938
- 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 }));
1939
2664
  };
1940
2665
  Hero.Head = HeroHead;
1941
2666
  Hero.Body = HeroBody;
1942
2667
  Hero.Foot = HeroFoot;
1943
2668
 
1944
2669
  const Level = ({ isMobile, className, children, ...props }) => {
2670
+ const { classPrefix } = useConfig();
1945
2671
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1946
- 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, {
1947
2674
  'is-mobile': isMobile,
1948
2675
  }), ...rest, children: children }));
1949
2676
  };
1950
2677
  const LevelLeft = ({ className, children, ...props }) => {
2678
+ const { classPrefix } = useConfig();
1951
2679
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1952
- 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 }));
1953
2682
  };
1954
2683
  const LevelRight = ({ className, children, ...props }) => {
2684
+ const { classPrefix } = useConfig();
1955
2685
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1956
- 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 }));
1957
2688
  };
1958
2689
  const LevelItem = ({ as = 'div', hasTextCentered, className, children, href, target, rel, ...props }) => {
2690
+ const { classPrefix } = useConfig();
1959
2691
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1960
2692
  const Tag = as;
2693
+ const mainClass = classPrefix ? `${classPrefix}level-item` : 'level-item';
1961
2694
  if (Tag === 'a') {
1962
- return (jsxRuntimeExports.jsx("a", { className: classNames('level-item', bulmaHelperClasses, className, {
2695
+ return (jsxRuntimeExports.jsx("a", { className: classNames(mainClass, bulmaHelperClasses, className, {
1963
2696
  'has-text-centered': hasTextCentered,
1964
2697
  }), href: href, target: target, rel: rel, ...rest, children: children }));
1965
2698
  }
1966
- return (jsxRuntimeExports.jsx(Tag, { className: classNames('level-item', bulmaHelperClasses, className, {
2699
+ return (jsxRuntimeExports.jsx(Tag, { className: classNames(mainClass, bulmaHelperClasses, className, {
1967
2700
  'has-text-centered': hasTextCentered,
1968
2701
  }), ...rest, children: children }));
1969
2702
  };
@@ -1972,9 +2705,11 @@ Level.Right = LevelRight;
1972
2705
  Level.Item = LevelItem;
1973
2706
 
1974
2707
  const Media = ({ as = 'article', className, children, ...props }) => {
2708
+ const { classPrefix } = useConfig();
1975
2709
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
1976
2710
  const Tag = as;
1977
- 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 }));
1978
2713
  };
1979
2714
  const MediaLeft = ({ as = 'figure', className, children, ...props }) => {
1980
2715
  const { bulmaHelperClasses, rest } = useBulmaClasses(props);
@@ -1994,8 +2729,10 @@ Media.Content = MediaContent;
1994
2729
  Media.Right = MediaRight;
1995
2730
 
1996
2731
  const Section = ({ size, className, children, ...props }) => {
2732
+ const { classPrefix } = useConfig();
1997
2733
  const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
1998
- const sectionClasses = classNames('section', className, bulmaHelperClasses, {
2734
+ const mainClass = classPrefix ? `${classPrefix}section` : 'section';
2735
+ const sectionClasses = classNames(mainClass, className, bulmaHelperClasses, {
1999
2736
  [`is-${size}`]: size,
2000
2737
  });
2001
2738
  return (jsxRuntimeExports.jsx("section", { className: sectionClasses, ...rest, children: children }));
@@ -2012,6 +2749,7 @@ exports.Checkbox = Checkbox;
2012
2749
  exports.Checkboxes = Checkboxes;
2013
2750
  exports.Column = Column;
2014
2751
  exports.Columns = Columns;
2752
+ exports.ConfigProvider = ConfigProvider;
2015
2753
  exports.Container = Container;
2016
2754
  exports.Content = Content;
2017
2755
  exports.Control = Control;
@@ -2077,6 +2815,7 @@ exports.Radio = Radio;
2077
2815
  exports.Radios = Radios;
2078
2816
  exports.Section = Section;
2079
2817
  exports.Select = Select;
2818
+ exports.Skeleton = Skeleton;
2080
2819
  exports.SubTitle = SubTitle;
2081
2820
  exports.TabItem = TabItem;
2082
2821
  exports.TabList = TabList;
@@ -2090,12 +2829,15 @@ exports.TextArea = TextArea;
2090
2829
  exports.Tfoot = Tfoot;
2091
2830
  exports.Th = Th;
2092
2831
  exports.Thead = Thead;
2832
+ exports.Theme = Theme;
2093
2833
  exports.Title = Title;
2094
2834
  exports.Tr = Tr;
2095
2835
  exports.__test_exports__ = __test_exports__;
2096
2836
  exports.classNames = classNames;
2097
2837
  exports.isBrowser = isBrowser;
2098
2838
  exports.useBulmaClasses = useBulmaClasses;
2839
+ exports.useClassPrefix = useClassPrefix;
2840
+ exports.useConfig = useConfig;
2099
2841
  exports.validAlignContents = validAlignContents;
2100
2842
  exports.validAlignItems = validAlignItems;
2101
2843
  exports.validAlignSelfs = validAlignSelfs;