"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
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 __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
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;
};
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var Text_exports = {};
__export(Text_exports, {
  Black: () => Black,
  Body1: () => Body1,
  Body2: () => Body2,
  Bold: () => Bold,
  Caption: () => Caption,
  Display1: () => Display1,
  Display2: () => Display2,
  Display3: () => Display3,
  Display4: () => Display4,
  DisplayNumber: () => DisplayNumber,
  H1: () => H1,
  H2: () => H2,
  H3: () => H3,
  H4: () => H4,
  H5: () => H5,
  Light: () => Light,
  Medium: () => Medium,
  Overline: () => Overline,
  Regular: () => Regular,
  SectionTitle: () => SectionTitle,
  Small: () => Small,
  SmallestException: () => SmallestException,
  Text: () => Text,
  TextRenderer: () => TextRenderer,
  Tiny: () => Tiny
});
module.exports = __toCommonJS(Text_exports);
var import_jsx_runtime = require("react/jsx-runtime");
var import_react = __toESM(require("react"));
var import_styled_components = __toESM(require("styled-components"));
var import_prop_types = require("prop-types");
var import_yoga_system = require("@gympass/yoga-system");
var import_textStyle = __toESM(require("../textStyle.web"));
var import_shared = require("../../shared");
const styledText = (type, element = false) => (element ? import_styled_components.default[type] : import_styled_components.default.p)`
    margin: 0;
    padding: 0;
    ${(0, import_textStyle.default)(type)}
    ${import_yoga_system.system}
`;
const Display1 = styledText("display1");
Display1.displayName = "Text.Display1";
const Display2 = styledText("display2");
Display2.displayName = "Text.Display2";
const Display3 = styledText("display3");
Display3.displayName = "Text.Display3";
const Display4 = styledText("display4");
Display4.displayName = "Text.Display4";
const DisplayNumber = styledText("displayNumber");
DisplayNumber.displayName = "Text.DisplayNumber";
const H1 = styledText("h1", true);
H1.displayName = "Text.H1";
const H2 = styledText("h2", true);
H2.displayName = "Text.H2";
const H3 = styledText("h3", true);
H3.displayName = "Text.H3";
const H4 = styledText("h4", true);
H4.displayName = "Text.H4";
const H5 = styledText("h5", true);
H5.displayName = "Text.H5";
const Body1 = styledText("body1");
Body1.displayName = "Text.Body1";
const Body2 = styledText("body2");
Body2.displayName = "Text.Body2";
const Caption = styledText("caption");
Caption.displayName = "Text.caption";
const Overline = styledText("overline");
Overline.overline = "Text.DisplayNumber";
const SectionTitle = styledText("sectionTitle");
SectionTitle.displayName = "Text.SectionTitle";
const SmallestException = styledText("smallestException");
SmallestException.displayName = "Text.SmallestException";
const Small = styledText("small");
Small.displayName = "Text.Small";
const Tiny = styledText("tiny");
Tiny.displayName = "Text.Tiny";
const Light = styledText("light");
Light.displayName = "Text.Light";
const Regular = styledText("regular");
Regular.displayName = "Text.Regular";
const Medium = styledText("medium");
Medium.displayName = "Text.Medium";
const Bold = styledText("bold");
Bold.displayName = "Text.Bold";
const Black = styledText("black");
Black.displayName = "Text.Black";
const TextRenderer = styledText("p");
const Text = (_a) => {
  var _b = _a, {
    inverted = false,
    fontSize = "medium",
    light = false,
    bold = false
  } = _b, rest = __objRest(_b, [
    "inverted",
    "fontSize",
    "light",
    "bold"
  ]);
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
    TextRenderer,
    __spreadProps(__spreadValues({}, rest), {
      inverted,
      fontSize,
      light,
      bold
    })
  );
};
Text.displayName = "Text";
Text.Display1 = Display1;
Text.Display2 = Display2;
Text.Display3 = Display3;
Text.Display4 = Display4;
Text.DisplayNumber = DisplayNumber;
Text.H1 = H1;
Text.H2 = H2;
Text.H3 = H3;
Text.H4 = H4;
Text.H5 = H5;
Text.Body1 = Body1;
Text.Body2 = Body2;
Text.Caption = Caption;
Text.Overline = Overline;
Text.SectionTitle = SectionTitle;
Text.SmallestException = SmallestException;
Text.Small = Small;
Text.Tiny = Tiny;
Text.Light = Light;
Text.Regular = Regular;
Text.Medium = Medium;
Text.Bold = Bold;
Text.Black = Black;
const fontSizes = (0, import_prop_types.oneOf)([
  "xxsmall",
  "xsmall",
  "small",
  "medium",
  "large",
  "xlarge",
  "xxlarge",
  "xxxlarge",
  "huge"
]);
Text.propTypes = {
  inverted: import_prop_types.bool,
  numberOfLines: import_prop_types.number,
  /** (deprecated: use color instead) style the text following the theme */
  variant: (0, import_shared.deprecated)(
    (0, import_prop_types.oneOf)([
      "primary",
      "secondary",
      "vibin",
      "hope",
      "energy",
      "relax",
      "peace",
      "verve",
      "uplift",
      "deepPurple",
      "stamina",
      "deep",
      "medium",
      "light",
      "clear",
      "white"
    ]),
    "Use `color` system prop instead"
  ),
  /** (deprecated: use fontSize instead) style the text following the theme */
  size: (0, import_shared.deprecated)(fontSizes, "Use `fontSize` system prop instead"),
  /** set the font-weight to regular */
  light: import_prop_types.bool,
  bold: import_prop_types.bool,
  fontSize: fontSizes
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  Black,
  Body1,
  Body2,
  Bold,
  Caption,
  Display1,
  Display2,
  Display3,
  Display4,
  DisplayNumber,
  H1,
  H2,
  H3,
  H4,
  H5,
  Light,
  Medium,
  Overline,
  Regular,
  SectionTitle,
  Small,
  SmallestException,
  Text,
  TextRenderer,
  Tiny
});
