@cloudflare/realtimekit-ui 1.2.0-staging.1 → 1.2.0-staging.3

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.
@@ -1593,7 +1593,7 @@ const RtkMeeting = class {
1593
1593
  meeting.self.removeListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener);
1594
1594
  meeting.meta.removeListener('socketConnectionUpdate', this.socketConnectionUpdateListener);
1595
1595
  }
1596
- meetingChanged(meeting) {
1596
+ meetingChanged(meeting, oldMeeting) {
1597
1597
  var _a, _b;
1598
1598
  if (!meeting)
1599
1599
  return;
@@ -1617,7 +1617,15 @@ const RtkMeeting = class {
1617
1617
  else {
1618
1618
  this.peerStore = null;
1619
1619
  }
1620
- this.updateStates({ viewType: meeting.meta.viewType });
1620
+ const targetStore = this.peerStore || uiStore.uiStore;
1621
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
1622
+ const desiredActiveCaptionsState = !oldMeeting
1623
+ ? !!meeting.self.permissions.transcriptionEnabled
1624
+ : !!targetStore.state.states.activeCaptions;
1625
+ this.updateStates({
1626
+ viewType: meeting.meta.viewType,
1627
+ activeCaptions: desiredActiveCaptionsState,
1628
+ });
1621
1629
  if (this.loadConfigFromPreset && meeting.self.config != null) {
1622
1630
  const theme = meeting.self.config;
1623
1631
  const { config: config$1, data } = config.generateConfig(theme, meeting);
@@ -1626,14 +1634,14 @@ const RtkMeeting = class {
1626
1634
  this.showSetupScreen = data.showSetupScreen;
1627
1635
  }
1628
1636
  if (meeting.connectedMeetings.supportsConnectedMeetings &&
1629
- ((_a = (this.peerStore || uiStore.uiStore).state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
1637
+ ((_a = targetStore.state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
1630
1638
  this.showSetupScreen = false;
1631
1639
  }
1632
1640
  }
1633
1641
  if (this.applyDesignSystem &&
1634
1642
  ((_b = this.config) === null || _b === void 0 ? void 0 : _b.designTokens) != null &&
1635
1643
  typeof document !== 'undefined' &&
1636
- (this.peerStore || uiStore.uiStore).state.states.activeDebugger !== true) {
1644
+ targetStore.state.states.activeDebugger !== true) {
1637
1645
  merge.provideRtkDesignSystem(document.documentElement, this.config.designTokens);
1638
1646
  }
1639
1647
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
@@ -147,7 +147,7 @@ const RtkUiProvider = class {
147
147
  };
148
148
  this.host.addEventListener('rtkRequestStore', this.storeRequestListener);
149
149
  }
150
- meetingChanged(meeting) {
150
+ meetingChanged(meeting, oldMeeting) {
151
151
  if (meeting) {
152
152
  this.peerStore = uiStore.createPeerStore({
153
153
  meeting,
@@ -169,7 +169,14 @@ const RtkUiProvider = class {
169
169
  if (meeting) {
170
170
  const targetStore = this.peerStore || uiStore.uiStore;
171
171
  targetStore.state.meeting = meeting;
172
- this.updateStates({ viewType: meeting.meta.viewType });
172
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
173
+ const desiredActiveCaptionsState = !oldMeeting
174
+ ? !!meeting.self.permissions.transcriptionEnabled
175
+ : !!targetStore.state.states.activeCaptions;
176
+ this.updateStates({
177
+ viewType: meeting.meta.viewType,
178
+ activeCaptions: desiredActiveCaptionsState,
179
+ });
173
180
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
174
181
  meeting.self.addListener('waitlisted', this.waitlistedListener);
175
182
  meeting.self.addListener('roomLeft', this.roomLeftListener);
@@ -173,7 +173,7 @@ export class RtkMeeting {
173
173
  meeting.self.removeListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener);
174
174
  meeting.meta.removeListener('socketConnectionUpdate', this.socketConnectionUpdateListener);
175
175
  }
176
- meetingChanged(meeting) {
176
+ meetingChanged(meeting, oldMeeting) {
177
177
  var _a, _b;
178
178
  if (!meeting)
179
179
  return;
@@ -197,7 +197,15 @@ export class RtkMeeting {
197
197
  else {
198
198
  this.peerStore = null;
199
199
  }
200
- this.updateStates({ viewType: meeting.meta.viewType });
200
+ const targetStore = this.peerStore || legacyGlobalUIStore;
201
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
202
+ const desiredActiveCaptionsState = !oldMeeting
203
+ ? !!meeting.self.permissions.transcriptionEnabled
204
+ : !!targetStore.state.states.activeCaptions;
205
+ this.updateStates({
206
+ viewType: meeting.meta.viewType,
207
+ activeCaptions: desiredActiveCaptionsState,
208
+ });
201
209
  if (this.loadConfigFromPreset && meeting.self.config != null) {
202
210
  const theme = meeting.self.config;
203
211
  const { config, data } = generateConfig(theme, meeting);
@@ -206,14 +214,14 @@ export class RtkMeeting {
206
214
  this.showSetupScreen = data.showSetupScreen;
207
215
  }
208
216
  if (meeting.connectedMeetings.supportsConnectedMeetings &&
209
- ((_a = (this.peerStore || legacyGlobalUIStore).state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
217
+ ((_a = targetStore.state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
210
218
  this.showSetupScreen = false;
211
219
  }
212
220
  }
213
221
  if (this.applyDesignSystem &&
214
222
  ((_b = this.config) === null || _b === void 0 ? void 0 : _b.designTokens) != null &&
215
223
  typeof document !== 'undefined' &&
216
- (this.peerStore || legacyGlobalUIStore).state.states.activeDebugger !== true) {
224
+ targetStore.state.states.activeDebugger !== true) {
217
225
  provideRtkDesignSystem(document.documentElement, this.config.designTokens);
218
226
  }
219
227
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
@@ -138,7 +138,7 @@ export class RtkUiProvider {
138
138
  };
139
139
  this.host.addEventListener('rtkRequestStore', this.storeRequestListener);
140
140
  }
141
- meetingChanged(meeting) {
141
+ meetingChanged(meeting, oldMeeting) {
142
142
  if (meeting) {
143
143
  this.peerStore = createPeerStore({
144
144
  meeting,
@@ -160,7 +160,14 @@ export class RtkUiProvider {
160
160
  if (meeting) {
161
161
  const targetStore = this.peerStore || legacyGlobalUIStore;
162
162
  targetStore.state.meeting = meeting;
163
- this.updateStates({ viewType: meeting.meta.viewType });
163
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
164
+ const desiredActiveCaptionsState = !oldMeeting
165
+ ? !!meeting.self.permissions.transcriptionEnabled
166
+ : !!targetStore.state.states.activeCaptions;
167
+ this.updateStates({
168
+ viewType: meeting.meta.viewType,
169
+ activeCaptions: desiredActiveCaptionsState,
170
+ });
164
171
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
165
172
  meeting.self.addListener('waitlisted', this.waitlistedListener);
166
173
  meeting.self.addListener('roomLeft', this.roomLeftListener);
@@ -219,7 +219,7 @@ const RtkMeeting$1 = /*@__PURE__*/ proxyCustomElement(class RtkMeeting extends H
219
219
  meeting.self.removeListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener);
220
220
  meeting.meta.removeListener('socketConnectionUpdate', this.socketConnectionUpdateListener);
221
221
  }
222
- meetingChanged(meeting) {
222
+ meetingChanged(meeting, oldMeeting) {
223
223
  var _a, _b;
224
224
  if (!meeting)
225
225
  return;
@@ -243,7 +243,15 @@ const RtkMeeting$1 = /*@__PURE__*/ proxyCustomElement(class RtkMeeting extends H
243
243
  else {
244
244
  this.peerStore = null;
245
245
  }
246
- this.updateStates({ viewType: meeting.meta.viewType });
246
+ const targetStore = this.peerStore || uiStore;
247
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
248
+ const desiredActiveCaptionsState = !oldMeeting
249
+ ? !!meeting.self.permissions.transcriptionEnabled
250
+ : !!targetStore.state.states.activeCaptions;
251
+ this.updateStates({
252
+ viewType: meeting.meta.viewType,
253
+ activeCaptions: desiredActiveCaptionsState,
254
+ });
247
255
  if (this.loadConfigFromPreset && meeting.self.config != null) {
248
256
  const theme = meeting.self.config;
249
257
  const { config, data } = generateConfig(theme, meeting);
@@ -252,14 +260,14 @@ const RtkMeeting$1 = /*@__PURE__*/ proxyCustomElement(class RtkMeeting extends H
252
260
  this.showSetupScreen = data.showSetupScreen;
253
261
  }
254
262
  if (meeting.connectedMeetings.supportsConnectedMeetings &&
255
- ((_a = (this.peerStore || uiStore).state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
263
+ ((_a = targetStore.state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
256
264
  this.showSetupScreen = false;
257
265
  }
258
266
  }
259
267
  if (this.applyDesignSystem &&
260
268
  ((_b = this.config) === null || _b === void 0 ? void 0 : _b.designTokens) != null &&
261
269
  typeof document !== 'undefined' &&
262
- (this.peerStore || uiStore).state.states.activeDebugger !== true) {
270
+ targetStore.state.states.activeDebugger !== true) {
263
271
  provideRtkDesignSystem(document.documentElement, this.config.designTokens);
264
272
  }
265
273
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
@@ -145,7 +145,7 @@ const RtkUiProvider$1 = /*@__PURE__*/ proxyCustomElement(class RtkUiProvider ext
145
145
  };
146
146
  this.host.addEventListener('rtkRequestStore', this.storeRequestListener);
147
147
  }
148
- meetingChanged(meeting) {
148
+ meetingChanged(meeting, oldMeeting) {
149
149
  if (meeting) {
150
150
  this.peerStore = createPeerStore({
151
151
  meeting,
@@ -167,7 +167,14 @@ const RtkUiProvider$1 = /*@__PURE__*/ proxyCustomElement(class RtkUiProvider ext
167
167
  if (meeting) {
168
168
  const targetStore = this.peerStore || uiStore;
169
169
  targetStore.state.meeting = meeting;
170
- this.updateStates({ viewType: meeting.meta.viewType });
170
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
171
+ const desiredActiveCaptionsState = !oldMeeting
172
+ ? !!meeting.self.permissions.transcriptionEnabled
173
+ : !!targetStore.state.states.activeCaptions;
174
+ this.updateStates({
175
+ viewType: meeting.meta.viewType,
176
+ activeCaptions: desiredActiveCaptionsState,
177
+ });
171
178
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
172
179
  meeting.self.addListener('waitlisted', this.waitlistedListener);
173
180
  meeting.self.addListener('roomLeft', this.roomLeftListener);
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-05-14T04:11:11",
2
+ "timestamp": "2026-05-14T09:11:03",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.27.2",
@@ -14357,7 +14357,7 @@ const RtkMeeting = class {
14357
14357
  meeting.self.removeListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener);
14358
14358
  meeting.meta.removeListener('socketConnectionUpdate', this.socketConnectionUpdateListener);
14359
14359
  }
14360
- meetingChanged(meeting) {
14360
+ meetingChanged(meeting, oldMeeting) {
14361
14361
  var _a, _b;
14362
14362
  if (!meeting)
14363
14363
  return;
@@ -14381,7 +14381,15 @@ const RtkMeeting = class {
14381
14381
  else {
14382
14382
  this.peerStore = null;
14383
14383
  }
14384
- this.updateStates({ viewType: meeting.meta.viewType });
14384
+ const targetStore = this.peerStore || uiStore;
14385
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
14386
+ const desiredActiveCaptionsState = !oldMeeting
14387
+ ? !!meeting.self.permissions.transcriptionEnabled
14388
+ : !!targetStore.state.states.activeCaptions;
14389
+ this.updateStates({
14390
+ viewType: meeting.meta.viewType,
14391
+ activeCaptions: desiredActiveCaptionsState,
14392
+ });
14385
14393
  if (this.loadConfigFromPreset && meeting.self.config != null) {
14386
14394
  const theme = meeting.self.config;
14387
14395
  const { config, data } = generateConfig(theme, meeting);
@@ -14390,14 +14398,14 @@ const RtkMeeting = class {
14390
14398
  this.showSetupScreen = data.showSetupScreen;
14391
14399
  }
14392
14400
  if (meeting.connectedMeetings.supportsConnectedMeetings &&
14393
- ((_a = (this.peerStore || uiStore).state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
14401
+ ((_a = targetStore.state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
14394
14402
  this.showSetupScreen = false;
14395
14403
  }
14396
14404
  }
14397
14405
  if (this.applyDesignSystem &&
14398
14406
  ((_b = this.config) === null || _b === void 0 ? void 0 : _b.designTokens) != null &&
14399
14407
  typeof document !== 'undefined' &&
14400
- (this.peerStore || uiStore).state.states.activeDebugger !== true) {
14408
+ targetStore.state.states.activeDebugger !== true) {
14401
14409
  provideRtkDesignSystem(document.documentElement, this.config.designTokens);
14402
14410
  }
14403
14411
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
@@ -23753,7 +23761,7 @@ const RtkUiProvider = class {
23753
23761
  };
23754
23762
  this.host.addEventListener('rtkRequestStore', this.storeRequestListener);
23755
23763
  }
23756
- meetingChanged(meeting) {
23764
+ meetingChanged(meeting, oldMeeting) {
23757
23765
  if (meeting) {
23758
23766
  this.peerStore = createPeerStore({
23759
23767
  meeting,
@@ -23775,7 +23783,14 @@ const RtkUiProvider = class {
23775
23783
  if (meeting) {
23776
23784
  const targetStore = this.peerStore || uiStore;
23777
23785
  targetStore.state.meeting = meeting;
23778
- this.updateStates({ viewType: meeting.meta.viewType });
23786
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
23787
+ const desiredActiveCaptionsState = !oldMeeting
23788
+ ? !!meeting.self.permissions.transcriptionEnabled
23789
+ : !!targetStore.state.states.activeCaptions;
23790
+ this.updateStates({
23791
+ viewType: meeting.meta.viewType,
23792
+ activeCaptions: desiredActiveCaptionsState,
23793
+ });
23779
23794
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
23780
23795
  meeting.self.addListener('waitlisted', this.waitlistedListener);
23781
23796
  meeting.self.addListener('roomLeft', this.roomLeftListener);
@@ -1589,7 +1589,7 @@ const RtkMeeting = class {
1589
1589
  meeting.self.removeListener('mediaPermissionUpdate', this.mediaPermissionUpdateListener);
1590
1590
  meeting.meta.removeListener('socketConnectionUpdate', this.socketConnectionUpdateListener);
1591
1591
  }
1592
- meetingChanged(meeting) {
1592
+ meetingChanged(meeting, oldMeeting) {
1593
1593
  var _a, _b;
1594
1594
  if (!meeting)
1595
1595
  return;
@@ -1613,7 +1613,15 @@ const RtkMeeting = class {
1613
1613
  else {
1614
1614
  this.peerStore = null;
1615
1615
  }
1616
- this.updateStates({ viewType: meeting.meta.viewType });
1616
+ const targetStore = this.peerStore || uiStore;
1617
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
1618
+ const desiredActiveCaptionsState = !oldMeeting
1619
+ ? !!meeting.self.permissions.transcriptionEnabled
1620
+ : !!targetStore.state.states.activeCaptions;
1621
+ this.updateStates({
1622
+ viewType: meeting.meta.viewType,
1623
+ activeCaptions: desiredActiveCaptionsState,
1624
+ });
1617
1625
  if (this.loadConfigFromPreset && meeting.self.config != null) {
1618
1626
  const theme = meeting.self.config;
1619
1627
  const { config, data } = generateConfig(theme, meeting);
@@ -1622,14 +1630,14 @@ const RtkMeeting = class {
1622
1630
  this.showSetupScreen = data.showSetupScreen;
1623
1631
  }
1624
1632
  if (meeting.connectedMeetings.supportsConnectedMeetings &&
1625
- ((_a = (this.peerStore || uiStore).state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
1633
+ ((_a = targetStore.state.states.activeBreakoutRoomsManager) === null || _a === void 0 ? void 0 : _a.destinationMeetingId)) {
1626
1634
  this.showSetupScreen = false;
1627
1635
  }
1628
1636
  }
1629
1637
  if (this.applyDesignSystem &&
1630
1638
  ((_b = this.config) === null || _b === void 0 ? void 0 : _b.designTokens) != null &&
1631
1639
  typeof document !== 'undefined' &&
1632
- (this.peerStore || uiStore).state.states.activeDebugger !== true) {
1640
+ targetStore.state.states.activeDebugger !== true) {
1633
1641
  provideRtkDesignSystem(document.documentElement, this.config.designTokens);
1634
1642
  }
1635
1643
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
@@ -143,7 +143,7 @@ const RtkUiProvider = class {
143
143
  };
144
144
  this.host.addEventListener('rtkRequestStore', this.storeRequestListener);
145
145
  }
146
- meetingChanged(meeting) {
146
+ meetingChanged(meeting, oldMeeting) {
147
147
  if (meeting) {
148
148
  this.peerStore = createPeerStore({
149
149
  meeting,
@@ -165,7 +165,14 @@ const RtkUiProvider = class {
165
165
  if (meeting) {
166
166
  const targetStore = this.peerStore || uiStore;
167
167
  targetStore.state.meeting = meeting;
168
- this.updateStates({ viewType: meeting.meta.viewType });
168
+ /** Honor user's explicit choice for captions, but respect preset default if no explicit choice */
169
+ const desiredActiveCaptionsState = !oldMeeting
170
+ ? !!meeting.self.permissions.transcriptionEnabled
171
+ : !!targetStore.state.states.activeCaptions;
172
+ this.updateStates({
173
+ viewType: meeting.meta.viewType,
174
+ activeCaptions: desiredActiveCaptionsState,
175
+ });
169
176
  meeting.self.addListener('roomJoined', this.roomJoinedListener);
170
177
  meeting.self.addListener('waitlisted', this.waitlistedListener);
171
178
  meeting.self.addListener('roomLeft', this.roomLeftListener);
@@ -1 +1 @@
1
- import{r as t,d as i,h as e,a as s,g as h}from"./p-a599f720.js";import{e as o,i as r,c as n,f as a,u as d,b as c}from"./p-70d24051.js";import{d as p,p as g}from"./p-7c3d18d6.js";const l=class{constructor(e){t(this,e),this.statesUpdate=i(this,"rtkStatesUpdate",7),this.peerStore=null,this.providerId="provider-"+Math.floor(100*Math.random()),this.meeting=null,this.iconPack=o,this.t=r(),this.config=n(),this.mode="fixed",this.showSetupScreen=!1,this.overrides=a,this.roomJoinedListener=()=>{this.updateStates({meeting:"joined"})},this.waitlistedListener=()=>{this.updateStates({meeting:"waiting"})},this.roomLeftListener=({state:t})=>{"disconnected"!==t&&"failed"!==t&&this.updateStates({meeting:"ended",roomLeftState:t})},this.mediaPermissionUpdateListener=({kind:t,message:i})=>{!["audio","video"].includes(t)||"DENIED"!==i&&"SYSTEM_DENIED"!==i||!0===(this.peerStore||d).state.states.activeDebugger||this.updateStates({activePermissionsMessage:{enabled:!0,kind:t}})},this.socketConnectionUpdateListener=({state:t})=>{"failed"===t&&setTimeout((()=>{this.meeting.leave("disconnected")}),1e4)},this.handleChangingMeeting=t=>{this.updateStates({activeBreakoutRoomsManager:Object.assign(Object.assign({},this.peerStore.state.states.activeBreakoutRoomsManager),{destinationMeetingId:t})})}}connectedCallback(){"undefined"!=typeof window&&(this.authErrorListener=t=>{t.detail.message.includes("401")&&this.updateStates({meeting:"ended",roomLeftState:"unauthorized"})},window.addEventListener("rtkError",this.authErrorListener)),this.setupStoreRequestListener(),this.meetingChanged(this.meeting),this.iconPackChanged(this.iconPack),this.tChanged(this.t),this.configChanged(this.config),this.overridesChanged(this.overrides)}disconnectedCallback(){window.removeEventListener("rtkError",this.authErrorListener),this.storeRequestListener&&this.host.removeEventListener("rtkRequestStore",this.storeRequestListener),this.stateUpdateListener&&this.host.removeEventListener("rtkStateUpdate",this.stateUpdateListener),this.meeting&&(this.meeting.self.removeListener("roomLeft",this.roomLeftListener),this.meeting.self.removeListener("roomJoined",this.roomJoinedListener),this.meeting.self.removeListener("waitlisted",this.waitlistedListener),this.meeting.self.removeListener("mediaPermissionUpdate",this.mediaPermissionUpdateListener),this.meeting.meta.removeListener("socketConnectionUpdate",this.socketConnectionUpdateListener))}updateStates(t){const i=this.peerStore||d,e=Object.assign({},i.state.states);i.state.states=p(e,t),this.statesUpdate.emit(i.state.states);const s=new CustomEvent("rtkStatesUpdate",{detail:i.state.states,bubbles:!0,composed:!0});this.host.dispatchEvent(s)}setupStateUpdateListener(){this.stateUpdateListener&&this.host.removeEventListener("rtkStateUpdate",this.stateUpdateListener),this.stateUpdateListener=t=>{this.updateStates(t.detail)},this.host.addEventListener("rtkStateUpdate",this.stateUpdateListener)}setupStoreRequestListener(){this.storeRequestListener&&this.host.removeEventListener("rtkRequestStore",this.storeRequestListener),this.storeRequestListener=t=>{if(!this.peerStore)return;const i=new CustomEvent("rtkProvideStore",{detail:{store:this.peerStore,requestId:t.detail.requestId}});document.dispatchEvent(i),t.stopPropagation()},this.host.addEventListener("rtkRequestStore",this.storeRequestListener)}meetingChanged(t){t&&(this.peerStore=c({meeting:t,config:this.config,iconPack:this.iconPack,t:this.t,providerId:this.providerId,overrides:p(Object.assign({},a),this.overrides)}),document.dispatchEvent(new CustomEvent("rtkPeerStoreReady",{detail:{peerId:t.self.id}}))),this.setupStateUpdateListener(),t&&((this.peerStore||d).state.meeting=t,this.updateStates({viewType:t.meta.viewType}),t.self.addListener("roomJoined",this.roomJoinedListener),t.self.addListener("waitlisted",this.waitlistedListener),t.self.addListener("roomLeft",this.roomLeftListener),t.self.addListener("mediaPermissionUpdate",this.mediaPermissionUpdateListener),t.meta.addListener("socketConnectionUpdate",this.socketConnectionUpdateListener),t.connectedMeetings.supportsConnectedMeetings&&t.connectedMeetings.once("changingMeeting",this.handleChangingMeeting),t.self.roomJoined?this.updateStates({meeting:"joined"}):this.showSetupScreen?this.updateStates({meeting:"setup"}):t.joinRoom(),window.removeEventListener("rtkError",this.authErrorListener))}iconPackChanged(t){this.peerStore&&(this.peerStore.state.iconPack=t)}tChanged(t){this.peerStore&&(this.peerStore.state.t=t)}configChanged(t){this.peerStore&&(this.peerStore.state.config=t),(null==t?void 0:t.designTokens)&&"undefined"!=typeof document&&!0!==(this.peerStore||d).state.states.activeDebugger&&g(document.documentElement,t.designTokens)}overridesChanged(t){this.peerStore&&(this.peerStore.state.overrides=p(Object.assign({},a),t))}render(){return this.meeting?e(s,null,e("slot",null)):null}get host(){return h(this)}static get watchers(){return{meeting:["meetingChanged"],iconPack:["iconPackChanged"],t:["tChanged"],config:["configChanged"],overrides:["overridesChanged"]}}};l.style=":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{box-sizing:border-box;display:flex;flex-direction:column;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));overflow:hidden;position:fixed;top:var(--rtk-space-0, 0px);right:var(--rtk-space-0, 0px);bottom:var(--rtk-space-0, 0px);left:var(--rtk-space-0, 0px);height:100%;width:100%}:host([mode='fill']){position:relative}";export{l as rtk_ui_provider}
1
+ import{r as t,d as i,h as e,a as s,g as o}from"./p-a599f720.js";import{e as h,i as n,c as r,f as a,u as d,b as c}from"./p-70d24051.js";import{d as p,p as g}from"./p-7c3d18d6.js";const l=class{constructor(e){t(this,e),this.statesUpdate=i(this,"rtkStatesUpdate",7),this.peerStore=null,this.providerId="provider-"+Math.floor(100*Math.random()),this.meeting=null,this.iconPack=h,this.t=n(),this.config=r(),this.mode="fixed",this.showSetupScreen=!1,this.overrides=a,this.roomJoinedListener=()=>{this.updateStates({meeting:"joined"})},this.waitlistedListener=()=>{this.updateStates({meeting:"waiting"})},this.roomLeftListener=({state:t})=>{"disconnected"!==t&&"failed"!==t&&this.updateStates({meeting:"ended",roomLeftState:t})},this.mediaPermissionUpdateListener=({kind:t,message:i})=>{!["audio","video"].includes(t)||"DENIED"!==i&&"SYSTEM_DENIED"!==i||!0===(this.peerStore||d).state.states.activeDebugger||this.updateStates({activePermissionsMessage:{enabled:!0,kind:t}})},this.socketConnectionUpdateListener=({state:t})=>{"failed"===t&&setTimeout((()=>{this.meeting.leave("disconnected")}),1e4)},this.handleChangingMeeting=t=>{this.updateStates({activeBreakoutRoomsManager:Object.assign(Object.assign({},this.peerStore.state.states.activeBreakoutRoomsManager),{destinationMeetingId:t})})}}connectedCallback(){"undefined"!=typeof window&&(this.authErrorListener=t=>{t.detail.message.includes("401")&&this.updateStates({meeting:"ended",roomLeftState:"unauthorized"})},window.addEventListener("rtkError",this.authErrorListener)),this.setupStoreRequestListener(),this.meetingChanged(this.meeting),this.iconPackChanged(this.iconPack),this.tChanged(this.t),this.configChanged(this.config),this.overridesChanged(this.overrides)}disconnectedCallback(){window.removeEventListener("rtkError",this.authErrorListener),this.storeRequestListener&&this.host.removeEventListener("rtkRequestStore",this.storeRequestListener),this.stateUpdateListener&&this.host.removeEventListener("rtkStateUpdate",this.stateUpdateListener),this.meeting&&(this.meeting.self.removeListener("roomLeft",this.roomLeftListener),this.meeting.self.removeListener("roomJoined",this.roomJoinedListener),this.meeting.self.removeListener("waitlisted",this.waitlistedListener),this.meeting.self.removeListener("mediaPermissionUpdate",this.mediaPermissionUpdateListener),this.meeting.meta.removeListener("socketConnectionUpdate",this.socketConnectionUpdateListener))}updateStates(t){const i=this.peerStore||d,e=Object.assign({},i.state.states);i.state.states=p(e,t),this.statesUpdate.emit(i.state.states);const s=new CustomEvent("rtkStatesUpdate",{detail:i.state.states,bubbles:!0,composed:!0});this.host.dispatchEvent(s)}setupStateUpdateListener(){this.stateUpdateListener&&this.host.removeEventListener("rtkStateUpdate",this.stateUpdateListener),this.stateUpdateListener=t=>{this.updateStates(t.detail)},this.host.addEventListener("rtkStateUpdate",this.stateUpdateListener)}setupStoreRequestListener(){this.storeRequestListener&&this.host.removeEventListener("rtkRequestStore",this.storeRequestListener),this.storeRequestListener=t=>{if(!this.peerStore)return;const i=new CustomEvent("rtkProvideStore",{detail:{store:this.peerStore,requestId:t.detail.requestId}});document.dispatchEvent(i),t.stopPropagation()},this.host.addEventListener("rtkRequestStore",this.storeRequestListener)}meetingChanged(t,i){if(t&&(this.peerStore=c({meeting:t,config:this.config,iconPack:this.iconPack,t:this.t,providerId:this.providerId,overrides:p(Object.assign({},a),this.overrides)}),document.dispatchEvent(new CustomEvent("rtkPeerStoreReady",{detail:{peerId:t.self.id}}))),this.setupStateUpdateListener(),t){const e=this.peerStore||d;e.state.meeting=t,this.updateStates({viewType:t.meta.viewType,activeCaptions:i?!!e.state.states.activeCaptions:!!t.self.permissions.transcriptionEnabled}),t.self.addListener("roomJoined",this.roomJoinedListener),t.self.addListener("waitlisted",this.waitlistedListener),t.self.addListener("roomLeft",this.roomLeftListener),t.self.addListener("mediaPermissionUpdate",this.mediaPermissionUpdateListener),t.meta.addListener("socketConnectionUpdate",this.socketConnectionUpdateListener),t.connectedMeetings.supportsConnectedMeetings&&t.connectedMeetings.once("changingMeeting",this.handleChangingMeeting),t.self.roomJoined?this.updateStates({meeting:"joined"}):this.showSetupScreen?this.updateStates({meeting:"setup"}):t.joinRoom(),window.removeEventListener("rtkError",this.authErrorListener)}}iconPackChanged(t){this.peerStore&&(this.peerStore.state.iconPack=t)}tChanged(t){this.peerStore&&(this.peerStore.state.t=t)}configChanged(t){this.peerStore&&(this.peerStore.state.config=t),(null==t?void 0:t.designTokens)&&"undefined"!=typeof document&&!0!==(this.peerStore||d).state.states.activeDebugger&&g(document.documentElement,t.designTokens)}overridesChanged(t){this.peerStore&&(this.peerStore.state.overrides=p(Object.assign({},a),t))}render(){return this.meeting?e(s,null,e("slot",null)):null}get host(){return o(this)}static get watchers(){return{meeting:["meetingChanged"],iconPack:["iconPackChanged"],t:["tChanged"],config:["configChanged"],overrides:["overridesChanged"]}}};l.style=":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{box-sizing:border-box;display:flex;flex-direction:column;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));overflow:hidden;position:fixed;top:var(--rtk-space-0, 0px);right:var(--rtk-space-0, 0px);bottom:var(--rtk-space-0, 0px);left:var(--rtk-space-0, 0px);height:100%;width:100%}:host([mode='fill']){position:relative}";export{l as rtk_ui_provider}