pptx-react-viewer 2.19.3 → 2.19.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{AiChatPanel-ITONW4RG.js → AiChatPanel-F4X3OZFG.js} +23 -23
  3. package/dist/AiChatPanel-F4X3OZFG.js.br +0 -0
  4. package/dist/AiChatPanel-F4X3OZFG.js.gz +0 -0
  5. package/dist/{AiChatPanel-6GZJUAZO.mjs → AiChatPanel-P663354U.mjs} +3 -3
  6. package/dist/AiChatPanel-P663354U.mjs.br +0 -0
  7. package/dist/AiChatPanel-P663354U.mjs.gz +0 -0
  8. package/dist/{Model3DScene-FHEYYYMP.mjs → Model3DScene-F6FAHPW7.mjs} +1 -1
  9. package/dist/Model3DScene-F6FAHPW7.mjs.br +0 -0
  10. package/dist/Model3DScene-F6FAHPW7.mjs.gz +0 -0
  11. package/dist/{Model3DScene-37TFKKMR.js → Model3DScene-TGGZF6XI.js} +2 -2
  12. package/dist/Model3DScene-TGGZF6XI.js.br +0 -0
  13. package/dist/Model3DScene-TGGZF6XI.js.gz +0 -0
  14. package/dist/PowerPointViewer-DVFkeluD.d.ts.map +1 -1
  15. package/dist/{audience-content-store-ChVOSdBh.d.ts → audience-content-store-C4BFFhV5.d.ts} +10 -3
  16. package/dist/{audience-content-store-ChVOSdBh.d.ts.map → audience-content-store-C4BFFhV5.d.ts.map} +1 -1
  17. package/dist/{chunk-QVTFZH7K.mjs → chunk-2HNIYZ3O.mjs} +1 -1
  18. package/dist/chunk-2HNIYZ3O.mjs.br +0 -0
  19. package/dist/chunk-2HNIYZ3O.mjs.gz +0 -0
  20. package/dist/{chunk-SL32VQDZ.mjs → chunk-3WR2D4AJ.mjs} +7 -6
  21. package/dist/chunk-3WR2D4AJ.mjs.br +0 -0
  22. package/dist/chunk-3WR2D4AJ.mjs.gz +0 -0
  23. package/dist/{chunk-LL2GSA3M.js → chunk-C4LQ7ZWL.js} +1029 -1022
  24. package/dist/chunk-C4LQ7ZWL.js.br +0 -0
  25. package/dist/chunk-C4LQ7ZWL.js.gz +0 -0
  26. package/dist/{chunk-GB7DRDDJ.js → chunk-D4LINQVA.js} +146 -146
  27. package/dist/chunk-D4LINQVA.js.br +0 -0
  28. package/dist/chunk-D4LINQVA.js.gz +0 -0
  29. package/dist/{chunk-N6EY3PJP.js → chunk-FDZNVVQ7.js} +377 -376
  30. package/dist/chunk-FDZNVVQ7.js.br +0 -0
  31. package/dist/chunk-FDZNVVQ7.js.gz +0 -0
  32. package/dist/{chunk-JFZ3ZA6J.mjs → chunk-FWX6HUVA.mjs} +1 -1
  33. package/dist/chunk-FWX6HUVA.mjs.br +0 -0
  34. package/dist/chunk-FWX6HUVA.mjs.gz +0 -0
  35. package/dist/{chunk-6Q5ZJ5CE.mjs → chunk-GNSYA6W3.mjs} +15 -8
  36. package/dist/chunk-GNSYA6W3.mjs.br +0 -0
  37. package/dist/chunk-GNSYA6W3.mjs.gz +0 -0
  38. package/dist/{chunk-MZ6E7TUV.js → chunk-IJY5WNZK.js} +7 -0
  39. package/dist/chunk-IJY5WNZK.js.br +0 -0
  40. package/dist/chunk-IJY5WNZK.js.gz +0 -0
  41. package/dist/{chunk-E3ABZJ3V.mjs → chunk-J3JFXIDN.mjs} +7 -1
  42. package/dist/chunk-J3JFXIDN.mjs.br +0 -0
  43. package/dist/chunk-J3JFXIDN.mjs.gz +0 -0
  44. package/dist/{chunk-T7KTLC6L.js → chunk-PEGZP2W2.js} +3 -3
  45. package/dist/chunk-PEGZP2W2.js.br +0 -0
  46. package/dist/chunk-PEGZP2W2.js.gz +0 -0
  47. package/dist/index.js +45 -45
  48. package/dist/index.js.br +0 -0
  49. package/dist/index.js.gz +0 -0
  50. package/dist/index.mjs +5 -5
  51. package/dist/index.mjs.br +0 -0
  52. package/dist/index.mjs.gz +0 -0
  53. package/dist/internals.d.ts +41 -1
  54. package/dist/internals.js +78 -78
  55. package/dist/internals.js.br +0 -0
  56. package/dist/internals.js.gz +0 -0
  57. package/dist/internals.mjs +3 -3
  58. package/dist/internals.mjs.br +0 -0
  59. package/dist/internals.mjs.gz +0 -0
  60. package/dist/viewer/index.js +26 -26
  61. package/dist/viewer/index.js.br +0 -0
  62. package/dist/viewer/index.js.gz +0 -0
  63. package/dist/viewer/index.mjs +5 -5
  64. package/dist/viewer/index.mjs.br +0 -0
  65. package/dist/viewer/index.mjs.gz +0 -0
  66. package/dist/{y-websocket-DCTJ76B7.mjs → y-websocket-HUEA7LH7.mjs} +27 -6
  67. package/dist/y-websocket-HUEA7LH7.mjs.br +0 -0
  68. package/dist/y-websocket-HUEA7LH7.mjs.gz +0 -0
  69. package/dist/{y-websocket-DQLOWGV6.js → y-websocket-YRPS7AFF.js} +27 -6
  70. package/dist/y-websocket-YRPS7AFF.js.br +0 -0
  71. package/dist/y-websocket-YRPS7AFF.js.gz +0 -0
  72. package/package.json +3 -3
  73. package/dist/AiChatPanel-6GZJUAZO.mjs.br +0 -0
  74. package/dist/AiChatPanel-6GZJUAZO.mjs.gz +0 -0
  75. package/dist/AiChatPanel-ITONW4RG.js.br +0 -0
  76. package/dist/AiChatPanel-ITONW4RG.js.gz +0 -0
  77. package/dist/Model3DScene-37TFKKMR.js.br +0 -0
  78. package/dist/Model3DScene-37TFKKMR.js.gz +0 -0
  79. package/dist/Model3DScene-FHEYYYMP.mjs.br +0 -0
  80. package/dist/Model3DScene-FHEYYYMP.mjs.gz +0 -0
  81. package/dist/chunk-6Q5ZJ5CE.mjs.br +0 -0
  82. package/dist/chunk-6Q5ZJ5CE.mjs.gz +0 -0
  83. package/dist/chunk-E3ABZJ3V.mjs.br +0 -0
  84. package/dist/chunk-E3ABZJ3V.mjs.gz +0 -0
  85. package/dist/chunk-GB7DRDDJ.js.br +0 -0
  86. package/dist/chunk-GB7DRDDJ.js.gz +0 -0
  87. package/dist/chunk-JFZ3ZA6J.mjs.br +0 -0
  88. package/dist/chunk-JFZ3ZA6J.mjs.gz +0 -0
  89. package/dist/chunk-LL2GSA3M.js.br +0 -0
  90. package/dist/chunk-LL2GSA3M.js.gz +0 -0
  91. package/dist/chunk-MZ6E7TUV.js.br +0 -0
  92. package/dist/chunk-MZ6E7TUV.js.gz +0 -0
  93. package/dist/chunk-N6EY3PJP.js.br +0 -0
  94. package/dist/chunk-N6EY3PJP.js.gz +0 -0
  95. package/dist/chunk-QVTFZH7K.mjs.br +0 -0
  96. package/dist/chunk-QVTFZH7K.mjs.gz +0 -0
  97. package/dist/chunk-SL32VQDZ.mjs.br +0 -0
  98. package/dist/chunk-SL32VQDZ.mjs.gz +0 -0
  99. package/dist/chunk-T7KTLC6L.js.br +0 -0
  100. package/dist/chunk-T7KTLC6L.js.gz +0 -0
  101. package/dist/y-websocket-DCTJ76B7.mjs.br +0 -0
  102. package/dist/y-websocket-DCTJ76B7.mjs.gz +0 -0
  103. package/dist/y-websocket-DQLOWGV6.js.br +0 -0
  104. package/dist/y-websocket-DQLOWGV6.js.gz +0 -0
@@ -14,7 +14,7 @@ var readAuthMessage = (decoder, y, permissionDeniedHandler2) => {
14
14
  // ../../node_modules/.bun/lib0@0.2.117/node_modules/lib0/url.js
15
15
  var encodeQueryParams = (params) => map(params, (val, key) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join("&");
16
16
 
17
- // ../../node_modules/.bun/y-websocket@3.0.0+48ebd0cf55a3d4ab/node_modules/y-websocket/src/y-websocket.js
17
+ // ../../node_modules/.bun/y-websocket@3.1.0+48ebd0cf55a3d4ab/node_modules/y-websocket/src/y-websocket.js
18
18
  var messageSync = 0;
19
19
  var messageQueryAwareness = 3;
20
20
  var messageAwareness = 1;
@@ -74,10 +74,16 @@ var readMessage = (provider, buf, emitSynced) => {
74
74
  }
75
75
  return encoder;
76
76
  };
77
+ var defaultShouldReconnect = (event) => !(event.code >= 4400 && event.code < 4500);
77
78
  var closeWebsocketConnection = (provider, ws, event) => {
78
- if (ws === provider.ws) {
79
+ if (ws !== null && ws === provider.ws) {
79
80
  provider.emit("connection-close", [event, provider]);
80
81
  provider.ws = null;
82
+ ws.onmessage = null;
83
+ ws.onopen = null;
84
+ ws.onclose = null;
85
+ ws.onerror = () => {
86
+ };
81
87
  ws.close();
82
88
  provider.wsconnecting = false;
83
89
  if (provider.wsconnected) {
@@ -93,8 +99,12 @@ var closeWebsocketConnection = (provider, ws, event) => {
93
99
  provider.emit("status", [{
94
100
  status: "disconnected"
95
101
  }]);
96
- } else {
97
- provider.wsUnsuccessfulReconnects++;
102
+ }
103
+ provider.wsUnsuccessfulReconnects++;
104
+ let terminalClose = null;
105
+ if (event != null && !provider.shouldReconnect(event, provider)) {
106
+ provider.shouldConnect = false;
107
+ terminalClose = { code: event.code, reason: event.reason };
98
108
  }
99
109
  setTimeout(
100
110
  setupWS,
@@ -104,6 +114,9 @@ var closeWebsocketConnection = (provider, ws, event) => {
104
114
  ),
105
115
  provider
106
116
  );
117
+ if (terminalClose !== null) {
118
+ provider.emit("closed", [terminalClose, provider]);
119
+ }
107
120
  }
108
121
  };
109
122
  var setupWS = (provider) => {
@@ -115,6 +128,7 @@ var setupWS = (provider) => {
115
128
  provider.wsconnected = false;
116
129
  provider.synced = false;
117
130
  websocket.onmessage = (event) => {
131
+ if (provider.ws !== websocket) return;
118
132
  provider.wsLastMessageReceived = getUnixTime();
119
133
  const encoder = readMessage(provider, new Uint8Array(event.data), true);
120
134
  if (length(encoder) > 1) {
@@ -122,16 +136,17 @@ var setupWS = (provider) => {
122
136
  }
123
137
  };
124
138
  websocket.onerror = (event) => {
139
+ if (provider.ws !== websocket) return;
125
140
  provider.emit("connection-error", [event, provider]);
126
141
  };
127
142
  websocket.onclose = (event) => {
128
143
  closeWebsocketConnection(provider, websocket, event);
129
144
  };
130
145
  websocket.onopen = () => {
146
+ if (provider.ws !== websocket) return;
131
147
  provider.wsLastMessageReceived = getUnixTime();
132
148
  provider.wsconnecting = false;
133
149
  provider.wsconnected = true;
134
- provider.wsUnsuccessfulReconnects = 0;
135
150
  provider.emit("status", [{
136
151
  status: "connected"
137
152
  }]);
@@ -179,6 +194,7 @@ var WebsocketProvider = class extends ObservableV2 {
179
194
  * @param {number} [opts.resyncInterval] Request server state every `resyncInterval` milliseconds
180
195
  * @param {number} [opts.maxBackoffTime] Maximum amount of time to wait before trying to reconnect (we try to reconnect using exponential backoff)
181
196
  * @param {boolean} [opts.disableBc] Disable cross-tab BroadcastChannel communication
197
+ * @param {(event: CloseEvent, provider: WebsocketProvider) => boolean} [opts.shouldReconnect] Decide whether to reconnect after the server closed the connection. By default, close codes in the 4400-4499 range are permanent - we stop reconnecting and emit a `closed` event. This is never called for connections that were closed locally (e.g. via `provider.disconnect()`).
182
198
  */
183
199
  constructor(serverUrl, roomname, doc, {
184
200
  connect = true,
@@ -188,7 +204,8 @@ var WebsocketProvider = class extends ObservableV2 {
188
204
  WebSocketPolyfill = WebSocket,
189
205
  resyncInterval = -1,
190
206
  maxBackoffTime = 2500,
191
- disableBc = false
207
+ disableBc = false,
208
+ shouldReconnect = defaultShouldReconnect
192
209
  } = {}) {
193
210
  super();
194
211
  while (serverUrl[serverUrl.length - 1] === "/") {
@@ -197,6 +214,7 @@ var WebsocketProvider = class extends ObservableV2 {
197
214
  this.serverUrl = serverUrl;
198
215
  this.bcChannel = serverUrl + "/" + roomname;
199
216
  this.maxBackoffTime = maxBackoffTime;
217
+ this.shouldReconnect = shouldReconnect;
200
218
  this.params = params;
201
219
  this.protocols = protocols;
202
220
  this.roomname = roomname;
@@ -291,6 +309,9 @@ var WebsocketProvider = class extends ObservableV2 {
291
309
  set synced(state) {
292
310
  if (this._synced !== state) {
293
311
  this._synced = state;
312
+ if (state) {
313
+ this.wsUnsuccessfulReconnects = 0;
314
+ }
294
315
  this.emit("synced", [state]);
295
316
  this.emit("sync", [state]);
296
317
  }
Binary file
Binary file
@@ -16,7 +16,7 @@ var readAuthMessage = (decoder, y, permissionDeniedHandler2) => {
16
16
  // ../../node_modules/.bun/lib0@0.2.117/node_modules/lib0/url.js
17
17
  var encodeQueryParams = (params) => chunkZYQT7I5C_js.map(params, (val, key) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join("&");
18
18
 
19
- // ../../node_modules/.bun/y-websocket@3.0.0+48ebd0cf55a3d4ab/node_modules/y-websocket/src/y-websocket.js
19
+ // ../../node_modules/.bun/y-websocket@3.1.0+48ebd0cf55a3d4ab/node_modules/y-websocket/src/y-websocket.js
20
20
  var messageSync = 0;
21
21
  var messageQueryAwareness = 3;
22
22
  var messageAwareness = 1;
@@ -76,10 +76,16 @@ var readMessage = (provider, buf, emitSynced) => {
76
76
  }
77
77
  return encoder;
78
78
  };
79
+ var defaultShouldReconnect = (event) => !(event.code >= 4400 && event.code < 4500);
79
80
  var closeWebsocketConnection = (provider, ws, event) => {
80
- if (ws === provider.ws) {
81
+ if (ws !== null && ws === provider.ws) {
81
82
  provider.emit("connection-close", [event, provider]);
82
83
  provider.ws = null;
84
+ ws.onmessage = null;
85
+ ws.onopen = null;
86
+ ws.onclose = null;
87
+ ws.onerror = () => {
88
+ };
83
89
  ws.close();
84
90
  provider.wsconnecting = false;
85
91
  if (provider.wsconnected) {
@@ -95,8 +101,12 @@ var closeWebsocketConnection = (provider, ws, event) => {
95
101
  provider.emit("status", [{
96
102
  status: "disconnected"
97
103
  }]);
98
- } else {
99
- provider.wsUnsuccessfulReconnects++;
104
+ }
105
+ provider.wsUnsuccessfulReconnects++;
106
+ let terminalClose = null;
107
+ if (event != null && !provider.shouldReconnect(event, provider)) {
108
+ provider.shouldConnect = false;
109
+ terminalClose = { code: event.code, reason: event.reason };
100
110
  }
101
111
  setTimeout(
102
112
  setupWS,
@@ -106,6 +116,9 @@ var closeWebsocketConnection = (provider, ws, event) => {
106
116
  ),
107
117
  provider
108
118
  );
119
+ if (terminalClose !== null) {
120
+ provider.emit("closed", [terminalClose, provider]);
121
+ }
109
122
  }
110
123
  };
111
124
  var setupWS = (provider) => {
@@ -117,6 +130,7 @@ var setupWS = (provider) => {
117
130
  provider.wsconnected = false;
118
131
  provider.synced = false;
119
132
  websocket.onmessage = (event) => {
133
+ if (provider.ws !== websocket) return;
120
134
  provider.wsLastMessageReceived = chunkZYQT7I5C_js.getUnixTime();
121
135
  const encoder = readMessage(provider, new Uint8Array(event.data), true);
122
136
  if (chunkZYQT7I5C_js.length(encoder) > 1) {
@@ -124,16 +138,17 @@ var setupWS = (provider) => {
124
138
  }
125
139
  };
126
140
  websocket.onerror = (event) => {
141
+ if (provider.ws !== websocket) return;
127
142
  provider.emit("connection-error", [event, provider]);
128
143
  };
129
144
  websocket.onclose = (event) => {
130
145
  closeWebsocketConnection(provider, websocket, event);
131
146
  };
132
147
  websocket.onopen = () => {
148
+ if (provider.ws !== websocket) return;
133
149
  provider.wsLastMessageReceived = chunkZYQT7I5C_js.getUnixTime();
134
150
  provider.wsconnecting = false;
135
151
  provider.wsconnected = true;
136
- provider.wsUnsuccessfulReconnects = 0;
137
152
  provider.emit("status", [{
138
153
  status: "connected"
139
154
  }]);
@@ -181,6 +196,7 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
181
196
  * @param {number} [opts.resyncInterval] Request server state every `resyncInterval` milliseconds
182
197
  * @param {number} [opts.maxBackoffTime] Maximum amount of time to wait before trying to reconnect (we try to reconnect using exponential backoff)
183
198
  * @param {boolean} [opts.disableBc] Disable cross-tab BroadcastChannel communication
199
+ * @param {(event: CloseEvent, provider: WebsocketProvider) => boolean} [opts.shouldReconnect] Decide whether to reconnect after the server closed the connection. By default, close codes in the 4400-4499 range are permanent - we stop reconnecting and emit a `closed` event. This is never called for connections that were closed locally (e.g. via `provider.disconnect()`).
184
200
  */
185
201
  constructor(serverUrl, roomname, doc, {
186
202
  connect = true,
@@ -190,7 +206,8 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
190
206
  WebSocketPolyfill = WebSocket,
191
207
  resyncInterval = -1,
192
208
  maxBackoffTime = 2500,
193
- disableBc = false
209
+ disableBc = false,
210
+ shouldReconnect = defaultShouldReconnect
194
211
  } = {}) {
195
212
  super();
196
213
  while (serverUrl[serverUrl.length - 1] === "/") {
@@ -199,6 +216,7 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
199
216
  this.serverUrl = serverUrl;
200
217
  this.bcChannel = serverUrl + "/" + roomname;
201
218
  this.maxBackoffTime = maxBackoffTime;
219
+ this.shouldReconnect = shouldReconnect;
202
220
  this.params = params;
203
221
  this.protocols = protocols;
204
222
  this.roomname = roomname;
@@ -293,6 +311,9 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
293
311
  set synced(state) {
294
312
  if (this._synced !== state) {
295
313
  this._synced = state;
314
+ if (state) {
315
+ this.wsUnsuccessfulReconnects = 0;
316
+ }
296
317
  this.emit("synced", [state]);
297
318
  this.emit("sync", [state]);
298
319
  }
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-react-viewer",
3
- "version": "2.19.3",
3
+ "version": "2.19.5",
4
4
  "description": "React PowerPoint viewer and editor component: render, edit, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "editor",
@@ -93,7 +93,7 @@
93
93
  "typescript": "^7.0.2",
94
94
  "vitest": "^4.1.10",
95
95
  "y-webrtc": "^10.3.0",
96
- "y-websocket": "^3.0.0",
96
+ "y-websocket": "^3.1.0",
97
97
  "yjs": "^13.6.32"
98
98
  },
99
99
  "peerDependencies": {
@@ -121,7 +121,7 @@
121
121
  "optionalDependencies": {
122
122
  "three": "^0.185.1",
123
123
  "y-webrtc": "^10.3.0",
124
- "y-websocket": "^3.0.0",
124
+ "y-websocket": "^3.1.0",
125
125
  "yjs": "^13.6.32"
126
126
  }
127
127
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file