@bloomreach/ui-extension-saas
Version:
Bloomreach Open UI SDK
3 lines (2 loc) • 19.9 kB
JavaScript
var UiExtension=function(e){"use strict";function t(e,t,i){if("undefined"!=typeof Symbol){var s=Symbol.iterator;if(s&&s in e){var a,c,l,u=e[s]();if(function e(s){try{for(;!((a=u.next()).done||i&&i());)if((s=t(a.value))&&s.then){if(!r(s))return void s.then(e,l||(l=o.bind(null,c=new n,2)));s=s.v}c?o(c,1,s):c=s}catch(e){o(c||(c=new Pact),2,e)}}(),u.return){var d=function(e){try{a.done||u.return()}catch(e){}return e};if(c&&c.then)return c.then(d,(function(e){throw d(e)}));d()}return c}}if(!("length"in e))throw new TypeError("value is not iterable");for(var f=[],h=0;h<e.length;h++)f.push(e[h]);return function(e,t,i){var s,a,c=-1;function l(u){try{for(;++c<e.length&&(!i||!i());)if((u=t(c))&&u.then){if(!r(u))return void u.then(l,a||(a=o.bind(null,s=new n,2)));u=u.v}s?o(s,1,u):s=u}catch(e){o(s||(s=new Pact),2,e)}}return l(),s}(f,(function(e){return t(f[e])}),i)}function r(e){return e instanceof n&&1&e.s}function n(){}function o(e,t,r){if(!e.s){if(r instanceof n){if(!r.s)return void(r.o=o.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(o.bind(null,e,t),o.bind(null,e,2));e.s=t,e.v=r;const i=e.o;i&&i(e)}}n.prototype.then=function(e,t){const r=new n,i=this.s;if(i){const n=1&i?e:t;if(n){try{o(r,1,n(this.v))}catch(e){o(r,2,e)}return r}return this}return this.o=function(n){try{const i=n.v;1&n.s?o(r,1,e?e(i):i):t?o(r,1,t(i)):o(r,2,i)}catch(e){o(r,2,e)}},r};const i=new WeakMap,s=new WeakMap,a=new WeakMap,c=Symbol("anyProducer"),l=Promise.resolve(),u=Symbol("listenerAdded"),d=Symbol("listenerRemoved");function f(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new TypeError("eventName must be a string or a symbol")}function h(e){if("function"!=typeof e)throw new TypeError("listener must be a function")}function E(e,t){const r=s.get(e);return r.has(t)||r.set(t,new Set),r.get(t)}function m(e,t){const r="string"==typeof t?t:c,n=a.get(e);return n.has(r)||n.set(r,new Set),n.get(r)}function p(e,t){let r=!1,n=()=>{},o=[];const i={enqueue(e){o.push(e),n()},finish(){r=!0,n()}};return m(e,t).add(i),{next:function(){try{let t=!1;const i=this;function e(e){return t?e:Promise.resolve(o.shift()).then((function(e){return{done:!1,value:e}}))}if(!o)return Promise.resolve({done:!0});const s=function(){if(0===o.length)return r?(o=void 0,t=!0,i.next()):Promise.resolve(new Promise(e=>{n=e})).then((function(){return t=!0,i.next()}))}();return Promise.resolve(s&&s.then?s.then(e):e(s))}catch(e){return Promise.reject(e)}},return:function(r){try{const a=arguments;function s(e){return c?{done:!0,value:e}:e}o=void 0,m(e,t).delete(i),n();const c=a.length>0;return Promise.resolve(c?Promise.resolve(r).then(s):s({done:!0}))}catch(e){return Promise.reject(e)}},[Symbol.asyncIterator](){return this}}}function v(e){if(void 0===e)return R;if(!Array.isArray(e))throw new TypeError("`methodNames` must be an array of strings");for(const t of e)if(!R.includes(t)){if("string"!=typeof t)throw new TypeError("`methodNames` element must be a string");throw new Error(`${t} is not Emittery method`)}return e}const g=e=>e===u||e===d;class y{static mixin(e,t){return t=v(t),r=>{if("function"!=typeof r)throw new TypeError("`target` must be function");for(const e of t)if(void 0!==r.prototype[e])throw new Error(`The property \`${e}\` already exists on \`target\``);Object.defineProperty(r.prototype,e,{enumerable:!1,get:function(){return Object.defineProperty(this,e,{enumerable:!1,value:new y}),this[e]}});const n=t=>function(...r){return this[e][t](...r)};for(const e of t)Object.defineProperty(r.prototype,e,{enumerable:!1,value:n(e)});return r}}constructor(){i.set(this,new Set),s.set(this,new Map),a.set(this,new Map)}on(e,t){return f(e),h(t),E(this,e).add(t),g(e)||this.emit(u,{eventName:e,listener:t}),this.off.bind(this,e,t)}off(e,t){f(e),h(t),g(e)||this.emit(d,{eventName:e,listener:t}),E(this,e).delete(t)}once(e){return new Promise(t=>{f(e);const r=this.on(e,e=>{r(),t(e)})})}events(e){return f(e),p(this,e)}emit(e,t){try{const r=this;f(e),function(e,t,r){const n=a.get(e);if(n.has(t))for(const e of n.get(t))e.enqueue(r);if(n.has(c)){const e=Promise.all([t,r]);for(const t of n.get(c))t.enqueue(e)}}(r,e,t);const n=E(r,e),o=i.get(r),s=[...n],u=g(e)?[]:[...o];return Promise.resolve(l).then((function(){return Promise.all([...s.map((function(e){try{return n.has(e)?Promise.resolve(e(t)):void 0}catch(e){return Promise.reject(e)}})),...u.map((function(r){try{return o.has(r)?Promise.resolve(r(e,t)):void 0}catch(e){return Promise.reject(e)}}))])}))}catch(e){return Promise.reject(e)}}emitSerial(e,r){try{const n=this;f(e);const o=E(n,e),s=i.get(n),a=[...o],c=[...s];return Promise.resolve(l).then((function(){function n(){return t(c,(function(t){const n=function(){if(s.has(t))return Promise.resolve(t(e,r)).then((function(){}))}();if(n&&n.then)return n.then((function(){}))}))}const i=t(a,(function(e){const t=function(){if(o.has(e))return Promise.resolve(e(r)).then((function(){}))}();if(t&&t.then)return t.then((function(){}))}));return i&&i.then?i.then(n):n()}))}catch(e){return Promise.reject(e)}}onAny(e){return h(e),i.get(this).add(e),this.emit(u,{listener:e}),this.offAny.bind(this,e)}anyEvent(){return p(this)}offAny(e){h(e),this.emit(d,{listener:e}),i.get(this).delete(e)}clearListeners(e){if("string"==typeof e){E(this,e).clear();const t=m(this,e);for(const e of t)e.finish();t.clear()}else{i.get(this).clear();for(const e of s.get(this).values())e.clear();for(const e of a.get(this).values()){for(const t of e)t.finish();e.clear()}}}listenerCount(e){if("string"==typeof e)return i.get(this).size+E(this,e).size+m(this,e).size+m(this).size;void 0!==e&&f(e);let t=i.get(this).size;for(const e of s.get(this).values())t+=e.size;for(const e of a.get(this).values())t+=e.size;return t}bindMethods(e,t){if("object"!=typeof e||null===e)throw new TypeError("`target` must be an object");t=v(t);for(const r of t){if(void 0!==e[r])throw new Error(`The property \`${r}\` already exists on \`target\``);Object.defineProperty(e,r,{enumerable:!1,value:this[r].bind(this)})}}}const R=Object.getOwnPropertyNames(y.prototype).filter(e=>"constructor"!==e);y.Typed=class extends y{},Object.defineProperty(y.Typed,"Typed",{enumerable:!1,value:void 0}),Object.defineProperty(y,"listenerAdded",{value:u,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(y,"listenerRemoved",{value:d,writable:!1,enumerable:!0,configurable:!1});var _=y;function O(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function w(e,t){return e(t={exports:{}},t.exports),t.exports}var N=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.DATA_CLONE_ERROR=t.MESSAGE=t.REJECTED=t.FULFILLED=t.REPLY=t.CALL=t.HANDSHAKE_REPLY=t.HANDSHAKE=void 0;t.HANDSHAKE="handshake";t.HANDSHAKE_REPLY="handshake-reply";t.CALL="call";t.REPLY="reply";t.FULFILLED="fulfilled";t.REJECTED="rejected";t.MESSAGE="message";t.DATA_CLONE_ERROR="DataCloneError"}));O(N);N.DATA_CLONE_ERROR,N.MESSAGE,N.REJECTED,N.FULFILLED,N.REPLY,N.CALL,N.HANDSHAKE_REPLY,N.HANDSHAKE;var b=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ERR_NO_IFRAME_SRC=t.ERR_NOT_IN_IFRAME=t.ERR_CONNECTION_TIMEOUT=t.ERR_CONNECTION_DESTROYED=void 0;t.ERR_CONNECTION_DESTROYED="ConnectionDestroyed";t.ERR_CONNECTION_TIMEOUT="ConnectionTimeout";t.ERR_NOT_IN_IFRAME="NotInIframe";t.ERR_NO_IFRAME_SRC="NoIframeSrc"}));O(b);b.ERR_NO_IFRAME_SRC,b.ERR_NOT_IN_IFRAME,b.ERR_CONNECTION_TIMEOUT,b.ERR_CONNECTION_DESTROYED;var P=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=()=>{const e=[];let t=!1;return{destroy(){t=!0,e.forEach(e=>{e()})},onDestroy(r){t?r():e.push(r)}}},e.exports=t.default}));O(P);var C=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;const r={"http:":"80","https:":"443"},n=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,o=["file:","data:"];t.default=e=>{if(e&&o.find(t=>e.startsWith(t)))return"null";const t=document.location,i=n.exec(e);let s,a,c;return i?(s=i[1]?i[1]:t.protocol,a=i[2],c=i[4]):(s=t.protocol,a=t.hostname,c=t.port),`${s}//${a}${c&&c!==r[s]?`:${c}`:""}`},e.exports=t.default}));O(C);var S=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=e=>function(){if(e){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];console.log("[Penpal]",...r)}},e.exports=t.default}));O(S);var D=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.deserializeError=t.serializeError=void 0;t.serializeError=e=>({name:e.name,message:e.message,stack:e.stack});t.deserializeError=e=>{const t=new Error;return Object.keys(e).forEach(r=>t[r]=e[r]),t}}));O(D);D.deserializeError,D.serializeError;var T=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=(e,t,r)=>{const n=e.localName,o=e.local,i=e.remote,s=e.originForSending,a=e.originForReceiving;let c=!1;r(`${n}: Connecting call receiver`);const l=e=>{if(e.source!==i||e.data.penpal!==N.CALL)return;if(e.origin!==a)return void r(`${n} received message from origin ${e.origin} which did not match expected origin ${a}`);const o=e.data,l=o.methodName,u=o.args,d=o.id;r(`${n}: Received ${l}() call`);const f=e=>t=>{if(r(`${n}: Sending ${l}() reply`),c)return void r(`${n}: Unable to send ${l}() reply due to destroyed connection`);const o={penpal:N.REPLY,id:d,resolution:e,returnValue:t};e===N.REJECTED&&t instanceof Error&&(o.returnValue=(0,D.serializeError)(t),o.returnValueIsError=!0);try{i.postMessage(o,s)}catch(e){throw e.name===N.DATA_CLONE_ERROR&&i.postMessage({penpal:N.REPLY,id:d,resolution:N.REJECTED,returnValue:(0,D.serializeError)(e),returnValueIsError:!0},s),e}};new Promise(e=>e(t[l].apply(t,u))).then(f(N.FULFILLED),f(N.REJECTED))};return o.addEventListener(N.MESSAGE,l),()=>{c=!0,o.removeEventListener(N.MESSAGE,l)}},e.exports=t.default}));O(T);var I=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;let r=0;t.default=()=>++r,e.exports=t.default}));O(I);var A=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,n=(r=I)&&r.__esModule?r:{default:r};t.default=(e,t,r,o,i)=>{const s=t.localName,a=t.local,c=t.remote,l=t.originForSending,u=t.originForReceiving;let d=!1;i(`${s}: Connecting call sender`);return r.reduce((e,t)=>(e[t]=(e=>function(){for(var t=arguments.length,r=new Array(t),f=0;f<t;f++)r[f]=arguments[f];let h;i(`${s}: Sending ${e}() call`);try{c.closed&&(h=!0)}catch(e){h=!0}if(h&&o(),d){const t=new Error(`Unable to send ${e}() call due `+"to destroyed connection");throw t.code=b.ERR_CONNECTION_DESTROYED,t}return new Promise((t,o)=>{const d=(0,n.default)(),f=r=>{if(r.source!==c||r.data.penpal!==N.REPLY||r.data.id!==d)return;if(r.origin!==u)return void i(`${s} received message from origin ${r.origin} which did not match expected origin ${u}`);i(`${s}: Received ${e}() reply`),a.removeEventListener(N.MESSAGE,f);let n=r.data.returnValue;r.data.returnValueIsError&&(n=(0,D.deserializeError)(n)),(r.data.resolution===N.FULFILLED?t:o)(n)};a.addEventListener(N.MESSAGE,f),c.postMessage({penpal:N.CALL,id:d,methodName:e,args:r},l)})})(t),e),e),()=>{d=!0}},e.exports=t.default}));O(A);var M=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(P),n=a(C),o=a(S),i=a(T),s=a(A);function a(e){return e&&e.__esModule?e:{default:e}}t.default=e=>{let t=e.iframe,a=e.methods,c=void 0===a?{}:a,l=e.childOrigin,u=e.timeout,d=e.debug;const f=(0,o.default)(d),h=window,E=(0,r.default)(),m=E.destroy,p=E.onDestroy;if(!l){if(!t.src&&!t.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=b.ERR_NO_IFRAME_SRC,e}l=(0,n.default)(t.src)}const v="null"===l?"*":l;return{promise:new Promise((e,r)=>{let n;void 0!==u&&(n=setTimeout(()=>{const e=new Error(`Connection to child timed out after ${u}ms`);e.code=b.ERR_CONNECTION_TIMEOUT,r(e),m()},u));const o={};let a,d;const E=r=>{const u=t.contentWindow;if(r.source!==u||r.data.penpal!==N.HANDSHAKE)return;if(r.origin!==l)return void f(`Parent received handshake from origin ${r.origin} which did not match expected origin ${l}`);f("Parent: Received handshake, sending reply"),r.source.postMessage({penpal:N.HANDSHAKE_REPLY,methodNames:Object.keys(c)},v);const E={localName:"Parent",local:h,remote:u,originForSending:v,originForReceiving:l};d&&d(),d=(0,i.default)(E,c,f),p(d),a&&a.forEach(e=>{delete o[e]}),a=r.data.methodNames;const g=(0,s.default)(o,E,a,m,f);p(g),clearTimeout(n),e(o)};h.addEventListener(N.MESSAGE,E),f("Parent: Awaiting handshake");var g=setInterval(()=>{document.contains(t)||(clearInterval(g),m())},6e4);p(()=>{h.removeEventListener(N.MESSAGE,E),clearInterval(g);const e=new Error("Connection destroyed");e.code=b.ERR_CONNECTION_DESTROYED,r(e)})}),destroy:m}},e.exports=t.default}));O(M);var L=w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(P),n=s(T),o=s(A),i=s(S);function s(e){return e&&e.__esModule?e:{default:e}}t.default=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.parentOrigin,s=void 0===t?"*":t,a=e.methods,c=void 0===a?{}:a,l=e.timeout,u=e.debug;const d=(0,i.default)(u);if(window===window.top){const e=new Error("connectToParent() must be called within an iframe");throw e.code=b.ERR_NOT_IN_IFRAME,e}const f=(0,r.default)(),h=f.destroy,E=f.onDestroy,m=window,p=m.parent,v=new Promise((e,t)=>{let r;void 0!==l&&(r=setTimeout(()=>{const e=new Error(`Connection to parent timed out after ${l}ms`);e.code=b.ERR_CONNECTION_TIMEOUT,t(e),h()},l));const i=t=>{try{clearTimeout()}catch(e){return}if(t.source!==p||t.data.penpal!==N.HANDSHAKE_REPLY)return;if("*"!==s&&s!==t.origin)return void d(`Child received handshake reply from origin ${t.origin} which did not match expected origin ${s}`);d("Child: Received handshake reply"),m.removeEventListener(N.MESSAGE,i);const a={localName:"Child",local:m,remote:p,originForSending:"null"===t.origin?"*":t.origin,originForReceiving:t.origin},l={},u=(0,n.default)(a,c,d);E(u);const f=(0,o.default)(l,a,t.data.methodNames,h,d);E(f),clearTimeout(r),e(l)};m.addEventListener(N.MESSAGE,i),E(()=>{m.removeEventListener(N.MESSAGE,i);const e=new Error("Connection destroyed");e.code=b.ERR_CONNECTION_DESTROYED,t(e)}),d("Child: Sending handshake"),p.postMessage({penpal:N.HANDSHAKE,methodNames:Object.keys(c)},s)});return{promise:v,destroy:h}},e.exports=t.default}));O(L);var x,F,j,$,H=O(w((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(M),n=o(L);function o(e){return e&&e.__esModule?e:{default:e}}var i={ERR_CONNECTION_DESTROYED:b.ERR_CONNECTION_DESTROYED,ERR_CONNECTION_TIMEOUT:b.ERR_CONNECTION_TIMEOUT,ERR_NOT_IN_IFRAME:b.ERR_NOT_IN_IFRAME,ERR_NO_IFRAME_SRC:b.ERR_NO_IFRAME_SRC,connectToChild:r.default,connectToParent:n.default};t.default=i,e.exports=t.default})));(x=e.UiExtensionErrorCode||(e.UiExtensionErrorCode={})).ConnectionDestroyed="ConnectionDestroyed",x.DialogCanceled="DialogCanceled",x.DialogExists="DialogExists",x.IncompatibleParent="IncompatibleParent",x.InternalError="InternalError",x.NotInIframe="NotInIframe",(F=e.UiStyling||(e.UiStyling={})).Classic="classic",F.Material="material",(j=e.DocumentEditorMode||(e.DocumentEditorMode={})).View="view",j.Compare="compare",j.Edit="edit",($=e.DialogSize||(e.DialogSize={})).Large="large",$.Medium="medium",$.Small="small";const U=["getDocumentValues","getDocumentFieldValue","setDocumentFieldValue"];class V extends Error{constructor(e,t){super(t),this.code=e,this.message=t,Object.setPrototypeOf(this,new.target.prototype)}toPromise(){return Promise.reject(this)}static fromPenpal(e){const t=V.convertPenpalErrorCode(e);return new V(t,e.message)}static convertPenpalErrorCode(t){switch(t.code){case H.ERR_NOT_IN_IFRAME:return e.UiExtensionErrorCode.NotInIframe;case H.ERR_CONNECTION_DESTROYED:return e.UiExtensionErrorCode.ConnectionDestroyed;case"DialogCanceled":return e.UiExtensionErrorCode.DialogCanceled;case"DialogExists":return e.UiExtensionErrorCode.DialogExists;default:return e.UiExtensionErrorCode.InternalError}}}class Y{constructor(e){this._parent=e}call(t,...r){if(!this._parent[t]){const r=U.includes(String(t))?`${String(t)}() is only supported in the Experience Manager`:`missing ${String(t)}()`;return new V(e.UiExtensionErrorCode.IncompatibleParent,r).toPromise()}try{return this._parent[t](...r).catch(Y.convertPenpalError)}catch(e){return Y.convertPenpalError(e)}}static convertPenpalError(e){return V.fromPenpal(e).toPromise()}}function z(){return(z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var k,G,K;const J=Symbol("parent"),W=Symbol("eventEmitter"),q=Symbol("eventScope"),B=Symbol("fieldDomObserver"),Q=Symbol("fieldOverflowStyle"),X=Symbol("fieldHeight"),Z=Symbol("fieldHeightMode"),ee=Symbol("fieldHeightListener");function te(e,t,r){let n;Object.defineProperty(e,t,{get:()=>(void 0===n&&(n=r()),n),configurable:!1,enumerable:!0})}class re{constructor(e){this[J]=e}}class ne extends re{constructor(e,t,r){super(e),this[W]=t,this[q]=r}on(e,t){return this[W].on(`${this[q]}.${e}`,t)}}class oe extends ne{get(){return this[J].call("getPage")}refresh(){return this[J].call("refreshPage")}}class ie extends ne{constructor(e,t,r){super(e,t,r),te(this,"page",()=>new oe(e,t,"channel.page"))}refresh(){return this[J].call("refreshChannel")}get(){return this[J].call("getChannel")}}class se extends re{constructor(e){super(e),te(this,"field",()=>new ue(this[J]))}get(){return this[J].call("getDocument")}navigate(e){return this[J].call("navigateDocument",e)}open(e){return this[J].call("openDocument",e)}setFieldValue(e,t){return this[J].call("setDocumentFieldValue",e,t)}getFieldValue(e){return this[J].call("getDocumentFieldValue",e)}getValues(){return this[J].call("getDocumentValues")}}function ae(){"auto"!==this[Z]&&(document.body.addEventListener("load",this[ee],!0),this[B].observe(document.body,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),this[Z]="auto",this[Q]=document.body.style.overflowY,document.body.style.overflowY="hidden")}function ce(){"auto"===this[Z]&&(document.body.removeEventListener("load",this[ee],!0),this[B].disconnect(),this[Z]="manual",document.body.style.overflowY=this[Q])}function le(e){if(this[X]!==e)return this[X]=e,this[J].call("setFieldHeight",e)}class ue extends re{constructor(e){super(e),this[k]="manual",this[G]=()=>le.call(this,document.body.scrollHeight),this[K]=new MutationObserver(this[ee]),window.addEventListener("focus",()=>e.call("emitEvent","document.field.focus")),window.addEventListener("blur",()=>e.call("emitEvent","document.field.blur"))}getValue(...e){return this[J].call("getFieldValue",...e)}getCompareValue(...e){return this[J].call("getFieldCompareValue",...e)}setValue(e){return this[J].call("setFieldValue",e)}setHeight(e){return"auto"===e?ae.call(this)||Promise.resolve():(ce.call(this),le.call(this,e)||Promise.resolve())}}k=Z,G=ee,K=B;class de extends re{constructor(e){super(e),window.addEventListener("keydown",({which:e})=>27===e&&this.cancel())}cancel(){return this[J].call("cancelDialog")}close(e){return this[J].call("closeDialog",e)}open(e){return this[J].call("openDialog",e)}options(){return this[J].call("getDialogOptions")}}class fe extends re{constructor(e,t){super(e),te(this,"channel",()=>new ie(e,t,"channel")),te(this,"dialog",()=>new de(e)),te(this,"document",()=>new se(e))}init(){return this[J].call("getProperties").then(e=>z(this,e))}}class he{static register(){const e=new URLSearchParams(window.location.search).get("br.parentOrigin"),t=new _;return function(e,t){try{return H.connectToParent({parentOrigin:e,methods:{emitEvent:t.emit.bind(t)}}).promise.then(e=>new Y(e))}catch(e){return V.fromPenpal(e).toPromise()}}(e,t).then(e=>new fe(e,t).init())}}const Ee=he.register;return e.default=he,e.register=Ee,e}({});
//# sourceMappingURL=ui-extension.min.js.map