react-sync-board 1.4.0 → 1.4.1

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.
@@ -14,12 +14,19 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
14
14
  }, S = (e, t, n) => (n = e == null ? {} : m(v(e)), x(t || !e || !e.__esModule || !y.call(e, "default") ? h(n, "default", {
15
15
  value: e,
16
16
  enumerable: !0
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 {
17
+ }) : n, e)), C = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", w = (e = 21) => {
18
+ let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
19
+ for (; e--;) t += C[n[e] & 63];
20
+ return t;
21
+ }, ee = 128, T = (e) => typeof e == "string" && e.length > 0 && e.length <= ee && !/[\u0000-\u001f\u007f]/u.test(e), E = (e, t) => {
22
+ if (!T(e)) throw Error(`Invalid ${t}`);
23
+ }, D = class {
18
24
  constructor(e, t, n = null) {
19
25
  this._socket = e, this.userId = n, this.room = t, this.toUnregister = [() => {
20
26
  this._socket.off(`${this.room}.isMaster`), this._socket.off(`${this.room}.roomJoined`), this._socket.off(`${this.room}._call`);
21
- }], this._left = !1, this.registeredRPC = {}, this._socket.on(`${this.room}._call`, async ({ callId: t, name: n, params: r }) => {
27
+ }], this._left = !1, this.registeredRPC = Object.create(null), this._socket.on(`${this.room}._call`, async ({ callId: t, name: n, params: r }) => {
22
28
  try {
29
+ if (!Object.hasOwn(this.registeredRPC, n)) throw Error(`Function ${n} is not registered`);
23
30
  let i = await this.registeredRPC[n](r);
24
31
  e.emit(`${this.room}._result.${t}`, { ok: i || null });
25
32
  } catch (n) {
@@ -28,10 +35,10 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
28
35
  });
29
36
  }
30
37
  async _callServerRPC(e, t) {
31
- let n = C();
38
+ let n = w();
32
39
  return new Promise((r, i) => {
33
40
  this._socket.once(`${this.room}._result.${n}`, (e) => {
34
- e.hasOwnProperty("ok") ? r(e.ok) : i(e.err);
41
+ Object.hasOwn(e, "ok") ? r(e.ok) : i(e.err);
35
42
  }), this._socket.emit(`${this.room}._call`, {
36
43
  callId: n,
37
44
  name: e,
@@ -45,13 +52,14 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
45
52
  }), this._socket.emit(`${this.room}.leave`);
46
53
  }
47
54
  publish(e, t, n = !1) {
48
- this._socket.emit(`${this.room}.publish`, {
55
+ E(e, "event name"), this._socket.emit(`${this.room}.publish`, {
49
56
  name: e,
50
57
  params: t,
51
58
  self: n
52
59
  });
53
60
  }
54
61
  subscribe(e, t) {
62
+ if (E(e, "event name"), typeof t != "function") throw TypeError("Invalid callback");
55
63
  this._socket.on(`${this.room}.${e}`, t);
56
64
  let n = () => {
57
65
  this._socket.off(`${this.room}.${e}`, t);
@@ -59,6 +67,13 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
59
67
  return this.toUnregister.push(n), n;
60
68
  }
61
69
  async register(e, t, { invoke: n = "single" } = {}) {
70
+ if (E(e, "RPC name"), typeof t != "function") throw TypeError("Invalid callback");
71
+ if (![
72
+ "single",
73
+ "first",
74
+ "last",
75
+ "random"
76
+ ].includes(n)) throw Error("Invalid invoke mode");
62
77
  this.registeredRPC[e] = t, await this._callServerRPC("register", {
63
78
  name: e,
64
79
  invoke: n
@@ -74,8 +89,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
74
89
  params: t
75
90
  });
76
91
  }
77
- }, ee = ({ socket: e, room: t, onJoined: n = () => {}, onMaster: r = () => {}, userId: i = null }) => {
78
- let a = new w(e, t, i);
92
+ }, te = ({ socket: e, room: t, onJoined: n = () => {}, onMaster: r = () => {}, userId: i = null }) => {
93
+ E(t, "room name"), i != null && E(i, "user id");
94
+ let a = new D(e, t, i);
79
95
  return new Promise((o) => {
80
96
  let s = !0;
81
97
  e.on(`${t}.isMaster`, () => {
@@ -92,7 +108,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
92
108
  userId: i
93
109
  });
94
110
  });
95
- }, T = e.createContext(), te = () => /* @__PURE__ */ a("div", {
111
+ }, O = e.createContext(), ne = () => /* @__PURE__ */ a("div", {
96
112
  style: {
97
113
  position: "absolute",
98
114
  top: "0",
@@ -103,8 +119,8 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
103
119
  alignItems: "center"
104
120
  },
105
121
  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);
122
+ }), re = ({ socket: t, room: n, channel: i = "default", LoadingComponent: o = ne, children: s }) => {
123
+ 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(O), _ = e.useRef(!1);
108
124
  return e.useEffect(() => (h.current = !0, () => {
109
125
  h.current = !1;
110
126
  }), []), e.useEffect(() => {
@@ -115,7 +131,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
115
131
  return t.on("disconnect", e), () => {
116
132
  t.off("disconnect", e);
117
133
  };
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({
134
+ }, [i, t]), e.useEffect(() => t ? (t.connected || t.connect(), console.log(`Try to connect to wire ${n} on channel ${i}`), _.current || (_.current = !0, te({
119
135
  socket: t,
120
136
  room: n,
121
137
  onMaster: () => {
@@ -130,7 +146,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
130
146
  i,
131
147
  n,
132
148
  t
133
- ]), !c || !f ? /* @__PURE__ */ a(o, {}) : /* @__PURE__ */ a(T.Provider, {
149
+ ]), !c || !f ? /* @__PURE__ */ a(o, {}) : /* @__PURE__ */ a(O.Provider, {
134
150
  value: {
135
151
  ...g,
136
152
  [i]: {
@@ -142,34 +158,34 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
142
158
  },
143
159
  children: s
144
160
  });
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]) => {
161
+ }, k = (e = "default") => (r(O) || {})[e], A = (e, t) => e.classList && e.classList.contains(t), j = (e, t) => A(e, t) ? e : e.parentNode ? j(e.parentNode, t) : !1, ie = ([e, t], [n, r]) => {
146
162
  let i = Math.abs(e - n), a = Math.abs(t - r);
147
163
  return Math.hypot(i, a);
148
- }, ie = (e, t, n) => {
164
+ }, ae = (e, t, n) => {
149
165
  let r = n * Math.PI / 180;
150
166
  return [e * Math.cos(r) - t * Math.sin(r), e * Math.sin(r) + t * Math.cos(r)];
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);
167
+ }, oe = ([e, t], { scale: n, rotate: r, translateX: i, translateY: a }) => ae((e - i) / n, (t - a) / n, -r), M = ([e, t], { scale: n, rotate: r, translateX: i, translateY: a }) => {
168
+ let [o, s] = ae(e, t, r);
153
169
  return [o * n + i, s * n + a];
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) => {
170
+ }, N = (e, t) => e.x > t.left && e.x < t.left + t.width && e.y > t.top && e.y < t.top + t.height, se = (e, t) => Array.from(e.querySelectorAll(".corner")).every((e) => {
155
171
  let { top: n, left: r } = e.getBoundingClientRect();
156
- return j({
172
+ return N({
157
173
  x: r,
158
174
  y: n
159
175
  }, t);
160
- }), oe = (e, t) => ae(e, t.getBoundingClientRect()), M = (e, t) => {
176
+ }), ce = (e, t) => se(e, t.getBoundingClientRect()), P = (e, t) => {
161
177
  try {
162
178
  return document.getElementById(`${e}__${t}`);
163
179
  } catch {
164
180
  console.error(`Error while getting item with id ${t} inside wrapper`, e);
165
181
  return;
166
182
  }
167
- }, N = (e) => {
183
+ }, F = (e) => {
168
184
  let t = e?.dataset?.id;
169
185
  return t || console.error("getIdFromElem call fails", e, JSON.stringify(e?.dataset), e?.dataset?.id), t;
170
- }, se = (e, t) => {
186
+ }, le = (e, t) => {
171
187
  let n = e.reduce((e, n) => {
172
- let r = M(t, n);
188
+ let r = P(t, n);
173
189
  if (!r) return e || null;
174
190
  let { left: i, right: a, top: o, bottom: s } = r.getBoundingClientRect(), c;
175
191
  return c = e || {
@@ -180,10 +196,10 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
180
196
  }, 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;
181
197
  }, null);
182
198
  return n && (n.width = n.right - n.left, n.height = n.bottom - n.top, n);
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));
199
+ }, ue = (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, ...ue(e, e[t].linkedItems, n)] : [])).flat()), de = (e, t, n) => {
200
+ let r = new Set(ue(e, n));
185
201
  return t.filter((e) => r.has(e));
186
- }, ue = ({ x: e, y: t, width: n, height: r }, { type: i = "grid", size: a = 1, offset: o = {
202
+ }, fe = ({ x: e, y: t, width: n, height: r }, { type: i = "grid", size: a = 1, offset: o = {
187
203
  x: 0,
188
204
  y: 0
189
205
  } }) => {
@@ -204,7 +220,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
204
220
  x: l + o.x - n / 2,
205
221
  y: u + o.y - r / 2
206
222
  };
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) => {
223
+ }, pe = /* @__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("."), me = () => pe[Math.floor(Math.random() * pe.length)], I = ({ wire: e, storeName: t, noSync: n = [], defaultValue: r }, i) => (a, o, s) => {
208
224
  a({ ready: !1 });
209
225
  let c = [];
210
226
  (async () => {
@@ -228,7 +244,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
228
244
  return d.unsub = () => {
229
245
  c.forEach((e) => e());
230
246
  }, d;
231
- }, me = e.createContext(), he = (e, t) => ({
247
+ }, he = e.createContext(), ge = (e, t) => ({
232
248
  items: {},
233
249
  getItems: () => t().items,
234
250
  setItems: (t) => e({ items: t }),
@@ -251,7 +267,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
251
267
  });
252
268
  }), { items: r };
253
269
  })
254
- }), ge = (e, t) => ({
270
+ }), _e = (e, t) => ({
255
271
  itemIds: [],
256
272
  setItemIds: (t) => e({ itemIds: t }),
257
273
  getItemIds: () => t().itemIds,
@@ -268,7 +284,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
268
284
  return r[t] = n, { itemIds: r };
269
285
  }),
270
286
  updateManyItemIds: (t) => e((e) => ({ itemIds: e.itemIds.map((e, n) => t[n] === void 0 ? e : t[n]) }))
271
- }), _e = (e, t) => ({
287
+ }), ve = (e, t) => ({
272
288
  removeItemsById: (t) => e((e) => ({
273
289
  itemIds: e.itemIds.filter((e) => !t.includes(e)),
274
290
  items: Object.fromEntries(Object.entries(e.items).filter(([e]) => !t.includes(e)))
@@ -295,7 +311,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
295
311
  itemIds: r
296
312
  };
297
313
  })
298
- }), ve = (e, t) => ({
314
+ }), ye = (e, t) => ({
299
315
  boardConfig: {},
300
316
  getBoardConfig: () => t().boardConfig,
301
317
  setBoardConfig: (t) => e({ boardConfig: t }),
@@ -303,7 +319,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
303
319
  ...e.boardConfig,
304
320
  ...t
305
321
  } }))
306
- }), ye = (e, t) => ({
322
+ }), be = (e, t) => ({
307
323
  session: {},
308
324
  getSessionInfo: () => t().session,
309
325
  setSessionInfo: (t) => e({ session: t }),
@@ -311,34 +327,34 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
311
327
  ...e.session,
312
328
  ...t
313
329
  } }))
314
- }), be = ({ storeName: t, children: n, defaultValue: r }) => {
315
- let { wire: i } = D("room"), [o, c] = e.useState(!1), [l] = e.useState(() => s(pe({
330
+ }), xe = ({ storeName: t, children: n, defaultValue: r }) => {
331
+ let { wire: i } = k("room"), [o, c] = e.useState(!1), [l] = e.useState(() => s(I({
316
332
  wire: i,
317
333
  storeName: t,
318
334
  defaultValue: r
319
335
  }, (...e) => ({
320
- ...he(...e),
321
336
  ...ge(...e),
322
337
  ..._e(...e),
323
338
  ...ve(...e),
324
- ...ye(...e)
339
+ ...ye(...e),
340
+ ...be(...e)
325
341
  }))));
326
342
  return e.useEffect(() => {
327
343
  let e = l.subscribe((t) => {
328
344
  t.ready && (e(), c(!0));
329
345
  });
330
- }, [l]), o ? /* @__PURE__ */ a(me.Provider, {
346
+ }, [l]), o ? /* @__PURE__ */ a(he.Provider, {
331
347
  value: l,
332
348
  children: n
333
349
  }) : null;
334
- }, P = (e) => {
335
- let t = r(me);
350
+ }, L = (e) => {
351
+ let t = r(he);
336
352
  return c(t, e, l);
337
- }, xe = () => {
338
- let [t, n] = P((e) => [e.itemIds, e.items]);
339
- return e.useMemo(() => t.map((e) => n[e]), [t, n]);
340
353
  }, Se = () => {
341
- let [t, n, r] = P((e) => [
354
+ let [t, n] = L((e) => [e.itemIds, e.items]);
355
+ return e.useMemo(() => t.map((e) => n[e]), [t, n]);
356
+ }, Ce = () => {
357
+ let [t, n, r] = L((e) => [
342
358
  e.items,
343
359
  e.itemIds,
344
360
  e.getItemList
@@ -353,7 +369,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
353
369
  n,
354
370
  r
355
371
  ]), i;
356
- }, Ce = 5e4, we = e.createContext(), Te = (e, t) => ({
372
+ }, we = 5e4, Te = e.createContext(), Ee = (e, t) => ({
357
373
  config: {
358
374
  itemTemplates: {},
359
375
  actions: {},
@@ -364,14 +380,14 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
364
380
  radius: 0
365
381
  },
366
382
  boardWrapperRect: {},
367
- boardSize: Ce
383
+ boardSize: we
368
384
  },
369
385
  updateConfiguration: (t) => e((e) => ({ config: {
370
386
  ...e.config,
371
387
  ...t
372
388
  } })),
373
389
  getConfiguration: () => t().config
374
- }), Ee = (e, t) => ({
390
+ }), De = (e, t) => ({
375
391
  boardState: {
376
392
  movingItems: !1,
377
393
  selecting: !1,
@@ -387,7 +403,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
387
403
  ...t
388
404
  } })),
389
405
  getBoardState: () => t().boardState
390
- }), De = (e, t) => ({
406
+ }), Oe = (e, t) => ({
391
407
  interactions: {},
392
408
  getInteractions: () => t().interactions,
393
409
  register: (t, n) => e((e) => {
@@ -409,7 +425,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
409
425
  setTimeout(() => e(n), 0);
410
426
  });
411
427
  }
412
- }), Oe = (e, t) => ({
428
+ }), ke = (e, t) => ({
413
429
  selection: [],
414
430
  setSelection: (t) => e((e) => JSON.stringify(e.selection) === JSON.stringify(t) ? {} : { selection: t }),
415
431
  getSelection: () => t().selection,
@@ -425,34 +441,34 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
425
441
  let n = e.selectionBox;
426
442
  return !n || !t || n.top !== t.top || n.left !== t.left || n.width !== t.width || n.height !== t.height ? { selectionBox: t } : {};
427
443
  })
428
- }), ke = ({ children: t }) => {
444
+ }), Ae = ({ children: t }) => {
429
445
  let [n] = e.useState(() => s((...e) => ({
430
- ...Te(...e),
431
446
  ...Ee(...e),
432
447
  ...De(...e),
433
- ...Oe(...e)
448
+ ...Oe(...e),
449
+ ...ke(...e)
434
450
  })));
435
- return /* @__PURE__ */ a(we.Provider, {
451
+ return /* @__PURE__ */ a(Te.Provider, {
436
452
  value: n,
437
453
  children: t
438
454
  });
439
- }, F = (e) => {
440
- let t = r(we);
455
+ }, R = (e) => {
456
+ let t = r(Te);
441
457
  return c(t, e, l);
442
- }, Ae = () => {
443
- let [e] = F((e) => [e.selection]);
444
- return e;
445
458
  }, je = () => {
446
- let [e] = F((e) => [e.getSelection]);
459
+ let [e] = R((e) => [e.selection]);
460
+ return e;
461
+ }, Me = () => {
462
+ let [e] = R((e) => [e.getSelection]);
447
463
  return e;
448
- }, Me = 1e3, Ne = .8, I = !1, L = () => {
449
- let [t, n, r, i, a] = F((e) => [
464
+ }, Ne = 1e3, Pe = .8, z = !1, B = () => {
465
+ let [t, n, r, i, a] = R((e) => [
450
466
  e.getBoardState,
451
467
  e.updateBoardState,
452
468
  e.config.itemExtent,
453
469
  e.getConfiguration,
454
470
  e.updateConfiguration
455
- ]), o = e.useRef([.15, 5]), [s] = P((e) => [e.getItemList]), c = e.useCallback(() => {
471
+ ]), o = e.useRef([.15, 5]), [s] = L((e) => [e.getItemList]), c = e.useCallback(() => {
456
472
  let { translateX: e, translateY: n, scale: r, rotate: i } = t();
457
473
  return {
458
474
  translateX: e,
@@ -460,9 +476,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
460
476
  scale: r,
461
477
  rotate: i
462
478
  };
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) => {
479
+ }, [t]), l = e.useCallback((e, n) => oe([e, n], t()), [t]), d = e.useCallback((e, n) => M([e, n], t()), [t]), f = e.useCallback((e, n) => {
464
480
  let { scale: r, rotate: i } = t();
465
- return k([e, n], {
481
+ return oe([e, n], {
466
482
  translateX: 0,
467
483
  translateY: 0,
468
484
  rotate: i,
@@ -473,9 +489,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
473
489
  ...r,
474
490
  ...e(r)
475
491
  };
476
- I && console.log("New expected values: ", i, a, o, s);
492
+ z && console.log("New expected values: ", i, a, o, s);
477
493
  let c = p(o), l = i, u = a;
478
- I && console.log("New fixed values: ", l, u, c, s), n({
494
+ z && console.log("New fixed values: ", l, u, c, s), n({
479
495
  translateX: Number.isFinite(l) ? l : r.translateX,
480
496
  translateY: Number.isFinite(u) ? u : r.translateY,
481
497
  scale: Number.isFinite(c) ? c : p(1),
@@ -520,7 +536,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
520
536
  e || 0,
521
537
  n || 0,
522
538
  r || 2e3
523
- ], u = o.width / (l * 2), d = o.height / (l * 2), f = p(Math.min(u, d) * Ne), [h, g] = A([-s, -c], {
539
+ ], u = o.width / (l * 2), d = o.height / (l * 2), f = p(Math.min(u, d) * Pe), [h, g] = M([-s, -c], {
524
540
  translateX: o.width / 2,
525
541
  translateY: o.height / 2,
526
542
  scale: f,
@@ -545,7 +561,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
545
561
  };
546
562
  }, [l, i]), y = e.useCallback(() => {
547
563
  let e = s(), { uid: t } = i(), n = e.reduce((e, n) => {
548
- let r = M(t, n.id);
564
+ let r = P(t, n.id);
549
565
  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;
550
566
  }, {
551
567
  left: Infinity,
@@ -557,7 +573,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
557
573
  a({ itemExtent: {
558
574
  x: 0,
559
575
  y: 0,
560
- radius: Me
576
+ radius: Ne
561
577
  } });
562
578
  return;
563
579
  }
@@ -565,7 +581,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
565
581
  x: (n.right + n.left) / 2,
566
582
  y: (n.bottom + n.top) / 2
567
583
  };
568
- r.radius = Math.max(re([r.x, r.y], [n.left, n.top]), Me), a({ itemExtent: r });
584
+ r.radius = Math.max(ie([r.x, r.y], [n.left, n.top]), Ne), a({ itemExtent: r });
569
585
  }, [
570
586
  i,
571
587
  s,
@@ -584,7 +600,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
584
600
  ]), x = u(() => y(), [y], 200);
585
601
  return e.useEffect(() => {
586
602
  window.debugUpdateExtent = () => y(), window.debugDisplayExtent = () => console.log(i().itemExtent), window.debugSetDebug = () => {
587
- I = !0;
603
+ z = !0;
588
604
  };
589
605
  }, [i, y]), {
590
606
  setDim: m,
@@ -600,8 +616,8 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
600
616
  fromWrapperToBoard: l,
601
617
  fromBoardToWrapper: d
602
618
  };
603
- }, R = (t) => {
604
- let [n, r, i] = F(({ register: e, unregister: t, callInteractions: n }) => [
619
+ }, V = (t) => {
620
+ let [n, r, i] = R(({ register: e, unregister: t, callInteractions: n }) => [
605
621
  e,
606
622
  t,
607
623
  n
@@ -618,13 +634,13 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
618
634
  i(t, e);
619
635
  }, [i, t])
620
636
  };
621
- }, z = () => {
622
- let { call: t } = R("place"), { call: n } = R("delete"), { getCenter: r, updateItemExtent: i } = L(), [a, o, s, c] = F((e) => [
637
+ }, H = () => {
638
+ let { call: t } = V("place"), { call: n } = V("delete"), { getCenter: r, updateItemExtent: i } = B(), [a, o, s, c] = R((e) => [
623
639
  e.clear,
624
640
  e.reverse,
625
641
  e.unselect,
626
642
  e.getConfiguration
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 }) => ({
643
+ ]), { getItems: l, getItemIds: u, setItemIds: d, updateItems: f, moveItems: p, removeItemsById: m, getItemList: h, insertItems: g, setItemList: _ } = L(({ getItems: e, getItemIds: t, setItemIds: n, updateItems: r, moveItems: i, removeItemsById: a, getItemList: o, insertItems: s, setItemList: c }) => ({
628
644
  getItems: e,
629
645
  getItemIds: t,
630
646
  setItemIds: n,
@@ -658,7 +674,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
658
674
  ]), b = e.useCallback((e, t, n = !1) => {
659
675
  v([e], t, n);
660
676
  }, [v]), x = e.useCallback((e, t) => {
661
- p(le(l(), u(), e), t);
677
+ p(de(l(), u(), e), t);
662
678
  }, [
663
679
  u,
664
680
  l,
@@ -669,7 +685,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
669
685
  }, [u, d]), C = e.useCallback((e, { type: t, size: n } = {}) => {
670
686
  let { uid: r } = c();
671
687
  v(e, (e) => {
672
- let i = M(r, e.id);
688
+ let i = P(r, e.id);
673
689
  if (!i) return;
674
690
  let a = {
675
691
  type: t || "grid",
@@ -680,7 +696,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
680
696
  },
681
697
  ...e.grid
682
698
  };
683
- return ue({
699
+ return fe({
684
700
  x: e.x,
685
701
  y: e.y,
686
702
  width: i.clientWidth,
@@ -688,7 +704,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
688
704
  }, a);
689
705
  }, !0);
690
706
  }, [c, v]), w = e.useCallback((e, n) => {
691
- let r = le(l(), u(), e);
707
+ let r = de(l(), u(), e);
692
708
  S(r), v(r, { moving: !1 }, !0), C(r, n), t(e), i();
693
709
  }, [
694
710
  v,
@@ -707,7 +723,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
707
723
  u,
708
724
  o,
709
725
  d
710
- ]), te = e.useCallback((e, t) => {
726
+ ]), E = e.useCallback((e, t) => {
711
727
  let n = l(), r = Object.fromEntries(t.map((t, r) => {
712
728
  let i = n[e[r]];
713
729
  return [t, {
@@ -723,7 +739,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
723
739
  v,
724
740
  u,
725
741
  d
726
- ]), E = e.useCallback((e, t) => {
742
+ ]), D = e.useCallback((e, t) => {
727
743
  let n = r(), i = e.map((e, t) => e.x === void 0 || e.x === null || e.y === void 0 || e.y === null ? {
728
744
  ...e,
729
745
  x: n.x + 2 * t,
@@ -736,15 +752,15 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
736
752
  r,
737
753
  g,
738
754
  w
739
- ]), D = e.useCallback((e, t) => {
740
- E([e], t);
741
- }, [E]), re = e.useCallback((e) => {
755
+ ]), te = e.useCallback((e, t) => {
756
+ D([e], t);
757
+ }, [D]), O = e.useCallback((e) => {
742
758
  s(e), m(e), n(e);
743
759
  }, [
744
760
  s,
745
761
  m,
746
762
  n
747
- ]), ie = e.useCallback((e) => {
763
+ ]), ne = e.useCallback((e) => {
748
764
  let t = l();
749
765
  return e.map((e) => t[e]);
750
766
  }, [l]);
@@ -755,39 +771,39 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
755
771
  moveItems: x,
756
772
  placeItems: w,
757
773
  updateItem: b,
758
- swapItems: te,
774
+ swapItems: E,
759
775
  reverseItemsOrder: T,
760
776
  setItemList: y,
761
- pushItem: D,
762
- pushItems: E,
763
- removeItems: re,
777
+ pushItem: te,
778
+ pushItems: D,
779
+ removeItems: O,
764
780
  getItemList: h,
765
781
  findElementUnderPointer: e.useCallback(({ target: e, clientX: t, clientY: n }, { returnLocked: r = !1, passLocked: i = !1 } = {}) => {
766
782
  if (["INPUT", "TEXTAREA"].includes(e.tagName)) return null;
767
- let a = ne(e, "item");
783
+ let a = j(e, "item");
768
784
  if (a) {
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")) {
785
+ if (A(a, "selected")) return a;
786
+ if (!i && A(a, "locked") && !A(e, "passthrough")) return r ? a : null;
787
+ if (A(e, "passthrough")) {
772
788
  let e = u(), { uid: r } = c(), o = e.reduce((e, i) => {
773
- let a = M(r, i), o = a.getBoundingClientRect();
774
- return j({
789
+ let a = P(r, i), o = a.getBoundingClientRect();
790
+ return N({
775
791
  x: t,
776
792
  y: n
777
793
  }, o) && e.unshift(a), e;
778
794
  }, []);
779
795
  for (let e = 0; e < o.length; e += 1) {
780
796
  let t = o[e];
781
- if (t !== a && (i || !O(t, "locked"))) return t;
797
+ if (t !== a && (i || !A(t, "locked"))) return t;
782
798
  }
783
799
  return null;
784
800
  }
785
801
  }
786
802
  return a;
787
803
  }, [c, u]),
788
- getItems: ie
804
+ getItems: ne
789
805
  };
790
- }, Pe = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
806
+ }, Fe = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
791
807
  t.exports = function e(t, n) {
792
808
  if (t === n) return !0;
793
809
  if (t && n && typeof t == "object" && typeof n == "object") {
@@ -827,17 +843,17 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
827
843
  }
828
844
  return t !== t && n !== n;
829
845
  };
830
- })))(), 1), Fe = (e, t) => {
846
+ })))(), 1), Ie = (e, t) => {
831
847
  if (e.type in t) {
832
848
  let n = t[e.type].defaultActions;
833
849
  return typeof n == "function" ? n(e) : n;
834
850
  }
835
851
  return [];
836
- }, Ie = (e, t) => {
837
- let { actions: n = Fe(e, t) } = e;
852
+ }, Le = (e, t) => {
853
+ let { actions: n = Ie(e, t) } = e;
838
854
  return n.map((e) => typeof e == "string" ? { name: e } : e);
839
- }, Le = () => {
840
- let [t, r] = P((e) => [e.items, e.getItems]), [i, a, o] = F((e) => [
855
+ }, Re = () => {
856
+ let [t, r] = L((e) => [e.items, e.getItems]), [i, a, o] = R((e) => [
841
857
  e.config.itemTemplates,
842
858
  e.selection,
843
859
  e.getSelection
@@ -855,9 +871,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
855
871
  if (e.length > 0) {
856
872
  if (!l.current) return;
857
873
  let e = t.reduce((e, t) => {
858
- let n = Ie(t, i);
859
- return e.filter((e) => n.some((t) => (0, Pe.default)(e, t)));
860
- }, Ie(t[0], i));
874
+ let n = Le(t, i);
875
+ return e.filter((e) => n.some((t) => (0, Fe.default)(e, t)));
876
+ }, Le(t[0], i));
861
877
  u(() => {
862
878
  c(e);
863
879
  });
@@ -870,29 +886,25 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
870
886
  a,
871
887
  p
872
888
  ], 100), { availableActions: s };
873
- }, Re = () => {
874
- let [e] = F((e) => [e.selectionBox]);
889
+ }, ze = () => {
890
+ let [e] = R((e) => [e.selectionBox]);
875
891
  return e;
876
- }, ze = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", B = (e = 21) => {
877
- let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
878
- for (; e--;) t += ze[n[e] & 63];
879
- return t;
880
892
  }, Be = e.createContext(), Ve = (e) => {
881
893
  localStorage.setItem("user", JSON.stringify(e));
882
894
  }, He = () => {
883
895
  if (localStorage.user) {
884
896
  let e = {
885
897
  name: "Player",
886
- color: fe(),
887
- uid: B(),
898
+ color: me(),
899
+ uid: w(),
888
900
  ...JSON.parse(localStorage.user)
889
901
  };
890
902
  return Ve(e), e;
891
903
  }
892
904
  let e = {
893
905
  name: "Player",
894
- color: fe(),
895
- uid: B()
906
+ color: me(),
907
+ uid: w()
896
908
  };
897
909
  return Ve(e), e;
898
910
  }, Ue = (e) => (t, n) => ({
@@ -952,11 +964,11 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
952
964
  return delete n[t], { cursors: n };
953
965
  })
954
966
  }), 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);
967
+ let { wire: r, isMaster: i } = k("room"), [o, c] = e.useState(null), [l, u] = e.useState(!1), d = e.useRef(!1);
956
968
  return e.useEffect(() => {
957
969
  let e = !0, n = [];
958
970
  if (!o && !d.current) return d.current = !0, (() => {
959
- let n = s(pe({
971
+ let n = s(I({
960
972
  wire: r,
961
973
  storeName: t,
962
974
  noSync: [
@@ -1013,11 +1025,11 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1013
1025
  value: o,
1014
1026
  children: n
1015
1027
  }) : null;
1016
- }, V = (e) => {
1028
+ }, U = (e) => {
1017
1029
  let t = r(Be);
1018
1030
  return c(t, e, l);
1019
1031
  }, Ke = () => {
1020
- let [t, n, r, i, a] = V((e) => [
1032
+ let [t, n, r, i, a] = U((e) => [
1021
1033
  e.isSpaceMaster,
1022
1034
  e.getUser(),
1023
1035
  e.users,
@@ -1036,7 +1048,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1036
1048
  joinSpace: a
1037
1049
  };
1038
1050
  }, qe = () => {
1039
- let [t, n, r] = P((e) => [
1051
+ let [t, n, r] = L((e) => [
1040
1052
  e.boardConfig,
1041
1053
  e.getBoardConfig,
1042
1054
  e.setBoardConfig
@@ -1048,10 +1060,10 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1048
1060
  r(a);
1049
1061
  }, [n, r])];
1050
1062
  }, Je = () => {
1051
- let [e] = F((e) => [e.boardState]);
1063
+ let [e] = R((e) => [e.boardState]);
1052
1064
  return e;
1053
1065
  }, Ye = () => {
1054
- let [e, t, n, r] = P((e) => [
1066
+ let [e, t, n, r] = L((e) => [
1055
1067
  e.getSessionInfo,
1056
1068
  e.setSessionInfo,
1057
1069
  e.updateSessionInfo,
@@ -1071,7 +1083,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1071
1083
  color: n
1072
1084
  },
1073
1085
  content: r,
1074
- uid: B(),
1086
+ uid: w(),
1075
1087
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
1076
1088
  }), Qe = (e, t) => ({
1077
1089
  messages: [],
@@ -1091,7 +1103,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1091
1103
  r && t().addMessage(r);
1092
1104
  }
1093
1105
  }), $e = ({ storeName: t, children: n, defaultValue: r = [] }) => {
1094
- let { wire: i } = D("room"), [o] = e.useState(() => s(pe({
1106
+ let { wire: i } = k("room"), [o] = e.useState(() => s(I({
1095
1107
  wire: i,
1096
1108
  storeName: t,
1097
1109
  defaultValue: r,
@@ -1105,7 +1117,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1105
1117
  let t = r(Xe);
1106
1118
  return c(t, e, l);
1107
1119
  }, tt = () => {}, nt = (t = tt) => {
1108
- let n = V((e) => e.getUser()), [r, i, a] = et((e) => [
1120
+ let n = U((e) => e.getUser()), [r, i, a] = et((e) => [
1109
1121
  e.messages,
1110
1122
  e.setMessages,
1111
1123
  e.sendMessage
@@ -1120,19 +1132,19 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1120
1132
  }, [n, a])
1121
1133
  };
1122
1134
  }, rt = ({ children: t, session: n }) => {
1123
- let r = V((e) => e.joinSpace);
1135
+ let r = U((e) => e.joinSpace);
1124
1136
  return e.useEffect(() => (r(n), () => {
1125
1137
  r(null);
1126
1138
  }), [r, n]), t;
1127
1139
  }, 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(() => ({
1140
+ let [l] = e.useState(n || w()), [u] = e.useState(r || w()), [d] = e.useState(() => ({
1129
1141
  itemIds: i.map(({ id: e }) => e),
1130
1142
  items: Object.fromEntries(i.map((e) => [e.id, e]))
1131
1143
  }));
1132
- return D("room") ? /* @__PURE__ */ a($e, {
1144
+ return k("room") ? /* @__PURE__ */ a($e, {
1133
1145
  storeName: `${u}_messages`,
1134
1146
  defaultValue: o,
1135
- children: /* @__PURE__ */ a(ke, { children: /* @__PURE__ */ a(be, {
1147
+ children: /* @__PURE__ */ a(Ae, { children: /* @__PURE__ */ a(xe, {
1136
1148
  storeName: `${u}_item`,
1137
1149
  defaultValue: d,
1138
1150
  children: /* @__PURE__ */ a(rt, {
@@ -1140,7 +1152,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1140
1152
  session: u
1141
1153
  })
1142
1154
  }) })
1143
- }) : /* @__PURE__ */ a(E, {
1155
+ }) : /* @__PURE__ */ a(re, {
1144
1156
  room: l,
1145
1157
  channel: "room",
1146
1158
  socket: t,
@@ -1150,7 +1162,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1150
1162
  children: /* @__PURE__ */ a($e, {
1151
1163
  storeName: `${u}_messages`,
1152
1164
  defaultValue: o,
1153
- children: /* @__PURE__ */ a(ke, { children: /* @__PURE__ */ a(be, {
1165
+ children: /* @__PURE__ */ a(Ae, { children: /* @__PURE__ */ a(xe, {
1154
1166
  storeName: `${u}_item`,
1155
1167
  defaultValue: d,
1156
1168
  children: /* @__PURE__ */ a(rt, {
@@ -1162,8 +1174,8 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1162
1174
  })
1163
1175
  });
1164
1176
  }, at = ({ socket: t, room: n, children: r, LoadingComponent: i }) => {
1165
- let [o] = e.useState(n || B());
1166
- return /* @__PURE__ */ a(E, {
1177
+ let [o] = e.useState(n || w());
1178
+ return /* @__PURE__ */ a(re, {
1167
1179
  room: o,
1168
1180
  channel: "room",
1169
1181
  socket: t,
@@ -1182,14 +1194,14 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1182
1194
  return t.nonce = window.__nonce__, t.parentNode || (e || document.head).appendChild(t), t.firstChild;
1183
1195
  }
1184
1196
  return e || ot;
1185
- }, ct = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, lt = /\/\*[^]*?\*\/| +/g, ut = /\n+/g, H = (e, t) => {
1197
+ }, ct = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, lt = /\/\*[^]*?\*\/| +/g, ut = /\n+/g, W = (e, t) => {
1186
1198
  let n = "", r = "", i = "";
1187
1199
  for (let a in e) {
1188
1200
  let o = e[a];
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 + ";");
1201
+ a[0] == "@" ? a[1] == "i" ? n = a + " " + o + ";" : r += a[1] == "f" ? W(o, a) : a + "{" + W(o, a[1] == "k" ? "" : t) + "}" : typeof o == "object" ? r += W(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 += W.p ? W.p(a, o) : a + ":" + o + ";");
1190
1202
  }
1191
1203
  return n + (t && i ? t + "{" + i + "}" : i) + r;
1192
- }, U = {}, dt = (e) => {
1204
+ }, G = {}, dt = (e) => {
1193
1205
  if (typeof e == "object") {
1194
1206
  let t = "";
1195
1207
  for (let n in e) t += n + dt(e[n]);
@@ -1197,38 +1209,38 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1197
1209
  }
1198
1210
  return e;
1199
1211
  }, ft = (e, t, n, r, i) => {
1200
- let a = dt(e), o = U[a] || (U[a] = ((e) => {
1212
+ let a = dt(e), o = G[a] || (G[a] = ((e) => {
1201
1213
  let t = 0, n = 11;
1202
1214
  for (; t < e.length;) n = 101 * n + e.charCodeAt(t++) >>> 0;
1203
1215
  return "go" + n;
1204
1216
  })(a));
1205
- if (!U[o]) {
1217
+ if (!G[o]) {
1206
1218
  let t = a === e ? ((e) => {
1207
1219
  let t, n, r = [{}];
1208
1220
  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();
1209
1221
  return r[0];
1210
1222
  })(e) : e;
1211
- U[o] = H(i ? { ["@keyframes " + o]: t } : t, n ? "" : "." + o);
1223
+ G[o] = W(i ? { ["@keyframes " + o]: t } : t, n ? "" : "." + o);
1212
1224
  }
1213
- let s = n && U.g;
1214
- return n && (U.g = U[o]), ((e, t, n, r) => {
1225
+ let s = n && G.g;
1226
+ return n && (G.g = G[o]), ((e, t, n, r) => {
1215
1227
  r ? t.data = t.data.replace(r, e) : t.data.indexOf(e) === -1 && (t.data = n ? e + t.data : t.data + e);
1216
- })(U[o], t, r, s), o;
1228
+ })(G[o], t, r, s), o;
1217
1229
  }, pt = (e, t, n) => e.reduce((e, r, i) => {
1218
1230
  let a = t[i];
1219
1231
  if (a && a.call) {
1220
1232
  let e = a(n), t = e && e.props && e.props.className || /^go/.test(e) && e;
1221
- a = t ? "." + t : e && typeof e == "object" ? e.props ? "" : H(e, "") : !1 === e ? "" : e;
1233
+ a = t ? "." + t : e && typeof e == "object" ? e.props ? "" : W(e, "") : !1 === e ? "" : e;
1222
1234
  }
1223
1235
  return e + r + (a ?? "");
1224
1236
  }, "");
1225
- function W(e) {
1237
+ function K(e) {
1226
1238
  let t = this || {}, n = e.call ? e(t.p) : e;
1227
1239
  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);
1228
1240
  }
1229
- W.bind({ g: 1 }), W.bind({ k: 1 });
1241
+ K.bind({ g: 1 }), K.bind({ k: 1 });
1230
1242
  function mt(e, t, n, r) {
1231
- H.p = t;
1243
+ W.p = t;
1232
1244
  }
1233
1245
  //#endregion
1234
1246
  //#region src/lib/board/Gesture.jsx
@@ -1269,7 +1281,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1269
1281
  })(), vt = 800, yt = (e, t) => e[Object.keys(e).map((e) => Number(e)).find((e) => e !== t)], bt = ([e, t], [n, r]) => {
1270
1282
  let i = Math.abs(e - n), a = Math.abs(t - r);
1271
1283
  return Math.hypot(i, a);
1272
- }, G = () => {}, xt = (e) => (t) => {
1284
+ }, q = () => {}, xt = (e) => (t) => {
1273
1285
  let { event: n } = t;
1274
1286
  return n.isPropagationStopped() ? null : e(t);
1275
1287
  }, St = (e) => async (...t) => {
@@ -1278,14 +1290,14 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1278
1290
  } catch (e) {
1279
1291
  console.error(e);
1280
1292
  }
1281
- }, K = new class {
1293
+ }, J = new class {
1282
1294
  lastPromise = Promise.resolve(!0);
1283
1295
  add(e, ...t) {
1284
1296
  return new Promise((n, r) => {
1285
1297
  this.lastPromise = this.lastPromise.then(() => xt(St(e))(...t)).then(n).catch(r);
1286
1298
  });
1287
1299
  }
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 }) => {
1300
+ }(), Y = ({ children: t, onDrag: n = q, onDragStart: r = q, onDragEnd: i = q, onPan: o = q, onTap: s = q, onLongTap: c = q, onDoubleTap: l = q, onZoom: u, mainAction: d = "drag", fill: f = !1 }) => {
1289
1301
  let p = e.useRef(null), m = e.useRef({
1290
1302
  moving: !1,
1291
1303
  pointers: {},
@@ -1293,7 +1305,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1293
1305
  }), h = (e) => {
1294
1306
  let { deltaX: t, deltaY: n, clientX: r, clientY: i, deltaMode: a, ctrlKey: s, altKey: c, metaKey: l, target: d } = e;
1295
1307
  if (!(c || s && !gt())) {
1296
- if (gt() && !s) K.add(o, {
1308
+ if (gt() && !s) J.add(o, {
1297
1309
  deltaX: -2 * t,
1298
1310
  deltaY: -2 * n,
1299
1311
  button: 1,
@@ -1311,7 +1323,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1311
1323
  break;
1312
1324
  case 2: t *= vt;
1313
1325
  }
1314
- gt() && (t *= 2), K.add(u, {
1326
+ gt() && (t *= 2), J.add(u, {
1315
1327
  scale: t,
1316
1328
  clientX: r,
1317
1329
  clientY: i,
@@ -1358,7 +1370,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1358
1370
  target: t,
1359
1371
  timeStart: Date.now(),
1360
1372
  longTapTimeout: setTimeout(async () => {
1361
- m.current.noTap = !0, K.add(c, {
1373
+ m.current.noTap = !0, J.add(c, {
1362
1374
  clientX: r,
1363
1375
  clientY: i,
1364
1376
  altKey: o,
@@ -1390,7 +1402,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1390
1402
  d !== "drag" && (b = !b);
1391
1403
  let x = !b, S = b;
1392
1404
  if (x) {
1393
- m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout), K.add(r, {
1405
+ m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout), J.add(r, {
1394
1406
  deltaX: 0,
1395
1407
  deltaY: 0,
1396
1408
  startX: m.current.startX,
@@ -1408,7 +1420,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1408
1420
  event: m.current.pointerDownEvent
1409
1421
  }));
1410
1422
  let t = _ - m.current.prevX, i = v - m.current.prevY, a = _ - m.current.startX, o = v - m.current.startY;
1411
- K.add(n, {
1423
+ J.add(n, {
1412
1424
  deltaX: t,
1413
1425
  deltaY: i,
1414
1426
  startX: m.current.startX,
@@ -1429,7 +1441,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1429
1441
  if (S) {
1430
1442
  m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout));
1431
1443
  let t = _ - m.current.prevX, n = v - m.current.prevY, { target: r } = m.current;
1432
- if (K.add(o, {
1444
+ if (J.add(o, {
1433
1445
  deltaX: t,
1434
1446
  deltaY: n,
1435
1447
  button: m.current.currentButton,
@@ -1441,7 +1453,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1441
1453
  event: e
1442
1454
  }), y !== m.current.prevDistance && u) {
1443
1455
  let t = m.current.prevDistance - y;
1444
- Math.abs(t) > 0 && (K.add(u, {
1456
+ Math.abs(t) > 0 && (J.add(u, {
1445
1457
  scale: t * 3,
1446
1458
  clientX: _,
1447
1459
  clientY: v,
@@ -1480,7 +1492,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1480
1492
  console.log("Fails to set pointer capture", e), m.current.mainPointer = void 0, delete m.current.pointers[Object.keys(m.current.pointers)[0]];
1481
1493
  }
1482
1494
  }
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, {
1495
+ if (m.current.mainPointer = void 0, m.current.pressed = !1, clearTimeout(m.current.longTapTimeout), m.current.moving) m.current.moving = !1, J.add(i, {
1484
1496
  deltaX: t - m.current.prevX,
1485
1497
  deltaY: n - m.current.prevY,
1486
1498
  startX: m.current.startX,
@@ -1498,7 +1510,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1498
1510
  }), p.current.style.cursor = "auto";
1499
1511
  else {
1500
1512
  let i = Date.now();
1501
- m.current.noTap ? m.current.noTap = !1 : m.current.timeStart - i < 300 && K.add(s, {
1513
+ m.current.noTap ? m.current.noTap = !1 : m.current.timeStart - i < 300 && J.add(s, {
1502
1514
  clientX: t,
1503
1515
  clientY: n,
1504
1516
  altKey: r,
@@ -1519,7 +1531,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1519
1531
  onPointerCancel: v,
1520
1532
  onDoubleClick: (e) => {
1521
1533
  let { clientX: t, clientY: n, altKey: r, shiftKey: i, ctrlKey: a, metaKey: o, target: s } = e;
1522
- K.add(l, {
1534
+ J.add(l, {
1523
1535
  clientX: t,
1524
1536
  clientY: n,
1525
1537
  altKey: r,
@@ -1540,9 +1552,9 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1540
1552
  ref: p,
1541
1553
  children: t
1542
1554
  });
1543
- }, J = ({ onResize: e, ...t }) => {
1544
- let [n] = F((e) => [e.getBoardState]);
1545
- return /* @__PURE__ */ a(q, {
1555
+ }, Ct = ({ onResize: e, ...t }) => {
1556
+ let [n] = R((e) => [e.getBoardState]);
1557
+ return /* @__PURE__ */ a(Y, {
1546
1558
  onDrag: ({ deltaX: t, deltaY: r, event: i }) => {
1547
1559
  i.stopPropagation();
1548
1560
  let { scale: a } = n();
@@ -1553,36 +1565,36 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1553
1565
  },
1554
1566
  children: /* @__PURE__ */ a("div", { ...t })
1555
1567
  });
1556
- }, Ct = W`
1568
+ }, wt = K`
1557
1569
  display: inline-block;
1558
1570
  transition: transform 150ms;
1559
1571
  user-select: none;
1560
1572
  padding: 2px;
1561
1573
  box-sizing: border-box;
1562
- `, wt = W`
1574
+ `, Tt = K`
1563
1575
  border: 2px dashed #db5034;
1564
1576
  padding: 0px;
1565
1577
  cursor: pointer;
1566
- `, Y = W`
1578
+ `, X = K`
1567
1579
  position: absolute;
1568
1580
  width: 0px;
1569
1581
  height: 0px;
1570
- `, Tt = W`
1582
+ `, Et = K`
1571
1583
  top: 0;
1572
1584
  left: 0;
1573
- `, Et = W`
1585
+ `, Dt = K`
1574
1586
  top: 0;
1575
1587
  right: 0;
1576
- `, Dt = W`
1588
+ `, Ot = K`
1577
1589
  bottom: 0;
1578
1590
  left: 0;
1579
- `, Ot = W`
1591
+ `, kt = K`
1580
1592
  bottom: 0;
1581
1593
  right: 0;
1582
- `, kt = W`
1594
+ `, At = K`
1583
1595
  top: 50%;
1584
1596
  left: 50%;
1585
- `, X = W`
1597
+ `, jt = K`
1586
1598
  position: absolute;
1587
1599
 
1588
1600
  width: 10px;
@@ -1590,20 +1602,20 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1590
1602
  border: 2px solid #db5034;
1591
1603
  background-color: #db5034;
1592
1604
  cursor: move;
1593
- `, At = W`
1605
+ `, Mt = K`
1594
1606
  cursor: ew-resize;
1595
1607
  right: -6px;
1596
1608
  top: calc(50% - 5px);
1597
- `, jt = W`
1609
+ `, Nt = K`
1598
1610
  cursor: ns-resize;
1599
1611
  bottom: -6px;
1600
1612
  left: calc(50% - 5px);
1601
- `, Mt = W`
1613
+ `, Pt = K`
1602
1614
  cursor: nwse-resize;
1603
1615
  bottom: -6px;
1604
1616
  right: -6px;
1605
- `, Nt = ({ onReload: e }) => /* @__PURE__ */ o("div", {
1606
- className: `syncboard-error-item ${W({
1617
+ `, Ft = ({ onReload: e }) => /* @__PURE__ */ o("div", {
1618
+ className: `syncboard-error-item ${K({
1607
1619
  width: "100px",
1608
1620
  display: "flex",
1609
1621
  flexDirection: "column",
@@ -1615,7 +1627,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1615
1627
  onClick: e,
1616
1628
  children: "Reload it"
1617
1629
  })]
1618
- }), Pt = class extends e.Component {
1630
+ }), It = class extends e.Component {
1619
1631
  constructor(e) {
1620
1632
  super(e), this.state = {
1621
1633
  hasError: !1,
@@ -1635,9 +1647,9 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1635
1647
  let { ErrorComponent: e } = this.props;
1636
1648
  return this.state.hasError ? /* @__PURE__ */ a(e, { onReload: this.onReload }) : this.props.children;
1637
1649
  }
1638
- }, Ft = (e) => {
1650
+ }, Lt = (e) => {
1639
1651
  e.target.className = "";
1640
- }, It = ({ width: e, height: t, actualWidth: n, actualHeight: r, prevState: i, keepRatio: a }) => {
1652
+ }, Rt = ({ width: e, height: t, actualWidth: n, actualHeight: r, prevState: i, keepRatio: a }) => {
1641
1653
  let { width: o, height: s } = i;
1642
1654
  if ([o, s] = [parseFloat(o), parseFloat(s)], (!o || Number.isNaN(Number(o))) && (o = n), (!s || Number.isNaN(Number(s))) && (s = r), a) {
1643
1655
  let n = o / s;
@@ -1652,21 +1664,21 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1652
1664
  width: (o + e).toFixed(1),
1653
1665
  height: (s + t).toFixed(1)
1654
1666
  };
1655
- }, Lt = {
1667
+ }, zt = {
1656
1668
  w: !0,
1657
1669
  h: !0,
1658
1670
  b: !0
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]);
1671
+ }, Bt = 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 }) => {
1672
+ let h = e.useRef(null), [g] = R((e) => [e.config.uid]), { component: _ = () => null, resizeDirections: v = zt, resize: y = Rt } = p[n], b = e.useCallback((e, n = !1) => t(s, e, n), [t, s]);
1661
1673
  e.useEffect(() => {
1662
1674
  h.current.className = d;
1663
1675
  }, [d]);
1664
1676
  let x = [
1665
1677
  "item",
1666
1678
  s,
1667
- Ct
1679
+ wt
1668
1680
  ];
1669
- c && x.push("locked"), f && (x.push("selected"), x.push(wt)), Array.isArray(l) && x.concat(l);
1681
+ c && x.push("locked"), f && (x.push("selected"), x.push(Tt)), Array.isArray(l) && x.concat(l);
1670
1682
  let S = x.join(" "), C = ({ width: e = 0, height: t = 0, keepRatio: n }) => {
1671
1683
  b((r) => {
1672
1684
  let { offsetWidth: i, offsetHeight: a } = h.current;
@@ -1698,63 +1710,63 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1698
1710
  children: /* @__PURE__ */ o("div", {
1699
1711
  style: { display: "flex" },
1700
1712
  ref: h,
1701
- onAnimationEnd: Ft,
1713
+ onAnimationEnd: Lt,
1702
1714
  onKeyDown: (e) => e.stopPropagation(),
1703
1715
  onKeyUp: (e) => e.stopPropagation(),
1704
1716
  children: [
1705
- /* @__PURE__ */ a(Pt, {
1717
+ /* @__PURE__ */ a(It, {
1706
1718
  itemId: s,
1707
1719
  state: u,
1708
- ErrorComponent: p?.error?.component || Nt,
1720
+ ErrorComponent: p?.error?.component || Ft,
1709
1721
  children: /* @__PURE__ */ a(_, {
1710
1722
  ...u,
1711
1723
  id: s,
1712
1724
  setState: b
1713
1725
  })
1714
1726
  }),
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}` }),
1727
+ /* @__PURE__ */ a("div", { className: `corner ${X} ${Et}` }),
1728
+ /* @__PURE__ */ a("div", { className: `corner ${X} ${Dt}` }),
1729
+ /* @__PURE__ */ a("div", { className: `corner ${X} ${kt}` }),
1730
+ /* @__PURE__ */ a("div", { className: `corner ${X} ${Ot}` }),
1731
+ /* @__PURE__ */ a("div", { className: `center ${X} ${At}` }),
1720
1732
  m && /* @__PURE__ */ o(i, { children: [
1721
- v.b && /* @__PURE__ */ a(J, {
1722
- className: `${X} ${Mt}`,
1733
+ v.b && /* @__PURE__ */ a(Ct, {
1734
+ className: `${jt} ${Pt}`,
1723
1735
  onResize: T
1724
1736
  }),
1725
- v.h && /* @__PURE__ */ a(J, {
1726
- className: `${X} ${jt}`,
1737
+ v.h && /* @__PURE__ */ a(Ct, {
1738
+ className: `${jt} ${Nt}`,
1727
1739
  onResize: ee
1728
1740
  }),
1729
- v.w && /* @__PURE__ */ a(J, {
1730
- className: `${X} ${At}`,
1741
+ v.w && /* @__PURE__ */ a(Ct, {
1742
+ className: `${jt} ${Mt}`,
1731
1743
  onResize: w
1732
1744
  })
1733
1745
  ] })
1734
1746
  ]
1735
1747
  })
1736
1748
  });
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 }) => {
1749
+ }, ({ 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)), Vt = (e) => e, Ht = t(({ state: e = {}, getCurrentUser: t, className: n, ...r }) => {
1738
1750
  if (!r.itemMap[e.type]) return null;
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);
1751
+ let { stateHook: i = Vt } = 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
1752
  return /* @__PURE__ */ a("div", {
1741
1753
  className: n,
1742
1754
  style: {
1743
1755
  transform: `translate(${o}px, ${s}px)`,
1744
1756
  zIndex: d
1745
1757
  },
1746
- children: /* @__PURE__ */ a(Rt, {
1758
+ children: /* @__PURE__ */ a(Bt, {
1747
1759
  ...r,
1748
1760
  showResizeHandle: r.isSelected && r.showResizeHandle,
1749
1761
  state: u
1750
1762
  })
1751
1763
  });
1752
- }), Vt = () => {
1753
- let { updateItem: e } = z(), [t, n] = P((e) => [e.itemIds, e.items]), [r, i, o] = F((e) => [
1764
+ }), Ut = () => {
1765
+ let { updateItem: e } = H(), [t, n] = L((e) => [e.itemIds, e.items]), [r, i, o] = R((e) => [
1754
1766
  e.config.showResizeHandle,
1755
1767
  e.config.itemTemplates,
1756
1768
  e.selection
1757
- ]), [s] = V((e) => [e.getUser]), c = W({
1769
+ ]), [s] = U((e) => [e.getUser]), c = K({
1758
1770
  position: "absolute",
1759
1771
  top: 0,
1760
1772
  left: 0,
@@ -1762,7 +1774,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1762
1774
  display: "inline-block",
1763
1775
  lineHeight: 0
1764
1776
  });
1765
- return t.map((t) => /* @__PURE__ */ a(Bt, {
1777
+ return t.map((t) => /* @__PURE__ */ a(Ht, {
1766
1778
  state: n[t],
1767
1779
  setState: e,
1768
1780
  isSelected: o.includes(t),
@@ -1771,28 +1783,28 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1771
1783
  showResizeHandle: r,
1772
1784
  className: c
1773
1785
  }, t));
1774
- }, Ht = W({
1786
+ }, Wt = K({
1775
1787
  zIndex: 210,
1776
1788
  position: "absolute",
1777
1789
  backgroundColor: "hsla(0, 40%, 50%, 10%)",
1778
1790
  border: "2px solid hsl(0, 55%, 40%)"
1779
- }), Ut = (e, t, n = !1) => {
1791
+ }), Gt = (e, t, n = !1) => {
1780
1792
  let r = t.getElementsByClassName("selector");
1781
1793
  if (!r.length) return [];
1782
1794
  let i = r[0];
1783
1795
  return Array.from(t.getElementsByClassName("item")).filter((t) => {
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) => [
1796
+ let r = e[F(t)];
1797
+ return !r || !n && r.locked ? !1 : ce(t, i);
1798
+ }).map((e) => F(e));
1799
+ }, Kt = ({ children: t, moveFirst: n }) => {
1800
+ let [r, i, s, c, l, u] = R((e) => [
1789
1801
  e.getSelection,
1790
1802
  e.clear,
1791
1803
  e.setSelection,
1792
1804
  e.select,
1793
1805
  e.getConfiguration,
1794
1806
  e.updateBoardState
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 });
1807
+ ]), { findElementUnderPointer: d } = H(), [p] = L((e) => [e.getItems]), [m, h] = e.useState({}), [, g] = e.useTransition(), [_, v] = e.useState(!1), y = e.useRef(null), b = e.useRef({ moving: !1 });
1796
1808
  return f(document, "keydown", (e) => {
1797
1809
  e.key === "l" && v(!0);
1798
1810
  }), f(document, "keyup", (e) => {
@@ -1801,7 +1813,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1801
1813
  i();
1802
1814
  }), [i]), e.useEffect(() => {
1803
1815
  if (b.current.moving) {
1804
- let e = p(), { boardWrapper: t } = l(), n = Ut(e, t, _);
1816
+ let e = p(), { boardWrapper: t } = l(), n = Gt(e, t, _);
1805
1817
  g(() => {
1806
1818
  s(n);
1807
1819
  });
@@ -1812,7 +1824,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1812
1824
  m,
1813
1825
  s,
1814
1826
  _
1815
- ]), /* @__PURE__ */ a(q, {
1827
+ ]), /* @__PURE__ */ a(Y, {
1816
1828
  fill: !0,
1817
1829
  onDragStart: async (e) => {
1818
1830
  await d(e) || (b.current.moving = !0, g(() => {
@@ -1837,7 +1849,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1837
1849
  let { ctrlKey: t, metaKey: n } = e, a = d(e);
1838
1850
  if (!a) i();
1839
1851
  else {
1840
- let e = N(a);
1852
+ let e = F(a);
1841
1853
  if (!e) {
1842
1854
  i();
1843
1855
  return;
@@ -1847,9 +1859,9 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1847
1859
  }
1848
1860
  },
1849
1861
  onLongTap: ({ target: e }) => {
1850
- let t = ne(e, "item");
1862
+ let t = j(e, "item");
1851
1863
  if (t) {
1852
- let e = N(t);
1864
+ let e = F(t);
1853
1865
  s([e]);
1854
1866
  }
1855
1867
  },
@@ -1866,18 +1878,18 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1866
1878
  height: `${m.height}px`,
1867
1879
  width: `${m.width}px`
1868
1880
  },
1869
- className: `selector ${Ht}`
1881
+ className: `selector ${Wt}`
1870
1882
  }), t]
1871
1883
  })
1872
1884
  });
1873
- }, Gt = ({ children: t }) => {
1874
- let { moveItems: n, placeItems: r, findElementUnderPointer: i } = z(), { vectorFromWrapperToBoard: o } = L(), [s, c, l, u, d] = F((e) => [
1885
+ }, qt = ({ children: t }) => {
1886
+ let { moveItems: n, placeItems: r, findElementUnderPointer: i } = H(), { vectorFromWrapperToBoard: o } = B(), [s, c, l, u, d] = R((e) => [
1875
1887
  e.select,
1876
1888
  e.setSelection,
1877
1889
  e.getSelection,
1878
1890
  e.getBoardState,
1879
1891
  e.updateBoardState
1880
- ]), [p] = P((e) => [e.getBoardConfig]), m = e.useRef({}), h = e.useRef({ items: [] });
1892
+ ]), [p] = L((e) => [e.getBoardConfig]), m = e.useRef({}), h = e.useRef({ items: [] });
1881
1893
  return f(document, "keydown", (e) => {
1882
1894
  if (["INPUT", "TEXTAREA"].includes(e.target.tagName)) return;
1883
1895
  let t = l();
@@ -1907,7 +1919,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1907
1919
  }), e.preventDefault();
1908
1920
  }
1909
1921
  }
1910
- }), /* @__PURE__ */ a(q, {
1922
+ }), /* @__PURE__ */ a(Y, {
1911
1923
  fill: !0,
1912
1924
  onDragStart: (e) => {
1913
1925
  let { ctrlKey: t, metaKey: n, event: r } = e, a = i(e);
@@ -1915,7 +1927,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1915
1927
  r.stopPropagation();
1916
1928
  let e = l();
1917
1929
  h.current.items = e;
1918
- let i = N(a);
1930
+ let i = F(a);
1919
1931
  e.includes(i) || (t || n ? (h.current.items = [...e, i], s([i])) : (h.current.items = [i], c([i]))), Object.assign(m.current, { moving: !0 });
1920
1932
  }
1921
1933
  },
@@ -1940,7 +1952,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1940
1952
  },
1941
1953
  children: t
1942
1954
  });
1943
- }, Kt = (t) => {
1955
+ }, Jt = (t) => {
1944
1956
  let n = e.useRef({
1945
1957
  hover: !1,
1946
1958
  x: 0,
@@ -1954,16 +1966,16 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1954
1966
  }), f(t, "mouseleave", () => {
1955
1967
  n.current.hover = !1;
1956
1968
  }), e.useCallback(() => n.current, []);
1957
- }, qt = [...[
1969
+ }, Yt = [...[
1958
1970
  ,
1959
1971
  ,
1960
1972
  ,
1961
1973
  ,
1962
1974
  ,
1963
- ].keys()].map((e) => `Digit${e + 1}`), Jt = () => {
1964
- let [t, n] = e.useState({}), [r, i] = F((e) => [e.getBoardState, e.updateBoardState]);
1975
+ ].keys()].map((e) => `Digit${e + 1}`), Xt = () => {
1976
+ let [t, n] = e.useState({}), [r, i] = R((e) => [e.getBoardState, e.updateBoardState]);
1965
1977
  return f(document, "keydown", (e) => {
1966
- if (!["INPUT", "TEXTAREA"].includes(e.target.tagName) && qt.includes(e.code)) {
1978
+ if (!["INPUT", "TEXTAREA"].includes(e.target.tagName) && Yt.includes(e.code)) {
1967
1979
  let a = e.code, { translateX: o, translateY: s, scale: c } = r();
1968
1980
  e.altKey || e.metaKey || e.ctrlKey || e.shiftKey ? n((e) => ({
1969
1981
  ...e,
@@ -1975,14 +1987,14 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1975
1987
  })) : t[a] && i(t[a]), e.preventDefault();
1976
1988
  }
1977
1989
  }), null;
1978
- }, Yt = ({ children: t, moveFirst: n = !1 }) => {
1979
- let r = e.useRef(null), [i, o, s, c] = F((e) => [
1990
+ }, Zt = ({ children: t, moveFirst: n = !1 }) => {
1991
+ let r = e.useRef(null), [i, o, s, c] = R((e) => [
1980
1992
  e.config.itemExtent,
1981
1993
  e.getConfiguration,
1982
1994
  e.updateBoardState,
1983
1995
  e.getSelection
1984
- ]), { zoomToCenter: l, zoomToExtent: u, moveBoard: d } = L(), [p, m] = e.useState(!1), h = e.useRef({}), g = Kt(r);
1985
- Jt();
1996
+ ]), { zoomToCenter: l, zoomToExtent: u, moveBoard: d } = B(), [p, m] = e.useState(!1), h = e.useRef({}), g = Jt(r);
1997
+ Xt();
1986
1998
  let _ = e.useCallback(() => {
1987
1999
  let { itemExtent: e } = o();
1988
2000
  u(e);
@@ -2031,15 +2043,16 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2031
2043
  factor: 1 / 3,
2032
2044
  to: g()
2033
2045
  });
2034
- }), /* @__PURE__ */ a(q, {
2046
+ }), /* @__PURE__ */ a(Y, {
2035
2047
  fill: !0,
2036
- onPan: ({ deltaX: e, deltaY: t }) => {
2037
- d(({ translateX: n, translateY: r }) => ({
2048
+ onPan: ({ deltaX: e, deltaY: t, target: n }) => {
2049
+ let r = j(n, "item");
2050
+ r && A(r, "selected") || (d(({ translateX: n, translateY: r }) => ({
2038
2051
  translateX: n + e,
2039
2052
  translateY: r + t
2040
2053
  })), clearTimeout(h.current.pan), h.current.pan = setTimeout(() => {
2041
2054
  s({ panning: !1 });
2042
- }, 200), s({ panning: !0 });
2055
+ }, 200), s({ panning: !0 }));
2043
2056
  },
2044
2057
  onZoom: ({ clientX: e, clientY: t, scale: n }) => {
2045
2058
  l({
@@ -2067,7 +2080,7 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2067
2080
  children: t
2068
2081
  })
2069
2082
  });
2070
- }, Xt = W({
2083
+ }, Qt = K({
2071
2084
  position: "absolute",
2072
2085
  top: 0,
2073
2086
  left: 0,
@@ -2075,8 +2088,8 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2075
2088
  backgroundColor: "hsla(0, 40%, 50%, 0%)",
2076
2089
  border: "2px dashed hsl(20, 55%, 40%)",
2077
2090
  pointerEvents: "none"
2078
- }), Zt = () => {
2079
- let [t, n, r, i, o, { translateX: s, translateY: c, scale: l }] = F((e) => [
2091
+ }), $t = () => {
2092
+ let [t, n, r, i, o, { translateX: s, translateY: c, scale: l }] = R((e) => [
2080
2093
  e.selection,
2081
2094
  e.getSelection,
2082
2095
  e.selectionBox,
@@ -2087,13 +2100,13 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2087
2100
  translateY: e.boardState.translateY,
2088
2101
  scale: e.boardState.scale
2089
2102
  }
2090
- ]), [d] = P((e) => [e.items]), f = e.useCallback(() => {
2103
+ ]), [d] = L((e) => [e.items]), f = e.useCallback(() => {
2091
2104
  let e = n(), { boardWrapperRect: t, uid: r } = o();
2092
2105
  if (e.length === 0) {
2093
2106
  i(null);
2094
2107
  return;
2095
2108
  }
2096
- let a = se(e, r);
2109
+ let a = le(e, r);
2097
2110
  if (!a) {
2098
2111
  i(null);
2099
2112
  return;
@@ -2126,15 +2139,15 @@ var ht = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2126
2139
  height: `${r.height}px`,
2127
2140
  width: `${r.width}px`
2128
2141
  },
2129
- className: `selection ${Xt}`
2142
+ className: `selection ${Qt}`
2130
2143
  });
2131
- }, Qt = () => {
2132
- let [e] = F((e) => [e.boardState.movingItems]);
2133
- return e ? null : /* @__PURE__ */ a(Zt, {});
2144
+ }, en = () => {
2145
+ let [e] = R((e) => [e.boardState.movingItems]);
2146
+ return e ? null : /* @__PURE__ */ a($t, {});
2134
2147
  };
2135
2148
  //#endregion
2136
2149
  //#region node_modules/color2k/dist/index.exports.import.es.mjs
2137
- function $t(e, t, n) {
2150
+ function tn(e, t, n) {
2138
2151
  return Math.min(Math.max(e, n), t);
2139
2152
  }
2140
2153
  var Z = class extends Error {
@@ -2142,7 +2155,7 @@ var Z = class extends Error {
2142
2155
  super(`Failed to parse color: "${e}"`);
2143
2156
  }
2144
2157
  };
2145
- function en(e) {
2158
+ function nn(e) {
2146
2159
  if (typeof e != "string") throw new Z(e);
2147
2160
  if (e.trim().toLowerCase() === "transparent") return [
2148
2161
  0,
@@ -2151,52 +2164,52 @@ function en(e) {
2151
2164
  0
2152
2165
  ];
2153
2166
  let t = e.trim();
2154
- t = un.test(e) ? an(e) : e;
2155
- let n = on.exec(t);
2167
+ t = fn.test(e) ? sn(e) : e;
2168
+ let n = cn.exec(t);
2156
2169
  if (n) {
2157
2170
  let e = Array.from(n).slice(1);
2158
2171
  return [...e.slice(0, 3).map((e) => parseInt(Q(e, 2), 16)), parseInt(Q(e[3] || "f", 2), 16) / 255];
2159
2172
  }
2160
- let r = sn.exec(t);
2173
+ let r = ln.exec(t);
2161
2174
  if (r) {
2162
2175
  let e = Array.from(r).slice(1);
2163
2176
  return [...e.slice(0, 3).map((e) => parseInt(e, 16)), parseInt(e[3] || "ff", 16) / 255];
2164
2177
  }
2165
- let i = cn.exec(t);
2178
+ let i = un.exec(t);
2166
2179
  if (i) {
2167
2180
  let e = Array.from(i).slice(1);
2168
2181
  return [...e.slice(0, 3).map((e) => parseInt(e, 10)), parseFloat(e[3] || "1")];
2169
2182
  }
2170
- let a = ln.exec(t);
2183
+ let a = dn.exec(t);
2171
2184
  if (a) {
2172
2185
  let [t, n, r, i] = Array.from(a).slice(1).map(parseFloat);
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];
2186
+ if (tn(0, 100, n) !== n || tn(0, 100, r) !== r) throw new Z(e);
2187
+ return [...mn(t, n, r), Number.isNaN(i) ? 1 : i];
2175
2188
  }
2176
2189
  throw new Z(e);
2177
2190
  }
2178
- function tn(e) {
2191
+ function rn(e) {
2179
2192
  let t = 5381, n = e.length;
2180
2193
  for (; n;) t = t * 33 ^ e.charCodeAt(--n);
2181
2194
  return (t >>> 0) % 2341;
2182
2195
  }
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 = "";
2196
+ var an = (e) => parseInt(e.replace(/_/g, ""), 36), on = "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) => {
2197
+ let n = an(t.substring(0, 3)), r = an(t.substring(3)).toString(16), i = "";
2185
2198
  for (let e = 0; e < 6 - r.length; e++) i += "0";
2186
2199
  return e[n] = `${i}${r}`, e;
2187
2200
  }, {});
2188
- function an(e) {
2189
- let t = rn[tn(e.toLowerCase().trim())];
2201
+ function sn(e) {
2202
+ let t = on[rn(e.toLowerCase().trim())];
2190
2203
  if (!t) throw new Z(e);
2191
2204
  return `#${t}`;
2192
2205
  }
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) => {
2206
+ var Q = (e, t) => Array.from(Array(t)).map(() => e).join(""), cn = RegExp(`^#${Q("([a-f0-9])", 3)}([a-f0-9])?$`, "i"), ln = RegExp(`^#${Q("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i"), un = RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Q(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i"), dn = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i, fn = /^[a-z]+$/i, pn = (e) => Math.round(e * 255), mn = (e, t, n) => {
2194
2207
  let r = n / 100;
2195
2208
  if (t === 0) return [
2196
2209
  r,
2197
2210
  r,
2198
2211
  r
2199
- ].map(dn);
2212
+ ].map(pn);
2200
2213
  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;
2201
2214
  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);
2202
2215
  let u = r - a / 2;
@@ -2204,29 +2217,29 @@ var Q = (e, t) => Array.from(Array(t)).map(() => e).join(""), on = RegExp(`^#${Q
2204
2217
  s + u,
2205
2218
  c + u,
2206
2219
  l + u
2207
- ].map(dn);
2220
+ ].map(pn);
2208
2221
  };
2209
- function pn(e) {
2222
+ function hn(e) {
2210
2223
  if (e === "transparent") return 0;
2211
2224
  function t(e) {
2212
2225
  let t = e / 255;
2213
2226
  return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
2214
2227
  }
2215
- let [n, r, i] = en(e);
2228
+ let [n, r, i] = nn(e);
2216
2229
  return .2126 * t(n) + .7152 * t(r) + .0722 * t(i);
2217
2230
  }
2218
- function mn(e) {
2219
- return pn(e) > .179;
2231
+ function gn(e) {
2232
+ return hn(e) > .179;
2220
2233
  }
2221
2234
  //#endregion
2222
2235
  //#region src/lib/board/Cursors/Cursor.jsx
2223
- var hn = W({
2236
+ var _n = K({
2224
2237
  display: "flex",
2225
2238
  flexDirection: "row",
2226
2239
  alignItems: "center",
2227
2240
  zIndex: 210,
2228
2241
  pointerEvents: "none"
2229
- }), gn = W({
2242
+ }), vn = K({
2230
2243
  fontWeight: "bold",
2231
2244
  padding: "0 0.5em",
2232
2245
  borderRadius: "2px",
@@ -2237,10 +2250,10 @@ var hn = W({
2237
2250
  marginTop: "1.7em",
2238
2251
  whitespace: "nowrap",
2239
2252
  pointerEvents: "none"
2240
- }), _n = e.memo(({ color: e = "#666", size: t = 40, text: n }) => {
2241
- let r = mn(e) ? "#222" : "#EEE";
2253
+ }), yn = e.memo(({ color: e = "#666", size: t = 40, text: n }) => {
2254
+ let r = gn(e) ? "#222" : "#EEE";
2242
2255
  return /* @__PURE__ */ o("div", {
2243
- className: hn,
2256
+ className: _n,
2244
2257
  children: [/* @__PURE__ */ o("svg", {
2245
2258
  version: "1.1",
2246
2259
  xmlns: "http://www.w3.org/2000/svg",
@@ -2263,27 +2276,27 @@ var hn = W({
2263
2276
  color: r,
2264
2277
  backgroundColor: e
2265
2278
  },
2266
- className: gn,
2279
+ className: vn,
2267
2280
  children: n
2268
2281
  })]
2269
2282
  });
2270
- }), vn = W({
2283
+ }), bn = K({
2271
2284
  top: 0,
2272
2285
  left: 0,
2273
2286
  zIndex: 210,
2274
2287
  position: "fixed",
2275
2288
  pointerEvents: "none"
2276
- }), yn = ({ pos: e, ...t }) => /* @__PURE__ */ a("div", {
2277
- className: vn,
2289
+ }), xn = ({ pos: e, ...t }) => /* @__PURE__ */ a("div", {
2290
+ className: bn,
2278
2291
  style: { transform: `translate(${e.x - 6}px, ${e.y - 15}px)` },
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) => [
2292
+ children: /* @__PURE__ */ a(yn, { ...t })
2293
+ }), Sn = ({ children: e }) => {
2294
+ let [t] = R((e) => [e.getConfiguration, e.boardState.scale]), { fromWrapperToBoard: n, fromBoardToWrapper: r } = B(), [i, s, c, l] = U((e) => [
2282
2295
  e.getUser(),
2283
2296
  e.getLocalUsers(),
2284
2297
  e.cursors,
2285
2298
  e.users
2286
- ]), [u, d] = V((e) => [e.moveCursor, e.removeCursor]), { boardWrapperRect: f } = t(), p = ({ clientX: e, clientY: t }) => {
2299
+ ]), [u, d] = U((e) => [e.moveCursor, e.removeCursor]), { boardWrapperRect: f } = t(), p = ({ clientX: e, clientY: t }) => {
2287
2300
  let [r, a] = n(e - f.left, t - f.top);
2288
2301
  u(i.id, {
2289
2302
  x: r,
@@ -2300,15 +2313,15 @@ var hn = W({
2300
2313
  x: n + f.left,
2301
2314
  y: i + f.top
2302
2315
  };
2303
- return j(o, f) ? /* @__PURE__ */ a(yn, {
2316
+ return N(o, f) ? /* @__PURE__ */ a(xn, {
2304
2317
  pos: o,
2305
2318
  text: l[e].name,
2306
2319
  color: l[e].color
2307
2320
  }, e) : null;
2308
2321
  })]
2309
2322
  });
2310
- }, xn = /[+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:px|%)/gi;
2311
- function Sn(e, t = ",") {
2323
+ }, Cn = /[+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:px|%)/gi;
2324
+ function wn(e, t = ",") {
2312
2325
  let n = 0, r = "", i = 0, a = [];
2313
2326
  for (let [o, s] of e.split("").entries()) if (r) s === r && e[o - 1] !== "\\" && (r = "");
2314
2327
  else if (s === "\"" || s === "'") r = s;
@@ -2322,10 +2335,10 @@ function Sn(e, t = ",") {
2322
2335
  return o && a.push(o), a;
2323
2336
  }
2324
2337
  function $(e, t) {
2325
- return [...e.replace(/\s/g, "").matchAll(xn)].reduce((e, [n]) => e + Number.parseFloat(n) * (n.endsWith("%") ? t / 100 : 1), 0);
2338
+ return [...e.replace(/\s/g, "").matchAll(Cn)].reduce((e, [n]) => e + Number.parseFloat(n) * (n.endsWith("%") ? t / 100 : 1), 0);
2326
2339
  }
2327
- function Cn(e, t, n, r) {
2328
- let [i, a = "auto"] = Sn(e, " "), o = r?.width, s = r?.height;
2340
+ function Tn(e, t, n, r) {
2341
+ let [i, a = "auto"] = wn(e, " "), o = r?.width, s = r?.height;
2329
2342
  if (i === "cover" || i === "contain") {
2330
2343
  if (!o || !s) return [t, n];
2331
2344
  let e = Math[i === "cover" ? "max" : "min"](t / o, n / s);
@@ -2334,13 +2347,13 @@ function Cn(e, t, n, r) {
2334
2347
  let c = i === "auto" ? null : $(i, t), l = a === "auto" ? null : $(a, n);
2335
2348
  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
2349
  }
2337
- function wn(e, t, n) {
2350
+ function En(e, t, n) {
2338
2351
  let r = [
2339
2352
  [0, 0],
2340
2353
  [e, 0],
2341
2354
  [0, t],
2342
2355
  [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);
2356
+ ].map((e) => oe(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] = M([o, s], n);
2344
2357
  return {
2345
2358
  left: o,
2346
2359
  top: s,
@@ -2350,9 +2363,9 @@ function wn(e, t, n) {
2350
2363
  y: d
2351
2364
  };
2352
2365
  }
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);
2366
+ var Dn = (e, t, n) => ((e - t) % n + n) % n;
2367
+ function On(e, t, n, r) {
2368
+ let i = En(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] = M([u, d], n);
2356
2369
  return {
2357
2370
  tiles: Array.from({ length: l - c + 1 }, (e, t) => {
2358
2371
  let n = c + t;
@@ -2374,18 +2387,18 @@ function En(e, t, n, r) {
2374
2387
  }
2375
2388
  //#endregion
2376
2389
  //#region src/lib/board/WorldBackground.jsx
2377
- var Dn = {
2390
+ var kn = {
2378
2391
  position: "absolute",
2379
2392
  inset: 0,
2380
2393
  pointerEvents: "none"
2381
2394
  };
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({
2395
+ function An({ style: t, tileSizeOverride: n }) {
2396
+ let [r, i] = R((e) => [e.boardState, e.config.boardWrapperRect]), s = i.width || 1, c = i.height || 1, l = e.useRef(null), [u, d] = e.useState({
2384
2397
  color: "#333",
2385
2398
  layers: []
2386
2399
  }), [f, p] = e.useState({});
2387
2400
  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");
2401
+ let e = getComputedStyle(l.current), t = (t) => wn(e[t]), n = t("backgroundSize"), r = t("backgroundPositionX"), i = t("backgroundPositionY"), a = t("backgroundRepeat"), o = t("backgroundBlendMode");
2389
2402
  d({
2390
2403
  color: e.backgroundColor,
2391
2404
  layers: t("backgroundImage").map((e, t) => ({
@@ -2419,19 +2432,19 @@ function On({ style: t, tileSizeOverride: n }) {
2419
2432
  e = !1;
2420
2433
  };
2421
2434
  }, [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);
2435
+ let m = On(s, c, r, n), h = u.layers.map((e) => {
2436
+ let [t, n] = Tn(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
2437
  return {
2425
2438
  ...e,
2426
2439
  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`
2440
+ position: (e, s) => `${r && t ? Dn(a, e, t) : a - e}px ${i && n ? Dn(o, s, n) : o - s}px`
2428
2441
  };
2429
2442
  });
2430
2443
  return /* @__PURE__ */ o("div", {
2431
2444
  className: "world-background",
2432
2445
  "aria-hidden": "true",
2433
2446
  style: {
2434
- ...Dn,
2447
+ ...kn,
2435
2448
  overflow: "hidden",
2436
2449
  backgroundColor: u.color
2437
2450
  },
@@ -2474,17 +2487,17 @@ function On({ style: t, tileSizeOverride: n }) {
2474
2487
  }
2475
2488
  //#endregion
2476
2489
  //#region src/lib/board/Board.jsx
2477
- var kn = ({ children: e }) => e, An = {}, jn = {
2490
+ var jn = ({ children: e }) => e, Mn = {}, Nn = {
2478
2491
  overflow: "hidden",
2479
2492
  position: "absolute",
2480
2493
  inset: 0
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) => [
2494
+ }, Pn = ({ moveFirst: t = !0, style: n, wrapperStyle: r, itemTemplates: i = Mn, boardSize: s = we, backgroundTileSize: c, children: l, showResizeHandle: u = !1, Wrapper: d = jn }) => {
2495
+ let f = e.useRef(null), [m, h] = R((e) => [e.config.uid, e.updateConfiguration]), [g, _, v, y] = R((e) => [
2483
2496
  e.boardState.translateX,
2484
2497
  e.boardState.translateY,
2485
2498
  e.boardState.scale,
2486
2499
  e.boardState.rotate
2487
- ]), { updateItemExtent: b } = L(), x = {
2500
+ ]), { updateItemExtent: b } = B(), x = {
2488
2501
  userSelect: "none",
2489
2502
  position: "absolute",
2490
2503
  inset: 0,
@@ -2504,7 +2517,7 @@ var kn = ({ children: e }) => e, An = {}, jn = {
2504
2517
  }, []), e.useEffect(() => {
2505
2518
  h({ boardWrapper: f.current });
2506
2519
  }, [h]), e.useEffect(() => {
2507
- m || h({ uid: B() });
2520
+ m || h({ uid: w() });
2508
2521
  }, [m, h]), e.useEffect(() => {
2509
2522
  h({
2510
2523
  itemTemplates: i,
@@ -2521,8 +2534,8 @@ var kn = ({ children: e }) => e, An = {}, jn = {
2521
2534
  }, [h, b]), p(f, () => {
2522
2535
  f.current && h({ boardWrapperRect: f.current.getBoundingClientRect() });
2523
2536
  });
2524
- let S = W({
2525
- ...jn,
2537
+ let S = K({
2538
+ ...Nn,
2526
2539
  ...r
2527
2540
  });
2528
2541
  return /* @__PURE__ */ o("div", {
@@ -2530,15 +2543,15 @@ var kn = ({ children: e }) => e, An = {}, jn = {
2530
2543
  id: m,
2531
2544
  className: `sync-board ${S}`,
2532
2545
  children: [
2533
- /* @__PURE__ */ a(On, {
2546
+ /* @__PURE__ */ a(An, {
2534
2547
  style: n,
2535
2548
  tileSizeOverride: c
2536
2549
  }),
2537
- /* @__PURE__ */ a(bn, { children: /* @__PURE__ */ a(Wt, {
2550
+ /* @__PURE__ */ a(Sn, { children: /* @__PURE__ */ a(Kt, {
2538
2551
  moveFirst: t,
2539
- children: /* @__PURE__ */ a(Yt, {
2552
+ children: /* @__PURE__ */ a(Zt, {
2540
2553
  moveFirst: t,
2541
- children: /* @__PURE__ */ a(Gt, {
2554
+ children: /* @__PURE__ */ a(qt, {
2542
2555
  moveFirst: t,
2543
2556
  children: /* @__PURE__ */ a(d, { children: /* @__PURE__ */ o("div", {
2544
2557
  onContextMenu: (e) => {
@@ -2546,7 +2559,7 @@ var kn = ({ children: e }) => e, An = {}, jn = {
2546
2559
  },
2547
2560
  style: x,
2548
2561
  className: `board-pane${v < .5 ? " board-pane__far" : ""}`,
2549
- children: [/* @__PURE__ */ a(Vt, {}), /* @__PURE__ */ a("div", {
2562
+ children: [/* @__PURE__ */ a(Ut, {}), /* @__PURE__ */ a("div", {
2550
2563
  style: { pointerEvents: "auto" },
2551
2564
  children: l
2552
2565
  })]
@@ -2554,7 +2567,7 @@ var kn = ({ children: e }) => e, An = {}, jn = {
2554
2567
  })
2555
2568
  })
2556
2569
  }) }),
2557
- /* @__PURE__ */ a(Qt, {})
2570
+ /* @__PURE__ */ a(en, {})
2558
2571
  ]
2559
2572
  });
2560
2573
  };
@@ -2562,6 +2575,6 @@ var kn = ({ children: e }) => e, An = {}, jn = {
2562
2575
  //#region src/lib/index.js
2563
2576
  mt(e.createElement);
2564
2577
  //#endregion
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 };
2578
+ export { Pn as Board, it as BoardWrapper, at as RoomWrapper, Re as useAvailableActions, qe as useBoardConfig, B as useBoardPosition, Je as useBoardState, Ce as useDebouncedItems, Me as useGetSelectedItems, H as useItemActions, V as useItemInteraction, Se as useItems, nt as useMessage, je as useSelectedItems, ze as useSelectionBox, Ye as useSessionInfo, Ke as useUsers, k as useWire };
2566
2579
 
2567
2580
  //# sourceMappingURL=react-sync-board.js.map