@dialpad/dialtone-icons
Version:
Dialtone icon library
83 lines (82 loc) • 2.59 kB
JavaScript
import { g as n } from "../../utils-BOfnFgIH.js";
import { I as l } from "../../constants-DeVuDy8J.js";
import { openBlock as d, createElementBlock as o, normalizeClass as s, createElementVNode as a } from "vue";
import { _ as u } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
const c = {
name: "DtIconPin",
props: {
/**
* The size of the icon.
* @values 100, 200, 300, 400, 500, 600, 700, 800
*/
size: {
type: String,
default: "500",
validator: (e) => Object.keys(l).includes(e)
},
/**
* The label of the icon as read out by a screenreader. Leave this unset if your icon is purely presentational
*/
ariaLabel: {
type: String,
default: void 0
}
},
/**
* @TODO: Remove this emit once the icons migration is complete,
* they will no longer need this event.
* */
emits: ["loaded"],
computed: {
iconSizeClass() {
return l[this.size];
},
ariaHidden() {
return this.ariaLabel ? "false" : "true";
},
dataQA() {
return this.$attrs["data-qa"] ?? "dt-icon";
}
},
created() {
this.$emit("loaded"), this.uniqueID = n();
}
}, p = ["aria-label", "data-qa", "aria-hidden"], f = ["clip-path"], m = ["id"];
function h(e, i, r, _, v, t) {
return d(), o("svg", {
"aria-label": r.ariaLabel,
class: s([t.iconSizeClass, "d-icon d-icon--pin"]),
"data-qa": t.dataQA,
"aria-hidden": t.ariaHidden,
role: "img",
"data-name": "Pin",
viewBox: "0 0 12 12",
xmlns: "http://www.w3.org/2000/svg"
}, [
a("g", {
"clip-path": `url(#${e.uniqueID}a)`
}, [...i[0] || (i[0] = [
a("path", {
"fill-rule": "evenodd",
"clip-rule": "evenodd",
d: "M4 .5a1.5 1.5 0 0 0 0 3v1.88a.5.5 0 0 1-.277.447l-.892.451a1.5 1.5 0 0 0-.83 1.342v.88a.5.5 0 0 0 .5.5h3v2a.5.5 0 1 0 1 0V9h3a.5.5 0 0 0 .5-.5v-.88a1.5 1.5 0 0 0-.831-1.342l-.89-.45h-.002A.5.5 0 0 1 8 5.38V3.5a1.5 1.5 0 1 0 0-3H4Zm0 1a.5.5 0 0 0 0 1h.5A.5.5 0 0 1 5 3v2.38a1.5 1.5 0 0 1-.83 1.342l-.892.45A.5.5 0 0 0 3 7.62V8h6v-.38a.5.5 0 0 0-.277-.447L8.72 7.17l-.889-.449a1.5 1.5 0 0 1-.83-1.342V3a.5.5 0 0 1 .5-.5H8a.5.5 0 0 0 0-1H4Z",
fill: "currentColor"
}, null, -1)
])], 8, f),
a("defs", null, [
a("clipPath", {
id: `${e.uniqueID}a`
}, [...i[1] || (i[1] = [
a("path", {
fill: "#fff",
d: "M0 0h12v12H0z"
}, null, -1)
])], 8, m)
])
], 10, p);
}
const S = /* @__PURE__ */ u(c, [["render", h]]);
export {
S as default
};
//# sourceMappingURL=pin.js.map