@digitalsamba/embedded-sdk 0.0.35 → 0.0.37
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.
- package/dist/cjs/index.d.ts +7 -3
- package/dist/cjs/index.js +45 -3
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +16 -2
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/utils/vars.js +1 -0
- package/dist/demo/index.js +1 -1
- package/dist/esm/index.d.ts +7 -3
- package/dist/esm/index.js +45 -3
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +16 -2
- package/dist/esm/types.js +2 -0
- package/dist/esm/utils/vars.js +1 -0
- package/dist/types/index.d.ts +7 -3
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/types.d.ts +16 -2
- package/dist/umd/index.js +1 -1
- package/package.json +1 -1
- package/CHANGELOG.md +0 -33
- package/dist/index.js +0 -194
package/dist/umd/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DigitalSambaEmbedded=t():e.DigitalSambaEmbedded=t()}(this,(()=>(()=>{"use strict";var e={187:e=>{var t,s="object"==typeof Reflect?Reflect:null,i=s&&"function"==typeof s.apply?s.apply:function(e,t,s){return Function.prototype.apply.call(e,t,s)};t=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}e.exports=n,e.exports.once=function(e,t){return new Promise((function(s,i){function o(s){e.removeListener(t,n),i(s)}function n(){"function"==typeof e.removeListener&&e.removeListener("error",o),s([].slice.call(arguments))}g(e,t,n,{once:!0}),"error"!==t&&function(e,t,s){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,o)}))},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var r=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function d(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function h(e,t,s,i){var o,n,r,h;if(a(s),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,s.listener?s.listener:s),n=e._events),r=n[t]),void 0===r)r=n[t]=s,++e._eventsCount;else if("function"==typeof r?r=n[t]=i?[s,r]:[r,s]:i?r.unshift(s):r.push(s),(o=d(e))>0&&r.length>o&&!r.warned){r.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+r.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=r.length,h=l,console&&console.warn&&console.warn(h)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function c(e,t,s){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:s},o=l.bind(i);return o.listener=s,i.wrapFn=o,o}function u(e,t,s){var i=e._events;if(void 0===i)return[];var o=i[t];return void 0===o?[]:"function"==typeof o?s?[o.listener||o]:[o]:s?function(e){for(var t=new Array(e.length),s=0;s<t.length;++s)t[s]=e[s].listener||e[s];return t}(o):p(o,o.length)}function m(e){var t=this._events;if(void 0!==t){var s=t[e];if("function"==typeof s)return 1;if(void 0!==s)return s.length}return 0}function p(e,t){for(var s=new Array(t),i=0;i<t;++i)s[i]=e[i];return s}function g(e,t,s,i){if("function"==typeof e.on)i.once?e.once(t,s):e.on(t,s);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function o(n){i.once&&e.removeEventListener(t,o),s(n)}))}}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return r},set:function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");r=e}}),n.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return d(this)},n.prototype.emit=function(e){for(var t=[],s=1;s<arguments.length;s++)t.push(arguments[s]);var o="error"===e,n=this._events;if(void 0!==n)o=o&&void 0===n.error;else if(!o)return!1;if(o){var r;if(t.length>0&&(r=t[0]),r instanceof Error)throw r;var a=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw a.context=r,a}var d=n[e];if(void 0===d)return!1;if("function"==typeof d)i(d,this,t);else{var h=d.length,l=p(d,h);for(s=0;s<h;++s)i(l[s],this,t)}return!0},n.prototype.addListener=function(e,t){return h(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return h(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,c(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,c(this,e,t)),this},n.prototype.removeListener=function(e,t){var s,i,o,n,r;if(a(t),void 0===(i=this._events))return this;if(void 0===(s=i[e]))return this;if(s===t||s.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,s.listener||t));else if("function"!=typeof s){for(o=-1,n=s.length-1;n>=0;n--)if(s[n]===t||s[n].listener===t){r=s[n].listener,o=n;break}if(o<0)return this;0===o?s.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(s,o),1===s.length&&(i[e]=s[0]),void 0!==i.removeListener&&this.emit("removeListener",e,r||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,s,i;if(void 0===(s=this._events))return this;if(void 0===s.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==s[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete s[e]),this;if(0===arguments.length){var o,n=Object.keys(s);for(i=0;i<n.length;++i)"removeListener"!==(o=n[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=s[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return u(this,e,!0)},n.prototype.rawListeners=function(e){return u(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},n.prototype.listenerCount=m,n.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},432:function(e,t,s){var i,o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(o,n){function r(e){try{d(i.next(e))}catch(e){n(e)}}function a(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(r,a)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DigitalSambaEmbedded=void 0;const n=s(187),r=s(737),a=s(480),d=s(604),h=s(517);class l extends n.EventEmitter{constructor(e={},t={},s=!0){super(),this.roomSettings={},this.savedIframeSrc="",this.allowedOrigin="*",this.connected=!1,this.frame=document.createElement("iframe"),this.reportErrors=!1,this.permissionManager=new r.PermissionManager(this),this.queuedEventListeners=[],this.queuedUICallbacks=[],this.mountFrame=e=>{const{url:t,frame:s,root:i}=this.initOptions;if(i?i.appendChild(this.frame):s?(this.frame=s,s.allow||this.logError(h.ALLOW_ATTRIBUTE_MISSING)):document.body.appendChild(this.frame),t||this.frame.src&&this.frame.src!==window.location.href)try{let e=t||this.frame.src;e.includes("https://")||(e="https://"+e);const s=new URL(e).toString();this.frame.src=s,this.savedIframeSrc=s}catch(e){this.logError(h.INVALID_URL)}e||(this.savedIframeSrc=this.frame.src,this.frame.src="")},this.load=(e={})=>{this.reportErrors=e.reportErrors||!1,this.setFrameSrc(),this.applyFrameProperties(e),this.frame.style.display="block"},this.prepareRoomSettings=e=>o(this,void 0,void 0,(function*(){var t;if(null!==(t=e.mediaDevices)&&void 0!==t||(e.mediaDevices={}),e.mediaDevices){const t=yield navigator.mediaDevices.enumerateDevices();Object.entries(e.mediaDevices).forEach((([s,i])=>{const o=t.find((e=>e.deviceId===i));o&&(e.mediaDevices[s]=o.label)}))}if(e.appLanguage&&(this.stored.roomState.appLanguage=e.appLanguage),e.initials)try{e.initials=e.initials.trim()}catch(t){e.initials=void 0}this.roomSettings=e})),this.onMessage=e=>{if(e.origin!==this.allowedOrigin)return;const t=e.data.DSPayload;t&&t.type&&(a.internalEvents[t.type]?this.handleInternalMessage(e.data):this._emit(t.type,t))},this.addFrameEventListener=(e,t,s)=>{const i=`frameEvent_${e}_${t}`;this.connected?this.listenerCount(i)||this.sendMessage({type:"connectEventListener",data:{eventName:e,target:t}}):this.queuedEventListeners.push({operation:"connectEventListener",event:e,target:t}),this.on(i,s)},this.removeFrameEventListener=(e,t,s)=>{const i=`frameEvent_${e}_${t}`;this.off(i,s),this.connected?this.listenerCount(e)||this.sendMessage({type:"disconnectEventListener",data:{eventName:e,target:t}}):this.queuedEventListeners.push({operation:"disconnectEventListener",event:e,target:t})},this.addUICallback=(e,t)=>{const s=`UICallback_${e}`;this.connected?this.listenerCount(s)||this.sendMessage({type:"connectUICallback",data:{name:e}}):this.queuedUICallbacks.push({operation:"connectUICallback",name:e}),this.on(s,t)},this.removeUICallback=(e,t)=>{const s=`UICallback_${e}`;this.off(s,t),this.connected?this.listenerCount(s)||this.sendMessage({type:"disconnectUICallback",data:{name:e}}):this.queuedUICallbacks.push({operation:"disconnectUICallback",name:e})},this.setupInternalEventListeners=()=>{this.on("userJoined",(e=>{const{user:t,type:s}=e.data;this.stored.users[t.id]=Object.assign(Object.assign({},t),{kind:s}),"local"===s&&(this.stored.userId=t.id),this.emitUsersUpdated()})),this.on("userLeft",(e=>{var t,s;(null===(s=null===(t=e.data)||void 0===t?void 0:t.user)||void 0===s?void 0:s.id)&&delete this.stored.users[e.data.user.id],this.emitUsersUpdated()})),this.on("appLanguageChanged",(({data:e})=>{this.stored.roomState.appLanguage=e.language})),this.on("permissionsChanged",(e=>{if(this.stored.users[this.stored.userId]){let t=[...this.stored.users[this.stored.userId].dynamicPermissions||[]];Object.entries(e.data).forEach((([e,s])=>{s&&!t.includes(e)&&t.push(e),s||(t=t.filter((t=>t!==e)))})),this.stored.users[this.stored.userId].dynamicPermissions=t}})),this.on("roleChanged",(e=>{const{userId:t,to:s}=e.data;this.stored.users[t]&&(this.stored.users[t].role=s)})),this.on("activeSpeakerChanged",(e=>{var t,s;this.stored.activeSpeaker=null===(s=null===(t=e.data)||void 0===t?void 0:t.user)||void 0===s?void 0:s.id})),this.on("videoEnabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.videoEnabled=!0)})),this.on("videoDisabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.videoEnabled=!1)})),this.on("audioEnabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.audioEnabled=!0)})),this.on("audioDisabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.audioEnabled=!1)})),this.on("layoutModeChanged",(e=>{this.stored.roomState.layout.mode=e.data.mode})),this.on("captionsSpokenLanguageChanged",(e=>{this.stored.roomState.captionsState.spokenLanguage=e.data.language})),this.on("captionsEnabled",(()=>{this.stored.roomState.captionsState.showCaptions=!0})),this.on("captionsDisabled",(()=>{this.stored.roomState.captionsState.showCaptions=!1})),this.on("captionsFontSizeChanged",(e=>{this.stored.roomState.captionsState.fontSize=e.data.fontSize})),this.on("virtualBackgroundChanged",(e=>{const{type:t,value:s,enforced:i,name:o}=e.data.virtualBackgroundConfig;this.stored.roomState.virtualBackground={enabled:!0,type:t,value:s,name:o,enforced:i}})),this.on("virtualBackgroundDisabled",(e=>{this.stored.roomState.virtualBackground={enabled:!1}})),this.on("localTileMinimized",(()=>{this.stored.roomState.layout.localTileMinimized=!0})),this.on("localTileMaximized",(()=>{this.stored.roomState.layout.localTileMinimized=!1})),this.on("userMaximized",(({data:e})=>{this.stored.roomState.layout.content={userId:e.userId,type:e.type},this.stored.roomState.layout.contentMode=e.mode})),this.on("userMinimized",(()=>{this.stored.roomState.layout.content=void 0,this.stored.roomState.layout.contentMode=void 0}))},this._emit=(e,...t)=>(this.emit("*",...t),this.emit(e,...t)),this.handleInternalMessage=e=>o(this,void 0,void 0,(function*(){const t=e.DSPayload;switch(t.type){case"roomJoined":{const{users:e,roomState:s,activeSpeaker:i,permissionsMap:o,features:n}=t.data;this.stored.users=Object.assign(Object.assign({},this.stored.users),e),this.stored.roomState=(0,d.createWatchedProxy)(Object.assign(Object.assign(Object.assign({},this.stored.roomState),s),{media:Object.assign(Object.assign({},this.stored.roomState.media),s.media)}),this.emitRoomStateUpdated),this.stored.activeSpeaker=i,this.stored.features=(0,d.createWatchedProxy)(Object.assign({},n),this.emitFeatureSetUpdated),this.permissionManager.permissionsMap=o,this.emitUsersUpdated(),this.emitFeatureSetUpdated(),this.emitRoomStateUpdated(),this._emit("roomJoined",{type:"roomJoined"});break}case"documentEvent":{const{eventName:e,target:s,payload:i}=t.data,o=`frameEvent_${e}_${s}`;this._emit(o,JSON.parse(i));break}case"UICallback":{const{name:e}=t.data,s=`UICallback_${e}`;this._emit(s,{});break}case"internalMediaDeviceChanged":{const e=t.data,s=(yield navigator.mediaDevices.enumerateDevices()).find((t=>t.kind===e.kind&&t.label===e.label));if(s){const t=this.stored.roomState.media.activeDevices[e.kind];this._emit("mediaDeviceChanged",{type:"mediaDeviceChanged",data:Object.assign(Object.assign({},e),{previousDeviceId:t,deviceId:s.deviceId})}),this.stored.roomState.media.activeDevices[e.kind]=s.deviceId}break}}})),this.emitUsersUpdated=()=>{this._emit("usersUpdated",{type:"usersUpdated",data:{users:this.listUsers()}})},this.emitRoomStateUpdated=()=>{this._emit("roomStateUpdated",{type:"roomStateUpdated",data:{state:this.roomState}})},this.emitFeatureSetUpdated=()=>{this._emit("featureSetUpdated",{type:"featureSetUpdated",data:{state:this.stored.features}})},this.setFrameSrc=()=>{let e=this.savedIframeSrc;const{cname:t,team:s,room:i,token:o}=this.initOptions;if(s&&i&&(e=`https://${s}.digitalsamba.com/${i}`),t&&i&&(e=`https://${t}/${i}`),e){const t=new URL(e);t.searchParams.append("dsEmbedFrame","true"),o&&t.searchParams.append("token",o),e=t.toString()}if(!e)return void(this.initOptions.url||this.logError(h.INVALID_CONFIG));this.frame.src=e;const n=new URL(this.frame.src);this.allowedOrigin=n.origin,this.frame.onload=()=>{this._emit("frameLoaded",{type:"frameLoaded"}),this.checkTarget()}},this.logError=e=>{if(this.reportErrors)throw e;console.error(e)},this.applyFrameProperties=e=>{e.frameAttributes&&Object.entries(e.frameAttributes).forEach((([e,t])=>{null!=t?this.frame.setAttribute(e,t.toString()):this.frame.removeAttribute(e)})),e.reportErrors&&(this.reportErrors=!0)},this.enableVideo=()=>{this.roomSettings.videoEnabled=!0,this.sendMessage({type:"enableVideo"})},this.disableVideo=()=>{this.roomSettings.videoEnabled=!1,this.sendMessage({type:"disableVideo"})},this.toggleVideo=e=>{void 0===e?this.sendMessage({type:"toggleVideo"}):e?this.enableVideo():this.disableVideo()},this.enableAudio=()=>{this.roomSettings.audioEnabled=!0,this.sendMessage({type:"enableAudio"})},this.disableAudio=()=>{this.roomSettings.audioEnabled=!1,this.sendMessage({type:"disableAudio"})},this.toggleAudio=e=>{void 0===e?this.sendMessage({type:"toggleAudio"}):e?this.enableAudio():this.disableAudio()},this.startScreenshare=()=>{this.sendMessage({type:"startScreenshare"})},this.stopScreenshare=()=>{this.sendMessage({type:"stopScreenshare"})},this.startRecording=()=>{this.sendMessage({type:"startRecording"})},this.stopRecording=()=>{this.sendMessage({type:"stopRecording"})},this.showToolbar=()=>{this.roomSettings.showToolbar=!0,this.stored.roomState.layout.showToolbar=!0,this.sendMessage({type:"showToolbar"})},this.hideToolbar=()=>{this.roomSettings.showToolbar=!1,this.stored.roomState.layout.showToolbar=!1,this.sendMessage({type:"hideToolbar"})},this.changeToolbarPosition=e=>{this.sendMessage({type:"changeToolbarPosition",data:e})},this.changeBrandingOptions=e=>{this.sendMessage({type:"changeBrandingOptions",data:e})},this.changeLayoutMode=e=>{this.roomSettings.layoutMode=e,this.sendMessage({type:"changeLayoutMode",data:e})},this.leaveSession=()=>{this.sendMessage({type:"leaveSession"})},this.endSession=()=>{this.sendMessage({type:"endSession"})},this.toggleToolbar=e=>{void 0===e?(this.stored.roomState.layout.showToolbar=!this.stored.roomState.layout.showToolbar,this.sendMessage({type:"toggleToolbar"})):e?this.showToolbar():this.hideToolbar()},this.requestToggleAudio=(e,t)=>{void 0===t?this.sendMessage({type:"requestToggleAudio",data:e}):t?this.requestMute(e):this.requestUnmute(e)},this.requestMute=e=>{this.sendMessage({type:"requestMute",data:e})},this.requestUnmute=e=>{this.sendMessage({type:"requestUnmute",data:e})},this.removeUser=e=>{this.sendMessage({type:"removeUser",data:e})},this.listUsers=()=>Object.values(this.stored.users),this.getUser=e=>{var t;return null===(t=this.stored.users)||void 0===t?void 0:t[e]},this.showCaptions=()=>{this.roomSettings.showCaptions=!0,this.sendMessage({type:"showCaptions"})},this.hideCaptions=()=>{this.roomSettings.showCaptions=!1,this.sendMessage({type:"hideCaptions"})},this.toggleCaptions=e=>{void 0===e?this.sendMessage({type:"toggleCaptions"}):e?this.showCaptions():this.hideCaptions()},this.configureCaptions=e=>{this.sendMessage({type:"configureCaptions",data:e||{}})},this.raiseHand=()=>{this.sendMessage({type:"raiseHand"})},this.lowerHand=e=>{this.sendMessage({type:"lowerHand",data:e})},this.allowBroadcast=e=>{this.sendMessage({type:"allowBroadcast",data:e})},this.disallowBroadcast=e=>{this.sendMessage({type:"disallowBroadcast",data:e})},this.allowScreenshare=e=>{this.sendMessage({type:"allowScreenshare",data:e})},this.disallowScreenshare=e=>{this.sendMessage({type:"disallowScreenshare",data:e})},this.configureVirtualBackground=e=>{this.roomSettings.virtualBackground=e;const t={enabled:!0,type:void 0,value:"",enforced:e.enforce};["blur","image","imageUrl"].forEach((s=>{e[s]&&(t.type=s,t.value=e[s])})),this.sendMessage({type:"configureVirtualBackground",data:e||{}})},this.enableVirtualBackground=e=>this.configureVirtualBackground(e),this.disableVirtualBackground=()=>{this.roomSettings.virtualBackground=void 0,this.sendMessage({type:"disableVirtualBackground"})},this.muteFrame=()=>{this.roomSettings.muteFrame=!0,this.stored.roomState.frameMuted=!0,this.sendMessage({type:"muteFrame"})},this.unmuteFrame=()=>{this.roomSettings.muteFrame=!1,this.stored.roomState.frameMuted=!1,this.sendMessage({type:"unmuteFrame"})},this.toggleMuteFrame=e=>{void 0===e?(this.roomSettings.muteFrame=!this.roomSettings.muteFrame,this.stored.roomState.frameMuted=!this.stored.roomState.frameMuted,this.sendMessage({type:"toggleMuteFrame"})):e?this.muteFrame():this.unmuteFrame()},this.minimizeLocalTile=()=>{this.sendMessage({type:"minimizeLocalTile"})},this.maximizeLocalTile=()=>{this.sendMessage({type:"maximizeLocalTile"})},this.pinUser=(e,t="media")=>{this.sendMessage({type:"pinUser",data:{tile:t,userId:e}})},this.unpinUser=()=>{this.minimizeContent()},this.maximizeUser=(e,t="media")=>{this.sendMessage({type:"maximizeUser",data:{tile:t,userId:e}})},this.minimizeUser=()=>{this.minimizeContent()},this.minimizeContent=()=>{this.sendMessage({type:"minimizeContent"})},this.changeRole=(e,t)=>{this.sendMessage({type:"changeRole",data:{userId:e,role:t}})},this.stored=(0,a.getDefaultStoredState)(),this.stored.roomState=(0,d.createWatchedProxy)(Object.assign({},this.stored.roomState),this.emitRoomStateUpdated),window.isSecureContext||this.logError(h.INSECURE_CONTEXT),this.initOptions=e,this.prepareRoomSettings(e.roomSettings||{}),this.reportErrors=t.reportErrors||!1,this.frame.allow="camera; microphone; display-capture; autoplay;",this.frame.setAttribute("allowFullscreen","true"),this.mountFrame(s),s?this.load(t):this.frame.style.display="none",window.addEventListener("message",this.onMessage),this.setupInternalEventListeners()}checkTarget(){return o(this,void 0,void 0,(function*(){const e=Object.assign(Object.assign({},this.roomSettings),{eventListeners:this.queuedEventListeners,UICallbacks:this.queuedUICallbacks});this.sendMessage({type:"connect",data:e});const t=window.setTimeout((()=>{this.logError(h.UNKNOWN_TARGET)}),a.CONNECT_TIMEOUT);this.on("connected",(()=>{this.connected=!0,this.queuedEventListeners=[],this.queuedUICallbacks=[],clearTimeout(t)}))}))}sendMessage(e){if(this.frame.contentWindow){if(!this.connected&&"connect"!==e.type)return;this.frame.contentWindow.postMessage(e,{targetOrigin:this.allowedOrigin})}}get roomState(){return this.stored.roomState}get localUser(){return this.stored.users[this.stored.userId]}get features(){return this.stored.features}featureEnabled(e){return!!this.stored.features[e]}}t.DigitalSambaEmbedded=l,i=l,l.createControl=(e,t={})=>new i(e,t,!1),t.default=l},625:(e,t,s)=>{const{DigitalSambaEmbedded:i}=s(432);e.exports=i},737:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PermissionManager=void 0,t.PermissionManager=class{constructor(e){this.permissionsMap={},this.lookupDynamicPermission=(e,t)=>!!t&&t.includes(e),this.lookupPermission=e=>{const{permissionsMap:t,permission:s,targetRole:i,role:o,dynamicPermissions:n}=e;return!(!n||!this.lookupDynamicPermission(s,n))||(!!t[o][s]||Boolean(t[o][`${s}_${i}`]))},this.checkPermissions=({permissions:e,targetRole:t,permissionsMap:s,role:i,dynamicPermissions:o})=>Array.isArray(e)?e.some((e=>this.lookupPermission({permission:e,targetRole:t,role:i,permissionsMap:s,dynamicPermissions:o}))):this.lookupPermission({permission:e,targetRole:t,role:i,permissionsMap:s,dynamicPermissions:o}),this.refinePermissions=(e,{targetRole:t,role:s,userId:i,users:o,permissionsMap:n,localUser:r})=>{const a={permissionsMap:n,permissions:e,targetRole:t,role:r.role,dynamicPermissions:r.dynamicPermissions};return s&&(a.role=s,a.dynamicPermissions=void 0),i&&o&&(a.role=o[i].role,a.dynamicPermissions=o[i].dynamicPermissions),this.checkPermissions(a)},this.hasPermissions=(e,{targetRole:t,role:s,userId:i}={})=>{const o=this.parent.stored.users,n=this.parent.localUser;return!!n&&this.refinePermissions(e,{permissionsMap:this.permissionsMap,role:s,targetRole:t,users:o,userId:i,localUser:n})},this.parent=e}}},517:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.INSECURE_CONTEXT=t.INVALID_URL=t.ALLOW_ATTRIBUTE_MISSING=t.INVALID_CONFIG=t.UNKNOWN_TARGET=t.RichError=void 0;class s extends Error{constructor(e){super(e.message),this.name=e.name}}t.RichError=s,t.UNKNOWN_TARGET=new s({name:"UNKNOWN_TARGET",message:"Could not verify the identity of target frame. Commands may not work"}),t.INVALID_CONFIG=new s({name:"INVALID_INIT_CONFIG",message:"Initializations options are invalid. Missing team name or room ID"}),t.ALLOW_ATTRIBUTE_MISSING=new s({name:"ALLOW_ATTRIBUTE_MISSING",message:"You've provided a frame that is mising 'allow' attribute. Some functionality may not work."}),t.INVALID_URL=new s({name:"INVALID_URL",message:"Invalid room URL specified"}),t.INSECURE_CONTEXT=new s({name:"INSECURE_CONTEXT",message:"Initializing embedded app in an insecure context, media capabilities unavailable. See https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts for details"})},604:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createWatchedProxy=void 0,t.createWatchedProxy=(e,t)=>new Proxy(e,(e=>{const t={get:(e,s)=>"object"==typeof e[s]&&null!==e[s]?new Proxy(e[s],t):e[s],set:(t,s,i)=>(t[s]=i,e(t),t)};return t})(t))},480:(e,t)=>{var s,i;Object.defineProperty(t,"__esModule",{value:!0}),t.getDefaultStoredState=t.PermissionTypes=t.LayoutMode=t.internalEvents=t.CONNECT_TIMEOUT=void 0,t.CONNECT_TIMEOUT=1e4,t.internalEvents={roomJoined:!0,documentEvent:!0,UICallback:!0,internalMediaDeviceChanged:!0},function(e){e.tiled="tiled",e.auto="auto"}(s=t.LayoutMode||(t.LayoutMode={})),(i=t.PermissionTypes||(t.PermissionTypes={})).broadcast="broadcast",i.manageBroadcast="manage_broadcast",i.endSession="end_session",i.startSession="start_session",i.removeParticipant="remove_participant",i.screenshare="screenshare",i.manageScreenshare="manage_screenshare",i.recording="recording",i.generalChat="general_chat",i.remoteMuting="remote_muting",i.askRemoteUnmute="ask_remote_unmute",i.raiseHand="raise_hand",i.manageRoles="manage_roles",i.inviteParticipant="invite_participant",i.seeParticipantsPanel="see_participants_panel",i.controlRoomEntry="control_room_entry",i.editWhiteboard="edit_whiteboard",t.getDefaultStoredState=()=>({userId:"",roomState:{appLanguage:"en",frameMuted:!1,media:{audioEnabled:!1,videoEnabled:!1,activeDevices:{}},layout:{mode:s.tiled,showToolbar:!0,toolbarPosition:"left",localTileMinimized:!1},captionsState:{showCaptions:!1,spokenLanguage:"en",fontSize:"medium"},virtualBackground:{enabled:!1}},users:{},features:{chat:!1,contentLibrary:!1,captions:!1,qa:!1,endSession:!1,fullScreen:!1,languageSelection:!1,minimizeOwnTile:!1,participantsList:!1,pin:!1,screenshare:!1,whiteboard:!1,recordings:!1,virtualBackgrounds:!1,raiseHand:!0,invite:!1}})}},t={};return function s(i){var o=t[i];if(void 0!==o)return o.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,s),n.exports}(625)})()));
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DigitalSambaEmbedded=t():e.DigitalSambaEmbedded=t()}(this,(()=>(()=>{"use strict";var e={187:e=>{var t,s="object"==typeof Reflect?Reflect:null,i=s&&"function"==typeof s.apply?s.apply:function(e,t,s){return Function.prototype.apply.call(e,t,s)};t=s&&"function"==typeof s.ownKeys?s.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}e.exports=n,e.exports.once=function(e,t){return new Promise((function(s,i){function o(s){e.removeListener(t,n),i(s)}function n(){"function"==typeof e.removeListener&&e.removeListener("error",o),s([].slice.call(arguments))}g(e,t,n,{once:!0}),"error"!==t&&function(e,t,s){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,o)}))},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var r=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function d(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function h(e,t,s,i){var o,n,r,h;if(a(s),void 0===(n=e._events)?(n=e._events=Object.create(null),e._eventsCount=0):(void 0!==n.newListener&&(e.emit("newListener",t,s.listener?s.listener:s),n=e._events),r=n[t]),void 0===r)r=n[t]=s,++e._eventsCount;else if("function"==typeof r?r=n[t]=i?[s,r]:[r,s]:i?r.unshift(s):r.push(s),(o=d(e))>0&&r.length>o&&!r.warned){r.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+r.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=r.length,h=l,console&&console.warn&&console.warn(h)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function c(e,t,s){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:s},o=l.bind(i);return o.listener=s,i.wrapFn=o,o}function u(e,t,s){var i=e._events;if(void 0===i)return[];var o=i[t];return void 0===o?[]:"function"==typeof o?s?[o.listener||o]:[o]:s?function(e){for(var t=new Array(e.length),s=0;s<t.length;++s)t[s]=e[s].listener||e[s];return t}(o):p(o,o.length)}function m(e){var t=this._events;if(void 0!==t){var s=t[e];if("function"==typeof s)return 1;if(void 0!==s)return s.length}return 0}function p(e,t){for(var s=new Array(t),i=0;i<t;++i)s[i]=e[i];return s}function g(e,t,s,i){if("function"==typeof e.on)i.once?e.once(t,s):e.on(t,s);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function o(n){i.once&&e.removeEventListener(t,o),s(n)}))}}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return r},set:function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");r=e}}),n.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return d(this)},n.prototype.emit=function(e){for(var t=[],s=1;s<arguments.length;s++)t.push(arguments[s]);var o="error"===e,n=this._events;if(void 0!==n)o=o&&void 0===n.error;else if(!o)return!1;if(o){var r;if(t.length>0&&(r=t[0]),r instanceof Error)throw r;var a=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw a.context=r,a}var d=n[e];if(void 0===d)return!1;if("function"==typeof d)i(d,this,t);else{var h=d.length,l=p(d,h);for(s=0;s<h;++s)i(l[s],this,t)}return!0},n.prototype.addListener=function(e,t){return h(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return h(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,c(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,c(this,e,t)),this},n.prototype.removeListener=function(e,t){var s,i,o,n,r;if(a(t),void 0===(i=this._events))return this;if(void 0===(s=i[e]))return this;if(s===t||s.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,s.listener||t));else if("function"!=typeof s){for(o=-1,n=s.length-1;n>=0;n--)if(s[n]===t||s[n].listener===t){r=s[n].listener,o=n;break}if(o<0)return this;0===o?s.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(s,o),1===s.length&&(i[e]=s[0]),void 0!==i.removeListener&&this.emit("removeListener",e,r||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,s,i;if(void 0===(s=this._events))return this;if(void 0===s.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==s[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete s[e]),this;if(0===arguments.length){var o,n=Object.keys(s);for(i=0;i<n.length;++i)"removeListener"!==(o=n[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=s[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return u(this,e,!0)},n.prototype.rawListeners=function(e){return u(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},n.prototype.listenerCount=m,n.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},432:function(e,t,s){var i,o=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(o,n){function r(e){try{d(i.next(e))}catch(e){n(e)}}function a(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(r,a)}d((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DigitalSambaEmbedded=void 0;const n=s(187),r=s(737),a=s(480),d=s(604),h=s(517);class l extends n.EventEmitter{constructor(e={},t={},s=!0){super(),this.roomSettings={},this.savedIframeSrc="",this.allowedOrigin="*",this.connected=!1,this.frame=document.createElement("iframe"),this.reportErrors=!1,this.permissionManager=new r.PermissionManager(this),this.queuedEventListeners=[],this.queuedUICallbacks=[],this.queuedTileActions=[],this.tileActionListeners={},this.mountFrame=e=>{const{url:t,frame:s,root:i}=this.initOptions;if(i?i.appendChild(this.frame):s?(this.frame=s,s.allow||this.logError(h.ALLOW_ATTRIBUTE_MISSING)):document.body.appendChild(this.frame),t||this.frame.src&&this.frame.src!==window.location.href)try{let e=t||this.frame.src;e.includes("https://")||(e="https://"+e);const s=new URL(e).toString();this.frame.src=s,this.savedIframeSrc=s}catch(e){this.logError(h.INVALID_URL)}e||(this.savedIframeSrc=this.frame.src,this.frame.src="")},this.load=(e={})=>{this.reportErrors=e.reportErrors||!1,this.setFrameSrc(),this.applyFrameProperties(e),this.frame.style.display="block"},this.prepareRoomSettings=e=>o(this,void 0,void 0,(function*(){var t;if(null!==(t=e.mediaDevices)&&void 0!==t||(e.mediaDevices={}),e.mediaDevices){const t=yield navigator.mediaDevices.enumerateDevices();Object.entries(e.mediaDevices).forEach((([s,i])=>{const o=t.find((e=>e.deviceId===i));o&&(e.mediaDevices[s]=o.label)}))}if(e.appLanguage&&(this.stored.roomState.appLanguage=e.appLanguage),e.initials)try{e.initials=e.initials.trim()}catch(t){e.initials=void 0}this.roomSettings=e})),this.onMessage=e=>{if(e.origin!==this.allowedOrigin)return;const t=e.data.DSPayload;t&&t.type&&(a.internalEvents[t.type]?this.handleInternalMessage(e.data):this._emit(t.type,t))},this.addFrameEventListener=(e,t,s)=>{const i=`frameEvent_${e}_${t}`;this.connected?this.listenerCount(i)||this.sendMessage({type:"connectEventListener",data:{eventName:e,target:t}}):this.queuedEventListeners.push({operation:"connectEventListener",event:e,target:t}),this.on(i,s)},this.removeFrameEventListener=(e,t,s)=>{const i=`frameEvent_${e}_${t}`;this.off(i,s),this.connected?this.listenerCount(e)||this.sendMessage({type:"disconnectEventListener",data:{eventName:e,target:t}}):this.queuedEventListeners.push({operation:"disconnectEventListener",event:e,target:t})},this.addUICallback=(e,t)=>{const s=`UICallback_${e}`;this.connected?this.listenerCount(s)||this.sendMessage({type:"connectUICallback",data:{name:e}}):this.queuedUICallbacks.push({operation:"connectUICallback",name:e}),this.on(s,t)},this.removeUICallback=(e,t)=>{const s=`UICallback_${e}`;this.off(s,t),this.connected?this.listenerCount(s)||this.sendMessage({type:"disconnectUICallback",data:{name:e}}):this.queuedUICallbacks.push({operation:"disconnectUICallback",name:e})},this.addTileAction=(e,t,s)=>{this.tileActionListeners[e]&&this.removeTileAction(e),this.tileActionListeners[e]=s,this.connected?(this.sendMessage({type:"addTileAction",data:{name:e,properties:t}}),this.on(`tileAction_${e}`,(t=>{this.tileActionListeners[e](t)}))):this.queuedTileActions.push({operation:"addTileAction",name:e,properties:t,listener:s})},this.removeTileAction=e=>{this.off(`tileAction_${e}`,this.tileActionListeners[e]),delete this.tileActionListeners[e],this.connected?this.sendMessage({type:"removeTileAction",data:{name:e}}):this.queuedTileActions.push({operation:"removeTileAction",name:e})},this.setupInternalEventListeners=()=>{this.on("userJoined",(e=>{const{user:t,type:s}=e.data;this.stored.users[t.id]=Object.assign(Object.assign({},t),{kind:s}),"local"===s&&(this.stored.userId=t.id),this.emitUsersUpdated()})),this.on("userLeft",(e=>{var t,s;(null===(s=null===(t=e.data)||void 0===t?void 0:t.user)||void 0===s?void 0:s.id)&&delete this.stored.users[e.data.user.id],this.emitUsersUpdated()})),this.on("appLanguageChanged",(({data:e})=>{this.stored.roomState.appLanguage=e.language})),this.on("permissionsChanged",(e=>{if(this.stored.users[this.stored.userId]){let t=[...this.stored.users[this.stored.userId].dynamicPermissions||[]];Object.entries(e.data).forEach((([e,s])=>{s&&!t.includes(e)&&t.push(e),s||(t=t.filter((t=>t!==e)))})),this.stored.users[this.stored.userId].dynamicPermissions=t}})),this.on("roleChanged",(e=>{const{userId:t,to:s}=e.data;this.stored.users[t]&&(this.stored.users[t].role=s)})),this.on("activeSpeakerChanged",(e=>{var t,s;this.stored.activeSpeaker=null===(s=null===(t=e.data)||void 0===t?void 0:t.user)||void 0===s?void 0:s.id})),this.on("videoEnabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.videoEnabled=!0)})),this.on("videoDisabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.videoEnabled=!1)})),this.on("audioEnabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.audioEnabled=!0)})),this.on("audioDisabled",(e=>{var t;"local"===(null===(t=e.data)||void 0===t?void 0:t.type)&&(this.stored.roomState.media.audioEnabled=!1)})),this.on("layoutModeChanged",(e=>{this.stored.roomState.layout.mode=e.data.mode})),this.on("captionsSpokenLanguageChanged",(e=>{this.stored.roomState.captionsState.spokenLanguage=e.data.language})),this.on("captionsEnabled",(()=>{this.stored.roomState.captionsState.showCaptions=!0})),this.on("captionsDisabled",(()=>{this.stored.roomState.captionsState.showCaptions=!1})),this.on("captionsFontSizeChanged",(e=>{this.stored.roomState.captionsState.fontSize=e.data.fontSize})),this.on("virtualBackgroundChanged",(e=>{const{type:t,value:s,enforced:i,name:o}=e.data.virtualBackgroundConfig;this.stored.roomState.virtualBackground={enabled:!0,type:t,value:s,name:o,enforced:i}})),this.on("virtualBackgroundDisabled",(e=>{this.stored.roomState.virtualBackground={enabled:!1}})),this.on("localTileMinimized",(()=>{this.stored.roomState.layout.localTileMinimized=!0})),this.on("localTileMaximized",(()=>{this.stored.roomState.layout.localTileMinimized=!1})),this.on("userMaximized",(({data:e})=>{this.stored.roomState.layout.content={userId:e.userId,type:e.type},this.stored.roomState.layout.contentMode=e.mode})),this.on("userMinimized",(()=>{this.stored.roomState.layout.content=void 0,this.stored.roomState.layout.contentMode=void 0}))},this._emit=(e,...t)=>(this.emit("*",...t),this.emit(e,...t)),this.handleInternalMessage=e=>o(this,void 0,void 0,(function*(){const t=e.DSPayload;switch(t.type){case"roomJoined":{const{users:e,roomState:s,activeSpeaker:i,permissionsMap:o,features:n}=t.data;this.stored.users=Object.assign(Object.assign({},this.stored.users),e),this.stored.roomState=(0,d.createWatchedProxy)(Object.assign(Object.assign(Object.assign({},this.stored.roomState),s),{media:Object.assign(Object.assign({},this.stored.roomState.media),s.media)}),this.emitRoomStateUpdated),this.stored.activeSpeaker=i,this.stored.features=(0,d.createWatchedProxy)(Object.assign({},n),this.emitFeatureSetUpdated),this.permissionManager.permissionsMap=o,this.emitUsersUpdated(),this.emitFeatureSetUpdated(),this.emitRoomStateUpdated(),this._emit("roomJoined",{type:"roomJoined"});break}case"documentEvent":{const{eventName:e,target:s,payload:i}=t.data,o=`frameEvent_${e}_${s}`;this._emit(o,JSON.parse(i));break}case"UICallback":{const{name:e}=t.data,s=`UICallback_${e}`;this._emit(s,{});break}case"tileAction":{const{name:e,source:s}=t.data,i=`tileAction_${e}`;this._emit(i,s);break}case"internalMediaDeviceChanged":{const e=t.data,s=(yield navigator.mediaDevices.enumerateDevices()).find((t=>t.kind===e.kind&&t.label===e.label));if(s){const t=this.stored.roomState.media.activeDevices[e.kind];this._emit("mediaDeviceChanged",{type:"mediaDeviceChanged",data:Object.assign(Object.assign({},e),{previousDeviceId:t,deviceId:s.deviceId})}),this.stored.roomState.media.activeDevices[e.kind]=s.deviceId}break}}})),this.emitUsersUpdated=()=>{this._emit("usersUpdated",{type:"usersUpdated",data:{users:this.listUsers()}})},this.emitRoomStateUpdated=()=>{this._emit("roomStateUpdated",{type:"roomStateUpdated",data:{state:this.roomState}})},this.emitFeatureSetUpdated=()=>{this._emit("featureSetUpdated",{type:"featureSetUpdated",data:{state:this.stored.features}})},this.setFrameSrc=()=>{let e=this.savedIframeSrc;const{cname:t,team:s,room:i,token:o}=this.initOptions;if(s&&i&&(e=`https://${s}.digitalsamba.com/${i}`),t&&i&&(e=`https://${t}/${i}`),e){const t=new URL(e);t.searchParams.append("dsEmbedFrame","true"),o&&t.searchParams.append("token",o),e=t.toString()}if(!e)return void(this.initOptions.url||this.logError(h.INVALID_CONFIG));this.frame.src=e;const n=new URL(this.frame.src);this.allowedOrigin=n.origin,this.frame.onload=()=>{this._emit("frameLoaded",{type:"frameLoaded"}),this.checkTarget()}},this.logError=e=>{if(this.reportErrors)throw e;console.error(e)},this.applyFrameProperties=e=>{e.frameAttributes&&Object.entries(e.frameAttributes).forEach((([e,t])=>{null!=t?this.frame.setAttribute(e,t.toString()):this.frame.removeAttribute(e)})),e.reportErrors&&(this.reportErrors=!0)},this.enableVideo=()=>{this.roomSettings.videoEnabled=!0,this.sendMessage({type:"enableVideo"})},this.disableVideo=()=>{this.roomSettings.videoEnabled=!1,this.sendMessage({type:"disableVideo"})},this.toggleVideo=e=>{void 0===e?this.sendMessage({type:"toggleVideo"}):e?this.enableVideo():this.disableVideo()},this.enableAudio=()=>{this.roomSettings.audioEnabled=!0,this.sendMessage({type:"enableAudio"})},this.disableAudio=()=>{this.roomSettings.audioEnabled=!1,this.sendMessage({type:"disableAudio"})},this.toggleAudio=e=>{void 0===e?this.sendMessage({type:"toggleAudio"}):e?this.enableAudio():this.disableAudio()},this.startScreenshare=()=>{this.sendMessage({type:"startScreenshare"})},this.stopScreenshare=()=>{this.sendMessage({type:"stopScreenshare"})},this.startRecording=()=>{this.sendMessage({type:"startRecording"})},this.stopRecording=()=>{this.sendMessage({type:"stopRecording"})},this.showToolbar=()=>{this.roomSettings.showToolbar=!0,this.stored.roomState.layout.showToolbar=!0,this.sendMessage({type:"showToolbar"})},this.hideToolbar=()=>{this.roomSettings.showToolbar=!1,this.stored.roomState.layout.showToolbar=!1,this.sendMessage({type:"hideToolbar"})},this.changeToolbarPosition=e=>{this.sendMessage({type:"changeToolbarPosition",data:e})},this.changeBrandingOptions=e=>{this.sendMessage({type:"changeBrandingOptions",data:e})},this.changeLayoutMode=e=>{this.roomSettings.layoutMode=e,this.sendMessage({type:"changeLayoutMode",data:e})},this.leaveSession=()=>{this.sendMessage({type:"leaveSession"})},this.endSession=(e=!0)=>{this.sendMessage({type:"endSession",data:e})},this.toggleToolbar=e=>{void 0===e?(this.stored.roomState.layout.showToolbar=!this.stored.roomState.layout.showToolbar,this.sendMessage({type:"toggleToolbar"})):e?this.showToolbar():this.hideToolbar()},this.requestToggleAudio=(e,t)=>{void 0===t?this.sendMessage({type:"requestToggleAudio",data:e}):t?this.requestMute(e):this.requestUnmute(e)},this.requestMute=e=>{this.sendMessage({type:"requestMute",data:e})},this.requestUnmute=e=>{this.sendMessage({type:"requestUnmute",data:e})},this.removeUser=e=>{this.sendMessage({type:"removeUser",data:e})},this.listUsers=()=>Object.values(this.stored.users),this.getUser=e=>{var t;return null===(t=this.stored.users)||void 0===t?void 0:t[e]},this.showCaptions=()=>{this.roomSettings.showCaptions=!0,this.sendMessage({type:"showCaptions"})},this.hideCaptions=()=>{this.roomSettings.showCaptions=!1,this.sendMessage({type:"hideCaptions"})},this.toggleCaptions=e=>{void 0===e?this.sendMessage({type:"toggleCaptions"}):e?this.showCaptions():this.hideCaptions()},this.configureCaptions=e=>{this.sendMessage({type:"configureCaptions",data:e||{}})},this.raiseHand=()=>{this.sendMessage({type:"raiseHand"})},this.lowerHand=e=>{this.sendMessage({type:"lowerHand",data:e})},this.allowBroadcast=e=>{this.sendMessage({type:"allowBroadcast",data:e})},this.disallowBroadcast=e=>{this.sendMessage({type:"disallowBroadcast",data:e})},this.allowScreenshare=e=>{this.sendMessage({type:"allowScreenshare",data:e})},this.disallowScreenshare=e=>{this.sendMessage({type:"disallowScreenshare",data:e})},this.configureVirtualBackground=e=>{this.roomSettings.virtualBackground=e;const t={enabled:!0,type:void 0,value:"",enforced:e.enforce};["blur","image","imageUrl"].forEach((s=>{e[s]&&(t.type=s,t.value=e[s])})),this.sendMessage({type:"configureVirtualBackground",data:e||{}})},this.enableVirtualBackground=e=>this.configureVirtualBackground(e),this.disableVirtualBackground=()=>{this.roomSettings.virtualBackground=void 0,this.sendMessage({type:"disableVirtualBackground"})},this.muteFrame=()=>{this.roomSettings.muteFrame=!0,this.stored.roomState.frameMuted=!0,this.sendMessage({type:"muteFrame"})},this.unmuteFrame=()=>{this.roomSettings.muteFrame=!1,this.stored.roomState.frameMuted=!1,this.sendMessage({type:"unmuteFrame"})},this.toggleMuteFrame=e=>{void 0===e?(this.roomSettings.muteFrame=!this.roomSettings.muteFrame,this.stored.roomState.frameMuted=!this.stored.roomState.frameMuted,this.sendMessage({type:"toggleMuteFrame"})):e?this.muteFrame():this.unmuteFrame()},this.minimizeLocalTile=()=>{this.sendMessage({type:"minimizeLocalTile"})},this.maximizeLocalTile=()=>{this.sendMessage({type:"maximizeLocalTile"})},this.pinUser=(e,t="media")=>{this.sendMessage({type:"pinUser",data:{tile:t,userId:e}})},this.unpinUser=()=>{this.minimizeContent()},this.maximizeUser=(e,t="media")=>{this.sendMessage({type:"maximizeUser",data:{tile:t,userId:e}})},this.minimizeUser=()=>{this.minimizeContent()},this.minimizeContent=()=>{this.sendMessage({type:"minimizeContent"})},this.changeRole=(e,t)=>{this.sendMessage({type:"changeRole",data:{userId:e,role:t}})},this.stored=(0,a.getDefaultStoredState)(),this.stored.roomState=(0,d.createWatchedProxy)(Object.assign({},this.stored.roomState),this.emitRoomStateUpdated),window.isSecureContext||this.logError(h.INSECURE_CONTEXT),this.initOptions=e,this.prepareRoomSettings(e.roomSettings||{}),this.reportErrors=t.reportErrors||!1,this.frame.allow="camera; microphone; display-capture; autoplay;",this.frame.setAttribute("allowFullscreen","true"),this.mountFrame(s),s?this.load(t):this.frame.style.display="none",window.addEventListener("message",this.onMessage),this.setupInternalEventListeners()}checkTarget(){return o(this,void 0,void 0,(function*(){const e=Object.assign(Object.assign({},this.roomSettings),{eventListeners:this.queuedEventListeners,UICallbacks:this.queuedUICallbacks,tileActions:this.queuedTileActions});this.sendMessage({type:"connect",data:e});const t=window.setTimeout((()=>{this.logError(h.UNKNOWN_TARGET)}),a.CONNECT_TIMEOUT);this.on("connected",(()=>{this.connected=!0,this.queuedEventListeners=[],this.queuedUICallbacks=[],this.queuedTileActions=[],clearTimeout(t)}))}))}sendMessage(e){if(this.frame.contentWindow){if(!this.connected&&"connect"!==e.type)return;this.frame.contentWindow.postMessage(e,{targetOrigin:this.allowedOrigin})}}get roomState(){return this.stored.roomState}get localUser(){return this.stored.users[this.stored.userId]}get features(){return this.stored.features}featureEnabled(e){return!!this.stored.features[e]}}t.DigitalSambaEmbedded=l,i=l,l.createControl=(e,t={})=>new i(e,t,!1),t.default=l},625:(e,t,s)=>{const{DigitalSambaEmbedded:i}=s(432);e.exports=i},737:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PermissionManager=void 0,t.PermissionManager=class{constructor(e){this.permissionsMap={},this.lookupDynamicPermission=(e,t)=>!!t&&t.includes(e),this.lookupPermission=e=>{const{permissionsMap:t,permission:s,targetRole:i,role:o,dynamicPermissions:n}=e;return!(!n||!this.lookupDynamicPermission(s,n))||(!!t[o][s]||Boolean(t[o][`${s}_${i}`]))},this.checkPermissions=({permissions:e,targetRole:t,permissionsMap:s,role:i,dynamicPermissions:o})=>Array.isArray(e)?e.some((e=>this.lookupPermission({permission:e,targetRole:t,role:i,permissionsMap:s,dynamicPermissions:o}))):this.lookupPermission({permission:e,targetRole:t,role:i,permissionsMap:s,dynamicPermissions:o}),this.refinePermissions=(e,{targetRole:t,role:s,userId:i,users:o,permissionsMap:n,localUser:r})=>{const a={permissionsMap:n,permissions:e,targetRole:t,role:r.role,dynamicPermissions:r.dynamicPermissions};return s&&(a.role=s,a.dynamicPermissions=void 0),i&&o&&(a.role=o[i].role,a.dynamicPermissions=o[i].dynamicPermissions),this.checkPermissions(a)},this.hasPermissions=(e,{targetRole:t,role:s,userId:i}={})=>{const o=this.parent.stored.users,n=this.parent.localUser;return!!n&&this.refinePermissions(e,{permissionsMap:this.permissionsMap,role:s,targetRole:t,users:o,userId:i,localUser:n})},this.parent=e}}},517:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.INSECURE_CONTEXT=t.INVALID_URL=t.ALLOW_ATTRIBUTE_MISSING=t.INVALID_CONFIG=t.UNKNOWN_TARGET=t.RichError=void 0;class s extends Error{constructor(e){super(e.message),this.name=e.name}}t.RichError=s,t.UNKNOWN_TARGET=new s({name:"UNKNOWN_TARGET",message:"Could not verify the identity of target frame. Commands may not work"}),t.INVALID_CONFIG=new s({name:"INVALID_INIT_CONFIG",message:"Initializations options are invalid. Missing team name or room ID"}),t.ALLOW_ATTRIBUTE_MISSING=new s({name:"ALLOW_ATTRIBUTE_MISSING",message:"You've provided a frame that is mising 'allow' attribute. Some functionality may not work."}),t.INVALID_URL=new s({name:"INVALID_URL",message:"Invalid room URL specified"}),t.INSECURE_CONTEXT=new s({name:"INSECURE_CONTEXT",message:"Initializing embedded app in an insecure context, media capabilities unavailable. See https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts for details"})},604:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createWatchedProxy=void 0,t.createWatchedProxy=(e,t)=>new Proxy(e,(e=>{const t={get:(e,s)=>"object"==typeof e[s]&&null!==e[s]?new Proxy(e[s],t):e[s],set:(t,s,i)=>(t[s]=i,e(t),t)};return t})(t))},480:(e,t)=>{var s,i;Object.defineProperty(t,"__esModule",{value:!0}),t.getDefaultStoredState=t.PermissionTypes=t.LayoutMode=t.internalEvents=t.CONNECT_TIMEOUT=void 0,t.CONNECT_TIMEOUT=1e4,t.internalEvents={roomJoined:!0,documentEvent:!0,UICallback:!0,internalMediaDeviceChanged:!0,tileAction:!0},function(e){e.tiled="tiled",e.auto="auto"}(s=t.LayoutMode||(t.LayoutMode={})),(i=t.PermissionTypes||(t.PermissionTypes={})).broadcast="broadcast",i.manageBroadcast="manage_broadcast",i.endSession="end_session",i.startSession="start_session",i.removeParticipant="remove_participant",i.screenshare="screenshare",i.manageScreenshare="manage_screenshare",i.recording="recording",i.generalChat="general_chat",i.remoteMuting="remote_muting",i.askRemoteUnmute="ask_remote_unmute",i.raiseHand="raise_hand",i.manageRoles="manage_roles",i.inviteParticipant="invite_participant",i.seeParticipantsPanel="see_participants_panel",i.controlRoomEntry="control_room_entry",i.editWhiteboard="edit_whiteboard",t.getDefaultStoredState=()=>({userId:"",roomState:{appLanguage:"en",frameMuted:!1,media:{audioEnabled:!1,videoEnabled:!1,activeDevices:{}},layout:{mode:s.tiled,showToolbar:!0,toolbarPosition:"left",localTileMinimized:!1},captionsState:{showCaptions:!1,spokenLanguage:"en",fontSize:"medium"},virtualBackground:{enabled:!1}},users:{},features:{chat:!1,contentLibrary:!1,captions:!1,qa:!1,endSession:!1,fullScreen:!1,languageSelection:!1,minimizeOwnTile:!1,participantsList:!1,pin:!1,screenshare:!1,whiteboard:!1,recordings:!1,virtualBackgrounds:!1,raiseHand:!0,invite:!1}})}},t={};return function s(i){var o=t[i];if(void 0!==o)return o.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,s),n.exports}(625)})()));
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@digitalsamba/embedded-sdk",
|
3
3
|
"packageManager": "yarn@3.1.0",
|
4
|
-
"version": "0.0.
|
4
|
+
"version": "0.0.37",
|
5
5
|
"license": "BSD-2-Clause",
|
6
6
|
"scripts": {
|
7
7
|
"build": "npm run build:cjs && npm run build:esm && npm run build:umd && npm run build:types && npm run build:update-demo",
|
package/CHANGELOG.md
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
Historical list of changes in releases
|
4
|
-
## [v0.0.35] - 2023-11-16
|
5
|
-
* Add `sessionEnded` event to type definitions ([#146f159](https://github.com/digitalsamba/embedded-sdk/commit/146f1599e74590aa0a3f130bf38cee1071120874))
|
6
|
-
|
7
|
-
## [v0.0.34] - 2023-11-01
|
8
|
-
* Add `UICallback` commands to attach listeners for custom interface actions in embedded app ([#59](https://github.com/digitalsamba/embedded-sdk/pull/59))
|
9
|
-
* Add `changeRole` command and `roleChanged` event ([#60](https://github.com/digitalsamba/embedded-sdk/pull/60))
|
10
|
-
|
11
|
-
|
12
|
-
## [v0.0.33] - 2023-10-05
|
13
|
-
* Add `appLanguage` field to room state to match rooms localization language
|
14
|
-
* Add virtual background image `name` field to room state
|
15
|
-
* Expose list of active media devices in room state
|
16
|
-
|
17
|
-
## [v0.0.31] - 2023-09-07
|
18
|
-
* Allow listening to document or window events fired inside the frame ([#47](https://github.com/digitalsamba/embedded-sdk/pull/47))
|
19
|
-
* Allow pre-selecting app language using init options ([#48](https://github.com/digitalsamba/embedded-sdk/pull/48))
|
20
|
-
|
21
|
-
## [v0.0.29] - 2023-09-01
|
22
|
-
* Fix an issue with EventEmitter import in typescript declaration
|
23
|
-
|
24
|
-
## [v0.0.28] - 2023-08-24
|
25
|
-
* Connect demos to test drive endpoint to dynamically create demo rooms
|
26
|
-
* Allow pre-selecting media devices through initial settings ([#44](https://github.com/digitalsamba/embedded-sdk/pull/44))
|
27
|
-
* Add support for custom CNAME, handle cname property in init options ([#45](https://github.com/digitalsamba/embedded-sdk/pull/45))
|
28
|
-
|
29
|
-
## [v0.0.27] - 2023-08-09
|
30
|
-
* Fix an issue with stored state not resetting properly when creating a new control instance
|
31
|
-
|
32
|
-
## [v0.0.26] - 2023-08-09
|
33
|
-
* Add missing type definitions for newest methods and state fields ([#01a3bf1](https://github.com/digitalsamba/embedded-sdk/commit/01a3bf1730b03db453acf091e39e4c2c6ea61e22))
|
package/dist/index.js
DELETED
@@ -1,194 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
4
|
-
if (!m) return o;
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
6
|
-
try {
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
8
|
-
}
|
9
|
-
catch (error) { e = { error: error }; }
|
10
|
-
finally {
|
11
|
-
try {
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
13
|
-
}
|
14
|
-
finally { if (e) throw e.error; }
|
15
|
-
}
|
16
|
-
return ar;
|
17
|
-
};
|
18
|
-
var INVALID_CONFIG = "Initializations options are invalid. Missing team name or room ID";
|
19
|
-
var CONNECT_TIMEOUT = 5000;
|
20
|
-
function isFunction(func) {
|
21
|
-
return func instanceof Function;
|
22
|
-
}
|
23
|
-
var DigitalSambaEmbedded = /** @class */ (function () {
|
24
|
-
function DigitalSambaEmbedded(options, instanceProperties, loadImmediately) {
|
25
|
-
if (options === void 0) { options = {}; }
|
26
|
-
if (instanceProperties === void 0) { instanceProperties = {}; }
|
27
|
-
if (loadImmediately === void 0) { loadImmediately = true; }
|
28
|
-
var _this = this;
|
29
|
-
this.savedIframeSrc = "";
|
30
|
-
this.allowedOrigin = "";
|
31
|
-
this.connected = false;
|
32
|
-
this.frame = document.createElement("iframe");
|
33
|
-
this.eventHandlers = {};
|
34
|
-
this.reportErrors = false;
|
35
|
-
this.mountFrame = function (loadImmediately) {
|
36
|
-
var _b = _this.initOptions, frame = _b.frame, root = _b.root;
|
37
|
-
if (root) {
|
38
|
-
root.appendChild(_this.frame);
|
39
|
-
}
|
40
|
-
else if (frame) {
|
41
|
-
_this.frame = frame;
|
42
|
-
if (!loadImmediately) {
|
43
|
-
_this.savedIframeSrc = _this.frame.src;
|
44
|
-
_this.frame.src = "";
|
45
|
-
}
|
46
|
-
}
|
47
|
-
else {
|
48
|
-
document.body.appendChild(_this.frame);
|
49
|
-
}
|
50
|
-
};
|
51
|
-
this.load = function (instanceProperties) {
|
52
|
-
if (instanceProperties === void 0) { instanceProperties = {}; }
|
53
|
-
_this.reportErrors = instanceProperties.reportErrors || false;
|
54
|
-
_this.setFrameSrc();
|
55
|
-
_this.applyFrameProperties(instanceProperties);
|
56
|
-
_this.frame.style.display = "block";
|
57
|
-
};
|
58
|
-
this.on = function (type, handler) {
|
59
|
-
_this.eventHandlers[type] = handler;
|
60
|
-
};
|
61
|
-
// commands
|
62
|
-
this.enableVideo = function () {
|
63
|
-
_this.sendMessage({ type: "enableVideo" });
|
64
|
-
};
|
65
|
-
this.disableVideo = function () {
|
66
|
-
_this.sendMessage({ type: "disableVideo" });
|
67
|
-
};
|
68
|
-
this.toggleVideo = function (enable) {
|
69
|
-
if (typeof enable === "undefined") {
|
70
|
-
_this.sendMessage({ type: "toggleVideo" });
|
71
|
-
}
|
72
|
-
else {
|
73
|
-
if (enable) {
|
74
|
-
_this.enableVideo();
|
75
|
-
}
|
76
|
-
else {
|
77
|
-
_this.disableVideo();
|
78
|
-
}
|
79
|
-
}
|
80
|
-
};
|
81
|
-
this.enableAudio = function () {
|
82
|
-
_this.sendMessage({ type: "enableAudio" });
|
83
|
-
};
|
84
|
-
this.disableAudio = function () {
|
85
|
-
_this.sendMessage({ type: "disableAudio" });
|
86
|
-
};
|
87
|
-
this.toggleAudio = function (enable) {
|
88
|
-
if (typeof enable === "undefined") {
|
89
|
-
_this.sendMessage({ type: "toggleAudio" });
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
if (enable) {
|
93
|
-
_this.enableAudio();
|
94
|
-
}
|
95
|
-
else {
|
96
|
-
_this.disableAudio();
|
97
|
-
}
|
98
|
-
}
|
99
|
-
};
|
100
|
-
this.onMessage = function (event) {
|
101
|
-
if (event.origin !== _this.allowedOrigin) {
|
102
|
-
// ignore messages from other sources;
|
103
|
-
return;
|
104
|
-
}
|
105
|
-
if (typeof _this.eventHandlers["*"] === "function") {
|
106
|
-
_this.eventHandlers["*"](event.data);
|
107
|
-
}
|
108
|
-
if (event.data.type) {
|
109
|
-
var callback = _this.eventHandlers[event.data.type];
|
110
|
-
if (isFunction(callback)) {
|
111
|
-
callback(event.data);
|
112
|
-
}
|
113
|
-
}
|
114
|
-
};
|
115
|
-
this.setFrameSrc = function () {
|
116
|
-
if (_this.savedIframeSrc) {
|
117
|
-
_this.frame.src = _this.savedIframeSrc;
|
118
|
-
return;
|
119
|
-
}
|
120
|
-
var _b = _this.initOptions, team = _b.team, room = _b.room, token = _b.token;
|
121
|
-
if (team && room) {
|
122
|
-
var url = "https://".concat(team, ".digitalsamba.com/").concat(room);
|
123
|
-
if (token) {
|
124
|
-
var params = new URLSearchParams({ token: token });
|
125
|
-
url = "".concat(url, "?").concat(params);
|
126
|
-
}
|
127
|
-
_this.frame.src = url;
|
128
|
-
var allowedURL = new URL(url);
|
129
|
-
_this.allowedOrigin = allowedURL.origin;
|
130
|
-
}
|
131
|
-
else {
|
132
|
-
_this.logError(INVALID_CONFIG);
|
133
|
-
}
|
134
|
-
};
|
135
|
-
this.logError = function (message) {
|
136
|
-
if (_this.reportErrors) {
|
137
|
-
throw new Error(message);
|
138
|
-
}
|
139
|
-
};
|
140
|
-
this.applyFrameProperties = function (instanceProperties) {
|
141
|
-
_this.frame.setAttribute("allow", "camera; microphone; display-capture; autoplay;");
|
142
|
-
_this.frame.setAttribute("allowFullscreen", "true");
|
143
|
-
if (instanceProperties.frameAttributes) {
|
144
|
-
// TODO: only allow specific attrs here; This is a heck to support
|
145
|
-
Object.entries(instanceProperties.frameAttributes).forEach(function (_b) {
|
146
|
-
var _c = __read(_b, 2), attr = _c[0], value = _c[1];
|
147
|
-
if (value !== null && typeof value !== "undefined") {
|
148
|
-
_this.frame.setAttribute(attr, value.toString());
|
149
|
-
}
|
150
|
-
else {
|
151
|
-
_this.frame.removeAttribute(attr);
|
152
|
-
}
|
153
|
-
});
|
154
|
-
}
|
155
|
-
if (instanceProperties.reportErrors) {
|
156
|
-
_this.reportErrors = true;
|
157
|
-
}
|
158
|
-
};
|
159
|
-
this.initOptions = options;
|
160
|
-
this.mountFrame(loadImmediately);
|
161
|
-
if (loadImmediately) {
|
162
|
-
this.load(instanceProperties);
|
163
|
-
}
|
164
|
-
else {
|
165
|
-
this.frame.style.display = "none";
|
166
|
-
}
|
167
|
-
this.frame.onload = function () { return _this.checkTarget(); };
|
168
|
-
window.addEventListener("message", this.onMessage);
|
169
|
-
}
|
170
|
-
DigitalSambaEmbedded.prototype.checkTarget = function () {
|
171
|
-
var _this = this;
|
172
|
-
this.sendMessage({ type: "connect" });
|
173
|
-
var confirmationTimeout = window.setTimeout(function () {
|
174
|
-
_this.logError("Could not verify target frame identity. Commands may not work");
|
175
|
-
}, CONNECT_TIMEOUT);
|
176
|
-
this.on("connected", function () {
|
177
|
-
_this.connected = true;
|
178
|
-
clearTimeout(confirmationTimeout);
|
179
|
-
});
|
180
|
-
};
|
181
|
-
DigitalSambaEmbedded.prototype.sendMessage = function (message) {
|
182
|
-
if (this.frame.contentWindow) {
|
183
|
-
this.frame.contentWindow.postMessage(message, this.allowedOrigin);
|
184
|
-
}
|
185
|
-
};
|
186
|
-
var _a;
|
187
|
-
_a = DigitalSambaEmbedded;
|
188
|
-
DigitalSambaEmbedded.createControl = function (initOptions) {
|
189
|
-
return new _a(initOptions, {}, false);
|
190
|
-
};
|
191
|
-
return DigitalSambaEmbedded;
|
192
|
-
}());
|
193
|
-
// @ts-ignore
|
194
|
-
window.DigitalSambaEmbedded = DigitalSambaEmbedded;
|