react-sync-board 1.3.0 → 1.4.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/README.md +29 -0
- package/dist/react-sync-board.js +946 -1335
- package/dist/react-sync-board.js.map +1 -1
- package/dist/react-sync-board.umd.cjs +13 -18
- package/dist/react-sync-board.umd.cjs.map +1 -1
- package/package.json +5 -6
package/dist/react-sync-board.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import e, { memo as t, useCallback as n, useContext as r
|
|
1
|
+
import e, { memo as t, useCallback as n, useContext as r } from "react";
|
|
2
|
+
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
3
|
+
import { createStore as s } from "zustand";
|
|
4
|
+
import { useStoreWithEqualityFn as c } from "zustand/traditional";
|
|
5
|
+
import { shallow as l } from "zustand/shallow";
|
|
6
|
+
import { useDebouncedCallback as u, useDebouncedEffect as d, useEventListener as f, useResizeObserver as p } from "@react-hookz/web";
|
|
2
7
|
//#region \0rolldown/runtime.js
|
|
3
|
-
var
|
|
4
|
-
if (t && typeof t == "object" || typeof t == "function") for (var i =
|
|
8
|
+
var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescriptor, _ = Object.getOwnPropertyNames, v = Object.getPrototypeOf, y = Object.prototype.hasOwnProperty, b = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), x = (e, t, n, r) => {
|
|
9
|
+
if (t && typeof t == "object" || typeof t == "function") for (var i = _(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !y.call(e, s) && s !== n && h(e, s, {
|
|
5
10
|
get: ((e) => t[e]).bind(null, s),
|
|
6
|
-
enumerable: !(r =
|
|
11
|
+
enumerable: !(r = g(t, s)) || r.enumerable
|
|
7
12
|
});
|
|
8
13
|
return e;
|
|
9
|
-
},
|
|
14
|
+
}, S = (e, t, n) => (n = e == null ? {} : m(v(e)), x(t || !e || !e.__esModule || !y.call(e, "default") ? h(n, "default", {
|
|
10
15
|
value: e,
|
|
11
16
|
enumerable: !0
|
|
12
|
-
}) : n, e)),
|
|
13
|
-
if (typeof require < "u") return require.apply(this, arguments);
|
|
14
|
-
throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
15
|
-
}), _ = (e = 21) => crypto.getRandomValues(new Uint8Array(e)).reduce((e, t) => (t &= 63, e += t < 36 ? t.toString(36) : t < 62 ? (t - 26).toString(36).toUpperCase() : t > 62 ? "-" : "_", e), ""), v = class {
|
|
17
|
+
}) : n, e)), C = (e = 21) => crypto.getRandomValues(new Uint8Array(e)).reduce((e, t) => (t &= 63, e += t < 36 ? t.toString(36) : t < 62 ? (t - 26).toString(36).toUpperCase() : t > 62 ? "-" : "_", e), ""), w = class {
|
|
16
18
|
constructor(e, t, n = null) {
|
|
17
19
|
this._socket = e, this.userId = n, this.room = t, this.toUnregister = [() => {
|
|
18
20
|
this._socket.off(`${this.room}.isMaster`), this._socket.off(`${this.room}.roomJoined`), this._socket.off(`${this.room}._call`);
|
|
@@ -26,7 +28,7 @@ var s = Object.create, c = Object.defineProperty, l = Object.getOwnPropertyDescr
|
|
|
26
28
|
});
|
|
27
29
|
}
|
|
28
30
|
async _callServerRPC(e, t) {
|
|
29
|
-
let n =
|
|
31
|
+
let n = C();
|
|
30
32
|
return new Promise((r, i) => {
|
|
31
33
|
this._socket.once(`${this.room}._result.${n}`, (e) => {
|
|
32
34
|
e.hasOwnProperty("ok") ? r(e.ok) : i(e.err);
|
|
@@ -72,8 +74,8 @@ var s = Object.create, c = Object.defineProperty, l = Object.getOwnPropertyDescr
|
|
|
72
74
|
params: t
|
|
73
75
|
});
|
|
74
76
|
}
|
|
75
|
-
},
|
|
76
|
-
let a = new
|
|
77
|
+
}, ee = ({ socket: e, room: t, onJoined: n = () => {}, onMaster: r = () => {}, userId: i = null }) => {
|
|
78
|
+
let a = new w(e, t, i);
|
|
77
79
|
return new Promise((o) => {
|
|
78
80
|
let s = !0;
|
|
79
81
|
e.on(`${t}.isMaster`, () => {
|
|
@@ -90,198 +92,7 @@ var s = Object.create, c = Object.defineProperty, l = Object.getOwnPropertyDescr
|
|
|
90
92
|
userId: i
|
|
91
93
|
});
|
|
92
94
|
});
|
|
93
|
-
},
|
|
94
|
-
var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
|
|
95
|
-
function r(e, n, r) {
|
|
96
|
-
var i = null;
|
|
97
|
-
if (r !== void 0 && (i = "" + r), n.key !== void 0 && (i = "" + n.key), "key" in n) for (var a in r = {}, n) a !== "key" && (r[a] = n[a]);
|
|
98
|
-
else r = n;
|
|
99
|
-
return n = r.ref, {
|
|
100
|
-
$$typeof: t,
|
|
101
|
-
type: e,
|
|
102
|
-
key: i,
|
|
103
|
-
ref: n === void 0 ? null : n,
|
|
104
|
-
props: r
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
e.Fragment = n, e.jsx = r, e.jsxs = r;
|
|
108
|
-
})), x = /* @__PURE__ */ p(((e) => {
|
|
109
|
-
process.env.NODE_ENV !== "production" && (function() {
|
|
110
|
-
function t(e) {
|
|
111
|
-
if (e == null) return null;
|
|
112
|
-
if (typeof e == "function") return e.$$typeof === te ? null : e.displayName || e.name || null;
|
|
113
|
-
if (typeof e == "string") return e;
|
|
114
|
-
switch (e) {
|
|
115
|
-
case v: return "Fragment";
|
|
116
|
-
case b: return "Profiler";
|
|
117
|
-
case y: return "StrictMode";
|
|
118
|
-
case w: return "Suspense";
|
|
119
|
-
case T: return "SuspenseList";
|
|
120
|
-
case O: return "Activity";
|
|
121
|
-
case ee: return "ViewTransition";
|
|
122
|
-
}
|
|
123
|
-
if (typeof e == "object") switch (typeof e.tag == "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), e.$$typeof) {
|
|
124
|
-
case _: return "Portal";
|
|
125
|
-
case S: return e.displayName || "Context";
|
|
126
|
-
case x: return (e._context.displayName || "Context") + ".Consumer";
|
|
127
|
-
case C:
|
|
128
|
-
var n = e.render;
|
|
129
|
-
return e = e.displayName, e ||= (e = n.displayName || n.name || "", e === "" ? "ForwardRef" : "ForwardRef(" + e + ")"), e;
|
|
130
|
-
case E: return n = e.displayName || null, n === null ? t(e.type) || "Memo" : n;
|
|
131
|
-
case D:
|
|
132
|
-
n = e._payload, e = e._init;
|
|
133
|
-
try {
|
|
134
|
-
return t(e(n));
|
|
135
|
-
} catch {}
|
|
136
|
-
}
|
|
137
|
-
return null;
|
|
138
|
-
}
|
|
139
|
-
function n(e) {
|
|
140
|
-
return "" + e;
|
|
141
|
-
}
|
|
142
|
-
function r(e) {
|
|
143
|
-
try {
|
|
144
|
-
n(e);
|
|
145
|
-
var t = !1;
|
|
146
|
-
} catch {
|
|
147
|
-
t = !0;
|
|
148
|
-
}
|
|
149
|
-
if (t) {
|
|
150
|
-
t = console;
|
|
151
|
-
var r = t.error, i = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
152
|
-
return r.call(t, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", i), n(e);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
function i(e) {
|
|
156
|
-
if (e === v) return "<>";
|
|
157
|
-
if (typeof e == "object" && e && e.$$typeof === D) return "<...>";
|
|
158
|
-
try {
|
|
159
|
-
var n = t(e);
|
|
160
|
-
return n ? "<" + n + ">" : "<...>";
|
|
161
|
-
} catch {
|
|
162
|
-
return "<...>";
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
function a() {
|
|
166
|
-
var e = k.A;
|
|
167
|
-
return e === null ? null : e.getOwner();
|
|
168
|
-
}
|
|
169
|
-
function o() {
|
|
170
|
-
return Error("react-stack-top-frame");
|
|
171
|
-
}
|
|
172
|
-
function s(e) {
|
|
173
|
-
if (ne.call(e, "key")) {
|
|
174
|
-
var t = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
175
|
-
if (t && t.isReactWarning) return !1;
|
|
176
|
-
}
|
|
177
|
-
return e.key !== void 0;
|
|
178
|
-
}
|
|
179
|
-
function c(e, t) {
|
|
180
|
-
function n() {
|
|
181
|
-
ie || (ie = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", t));
|
|
182
|
-
}
|
|
183
|
-
n.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
184
|
-
get: n,
|
|
185
|
-
configurable: !0
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
function l() {
|
|
189
|
-
var e = t(this.type);
|
|
190
|
-
return j[e] || (j[e] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")), e = this.props.ref, e === void 0 ? null : e;
|
|
191
|
-
}
|
|
192
|
-
function u(e, t, n, r, i, a) {
|
|
193
|
-
var o = n.ref;
|
|
194
|
-
return e = {
|
|
195
|
-
$$typeof: h,
|
|
196
|
-
type: e,
|
|
197
|
-
key: t,
|
|
198
|
-
props: n,
|
|
199
|
-
_owner: r
|
|
200
|
-
}, (o === void 0 ? null : o) === null ? Object.defineProperty(e, "ref", {
|
|
201
|
-
enumerable: !1,
|
|
202
|
-
value: null
|
|
203
|
-
}) : Object.defineProperty(e, "ref", {
|
|
204
|
-
enumerable: !1,
|
|
205
|
-
get: l
|
|
206
|
-
}), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
207
|
-
configurable: !1,
|
|
208
|
-
enumerable: !1,
|
|
209
|
-
writable: !0,
|
|
210
|
-
value: 0
|
|
211
|
-
}), Object.defineProperty(e, "_debugInfo", {
|
|
212
|
-
configurable: !1,
|
|
213
|
-
enumerable: !1,
|
|
214
|
-
writable: !0,
|
|
215
|
-
value: null
|
|
216
|
-
}), Object.defineProperty(e, "_debugStack", {
|
|
217
|
-
configurable: !1,
|
|
218
|
-
enumerable: !1,
|
|
219
|
-
writable: !0,
|
|
220
|
-
value: i
|
|
221
|
-
}), Object.defineProperty(e, "_debugTask", {
|
|
222
|
-
configurable: !1,
|
|
223
|
-
enumerable: !1,
|
|
224
|
-
writable: !0,
|
|
225
|
-
value: a
|
|
226
|
-
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
227
|
-
}
|
|
228
|
-
function d(e, n, i, o, l, d) {
|
|
229
|
-
var p = n.children;
|
|
230
|
-
if (p !== void 0) {
|
|
231
|
-
if (o) {
|
|
232
|
-
if (re(p)) {
|
|
233
|
-
for (o = 0; o < p.length; o++) f(p[o]);
|
|
234
|
-
Object.freeze && Object.freeze(p);
|
|
235
|
-
} else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
236
|
-
} else f(p);
|
|
237
|
-
}
|
|
238
|
-
if (ne.call(n, "key")) {
|
|
239
|
-
p = t(e);
|
|
240
|
-
var m = Object.keys(n).filter(function(e) {
|
|
241
|
-
return e !== "key";
|
|
242
|
-
});
|
|
243
|
-
o = 0 < m.length ? "{key: someKey, " + m.join(": ..., ") + ": ...}" : "{key: someKey}", P[p + o] || (m = 0 < m.length ? "{" + m.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", o, p, m, p), P[p + o] = !0);
|
|
244
|
-
}
|
|
245
|
-
if (p = null, i !== void 0 && (r(i), p = "" + i), s(n) && (r(n.key), p = "" + n.key), "key" in n) for (var h in i = {}, n) h !== "key" && (i[h] = n[h]);
|
|
246
|
-
else i = n;
|
|
247
|
-
return p && c(i, typeof e == "function" ? e.displayName || e.name || "Unknown" : e), u(e, p, i, a(), l, d);
|
|
248
|
-
}
|
|
249
|
-
function f(e) {
|
|
250
|
-
p(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e && e.$$typeof === D && (e._payload.status === "fulfilled" ? p(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
251
|
-
}
|
|
252
|
-
function p(e) {
|
|
253
|
-
return typeof e == "object" && !!e && e.$$typeof === h;
|
|
254
|
-
}
|
|
255
|
-
var m = g("react"), h = Symbol.for("react.transitional.element"), _ = Symbol.for("react.portal"), v = Symbol.for("react.fragment"), y = Symbol.for("react.strict_mode"), b = Symbol.for("react.profiler"), x = Symbol.for("react.consumer"), S = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), T = Symbol.for("react.suspense_list"), E = Symbol.for("react.memo"), D = Symbol.for("react.lazy"), O = Symbol.for("react.activity"), ee = Symbol.for("react.view_transition"), te = Symbol.for("react.client.reference"), k = m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ne = Object.prototype.hasOwnProperty, re = Array.isArray, A = console.createTask ? console.createTask : function() {
|
|
256
|
-
return null;
|
|
257
|
-
};
|
|
258
|
-
m = { react_stack_bottom_frame: function(e) {
|
|
259
|
-
return e();
|
|
260
|
-
} };
|
|
261
|
-
var ie, j = {}, M = m.react_stack_bottom_frame.bind(m, o)(), N = A(i(o)), P = {};
|
|
262
|
-
e.Fragment = v, e.jsx = function(e, t, n) {
|
|
263
|
-
var r = 1e4 > k.recentlyCreatedOwnerStacks++;
|
|
264
|
-
if (r) {
|
|
265
|
-
var a = Error.stackTraceLimit;
|
|
266
|
-
Error.stackTraceLimit = 10;
|
|
267
|
-
var o = Error("react-stack-top-frame");
|
|
268
|
-
Error.stackTraceLimit = a;
|
|
269
|
-
} else o = M;
|
|
270
|
-
return d(e, t, n, !1, o, r ? A(i(e)) : N);
|
|
271
|
-
}, e.jsxs = function(e, t, n) {
|
|
272
|
-
var r = 1e4 > k.recentlyCreatedOwnerStacks++;
|
|
273
|
-
if (r) {
|
|
274
|
-
var a = Error.stackTraceLimit;
|
|
275
|
-
Error.stackTraceLimit = 10;
|
|
276
|
-
var o = Error("react-stack-top-frame");
|
|
277
|
-
Error.stackTraceLimit = a;
|
|
278
|
-
} else o = M;
|
|
279
|
-
return d(e, t, n, !0, o, r ? A(i(e)) : N);
|
|
280
|
-
};
|
|
281
|
-
})();
|
|
282
|
-
})), S = (/* @__PURE__ */ p(((e, t) => {
|
|
283
|
-
t.exports = process.env.NODE_ENV === "production" ? b() : x();
|
|
284
|
-
})))(), C = e.createContext(), w = () => /* @__PURE__ */ (0, S.jsx)("div", {
|
|
95
|
+
}, T = e.createContext(), te = () => /* @__PURE__ */ a("div", {
|
|
285
96
|
style: {
|
|
286
97
|
position: "absolute",
|
|
287
98
|
top: "0",
|
|
@@ -291,304 +102,74 @@ var s = Object.create, c = Object.defineProperty, l = Object.getOwnPropertyDescr
|
|
|
291
102
|
justifyContent: "center",
|
|
292
103
|
alignItems: "center"
|
|
293
104
|
},
|
|
294
|
-
children: /* @__PURE__ */ (
|
|
295
|
-
}),
|
|
296
|
-
let [
|
|
297
|
-
return e.useEffect(() => (
|
|
298
|
-
|
|
105
|
+
children: /* @__PURE__ */ a("h2", { children: "🌀 Loading..." })
|
|
106
|
+
}), E = ({ socket: t, room: n, channel: i = "default", LoadingComponent: o = te, children: s }) => {
|
|
107
|
+
let [c, l] = e.useState(!1), [u, d] = e.useState(!1), [f, p] = e.useState(null), m = e.useRef(null), h = e.useRef(!1), g = r(T), _ = e.useRef(!1);
|
|
108
|
+
return e.useEffect(() => (h.current = !0, () => {
|
|
109
|
+
h.current = !1;
|
|
299
110
|
}), []), e.useEffect(() => {
|
|
300
111
|
if (!t) return null;
|
|
301
112
|
let e = () => {
|
|
302
|
-
console.log(`Disconnected from ${i}…`),
|
|
113
|
+
console.log(`Disconnected from ${i}…`), h.current && (l(!1), d(!1));
|
|
303
114
|
};
|
|
304
115
|
return t.on("disconnect", e), () => {
|
|
305
116
|
t.off("disconnect", e);
|
|
306
117
|
};
|
|
307
|
-
}, [i, t]), e.useEffect(() => t ? (t.connected || t.connect(), console.log(`Try to connect to wire ${n} on channel ${i}`),
|
|
118
|
+
}, [i, t]), e.useEffect(() => t ? (t.connected || t.connect(), console.log(`Try to connect to wire ${n} on channel ${i}`), _.current || (_.current = !0, ee({
|
|
308
119
|
socket: t,
|
|
309
120
|
room: n,
|
|
310
121
|
onMaster: () => {
|
|
311
|
-
console.log(`Is now master on channel ${i}…`),
|
|
122
|
+
console.log(`Is now master on channel ${i}…`), h.current && d(!0);
|
|
312
123
|
},
|
|
313
124
|
onJoined: (e) => {
|
|
314
|
-
console.log(`Connected on channel ${i}…`),
|
|
125
|
+
console.log(`Connected on channel ${i}…`), m.current = e, h.current && (p(e), l(!0));
|
|
315
126
|
}
|
|
316
127
|
})), () => {
|
|
317
|
-
|
|
128
|
+
m.current?.leave();
|
|
318
129
|
}) : null, [
|
|
319
130
|
i,
|
|
320
131
|
n,
|
|
321
132
|
t
|
|
322
|
-
]), !
|
|
133
|
+
]), !c || !f ? /* @__PURE__ */ a(o, {}) : /* @__PURE__ */ a(T.Provider, {
|
|
323
134
|
value: {
|
|
324
|
-
...
|
|
135
|
+
...g,
|
|
325
136
|
[i]: {
|
|
326
|
-
wire:
|
|
327
|
-
joined:
|
|
328
|
-
isMaster:
|
|
137
|
+
wire: f,
|
|
138
|
+
joined: c,
|
|
139
|
+
isMaster: u,
|
|
329
140
|
room: n
|
|
330
141
|
}
|
|
331
142
|
},
|
|
332
|
-
children:
|
|
143
|
+
children: s
|
|
333
144
|
});
|
|
334
|
-
},
|
|
335
|
-
let t, n = /* @__PURE__ */ new Set(), r = (e, r) => {
|
|
336
|
-
let i = typeof e == "function" ? e(t) : e;
|
|
337
|
-
if (!Object.is(i, t)) {
|
|
338
|
-
let e = t;
|
|
339
|
-
t = r ?? (typeof i != "object" || !i) ? i : Object.assign({}, t, i), n.forEach((n) => n(t, e));
|
|
340
|
-
}
|
|
341
|
-
}, i = () => t, a = {
|
|
342
|
-
setState: r,
|
|
343
|
-
getState: i,
|
|
344
|
-
getInitialState: () => o,
|
|
345
|
-
subscribe: (e) => (n.add(e), () => n.delete(e))
|
|
346
|
-
}, o = t = e(r, i, a);
|
|
347
|
-
return a;
|
|
348
|
-
}, O = ((e) => e ? D(e) : D), ee = /* @__PURE__ */ p(((e) => {
|
|
349
|
-
var t = g("react");
|
|
350
|
-
function n(e, t) {
|
|
351
|
-
return e === t && (e !== 0 || 1 / e == 1 / t) || e !== e && t !== t;
|
|
352
|
-
}
|
|
353
|
-
var r = typeof Object.is == "function" ? Object.is : n, i = t.useState, a = t.useEffect, o = t.useLayoutEffect, s = t.useDebugValue;
|
|
354
|
-
function c(e, t) {
|
|
355
|
-
var n = t(), r = i({ inst: {
|
|
356
|
-
value: n,
|
|
357
|
-
getSnapshot: t
|
|
358
|
-
} }), c = r[0].inst, u = r[1];
|
|
359
|
-
return o(function() {
|
|
360
|
-
c.value = n, c.getSnapshot = t, l(c) && u({ inst: c });
|
|
361
|
-
}, [
|
|
362
|
-
e,
|
|
363
|
-
n,
|
|
364
|
-
t
|
|
365
|
-
]), a(function() {
|
|
366
|
-
return l(c) && u({ inst: c }), e(function() {
|
|
367
|
-
l(c) && u({ inst: c });
|
|
368
|
-
});
|
|
369
|
-
}, [e]), s(n), n;
|
|
370
|
-
}
|
|
371
|
-
function l(e) {
|
|
372
|
-
var t = e.getSnapshot;
|
|
373
|
-
e = e.value;
|
|
374
|
-
try {
|
|
375
|
-
var n = t();
|
|
376
|
-
return !r(e, n);
|
|
377
|
-
} catch {
|
|
378
|
-
return !0;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
function u(e, t) {
|
|
382
|
-
return t();
|
|
383
|
-
}
|
|
384
|
-
var d = typeof window > "u" || window.document === void 0 || window.document.createElement === void 0 ? u : c;
|
|
385
|
-
e.useSyncExternalStore = t.useSyncExternalStore === void 0 ? d : t.useSyncExternalStore;
|
|
386
|
-
})), te = /* @__PURE__ */ p(((e) => {
|
|
387
|
-
process.env.NODE_ENV !== "production" && (function() {
|
|
388
|
-
function t(e, t) {
|
|
389
|
-
return e === t && (e !== 0 || 1 / e == 1 / t) || e !== e && t !== t;
|
|
390
|
-
}
|
|
391
|
-
function n(e, t) {
|
|
392
|
-
d || a.startTransition === void 0 || (d = !0, console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));
|
|
393
|
-
var n = t();
|
|
394
|
-
if (!f) {
|
|
395
|
-
var i = t();
|
|
396
|
-
o(n, i) || (console.error("The result of getSnapshot should be cached to avoid an infinite loop"), f = !0);
|
|
397
|
-
}
|
|
398
|
-
i = s({ inst: {
|
|
399
|
-
value: n,
|
|
400
|
-
getSnapshot: t
|
|
401
|
-
} });
|
|
402
|
-
var p = i[0].inst, m = i[1];
|
|
403
|
-
return l(function() {
|
|
404
|
-
p.value = n, p.getSnapshot = t, r(p) && m({ inst: p });
|
|
405
|
-
}, [
|
|
406
|
-
e,
|
|
407
|
-
n,
|
|
408
|
-
t
|
|
409
|
-
]), c(function() {
|
|
410
|
-
return r(p) && m({ inst: p }), e(function() {
|
|
411
|
-
r(p) && m({ inst: p });
|
|
412
|
-
});
|
|
413
|
-
}, [e]), u(n), n;
|
|
414
|
-
}
|
|
415
|
-
function r(e) {
|
|
416
|
-
var t = e.getSnapshot;
|
|
417
|
-
e = e.value;
|
|
418
|
-
try {
|
|
419
|
-
var n = t();
|
|
420
|
-
return !o(e, n);
|
|
421
|
-
} catch {
|
|
422
|
-
return !0;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
function i(e, t) {
|
|
426
|
-
return t();
|
|
427
|
-
}
|
|
428
|
-
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
429
|
-
var a = g("react"), o = typeof Object.is == "function" ? Object.is : t, s = a.useState, c = a.useEffect, l = a.useLayoutEffect, u = a.useDebugValue, d = !1, f = !1, p = typeof window > "u" || window.document === void 0 || window.document.createElement === void 0 ? i : n;
|
|
430
|
-
e.useSyncExternalStore = a.useSyncExternalStore === void 0 ? p : a.useSyncExternalStore, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
431
|
-
})();
|
|
432
|
-
})), k = /* @__PURE__ */ p(((e, t) => {
|
|
433
|
-
t.exports = process.env.NODE_ENV === "production" ? ee() : te();
|
|
434
|
-
})), ne = /* @__PURE__ */ p(((e) => {
|
|
435
|
-
var t = g("react"), n = k();
|
|
436
|
-
function r(e, t) {
|
|
437
|
-
return e === t && (e !== 0 || 1 / e == 1 / t) || e !== e && t !== t;
|
|
438
|
-
}
|
|
439
|
-
var i = typeof Object.is == "function" ? Object.is : r, a = n.useSyncExternalStore, o = t.useRef, s = t.useEffect, c = t.useMemo, l = t.useDebugValue;
|
|
440
|
-
e.useSyncExternalStoreWithSelector = function(e, t, n, r, u) {
|
|
441
|
-
var d = o(null);
|
|
442
|
-
if (d.current === null) {
|
|
443
|
-
var f = {
|
|
444
|
-
hasValue: !1,
|
|
445
|
-
value: null
|
|
446
|
-
};
|
|
447
|
-
d.current = f;
|
|
448
|
-
} else f = d.current;
|
|
449
|
-
d = c(function() {
|
|
450
|
-
function e(e) {
|
|
451
|
-
if (!a) {
|
|
452
|
-
if (a = !0, o = e, e = r(e), u !== void 0 && f.hasValue) {
|
|
453
|
-
var t = f.value;
|
|
454
|
-
if (u(t, e)) return s = t;
|
|
455
|
-
}
|
|
456
|
-
return s = e;
|
|
457
|
-
}
|
|
458
|
-
if (t = s, i(o, e)) return t;
|
|
459
|
-
var n = r(e);
|
|
460
|
-
return u !== void 0 && u(t, n) ? (o = e, t) : (o = e, s = n);
|
|
461
|
-
}
|
|
462
|
-
var a = !1, o, s, c = n === void 0 ? null : n;
|
|
463
|
-
return [function() {
|
|
464
|
-
return e(t());
|
|
465
|
-
}, c === null ? void 0 : function() {
|
|
466
|
-
return e(c());
|
|
467
|
-
}];
|
|
468
|
-
}, [
|
|
469
|
-
t,
|
|
470
|
-
n,
|
|
471
|
-
r,
|
|
472
|
-
u
|
|
473
|
-
]);
|
|
474
|
-
var p = a(e, d[0], d[1]);
|
|
475
|
-
return s(function() {
|
|
476
|
-
f.hasValue = !0, f.value = p;
|
|
477
|
-
}, [p]), l(p), p;
|
|
478
|
-
};
|
|
479
|
-
})), re = /* @__PURE__ */ p(((e) => {
|
|
480
|
-
process.env.NODE_ENV !== "production" && (function() {
|
|
481
|
-
function t(e, t) {
|
|
482
|
-
return e === t && (e !== 0 || 1 / e == 1 / t) || e !== e && t !== t;
|
|
483
|
-
}
|
|
484
|
-
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
485
|
-
var n = g("react"), r = k(), i = typeof Object.is == "function" ? Object.is : t, a = r.useSyncExternalStore, o = n.useRef, s = n.useEffect, c = n.useMemo, l = n.useDebugValue;
|
|
486
|
-
e.useSyncExternalStoreWithSelector = function(e, t, n, r, u) {
|
|
487
|
-
var d = o(null);
|
|
488
|
-
if (d.current === null) {
|
|
489
|
-
var f = {
|
|
490
|
-
hasValue: !1,
|
|
491
|
-
value: null
|
|
492
|
-
};
|
|
493
|
-
d.current = f;
|
|
494
|
-
} else f = d.current;
|
|
495
|
-
d = c(function() {
|
|
496
|
-
function e(e) {
|
|
497
|
-
if (!a) {
|
|
498
|
-
if (a = !0, o = e, e = r(e), u !== void 0 && f.hasValue) {
|
|
499
|
-
var t = f.value;
|
|
500
|
-
if (u(t, e)) return s = t;
|
|
501
|
-
}
|
|
502
|
-
return s = e;
|
|
503
|
-
}
|
|
504
|
-
if (t = s, i(o, e)) return t;
|
|
505
|
-
var n = r(e);
|
|
506
|
-
return u !== void 0 && u(t, n) ? (o = e, t) : (o = e, s = n);
|
|
507
|
-
}
|
|
508
|
-
var a = !1, o, s, c = n === void 0 ? null : n;
|
|
509
|
-
return [function() {
|
|
510
|
-
return e(t());
|
|
511
|
-
}, c === null ? void 0 : function() {
|
|
512
|
-
return e(c());
|
|
513
|
-
}];
|
|
514
|
-
}, [
|
|
515
|
-
t,
|
|
516
|
-
n,
|
|
517
|
-
r,
|
|
518
|
-
u
|
|
519
|
-
]);
|
|
520
|
-
var p = a(e, d[0], d[1]);
|
|
521
|
-
return s(function() {
|
|
522
|
-
f.hasValue = !0, f.value = p;
|
|
523
|
-
}, [p]), l(p), p;
|
|
524
|
-
}, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
525
|
-
})();
|
|
526
|
-
})), { useSyncExternalStoreWithSelector: A } = (/* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
527
|
-
t.exports = process.env.NODE_ENV === "production" ? ne() : re();
|
|
528
|
-
})))(), 1)).default, ie = (e) => e;
|
|
529
|
-
function j(t, n = ie, r) {
|
|
530
|
-
let i = A(t.subscribe, t.getState, t.getInitialState, n, r);
|
|
531
|
-
return e.useDebugValue(i), i;
|
|
532
|
-
}
|
|
533
|
-
//#endregion
|
|
534
|
-
//#region node_modules/zustand/esm/vanilla/shallow.mjs
|
|
535
|
-
var M = (e) => Symbol.iterator in e, N = (e) => "entries" in e, P = (e, t) => {
|
|
536
|
-
let n = e instanceof Map ? e : new Map(e.entries()), r = t instanceof Map ? t : new Map(t.entries());
|
|
537
|
-
if (n.size !== r.size) return !1;
|
|
538
|
-
for (let [e, t] of n) if (!r.has(e) || !Object.is(t, r.get(e))) return !1;
|
|
539
|
-
return !0;
|
|
540
|
-
}, ae = (e, t) => {
|
|
541
|
-
let n = e[Symbol.iterator](), r = t[Symbol.iterator](), i = n.next(), a = r.next();
|
|
542
|
-
for (; !i.done && !a.done;) {
|
|
543
|
-
if (!Object.is(i.value, a.value)) return !1;
|
|
544
|
-
i = n.next(), a = r.next();
|
|
545
|
-
}
|
|
546
|
-
return !!i.done && !!a.done;
|
|
547
|
-
};
|
|
548
|
-
function oe(e, t) {
|
|
549
|
-
return Object.is(e, t) ? !0 : typeof e != "object" || !e || typeof t != "object" || !t || Object.getPrototypeOf(e) !== Object.getPrototypeOf(t) ? !1 : M(e) && M(t) ? N(e) && N(t) ? P(e, t) : ae(e, t) : P({ entries: () => Object.entries(e) }, { entries: () => Object.entries(t) });
|
|
550
|
-
}
|
|
551
|
-
//#endregion
|
|
552
|
-
//#region src/lib/utils.js
|
|
553
|
-
var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t) ? e : e.parentNode ? I(e.parentNode, t) : !1, se = ([e, t], [n, r]) => {
|
|
145
|
+
}, D = (e = "default") => (r(T) || {})[e], O = (e, t) => e.classList && e.classList.contains(t), ne = (e, t) => O(e, t) ? e : e.parentNode ? ne(e.parentNode, t) : !1, re = ([e, t], [n, r]) => {
|
|
554
146
|
let i = Math.abs(e - n), a = Math.abs(t - r);
|
|
555
147
|
return Math.hypot(i, a);
|
|
556
|
-
},
|
|
148
|
+
}, ie = (e, t, n) => {
|
|
557
149
|
let r = n * Math.PI / 180;
|
|
558
150
|
return [e * Math.cos(r) - t * Math.sin(r), e * Math.sin(r) + t * Math.cos(r)];
|
|
559
|
-
},
|
|
560
|
-
let [o, s] =
|
|
151
|
+
}, k = ([e, t], { scale: n, rotate: r, translateX: i, translateY: a }) => ie((e - i) / n, (t - a) / n, -r), A = ([e, t], { scale: n, rotate: r, translateX: i, translateY: a }) => {
|
|
152
|
+
let [o, s] = ie(e, t, r);
|
|
561
153
|
return [o * n + i, s * n + a];
|
|
562
|
-
},
|
|
563
|
-
let i = e.x, a = e.y, o = t.x, s = t.y, c = n.x, l = n.y, u = o - i, d = s - a, f = i - c, p = a - l, m = u * u + d * d, h = 2 * (f * u + p * d), g = f * f + p * p - r * r, _ = h * h - 4 * m * g;
|
|
564
|
-
if (_ < 0) return [];
|
|
565
|
-
let v = (-h + Math.sqrt(_)) / (2 * m), y = (-h - Math.sqrt(_)) / (2 * m), b = [];
|
|
566
|
-
return v >= 0 && v <= 1 && b.push({
|
|
567
|
-
x: i + v * u,
|
|
568
|
-
y: a + v * d
|
|
569
|
-
}), y >= 0 && y <= 1 && b.push({
|
|
570
|
-
x: i + y * u,
|
|
571
|
-
y: a + y * d
|
|
572
|
-
}), b;
|
|
573
|
-
}, de = (e, t) => e.x > t.left && e.x < t.left + t.width && e.y > t.top && e.y < t.top + t.height, fe = (e, t) => Array.from(e.querySelectorAll(".corner")).every((e) => {
|
|
154
|
+
}, j = (e, t) => e.x > t.left && e.x < t.left + t.width && e.y > t.top && e.y < t.top + t.height, ae = (e, t) => Array.from(e.querySelectorAll(".corner")).every((e) => {
|
|
574
155
|
let { top: n, left: r } = e.getBoundingClientRect();
|
|
575
|
-
return
|
|
156
|
+
return j({
|
|
576
157
|
x: r,
|
|
577
158
|
y: n
|
|
578
159
|
}, t);
|
|
579
|
-
}),
|
|
160
|
+
}), oe = (e, t) => ae(e, t.getBoundingClientRect()), M = (e, t) => {
|
|
580
161
|
try {
|
|
581
162
|
return document.getElementById(`${e}__${t}`);
|
|
582
163
|
} catch {
|
|
583
164
|
console.error(`Error while getting item with id ${t} inside wrapper`, e);
|
|
584
165
|
return;
|
|
585
166
|
}
|
|
586
|
-
},
|
|
167
|
+
}, N = (e) => {
|
|
587
168
|
let t = e?.dataset?.id;
|
|
588
169
|
return t || console.error("getIdFromElem call fails", e, JSON.stringify(e?.dataset), e?.dataset?.id), t;
|
|
589
|
-
},
|
|
170
|
+
}, se = (e, t) => {
|
|
590
171
|
let n = e.reduce((e, n) => {
|
|
591
|
-
let r =
|
|
172
|
+
let r = M(t, n);
|
|
592
173
|
if (!r) return e || null;
|
|
593
174
|
let { left: i, right: a, top: o, bottom: s } = r.getBoundingClientRect(), c;
|
|
594
175
|
return c = e || {
|
|
@@ -599,10 +180,10 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
599
180
|
}, c.left = Math.min(i, c.left), c.top = Math.min(o, c.top), c.right = Math.max(a, c.right), c.bottom = Math.max(s, c.bottom), c;
|
|
600
181
|
}, null);
|
|
601
182
|
return n && (n.width = n.right - n.left, n.height = n.bottom - n.top, n);
|
|
602
|
-
},
|
|
603
|
-
let r = new Set(
|
|
183
|
+
}, ce = (e, t, n = null) => (n === null && (n = /* @__PURE__ */ new Set()), !Array.isArray(t) || t.length === 0 ? [] : t.map((t) => n.has(t) ? [] : (n.add(t), e[t] ? [t, ...ce(e, e[t].linkedItems, n)] : [])).flat()), le = (e, t, n) => {
|
|
184
|
+
let r = new Set(ce(e, n));
|
|
604
185
|
return t.filter((e) => r.has(e));
|
|
605
|
-
},
|
|
186
|
+
}, ue = ({ x: e, y: t, width: n, height: r }, { type: i = "grid", size: a = 1, offset: o = {
|
|
606
187
|
x: 0,
|
|
607
188
|
y: 0
|
|
608
189
|
} }) => {
|
|
@@ -623,7 +204,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
623
204
|
x: l + o.x - n / 2,
|
|
624
205
|
y: u + o.y - r / 2
|
|
625
206
|
};
|
|
626
|
-
},
|
|
207
|
+
}, de = /* @__PURE__ */ "#037758.#99092a.#067070.#c6650f.#008726.#3d7004.#348402.#057f58.#b58612.#c44c01.#0a7704.#0e910e.#027377.#c99e02.#054160.#157a01.#b10de2.#0d6289.#bc5d03.#ba0cd1.#d39f10.#0c4c7a.#460782.#a51f10.#cecb10.#9b0943.#607f0c.#007a4b.#bf0daa.#af0ad8".split("."), fe = () => de[Math.floor(Math.random() * de.length)], pe = ({ wire: e, storeName: t, noSync: n = [], defaultValue: r }, i) => (a, o, s) => {
|
|
627
208
|
a({ ready: !1 });
|
|
628
209
|
let c = [];
|
|
629
210
|
(async () => {
|
|
@@ -647,7 +228,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
647
228
|
return d.unsub = () => {
|
|
648
229
|
c.forEach((e) => e());
|
|
649
230
|
}, d;
|
|
650
|
-
},
|
|
231
|
+
}, me = e.createContext(), he = (e, t) => ({
|
|
651
232
|
items: {},
|
|
652
233
|
getItems: () => t().items,
|
|
653
234
|
setItems: (t) => e({ items: t }),
|
|
@@ -670,7 +251,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
670
251
|
});
|
|
671
252
|
}), { items: r };
|
|
672
253
|
})
|
|
673
|
-
}),
|
|
254
|
+
}), ge = (e, t) => ({
|
|
674
255
|
itemIds: [],
|
|
675
256
|
setItemIds: (t) => e({ itemIds: t }),
|
|
676
257
|
getItemIds: () => t().itemIds,
|
|
@@ -687,7 +268,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
687
268
|
return r[t] = n, { itemIds: r };
|
|
688
269
|
}),
|
|
689
270
|
updateManyItemIds: (t) => e((e) => ({ itemIds: e.itemIds.map((e, n) => t[n] === void 0 ? e : t[n]) }))
|
|
690
|
-
}),
|
|
271
|
+
}), _e = (e, t) => ({
|
|
691
272
|
removeItemsById: (t) => e((e) => ({
|
|
692
273
|
itemIds: e.itemIds.filter((e) => !t.includes(e)),
|
|
693
274
|
items: Object.fromEntries(Object.entries(e.items).filter(([e]) => !t.includes(e)))
|
|
@@ -714,7 +295,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
714
295
|
itemIds: r
|
|
715
296
|
};
|
|
716
297
|
})
|
|
717
|
-
}),
|
|
298
|
+
}), ve = (e, t) => ({
|
|
718
299
|
boardConfig: {},
|
|
719
300
|
getBoardConfig: () => t().boardConfig,
|
|
720
301
|
setBoardConfig: (t) => e({ boardConfig: t }),
|
|
@@ -722,7 +303,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
722
303
|
...e.boardConfig,
|
|
723
304
|
...t
|
|
724
305
|
} }))
|
|
725
|
-
}),
|
|
306
|
+
}), ye = (e, t) => ({
|
|
726
307
|
session: {},
|
|
727
308
|
getSessionInfo: () => t().session,
|
|
728
309
|
setSessionInfo: (t) => e({ session: t }),
|
|
@@ -730,31 +311,34 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
730
311
|
...e.session,
|
|
731
312
|
...t
|
|
732
313
|
} }))
|
|
733
|
-
}),
|
|
734
|
-
let { wire: i } =
|
|
314
|
+
}), be = ({ storeName: t, children: n, defaultValue: r }) => {
|
|
315
|
+
let { wire: i } = D("room"), [o, c] = e.useState(!1), [l] = e.useState(() => s(pe({
|
|
735
316
|
wire: i,
|
|
736
317
|
storeName: t,
|
|
737
318
|
defaultValue: r
|
|
738
319
|
}, (...e) => ({
|
|
739
|
-
...
|
|
740
|
-
...
|
|
741
|
-
...
|
|
742
|
-
...
|
|
743
|
-
...
|
|
320
|
+
...he(...e),
|
|
321
|
+
...ge(...e),
|
|
322
|
+
..._e(...e),
|
|
323
|
+
...ve(...e),
|
|
324
|
+
...ye(...e)
|
|
744
325
|
}))));
|
|
745
326
|
return e.useEffect(() => {
|
|
746
|
-
let e =
|
|
747
|
-
t.ready && (e(),
|
|
327
|
+
let e = l.subscribe((t) => {
|
|
328
|
+
t.ready && (e(), c(!0));
|
|
748
329
|
});
|
|
749
|
-
}, [
|
|
750
|
-
value:
|
|
330
|
+
}, [l]), o ? /* @__PURE__ */ a(me.Provider, {
|
|
331
|
+
value: l,
|
|
751
332
|
children: n
|
|
752
333
|
}) : null;
|
|
753
|
-
},
|
|
754
|
-
let
|
|
334
|
+
}, P = (e) => {
|
|
335
|
+
let t = r(me);
|
|
336
|
+
return c(t, e, l);
|
|
337
|
+
}, xe = () => {
|
|
338
|
+
let [t, n] = P((e) => [e.itemIds, e.items]);
|
|
755
339
|
return e.useMemo(() => t.map((e) => n[e]), [t, n]);
|
|
756
|
-
},
|
|
757
|
-
let [t, n, r] =
|
|
340
|
+
}, Se = () => {
|
|
341
|
+
let [t, n, r] = P((e) => [
|
|
758
342
|
e.items,
|
|
759
343
|
e.itemIds,
|
|
760
344
|
e.getItemList
|
|
@@ -769,7 +353,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
769
353
|
n,
|
|
770
354
|
r
|
|
771
355
|
]), i;
|
|
772
|
-
},
|
|
356
|
+
}, Ce = 5e4, we = e.createContext(), Te = (e, t) => ({
|
|
773
357
|
config: {
|
|
774
358
|
itemTemplates: {},
|
|
775
359
|
actions: {},
|
|
@@ -780,14 +364,14 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
780
364
|
radius: 0
|
|
781
365
|
},
|
|
782
366
|
boardWrapperRect: {},
|
|
783
|
-
boardSize:
|
|
367
|
+
boardSize: Ce
|
|
784
368
|
},
|
|
785
369
|
updateConfiguration: (t) => e((e) => ({ config: {
|
|
786
370
|
...e.config,
|
|
787
371
|
...t
|
|
788
372
|
} })),
|
|
789
373
|
getConfiguration: () => t().config
|
|
790
|
-
}),
|
|
374
|
+
}), Ee = (e, t) => ({
|
|
791
375
|
boardState: {
|
|
792
376
|
movingItems: !1,
|
|
793
377
|
selecting: !1,
|
|
@@ -803,7 +387,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
803
387
|
...t
|
|
804
388
|
} })),
|
|
805
389
|
getBoardState: () => t().boardState
|
|
806
|
-
}),
|
|
390
|
+
}), De = (e, t) => ({
|
|
807
391
|
interactions: {},
|
|
808
392
|
getInteractions: () => t().interactions,
|
|
809
393
|
register: (t, n) => e((e) => {
|
|
@@ -825,7 +409,7 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
825
409
|
setTimeout(() => e(n), 0);
|
|
826
410
|
});
|
|
827
411
|
}
|
|
828
|
-
}),
|
|
412
|
+
}), Oe = (e, t) => ({
|
|
829
413
|
selection: [],
|
|
830
414
|
setSelection: (t) => e((e) => JSON.stringify(e.selection) === JSON.stringify(t) ? {} : { selection: t }),
|
|
831
415
|
getSelection: () => t().selection,
|
|
@@ -841,204 +425,34 @@ var F = (e, t) => e.classList && e.classList.contains(t), I = (e, t) => F(e, t)
|
|
|
841
425
|
let n = e.selectionBox;
|
|
842
426
|
return !n || !t || n.top !== t.top || n.left !== t.left || n.width !== t.width || n.height !== t.height ? { selectionBox: t } : {};
|
|
843
427
|
})
|
|
844
|
-
}),
|
|
845
|
-
let [n] = e.useState(() =>
|
|
846
|
-
...
|
|
847
|
-
...
|
|
848
|
-
...
|
|
849
|
-
...
|
|
428
|
+
}), ke = ({ children: t }) => {
|
|
429
|
+
let [n] = e.useState(() => s((...e) => ({
|
|
430
|
+
...Te(...e),
|
|
431
|
+
...Ee(...e),
|
|
432
|
+
...De(...e),
|
|
433
|
+
...Oe(...e)
|
|
850
434
|
})));
|
|
851
|
-
return /* @__PURE__ */ (
|
|
435
|
+
return /* @__PURE__ */ a(we.Provider, {
|
|
852
436
|
value: n,
|
|
853
437
|
children: t
|
|
854
438
|
});
|
|
855
|
-
},
|
|
856
|
-
let
|
|
439
|
+
}, F = (e) => {
|
|
440
|
+
let t = r(we);
|
|
441
|
+
return c(t, e, l);
|
|
442
|
+
}, Ae = () => {
|
|
443
|
+
let [e] = F((e) => [e.selection]);
|
|
857
444
|
return e;
|
|
858
|
-
},
|
|
859
|
-
let [e] =
|
|
445
|
+
}, je = () => {
|
|
446
|
+
let [e] = F((e) => [e.getSelection]);
|
|
860
447
|
return e;
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
//#region node_modules/@react-hookz/web/dist/useSyncedRef/index.js
|
|
864
|
-
function ze(e) {
|
|
865
|
-
let t = o(e);
|
|
866
|
-
return t.current = e, a(() => Object.freeze({ get current() {
|
|
867
|
-
return t.current;
|
|
868
|
-
} }), []);
|
|
869
|
-
}
|
|
870
|
-
//#endregion
|
|
871
|
-
//#region node_modules/@react-hookz/web/dist/useUnmountEffect/index.js
|
|
872
|
-
function Be(e) {
|
|
873
|
-
let t = ze(e);
|
|
874
|
-
i(() => () => {
|
|
875
|
-
t.current();
|
|
876
|
-
}, []);
|
|
877
|
-
}
|
|
878
|
-
//#endregion
|
|
879
|
-
//#region node_modules/@react-hookz/web/dist/useDebouncedCallback/index.js
|
|
880
|
-
function Ve(e, t, n, r = 0) {
|
|
881
|
-
let s = o(void 0), c = o(void 0), l = o(e), u = o(void 0), d = () => {
|
|
882
|
-
s.current &&= (clearTimeout(s.current), void 0), c.current &&= (clearTimeout(c.current), void 0);
|
|
883
|
-
};
|
|
884
|
-
return Be(d), i(() => {
|
|
885
|
-
l.current = e;
|
|
886
|
-
}, t), a(() => {
|
|
887
|
-
let t = () => {
|
|
888
|
-
if (d(), !u.current) return;
|
|
889
|
-
let e = u.current;
|
|
890
|
-
u.current = void 0, l.current.apply(e.this, e.args);
|
|
891
|
-
}, i = function(...e) {
|
|
892
|
-
s.current && clearTimeout(s.current), u.current = {
|
|
893
|
-
args: e,
|
|
894
|
-
this: this
|
|
895
|
-
}, s.current = setTimeout(t, n), r > 0 && !c.current && (c.current = setTimeout(t, r));
|
|
896
|
-
};
|
|
897
|
-
return Object.defineProperties(i, {
|
|
898
|
-
length: { value: e.length },
|
|
899
|
-
name: { value: `${e.name || "anonymous"}__debounced__${n}` }
|
|
900
|
-
}), i;
|
|
901
|
-
}, [
|
|
902
|
-
n,
|
|
903
|
-
r,
|
|
904
|
-
...t
|
|
905
|
-
]);
|
|
906
|
-
}
|
|
907
|
-
//#endregion
|
|
908
|
-
//#region node_modules/@react-hookz/web/dist/util/const.js
|
|
909
|
-
var He = typeof globalThis < "u" && typeof navigator < "u" && typeof document < "u";
|
|
910
|
-
//#endregion
|
|
911
|
-
//#region node_modules/@react-hookz/web/dist/util/misc.js
|
|
912
|
-
function Ue(e, ...t) {
|
|
913
|
-
e?.addEventListener(...t);
|
|
914
|
-
}
|
|
915
|
-
function We(e, ...t) {
|
|
916
|
-
e?.removeEventListener(...t);
|
|
917
|
-
}
|
|
918
|
-
var Ge = (e, t) => Object.hasOwn(e, t);
|
|
919
|
-
//#endregion
|
|
920
|
-
//#region node_modules/@react-hookz/web/dist/useDebouncedEffect/index.js
|
|
921
|
-
function Ke(e, t, n, r = 0) {
|
|
922
|
-
i(Ve(e, t, n, r), t);
|
|
923
|
-
}
|
|
924
|
-
//#endregion
|
|
925
|
-
//#region node_modules/@react-hookz/web/dist/useIsMounted/index.js
|
|
926
|
-
function qe(e = !1) {
|
|
927
|
-
let t = o(e), r = n(() => t.current, []);
|
|
928
|
-
return i(() => (t.current = !0, () => {
|
|
929
|
-
t.current = !1;
|
|
930
|
-
}), []), r;
|
|
931
|
-
}
|
|
932
|
-
//#endregion
|
|
933
|
-
//#region node_modules/@react-hookz/web/dist/useResizeObserver/index.js
|
|
934
|
-
var Je = /* @__PURE__ */ new Map();
|
|
935
|
-
function Ye(e) {
|
|
936
|
-
if (!He) return;
|
|
937
|
-
let t = Je.get(e);
|
|
938
|
-
if (t) return t;
|
|
939
|
-
let n = /* @__PURE__ */ new Map(), r = new ResizeObserver((e) => {
|
|
940
|
-
for (let t of e) {
|
|
941
|
-
let e = n.get(t.target);
|
|
942
|
-
if (e !== void 0 && e.size !== 0) for (let n of e) setTimeout(() => {
|
|
943
|
-
n(t);
|
|
944
|
-
}, 0);
|
|
945
|
-
}
|
|
946
|
-
}), i = {
|
|
947
|
-
observer: r,
|
|
948
|
-
subscribe(t, i) {
|
|
949
|
-
let a = n.get(t);
|
|
950
|
-
a || (a = /* @__PURE__ */ new Set(), n.set(t, a), r.observe(t, { box: e })), a.add(i);
|
|
951
|
-
},
|
|
952
|
-
unsubscribe(e, t) {
|
|
953
|
-
let i = n.get(e);
|
|
954
|
-
i && (i.delete(t), i.size === 0 && (n.delete(e), r.unobserve(e)));
|
|
955
|
-
}
|
|
956
|
-
};
|
|
957
|
-
return Je.set(e, i), i;
|
|
958
|
-
}
|
|
959
|
-
function Xe(e, t, n = !0, r = "content-box") {
|
|
960
|
-
let a = n && Ye(r), o = ze(t), s = e && "current" in e ? e.current : e;
|
|
961
|
-
i(() => {
|
|
962
|
-
let t = e && "current" in e ? e.current : e;
|
|
963
|
-
if (a === !1 || a === void 0 || t == null) return;
|
|
964
|
-
let n = !0, r = (...e) => {
|
|
965
|
-
n && o.current(...e);
|
|
966
|
-
};
|
|
967
|
-
return a.subscribe(t, r), () => {
|
|
968
|
-
n = !1, a.unsubscribe(t, r);
|
|
969
|
-
};
|
|
970
|
-
}, [s, a]);
|
|
971
|
-
}
|
|
972
|
-
//#endregion
|
|
973
|
-
//#region node_modules/@react-hookz/web/dist/useEventListener/index.js
|
|
974
|
-
function H(e, ...t) {
|
|
975
|
-
let n = qe(), r = ze(t[1]), o = a(() => function(...e) {
|
|
976
|
-
n() && (typeof r.current == "function" ? r.current.apply(this, e) : typeof r.current.handleEvent == "function" && r.current.handleEvent.apply(this, e));
|
|
977
|
-
}, []);
|
|
978
|
-
i(() => {
|
|
979
|
-
let n = Ze(e) ? e.current : e;
|
|
980
|
-
if (!n) return;
|
|
981
|
-
let r = t.slice(2);
|
|
982
|
-
return Ue(n, t[0], o, ...r), () => {
|
|
983
|
-
We(n, t[0], o, ...r);
|
|
984
|
-
};
|
|
985
|
-
}, [e, t[0]]);
|
|
986
|
-
}
|
|
987
|
-
function Ze(e) {
|
|
988
|
-
return typeof e == "object" && !!e && Ge(e, "current");
|
|
989
|
-
}
|
|
990
|
-
//#endregion
|
|
991
|
-
//#region src/lib/board/useDim.js
|
|
992
|
-
var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate: r, itemExtent: i, boardWrapperRect: a, boardSize: o }) => {
|
|
993
|
-
let [s, c] = [e, t], l = le([a.width / 2, a.height / 2], {
|
|
994
|
-
translateX: s,
|
|
995
|
-
translateY: c,
|
|
996
|
-
scale: n,
|
|
997
|
-
rotate: r
|
|
998
|
-
}), u = {
|
|
999
|
-
x: i.x + o / 2,
|
|
1000
|
-
y: i.y + o / 2
|
|
1001
|
-
}, d = {
|
|
1002
|
-
x: o / 2,
|
|
1003
|
-
y: o / 2
|
|
1004
|
-
}, f = se(l, [u.x, u.y]), p = Math.min(a.width, a.height), m = i.radius + p / 2 / n - Qe / n;
|
|
1005
|
-
if (f > m) {
|
|
1006
|
-
let e = ue({
|
|
1007
|
-
x: l[0],
|
|
1008
|
-
y: l[1]
|
|
1009
|
-
}, u, u, m - 1 / n)[0], [t, i] = L([-e.x, -e.y], {
|
|
1010
|
-
translateX: a.width / 2,
|
|
1011
|
-
translateY: a.height / 2,
|
|
1012
|
-
scale: n,
|
|
1013
|
-
rotate: r
|
|
1014
|
-
});
|
|
1015
|
-
s = t, c = i;
|
|
1016
|
-
}
|
|
1017
|
-
let h = se(l, [d.x, d.y]), g = o / 2 - se([0, 0], [a.width, a.height]) / n;
|
|
1018
|
-
if (h > g) {
|
|
1019
|
-
let e = ue({
|
|
1020
|
-
x: l[0],
|
|
1021
|
-
y: l[1]
|
|
1022
|
-
}, d, d, g - 1 / n)[0];
|
|
1023
|
-
if (e) {
|
|
1024
|
-
let [t, i] = L([-e.x, -e.y], {
|
|
1025
|
-
translateX: a.width / 2,
|
|
1026
|
-
translateY: a.height / 2,
|
|
1027
|
-
scale: n,
|
|
1028
|
-
rotate: r
|
|
1029
|
-
});
|
|
1030
|
-
s = t, c = i;
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
|
-
return [s, c];
|
|
1034
|
-
}, U = () => {
|
|
1035
|
-
let [t, n, r, i, a] = V((e) => [
|
|
448
|
+
}, Me = 1e3, Ne = .8, I = !1, L = () => {
|
|
449
|
+
let [t, n, r, i, a] = F((e) => [
|
|
1036
450
|
e.getBoardState,
|
|
1037
451
|
e.updateBoardState,
|
|
1038
452
|
e.config.itemExtent,
|
|
1039
453
|
e.getConfiguration,
|
|
1040
454
|
e.updateConfiguration
|
|
1041
|
-
]), o = e.useRef([.15, 5]), [s] =
|
|
455
|
+
]), o = e.useRef([.15, 5]), [s] = P((e) => [e.getItemList]), c = e.useCallback(() => {
|
|
1042
456
|
let { translateX: e, translateY: n, scale: r, rotate: i } = t();
|
|
1043
457
|
return {
|
|
1044
458
|
translateX: e,
|
|
@@ -1046,148 +460,148 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1046
460
|
scale: r,
|
|
1047
461
|
rotate: i
|
|
1048
462
|
};
|
|
1049
|
-
}, [t]), l = e.useCallback((e, n) =>
|
|
463
|
+
}, [t]), l = e.useCallback((e, n) => k([e, n], t()), [t]), d = e.useCallback((e, n) => A([e, n], t()), [t]), f = e.useCallback((e, n) => {
|
|
1050
464
|
let { scale: r, rotate: i } = t();
|
|
1051
|
-
return
|
|
465
|
+
return k([e, n], {
|
|
1052
466
|
translateX: 0,
|
|
1053
467
|
translateY: 0,
|
|
1054
468
|
rotate: i,
|
|
1055
469
|
scale: r
|
|
1056
470
|
});
|
|
1057
|
-
}, [t]),
|
|
1058
|
-
let
|
|
1059
|
-
...
|
|
1060
|
-
...e(
|
|
471
|
+
}, [t]), p = e.useCallback((e) => e > o.current[1] ? o.current[1] : e < o.current[0] ? o.current[0] : e, []), m = e.useCallback((e) => {
|
|
472
|
+
let r = t(), { translateX: i, translateY: a, scale: o, rotate: s } = {
|
|
473
|
+
...r,
|
|
474
|
+
...e(r)
|
|
1061
475
|
};
|
|
1062
|
-
|
|
1063
|
-
let
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
scale: p,
|
|
1068
|
-
rotate:
|
|
1069
|
-
itemExtent: r,
|
|
1070
|
-
boardWrapperRect: a,
|
|
1071
|
-
boardSize: o
|
|
1072
|
-
})), tt && console.log("New fixed values: ", m, h, p, d), n({
|
|
1073
|
-
translateX: isNaN(m) ? 0 : m,
|
|
1074
|
-
translateY: isNaN(h) ? 0 : h,
|
|
1075
|
-
scale: isNaN(p) ? f(1) : p,
|
|
1076
|
-
rotate: isNaN(d) ? 0 : d
|
|
476
|
+
I && console.log("New expected values: ", i, a, o, s);
|
|
477
|
+
let c = p(o), l = i, u = a;
|
|
478
|
+
I && console.log("New fixed values: ", l, u, c, s), n({
|
|
479
|
+
translateX: Number.isFinite(l) ? l : r.translateX,
|
|
480
|
+
translateY: Number.isFinite(u) ? u : r.translateY,
|
|
481
|
+
scale: Number.isFinite(c) ? c : p(1),
|
|
482
|
+
rotate: Number.isFinite(s) ? s : r.rotate
|
|
1077
483
|
});
|
|
1078
484
|
}, [
|
|
1079
|
-
|
|
485
|
+
p,
|
|
1080
486
|
t,
|
|
1081
|
-
i,
|
|
1082
487
|
n
|
|
1083
|
-
]),
|
|
488
|
+
]), h = e.useCallback((e) => {
|
|
1084
489
|
let t = (t) => ({
|
|
1085
490
|
...t,
|
|
1086
491
|
...e
|
|
1087
492
|
});
|
|
1088
|
-
typeof e == "function" && (t = e),
|
|
493
|
+
typeof e == "function" && (t = e), m((e) => ({
|
|
1089
494
|
...e,
|
|
1090
495
|
...t({
|
|
1091
496
|
translateX: e.translateX,
|
|
1092
497
|
translateY: e.translateY
|
|
1093
498
|
})
|
|
1094
499
|
}));
|
|
1095
|
-
}, [
|
|
500
|
+
}, [m]), g = e.useCallback(({ to: e, factor: n }) => {
|
|
1096
501
|
let { boardWrapperRect: r } = i(), a = e;
|
|
1097
502
|
a ||= {
|
|
1098
503
|
x: r.left + r.width / 2,
|
|
1099
504
|
y: r.top + r.height / 2
|
|
1100
505
|
};
|
|
1101
|
-
let o = t(), s =
|
|
1102
|
-
|
|
506
|
+
let o = t(), s = p(o.scale * n), c = a.x - r.left, l = a.y - r.top, u = c - (c - o.translateX) * s / o.scale, d = l - (l - o.translateY) * s / o.scale;
|
|
507
|
+
m((e) => ({
|
|
1103
508
|
...e,
|
|
1104
509
|
translateX: u,
|
|
1105
510
|
translateY: d,
|
|
1106
511
|
scale: s
|
|
1107
512
|
}));
|
|
1108
513
|
}, [
|
|
1109
|
-
|
|
514
|
+
p,
|
|
1110
515
|
t,
|
|
1111
516
|
i,
|
|
1112
|
-
|
|
1113
|
-
]),
|
|
1114
|
-
let { rotate: a } = t(), { boardWrapperRect: o
|
|
517
|
+
m
|
|
518
|
+
]), _ = e.useCallback(({ x: e, y: n, radius: r }) => {
|
|
519
|
+
let { rotate: a } = t(), { boardWrapperRect: o } = i(), [s, c, l] = [
|
|
1115
520
|
e || 0,
|
|
1116
521
|
n || 0,
|
|
1117
522
|
r || 2e3
|
|
1118
|
-
],
|
|
523
|
+
], u = o.width / (l * 2), d = o.height / (l * 2), f = p(Math.min(u, d) * Ne), [h, g] = A([-s, -c], {
|
|
1119
524
|
translateX: o.width / 2,
|
|
1120
525
|
translateY: o.height / 2,
|
|
1121
|
-
scale:
|
|
526
|
+
scale: f,
|
|
1122
527
|
rotate: a
|
|
1123
528
|
});
|
|
1124
|
-
|
|
529
|
+
m((e) => ({
|
|
1125
530
|
...e,
|
|
1126
|
-
translateX:
|
|
1127
|
-
translateY:
|
|
1128
|
-
scale:
|
|
531
|
+
translateX: h,
|
|
532
|
+
translateY: g,
|
|
533
|
+
scale: f
|
|
1129
534
|
}));
|
|
1130
535
|
}, [
|
|
1131
|
-
|
|
536
|
+
p,
|
|
1132
537
|
t,
|
|
1133
538
|
i,
|
|
1134
|
-
|
|
1135
|
-
]),
|
|
1136
|
-
let { boardWrapperRect: e
|
|
539
|
+
m
|
|
540
|
+
]), v = e.useCallback(() => {
|
|
541
|
+
let { boardWrapperRect: e } = i(), [t, n] = l(e.width / 2, e.height / 2);
|
|
1137
542
|
return {
|
|
1138
|
-
x:
|
|
1139
|
-
y:
|
|
543
|
+
x: t,
|
|
544
|
+
y: n
|
|
1140
545
|
};
|
|
1141
|
-
}, [l, i]),
|
|
1142
|
-
let e = s(), {
|
|
1143
|
-
let r =
|
|
1144
|
-
return r && (e.left = Math.min(
|
|
546
|
+
}, [l, i]), y = e.useCallback(() => {
|
|
547
|
+
let e = s(), { uid: t } = i(), n = e.reduce((e, n) => {
|
|
548
|
+
let r = M(t, n.id);
|
|
549
|
+
return r && (e.left = Math.min(n.x, e.left), e.top = Math.min(n.y, e.top), e.right = Math.max(n.x + r.offsetWidth, e.right), e.bottom = Math.max(n.y + r.offsetHeight, e.bottom)), e;
|
|
1145
550
|
}, {
|
|
1146
|
-
left:
|
|
1147
|
-
top:
|
|
1148
|
-
right: -
|
|
1149
|
-
bottom: -
|
|
1150
|
-
})
|
|
1151
|
-
|
|
1152
|
-
|
|
551
|
+
left: Infinity,
|
|
552
|
+
top: Infinity,
|
|
553
|
+
right: -Infinity,
|
|
554
|
+
bottom: -Infinity
|
|
555
|
+
});
|
|
556
|
+
if (!Number.isFinite(n.left)) {
|
|
557
|
+
a({ itemExtent: {
|
|
558
|
+
x: 0,
|
|
559
|
+
y: 0,
|
|
560
|
+
radius: Me
|
|
561
|
+
} });
|
|
562
|
+
return;
|
|
563
|
+
}
|
|
564
|
+
let r = {
|
|
565
|
+
x: (n.right + n.left) / 2,
|
|
566
|
+
y: (n.bottom + n.top) / 2
|
|
1153
567
|
};
|
|
1154
|
-
|
|
568
|
+
r.radius = Math.max(re([r.x, r.y], [n.left, n.top]), Me), a({ itemExtent: r });
|
|
1155
569
|
}, [
|
|
1156
570
|
i,
|
|
1157
571
|
s,
|
|
1158
572
|
a
|
|
1159
|
-
]),
|
|
573
|
+
]), b = e.useCallback((e) => {
|
|
1160
574
|
let t = () => e;
|
|
1161
|
-
typeof e == "function" && (t = e),
|
|
575
|
+
typeof e == "function" && (t = e), m((e) => ({
|
|
1162
576
|
...e,
|
|
1163
577
|
rotate: t(e.rotate)
|
|
1164
|
-
})),
|
|
578
|
+
})), y(), _(r);
|
|
1165
579
|
}, [
|
|
1166
580
|
r,
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
]),
|
|
581
|
+
m,
|
|
582
|
+
y,
|
|
583
|
+
_
|
|
584
|
+
]), x = u(() => y(), [y], 200);
|
|
1171
585
|
return e.useEffect(() => {
|
|
1172
|
-
window.debugUpdateExtent = () =>
|
|
1173
|
-
|
|
586
|
+
window.debugUpdateExtent = () => y(), window.debugDisplayExtent = () => console.log(i().itemExtent), window.debugSetDebug = () => {
|
|
587
|
+
I = !0;
|
|
1174
588
|
};
|
|
1175
|
-
}, [i,
|
|
1176
|
-
setDim:
|
|
1177
|
-
rotateBoard:
|
|
1178
|
-
moveBoard:
|
|
589
|
+
}, [i, y]), {
|
|
590
|
+
setDim: m,
|
|
591
|
+
rotateBoard: b,
|
|
592
|
+
moveBoard: h,
|
|
1179
593
|
getDim: c,
|
|
1180
|
-
zoomTo:
|
|
1181
|
-
zoomToCenter:
|
|
1182
|
-
zoomToExtent:
|
|
1183
|
-
getCenter:
|
|
1184
|
-
updateItemExtent:
|
|
1185
|
-
vectorFromWrapperToBoard:
|
|
594
|
+
zoomTo: g,
|
|
595
|
+
zoomToCenter: g,
|
|
596
|
+
zoomToExtent: _,
|
|
597
|
+
getCenter: v,
|
|
598
|
+
updateItemExtent: x,
|
|
599
|
+
vectorFromWrapperToBoard: f,
|
|
1186
600
|
fromWrapperToBoard: l,
|
|
1187
|
-
fromBoardToWrapper:
|
|
601
|
+
fromBoardToWrapper: d
|
|
1188
602
|
};
|
|
1189
|
-
},
|
|
1190
|
-
let [n, r, i] =
|
|
603
|
+
}, R = (t) => {
|
|
604
|
+
let [n, r, i] = F(({ register: e, unregister: t, callInteractions: n }) => [
|
|
1191
605
|
e,
|
|
1192
606
|
t,
|
|
1193
607
|
n
|
|
@@ -1204,13 +618,13 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1204
618
|
i(t, e);
|
|
1205
619
|
}, [i, t])
|
|
1206
620
|
};
|
|
1207
|
-
},
|
|
1208
|
-
let { call: t } =
|
|
621
|
+
}, z = () => {
|
|
622
|
+
let { call: t } = R("place"), { call: n } = R("delete"), { getCenter: r, updateItemExtent: i } = L(), [a, o, s, c] = F((e) => [
|
|
1209
623
|
e.clear,
|
|
1210
624
|
e.reverse,
|
|
1211
625
|
e.unselect,
|
|
1212
626
|
e.getConfiguration
|
|
1213
|
-
]), { getItems: l, getItemIds: u, setItemIds: d, updateItems: f, moveItems: p, removeItemsById: m, getItemList: h, insertItems: g, setItemList: _ } =
|
|
627
|
+
]), { getItems: l, getItemIds: u, setItemIds: d, updateItems: f, moveItems: p, removeItemsById: m, getItemList: h, insertItems: g, setItemList: _ } = P(({ getItems: e, getItemIds: t, setItemIds: n, updateItems: r, moveItems: i, removeItemsById: a, getItemList: o, insertItems: s, setItemList: c }) => ({
|
|
1214
628
|
getItems: e,
|
|
1215
629
|
getItemIds: t,
|
|
1216
630
|
setItemIds: n,
|
|
@@ -1244,7 +658,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1244
658
|
]), b = e.useCallback((e, t, n = !1) => {
|
|
1245
659
|
v([e], t, n);
|
|
1246
660
|
}, [v]), x = e.useCallback((e, t) => {
|
|
1247
|
-
p(
|
|
661
|
+
p(le(l(), u(), e), t);
|
|
1248
662
|
}, [
|
|
1249
663
|
u,
|
|
1250
664
|
l,
|
|
@@ -1255,7 +669,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1255
669
|
}, [u, d]), C = e.useCallback((e, { type: t, size: n } = {}) => {
|
|
1256
670
|
let { uid: r } = c();
|
|
1257
671
|
v(e, (e) => {
|
|
1258
|
-
let i =
|
|
672
|
+
let i = M(r, e.id);
|
|
1259
673
|
if (!i) return;
|
|
1260
674
|
let a = {
|
|
1261
675
|
type: t || "grid",
|
|
@@ -1266,7 +680,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1266
680
|
},
|
|
1267
681
|
...e.grid
|
|
1268
682
|
};
|
|
1269
|
-
return
|
|
683
|
+
return ue({
|
|
1270
684
|
x: e.x,
|
|
1271
685
|
y: e.y,
|
|
1272
686
|
width: i.clientWidth,
|
|
@@ -1274,7 +688,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1274
688
|
}, a);
|
|
1275
689
|
}, !0);
|
|
1276
690
|
}, [c, v]), w = e.useCallback((e, n) => {
|
|
1277
|
-
let r =
|
|
691
|
+
let r = le(l(), u(), e);
|
|
1278
692
|
S(r), v(r, { moving: !1 }, !0), C(r, n), t(e), i();
|
|
1279
693
|
}, [
|
|
1280
694
|
v,
|
|
@@ -1284,16 +698,16 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1284
698
|
S,
|
|
1285
699
|
C,
|
|
1286
700
|
i
|
|
1287
|
-
]),
|
|
701
|
+
]), ee = e.useCallback((e) => {
|
|
1288
702
|
d(e);
|
|
1289
|
-
}, [d]),
|
|
703
|
+
}, [d]), T = e.useCallback((e) => {
|
|
1290
704
|
let t = u(), n = t.filter((t) => e.includes(t)), r = t.map((t) => e.includes(t) ? n.pop() : t);
|
|
1291
705
|
d(r), o();
|
|
1292
706
|
}, [
|
|
1293
707
|
u,
|
|
1294
708
|
o,
|
|
1295
709
|
d
|
|
1296
|
-
]),
|
|
710
|
+
]), te = e.useCallback((e, t) => {
|
|
1297
711
|
let n = l(), r = Object.fromEntries(t.map((t, r) => {
|
|
1298
712
|
let i = n[e[r]];
|
|
1299
713
|
return [t, {
|
|
@@ -1309,8 +723,8 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1309
723
|
v,
|
|
1310
724
|
u,
|
|
1311
725
|
d
|
|
1312
|
-
]),
|
|
1313
|
-
let n = r(), i = e.map((e, t) =>
|
|
726
|
+
]), E = e.useCallback((e, t) => {
|
|
727
|
+
let n = r(), i = e.map((e, t) => e.x === void 0 || e.x === null || e.y === void 0 || e.y === null ? {
|
|
1314
728
|
...e,
|
|
1315
729
|
x: n.x + 2 * t,
|
|
1316
730
|
y: n.y + 2 * t
|
|
@@ -1322,58 +736,58 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1322
736
|
r,
|
|
1323
737
|
g,
|
|
1324
738
|
w
|
|
1325
|
-
]),
|
|
1326
|
-
|
|
1327
|
-
}, [
|
|
739
|
+
]), D = e.useCallback((e, t) => {
|
|
740
|
+
E([e], t);
|
|
741
|
+
}, [E]), re = e.useCallback((e) => {
|
|
1328
742
|
s(e), m(e), n(e);
|
|
1329
743
|
}, [
|
|
1330
744
|
s,
|
|
1331
745
|
m,
|
|
1332
746
|
n
|
|
1333
|
-
]),
|
|
747
|
+
]), ie = e.useCallback((e) => {
|
|
1334
748
|
let t = l();
|
|
1335
749
|
return e.map((e) => t[e]);
|
|
1336
750
|
}, [l]);
|
|
1337
751
|
return {
|
|
1338
752
|
putItemsOnTop: S,
|
|
1339
753
|
batchUpdateItems: v,
|
|
1340
|
-
updateItemOrder:
|
|
754
|
+
updateItemOrder: ee,
|
|
1341
755
|
moveItems: x,
|
|
1342
756
|
placeItems: w,
|
|
1343
757
|
updateItem: b,
|
|
1344
|
-
swapItems:
|
|
1345
|
-
reverseItemsOrder:
|
|
758
|
+
swapItems: te,
|
|
759
|
+
reverseItemsOrder: T,
|
|
1346
760
|
setItemList: y,
|
|
1347
|
-
pushItem:
|
|
1348
|
-
pushItems:
|
|
1349
|
-
removeItems:
|
|
761
|
+
pushItem: D,
|
|
762
|
+
pushItems: E,
|
|
763
|
+
removeItems: re,
|
|
1350
764
|
getItemList: h,
|
|
1351
765
|
findElementUnderPointer: e.useCallback(({ target: e, clientX: t, clientY: n }, { returnLocked: r = !1, passLocked: i = !1 } = {}) => {
|
|
1352
766
|
if (["INPUT", "TEXTAREA"].includes(e.tagName)) return null;
|
|
1353
|
-
let a =
|
|
767
|
+
let a = ne(e, "item");
|
|
1354
768
|
if (a) {
|
|
1355
|
-
if (
|
|
1356
|
-
if (!i &&
|
|
1357
|
-
if (
|
|
769
|
+
if (O(a, "selected")) return a;
|
|
770
|
+
if (!i && O(a, "locked") && !O(e, "passthrough")) return r ? a : null;
|
|
771
|
+
if (O(e, "passthrough")) {
|
|
1358
772
|
let e = u(), { uid: r } = c(), o = e.reduce((e, i) => {
|
|
1359
|
-
let a =
|
|
1360
|
-
return
|
|
773
|
+
let a = M(r, i), o = a.getBoundingClientRect();
|
|
774
|
+
return j({
|
|
1361
775
|
x: t,
|
|
1362
776
|
y: n
|
|
1363
777
|
}, o) && e.unshift(a), e;
|
|
1364
778
|
}, []);
|
|
1365
779
|
for (let e = 0; e < o.length; e += 1) {
|
|
1366
780
|
let t = o[e];
|
|
1367
|
-
if (t !== a && (i || !
|
|
781
|
+
if (t !== a && (i || !O(t, "locked"))) return t;
|
|
1368
782
|
}
|
|
1369
783
|
return null;
|
|
1370
784
|
}
|
|
1371
785
|
}
|
|
1372
786
|
return a;
|
|
1373
787
|
}, [c, u]),
|
|
1374
|
-
getItems:
|
|
788
|
+
getItems: ie
|
|
1375
789
|
};
|
|
1376
|
-
},
|
|
790
|
+
}, Pe = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
|
|
1377
791
|
t.exports = function e(t, n) {
|
|
1378
792
|
if (t === n) return !0;
|
|
1379
793
|
if (t && n && typeof t == "object" && typeof n == "object") {
|
|
@@ -1413,17 +827,17 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1413
827
|
}
|
|
1414
828
|
return t !== t && n !== n;
|
|
1415
829
|
};
|
|
1416
|
-
})))(), 1),
|
|
830
|
+
})))(), 1), Fe = (e, t) => {
|
|
1417
831
|
if (e.type in t) {
|
|
1418
832
|
let n = t[e.type].defaultActions;
|
|
1419
833
|
return typeof n == "function" ? n(e) : n;
|
|
1420
834
|
}
|
|
1421
835
|
return [];
|
|
1422
|
-
},
|
|
1423
|
-
let { actions: n =
|
|
836
|
+
}, Ie = (e, t) => {
|
|
837
|
+
let { actions: n = Fe(e, t) } = e;
|
|
1424
838
|
return n.map((e) => typeof e == "string" ? { name: e } : e);
|
|
1425
|
-
},
|
|
1426
|
-
let [t, r] =
|
|
839
|
+
}, Le = () => {
|
|
840
|
+
let [t, r] = P((e) => [e.items, e.getItems]), [i, a, o] = F((e) => [
|
|
1427
841
|
e.config.itemTemplates,
|
|
1428
842
|
e.selection,
|
|
1429
843
|
e.getSelection
|
|
@@ -1431,57 +845,57 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1431
845
|
e.useEffect(() => (l.current = !0, () => {
|
|
1432
846
|
l.current = !1;
|
|
1433
847
|
}), []);
|
|
1434
|
-
let
|
|
848
|
+
let f = e.useCallback((e) => {
|
|
1435
849
|
let t = r();
|
|
1436
850
|
if (e) return [e, e.map((e) => t[e])];
|
|
1437
851
|
let n = o();
|
|
1438
852
|
return [n, n.map((e) => t[e])];
|
|
1439
|
-
}, [r, o]),
|
|
1440
|
-
let [e, t] =
|
|
853
|
+
}, [r, o]), p = n(() => {
|
|
854
|
+
let [e, t] = f();
|
|
1441
855
|
if (e.length > 0) {
|
|
1442
856
|
if (!l.current) return;
|
|
1443
857
|
let e = t.reduce((e, t) => {
|
|
1444
|
-
let n =
|
|
1445
|
-
return e.filter((e) => n.some((t) => (0,
|
|
1446
|
-
},
|
|
858
|
+
let n = Ie(t, i);
|
|
859
|
+
return e.filter((e) => n.some((t) => (0, Pe.default)(e, t)));
|
|
860
|
+
}, Ie(t[0], i));
|
|
1447
861
|
u(() => {
|
|
1448
862
|
c(e);
|
|
1449
863
|
});
|
|
1450
864
|
} else u(() => {
|
|
1451
865
|
c([]);
|
|
1452
866
|
});
|
|
1453
|
-
}, [
|
|
1454
|
-
return
|
|
867
|
+
}, [f, i]);
|
|
868
|
+
return d(() => p(), [
|
|
1455
869
|
t,
|
|
1456
870
|
a,
|
|
1457
|
-
|
|
871
|
+
p
|
|
1458
872
|
], 100), { availableActions: s };
|
|
1459
|
-
},
|
|
1460
|
-
let [e] =
|
|
873
|
+
}, Re = () => {
|
|
874
|
+
let [e] = F((e) => [e.selectionBox]);
|
|
1461
875
|
return e;
|
|
1462
|
-
},
|
|
876
|
+
}, ze = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", B = (e = 21) => {
|
|
1463
877
|
let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
|
|
1464
|
-
for (; e--;) t +=
|
|
878
|
+
for (; e--;) t += ze[n[e] & 63];
|
|
1465
879
|
return t;
|
|
1466
|
-
},
|
|
880
|
+
}, Be = e.createContext(), Ve = (e) => {
|
|
1467
881
|
localStorage.setItem("user", JSON.stringify(e));
|
|
1468
|
-
},
|
|
882
|
+
}, He = () => {
|
|
1469
883
|
if (localStorage.user) {
|
|
1470
884
|
let e = {
|
|
1471
885
|
name: "Player",
|
|
1472
|
-
color:
|
|
1473
|
-
uid:
|
|
886
|
+
color: fe(),
|
|
887
|
+
uid: B(),
|
|
1474
888
|
...JSON.parse(localStorage.user)
|
|
1475
889
|
};
|
|
1476
|
-
return
|
|
890
|
+
return Ve(e), e;
|
|
1477
891
|
}
|
|
1478
892
|
let e = {
|
|
1479
893
|
name: "Player",
|
|
1480
|
-
color:
|
|
1481
|
-
uid:
|
|
894
|
+
color: fe(),
|
|
895
|
+
uid: B()
|
|
1482
896
|
};
|
|
1483
|
-
return
|
|
1484
|
-
},
|
|
897
|
+
return Ve(e), e;
|
|
898
|
+
}, Ue = (e) => (t, n) => ({
|
|
1485
899
|
isSpaceMaster: !1,
|
|
1486
900
|
users: {},
|
|
1487
901
|
getUser: () => n().users[e],
|
|
@@ -1504,7 +918,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1504
918
|
id: r,
|
|
1505
919
|
uid: t.users[r].uid
|
|
1506
920
|
};
|
|
1507
|
-
return a.id === e &&
|
|
921
|
+
return a.id === e && Ve(a), setTimeout(() => n().electSpaceMaster(), 100), { users: {
|
|
1508
922
|
...t.users,
|
|
1509
923
|
[r]: a
|
|
1510
924
|
} };
|
|
@@ -1527,7 +941,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1527
941
|
e < i.timestamp && (i.id = t, i.timestamp = e);
|
|
1528
942
|
}), t({ isSpaceMaster: i.id === e });
|
|
1529
943
|
}
|
|
1530
|
-
}),
|
|
944
|
+
}), We = (e) => ({
|
|
1531
945
|
cursors: {},
|
|
1532
946
|
moveCursor: (t, n) => e((e) => ({ cursors: {
|
|
1533
947
|
...e.cursors,
|
|
@@ -1537,12 +951,12 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1537
951
|
let n = { ...e.cursors };
|
|
1538
952
|
return delete n[t], { cursors: n };
|
|
1539
953
|
})
|
|
1540
|
-
}),
|
|
1541
|
-
let { wire: r, isMaster: i } =
|
|
954
|
+
}), Ge = ({ storeName: t, children: n }) => {
|
|
955
|
+
let { wire: r, isMaster: i } = D("room"), [o, c] = e.useState(null), [l, u] = e.useState(!1), d = e.useRef(!1);
|
|
1542
956
|
return e.useEffect(() => {
|
|
1543
957
|
let e = !0, n = [];
|
|
1544
|
-
if (!
|
|
1545
|
-
let n =
|
|
958
|
+
if (!o && !d.current) return d.current = !0, (() => {
|
|
959
|
+
let n = s(pe({
|
|
1546
960
|
wire: r,
|
|
1547
961
|
storeName: t,
|
|
1548
962
|
noSync: [
|
|
@@ -1552,34 +966,34 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1552
966
|
"electSpaceMaster"
|
|
1553
967
|
]
|
|
1554
968
|
}, (...e) => ({
|
|
1555
|
-
...
|
|
1556
|
-
...
|
|
969
|
+
...Ue(r.userId)(...e),
|
|
970
|
+
...We(...e)
|
|
1557
971
|
}), r, t)), i = n.subscribe((t) => {
|
|
1558
|
-
t.ready && (i(), e &&
|
|
972
|
+
t.ready && (i(), e && c(n));
|
|
1559
973
|
});
|
|
1560
974
|
})(), () => {
|
|
1561
|
-
e = !1,
|
|
975
|
+
e = !1, d.current = !1, n.forEach((e) => e());
|
|
1562
976
|
};
|
|
1563
977
|
}, [
|
|
1564
|
-
|
|
978
|
+
o,
|
|
1565
979
|
t,
|
|
1566
980
|
r,
|
|
1567
981
|
r.userId
|
|
1568
982
|
]), e.useEffect(() => {
|
|
1569
|
-
if (
|
|
1570
|
-
...
|
|
983
|
+
if (o) return o.getState().addUser({
|
|
984
|
+
...He(),
|
|
1571
985
|
id: r.userId
|
|
1572
|
-
}),
|
|
1573
|
-
|
|
986
|
+
}), u(!0), () => {
|
|
987
|
+
o.getState().removeUser(r.userId);
|
|
1574
988
|
};
|
|
1575
989
|
}, [
|
|
1576
990
|
i,
|
|
1577
|
-
|
|
991
|
+
o,
|
|
1578
992
|
r
|
|
1579
993
|
]), e.useEffect(() => {
|
|
1580
|
-
if (
|
|
994
|
+
if (o) {
|
|
1581
995
|
let e = r.subscribe("userLeave", (e) => {
|
|
1582
|
-
|
|
996
|
+
o.getState().removeUser(e);
|
|
1583
997
|
});
|
|
1584
998
|
return () => {
|
|
1585
999
|
e();
|
|
@@ -1587,20 +1001,23 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1587
1001
|
}
|
|
1588
1002
|
}, [
|
|
1589
1003
|
i,
|
|
1590
|
-
|
|
1004
|
+
o,
|
|
1591
1005
|
r
|
|
1592
1006
|
]), e.useEffect(() => {
|
|
1593
|
-
i &&
|
|
1007
|
+
i && o && o.getState().updateCurrentUser({ isMaster: i });
|
|
1594
1008
|
}, [
|
|
1595
1009
|
i,
|
|
1596
|
-
|
|
1010
|
+
o,
|
|
1597
1011
|
r
|
|
1598
|
-
]),
|
|
1599
|
-
value:
|
|
1012
|
+
]), l ? /* @__PURE__ */ a(Be.Provider, {
|
|
1013
|
+
value: o,
|
|
1600
1014
|
children: n
|
|
1601
1015
|
}) : null;
|
|
1602
|
-
},
|
|
1603
|
-
let
|
|
1016
|
+
}, V = (e) => {
|
|
1017
|
+
let t = r(Be);
|
|
1018
|
+
return c(t, e, l);
|
|
1019
|
+
}, Ke = () => {
|
|
1020
|
+
let [t, n, r, i, a] = V((e) => [
|
|
1604
1021
|
e.isSpaceMaster,
|
|
1605
1022
|
e.getUser(),
|
|
1606
1023
|
e.users,
|
|
@@ -1618,8 +1035,8 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1618
1035
|
}, [n, o]),
|
|
1619
1036
|
joinSpace: a
|
|
1620
1037
|
};
|
|
1621
|
-
},
|
|
1622
|
-
let [t, n, r] =
|
|
1038
|
+
}, qe = () => {
|
|
1039
|
+
let [t, n, r] = P((e) => [
|
|
1623
1040
|
e.boardConfig,
|
|
1624
1041
|
e.getBoardConfig,
|
|
1625
1042
|
e.setBoardConfig
|
|
@@ -1630,11 +1047,11 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1630
1047
|
let i = n(), a = t(i);
|
|
1631
1048
|
r(a);
|
|
1632
1049
|
}, [n, r])];
|
|
1633
|
-
},
|
|
1634
|
-
let [e] =
|
|
1050
|
+
}, Je = () => {
|
|
1051
|
+
let [e] = F((e) => [e.boardState]);
|
|
1635
1052
|
return e;
|
|
1636
|
-
},
|
|
1637
|
-
let [e, t, n, r] =
|
|
1053
|
+
}, Ye = () => {
|
|
1054
|
+
let [e, t, n, r] = P((e) => [
|
|
1638
1055
|
e.getSessionInfo,
|
|
1639
1056
|
e.setSessionInfo,
|
|
1640
1057
|
e.updateSessionInfo,
|
|
@@ -1646,7 +1063,7 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1646
1063
|
sessionInfo: r,
|
|
1647
1064
|
updateSessionInfo: n
|
|
1648
1065
|
};
|
|
1649
|
-
},
|
|
1066
|
+
}, Xe = e.createContext(), Ze = ({ user: { name: e, uid: t, color: n }, content: r }) => ({
|
|
1650
1067
|
type: "message",
|
|
1651
1068
|
user: {
|
|
1652
1069
|
name: e,
|
|
@@ -1654,9 +1071,9 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1654
1071
|
color: n
|
|
1655
1072
|
},
|
|
1656
1073
|
content: r,
|
|
1657
|
-
uid:
|
|
1074
|
+
uid: B(),
|
|
1658
1075
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1659
|
-
}),
|
|
1076
|
+
}), Qe = (e, t) => ({
|
|
1660
1077
|
messages: [],
|
|
1661
1078
|
setMessages: (t) => e({ messages: t.map((e) => ({
|
|
1662
1079
|
...e,
|
|
@@ -1667,25 +1084,28 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1667
1084
|
timestamp: Date.parse(t.timestamp)
|
|
1668
1085
|
}] })),
|
|
1669
1086
|
sendMessage: (e, n) => {
|
|
1670
|
-
let r =
|
|
1087
|
+
let r = Ze({
|
|
1671
1088
|
user: e,
|
|
1672
1089
|
content: n
|
|
1673
1090
|
});
|
|
1674
1091
|
r && t().addMessage(r);
|
|
1675
1092
|
}
|
|
1676
|
-
}),
|
|
1677
|
-
let { wire: i } =
|
|
1093
|
+
}), $e = ({ storeName: t, children: n, defaultValue: r = [] }) => {
|
|
1094
|
+
let { wire: i } = D("room"), [o] = e.useState(() => s(pe({
|
|
1678
1095
|
wire: i,
|
|
1679
1096
|
storeName: t,
|
|
1680
1097
|
defaultValue: r,
|
|
1681
1098
|
noSync: ["sendMessage"]
|
|
1682
|
-
}, (...e) => ({ ...
|
|
1683
|
-
return /* @__PURE__ */ (
|
|
1684
|
-
value:
|
|
1099
|
+
}, (...e) => ({ ...Qe(...e) }))));
|
|
1100
|
+
return /* @__PURE__ */ a(Xe.Provider, {
|
|
1101
|
+
value: o,
|
|
1685
1102
|
children: n
|
|
1686
1103
|
});
|
|
1687
|
-
},
|
|
1688
|
-
let
|
|
1104
|
+
}, et = (e) => {
|
|
1105
|
+
let t = r(Xe);
|
|
1106
|
+
return c(t, e, l);
|
|
1107
|
+
}, tt = () => {}, nt = (t = tt) => {
|
|
1108
|
+
let n = V((e) => e.getUser()), [r, i, a] = et((e) => [
|
|
1689
1109
|
e.messages,
|
|
1690
1110
|
e.setMessages,
|
|
1691
1111
|
e.sendMessage
|
|
@@ -1699,61 +1119,61 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1699
1119
|
a(n, e);
|
|
1700
1120
|
}, [n, a])
|
|
1701
1121
|
};
|
|
1702
|
-
},
|
|
1703
|
-
let r =
|
|
1122
|
+
}, rt = ({ children: t, session: n }) => {
|
|
1123
|
+
let r = V((e) => e.joinSpace);
|
|
1704
1124
|
return e.useEffect(() => (r(n), () => {
|
|
1705
1125
|
r(null);
|
|
1706
1126
|
}), [r, n]), t;
|
|
1707
|
-
},
|
|
1708
|
-
let [
|
|
1127
|
+
}, it = ({ socket: t, room: n, session: r, items: i = [], messages: o = [], LoadingComponent: s, ...c }) => {
|
|
1128
|
+
let [l] = e.useState(n || B()), [u] = e.useState(r || B()), [d] = e.useState(() => ({
|
|
1709
1129
|
itemIds: i.map(({ id: e }) => e),
|
|
1710
1130
|
items: Object.fromEntries(i.map((e) => [e.id, e]))
|
|
1711
1131
|
}));
|
|
1712
|
-
return
|
|
1713
|
-
storeName: `${
|
|
1714
|
-
defaultValue:
|
|
1715
|
-
children: /* @__PURE__ */ (
|
|
1716
|
-
storeName: `${
|
|
1717
|
-
defaultValue:
|
|
1718
|
-
children: /* @__PURE__ */ (
|
|
1719
|
-
...
|
|
1720
|
-
session:
|
|
1132
|
+
return D("room") ? /* @__PURE__ */ a($e, {
|
|
1133
|
+
storeName: `${u}_messages`,
|
|
1134
|
+
defaultValue: o,
|
|
1135
|
+
children: /* @__PURE__ */ a(ke, { children: /* @__PURE__ */ a(be, {
|
|
1136
|
+
storeName: `${u}_item`,
|
|
1137
|
+
defaultValue: d,
|
|
1138
|
+
children: /* @__PURE__ */ a(rt, {
|
|
1139
|
+
...c,
|
|
1140
|
+
session: u
|
|
1721
1141
|
})
|
|
1722
1142
|
}) })
|
|
1723
|
-
}) : /* @__PURE__ */ (
|
|
1724
|
-
room:
|
|
1143
|
+
}) : /* @__PURE__ */ a(E, {
|
|
1144
|
+
room: l,
|
|
1725
1145
|
channel: "room",
|
|
1726
1146
|
socket: t,
|
|
1727
|
-
LoadingComponent:
|
|
1728
|
-
children: /* @__PURE__ */ (
|
|
1729
|
-
storeName: `${
|
|
1730
|
-
children: /* @__PURE__ */ (
|
|
1731
|
-
storeName: `${
|
|
1732
|
-
defaultValue:
|
|
1733
|
-
children: /* @__PURE__ */ (
|
|
1734
|
-
storeName: `${
|
|
1735
|
-
defaultValue:
|
|
1736
|
-
children: /* @__PURE__ */ (
|
|
1737
|
-
...
|
|
1738
|
-
session:
|
|
1147
|
+
LoadingComponent: s,
|
|
1148
|
+
children: /* @__PURE__ */ a(Ge, {
|
|
1149
|
+
storeName: `${l}_users`,
|
|
1150
|
+
children: /* @__PURE__ */ a($e, {
|
|
1151
|
+
storeName: `${u}_messages`,
|
|
1152
|
+
defaultValue: o,
|
|
1153
|
+
children: /* @__PURE__ */ a(ke, { children: /* @__PURE__ */ a(be, {
|
|
1154
|
+
storeName: `${u}_item`,
|
|
1155
|
+
defaultValue: d,
|
|
1156
|
+
children: /* @__PURE__ */ a(rt, {
|
|
1157
|
+
...c,
|
|
1158
|
+
session: u
|
|
1739
1159
|
})
|
|
1740
1160
|
}) })
|
|
1741
1161
|
})
|
|
1742
1162
|
})
|
|
1743
1163
|
});
|
|
1744
|
-
},
|
|
1745
|
-
let [
|
|
1746
|
-
return /* @__PURE__ */ (
|
|
1747
|
-
room:
|
|
1164
|
+
}, at = ({ socket: t, room: n, children: r, LoadingComponent: i }) => {
|
|
1165
|
+
let [o] = e.useState(n || B());
|
|
1166
|
+
return /* @__PURE__ */ a(E, {
|
|
1167
|
+
room: o,
|
|
1748
1168
|
channel: "room",
|
|
1749
1169
|
socket: t,
|
|
1750
1170
|
LoadingComponent: i,
|
|
1751
|
-
children: /* @__PURE__ */ (
|
|
1752
|
-
storeName: `${
|
|
1171
|
+
children: /* @__PURE__ */ a(Ge, {
|
|
1172
|
+
storeName: `${o}_users`,
|
|
1753
1173
|
children: r
|
|
1754
1174
|
})
|
|
1755
1175
|
});
|
|
1756
|
-
},
|
|
1176
|
+
}, ot = { data: "" }, st = (e) => {
|
|
1757
1177
|
if (typeof window == "object") {
|
|
1758
1178
|
let t = (e ? e.querySelector("#_goober") : window._goober) || Object.assign(document.createElement("style"), {
|
|
1759
1179
|
innerHTML: " ",
|
|
@@ -1761,58 +1181,58 @@ var Qe = 100, $e = 1e3, et = .8, tt = !1, nt = ({ x: e, y: t, scale: n, rotate:
|
|
|
1761
1181
|
});
|
|
1762
1182
|
return t.nonce = window.__nonce__, t.parentNode || (e || document.head).appendChild(t), t.firstChild;
|
|
1763
1183
|
}
|
|
1764
|
-
return e ||
|
|
1765
|
-
},
|
|
1184
|
+
return e || ot;
|
|
1185
|
+
}, ct = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, lt = /\/\*[^]*?\*\/| +/g, ut = /\n+/g, H = (e, t) => {
|
|
1766
1186
|
let n = "", r = "", i = "";
|
|
1767
1187
|
for (let a in e) {
|
|
1768
1188
|
let o = e[a];
|
|
1769
|
-
a[0] == "@" ? a[1] == "i" ? n = a + " " + o + ";" : r += a[1] == "f" ?
|
|
1189
|
+
a[0] == "@" ? a[1] == "i" ? n = a + " " + o + ";" : r += a[1] == "f" ? H(o, a) : a + "{" + H(o, a[1] == "k" ? "" : t) + "}" : typeof o == "object" ? r += H(o, t ? t.replace(/([^,])+/g, (e) => a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (t) => /&/.test(t) ? t.replace(/&/g, e) : e ? e + " " + t : t)) : a) : o != null && (a = a[1] == "-" ? a : a.replace(/[A-Z]/g, "-$&").toLowerCase(), i += H.p ? H.p(a, o) : a + ":" + o + ";");
|
|
1770
1190
|
}
|
|
1771
1191
|
return n + (t && i ? t + "{" + i + "}" : i) + r;
|
|
1772
|
-
},
|
|
1192
|
+
}, U = {}, dt = (e) => {
|
|
1773
1193
|
if (typeof e == "object") {
|
|
1774
1194
|
let t = "";
|
|
1775
|
-
for (let n in e) t += n +
|
|
1195
|
+
for (let n in e) t += n + dt(e[n]);
|
|
1776
1196
|
return t;
|
|
1777
1197
|
}
|
|
1778
1198
|
return e;
|
|
1779
|
-
},
|
|
1780
|
-
let a =
|
|
1199
|
+
}, ft = (e, t, n, r, i) => {
|
|
1200
|
+
let a = dt(e), o = U[a] || (U[a] = ((e) => {
|
|
1781
1201
|
let t = 0, n = 11;
|
|
1782
1202
|
for (; t < e.length;) n = 101 * n + e.charCodeAt(t++) >>> 0;
|
|
1783
1203
|
return "go" + n;
|
|
1784
1204
|
})(a));
|
|
1785
|
-
if (!
|
|
1205
|
+
if (!U[o]) {
|
|
1786
1206
|
let t = a === e ? ((e) => {
|
|
1787
1207
|
let t, n, r = [{}];
|
|
1788
|
-
for (; t =
|
|
1208
|
+
for (; t = ct.exec(e.replace(lt, ""));) t[4] ? r.shift() : t[3] ? (n = t[3].replace(ut, " ").trim(), r.unshift(r[0][n] = r[0][n] || {})) : r[0][t[1]] = t[2].replace(ut, " ").trim();
|
|
1789
1209
|
return r[0];
|
|
1790
1210
|
})(e) : e;
|
|
1791
|
-
|
|
1211
|
+
U[o] = H(i ? { ["@keyframes " + o]: t } : t, n ? "" : "." + o);
|
|
1792
1212
|
}
|
|
1793
|
-
let s = n &&
|
|
1794
|
-
return n && (
|
|
1213
|
+
let s = n && U.g;
|
|
1214
|
+
return n && (U.g = U[o]), ((e, t, n, r) => {
|
|
1795
1215
|
r ? t.data = t.data.replace(r, e) : t.data.indexOf(e) === -1 && (t.data = n ? e + t.data : t.data + e);
|
|
1796
|
-
})(
|
|
1797
|
-
},
|
|
1216
|
+
})(U[o], t, r, s), o;
|
|
1217
|
+
}, pt = (e, t, n) => e.reduce((e, r, i) => {
|
|
1798
1218
|
let a = t[i];
|
|
1799
1219
|
if (a && a.call) {
|
|
1800
1220
|
let e = a(n), t = e && e.props && e.props.className || /^go/.test(e) && e;
|
|
1801
|
-
a = t ? "." + t : e && typeof e == "object" ? e.props ? "" :
|
|
1221
|
+
a = t ? "." + t : e && typeof e == "object" ? e.props ? "" : H(e, "") : !1 === e ? "" : e;
|
|
1802
1222
|
}
|
|
1803
1223
|
return e + r + (a ?? "");
|
|
1804
1224
|
}, "");
|
|
1805
|
-
function
|
|
1225
|
+
function W(e) {
|
|
1806
1226
|
let t = this || {}, n = e.call ? e(t.p) : e;
|
|
1807
|
-
return
|
|
1227
|
+
return ft(n.unshift ? n.raw ? pt(n, [].slice.call(arguments, 1), t.p) : n.reduce((e, n) => Object.assign(e, n && n.call ? n(t.p) : n), {}) : n, st(t.target), t.g, t.o, t.k);
|
|
1808
1228
|
}
|
|
1809
|
-
|
|
1810
|
-
function
|
|
1811
|
-
|
|
1229
|
+
W.bind({ g: 1 }), W.bind({ k: 1 });
|
|
1230
|
+
function mt(e, t, n, r) {
|
|
1231
|
+
H.p = t;
|
|
1812
1232
|
}
|
|
1813
1233
|
//#endregion
|
|
1814
1234
|
//#region src/lib/board/Gesture.jsx
|
|
1815
|
-
var
|
|
1235
|
+
var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
|
|
1816
1236
|
t.exports = function e(t, n) {
|
|
1817
1237
|
if (t === n) return !0;
|
|
1818
1238
|
if (t && n && typeof t == "object" && typeof n == "object") {
|
|
@@ -1836,62 +1256,62 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
1836
1256
|
}
|
|
1837
1257
|
return t !== t && n !== n;
|
|
1838
1258
|
};
|
|
1839
|
-
})))(), 1),
|
|
1259
|
+
})))(), 1), gt = () => {
|
|
1840
1260
|
let e = navigator.userAgent.toLowerCase();
|
|
1841
1261
|
return /mac os ?x 10/.test(e);
|
|
1842
|
-
},
|
|
1262
|
+
}, _t = (() => {
|
|
1843
1263
|
let e = document.createElement("iframe");
|
|
1844
1264
|
e.src = "#", document.body.appendChild(e);
|
|
1845
1265
|
let t = e.contentWindow.document;
|
|
1846
1266
|
t.open(), t.write("<!DOCTYPE html><html><head></head><body><span>a</span></body></html>"), t.close();
|
|
1847
1267
|
let n = t.body.firstElementChild.offsetHeight;
|
|
1848
1268
|
return document.body.removeChild(e), n;
|
|
1849
|
-
})(),
|
|
1269
|
+
})(), vt = 800, yt = (e, t) => e[Object.keys(e).map((e) => Number(e)).find((e) => e !== t)], bt = ([e, t], [n, r]) => {
|
|
1850
1270
|
let i = Math.abs(e - n), a = Math.abs(t - r);
|
|
1851
1271
|
return Math.hypot(i, a);
|
|
1852
|
-
},
|
|
1272
|
+
}, G = () => {}, xt = (e) => (t) => {
|
|
1853
1273
|
let { event: n } = t;
|
|
1854
1274
|
return n.isPropagationStopped() ? null : e(t);
|
|
1855
|
-
},
|
|
1275
|
+
}, St = (e) => async (...t) => {
|
|
1856
1276
|
try {
|
|
1857
1277
|
await e(...t);
|
|
1858
1278
|
} catch (e) {
|
|
1859
1279
|
console.error(e);
|
|
1860
1280
|
}
|
|
1861
|
-
},
|
|
1281
|
+
}, K = new class {
|
|
1862
1282
|
lastPromise = Promise.resolve(!0);
|
|
1863
1283
|
add(e, ...t) {
|
|
1864
1284
|
return new Promise((n, r) => {
|
|
1865
|
-
this.lastPromise = this.lastPromise.then(() =>
|
|
1285
|
+
this.lastPromise = this.lastPromise.then(() => xt(St(e))(...t)).then(n).catch(r);
|
|
1866
1286
|
});
|
|
1867
1287
|
}
|
|
1868
|
-
}(),
|
|
1869
|
-
let
|
|
1288
|
+
}(), q = ({ children: t, onDrag: n = G, onDragStart: r = G, onDragEnd: i = G, onPan: o = G, onTap: s = G, onLongTap: c = G, onDoubleTap: l = G, onZoom: u, mainAction: d = "drag", fill: f = !1 }) => {
|
|
1289
|
+
let p = e.useRef(null), m = e.useRef({
|
|
1870
1290
|
moving: !1,
|
|
1871
1291
|
pointers: {},
|
|
1872
1292
|
mainPointer: void 0
|
|
1873
|
-
}),
|
|
1874
|
-
let { deltaX: t, deltaY: n, clientX: r, clientY: i, deltaMode:
|
|
1875
|
-
if (!(c || s && !
|
|
1876
|
-
if (
|
|
1293
|
+
}), h = (e) => {
|
|
1294
|
+
let { deltaX: t, deltaY: n, clientX: r, clientY: i, deltaMode: a, ctrlKey: s, altKey: c, metaKey: l, target: d } = e;
|
|
1295
|
+
if (!(c || s && !gt())) {
|
|
1296
|
+
if (gt() && !s) K.add(o, {
|
|
1877
1297
|
deltaX: -2 * t,
|
|
1878
1298
|
deltaY: -2 * n,
|
|
1879
1299
|
button: 1,
|
|
1880
1300
|
ctrlKey: s,
|
|
1881
|
-
metaKey:
|
|
1301
|
+
metaKey: l,
|
|
1882
1302
|
target: d,
|
|
1883
1303
|
event: e
|
|
1884
1304
|
});
|
|
1885
1305
|
else {
|
|
1886
|
-
if (
|
|
1306
|
+
if (u === void 0 || !n) return;
|
|
1887
1307
|
let t = n;
|
|
1888
|
-
switch (
|
|
1308
|
+
switch (a) {
|
|
1889
1309
|
case 1:
|
|
1890
|
-
t *=
|
|
1310
|
+
t *= _t;
|
|
1891
1311
|
break;
|
|
1892
|
-
case 2: t *=
|
|
1312
|
+
case 2: t *= vt;
|
|
1893
1313
|
}
|
|
1894
|
-
|
|
1314
|
+
gt() && (t *= 2), K.add(u, {
|
|
1895
1315
|
scale: t,
|
|
1896
1316
|
clientX: r,
|
|
1897
1317
|
clientY: i,
|
|
@@ -1899,15 +1319,15 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
1899
1319
|
});
|
|
1900
1320
|
}
|
|
1901
1321
|
}
|
|
1902
|
-
},
|
|
1903
|
-
let { target: t, button: n, clientX: r, clientY: i, pointerId: a, altKey: o, ctrlKey:
|
|
1904
|
-
if (
|
|
1322
|
+
}, g = (e) => {
|
|
1323
|
+
let { target: t, button: n, clientX: r, clientY: i, pointerId: a, altKey: o, ctrlKey: s, metaKey: l, isPrimary: u } = e;
|
|
1324
|
+
if (m.current.pointers[a] = {
|
|
1905
1325
|
clientX: r,
|
|
1906
1326
|
clientY: i
|
|
1907
|
-
}, u && (
|
|
1908
|
-
if (
|
|
1909
|
-
let { clientX: e, clientY: t } =
|
|
1910
|
-
Object.assign(
|
|
1327
|
+
}, u && (m.current.mainPointer = void 0), m.current.mainPointer !== void 0) {
|
|
1328
|
+
if (m.current.mainPointer !== a) try {
|
|
1329
|
+
let { clientX: e, clientY: t } = yt(m.current.pointers, a), n = (e + r) / 2, o = (t + i) / 2, s = bt([e, t], [r, i]);
|
|
1330
|
+
Object.assign(m.current, {
|
|
1911
1331
|
pressed: !0,
|
|
1912
1332
|
moving: !1,
|
|
1913
1333
|
gestureStart: !1,
|
|
@@ -1919,11 +1339,11 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
1919
1339
|
prevDistance: s
|
|
1920
1340
|
});
|
|
1921
1341
|
} catch (e) {
|
|
1922
|
-
console.log("Error while getting other pointer. Ignoring", e),
|
|
1342
|
+
console.log("Error while getting other pointer. Ignoring", e), m.current.mainPointer;
|
|
1923
1343
|
}
|
|
1924
1344
|
return;
|
|
1925
1345
|
}
|
|
1926
|
-
|
|
1346
|
+
m.current.mainPointer = a, Object.assign(m.current, {
|
|
1927
1347
|
pressed: !0,
|
|
1928
1348
|
moving: !1,
|
|
1929
1349
|
gestureStart: !1,
|
|
@@ -1938,11 +1358,11 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
1938
1358
|
target: t,
|
|
1939
1359
|
timeStart: Date.now(),
|
|
1940
1360
|
longTapTimeout: setTimeout(async () => {
|
|
1941
|
-
|
|
1361
|
+
m.current.noTap = !0, K.add(c, {
|
|
1942
1362
|
clientX: r,
|
|
1943
1363
|
clientY: i,
|
|
1944
1364
|
altKey: o,
|
|
1945
|
-
ctrlKey:
|
|
1365
|
+
ctrlKey: s,
|
|
1946
1366
|
metaKey: l,
|
|
1947
1367
|
target: t,
|
|
1948
1368
|
event: e
|
|
@@ -1954,89 +1374,89 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
1954
1374
|
} catch (e) {
|
|
1955
1375
|
console.log("Fail to capture pointer", e);
|
|
1956
1376
|
}
|
|
1957
|
-
},
|
|
1958
|
-
if (
|
|
1959
|
-
let { pointerId: t, clientX: i, clientY:
|
|
1960
|
-
|
|
1377
|
+
}, _ = (e) => {
|
|
1378
|
+
if (m.current.pressed) {
|
|
1379
|
+
let { pointerId: t, clientX: i, clientY: a, altKey: s, shiftKey: c, ctrlKey: l, metaKey: f, buttons: h } = e;
|
|
1380
|
+
m.current.pointers[t] = {
|
|
1961
1381
|
clientX: i,
|
|
1962
|
-
clientY:
|
|
1963
|
-
},
|
|
1964
|
-
let g = Object.keys(
|
|
1382
|
+
clientY: a
|
|
1383
|
+
}, m.current.moving = !0;
|
|
1384
|
+
let g = Object.keys(m.current.pointers).length === 2, _, v, y = 0;
|
|
1965
1385
|
if (g) {
|
|
1966
|
-
let { clientX: e, clientY: n } =
|
|
1967
|
-
_ = (e + i) / 2, v = (n +
|
|
1968
|
-
} else _ = i, v =
|
|
1969
|
-
let b = c || s ||
|
|
1970
|
-
|
|
1386
|
+
let { clientX: e, clientY: n } = yt(m.current.pointers, t);
|
|
1387
|
+
_ = (e + i) / 2, v = (n + a) / 2, y = bt([e, n], [i, a]);
|
|
1388
|
+
} else _ = i, v = a;
|
|
1389
|
+
let b = c || s || l || f || h !== 1;
|
|
1390
|
+
d !== "drag" && (b = !b);
|
|
1971
1391
|
let x = !b, S = b;
|
|
1972
1392
|
if (x) {
|
|
1973
|
-
|
|
1393
|
+
m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout), K.add(r, {
|
|
1974
1394
|
deltaX: 0,
|
|
1975
1395
|
deltaY: 0,
|
|
1976
|
-
startX:
|
|
1977
|
-
startY:
|
|
1978
|
-
clientX:
|
|
1979
|
-
clientY:
|
|
1396
|
+
startX: m.current.startX,
|
|
1397
|
+
startY: m.current.startY,
|
|
1398
|
+
clientX: m.current.startX,
|
|
1399
|
+
clientY: m.current.startY,
|
|
1980
1400
|
distanceX: 0,
|
|
1981
1401
|
distanceY: 0,
|
|
1982
|
-
button:
|
|
1402
|
+
button: m.current.currentButton,
|
|
1983
1403
|
altKey: s,
|
|
1984
1404
|
shiftKey: c,
|
|
1985
|
-
ctrlKey:
|
|
1986
|
-
metaKey:
|
|
1987
|
-
target:
|
|
1988
|
-
event:
|
|
1405
|
+
ctrlKey: l,
|
|
1406
|
+
metaKey: f,
|
|
1407
|
+
target: m.current.target,
|
|
1408
|
+
event: m.current.pointerDownEvent
|
|
1989
1409
|
}));
|
|
1990
|
-
let t = _ -
|
|
1991
|
-
|
|
1410
|
+
let t = _ - m.current.prevX, i = v - m.current.prevY, a = _ - m.current.startX, o = v - m.current.startY;
|
|
1411
|
+
K.add(n, {
|
|
1992
1412
|
deltaX: t,
|
|
1993
1413
|
deltaY: i,
|
|
1994
|
-
startX:
|
|
1995
|
-
startY:
|
|
1414
|
+
startX: m.current.startX,
|
|
1415
|
+
startY: m.current.startY,
|
|
1996
1416
|
clientX: _,
|
|
1997
1417
|
clientY: v,
|
|
1998
1418
|
distanceX: a,
|
|
1999
1419
|
distanceY: o,
|
|
2000
|
-
button:
|
|
1420
|
+
button: m.current.currentButton,
|
|
2001
1421
|
altKey: s,
|
|
2002
1422
|
shiftKey: c,
|
|
2003
|
-
ctrlKey:
|
|
2004
|
-
metaKey:
|
|
2005
|
-
target:
|
|
1423
|
+
ctrlKey: l,
|
|
1424
|
+
metaKey: f,
|
|
1425
|
+
target: m.current.target,
|
|
2006
1426
|
event: e
|
|
2007
1427
|
});
|
|
2008
1428
|
}
|
|
2009
1429
|
if (S) {
|
|
2010
|
-
|
|
2011
|
-
let t = _ -
|
|
2012
|
-
if (
|
|
1430
|
+
m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout));
|
|
1431
|
+
let t = _ - m.current.prevX, n = v - m.current.prevY, { target: r } = m.current;
|
|
1432
|
+
if (K.add(o, {
|
|
2013
1433
|
deltaX: t,
|
|
2014
1434
|
deltaY: n,
|
|
2015
|
-
button:
|
|
1435
|
+
button: m.current.currentButton,
|
|
2016
1436
|
altKey: s,
|
|
2017
1437
|
shiftKey: c,
|
|
2018
|
-
ctrlKey:
|
|
2019
|
-
metaKey:
|
|
1438
|
+
ctrlKey: l,
|
|
1439
|
+
metaKey: f,
|
|
2020
1440
|
target: r,
|
|
2021
1441
|
event: e
|
|
2022
|
-
}), y !==
|
|
2023
|
-
let t =
|
|
2024
|
-
Math.abs(t) > 0 && (
|
|
1442
|
+
}), y !== m.current.prevDistance && u) {
|
|
1443
|
+
let t = m.current.prevDistance - y;
|
|
1444
|
+
Math.abs(t) > 0 && (K.add(u, {
|
|
2025
1445
|
scale: t * 3,
|
|
2026
1446
|
clientX: _,
|
|
2027
1447
|
clientY: v,
|
|
2028
1448
|
event: e
|
|
2029
|
-
}),
|
|
1449
|
+
}), m.current.prevDistance = y);
|
|
2030
1450
|
}
|
|
2031
1451
|
}
|
|
2032
|
-
|
|
1452
|
+
m.current.prevX = _, m.current.prevY = v;
|
|
2033
1453
|
}
|
|
2034
|
-
},
|
|
2035
|
-
let { clientX: t, clientY: n, altKey: r, shiftKey: a, ctrlKey:
|
|
2036
|
-
if (
|
|
2037
|
-
if (delete
|
|
2038
|
-
let { clientX: e, clientY: t } =
|
|
2039
|
-
Object.assign(
|
|
1454
|
+
}, v = (e) => {
|
|
1455
|
+
let { clientX: t, clientY: n, altKey: r, shiftKey: a, ctrlKey: o, metaKey: c, target: l, pointerId: u } = e;
|
|
1456
|
+
if (m.current.pointers[u]) {
|
|
1457
|
+
if (delete m.current.pointers[u], m.current.mainPointer !== u) {
|
|
1458
|
+
let { clientX: e, clientY: t } = m.current.pointers[m.current.mainPointer];
|
|
1459
|
+
Object.assign(m.current, {
|
|
2040
1460
|
prevX: e,
|
|
2041
1461
|
prevY: t,
|
|
2042
1462
|
prevDistance: 0,
|
|
@@ -2044,12 +1464,12 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2044
1464
|
});
|
|
2045
1465
|
return;
|
|
2046
1466
|
}
|
|
2047
|
-
for (; Object.keys(
|
|
2048
|
-
|
|
1467
|
+
for (; Object.keys(m.current.pointers).length > 0;) {
|
|
1468
|
+
m.current.mainPointer = Number(Object.keys(m.current.pointers)[0]);
|
|
2049
1469
|
try {
|
|
2050
|
-
|
|
2051
|
-
let { clientX: e, clientY: t } =
|
|
2052
|
-
Object.assign(
|
|
1470
|
+
m.current.target.setPointerCapture(m.current.mainPointer);
|
|
1471
|
+
let { clientX: e, clientY: t } = m.current.pointers[m.current.mainPointer];
|
|
1472
|
+
Object.assign(m.current, {
|
|
2053
1473
|
prevX: e,
|
|
2054
1474
|
prevY: t,
|
|
2055
1475
|
prevDistance: 0,
|
|
@@ -2057,33 +1477,33 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2057
1477
|
});
|
|
2058
1478
|
return;
|
|
2059
1479
|
} catch (e) {
|
|
2060
|
-
console.log("Fails to set pointer capture", e),
|
|
1480
|
+
console.log("Fails to set pointer capture", e), m.current.mainPointer = void 0, delete m.current.pointers[Object.keys(m.current.pointers)[0]];
|
|
2061
1481
|
}
|
|
2062
1482
|
}
|
|
2063
|
-
if (
|
|
2064
|
-
deltaX: t -
|
|
2065
|
-
deltaY: n -
|
|
2066
|
-
startX:
|
|
2067
|
-
startY:
|
|
1483
|
+
if (m.current.mainPointer = void 0, m.current.pressed = !1, clearTimeout(m.current.longTapTimeout), m.current.moving) m.current.moving = !1, K.add(i, {
|
|
1484
|
+
deltaX: t - m.current.prevX,
|
|
1485
|
+
deltaY: n - m.current.prevY,
|
|
1486
|
+
startX: m.current.startX,
|
|
1487
|
+
startY: m.current.startY,
|
|
2068
1488
|
clientX: t,
|
|
2069
1489
|
clientY: n,
|
|
2070
|
-
distanceX: t -
|
|
2071
|
-
distanceY: n -
|
|
2072
|
-
button:
|
|
1490
|
+
distanceX: t - m.current.startX,
|
|
1491
|
+
distanceY: n - m.current.startY,
|
|
1492
|
+
button: m.current.currentButton,
|
|
2073
1493
|
altKey: r,
|
|
2074
1494
|
shiftKey: a,
|
|
2075
|
-
ctrlKey:
|
|
1495
|
+
ctrlKey: o,
|
|
2076
1496
|
metaKey: c,
|
|
2077
1497
|
event: e
|
|
2078
|
-
}),
|
|
1498
|
+
}), p.current.style.cursor = "auto";
|
|
2079
1499
|
else {
|
|
2080
1500
|
let i = Date.now();
|
|
2081
|
-
|
|
1501
|
+
m.current.noTap ? m.current.noTap = !1 : m.current.timeStart - i < 300 && K.add(s, {
|
|
2082
1502
|
clientX: t,
|
|
2083
1503
|
clientY: n,
|
|
2084
1504
|
altKey: r,
|
|
2085
1505
|
shiftKey: a,
|
|
2086
|
-
ctrlKey:
|
|
1506
|
+
ctrlKey: o,
|
|
2087
1507
|
metaKey: c,
|
|
2088
1508
|
target: l,
|
|
2089
1509
|
event: e
|
|
@@ -2091,17 +1511,15 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2091
1511
|
}
|
|
2092
1512
|
}
|
|
2093
1513
|
};
|
|
2094
|
-
return /* @__PURE__ */ (
|
|
2095
|
-
onWheel:
|
|
2096
|
-
onPointerDown:
|
|
2097
|
-
onPointerMove:
|
|
2098
|
-
onPointerUp:
|
|
2099
|
-
|
|
2100
|
-
onPointerLeave: g,
|
|
2101
|
-
onPointerCancel: g,
|
|
1514
|
+
return /* @__PURE__ */ a("div", {
|
|
1515
|
+
onWheel: h,
|
|
1516
|
+
onPointerDown: g,
|
|
1517
|
+
onPointerMove: _,
|
|
1518
|
+
onPointerUp: v,
|
|
1519
|
+
onPointerCancel: v,
|
|
2102
1520
|
onDoubleClick: (e) => {
|
|
2103
1521
|
let { clientX: t, clientY: n, altKey: r, shiftKey: i, ctrlKey: a, metaKey: o, target: s } = e;
|
|
2104
|
-
|
|
1522
|
+
K.add(l, {
|
|
2105
1523
|
clientX: t,
|
|
2106
1524
|
clientY: n,
|
|
2107
1525
|
altKey: r,
|
|
@@ -2112,13 +1530,19 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2112
1530
|
event: e
|
|
2113
1531
|
});
|
|
2114
1532
|
},
|
|
2115
|
-
style: {
|
|
2116
|
-
|
|
1533
|
+
style: {
|
|
1534
|
+
touchAction: "none",
|
|
1535
|
+
...f ? {
|
|
1536
|
+
position: "absolute",
|
|
1537
|
+
inset: 0
|
|
1538
|
+
} : {}
|
|
1539
|
+
},
|
|
1540
|
+
ref: p,
|
|
2117
1541
|
children: t
|
|
2118
1542
|
});
|
|
2119
|
-
},
|
|
2120
|
-
let [n] =
|
|
2121
|
-
return /* @__PURE__ */ (
|
|
1543
|
+
}, J = ({ onResize: e, ...t }) => {
|
|
1544
|
+
let [n] = F((e) => [e.getBoardState]);
|
|
1545
|
+
return /* @__PURE__ */ a(q, {
|
|
2122
1546
|
onDrag: ({ deltaX: t, deltaY: r, event: i }) => {
|
|
2123
1547
|
i.stopPropagation();
|
|
2124
1548
|
let { scale: a } = n();
|
|
@@ -2127,38 +1551,38 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2127
1551
|
height: r / a
|
|
2128
1552
|
});
|
|
2129
1553
|
},
|
|
2130
|
-
children: /* @__PURE__ */ (
|
|
1554
|
+
children: /* @__PURE__ */ a("div", { ...t })
|
|
2131
1555
|
});
|
|
2132
|
-
},
|
|
1556
|
+
}, Ct = W`
|
|
2133
1557
|
display: inline-block;
|
|
2134
1558
|
transition: transform 150ms;
|
|
2135
1559
|
user-select: none;
|
|
2136
1560
|
padding: 2px;
|
|
2137
1561
|
box-sizing: border-box;
|
|
2138
|
-
`,
|
|
1562
|
+
`, wt = W`
|
|
2139
1563
|
border: 2px dashed #db5034;
|
|
2140
1564
|
padding: 0px;
|
|
2141
1565
|
cursor: pointer;
|
|
2142
|
-
`,
|
|
1566
|
+
`, Y = W`
|
|
2143
1567
|
position: absolute;
|
|
2144
1568
|
width: 0px;
|
|
2145
1569
|
height: 0px;
|
|
2146
|
-
`,
|
|
1570
|
+
`, Tt = W`
|
|
2147
1571
|
top: 0;
|
|
2148
1572
|
left: 0;
|
|
2149
|
-
`,
|
|
1573
|
+
`, Et = W`
|
|
2150
1574
|
top: 0;
|
|
2151
1575
|
right: 0;
|
|
2152
|
-
`,
|
|
1576
|
+
`, Dt = W`
|
|
2153
1577
|
bottom: 0;
|
|
2154
1578
|
left: 0;
|
|
2155
|
-
`,
|
|
1579
|
+
`, Ot = W`
|
|
2156
1580
|
bottom: 0;
|
|
2157
1581
|
right: 0;
|
|
2158
|
-
`,
|
|
1582
|
+
`, kt = W`
|
|
2159
1583
|
top: 50%;
|
|
2160
1584
|
left: 50%;
|
|
2161
|
-
`,
|
|
1585
|
+
`, X = W`
|
|
2162
1586
|
position: absolute;
|
|
2163
1587
|
|
|
2164
1588
|
width: 10px;
|
|
@@ -2166,20 +1590,20 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2166
1590
|
border: 2px solid #db5034;
|
|
2167
1591
|
background-color: #db5034;
|
|
2168
1592
|
cursor: move;
|
|
2169
|
-
`,
|
|
1593
|
+
`, At = W`
|
|
2170
1594
|
cursor: ew-resize;
|
|
2171
1595
|
right: -6px;
|
|
2172
1596
|
top: calc(50% - 5px);
|
|
2173
|
-
`,
|
|
1597
|
+
`, jt = W`
|
|
2174
1598
|
cursor: ns-resize;
|
|
2175
1599
|
bottom: -6px;
|
|
2176
1600
|
left: calc(50% - 5px);
|
|
2177
|
-
`,
|
|
1601
|
+
`, Mt = W`
|
|
2178
1602
|
cursor: nwse-resize;
|
|
2179
1603
|
bottom: -6px;
|
|
2180
1604
|
right: -6px;
|
|
2181
|
-
`,
|
|
2182
|
-
className: `syncboard-error-item ${
|
|
1605
|
+
`, Nt = ({ onReload: e }) => /* @__PURE__ */ o("div", {
|
|
1606
|
+
className: `syncboard-error-item ${W({
|
|
2183
1607
|
width: "100px",
|
|
2184
1608
|
display: "flex",
|
|
2185
1609
|
flexDirection: "column",
|
|
@@ -2187,11 +1611,11 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2187
1611
|
textAlign: "center",
|
|
2188
1612
|
color: "red"
|
|
2189
1613
|
})}`,
|
|
2190
|
-
children: ["Sorry, this item seems broken.", /* @__PURE__ */ (
|
|
1614
|
+
children: ["Sorry, this item seems broken.", /* @__PURE__ */ a("button", {
|
|
2191
1615
|
onClick: e,
|
|
2192
1616
|
children: "Reload it"
|
|
2193
1617
|
})]
|
|
2194
|
-
}),
|
|
1618
|
+
}), Pt = class extends e.Component {
|
|
2195
1619
|
constructor(e) {
|
|
2196
1620
|
super(e), this.state = {
|
|
2197
1621
|
hasError: !1,
|
|
@@ -2209,11 +1633,11 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2209
1633
|
}
|
|
2210
1634
|
render() {
|
|
2211
1635
|
let { ErrorComponent: e } = this.props;
|
|
2212
|
-
return this.state.hasError ? /* @__PURE__ */ (
|
|
1636
|
+
return this.state.hasError ? /* @__PURE__ */ a(e, { onReload: this.onReload }) : this.props.children;
|
|
2213
1637
|
}
|
|
2214
|
-
},
|
|
1638
|
+
}, Ft = (e) => {
|
|
2215
1639
|
e.target.className = "";
|
|
2216
|
-
},
|
|
1640
|
+
}, It = ({ width: e, height: t, actualWidth: n, actualHeight: r, prevState: i, keepRatio: a }) => {
|
|
2217
1641
|
let { width: o, height: s } = i;
|
|
2218
1642
|
if ([o, s] = [parseFloat(o), parseFloat(s)], (!o || Number.isNaN(Number(o))) && (o = n), (!s || Number.isNaN(Number(s))) && (s = r), a) {
|
|
2219
1643
|
let n = o / s;
|
|
@@ -2228,25 +1652,25 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2228
1652
|
width: (o + e).toFixed(1),
|
|
2229
1653
|
height: (s + t).toFixed(1)
|
|
2230
1654
|
};
|
|
2231
|
-
},
|
|
1655
|
+
}, Lt = {
|
|
2232
1656
|
w: !0,
|
|
2233
1657
|
h: !0,
|
|
2234
1658
|
b: !0
|
|
2235
|
-
},
|
|
2236
|
-
let
|
|
1659
|
+
}, Rt = t(({ setState: t, state: { type: n, rotation: r = 0, id: s, locked: c, extraClasses: l, ...u } = {}, animate: d = "hvr-pop", isSelected: f, itemMap: p, showResizeHandle: m = !0 }) => {
|
|
1660
|
+
let h = e.useRef(null), [g] = F((e) => [e.config.uid]), { component: _ = () => null, resizeDirections: v = Lt, resize: y = It } = p[n], b = e.useCallback((e, n = !1) => t(s, e, n), [t, s]);
|
|
2237
1661
|
e.useEffect(() => {
|
|
2238
|
-
|
|
2239
|
-
}, [
|
|
2240
|
-
let
|
|
1662
|
+
h.current.className = d;
|
|
1663
|
+
}, [d]);
|
|
1664
|
+
let x = [
|
|
2241
1665
|
"item",
|
|
2242
|
-
|
|
2243
|
-
|
|
1666
|
+
s,
|
|
1667
|
+
Ct
|
|
2244
1668
|
];
|
|
2245
|
-
|
|
2246
|
-
let
|
|
2247
|
-
|
|
2248
|
-
let { offsetWidth: i, offsetHeight: a } =
|
|
2249
|
-
return
|
|
1669
|
+
c && x.push("locked"), f && (x.push("selected"), x.push(wt)), Array.isArray(l) && x.concat(l);
|
|
1670
|
+
let S = x.join(" "), C = ({ width: e = 0, height: t = 0, keepRatio: n }) => {
|
|
1671
|
+
b((r) => {
|
|
1672
|
+
let { offsetWidth: i, offsetHeight: a } = h.current;
|
|
1673
|
+
return y({
|
|
2250
1674
|
prevState: r,
|
|
2251
1675
|
width: e,
|
|
2252
1676
|
height: t,
|
|
@@ -2255,222 +1679,225 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2255
1679
|
keepRatio: n
|
|
2256
1680
|
});
|
|
2257
1681
|
});
|
|
2258
|
-
}, x = ({ width: e }) => {
|
|
2259
|
-
b({ width: e });
|
|
2260
|
-
}, C = ({ height: e }) => {
|
|
2261
|
-
b({ height: e });
|
|
2262
1682
|
}, w = ({ width: e }) => {
|
|
2263
|
-
|
|
1683
|
+
C({ width: e });
|
|
1684
|
+
}, ee = ({ height: e }) => {
|
|
1685
|
+
C({ height: e });
|
|
1686
|
+
}, T = ({ width: e }) => {
|
|
1687
|
+
C({
|
|
2264
1688
|
height: e,
|
|
2265
1689
|
width: e,
|
|
2266
1690
|
keepRatio: !0
|
|
2267
1691
|
});
|
|
2268
1692
|
};
|
|
2269
|
-
return /* @__PURE__ */ (
|
|
1693
|
+
return /* @__PURE__ */ a("div", {
|
|
2270
1694
|
style: { transform: `rotate(${r}deg` },
|
|
2271
|
-
"data-id":
|
|
2272
|
-
id: `${
|
|
2273
|
-
className:
|
|
2274
|
-
children: /* @__PURE__ */ (
|
|
1695
|
+
"data-id": s,
|
|
1696
|
+
id: `${g}__${s}`,
|
|
1697
|
+
className: S,
|
|
1698
|
+
children: /* @__PURE__ */ o("div", {
|
|
2275
1699
|
style: { display: "flex" },
|
|
2276
|
-
ref:
|
|
2277
|
-
onAnimationEnd:
|
|
1700
|
+
ref: h,
|
|
1701
|
+
onAnimationEnd: Ft,
|
|
2278
1702
|
onKeyDown: (e) => e.stopPropagation(),
|
|
2279
1703
|
onKeyUp: (e) => e.stopPropagation(),
|
|
2280
1704
|
children: [
|
|
2281
|
-
/* @__PURE__ */ (
|
|
2282
|
-
itemId:
|
|
2283
|
-
state:
|
|
2284
|
-
ErrorComponent:
|
|
2285
|
-
children: /* @__PURE__ */ (
|
|
2286
|
-
...
|
|
2287
|
-
id:
|
|
2288
|
-
setState:
|
|
1705
|
+
/* @__PURE__ */ a(Pt, {
|
|
1706
|
+
itemId: s,
|
|
1707
|
+
state: u,
|
|
1708
|
+
ErrorComponent: p?.error?.component || Nt,
|
|
1709
|
+
children: /* @__PURE__ */ a(_, {
|
|
1710
|
+
...u,
|
|
1711
|
+
id: s,
|
|
1712
|
+
setState: b
|
|
2289
1713
|
})
|
|
2290
1714
|
}),
|
|
2291
|
-
/* @__PURE__ */ (
|
|
2292
|
-
/* @__PURE__ */ (
|
|
2293
|
-
/* @__PURE__ */ (
|
|
2294
|
-
/* @__PURE__ */ (
|
|
2295
|
-
/* @__PURE__ */ (
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
className: `${
|
|
2299
|
-
onResize:
|
|
1715
|
+
/* @__PURE__ */ a("div", { className: `corner ${Y} ${Tt}` }),
|
|
1716
|
+
/* @__PURE__ */ a("div", { className: `corner ${Y} ${Et}` }),
|
|
1717
|
+
/* @__PURE__ */ a("div", { className: `corner ${Y} ${Ot}` }),
|
|
1718
|
+
/* @__PURE__ */ a("div", { className: `corner ${Y} ${Dt}` }),
|
|
1719
|
+
/* @__PURE__ */ a("div", { className: `center ${Y} ${kt}` }),
|
|
1720
|
+
m && /* @__PURE__ */ o(i, { children: [
|
|
1721
|
+
v.b && /* @__PURE__ */ a(J, {
|
|
1722
|
+
className: `${X} ${Mt}`,
|
|
1723
|
+
onResize: T
|
|
2300
1724
|
}),
|
|
2301
|
-
|
|
2302
|
-
className: `${
|
|
2303
|
-
onResize:
|
|
1725
|
+
v.h && /* @__PURE__ */ a(J, {
|
|
1726
|
+
className: `${X} ${jt}`,
|
|
1727
|
+
onResize: ee
|
|
2304
1728
|
}),
|
|
2305
|
-
|
|
2306
|
-
className: `${
|
|
2307
|
-
onResize:
|
|
1729
|
+
v.w && /* @__PURE__ */ a(J, {
|
|
1730
|
+
className: `${X} ${At}`,
|
|
1731
|
+
onResize: w
|
|
2308
1732
|
})
|
|
2309
1733
|
] })
|
|
2310
1734
|
]
|
|
2311
1735
|
})
|
|
2312
1736
|
});
|
|
2313
|
-
}, ({ state: e, setState: t, isSelected: n, showResizeHandle: r }, { state: i, setState: a, isSelected: o, showResizeHandle: s }) => n === o && r === s && t === a && (0,
|
|
1737
|
+
}, ({ state: e, setState: t, isSelected: n, showResizeHandle: r }, { state: i, setState: a, isSelected: o, showResizeHandle: s }) => n === o && r === s && t === a && (0, ht.default)(e, i)), zt = (e) => e, Bt = t(({ state: e = {}, getCurrentUser: t, className: n, ...r }) => {
|
|
2314
1738
|
if (!r.itemMap[e.type]) return null;
|
|
2315
|
-
let { stateHook: i =
|
|
2316
|
-
return /* @__PURE__ */ (
|
|
1739
|
+
let { stateHook: i = zt } = r.itemMap[e.type], { x: o = 0, y: s = 0, layer: c = 0, moving: l, ...u } = i(e, { currentUser: t?.() }), d = (c + 4) * 10 + 100 + (l ? 5 : 0);
|
|
1740
|
+
return /* @__PURE__ */ a("div", {
|
|
2317
1741
|
className: n,
|
|
2318
1742
|
style: {
|
|
2319
|
-
transform: `translate(${
|
|
2320
|
-
zIndex:
|
|
1743
|
+
transform: `translate(${o}px, ${s}px)`,
|
|
1744
|
+
zIndex: d
|
|
2321
1745
|
},
|
|
2322
|
-
children: /* @__PURE__ */ (
|
|
1746
|
+
children: /* @__PURE__ */ a(Rt, {
|
|
2323
1747
|
...r,
|
|
2324
1748
|
showResizeHandle: r.isSelected && r.showResizeHandle,
|
|
2325
|
-
state:
|
|
1749
|
+
state: u
|
|
2326
1750
|
})
|
|
2327
1751
|
});
|
|
2328
|
-
}),
|
|
2329
|
-
let { updateItem: e } =
|
|
2330
|
-
e.config.boardSize,
|
|
1752
|
+
}), Vt = () => {
|
|
1753
|
+
let { updateItem: e } = z(), [t, n] = P((e) => [e.itemIds, e.items]), [r, i, o] = F((e) => [
|
|
2331
1754
|
e.config.showResizeHandle,
|
|
2332
1755
|
e.config.itemTemplates,
|
|
2333
1756
|
e.selection
|
|
2334
|
-
]), [s] =
|
|
1757
|
+
]), [s] = V((e) => [e.getUser]), c = W({
|
|
2335
1758
|
position: "absolute",
|
|
2336
|
-
top:
|
|
2337
|
-
left:
|
|
1759
|
+
top: 0,
|
|
1760
|
+
left: 0,
|
|
1761
|
+
pointerEvents: "auto",
|
|
2338
1762
|
display: "inline-block",
|
|
2339
1763
|
lineHeight: 0
|
|
2340
1764
|
});
|
|
2341
|
-
return t.map((t) => /* @__PURE__ */ (
|
|
1765
|
+
return t.map((t) => /* @__PURE__ */ a(Bt, {
|
|
2342
1766
|
state: n[t],
|
|
2343
1767
|
setState: e,
|
|
2344
1768
|
isSelected: o.includes(t),
|
|
2345
|
-
itemMap:
|
|
2346
|
-
boardSize: r,
|
|
1769
|
+
itemMap: i,
|
|
2347
1770
|
getCurrentUser: s,
|
|
2348
|
-
showResizeHandle:
|
|
1771
|
+
showResizeHandle: r,
|
|
2349
1772
|
className: c
|
|
2350
1773
|
}, t));
|
|
2351
|
-
},
|
|
1774
|
+
}, Ht = W({
|
|
2352
1775
|
zIndex: 210,
|
|
2353
1776
|
position: "absolute",
|
|
2354
1777
|
backgroundColor: "hsla(0, 40%, 50%, 10%)",
|
|
2355
1778
|
border: "2px solid hsl(0, 55%, 40%)"
|
|
2356
|
-
}),
|
|
1779
|
+
}), Ut = (e, t, n = !1) => {
|
|
2357
1780
|
let r = t.getElementsByClassName("selector");
|
|
2358
1781
|
if (!r.length) return [];
|
|
2359
1782
|
let i = r[0];
|
|
2360
1783
|
return Array.from(t.getElementsByClassName("item")).filter((t) => {
|
|
2361
|
-
let r = e[
|
|
2362
|
-
return !r || !n && r.locked ? !1 :
|
|
2363
|
-
}).map((e) =>
|
|
2364
|
-
},
|
|
2365
|
-
let [r, i,
|
|
1784
|
+
let r = e[N(t)];
|
|
1785
|
+
return !r || !n && r.locked ? !1 : oe(t, i);
|
|
1786
|
+
}).map((e) => N(e));
|
|
1787
|
+
}, Wt = ({ children: t, moveFirst: n }) => {
|
|
1788
|
+
let [r, i, s, c, l, u] = F((e) => [
|
|
2366
1789
|
e.getSelection,
|
|
2367
1790
|
e.clear,
|
|
2368
1791
|
e.setSelection,
|
|
2369
1792
|
e.select,
|
|
2370
1793
|
e.getConfiguration,
|
|
2371
|
-
e.getBoardState,
|
|
2372
1794
|
e.updateBoardState
|
|
2373
|
-
]), { findElementUnderPointer:
|
|
2374
|
-
return
|
|
2375
|
-
e.key === "l" &&
|
|
2376
|
-
}),
|
|
2377
|
-
e.key === "l" &&
|
|
1795
|
+
]), { findElementUnderPointer: d } = z(), [p] = P((e) => [e.getItems]), [m, h] = e.useState({}), [, g] = e.useTransition(), [_, v] = e.useState(!1), y = e.useRef(null), b = e.useRef({ moving: !1 });
|
|
1796
|
+
return f(document, "keydown", (e) => {
|
|
1797
|
+
e.key === "l" && v(!0);
|
|
1798
|
+
}), f(document, "keyup", (e) => {
|
|
1799
|
+
e.key === "l" && v(!1);
|
|
2378
1800
|
}), e.useEffect(() => (i(), () => {
|
|
2379
1801
|
i();
|
|
2380
1802
|
}), [i]), e.useEffect(() => {
|
|
2381
|
-
if (
|
|
2382
|
-
let e =
|
|
2383
|
-
|
|
2384
|
-
|
|
1803
|
+
if (b.current.moving) {
|
|
1804
|
+
let e = p(), { boardWrapper: t } = l(), n = Ut(e, t, _);
|
|
1805
|
+
g(() => {
|
|
1806
|
+
s(n);
|
|
2385
1807
|
});
|
|
2386
1808
|
}
|
|
2387
1809
|
}, [
|
|
1810
|
+
l,
|
|
1811
|
+
p,
|
|
1812
|
+
m,
|
|
2388
1813
|
s,
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
m
|
|
2393
|
-
]), /* @__PURE__ */ (0, S.jsx)(qt, {
|
|
1814
|
+
_
|
|
1815
|
+
]), /* @__PURE__ */ a(q, {
|
|
1816
|
+
fill: !0,
|
|
2394
1817
|
onDragStart: async (e) => {
|
|
2395
|
-
await
|
|
2396
|
-
|
|
2397
|
-
}),
|
|
1818
|
+
await d(e) || (b.current.moving = !0, g(() => {
|
|
1819
|
+
u({ selecting: !0 });
|
|
1820
|
+
}), y.current.style.cursor = "crosshair");
|
|
2398
1821
|
},
|
|
2399
1822
|
onDrag: ({ distanceY: e, distanceX: t, startX: n, startY: r }) => {
|
|
2400
|
-
if (
|
|
2401
|
-
let { top: i, left: a } =
|
|
2402
|
-
t > 0 ? (
|
|
2403
|
-
...
|
|
1823
|
+
if (b.current.moving) {
|
|
1824
|
+
let { top: i, left: a } = y.current.getBoundingClientRect(), o = n - a, s = r - i;
|
|
1825
|
+
t > 0 ? (b.current.left = o, b.current.width = t) : (b.current.left = o + t, b.current.width = -t), e > 0 ? (b.current.top = s, b.current.height = e) : (b.current.top = s + e, b.current.height = -e), h({
|
|
1826
|
+
...b.current,
|
|
2404
1827
|
moving: !0
|
|
2405
1828
|
});
|
|
2406
1829
|
}
|
|
2407
1830
|
},
|
|
2408
1831
|
onDragEnd: () => {
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
}),
|
|
1832
|
+
b.current.moving && (g(() => {
|
|
1833
|
+
u({ selecting: !1 });
|
|
1834
|
+
}), b.current.moving = !1, h({ moving: !1 }), y.current.style.cursor = "auto");
|
|
2412
1835
|
},
|
|
2413
1836
|
onTap: (e) => {
|
|
2414
|
-
let {
|
|
2415
|
-
if (!
|
|
1837
|
+
let { ctrlKey: t, metaKey: n } = e, a = d(e);
|
|
1838
|
+
if (!a) i();
|
|
2416
1839
|
else {
|
|
2417
|
-
let e =
|
|
1840
|
+
let e = N(a);
|
|
2418
1841
|
if (!e) {
|
|
2419
1842
|
i();
|
|
2420
1843
|
return;
|
|
2421
1844
|
}
|
|
2422
|
-
let
|
|
2423
|
-
|
|
1845
|
+
let o = r();
|
|
1846
|
+
a && !o.includes(e) && (t || n ? c([e]) : s([e]));
|
|
2424
1847
|
}
|
|
2425
1848
|
},
|
|
2426
1849
|
onLongTap: ({ target: e }) => {
|
|
2427
|
-
let t =
|
|
1850
|
+
let t = ne(e, "item");
|
|
2428
1851
|
if (t) {
|
|
2429
|
-
let e =
|
|
2430
|
-
|
|
1852
|
+
let e = N(t);
|
|
1853
|
+
s([e]);
|
|
2431
1854
|
}
|
|
2432
1855
|
},
|
|
2433
1856
|
mainAction: n ? "pan" : "drag",
|
|
2434
|
-
children: /* @__PURE__ */ (
|
|
2435
|
-
ref:
|
|
2436
|
-
|
|
1857
|
+
children: /* @__PURE__ */ o("div", {
|
|
1858
|
+
ref: y,
|
|
1859
|
+
style: {
|
|
1860
|
+
position: "absolute",
|
|
1861
|
+
inset: 0
|
|
1862
|
+
},
|
|
1863
|
+
children: [m.moving && /* @__PURE__ */ a("div", {
|
|
2437
1864
|
style: {
|
|
2438
|
-
transform: `translate(${
|
|
2439
|
-
height: `${
|
|
2440
|
-
width: `${
|
|
1865
|
+
transform: `translate(${m.left}px, ${m.top}px)`,
|
|
1866
|
+
height: `${m.height}px`,
|
|
1867
|
+
width: `${m.width}px`
|
|
2441
1868
|
},
|
|
2442
|
-
className: `selector ${
|
|
1869
|
+
className: `selector ${Ht}`
|
|
2443
1870
|
}), t]
|
|
2444
1871
|
})
|
|
2445
1872
|
});
|
|
2446
|
-
},
|
|
2447
|
-
let { moveItems: n, placeItems: r, findElementUnderPointer: i } =
|
|
1873
|
+
}, Gt = ({ children: t }) => {
|
|
1874
|
+
let { moveItems: n, placeItems: r, findElementUnderPointer: i } = z(), { vectorFromWrapperToBoard: o } = L(), [s, c, l, u, d] = F((e) => [
|
|
2448
1875
|
e.select,
|
|
2449
1876
|
e.setSelection,
|
|
2450
1877
|
e.getSelection,
|
|
2451
1878
|
e.getBoardState,
|
|
2452
1879
|
e.updateBoardState
|
|
2453
|
-
]), [
|
|
2454
|
-
return
|
|
1880
|
+
]), [p] = P((e) => [e.getBoardConfig]), m = e.useRef({}), h = e.useRef({ items: [] });
|
|
1881
|
+
return f(document, "keydown", (e) => {
|
|
2455
1882
|
if (["INPUT", "TEXTAREA"].includes(e.target.tagName)) return;
|
|
2456
|
-
let t =
|
|
1883
|
+
let t = l();
|
|
2457
1884
|
if (t.length) {
|
|
2458
|
-
let { gridSize: i = 1 } =
|
|
1885
|
+
let { gridSize: i = 1 } = p(), a = 0, s = 0;
|
|
2459
1886
|
switch (e.key) {
|
|
2460
1887
|
case "ArrowLeft":
|
|
2461
|
-
|
|
1888
|
+
a = -10;
|
|
2462
1889
|
break;
|
|
2463
1890
|
case "ArrowRight":
|
|
2464
|
-
|
|
1891
|
+
a = 10;
|
|
2465
1892
|
break;
|
|
2466
1893
|
case "ArrowUp":
|
|
2467
1894
|
s = -10;
|
|
2468
1895
|
break;
|
|
2469
1896
|
case "ArrowDown": s = 10;
|
|
2470
1897
|
}
|
|
2471
|
-
if (
|
|
2472
|
-
e.shiftKey && (
|
|
2473
|
-
let [c, l] = a
|
|
1898
|
+
if (a || s) {
|
|
1899
|
+
e.shiftKey && (a *= 5, s *= 5), (e.ctrlKey || e.altKey || e.metaKey) && (a /= 10, s /= 10);
|
|
1900
|
+
let [c, l] = o(a, s);
|
|
2474
1901
|
n(t, {
|
|
2475
1902
|
x: c,
|
|
2476
1903
|
y: l
|
|
@@ -2480,62 +1907,63 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2480
1907
|
}), e.preventDefault();
|
|
2481
1908
|
}
|
|
2482
1909
|
}
|
|
2483
|
-
}), /* @__PURE__ */ (
|
|
1910
|
+
}), /* @__PURE__ */ a(q, {
|
|
1911
|
+
fill: !0,
|
|
2484
1912
|
onDragStart: (e) => {
|
|
2485
1913
|
let { ctrlKey: t, metaKey: n, event: r } = e, a = i(e);
|
|
2486
1914
|
if (a) {
|
|
2487
1915
|
r.stopPropagation();
|
|
2488
|
-
let e =
|
|
2489
|
-
|
|
2490
|
-
let i =
|
|
2491
|
-
e.includes(i) || (t || n ? (
|
|
1916
|
+
let e = l();
|
|
1917
|
+
h.current.items = e;
|
|
1918
|
+
let i = N(a);
|
|
1919
|
+
e.includes(i) || (t || n ? (h.current.items = [...e, i], s([i])) : (h.current.items = [i], c([i]))), Object.assign(m.current, { moving: !0 });
|
|
2492
1920
|
}
|
|
2493
1921
|
},
|
|
2494
1922
|
onDrag: ({ deltaX: e, deltaY: t, event: r }) => {
|
|
2495
|
-
if (
|
|
1923
|
+
if (m.current.moving) {
|
|
2496
1924
|
r.stopPropagation();
|
|
2497
|
-
let { movingItems: i } =
|
|
2498
|
-
n(
|
|
2499
|
-
x:
|
|
1925
|
+
let { movingItems: i } = u(), [a, s] = o(e, t);
|
|
1926
|
+
n(h.current.items, {
|
|
1927
|
+
x: a,
|
|
2500
1928
|
y: s
|
|
2501
|
-
}, !0), i ||
|
|
1929
|
+
}, !0), i || d({ movingItems: !0 });
|
|
2502
1930
|
}
|
|
2503
1931
|
},
|
|
2504
1932
|
onDragEnd: () => {
|
|
2505
|
-
if (
|
|
2506
|
-
let { gridSize: e = 1 } =
|
|
2507
|
-
|
|
1933
|
+
if (m.current.moving) {
|
|
1934
|
+
let { gridSize: e = 1 } = p(), t = e || 1;
|
|
1935
|
+
m.current = { moving: !1 }, r(h.current.items, {
|
|
2508
1936
|
type: "grid",
|
|
2509
1937
|
size: t
|
|
2510
|
-
}),
|
|
1938
|
+
}), d({ movingItems: !1 });
|
|
2511
1939
|
}
|
|
2512
1940
|
},
|
|
2513
1941
|
children: t
|
|
2514
1942
|
});
|
|
2515
|
-
},
|
|
1943
|
+
}, Kt = (t) => {
|
|
2516
1944
|
let n = e.useRef({
|
|
2517
1945
|
hover: !1,
|
|
2518
1946
|
x: 0,
|
|
2519
1947
|
y: 0
|
|
2520
1948
|
});
|
|
2521
|
-
return
|
|
1949
|
+
return f(t, "mousemove", (e) => {
|
|
2522
1950
|
let { clientX: t, clientY: r } = e;
|
|
2523
1951
|
n.current.x = t, n.current.y = r;
|
|
2524
|
-
}),
|
|
1952
|
+
}), f(t, "mouseenter", () => {
|
|
2525
1953
|
n.current.hover = !0;
|
|
2526
|
-
}),
|
|
1954
|
+
}), f(t, "mouseleave", () => {
|
|
2527
1955
|
n.current.hover = !1;
|
|
2528
1956
|
}), e.useCallback(() => n.current, []);
|
|
2529
|
-
},
|
|
1957
|
+
}, qt = [...[
|
|
2530
1958
|
,
|
|
2531
1959
|
,
|
|
2532
1960
|
,
|
|
2533
1961
|
,
|
|
2534
1962
|
,
|
|
2535
|
-
].keys()].map((e) => `Digit${e + 1}`),
|
|
2536
|
-
let [t, n] = e.useState({}), [r, i] =
|
|
2537
|
-
return
|
|
2538
|
-
if (!["INPUT", "TEXTAREA"].includes(e.target.tagName) &&
|
|
1963
|
+
].keys()].map((e) => `Digit${e + 1}`), Jt = () => {
|
|
1964
|
+
let [t, n] = e.useState({}), [r, i] = F((e) => [e.getBoardState, e.updateBoardState]);
|
|
1965
|
+
return f(document, "keydown", (e) => {
|
|
1966
|
+
if (!["INPUT", "TEXTAREA"].includes(e.target.tagName) && qt.includes(e.code)) {
|
|
2539
1967
|
let a = e.code, { translateX: o, translateY: s, scale: c } = r();
|
|
2540
1968
|
e.altKey || e.metaKey || e.ctrlKey || e.shiftKey ? n((e) => ({
|
|
2541
1969
|
...e,
|
|
@@ -2547,31 +1975,25 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2547
1975
|
})) : t[a] && i(t[a]), e.preventDefault();
|
|
2548
1976
|
}
|
|
2549
1977
|
}), null;
|
|
2550
|
-
},
|
|
2551
|
-
let r = e.useRef(null), [i,
|
|
2552
|
-
{
|
|
2553
|
-
translateX: e.boardState.translateX,
|
|
2554
|
-
translateY: e.boardState.translateY,
|
|
2555
|
-
scale: e.boardState.scale,
|
|
2556
|
-
rotate: e.boardState.rotate
|
|
2557
|
-
},
|
|
1978
|
+
}, Yt = ({ children: t, moveFirst: n = !1 }) => {
|
|
1979
|
+
let r = e.useRef(null), [i, o, s, c] = F((e) => [
|
|
2558
1980
|
e.config.itemExtent,
|
|
2559
1981
|
e.getConfiguration,
|
|
2560
1982
|
e.updateBoardState,
|
|
2561
1983
|
e.getSelection
|
|
2562
|
-
]), { zoomToCenter: l, zoomToExtent: u, moveBoard: d } =
|
|
2563
|
-
|
|
2564
|
-
let
|
|
1984
|
+
]), { zoomToCenter: l, zoomToExtent: u, moveBoard: d } = L(), [p, m] = e.useState(!1), h = e.useRef({}), g = Kt(r);
|
|
1985
|
+
Jt();
|
|
1986
|
+
let _ = e.useCallback(() => {
|
|
2565
1987
|
let { itemExtent: e } = o();
|
|
2566
1988
|
u(e);
|
|
2567
1989
|
}, [o, u]);
|
|
2568
1990
|
return e.useEffect(() => {
|
|
2569
|
-
!
|
|
1991
|
+
!p && i.radius && (_(), m(!0));
|
|
2570
1992
|
}, [
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
]),
|
|
1993
|
+
_,
|
|
1994
|
+
p,
|
|
1995
|
+
i
|
|
1996
|
+
]), f(document, "keydown", (e) => {
|
|
2575
1997
|
if (["INPUT", "TEXTAREA"].includes(e.target.tagName)) return;
|
|
2576
1998
|
let t = 0, n = 0, r = 1;
|
|
2577
1999
|
switch (e.key) {
|
|
@@ -2600,21 +2022,22 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2600
2022
|
translateY: r + n
|
|
2601
2023
|
})), l({ factor: r }), e.preventDefault();
|
|
2602
2024
|
}
|
|
2603
|
-
e.key === " " && !e.repeat &&
|
|
2025
|
+
e.key === " " && !e.repeat && g().hover && l({
|
|
2604
2026
|
factor: 3,
|
|
2605
|
-
to:
|
|
2027
|
+
to: g()
|
|
2606
2028
|
});
|
|
2607
|
-
}),
|
|
2608
|
-
["INPUT", "TEXTAREA"].includes(e.target.tagName) || e.key === " " &&
|
|
2029
|
+
}), f(document, "keyup", (e) => {
|
|
2030
|
+
["INPUT", "TEXTAREA"].includes(e.target.tagName) || e.key === " " && g().hover && l({
|
|
2609
2031
|
factor: 1 / 3,
|
|
2610
|
-
to:
|
|
2032
|
+
to: g()
|
|
2611
2033
|
});
|
|
2612
|
-
}), /* @__PURE__ */ (
|
|
2034
|
+
}), /* @__PURE__ */ a(q, {
|
|
2035
|
+
fill: !0,
|
|
2613
2036
|
onPan: ({ deltaX: e, deltaY: t }) => {
|
|
2614
2037
|
d(({ translateX: n, translateY: r }) => ({
|
|
2615
2038
|
translateX: n + e,
|
|
2616
2039
|
translateY: r + t
|
|
2617
|
-
})), clearTimeout(
|
|
2040
|
+
})), clearTimeout(h.current.pan), h.current.pan = setTimeout(() => {
|
|
2618
2041
|
s({ panning: !1 });
|
|
2619
2042
|
}, 200), s({ panning: !0 });
|
|
2620
2043
|
},
|
|
@@ -2625,23 +2048,26 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2625
2048
|
y: t
|
|
2626
2049
|
},
|
|
2627
2050
|
factor: 1 - n / 500
|
|
2628
|
-
}), clearTimeout(
|
|
2051
|
+
}), clearTimeout(h.current.zoom), h.current.zoom = setTimeout(() => {
|
|
2629
2052
|
s({ zooming: !1 });
|
|
2630
2053
|
}, 200), s({ zooming: !0 });
|
|
2631
2054
|
},
|
|
2632
2055
|
mainAction: n ? "pan" : "drag",
|
|
2633
|
-
children: /* @__PURE__ */ (
|
|
2056
|
+
children: /* @__PURE__ */ a("div", {
|
|
2634
2057
|
style: {
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2058
|
+
position: "absolute",
|
|
2059
|
+
top: 0,
|
|
2060
|
+
left: 0,
|
|
2061
|
+
display: "block",
|
|
2062
|
+
width: "100%",
|
|
2063
|
+
height: "100%"
|
|
2638
2064
|
},
|
|
2639
|
-
className:
|
|
2065
|
+
className: "board",
|
|
2640
2066
|
ref: r,
|
|
2641
2067
|
children: t
|
|
2642
2068
|
})
|
|
2643
2069
|
});
|
|
2644
|
-
},
|
|
2070
|
+
}, Xt = W({
|
|
2645
2071
|
position: "absolute",
|
|
2646
2072
|
top: 0,
|
|
2647
2073
|
left: 0,
|
|
@@ -2649,8 +2075,8 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2649
2075
|
backgroundColor: "hsla(0, 40%, 50%, 0%)",
|
|
2650
2076
|
border: "2px dashed hsl(20, 55%, 40%)",
|
|
2651
2077
|
pointerEvents: "none"
|
|
2652
|
-
}),
|
|
2653
|
-
let [t, n, r, i,
|
|
2078
|
+
}), Zt = () => {
|
|
2079
|
+
let [t, n, r, i, o, { translateX: s, translateY: c, scale: l }] = F((e) => [
|
|
2654
2080
|
e.selection,
|
|
2655
2081
|
e.getSelection,
|
|
2656
2082
|
e.selectionBox,
|
|
@@ -2661,18 +2087,18 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2661
2087
|
translateY: e.boardState.translateY,
|
|
2662
2088
|
scale: e.boardState.scale
|
|
2663
2089
|
}
|
|
2664
|
-
]), [
|
|
2665
|
-
let e = n(), { boardWrapperRect: t, uid: r } =
|
|
2090
|
+
]), [d] = P((e) => [e.items]), f = e.useCallback(() => {
|
|
2091
|
+
let e = n(), { boardWrapperRect: t, uid: r } = o();
|
|
2666
2092
|
if (e.length === 0) {
|
|
2667
2093
|
i(null);
|
|
2668
2094
|
return;
|
|
2669
2095
|
}
|
|
2670
|
-
let
|
|
2671
|
-
if (!
|
|
2096
|
+
let a = se(e, r);
|
|
2097
|
+
if (!a) {
|
|
2672
2098
|
i(null);
|
|
2673
2099
|
return;
|
|
2674
2100
|
}
|
|
2675
|
-
let { left: s, top: c, width: l, height: u } =
|
|
2101
|
+
let { left: s, top: c, width: l, height: u } = a, d = {
|
|
2676
2102
|
left: s - t.left,
|
|
2677
2103
|
top: c - t.top,
|
|
2678
2104
|
height: u,
|
|
@@ -2680,44 +2106,44 @@ var zt = /* @__PURE__ */ h((/* @__PURE__ */ p(((e, t) => {
|
|
|
2680
2106
|
};
|
|
2681
2107
|
i(d);
|
|
2682
2108
|
}, [
|
|
2683
|
-
|
|
2109
|
+
o,
|
|
2684
2110
|
n,
|
|
2685
2111
|
i
|
|
2686
|
-
]),
|
|
2112
|
+
]), p = u(f, [f], 300);
|
|
2687
2113
|
return e.useEffect(() => {
|
|
2688
|
-
|
|
2114
|
+
f(), p();
|
|
2689
2115
|
}, [
|
|
2690
2116
|
t,
|
|
2691
|
-
|
|
2692
|
-
o,
|
|
2117
|
+
d,
|
|
2693
2118
|
s,
|
|
2694
2119
|
c,
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2120
|
+
l,
|
|
2121
|
+
f,
|
|
2122
|
+
p
|
|
2123
|
+
]), !r || t.length < 2 ? null : /* @__PURE__ */ a("div", {
|
|
2698
2124
|
style: {
|
|
2699
2125
|
transform: `translate(${r.left}px, ${r.top}px)`,
|
|
2700
2126
|
height: `${r.height}px`,
|
|
2701
2127
|
width: `${r.width}px`
|
|
2702
2128
|
},
|
|
2703
|
-
className: `selection ${
|
|
2129
|
+
className: `selection ${Xt}`
|
|
2704
2130
|
});
|
|
2705
|
-
},
|
|
2706
|
-
let [e] =
|
|
2707
|
-
return e ? null : /* @__PURE__ */ (
|
|
2131
|
+
}, Qt = () => {
|
|
2132
|
+
let [e] = F((e) => [e.boardState.movingItems]);
|
|
2133
|
+
return e ? null : /* @__PURE__ */ a(Zt, {});
|
|
2708
2134
|
};
|
|
2709
2135
|
//#endregion
|
|
2710
2136
|
//#region node_modules/color2k/dist/index.exports.import.es.mjs
|
|
2711
|
-
function
|
|
2137
|
+
function $t(e, t, n) {
|
|
2712
2138
|
return Math.min(Math.max(e, n), t);
|
|
2713
2139
|
}
|
|
2714
|
-
var
|
|
2140
|
+
var Z = class extends Error {
|
|
2715
2141
|
constructor(e) {
|
|
2716
2142
|
super(`Failed to parse color: "${e}"`);
|
|
2717
2143
|
}
|
|
2718
2144
|
};
|
|
2719
|
-
function
|
|
2720
|
-
if (typeof e != "string") throw new
|
|
2145
|
+
function en(e) {
|
|
2146
|
+
if (typeof e != "string") throw new Z(e);
|
|
2721
2147
|
if (e.trim().toLowerCase() === "transparent") return [
|
|
2722
2148
|
0,
|
|
2723
2149
|
0,
|
|
@@ -2725,52 +2151,52 @@ function kn(e) {
|
|
|
2725
2151
|
0
|
|
2726
2152
|
];
|
|
2727
2153
|
let t = e.trim();
|
|
2728
|
-
t =
|
|
2729
|
-
let n =
|
|
2154
|
+
t = un.test(e) ? an(e) : e;
|
|
2155
|
+
let n = on.exec(t);
|
|
2730
2156
|
if (n) {
|
|
2731
2157
|
let e = Array.from(n).slice(1);
|
|
2732
|
-
return [...e.slice(0, 3).map((e) => parseInt(
|
|
2158
|
+
return [...e.slice(0, 3).map((e) => parseInt(Q(e, 2), 16)), parseInt(Q(e[3] || "f", 2), 16) / 255];
|
|
2733
2159
|
}
|
|
2734
|
-
let r =
|
|
2160
|
+
let r = sn.exec(t);
|
|
2735
2161
|
if (r) {
|
|
2736
2162
|
let e = Array.from(r).slice(1);
|
|
2737
2163
|
return [...e.slice(0, 3).map((e) => parseInt(e, 16)), parseInt(e[3] || "ff", 16) / 255];
|
|
2738
2164
|
}
|
|
2739
|
-
let i =
|
|
2165
|
+
let i = cn.exec(t);
|
|
2740
2166
|
if (i) {
|
|
2741
2167
|
let e = Array.from(i).slice(1);
|
|
2742
2168
|
return [...e.slice(0, 3).map((e) => parseInt(e, 10)), parseFloat(e[3] || "1")];
|
|
2743
2169
|
}
|
|
2744
|
-
let a =
|
|
2170
|
+
let a = ln.exec(t);
|
|
2745
2171
|
if (a) {
|
|
2746
2172
|
let [t, n, r, i] = Array.from(a).slice(1).map(parseFloat);
|
|
2747
|
-
if (
|
|
2748
|
-
return [...
|
|
2173
|
+
if ($t(0, 100, n) !== n || $t(0, 100, r) !== r) throw new Z(e);
|
|
2174
|
+
return [...fn(t, n, r), Number.isNaN(i) ? 1 : i];
|
|
2749
2175
|
}
|
|
2750
|
-
throw new
|
|
2176
|
+
throw new Z(e);
|
|
2751
2177
|
}
|
|
2752
|
-
function
|
|
2178
|
+
function tn(e) {
|
|
2753
2179
|
let t = 5381, n = e.length;
|
|
2754
2180
|
for (; n;) t = t * 33 ^ e.charCodeAt(--n);
|
|
2755
2181
|
return (t >>> 0) % 2341;
|
|
2756
2182
|
}
|
|
2757
|
-
var
|
|
2758
|
-
let n =
|
|
2183
|
+
var nn = (e) => parseInt(e.replace(/_/g, ""), 36), rn = "1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e, t) => {
|
|
2184
|
+
let n = nn(t.substring(0, 3)), r = nn(t.substring(3)).toString(16), i = "";
|
|
2759
2185
|
for (let e = 0; e < 6 - r.length; e++) i += "0";
|
|
2760
2186
|
return e[n] = `${i}${r}`, e;
|
|
2761
2187
|
}, {});
|
|
2762
|
-
function
|
|
2763
|
-
let t =
|
|
2764
|
-
if (!t) throw new
|
|
2188
|
+
function an(e) {
|
|
2189
|
+
let t = rn[tn(e.toLowerCase().trim())];
|
|
2190
|
+
if (!t) throw new Z(e);
|
|
2765
2191
|
return `#${t}`;
|
|
2766
2192
|
}
|
|
2767
|
-
var
|
|
2193
|
+
var Q = (e, t) => Array.from(Array(t)).map(() => e).join(""), on = RegExp(`^#${Q("([a-f0-9])", 3)}([a-f0-9])?$`, "i"), sn = RegExp(`^#${Q("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i"), cn = RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Q(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i"), ln = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i, un = /^[a-z]+$/i, dn = (e) => Math.round(e * 255), fn = (e, t, n) => {
|
|
2768
2194
|
let r = n / 100;
|
|
2769
2195
|
if (t === 0) return [
|
|
2770
2196
|
r,
|
|
2771
2197
|
r,
|
|
2772
2198
|
r
|
|
2773
|
-
].map(
|
|
2199
|
+
].map(dn);
|
|
2774
2200
|
let i = (e % 360 + 360) % 360 / 60, a = (1 - Math.abs(2 * r - 1)) * (t / 100), o = a * (1 - Math.abs(i % 2 - 1)), s = 0, c = 0, l = 0;
|
|
2775
2201
|
i >= 0 && i < 1 ? (s = a, c = o) : i >= 1 && i < 2 ? (s = o, c = a) : i >= 2 && i < 3 ? (c = a, l = o) : i >= 3 && i < 4 ? (c = o, l = a) : i >= 4 && i < 5 ? (s = o, l = a) : i >= 5 && i < 6 && (s = a, l = o);
|
|
2776
2202
|
let u = r - a / 2;
|
|
@@ -2778,29 +2204,29 @@ var $ = (e, t) => Array.from(Array(t)).map(() => e).join(""), Pn = RegExp(`^#${$
|
|
|
2778
2204
|
s + u,
|
|
2779
2205
|
c + u,
|
|
2780
2206
|
l + u
|
|
2781
|
-
].map(
|
|
2207
|
+
].map(dn);
|
|
2782
2208
|
};
|
|
2783
|
-
function
|
|
2209
|
+
function pn(e) {
|
|
2784
2210
|
if (e === "transparent") return 0;
|
|
2785
2211
|
function t(e) {
|
|
2786
2212
|
let t = e / 255;
|
|
2787
2213
|
return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
|
|
2788
2214
|
}
|
|
2789
|
-
let [n, r, i] =
|
|
2215
|
+
let [n, r, i] = en(e);
|
|
2790
2216
|
return .2126 * t(n) + .7152 * t(r) + .0722 * t(i);
|
|
2791
2217
|
}
|
|
2792
|
-
function
|
|
2793
|
-
return
|
|
2218
|
+
function mn(e) {
|
|
2219
|
+
return pn(e) > .179;
|
|
2794
2220
|
}
|
|
2795
2221
|
//#endregion
|
|
2796
2222
|
//#region src/lib/board/Cursors/Cursor.jsx
|
|
2797
|
-
var
|
|
2223
|
+
var hn = W({
|
|
2798
2224
|
display: "flex",
|
|
2799
2225
|
flexDirection: "row",
|
|
2800
2226
|
alignItems: "center",
|
|
2801
2227
|
zIndex: 210,
|
|
2802
2228
|
pointerEvents: "none"
|
|
2803
|
-
}),
|
|
2229
|
+
}), gn = W({
|
|
2804
2230
|
fontWeight: "bold",
|
|
2805
2231
|
padding: "0 0.5em",
|
|
2806
2232
|
borderRadius: "2px",
|
|
@@ -2811,20 +2237,20 @@ var Un = Y({
|
|
|
2811
2237
|
marginTop: "1.7em",
|
|
2812
2238
|
whitespace: "nowrap",
|
|
2813
2239
|
pointerEvents: "none"
|
|
2814
|
-
}),
|
|
2815
|
-
let r =
|
|
2816
|
-
return /* @__PURE__ */ (
|
|
2817
|
-
className:
|
|
2818
|
-
children: [/* @__PURE__ */ (
|
|
2240
|
+
}), _n = e.memo(({ color: e = "#666", size: t = 40, text: n }) => {
|
|
2241
|
+
let r = mn(e) ? "#222" : "#EEE";
|
|
2242
|
+
return /* @__PURE__ */ o("div", {
|
|
2243
|
+
className: hn,
|
|
2244
|
+
children: [/* @__PURE__ */ o("svg", {
|
|
2819
2245
|
version: "1.1",
|
|
2820
2246
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2821
2247
|
viewBox: "1064.7701 445.5539 419.8101 717.0565",
|
|
2822
2248
|
width: t,
|
|
2823
2249
|
height: t,
|
|
2824
|
-
children: [/* @__PURE__ */ (
|
|
2250
|
+
children: [/* @__PURE__ */ a("path", {
|
|
2825
2251
|
d: "m 1197.1015,869.718 -62.2719,-154.49286 133.3276,-9.05842 -257.6915,-253.12748 1.2392,356.98609 88.2465,-79.47087 61.702,152.78366 z",
|
|
2826
2252
|
style: { fill: r }
|
|
2827
|
-
}), /* @__PURE__ */ (
|
|
2253
|
+
}), /* @__PURE__ */ a("path", {
|
|
2828
2254
|
d: "m 1193.0939,861.12419 -62.2719,-154.49286 133.3276,-9.05842 -257.6915,-253.12748 1.2392,356.98609 88.2465,-79.47087 61.702,152.78366 z",
|
|
2829
2255
|
style: {
|
|
2830
2256
|
fill: "white",
|
|
@@ -2832,125 +2258,310 @@ var Un = Y({
|
|
|
2832
2258
|
strokeWidth: 20
|
|
2833
2259
|
}
|
|
2834
2260
|
})]
|
|
2835
|
-
}), /* @__PURE__ */ (
|
|
2261
|
+
}), /* @__PURE__ */ a("div", {
|
|
2836
2262
|
style: {
|
|
2837
2263
|
color: r,
|
|
2838
2264
|
backgroundColor: e
|
|
2839
2265
|
},
|
|
2840
|
-
className:
|
|
2266
|
+
className: gn,
|
|
2841
2267
|
children: n
|
|
2842
2268
|
})]
|
|
2843
2269
|
});
|
|
2844
|
-
}),
|
|
2270
|
+
}), vn = W({
|
|
2845
2271
|
top: 0,
|
|
2846
2272
|
left: 0,
|
|
2847
2273
|
zIndex: 210,
|
|
2848
2274
|
position: "fixed",
|
|
2849
2275
|
pointerEvents: "none"
|
|
2850
|
-
}),
|
|
2851
|
-
className:
|
|
2276
|
+
}), yn = ({ pos: e, ...t }) => /* @__PURE__ */ a("div", {
|
|
2277
|
+
className: vn,
|
|
2852
2278
|
style: { transform: `translate(${e.x - 6}px, ${e.y - 15}px)` },
|
|
2853
|
-
children: /* @__PURE__ */ (
|
|
2854
|
-
}),
|
|
2855
|
-
let [t] =
|
|
2279
|
+
children: /* @__PURE__ */ a(_n, { ...t })
|
|
2280
|
+
}), bn = ({ children: e }) => {
|
|
2281
|
+
let [t] = F((e) => [e.getConfiguration, e.boardState.scale]), { fromWrapperToBoard: n, fromBoardToWrapper: r } = L(), [i, s, c, l] = V((e) => [
|
|
2856
2282
|
e.getUser(),
|
|
2857
2283
|
e.getLocalUsers(),
|
|
2858
2284
|
e.cursors,
|
|
2859
2285
|
e.users
|
|
2860
|
-
]), [
|
|
2861
|
-
let [r, a] = n(e -
|
|
2862
|
-
|
|
2286
|
+
]), [u, d] = V((e) => [e.moveCursor, e.removeCursor]), { boardWrapperRect: f } = t(), p = ({ clientX: e, clientY: t }) => {
|
|
2287
|
+
let [r, a] = n(e - f.left, t - f.top);
|
|
2288
|
+
u(i.id, {
|
|
2863
2289
|
x: r,
|
|
2864
2290
|
y: a
|
|
2865
2291
|
});
|
|
2866
|
-
},
|
|
2867
|
-
|
|
2868
|
-
},
|
|
2869
|
-
return /* @__PURE__ */ (
|
|
2870
|
-
onPointerMove:
|
|
2871
|
-
onPointerLeave:
|
|
2872
|
-
children: [e, Object.entries(
|
|
2873
|
-
let [n, i] = r(t.x, t.y),
|
|
2874
|
-
x: n +
|
|
2875
|
-
y: i +
|
|
2292
|
+
}, m = () => {
|
|
2293
|
+
d(i.id);
|
|
2294
|
+
}, h = s.reduce((e, t) => (t.id !== i.id && c[t.id] && (e[t.id] = c[t.id]), e), {});
|
|
2295
|
+
return /* @__PURE__ */ o("div", {
|
|
2296
|
+
onPointerMove: p,
|
|
2297
|
+
onPointerLeave: m,
|
|
2298
|
+
children: [e, Object.entries(h).map(([e, t]) => {
|
|
2299
|
+
let [n, i] = r(t.x, t.y), o = {
|
|
2300
|
+
x: n + f.left,
|
|
2301
|
+
y: i + f.top
|
|
2876
2302
|
};
|
|
2877
|
-
return
|
|
2878
|
-
pos:
|
|
2879
|
-
text:
|
|
2880
|
-
color:
|
|
2303
|
+
return j(o, f) ? /* @__PURE__ */ a(yn, {
|
|
2304
|
+
pos: o,
|
|
2305
|
+
text: l[e].name,
|
|
2306
|
+
color: l[e].color
|
|
2881
2307
|
}, e) : null;
|
|
2882
2308
|
})]
|
|
2883
2309
|
});
|
|
2884
|
-
},
|
|
2310
|
+
}, xn = /[+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:px|%)/gi;
|
|
2311
|
+
function Sn(e, t = ",") {
|
|
2312
|
+
let n = 0, r = "", i = 0, a = [];
|
|
2313
|
+
for (let [o, s] of e.split("").entries()) if (r) s === r && e[o - 1] !== "\\" && (r = "");
|
|
2314
|
+
else if (s === "\"" || s === "'") r = s;
|
|
2315
|
+
else if (s === "(") n++;
|
|
2316
|
+
else if (s === ")") n--;
|
|
2317
|
+
else if (n === 0 && s === t) {
|
|
2318
|
+
let t = e.slice(i, o).trim();
|
|
2319
|
+
t && a.push(t), i = o + 1;
|
|
2320
|
+
}
|
|
2321
|
+
let o = e.slice(i).trim();
|
|
2322
|
+
return o && a.push(o), a;
|
|
2323
|
+
}
|
|
2324
|
+
function $(e, t) {
|
|
2325
|
+
return [...e.replace(/\s/g, "").matchAll(xn)].reduce((e, [n]) => e + Number.parseFloat(n) * (n.endsWith("%") ? t / 100 : 1), 0);
|
|
2326
|
+
}
|
|
2327
|
+
function Cn(e, t, n, r) {
|
|
2328
|
+
let [i, a = "auto"] = Sn(e, " "), o = r?.width, s = r?.height;
|
|
2329
|
+
if (i === "cover" || i === "contain") {
|
|
2330
|
+
if (!o || !s) return [t, n];
|
|
2331
|
+
let e = Math[i === "cover" ? "max" : "min"](t / o, n / s);
|
|
2332
|
+
return [o * e, s * e];
|
|
2333
|
+
}
|
|
2334
|
+
let c = i === "auto" ? null : $(i, t), l = a === "auto" ? null : $(a, n);
|
|
2335
|
+
return c === null && l === null ? [o || t, s || n] : (c === null && (c = o && s ? l * o / s : t), l === null && (l = o && s ? c * s / o : n), [c, l]);
|
|
2336
|
+
}
|
|
2337
|
+
function wn(e, t, n) {
|
|
2338
|
+
let r = [
|
|
2339
|
+
[0, 0],
|
|
2340
|
+
[e, 0],
|
|
2341
|
+
[0, t],
|
|
2342
|
+
[e, t]
|
|
2343
|
+
].map((e) => k(e, n)), i = r.map(([e]) => e), a = r.map(([, e]) => e), o = Math.floor(Math.min(...i)) - 2, s = Math.floor(Math.min(...a)) - 2, c = Math.ceil(Math.max(...i)) + 2, l = Math.ceil(Math.max(...a)) + 2, [u, d] = A([o, s], n);
|
|
2344
|
+
return {
|
|
2345
|
+
left: o,
|
|
2346
|
+
top: s,
|
|
2347
|
+
width: c - o,
|
|
2348
|
+
height: l - s,
|
|
2349
|
+
x: u,
|
|
2350
|
+
y: d
|
|
2351
|
+
};
|
|
2352
|
+
}
|
|
2353
|
+
var Tn = (e, t, n) => ((e - t) % n + n) % n;
|
|
2354
|
+
function En(e, t, n, r) {
|
|
2355
|
+
let i = wn(e, t, n), a = Number.isFinite(r) && r > 0 ? r : 512 * 2 ** Math.max(0, Math.ceil(Math.log2(1 / n.scale))), o = Math.floor(i.left / a) - 1, s = Math.floor((i.left + i.width) / a) + 1, c = Math.floor(i.top / a) - 1, l = Math.floor((i.top + i.height) / a) + 1, u = o * a, d = c * a, [f, p] = A([u, d], n);
|
|
2356
|
+
return {
|
|
2357
|
+
tiles: Array.from({ length: l - c + 1 }, (e, t) => {
|
|
2358
|
+
let n = c + t;
|
|
2359
|
+
return Array.from({ length: s - o + 1 }, (e, t) => {
|
|
2360
|
+
let r = o + t;
|
|
2361
|
+
return {
|
|
2362
|
+
key: `${a}:${r}:${n}`,
|
|
2363
|
+
left: r * a,
|
|
2364
|
+
top: n * a
|
|
2365
|
+
};
|
|
2366
|
+
});
|
|
2367
|
+
}).flat(),
|
|
2368
|
+
size: a,
|
|
2369
|
+
left: u,
|
|
2370
|
+
top: d,
|
|
2371
|
+
x: f,
|
|
2372
|
+
y: p
|
|
2373
|
+
};
|
|
2374
|
+
}
|
|
2375
|
+
//#endregion
|
|
2376
|
+
//#region src/lib/board/WorldBackground.jsx
|
|
2377
|
+
var Dn = {
|
|
2378
|
+
position: "absolute",
|
|
2379
|
+
inset: 0,
|
|
2380
|
+
pointerEvents: "none"
|
|
2381
|
+
};
|
|
2382
|
+
function On({ style: t, tileSizeOverride: n }) {
|
|
2383
|
+
let [r, i] = F((e) => [e.boardState, e.config.boardWrapperRect]), s = i.width || 1, c = i.height || 1, l = e.useRef(null), [u, d] = e.useState({
|
|
2384
|
+
color: "#333",
|
|
2385
|
+
layers: []
|
|
2386
|
+
}), [f, p] = e.useState({});
|
|
2387
|
+
e.useLayoutEffect(() => {
|
|
2388
|
+
let e = getComputedStyle(l.current), t = (t) => Sn(e[t]), n = t("backgroundSize"), r = t("backgroundPositionX"), i = t("backgroundPositionY"), a = t("backgroundRepeat"), o = t("backgroundBlendMode");
|
|
2389
|
+
d({
|
|
2390
|
+
color: e.backgroundColor,
|
|
2391
|
+
layers: t("backgroundImage").map((e, t) => ({
|
|
2392
|
+
image: e,
|
|
2393
|
+
size: n[t % n.length],
|
|
2394
|
+
x: r[t % r.length],
|
|
2395
|
+
y: i[t % i.length],
|
|
2396
|
+
repeat: a[t % a.length],
|
|
2397
|
+
blend: o[t % o.length]
|
|
2398
|
+
}))
|
|
2399
|
+
});
|
|
2400
|
+
}, [
|
|
2401
|
+
t,
|
|
2402
|
+
s,
|
|
2403
|
+
c
|
|
2404
|
+
]), e.useEffect(() => {
|
|
2405
|
+
let e = !0;
|
|
2406
|
+
return u.layers.forEach(({ image: t }) => {
|
|
2407
|
+
if (!t.startsWith("url(")) return;
|
|
2408
|
+
let n = new Image();
|
|
2409
|
+
n.onload = () => {
|
|
2410
|
+
e && p((e) => ({
|
|
2411
|
+
...e,
|
|
2412
|
+
[t]: {
|
|
2413
|
+
width: n.naturalWidth,
|
|
2414
|
+
height: n.naturalHeight
|
|
2415
|
+
}
|
|
2416
|
+
}));
|
|
2417
|
+
}, n.src = t.slice(4, -1).replace(/^["']|["']$/g, "");
|
|
2418
|
+
}), () => {
|
|
2419
|
+
e = !1;
|
|
2420
|
+
};
|
|
2421
|
+
}, [u.layers]);
|
|
2422
|
+
let m = En(s, c, r, n), h = u.layers.map((e) => {
|
|
2423
|
+
let [t, n] = Cn(e.size, s, c, f[e.image]), r = ["repeat", "repeat-x"].includes(e.repeat) || e.repeat.startsWith("repeat "), i = ["repeat", "repeat-y"].includes(e.repeat) || e.repeat.endsWith(" repeat"), a = $(e.x, s - t), o = $(e.y, c - n);
|
|
2424
|
+
return {
|
|
2425
|
+
...e,
|
|
2426
|
+
size: `${t}px ${n}px`,
|
|
2427
|
+
position: (e, s) => `${r && t ? Tn(a, e, t) : a - e}px ${i && n ? Tn(o, s, n) : o - s}px`
|
|
2428
|
+
};
|
|
2429
|
+
});
|
|
2430
|
+
return /* @__PURE__ */ o("div", {
|
|
2431
|
+
className: "world-background",
|
|
2432
|
+
"aria-hidden": "true",
|
|
2433
|
+
style: {
|
|
2434
|
+
...Dn,
|
|
2435
|
+
overflow: "hidden",
|
|
2436
|
+
backgroundColor: u.color
|
|
2437
|
+
},
|
|
2438
|
+
children: [/* @__PURE__ */ a("div", {
|
|
2439
|
+
ref: l,
|
|
2440
|
+
style: {
|
|
2441
|
+
backgroundColor: "#333",
|
|
2442
|
+
...t,
|
|
2443
|
+
position: "absolute",
|
|
2444
|
+
width: s,
|
|
2445
|
+
height: c,
|
|
2446
|
+
visibility: "hidden",
|
|
2447
|
+
pointerEvents: "none"
|
|
2448
|
+
}
|
|
2449
|
+
}), /* @__PURE__ */ a("div", {
|
|
2450
|
+
className: "world-background-tiles",
|
|
2451
|
+
style: {
|
|
2452
|
+
position: "absolute",
|
|
2453
|
+
transformOrigin: "0 0",
|
|
2454
|
+
transform: `translate(${m.x}px, ${m.y}px) rotate(${r.rotate}deg) scale(${r.scale})`
|
|
2455
|
+
},
|
|
2456
|
+
children: m.tiles.map((e) => /* @__PURE__ */ a("div", {
|
|
2457
|
+
className: "world-background-tile",
|
|
2458
|
+
"data-tile": e.key,
|
|
2459
|
+
style: {
|
|
2460
|
+
position: "absolute",
|
|
2461
|
+
left: e.left - m.left,
|
|
2462
|
+
top: e.top - m.top,
|
|
2463
|
+
width: m.size,
|
|
2464
|
+
height: m.size,
|
|
2465
|
+
backgroundImage: h.map((e) => e.image).join(", "),
|
|
2466
|
+
backgroundSize: h.map((e) => e.size).join(", "),
|
|
2467
|
+
backgroundPosition: h.map((t) => t.position(e.left, e.top)).join(", "),
|
|
2468
|
+
backgroundRepeat: h.map((e) => e.repeat).join(", "),
|
|
2469
|
+
backgroundBlendMode: h.map((e) => e.blend).join(", ")
|
|
2470
|
+
}
|
|
2471
|
+
}, e.key))
|
|
2472
|
+
})]
|
|
2473
|
+
});
|
|
2474
|
+
}
|
|
2475
|
+
//#endregion
|
|
2476
|
+
//#region src/lib/board/Board.jsx
|
|
2477
|
+
var kn = ({ children: e }) => e, An = {}, jn = {
|
|
2885
2478
|
overflow: "hidden",
|
|
2886
2479
|
position: "absolute",
|
|
2887
2480
|
inset: 0
|
|
2888
|
-
},
|
|
2889
|
-
let
|
|
2481
|
+
}, Mn = ({ moveFirst: t = !0, style: n, wrapperStyle: r, itemTemplates: i = An, boardSize: s = Ce, backgroundTileSize: c, children: l, showResizeHandle: u = !1, Wrapper: d = kn }) => {
|
|
2482
|
+
let f = e.useRef(null), [m, h] = F((e) => [e.config.uid, e.updateConfiguration]), [g, _, v, y] = F((e) => [
|
|
2483
|
+
e.boardState.translateX,
|
|
2484
|
+
e.boardState.translateY,
|
|
2485
|
+
e.boardState.scale,
|
|
2486
|
+
e.boardState.rotate
|
|
2487
|
+
]), { updateItemExtent: b } = L(), x = {
|
|
2890
2488
|
userSelect: "none",
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2489
|
+
position: "absolute",
|
|
2490
|
+
inset: 0,
|
|
2491
|
+
width: "100%",
|
|
2492
|
+
height: "100%",
|
|
2493
|
+
transformOrigin: "0 0",
|
|
2494
|
+
transform: `translate(${g}px, ${_}px) rotate(${y}deg) scale(${v})`,
|
|
2495
|
+
pointerEvents: "none"
|
|
2895
2496
|
};
|
|
2896
2497
|
e.useEffect(() => {
|
|
2897
2498
|
let e = (e) => {
|
|
2898
|
-
|
|
2499
|
+
f.current?.contains(e.target) && e.preventDefault();
|
|
2899
2500
|
};
|
|
2900
2501
|
return document.body.addEventListener("wheel", e, { passive: !1 }), () => {
|
|
2901
2502
|
document.body.removeEventListener("wheel", e);
|
|
2902
2503
|
};
|
|
2903
2504
|
}, []), e.useEffect(() => {
|
|
2904
|
-
|
|
2905
|
-
}, [
|
|
2906
|
-
|
|
2907
|
-
}, [
|
|
2908
|
-
|
|
2505
|
+
h({ boardWrapper: f.current });
|
|
2506
|
+
}, [h]), e.useEffect(() => {
|
|
2507
|
+
m || h({ uid: B() });
|
|
2508
|
+
}, [m, h]), e.useEffect(() => {
|
|
2509
|
+
h({
|
|
2909
2510
|
itemTemplates: i,
|
|
2910
|
-
boardSize:
|
|
2911
|
-
showResizeHandle:
|
|
2511
|
+
boardSize: s,
|
|
2512
|
+
showResizeHandle: u
|
|
2912
2513
|
});
|
|
2913
2514
|
}, [
|
|
2914
2515
|
i,
|
|
2915
|
-
a,
|
|
2916
2516
|
s,
|
|
2917
|
-
|
|
2517
|
+
u,
|
|
2518
|
+
h
|
|
2918
2519
|
]), e.useEffect(() => {
|
|
2919
|
-
|
|
2920
|
-
}, [
|
|
2921
|
-
|
|
2520
|
+
h({ boardWrapperRect: f.current.getBoundingClientRect() }), b(), setTimeout(b, 2e3);
|
|
2521
|
+
}, [h, b]), p(f, () => {
|
|
2522
|
+
f.current && h({ boardWrapperRect: f.current.getBoundingClientRect() });
|
|
2922
2523
|
});
|
|
2923
|
-
let
|
|
2924
|
-
...
|
|
2524
|
+
let S = W({
|
|
2525
|
+
...jn,
|
|
2925
2526
|
...r
|
|
2926
2527
|
});
|
|
2927
|
-
return /* @__PURE__ */ (
|
|
2928
|
-
ref:
|
|
2929
|
-
id:
|
|
2930
|
-
className: `sync-board ${
|
|
2931
|
-
children: [
|
|
2932
|
-
|
|
2933
|
-
|
|
2528
|
+
return /* @__PURE__ */ o("div", {
|
|
2529
|
+
ref: f,
|
|
2530
|
+
id: m,
|
|
2531
|
+
className: `sync-board ${S}`,
|
|
2532
|
+
children: [
|
|
2533
|
+
/* @__PURE__ */ a(On, {
|
|
2534
|
+
style: n,
|
|
2535
|
+
tileSizeOverride: c
|
|
2536
|
+
}),
|
|
2537
|
+
/* @__PURE__ */ a(bn, { children: /* @__PURE__ */ a(Wt, {
|
|
2934
2538
|
moveFirst: t,
|
|
2935
|
-
children: /* @__PURE__ */ (
|
|
2539
|
+
children: /* @__PURE__ */ a(Yt, {
|
|
2936
2540
|
moveFirst: t,
|
|
2937
|
-
children: /* @__PURE__ */ (
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2541
|
+
children: /* @__PURE__ */ a(Gt, {
|
|
2542
|
+
moveFirst: t,
|
|
2543
|
+
children: /* @__PURE__ */ a(d, { children: /* @__PURE__ */ o("div", {
|
|
2544
|
+
onContextMenu: (e) => {
|
|
2545
|
+
e.preventDefault();
|
|
2546
|
+
},
|
|
2547
|
+
style: x,
|
|
2548
|
+
className: `board-pane${v < .5 ? " board-pane__far" : ""}`,
|
|
2549
|
+
children: [/* @__PURE__ */ a(Vt, {}), /* @__PURE__ */ a("div", {
|
|
2550
|
+
style: { pointerEvents: "auto" },
|
|
2551
|
+
children: l
|
|
2552
|
+
})]
|
|
2553
|
+
}) })
|
|
2554
|
+
})
|
|
2945
2555
|
})
|
|
2946
|
-
})
|
|
2947
|
-
|
|
2556
|
+
}) }),
|
|
2557
|
+
/* @__PURE__ */ a(Qt, {})
|
|
2558
|
+
]
|
|
2948
2559
|
});
|
|
2949
2560
|
};
|
|
2950
2561
|
//#endregion
|
|
2951
2562
|
//#region src/lib/index.js
|
|
2952
|
-
|
|
2563
|
+
mt(e.createElement);
|
|
2953
2564
|
//#endregion
|
|
2954
|
-
export {
|
|
2565
|
+
export { Mn as Board, it as BoardWrapper, at as RoomWrapper, Le as useAvailableActions, qe as useBoardConfig, L as useBoardPosition, Je as useBoardState, Se as useDebouncedItems, je as useGetSelectedItems, z as useItemActions, R as useItemInteraction, xe as useItems, nt as useMessage, Ae as useSelectedItems, Re as useSelectionBox, Ye as useSessionInfo, Ke as useUsers, D as useWire };
|
|
2955
2566
|
|
|
2956
2567
|
//# sourceMappingURL=react-sync-board.js.map
|