@jnrs/lingshu-smart 2.2.47 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +281 -348
- package/dist/components/debug/DataLogPanel.vue.d.ts +13 -2
- package/dist/components/debug/PerformanceStats.vue.d.ts +1 -1
- package/dist/components/debug/ScriptRunner/ConfigPanel.vue.d.ts +1 -1
- package/dist/components/debug/ScriptRunner/StepsPanel.vue.d.ts +4 -2
- package/dist/components/debug/ScriptRunner/index.vue.d.ts +11 -0
- package/dist/components/debug/ScriptRunner/script.d.ts +131 -41
- package/dist/components/debug/ScriptRunner/scriptFile.d.ts +92 -0
- package/dist/components/debug/WsProxy/index.vue.d.ts +10 -8
- package/dist/components/debug/WsProxy/proxy.d.ts +114 -53
- package/dist/components/editor/ControlBar/CaseManger.vue.d.ts +18 -2
- package/dist/components/editor/ControlBar/CaseTitleEdit.vue.d.ts +2 -2
- package/dist/components/editor/ControlBar/PersistDialog.vue.d.ts +9 -0
- package/dist/components/index.js +8287 -6169
- package/dist/components/preview/index.vue.d.ts +6308 -4098
- package/dist/controller/AppController.d.ts +65 -3
- package/dist/controller/SocketDispatcher.d.ts +59 -0
- package/dist/fullscreen-BA3oea8O.js +53 -0
- package/dist/index-C6Liz-8o.js +1238 -0
- package/dist/index.js +36 -27
- package/dist/lingshu-smart/cases.json +5882 -14843
- package/dist/lingshu-smart/mockSocket.json +263 -0
- package/dist/lingshu-smart/wsProxyConfig.json +327 -725
- package/dist/playground/ViewPageDemo.vue.d.ts +13336 -8894
- package/dist/stores/index.js +1 -1
- package/dist/stores/useAppStore.d.ts +18952 -12321
- package/dist/stores/useDataStore.d.ts +19714 -12469
- package/dist/stores/useDebugStore.d.ts +11 -2
- package/dist/stores/useEditorStore.d.ts +3 -3
- package/dist/types/app.types.d.ts +1 -1
- package/dist/types/components/config.types.d.ts +16 -0
- package/dist/types/components/operating.types.d.ts +22 -13
- package/dist/types/enums.d.ts +22 -2
- package/dist/types/guards.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/models/config.types.d.ts +23 -5
- package/dist/types/models/operating.types.d.ts +57 -57
- package/dist/types/socket.types.d.ts +275 -0
- package/dist/ui/abstract/ModelAbs.d.ts +37 -2
- package/dist/ui/components/Resource.d.ts +0 -1
- package/dist/ui/components/StationSlot.d.ts +8 -2
- package/dist/ui/components/StationSlotGroup.d.ts +26 -1
- package/dist/ui/models/DoubleJointRobot.d.ts +14 -4
- package/dist/ui/models/MachineTool.d.ts +6 -1
- package/dist/ui/models/MaterialTrack.d.ts +14 -2
- package/dist/ui/models/Pallet.d.ts +20 -5
- package/dist/ui/models/ResourceOperationWindow.d.ts +0 -1
- package/dist/ui/models/ResourceStore.d.ts +7 -5
- package/dist/ui/models/Rgv.d.ts +4 -2
- package/dist/ui/models/ShuttleStation.d.ts +14 -2
- package/dist/ui/models/SingleJointRobot.d.ts +14 -4
- package/dist/ui/utils/resolveStationSlotLayers.d.ts +20 -0
- package/dist/ui/utils/resolveTypeStyle.d.ts +13 -0
- package/dist/useAppStore-DASwAOBy.js +7223 -0
- package/dist/utils/fullscreen.d.ts +9 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/vite.d.ts +15 -0
- package/dist/vite.js +39 -0
- package/package.json +6 -2
- package/dist/components/editor/OptionCard/Equipment/stationSlot/StationSlotGroupBoth.vue.d.ts +0 -2
- package/dist/guards-Bi8oNtaY.js +0 -35
- package/dist/index-Dsgrnpn0.js +0 -1186
- package/dist/useAppStore-CevWqcmT.js +0 -6147
- /package/dist/components/editor/OptionCard/Equipment/{stationSlot/StationSlotGroup.vue.d.ts → models/ResourceStore.vue.d.ts} +0 -0
|
@@ -0,0 +1,1238 @@
|
|
|
1
|
+
import { Text as at, Box as $t, Canvas as re, Pen as ne } from "leafer";
|
|
2
|
+
var oe = /* @__PURE__ */ ((t) => (t.UNDO = "Undo", t.REDO = "Redo", t))(oe || {}), ie = /* @__PURE__ */ ((t) => (t.TRANSPORT = "搬运设备", t.MACHINE = "机床", t.CLEANING = "清洗机", t.STATION = "装载站", t.STORAGE = "库", t.OTHER = "其他", t))(ie || {}), ae = /* @__PURE__ */ ((t) => (t.SINGLE_JOINT_ROBOT = "SingleJointRobot", t.DOUBLE_JOINT_ROBOT = "DoubleJointRobot", t.RGV = "Rgv", t.MACHINE_TOOL = "MachineTool", t.MARKING_MACHINE = "MarkingMachine", t.CLEANING_MACHINE = "CleaningMachine", t.LOADING_STATION = "LoadingStation", t.SHUTTLE_STATION = "ShuttleStation", t.MATERIAL_TRACK = "MaterialTrack", t.RAIL = "Rail", t.RESOURCE_STORE = "ResourceStore", t.PALLET = "Pallet", t.RESOURCE_OPERATION_WINDOW = "ResourceOperationWindow", t))(ae || {}), p = /* @__PURE__ */ ((t) => (t.MACHINE_TOOL = "machine_tool", t.LOADING_STATION = "loading_station", t.SHUTTLE_STATION = "shuttle_station", t.MATERIAL_TRACK = "material_track", t.MARKING_MACHINE = "marking_machine", t.CLEANING_MACHINE = "cleaning_machine", t.SINGLE_JOINT_ROBOT = "single_joint_robot", t.DOUBLE_JOINT_ROBOT = "double_joint_robot", t.RGV = "rgv", t.RESOURCE_STORE = "resource_store", t.PALLET = "pallet", t.RESOURCE_OPERATION_WINDOW = "resource_operation_window", t))(p || {}), tt = /* @__PURE__ */ ((t) => (t.STATION_SLOT = "StationSlot", t.RESOURCE = "Resource", t))(tt || {}), $ = /* @__PURE__ */ ((t) => (t.WORKPIECE = "workpiece", t.TOOL = "tool", t.AUXILIARY = "auxiliary", t))($ || {}), se = /* @__PURE__ */ ((t) => (t.WORKPIECE_PALLET = "workpiece_pallet", t.TOOL_PALLET = "tool_pallet", t.AUXILIARY_PALLET = "auxiliary_pallet", t))(se || {}), ce = /* @__PURE__ */ ((t) => (t.DeviceInit = "device_init", t.DeviceCommand = "device_command", t.ResourceCommand = "resource_command", t.AlarmPush = "alarm_push", t.RuntimeStatusPush = "runtime_status_push", t.SceneReset = "scene_reset", t.CommandAck = "command_ack", t))(ce || {}), ue = /* @__PURE__ */ ((t) => (t.Add = "add", t.BatchAdd = "batch_add", t.Transfer = "transfer", t.Remove = "remove", t.BatchRemove = "batch_remove", t))(ue || {});
|
|
3
|
+
const le = {
|
|
4
|
+
[p.MACHINE_TOOL]: "MachineTool",
|
|
5
|
+
[p.LOADING_STATION]: "LoadingStation",
|
|
6
|
+
[p.SHUTTLE_STATION]: "ShuttleStation",
|
|
7
|
+
[p.MATERIAL_TRACK]: "MaterialTrack",
|
|
8
|
+
[p.MARKING_MACHINE]: "MarkingMachine",
|
|
9
|
+
[p.CLEANING_MACHINE]: "CleaningMachine",
|
|
10
|
+
[p.SINGLE_JOINT_ROBOT]: "SingleJointRobot",
|
|
11
|
+
[p.DOUBLE_JOINT_ROBOT]: "DoubleJointRobot",
|
|
12
|
+
[p.RGV]: "Rgv",
|
|
13
|
+
[p.RESOURCE_STORE]: "ResourceStore",
|
|
14
|
+
[p.PALLET]: "Pallet",
|
|
15
|
+
[p.RESOURCE_OPERATION_WINDOW]: "ResourceOperationWindow"
|
|
16
|
+
}, ii = Object.fromEntries(
|
|
17
|
+
Object.entries(le).map(([t, e]) => [e, t])
|
|
18
|
+
), st = {
|
|
19
|
+
none: 0,
|
|
20
|
+
error: 1,
|
|
21
|
+
warn: 2,
|
|
22
|
+
info: 3,
|
|
23
|
+
log: 4,
|
|
24
|
+
operating: 5
|
|
25
|
+
}, fe = {
|
|
26
|
+
log: "LOG",
|
|
27
|
+
info: "INFO",
|
|
28
|
+
warn: "WARN",
|
|
29
|
+
error: "ERROR",
|
|
30
|
+
operating: "OPERATING"
|
|
31
|
+
};
|
|
32
|
+
let E = "warn";
|
|
33
|
+
function ai(t) {
|
|
34
|
+
E = t;
|
|
35
|
+
}
|
|
36
|
+
function si() {
|
|
37
|
+
return E;
|
|
38
|
+
}
|
|
39
|
+
const ct = {
|
|
40
|
+
log: "background: #6c8eef; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold; font-size: 11px",
|
|
41
|
+
info: "background: #A3A2A2; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold; font-size: 11px",
|
|
42
|
+
warn: "background: #e6a23c; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold; font-size: 11px",
|
|
43
|
+
error: "background: #FF3300; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold; font-size: 11px",
|
|
44
|
+
operating: "background: #009866; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: bold; font-size: 11px"
|
|
45
|
+
}, ut = "color: inherit; background: transparent; padding: 0; margin-left: 4px";
|
|
46
|
+
function he(t) {
|
|
47
|
+
return E === "operating-only" ? t === "operating" || t === "error" : t === "operating" ? E === "operating" : st[t] <= st[E];
|
|
48
|
+
}
|
|
49
|
+
const de = {
|
|
50
|
+
log: "log",
|
|
51
|
+
info: "info",
|
|
52
|
+
warn: "warn",
|
|
53
|
+
error: "error",
|
|
54
|
+
operating: "log"
|
|
55
|
+
};
|
|
56
|
+
function R(t, e, ...r) {
|
|
57
|
+
if (!he(t)) return;
|
|
58
|
+
const n = fe[t], i = de[t];
|
|
59
|
+
e ? r.length > 0 && typeof r[0] == "string" ? console[i](`%c${n}:${e}%c ${r[0]}`, ct[t], ut, ...r.slice(1)) : console[i](`%c${n}:${e}%c`, ct[t], ut, ...r) : console[i](...r);
|
|
60
|
+
}
|
|
61
|
+
function et(t = "") {
|
|
62
|
+
return {
|
|
63
|
+
log: (...e) => R("log", t, ...e),
|
|
64
|
+
info: (...e) => R("info", t, ...e),
|
|
65
|
+
warn: (...e) => R("warn", t, ...e),
|
|
66
|
+
error: (...e) => R("error", t, ...e),
|
|
67
|
+
operating: (...e) => R("operating", t, ...e)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const ci = et("LingshuSmart");
|
|
71
|
+
var Lt = typeof global == "object" && global && global.Object === Object && global, ge = typeof self == "object" && self && self.Object === Object && self, b = Lt || ge || Function("return this")(), S = b.Symbol, Nt = Object.prototype, pe = Nt.hasOwnProperty, be = Nt.toString, I = S ? S.toStringTag : void 0;
|
|
72
|
+
function _e(t) {
|
|
73
|
+
var e = pe.call(t, I), r = t[I];
|
|
74
|
+
try {
|
|
75
|
+
t[I] = void 0;
|
|
76
|
+
var n = !0;
|
|
77
|
+
} catch {
|
|
78
|
+
}
|
|
79
|
+
var i = be.call(t);
|
|
80
|
+
return n && (e ? t[I] = r : delete t[I]), i;
|
|
81
|
+
}
|
|
82
|
+
var ye = Object.prototype, Te = ye.toString;
|
|
83
|
+
function we(t) {
|
|
84
|
+
return Te.call(t);
|
|
85
|
+
}
|
|
86
|
+
var Oe = "[object Null]", Ae = "[object Undefined]", lt = S ? S.toStringTag : void 0;
|
|
87
|
+
function P(t) {
|
|
88
|
+
return t == null ? t === void 0 ? Ae : Oe : lt && lt in Object(t) ? _e(t) : we(t);
|
|
89
|
+
}
|
|
90
|
+
function F(t) {
|
|
91
|
+
return t != null && typeof t == "object";
|
|
92
|
+
}
|
|
93
|
+
var rt = Array.isArray;
|
|
94
|
+
function z(t) {
|
|
95
|
+
var e = typeof t;
|
|
96
|
+
return t != null && (e == "object" || e == "function");
|
|
97
|
+
}
|
|
98
|
+
var me = "[object AsyncFunction]", Se = "[object Function]", ve = "[object GeneratorFunction]", je = "[object Proxy]";
|
|
99
|
+
function Pt(t) {
|
|
100
|
+
if (!z(t))
|
|
101
|
+
return !1;
|
|
102
|
+
var e = P(t);
|
|
103
|
+
return e == Se || e == ve || e == me || e == je;
|
|
104
|
+
}
|
|
105
|
+
var K = b["__core-js_shared__"], ft = (function() {
|
|
106
|
+
var t = /[^.]+$/.exec(K && K.keys && K.keys.IE_PROTO || "");
|
|
107
|
+
return t ? "Symbol(src)_1." + t : "";
|
|
108
|
+
})();
|
|
109
|
+
function xe(t) {
|
|
110
|
+
return !!ft && ft in t;
|
|
111
|
+
}
|
|
112
|
+
var Re = Function.prototype, Ie = Re.toString;
|
|
113
|
+
function A(t) {
|
|
114
|
+
if (t != null) {
|
|
115
|
+
try {
|
|
116
|
+
return Ie.call(t);
|
|
117
|
+
} catch {
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
return t + "";
|
|
121
|
+
} catch {
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return "";
|
|
125
|
+
}
|
|
126
|
+
var Ee = /[\\^$.*+?()[\]{}|]/g, Ce = /^\[object .+?Constructor\]$/, $e = Function.prototype, Le = Object.prototype, Ne = $e.toString, Pe = Le.hasOwnProperty, Fe = RegExp(
|
|
127
|
+
"^" + Ne.call(Pe).replace(Ee, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
128
|
+
);
|
|
129
|
+
function Ue(t) {
|
|
130
|
+
if (!z(t) || xe(t))
|
|
131
|
+
return !1;
|
|
132
|
+
var e = Pt(t) ? Fe : Ce;
|
|
133
|
+
return e.test(A(t));
|
|
134
|
+
}
|
|
135
|
+
function Me(t, e) {
|
|
136
|
+
return t?.[e];
|
|
137
|
+
}
|
|
138
|
+
function m(t, e) {
|
|
139
|
+
var r = Me(t, e);
|
|
140
|
+
return Ue(r) ? r : void 0;
|
|
141
|
+
}
|
|
142
|
+
var J = m(b, "WeakMap"), ht = Object.create, De = /* @__PURE__ */ (function() {
|
|
143
|
+
function t() {
|
|
144
|
+
}
|
|
145
|
+
return function(e) {
|
|
146
|
+
if (!z(e))
|
|
147
|
+
return {};
|
|
148
|
+
if (ht)
|
|
149
|
+
return ht(e);
|
|
150
|
+
t.prototype = e;
|
|
151
|
+
var r = new t();
|
|
152
|
+
return t.prototype = void 0, r;
|
|
153
|
+
};
|
|
154
|
+
})(), dt = (function() {
|
|
155
|
+
try {
|
|
156
|
+
var t = m(Object, "defineProperty");
|
|
157
|
+
return t({}, "", {}), t;
|
|
158
|
+
} catch {
|
|
159
|
+
}
|
|
160
|
+
})();
|
|
161
|
+
function ke(t, e) {
|
|
162
|
+
for (var r = -1, n = t == null ? 0 : t.length; ++r < n && e(t[r], r, t) !== !1; )
|
|
163
|
+
;
|
|
164
|
+
return t;
|
|
165
|
+
}
|
|
166
|
+
var Be = 9007199254740991, ze = /^(?:0|[1-9]\d*)$/;
|
|
167
|
+
function Ge(t, e) {
|
|
168
|
+
var r = typeof t;
|
|
169
|
+
return e = e ?? Be, !!e && (r == "number" || r != "symbol" && ze.test(t)) && t > -1 && t % 1 == 0 && t < e;
|
|
170
|
+
}
|
|
171
|
+
function We(t, e, r) {
|
|
172
|
+
e == "__proto__" && dt ? dt(t, e, {
|
|
173
|
+
configurable: !0,
|
|
174
|
+
enumerable: !0,
|
|
175
|
+
value: r,
|
|
176
|
+
writable: !0
|
|
177
|
+
}) : t[e] = r;
|
|
178
|
+
}
|
|
179
|
+
function Ft(t, e) {
|
|
180
|
+
return t === e || t !== t && e !== e;
|
|
181
|
+
}
|
|
182
|
+
var He = Object.prototype, Ve = He.hasOwnProperty;
|
|
183
|
+
function Ke(t, e, r) {
|
|
184
|
+
var n = t[e];
|
|
185
|
+
(!(Ve.call(t, e) && Ft(n, r)) || r === void 0 && !(e in t)) && We(t, e, r);
|
|
186
|
+
}
|
|
187
|
+
var Ye = 9007199254740991;
|
|
188
|
+
function Ut(t) {
|
|
189
|
+
return typeof t == "number" && t > -1 && t % 1 == 0 && t <= Ye;
|
|
190
|
+
}
|
|
191
|
+
function Je(t) {
|
|
192
|
+
return t != null && Ut(t.length) && !Pt(t);
|
|
193
|
+
}
|
|
194
|
+
var Xe = Object.prototype;
|
|
195
|
+
function Mt(t) {
|
|
196
|
+
var e = t && t.constructor, r = typeof e == "function" && e.prototype || Xe;
|
|
197
|
+
return t === r;
|
|
198
|
+
}
|
|
199
|
+
function qe(t, e) {
|
|
200
|
+
for (var r = -1, n = Array(t); ++r < t; )
|
|
201
|
+
n[r] = e(r);
|
|
202
|
+
return n;
|
|
203
|
+
}
|
|
204
|
+
var Ze = "[object Arguments]";
|
|
205
|
+
function gt(t) {
|
|
206
|
+
return F(t) && P(t) == Ze;
|
|
207
|
+
}
|
|
208
|
+
var Dt = Object.prototype, Qe = Dt.hasOwnProperty, tr = Dt.propertyIsEnumerable, er = gt(/* @__PURE__ */ (function() {
|
|
209
|
+
return arguments;
|
|
210
|
+
})()) ? gt : function(t) {
|
|
211
|
+
return F(t) && Qe.call(t, "callee") && !tr.call(t, "callee");
|
|
212
|
+
};
|
|
213
|
+
function rr() {
|
|
214
|
+
return !1;
|
|
215
|
+
}
|
|
216
|
+
var kt = typeof exports == "object" && exports && !exports.nodeType && exports, pt = kt && typeof module == "object" && module && !module.nodeType && module, nr = pt && pt.exports === kt, bt = nr ? b.Buffer : void 0, or = bt ? bt.isBuffer : void 0, Bt = or || rr, ir = "[object Arguments]", ar = "[object Array]", sr = "[object Boolean]", cr = "[object Date]", ur = "[object Error]", lr = "[object Function]", fr = "[object Map]", hr = "[object Number]", dr = "[object Object]", gr = "[object RegExp]", pr = "[object Set]", br = "[object String]", _r = "[object WeakMap]", yr = "[object ArrayBuffer]", Tr = "[object DataView]", wr = "[object Float32Array]", Or = "[object Float64Array]", Ar = "[object Int8Array]", mr = "[object Int16Array]", Sr = "[object Int32Array]", vr = "[object Uint8Array]", jr = "[object Uint8ClampedArray]", xr = "[object Uint16Array]", Rr = "[object Uint32Array]", c = {};
|
|
217
|
+
c[wr] = c[Or] = c[Ar] = c[mr] = c[Sr] = c[vr] = c[jr] = c[xr] = c[Rr] = !0;
|
|
218
|
+
c[ir] = c[ar] = c[yr] = c[sr] = c[Tr] = c[cr] = c[ur] = c[lr] = c[fr] = c[hr] = c[dr] = c[gr] = c[pr] = c[br] = c[_r] = !1;
|
|
219
|
+
function Ir(t) {
|
|
220
|
+
return F(t) && Ut(t.length) && !!c[P(t)];
|
|
221
|
+
}
|
|
222
|
+
function nt(t) {
|
|
223
|
+
return function(e) {
|
|
224
|
+
return t(e);
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
var zt = typeof exports == "object" && exports && !exports.nodeType && exports, C = zt && typeof module == "object" && module && !module.nodeType && module, Er = C && C.exports === zt, Y = Er && Lt.process, v = (function() {
|
|
228
|
+
try {
|
|
229
|
+
var t = C && C.require && C.require("util").types;
|
|
230
|
+
return t || Y && Y.binding && Y.binding("util");
|
|
231
|
+
} catch {
|
|
232
|
+
}
|
|
233
|
+
})(), _t = v && v.isTypedArray, Cr = _t ? nt(_t) : Ir, $r = Object.prototype, Lr = $r.hasOwnProperty;
|
|
234
|
+
function Nr(t, e) {
|
|
235
|
+
var r = rt(t), n = !r && er(t), i = !r && !n && Bt(t), o = !r && !n && !i && Cr(t), a = r || n || i || o, f = a ? qe(t.length, String) : [], l = f.length;
|
|
236
|
+
for (var u in t)
|
|
237
|
+
Lr.call(t, u) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
238
|
+
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
239
|
+
i && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
240
|
+
o && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
|
|
241
|
+
Ge(u, l))) && f.push(u);
|
|
242
|
+
return f;
|
|
243
|
+
}
|
|
244
|
+
function Gt(t, e) {
|
|
245
|
+
return function(r) {
|
|
246
|
+
return t(e(r));
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
var Pr = Gt(Object.keys, Object), Fr = Object.prototype, Ur = Fr.hasOwnProperty;
|
|
250
|
+
function Mr(t) {
|
|
251
|
+
if (!Mt(t))
|
|
252
|
+
return Pr(t);
|
|
253
|
+
var e = [];
|
|
254
|
+
for (var r in Object(t))
|
|
255
|
+
Ur.call(t, r) && r != "constructor" && e.push(r);
|
|
256
|
+
return e;
|
|
257
|
+
}
|
|
258
|
+
function Dr(t) {
|
|
259
|
+
return Je(t) ? Nr(t) : Mr(t);
|
|
260
|
+
}
|
|
261
|
+
var L = m(Object, "create");
|
|
262
|
+
function kr() {
|
|
263
|
+
this.__data__ = L ? L(null) : {}, this.size = 0;
|
|
264
|
+
}
|
|
265
|
+
function Br(t) {
|
|
266
|
+
var e = this.has(t) && delete this.__data__[t];
|
|
267
|
+
return this.size -= e ? 1 : 0, e;
|
|
268
|
+
}
|
|
269
|
+
var zr = "__lodash_hash_undefined__", Gr = Object.prototype, Wr = Gr.hasOwnProperty;
|
|
270
|
+
function Hr(t) {
|
|
271
|
+
var e = this.__data__;
|
|
272
|
+
if (L) {
|
|
273
|
+
var r = e[t];
|
|
274
|
+
return r === zr ? void 0 : r;
|
|
275
|
+
}
|
|
276
|
+
return Wr.call(e, t) ? e[t] : void 0;
|
|
277
|
+
}
|
|
278
|
+
var Vr = Object.prototype, Kr = Vr.hasOwnProperty;
|
|
279
|
+
function Yr(t) {
|
|
280
|
+
var e = this.__data__;
|
|
281
|
+
return L ? e[t] !== void 0 : Kr.call(e, t);
|
|
282
|
+
}
|
|
283
|
+
var Jr = "__lodash_hash_undefined__";
|
|
284
|
+
function Xr(t, e) {
|
|
285
|
+
var r = this.__data__;
|
|
286
|
+
return this.size += this.has(t) ? 0 : 1, r[t] = L && e === void 0 ? Jr : e, this;
|
|
287
|
+
}
|
|
288
|
+
function O(t) {
|
|
289
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
290
|
+
for (this.clear(); ++e < r; ) {
|
|
291
|
+
var n = t[e];
|
|
292
|
+
this.set(n[0], n[1]);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
O.prototype.clear = kr;
|
|
296
|
+
O.prototype.delete = Br;
|
|
297
|
+
O.prototype.get = Hr;
|
|
298
|
+
O.prototype.has = Yr;
|
|
299
|
+
O.prototype.set = Xr;
|
|
300
|
+
function qr() {
|
|
301
|
+
this.__data__ = [], this.size = 0;
|
|
302
|
+
}
|
|
303
|
+
function G(t, e) {
|
|
304
|
+
for (var r = t.length; r--; )
|
|
305
|
+
if (Ft(t[r][0], e))
|
|
306
|
+
return r;
|
|
307
|
+
return -1;
|
|
308
|
+
}
|
|
309
|
+
var Zr = Array.prototype, Qr = Zr.splice;
|
|
310
|
+
function tn(t) {
|
|
311
|
+
var e = this.__data__, r = G(e, t);
|
|
312
|
+
if (r < 0)
|
|
313
|
+
return !1;
|
|
314
|
+
var n = e.length - 1;
|
|
315
|
+
return r == n ? e.pop() : Qr.call(e, r, 1), --this.size, !0;
|
|
316
|
+
}
|
|
317
|
+
function en(t) {
|
|
318
|
+
var e = this.__data__, r = G(e, t);
|
|
319
|
+
return r < 0 ? void 0 : e[r][1];
|
|
320
|
+
}
|
|
321
|
+
function rn(t) {
|
|
322
|
+
return G(this.__data__, t) > -1;
|
|
323
|
+
}
|
|
324
|
+
function nn(t, e) {
|
|
325
|
+
var r = this.__data__, n = G(r, t);
|
|
326
|
+
return n < 0 ? (++this.size, r.push([t, e])) : r[n][1] = e, this;
|
|
327
|
+
}
|
|
328
|
+
function w(t) {
|
|
329
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
330
|
+
for (this.clear(); ++e < r; ) {
|
|
331
|
+
var n = t[e];
|
|
332
|
+
this.set(n[0], n[1]);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
w.prototype.clear = qr;
|
|
336
|
+
w.prototype.delete = tn;
|
|
337
|
+
w.prototype.get = en;
|
|
338
|
+
w.prototype.has = rn;
|
|
339
|
+
w.prototype.set = nn;
|
|
340
|
+
var N = m(b, "Map");
|
|
341
|
+
function on() {
|
|
342
|
+
this.size = 0, this.__data__ = {
|
|
343
|
+
hash: new O(),
|
|
344
|
+
map: new (N || w)(),
|
|
345
|
+
string: new O()
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
function an(t) {
|
|
349
|
+
var e = typeof t;
|
|
350
|
+
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
|
|
351
|
+
}
|
|
352
|
+
function W(t, e) {
|
|
353
|
+
var r = t.__data__;
|
|
354
|
+
return an(e) ? r[typeof e == "string" ? "string" : "hash"] : r.map;
|
|
355
|
+
}
|
|
356
|
+
function sn(t) {
|
|
357
|
+
var e = W(this, t).delete(t);
|
|
358
|
+
return this.size -= e ? 1 : 0, e;
|
|
359
|
+
}
|
|
360
|
+
function cn(t) {
|
|
361
|
+
return W(this, t).get(t);
|
|
362
|
+
}
|
|
363
|
+
function un(t) {
|
|
364
|
+
return W(this, t).has(t);
|
|
365
|
+
}
|
|
366
|
+
function ln(t, e) {
|
|
367
|
+
var r = W(this, t), n = r.size;
|
|
368
|
+
return r.set(t, e), this.size += r.size == n ? 0 : 1, this;
|
|
369
|
+
}
|
|
370
|
+
function j(t) {
|
|
371
|
+
var e = -1, r = t == null ? 0 : t.length;
|
|
372
|
+
for (this.clear(); ++e < r; ) {
|
|
373
|
+
var n = t[e];
|
|
374
|
+
this.set(n[0], n[1]);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
j.prototype.clear = on;
|
|
378
|
+
j.prototype.delete = sn;
|
|
379
|
+
j.prototype.get = cn;
|
|
380
|
+
j.prototype.has = un;
|
|
381
|
+
j.prototype.set = ln;
|
|
382
|
+
function fn(t, e) {
|
|
383
|
+
for (var r = -1, n = e.length, i = t.length; ++r < n; )
|
|
384
|
+
t[i + r] = e[r];
|
|
385
|
+
return t;
|
|
386
|
+
}
|
|
387
|
+
var hn = Gt(Object.getPrototypeOf, Object);
|
|
388
|
+
function dn() {
|
|
389
|
+
this.__data__ = new w(), this.size = 0;
|
|
390
|
+
}
|
|
391
|
+
function gn(t) {
|
|
392
|
+
var e = this.__data__, r = e.delete(t);
|
|
393
|
+
return this.size = e.size, r;
|
|
394
|
+
}
|
|
395
|
+
function pn(t) {
|
|
396
|
+
return this.__data__.get(t);
|
|
397
|
+
}
|
|
398
|
+
function bn(t) {
|
|
399
|
+
return this.__data__.has(t);
|
|
400
|
+
}
|
|
401
|
+
var _n = 200;
|
|
402
|
+
function yn(t, e) {
|
|
403
|
+
var r = this.__data__;
|
|
404
|
+
if (r instanceof w) {
|
|
405
|
+
var n = r.__data__;
|
|
406
|
+
if (!N || n.length < _n - 1)
|
|
407
|
+
return n.push([t, e]), this.size = ++r.size, this;
|
|
408
|
+
r = this.__data__ = new j(n);
|
|
409
|
+
}
|
|
410
|
+
return r.set(t, e), this.size = r.size, this;
|
|
411
|
+
}
|
|
412
|
+
function x(t) {
|
|
413
|
+
var e = this.__data__ = new w(t);
|
|
414
|
+
this.size = e.size;
|
|
415
|
+
}
|
|
416
|
+
x.prototype.clear = dn;
|
|
417
|
+
x.prototype.delete = gn;
|
|
418
|
+
x.prototype.get = pn;
|
|
419
|
+
x.prototype.has = bn;
|
|
420
|
+
x.prototype.set = yn;
|
|
421
|
+
var Wt = typeof exports == "object" && exports && !exports.nodeType && exports, yt = Wt && typeof module == "object" && module && !module.nodeType && module, Tn = yt && yt.exports === Wt, Tt = Tn ? b.Buffer : void 0;
|
|
422
|
+
Tt && Tt.allocUnsafe;
|
|
423
|
+
function wn(t, e) {
|
|
424
|
+
return t.slice();
|
|
425
|
+
}
|
|
426
|
+
function On(t, e) {
|
|
427
|
+
for (var r = -1, n = t == null ? 0 : t.length, i = 0, o = []; ++r < n; ) {
|
|
428
|
+
var a = t[r];
|
|
429
|
+
e(a, r, t) && (o[i++] = a);
|
|
430
|
+
}
|
|
431
|
+
return o;
|
|
432
|
+
}
|
|
433
|
+
function An() {
|
|
434
|
+
return [];
|
|
435
|
+
}
|
|
436
|
+
var mn = Object.prototype, Sn = mn.propertyIsEnumerable, wt = Object.getOwnPropertySymbols, vn = wt ? function(t) {
|
|
437
|
+
return t == null ? [] : (t = Object(t), On(wt(t), function(e) {
|
|
438
|
+
return Sn.call(t, e);
|
|
439
|
+
}));
|
|
440
|
+
} : An;
|
|
441
|
+
function jn(t, e, r) {
|
|
442
|
+
var n = e(t);
|
|
443
|
+
return rt(t) ? n : fn(n, r(t));
|
|
444
|
+
}
|
|
445
|
+
function xn(t) {
|
|
446
|
+
return jn(t, Dr, vn);
|
|
447
|
+
}
|
|
448
|
+
var X = m(b, "DataView"), q = m(b, "Promise"), Z = m(b, "Set"), Ot = "[object Map]", Rn = "[object Object]", At = "[object Promise]", mt = "[object Set]", St = "[object WeakMap]", vt = "[object DataView]", In = A(X), En = A(N), Cn = A(q), $n = A(Z), Ln = A(J), T = P;
|
|
449
|
+
(X && T(new X(new ArrayBuffer(1))) != vt || N && T(new N()) != Ot || q && T(q.resolve()) != At || Z && T(new Z()) != mt || J && T(new J()) != St) && (T = function(t) {
|
|
450
|
+
var e = P(t), r = e == Rn ? t.constructor : void 0, n = r ? A(r) : "";
|
|
451
|
+
if (n)
|
|
452
|
+
switch (n) {
|
|
453
|
+
case In:
|
|
454
|
+
return vt;
|
|
455
|
+
case En:
|
|
456
|
+
return Ot;
|
|
457
|
+
case Cn:
|
|
458
|
+
return At;
|
|
459
|
+
case $n:
|
|
460
|
+
return mt;
|
|
461
|
+
case Ln:
|
|
462
|
+
return St;
|
|
463
|
+
}
|
|
464
|
+
return e;
|
|
465
|
+
});
|
|
466
|
+
var Nn = Object.prototype, Pn = Nn.hasOwnProperty;
|
|
467
|
+
function Fn(t) {
|
|
468
|
+
var e = t.length, r = new t.constructor(e);
|
|
469
|
+
return e && typeof t[0] == "string" && Pn.call(t, "index") && (r.index = t.index, r.input = t.input), r;
|
|
470
|
+
}
|
|
471
|
+
var jt = b.Uint8Array;
|
|
472
|
+
function ot(t) {
|
|
473
|
+
var e = new t.constructor(t.byteLength);
|
|
474
|
+
return new jt(e).set(new jt(t)), e;
|
|
475
|
+
}
|
|
476
|
+
function Un(t, e) {
|
|
477
|
+
var r = ot(t.buffer);
|
|
478
|
+
return new t.constructor(r, t.byteOffset, t.byteLength);
|
|
479
|
+
}
|
|
480
|
+
var Mn = /\w*$/;
|
|
481
|
+
function Dn(t) {
|
|
482
|
+
var e = new t.constructor(t.source, Mn.exec(t));
|
|
483
|
+
return e.lastIndex = t.lastIndex, e;
|
|
484
|
+
}
|
|
485
|
+
var xt = S ? S.prototype : void 0, Rt = xt ? xt.valueOf : void 0;
|
|
486
|
+
function kn(t) {
|
|
487
|
+
return Rt ? Object(Rt.call(t)) : {};
|
|
488
|
+
}
|
|
489
|
+
function Bn(t, e) {
|
|
490
|
+
var r = ot(t.buffer);
|
|
491
|
+
return new t.constructor(r, t.byteOffset, t.length);
|
|
492
|
+
}
|
|
493
|
+
var zn = "[object Boolean]", Gn = "[object Date]", Wn = "[object Map]", Hn = "[object Number]", Vn = "[object RegExp]", Kn = "[object Set]", Yn = "[object String]", Jn = "[object Symbol]", Xn = "[object ArrayBuffer]", qn = "[object DataView]", Zn = "[object Float32Array]", Qn = "[object Float64Array]", to = "[object Int8Array]", eo = "[object Int16Array]", ro = "[object Int32Array]", no = "[object Uint8Array]", oo = "[object Uint8ClampedArray]", io = "[object Uint16Array]", ao = "[object Uint32Array]";
|
|
494
|
+
function so(t, e, r) {
|
|
495
|
+
var n = t.constructor;
|
|
496
|
+
switch (e) {
|
|
497
|
+
case Xn:
|
|
498
|
+
return ot(t);
|
|
499
|
+
case zn:
|
|
500
|
+
case Gn:
|
|
501
|
+
return new n(+t);
|
|
502
|
+
case qn:
|
|
503
|
+
return Un(t);
|
|
504
|
+
case Zn:
|
|
505
|
+
case Qn:
|
|
506
|
+
case to:
|
|
507
|
+
case eo:
|
|
508
|
+
case ro:
|
|
509
|
+
case no:
|
|
510
|
+
case oo:
|
|
511
|
+
case io:
|
|
512
|
+
case ao:
|
|
513
|
+
return Bn(t);
|
|
514
|
+
case Wn:
|
|
515
|
+
return new n();
|
|
516
|
+
case Hn:
|
|
517
|
+
case Yn:
|
|
518
|
+
return new n(t);
|
|
519
|
+
case Vn:
|
|
520
|
+
return Dn(t);
|
|
521
|
+
case Kn:
|
|
522
|
+
return new n();
|
|
523
|
+
case Jn:
|
|
524
|
+
return kn(t);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
function co(t) {
|
|
528
|
+
return typeof t.constructor == "function" && !Mt(t) ? De(hn(t)) : {};
|
|
529
|
+
}
|
|
530
|
+
var uo = "[object Map]";
|
|
531
|
+
function lo(t) {
|
|
532
|
+
return F(t) && T(t) == uo;
|
|
533
|
+
}
|
|
534
|
+
var It = v && v.isMap, fo = It ? nt(It) : lo, ho = "[object Set]";
|
|
535
|
+
function go(t) {
|
|
536
|
+
return F(t) && T(t) == ho;
|
|
537
|
+
}
|
|
538
|
+
var Et = v && v.isSet, po = Et ? nt(Et) : go, Ht = "[object Arguments]", bo = "[object Array]", _o = "[object Boolean]", yo = "[object Date]", To = "[object Error]", Vt = "[object Function]", wo = "[object GeneratorFunction]", Oo = "[object Map]", Ao = "[object Number]", Kt = "[object Object]", mo = "[object RegExp]", So = "[object Set]", vo = "[object String]", jo = "[object Symbol]", xo = "[object WeakMap]", Ro = "[object ArrayBuffer]", Io = "[object DataView]", Eo = "[object Float32Array]", Co = "[object Float64Array]", $o = "[object Int8Array]", Lo = "[object Int16Array]", No = "[object Int32Array]", Po = "[object Uint8Array]", Fo = "[object Uint8ClampedArray]", Uo = "[object Uint16Array]", Mo = "[object Uint32Array]", s = {};
|
|
539
|
+
s[Ht] = s[bo] = s[Ro] = s[Io] = s[_o] = s[yo] = s[Eo] = s[Co] = s[$o] = s[Lo] = s[No] = s[Oo] = s[Ao] = s[Kt] = s[mo] = s[So] = s[vo] = s[jo] = s[Po] = s[Fo] = s[Uo] = s[Mo] = !0;
|
|
540
|
+
s[To] = s[Vt] = s[xo] = !1;
|
|
541
|
+
function D(t, e, r, n, i, o) {
|
|
542
|
+
var a;
|
|
543
|
+
if (a !== void 0)
|
|
544
|
+
return a;
|
|
545
|
+
if (!z(t))
|
|
546
|
+
return t;
|
|
547
|
+
var f = rt(t);
|
|
548
|
+
if (f)
|
|
549
|
+
a = Fn(t);
|
|
550
|
+
else {
|
|
551
|
+
var l = T(t), u = l == Vt || l == wo;
|
|
552
|
+
if (Bt(t))
|
|
553
|
+
return wn(t);
|
|
554
|
+
if (l == Kt || l == Ht || u && !i)
|
|
555
|
+
a = u ? {} : co(t);
|
|
556
|
+
else {
|
|
557
|
+
if (!s[l])
|
|
558
|
+
return i ? t : {};
|
|
559
|
+
a = so(t, l);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
o || (o = new x());
|
|
563
|
+
var d = o.get(t);
|
|
564
|
+
if (d)
|
|
565
|
+
return d;
|
|
566
|
+
o.set(t, a), po(t) ? t.forEach(function(g) {
|
|
567
|
+
a.add(D(g, e, r, g, t, o));
|
|
568
|
+
}) : fo(t) && t.forEach(function(g, h) {
|
|
569
|
+
a.set(h, D(g, e, r, h, t, o));
|
|
570
|
+
});
|
|
571
|
+
var _ = xn, y = f ? void 0 : _(t);
|
|
572
|
+
return ke(y || t, function(g, h) {
|
|
573
|
+
y && (h = g, g = t[h]), Ke(a, h, D(g, e, r, h, t, o));
|
|
574
|
+
}), a;
|
|
575
|
+
}
|
|
576
|
+
var Do = 1, ko = 4;
|
|
577
|
+
function it(t) {
|
|
578
|
+
return D(t, Do | ko);
|
|
579
|
+
}
|
|
580
|
+
const Ct = et("BaseAbs");
|
|
581
|
+
class Bo {
|
|
582
|
+
_ui = null;
|
|
583
|
+
_config;
|
|
584
|
+
_initialized = !1;
|
|
585
|
+
/** 实例级 logger,tag 为 className,用于 operating 日志输出 */
|
|
586
|
+
logger;
|
|
587
|
+
constructor(e) {
|
|
588
|
+
this._config = it(e), this.logger = et(e.className || "Unknown");
|
|
589
|
+
}
|
|
590
|
+
get ui() {
|
|
591
|
+
if (!this._ui)
|
|
592
|
+
throw new Error("访问 ui 失败:UI 实例未创建,请先调用 init() 方法");
|
|
593
|
+
return this._ui;
|
|
594
|
+
}
|
|
595
|
+
get config() {
|
|
596
|
+
return this._config;
|
|
597
|
+
}
|
|
598
|
+
// 宽度计算 - 50%(中心点)
|
|
599
|
+
get width_05() {
|
|
600
|
+
return (this.config.width || 0) * 0.5;
|
|
601
|
+
}
|
|
602
|
+
// 宽度计算 - 20%(中心点)
|
|
603
|
+
get width_02() {
|
|
604
|
+
return (this.config.width || 0) * 0.2;
|
|
605
|
+
}
|
|
606
|
+
// 宽度计算 - 80%(中心点)
|
|
607
|
+
get width_08() {
|
|
608
|
+
return (this.config.width || 0) * 0.8;
|
|
609
|
+
}
|
|
610
|
+
// 高度计算 - 50%(中心点)
|
|
611
|
+
get height_05() {
|
|
612
|
+
return (this.config.height || 0) * 0.5;
|
|
613
|
+
}
|
|
614
|
+
// 高度计算 - 20%(中心点)
|
|
615
|
+
get height_02() {
|
|
616
|
+
return (this.config.height || 0) * 0.2;
|
|
617
|
+
}
|
|
618
|
+
// 高度计算 - 80%(中心点)
|
|
619
|
+
get height_08() {
|
|
620
|
+
return (this.config.height || 0) * 0.8;
|
|
621
|
+
}
|
|
622
|
+
// 初始化 UI
|
|
623
|
+
init() {
|
|
624
|
+
return this._initialized ? (Ct.warn("元素已经初始化,重复初始化"), this) : (this._ui = this.createUi(), this._initialized = !0, this);
|
|
625
|
+
}
|
|
626
|
+
// 销毁 UI(子类可重写以解绑事件)
|
|
627
|
+
destroyUI() {
|
|
628
|
+
if (!this._initialized) {
|
|
629
|
+
Ct.warn("销毁失败,元素未初始化");
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
632
|
+
this.ui.destroy(), this._initialized = !1;
|
|
633
|
+
}
|
|
634
|
+
// 销毁
|
|
635
|
+
destroy() {
|
|
636
|
+
this.destroyUI(), this._ui = null;
|
|
637
|
+
}
|
|
638
|
+
// 是否已初始化
|
|
639
|
+
get initialized() {
|
|
640
|
+
return this._initialized;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
class Yt extends Bo {
|
|
644
|
+
// 设备操作(子类可重写)
|
|
645
|
+
operating(e) {
|
|
646
|
+
}
|
|
647
|
+
// 处理设备操作
|
|
648
|
+
handleOperation = (e) => {
|
|
649
|
+
this.logger.operating("data=%o", e), this.operating(e);
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
function Jt(t) {
|
|
653
|
+
const {
|
|
654
|
+
name: e,
|
|
655
|
+
width: r,
|
|
656
|
+
height: n,
|
|
657
|
+
className: i = "CreateText",
|
|
658
|
+
fill: o = "rgba(0,0,0,0.2)",
|
|
659
|
+
fontSize: a,
|
|
660
|
+
fontWeight: f = "black",
|
|
661
|
+
hittable: l = !1
|
|
662
|
+
} = t, u = String(e);
|
|
663
|
+
if (!u)
|
|
664
|
+
return new at({ text: "", width: r, height: n, visible: 0 });
|
|
665
|
+
const d = u.length, _ = Math.min(n * 0.8, r * 0.5), y = 12, g = r / (d * 0.6);
|
|
666
|
+
let h = Math.min(_, g);
|
|
667
|
+
return h < y && (h = y), new at({
|
|
668
|
+
hittable: l,
|
|
669
|
+
className: i,
|
|
670
|
+
text: u,
|
|
671
|
+
textAlign: "center",
|
|
672
|
+
verticalAlign: "middle",
|
|
673
|
+
fontSize: a || h,
|
|
674
|
+
fontWeight: f,
|
|
675
|
+
fill: o,
|
|
676
|
+
width: r,
|
|
677
|
+
height: n,
|
|
678
|
+
lineHeight: {
|
|
679
|
+
type: "percent",
|
|
680
|
+
value: 1
|
|
681
|
+
},
|
|
682
|
+
textOverflow: "...",
|
|
683
|
+
// 启用省略号
|
|
684
|
+
textWrap: "break"
|
|
685
|
+
// 强制断词
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
const zo = "#999999";
|
|
689
|
+
function Xt(t, e) {
|
|
690
|
+
return t === $.TOOL ? { cornerRadius: e } : t === $.AUXILIARY ? { cornerRadius: 0, stroke: zo, strokeWidth: 1, showShadow: !1 } : { cornerRadius: e * 0.1 };
|
|
691
|
+
}
|
|
692
|
+
const Go = "#fff", Wo = "rgba(0,0,0,0.85)", Ho = "rgba(255,255,255,0.8)", Vo = /^(#[0-9a-f]{3,8}|rgba?\(|hsla?\([a-z][-a-z0-9]*)$/i;
|
|
693
|
+
function Ko(t) {
|
|
694
|
+
return t ? !!(Vo.test(t) || /^[a-z][a-z-]{2,}$/i.test(t)) : !1;
|
|
695
|
+
}
|
|
696
|
+
function qt(t) {
|
|
697
|
+
if (typeof t != "string") return !1;
|
|
698
|
+
const e = t.trim();
|
|
699
|
+
if (!e) return !1;
|
|
700
|
+
const r = e.toLowerCase();
|
|
701
|
+
return r === "none" || r === "transparent" || r === "undefined" || r === "null" ? !1 : Ko(e);
|
|
702
|
+
}
|
|
703
|
+
function Yo(t) {
|
|
704
|
+
return qt(t) ? t : Go;
|
|
705
|
+
}
|
|
706
|
+
function Jo(t) {
|
|
707
|
+
return qt(t) ? Ho : Wo;
|
|
708
|
+
}
|
|
709
|
+
class Xo extends Yt {
|
|
710
|
+
constructor(e) {
|
|
711
|
+
const r = {
|
|
712
|
+
className: tt.RESOURCE,
|
|
713
|
+
x: 0,
|
|
714
|
+
y: 0,
|
|
715
|
+
width: 50,
|
|
716
|
+
height: 50,
|
|
717
|
+
name: "",
|
|
718
|
+
color: "rgba(255,255,255,1)",
|
|
719
|
+
hittable: !0,
|
|
720
|
+
resourceType: $.WORKPIECE,
|
|
721
|
+
rawData: { id: "" }
|
|
722
|
+
};
|
|
723
|
+
super({ ...r, ...e });
|
|
724
|
+
}
|
|
725
|
+
createUi() {
|
|
726
|
+
const { x: e, y: r, width: n, height: i, color: o, resourceType: a, resourceId: f, name: l, hittable: u } = this.config, d = Xt(a, n || 0);
|
|
727
|
+
return new $t({
|
|
728
|
+
hittable: u,
|
|
729
|
+
className: `Resource-${a}`,
|
|
730
|
+
x: e,
|
|
731
|
+
y: r,
|
|
732
|
+
width: n,
|
|
733
|
+
height: i,
|
|
734
|
+
fill: Yo(o),
|
|
735
|
+
cornerRadius: d.cornerRadius,
|
|
736
|
+
stroke: d.stroke,
|
|
737
|
+
strokeWidth: d.strokeWidth,
|
|
738
|
+
around: "center",
|
|
739
|
+
zIndex: 10,
|
|
740
|
+
opacity: 0,
|
|
741
|
+
data: this.config,
|
|
742
|
+
// resourceId 作为独立属性挂在 main 上,便于 AppController 全局查找匹配
|
|
743
|
+
resourceId: f || "",
|
|
744
|
+
animation: {
|
|
745
|
+
keyframes: [{ scale: 1.2, opacity: 0 }, { scale: 0.95, opacity: 1 }, { scale: 1 }],
|
|
746
|
+
duration: 0.5
|
|
747
|
+
},
|
|
748
|
+
animationOut: {
|
|
749
|
+
keyframes: [
|
|
750
|
+
{ scale: 1, opacity: 1 },
|
|
751
|
+
{ scale: 0.5, opacity: 0 }
|
|
752
|
+
],
|
|
753
|
+
duration: 0.3
|
|
754
|
+
},
|
|
755
|
+
children: [
|
|
756
|
+
Jt({
|
|
757
|
+
name: l,
|
|
758
|
+
width: n,
|
|
759
|
+
height: i,
|
|
760
|
+
fill: Jo(o)
|
|
761
|
+
})
|
|
762
|
+
]
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
function qo(t) {
|
|
767
|
+
const e = {
|
|
768
|
+
width: t.width * 0.1,
|
|
769
|
+
// 阴影宽度为元素宽度的 10%
|
|
770
|
+
height: t.height * 0.1
|
|
771
|
+
// 阴影高度为元素高度的 10%
|
|
772
|
+
}, {
|
|
773
|
+
width: r = 0,
|
|
774
|
+
height: n = 0,
|
|
775
|
+
cornerRadius: i = 0,
|
|
776
|
+
shadow: o = [
|
|
777
|
+
{
|
|
778
|
+
x: 0,
|
|
779
|
+
y: 0,
|
|
780
|
+
blur: e.width,
|
|
781
|
+
color: "rgba(0,0,0,0.3)"
|
|
782
|
+
}
|
|
783
|
+
],
|
|
784
|
+
innerShadow: a = [
|
|
785
|
+
{
|
|
786
|
+
x: e.width,
|
|
787
|
+
y: e.height,
|
|
788
|
+
blur: e.width,
|
|
789
|
+
color: "rgba(0,0,0,0.5)"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
x: -e.width,
|
|
793
|
+
y: -e.height,
|
|
794
|
+
blur: e.width,
|
|
795
|
+
color: "rgba(255,255,255,0.5)"
|
|
796
|
+
}
|
|
797
|
+
]
|
|
798
|
+
} = t, f = new re({
|
|
799
|
+
className: "ShadowCanvas",
|
|
800
|
+
pixelRatio: devicePixelRatio,
|
|
801
|
+
width: r,
|
|
802
|
+
height: n,
|
|
803
|
+
hittable: !1
|
|
804
|
+
}), l = new ne();
|
|
805
|
+
return l.setStyle({
|
|
806
|
+
fill: "rgba(255,255,255,0)",
|
|
807
|
+
shadow: o ?? void 0,
|
|
808
|
+
innerShadow: a ?? void 0
|
|
809
|
+
}), l.roundRect(0, 0, r, n, i), f.draw(l), f;
|
|
810
|
+
}
|
|
811
|
+
function Zo(t, e, r = "shadow") {
|
|
812
|
+
if (e.hittable && e.hitSelf && (e.clickable || e.menuClickable || e.draggable)) {
|
|
813
|
+
let n = "default";
|
|
814
|
+
const i = "#806EF7";
|
|
815
|
+
e.clickable ? n = "pointer" : e.menuClickable ? n = "context-menu" : e.draggable && (n = "move"), r === "shadow" ? t.set({
|
|
816
|
+
cursor: n,
|
|
817
|
+
hoverStyle: {
|
|
818
|
+
shadow: {
|
|
819
|
+
spread: 2,
|
|
820
|
+
blur: 2,
|
|
821
|
+
color: i
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
}) : r === "border" && t.set({
|
|
825
|
+
cursor: n,
|
|
826
|
+
hoverStyle: {
|
|
827
|
+
stroke: i,
|
|
828
|
+
strokeWidth: 3
|
|
829
|
+
}
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
function ui(t, e = "rgba(66,66,66,0.9)") {
|
|
834
|
+
t.set({
|
|
835
|
+
shadow: {
|
|
836
|
+
x: 2,
|
|
837
|
+
y: 3,
|
|
838
|
+
blur: 1,
|
|
839
|
+
color: e
|
|
840
|
+
}
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
const k = "#BFC0C3", Q = {
|
|
844
|
+
className: tt.STATION_SLOT,
|
|
845
|
+
name: "",
|
|
846
|
+
index: 0,
|
|
847
|
+
x: 0,
|
|
848
|
+
y: 0,
|
|
849
|
+
width: 50,
|
|
850
|
+
height: 50,
|
|
851
|
+
rotation: 0,
|
|
852
|
+
parentRotation: 0,
|
|
853
|
+
resourceType: $.WORKPIECE,
|
|
854
|
+
background: k,
|
|
855
|
+
stroke: "#999999",
|
|
856
|
+
strokeWidth: 2,
|
|
857
|
+
textColor: "#6F7177",
|
|
858
|
+
showShadow: !0,
|
|
859
|
+
showText: !0,
|
|
860
|
+
inFlow: !0,
|
|
861
|
+
hittable: !0,
|
|
862
|
+
disabled: !1,
|
|
863
|
+
/** 资源数量门控默认值:超出时按放置顺序移除最早的资源(保留最近 5 个) */
|
|
864
|
+
maxResources: 5,
|
|
865
|
+
visible: !0
|
|
866
|
+
};
|
|
867
|
+
class li extends Yt {
|
|
868
|
+
children = [];
|
|
869
|
+
// 缓存 destroyUI 后等待资源退场动画的清理任务,防止重复销毁
|
|
870
|
+
pendingDestroy = null;
|
|
871
|
+
/** 原始工位配置引用(模型 config 内的 stationSlots[i],运行时资源摘要回写目标;在 super 后保存,避开 cloneDeep) */
|
|
872
|
+
sourceSlot;
|
|
873
|
+
constructor(e) {
|
|
874
|
+
const { sourceSlot: r, ...n } = e;
|
|
875
|
+
super({ ...Q, ...n }), this.sourceSlot = r;
|
|
876
|
+
}
|
|
877
|
+
/** 同步当前资源摘要到原始工位配置(供点击回调中 layer.stationSlots[i].resources 实时查看,仅写模型 config 副本,不影响 store) */
|
|
878
|
+
syncResources() {
|
|
879
|
+
this.sourceSlot && (this.sourceSlot.resources = this.children.map((e) => ({
|
|
880
|
+
name: e.config.name,
|
|
881
|
+
resourceId: e.config.resourceId,
|
|
882
|
+
resourceType: e.config.resourceType,
|
|
883
|
+
color: e.config.color
|
|
884
|
+
})));
|
|
885
|
+
}
|
|
886
|
+
// 创建 UI
|
|
887
|
+
createUi() {
|
|
888
|
+
const {
|
|
889
|
+
x: e,
|
|
890
|
+
y: r,
|
|
891
|
+
name: n,
|
|
892
|
+
width: i,
|
|
893
|
+
height: o,
|
|
894
|
+
resourceType: a,
|
|
895
|
+
hittable: f,
|
|
896
|
+
disabled: l,
|
|
897
|
+
visible: u,
|
|
898
|
+
background: d = k,
|
|
899
|
+
stroke: _ = "#999999",
|
|
900
|
+
strokeWidth: y = 2,
|
|
901
|
+
textColor: g = "#6F7177",
|
|
902
|
+
showShadow: h = !0,
|
|
903
|
+
showText: H = !0,
|
|
904
|
+
inFlow: Qt = !0,
|
|
905
|
+
origin: te = "center",
|
|
906
|
+
around: ee = "center"
|
|
907
|
+
} = this.config, U = Xt(a, i || 0), M = new $t({
|
|
908
|
+
hittable: f,
|
|
909
|
+
visible: u,
|
|
910
|
+
className: `StationSlot-${a}`,
|
|
911
|
+
x: e,
|
|
912
|
+
y: r,
|
|
913
|
+
width: i,
|
|
914
|
+
height: o,
|
|
915
|
+
origin: te,
|
|
916
|
+
around: ee,
|
|
917
|
+
disabled: l,
|
|
918
|
+
cornerRadius: U.cornerRadius,
|
|
919
|
+
rotation: this.autoFixRotation,
|
|
920
|
+
fill: d,
|
|
921
|
+
hitFill: "all",
|
|
922
|
+
stroke: _,
|
|
923
|
+
strokeWidth: U.strokeWidth ?? y,
|
|
924
|
+
inFlow: Qt,
|
|
925
|
+
data: this.config
|
|
926
|
+
});
|
|
927
|
+
if (Zo(M, { hittable: this.config.hittable, hitSelf: !0, clickable: !0 }, "border"), H) {
|
|
928
|
+
const V = Jt({
|
|
929
|
+
name: n,
|
|
930
|
+
width: i,
|
|
931
|
+
height: o,
|
|
932
|
+
fill: g
|
|
933
|
+
});
|
|
934
|
+
M.add(V);
|
|
935
|
+
}
|
|
936
|
+
if (U.showShadow ?? h) {
|
|
937
|
+
const V = qo({
|
|
938
|
+
width: i,
|
|
939
|
+
height: o,
|
|
940
|
+
cornerRadius: U.cornerRadius,
|
|
941
|
+
shadow: null
|
|
942
|
+
});
|
|
943
|
+
M.add(V);
|
|
944
|
+
}
|
|
945
|
+
return M;
|
|
946
|
+
}
|
|
947
|
+
// 自动计算工位槽位的旋转补偿角度
|
|
948
|
+
get autoFixRotation() {
|
|
949
|
+
const e = this.config.parentRotation, r = this.config.rotation ?? 0;
|
|
950
|
+
if (!e) return r;
|
|
951
|
+
let n = 0;
|
|
952
|
+
return e === 90 && (n = -90), e === -90 && (n = 90), e > 90 && (n = -180), e < -90 && (n = 180), n + r;
|
|
953
|
+
}
|
|
954
|
+
// private setupClickableArea(cornerRadius: number): void {
|
|
955
|
+
// const clickableBox = new Box({
|
|
956
|
+
// className: 'palletAndCutterSiteClickableBox',
|
|
957
|
+
// width: this.config.width,
|
|
958
|
+
// height: this.config.height,
|
|
959
|
+
// fill: '#f40',
|
|
960
|
+
// opacity: 0,
|
|
961
|
+
// cornerRadius,
|
|
962
|
+
// hoverStyle: {
|
|
963
|
+
// opacity: 1,
|
|
964
|
+
// zIndex: 0
|
|
965
|
+
// },
|
|
966
|
+
// children: [
|
|
967
|
+
// new Text({
|
|
968
|
+
// text: '放置',
|
|
969
|
+
// textAlign: 'center',
|
|
970
|
+
// verticalAlign: 'middle',
|
|
971
|
+
// lineHeight: this.config.width * 0.4,
|
|
972
|
+
// fontSize: this.config.width * 0.4,
|
|
973
|
+
// fontWeight: 'black',
|
|
974
|
+
// fill: '#fff',
|
|
975
|
+
// width: this.config.width,
|
|
976
|
+
// height: this.config.height
|
|
977
|
+
// })
|
|
978
|
+
// ]
|
|
979
|
+
// })
|
|
980
|
+
// this.ui?.add(clickableBox)
|
|
981
|
+
// }
|
|
982
|
+
/**
|
|
983
|
+
* 添加工位资源
|
|
984
|
+
* @param d
|
|
985
|
+
*/
|
|
986
|
+
addPallet(e) {
|
|
987
|
+
const { width: r, height: n, resourceType: i } = this.config, o = new Xo({
|
|
988
|
+
x: this.width_05,
|
|
989
|
+
y: this.height_05,
|
|
990
|
+
width: r - 5,
|
|
991
|
+
height: n - 5,
|
|
992
|
+
name: e.name,
|
|
993
|
+
color: e.resource_color,
|
|
994
|
+
resourceType: i,
|
|
995
|
+
resourceId: e.resource_id,
|
|
996
|
+
rawData: e.raw_data
|
|
997
|
+
}).init();
|
|
998
|
+
this.children.push(o), this.ui.add(o.ui), this.syncResources(), this.enforceMaxResources();
|
|
999
|
+
}
|
|
1000
|
+
/**
|
|
1001
|
+
* 资源数量门控:children 超过 maxResources(默认 5)时,
|
|
1002
|
+
* 按放置顺序移除最早的资源(先进先出淘汰,保留最近 N 个),移除时播放退场动画
|
|
1003
|
+
*/
|
|
1004
|
+
enforceMaxResources() {
|
|
1005
|
+
const e = this.config.maxResources ?? Q.maxResources ?? 5;
|
|
1006
|
+
if (this.children.length <= e) return;
|
|
1007
|
+
this.children.splice(0, this.children.length - e).forEach((n) => this.animateOut(n)), this.syncResources();
|
|
1008
|
+
}
|
|
1009
|
+
/** 播放资源退场动画,动画结束后销毁资源对象(供移除/裁剪共用) */
|
|
1010
|
+
animateOut(e) {
|
|
1011
|
+
const r = e.ui;
|
|
1012
|
+
try {
|
|
1013
|
+
r.animate({
|
|
1014
|
+
keyframes: [
|
|
1015
|
+
{ scale: 1, opacity: 1 },
|
|
1016
|
+
{ scale: 0.5, opacity: 0 }
|
|
1017
|
+
],
|
|
1018
|
+
duration: 0.3
|
|
1019
|
+
});
|
|
1020
|
+
} catch {
|
|
1021
|
+
e.destroy();
|
|
1022
|
+
return;
|
|
1023
|
+
}
|
|
1024
|
+
window.setTimeout(() => e.destroy(), 320);
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* 移除托盘:先播放退场动画,动画结束后再销毁资源对象
|
|
1028
|
+
*/
|
|
1029
|
+
removeAllPallet(e) {
|
|
1030
|
+
const r = this.children;
|
|
1031
|
+
if (this.children = [], this.syncResources(), r.length === 0) return;
|
|
1032
|
+
const n = 320, i = [];
|
|
1033
|
+
for (const o of r) {
|
|
1034
|
+
const a = o.ui;
|
|
1035
|
+
try {
|
|
1036
|
+
a.animate({
|
|
1037
|
+
keyframes: [
|
|
1038
|
+
{ scale: 1, opacity: 1 },
|
|
1039
|
+
{ scale: 0.5, opacity: 0 }
|
|
1040
|
+
],
|
|
1041
|
+
duration: 0.3
|
|
1042
|
+
});
|
|
1043
|
+
} catch {
|
|
1044
|
+
o.destroy();
|
|
1045
|
+
continue;
|
|
1046
|
+
}
|
|
1047
|
+
const f = window.setTimeout(() => {
|
|
1048
|
+
o.destroy();
|
|
1049
|
+
}, n);
|
|
1050
|
+
i.push(f);
|
|
1051
|
+
}
|
|
1052
|
+
this.pendingDestroy = () => {
|
|
1053
|
+
i.forEach((o) => window.clearTimeout(o)), r.forEach((o) => o.destroy());
|
|
1054
|
+
};
|
|
1055
|
+
}
|
|
1056
|
+
/**
|
|
1057
|
+
* 按 resourceId 精确移除指定资源(同槽可含多个资源时使用)
|
|
1058
|
+
* 仅移除匹配的资源,不影响同槽内其他资源;动画逻辑与 removeAllPallet 一致
|
|
1059
|
+
*/
|
|
1060
|
+
removePalletById(e) {
|
|
1061
|
+
if (!e) return !1;
|
|
1062
|
+
const r = this.children.findIndex((a) => a.config.resourceId === e);
|
|
1063
|
+
if (r < 0) return !1;
|
|
1064
|
+
const [n] = this.children.splice(r, 1);
|
|
1065
|
+
this.syncResources();
|
|
1066
|
+
const i = 320, o = n.ui;
|
|
1067
|
+
try {
|
|
1068
|
+
o.animate({
|
|
1069
|
+
keyframes: [
|
|
1070
|
+
{ scale: 1, opacity: 1 },
|
|
1071
|
+
{ scale: 0.5, opacity: 0 }
|
|
1072
|
+
],
|
|
1073
|
+
duration: 0.3
|
|
1074
|
+
});
|
|
1075
|
+
} catch {
|
|
1076
|
+
return n.destroy(), !0;
|
|
1077
|
+
}
|
|
1078
|
+
return window.setTimeout(() => n.destroy(), i), !0;
|
|
1079
|
+
}
|
|
1080
|
+
/**
|
|
1081
|
+
* 设置工位是否正在使用
|
|
1082
|
+
* @param flag
|
|
1083
|
+
*/
|
|
1084
|
+
setSiteWorking(e) {
|
|
1085
|
+
if (e)
|
|
1086
|
+
this.ui?.set({
|
|
1087
|
+
animation: {
|
|
1088
|
+
style: { fill: "rgb(0, 255, 42)" },
|
|
1089
|
+
duration: 0.5,
|
|
1090
|
+
reverse: !0,
|
|
1091
|
+
swing: !0,
|
|
1092
|
+
loop: !0
|
|
1093
|
+
}
|
|
1094
|
+
});
|
|
1095
|
+
else {
|
|
1096
|
+
const r = this.config.background ?? k;
|
|
1097
|
+
this.ui?.set({ animation: void 0 }), this.ui?.set({ fill: r });
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
// 切换 ui 的 visible
|
|
1101
|
+
toggleVisible(e) {
|
|
1102
|
+
this.ui?.set({ visible: e });
|
|
1103
|
+
}
|
|
1104
|
+
/**
|
|
1105
|
+
* 设置工位填充颜色:传值 color 则填充为该颜色;未传值(undefined / 空)时恢复为默认背景色
|
|
1106
|
+
* 供「资源操作窗口」等按工位序号动态改色的设备使用
|
|
1107
|
+
* @param color 目标颜色(如 '#66DC7A');缺省时使用工位配置背景色(默认 DEFAULT_BACKGROUND)
|
|
1108
|
+
*/
|
|
1109
|
+
setSiteWorkingColor(e) {
|
|
1110
|
+
const r = e && String(e).trim() ? String(e) : this.config.background ?? k;
|
|
1111
|
+
this.ui?.set({ fill: r });
|
|
1112
|
+
}
|
|
1113
|
+
/**
|
|
1114
|
+
* 销毁
|
|
1115
|
+
*/
|
|
1116
|
+
destroyUI() {
|
|
1117
|
+
this.removeAllPallet(), this.pendingDestroy && (this.pendingDestroy(), this.pendingDestroy = null), this.ui?.destroy();
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1120
|
+
const Qo = /* @__PURE__ */ new Set(["index", "resourceType", "name", "className"]), Zt = Q, ti = (t) => {
|
|
1121
|
+
const e = {};
|
|
1122
|
+
for (const [r, n] of Object.entries(t))
|
|
1123
|
+
n !== void 0 && (!Qo.has(r) && Zt[r] === n || (e[r] = n));
|
|
1124
|
+
return e;
|
|
1125
|
+
}, ei = (t) => ({ ...Zt, ...t }), B = (t, e) => {
|
|
1126
|
+
if (Array.isArray(t)) {
|
|
1127
|
+
t.forEach((n) => B(n, e));
|
|
1128
|
+
return;
|
|
1129
|
+
}
|
|
1130
|
+
if (!t || typeof t != "object") return;
|
|
1131
|
+
const r = t;
|
|
1132
|
+
Array.isArray(r.stationSlots) && (r.stationSlots = r.stationSlots.map(e)), Object.values(r).forEach((n) => B(n, e));
|
|
1133
|
+
}, ri = (t) => {
|
|
1134
|
+
const e = it(t);
|
|
1135
|
+
return B(e, ti), e;
|
|
1136
|
+
}, fi = (t) => t.map(ri), ni = (t) => {
|
|
1137
|
+
const e = it(t);
|
|
1138
|
+
return B(e, ei), e;
|
|
1139
|
+
}, hi = (t) => t.map(ni);
|
|
1140
|
+
function* di(t, e, r = !1) {
|
|
1141
|
+
let n = t;
|
|
1142
|
+
for (; ; ) {
|
|
1143
|
+
if (n > e)
|
|
1144
|
+
if (r)
|
|
1145
|
+
n = t;
|
|
1146
|
+
else
|
|
1147
|
+
return;
|
|
1148
|
+
yield n++;
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
const gi = (t = 0, e = 100, r = 3, n = 300, i) => i ? new Promise((o) => {
|
|
1152
|
+
const a = t, f = e, l = r * 1e3, u = performance.now();
|
|
1153
|
+
let d = 0;
|
|
1154
|
+
const _ = (y) => {
|
|
1155
|
+
const g = y - u, h = Math.min(g / l, 1), H = a + (f - a) * h;
|
|
1156
|
+
if (i(H.toFixed(2)), h >= 1) {
|
|
1157
|
+
cancelAnimationFrame(d), o();
|
|
1158
|
+
return;
|
|
1159
|
+
}
|
|
1160
|
+
d = requestAnimationFrame(_);
|
|
1161
|
+
};
|
|
1162
|
+
d = requestAnimationFrame(_);
|
|
1163
|
+
}) : !1;
|
|
1164
|
+
function pi(t, e, r = 3, n) {
|
|
1165
|
+
return t === void 0 || e === void 0 ? 0 : n ? e > 0 ? Number((t / e).toFixed(3)) : 0 : Number((e * t).toFixed(r));
|
|
1166
|
+
}
|
|
1167
|
+
function bi(t, e) {
|
|
1168
|
+
return t === void 0 || e === void 0 ? 0 : e > 0 ? Number((t / e).toFixed(3)) : t;
|
|
1169
|
+
}
|
|
1170
|
+
function _i(t, e, r, n) {
|
|
1171
|
+
if (t === void 0) return NaN;
|
|
1172
|
+
let i = 0;
|
|
1173
|
+
if (n === "width") {
|
|
1174
|
+
const o = e?.width || 0, a = e?.runtime_width || 0;
|
|
1175
|
+
if (o === 0 || a === 0) return 0;
|
|
1176
|
+
i = o / a;
|
|
1177
|
+
}
|
|
1178
|
+
if (n === "height") {
|
|
1179
|
+
const o = e?.height || 0, a = e?.runtime_height || 0;
|
|
1180
|
+
if (o === 0 || a === 0) return 0;
|
|
1181
|
+
i = o / a;
|
|
1182
|
+
}
|
|
1183
|
+
return Number((t * i).toFixed(r));
|
|
1184
|
+
}
|
|
1185
|
+
function yi(t, e, r, n) {
|
|
1186
|
+
if (t === void 0) return NaN;
|
|
1187
|
+
let i = 0;
|
|
1188
|
+
if (n === "width") {
|
|
1189
|
+
const o = e?.width || 0;
|
|
1190
|
+
if (o === 0) return t;
|
|
1191
|
+
i = o * t;
|
|
1192
|
+
}
|
|
1193
|
+
if (n === "height") {
|
|
1194
|
+
const o = e?.height || 0;
|
|
1195
|
+
if (o === 0) return t;
|
|
1196
|
+
i = o * t;
|
|
1197
|
+
}
|
|
1198
|
+
return Number(i.toFixed(r));
|
|
1199
|
+
}
|
|
1200
|
+
export {
|
|
1201
|
+
Zo as A,
|
|
1202
|
+
Bo as B,
|
|
1203
|
+
ui as C,
|
|
1204
|
+
le as D,
|
|
1205
|
+
oe as E,
|
|
1206
|
+
Yt as F,
|
|
1207
|
+
qo as G,
|
|
1208
|
+
Q as H,
|
|
1209
|
+
ii as M,
|
|
1210
|
+
ue as R,
|
|
1211
|
+
li as S,
|
|
1212
|
+
ie as a,
|
|
1213
|
+
ae as b,
|
|
1214
|
+
p as c,
|
|
1215
|
+
tt as d,
|
|
1216
|
+
$ as e,
|
|
1217
|
+
se as f,
|
|
1218
|
+
ce as g,
|
|
1219
|
+
bi as h,
|
|
1220
|
+
_i as i,
|
|
1221
|
+
yi as j,
|
|
1222
|
+
si as k,
|
|
1223
|
+
gi as l,
|
|
1224
|
+
et as m,
|
|
1225
|
+
di as n,
|
|
1226
|
+
ci as o,
|
|
1227
|
+
ri as p,
|
|
1228
|
+
fi as q,
|
|
1229
|
+
ni as r,
|
|
1230
|
+
ai as s,
|
|
1231
|
+
pi as t,
|
|
1232
|
+
hi as u,
|
|
1233
|
+
F as v,
|
|
1234
|
+
P as w,
|
|
1235
|
+
z as x,
|
|
1236
|
+
b as y,
|
|
1237
|
+
it as z
|
|
1238
|
+
};
|