ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
53 lines (52 loc) • 1.44 kB
JavaScript
import { defineComponent as p, createVNode as e, createTextVNode as I } from "vue";
const n = 1e3, t = 4, r = 140, s = 250, i = 500, c = 0.8, _ = /* @__PURE__ */ p({
name: "AXSenderRecordingIcon",
__name: "RecordingIcon",
props: {
className: null,
audioIcon: null,
audioDisabledIcon: null,
audioRecordingIcon: null
},
setup(u) {
const a = r / 2;
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: u.className
}, [e("title", null, [I("Speech Recording")]), Array.from({
length: t
}).map((T, o) => {
const m = (n - r * t) / (t - 1), d = o * (m + r), l = n / 2 - s / 2, g = n / 2 - i / 2;
return e("rect", {
fill: "currentColor",
rx: a,
ry: a,
height: s,
width: r,
x: d,
y: l,
key: o
}, [e("animate", {
attributeName: "height",
values: `${s}; ${i}; ${s}`,
keyTimes: "0; 0.5; 1",
dur: `${c}s`,
begin: `${c / t * o}s`,
repeatCount: "indefinite"
}, null), e("animate", {
attributeName: "y",
values: `${l}; ${g}; ${l}`,
keyTimes: "0; 0.5; 1",
dur: `${c}s`,
begin: `${c / t * o}s`,
repeatCount: "indefinite"
}, null)]);
})]);
}
});
export {
_ as default
};