import { DtIconLoading as t } from "@dialpad/dialtone-icons/vue3";
import { resolveComponent as n, createElementBlock as r, openBlock as d, createVNode as i } from "vue";
import { _ as l } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
import { ICON_SIZE_MODIFIERS as c } from "../icon/icon-constants.js";
const s = {
  name: "DtLoader",
  components: {
    DtIconLoading: t
  },
  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: (e) => Object.keys(c).includes(e)
    }
  }
}, _ = ["aria-label"];
function m(e, p, o, f, u, g) {
  const a = n("dt-icon-loading");
  return d(), r("div", {
    class: "d-loader",
    "aria-label": o.ariaLabel || "loading",
    "data-qa": "dt-loader"
  }, [
    i(a, {
      class: "d-loader__icon",
      "data-qa": "dt-loader-icon",
      size: o.size
    }, null, 8, ["size"])
  ], 8, _);
}
const S = /* @__PURE__ */ l(s, [["render", m]]);
export {
  S as default
};
//# sourceMappingURL=loader.js.map
