ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
54 lines (53 loc) • 1.49 kB
JavaScript
import { defineComponent as $, createVNode as e } from "vue";
import T from "../../../locale/useLocale.mjs";
const n = 1e3, t = 4, r = 140, s = 250, i = 500, l = 0.8, R = /* @__PURE__ */ $({
name: "AXSenderRecordingIcon",
__name: "RecordingIcon",
props: {
className: null,
audioIcon: null,
audioDisabledIcon: null,
audioRecordingIcon: null
},
setup(u) {
const a = r / 2, m = u, [d] = T("Sender");
return () => e("svg", {
color: "currentColor",
viewBox: `0 0 ${n} ${n}`,
xmlns: "http://www.w3.org/2000/svg",
xmlnsXlink: "http://www.w3.org/1999/xlink",
class: m.className
}, [e("title", null, [d.value.speechRecording]), Array.from({
length: t
}).map((_, o) => {
const p = (n - r * t) / (t - 1), g = o * (p + r), c = n / 2 - s / 2, I = n / 2 - i / 2;
return e("rect", {
fill: "currentColor",
rx: a,
ry: a,
height: s,
width: r,
x: g,
y: c,
key: o
}, [e("animate", {
attributeName: "height",
values: `${s}; ${i}; ${s}`,
keyTimes: "0; 0.5; 1",
dur: `${l}s`,
begin: `${l / t * o}s`,
repeatCount: "indefinite"
}, null), e("animate", {
attributeName: "y",
values: `${c}; ${I}; ${c}`,
keyTimes: "0; 0.5; 1",
dur: `${l}s`,
begin: `${l / t * o}s`,
repeatCount: "indefinite"
}, null)]);
})]);
}
});
export {
R as default
};