import { DtIconLoading as r } from "@dialpad/dialtone-icons/vue2";
import { DialtoneLocalization as o } from "../../localization/index.js";
import { n } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
import { ICON_SIZE_MODIFIERS as i } from "../icon/icon-constants.js";
const s = {
  name: "DtLoader",
  components: {
    DtIconLoading: r
  },
  props: {
    /**
     * The label of the loader as read out by a screen reader.
     * Default is "loading"
     */
    ariaLabel: {
      type: String,
      default: ""
    },
    /**
     * The size of the icon.
     * @values 100, 200, 300, 400, 500, 600, 700, 800
     */
    size: {
      type: String,
      default: "500",
      validator: (t) => Object.keys(i).includes(t)
    }
  },
  data() {
    return {
      i18n: new o()
    };
  },
  computed: {
    loaderText() {
      return this.ariaLabel || this.i18n.$t("DIALTONE_LOADING");
    }
  }
};
var d = function() {
  var a = this, e = a._self._c;
  return e("div", { staticClass: "d-loader", attrs: { "aria-label": a.loaderText, "data-qa": "dt-loader" } }, [e("dt-icon-loading", { staticClass: "d-loader__icon", attrs: { "data-qa": "dt-loader-icon", size: a.size } })], 1);
}, l = [], c = /* @__PURE__ */ n(
  s,
  d,
  l
);
const u = c.exports;
export {
  u as default
};
//# sourceMappingURL=loader.js.map
