ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
69 lines (68 loc) • 1.86 kB
JavaScript
import { defineComponent as _, createVNode as e, createTextVNode as f } from "vue";
import { _ as I } from "../../../chunks/helper-chunk.mjs";
const n = 1e3, t = 4, r = 140, s = 250, u = 500, i = 0.8, h = /* @__PURE__ */ _({
name: "AXSenderRecordingIcon",
__name: "RecordingIcon",
props: {
className: {
type: String,
required: !1
},
audioIcon: {
type: null,
required: !1
},
audioDisabledIcon: {
type: null,
required: !1
},
audioRecordingIcon: {
type: null,
required: !1
}
},
setup(l, {
expose: d
}) {
d();
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: l.className
}, [e("title", null, [f("Speech Recording")]), Array.from({
length: t
}).map((y, o) => {
const p = (n - r * t) / (t - 1), m = o * (p + r), c = n / 2 - s / 2, g = n / 2 - u / 2;
return e("rect", {
fill: "currentColor",
rx: a,
ry: a,
height: s,
width: r,
x: m,
y: c,
key: o
}, [e("animate", {
attributeName: "height",
values: `${s}; ${u}; ${s}`,
keyTimes: "0; 0.5; 1",
dur: `${i}s`,
begin: `${i / t * o}s`,
repeatCount: "indefinite"
}, null), e("animate", {
attributeName: "y",
values: `${c}; ${g}; ${c}`,
keyTimes: "0; 0.5; 1",
dur: `${i}s`,
begin: `${i / t * o}s`,
repeatCount: "indefinite"
}, null)]);
})]);
}
}), $ = /* @__PURE__ */ I(h, [["__file", "/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/SpeechButton/RecordingIcon.vue"]]);
export {
$ as default
};