@dialpad/dialtone-vue
Version:
Vue component library for Dialpad's design system Dialtone
59 lines (58 loc) • 1.38 kB
JavaScript
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