import { icons as t } from "@dialpad/dialtone-icons/vue3";
import { ICON_SIZE_MODIFIERS as i, ICON_NAMES as n } from "./icon-constants.js";
import { openBlock as o, createBlock as c, resolveDynamicComponent as s, createCommentVNode as d } from "vue";
import { _ as l } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
const m = {
  compatConfig: { MODE: 3 },
  name: "DtIcon",
  props: {
    /**
     * The size of the icon.
     * @values 100, 200, 300, 400, 500, 600, 700, 800
     */
    size: {
      type: String,
      default: "500",
      validator: (e) => Object.keys(i).includes(e)
    },
    /**
     * The icon name in kebab-case
     */
    name: {
      type: String,
      required: !0,
      validator: (e) => n.includes(e)
    },
    /**
     * The label of the icon as read out by a screen-reader. Leave this unset if your icon is purely presentational
     */
    ariaLabel: {
      type: String,
      default: void 0
    }
  },
  data() {
    return {
      // i18n: new DialtoneLocalization(),
    };
  },
  computed: {
    icon() {
      return t[`./src/icons/${this.name}.vue`];
    },
    iconAriaLabel() {
      return this.ariaLabel;
    }
  }
};
function u(e, p, r, f, _, a) {
  return a.icon ? (o(), c(s(a.icon), {
    key: 0,
    size: r.size,
    "aria-label": a.iconAriaLabel,
    "data-qa": e.$attrs["data-qa"] ?? "dt-icon"
  }, null, 8, ["size", "aria-label", "data-qa"])) : d("", !0);
}
const C = /* @__PURE__ */ l(m, [["render", u]]);
export {
  C as default
};
//# sourceMappingURL=icon.js.map
