text: 'use strict';
  
  Object.defineProperty(exports, '__esModule', { value: true });
  
  var React = require('react');
  var styles = require('@mantine/styles');
  var Button_styles = require('./Button.styles.js');
  var Loader = require('../Loader/Loader.js');
  var Box = require('../Box/Box.js');
  
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
  
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
  
  var __defProp = Object.defineProperty;
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
  var __spreadValues = (a, b) => {
    for (var prop in b || (b = {}))
      if (__hasOwnProp.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    if (__getOwnPropSymbols)
      for (var prop of __getOwnPropSymbols(b)) {
        if (__propIsEnum.call(b, prop))
          __defNormalProp(a, prop, b[prop]);
      }
    return a;
  };
  var __objRest = (source, exclude) => {
    var target = {};
    for (var prop in source)
      if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
        target[prop] = source[prop];
    if (source != null && __getOwnPropSymbols)
      for (var prop of __getOwnPropSymbols(source)) {
        if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
          target[prop] = source[prop];
      }
    return target;
  };
  const Button = React.forwardRef((_a, ref) => {
    var _b = _a, {
      className,
      size = "sm",
      color,
      type = "button",
      disabled,
      children,
      leftIcon,
      rightIcon,
      fullWidth = false,
      variant = "filled",
      radius = "sm",
      component,
      uppercase = false,
      compact = false,
      loading = false,
      loaderPosition = "left",
      loaderProps,
      gradient = { from: "blue", to: "cyan", deg: 45 },
      classNames,
      styles: styles$1
    } = _b, others = __objRest(_b, [
      "className",
      "size",
      "color",
      "type",
      "disabled",
      "children",
      "leftIcon",
      "rightIcon",
      "fullWidth",
      "variant",
      "radius",
      "component",
      "uppercase",
      "compact",
      "loading",
      "loaderPosition",
      "loaderProps",
      "gradient",
      "classNames",
      "styles"
    ]);
    const { classes, cx, theme } = Button_styles['default']({
      radius,
      color,
      size,
      fullWidth,
      compact,
      gradientFrom: gradient.from,
      gradientTo: gradient.to,
      gradientDeg: gradient.deg
    }, { classNames, styles: styles$1, name: "Button" });
    const colors = styles.getSharedColorScheme({ color, theme, variant });
    const loader = /* @__PURE__ */ React__default.createElement(Loader.Loader, __spreadValues({
      color: colors.color,
      size: theme.fn.size({ size, sizes: Button_styles.heights }) / 2
    }, loaderProps));
    return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
      component: component || "button",
      className: cx(classes[variant], { [classes.loading]: loading }, classes.root, className),
      type,
      disabled: disabled || loading,
      ref,
      onTouchStart: () => {
      }
    }, others), /* @__PURE__ */ React__default.createElement("div", {
      className: classes.inner
    }, (leftIcon || loading && loaderPosition === "left") && /* @__PURE__ */ React__default.createElement("span", {
      className: cx(classes.icon, classes.leftIcon)
    }, loading && loaderPosition === "left" ? loader : leftIcon), /* @__PURE__ */ React__default.createElement("span", {
      className: classes.label,
      style: { textTransform: uppercase ? "uppercase" : void 0 }
    }, children), (rightIcon || loading && loaderPosition === "right") && /* @__PURE__ */ React__default.createElement("span", {
      className: cx(classes.icon, classes.rightIcon)
    }, loading && loaderPosition === "right" ? loader : rightIcon)));
  });
  Button.displayName = "@mantine/core/Button";
  
  exports.Button = Button;
  //# sourceMappingURL=Button.js.map
  