@aixa-transformation/pptx-viewer 2.0.2

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +369 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +18 -0
  4. package/README.md +249 -0
  5. package/dist/GLTFLoader-CV33YWNT.js +2613 -0
  6. package/dist/GLTFLoader-FQJ2I67K.mjs +2611 -0
  7. package/dist/Model3DScene-5ODZLKJM.mjs +49 -0
  8. package/dist/Model3DScene-VLHFNN5B.js +51 -0
  9. package/dist/OrbitControls-HI6CI76Z.mjs +3 -0
  10. package/dist/OrbitControls-XGY7XEC6.js +12 -0
  11. package/dist/SmartArt3DScene-3FL5JELA.mjs +333 -0
  12. package/dist/SmartArt3DScene-7IZ3IJYV.js +335 -0
  13. package/dist/SurfaceChart3DScene-C6GQQQB7.mjs +77 -0
  14. package/dist/SurfaceChart3DScene-KHMGQAGP.js +79 -0
  15. package/dist/chunk-2TOLRBFU.js +27629 -0
  16. package/dist/chunk-2X72MOPZ.mjs +2796 -0
  17. package/dist/chunk-6DZX6EAA.mjs +33 -0
  18. package/dist/chunk-AD2CLKY6.js +92338 -0
  19. package/dist/chunk-CUUYYYC5.js +2800 -0
  20. package/dist/chunk-DAKELFNP.js +915 -0
  21. package/dist/chunk-F2HFXS2Z.mjs +19063 -0
  22. package/dist/chunk-F3LO2NKI.mjs +913 -0
  23. package/dist/chunk-HNI6JYAI.js +34591 -0
  24. package/dist/chunk-IKBO6CZC.js +2 -0
  25. package/dist/chunk-KVM4DBEU.mjs +91768 -0
  26. package/dist/chunk-MOEXMRVK.js +19220 -0
  27. package/dist/chunk-QGM4M3NI.js +37 -0
  28. package/dist/chunk-SQY54X47.js +43506 -0
  29. package/dist/chunk-T5U6P2JH.mjs +1 -0
  30. package/dist/chunk-TB5ZWNMX.mjs +34577 -0
  31. package/dist/chunk-W5V6CEFL.mjs +43064 -0
  32. package/dist/chunk-XAVVR6OX.mjs +27204 -0
  33. package/dist/chunk-Y6FQDUJU.js +1160 -0
  34. package/dist/chunk-YI3G35EC.mjs +1076 -0
  35. package/dist/dist-LQJHTLHL.mjs +2 -0
  36. package/dist/dist-NVA3FEUV.js +2275 -0
  37. package/dist/i18n.d.ts +2 -0
  38. package/dist/i18n.js +19 -0
  39. package/dist/i18n.mjs +2 -0
  40. package/dist/index.d.ts +44 -0
  41. package/dist/index.js +135 -0
  42. package/dist/index.mjs +6 -0
  43. package/dist/internals.d.ts +1 -0
  44. package/dist/internals.js +311 -0
  45. package/dist/internals.mjs +6 -0
  46. package/dist/pptx-viewer.css +2 -0
  47. package/dist/presentation.d.ts +1 -0
  48. package/dist/presentation.js +11 -0
  49. package/dist/presentation.mjs +2 -0
  50. package/dist/three.module-HOXVV2KF.mjs +2 -0
  51. package/dist/three.module-QSJWIYNI.js +1771 -0
  52. package/dist/viewer/index.d.ts +1 -0
  53. package/dist/viewer/index.js +76 -0
  54. package/dist/viewer/index.mjs +7 -0
  55. package/dist/y-webrtc-DFUKFWCA.mjs +4279 -0
  56. package/dist/y-webrtc-RRACJ6WX.js +4284 -0
  57. package/dist/y-websocket-T5R5YGVE.mjs +378 -0
  58. package/dist/y-websocket-WMSHYIGX.js +384 -0
  59. package/package.json +141 -0
@@ -0,0 +1,1076 @@
1
+ import * as Y from 'yjs';
2
+
3
+ // ../../node_modules/lib0/map.js
4
+ var create = () => /* @__PURE__ */ new Map();
5
+ var setIfUndefined = (map3, key, createT) => {
6
+ let set = map3.get(key);
7
+ if (set === void 0) {
8
+ map3.set(key, set = createT());
9
+ }
10
+ return set;
11
+ };
12
+ var map = (m, f) => {
13
+ const res = [];
14
+ for (const [key, value] of m) {
15
+ res.push(f(value, key));
16
+ }
17
+ return res;
18
+ };
19
+
20
+ // ../../node_modules/lib0/set.js
21
+ var create2 = () => /* @__PURE__ */ new Set();
22
+
23
+ // ../../node_modules/lib0/array.js
24
+ var from = Array.from;
25
+ var every = (arr, f) => {
26
+ for (let i = 0; i < arr.length; i++) {
27
+ if (!f(arr[i], i, arr)) {
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ };
33
+ var some = (arr, f) => {
34
+ for (let i = 0; i < arr.length; i++) {
35
+ if (f(arr[i], i, arr)) {
36
+ return true;
37
+ }
38
+ }
39
+ return false;
40
+ };
41
+ var unfold = (len, f) => {
42
+ const array = new Array(len);
43
+ for (let i = 0; i < len; i++) {
44
+ array[i] = f(i, array);
45
+ }
46
+ return array;
47
+ };
48
+ var isArray = Array.isArray;
49
+
50
+ // ../../node_modules/lib0/observable.js
51
+ var ObservableV2 = class {
52
+ constructor() {
53
+ this._observers = create();
54
+ }
55
+ /**
56
+ * @template {keyof EVENTS & string} NAME
57
+ * @param {NAME} name
58
+ * @param {EVENTS[NAME]} f
59
+ */
60
+ on(name, f) {
61
+ setIfUndefined(
62
+ this._observers,
63
+ /** @type {string} */
64
+ name,
65
+ create2
66
+ ).add(f);
67
+ return f;
68
+ }
69
+ /**
70
+ * @template {keyof EVENTS & string} NAME
71
+ * @param {NAME} name
72
+ * @param {EVENTS[NAME]} f
73
+ */
74
+ once(name, f) {
75
+ const _f = (...args2) => {
76
+ this.off(
77
+ name,
78
+ /** @type {any} */
79
+ _f
80
+ );
81
+ f(...args2);
82
+ };
83
+ this.on(
84
+ name,
85
+ /** @type {any} */
86
+ _f
87
+ );
88
+ }
89
+ /**
90
+ * @template {keyof EVENTS & string} NAME
91
+ * @param {NAME} name
92
+ * @param {EVENTS[NAME]} f
93
+ */
94
+ off(name, f) {
95
+ const observers = this._observers.get(name);
96
+ if (observers !== void 0) {
97
+ observers.delete(f);
98
+ if (observers.size === 0) {
99
+ this._observers.delete(name);
100
+ }
101
+ }
102
+ }
103
+ /**
104
+ * Emit a named event. All registered event listeners that listen to the
105
+ * specified name will receive the event.
106
+ *
107
+ * @todo This should catch exceptions
108
+ *
109
+ * @template {keyof EVENTS & string} NAME
110
+ * @param {NAME} name The event name.
111
+ * @param {Parameters<EVENTS[NAME]>} args The arguments that are applied to the event listener.
112
+ */
113
+ emit(name, args2) {
114
+ return from((this._observers.get(name) || create()).values()).forEach((f) => f(...args2));
115
+ }
116
+ destroy() {
117
+ this._observers = create();
118
+ }
119
+ };
120
+ var Observable = class {
121
+ constructor() {
122
+ this._observers = create();
123
+ }
124
+ /**
125
+ * @param {N} name
126
+ * @param {function} f
127
+ */
128
+ on(name, f) {
129
+ setIfUndefined(this._observers, name, create2).add(f);
130
+ }
131
+ /**
132
+ * @param {N} name
133
+ * @param {function} f
134
+ */
135
+ once(name, f) {
136
+ const _f = (...args2) => {
137
+ this.off(name, _f);
138
+ f(...args2);
139
+ };
140
+ this.on(name, _f);
141
+ }
142
+ /**
143
+ * @param {N} name
144
+ * @param {function} f
145
+ */
146
+ off(name, f) {
147
+ const observers = this._observers.get(name);
148
+ if (observers !== void 0) {
149
+ observers.delete(f);
150
+ if (observers.size === 0) {
151
+ this._observers.delete(name);
152
+ }
153
+ }
154
+ }
155
+ /**
156
+ * Emit a named event. All registered event listeners that listen to the
157
+ * specified name will receive the event.
158
+ *
159
+ * @todo This should catch exceptions
160
+ *
161
+ * @param {N} name The event name.
162
+ * @param {Array<any>} args The arguments that are applied to the event listener.
163
+ */
164
+ emit(name, args2) {
165
+ return from((this._observers.get(name) || create()).values()).forEach((f) => f(...args2));
166
+ }
167
+ destroy() {
168
+ this._observers = create();
169
+ }
170
+ };
171
+
172
+ // ../../node_modules/lib0/math.js
173
+ var floor = Math.floor;
174
+ var abs = Math.abs;
175
+ var log10 = Math.log10;
176
+ var min = (a, b) => a < b ? a : b;
177
+ var max = (a, b) => a > b ? a : b;
178
+ var pow = Math.pow;
179
+ var isNegativeZero = (n) => n !== 0 ? n < 0 : 1 / n < 0;
180
+
181
+ // ../../node_modules/lib0/time.js
182
+ var getUnixTime = Date.now;
183
+
184
+ // ../../node_modules/lib0/error.js
185
+ var create3 = (s) => new Error(s);
186
+ var methodUnimplemented = () => {
187
+ throw create3("Method unimplemented");
188
+ };
189
+ var unexpectedCase = () => {
190
+ throw create3("Unexpected case");
191
+ };
192
+
193
+ // ../../node_modules/lib0/binary.js
194
+ var BIT7 = 64;
195
+ var BIT8 = 128;
196
+ var BITS6 = 63;
197
+ var BITS7 = 127;
198
+ var BITS31 = 2147483647;
199
+
200
+ // ../../node_modules/lib0/number.js
201
+ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;
202
+ var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER;
203
+ var isInteger = Number.isInteger || ((num) => typeof num === "number" && isFinite(num) && floor(num) === num);
204
+
205
+ // ../../node_modules/lib0/string.js
206
+ var fromCharCode = String.fromCharCode;
207
+ var toLowerCase = (s) => s.toLowerCase();
208
+ var trimLeftRegex = /^\s*/g;
209
+ var trimLeft = (s) => s.replace(trimLeftRegex, "");
210
+ var fromCamelCaseRegex = /([A-Z])/g;
211
+ var fromCamelCase = (s, separator) => trimLeft(s.replace(fromCamelCaseRegex, (match) => `${separator}${toLowerCase(match)}`));
212
+ var _encodeUtf8Polyfill = (str) => {
213
+ const encodedString = unescape(encodeURIComponent(str));
214
+ const len = encodedString.length;
215
+ const buf = new Uint8Array(len);
216
+ for (let i = 0; i < len; i++) {
217
+ buf[i] = /** @type {number} */
218
+ encodedString.codePointAt(i);
219
+ }
220
+ return buf;
221
+ };
222
+ var utf8TextEncoder = (
223
+ /** @type {TextEncoder} */
224
+ typeof TextEncoder !== "undefined" ? new TextEncoder() : null
225
+ );
226
+ var _encodeUtf8Native = (str) => utf8TextEncoder.encode(str);
227
+ var encodeUtf8 = utf8TextEncoder ? _encodeUtf8Native : _encodeUtf8Polyfill;
228
+ var utf8TextDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
229
+ if (utf8TextDecoder && utf8TextDecoder.decode(new Uint8Array()).length === 1) {
230
+ utf8TextDecoder = null;
231
+ }
232
+ var repeat = (source, n) => unfold(n, () => source).join("");
233
+
234
+ // ../../node_modules/lib0/encoding.js
235
+ var Encoder = class {
236
+ constructor() {
237
+ this.cpos = 0;
238
+ this.cbuf = new Uint8Array(100);
239
+ this.bufs = [];
240
+ }
241
+ };
242
+ var createEncoder = () => new Encoder();
243
+ var length = (encoder) => {
244
+ let len = encoder.cpos;
245
+ for (let i = 0; i < encoder.bufs.length; i++) {
246
+ len += encoder.bufs[i].length;
247
+ }
248
+ return len;
249
+ };
250
+ var toUint8Array = (encoder) => {
251
+ const uint8arr = new Uint8Array(length(encoder));
252
+ let curPos = 0;
253
+ for (let i = 0; i < encoder.bufs.length; i++) {
254
+ const d = encoder.bufs[i];
255
+ uint8arr.set(d, curPos);
256
+ curPos += d.length;
257
+ }
258
+ uint8arr.set(new Uint8Array(encoder.cbuf.buffer, 0, encoder.cpos), curPos);
259
+ return uint8arr;
260
+ };
261
+ var verifyLen = (encoder, len) => {
262
+ const bufferLen = encoder.cbuf.length;
263
+ if (bufferLen - encoder.cpos < len) {
264
+ encoder.bufs.push(new Uint8Array(encoder.cbuf.buffer, 0, encoder.cpos));
265
+ encoder.cbuf = new Uint8Array(max(bufferLen, len) * 2);
266
+ encoder.cpos = 0;
267
+ }
268
+ };
269
+ var write = (encoder, num) => {
270
+ const bufferLen = encoder.cbuf.length;
271
+ if (encoder.cpos === bufferLen) {
272
+ encoder.bufs.push(encoder.cbuf);
273
+ encoder.cbuf = new Uint8Array(bufferLen * 2);
274
+ encoder.cpos = 0;
275
+ }
276
+ encoder.cbuf[encoder.cpos++] = num;
277
+ };
278
+ var writeUint8 = write;
279
+ var writeVarUint = (encoder, num) => {
280
+ while (num > BITS7) {
281
+ write(encoder, BIT8 | BITS7 & num);
282
+ num = floor(num / 128);
283
+ }
284
+ write(encoder, BITS7 & num);
285
+ };
286
+ var writeVarInt = (encoder, num) => {
287
+ const isNegative = isNegativeZero(num);
288
+ if (isNegative) {
289
+ num = -num;
290
+ }
291
+ write(encoder, (num > BITS6 ? BIT8 : 0) | (isNegative ? BIT7 : 0) | BITS6 & num);
292
+ num = floor(num / 64);
293
+ while (num > 0) {
294
+ write(encoder, (num > BITS7 ? BIT8 : 0) | BITS7 & num);
295
+ num = floor(num / 128);
296
+ }
297
+ };
298
+ var _strBuffer = new Uint8Array(3e4);
299
+ var _maxStrBSize = _strBuffer.length / 3;
300
+ var _writeVarStringNative = (encoder, str) => {
301
+ if (str.length < _maxStrBSize) {
302
+ const written = utf8TextEncoder.encodeInto(str, _strBuffer).written || 0;
303
+ writeVarUint(encoder, written);
304
+ for (let i = 0; i < written; i++) {
305
+ write(encoder, _strBuffer[i]);
306
+ }
307
+ } else {
308
+ writeVarUint8Array(encoder, encodeUtf8(str));
309
+ }
310
+ };
311
+ var _writeVarStringPolyfill = (encoder, str) => {
312
+ const encodedString = unescape(encodeURIComponent(str));
313
+ const len = encodedString.length;
314
+ writeVarUint(encoder, len);
315
+ for (let i = 0; i < len; i++) {
316
+ write(
317
+ encoder,
318
+ /** @type {number} */
319
+ encodedString.codePointAt(i)
320
+ );
321
+ }
322
+ };
323
+ var writeVarString = utf8TextEncoder && /** @type {any} */
324
+ utf8TextEncoder.encodeInto ? _writeVarStringNative : _writeVarStringPolyfill;
325
+ var writeUint8Array = (encoder, uint8Array) => {
326
+ const bufferLen = encoder.cbuf.length;
327
+ const cpos = encoder.cpos;
328
+ const leftCopyLen = min(bufferLen - cpos, uint8Array.length);
329
+ const rightCopyLen = uint8Array.length - leftCopyLen;
330
+ encoder.cbuf.set(uint8Array.subarray(0, leftCopyLen), cpos);
331
+ encoder.cpos += leftCopyLen;
332
+ if (rightCopyLen > 0) {
333
+ encoder.bufs.push(encoder.cbuf);
334
+ encoder.cbuf = new Uint8Array(max(bufferLen * 2, rightCopyLen));
335
+ encoder.cbuf.set(uint8Array.subarray(leftCopyLen));
336
+ encoder.cpos = rightCopyLen;
337
+ }
338
+ };
339
+ var writeVarUint8Array = (encoder, uint8Array) => {
340
+ writeVarUint(encoder, uint8Array.byteLength);
341
+ writeUint8Array(encoder, uint8Array);
342
+ };
343
+ var writeOnDataView = (encoder, len) => {
344
+ verifyLen(encoder, len);
345
+ const dview = new DataView(encoder.cbuf.buffer, encoder.cpos, len);
346
+ encoder.cpos += len;
347
+ return dview;
348
+ };
349
+ var writeFloat32 = (encoder, num) => writeOnDataView(encoder, 4).setFloat32(0, num, false);
350
+ var writeFloat64 = (encoder, num) => writeOnDataView(encoder, 8).setFloat64(0, num, false);
351
+ var writeBigInt64 = (encoder, num) => (
352
+ /** @type {any} */
353
+ writeOnDataView(encoder, 8).setBigInt64(0, num, false)
354
+ );
355
+ var floatTestBed = new DataView(new ArrayBuffer(4));
356
+ var isFloat32 = (num) => {
357
+ floatTestBed.setFloat32(0, num);
358
+ return floatTestBed.getFloat32(0) === num;
359
+ };
360
+ var writeAny = (encoder, data) => {
361
+ switch (typeof data) {
362
+ case "string":
363
+ write(encoder, 119);
364
+ writeVarString(encoder, data);
365
+ break;
366
+ case "number":
367
+ if (isInteger(data) && abs(data) <= BITS31) {
368
+ write(encoder, 125);
369
+ writeVarInt(encoder, data);
370
+ } else if (isFloat32(data)) {
371
+ write(encoder, 124);
372
+ writeFloat32(encoder, data);
373
+ } else {
374
+ write(encoder, 123);
375
+ writeFloat64(encoder, data);
376
+ }
377
+ break;
378
+ case "bigint":
379
+ write(encoder, 122);
380
+ writeBigInt64(encoder, data);
381
+ break;
382
+ case "object":
383
+ if (data === null) {
384
+ write(encoder, 126);
385
+ } else if (isArray(data)) {
386
+ write(encoder, 117);
387
+ writeVarUint(encoder, data.length);
388
+ for (let i = 0; i < data.length; i++) {
389
+ writeAny(encoder, data[i]);
390
+ }
391
+ } else if (data instanceof Uint8Array) {
392
+ write(encoder, 116);
393
+ writeVarUint8Array(encoder, data);
394
+ } else {
395
+ write(encoder, 118);
396
+ const keys2 = Object.keys(data);
397
+ writeVarUint(encoder, keys2.length);
398
+ for (let i = 0; i < keys2.length; i++) {
399
+ const key = keys2[i];
400
+ writeVarString(encoder, key);
401
+ writeAny(encoder, data[key]);
402
+ }
403
+ }
404
+ break;
405
+ case "boolean":
406
+ write(encoder, data ? 120 : 121);
407
+ break;
408
+ default:
409
+ write(encoder, 127);
410
+ }
411
+ };
412
+
413
+ // ../../node_modules/lib0/decoding.js
414
+ var errorUnexpectedEndOfArray = create3("Unexpected end of array");
415
+ var errorIntegerOutOfRange = create3("Integer out of Range");
416
+ var Decoder = class {
417
+ /**
418
+ * @param {Uint8Array<Buf>} uint8Array Binary data to decode
419
+ */
420
+ constructor(uint8Array) {
421
+ this.arr = uint8Array;
422
+ this.pos = 0;
423
+ }
424
+ };
425
+ var createDecoder = (uint8Array) => new Decoder(uint8Array);
426
+ var readUint8Array = (decoder, len) => {
427
+ const view = new Uint8Array(decoder.arr.buffer, decoder.pos + decoder.arr.byteOffset, len);
428
+ decoder.pos += len;
429
+ return view;
430
+ };
431
+ var readVarUint8Array = (decoder) => readUint8Array(decoder, readVarUint(decoder));
432
+ var readUint8 = (decoder) => decoder.arr[decoder.pos++];
433
+ var readVarUint = (decoder) => {
434
+ let num = 0;
435
+ let mult = 1;
436
+ const len = decoder.arr.length;
437
+ while (decoder.pos < len) {
438
+ const r = decoder.arr[decoder.pos++];
439
+ num = num + (r & BITS7) * mult;
440
+ mult *= 128;
441
+ if (r < BIT8) {
442
+ return num;
443
+ }
444
+ if (num > MAX_SAFE_INTEGER) {
445
+ throw errorIntegerOutOfRange;
446
+ }
447
+ }
448
+ throw errorUnexpectedEndOfArray;
449
+ };
450
+ var readVarInt = (decoder) => {
451
+ let r = decoder.arr[decoder.pos++];
452
+ let num = r & BITS6;
453
+ let mult = 64;
454
+ const sign = (r & BIT7) > 0 ? -1 : 1;
455
+ if ((r & BIT8) === 0) {
456
+ return sign * num;
457
+ }
458
+ const len = decoder.arr.length;
459
+ while (decoder.pos < len) {
460
+ r = decoder.arr[decoder.pos++];
461
+ num = num + (r & BITS7) * mult;
462
+ mult *= 128;
463
+ if (r < BIT8) {
464
+ return sign * num;
465
+ }
466
+ if (num > MAX_SAFE_INTEGER) {
467
+ throw errorIntegerOutOfRange;
468
+ }
469
+ }
470
+ throw errorUnexpectedEndOfArray;
471
+ };
472
+ var _readVarStringPolyfill = (decoder) => {
473
+ let remainingLen = readVarUint(decoder);
474
+ if (remainingLen === 0) {
475
+ return "";
476
+ } else {
477
+ let encodedString = String.fromCodePoint(readUint8(decoder));
478
+ if (--remainingLen < 100) {
479
+ while (remainingLen--) {
480
+ encodedString += String.fromCodePoint(readUint8(decoder));
481
+ }
482
+ } else {
483
+ while (remainingLen > 0) {
484
+ const nextLen = remainingLen < 1e4 ? remainingLen : 1e4;
485
+ const bytes = decoder.arr.subarray(decoder.pos, decoder.pos + nextLen);
486
+ decoder.pos += nextLen;
487
+ encodedString += String.fromCodePoint.apply(
488
+ null,
489
+ /** @type {any} */
490
+ bytes
491
+ );
492
+ remainingLen -= nextLen;
493
+ }
494
+ }
495
+ return decodeURIComponent(escape(encodedString));
496
+ }
497
+ };
498
+ var _readVarStringNative = (decoder) => (
499
+ /** @type any */
500
+ utf8TextDecoder.decode(readVarUint8Array(decoder))
501
+ );
502
+ var readVarString = utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill;
503
+ var readFromDataView = (decoder, len) => {
504
+ const dv = new DataView(decoder.arr.buffer, decoder.arr.byteOffset + decoder.pos, len);
505
+ decoder.pos += len;
506
+ return dv;
507
+ };
508
+ var readFloat32 = (decoder) => readFromDataView(decoder, 4).getFloat32(0, false);
509
+ var readFloat64 = (decoder) => readFromDataView(decoder, 8).getFloat64(0, false);
510
+ var readBigInt64 = (decoder) => (
511
+ /** @type {any} */
512
+ readFromDataView(decoder, 8).getBigInt64(0, false)
513
+ );
514
+ var readAnyLookupTable = [
515
+ (decoder) => void 0,
516
+ // CASE 127: undefined
517
+ (decoder) => null,
518
+ // CASE 126: null
519
+ readVarInt,
520
+ // CASE 125: integer
521
+ readFloat32,
522
+ // CASE 124: float32
523
+ readFloat64,
524
+ // CASE 123: float64
525
+ readBigInt64,
526
+ // CASE 122: bigint
527
+ (decoder) => false,
528
+ // CASE 121: boolean (false)
529
+ (decoder) => true,
530
+ // CASE 120: boolean (true)
531
+ readVarString,
532
+ // CASE 119: string
533
+ (decoder) => {
534
+ const len = readVarUint(decoder);
535
+ const obj = {};
536
+ for (let i = 0; i < len; i++) {
537
+ const key = readVarString(decoder);
538
+ obj[key] = readAny(decoder);
539
+ }
540
+ return obj;
541
+ },
542
+ (decoder) => {
543
+ const len = readVarUint(decoder);
544
+ const arr = [];
545
+ for (let i = 0; i < len; i++) {
546
+ arr.push(readAny(decoder));
547
+ }
548
+ return arr;
549
+ },
550
+ readVarUint8Array
551
+ // CASE 116: Uint8Array
552
+ ];
553
+ var readAny = (decoder) => readAnyLookupTable[127 - readUint8(decoder)](decoder);
554
+
555
+ // ../../node_modules/lib0/conditions.js
556
+ var undefinedToNull = (v) => v === void 0 ? null : v;
557
+
558
+ // ../../node_modules/lib0/storage.js
559
+ var VarStoragePolyfill = class {
560
+ constructor() {
561
+ this.map = /* @__PURE__ */ new Map();
562
+ }
563
+ /**
564
+ * @param {string} key
565
+ * @param {any} newValue
566
+ */
567
+ setItem(key, newValue) {
568
+ this.map.set(key, newValue);
569
+ }
570
+ /**
571
+ * @param {string} key
572
+ */
573
+ getItem(key) {
574
+ return this.map.get(key);
575
+ }
576
+ };
577
+ var _localStorage = new VarStoragePolyfill();
578
+ var usePolyfill = true;
579
+ try {
580
+ if (typeof localStorage !== "undefined" && localStorage) {
581
+ _localStorage = localStorage;
582
+ usePolyfill = false;
583
+ }
584
+ } catch (e) {
585
+ }
586
+ var varStorage = _localStorage;
587
+ var onChange = (eventHandler) => usePolyfill || addEventListener(
588
+ "storage",
589
+ /** @type {any} */
590
+ eventHandler
591
+ );
592
+ var offChange = (eventHandler) => usePolyfill || removeEventListener(
593
+ "storage",
594
+ /** @type {any} */
595
+ eventHandler
596
+ );
597
+
598
+ // ../../node_modules/lib0/trait/equality.js
599
+ var EqualityTraitSymbol = /* @__PURE__ */ Symbol("Equality");
600
+ var equals = (a, b) => a === b || !!a?.[EqualityTraitSymbol]?.(b) || false;
601
+
602
+ // ../../node_modules/lib0/object.js
603
+ var isObject = (o) => typeof o === "object";
604
+ var keys = Object.keys;
605
+ var map2 = (obj, f) => {
606
+ const results = [];
607
+ for (const key in obj) {
608
+ results.push(f(obj[key], key));
609
+ }
610
+ return results;
611
+ };
612
+ var size = (obj) => keys(obj).length;
613
+ var every2 = (obj, f) => {
614
+ for (const key in obj) {
615
+ if (!f(obj[key], key)) {
616
+ return false;
617
+ }
618
+ }
619
+ return true;
620
+ };
621
+ var hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
622
+
623
+ // ../../node_modules/lib0/function.js
624
+ var nop = () => {
625
+ };
626
+ var equalityDeep = (a, b) => {
627
+ if (a === b) {
628
+ return true;
629
+ }
630
+ if (a == null || b == null || a.constructor !== b.constructor && (a.constructor || Object) !== (b.constructor || Object)) {
631
+ return false;
632
+ }
633
+ if (a[EqualityTraitSymbol] != null) {
634
+ return a[EqualityTraitSymbol](b);
635
+ }
636
+ switch (a.constructor) {
637
+ case ArrayBuffer:
638
+ a = new Uint8Array(a);
639
+ b = new Uint8Array(b);
640
+ // eslint-disable-next-line no-fallthrough
641
+ case Uint8Array: {
642
+ if (a.byteLength !== b.byteLength) {
643
+ return false;
644
+ }
645
+ for (let i = 0; i < a.length; i++) {
646
+ if (a[i] !== b[i]) {
647
+ return false;
648
+ }
649
+ }
650
+ break;
651
+ }
652
+ case Set: {
653
+ if (a.size !== b.size) {
654
+ return false;
655
+ }
656
+ for (const value of a) {
657
+ if (!b.has(value)) {
658
+ return false;
659
+ }
660
+ }
661
+ break;
662
+ }
663
+ case Map: {
664
+ if (a.size !== b.size) {
665
+ return false;
666
+ }
667
+ for (const key of a.keys()) {
668
+ if (!b.has(key) || !equalityDeep(a.get(key), b.get(key))) {
669
+ return false;
670
+ }
671
+ }
672
+ break;
673
+ }
674
+ case void 0:
675
+ case Object:
676
+ if (size(a) !== size(b)) {
677
+ return false;
678
+ }
679
+ for (const key in a) {
680
+ if (!hasProperty(a, key) || !equalityDeep(a[key], b[key])) {
681
+ return false;
682
+ }
683
+ }
684
+ break;
685
+ case Array:
686
+ if (a.length !== b.length) {
687
+ return false;
688
+ }
689
+ for (let i = 0; i < a.length; i++) {
690
+ if (!equalityDeep(a[i], b[i])) {
691
+ return false;
692
+ }
693
+ }
694
+ break;
695
+ default:
696
+ return false;
697
+ }
698
+ return true;
699
+ };
700
+ var isOneOf = (value, options) => options.includes(value);
701
+
702
+ // ../../node_modules/lib0/environment.js
703
+ var isNode = typeof process !== "undefined" && process.release && /node|io\.js/.test(process.release.name) && Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]";
704
+ var isBrowser = typeof window !== "undefined" && typeof document !== "undefined" && !isNode;
705
+ var params;
706
+ var computeParams = () => {
707
+ if (params === void 0) {
708
+ if (isNode) {
709
+ params = create();
710
+ const pargs = process.argv;
711
+ let currParamName = null;
712
+ for (let i = 0; i < pargs.length; i++) {
713
+ const parg = pargs[i];
714
+ if (parg[0] === "-") {
715
+ if (currParamName !== null) {
716
+ params.set(currParamName, "");
717
+ }
718
+ currParamName = parg;
719
+ } else {
720
+ if (currParamName !== null) {
721
+ params.set(currParamName, parg);
722
+ currParamName = null;
723
+ }
724
+ }
725
+ }
726
+ if (currParamName !== null) {
727
+ params.set(currParamName, "");
728
+ }
729
+ } else if (typeof location === "object") {
730
+ params = create();
731
+ (location.search || "?").slice(1).split("&").forEach((kv) => {
732
+ if (kv.length !== 0) {
733
+ const [key, value] = kv.split("=");
734
+ params.set(`--${fromCamelCase(key, "-")}`, value);
735
+ params.set(`-${fromCamelCase(key, "-")}`, value);
736
+ }
737
+ });
738
+ } else {
739
+ params = create();
740
+ }
741
+ }
742
+ return params;
743
+ };
744
+ var hasParam = (name) => computeParams().has(name);
745
+ var getVariable = (name) => isNode ? undefinedToNull(process.env[name.toUpperCase().replaceAll("-", "_")]) : undefinedToNull(varStorage.getItem(name));
746
+ var hasConf = (name) => hasParam("--" + name) || getVariable(name) !== null;
747
+ var production = hasConf("production");
748
+ var forceColor = isNode && isOneOf(process.env.FORCE_COLOR, ["true", "1", "2"]);
749
+ var supportsColor = forceColor || !hasParam("--no-colors") && // @todo deprecate --no-colors
750
+ !hasConf("no-color") && (!isNode || process.stdout.isTTY) && (!isNode || hasParam("--color") || getVariable("COLORTERM") !== null || (getVariable("TERM") || "").includes("color"));
751
+
752
+ // ../../node_modules/lib0/buffer.js
753
+ var createUint8ArrayFromLen = (len) => new Uint8Array(len);
754
+ var createUint8ArrayViewFromArrayBuffer = (buffer, byteOffset, length2) => new Uint8Array(buffer, byteOffset, length2);
755
+ var createUint8ArrayFromArrayBuffer = (buffer) => new Uint8Array(buffer);
756
+ var toBase64Browser = (bytes) => {
757
+ let s = "";
758
+ for (let i = 0; i < bytes.byteLength; i++) {
759
+ s += fromCharCode(bytes[i]);
760
+ }
761
+ return btoa(s);
762
+ };
763
+ var toBase64Node = (bytes) => Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString("base64");
764
+ var fromBase64Browser = (s) => {
765
+ const a = atob(s);
766
+ const bytes = createUint8ArrayFromLen(a.length);
767
+ for (let i = 0; i < a.length; i++) {
768
+ bytes[i] = a.charCodeAt(i);
769
+ }
770
+ return bytes;
771
+ };
772
+ var fromBase64Node = (s) => {
773
+ const buf = Buffer.from(s, "base64");
774
+ return createUint8ArrayViewFromArrayBuffer(buf.buffer, buf.byteOffset, buf.byteLength);
775
+ };
776
+ var toBase64 = isBrowser ? toBase64Browser : toBase64Node;
777
+ var fromBase64 = isBrowser ? fromBase64Browser : fromBase64Node;
778
+
779
+ // ../../node_modules/lib0/broadcastchannel.js
780
+ var channels = /* @__PURE__ */ new Map();
781
+ var LocalStoragePolyfill = class {
782
+ /**
783
+ * @param {string} room
784
+ */
785
+ constructor(room) {
786
+ this.room = room;
787
+ this.onmessage = null;
788
+ this._onChange = (e) => e.key === room && this.onmessage !== null && this.onmessage({ data: fromBase64(e.newValue || "") });
789
+ onChange(this._onChange);
790
+ }
791
+ /**
792
+ * @param {ArrayBuffer} buf
793
+ */
794
+ postMessage(buf) {
795
+ varStorage.setItem(this.room, toBase64(createUint8ArrayFromArrayBuffer(buf)));
796
+ }
797
+ close() {
798
+ offChange(this._onChange);
799
+ }
800
+ };
801
+ var BC = typeof BroadcastChannel === "undefined" ? LocalStoragePolyfill : BroadcastChannel;
802
+ var getChannel = (room) => setIfUndefined(channels, room, () => {
803
+ const subs = create2();
804
+ const bc = new BC(room);
805
+ bc.onmessage = (e) => subs.forEach((sub) => sub(e.data, "broadcastchannel"));
806
+ return {
807
+ bc,
808
+ subs
809
+ };
810
+ });
811
+ var subscribe = (room, f) => {
812
+ getChannel(room).subs.add(f);
813
+ return f;
814
+ };
815
+ var unsubscribe = (room, f) => {
816
+ const channel = getChannel(room);
817
+ const unsubscribed = channel.subs.delete(f);
818
+ if (unsubscribed && channel.subs.size === 0) {
819
+ channel.bc.close();
820
+ channels.delete(room);
821
+ }
822
+ return unsubscribed;
823
+ };
824
+ var publish = (room, data, origin = null) => {
825
+ const c = getChannel(room);
826
+ c.bc.postMessage(data);
827
+ c.subs.forEach((sub) => sub(data, origin));
828
+ };
829
+ var messageYjsSyncStep1 = 0;
830
+ var messageYjsSyncStep2 = 1;
831
+ var messageYjsUpdate = 2;
832
+ var writeSyncStep1 = (encoder, doc) => {
833
+ writeVarUint(encoder, messageYjsSyncStep1);
834
+ const sv = Y.encodeStateVector(doc);
835
+ writeVarUint8Array(encoder, sv);
836
+ };
837
+ var writeSyncStep2 = (encoder, doc, encodedStateVector) => {
838
+ writeVarUint(encoder, messageYjsSyncStep2);
839
+ writeVarUint8Array(encoder, Y.encodeStateAsUpdate(doc, encodedStateVector));
840
+ };
841
+ var readSyncStep1 = (decoder, encoder, doc) => writeSyncStep2(encoder, doc, readVarUint8Array(decoder));
842
+ var readSyncStep2 = (decoder, doc, transactionOrigin, errorHandler) => {
843
+ try {
844
+ Y.applyUpdate(doc, readVarUint8Array(decoder), transactionOrigin);
845
+ } catch (error) {
846
+ if (errorHandler != null) errorHandler(
847
+ /** @type {Error} */
848
+ error
849
+ );
850
+ console.error("Caught error while handling a Yjs update", error);
851
+ }
852
+ };
853
+ var writeUpdate = (encoder, update) => {
854
+ writeVarUint(encoder, messageYjsUpdate);
855
+ writeVarUint8Array(encoder, update);
856
+ };
857
+ var readUpdate = readSyncStep2;
858
+ var readSyncMessage = (decoder, encoder, doc, transactionOrigin, errorHandler) => {
859
+ const messageType = readVarUint(decoder);
860
+ switch (messageType) {
861
+ case messageYjsSyncStep1:
862
+ readSyncStep1(decoder, encoder, doc);
863
+ break;
864
+ case messageYjsSyncStep2:
865
+ readSyncStep2(decoder, doc, transactionOrigin, errorHandler);
866
+ break;
867
+ case messageYjsUpdate:
868
+ readUpdate(decoder, doc, transactionOrigin, errorHandler);
869
+ break;
870
+ default:
871
+ throw new Error("Unknown message type");
872
+ }
873
+ return messageType;
874
+ };
875
+ var outdatedTimeout = 3e4;
876
+ var Awareness = class extends Observable {
877
+ /**
878
+ * @param {Y.Doc} doc
879
+ */
880
+ constructor(doc) {
881
+ super();
882
+ this.doc = doc;
883
+ this.clientID = doc.clientID;
884
+ this.states = /* @__PURE__ */ new Map();
885
+ this.meta = /* @__PURE__ */ new Map();
886
+ this._checkInterval = /** @type {any} */
887
+ setInterval(() => {
888
+ const now = getUnixTime();
889
+ if (this.getLocalState() !== null && outdatedTimeout / 2 <= now - /** @type {{lastUpdated:number}} */
890
+ this.meta.get(this.clientID).lastUpdated) {
891
+ this.setLocalState(this.getLocalState());
892
+ }
893
+ const remove = [];
894
+ this.meta.forEach((meta, clientid) => {
895
+ if (clientid !== this.clientID && outdatedTimeout <= now - meta.lastUpdated && this.states.has(clientid)) {
896
+ remove.push(clientid);
897
+ }
898
+ });
899
+ if (remove.length > 0) {
900
+ removeAwarenessStates(this, remove, "timeout");
901
+ }
902
+ }, floor(outdatedTimeout / 10));
903
+ doc.on("destroy", () => {
904
+ this.destroy();
905
+ });
906
+ this.setLocalState({});
907
+ }
908
+ destroy() {
909
+ this.emit("destroy", [this]);
910
+ this.setLocalState(null);
911
+ super.destroy();
912
+ clearInterval(this._checkInterval);
913
+ }
914
+ /**
915
+ * @return {Object<string,any>|null}
916
+ */
917
+ getLocalState() {
918
+ return this.states.get(this.clientID) || null;
919
+ }
920
+ /**
921
+ * @param {Object<string,any>|null} state
922
+ */
923
+ setLocalState(state) {
924
+ const clientID = this.clientID;
925
+ const currLocalMeta = this.meta.get(clientID);
926
+ const clock = currLocalMeta === void 0 ? 0 : currLocalMeta.clock + 1;
927
+ const prevState = this.states.get(clientID);
928
+ if (state === null) {
929
+ this.states.delete(clientID);
930
+ } else {
931
+ this.states.set(clientID, state);
932
+ }
933
+ this.meta.set(clientID, {
934
+ clock,
935
+ lastUpdated: getUnixTime()
936
+ });
937
+ const added = [];
938
+ const updated = [];
939
+ const filteredUpdated = [];
940
+ const removed = [];
941
+ if (state === null) {
942
+ removed.push(clientID);
943
+ } else if (prevState == null) {
944
+ if (state != null) {
945
+ added.push(clientID);
946
+ }
947
+ } else {
948
+ updated.push(clientID);
949
+ if (!equalityDeep(prevState, state)) {
950
+ filteredUpdated.push(clientID);
951
+ }
952
+ }
953
+ if (added.length > 0 || filteredUpdated.length > 0 || removed.length > 0) {
954
+ this.emit("change", [{ added, updated: filteredUpdated, removed }, "local"]);
955
+ }
956
+ this.emit("update", [{ added, updated, removed }, "local"]);
957
+ }
958
+ /**
959
+ * @param {string} field
960
+ * @param {any} value
961
+ */
962
+ setLocalStateField(field, value) {
963
+ const state = this.getLocalState();
964
+ if (state !== null) {
965
+ this.setLocalState({
966
+ ...state,
967
+ [field]: value
968
+ });
969
+ }
970
+ }
971
+ /**
972
+ * @return {Map<number,Object<string,any>>}
973
+ */
974
+ getStates() {
975
+ return this.states;
976
+ }
977
+ };
978
+ var removeAwarenessStates = (awareness, clients, origin) => {
979
+ const removed = [];
980
+ for (let i = 0; i < clients.length; i++) {
981
+ const clientID = clients[i];
982
+ if (awareness.states.has(clientID)) {
983
+ awareness.states.delete(clientID);
984
+ if (clientID === awareness.clientID) {
985
+ const curMeta = (
986
+ /** @type {MetaClientState} */
987
+ awareness.meta.get(clientID)
988
+ );
989
+ awareness.meta.set(clientID, {
990
+ clock: curMeta.clock + 1,
991
+ lastUpdated: getUnixTime()
992
+ });
993
+ }
994
+ removed.push(clientID);
995
+ }
996
+ }
997
+ if (removed.length > 0) {
998
+ awareness.emit("change", [{ added: [], updated: [], removed }, origin]);
999
+ awareness.emit("update", [{ added: [], updated: [], removed }, origin]);
1000
+ }
1001
+ };
1002
+ var encodeAwarenessUpdate = (awareness, clients, states = awareness.states) => {
1003
+ const len = clients.length;
1004
+ const encoder = createEncoder();
1005
+ writeVarUint(encoder, len);
1006
+ for (let i = 0; i < len; i++) {
1007
+ const clientID = clients[i];
1008
+ const state = states.get(clientID) || null;
1009
+ const clock = (
1010
+ /** @type {MetaClientState} */
1011
+ awareness.meta.get(clientID).clock
1012
+ );
1013
+ writeVarUint(encoder, clientID);
1014
+ writeVarUint(encoder, clock);
1015
+ writeVarString(encoder, JSON.stringify(state));
1016
+ }
1017
+ return toUint8Array(encoder);
1018
+ };
1019
+ var applyAwarenessUpdate = (awareness, update, origin) => {
1020
+ const decoder = createDecoder(update);
1021
+ const timestamp = getUnixTime();
1022
+ const added = [];
1023
+ const updated = [];
1024
+ const filteredUpdated = [];
1025
+ const removed = [];
1026
+ const len = readVarUint(decoder);
1027
+ for (let i = 0; i < len; i++) {
1028
+ const clientID = readVarUint(decoder);
1029
+ let clock = readVarUint(decoder);
1030
+ const state = JSON.parse(readVarString(decoder));
1031
+ const clientMeta = awareness.meta.get(clientID);
1032
+ const prevState = awareness.states.get(clientID);
1033
+ const currClock = clientMeta === void 0 ? 0 : clientMeta.clock;
1034
+ if (currClock < clock || currClock === clock && state === null && awareness.states.has(clientID)) {
1035
+ if (state === null) {
1036
+ if (clientID === awareness.clientID && awareness.getLocalState() != null) {
1037
+ clock++;
1038
+ } else {
1039
+ awareness.states.delete(clientID);
1040
+ }
1041
+ } else {
1042
+ awareness.states.set(clientID, state);
1043
+ }
1044
+ awareness.meta.set(clientID, {
1045
+ clock,
1046
+ lastUpdated: timestamp
1047
+ });
1048
+ if (clientMeta === void 0 && state !== null) {
1049
+ added.push(clientID);
1050
+ } else if (clientMeta !== void 0 && state === null) {
1051
+ removed.push(clientID);
1052
+ } else if (state !== null) {
1053
+ if (!equalityDeep(state, prevState)) {
1054
+ filteredUpdated.push(clientID);
1055
+ }
1056
+ updated.push(clientID);
1057
+ }
1058
+ }
1059
+ }
1060
+ if (added.length > 0 || filteredUpdated.length > 0 || removed.length > 0) {
1061
+ awareness.emit("change", [{
1062
+ added,
1063
+ updated: filteredUpdated,
1064
+ removed
1065
+ }, origin]);
1066
+ }
1067
+ if (added.length > 0 || updated.length > 0 || removed.length > 0) {
1068
+ awareness.emit("update", [{
1069
+ added,
1070
+ updated,
1071
+ removed
1072
+ }, origin]);
1073
+ }
1074
+ };
1075
+
1076
+ export { Awareness, EqualityTraitSymbol, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, Observable, ObservableV2, applyAwarenessUpdate, create, create2, create3, createDecoder, createEncoder, encodeAwarenessUpdate, encodeUtf8, equalityDeep, equals, every, every2, floor, fromBase64, fromCharCode, getUnixTime, getVariable, hasProperty, isArray, isNode, isObject, length, log10, map, map2, messageYjsSyncStep1, messageYjsSyncStep2, methodUnimplemented, min, nop, pow, production, publish, readAny, readSyncMessage, readUint8, readVarString, readVarUint, readVarUint8Array, removeAwarenessStates, repeat, setIfUndefined, some, subscribe, supportsColor, toBase64, toUint8Array, unexpectedCase, unsubscribe, writeAny, writeSyncStep1, writeSyncStep2, writeUint8, writeUpdate, writeVarString, writeVarUint, writeVarUint8Array };