UNPKG

@dialpad/dialtone-vue

Version:

Vue component library for Dialpad's design system Dialtone

59 lines (58 loc) 1.38 kB
import { icons as r } from "@dialpad/dialtone-icons/vue2"; import { ICON_NAMES as n, ICON_SIZE_MODIFIERS as i } from "./icon-constants.js"; import { n as o } from "../../_plugin-vue2_normalizer-DSLOjnn3.js"; const c = { name: "DtIcon", props: { /** * 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) }, /** * The icon name in kebab-case */ name: { type: String, required: !0, validator: (t) => n.includes(t) }, /** * 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 r[`./src/icons/${this.name}.vue`]; }, iconAriaLabel() { return this.ariaLabel; } } }; var s = function() { var e = this, a = e._self._c; return e.icon ? a(e.icon, { tag: "component", attrs: { size: e.size, "aria-label": e.iconAriaLabel, "data-qa": e.$attrs["data-qa"] ?? "dt-icon" } }) : e._e(); }, d = [], _ = /* @__PURE__ */ o( c, s, d ); const p = _.exports; export { p as default }; //# sourceMappingURL=icon.js.map