"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const React = require("react");
const fa = require("react-icons/fa");
const im = require("react-icons/im");
const io = require("react-icons/io");
const ri = require("react-icons/ri");
const objects = require("../../utils/objects.cjs");
function _interopNamespaceDefault(e) {
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
  if (e) {
    for (const k in e) {
      if (k !== "default") {
        const d = Object.getOwnPropertyDescriptor(e, k);
        Object.defineProperty(n, k, d.get ? d : {
          enumerable: true,
          get: () => e[k]
        });
      }
    }
  }
  n.default = e;
  return Object.freeze(n);
}
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
const systemDefaults = {
  validationMode: "both",
  buttonDisplaySize: "medium",
  buttonDisplayStyle: "primary",
  buttonPendingPosition: "right",
  inputStatusPosition: "right",
  inputDisplaySize: "medium",
  hideInputErrorIconOnStatus: true,
  disableControlOnPending: true,
  scrollValidationErrorsIntoView: false,
  requiredIndicator: "*",
  validationErrorIcon: jsxRuntime.jsx(io.IoIosWarning, { size: 24 }),
  spinnerIcon: jsxRuntime.jsx(im.ImSpinner2, {}),
  dialogCloseButtonIcon: jsxRuntime.jsx(ri.RiCloseLine, { size: 24 }),
  globalPortalTo: typeof document !== "undefined" ? document.body : void 0,
  toastDuration: 5e3,
  toastPosition: "bottom-right",
  toastCloseButtonIcon: jsxRuntime.jsx(ri.RiCloseLine, { size: 18 }),
  toastDisplayMode: "add",
  checkboxCustomIndicator: jsxRuntime.jsx(fa.FaCheck, {}),
  checkboxCustomIndeterminateIndicator: jsxRuntime.jsx(im.ImMinus, {}),
  tooltipDelay: 700,
  tooltipShowArrow: false,
  tooltipSide: "top",
  autoValidate: true
};
const ArmstrongConfigContext = React__namespace.createContext(systemDefaults);
const ArmstrongConfigProvider = ({ children, ...config }) => {
  return jsxRuntime.jsx(ArmstrongConfigContext.Provider, { value: { ...systemDefaults, ...objects.stripNullOrUndefined(config) }, children });
};
const useArmstrongConfig = (localOverrides) => {
  const config = React__namespace.useContext(ArmstrongConfigContext);
  return { ...config, ...objects.stripNullOrUndefined(localOverrides) };
};
exports.ArmstrongConfigProvider = ArmstrongConfigProvider;
exports.useArmstrongConfig = useArmstrongConfig;
//# sourceMappingURL=config.context.cjs.map
