@aurouscia/au-table-editor
Version:
vue表格编辑器组件
698 lines • 71.5 kB
JavaScript
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, nextTick as c, normalizeClass as l, normalizeStyle as u, onMounted as ee, onUnmounted as te, openBlock as d, ref as f, renderList as ne, toDisplayString as re, unref as p, vModelText as m, vShow as ie, watch as ae, withDirectives as h } from "vue";
import { AurStateStore as oe } from "@aurouscia/au-undo-redo";
import { ShortcutListener as se } from "@aurouscia/keyboard-shortcut";
//#region src/models/Table.ts
var ce = "#eeeeee", le = "#000000", g = class {
id;
name;
cells;
cellsShown;
merges;
merged;
colors;
sticky;
rowCount;
colCount;
constructor(e) {
this.id = e.id, this.name = e.name, this.cells = e.cells || [], this.merges = e.merges || [], this.merged = [], this.colors = e.colors || [], this.sticky = e.sticky || {}, this.rowCount = this.cells.length, this.colCount = Math.max(...this.cells.map((e) => e.length)), this.cellsShown = [], this.totalRefresh();
}
output() {
let e = [];
var t = [];
return this.enumerateCells((n, r) => {
var i = !1, a = 1, o = 1;
if (this.isMergedCell(n, r)) {
let e = this.isMergeInfoHead(n, r);
e ? (a = e.right + 1, o = e.down + 1) : i = !0;
}
if (!i) {
let e = this.colors.find((e) => e.pos[0] == n && e.pos[1] == r);
t.push({
content: this.cells[n][r],
colspan: a > 1 ? a : void 0,
rowspan: o > 1 ? o : void 0,
position: {
row: n,
col: r
},
bgColor: e?.bg,
textColor: e?.text
});
}
return r == this.colCount - 1 && (e.push(t), t = []), !0;
}), e;
}
getData() {
return {
id: this.id,
name: this.name,
cells: this.cells,
merges: this.merges,
colors: this.colors,
sticky: this.sticky
};
}
replaceData(e) {
this.id = e.id, this.name = e.name, this.cells = e.cells, this.merges = e.merges || [], this.colors = e.colors || [], this.sticky = e.sticky || {}, this.totalRefresh();
}
refreshCellShown() {
this.cellsShown = this.output();
}
refreshSize() {
this.rowCount = this.cells.length, this.colCount = Math.max(...this.cells.map((e) => e.length));
}
totalRefresh() {
this.merges = this.merges.filter((e) => e.down > 0 || e.right > 0), this.rmColorRedundant(), this.refreshSize(), this.cells.forEach((e) => {
let t = this.colCount - e.length;
t != 0 && e.push(...this.newStringArr(t));
}), this.refreshMergedPositions(), this.refreshCellShown();
}
rmColorRedundant() {
this.colors = this.colors.filter((e) => (e.bg || e.text) && (e.bg !== "#eeeeee" || e.text !== "#000000"));
}
isMergeDangerous(e) {
var e = this.rectanglifySelection(e, []), t = e[0];
e.forEach((e) => {
(e.row < t.row || e.col < t.col) && (t = e);
});
var n = !1;
return e.forEach((e) => {
t != e && this.cells[e.row][e.col] && (n = !0);
}), n;
}
addMerge(e) {
if (e.length <= 1) return e;
let t = [];
e = this.rectanglifySelection(e, t), this.rmColorRedundant(), e.sort(this.posCmp);
var n = e[0], r = this.cells[n.row][n.col], i = this.colors.find((e) => e.pos[0] === n.row && e.pos[1] === n.col);
let a = !!i;
e.forEach((e) => {
if (n != e) {
if (!r) {
let t = this.cells[e.row][e.col];
t && (r = t);
}
this.cells[e.row][e.col] = "";
let t = this.colors.findIndex((t) => t.pos[0] === e.row && t.pos[1] === e.col);
t >= 0 && (i ||= this.colors[t], this.colors.splice(t, 1));
}
}), this.cells[n.row][n.col] = r, !a && i && (i.pos = [n.row, n.col], this.colors.push(i)), this.merges = this.merges.filter((e) => t.indexOf(e) == -1);
let o = this.selectionToMergeInfo(e);
return this.merges.push(o), this.refreshMergedPositions(), this.refreshCellShown(), [{
row: o.row,
col: o.col
}];
}
removeMerge(e) {
let t = this.merged.find((t) => t.row == e.row && t.col == e.col)?.fromMerge;
t && (this.merges = this.merges.filter((e) => e.row != t.row || e.col != t.col), this.refreshMergedPositions(), this.refreshCellShown());
}
isMergedCell(e, t) {
return this.merged.find((n) => n.row == e && n.col == t);
}
isMergeInfoHead(e, t) {
return this.merges.find((n) => n.row == e && n.col == t);
}
isValidMergeInfo(e) {
return e.col > 0 && e.right > 0 && e.col + e.right < this.colCount && e.row > 0 && e.down > 0 && e.row + e.down < this.rowCount;
}
rectanglifySelection(e, t) {
let n = [];
e.forEach(({ row: e, col: r }) => {
n.push({
row: e,
col: r
});
let i = this.isMergedCell(e, r);
i && t.indexOf(i.fromMerge) == -1 && t.push(i.fromMerge);
}), t.forEach((e) => {
this.enumerateMergeInfo(e, (e, t) => (n.push({
row: e,
col: t
}), !0));
});
let r = this.selectionToMergeInfo(n), i = [];
return this.enumerateMergeInfo(r, (e, t) => (i.push({
row: e,
col: t
}), !0)), this.isSameSelection(e, i) ? e : this.rectanglifySelection(i, t);
}
selectionToMergeInfo(e) {
let t = e.map((e) => e.col), n = e.map((e) => e.row), r = Math.min(...t), i = Math.max(...t), a = Math.min(...n);
return {
row: a,
down: Math.max(...n) - a,
col: r,
right: i - r
};
}
isSameSelection(e, t) {
if (e.length != t.length) return !1;
e.sort(this.posCmp), t.sort(this.posCmp);
for (var n = 0; n < e.length; n++) if (e[n].row != t[n].row || e[n].col != t[n].col) return !1;
return !0;
}
posCmp(e, t) {
return e.row == t.row ? e.col - t.col : e.row - t.row;
}
rangeIncludeWholeMerge(e, t) {
if (e.type == "horizontal") {
if (e.min <= t.col && e.max >= t.col + t.right) return !0;
} else if (e.type == "vertical" && e.min <= t.row && e.max >= t.row + t.down) return !0;
return !1;
}
rangeIncludeCell(e, t, n) {
if (e.type == "horizontal") {
if (e.min <= n && e.max >= n) return !0;
} else if (e.type == "vertical" && e.min <= t && e.max >= t) return !0;
return !1;
}
refreshMergedPositions() {
this.merged = [], this.merges.forEach((e) => {
this.enumerateMergeInfo(e, (t, n) => (this.merged.push({
row: t,
col: n,
fromMerge: e
}), !0));
}), this.merged.sort(this.posCmp);
}
enumerateCells(e) {
for (var t = 0; t < this.rowCount; t++) for (var n = 0; n < this.colCount; n++) if (!e(t, n)) return;
}
enumerateMergeInfo(e, t) {
for (var n = e.row; n <= e.row + e.down; n++) for (var r = e.col; r <= e.col + e.right; r++) if (!t(n, r)) return;
}
enumerateRange(e, t) {
if (e.type == "vertical") {
for (var n = e.min; n <= e.max; n++) for (var r = 0; r < this.colCount; r++) if (!t(n, r)) return;
} else if (e.type == "horizontal") {
for (var n = 0; n < this.rowCount; n++) for (var r = e.min; r <= e.max; r++) if (!t(n, r)) return;
}
}
enumerateRow(e, t) {
let n = this.cells[e];
if (n) {
for (let r = 0; r < n.length; r++) if (!t(e, r)) return;
}
}
enumerateCol(e, t) {
for (let n = 0; n < this.cells.length; n++) if (!t(n, e)) return;
}
getSelectionRange(e, t) {
var n = 0, r = 0;
if (e.length == 1) {
let t = this.isMergeInfoHead(e[0].row, e[0].col);
t && e.push({
row: t.row + t.down,
col: t.col + t.right
});
}
return t == "horizontal" ? (n = Math.min(...e.map((e) => e.col)), r = Math.max(...e.map((e) => e.col))) : t == "vertical" && (n = Math.min(...e.map((e) => e.row)), r = Math.max(...e.map((e) => e.row))), {
min: n,
max: r,
type: t
};
}
isRectSelection(e) {
let t = [...e], n = [];
e.forEach((e) => {
let r = this.isMergedCell(e.row, e.col)?.fromMerge;
if (r) {
if (n.includes(r)) return;
n.push(r), this.enumerateMergeInfo(r, (e, n) => (t.push({
row: e,
col: n
}), !0));
}
});
let r = this.selectionToMergeInfo(t);
var i = !0;
return this.enumerateMergeInfo(r, (e, n) => t.find((t) => t.row == e && t.col == n) ? !0 : (i = !1, !1)), i;
}
isInsideSingleMergeSelection(e) {
for (var t, n = 0; n < e.length; n++) {
let r = this.isMergedCell(e[n].row, e[n].col)?.fromMerge;
if (r) {
if (!t) t = r;
else if (t != r) return !1;
} else return !1;
}
return !0;
}
expandSelection(e, t, n) {
if (n == "strict") {
if (t == "horizontal") {
let t = this.getSelectionRange(e, "vertical"), n = {
row: t.min,
col: 0
}, r = {
row: t.max,
col: this.colCount - 1
};
return this.rectanglifySelection([
...e,
n,
r
], []);
} else if (t == "vertical") {
let t = this.getSelectionRange(e, "horizontal"), n = {
row: 0,
col: t.min
}, r = {
row: this.rowCount - 1,
col: t.max
};
return this.rectanglifySelection([
...e,
n,
r
], []);
}
} else if (n == "loose") {
var r = [], i = [], a = t == "horizontal" ? "vertical" : "horizontal";
let n = [];
n.push(...e), e.forEach((e) => {
let t = this.isMergeInfoHead(e.row, e.col);
t && this.enumerateMergeInfo(t, (e, t) => (n.push({
row: e,
col: t
}), !0));
});
var o = this.getSelectionRange(n, a);
return this.enumerateRange(o, (e, t) => {
let n = this.isMergedCell(e, t);
return n ? r.push(n.fromMerge) : i.push({
row: e,
col: t
}), !0;
}), r = r.filter((e) => this.rangeIncludeWholeMerge(o, e)), r.forEach((e) => {
i.find((t) => t.col == e.col && t.row == e.row) || i.push({
row: e.row,
col: e.col
});
}), i || e;
}
return e;
}
selectSpecificIdx(e, t) {
let n = [];
if (e == "horizontal") {
let e = t;
for (var r = 0; r < this.colCount; r++) {
let t = this.isMergedCell(e, r);
t ? t.fromMerge.down == 0 && n.push({
row: t.row,
col: t.col
}) : n.push({
row: e,
col: r
});
}
} else if (e == "vertical") {
let e = t;
for (var r = 0; r < this.rowCount; r++) {
let t = this.isMergedCell(r, e);
t ? t.fromMerge.right == 0 && n.push({
row: t.row,
col: t.col
}) : n.push({
row: r,
col: e
});
}
}
return n;
}
cellPosMapToShownPos(e, t = 0) {
if (t > 1) return {
row: 0,
col: 0
};
let n = this.isMergedCell(e.row, e.col)?.fromMerge;
if (n && (n.row != e.row || n.col != e.col)) return this.cellPosMapToShownPos({
row: n.row,
col: n.col
}, t + 1);
if (e.col == 0) return {
row: e.row,
col: 0
};
let r = [];
for (var i = 0; i < e.col; i++) {
let t = this.isMergedCell(e.row, i)?.fromMerge;
t && !r.includes(t) && r.push(t);
}
var a = 0;
return r.forEach((t) => {
a += t.right + 1, e.row == t.row && --a;
}), {
row: e.row,
col: e.col - a
};
}
shownPosMapToCellPos(e) {
let t = this.cells[e.row], n = [], r = [], i = 0;
for (let a = 0; a < t.length; a++) {
let t = this.isMergedCell(e.row, a)?.fromMerge;
t && r.indexOf(t) == -1 && (t.row == e.row ? (n.push([a, a - i]), i += t.right) : i += t.right + 1, r.push(t)), t || n.push([a, a - i]);
}
let a = n.find((t) => t[1] == e.col)?.[0];
return a === void 0 && (a = -1), {
row: e.row,
col: a
};
}
nextCellShown(e) {
let t = this.cellsShown[0][0].position;
for (let n = 0; n < this.cellsShown.length; n++) {
let r = this.cellsShown[n];
for (let i = 0; i < r.length; i++) {
let a = r[i];
if (e.row == a.position.row && e.col == a.position.col) {
if (i != r.length - 1) return r[i + 1].position;
{
let e = n + 1;
for (; e < this.cellsShown.length;) {
let t = this.cellsShown[e];
if (t.length > 0) return t[0].position;
e++;
}
return t;
}
}
}
}
}
insert(e, t) {
let n = this.locateGap(e, t);
var r = e || [];
if (!n) return e || [];
if (t == "top") {
this.cells.splice(n.idx, 0, this.newStringArr(this.colCount));
let e = this.merges.filter((e) => e.row == n.idx && e.down >= 1), t = this.merges.filter((e) => e.row < n.idx && e.row + e.down >= n.idx), i = this.merges.filter((e) => e.row > n.idx || e.down == 0 && e.row == n.idx);
e.forEach((e) => {
this.cells[e.row][e.col] = this.cells[e.row + 1][e.col], this.cells[e.row + 1][e.col] = "", e.down += 1;
}), t.forEach((e) => {
e.down += 1;
}), i.forEach((e) => {
e.row += 1;
}), r = this.selectSpecificIdx("horizontal", n.idx);
} else if (t == "bottom") n.idx < this.rowCount ? this.cells.splice(n.idx, 0, this.newStringArr(this.colCount)) : this.cells.push(this.newStringArr(this.colCount)), this.merges.filter((e) => e.row + e.down + 1 == n.idx && e.down >= 1 || e.row < n.idx && e.row + e.down >= n.idx).forEach((e) => {
e.down += 1;
}), this.merges.filter((e) => e.row >= n.idx).forEach((e) => {
e.row += 1;
}), r = this.selectSpecificIdx("horizontal", n.idx);
else if (t == "left") {
this.cells.forEach((e) => e.splice(n.idx, 0, ""));
let e = this.merges.filter((e) => e.col == n.idx && e.right >= 1), t = this.merges.filter((e) => e.col < n.idx && e.col + e.right >= n.idx), i = this.merges.filter((e) => e.col > n.idx || e.col == n.idx && e.right == 0);
e.forEach((e) => {
this.cells[e.row][e.col] = this.cells[e.row][e.col + 1], this.cells[e.row][e.col + 1] = "", e.right += 1;
}), t.forEach((e) => {
e.right += 1;
}), i.forEach((e) => {
e.col += 1;
}), r = this.selectSpecificIdx("vertical", n.idx);
} else t == "right" && (n.idx < this.colCount ? this.cells.forEach((e) => e.splice(n.idx, 0, "")) : this.cells.forEach((e) => e.push("")), this.merges.filter((e) => e.col + e.right + 1 == n.idx && e.right >= 1 || e.col < n.idx && e.col + e.right >= n.idx).forEach((e) => {
e.right += 1;
}), this.merges.filter((e) => e.col >= n.idx).forEach((e) => {
e.col += 1;
}), r = this.selectSpecificIdx("vertical", n.idx));
return t == "top" || t == "bottom" ? this.colors.filter((e) => e.pos[0] >= n.idx).forEach((e) => e.pos[0] += 1) : (t == "left" || t == "right") && this.colors.filter((e) => e.pos[1] >= n.idx).forEach((e) => e.pos[1] += 1), this.totalRefresh(), r;
}
locateGap(e, t) {
if (!e) return t == "top" ? {
idx: 0,
dir: "horizontal"
} : t == "bottom" ? {
idx: this.rowCount,
dir: "horizontal"
} : t == "left" ? {
idx: 0,
dir: "vertical"
} : t == "right" ? {
idx: this.colCount,
dir: "vertical"
} : void 0;
if (t == "top") {
let t = e.map((e) => e.row);
return {
idx: Math.min(...t),
dir: "horizontal"
};
}
if (t == "bottom") {
let t = e.map((e) => {
let t = this.isMergeInfoHead(e.row, e.col);
return t ? t.row + t.down : e.row;
});
return {
idx: Math.max(...t) + 1,
dir: "horizontal"
};
}
if (t == "left") {
let t = e.map((e) => e.col);
return {
idx: Math.min(...t),
dir: "vertical"
};
}
if (t == "right") {
let t = e.map((e) => {
let t = this.isMergeInfoHead(e.row, e.col);
return t ? t.col + t.right : e.col;
});
return {
idx: Math.max(...t) + 1,
dir: "vertical"
};
}
}
newStringArr(e) {
return Array(e).fill("");
}
exchange(e) {
if (e.idx == 0) return !1;
if (e.dir == "horizontal") {
let t = e.idx - 1, n = e.idx;
if (n >= this.cells.length) return !1;
let r = !0;
if (this.enumerateRow(t, (e, t) => {
let n = this.isMergedCell(e, t), i = this.isMergedCell(e + 1, t);
return n && i && n.fromMerge != i.fromMerge && (n.fromMerge.down > 0 || i.fromMerge.down > 0) ? (r = !1, !1) : !0;
}), r) this.enumerateRow(t, (e, t) => {
let n = this.isMergedCell(e, t), r = this.isMergedCell(e + 1, t);
if ((!n || n.fromMerge.down == 0) && (!r || r.fromMerge.down == 0)) {
let n = this.cells[e][t];
this.cells[e][t] = this.cells[e + 1][t], this.cells[e + 1][t] = n;
}
return !0;
}), this.merges.forEach((e) => {
e.down == 0 && (e.row == t ? e.row = n : e.row == n && (e.row = t));
}), this.colors.forEach((e) => {
e.pos[0] == t ? e.pos[0] = n : e.pos[0] == n && (e.pos[0] = t);
});
else return !1;
} else if (e.dir == "vertical") {
let t = e.idx - 1, n = e.idx;
if (n >= this.colCount) return !1;
let r = !0;
if (this.enumerateCol(t, (e, t) => {
let n = this.isMergedCell(e, t), i = this.isMergedCell(e, t + 1);
return n && i && n.fromMerge != i.fromMerge && (n.fromMerge.right > 0 || i.fromMerge.right > 0) ? (r = !1, !1) : !0;
}), r) this.enumerateCol(t, (e, t) => {
let n = this.isMergedCell(e, t), r = this.isMergedCell(e, t + 1);
if ((!n || n.fromMerge.right == 0) && (!r || r.fromMerge.right == 0)) {
let n = this.cells[e][t];
this.cells[e][t] = this.cells[e][t + 1], this.cells[e][t + 1] = n;
}
return !0;
}), this.merges.forEach((e) => {
e.right == 0 && (e.col == t ? e.col = n : e.col == n && (e.col = t));
}), this.colors.forEach((e) => {
e.pos[1] == t ? e.pos[1] = n : e.pos[1] == n && (e.pos[1] = t);
});
else return !1;
}
return this.totalRefresh(), !0;
}
delete(e, t) {
if (t == "horizontal") {
let t = this.getSelectionRange(e, "vertical"), n = t.max - t.min + 1;
this.merges = this.merges.filter((e) => !this.rangeIncludeWholeMerge(t, e)), this.colors = this.colors.filter((e) => !this.rangeIncludeCell(t, e.pos[0], e.pos[1]));
let r = this.merges.filter((e) => e.row > t.max), i = this.merges.filter((e) => e.row < t.min && e.row + e.down >= t.min), a = this.merges.filter((e) => e.row >= t.min && e.row <= t.max);
r.forEach((e) => {
e.row -= n;
}), i.forEach((e) => {
let r = Math.min(n, e.row + e.down - t.min + 1);
e.down -= r;
}), a.forEach((e) => {
let n = t.max - e.row + 1;
e.down -= n;
let r = e.row - t.min;
this.cells[e.row + n][e.col] = this.cells[e.row][e.col], e.row -= r;
}), this.colors.filter((e) => e.pos[0] > t.max).forEach((e) => {
e.pos[0] -= n;
}), this.cells.splice(t.min, n);
} else if (t == "vertical") {
let t = this.getSelectionRange(e, "horizontal"), n = t.max - t.min + 1;
this.merges = this.merges.filter((e) => !this.rangeIncludeWholeMerge(t, e)), this.colors = this.colors.filter((e) => !this.rangeIncludeCell(t, e.pos[0], e.pos[1]));
let r = this.merges.filter((e) => e.col > t.max), i = this.merges.filter((e) => e.col < t.min && e.col + e.right >= t.min), a = this.merges.filter((e) => e.col >= t.min && e.col <= t.max);
r.forEach((e) => {
e.col -= n;
}), i.forEach((e) => {
let r = Math.min(n, e.col + e.right - t.min + 1);
e.right -= r;
}), a.forEach((e) => {
let n = t.max - e.col + 1;
e.right -= n;
let r = e.col - t.min;
this.cells[e.row][e.col + n] = this.cells[e.row][e.col], e.col -= r;
}), this.colors.filter((e) => e.pos[1] > t.max).forEach((e) => {
e.pos[1] -= n;
}), this.cells.forEach((e) => {
e.splice(t.min, n);
});
}
return this.totalRefresh(), [];
}
rotateTableClockwise(e = 1, t) {
if (e == 0) return t || [];
for (var n = 1; n <= e; n++) {
let e = [];
for (var r = 0; r < this.colCount; r++) e.push([]);
this.cells.forEach((t, n) => {
t.forEach((t, r) => {
e[r][this.rowCount - 1 - n] = t;
});
}), this.cells = e;
let n = [];
if (this.merges.forEach((e) => {
let t = {
row: e.row + e.down,
col: e.col
};
n.push({
row: t.col,
col: this.rowCount - 1 - t.row,
down: e.right,
right: e.down
});
}), this.merges = n, t) {
var i = [];
t.forEach((e) => {
i.push({
row: e.col,
col: this.rowCount - 1 - e.row
});
}), t = i;
}
this.refreshSize();
}
return this.refreshMergedPositions(), this.refreshCellShown(), t || [];
}
}, ue = {
id: 0,
name: "testTable",
cells: [
[
"数据加载异常,请检查网络连接或联系管理员",
"",
"",
"",
""
],
[
"1A",
"1B",
"1C",
"1D",
"1E"
],
[
"2A",
"2B",
"2C",
"2D",
"2E"
],
[
"3A",
"3B",
"3C",
"3D",
"3E"
]
],
merges: [{
row: 0,
col: 0,
right: 4,
down: 0
}]
}, de = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3cpolygon%20class='st2'%20points='32.33,17.67%2032.33,32.33%2017.67,32.33%2017.67,47%2047,47%2047,3%2017.67,3%2017.67,17.67%20'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='32.33'%20x2='47'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='47'%20y2='17.67'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='47'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='32.33'%20y2='3'/%3e%3cg%3e%3cline%20class='st3'%20x1='13.69'%20y1='25.24'%20x2='6.69'%20y2='25.24'/%3e%3cline%20class='st3'%20x1='10.19'%20y1='28.74'%20x2='10.19'%20y2='21.74'/%3e%3c/g%3e%3c/svg%3e", fe = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:%238CC63F;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='32.33'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3cpolygon%20class='st2'%20points='17.67,17.67%2017.67,32.33%2032.33,32.33%2032.33,47%203,47%203,3%2032.33,3%2032.33,17.67%20'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='32.33'%20x2='3'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='17.67'%20x2='3'%20y2='17.67'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='47'%20x2='17.67'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='17.67'%20x2='17.67'%20y2='3'/%3e%3cg%3e%3cline%20class='st3'%20x1='36.31'%20y1='25.24'%20x2='43.31'%20y2='25.24'/%3e%3cline%20class='st3'%20x1='39.81'%20y1='28.74'%20x2='39.81'%20y2='21.74'/%3e%3c/g%3e%3c/svg%3e", _ = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='44'%20height='14.67'/%3e%3cpolygon%20class='st2'%20points='17.67,32.33%2032.33,32.33%2032.33,17.67%2047,17.67%2047,47%203,47%203,17.67%2017.67,17.67%20'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='32.33'%20x2='32.33'%20y2='47'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='32.33'%20x2='17.67'%20y2='47'/%3e%3cline%20class='st2'%20x1='47'%20y1='32.33'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='32.33'%20x2='3'%20y2='32.33'/%3e%3cg%3e%3cline%20class='st3'%20x1='25.24'%20y1='13.69'%20x2='25.24'%20y2='6.69'/%3e%3cline%20class='st3'%20x1='28.74'%20y1='10.19'%20x2='21.74'%20y2='10.19'/%3e%3c/g%3e%3c/svg%3e", pe = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='3'%20y='32.33'%20class='st1'%20width='44'%20height='14.67'/%3e%3cpolygon%20class='st2'%20points='32.33,17.67%2017.67,17.67%2017.67,32.33%203,32.33%203,3%2047,3%2047,32.33%2032.33,32.33%20'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='17.67'%20x2='17.67'%20y2='3'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='32.33'%20y2='3'/%3e%3cline%20class='st2'%20x1='3'%20y1='17.67'%20x2='17.67'%20y2='17.67'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='47'%20y2='17.67'/%3e%3cg%3e%3cline%20class='st3'%20x1='24.76'%20y1='36.31'%20x2='24.76'%20y2='43.31'/%3e%3cline%20class='st3'%20x1='21.26'%20y1='39.81'%20x2='28.26'%20y2='39.81'/%3e%3c/g%3e%3c/svg%3e", me = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23DDA0DD;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='3'%20y='17.67'%20class='st0'%20width='44'%20height='14.66'/%3e%3crect%20x='3'%20y='32.33'%20class='st1'%20width='44'%20height='14.67'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='44'%20height='14.67'/%3e%3cline%20class='st1'%20x1='32.33'%20y1='47'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st1'%20x1='32.33'%20y1='17.67'%20x2='32.33'%20y2='3'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='47'%20x2='17.67'%20y2='32.33'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='17.67'%20x2='17.67'%20y2='3'/%3e%3cg%3e%3cline%20class='st2'%20x1='22.53'%20y1='22.53'%20x2='27.47'%20y2='27.47'/%3e%3cline%20class='st2'%20x1='22.53'%20y1='27.47'%20x2='27.47'%20y2='22.53'/%3e%3c/g%3e%3c/svg%3e", v = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23DDA0DD;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='3'%20class='st0'%20width='14.66'%20height='44'/%3e%3crect%20x='32.33'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3cline%20class='st1'%20x1='47'%20y1='17.67'%20x2='32.33'%20y2='17.67'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='17.67'%20x2='3'%20y2='17.67'/%3e%3cline%20class='st1'%20x1='47'%20y1='32.33'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='32.33'%20x2='3'%20y2='32.33'/%3e%3cg%3e%3cline%20class='st2'%20x1='22.53'%20y1='27.47'%20x2='27.47'%20y2='22.53'/%3e%3cline%20class='st2'%20x1='27.47'%20y1='27.47'%20x2='22.53'%20y2='22.53'/%3e%3c/g%3e%3c/svg%3e", y = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:%238CC63F;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='5'%20y='5'%20class='st0'%20width='40'%20height='40'/%3e%3crect%20x='10.3'%20y='10.3'%20class='st1'%20width='29.3'%20height='29.3'/%3e%3cline%20class='st0'%20x1='10.3'%20y1='25'%20x2='39.6'%20y2='25'/%3e%3cline%20class='st0'%20x1='25'%20y1='10.3'%20x2='25'%20y2='39.7'/%3e%3crect%20x='13.9'%20y='13.9'%20class='st2'%20width='22.1'%20height='22.1'/%3e%3cpolyline%20class='st3'%20points='20,31.5%2020,18.5%2025,31.5%2030,18.5%2030,31.5%20'/%3e%3c/svg%3e", b = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:%23DDA0DD;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:%23DDA0DD;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20.st4{fill:none;stroke:%23DDA0DD;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20.st5{fill:none;stroke:%23000000;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='5'%20y='5'%20class='st0'%20width='40'%20height='40'/%3e%3crect%20x='10.3'%20y='10.3'%20class='st1'%20width='29.3'%20height='29.3'/%3e%3cline%20class='st0'%20x1='10.3'%20y1='25'%20x2='39.6'%20y2='25'/%3e%3cline%20class='st0'%20x1='25'%20y1='10.3'%20x2='25'%20y2='39.7'/%3e%3crect%20x='13.9'%20y='13.9'%20class='st2'%20width='22.1'%20height='22.1'/%3e%3cpolyline%20class='st3'%20points='20,31.5%2020,18.5%2025,31.5%2030,18.5%2030,31.5%20'/%3e%3cg%3e%3cline%20class='st4'%20x1='15.1'%20y1='15.1'%20x2='34.9'%20y2='34.9'/%3e%3cline%20class='st5'%20x1='15.1'%20y1='15.1'%20x2='34.9'%20y2='34.9'/%3e%3c/g%3e%3c/svg%3e", x = { class: "floatToolsVue" }, S = ["src"], he = ["src"], ge = ["src"], _e = ["src"], ve = ["src"], ye = {
key: 2,
class: "empty"
}, C = ["src"], w = ["src"], T = ["src"], be = /*@__PURE__*/ s({
__name: "FloatTools",
props: { mergeBtn: {} },
emits: ["clickBtn"],
setup(e, { emit: t }) {
let n = e, a = t;
return (e, t) => (d(), r("div", x, [
i("div", null, [
t[8] ||= i("div", { class: "empty" }, " ", -1),
i("img", {
onClick: t[0] ||= (e) => a("clickBtn", "insert_top"),
src: p(_),
title: "顶部插入一行"
}, null, 8, S),
i("img", {
onClick: t[1] ||= (e) => a("clickBtn", "delete_horizontal"),
src: p(me),
title: "删除整行"
}, null, 8, he)
]),
i("div", null, [
i("img", {
onClick: t[2] ||= (e) => a("clickBtn", "insert_left"),
src: p(de),
title: "左侧插入一列"
}, null, 8, ge),
n.mergeBtn == "merge" ? (d(), r("img", {
key: 0,
onClick: t[3] ||= (e) => a("clickBtn", "merge"),
src: p(y),
title: "合并单元格"
}, null, 8, _e)) : n.mergeBtn == "del" ? (d(), r("img", {
key: 1,
onClick: t[4] ||= (e) => a("clickBtn", "mergeDel"),
src: p(b),
title: "取消合并"
}, null, 8, ve)) : (d(), r("div", ye, " ")),
i("img", {
onClick: t[5] ||= (e) => a("clickBtn", "insert_right"),
src: p(fe),
title: "右侧插入一列"
}, null, 8, C)
]),
i("div", null, [
i("img", {
onClick: t[6] ||= (e) => a("clickBtn", "delete_vertical"),
src: p(v),
title: "删除整列"
}, null, 8, w),
i("img", {
onClick: t[7] ||= (e) => a("clickBtn", "insert_bottom"),
src: p(pe),
title: "底部插入一行"
}, null, 8, T),
t[9] ||= i("div", { class: "empty" }, " ", -1)
])
]));
}
}), E = (e, t) => {
let n = e.__vccOpts || e;
for (let [e, r] of t) n[e] = r;
return n;
}, xe = /*#__PURE__*/ E(be, [["__scopeId", "data-v-0d2c598e"]]), Se = "data:image/svg+xml,%3csvg%20t='1704811329079'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3505'%20width='200'%20height='200'%3e%3cpath%20d='M864.223176%20468.850802%20325.662779%20468.850802%20572.896379%20221.682693%20511.071351%20159.795243%20157.8438%20513.008467%20511.071351%20866.16541%20572.896379%20804.345497%20325.662779%20557.11906%20864.223176%20557.11906Z'%20fill='%23ffffff'%20p-id='3506'%3e%3c/path%3e%3c/svg%3e", Ce = "data:image/svg+xml,%3csvg%20t='1704811350503'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3699'%20width='200'%20height='200'%3e%3cpath%20d='M510.564814%20161.618773%20449.347629%20222.835958%20694.342238%20467.902198%20160.5003%20467.902198%20160.5003%20555.463352%20694.342238%20555.463352%20449.347629%20800.453868%20510.564814%20861.731428%20860.618072%20511.616772Z'%20fill='%23ffffff'%20p-id='3700'%3e%3c/path%3e%3c/svg%3e", we = "data:image/svg+xml,%3csvg%20t='1705039432939'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='7202'%20width='200'%20height='200'%3e%3cpath%20d='M257.024%2079.2576c-28.16%200-53.76%205.12-79.4624%2017.92-15.36%207.68-20.48%2028.0576-7.68%2040.8576l87.1424%2086.8352-30.72%2030.6176-87.1424-86.8352c-4.608-5.0176-11.1616-7.8848-17.92-7.68-10.24%200-17.92%205.12-23.04%2015.36-33.28%2066.3552-23.04%20150.6304%2033.28%20206.848C167.3216%20418.816%20210.944%20434.176%20257.024%20434.176c20.48%200%2040.96-2.56%2058.9824-10.24l284.4672%20283.4432c-23.04%2063.7952-7.68%20135.3728%2040.96%20186.368%2035.84%2035.7376%2079.4624%2051.0976%20125.5424%2051.0976%2028.16%200%2053.76-5.12%2079.4624-17.92%2015.36-7.68%2020.48-28.0576%207.68-40.8576L766.976%20799.232l30.72-30.6176%2087.1424%2086.8352c4.608%205.0176%2011.1616%207.8848%2017.92%207.68%2010.24%200%2017.92-5.12%2023.04-15.36%2033.28-66.3552%2023.04-150.6304-33.28-206.848C856.6784%20605.184%20813.056%20589.824%20766.976%20589.824c-20.48%200-40.96%202.56-61.44%2010.24L420.9664%20316.7232c23.04-63.7952%207.68-135.3728-40.96-186.368-32.5632-32.8704-76.8-51.2-122.9824-51.0976z%20m-33.28%20229.7856c12.8%200%2025.6-5.12%2035.9424-15.36l30.72-30.6176c19.7632-18.7392%2020.5824-49.8688%201.8432-69.632l-1.8432-1.8432-58.9824-58.7776c7.68%200%2015.36-2.56%2023.04-2.56%2033.28%200%2066.6624%2012.8%2089.7024%2038.2976%2035.84%2035.7376%2046.1824%2086.8352%2030.72%20132.8128-7.68%2017.92-2.56%2038.2976%2012.8%2053.6576l284.4672%20283.4432c10.24%2010.24%2023.04%2015.36%2035.9424%2015.36%205.12%200%2012.8%200%2017.92-2.56%2013.9264-5.2224%2028.672-7.7824%2043.52-7.68%2033.28%200%2066.6624%2012.8%2089.7024%2038.2976%2030.72%2030.6176%2043.6224%2071.4752%2035.9424%20112.3328l-58.9824-58.7776c-9.4208-9.728-22.4256-15.2576-35.9424-15.36-12.8%200-25.6%205.12-35.84%2015.36l-30.72%2030.6176c-9.728%209.3184-15.2576%2022.2208-15.36%2035.7376%200%2012.8%205.12%2025.4976%2015.36%2035.7376l58.9824%2058.7776c-7.68%200-15.36%202.56-23.04%202.56-33.28%200-66.6624-12.8-89.7024-38.2976-35.84-35.7376-46.1824-86.8352-30.72-132.8128%207.68-17.92%202.56-38.2976-12.8-53.6576L351.8464%20390.7584c-9.4208-9.728-22.4256-15.2576-35.9424-15.36-5.12%200-10.24%200-17.92%202.56-13.9264%205.2224-28.672%207.7824-43.52%207.68-33.28%200-66.6624-12.8-89.7024-38.2976-30.72-30.6176-43.6224-71.4752-35.9424-112.3328l58.9824%2058.7776c10.3424%2010.1376%2023.1424%2015.2576%2035.9424%2015.2576zM320.512%20577.536c15.6672%200%2028.7744%205.2224%2036.6592%2015.7696l73.4208%2073.4208c20.2752%2019.3536%2021.0944%2051.4048%201.7408%2071.68l-1.7408%201.7408-188.7232%20188.928c-9.6256%209.9328-22.8352%2015.6672-36.7616%2015.7696-13.1072%200-26.2144-5.2224-36.6592-15.7696l-73.4208-73.4208c-20.2752-19.3536-21.0944-51.4048-1.7408-71.68l1.7408-1.7408%20188.8256-188.8256c10.4448-10.5472%2023.552-15.7696%2036.6592-15.872zM207.7696%20892.3136L396.5952%20703.488l-73.4208-73.4208-188.8256%20188.8256%2073.4208%2073.4208z%20m637.3376-813.056c7.8848%200%2015.7696%202.56%2018.3296%207.8848l73.4208%2073.4208c10.1376%209.6256%2010.5472%2025.7024%200.8192%2035.84-0.3072%200.3072-0.512%200.6144-0.8192%200.8192L808.3456%20325.7344c-4.9152%204.8128-11.4688%207.5776-18.3296%207.8848-6.8608-0.3072-13.4144-3.072-18.3296-7.8848l-18.3296-18.3296-128.6144%20128.512c-4.9152%204.7104-11.4688%207.5776-18.3296%207.7824-6.8608-0.3072-13.4144-3.072-18.3296-7.8848-10.1376-9.6256-10.5472-25.7024-0.8192-35.84%200.3072-0.3072%200.512-0.6144%200.8192-0.8192l128.512-128.512-18.432-18.3296c-10.1376-9.6256-10.5472-25.7024-0.8192-35.84%200.3072-0.3072%200.512-0.6144%200.8192-0.8192L826.7776%2087.04c4.608-5.12%2011.3664-7.9872%2018.3296-7.7824z%20m0%2062.8736l-91.7504%2091.7504%2018.3296%2018.432%2018.3296%2018.3296%2091.7504-91.7504-36.6592-36.7616z'%20fill='%23ffffff'%20p-id='7203'%3e%3c/path%3e%3c/svg%3e", Te = "data:image/svg+xml,%3csvg%20t='1710241509904'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='2631'%20width='200'%20height='200'%3e%3cpath%20d='M430.8992%20492.1344a32.2048%2032.2048%200%200%201-23.8592-10.5472L261.12%20321.5872a32.256%2032.256%200%200%201%2047.6672-43.4688l125.4912%20137.5744%20341.504-275.1488a32.256%2032.256%200%200%201%2040.448%2050.2272L451.1232%20484.9664a32.1536%2032.1536%200%200%201-20.224%207.168zM802.5088%20912.7424H378.0096a33.536%2033.536%200%201%201%200-67.072h424.4992a43.9296%2043.9296%200%200%200%2043.8784-43.8784V475.3408a33.536%2033.536%200%201%201%2067.072%200v326.4512a111.104%20111.104%200%200%201-110.9504%20110.9504z'%20p-id='2632'%20fill='%232c2c2c'%3e%3c/path%3e%3cpath%20d='M615.424%20725.6576H232.192a111.104%20111.104%200%200%201-110.9504-110.9504V231.4752a111.104%20111.104%200%200%201%20110.9504-110.9504H501.76a33.536%2033.536%200%200%201%200%2067.1232H232.192a43.9296%2043.9296%200%200%200-43.8784%2043.8784v383.232a43.9296%2043.9296%200%200%200%2043.8784%2043.8784h383.232a43.9296%2043.9296%200%200%200%2043.8784-43.8784V475.3408a33.536%2033.536%200%200%201%2067.1232%200v139.3664a111.104%20111.104%200%200%201-111.0016%20110.9504z'%20p-id='2633'%20fill='%232c2c2c'%3e%3c/path%3e%3c/svg%3e", Ee = "data:image/svg+xml,%3csvg%20t='1710241965160'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3790'%20width='200'%20height='200'%3e%3cpath%20d='M338.1%20341.4h229.1c20.7%200%2037.7-17%2037.7-37.7V129.5c0-20.7-17-37.7-37.7-37.7H338.1c-20.7%200-37.7%2017-37.7%2037.7v174.1c0%2020.8%2017%2037.8%2037.7%2037.8z'%20fill='%23ffffff'%20p-id='3791'%3e%3c/path%3e%3cpath%20d='M772%2068.2h-82.5v292.1c0%2012.3-10%2022.3-22.3%2022.3H232.4c-12.3%200-22.3-10-22.3-22.4l1.8-292h-69.2c-33.4%200-60.5%2027.1-60.5%2060.5V892c0%2033.4%2027.1%2060.5%2060.5%2060.5h737.7c33.4%200%2060.5-27.1%2060.5-60.5V258.8L772%2068.2z%20m57%20765.5c0%2017.7-14.5%2032.3-32.3%2032.3H240.3c-17.7%200-32.3-14.5-32.3-32.3V501.4c0-17.7%2014.5-32.3%2032.3-32.3h556.4c17.7%200%2032.3%2014.5%2032.3%2032.3v332.3z'%20fill='%23ffffff'%20p-id='3792'%3e%3c/path%3e%3cpath%20d='M723.7%20585.7H302.5c-16%200-29.1%2013.1-29.1%2029.1s13.1%2029.1%2029.1%2029.1h421.2c16%200%2029.1-13.1%2029.1-29.1s-13.1-29.1-29.1-29.1zM723.7%20737H302.5c-16%200-29.1%2013.1-29.1%2029.1s13.1%2029.1%2029.1%2029.1h421.2c16%200%2029.1-13.1%2029.1-29.1S739.7%20737%20723.7%20737z'%20fill='%23ffffff'%20p-id='3793'%3e%3c/path%3e%3c/svg%3e", De = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238CC63F;}%20.st1{fill:%23999999;}%20.st2{fill:%23FFFFFF;}%20%3c/style%3e%3cg%3e%3cg%3e%3crect%20x='13.86'%20y='21.93'%20class='st0'%20width='77.91'%20height='168.72'/%3e%3c/g%3e%3cg%3e%3crect%20x='105.15'%20y='113.88'%20class='st1'%20width='77.91'%20height='76.69'/%3e%3c/g%3e%3cg%3e%3crect%20x='105.15'%20y='21.93'%20class='st1'%20width='77.91'%20height='76.69'/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cpath%20d='M117.19,243.95c-2.9,0-5.8-0.35-8.61-1.04c-1.05-0.26-1.88-1.06-2.17-2.11c-0.29-1.04,0-2.16,0.77-2.93l20.32-20.33%20l-4.19-15.66l-15.66-4.19l-20.33,20.33c-0.57,0.57-1.34,0.88-2.12,0.88c-0.27,0-0.54-0.04-0.81-0.11%20c-1.04-0.29-1.85-1.12-2.11-2.17c-3.04-12.36,0.5-25.1,9.48-34.09c6.79-6.79,15.82-10.53,25.42-10.53c3.85,0,7.62,0.6,11.24,1.8%20l48.83-48.82c-4.12-12.78-0.77-26.9,8.8-36.46c6.79-6.79,15.83-10.53,25.44-10.53c2.9,0,5.8,0.35,8.61,1.04%20c1.05,0.26,1.88,1.06,2.17,2.11c0.29,1.04,0,2.16-0.77,2.93l-21.26,21.26l4.19,15.66l15.66,4.19l21.27-21.27%20c0.57-0.57,1.34-0.88,2.12-0.88c0.27,0,0.54,0.04,0.81,0.11c1.04,0.29,1.85,1.12,2.11,2.17c3.04,12.36-0.5,25.1-9.48,34.09%20c-6.79,6.79-15.82,10.53-25.43,10.53c-3.77,0-7.47-0.58-11.03-1.73l-48.97,48.97c4.01,12.71,0.63,26.75-8.86,36.25%20C135.84,240.21,126.8,243.95,117.19,243.95z'/%3e%3cpath%20class='st2'%20d='M211.49,80.99c2.65,0,5.31,0.32,7.9,0.95l-22.49,22.49l5.08,19.01l19.01,5.08l22.5-22.5%20c2.67,10.85-0.23,22.78-8.69,31.25c-6.43,6.43-14.87,9.66-23.31,9.66c-4.01,0-8.02-0.73-11.81-2.18l-51.63,51.63%20c4.42,11.73,1.91,25.48-7.54,34.92c-6.44,6.44-14.88,9.66-23.32,9.66c-2.65,0-5.31-0.32-7.9-0.95l21.55-21.55l-5.08-19.01%20l-19.01-5.08l-21.56,21.56c-2.67-10.85,0.23-22.78,8.69-31.25c6.43-6.43,14.87-9.65,23.3-9.65c4.08,0,8.16,0.76,12.02,2.27%20l51.51-51.51c-4.52-11.78-2.04-25.63,7.46-35.13C194.6,84.21,203.04,80.99,211.49,80.99%20M211.49,74.99%20c-10.42,0-20.21,4.05-27.57,11.41c-9.92,9.92-13.67,24.36-10.06,37.73l-46.29,46.29c-3.37-0.93-6.85-1.41-10.39-1.41%20c-10.4,0-20.18,4.05-27.54,11.41c-9.73,9.73-13.57,23.53-10.28,36.92c0.52,2.1,2.13,3.76,4.21,4.35c0.53,0.15,1.07,0.22,1.61,0.22%20c1.57,0,3.1-0.62,4.24-1.76l19.11-19.11l12.32,3.29l3.29,12.32l-19.1,19.1c-1.53,1.53-2.12,3.77-1.54,5.86%20c0.58,2.09,2.24,3.7,4.35,4.21c3.05,0.75,6.18,1.13,9.33,1.13c10.42,0,20.21-4.05,27.57-11.41c9.85-9.85,13.62-24.21,10.12-37.5%20l46.45-46.45c3.3,0.89,6.71,1.34,10.17,1.34c10.41,0,20.19-4.05,27.55-11.41c9.73-9.73,13.57-23.53,10.28-36.92%20c-0.52-2.1-2.13-3.76-4.21-4.35c-0.53-0.15-1.07-0.22-1.61-0.22c-1.57,0-3.1,0.62-4.24,1.76l-20.05,20.05l-12.32-3.29l-3.29-12.32%20l20.04-20.04c1.53-1.53,2.12-3.77,1.54-5.86c-0.58-2.09-2.24-3.7-4.35-4.21C217.77,75.37,214.63,74.99,211.49,74.99L211.49,74.99z'%20/%3e%3c/g%3e%3c/svg%3e", Oe = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23F2F2F2;}%20.st1{fill:%23999999;}%20.st2{fill:%23FFFFFF;}%20%3c/style%3e%3cg%3e%3cg%3e%3crect%20x='16.55'%20y='25.41'%20class='st0'%20width='71.91'%20height='162.72'/%3e%3cpath%20class='st1'%20d='M85.46,28.41v156.72H19.55V28.41H85.46%20M91.46,22.41H13.55v168.72h77.91V22.41L91.46,22.41z'/%3e%3c/g%3e%3cg%3e%3crect%20x='107.85'%20y='117.36'%20class='st0'%20width='71.91'%20height='70.69'/%3e%3cpath%20class='st1'%20d='M176.76,120.36v64.69h-65.91v-64.69H176.76%20M182.76,114.36h-77.91v76.69h77.91V114.36L182.76,114.36z'/%3e%3c/g%3e%3cg%3e%3crect%20x='107.85'%20y='25.41'%20class='st0'%20width='71.91'%20height='70.69'/%3e%3cpath%20class='st1'%20d='M176.76,28.41V93.1h-65.91V28.41H176.76%20M182.76,22.41h-77.91V99.1h77.91V22.41L182.76,22.41z'/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpolygon%20points='113.92,194.6%20218.65,89.87%20250.41,121.63%20145.68,226.37%20102.35,237.93%20'/%3e%3cpath%20class='st2'%20d='M218.65,93.41l28.23,28.23L144.38,224.12l-38.5,10.28l10.28-38.5L218.65,93.41%20M218.65,86.34l-3.54,3.54%20L112.62,192.36l-0.95,0.95l-0.35,1.3l-10.28,38.5l-2.23,8.35l8.35-2.23l38.5-10.28l1.3-0.35l0.95-0.95l102.49-102.49l3.54-3.54%20l-3.54-3.54l-28.23-28.23L218.65,86.34L218.65,86.34z'/%3e%3c/g%3e%3crect%20x='114.87'%20y='207.76'%20transform='matrix(0.7071%20-0.7071%200.7071%200.7071%20-122.2861%20148.7723)'%20class='st2'%20width='7.14'%20height='28.48'/%3e%3crect%20x='213.99'%20y='101.59'%20transform='matrix(0.7071%20-0.7071%200.7071%200.7071%20-23.0711%20189.8685)'%20class='st2'%20width='7.34'%20height='42.38'/%3e%3c/g%3e%3c/svg%3e", ke = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23F2F2F2;}%20.st1{fill:%23999999;}%20.st2{fill:none;stroke:%23333333;stroke-width:18.8283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20.st3{fill:%23FF8D7F;}%20.st4{fill:%2398FF7F;}%20.st5{fill:%234A91FF;}%20%3c/style%3e%3cg%3e%3crect%20x='43.9'%20y='48'%20class='st0'%20width='71.9'%20height='162.7'/%3e%3cpath%20class='st1'%20d='M112.8,51v156.7H46.9V51H112.8%20M118.8,45H40.9v168.7h77.9L118.8,45L118.8,45z'/%3e%3c/g%3e%3cg%3e%3cpolyline%20class='st2'%20points='124.9,99.6%2097.1,127.5%20124.9,155.4%20'/%3e%3cline%20class='st2'%20x1='97.1'%20y1='127.5'%20x2='147.3'%20y2='127.5'/%3e%3c/g%3e%3ccircle%20class='st3'%20cx='187.7'%20cy='86.7'%20r='26'/%3e%3ccircle%20class='st4'%20cx='187.7'%20cy='127.5'%20r='26'/%3e%3ccircle%20class='st5'%20cx='187.7'%20cy='168.4'%20r='26'/%3e%3c/svg%3e", Ae = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23F2F2F2;}%20.st1{fill:%23999999;}%20.st2{fill:none;stroke:%23333333;stroke-width:18.8283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20.st3{fill:%23FF8D7F;}%20.st4{fill:%2398FF7F;}%20.st5{fill:%234A91FF;}%20%3c/style%3e%3cg%3e%3crect%20x='43.9'%20y='48'%20class='st0'%20width='71.9'%20height='162.7'/%3e%3cpath%20class='st1'%20d='M112.8,51v156.7H46.9V51H112.8%20M118.8,45H40.9v168.7h77.9V45L118.8,45z'/%3e%3c/g%3e%3cg%3e%3cpolyline%20class='st2'%20points='107.6,99.6%20135.4,127.5%20107.6,155.4%20'/%3e%3cline%20class='st2'%20x1='135.4'%20y1='127.5'%20x2='85.2'%20y2='127.5'/%3e%3c/g%3e%3ccircle%20class='st3'%20cx='187.7'%20cy='86.7'%20r='26'/%3e%3ccircle%20class='st4'%20cx='187.7'%20cy='127.5'%20r='26'/%3e%3ccircle%20class='st5'%20cx='187.7'%20cy='168.4'%20r='26'/%3e%3c/svg%3e", je = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23FF8D7F;}%20.st1{fill:%2398FF7F;}%20.st2{fill:%234A91FF;}%20.st3{fill:none;stroke:%23000000;stroke-width:12.8979;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3ccircle%20class='st0'%20cx='127.9'%20cy='124.2'%20r='27.9'/%3e%3ccircle%20class='st1'%20cx='105.3'%20cy='162.7'%20r='27.9'/%3e%3ccircle%20class='st2'%20cx='149.7'%20cy='162.7'%20r='27.9'/%3e%3cpath%20class='st3'%20d='M48.1,126.9C64.4,98.5,94.8,81,127.5,81s63.1,17.5,79.4,45.9'/%3e%3cline%20class='st3'%20x1='127.9'%20y1='80'%20x2='127.9'%20y2='50.8'/%3e%3cline%20class='st3'%20x1='77.3'%20y1='96.2'%20x2='59.7'%20y2='72'/%3e%3cline%20class='st3'%20x1='177.7'%20y1='92.1'%20x2='195.3'%20y2='67.9'/%3e%3c/svg%3e", Me = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23999999;}%20.st1{fill:%234D4D4D;}%20.st2{fill:none;stroke:%23999999;stro