import { n as d, o as h } from "./static-be5c3b1c.mjs";
import { P as b, r as y, n as o } from "./plus-base-1920dd44.mjs";
import { e as f } from "./custom-element-eaccb8d2.mjs";
import { o as g } from "./style-map-628a6643.mjs";
import { s as m } from "./index-975d3293.mjs";
import "./directive-daf4e9b6.mjs";
const v = m({
  slots: {
    base: ["inline font-sans text-base font-normal"]
  },
  variants: {
    kind: {
      default: { base: "text-color-default" },
      placeholder: { base: "text-color-placeholder" },
      caption: { base: "text-color-caption" }
    },
    type: {
      p: { base: "" },
      code: { base: " font-mono border border-color-default rounded-sm px-1 bg-color-default" },
      blockquote: { base: "font-serif border-l-4 border-color-default pl-2" },
      h1: { base: "text-7xl" },
      h2: { base: "text-6xl" },
      h3: { base: "text-5xl" },
      h4: { base: "text-4xl" },
      h5: { base: "text-3xl" },
      h6: { base: "text-2xl" }
    },
    size: {
      xs: { base: "text-xs" },
      sm: { base: "text-sm" },
      base: { base: "" },
      lg: { base: "text-lg" },
      xl: { base: "text-xl" },
      "2xl": { base: "text-2xl" },
      "3xl": { base: "text-3xl" },
      "4xl": { base: "text-4xl" },
      "5xl": { base: "text-5xl" },
      "6xl": { base: "text-6xl" },
      "7xl": { base: "text-7xl" },
      "8xl": { base: "text-8xl" },
      "9xl": { base: "text-9xl" },
      inherit: { base: "text-size-inherit" }
    },
    strong: {
      true: { base: "font-semibold" }
    },
    italic: {
      true: { base: "italic" }
    },
    status: {
      default: { base: "" },
      success: { base: "text-color-success" },
      warning: { base: "text-color-warning" },
      error: { base: "text-color-error" },
      info: { base: "text-color-info" }
    },
    disabled: {
      true: { base: "text-color-disabled" }
    },
    highlight: {
      true: { base: "bg-color-invert-warning" }
    }
  },
  defaultVariants: {
    kind: "default",
    status: "default",
    disabled: !1,
    highlight: !1,
    strong: !1,
    italic: !1,
    size: "base",
    type: "p"
  }
}), B = `:host{display:block}
`;
var $ = Object.defineProperty, z = Object.getOwnPropertyDescriptor, e = (a, s, l, n) => {
  for (var r = n > 1 ? void 0 : n ? z(s, l) : s, p = a.length - 1, i; p >= 0; p--)
    (i = a[p]) && (r = (n ? i(s, l, r) : i(r)) || r);
  return n && r && $(s, l, r), r;
};
let t = class extends b {
  constructor() {
    super(...arguments), this.kind = "default", this.status = "default", this.size = "base", this.type = "p";
  }
  textDecoration() {
    const { underline: a, overline: s, lineThrough: l } = this;
    return !a && !s && !l ? {} : {
      "text-decoration": `${a ? "underline" : ""} ${s ? "overline" : ""} ${l ? "line-through" : ""}`.trim()
    };
  }
  render() {
    const { kind: a, status: s, disabled: l, highlight: n, strong: r, italic: p, type: i, size: c } = this, { base: u } = v({ kind: a, status: s, disabled: l, highlight: n, strong: r, italic: p, type: i, size: c }), x = h(i);
    return d`
      <${x} class="${u()}" style="${g(this.textDecoration())}">
        <slot></slot>
      </${x}>
    `;
  }
};
t.styles = [...b.styles, y(B)];
e([
  o({ type: String })
], t.prototype, "kind", 2);
e([
  o({ type: String })
], t.prototype, "status", 2);
e([
  o({ type: Boolean })
], t.prototype, "underline", 2);
e([
  o({ type: Boolean })
], t.prototype, "overline", 2);
e([
  o({ type: Boolean, attribute: "line-through" })
], t.prototype, "lineThrough", 2);
e([
  o({ type: Boolean })
], t.prototype, "highlight", 2);
e([
  o({ type: Boolean })
], t.prototype, "strong", 2);
e([
  o({ type: Boolean })
], t.prototype, "italic", 2);
e([
  o({ type: String, attribute: "text-transform" })
], t.prototype, "textTransform", 2);
e([
  o({ type: Boolean })
], t.prototype, "code", 2);
e([
  o({ type: Boolean })
], t.prototype, "truncate", 2);
e([
  o({ type: Boolean })
], t.prototype, "blockquote", 2);
e([
  o({ type: String })
], t.prototype, "size", 2);
e([
  o({ type: String })
], t.prototype, "type", 2);
t = e([
  f("plus-text")
], t);
export {
  t as TextComponent
};
