react-sync-board 1.4.3 → 1.4.5

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.
@@ -18,9 +18,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
18
18
  let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
19
19
  for (; e--;) t += C[n[e] & 63];
20
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 {
21
+ }, T = 128, ee = (e) => typeof e == "string" && e.length > 0 && e.length <= T && !/[\u0000-\u001f\u007f]/u.test(e), E = (e, t) => {
22
+ if (!ee(e)) throw Error(`Invalid ${t}`);
23
+ }, te = class {
24
24
  constructor(e, t, n = null) {
25
25
  this._socket = e, this.userId = n, this.room = t, this.toUnregister = [() => {
26
26
  this._socket.off(`${this.room}.isMaster`), this._socket.off(`${this.room}.roomJoined`), this._socket.off(`${this.room}._call`);
@@ -89,9 +89,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
89
89
  params: t
90
90
  });
91
91
  }
92
- }, te = ({ socket: e, room: t, onJoined: n = () => {}, onMaster: r = () => {}, userId: i = null }) => {
92
+ }, D = ({ socket: e, room: t, onJoined: n = () => {}, onMaster: r = () => {}, userId: i = null }) => {
93
93
  E(t, "room name"), i != null && E(i, "user id");
94
- let a = new D(e, t, i);
94
+ let a = new te(e, t, i);
95
95
  return new Promise((o) => {
96
96
  let s = !0;
97
97
  e.on(`${t}.isMaster`, () => {
@@ -132,7 +132,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
132
132
  t.off("disconnect", e);
133
133
  };
134
134
  }, [i, t]), e.useEffect(() => {
135
- if (t) return t.connected || t.connect(), console.log(`Try to connect to wire ${n} on channel ${i}`), _.current || (_.current = !0, te({
135
+ if (t) return t.connected || t.connect(), console.log(`Try to connect to wire ${n} on channel ${i}`), _.current || (_.current = !0, D({
136
136
  socket: t,
137
137
  room: n,
138
138
  onMaster: () => {
@@ -160,34 +160,105 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
160
160
  },
161
161
  children: s
162
162
  });
163
- }, 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]) => {
163
+ }, k = (e = "default") => (r(O) || {})[e], ie = /* @__PURE__ */ new Set([
164
+ "grid",
165
+ "hexH",
166
+ "hexV"
167
+ ]), A = (e, t = 0) => Number.isFinite(Number(e)) ? Number(e) : t, j = (e) => {
168
+ if (!ie.has(e?.type)) return null;
169
+ let t = A(e.size, 1);
170
+ return {
171
+ ...e,
172
+ size: t > 0 ? t : 1,
173
+ offset: {
174
+ x: A(e.offset?.x),
175
+ y: A(e.offset?.y)
176
+ },
177
+ show: e.show !== !1,
178
+ color: e.color || "#000000",
179
+ opacity: Math.max(0, Math.min(1, A(e.opacity ?? .2, .2)))
180
+ };
181
+ }, ae = (e, t) => j(t) || j(e), oe = (e, t) => {
182
+ let n = ae(e, t), r = j(t);
183
+ return !n || r || typeof t?.show != "boolean" ? n : {
184
+ ...n,
185
+ show: t.show
186
+ };
187
+ }, se = (e) => {
188
+ let t = getComputedStyle(e), n = (e, n, r, i) => {
189
+ let a = parseFloat(t[e]);
190
+ return Number.isFinite(a) ? (t.boxSizing !== "border-box" && (a += (parseFloat(t[`padding${n}`]) || 0) + (parseFloat(t[`padding${r}`]) || 0) + (parseFloat(t[`border${n}Width`]) || 0) + (parseFloat(t[`border${r}Width`]) || 0)), a) : i;
191
+ };
192
+ return {
193
+ width: n("width", "Left", "Right", e.offsetWidth),
194
+ height: n("height", "Top", "Bottom", e.offsetHeight)
195
+ };
196
+ }, ce = ({ type: e, size: t }) => {
197
+ let n = Math.sqrt(3) * t / 2;
198
+ return e === "grid" ? {
199
+ width: t,
200
+ height: t,
201
+ centers: [[t / 2, t / 2]]
202
+ } : e === "hexH" ? {
203
+ width: 2 * n,
204
+ height: 3 * t,
205
+ centers: [[0, 0], [n, 1.5 * t]]
206
+ } : {
207
+ width: 3 * t,
208
+ height: 2 * n,
209
+ centers: [[0, 0], [1.5 * t, n]]
210
+ };
211
+ }, le = (e, t) => {
212
+ let { x: n, y: r, width: i, height: a } = e, o = j(t);
213
+ if (!o || ![
214
+ n,
215
+ r,
216
+ i,
217
+ a
218
+ ].every(Number.isFinite)) return {
219
+ x: n,
220
+ y: r
221
+ };
222
+ let { offset: s } = o, c = n + i / 2 - s.x, l = r + a / 2 - s.y, u = ce(o), d, f = Infinity;
223
+ for (let [e, t] of u.centers) {
224
+ let n = Math.round((c - e) / u.width) * u.width + e, r = Math.round((l - t) / u.height) * u.height + t, o = Math.hypot(n - c, r - l);
225
+ o < f && (d = {
226
+ x: n + s.x - i / 2,
227
+ y: r + s.y - a / 2
228
+ }, f = o);
229
+ }
230
+ return d && Number.isFinite(d.x) && Number.isFinite(d.y) ? d : {
231
+ x: n,
232
+ y: r
233
+ };
234
+ }, M = (e, t) => e.classList && e.classList.contains(t), N = (e, t) => M(e, t) ? e : e.parentNode ? N(e.parentNode, t) : !1, ue = ([e, t], [n, r]) => {
164
235
  let i = Math.abs(e - n), a = Math.abs(t - r);
165
236
  return Math.hypot(i, a);
166
- }, ae = (e, t, n) => {
237
+ }, de = (e, t, n) => {
167
238
  let r = n * Math.PI / 180;
168
239
  return [e * Math.cos(r) - t * Math.sin(r), e * Math.sin(r) + t * Math.cos(r)];
169
- }, 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 }) => {
170
- let [o, s] = ae(e, t, r);
240
+ }, fe = ([e, t], { scale: n, rotate: r, translateX: i, translateY: a }) => de((e - i) / n, (t - a) / n, -r), P = ([e, t], { scale: n, rotate: r, translateX: i, translateY: a }) => {
241
+ let [o, s] = de(e, t, r);
171
242
  return [o * n + i, s * n + a];
172
- }, se = (e, t) => e.x > t.left && e.x < t.left + t.width && e.y > t.top && e.y < t.top + t.height, ce = (e, t) => Array.from(e.querySelectorAll(".corner")).every((e) => {
243
+ }, pe = (e, t) => e.x > t.left && e.x < t.left + t.width && e.y > t.top && e.y < t.top + t.height, me = (e, t) => Array.from(e.querySelectorAll(".corner")).every((e) => {
173
244
  let { top: n, left: r } = e.getBoundingClientRect();
174
- return se({
245
+ return pe({
175
246
  x: r,
176
247
  y: n
177
248
  }, t);
178
- }), le = (e, t) => ce(e, t.getBoundingClientRect()), N = (e, t) => {
249
+ }), he = (e, t) => me(e, t.getBoundingClientRect()), F = (e, t) => {
179
250
  try {
180
251
  return document.getElementById(`${e}__${t}`);
181
252
  } catch {
182
253
  console.error(`Error while getting item with id ${t} inside wrapper`, e);
183
254
  return;
184
255
  }
185
- }, P = (e) => {
256
+ }, I = (e) => {
186
257
  let t = e?.dataset?.id;
187
258
  return t || console.error("getIdFromElem call fails", e, JSON.stringify(e?.dataset), e?.dataset?.id), t;
188
- }, ue = (e, t) => {
259
+ }, ge = (e, t) => {
189
260
  let n = e.reduce((e, n) => {
190
- let r = N(t, n);
261
+ let r = F(t, n);
191
262
  if (!r) return e || null;
192
263
  let { left: i, right: a, top: o, bottom: s } = r.getBoundingClientRect(), c;
193
264
  return c = e || {
@@ -198,35 +269,10 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
198
269
  }, 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;
199
270
  }, null);
200
271
  return n && (n.width = n.right - n.left, n.height = n.bottom - n.top, n);
201
- }, de = (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, ...de(e, e[t].linkedItems, n)] : [])).flat()), fe = (e, t, n) => {
202
- let r = new Set(de(e, n));
272
+ }, _e = (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, ..._e(e, e[t].linkedItems, n)] : [])).flat()), ve = (e, t, n) => {
273
+ let r = new Set(_e(e, n));
203
274
  return t.filter((e) => r.has(e));
204
- }, pe = ({ x: e, y: t, width: n, height: r }, { type: i = "grid", size: a = 1, offset: o = {
205
- x: 0,
206
- y: 0
207
- } }) => {
208
- let [s, c] = [e + n / 2 - o.x, t + r / 2 - o.y], l, u, d, f, p, m, h, g, _, v, y = a / 1.1547;
209
- switch (i) {
210
- case "grid":
211
- l = Math.round(s / a) * a, u = Math.round(c / a) * a;
212
- break;
213
- case "hexH":
214
- d = 2 * y, f = 3 * a, p = Math.round(s / d) * d, h = Math.round(c / f) * f, m = p > s ? p - y : p + y, g = h > c ? h - 1.5 * a : h + 1.5 * a, _ = Math.hypot(p - s, h - c), v = Math.hypot(m - s, g - c), _ < v ? (l = p, u = h) : (l = m, u = g);
215
- break;
216
- case "hexV":
217
- d = 3 * a, f = 2 * y, p = Math.round(s / d) * d, h = Math.round(c / f) * f, m = p > s ? p - 1.5 * a : p + 1.5 * a, g = h > c ? h - y : h + y, _ = Math.hypot(p - s, h - c), v = Math.hypot(m - s, g - c), _ < v ? (l = p, u = h) : (l = m, u = g);
218
- break;
219
- default: l = e + n / 2, u = t + r / 2;
220
- }
221
- return {
222
- x: l + o.x - n / 2,
223
- y: u + o.y - r / 2
224
- };
225
- }, me = /* @__PURE__ */ new Set([
226
- "grid",
227
- "hexH",
228
- "hexV"
229
- ]), he = (e, t) => t && me.has(t.type) ? t : e && me.has(e.type) ? e : null, ge = /* @__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("."), _e = () => ge[Math.floor(Math.random() * ge.length)], F = ({ wire: e, storeName: t, noSync: n = [], defaultValue: r }, i) => (a, o, s) => {
275
+ }, ye = /* @__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("."), be = () => ye[Math.floor(Math.random() * ye.length)], L = ({ wire: e, storeName: t, noSync: n = [], defaultValue: r }, i) => (a, o, s) => {
230
276
  a({ ready: !1 });
231
277
  let c = [];
232
278
  (async () => {
@@ -250,7 +296,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
250
296
  return d.unsub = () => {
251
297
  c.forEach((e) => e());
252
298
  }, d;
253
- }, ve = e.createContext(), ye = (e, t) => ({
299
+ }, xe = e.createContext(), Se = (e, t) => ({
254
300
  items: {},
255
301
  getItems: () => t().items,
256
302
  setItems: (t) => e({ items: t }),
@@ -273,7 +319,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
273
319
  });
274
320
  }), { items: r };
275
321
  })
276
- }), be = (e, t) => ({
322
+ }), Ce = (e, t) => ({
277
323
  itemIds: [],
278
324
  setItemIds: (t) => e({ itemIds: t }),
279
325
  getItemIds: () => t().itemIds,
@@ -290,7 +336,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
290
336
  return r[t] = n, { itemIds: r };
291
337
  }),
292
338
  updateManyItemIds: (t) => e((e) => ({ itemIds: e.itemIds.map((e, n) => t[n] === void 0 ? e : t[n]) }))
293
- }), xe = (e, t) => ({
339
+ }), we = (e, t) => ({
294
340
  removeItemsById: (t) => e((e) => ({
295
341
  itemIds: e.itemIds.filter((e) => !t.includes(e)),
296
342
  items: Object.fromEntries(Object.entries(e.items).filter(([e]) => !t.includes(e)))
@@ -317,7 +363,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
317
363
  itemIds: r
318
364
  };
319
365
  })
320
- }), Se = (e, t) => ({
366
+ }), Te = (e, t) => ({
321
367
  boardConfig: {},
322
368
  getBoardConfig: () => t().boardConfig,
323
369
  setBoardConfig: (t) => e({ boardConfig: t }),
@@ -325,7 +371,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
325
371
  ...e.boardConfig,
326
372
  ...t
327
373
  } }))
328
- }), Ce = (e, t) => ({
374
+ }), Ee = (e, t) => ({
329
375
  session: {},
330
376
  getSessionInfo: () => t().session,
331
377
  setSessionInfo: (t) => e({ session: t }),
@@ -333,34 +379,34 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
333
379
  ...e.session,
334
380
  ...t
335
381
  } }))
336
- }), we = ({ storeName: t, children: n, defaultValue: r }) => {
337
- let { wire: i } = k("room"), [o, c] = e.useState(!1), [l] = e.useState(() => s(F({
382
+ }), De = ({ storeName: t, children: n, defaultValue: r }) => {
383
+ let { wire: i } = k("room"), [o, c] = e.useState(!1), [l] = e.useState(() => s(L({
338
384
  wire: i,
339
385
  storeName: t,
340
386
  defaultValue: r
341
387
  }, (...e) => ({
342
- ...ye(...e),
343
- ...be(...e),
344
- ...xe(...e),
345
388
  ...Se(...e),
346
- ...Ce(...e)
389
+ ...Ce(...e),
390
+ ...we(...e),
391
+ ...Te(...e),
392
+ ...Ee(...e)
347
393
  }))));
348
394
  return e.useEffect(() => {
349
395
  let e = l.subscribe((t) => {
350
396
  t.ready && (e(), c(!0));
351
397
  });
352
- }, [l]), o ? /* @__PURE__ */ a(ve.Provider, {
398
+ }, [l]), o ? /* @__PURE__ */ a(xe.Provider, {
353
399
  value: l,
354
400
  children: n
355
401
  }) : null;
356
- }, I = (e) => {
357
- let t = r(ve);
402
+ }, R = (e) => {
403
+ let t = r(xe);
358
404
  return c(t, e, l);
359
- }, Te = () => {
360
- let [t, n] = I((e) => [e.itemIds, e.items]);
405
+ }, Oe = () => {
406
+ let [t, n] = R((e) => [e.itemIds, e.items]);
361
407
  return e.useMemo(() => t.map((e) => n[e]), [t, n]);
362
- }, Ee = () => {
363
- let [t, n, r] = I((e) => [
408
+ }, ke = () => {
409
+ let [t, n, r] = R((e) => [
364
410
  e.items,
365
411
  e.itemIds,
366
412
  e.getItemList
@@ -375,7 +421,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
375
421
  n,
376
422
  r
377
423
  ]), i;
378
- }, De = 5e4, Oe = e.createContext(), ke = (e, t) => ({
424
+ }, Ae = 5e4, je = e.createContext(), Me = (e, t) => ({
379
425
  config: {
380
426
  itemTemplates: {},
381
427
  actions: {},
@@ -386,14 +432,14 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
386
432
  radius: 0
387
433
  },
388
434
  boardWrapperRect: {},
389
- boardSize: De
435
+ boardSize: Ae
390
436
  },
391
437
  updateConfiguration: (t) => e((e) => ({ config: {
392
438
  ...e.config,
393
439
  ...t
394
440
  } })),
395
441
  getConfiguration: () => t().config
396
- }), Ae = (e, t) => ({
442
+ }), Ne = (e, t) => ({
397
443
  boardState: {
398
444
  movingItems: !1,
399
445
  selecting: !1,
@@ -409,7 +455,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
409
455
  ...t
410
456
  } })),
411
457
  getBoardState: () => t().boardState
412
- }), je = (e, t) => ({
458
+ }), Pe = (e, t) => ({
413
459
  interactions: {},
414
460
  getInteractions: () => t().interactions,
415
461
  register: (t, n) => e((e) => {
@@ -431,7 +477,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
431
477
  setTimeout(() => e(n), 0);
432
478
  });
433
479
  }
434
- }), Me = (e, t) => ({
480
+ }), Fe = (e, t) => ({
435
481
  selection: [],
436
482
  setSelection: (t) => e((e) => JSON.stringify(e.selection) === JSON.stringify(t) ? {} : { selection: t }),
437
483
  getSelection: () => t().selection,
@@ -447,34 +493,34 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
447
493
  let n = e.selectionBox;
448
494
  return !n || !t || n.top !== t.top || n.left !== t.left || n.width !== t.width || n.height !== t.height ? { selectionBox: t } : {};
449
495
  })
450
- }), Ne = ({ children: t }) => {
496
+ }), Ie = ({ children: t }) => {
451
497
  let [n] = e.useState(() => s((...e) => ({
452
- ...ke(...e),
453
- ...Ae(...e),
454
- ...je(...e),
455
- ...Me(...e)
498
+ ...Me(...e),
499
+ ...Ne(...e),
500
+ ...Pe(...e),
501
+ ...Fe(...e)
456
502
  })));
457
- return /* @__PURE__ */ a(Oe.Provider, {
503
+ return /* @__PURE__ */ a(je.Provider, {
458
504
  value: n,
459
505
  children: t
460
506
  });
461
- }, L = (e) => {
462
- let t = r(Oe);
507
+ }, z = (e) => {
508
+ let t = r(je);
463
509
  return c(t, e, l);
464
- }, Pe = () => {
465
- let [e] = L((e) => [e.selection]);
510
+ }, Le = () => {
511
+ let [e] = z((e) => [e.selection]);
466
512
  return e;
467
- }, Fe = () => {
468
- let [e] = L((e) => [e.getSelection]);
513
+ }, Re = () => {
514
+ let [e] = z((e) => [e.getSelection]);
469
515
  return e;
470
- }, Ie = 1e3, Le = .8, R = !1, z = () => {
471
- let [t, n, r, i, a] = L((e) => [
516
+ }, ze = 1e3, Be = .8, Ve = !1, B = () => {
517
+ let [t, n, r, i, a] = z((e) => [
472
518
  e.getBoardState,
473
519
  e.updateBoardState,
474
520
  e.config.itemExtent,
475
521
  e.getConfiguration,
476
522
  e.updateConfiguration
477
- ]), o = e.useRef([.15, 5]), [s] = I((e) => [e.getItemList]), c = e.useCallback(() => {
523
+ ]), o = e.useRef([.15, 5]), [s] = R((e) => [e.getItemList]), c = e.useCallback(() => {
478
524
  let { translateX: e, translateY: n, scale: r, rotate: i } = t();
479
525
  return {
480
526
  translateX: e,
@@ -482,9 +528,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
482
528
  scale: r,
483
529
  rotate: i
484
530
  };
485
- }, [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) => {
531
+ }, [t]), l = e.useCallback((e, n) => fe([e, n], t()), [t]), d = e.useCallback((e, n) => P([e, n], t()), [t]), f = e.useCallback((e, n) => {
486
532
  let { scale: r, rotate: i } = t();
487
- return oe([e, n], {
533
+ return fe([e, n], {
488
534
  translateX: 0,
489
535
  translateY: 0,
490
536
  rotate: i,
@@ -495,9 +541,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
495
541
  ...r,
496
542
  ...e(r)
497
543
  };
498
- R && console.log("New expected values: ", i, a, o, s);
544
+ Ve && console.log("New expected values: ", i, a, o, s);
499
545
  let c = p(o), l = i, u = a;
500
- R && console.log("New fixed values: ", l, u, c, s), n({
546
+ Ve && console.log("New fixed values: ", l, u, c, s), n({
501
547
  translateX: Number.isFinite(l) ? l : r.translateX,
502
548
  translateY: Number.isFinite(u) ? u : r.translateY,
503
549
  scale: Number.isFinite(c) ? c : p(1),
@@ -542,7 +588,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
542
588
  e || 0,
543
589
  n || 0,
544
590
  r || 2e3
545
- ], u = o.width / (l * 2), d = o.height / (l * 2), f = p(Math.min(u, d) * Le), [h, g] = M([-s, -c], {
591
+ ], u = o.width / (l * 2), d = o.height / (l * 2), f = p(Math.min(u, d) * Be), [h, g] = P([-s, -c], {
546
592
  translateX: o.width / 2,
547
593
  translateY: o.height / 2,
548
594
  scale: f,
@@ -567,7 +613,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
567
613
  };
568
614
  }, [l, i]), y = e.useCallback(() => {
569
615
  let e = s(), { uid: t } = i(), n = e.reduce((e, n) => {
570
- let r = N(t, n.id);
616
+ let r = F(t, n.id);
571
617
  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;
572
618
  }, {
573
619
  left: Infinity,
@@ -579,7 +625,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
579
625
  a({ itemExtent: {
580
626
  x: 0,
581
627
  y: 0,
582
- radius: Ie
628
+ radius: ze
583
629
  } });
584
630
  return;
585
631
  }
@@ -587,7 +633,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
587
633
  x: (n.right + n.left) / 2,
588
634
  y: (n.bottom + n.top) / 2
589
635
  };
590
- r.radius = Math.max(ie([r.x, r.y], [n.left, n.top]), Ie), a({ itemExtent: r });
636
+ r.radius = Math.max(ue([r.x, r.y], [n.left, n.top]), ze), a({ itemExtent: r });
591
637
  }, [
592
638
  i,
593
639
  s,
@@ -606,7 +652,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
606
652
  ]), x = u(() => y(), [y], 200);
607
653
  return e.useEffect(() => {
608
654
  window.debugUpdateExtent = () => y(), window.debugDisplayExtent = () => console.log(i().itemExtent), window.debugSetDebug = () => {
609
- R = !0;
655
+ Ve = !0;
610
656
  };
611
657
  }, [i, y]), {
612
658
  setDim: m,
@@ -622,8 +668,8 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
622
668
  fromWrapperToBoard: l,
623
669
  fromBoardToWrapper: d
624
670
  };
625
- }, B = (t) => {
626
- let [n, r, i] = L(({ register: e, unregister: t, callInteractions: n }) => [
671
+ }, He = (t) => {
672
+ let [n, r, i] = z(({ register: e, unregister: t, callInteractions: n }) => [
627
673
  e,
628
674
  t,
629
675
  n
@@ -641,167 +687,168 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
641
687
  }, [i, t])
642
688
  };
643
689
  }, V = () => {
644
- let { call: t } = B("place"), { call: n } = B("delete"), { getCenter: r, updateItemExtent: i } = z(), [a, o, s, c] = L((e) => [
690
+ let { call: t } = He("place"), { call: n } = He("delete"), { getCenter: r, updateItemExtent: i } = B(), [a, o, s, c] = z((e) => [
645
691
  e.clear,
646
692
  e.reverse,
647
693
  e.unselect,
648
694
  e.getConfiguration
649
- ]), { getItems: l, getItemIds: u, setItemIds: d, updateItems: f, moveItems: p, removeItemsById: m, getItemList: h, insertItems: g, setItemList: _ } = I(({ getItems: e, getItemIds: t, setItemIds: n, updateItems: r, moveItems: i, removeItemsById: a, getItemList: o, insertItems: s, setItemList: c }) => ({
650
- getItems: e,
651
- getItemIds: t,
652
- setItemIds: n,
653
- updateItems: r,
654
- moveItems: i,
655
- removeItemsById: a,
656
- getItemList: o,
657
- insertItems: s,
658
- setItemList: c
659
- })), v = e.useCallback((e, t, n = !1) => {
695
+ ]), { getBoardConfig: l, getItems: u, getItemIds: d, setItemIds: f, updateItems: p, moveItems: m, removeItemsById: h, getItemList: g, insertItems: _, setItemList: v } = R(({ getBoardConfig: e, getItems: t, getItemIds: n, setItemIds: r, updateItems: i, moveItems: a, removeItemsById: o, getItemList: s, insertItems: c, setItemList: l }) => ({
696
+ getBoardConfig: e,
697
+ getItems: t,
698
+ getItemIds: n,
699
+ setItemIds: r,
700
+ updateItems: i,
701
+ moveItems: a,
702
+ removeItemsById: o,
703
+ getItemList: s,
704
+ insertItems: c,
705
+ setItemList: l
706
+ })), y = e.useCallback((e, t, n = !1) => {
660
707
  let r = t;
661
708
  typeof t == "object" && (r = () => t);
662
- let a = u().filter((t) => e.includes(t)), o = l(), s = a.map((e) => {
709
+ let a = d().filter((t) => e.includes(t)), o = u(), s = a.map((e) => {
663
710
  let t = o[e];
664
711
  return n ? [e, r(t)] : [e, r({ ...t })];
665
712
  }).filter(([, e]) => e);
666
713
  if (s.length === 0) return;
667
714
  let c = Object.fromEntries(s);
668
- f(c, n), i();
715
+ p(c, n), i();
669
716
  }, [
717
+ d,
670
718
  u,
671
- l,
672
719
  i,
673
- f
674
- ]), y = e.useCallback((e) => {
675
- _(e), a(), i();
720
+ p
721
+ ]), b = e.useCallback((e) => {
722
+ v(e), a(), i();
676
723
  }, [
677
724
  a,
678
- _,
725
+ v,
679
726
  i
680
- ]), b = e.useCallback((e, t, n = !1) => {
681
- v([e], t, n);
682
- }, [v]), x = e.useCallback((e, t) => {
683
- p(fe(l(), u(), e), t);
727
+ ]), x = e.useCallback((e, t, n = !1) => {
728
+ y([e], t, n);
729
+ }, [y]), S = e.useCallback((e, t) => {
730
+ m(ve(u(), d(), e), t);
684
731
  }, [
732
+ d,
685
733
  u,
686
- l,
687
- p
688
- ]), S = e.useCallback((e) => {
689
- let t = u(), n = t.filter((t) => !e.includes(t)), r = t.filter((t) => e.includes(t));
690
- d([...n, ...r]);
691
- }, [u, d]), C = e.useCallback((e, t) => {
734
+ m
735
+ ]), C = e.useCallback((e) => {
736
+ let t = d(), n = t.filter((t) => !e.includes(t)), r = t.filter((t) => e.includes(t));
737
+ f([...n, ...r]);
738
+ }, [d, f]), w = e.useCallback((e, t) => {
692
739
  let { uid: n } = c();
693
- v(e, (e) => {
694
- let r = N(n, e.id);
740
+ y(e, (e) => {
741
+ let r = F(n, e.id);
695
742
  if (!r) return;
696
- let i = he(t, e.grid);
697
- if (i) return pe({
743
+ let i = ae(t, e.grid);
744
+ if (i) return le({
698
745
  x: e.x,
699
746
  y: e.y,
700
- width: r.clientWidth,
701
- height: r.clientHeight
747
+ ...se(r)
702
748
  }, i);
703
749
  }, !0);
704
- }, [c, v]), w = e.useCallback((e, n) => {
705
- let r = fe(l(), u(), e);
706
- S(r), v(r, { moving: !1 }, !0), C(r, n), t(e), i();
750
+ }, [c, y]), T = e.useCallback((e) => {
751
+ let n = ve(u(), d(), e);
752
+ C(n), y(n, { moving: !1 }, !0), w(n, l().grid), t(e), i();
707
753
  }, [
708
- v,
754
+ y,
709
755
  t,
710
- u,
711
756
  l,
712
- S,
757
+ d,
758
+ u,
713
759
  C,
760
+ w,
714
761
  i
715
762
  ]), ee = e.useCallback((e) => {
716
- d(e);
717
- }, [d]), T = e.useCallback((e) => {
718
- let t = u(), n = t.filter((t) => e.includes(t)), r = t.map((t) => e.includes(t) ? n.pop() : t);
719
- d(r), o();
763
+ f(e);
764
+ }, [f]), E = e.useCallback((e) => {
765
+ let t = d(), n = t.filter((t) => e.includes(t)), r = t.map((t) => e.includes(t) ? n.pop() : t);
766
+ f(r), o();
720
767
  }, [
721
- u,
768
+ d,
722
769
  o,
723
- d
724
- ]), E = e.useCallback((e, t) => {
725
- let n = l(), r = Object.fromEntries(t.map((t, r) => {
770
+ f
771
+ ]), te = e.useCallback((e, t) => {
772
+ let n = u(), r = Object.fromEntries(t.map((t, r) => {
726
773
  let i = n[e[r]];
727
774
  return [t, {
728
775
  x: i.x,
729
776
  y: i.y
730
777
  }];
731
778
  }));
732
- v(e, (e) => r[e.id], !0);
733
- let i = Object.fromEntries(e.map((e, n) => [e, t[n]])), a = u().map((t) => e.includes(t) ? i[t] : t);
734
- d(a);
779
+ y(e, (e) => r[e.id], !0);
780
+ let i = Object.fromEntries(e.map((e, n) => [e, t[n]])), a = d().map((t) => e.includes(t) ? i[t] : t);
781
+ f(a);
735
782
  }, [
736
- l,
737
- v,
738
783
  u,
739
- d
784
+ y,
785
+ d,
786
+ f
740
787
  ]), D = e.useCallback((e, t) => {
741
788
  let n = r(), i = e.map((e, t) => e.x === void 0 || e.x === null || e.y === void 0 || e.y === null ? {
742
789
  ...e,
743
790
  x: n.x + 2 * t,
744
791
  y: n.y + 2 * t
745
792
  } : e);
746
- g(i, t), requestAnimationFrame(() => {
747
- w(e.map(({ id: e }) => e));
793
+ _(i, t), requestAnimationFrame(() => {
794
+ T(e.map(({ id: e }) => e));
748
795
  });
749
796
  }, [
750
797
  r,
751
- g,
752
- w
753
- ]), te = e.useCallback((e, t) => {
798
+ _,
799
+ T
800
+ ]), O = e.useCallback((e, t) => {
754
801
  D([e], t);
755
- }, [D]), O = e.useCallback((e) => {
756
- s(e), m(e), n(e);
802
+ }, [D]), ne = e.useCallback((e) => {
803
+ s(e), h(e), n(e);
757
804
  }, [
758
805
  s,
759
- m,
806
+ h,
760
807
  n
761
- ]), ne = e.useCallback((e) => {
762
- let t = l();
808
+ ]), re = e.useCallback((e) => {
809
+ let t = u();
763
810
  return e.map((e) => t[e]);
764
- }, [l]);
811
+ }, [u]);
765
812
  return {
766
- putItemsOnTop: S,
767
- batchUpdateItems: v,
813
+ putItemsOnTop: C,
814
+ batchUpdateItems: y,
768
815
  updateItemOrder: ee,
769
- moveItems: x,
770
- placeItems: w,
771
- updateItem: b,
772
- swapItems: E,
773
- reverseItemsOrder: T,
774
- setItemList: y,
775
- pushItem: te,
816
+ moveItems: S,
817
+ placeItems: T,
818
+ updateItem: x,
819
+ swapItems: te,
820
+ reverseItemsOrder: E,
821
+ setItemList: b,
822
+ pushItem: O,
776
823
  pushItems: D,
777
- removeItems: O,
778
- getItemList: h,
824
+ removeItems: ne,
825
+ getItemList: g,
779
826
  findElementUnderPointer: e.useCallback(({ target: e, clientX: t, clientY: n }, { returnLocked: r = !1, passLocked: i = !1 } = {}) => {
780
827
  if (["INPUT", "TEXTAREA"].includes(e.tagName)) return null;
781
- let a = j(e, "item");
828
+ let a = N(e, "item");
782
829
  if (a) {
783
- if (A(a, "selected")) return a;
784
- if (!i && A(a, "locked") && !A(e, "passthrough")) return r ? a : null;
785
- if (A(e, "passthrough")) {
786
- let e = u(), { uid: r } = c(), o = e.reduce((e, i) => {
787
- let a = N(r, i), o = a.getBoundingClientRect();
788
- return se({
830
+ if (M(a, "selected")) return a;
831
+ if (!i && M(a, "locked") && !M(e, "passthrough")) return r ? a : null;
832
+ if (M(e, "passthrough")) {
833
+ let e = d(), { uid: r } = c(), o = e.reduce((e, i) => {
834
+ let a = F(r, i), o = a.getBoundingClientRect();
835
+ return pe({
789
836
  x: t,
790
837
  y: n
791
838
  }, o) && e.unshift(a), e;
792
839
  }, []);
793
840
  for (let e = 0; e < o.length; e += 1) {
794
841
  let t = o[e];
795
- if (t !== a && (i || !A(t, "locked"))) return t;
842
+ if (t !== a && (i || !M(t, "locked"))) return t;
796
843
  }
797
844
  return null;
798
845
  }
799
846
  }
800
847
  return a;
801
- }, [c, u]),
802
- getItems: ne
848
+ }, [c, d]),
849
+ getItems: re
803
850
  };
804
- }, Re = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
851
+ }, Ue = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
805
852
  t.exports = function e(t, n) {
806
853
  if (t === n) return !0;
807
854
  if (t && n && typeof t == "object" && typeof n == "object") {
@@ -841,17 +888,17 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
841
888
  }
842
889
  return t !== t && n !== n;
843
890
  };
844
- })))(), 1), ze = (e, t) => {
891
+ })))(), 1), We = (e, t) => {
845
892
  if (e.type in t) {
846
893
  let n = t[e.type].defaultActions;
847
894
  return typeof n == "function" ? n(e) : n;
848
895
  }
849
896
  return [];
850
- }, Be = (e, t) => {
851
- let { actions: n = ze(e, t) } = e;
897
+ }, Ge = (e, t) => {
898
+ let { actions: n = We(e, t) } = e;
852
899
  return n.map((e) => typeof e == "string" ? { name: e } : e);
853
- }, Ve = () => {
854
- let [t, r] = I((e) => [e.items, e.getItems]), [i, a, o] = L((e) => [
900
+ }, Ke = () => {
901
+ let [t, r] = R((e) => [e.items, e.getItems]), [i, a, o] = z((e) => [
855
902
  e.config.itemTemplates,
856
903
  e.selection,
857
904
  e.getSelection
@@ -869,9 +916,9 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
869
916
  if (e.length > 0) {
870
917
  if (!l.current) return;
871
918
  let e = t.reduce((e, t) => {
872
- let n = Be(t, i);
873
- return e.filter((e) => n.some((t) => (0, Re.default)(e, t)));
874
- }, Be(t[0], i));
919
+ let n = Ge(t, i);
920
+ return e.filter((e) => n.some((t) => (0, Ue.default)(e, t)));
921
+ }, Ge(t[0], i));
875
922
  u(() => {
876
923
  c(e);
877
924
  });
@@ -884,28 +931,28 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
884
931
  a,
885
932
  p
886
933
  ], 100), { availableActions: s };
887
- }, He = () => {
888
- let [e] = L((e) => [e.selectionBox]);
934
+ }, qe = () => {
935
+ let [e] = z((e) => [e.selectionBox]);
889
936
  return e;
890
- }, Ue = e.createContext(), H = (e) => {
937
+ }, Je = e.createContext(), Ye = (e) => {
891
938
  localStorage.setItem("user", JSON.stringify(e));
892
- }, We = () => {
939
+ }, Xe = () => {
893
940
  if (localStorage.user) {
894
941
  let e = {
895
942
  name: "Player",
896
- color: _e(),
943
+ color: be(),
897
944
  uid: w(),
898
945
  ...JSON.parse(localStorage.user)
899
946
  };
900
- return H(e), e;
947
+ return Ye(e), e;
901
948
  }
902
949
  let e = {
903
950
  name: "Player",
904
- color: _e(),
951
+ color: be(),
905
952
  uid: w()
906
953
  };
907
- return H(e), e;
908
- }, Ge = (e) => (t, n) => ({
954
+ return Ye(e), e;
955
+ }, Ze = (e) => (t, n) => ({
909
956
  isSpaceMaster: !1,
910
957
  users: {},
911
958
  getUser: () => n().users[e],
@@ -928,7 +975,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
928
975
  id: r,
929
976
  uid: t.users[r].uid
930
977
  };
931
- return a.id === e && H(a), setTimeout(() => n().electSpaceMaster(), 100), { users: {
978
+ return a.id === e && Ye(a), setTimeout(() => n().electSpaceMaster(), 100), { users: {
932
979
  ...t.users,
933
980
  [r]: a
934
981
  } };
@@ -951,7 +998,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
951
998
  e < i.timestamp && (i.id = t, i.timestamp = e);
952
999
  }), t({ isSpaceMaster: i.id === e });
953
1000
  }
954
- }), Ke = (e) => ({
1001
+ }), Qe = (e) => ({
955
1002
  cursors: {},
956
1003
  moveCursor: (t, n) => e((e) => ({ cursors: {
957
1004
  ...e.cursors,
@@ -961,12 +1008,12 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
961
1008
  let n = { ...e.cursors };
962
1009
  return delete n[t], { cursors: n };
963
1010
  })
964
- }), qe = ({ storeName: t, children: n }) => {
1011
+ }), $e = ({ storeName: t, children: n }) => {
965
1012
  let { wire: r, isMaster: i } = k("room"), [o, c] = e.useState(null), [l, u] = e.useState(!1), d = e.useRef(!1);
966
1013
  return e.useEffect(() => {
967
1014
  let e = !0, n = [];
968
1015
  if (!o && !d.current) return d.current = !0, (() => {
969
- let n = s(F({
1016
+ let n = s(L({
970
1017
  wire: r,
971
1018
  storeName: t,
972
1019
  noSync: [
@@ -976,8 +1023,8 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
976
1023
  "electSpaceMaster"
977
1024
  ]
978
1025
  }, (...e) => ({
979
- ...Ge(r.userId)(...e),
980
- ...Ke(...e)
1026
+ ...Ze(r.userId)(...e),
1027
+ ...Qe(...e)
981
1028
  }), r, t)), i = n.subscribe((t) => {
982
1029
  t.ready && (i(), e && c(n));
983
1030
  });
@@ -991,7 +1038,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
991
1038
  r.userId
992
1039
  ]), e.useEffect(() => {
993
1040
  if (o) return o.getState().addUser({
994
- ...We(),
1041
+ ...Xe(),
995
1042
  id: r.userId
996
1043
  }), u(!0), () => {
997
1044
  o.getState().removeUser(r.userId);
@@ -1019,15 +1066,15 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1019
1066
  i,
1020
1067
  o,
1021
1068
  r
1022
- ]), l ? /* @__PURE__ */ a(Ue.Provider, {
1069
+ ]), l ? /* @__PURE__ */ a(Je.Provider, {
1023
1070
  value: o,
1024
1071
  children: n
1025
1072
  }) : null;
1026
- }, U = (e) => {
1027
- let t = r(Ue);
1073
+ }, H = (e) => {
1074
+ let t = r(Je);
1028
1075
  return c(t, e, l);
1029
- }, Je = () => {
1030
- let [t, n, r, i, a] = U((e) => [
1076
+ }, et = () => {
1077
+ let [t, n, r, i, a] = H((e) => [
1031
1078
  e.isSpaceMaster,
1032
1079
  e.getUser(),
1033
1080
  e.users,
@@ -1045,8 +1092,8 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1045
1092
  }, [n, o]),
1046
1093
  joinSpace: a
1047
1094
  };
1048
- }, Ye = () => {
1049
- let [t, n, r] = I((e) => [
1095
+ }, tt = () => {
1096
+ let [t, n, r] = R((e) => [
1050
1097
  e.boardConfig,
1051
1098
  e.getBoardConfig,
1052
1099
  e.setBoardConfig
@@ -1057,11 +1104,11 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1057
1104
  let i = n(), a = t(i);
1058
1105
  r(a);
1059
1106
  }, [n, r])];
1060
- }, Xe = () => {
1061
- let [e] = L((e) => [e.boardState]);
1107
+ }, nt = () => {
1108
+ let [e] = z((e) => [e.boardState]);
1062
1109
  return e;
1063
- }, Ze = () => {
1064
- let [e, t, n, r] = I((e) => [
1110
+ }, rt = () => {
1111
+ let [e, t, n, r] = R((e) => [
1065
1112
  e.getSessionInfo,
1066
1113
  e.setSessionInfo,
1067
1114
  e.updateSessionInfo,
@@ -1073,7 +1120,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1073
1120
  sessionInfo: r,
1074
1121
  updateSessionInfo: n
1075
1122
  };
1076
- }, Qe = e.createContext(), $e = ({ user: { name: e, uid: t, color: n }, content: r }) => ({
1123
+ }, it = e.createContext(), at = ({ user: { name: e, uid: t, color: n }, content: r }) => ({
1077
1124
  type: "message",
1078
1125
  user: {
1079
1126
  name: e,
@@ -1083,7 +1130,7 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1083
1130
  content: r,
1084
1131
  uid: w(),
1085
1132
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
1086
- }), et = (e, t) => ({
1133
+ }), ot = (e, t) => ({
1087
1134
  messages: [],
1088
1135
  setMessages: (t) => e({ messages: t.map((e) => ({
1089
1136
  ...e,
@@ -1094,28 +1141,28 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1094
1141
  timestamp: Date.parse(t.timestamp)
1095
1142
  }] })),
1096
1143
  sendMessage: (e, n) => {
1097
- let r = $e({
1144
+ let r = at({
1098
1145
  user: e,
1099
1146
  content: n
1100
1147
  });
1101
1148
  r && t().addMessage(r);
1102
1149
  }
1103
- }), tt = ({ storeName: t, children: n, defaultValue: r = [] }) => {
1104
- let { wire: i } = k("room"), [o] = e.useState(() => s(F({
1150
+ }), st = ({ storeName: t, children: n, defaultValue: r = [] }) => {
1151
+ let { wire: i } = k("room"), [o] = e.useState(() => s(L({
1105
1152
  wire: i,
1106
1153
  storeName: t,
1107
1154
  defaultValue: r,
1108
1155
  noSync: ["sendMessage"]
1109
- }, (...e) => ({ ...et(...e) }))));
1110
- return /* @__PURE__ */ a(Qe.Provider, {
1156
+ }, (...e) => ({ ...ot(...e) }))));
1157
+ return /* @__PURE__ */ a(it.Provider, {
1111
1158
  value: o,
1112
1159
  children: n
1113
1160
  });
1114
- }, nt = (e) => {
1115
- let t = r(Qe);
1161
+ }, ct = (e) => {
1162
+ let t = r(it);
1116
1163
  return c(t, e, l);
1117
- }, rt = () => {}, it = (t = rt) => {
1118
- let n = U((e) => e.getUser()), [r, i, a] = nt((e) => [
1164
+ }, lt = () => {}, ut = (t = lt) => {
1165
+ let n = H((e) => e.getUser()), [r, i, a] = ct((e) => [
1119
1166
  e.messages,
1120
1167
  e.setMessages,
1121
1168
  e.sendMessage
@@ -1129,23 +1176,23 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1129
1176
  a(n, e);
1130
1177
  }, [n, a])
1131
1178
  };
1132
- }, at = ({ children: t, session: n }) => {
1133
- let r = U((e) => e.joinSpace);
1179
+ }, dt = ({ children: t, session: n }) => {
1180
+ let r = H((e) => e.joinSpace);
1134
1181
  return e.useEffect(() => (r(n), () => {
1135
1182
  r(null);
1136
1183
  }), [r, n]), t;
1137
- }, ot = ({ socket: t, room: n, session: r, items: i = [], messages: o = [], LoadingComponent: s, ...c }) => {
1184
+ }, ft = ({ socket: t, room: n, session: r, items: i = [], messages: o = [], LoadingComponent: s, ...c }) => {
1138
1185
  let [l] = e.useState(n || w()), [u] = e.useState(r || w()), [d] = e.useState(() => ({
1139
1186
  itemIds: i.map(({ id: e }) => e),
1140
1187
  items: Object.fromEntries(i.map((e) => [e.id, e]))
1141
1188
  }));
1142
- return k("room") ? /* @__PURE__ */ a(tt, {
1189
+ return k("room") ? /* @__PURE__ */ a(st, {
1143
1190
  storeName: `${u}_messages`,
1144
1191
  defaultValue: o,
1145
- children: /* @__PURE__ */ a(Ne, { children: /* @__PURE__ */ a(we, {
1192
+ children: /* @__PURE__ */ a(Ie, { children: /* @__PURE__ */ a(De, {
1146
1193
  storeName: `${u}_item`,
1147
1194
  defaultValue: d,
1148
- children: /* @__PURE__ */ a(at, {
1195
+ children: /* @__PURE__ */ a(dt, {
1149
1196
  ...c,
1150
1197
  session: u
1151
1198
  })
@@ -1155,15 +1202,15 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1155
1202
  channel: "room",
1156
1203
  socket: t,
1157
1204
  LoadingComponent: s,
1158
- children: /* @__PURE__ */ a(qe, {
1205
+ children: /* @__PURE__ */ a($e, {
1159
1206
  storeName: `${l}_users`,
1160
- children: /* @__PURE__ */ a(tt, {
1207
+ children: /* @__PURE__ */ a(st, {
1161
1208
  storeName: `${u}_messages`,
1162
1209
  defaultValue: o,
1163
- children: /* @__PURE__ */ a(Ne, { children: /* @__PURE__ */ a(we, {
1210
+ children: /* @__PURE__ */ a(Ie, { children: /* @__PURE__ */ a(De, {
1164
1211
  storeName: `${u}_item`,
1165
1212
  defaultValue: d,
1166
- children: /* @__PURE__ */ a(at, {
1213
+ children: /* @__PURE__ */ a(dt, {
1167
1214
  ...c,
1168
1215
  session: u
1169
1216
  })
@@ -1171,19 +1218,19 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1171
1218
  })
1172
1219
  })
1173
1220
  });
1174
- }, st = ({ socket: t, room: n, children: r, LoadingComponent: i }) => {
1221
+ }, pt = ({ socket: t, room: n, children: r, LoadingComponent: i }) => {
1175
1222
  let [o] = e.useState(n || w());
1176
1223
  return /* @__PURE__ */ a(re, {
1177
1224
  room: o,
1178
1225
  channel: "room",
1179
1226
  socket: t,
1180
1227
  LoadingComponent: i,
1181
- children: /* @__PURE__ */ a(qe, {
1228
+ children: /* @__PURE__ */ a($e, {
1182
1229
  storeName: `${o}_users`,
1183
1230
  children: r
1184
1231
  })
1185
1232
  });
1186
- }, ct = { data: "" }, lt = (e) => {
1233
+ }, mt = { data: "" }, ht = (e) => {
1187
1234
  if (typeof window == "object") {
1188
1235
  let t = (e ? e.querySelector("#_goober") : window._goober) || Object.assign(document.createElement("style"), {
1189
1236
  innerHTML: " ",
@@ -1191,58 +1238,58 @@ var m = Object.create, h = Object.defineProperty, g = Object.getOwnPropertyDescr
1191
1238
  });
1192
1239
  return t.nonce = window.__nonce__, t.parentNode || (e || document.head).appendChild(t), t.firstChild;
1193
1240
  }
1194
- return e || ct;
1195
- }, ut = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, dt = /\/\*[^]*?\*\/| +/g, ft = /\n+/g, W = (e, t) => {
1241
+ return e || mt;
1242
+ }, gt = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, _t = /\/\*[^]*?\*\/| +/g, vt = /\n+/g, U = (e, t) => {
1196
1243
  let n = "", r = "", i = "";
1197
1244
  for (let a in e) {
1198
1245
  let o = e[a];
1199
- 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 + ";");
1246
+ a[0] == "@" ? a[1] == "i" ? n = a + " " + o + ";" : r += a[1] == "f" ? U(o, a) : a + "{" + U(o, a[1] == "k" ? "" : t) + "}" : typeof o == "object" ? r += U(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 += U.p ? U.p(a, o) : a + ":" + o + ";");
1200
1247
  }
1201
1248
  return n + (t && i ? t + "{" + i + "}" : i) + r;
1202
- }, G = {}, pt = (e) => {
1249
+ }, W = {}, yt = (e) => {
1203
1250
  if (typeof e == "object") {
1204
1251
  let t = "";
1205
- for (let n in e) t += n + pt(e[n]);
1252
+ for (let n in e) t += n + yt(e[n]);
1206
1253
  return t;
1207
1254
  }
1208
1255
  return e;
1209
- }, mt = (e, t, n, r, i) => {
1210
- let a = pt(e), o = G[a] || (G[a] = ((e) => {
1256
+ }, bt = (e, t, n, r, i) => {
1257
+ let a = yt(e), o = W[a] || (W[a] = ((e) => {
1211
1258
  let t = 0, n = 11;
1212
1259
  for (; t < e.length;) n = 101 * n + e.charCodeAt(t++) >>> 0;
1213
1260
  return "go" + n;
1214
1261
  })(a));
1215
- if (!G[o]) {
1262
+ if (!W[o]) {
1216
1263
  let t = a === e ? ((e) => {
1217
1264
  let t, n, r = [{}];
1218
- for (; t = ut.exec(e.replace(dt, ""));) t[4] ? r.shift() : t[3] ? (n = t[3].replace(ft, " ").trim(), r.unshift(r[0][n] = r[0][n] || {})) : r[0][t[1]] = t[2].replace(ft, " ").trim();
1265
+ for (; t = gt.exec(e.replace(_t, ""));) t[4] ? r.shift() : t[3] ? (n = t[3].replace(vt, " ").trim(), r.unshift(r[0][n] = r[0][n] || {})) : r[0][t[1]] = t[2].replace(vt, " ").trim();
1219
1266
  return r[0];
1220
1267
  })(e) : e;
1221
- G[o] = W(i ? { ["@keyframes " + o]: t } : t, n ? "" : "." + o);
1268
+ W[o] = U(i ? { ["@keyframes " + o]: t } : t, n ? "" : "." + o);
1222
1269
  }
1223
- let s = n && G.g;
1224
- return n && (G.g = G[o]), ((e, t, n, r) => {
1270
+ let s = n && W.g;
1271
+ return n && (W.g = W[o]), ((e, t, n, r) => {
1225
1272
  r ? t.data = t.data.replace(r, e) : t.data.indexOf(e) === -1 && (t.data = n ? e + t.data : t.data + e);
1226
- })(G[o], t, r, s), o;
1227
- }, ht = (e, t, n) => e.reduce((e, r, i) => {
1273
+ })(W[o], t, r, s), o;
1274
+ }, xt = (e, t, n) => e.reduce((e, r, i) => {
1228
1275
  let a = t[i];
1229
1276
  if (a && a.call) {
1230
1277
  let e = a(n), t = e && e.props && e.props.className || /^go/.test(e) && e;
1231
- a = t ? "." + t : e && typeof e == "object" ? e.props ? "" : W(e, "") : !1 === e ? "" : e;
1278
+ a = t ? "." + t : e && typeof e == "object" ? e.props ? "" : U(e, "") : !1 === e ? "" : e;
1232
1279
  }
1233
1280
  return e + r + (a ?? "");
1234
1281
  }, "");
1235
- function K(e) {
1282
+ function G(e) {
1236
1283
  let t = this || {}, n = e.call ? e(t.p) : e;
1237
- return mt(n.unshift ? n.raw ? ht(n, [].slice.call(arguments, 1), t.p) : n.reduce((e, n) => Object.assign(e, n && n.call ? n(t.p) : n), {}) : n, lt(t.target), t.g, t.o, t.k);
1284
+ return bt(n.unshift ? n.raw ? xt(n, [].slice.call(arguments, 1), t.p) : n.reduce((e, n) => Object.assign(e, n && n.call ? n(t.p) : n), {}) : n, ht(t.target), t.g, t.o, t.k);
1238
1285
  }
1239
- K.bind({ g: 1 }), K.bind({ k: 1 });
1240
- function gt(e, t, n, r) {
1241
- W.p = t;
1286
+ G.bind({ g: 1 }), G.bind({ k: 1 });
1287
+ function St(e, t, n, r) {
1288
+ U.p = t;
1242
1289
  }
1243
1290
  //#endregion
1244
1291
  //#region src/lib/board/Gesture.jsx
1245
- var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1292
+ var Ct = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1246
1293
  t.exports = function e(t, n) {
1247
1294
  if (t === n) return !0;
1248
1295
  if (t && n && typeof t == "object" && typeof n == "object") {
@@ -1266,44 +1313,44 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1266
1313
  }
1267
1314
  return t !== t && n !== n;
1268
1315
  };
1269
- })))(), 1), vt = () => {
1316
+ })))(), 1), wt = () => {
1270
1317
  let e = navigator.userAgent.toLowerCase();
1271
1318
  return /mac os ?x 10/.test(e);
1272
- }, yt = (() => {
1319
+ }, Tt = (() => {
1273
1320
  let e = document.createElement("iframe");
1274
1321
  e.src = "#", document.body.appendChild(e);
1275
1322
  let t = e.contentWindow.document;
1276
1323
  t.open(), t.write("<!DOCTYPE html><html><head></head><body><span>a</span></body></html>"), t.close();
1277
1324
  let n = t.body.firstElementChild.offsetHeight;
1278
1325
  return document.body.removeChild(e), n;
1279
- })(), bt = 800, xt = (e, t) => e[Object.keys(e).map((e) => Number(e)).find((e) => e !== t)], St = ([e, t], [n, r]) => {
1326
+ })(), Et = 800, Dt = (e, t) => e[Object.keys(e).map((e) => Number(e)).find((e) => e !== t)], Ot = ([e, t], [n, r]) => {
1280
1327
  let i = Math.abs(e - n), a = Math.abs(t - r);
1281
1328
  return Math.hypot(i, a);
1282
- }, q = () => {}, Ct = (e) => (t) => {
1329
+ }, K = () => {}, kt = (e) => (t) => {
1283
1330
  let { event: n } = t;
1284
1331
  return n.isPropagationStopped() ? null : e(t);
1285
- }, wt = (e) => async (...t) => {
1332
+ }, At = (e) => async (...t) => {
1286
1333
  try {
1287
1334
  await e(...t);
1288
1335
  } catch (e) {
1289
1336
  console.error(e);
1290
1337
  }
1291
- }, J = new class {
1338
+ }, q = new class {
1292
1339
  lastPromise = Promise.resolve(!0);
1293
1340
  add(e, ...t) {
1294
1341
  return new Promise((n, r) => {
1295
- this.lastPromise = this.lastPromise.then(() => Ct(wt(e))(...t)).then(n).catch(r);
1342
+ this.lastPromise = this.lastPromise.then(() => kt(At(e))(...t)).then(n).catch(r);
1296
1343
  });
1297
1344
  }
1298
- }(), 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 }) => {
1345
+ }(), J = ({ children: t, onDrag: n = K, onDragStart: r = K, onDragEnd: i = K, onPan: o = K, onTap: s = K, onLongTap: c = K, onDoubleTap: l = K, onZoom: u, mainAction: d = "drag", fill: f = !1 }) => {
1299
1346
  let p = e.useRef(null), m = e.useRef({
1300
1347
  moving: !1,
1301
1348
  pointers: {},
1302
1349
  mainPointer: void 0
1303
1350
  }), h = (e) => {
1304
1351
  let { deltaX: t, deltaY: n, clientX: r, clientY: i, deltaMode: a, ctrlKey: s, altKey: c, metaKey: l, target: d } = e;
1305
- if (!(c || s && !vt())) {
1306
- if (vt() && !s) J.add(o, {
1352
+ if (!(c || s && !wt())) {
1353
+ if (wt() && !s) q.add(o, {
1307
1354
  deltaX: -2 * t,
1308
1355
  deltaY: -2 * n,
1309
1356
  button: 1,
@@ -1317,11 +1364,11 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1317
1364
  let t = n;
1318
1365
  switch (a) {
1319
1366
  case 1:
1320
- t *= yt;
1367
+ t *= Tt;
1321
1368
  break;
1322
- case 2: t *= bt;
1369
+ case 2: t *= Et;
1323
1370
  }
1324
- vt() && (t *= 2), J.add(u, {
1371
+ wt() && (t *= 2), q.add(u, {
1325
1372
  scale: t,
1326
1373
  clientX: r,
1327
1374
  clientY: i,
@@ -1336,7 +1383,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1336
1383
  clientY: i
1337
1384
  }, u && (m.current.mainPointer = void 0), m.current.mainPointer !== void 0) {
1338
1385
  if (m.current.mainPointer !== a) try {
1339
- let { clientX: e, clientY: t } = xt(m.current.pointers, a), n = (e + r) / 2, o = (t + i) / 2, s = St([e, t], [r, i]);
1386
+ let { clientX: e, clientY: t } = Dt(m.current.pointers, a), n = (e + r) / 2, o = (t + i) / 2, s = Ot([e, t], [r, i]);
1340
1387
  Object.assign(m.current, {
1341
1388
  pressed: !0,
1342
1389
  moving: !1,
@@ -1368,7 +1415,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1368
1415
  target: t,
1369
1416
  timeStart: Date.now(),
1370
1417
  longTapTimeout: setTimeout(async () => {
1371
- m.current.noTap = !0, J.add(c, {
1418
+ m.current.noTap = !0, q.add(c, {
1372
1419
  clientX: r,
1373
1420
  clientY: i,
1374
1421
  altKey: o,
@@ -1393,14 +1440,14 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1393
1440
  }, m.current.moving = !0;
1394
1441
  let g = Object.keys(m.current.pointers).length === 2, _, v, y = 0;
1395
1442
  if (g) {
1396
- let { clientX: e, clientY: n } = xt(m.current.pointers, t);
1397
- _ = (e + i) / 2, v = (n + a) / 2, y = St([e, n], [i, a]);
1443
+ let { clientX: e, clientY: n } = Dt(m.current.pointers, t);
1444
+ _ = (e + i) / 2, v = (n + a) / 2, y = Ot([e, n], [i, a]);
1398
1445
  } else _ = i, v = a;
1399
1446
  let b = c || s || l || f || h !== 1;
1400
1447
  d !== "drag" && (b = !b);
1401
1448
  let x = !b, S = b;
1402
1449
  if (x) {
1403
- m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout), J.add(r, {
1450
+ m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout), q.add(r, {
1404
1451
  deltaX: 0,
1405
1452
  deltaY: 0,
1406
1453
  startX: m.current.startX,
@@ -1418,7 +1465,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1418
1465
  event: m.current.pointerDownEvent
1419
1466
  }));
1420
1467
  let t = _ - m.current.prevX, i = v - m.current.prevY, a = _ - m.current.startX, o = v - m.current.startY;
1421
- J.add(n, {
1468
+ q.add(n, {
1422
1469
  deltaX: t,
1423
1470
  deltaY: i,
1424
1471
  startX: m.current.startX,
@@ -1439,7 +1486,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1439
1486
  if (S) {
1440
1487
  m.current.gestureStart || (p.current.style.cursor = "move", m.current.gestureStart = !0, clearTimeout(m.current.longTapTimeout));
1441
1488
  let t = _ - m.current.prevX, n = v - m.current.prevY, { target: r } = m.current;
1442
- if (J.add(o, {
1489
+ if (q.add(o, {
1443
1490
  deltaX: t,
1444
1491
  deltaY: n,
1445
1492
  button: m.current.currentButton,
@@ -1451,7 +1498,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1451
1498
  event: e
1452
1499
  }), y !== m.current.prevDistance && u) {
1453
1500
  let t = m.current.prevDistance - y;
1454
- Math.abs(t) > 0 && (J.add(u, {
1501
+ Math.abs(t) > 0 && (q.add(u, {
1455
1502
  scale: t * 3,
1456
1503
  clientX: _,
1457
1504
  clientY: v,
@@ -1490,7 +1537,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1490
1537
  console.log("Fails to set pointer capture", e), m.current.mainPointer = void 0, delete m.current.pointers[Object.keys(m.current.pointers)[0]];
1491
1538
  }
1492
1539
  }
1493
- if (m.current.mainPointer = void 0, m.current.pressed = !1, clearTimeout(m.current.longTapTimeout), m.current.moving) m.current.moving = !1, J.add(i, {
1540
+ if (m.current.mainPointer = void 0, m.current.pressed = !1, clearTimeout(m.current.longTapTimeout), m.current.moving) m.current.moving = !1, q.add(i, {
1494
1541
  deltaX: t - m.current.prevX,
1495
1542
  deltaY: n - m.current.prevY,
1496
1543
  startX: m.current.startX,
@@ -1508,7 +1555,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1508
1555
  }), p.current.style.cursor = "auto";
1509
1556
  else {
1510
1557
  let i = Date.now();
1511
- m.current.noTap ? m.current.noTap = !1 : m.current.timeStart - i < 300 && J.add(s, {
1558
+ m.current.noTap ? m.current.noTap = !1 : m.current.timeStart - i < 300 && q.add(s, {
1512
1559
  clientX: t,
1513
1560
  clientY: n,
1514
1561
  altKey: r,
@@ -1529,7 +1576,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1529
1576
  onPointerCancel: v,
1530
1577
  onDoubleClick: (e) => {
1531
1578
  let { clientX: t, clientY: n, altKey: r, shiftKey: i, ctrlKey: a, metaKey: o, target: s } = e;
1532
- J.add(l, {
1579
+ q.add(l, {
1533
1580
  clientX: t,
1534
1581
  clientY: n,
1535
1582
  altKey: r,
@@ -1550,9 +1597,9 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1550
1597
  ref: p,
1551
1598
  children: t
1552
1599
  });
1553
- }, Tt = ({ onResize: e, ...t }) => {
1554
- let [n] = L((e) => [e.getBoardState]);
1555
- return /* @__PURE__ */ a(Y, {
1600
+ }, jt = ({ onResize: e, ...t }) => {
1601
+ let [n] = z((e) => [e.getBoardState]);
1602
+ return /* @__PURE__ */ a(J, {
1556
1603
  onDrag: ({ deltaX: t, deltaY: r, event: i }) => {
1557
1604
  i.stopPropagation();
1558
1605
  let { scale: a } = n();
@@ -1563,36 +1610,36 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1563
1610
  },
1564
1611
  children: /* @__PURE__ */ a("div", { ...t })
1565
1612
  });
1566
- }, Et = K`
1613
+ }, Mt = G`
1567
1614
  display: inline-block;
1568
1615
  transition: transform 150ms;
1569
1616
  user-select: none;
1570
1617
  padding: 2px;
1571
1618
  box-sizing: border-box;
1572
- `, Dt = K`
1619
+ `, Nt = G`
1573
1620
  border: 2px dashed #db5034;
1574
1621
  padding: 0px;
1575
1622
  cursor: pointer;
1576
- `, X = K`
1623
+ `, Y = G`
1577
1624
  position: absolute;
1578
1625
  width: 0px;
1579
1626
  height: 0px;
1580
- `, Ot = K`
1627
+ `, Pt = G`
1581
1628
  top: 0;
1582
1629
  left: 0;
1583
- `, kt = K`
1630
+ `, Ft = G`
1584
1631
  top: 0;
1585
1632
  right: 0;
1586
- `, At = K`
1633
+ `, It = G`
1587
1634
  bottom: 0;
1588
1635
  left: 0;
1589
- `, jt = K`
1636
+ `, Lt = G`
1590
1637
  bottom: 0;
1591
1638
  right: 0;
1592
- `, Mt = K`
1639
+ `, Rt = G`
1593
1640
  top: 50%;
1594
1641
  left: 50%;
1595
- `, Nt = K`
1642
+ `, X = G`
1596
1643
  position: absolute;
1597
1644
 
1598
1645
  width: 10px;
@@ -1600,20 +1647,20 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1600
1647
  border: 2px solid #db5034;
1601
1648
  background-color: #db5034;
1602
1649
  cursor: move;
1603
- `, Pt = K`
1650
+ `, zt = G`
1604
1651
  cursor: ew-resize;
1605
1652
  right: -6px;
1606
1653
  top: calc(50% - 5px);
1607
- `, Ft = K`
1654
+ `, Bt = G`
1608
1655
  cursor: ns-resize;
1609
1656
  bottom: -6px;
1610
1657
  left: calc(50% - 5px);
1611
- `, It = K`
1658
+ `, Vt = G`
1612
1659
  cursor: nwse-resize;
1613
1660
  bottom: -6px;
1614
1661
  right: -6px;
1615
- `, Lt = ({ onReload: e }) => /* @__PURE__ */ o("div", {
1616
- className: `syncboard-error-item ${K({
1662
+ `, Ht = ({ onReload: e }) => /* @__PURE__ */ o("div", {
1663
+ className: `syncboard-error-item ${G({
1617
1664
  width: "100px",
1618
1665
  display: "flex",
1619
1666
  flexDirection: "column",
@@ -1625,7 +1672,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1625
1672
  onClick: e,
1626
1673
  children: "Reload it"
1627
1674
  })]
1628
- }), Rt = class extends e.Component {
1675
+ }), Ut = class extends e.Component {
1629
1676
  constructor(e) {
1630
1677
  super(e), this.state = {
1631
1678
  hasError: !1,
@@ -1645,9 +1692,9 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1645
1692
  let { ErrorComponent: e } = this.props;
1646
1693
  return this.state.hasError ? /* @__PURE__ */ a(e, { onReload: this.onReload }) : this.props.children;
1647
1694
  }
1648
- }, zt = (e) => {
1695
+ }, Wt = (e) => {
1649
1696
  e.target.className = "";
1650
- }, Bt = ({ width: e, height: t, actualWidth: n, actualHeight: r, prevState: i, keepRatio: a }) => {
1697
+ }, Gt = ({ width: e, height: t, actualWidth: n, actualHeight: r, prevState: i, keepRatio: a }) => {
1651
1698
  let { width: o, height: s } = i;
1652
1699
  if ([o, s] = [parseFloat(o), parseFloat(s)], (!o || Number.isNaN(Number(o))) && (o = n), (!s || Number.isNaN(Number(s))) && (s = r), a) {
1653
1700
  let n = o / s;
@@ -1662,21 +1709,21 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1662
1709
  width: (o + e).toFixed(1),
1663
1710
  height: (s + t).toFixed(1)
1664
1711
  };
1665
- }, Vt = {
1712
+ }, Kt = {
1666
1713
  w: !0,
1667
1714
  h: !0,
1668
1715
  b: !0
1669
- }, Ht = 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 }) => {
1670
- let h = e.useRef(null), [g] = L((e) => [e.config.uid]), { component: _ = () => null, resizeDirections: v = Vt, resize: y = Bt } = p[n], b = e.useCallback((e, n = !1) => t(s, e, n), [t, s]);
1716
+ }, qt = 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 }) => {
1717
+ let h = e.useRef(null), [g] = z((e) => [e.config.uid]), { component: _ = () => null, resizeDirections: v = Kt, resize: y = Gt } = p[n], b = e.useCallback((e, n = !1) => t(s, e, n), [t, s]);
1671
1718
  e.useEffect(() => {
1672
1719
  h.current.className = d;
1673
1720
  }, [d]);
1674
1721
  let x = [
1675
1722
  "item",
1676
1723
  s,
1677
- Et
1724
+ Mt
1678
1725
  ];
1679
- c && x.push("locked"), f && (x.push("selected"), x.push(Dt)), Array.isArray(l) && x.concat(l);
1726
+ c && x.push("locked"), f && (x.push("selected"), x.push(Nt)), Array.isArray(l) && x.concat(l);
1680
1727
  let S = x.join(" "), C = ({ width: e = 0, height: t = 0, keepRatio: n }) => {
1681
1728
  b((r) => {
1682
1729
  let { offsetWidth: i, offsetHeight: a } = h.current;
@@ -1691,9 +1738,9 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1691
1738
  });
1692
1739
  }, w = ({ width: e }) => {
1693
1740
  C({ width: e });
1694
- }, ee = ({ height: e }) => {
1741
+ }, T = ({ height: e }) => {
1695
1742
  C({ height: e });
1696
- }, T = ({ width: e }) => {
1743
+ }, ee = ({ width: e }) => {
1697
1744
  C({
1698
1745
  height: e,
1699
1746
  width: e,
@@ -1708,63 +1755,63 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1708
1755
  children: /* @__PURE__ */ o("div", {
1709
1756
  style: { display: "flex" },
1710
1757
  ref: h,
1711
- onAnimationEnd: zt,
1758
+ onAnimationEnd: Wt,
1712
1759
  onKeyDown: (e) => e.stopPropagation(),
1713
1760
  onKeyUp: (e) => e.stopPropagation(),
1714
1761
  children: [
1715
- /* @__PURE__ */ a(Rt, {
1762
+ /* @__PURE__ */ a(Ut, {
1716
1763
  itemId: s,
1717
1764
  state: u,
1718
- ErrorComponent: p?.error?.component || Lt,
1765
+ ErrorComponent: p?.error?.component || Ht,
1719
1766
  children: /* @__PURE__ */ a(_, {
1720
1767
  ...u,
1721
1768
  id: s,
1722
1769
  setState: b
1723
1770
  })
1724
1771
  }),
1725
- /* @__PURE__ */ a("div", { className: `corner ${X} ${Ot}` }),
1726
- /* @__PURE__ */ a("div", { className: `corner ${X} ${kt}` }),
1727
- /* @__PURE__ */ a("div", { className: `corner ${X} ${jt}` }),
1728
- /* @__PURE__ */ a("div", { className: `corner ${X} ${At}` }),
1729
- /* @__PURE__ */ a("div", { className: `center ${X} ${Mt}` }),
1772
+ /* @__PURE__ */ a("div", { className: `corner ${Y} ${Pt}` }),
1773
+ /* @__PURE__ */ a("div", { className: `corner ${Y} ${Ft}` }),
1774
+ /* @__PURE__ */ a("div", { className: `corner ${Y} ${Lt}` }),
1775
+ /* @__PURE__ */ a("div", { className: `corner ${Y} ${It}` }),
1776
+ /* @__PURE__ */ a("div", { className: `center ${Y} ${Rt}` }),
1730
1777
  m && /* @__PURE__ */ o(i, { children: [
1731
- v.b && /* @__PURE__ */ a(Tt, {
1732
- className: `${Nt} ${It}`,
1733
- onResize: T
1734
- }),
1735
- v.h && /* @__PURE__ */ a(Tt, {
1736
- className: `${Nt} ${Ft}`,
1778
+ v.b && /* @__PURE__ */ a(jt, {
1779
+ className: `${X} ${Vt}`,
1737
1780
  onResize: ee
1738
1781
  }),
1739
- v.w && /* @__PURE__ */ a(Tt, {
1740
- className: `${Nt} ${Pt}`,
1782
+ v.h && /* @__PURE__ */ a(jt, {
1783
+ className: `${X} ${Bt}`,
1784
+ onResize: T
1785
+ }),
1786
+ v.w && /* @__PURE__ */ a(jt, {
1787
+ className: `${X} ${zt}`,
1741
1788
  onResize: w
1742
1789
  })
1743
1790
  ] })
1744
1791
  ]
1745
1792
  })
1746
1793
  });
1747
- }, ({ state: e, setState: t, isSelected: n, showResizeHandle: r }, { state: i, setState: a, isSelected: o, showResizeHandle: s }) => n === o && r === s && t === a && (0, _t.default)(e, i)), Ut = (e) => e, Wt = t(({ state: e = {}, getCurrentUser: t, className: n, ...r }) => {
1794
+ }, ({ state: e, setState: t, isSelected: n, showResizeHandle: r }, { state: i, setState: a, isSelected: o, showResizeHandle: s }) => n === o && r === s && t === a && (0, Ct.default)(e, i)), Jt = (e) => e, Yt = t(({ state: e = {}, getCurrentUser: t, className: n, ...r }) => {
1748
1795
  if (!r.itemMap[e.type]) return null;
1749
- let { stateHook: i = Ut } = 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);
1796
+ let { stateHook: i = Jt } = 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);
1750
1797
  return /* @__PURE__ */ a("div", {
1751
1798
  className: n,
1752
1799
  style: {
1753
1800
  transform: `translate(${o}px, ${s}px)`,
1754
1801
  zIndex: d
1755
1802
  },
1756
- children: /* @__PURE__ */ a(Ht, {
1803
+ children: /* @__PURE__ */ a(qt, {
1757
1804
  ...r,
1758
1805
  showResizeHandle: r.isSelected && r.showResizeHandle,
1759
1806
  state: u
1760
1807
  })
1761
1808
  });
1762
- }), Gt = () => {
1763
- let { updateItem: e } = V(), [t, n] = I((e) => [e.itemIds, e.items]), [r, i, o] = L((e) => [
1809
+ }), Xt = () => {
1810
+ let { updateItem: e } = V(), [t, n] = R((e) => [e.itemIds, e.items]), [r, i, o] = z((e) => [
1764
1811
  e.config.showResizeHandle,
1765
1812
  e.config.itemTemplates,
1766
1813
  e.selection
1767
- ]), [s] = U((e) => [e.getUser]), c = K({
1814
+ ]), [s] = H((e) => [e.getUser]), c = G({
1768
1815
  position: "absolute",
1769
1816
  top: 0,
1770
1817
  left: 0,
@@ -1772,7 +1819,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1772
1819
  display: "inline-block",
1773
1820
  lineHeight: 0
1774
1821
  });
1775
- return t.map((t) => /* @__PURE__ */ a(Wt, {
1822
+ return t.map((t) => /* @__PURE__ */ a(Yt, {
1776
1823
  state: n[t],
1777
1824
  setState: e,
1778
1825
  isSelected: o.includes(t),
@@ -1781,28 +1828,28 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1781
1828
  showResizeHandle: r,
1782
1829
  className: c
1783
1830
  }, t));
1784
- }, Kt = K({
1831
+ }, Zt = G({
1785
1832
  zIndex: 210,
1786
1833
  position: "absolute",
1787
1834
  backgroundColor: "hsla(0, 40%, 50%, 10%)",
1788
1835
  border: "2px solid hsl(0, 55%, 40%)"
1789
- }), qt = (e, t, n = !1) => {
1836
+ }), Qt = (e, t, n = !1) => {
1790
1837
  let r = t.getElementsByClassName("selector");
1791
1838
  if (!r.length) return [];
1792
1839
  let i = r[0];
1793
1840
  return Array.from(t.getElementsByClassName("item")).filter((t) => {
1794
- let r = e[P(t)];
1795
- return !r || !n && r.locked ? !1 : le(t, i);
1796
- }).map((e) => P(e));
1797
- }, Jt = ({ children: t, moveFirst: n }) => {
1798
- let [r, i, s, c, l, u] = L((e) => [
1841
+ let r = e[I(t)];
1842
+ return !r || !n && r.locked ? !1 : he(t, i);
1843
+ }).map((e) => I(e));
1844
+ }, $t = ({ children: t, moveFirst: n }) => {
1845
+ let [r, i, s, c, l, u] = z((e) => [
1799
1846
  e.getSelection,
1800
1847
  e.clear,
1801
1848
  e.setSelection,
1802
1849
  e.select,
1803
1850
  e.getConfiguration,
1804
1851
  e.updateBoardState
1805
- ]), { findElementUnderPointer: d } = V(), [p] = I((e) => [e.getItems]), [m, h] = e.useState({}), [, g] = e.useTransition(), [_, v] = e.useState(!1), y = e.useRef(null), b = e.useRef({ moving: !1 });
1852
+ ]), { findElementUnderPointer: d } = V(), [p] = R((e) => [e.getItems]), [m, h] = e.useState({}), [, g] = e.useTransition(), [_, v] = e.useState(!1), y = e.useRef(null), b = e.useRef({ moving: !1 });
1806
1853
  return f(document, "keydown", (e) => {
1807
1854
  e.key === "l" && v(!0);
1808
1855
  }), f(document, "keyup", (e) => {
@@ -1811,7 +1858,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1811
1858
  i();
1812
1859
  }), [i]), e.useEffect(() => {
1813
1860
  if (b.current.moving) {
1814
- let e = p(), { boardWrapper: t } = l(), n = qt(e, t, _);
1861
+ let e = p(), { boardWrapper: t } = l(), n = Qt(e, t, _);
1815
1862
  g(() => {
1816
1863
  s(n);
1817
1864
  });
@@ -1822,7 +1869,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1822
1869
  m,
1823
1870
  s,
1824
1871
  _
1825
- ]), /* @__PURE__ */ a(Y, {
1872
+ ]), /* @__PURE__ */ a(J, {
1826
1873
  fill: !0,
1827
1874
  onDragStart: async (e) => {
1828
1875
  await d(e) || (b.current.moving = !0, g(() => {
@@ -1847,7 +1894,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1847
1894
  let { ctrlKey: t, metaKey: n } = e, a = d(e);
1848
1895
  if (!a) i();
1849
1896
  else {
1850
- let e = P(a);
1897
+ let e = I(a);
1851
1898
  if (!e) {
1852
1899
  i();
1853
1900
  return;
@@ -1857,9 +1904,9 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1857
1904
  }
1858
1905
  },
1859
1906
  onLongTap: ({ target: e }) => {
1860
- let t = j(e, "item");
1907
+ let t = N(e, "item");
1861
1908
  if (t) {
1862
- let e = P(t);
1909
+ let e = I(t);
1863
1910
  s([e]);
1864
1911
  }
1865
1912
  },
@@ -1876,31 +1923,18 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1876
1923
  height: `${m.height}px`,
1877
1924
  width: `${m.width}px`
1878
1925
  },
1879
- className: `selector ${Kt}`
1926
+ className: `selector ${Zt}`
1880
1927
  }), t]
1881
1928
  })
1882
1929
  });
1883
- }, Yt = ({ children: t }) => {
1884
- let { moveItems: n, placeItems: r, findElementUnderPointer: i } = V(), { vectorFromWrapperToBoard: o } = z(), [s, c, l, u, d] = L((e) => [
1930
+ }, en = ({ children: t }) => {
1931
+ let { moveItems: n, placeItems: r, findElementUnderPointer: i } = V(), { vectorFromWrapperToBoard: o } = B(), [s, c, l, u, d] = z((e) => [
1885
1932
  e.select,
1886
1933
  e.setSelection,
1887
1934
  e.getSelection,
1888
1935
  e.getBoardState,
1889
1936
  e.updateBoardState
1890
- ]), [p] = I((e) => [e.getBoardConfig]), m = () => {
1891
- let { grid: e, gridType: t, gridSize: n = 1 } = p(), r = e || {
1892
- type: t === void 0 ? n ? "grid" : "none" : t,
1893
- size: n
1894
- };
1895
- return {
1896
- type: r.type || "none",
1897
- size: Number(r.size) || 1,
1898
- offset: {
1899
- x: Number(r.offset?.x) || 0,
1900
- y: Number(r.offset?.y) || 0
1901
- }
1902
- };
1903
- }, h = e.useRef({}), g = e.useRef({ items: [] });
1937
+ ]), p = e.useRef({}), m = e.useRef({ items: [] });
1904
1938
  return f(document, "keydown", (e) => {
1905
1939
  if (["INPUT", "TEXTAREA"].includes(e.target.tagName)) return;
1906
1940
  let t = l();
@@ -1924,37 +1958,37 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1924
1958
  n(t, {
1925
1959
  x: s,
1926
1960
  y: c
1927
- }, !0), r(t, m()), e.preventDefault();
1961
+ }, !0), r(t), e.preventDefault();
1928
1962
  }
1929
1963
  }
1930
- }), /* @__PURE__ */ a(Y, {
1964
+ }), /* @__PURE__ */ a(J, {
1931
1965
  fill: !0,
1932
1966
  onDragStart: (e) => {
1933
1967
  let { ctrlKey: t, metaKey: n, event: r } = e, a = i(e);
1934
1968
  if (a) {
1935
1969
  r.stopPropagation();
1936
1970
  let e = l();
1937
- g.current.items = e;
1938
- let i = P(a);
1939
- e.includes(i) || (t || n ? (g.current.items = [...e, i], s([i])) : (g.current.items = [i], c([i]))), Object.assign(h.current, { moving: !0 });
1971
+ m.current.items = e;
1972
+ let i = I(a);
1973
+ e.includes(i) || (t || n ? (m.current.items = [...e, i], s([i])) : (m.current.items = [i], c([i]))), Object.assign(p.current, { moving: !0 });
1940
1974
  }
1941
1975
  },
1942
1976
  onDrag: ({ deltaX: e, deltaY: t, event: r }) => {
1943
- if (h.current.moving) {
1977
+ if (p.current.moving) {
1944
1978
  r.stopPropagation();
1945
1979
  let { movingItems: i } = u(), [a, s] = o(e, t);
1946
- n(g.current.items, {
1980
+ n(m.current.items, {
1947
1981
  x: a,
1948
1982
  y: s
1949
1983
  }, !0), i || d({ movingItems: !0 });
1950
1984
  }
1951
1985
  },
1952
1986
  onDragEnd: () => {
1953
- h.current.moving && (h.current = { moving: !1 }, r(g.current.items, m()), d({ movingItems: !1 }));
1987
+ p.current.moving && (p.current = { moving: !1 }, r(m.current.items), d({ movingItems: !1 }));
1954
1988
  },
1955
1989
  children: t
1956
1990
  });
1957
- }, Xt = (t) => {
1991
+ }, tn = (t) => {
1958
1992
  let n = e.useRef({
1959
1993
  hover: !1,
1960
1994
  x: 0,
@@ -1968,16 +2002,16 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1968
2002
  }), f(t, "mouseleave", () => {
1969
2003
  n.current.hover = !1;
1970
2004
  }), e.useCallback(() => n.current, []);
1971
- }, Zt = [...[
2005
+ }, nn = [...[
1972
2006
  ,
1973
2007
  ,
1974
2008
  ,
1975
2009
  ,
1976
2010
  ,
1977
- ].keys()].map((e) => `Digit${e + 1}`), Qt = () => {
1978
- let [t, n] = e.useState({}), [r, i] = L((e) => [e.getBoardState, e.updateBoardState]);
2011
+ ].keys()].map((e) => `Digit${e + 1}`), rn = () => {
2012
+ let [t, n] = e.useState({}), [r, i] = z((e) => [e.getBoardState, e.updateBoardState]);
1979
2013
  return f(document, "keydown", (e) => {
1980
- if (!["INPUT", "TEXTAREA"].includes(e.target.tagName) && Zt.includes(e.code)) {
2014
+ if (!["INPUT", "TEXTAREA"].includes(e.target.tagName) && nn.includes(e.code)) {
1981
2015
  let a = e.code, { translateX: o, translateY: s, scale: c } = r();
1982
2016
  e.altKey || e.metaKey || e.ctrlKey || e.shiftKey ? n((e) => ({
1983
2017
  ...e,
@@ -1989,14 +2023,14 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
1989
2023
  })) : t[a] && i(t[a]), e.preventDefault();
1990
2024
  }
1991
2025
  }), null;
1992
- }, $t = ({ children: t, moveFirst: n = !1 }) => {
1993
- let r = e.useRef(null), [i, o, s, c] = L((e) => [
2026
+ }, an = ({ children: t, moveFirst: n = !1 }) => {
2027
+ let r = e.useRef(null), [i, o, s, c] = z((e) => [
1994
2028
  e.config.itemExtent,
1995
2029
  e.getConfiguration,
1996
2030
  e.updateBoardState,
1997
2031
  e.getSelection
1998
- ]), { zoomToCenter: l, zoomToExtent: u, moveBoard: d } = z(), [p, m] = e.useState(!1), h = e.useRef({}), g = Xt(r);
1999
- Qt();
2032
+ ]), { zoomToCenter: l, zoomToExtent: u, moveBoard: d } = B(), [p, m] = e.useState(!1), h = e.useRef({}), g = tn(r);
2033
+ rn();
2000
2034
  let _ = e.useCallback(() => {
2001
2035
  let { itemExtent: e } = o();
2002
2036
  u(e);
@@ -2045,11 +2079,11 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2045
2079
  factor: 1 / 3,
2046
2080
  to: g()
2047
2081
  });
2048
- }), /* @__PURE__ */ a(Y, {
2082
+ }), /* @__PURE__ */ a(J, {
2049
2083
  fill: !0,
2050
2084
  onPan: ({ deltaX: e, deltaY: t, target: n }) => {
2051
- let r = j(n, "item");
2052
- r && A(r, "selected") || (d(({ translateX: n, translateY: r }) => ({
2085
+ let r = N(n, "item");
2086
+ r && M(r, "selected") || (d(({ translateX: n, translateY: r }) => ({
2053
2087
  translateX: n + e,
2054
2088
  translateY: r + t
2055
2089
  })), clearTimeout(h.current.pan), h.current.pan = setTimeout(() => {
@@ -2082,7 +2116,7 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2082
2116
  children: t
2083
2117
  })
2084
2118
  });
2085
- }, en = K({
2119
+ }, on = G({
2086
2120
  position: "absolute",
2087
2121
  top: 0,
2088
2122
  left: 0,
@@ -2090,8 +2124,8 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2090
2124
  backgroundColor: "hsla(0, 40%, 50%, 0%)",
2091
2125
  border: "2px dashed hsl(20, 55%, 40%)",
2092
2126
  pointerEvents: "none"
2093
- }), tn = () => {
2094
- let [t, n, r, i, o, { translateX: s, translateY: c, scale: l }] = L((e) => [
2127
+ }), sn = () => {
2128
+ let [t, n, r, i, o, { translateX: s, translateY: c, scale: l }] = z((e) => [
2095
2129
  e.selection,
2096
2130
  e.getSelection,
2097
2131
  e.selectionBox,
@@ -2102,13 +2136,13 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2102
2136
  translateY: e.boardState.translateY,
2103
2137
  scale: e.boardState.scale
2104
2138
  }
2105
- ]), [d] = I((e) => [e.items]), f = e.useCallback(() => {
2139
+ ]), [d] = R((e) => [e.items]), f = e.useCallback(() => {
2106
2140
  let e = n(), { boardWrapperRect: t, uid: r } = o();
2107
2141
  if (e.length === 0) {
2108
2142
  i(null);
2109
2143
  return;
2110
2144
  }
2111
- let a = ue(e, r);
2145
+ let a = ge(e, r);
2112
2146
  if (!a) {
2113
2147
  i(null);
2114
2148
  return;
@@ -2141,15 +2175,15 @@ var _t = /* @__PURE__ */ S((/* @__PURE__ */ b(((e, t) => {
2141
2175
  height: `${r.height}px`,
2142
2176
  width: `${r.width}px`
2143
2177
  },
2144
- className: `selection ${en}`
2178
+ className: `selection ${on}`
2145
2179
  });
2146
- }, nn = () => {
2147
- let [e] = L((e) => [e.boardState.movingItems]);
2148
- return e ? null : /* @__PURE__ */ a(tn, {});
2180
+ }, cn = () => {
2181
+ let [e] = z((e) => [e.boardState.movingItems]);
2182
+ return e ? null : /* @__PURE__ */ a(sn, {});
2149
2183
  };
2150
2184
  //#endregion
2151
2185
  //#region node_modules/color2k/dist/index.exports.import.es.mjs
2152
- function rn(e, t, n) {
2186
+ function ln(e, t, n) {
2153
2187
  return Math.min(Math.max(e, n), t);
2154
2188
  }
2155
2189
  var Z = class extends Error {
@@ -2157,7 +2191,7 @@ var Z = class extends Error {
2157
2191
  super(`Failed to parse color: "${e}"`);
2158
2192
  }
2159
2193
  };
2160
- function an(e) {
2194
+ function un(e) {
2161
2195
  if (typeof e != "string") throw new Z(e);
2162
2196
  if (e.trim().toLowerCase() === "transparent") return [
2163
2197
  0,
@@ -2166,52 +2200,52 @@ function an(e) {
2166
2200
  0
2167
2201
  ];
2168
2202
  let t = e.trim();
2169
- t = mn.test(e) ? ln(e) : e;
2170
- let n = un.exec(t);
2203
+ t = yn.test(e) ? mn(e) : e;
2204
+ let n = hn.exec(t);
2171
2205
  if (n) {
2172
2206
  let e = Array.from(n).slice(1);
2173
2207
  return [...e.slice(0, 3).map((e) => parseInt(Q(e, 2), 16)), parseInt(Q(e[3] || "f", 2), 16) / 255];
2174
2208
  }
2175
- let r = dn.exec(t);
2209
+ let r = gn.exec(t);
2176
2210
  if (r) {
2177
2211
  let e = Array.from(r).slice(1);
2178
2212
  return [...e.slice(0, 3).map((e) => parseInt(e, 16)), parseInt(e[3] || "ff", 16) / 255];
2179
2213
  }
2180
- let i = fn.exec(t);
2214
+ let i = _n.exec(t);
2181
2215
  if (i) {
2182
2216
  let e = Array.from(i).slice(1);
2183
2217
  return [...e.slice(0, 3).map((e) => parseInt(e, 10)), parseFloat(e[3] || "1")];
2184
2218
  }
2185
- let a = pn.exec(t);
2219
+ let a = vn.exec(t);
2186
2220
  if (a) {
2187
2221
  let [t, n, r, i] = Array.from(a).slice(1).map(parseFloat);
2188
- if (rn(0, 100, n) !== n || rn(0, 100, r) !== r) throw new Z(e);
2189
- return [...gn(t, n, r), Number.isNaN(i) ? 1 : i];
2222
+ if (ln(0, 100, n) !== n || ln(0, 100, r) !== r) throw new Z(e);
2223
+ return [...xn(t, n, r), Number.isNaN(i) ? 1 : i];
2190
2224
  }
2191
2225
  throw new Z(e);
2192
2226
  }
2193
- function on(e) {
2227
+ function dn(e) {
2194
2228
  let t = 5381, n = e.length;
2195
2229
  for (; n;) t = t * 33 ^ e.charCodeAt(--n);
2196
2230
  return (t >>> 0) % 2341;
2197
2231
  }
2198
- var sn = (e) => parseInt(e.replace(/_/g, ""), 36), cn = "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) => {
2199
- let n = sn(t.substring(0, 3)), r = sn(t.substring(3)).toString(16), i = "";
2232
+ var fn = (e) => parseInt(e.replace(/_/g, ""), 36), pn = "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) => {
2233
+ let n = fn(t.substring(0, 3)), r = fn(t.substring(3)).toString(16), i = "";
2200
2234
  for (let e = 0; e < 6 - r.length; e++) i += "0";
2201
2235
  return e[n] = `${i}${r}`, e;
2202
2236
  }, {});
2203
- function ln(e) {
2204
- let t = cn[on(e.toLowerCase().trim())];
2237
+ function mn(e) {
2238
+ let t = pn[dn(e.toLowerCase().trim())];
2205
2239
  if (!t) throw new Z(e);
2206
2240
  return `#${t}`;
2207
2241
  }
2208
- var Q = (e, t) => Array.from(Array(t)).map(() => e).join(""), un = RegExp(`^#${Q("([a-f0-9])", 3)}([a-f0-9])?$`, "i"), dn = RegExp(`^#${Q("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i"), fn = RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Q(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i"), pn = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i, mn = /^[a-z]+$/i, hn = (e) => Math.round(e * 255), gn = (e, t, n) => {
2242
+ var Q = (e, t) => Array.from(Array(t)).map(() => e).join(""), hn = RegExp(`^#${Q("([a-f0-9])", 3)}([a-f0-9])?$`, "i"), gn = RegExp(`^#${Q("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i"), _n = RegExp(`^rgba?\\(\\s*(\\d+)\\s*${Q(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i"), vn = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i, yn = /^[a-z]+$/i, bn = (e) => Math.round(e * 255), xn = (e, t, n) => {
2209
2243
  let r = n / 100;
2210
2244
  if (t === 0) return [
2211
2245
  r,
2212
2246
  r,
2213
2247
  r
2214
- ].map(hn);
2248
+ ].map(bn);
2215
2249
  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;
2216
2250
  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);
2217
2251
  let u = r - a / 2;
@@ -2219,29 +2253,29 @@ var Q = (e, t) => Array.from(Array(t)).map(() => e).join(""), un = RegExp(`^#${Q
2219
2253
  s + u,
2220
2254
  c + u,
2221
2255
  l + u
2222
- ].map(hn);
2256
+ ].map(bn);
2223
2257
  };
2224
- function _n(e) {
2258
+ function Sn(e) {
2225
2259
  if (e === "transparent") return 0;
2226
2260
  function t(e) {
2227
2261
  let t = e / 255;
2228
2262
  return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
2229
2263
  }
2230
- let [n, r, i] = an(e);
2264
+ let [n, r, i] = un(e);
2231
2265
  return .2126 * t(n) + .7152 * t(r) + .0722 * t(i);
2232
2266
  }
2233
- function vn(e) {
2234
- return _n(e) > .179;
2267
+ function Cn(e) {
2268
+ return Sn(e) > .179;
2235
2269
  }
2236
2270
  //#endregion
2237
2271
  //#region src/lib/board/Cursors/Cursor.jsx
2238
- var yn = K({
2272
+ var wn = G({
2239
2273
  display: "flex",
2240
2274
  flexDirection: "row",
2241
2275
  alignItems: "center",
2242
2276
  zIndex: 210,
2243
2277
  pointerEvents: "none"
2244
- }), bn = K({
2278
+ }), Tn = G({
2245
2279
  fontWeight: "bold",
2246
2280
  padding: "0 0.5em",
2247
2281
  borderRadius: "2px",
@@ -2252,10 +2286,10 @@ var yn = K({
2252
2286
  marginTop: "1.7em",
2253
2287
  whitespace: "nowrap",
2254
2288
  pointerEvents: "none"
2255
- }), xn = e.memo(({ color: e = "#666", size: t = 40, text: n }) => {
2256
- let r = vn(e) ? "#222" : "#EEE";
2289
+ }), En = e.memo(({ color: e = "#666", size: t = 40, text: n }) => {
2290
+ let r = Cn(e) ? "#222" : "#EEE";
2257
2291
  return /* @__PURE__ */ o("div", {
2258
- className: yn,
2292
+ className: wn,
2259
2293
  children: [/* @__PURE__ */ o("svg", {
2260
2294
  version: "1.1",
2261
2295
  xmlns: "http://www.w3.org/2000/svg",
@@ -2278,27 +2312,27 @@ var yn = K({
2278
2312
  color: r,
2279
2313
  backgroundColor: e
2280
2314
  },
2281
- className: bn,
2315
+ className: Tn,
2282
2316
  children: n
2283
2317
  })]
2284
2318
  });
2285
- }), Sn = K({
2319
+ }), Dn = G({
2286
2320
  top: 0,
2287
2321
  left: 0,
2288
2322
  zIndex: 210,
2289
2323
  position: "fixed",
2290
2324
  pointerEvents: "none"
2291
- }), Cn = ({ pos: e, ...t }) => /* @__PURE__ */ a("div", {
2292
- className: Sn,
2325
+ }), On = ({ pos: e, ...t }) => /* @__PURE__ */ a("div", {
2326
+ className: Dn,
2293
2327
  style: { transform: `translate(${e.x - 6}px, ${e.y - 15}px)` },
2294
- children: /* @__PURE__ */ a(xn, { ...t })
2295
- }), wn = ({ children: e }) => {
2296
- let [t] = L((e) => [e.getConfiguration, e.boardState.scale]), { fromWrapperToBoard: n, fromBoardToWrapper: r } = z(), [i, s, c, l] = U((e) => [
2328
+ children: /* @__PURE__ */ a(En, { ...t })
2329
+ }), kn = ({ children: e }) => {
2330
+ let [t] = z((e) => [e.getConfiguration, e.boardState.scale]), { fromWrapperToBoard: n, fromBoardToWrapper: r } = B(), [i, s, c, l] = H((e) => [
2297
2331
  e.getUser(),
2298
2332
  e.getLocalUsers(),
2299
2333
  e.cursors,
2300
2334
  e.users
2301
- ]), [u, d] = U((e) => [e.moveCursor, e.removeCursor]), { boardWrapperRect: f } = t(), p = ({ clientX: e, clientY: t }) => {
2335
+ ]), [u, d] = H((e) => [e.moveCursor, e.removeCursor]), { boardWrapperRect: f } = t(), p = ({ clientX: e, clientY: t }) => {
2302
2336
  let [r, a] = n(e - f.left, t - f.top);
2303
2337
  u(i.id, {
2304
2338
  x: r,
@@ -2315,15 +2349,15 @@ var yn = K({
2315
2349
  x: n + f.left,
2316
2350
  y: i + f.top
2317
2351
  };
2318
- return se(o, f) ? /* @__PURE__ */ a(Cn, {
2352
+ return pe(o, f) ? /* @__PURE__ */ a(On, {
2319
2353
  pos: o,
2320
2354
  text: l[e].name,
2321
2355
  color: l[e].color
2322
2356
  }, e) : null;
2323
2357
  })]
2324
2358
  });
2325
- }, Tn = /[+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:px|%)/gi;
2326
- function En(e, t = ",") {
2359
+ }, An = /[+-]?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:px|%)/gi;
2360
+ function jn(e, t = ",") {
2327
2361
  let n = 0, r = "", i = 0, a = [];
2328
2362
  for (let [o, s] of e.split("").entries()) if (r) s === r && e[o - 1] !== "\\" && (r = "");
2329
2363
  else if (s === "\"" || s === "'") r = s;
@@ -2337,10 +2371,10 @@ function En(e, t = ",") {
2337
2371
  return o && a.push(o), a;
2338
2372
  }
2339
2373
  function $(e, t) {
2340
- return [...e.replace(/\s/g, "").matchAll(Tn)].reduce((e, [n]) => e + Number.parseFloat(n) * (n.endsWith("%") ? t / 100 : 1), 0);
2374
+ return [...e.replace(/\s/g, "").matchAll(An)].reduce((e, [n]) => e + Number.parseFloat(n) * (n.endsWith("%") ? t / 100 : 1), 0);
2341
2375
  }
2342
- function Dn(e, t, n, r) {
2343
- let [i, a = "auto"] = En(e, " "), o = r?.width, s = r?.height;
2376
+ function Mn(e, t, n, r) {
2377
+ let [i, a = "auto"] = jn(e, " "), o = r?.width, s = r?.height;
2344
2378
  if (i === "cover" || i === "contain") {
2345
2379
  if (!o || !s) return [t, n];
2346
2380
  let e = Math[i === "cover" ? "max" : "min"](t / o, n / s);
@@ -2349,13 +2383,13 @@ function Dn(e, t, n, r) {
2349
2383
  let c = i === "auto" ? null : $(i, t), l = a === "auto" ? null : $(a, n);
2350
2384
  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]);
2351
2385
  }
2352
- function On(e, t, n) {
2386
+ function Nn(e, t, n) {
2353
2387
  let r = [
2354
2388
  [0, 0],
2355
2389
  [e, 0],
2356
2390
  [0, t],
2357
2391
  [e, t]
2358
- ].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);
2392
+ ].map((e) => fe(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] = P([o, s], n);
2359
2393
  return {
2360
2394
  left: o,
2361
2395
  top: s,
@@ -2365,9 +2399,9 @@ function On(e, t, n) {
2365
2399
  y: d
2366
2400
  };
2367
2401
  }
2368
- var kn = (e, t, n) => ((e - t) % n + n) % n;
2369
- function An(e, t, n, r) {
2370
- let i = On(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);
2402
+ var Pn = (e, t, n) => ((e - t) % n + n) % n;
2403
+ function Fn(e, t, n, r) {
2404
+ let i = Nn(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] = P([u, d], n);
2371
2405
  return {
2372
2406
  tiles: Array.from({ length: l - c + 1 }, (e, t) => {
2373
2407
  let n = c + t;
@@ -2389,18 +2423,18 @@ function An(e, t, n, r) {
2389
2423
  }
2390
2424
  //#endregion
2391
2425
  //#region src/lib/board/WorldBackground.jsx
2392
- var jn = {
2426
+ var In = {
2393
2427
  position: "absolute",
2394
2428
  inset: 0,
2395
2429
  pointerEvents: "none"
2396
2430
  };
2397
- function Mn({ style: t, tileSizeOverride: n }) {
2398
- let [r, i] = L((e) => [e.boardState, e.config.boardWrapperRect]), s = i.width || 1, c = i.height || 1, l = e.useRef(null), [u, d] = e.useState({
2431
+ function Ln({ style: t, tileSizeOverride: n }) {
2432
+ let [r, i] = z((e) => [e.boardState, e.config.boardWrapperRect]), s = i.width || 1, c = i.height || 1, l = e.useRef(null), [u, d] = e.useState({
2399
2433
  color: "#333",
2400
2434
  layers: []
2401
2435
  }), [f, p] = e.useState({});
2402
2436
  e.useLayoutEffect(() => {
2403
- let e = getComputedStyle(l.current), t = (t) => En(e[t]), n = t("backgroundSize"), r = t("backgroundPositionX"), i = t("backgroundPositionY"), a = t("backgroundRepeat"), o = t("backgroundBlendMode");
2437
+ let e = getComputedStyle(l.current), t = (t) => jn(e[t]), n = t("backgroundSize"), r = t("backgroundPositionX"), i = t("backgroundPositionY"), a = t("backgroundRepeat"), o = t("backgroundBlendMode");
2404
2438
  d({
2405
2439
  color: e.backgroundColor,
2406
2440
  layers: t("backgroundImage").map((e, t) => ({
@@ -2434,19 +2468,19 @@ function Mn({ style: t, tileSizeOverride: n }) {
2434
2468
  e = !1;
2435
2469
  };
2436
2470
  }, [u.layers]);
2437
- let m = An(s, c, r, n), h = u.layers.map((e) => {
2438
- let [t, n] = Dn(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);
2471
+ let m = Fn(s, c, r, n), h = u.layers.map((e) => {
2472
+ let [t, n] = Mn(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);
2439
2473
  return {
2440
2474
  ...e,
2441
2475
  size: `${t}px ${n}px`,
2442
- position: (e, s) => `${r && t ? kn(a, e, t) : a - e}px ${i && n ? kn(o, s, n) : o - s}px`
2476
+ position: (e, s) => `${r && t ? Pn(a, e, t) : a - e}px ${i && n ? Pn(o, s, n) : o - s}px`
2443
2477
  };
2444
2478
  });
2445
2479
  return /* @__PURE__ */ o("div", {
2446
2480
  className: "world-background",
2447
2481
  "aria-hidden": "true",
2448
2482
  style: {
2449
- ...jn,
2483
+ ...In,
2450
2484
  overflow: "hidden",
2451
2485
  backgroundColor: u.color
2452
2486
  },
@@ -2489,17 +2523,17 @@ function Mn({ style: t, tileSizeOverride: n }) {
2489
2523
  }
2490
2524
  //#endregion
2491
2525
  //#region src/lib/board/Board.jsx
2492
- var Nn = ({ children: e }) => e, Pn = {}, Fn = {
2526
+ var Rn = ({ children: e }) => e, zn = {}, Bn = {
2493
2527
  overflow: "hidden",
2494
2528
  position: "absolute",
2495
2529
  inset: 0
2496
- }, In = ({ moveFirst: t = !0, style: n, wrapperStyle: r, itemTemplates: i = Pn, boardSize: s = De, backgroundTileSize: c, children: l, showResizeHandle: u = !1, Wrapper: d = Nn }) => {
2497
- let f = e.useRef(null), [m, h] = L((e) => [e.config.uid, e.updateConfiguration]), [g, _, v, y] = L((e) => [
2530
+ }, Vn = ({ moveFirst: t = !0, style: n, wrapperStyle: r, itemTemplates: i = zn, boardSize: s = Ae, backgroundTileSize: c, children: l, showResizeHandle: u = !1, Wrapper: d = Rn }) => {
2531
+ let f = e.useRef(null), [m, h] = z((e) => [e.config.uid, e.updateConfiguration]), [g, _, v, y] = z((e) => [
2498
2532
  e.boardState.translateX,
2499
2533
  e.boardState.translateY,
2500
2534
  e.boardState.scale,
2501
2535
  e.boardState.rotate
2502
- ]), { updateItemExtent: b } = z(), x = {
2536
+ ]), { updateItemExtent: b } = B(), x = {
2503
2537
  userSelect: "none",
2504
2538
  position: "absolute",
2505
2539
  inset: 0,
@@ -2536,8 +2570,8 @@ var Nn = ({ children: e }) => e, Pn = {}, Fn = {
2536
2570
  }, [h, b]), p(f, () => {
2537
2571
  f.current && h({ boardWrapperRect: f.current.getBoundingClientRect() });
2538
2572
  });
2539
- let S = K({
2540
- ...Fn,
2573
+ let S = G({
2574
+ ...Bn,
2541
2575
  ...r
2542
2576
  });
2543
2577
  return /* @__PURE__ */ o("div", {
@@ -2545,15 +2579,15 @@ var Nn = ({ children: e }) => e, Pn = {}, Fn = {
2545
2579
  id: m,
2546
2580
  className: `sync-board ${S}`,
2547
2581
  children: [
2548
- /* @__PURE__ */ a(Mn, {
2582
+ /* @__PURE__ */ a(Ln, {
2549
2583
  style: n,
2550
2584
  tileSizeOverride: c
2551
2585
  }),
2552
- /* @__PURE__ */ a(wn, { children: /* @__PURE__ */ a(Jt, {
2586
+ /* @__PURE__ */ a(kn, { children: /* @__PURE__ */ a($t, {
2553
2587
  moveFirst: t,
2554
- children: /* @__PURE__ */ a($t, {
2588
+ children: /* @__PURE__ */ a(an, {
2555
2589
  moveFirst: t,
2556
- children: /* @__PURE__ */ a(Yt, {
2590
+ children: /* @__PURE__ */ a(en, {
2557
2591
  moveFirst: t,
2558
2592
  children: /* @__PURE__ */ a(d, { children: /* @__PURE__ */ o("div", {
2559
2593
  onContextMenu: (e) => {
@@ -2561,7 +2595,7 @@ var Nn = ({ children: e }) => e, Pn = {}, Fn = {
2561
2595
  },
2562
2596
  style: x,
2563
2597
  className: `board-pane${v < .5 ? " board-pane__far" : ""}`,
2564
- children: [/* @__PURE__ */ a(Gt, {}), /* @__PURE__ */ a("div", {
2598
+ children: [/* @__PURE__ */ a(Xt, {}), /* @__PURE__ */ a("div", {
2565
2599
  style: { pointerEvents: "auto" },
2566
2600
  children: l
2567
2601
  })]
@@ -2569,14 +2603,79 @@ var Nn = ({ children: e }) => e, Pn = {}, Fn = {
2569
2603
  })
2570
2604
  })
2571
2605
  }) }),
2572
- /* @__PURE__ */ a(nn, {})
2606
+ /* @__PURE__ */ a(cn, {})
2573
2607
  ]
2574
2608
  });
2609
+ }, Hn = ({ grid: t, item: n, uid: r }) => {
2610
+ let i = e.useId(), s = F(r, n.id), [c, l] = e.useState(null);
2611
+ if (e.useLayoutEffect(() => {
2612
+ if (!s) return;
2613
+ let e = () => l(se(s));
2614
+ e();
2615
+ let t = new ResizeObserver(e);
2616
+ return t.observe(s), () => t.disconnect();
2617
+ }, [s]), !c) return null;
2618
+ let { type: u, size: d, offset: f, color: p, opacity: m } = t, { width: h, height: g, centers: _ } = ce(t), v = Math.max(360, Math.min(d * 12, 960)), y = n.x + c.width / 2 - v / 2, b = n.y + c.height / 2 - v / 2, x = [];
2619
+ if (u !== "grid") {
2620
+ let e = u === "hexH" ? Math.PI / 6 : 0;
2621
+ for (let t = -1; t <= 1; t++) for (let n = -1; n <= 1; n++) _.forEach(([r, i], o) => {
2622
+ let s = Array.from({ length: 6 }, (a, o) => {
2623
+ let s = e + o * Math.PI / 3;
2624
+ return `${n * h + r + d * Math.cos(s)},${t * g + i + d * Math.sin(s)}`;
2625
+ }).join(" ");
2626
+ x.push(/* @__PURE__ */ a("polygon", { points: s }, `${t}:${n}:${o}`));
2627
+ });
2628
+ }
2629
+ return /* @__PURE__ */ o("svg", {
2630
+ "data-grid-item": n.id,
2631
+ "data-grid-type": u,
2632
+ width: v,
2633
+ height: v,
2634
+ style: {
2635
+ position: "absolute",
2636
+ left: 0,
2637
+ top: 0,
2638
+ transform: `translate3d(${y}px, ${b}px, 0)`,
2639
+ willChange: "transform",
2640
+ pointerEvents: "none",
2641
+ zIndex: n.moving ? ((n.layer ?? 0) + 4) * 10 + 101 : 90,
2642
+ opacity: m,
2643
+ maskImage: "radial-gradient(circle, #000 35%, transparent 72%)"
2644
+ },
2645
+ children: [/* @__PURE__ */ a("defs", { children: /* @__PURE__ */ a("pattern", {
2646
+ id: i,
2647
+ patternUnits: "userSpaceOnUse",
2648
+ width: h,
2649
+ height: g,
2650
+ x: f.x - y,
2651
+ y: f.y - b,
2652
+ children: /* @__PURE__ */ a("g", {
2653
+ fill: "none",
2654
+ stroke: p,
2655
+ strokeWidth: "1",
2656
+ children: u === "grid" ? /* @__PURE__ */ a("path", { d: `M0 ${g}V0H${h}` }) : x
2657
+ })
2658
+ }) }), /* @__PURE__ */ a("rect", {
2659
+ width: "100%",
2660
+ height: "100%",
2661
+ fill: `url(#${i})`
2662
+ })]
2663
+ });
2664
+ }, Un = ({ preview: e = !1, enabled: t = !0 }) => {
2665
+ let n = Oe(), r = Le(), [i] = tt(), { movingItems: o } = nt(), s = z((e) => e.config.uid), c = o || n.some((e) => e.moving);
2666
+ return !t || !e && !c ? null : n.filter((e) => r.includes(e.id)).map((t) => {
2667
+ let n = j(t.grid), r = oe(i.grid, t.grid);
2668
+ return !r || !(e && n) && (!c || !r.show) ? null : /* @__PURE__ */ a(Hn, {
2669
+ grid: r,
2670
+ item: t,
2671
+ uid: s
2672
+ }, t.id);
2673
+ });
2575
2674
  };
2576
2675
  //#endregion
2577
2676
  //#region src/lib/index.js
2578
- gt(e.createElement);
2677
+ St(e.createElement);
2579
2678
  //#endregion
2580
- export { In as Board, ot as BoardWrapper, st as RoomWrapper, Ve as useAvailableActions, Ye as useBoardConfig, z as useBoardPosition, Xe as useBoardState, Ee as useDebouncedItems, Fe as useGetSelectedItems, V as useItemActions, B as useItemInteraction, Te as useItems, it as useMessage, Pe as useSelectedItems, He as useSelectionBox, Ze as useSessionInfo, Je as useUsers, k as useWire };
2679
+ export { Vn as Board, Un as BoardGridOverlay, ft as BoardWrapper, pt as RoomWrapper, Ke as useAvailableActions, tt as useBoardConfig, B as useBoardPosition, nt as useBoardState, ke as useDebouncedItems, Re as useGetSelectedItems, V as useItemActions, He as useItemInteraction, Oe as useItems, ut as useMessage, Le as useSelectedItems, qe as useSelectionBox, rt as useSessionInfo, et as useUsers, k as useWire };
2581
2680
 
2582
2681
  //# sourceMappingURL=react-sync-board.js.map