flightkit 2.0.0-beta.7 → 2.0.0-beta.8

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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  ![flightkit-200](https://js.flybits.app/images/Flybits-Header-flightkit-thin.png)
2
2
  # Flightkit
3
3
 
4
- v2.0.0-beta.7
4
+ v2.0.0-beta.8
5
5
 
6
6
  Flybits Flightkit is a fully contained, framework agnostic solution for personalized UI and Content within your web applications. Composed of [native web components](https://www.webcomponents.org/introduction) you can simply drop pure HTML tags into your application and view curated experiences from the [Flybits](https://flybits.com) platform.
7
7
 
@@ -26,9 +26,9 @@ or via a CDN
26
26
 
27
27
  ```javascript
28
28
  <!-- Import the Flybits.js core SDK -->
29
- <script src="https://cdn.jsdelivr.net/npm/flybits@2.11.3/dist/flybits.min.js"></script>
29
+ <script src="https://cdn.jsdelivr.net/npm/flybits@2.12.0/dist/flybits.min.js"></script>
30
30
  <!-- Import the Flightkit library -->
31
- <script type="module" src="https://cdn.jsdelivr.net/npm/flightkit@2.0.0-beta.5/dist/flightkit.js"></script>
31
+ <script type="module" src="https://cdn.jsdelivr.net/npm/flightkit@2.0.0-beta.8/dist/flightkit.js"></script>
32
32
  ```
33
33
 
34
34
  2. **Declare**
package/dist/flightkit.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // @author Justin Lam
2
- // @version 2.0.0-beta.7:7b7b915
3
- const t=globalThis,r=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),a=new WeakMap;let l=class n{constructor(t,e,r){if(this._$cssResult$=!0,r!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=a.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&a.set(e,t))}return t}toString(){return this.cssText}};const c=(t,...e)=>{const r=1===t.length?t[0]:e.reduce(((e,r,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[o+1]),t[0]);return new l(r,t,o)},h=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new l("string"==typeof t?t:t+"",void 0,o))(e)})(t):t,{is:d,defineProperty:p,getOwnPropertyDescriptor:u,getOwnPropertyNames:g,getOwnPropertySymbols:y,getPrototypeOf:f}=Object,m=globalThis,v=m.trustedTypes,$=v?v.emptyScript:"",_=m.reactiveElementPolyfillSupport,A=(t,e)=>t,E={toAttribute(t,e){switch(e){case Boolean:t=t?$:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},w=(t,e)=>!d(t,e),C={attribute:!0,type:String,converter:E,reflect:!1,hasChanged:w};Symbol.metadata??=Symbol("metadata"),m.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=C){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(t,r,e);void 0!==o&&p(this.prototype,t,o)}}static getPropertyDescriptor(t,e,r){const{get:o,set:a}=u(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return o?.call(this)},set(e){const l=o?.call(this);a.call(this,e),this.requestUpdate(t,l,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??C}static _$Ei(){if(this.hasOwnProperty(A("elementProperties")))return;const t=f(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(A("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(A("properties"))){const t=this.properties,e=[...g(t),...y(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(h(t))}else void 0!==t&&e.push(h(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,o)=>{if(r)e.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const r of o){const o=document.createElement("style"),a=t.litNonce;void 0!==a&&o.setAttribute("nonce",a),o.textContent=r.cssText,e.appendChild(o)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EC(t,e){const r=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,r);if(void 0!==o&&!0===r.reflect){const a=(void 0!==r.converter?.toAttribute?r.converter:E).toAttribute(e,r.type);this._$Em=t,null==a?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(t,e){const r=this.constructor,o=r._$Eh.get(t);if(void 0!==o&&this._$Em!==o){const t=r.getPropertyOptions(o),a="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:E;this._$Em=o,this[o]=a.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,r){if(void 0!==t){if(r??=this.constructor.getPropertyOptions(t),!(r.hasChanged??w)(this[t],e))return;this.P(t,e,r)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,r){this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t)!0!==r.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],r)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[A("elementProperties")]=new Map,b[A("finalized")]=new Map,_?.({ReactiveElement:b}),(m.reactiveElementVersions??=[]).push("2.0.4");const O=globalThis,x=O.trustedTypes,D=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,U="$lit$",F=`lit$${(Math.random()+"").slice(9)}$`,P="?"+F,T=`<${P}>`,N=document,j=()=>N.createComment(""),z=t=>null===t||"object"!=typeof t&&"function"!=typeof t,B=Array.isArray,Z="[ \t\n\f\r]",W=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,G=/-->/g,q=/>/g,J=RegExp(`>|${Z}(?:([^\\s"'>=/]+)(${Z}*=${Z}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),K=/'/g,Y=/"/g,X=/^(?:script|style|textarea|title)$/i,Q=(t=>(e,...r)=>({_$litType$:t,strings:e,values:r}))(1),tt=Symbol.for("lit-noChange"),et=Symbol.for("lit-nothing"),it=new WeakMap,rt=N.createTreeWalker(N,129);function st(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==D?D.createHTML(e):e}const ot=(t,e)=>{const r=t.length-1,o=[];let a,l=2===e?"<svg>":"",c=W;for(let e=0;e<r;e++){const r=t[e];let h,d,p=-1,u=0;for(;u<r.length&&(c.lastIndex=u,d=c.exec(r),null!==d);)u=c.lastIndex,c===W?"!--"===d[1]?c=G:void 0!==d[1]?c=q:void 0!==d[2]?(X.test(d[2])&&(a=RegExp("</"+d[2],"g")),c=J):void 0!==d[3]&&(c=J):c===J?">"===d[0]?(c=a??W,p=-1):void 0===d[1]?p=-2:(p=c.lastIndex-d[2].length,h=d[1],c=void 0===d[3]?J:'"'===d[3]?Y:K):c===Y||c===K?c=J:c===G||c===q?c=W:(c=J,a=void 0);const g=c===J&&t[e+1].startsWith("/>")?" ":"";l+=c===W?r+T:p>=0?(o.push(h),r.slice(0,p)+U+r.slice(p)+F+g):r+F+(-2===p?e:g)}return[st(t,l+(t[r]||"<?>")+(2===e?"</svg>":"")),o]};class V{constructor({strings:t,_$litType$:e},r){let o;this.parts=[];let a=0,l=0;const c=t.length-1,h=this.parts,[d,p]=ot(t,e);if(this.el=V.createElement(d,r),rt.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(o=rt.nextNode())&&h.length<c;){if(1===o.nodeType){if(o.hasAttributes())for(const t of o.getAttributeNames())if(t.endsWith(U)){const e=p[l++],r=o.getAttribute(t).split(F),c=/([.?@])?(.*)/.exec(e);h.push({type:1,index:a,name:c[2],strings:r,ctor:"."===c[1]?k:"?"===c[1]?H:"@"===c[1]?I:R}),o.removeAttribute(t)}else t.startsWith(F)&&(h.push({type:6,index:a}),o.removeAttribute(t));if(X.test(o.tagName)){const t=o.textContent.split(F),e=t.length-1;if(e>0){o.textContent=x?x.emptyScript:"";for(let r=0;r<e;r++)o.append(t[r],j()),rt.nextNode(),h.push({type:2,index:++a});o.append(t[e],j())}}}else if(8===o.nodeType)if(o.data===P)h.push({type:2,index:a});else{let t=-1;for(;-1!==(t=o.data.indexOf(F,t+1));)h.push({type:7,index:a}),t+=F.length-1}a++}}static createElement(t,e){const r=N.createElement("template");return r.innerHTML=t,r}}function nt(t,e,r=t,o){if(e===tt)return e;let a=void 0!==o?r._$Co?.[o]:r._$Cl;const l=z(e)?void 0:e._$litDirective$;return a?.constructor!==l&&(a?._$AO?.(!1),void 0===l?a=void 0:(a=new l(t),a._$AT(t,r,o)),void 0!==o?(r._$Co??=[])[o]=a:r._$Cl=a),void 0!==a&&(e=nt(t,a._$AS(t,e.values),a,o)),e}class S{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:r}=this._$AD,o=(t?.creationScope??N).importNode(e,!0);rt.currentNode=o;let a=rt.nextNode(),l=0,c=0,h=r[0];for(;void 0!==h;){if(l===h.index){let e;2===h.type?e=new M(a,a.nextSibling,this,t):1===h.type?e=new h.ctor(a,h.name,h.strings,this,t):6===h.type&&(e=new L(a,this,t)),this._$AV.push(e),h=r[++c]}l!==h?.index&&(a=rt.nextNode(),l++)}return rt.currentNode=N,o}p(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,o){this.type=2,this._$AH=et,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=nt(this,t,e),z(t)?t===et||null==t||""===t?(this._$AH!==et&&this._$AR(),this._$AH=et):t!==this._$AH&&t!==tt&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>B(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==et&&z(this._$AH)?this._$AA.nextSibling.data=t:this.T(N.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:r}=t,o="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=V.createElement(st(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===o)this._$AH.p(e);else{const t=new S(o,this),r=t.u(this.options);t.p(e),this.T(r),this._$AH=t}}_$AC(t){let e=it.get(t.strings);return void 0===e&&it.set(t.strings,e=new V(t)),e}k(t){B(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,o=0;for(const a of t)o===e.length?e.push(r=new M(this.S(j()),this.S(j()),this,this.options)):r=e[o],r._$AI(a),o++;o<e.length&&(this._$AR(r&&r._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,o,a){this.type=1,this._$AH=et,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=a,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=et}_$AI(t,e=this,r,o){const a=this.strings;let l=!1;if(void 0===a)t=nt(this,t,e,0),l=!z(t)||t!==this._$AH&&t!==tt,l&&(this._$AH=t);else{const o=t;let c,h;for(t=a[0],c=0;c<a.length-1;c++)h=nt(this,o[r+c],e,c),h===tt&&(h=this._$AH[c]),l||=!z(h)||h!==this._$AH[c],h===et?t=et:t!==et&&(t+=(h??"")+a[c+1]),this._$AH[c]=h}l&&!o&&this.j(t)}j(t){t===et?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===et?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==et)}}class I extends R{constructor(t,e,r,o,a){super(t,e,r,o,a),this.type=5}_$AI(t,e=this){if((t=nt(this,t,e,0)??et)===tt)return;const r=this._$AH,o=t===et&&r!==et||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==et&&(r===et||o);o&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){nt(this,t)}}const at=O.litHtmlPolyfillSupport;at?.(V,M),(O.litHtmlVersions??=[]).push("3.1.2");class s extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,r)=>{const o=r?.renderBefore??e;let a=o._$litPart$;if(void 0===a){const t=r?.renderBefore??null;o._$litPart$=a=new M(e.insertBefore(j(),t),t,void 0,r??{})}return a._$AI(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return tt}}s._$litElement$=!0,s.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const lt=globalThis.litElementPolyfillSupport;lt?.({LitElement:s}),(globalThis.litElementVersions??=[]).push("4.0.4");const ct=1;class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const ht=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends i{constructor(t){if(super(t),t.type!==ct||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){if(void 0===this.st){this.st=new Set,void 0!==t.strings&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(e)}const r=t.element.classList;for(const t of this.st)t in e||(r.remove(t),this.st.delete(t));for(const t in e){const o=!!e[t];o===this.st.has(t)||this.nt?.has(t)||(o?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return tt}});var dt="https://static-files-concierge.staging.flybits.com/latest/zone.html",pt=2e3,ut="2.0.0-beta.7",gt=function(){var t=this;this.promise=new Promise((function(e,r){t.resolve=e,t.reject=r})),this.then=this.promise.then.bind(this.promise),this.catch=this.promise.catch.bind(this.promise)},yt=function(t,e){e=e||window.location.href,t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var r=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);return null===r?"":r[1]};class ActionLink{static protocol={DETAILS:"details",INAPPBROWSER:"web",BROWSER:"browser",HTTPS:"https",PHONE:"phone",APP:"app",CONCIERGE:"concierge",UNIVERSAL:"universalLink",MAIL:"mail",CUSTOM:"custom"};static PROTOCOLDEFS={details:{contentId:{type:String},overlay:{type:Boolean,default:!1}},web:{url:{type:String}},browser:{url:{type:String}},https:{},phone:{phoneNumber:{type:String}},app:{name:{type:String}},concierge:{container:{type:String},zoneReferenceId:{type:String},filter:{type:String},style:{type:String},overlay:{type:Boolean,default:!1}},universalLink:{ios:{type:String},android:{type:String}},mail:{sendTo:{type:String},subject:{type:String},body:{type:String},cc:{type:String},bcc:{type:String}},custom:{}};constructor(t){this.rawStr="",this.protocol="",this.value="",this.params={},this.data={},this.fromLink(t)}fromLink(t){this.rawStr=t;var e=t.split("://")[0]||"";e=e.toLowerCase();var r=t.indexOf("://")>-1?t.substring(t.indexOf("://")+3):t,o=JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS.custom));if(ActionLink.PROTOCOLDEFS[e]?o=JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS[e])):(e="custom",r=t),this.protocol=e,this.value=r,o&&Object.keys(o).length){var a={};Object.keys(o).forEach((function(e){const r=yt(e,t);r?o[e].type===Boolean?a[e]="true"===r?.toLowerCase():o[e].type===Number?a[e]=+r:a[e]=r:o[e].hasOwnProperty("default")&&(a[e]=o[e].default)})),this.params=a}}toJSON(){return{rawStr:this.rawStr,protocol:this.protocol,value:this.value,params:this.params,data:this.data}}static parse(t){return new ActionLink(t)}}var ft=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)},mt={guid:function(t){var e="";if(t&&t>0){for(var r=0;r<t;r++)e+=""!==e?"-"+ft():ft();return e}return ft()+ft()+"-"+ft()+"-"+ft()+"-"+ft()+"-"+ft()+ft()+ft()},getByStr:function(t,e){for(var r=(e=(e=e.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=0,a=r.length;o<a;++o){var l=r[o];if(!(l in t))return;t=t[l]}return t},setByStr:function(t,e,r){for(var o=(e=(e=e.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),a=0,l=o.length;a<l;a++){var c=o[a];if(c in t&&a+1<l)t=t[c];else{if(c in t||!(a+1<l))return t[c]=r,r;t[c]={},t=t[c]}}},removeObject:function(t,e,r){var o=t.indexOf(e);if(r){var a=t.filter(r);a.length>0&&(o=t.indexOf(a[0]))}return o>=0?t.splice(o,1):t},debounce:function(t,e,r){var o;return function(){var a=this,l=arguments,c=r&&!o;clearTimeout(o),o=setTimeout((function(){o=null,r||t.apply(a,l)}),e),c&&t.apply(a,l)}}};mt.extend=function(){function t(t){return t&&"object"==typeof t&&"[object RegExp]"!==Object.prototype.toString.call(t)&&"[object Date]"!==Object.prototype.toString.call(t)}function e(e,r){var a;return r&&!0===r.clone&&t(e)?o((a=e,Array.isArray(a)?[]:{}),e,r):e}function r(r,a,l){var c=r.slice();return a.forEach((function(a,h){void 0===c[h]?c[h]=e(a,l):t(a)?c[h]=o(r[h],a,l):-1===r.indexOf(a)&&c.push(e(a,l))})),c}function o(a,l,c){var h=Array.isArray(l),d=(c||{arrayMerge:r}).arrayMerge||r;return h?Array.isArray(a)?d(a,l,c):e(l,c):function(r,a,l){var c={};return t(r)&&Object.keys(r).forEach((function(t){c[t]=e(r[t],l)})),Object.keys(a).forEach((function(h){t(a[h])&&r[h]?c[h]=o(r[h],a[h],l):c[h]=e(a[h],l)})),c}(a,l,c)}return o.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,r){return o(t,r,e)}))},o}();var vt=function(t){Object.keys(t).forEach((function(e){if("localizations"===e){var r=t.localizations&&t.localizations.en?t.localizations.en:null;r&&Object.assign(t,r)}else"object"!=typeof t[e]||Array.isArray(t[e])?Array.isArray(t[e])&&"object"==typeof t[e][0]&&t[e].forEach((function(t){vt(t)})):vt(t[e])}))},bt=function(t,e){var r=t.data.result&&Array.isArray(t.data.result)?t.data.result[0].toJSON():t.data;vt(r);var o={id:t.id,data:r,uiTemplate:"",style:"",styleStr:"",contentInfo:{id:t.id,labels:t.labels}},a=e&&"details"===e?t.detailsUI:t.defaultUI||{};return o.uiTemplate=a.layoutHTML||"\x3c!-- --\x3e",o.style=a.styleCSSURL,o.styleStr=a.styleCSS,o},$t={cachedContent:{},getCachedContentDetails:function(t){return this.cachedContent[t]?bt(this.cachedContent[t],"details"):null},getContentDetails:function(t){const e=new gt;var r=this;return Flybits.api.Content.get(t).then((function(t){r.cachedContent[t.result.id]=t.result,e.resolve(bt(t.result,"details"))})).catch((function(t){e.reject(t)})),e.promise},getZoneContent:function(t){const e=new gt;var r=this.cachedContent;return Flybits.api.Zones.getByReferenceId(t).then((function(t){t.zone.modules.forEach((function(t){t.content.forEach((function(t){r[t.id]=t}))})),e.resolve(t.zone)})).catch((function(t){e.reject(t)})),e.promise}};class Zone{static generateOverlayPayload(t){return{id:mt.guid(2),refID:"overlay",name:"Overlay",containers:[{id:mt.guid(),cacheKey:mt.guid(1),layout:"overlay",content:[t]}]}}static generateDetailsPayload(t){return{id:mt.guid(2),refID:"details",name:"Content Details",containers:[{id:mt.guid(),cacheKey:mt.guid(1),layout:"vertical",content:[t]}]}}}var _t={_deferredCtxInit:!1,autoInitCtxManager:function(){this._deferredCtxInit||(this._deferredCtxInit=!0,Flybits.Session.ready.then((function(){"object"!=typeof window.Flybits||Flybits.context.Manager.isReporting||(Flybits.context.Manager.reportDelay=pt,Flybits.context.Manager.initialize())})))},handleContextPayload:function(t,e){e=e||console,Array.isArray(t)?Flybits.context.Manager.ready.then((function(){t.forEach((function(r){if(r.pluginId&&r.values){var o={};Object.keys(r.values).forEach((function(t){var e=t.replaceAll("query.","");o[e]=r.values[t]})),Flybits.context.Manager.reportCtx(r.pluginId,o)}else e.error("[ctxapi] malformed ctx payload object",t)}))})):e.error("[ctxapi] malformed ctx payload",t)},handleAnalyticsPayload:function(t,e){e=e||console,t?.contentInfo?.id?"viewed"!==t.type&&"engaged"!==t.type||t.component?"engaged"!==t.type&&"content_component_event"!==t.type||!t.component?e.error("[ctxapi] unsupported analytics event",t):Flybits.context.Manager.ready.then((function(){Flybits.analytics.Manager.reportContentID(t.contentInfo.id,Flybits.analytics.Manager.actions.COMPONENTENGAGED,{name:t.component.name,compID:t.component.compId,type:t.component.id})})):Flybits.context.Manager.ready.then((function(){Flybits.analytics.Manager.reportContentID(t.contentInfo.id,t.type)})):e.error("[ctxapi] missing content id in analytics event")}};class Logger{static modes={VERBOSE:"verbose",ERRORS:"errors",SILENT:"silent"};constructor(t){t=t||{},this.mode=t.mode||"errors"}get prefix(){const t=new Date;return`[fk-${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}:${t.getMilliseconds()}.${(window?.performance.now().toFixed(2)+"").split(".")[1]}]`}log(...t){this.mode!==Logger.modes.SILENT&&this.mode===Logger.modes.VERBOSE&&(t.unshift(this.prefix),console.log.apply(null,t))}error(...t){this.mode!==Logger.modes.SILENT&&(t.unshift(this.prefix),console.error.apply(null,t))}warn(...t){this.mode!==Logger.modes.SILENT&&this.mode===Logger.modes.VERBOSE&&(t.unshift(this.prefix),console.warn.apply(null,t))}}class FlybitsSlot extends s{static get VERSION(){return ut}static get modes(){return{FIXEDHEIGHT:"fixedheight",FULLHEIGHT:"fullheight",DYNAMICHEIGHT:"dynamicheight"}}static properties={host:{type:String},projectID:{type:String,attribute:"project-id"},renderURL:{type:String,attribute:"render-url"},refID:{type:String,attribute:"ref-id"},pollingEnabled:{type:Boolean,attribute:"polling-enabled"},pollingInterval:{type:Number,attribute:"polling-interval"},renderMode:{type:String,attribute:"render-mode"},overlayOutlet:{type:String|HTMLElement,attribute:"overlay-outlet"},overrideOverlay:{type:Boolean,attribute:"override-overlay"},overrideURLs:{type:Boolean,attribute:"override-urls"},overrideActions:{type:Boolean,attribute:"override-actions"},overlayDismissUI:{type:Boolean,attribute:"overlay-dismiss-ui"},isLoadingOpen:{type:Boolean,attribute:"show-loading"},isErrorOpen:{type:Boolean,attribute:"show-error"},hasLoadingSlot:{type:Boolean},hasErrorSlot:{type:Boolean},logLevel:{type:String,attribute:"log-level"}};static styles=c`
2
+ // @version 2.0.0-beta.8:212220f
3
+ const t=globalThis,r=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),a=new WeakMap;let l=class n{constructor(t,e,r){if(this._$cssResult$=!0,r!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=a.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&a.set(e,t))}return t}toString(){return this.cssText}};const c=(t,...e)=>{const r=1===t.length?t[0]:e.reduce(((e,r,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[o+1]),t[0]);return new l(r,t,o)},h=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new l("string"==typeof t?t:t+"",void 0,o))(e)})(t):t,{is:d,defineProperty:p,getOwnPropertyDescriptor:u,getOwnPropertyNames:g,getOwnPropertySymbols:y,getPrototypeOf:f}=Object,m=globalThis,v=m.trustedTypes,$=v?v.emptyScript:"",_=m.reactiveElementPolyfillSupport,A=(t,e)=>t,E={toAttribute(t,e){switch(e){case Boolean:t=t?$:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},w=(t,e)=>!d(t,e),C={attribute:!0,type:String,converter:E,reflect:!1,hasChanged:w};Symbol.metadata??=Symbol("metadata"),m.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=C){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(t,r,e);void 0!==o&&p(this.prototype,t,o)}}static getPropertyDescriptor(t,e,r){const{get:o,set:a}=u(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return o?.call(this)},set(e){const l=o?.call(this);a.call(this,e),this.requestUpdate(t,l,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??C}static _$Ei(){if(this.hasOwnProperty(A("elementProperties")))return;const t=f(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(A("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(A("properties"))){const t=this.properties,e=[...g(t),...y(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(h(t))}else void 0!==t&&e.push(h(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,o)=>{if(r)e.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const r of o){const o=document.createElement("style"),a=t.litNonce;void 0!==a&&o.setAttribute("nonce",a),o.textContent=r.cssText,e.appendChild(o)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EC(t,e){const r=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,r);if(void 0!==o&&!0===r.reflect){const a=(void 0!==r.converter?.toAttribute?r.converter:E).toAttribute(e,r.type);this._$Em=t,null==a?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(t,e){const r=this.constructor,o=r._$Eh.get(t);if(void 0!==o&&this._$Em!==o){const t=r.getPropertyOptions(o),a="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:E;this._$Em=o,this[o]=a.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,r){if(void 0!==t){if(r??=this.constructor.getPropertyOptions(t),!(r.hasChanged??w)(this[t],e))return;this.P(t,e,r)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,r){this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t)!0!==r.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],r)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[A("elementProperties")]=new Map,b[A("finalized")]=new Map,_?.({ReactiveElement:b}),(m.reactiveElementVersions??=[]).push("2.0.4");const O=globalThis,x=O.trustedTypes,D=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,U="$lit$",F=`lit$${(Math.random()+"").slice(9)}$`,P="?"+F,T=`<${P}>`,N=document,j=()=>N.createComment(""),z=t=>null===t||"object"!=typeof t&&"function"!=typeof t,B=Array.isArray,Z="[ \t\n\f\r]",W=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,G=/-->/g,q=/>/g,J=RegExp(`>|${Z}(?:([^\\s"'>=/]+)(${Z}*=${Z}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),K=/'/g,Y=/"/g,X=/^(?:script|style|textarea|title)$/i,Q=(t=>(e,...r)=>({_$litType$:t,strings:e,values:r}))(1),tt=Symbol.for("lit-noChange"),et=Symbol.for("lit-nothing"),it=new WeakMap,st=N.createTreeWalker(N,129);function rt(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==D?D.createHTML(e):e}const ot=(t,e)=>{const r=t.length-1,o=[];let a,l=2===e?"<svg>":"",c=W;for(let e=0;e<r;e++){const r=t[e];let h,d,p=-1,u=0;for(;u<r.length&&(c.lastIndex=u,d=c.exec(r),null!==d);)u=c.lastIndex,c===W?"!--"===d[1]?c=G:void 0!==d[1]?c=q:void 0!==d[2]?(X.test(d[2])&&(a=RegExp("</"+d[2],"g")),c=J):void 0!==d[3]&&(c=J):c===J?">"===d[0]?(c=a??W,p=-1):void 0===d[1]?p=-2:(p=c.lastIndex-d[2].length,h=d[1],c=void 0===d[3]?J:'"'===d[3]?Y:K):c===Y||c===K?c=J:c===G||c===q?c=W:(c=J,a=void 0);const g=c===J&&t[e+1].startsWith("/>")?" ":"";l+=c===W?r+T:p>=0?(o.push(h),r.slice(0,p)+U+r.slice(p)+F+g):r+F+(-2===p?e:g)}return[rt(t,l+(t[r]||"<?>")+(2===e?"</svg>":"")),o]};class V{constructor({strings:t,_$litType$:e},r){let o;this.parts=[];let a=0,l=0;const c=t.length-1,h=this.parts,[d,p]=ot(t,e);if(this.el=V.createElement(d,r),st.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(o=st.nextNode())&&h.length<c;){if(1===o.nodeType){if(o.hasAttributes())for(const t of o.getAttributeNames())if(t.endsWith(U)){const e=p[l++],r=o.getAttribute(t).split(F),c=/([.?@])?(.*)/.exec(e);h.push({type:1,index:a,name:c[2],strings:r,ctor:"."===c[1]?k:"?"===c[1]?H:"@"===c[1]?I:R}),o.removeAttribute(t)}else t.startsWith(F)&&(h.push({type:6,index:a}),o.removeAttribute(t));if(X.test(o.tagName)){const t=o.textContent.split(F),e=t.length-1;if(e>0){o.textContent=x?x.emptyScript:"";for(let r=0;r<e;r++)o.append(t[r],j()),st.nextNode(),h.push({type:2,index:++a});o.append(t[e],j())}}}else if(8===o.nodeType)if(o.data===P)h.push({type:2,index:a});else{let t=-1;for(;-1!==(t=o.data.indexOf(F,t+1));)h.push({type:7,index:a}),t+=F.length-1}a++}}static createElement(t,e){const r=N.createElement("template");return r.innerHTML=t,r}}function nt(t,e,r=t,o){if(e===tt)return e;let a=void 0!==o?r._$Co?.[o]:r._$Cl;const l=z(e)?void 0:e._$litDirective$;return a?.constructor!==l&&(a?._$AO?.(!1),void 0===l?a=void 0:(a=new l(t),a._$AT(t,r,o)),void 0!==o?(r._$Co??=[])[o]=a:r._$Cl=a),void 0!==a&&(e=nt(t,a._$AS(t,e.values),a,o)),e}class S{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:r}=this._$AD,o=(t?.creationScope??N).importNode(e,!0);st.currentNode=o;let a=st.nextNode(),l=0,c=0,h=r[0];for(;void 0!==h;){if(l===h.index){let e;2===h.type?e=new M(a,a.nextSibling,this,t):1===h.type?e=new h.ctor(a,h.name,h.strings,this,t):6===h.type&&(e=new L(a,this,t)),this._$AV.push(e),h=r[++c]}l!==h?.index&&(a=st.nextNode(),l++)}return st.currentNode=N,o}p(t){let e=0;for(const r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,r,o){this.type=2,this._$AH=et,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=nt(this,t,e),z(t)?t===et||null==t||""===t?(this._$AH!==et&&this._$AR(),this._$AH=et):t!==this._$AH&&t!==tt&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>B(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==et&&z(this._$AH)?this._$AA.nextSibling.data=t:this.T(N.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:r}=t,o="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=V.createElement(rt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===o)this._$AH.p(e);else{const t=new S(o,this),r=t.u(this.options);t.p(e),this.T(r),this._$AH=t}}_$AC(t){let e=it.get(t.strings);return void 0===e&&it.set(t.strings,e=new V(t)),e}k(t){B(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,o=0;for(const a of t)o===e.length?e.push(r=new M(this.S(j()),this.S(j()),this,this.options)):r=e[o],r._$AI(a),o++;o<e.length&&(this._$AR(r&&r._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,o,a){this.type=1,this._$AH=et,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=a,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=et}_$AI(t,e=this,r,o){const a=this.strings;let l=!1;if(void 0===a)t=nt(this,t,e,0),l=!z(t)||t!==this._$AH&&t!==tt,l&&(this._$AH=t);else{const o=t;let c,h;for(t=a[0],c=0;c<a.length-1;c++)h=nt(this,o[r+c],e,c),h===tt&&(h=this._$AH[c]),l||=!z(h)||h!==this._$AH[c],h===et?t=et:t!==et&&(t+=(h??"")+a[c+1]),this._$AH[c]=h}l&&!o&&this.j(t)}j(t){t===et?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===et?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==et)}}class I extends R{constructor(t,e,r,o,a){super(t,e,r,o,a),this.type=5}_$AI(t,e=this){if((t=nt(this,t,e,0)??et)===tt)return;const r=this._$AH,o=t===et&&r!==et||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==et&&(r===et||o);o&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){nt(this,t)}}const at=O.litHtmlPolyfillSupport;at?.(V,M),(O.litHtmlVersions??=[]).push("3.1.2");class s extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,r)=>{const o=r?.renderBefore??e;let a=o._$litPart$;if(void 0===a){const t=r?.renderBefore??null;o._$litPart$=a=new M(e.insertBefore(j(),t),t,void 0,r??{})}return a._$AI(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return tt}}s._$litElement$=!0,s.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const lt=globalThis.litElementPolyfillSupport;lt?.({LitElement:s}),(globalThis.litElementVersions??=[]).push("4.0.4");const ct=1;class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const ht=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends i{constructor(t){if(super(t),t.type!==ct||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){if(void 0===this.st){this.st=new Set,void 0!==t.strings&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(e)}const r=t.element.classList;for(const t of this.st)t in e||(r.remove(t),this.st.delete(t));for(const t in e){const o=!!e[t];o===this.st.has(t)||this.nt?.has(t)||(o?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return tt}});var dt="https://static-files-concierge.staging.flybits.com/latest/zone.html",pt=2e3,ut="2.0.0-beta.8",gt=function(){var t=this;this.promise=new Promise((function(e,r){t.resolve=e,t.reject=r})),this.then=this.promise.then.bind(this.promise),this.catch=this.promise.catch.bind(this.promise)},yt=function(t,e){e=e||window.location.href,t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var r=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);return null===r?"":r[1]};class ActionLink{static protocol={DETAILS:"details",INAPPBROWSER:"web",BROWSER:"browser",HTTPS:"https",PHONE:"phone",APP:"app",CONCIERGE:"concierge",UNIVERSAL:"universalLink",MAIL:"mail",CUSTOM:"custom"};static PROTOCOLDEFS={details:{contentId:{type:String},overlay:{type:Boolean,default:!1}},web:{url:{type:String}},browser:{url:{type:String}},https:{},phone:{phoneNumber:{type:String}},app:{name:{type:String}},concierge:{container:{type:String},zoneReferenceId:{type:String},filter:{type:String},style:{type:String},overlay:{type:Boolean,default:!1}},universalLink:{ios:{type:String},android:{type:String}},mail:{sendTo:{type:String},subject:{type:String},body:{type:String},cc:{type:String},bcc:{type:String}},custom:{}};constructor(t){this.rawStr="",this.protocol="",this.value="",this.params={},this.data={},this.fromLink(t)}fromLink(t){this.rawStr=t;var e=t.split("://")[0]||"";e=e.toLowerCase();var r=t.indexOf("://")>-1?t.substring(t.indexOf("://")+3):t,o=JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS.custom));if(ActionLink.PROTOCOLDEFS[e]?o=JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS[e])):(e="custom",r=t),this.protocol=e,this.value=r,o&&Object.keys(o).length){var a={};Object.keys(o).forEach((function(e){const r=yt(e,t);r?o[e].type===Boolean?a[e]="true"===r?.toLowerCase():o[e].type===Number?a[e]=+r:a[e]=r:o[e].hasOwnProperty("default")&&(a[e]=o[e].default)})),this.params=a}}toJSON(){return{rawStr:this.rawStr,protocol:this.protocol,value:this.value,params:this.params,data:this.data}}static parse(t){return new ActionLink(t)}}var ft=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)},mt={guid:function(t){var e="";if(t&&t>0){for(var r=0;r<t;r++)e+=""!==e?"-"+ft():ft();return e}return ft()+ft()+"-"+ft()+"-"+ft()+"-"+ft()+"-"+ft()+ft()+ft()},getByStr:function(t,e){for(var r=(e=(e=e.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=0,a=r.length;o<a;++o){var l=r[o];if(!(l in t))return;t=t[l]}return t},setByStr:function(t,e,r){for(var o=(e=(e=e.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),a=0,l=o.length;a<l;a++){var c=o[a];if(c in t&&a+1<l)t=t[c];else{if(c in t||!(a+1<l))return t[c]=r,r;t[c]={},t=t[c]}}},removeObject:function(t,e,r){var o=t.indexOf(e);if(r){var a=t.filter(r);a.length>0&&(o=t.indexOf(a[0]))}return o>=0?t.splice(o,1):t},debounce:function(t,e,r){var o;return function(){var a=this,l=arguments,c=r&&!o;clearTimeout(o),o=setTimeout((function(){o=null,r||t.apply(a,l)}),e),c&&t.apply(a,l)}}};mt.extend=function(){function t(t){return t&&"object"==typeof t&&"[object RegExp]"!==Object.prototype.toString.call(t)&&"[object Date]"!==Object.prototype.toString.call(t)}function e(e,r){var a;return r&&!0===r.clone&&t(e)?o((a=e,Array.isArray(a)?[]:{}),e,r):e}function r(r,a,l){var c=r.slice();return a.forEach((function(a,h){void 0===c[h]?c[h]=e(a,l):t(a)?c[h]=o(r[h],a,l):-1===r.indexOf(a)&&c.push(e(a,l))})),c}function o(a,l,c){var h=Array.isArray(l),d=(c||{arrayMerge:r}).arrayMerge||r;return h?Array.isArray(a)?d(a,l,c):e(l,c):function(r,a,l){var c={};return t(r)&&Object.keys(r).forEach((function(t){c[t]=e(r[t],l)})),Object.keys(a).forEach((function(h){t(a[h])&&r[h]?c[h]=o(r[h],a[h],l):c[h]=e(a[h],l)})),c}(a,l,c)}return o.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,r){return o(t,r,e)}))},o}();var vt=function(t){Object.keys(t).forEach((function(e){if("localizations"===e){var r=t.localizations&&t.localizations.en?t.localizations.en:null;r&&Object.assign(t,r)}else"object"!=typeof t[e]||Array.isArray(t[e])?Array.isArray(t[e])&&"object"==typeof t[e][0]&&t[e].forEach((function(t){vt(t)})):vt(t[e])}))},bt=function(t,e){var r=t.data.result&&Array.isArray(t.data.result)?t.data.result[0].toJSON():t.data;vt(r);var o={id:t.id,data:r,uiTemplate:"",style:"",styleStr:"",contentInfo:{id:t.id,labels:t.labels}},a=t.detailsUI;return o.uiTemplate=a.layoutHTML||"\x3c!-- --\x3e",o.style=a.styleCSSURL,o.styleStr=a.styleCSS,o},$t={cachedContent:{},getCachedContentDetails:function(t){return this.cachedContent[t]?bt(this.cachedContent[t]):null},getContentDetails:function(t){const e=new gt;var r=this;return Flybits.api.Content.get(t).then((function(t){r.cachedContent[t.result.id]=t.result,e.resolve(bt(t.result))})).catch((function(t){e.reject(t)})),e.promise},getZoneContent:function(t){const e=new gt;var r=this.cachedContent;return Flybits.api.Zones.getByReferenceId(t).then((function(t){t.zone.modules.forEach((function(t){t.content.forEach((function(t){r[t.id]=t}))})),e.resolve(t.zone)})).catch((function(t){e.reject(t)})),e.promise}};class Zone{static generateOverlayPayload(t){return{id:mt.guid(2),refID:"overlay",name:"Overlay",containers:[{id:mt.guid(),cacheKey:mt.guid(1),layout:"overlay",content:[t]}]}}static generateDetailsPayload(t){return{id:mt.guid(2),refID:"details",name:"Content Details",containers:[{id:mt.guid(),cacheKey:mt.guid(1),layout:"vertical",content:[t]}]}}}var _t={_deferredCtxInit:!1,autoInitCtxManager:function(){this._deferredCtxInit||(this._deferredCtxInit=!0,Flybits.Session.ready.then((function(){"object"!=typeof window.Flybits||Flybits.context.Manager.isReporting||(Flybits.context.Manager.reportDelay=pt,Flybits.context.Manager.initialize())})))},handleContextPayload:function(t,e){e=e||console,Array.isArray(t)?Flybits.context.Manager.ready.then((function(){t.forEach((function(r){if(r.pluginId&&r.values){var o={};Object.keys(r.values).forEach((function(t){var e=t.replaceAll("query.","");o[e]=r.values[t]})),Flybits.context.Manager.reportCtx(r.pluginId,o)}else e.error("[ctxapi] malformed ctx payload object",t)}))})):e.error("[ctxapi] malformed ctx payload",t)},handleAnalyticsPayload:function(t,e){e=e||console,t?.contentInfo?.id?"viewed"!==t.type&&"engaged"!==t.type||t.component?"engaged"!==t.type&&"content_component_event"!==t.type||!t.component?e.error("[ctxapi] unsupported analytics event",t):Flybits.context.Manager.ready.then((function(){Flybits.analytics.Manager.reportContentID(t.contentInfo.id,Flybits.analytics.Manager.actions.COMPONENTENGAGED,{name:t.component.name,compID:t.component.compId,type:t.component.id})})):Flybits.context.Manager.ready.then((function(){Flybits.analytics.Manager.reportContentID(t.contentInfo.id,t.type)})):e.error("[ctxapi] missing content id in analytics event")}};class Logger{static modes={VERBOSE:"verbose",ERRORS:"errors",SILENT:"silent"};constructor(t){t=t||{},this.mode=t.mode||"errors"}get prefix(){const t=new Date;return`[fk-${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}:${t.getMilliseconds()}.${(window?.performance.now().toFixed(2)+"").split(".")[1]}]`}log(...t){this.mode!==Logger.modes.SILENT&&this.mode===Logger.modes.VERBOSE&&(t.unshift(this.prefix),console.log.apply(null,t))}error(...t){this.mode!==Logger.modes.SILENT&&(t.unshift(this.prefix),console.error.apply(null,t))}warn(...t){this.mode!==Logger.modes.SILENT&&this.mode===Logger.modes.VERBOSE&&(t.unshift(this.prefix),console.warn.apply(null,t))}}class FlybitsSlot extends s{static get VERSION(){return ut}static get modes(){return{FIXEDHEIGHT:"fixedheight",FULLHEIGHT:"fullheight",DYNAMICHEIGHT:"dynamicheight"}}static properties={host:{type:String},projectID:{type:String,attribute:"project-id"},renderURL:{type:String,attribute:"render-url"},refID:{type:String,attribute:"ref-id"},pollingEnabled:{type:Boolean,attribute:"polling-enabled"},pollingInterval:{type:Number,attribute:"polling-interval"},renderMode:{type:String,attribute:"render-mode"},overlayOutlet:{type:String|HTMLElement,attribute:"overlay-outlet"},overrideOverlay:{type:Boolean,attribute:"override-overlay"},overrideURLs:{type:Boolean,attribute:"override-urls"},overrideActions:{type:Boolean,attribute:"override-actions"},overlayDismissUI:{type:Boolean,attribute:"overlay-dismiss-ui"},isLoadingOpen:{type:Boolean,attribute:"show-loading"},isErrorOpen:{type:Boolean,attribute:"show-error"},hasLoadingSlot:{type:Boolean},hasErrorSlot:{type:Boolean},logLevel:{type:String,attribute:"log-level"}};static styles=c`
4
4
  :host {
5
5
  position: relative;
6
6
  display: block;
@@ -97,7 +97,7 @@ const t=globalThis,r=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow
97
97
  opacity: 1;
98
98
  transition: opacity 0.2s linear 0.2s, visibility 0s linear 0s;
99
99
  }
100
- `;constructor(){super(),this.renderMode=FlybitsSlot.modes.FULLHEIGHT,this.refID="overlay",this.dismissUI=!1}connectedCallback(){super.connectedCallback(),this.setLoading(!0);const t=this;this.frameLoadPromise.then((function(){t.setLoading(!1)}))}_dispatchDismiss(){this.remove()}injectContent(t){this.injectData(Zone.generateOverlayPayload(t))}detectFlybits(){_t.autoInitCtxManager(),window.Flybits?(this.host&&(Flybits.cfg.HOST=this.host),this.projectID&&(Flybits.Session._projectID=this.projectID)):this.logger.error("Flybits.js Core SDK not detected.")}render(){let t=Q``;return this.dismissUI&&(t=Q`
100
+ `;constructor(){super(),this.renderMode=FlybitsSlot.modes.FULLHEIGHT,this.refID="overlay",this.uid=mt.guid(2),this.dismissUI=!1}connectedCallback(){super.connectedCallback(),this.setLoading(!0);const t=this;this.frameLoadPromise.then((function(){t.setLoading(!1)})),window.Flybits?.evt&&Flybits.evt.on(Flybits.evt.type.SESSIONEND+".overlay-"+this.uid,(function(){t._dispatchDismiss()}))}disconnectedCallback(){super.disconnectedCallback(),window.Flybits?.evt&&Flybits.evt.off(Flybits.evt.type.SESSIONEND+".overlay-"+this.uid)}_dispatchDismiss(){this.remove()}injectContent(t){this.injectData(Zone.generateOverlayPayload(t))}detectFlybits(){_t.autoInitCtxManager(),window.Flybits?(this.host&&(Flybits.cfg.HOST=this.host),this.projectID&&(Flybits.Session._projectID=this.projectID)):this.logger.error("Flybits.js Core SDK not detected.")}render(){let t=Q``;return this.dismissUI&&(t=Q`
101
101
  <div class="dismiss btn" @click=${this._dispatchDismiss}>×</div>
102
102
  `),Q`
103
103
  ${t}
@@ -184,7 +184,7 @@ const t=globalThis,r=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow
184
184
  }
185
185
  `;constructor(){super()}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}emitReload(){this.dispatchEvent(new CustomEvent("reload",{bubbles:!0}))}render(){return Q`
186
186
  <div class="inner-wrap">
187
- <div class="msg">Sorry something went wrong.</div>
187
+ <div class="msg">Sorry, something went wrong.</div>
188
188
  <div class="reload-trigger" @click="${this.emitReload}">Try again</div>
189
189
  </div>
190
190
  `}}customElements.define("flybits-error",FlybitsError);const St={$overlay:null,openOverlay:function(t,e,r){if(r=r||{},this.$overlay||(this.$overlay=new FlybitsOverlay),r.renderURL&&(this.$overlay.renderURL=r.renderURL),this.$overlay.logger.mode=r.loggerMode,t.protocol===ActionLink.protocol.DETAILS&&!t.data.content)return void this.$overlay.logger.error("no content details to display");if(t.protocol===ActionLink.protocol.CONCIERGE&&!t?.params?.zoneReferenceId)return void this.$overlay.logger.error("no zone reference ID");this.$overlay.dismissUI=!!r.showDismissUI;const o=this.$overlay.querySelector('[slot="loading"]');o&&o.remove(),r.$loadingUI&&(r.$loadingUI.setAttribute("slot","loading"),this.$overlay.append(r.$loadingUI));const a=this.$overlay.querySelector('[slot="error"]');a&&a.remove(),r.$errorUI&&(r.$errorUI.setAttribute("slot","error"),this.$overlay.append(r.$errorUI));var l=e;"string"==typeof e&&(l=document.querySelector(e)),l?(l.append(this.$overlay),t.protocol===ActionLink.protocol.DETAILS?this.$overlay.injectContent(t.data.content):t.protocol===ActionLink.protocol.CONCIERGE?this.$overlay.handleAction(t):this.$overlay.logger.error("ActionLink type not yet supported in overlay",t.rawStr)):this.$overlay.logger.error("invalid outlet",e)}},At={FlybitsSlot:FlybitsSlot,outlet:St,FlybitsOverlay:FlybitsOverlay,ActionLink:ActionLink,FlybitsLoading:FlybitsLoading,FlybitsError:FlybitsError};"object"==typeof window&&"object"!=typeof window.Flightkit&&(window.Flightkit=At);export{ActionLink,FlybitsError,FlybitsLoading,FlybitsOverlay,FlybitsSlot,St as OutletManager};
@@ -1 +1 @@
1
- {"version":3,"file":"flightkit.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/class-map.js","../src/config/cfg.js","../src/models/deferred.js","../src/utils/browser.js","../src/models/actionLink.js","../src/utils/obj.js","../src/apis/zone.js","../src/models/zone.js","../src/apis/ctx.js","../src/utils/logger.js","../src/components/flybits-slot.js","../src/components/flybits-overlay.js","../src/components/flybits-loading.js","../src/components/flybits-error.js","../src/core/outletManager.js","../src/core/core.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?k:\"?\"===e[1]?H:\"@\"===e[1]?I:R}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),E.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){if(i===w)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=N(t,h._$AS(t,i.values),h,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);E.currentNode=e;let h=E.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new M(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new L(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=E.nextNode(),o++)}return E.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),c(t)?t===T||null==t||\"\"===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==w&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==T&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=V.createElement(C(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new S(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new V(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new M(this.S(l()),this.S(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=N(this,e[s+n],i,n),r===w&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===T?t=T:t!==T&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===T?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T)}}class I extends R{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=N(this,t,i,0)??T)===w)return;const s=this._$AH,e=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==T&&(s===T||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const z={P:e,A:h,C:o,M:1,L:P,R:S,D:u,V:N,I:M,H:R,N:H,U:I,B:k,F:L},Z=t.litHtmlPolyfillSupport;Z?.(V,M),(t.litHtmlVersions??=[]).push(\"3.1.2\");const j=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.4\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","\nexport default {\n RENDERHOST: 'https://static-files-concierge.staging.flybits.com/latest/zone.html',\n DEFAULTFLBHOST: 'https://api.demo.flybits.com',\n DEFAULTREFID: 'homepage',\n DEFAULTCTXREPORTINTERVAL: 2000\n}","var Deferred = function(){\n var def = this;\n /**\n * @instance\n * @member {external:Promise} promise Instance of an ES6 Promise to be fulfilled.\n */\n this.promise = new Promise(function(resolve,reject){\n /**\n * @instance\n * @member {function} resolve Callback to be invoked when the asychronous task that initiated the promise is successfully completed.\n */\n def.resolve = resolve;\n /**\n * @instance\n * @member {function} reject Callback to be invoked when the asychronous task that initiated the promise has failed to complete successfully.\n */\n def.reject = reject;\n });\n\n this.then = this.promise.then.bind(this.promise);\n this.catch = this.promise.catch.bind(this.promise);\n};\n\nexport default Deferred;","\nexport default {\n getURLParam:function(name, uri) {\n uri = uri || window.location.href;\n name = name.replace(/[\\[]/, \"\\\\\\[\").replace(/[\\]]/, \"\\\\\\]\");\n var regexS = \"[\\\\?&]\" + name + \"=([^&#]*)\";\n var regex = new RegExp(regexS);\n var results = regex.exec(uri);\n if (results === null)\n return \"\";\n else\n return results[1];\n },\n}","import BrowserUtil from '../utils/browser';\n\n/**\n * @class ActionLink\n * @classdesc An ActionLink is essentially a typical Uniform Resource Identifier (URI) for example, 'https://domain.com' or 'ftp://fileserver.com:3003' but with custom protocol schemes and parameters. Each Action Event carries an Action Link with details about what type of action has occurred (eg. web link, app deep link, overlay open, etc) and their associated parameters like email recipients if for example the Action Link were to initiate an email draft\n * @memberof Flightkit\n * @param {string} linkStr Raw ActionLink protocol string with scheme, value, and parameters (eg. details://?contentId=123). This string will be parsed and class instance will be hydrated.\n */\nclass ActionLink{\n\n /**\n * @member {Object} protocol Set of protocol scheme types\n * @memberof Flightkit.ActionLink\n * @static\n * @constant\n * @property {string} DETAILS (value=`details`) Opens a Content Instance details page as an overlay or can be injected into a FlybitsSlot for rendering. If a contentId is not provided, it is assumed to attempt opening the details page of the Content Instance from which the action originated from.\n * @property {string} INAPPBROWSER (value=`web`) Opens a web URL in an in app browser. This is dependent on application support.\n * @property {string} BROWSER (value=`browser`) Opens a web URL in the platform browser.\n * @property {string} HTTPS (value=`https`) Opens a web URL in the platform browser. Allows for standard URLs as the raw link string; useful for RTF fields containing hyperlinks.\n * @property {string} CONCIERGE (value=`concierge`) Opens a particular Zone as an overlay or can be injected into a FlybitsSlot for rendering.\n * @property {string} PHONE (value=`phone`) Opens platform phone application with pre-seeded phone number.\n * @property {string} APP (value=`app`) Useful for mobile platform application deep linking. Note URL must be registered in target application otherwise will default to be an simple web link opened in the platform browser.\n * @property {string} UNIVERSAL (value=`universalLink`) Meant for mobile platforms, it will open a platform specific URL and depending on the platform forward the action to specific applications with a failover as a webpage.\n * @property {string} MAIL (value=`mail`) Opens platform email application with pre-seeded body and details.\n */\n static protocol = {\n DETAILS: 'details',\n INAPPBROWSER: 'web',\n BROWSER: 'browser',\n HTTPS: 'https',\n PHONE: 'phone',\n APP: 'app',\n CONCIERGE: 'concierge',\n UNIVERSAL: 'universalLink',\n MAIL: 'mail',\n CUSTOM: 'custom'\n }\n\n /**\n * @typedef {Object} PROTOCOLDEFS Protocol scheme type definitions outlining what parameters corresponding ActionLink types contain.\n * @memberof Flightkit.ActionLink\n * @property {Object} details Type DETAILS\n * @property {string} details.contentId Flybits Content Instance ID\n * @property {boolean} [details.overlay=false] Flag to indicate Content details should be opened as an overlay.\n * @property {Object} web Type INAPPBROWSER\n * @property {string} web.url URL string to be opened in the browser.\n * @property {Object} browser Type BROWSER\n * @property {string} browser.url URL string to be opened in the browser.\n * @property {Object} https Type HTTPS; no additional properties.\n * @property {Object} phone Type PHONE\n * @property {string} phone.phoneNumber Phone number string that may contain dashes and plus symbols. \n * @property {Object} app Type APP\n * @property {string} app.name Predefined reference string for custom application logic.\n * @property {Object} concierge Type CONCIERGE\n * @property {string} concierge.zoneReferenceId Zone Reference ID to load based on the ActionLink.\n * @property {boolean} [concierge.overlay=false] Flag to indicate Zone should be opened as an overlay.\n * @property {Object} universalLink Type UNIVERSAL\n * @property {string} universalLink.ios iOS specific universal URL. Note URL must be registered in target application otherwise will default to be an simple web link opened in the platform browser.\n * @property {string} universalLink.android Android specific universal URL. Note URL must be registered in target application otherwise will default to be an simple web link opened in the platform browser.\n * @property {Object} mail Type MAIL\n * @property {string} mail.sendTo Recipient target email address.\n * @property {string} mail.subject Subject field of the email.\n * @property {string} mail.body Main email body.\n * @property {string} mail.cc Comma separated list of email addresses to be added to the Carbon Copy (CC) field.\n * @property {string} mail.bcc Comma separated list of email addresses to be added to the Bline Carbon Copy (BCC) field.\n */\n static PROTOCOLDEFS = {\n details: {\n contentId: {\n type: String,\n },\n overlay: {\n type: Boolean,\n default: false\n },\n },\n web: {\n url: {\n type: String\n },\n },\n browser: {\n url: {\n type: String\n },\n },\n https: {},\n phone: {\n phoneNumber: {\n type: String // might contain dashes and plus symbols\n },\n },\n app: {\n name: {\n type: String\n },\n },\n concierge: {\n container: {\n type: String\n },\n zoneReferenceId: {\n type: String\n },\n filter: {\n type: String\n },\n style: {\n type: String\n }, \n overlay: {\n type: Boolean,\n default: false\n }, \n },\n universalLink: {\n ios: {\n type: String\n },\n android: {\n type: String\n },\n },\n mail: {\n sendTo: {\n type: String\n },\n subject: {\n type: String\n },\n body: {\n type: String\n },\n cc: {\n type: String\n },\n bcc: {\n type: String\n },\n },\n custom: {}\n };\n\n constructor(linkStr){\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {string} rawStr Raw ActionLink protocol string with scheme, value, and parameters.\n */\n this.rawStr = '';\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {string} protocol ActionLink protocol scheme (eg. details, browser, concierge, etc).\n */\n this.protocol = '';\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {string} value ActionLink protocol value after scheme including parameters (eg flybits.com?x=3).\n */\n this.value = '';\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {Object} params Map of ActionLink protocol {@link Flightkit.ActionLink.PROTOCOLDEFS|type parameters} depending on the {@link Flightkit.ActionLink.protocol|type}.\n */\n this.params = {};\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {Object} data ActionLink protocol {@link Flightkit.ActionLink.protocol|type} specific object that may contain entity instances (eg. hydrated Content Instances).\n */\n this.data = {};\n this.fromLink(linkStr);\n }\n\n fromLink(linkStr){\n this.rawStr = linkStr;\n var protocolStr = linkStr.split('://')[0] || '';\n protocolStr = protocolStr.toLowerCase();\n\n var valueStr = linkStr.indexOf('://') > -1 ? linkStr.substring(linkStr.indexOf('://') + 3) : linkStr;\n var protocolObj = JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS.custom));\n\n if(ActionLink.PROTOCOLDEFS[protocolStr]){\n protocolObj = JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS[protocolStr]));\n } else{\n protocolStr = 'custom';\n valueStr = linkStr;\n }\n\n this.protocol = protocolStr;\n this.value = valueStr;\n\n if(protocolObj && Object.keys(protocolObj).length){\n var paramObj = {};\n Object.keys(protocolObj).forEach(function(key){\n const val = BrowserUtil.getURLParam(key, linkStr);\n if(val){\n if(protocolObj[key].type === Boolean){\n paramObj[key] = val?.toLowerCase() === 'true';\n } else if(protocolObj[key].type === Number){\n paramObj[key] = +val;\n } else{\n paramObj[key] = val;\n }\n } else if(protocolObj[key].hasOwnProperty('default')){\n paramObj[key] = protocolObj[key].default;\n }\n })\n this.params = paramObj;\n }\n }\n\n toJSON(){\n return {\n rawStr: this.rawStr,\n protocol: this.protocol,\n value: this.value,\n params: this.params,\n data: this.data\n };\n }\n\n static parse(linkStr){\n return new ActionLink(linkStr);\n }\n}\n\nexport default ActionLink;","\n\nvar s4 = function(){\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n};\n\nvar ObjUtil = {\n guid: function(tuples){\n var str = '';\n if (tuples && tuples > 0) {\n for (var i = 0; i < tuples; i++) {\n str += str !== '' ? '-' + s4() : s4();\n }\n return str;\n }\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n },\n getByStr: function (obj, keyStr) {\n // convert indexes to properties\n keyStr = keyStr.replace(/\\[(\\w+)\\]/g, '.$1');\n // strip a leading dot\n keyStr = keyStr.replace(/^\\./, '');\n var aKeys = keyStr.split('.');\n for (var i = 0, n = aKeys.length; i < n; ++i) {\n var key = aKeys[i];\n if (key in obj) {\n obj = obj[key];\n } else {\n return;\n }\n }\n return obj;\n },\n setByStr: function (obj, keyStr, val) {\n // convert indexes to properties\n keyStr = keyStr.replace(/\\[(\\w+)\\]/g, '.$1');\n // strip a leading dot\n keyStr = keyStr.replace(/^\\./, '');\n var aKeys = keyStr.split('.');\n for (var i = 0, n = aKeys.length; i < n; i++) {\n var key = aKeys[i];\n if (key in obj && i + 1 < n) {\n obj = obj[key];\n } else if (!(key in obj) && i + 1 < n) {\n obj[key] = {};\n obj = obj[key];\n } else {\n obj[key] = val;\n return val;\n }\n }\n },\n removeObject: function (arr, obj, findCallback) {\n var index = arr.indexOf(obj);\n\n if (findCallback) {\n var objs = arr.filter(findCallback);\n if (objs.length > 0) {\n index = arr.indexOf(objs[0]);\n }\n }\n\n if (index >= 0) {\n return arr.splice(index, 1);\n }\n return arr;\n },\n debounce: function (func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n },\n};\n\nObjUtil.extend = (function () {\n function isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return (\n nonNullObject &&\n Object.prototype.toString.call(val) !== '[object RegExp]' &&\n Object.prototype.toString.call(val) !== '[object Date]'\n );\n }\n\n function emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n }\n\n function cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return clone && isMergeableObject(value)\n ? deepmerge(emptyTarget(value), value, optionsArgument)\n : value;\n }\n\n function defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function (e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination;\n }\n\n function mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination;\n }\n\n function deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target)\n ? arrayMerge(target, source, optionsArgument)\n : cloneIfNecessary(source, optionsArgument);\n } else {\n return mergeObject(target, source, optionsArgument);\n }\n }\n\n deepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements');\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function (prev, next) {\n return deepmerge(prev, next, optionsArgument);\n });\n };\n\n return deepmerge;\n})();\n\nexport default ObjUtil;","import Deferred from \"../models/deferred\";\nimport ObjUtil from \"../utils/obj\";\n\nvar flattenLocales = function(obj){\n var keys = Object.keys(obj);\n keys.forEach(function(key){\n if(key === 'localizations'){\n var localeObj = obj.localizations && obj.localizations.en?obj.localizations.en:null;\n if(localeObj){\n Object.assign(obj, localeObj);\n }\n } else if(typeof obj[key] === 'object' && !Array.isArray(obj[key])){\n flattenLocales(obj[key]);\n } else if(Array.isArray(obj[key]) && typeof obj[key][0] === 'object'){\n obj[key].forEach(function(o){\n flattenLocales(o);\n });\n }\n });\n};\n\nvar stripContent = function(content, mode){\n var data = content.data.result && Array.isArray(content.data.result)?\n content.data.result[0].toJSON() : content.data;\n flattenLocales(data);\n var retObj = {\n id: content.id,\n data: data,\n uiTemplate: '',\n style: '',\n styleStr: '',\n contentInfo: {\n id: content.id,\n labels: content.labels\n }\n };\n\n var uiObj = mode && mode === 'details'?content.detailsUI:content.defaultUI || {};\n retObj.uiTemplate = uiObj.layoutHTML || '<!-- -->';\n retObj.style = uiObj.styleCSSURL;\n retObj.styleStr = uiObj.styleCSS;\n return retObj;\n};\n\nexport default {\n cachedContent: {},\n getCachedContentDetails: function(contentID){\n return this.cachedContent[contentID]?stripContent(this.cachedContent[contentID], 'details'):null;\n },\n getContentDetails: function(contentID){\n const def = new Deferred();\n var api = this;\n Flybits.api.Content.get(contentID).then(function(res){\n api.cachedContent[res.result.id] = res.result;\n def.resolve(stripContent(res.result, 'details'));\n }).catch(function(e){\n def.reject(e);\n })\n\n return def.promise;\n },\n getZoneContent: function(refID){\n const def = new Deferred();\n var contentMap = this.cachedContent;\n\n Flybits.api.Zones.getByReferenceId(refID).then(function(zoneConfig){\n zoneConfig.zone.modules.forEach(function(module){\n module.content.forEach(function(c){\n contentMap[c.id] = c;\n });\n });\n def.resolve(zoneConfig.zone);\n }).catch(function(e){\n def.reject(e);\n });\n\n return def.promise;\n },\n}","import ObjUtil from \"../utils/obj\";\n\nclass Zone{\n static generateOverlayPayload(content){\n const tmpZone = {\n id: ObjUtil.guid(2),\n refID: 'overlay',\n name: 'Overlay',\n containers: [{\n id: ObjUtil.guid(),\n cacheKey: ObjUtil.guid(1),\n layout: 'overlay',\n content: [content]\n }]\n };\n return tmpZone;\n }\n\n static generateDetailsPayload(content){\n const tmpZone = {\n id: ObjUtil.guid(2),\n refID: 'details',\n name: 'Content Details',\n containers: [{\n id: ObjUtil.guid(),\n cacheKey: ObjUtil.guid(1),\n layout: 'vertical',\n content: [content]\n }]\n };\n return tmpZone;\n }\n}\n\nexport default Zone;","import Cfg from '../config/cfg';\n\nexport default {\n _deferredCtxInit: false,\n autoInitCtxManager: function(){\n if(this._deferredCtxInit){\n return;\n }\n this._deferredCtxInit = true;\n Flybits.Session.ready.then(function(){\n if(typeof window.Flybits === 'object' && !Flybits.context.Manager.isReporting){\n Flybits.context.Manager.reportDelay = Cfg.DEFAULTCTXREPORTINTERVAL;\n Flybits.context.Manager.initialize();\n }\n });\n },\n handleContextPayload: function(payload, logger){\n logger = logger || console;\n if(Array.isArray(payload)){\n Flybits.context.Manager.ready.then(function(){\n payload.forEach(function(ctxRep){\n if(ctxRep.pluginId && ctxRep.values){\n var cleansedValueObj = {};\n Object.keys(ctxRep.values).forEach(function(key){\n var cleansedKeyStr = key.replaceAll('query.','');\n cleansedValueObj[cleansedKeyStr] = ctxRep.values[key];\n });\n Flybits.context.Manager.reportCtx(ctxRep.pluginId,cleansedValueObj);\n } else{\n logger.error('[ctxapi] malformed ctx payload object', payload); \n }\n })\n })\n } else{\n logger.error('[ctxapi] malformed ctx payload', payload);\n }\n },\n handleAnalyticsPayload: function(payload, logger){\n logger = logger || console;\n if(!payload?.contentInfo?.id){\n logger.error('[ctxapi] missing content id in analytics event');\n return;\n }\n\n if((payload.type === 'viewed' || payload.type === 'engaged') && !payload.component){\n Flybits.context.Manager.ready.then(function(){\n Flybits.analytics.Manager.reportContentID(payload.contentInfo.id,payload.type);\n });\n } else if((payload.type === 'engaged' || payload.type === 'content_component_event') && payload.component){\n Flybits.context.Manager.ready.then(function(){\n Flybits.analytics.Manager.reportContentID(payload.contentInfo.id, Flybits.analytics.Manager.actions.COMPONENTENGAGED,{\n name: payload.component.name,\n compID: payload.component.compId,\n type: payload.component.id,\n });\n });\n } else{\n logger.error('[ctxapi] unsupported analytics event', payload);\n }\n }\n}","/**\n * @class Logger\n * @classdesc An internal logging utility.\n * @memberof Flightkit\n * @param {Object} opts Initialization options\n * @param {string} opts.mode Verbosity mode to control how granular logging is outputted to the console.\n */\nclass Logger {\n /**\n * @member {Object} modes Set of available logging verbosity modes.\n * @memberof Flightkit.Logger\n * @static\n * @constant\n * @property {string} VERBOSE (value=`verbose`) defines the most granular level of logging to be outputted into the console for debugging purposes.\n * @property {string} ERRORS (value=`errors`) defines the mode that will only output errors to the console.\n * @property {string} SILENT (value=`silent`) defines the mode that will not output any log to the console.\n */\n static modes = {\n VERBOSE: 'verbose',\n ERRORS: 'errors',\n SILENT: 'silent'\n };\n constructor(opts){\n opts = opts || {};\n /**\n * @instance\n * @memberof Flightkit.Logger\n * @member {string} mode Current logging verbosity mode.\n */\n this.mode = opts.mode || 'errors';\n }\n get prefix(){\n const now = new Date();\n return `[fk-${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}:${now.getMilliseconds()}.${(window?.performance.now().toFixed(2)+'').split('.')[1]}]`;\n }\n log(...args){\n if(this.mode === Logger.modes.SILENT || this.mode !== Logger.modes.VERBOSE){\n return;\n }\n args.unshift(this.prefix);\n console.log.apply(null, args);\n }\n error(...args){\n if(this.mode === Logger.modes.SILENT){\n return;\n }\n args.unshift(this.prefix);\n console.error.apply(null, args);\n }\n warn(...args){\n if(this.mode === Logger.modes.SILENT || this.mode !== Logger.modes.VERBOSE){\n return;\n }\n args.unshift(this.prefix);\n console.warn.apply(null, args);\n }\n}\n\nexport default Logger;","/*global Flybits, Flightkit, document*/\nimport { html, css, LitElement } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport cfg from '../config/cfg';\nimport pkg from '../../package.json';\nimport Deferred from '../models/deferred';\nimport ActionLink from '../models/actionLink';\nimport ZoneAPI from '../apis/zone';\nimport Zone from '../models/zone';\nimport CtxAPI from '../apis/ctx';\nimport Logger from '../utils/logger';\n\n/**\n * @class FlybitsSlot\n * @classdesc A FlybitsSlot is an HTML element used to embed full featured Flybits curated Content and UI within your application. It can take the form of a widget within an existing page of your application or it can take up a page in its entirety. It is used to render a Flybits Zone which is a composition of Modules (layouts) that can contain relevant personalized Flybits Content.\n * @memberof Flightkit\n * @extends external:LitElement\n * @example \n * <!-- declarative approach -->\n * <flybits-slot ref-id=\"homepage\"></flybits-slot>\n * @example\n * // imperative approach\n * const slot = new FlybitsSlot();\n * slot.init({\n * refID: 'homepage'\n * })\n * @fires Flightkit.FlybitsSlot#action\n */\nexport default class FlybitsSlot extends LitElement {\n /**\n * @member {string} VERSION Flightkit library version string.\n * @memberof Flightkit.FlybitsSlot\n * @static\n * @constant\n */\n static get VERSION(){\n return pkg.version;\n }\n\n /**\n * @member {Object} modes Mode type constants.\n * @memberof Flightkit.FlybitsSlot\n * @static\n * @constant\n * @property {string} FIXEDHEIGHT Mode type string for fixed height FlybitsSlot instances where it is expected the implementing parent application will define a fixed height for the element within its own UI.\n * @property {string} FULLHEIGHT Mode type string for full height FlybitsSlot instances where the element will attempt to fill the height of its parent.\n * @property {string} DYNAMICHEIGHT Mode type string for dynamic height FlybitsSlot instances where height will automatically adjust based on Zone configuration and inner content height. \n */\n static get modes(){\n return {\n FIXEDHEIGHT: 'fixedheight',\n FULLHEIGHT: 'fullheight',\n DYNAMICHEIGHT: 'dynamicheight'\n }\n }\n\n static properties = {\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} host (HTML attribute: `host`) Flybits environment specific API host URL from which all API calls will be made against. \n */\n host: {\n type: String\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} projectID (HTML attribute: `project-id`) Flybits project ID used to load tenant specific data. \n */\n projectID: {\n type: String,\n attribute: 'project-id'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} renderURL (HTML attribute: `render-url`) Render layer application URL. \n */\n renderURL: {\n type: String,\n attribute: 'render-url'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} refID (HTML attribute: `ref-id`) Flybits Zone Reference ID which can be found in the Experience Studio on the Concierge Management page. Every FlybitsSlot can render up to one Zone which may contain one or more Modules.\n */\n refID: {\n type: String,\n attribute: 'ref-id'\n },\n pollingEnabled: {\n type: Boolean,\n attribute: 'polling-enabled'\n },\n pollingInterval: {\n type: Number,\n attribute: 'polling-interval'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} renderMode (HTML attribute: `render-mode`) Mode setting to control automated sizing functionality. Refer to available render modes {@link Flightkit.FlybitsSlot.modes}.\n */\n renderMode: {\n type: String,\n attribute: 'render-mode'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string | HTMLElement} overlayOutlet (HTML attribute: `overlay-outlet`) FlybitsSlot elements can open {@link Flightkit.FlybitsOverlay|FlybitsOverlay} instances depending on ActionLinks that are intercepted from its internal children or externally from application logic. By default these overlays are appended to the `document.body`. This attribute allows for overriding and specifying a parent element that {@link Flightkit.FlybitsOverlay|FlybitsOverlays} are appended to if `document.body` is not preferred.\n * \n * Parent elements can be defined by either a CSS [selector string](https://developer.mozilla.org/en-US/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors) or an [HTMLElement instance](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement).\n * @example\n * <!-- declarative approach -->\n * <div class=\"home\">\n * <div class=\"container\"></div>\n * </div>\n * <flybits-slot ref-id=\"homepage\" overlay-outlet=\".home .container\"></flybits-slot>\n * @example \n * // imperative approach\n * const parentElem = document.createElement('div')\n * parentElem.classList.add('container');\n *\n * const slot = new FlybitsSlot();\n * slot.init({\n * refID: 'homepage',\n * overlayOutlet: parentElem\n * })\n */\n overlayOutlet: {\n type: String | HTMLElement,\n attribute: 'overlay-outlet'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} overrideOverlay (HTML attribute: `override-overlay`) By default FlybitsSlot elements will handle {@link Flightkit.ActionLink.protocol|DETAILS} and {@link Flightkit.ActionLink.protocol|CONCIERGE} Action Event types out of the box by opening them in {@link Flightkit.FlybitsOverlay|FlybitsOverlays}. However if you would like to handle these manually in your application logic, set this flag to `true`.\n */\n overrideOverlay: {\n type: Boolean,\n attribute: 'override-overlay'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} overrideURLs (HTML Attribute: `override-urls`) By default FlybitsSlot elements will handle {@link Flightkit.ActionLink.protocol|HTTPS}, {@link Flightkit.ActionLink.protocol|BROWSER}, and {@link Flightkit.ActionLink.protocol|INAPPBROWSER} Action Event types out of the box by either open a new tab/window to load the URL, or redirect the current tab/window in the case of {@link Flightkit.ActionLink.protocol|INAPPBROWSER}. However if you would like to handle these manually in your application logic, set this flag to `true`.\n */\n overrideURLs: {\n type: Boolean,\n attribute: 'override-urls'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} overrideActions (HTML Attribute: `override-actions`) By default FlybitsSlot elements will handle certain Action Event types automatically:\n * - {@link Flightkit.ActionLink.protocol|DETAILS}\n * - {@link Flightkit.ActionLink.protocol|CONCIERGE}\n * - {@link Flightkit.ActionLink.protocol|HTTPS}\n * - {@link Flightkit.ActionLink.protocol|BROWSER}\n * - {@link Flightkit.ActionLink.protocol|INAPPBROWSER}\n * \n * If you would like to handle all these manually in your application logic, set this flag to `true`.\n * > **note:** {@link Flightkit.FlybitsSlot#overrideActions|overrideActions}, {@link Flightkit.FlybitsSlot#overrideURLs|overrideURLs}, and {@link Flightkit.FlybitsSlot#overrideOverlay|overrideOverlay} are considered in a **logical OR'd** expression. Thus if {@link Flightkit.FlybitsSlot#overrideURLs|overrideURLs} was `false` but {@link Flightkit.FlybitsSlot#overrideActions|overrideActions} is `true`, FlybitsSlot will **not** automatically handle URL based Action Event links. \n * \n * > The inverse also applies, where if {@link Flightkit.FlybitsSlot#overrideURLs|overrideURLs} is `true` but {@link Flightkit.FlybitsSlot#overrideActions|overrideActions} is `false`, FlybitsSlot will again **not** automatically handle URL based Action Event links.\n */\n overrideActions: {\n type: Boolean,\n attribute: 'override-actions'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} [overlayDismissUI=false] (HTML attribute: `overlay-dismiss-ui`) By default FlybitsSlot elements will handle {@link Flightkit.ActionLink.protocol|DETAILS} and {@link Flightkit.ActionLink.protocol|CONCIERGE} Action Event types out of the box by opening them in {@link Flightkit.FlybitsOverlay|FlybitsOverlays}. The expectation is that each overlay Content will have its own overlay dismissal UI element. However if you would like a default overlay close button, set this flag to `true`.\n */\n overlayDismissUI: {\n type: Boolean,\n attribute: 'overlay-dismiss-ui'\n },\n isLoadingOpen: {\n type: Boolean,\n attribute: 'show-loading'\n },\n isErrorOpen: {\n type: Boolean,\n attribute: 'show-error'\n },\n hasLoadingSlot: {\n type: Boolean\n },\n hasErrorSlot: {\n type: Boolean\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} [logLevel=errors] Logging mode setting. By default FlybitsSlot will only output errors to the console. Changing this attribute to `verbose` will increase verbosity and output logs with much more detail for debugging purposes. All available values can be found {@link Flightkit.Logger.modes|here}.\n */\n logLevel: {\n type: String,\n attribute: 'log-level'\n }\n };\n \n static styles = css`\n :host {\n position: relative;\n display: block;\n }\n .flb-frame {\n width: 100%;\n height: 100%;\n border: 0;\n z-index: 1;\n }\n .slot-default,::slotted(:first-child){\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0.2s;\n z-index: 2;\n }\n .slot-default.open,.open::slotted(:first-child) {\n visibility: visible;\n opacity: 1;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0s;\n }\n .overlay-loading{\n display: none;\n }\n `\n\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {external:HTMLElement} $renderFrame Iframe that is used to render Flybits content, located within a FlybitsSlot element's {@link external:ShadowDOM|Shadow DOM}.\n */\n get $renderFrame() {\n return this.renderRoot?.querySelector('.flb-frame') ?? null;\n }\n\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {external:HTMLElement|null} $overlayLoadingUI Clone of user defined override of default loading UI for a FlybitsOverlay. This must be set via the `overlay-loading` slot.\n */\n get $overlayLoadingUI() {\n const slot = this.shadowRoot.querySelector('slot[name=\"overlay-loading\"]');\n const childElems = slot?.assignedElements({flatten: true});\n if(childElems?.length){\n this._$overlayLoadingOverride = childElems[0];\n }\n return this._$overlayLoadingOverride;\n }\n\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {external:HTMLElement|null} $overlayErrorUI Clone of user defined override of default error UI for a FlybitsOverlay. This must be set via the `overlay-error` slot.\n */\n get $overlayErrorUI() {\n const slot = this.shadowRoot.querySelector('slot[name=\"overlay-error\"]');\n const childElems = slot?.assignedElements({flatten: true});\n if(childElems?.length){\n this._$overlayErrorOverride = childElems[0];\n }\n return this._$overlayErrorOverride;\n }\n\n get initParams() {\n return {\n host: this.host,\n refID: this.refID,\n projectID: this.projectID\n }\n }\n\n constructor() {\n super();\n this.zone = null;\n this.pollingEnabled = false;\n this.pollingInterval = 2500;\n this.renderMode = FlybitsSlot.modes.DYNAMICHEIGHT;\n this.host = '';\n this.renderURL = cfg.RENDERHOST;\n this.refID = '';\n this.projectID = '';\n this._hasDeferredLoad = false;\n this.overlayDismissUI = false;\n this.overlayOutlet = document.body;\n this.overrideOverlay = false;\n this.overrideURLs = false;\n this.overrideActions = false;\n this._loaderStack = [];\n this.isLoadingOpen = false;\n this.isErrorOpen = false;\n this.hasLoadingSlot = false;\n this.hasErrorSlot = false;\n this._$overlayLoadingOverride = null;\n this._$overlayErrorOverride = null;\n this.logger = new Logger({\n mode: this.logLevel || 'errors'\n });\n }\n \n connectedCallback() {\n super.connectedCallback()\n this.frameLoadDef = new Deferred();\n this.frameLoadPromise = this.frameLoadDef.promise;\n this.detectFlybits();\n this._reboundHandleFrameEvent = this.handleFrameEvent.bind(this);\n window.addEventListener('message', this._reboundHandleFrameEvent);\n }\n \n disconnectedCallback() {\n super.disconnectedCallback()\n window.removeEventListener('message', this._reboundHandleFrameEvent);\n }\n\n /**\n * Initialization function for imperative approaches to FlybitsSlot usage. This should be invoked immediately after FlybitsSlot instantiation.\n * @memberof Flightkit.FlybitsSlot\n * @instance\n * @function init\n * @param {Object} opts Initialization object containing FlybitsSlot class properties\n * @example\n * const slot = new FlybitsSlot();\n * slot.init({\n * refID: 'homepage'\n * })\n */\n init(opts) {\n opts = opts ?? {}\n this.pollingEnabled = opts.pollingEnabled ?? this.pollingEnabled;\n this.pollingInterval = opts.pollingInterval || this.pollingInterval;\n this.host = opts.host || this.host;\n this.renderURL = opts.renderURL || this.renderURL;\n this.refID = opts.refID || this.refID;\n this.projectID = opts.projectID;\n this.overlayOutlet = opts.overlayOutlet || this.overlayOutlet;\n this.overrideOverlay = !!opts.overrideOverlay;\n this.overrideURLs = !!opts.overrideURLs;\n this.overrideActions = !!opts.overrideActions;\n this.logger.mode = this.logLevel = opts.logLevel || Logger.modes.ERRORS;\n }\n\n initElementMeta() {\n if(this.renderMode !== FlybitsSlot.modes.DYNAMICHEIGHT){\n return;\n }\n if(!this.refID){\n this.logger.warn('missing Zone reference ID');\n return;\n }\n if(!Flybits.Session._projectID){\n this.logger.warn('missing Flybits project ID');\n return;\n }\n var $el = this;\n this.logger.log('fetching zone metadata', Flybits.Session._projectID);\n Flybits.api.Zones.getZoneMetadata(Flybits.Session._projectID, this.refID).then(function(meta){\n $el._setHeight(meta.height);\n $el.logger.log('set height', meta.height);\n }).catch(function(e){\n $el.logger.error(e);\n });\n }\n\n attributeChangedCallback(name, _old, value) {\n super.attributeChangedCallback(name, _old, value);\n if(name === 'ref-id'){\n if((!_old && value && !this._hasDeferredLoad) ||\n (_old && value && _old !== value)){\n this.detectFlybits();\n }\n } else if(name === 'log-level'){\n this.logger.mode = value;\n }\n }\n\n /**\n * Retrieves Zone data based on specified {@link Flightkit.FlybitsSlot.refID|Zone Reference ID} and injects it into the {@link Flightkit.FlybitsSlot.$renderFrame|internal render frame}.\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @function loadZoneData\n * @returns {external:Promise} a promise that will resolve or reject after Zone data is retrieved and injected into the {@link Flightkit.FlybitsSlot.$renderFrame|internal render frame}\n */\n loadZoneData() {\n const def = new Deferred();\n const $el = this;\n if(!this.refID || this.refID === 'overlay'){\n $el._hasDeferredLoad = false;\n $el.logger.warn('no refID detected');\n return Promise.reject();\n }\n\n $el.setLoading(true);\n this.logger.log('fetching zone content', this.refID);\n ZoneAPI.getZoneContent(this.refID).then(function(zone){\n $el.zone = zone;\n if(zone.height){\n $el._setHeight(zone.height);\n }\n $el.injectData(zone.toConciergeContainer());\n def.resolve();\n }).catch(function(e){\n $el.logger.error(e);\n $el.isErrorOpen = true;\n def.reject(e);\n }).then(function(){\n $el._hasDeferredLoad = false;\n $el.setLoading(false)\n });\n\n return def.promise;\n }\n\n injectData(payload){\n var $el = this;\n if(this.frameLoadPromise){\n this.frameLoadPromise.then(function(){\n var $frameWindow = $el.$renderFrame?.contentWindow;\n if($frameWindow){\n $el.logger.log('injecting payload', payload);\n $frameWindow.postMessage(payload, $el.renderURL);\n } else{\n $el.logger.error('no frame window detected');\n }\n })\n } else if(this.$renderFrame?.contentWindow){\n this.$renderFrame.contentWindow.postMessage(payload, $el.renderURL);\n }\n }\n\n /**\n * Handles {@link Flightkit.ActionLink|ActionLink} instances that could have originated from other FlybitsSlot instances.\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @function handleAction\n * @param {Flightkit.ActionLink} actionLink Instance of ActionLink containing information to perform actions and/or render Content details and full Zones.\n * @returns {external:Promise} A promise resolving after action handling.\n */\n handleAction(actionLink){\n const def = new Deferred();\n const $el = this;\n if(actionLink.protocol === ActionLink.protocol.DETAILS){\n if(!actionLink.params.contentId && actionLink.data.content && actionLink.meta.contentID){\n $el.logger.error('missing content id', e);\n return Promise.reject();\n }\n\n if(!actionLink.data.content){\n const contentID = actionLink.params.contentId || actionLink.meta.contentID;\n this._resolveContent(contentID).then(function(content){\n $el.injectData(Zone.generateDetailsPayload(content));\n def.resolve();\n }).catch(function(e){\n $el.logger.error('cannot resolve content', e);\n def.reject();\n })\n } else{\n this.injectData(Zone.generateDetailsPayload(actionLink.data.content));\n def.resolve();\n }\n } else if(actionLink.protocol === ActionLink.protocol.CONCIERGE){\n if(!actionLink.params.zoneReferenceId){\n $el.logger.error('missing zone reference id', e);\n return Promise.reject();\n }\n \n this.refID = actionLink.params.zoneReferenceId;\n return this.loadZoneData();\n }\n\n return def.promise;\n }\n\n /**\n * Changes the visibility of the loading state UI.\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @function setLoading\n * @param {boolean} bool State of loading overlay\n * @returns {Flightkit.FlybitsSlot} Returns the FlybitsSlot element this function was invoked upon.\n */\n setLoading(bool){\n if(bool){\n this.isLoadingOpen = true;\n this._loaderStack.push(true);\n } else if(!bool && this._loaderStack.length > 1){\n this._loaderStack.pop();\n } else if(!bool){\n this._loaderStack.pop();\n this.isLoadingOpen = false;\n }\n return this;\n }\n\n _setHeight(height){\n if(this.renderMode === FlybitsSlot.modes.DYNAMICHEIGHT){\n this.logger.log('setting height', height);\n this.style.height = height+'px';\n }\n }\n\n _resolveContent(contentID) {\n const def = new Deferred();\n const cachedContent = contentID?ZoneAPI.getCachedContentDetails(contentID):null;\n if(cachedContent){\n return Promise.resolve(cachedContent);\n }\n\n const $el = this;\n $el.setLoading(true);\n ZoneAPI.getContentDetails(contentID).then(function(results){\n def.resolve(results);\n }).catch(function(e){\n def.reject(e);\n }).then(function(){\n $el.setLoading(false);\n });\n return def.promise;\n }\n\n /**\n * Action Events which contain an {@link Flightkit.ActionLink|ActionLink} payload that support standard DOM API methods for event listening as utilizes the native DOM element CustomEvent class.\n * @event Flightkit.FlybitsSlot#action\n * @type {external:CustomEvent}\n * @property {Flightkit.ActionLink} detail ActionLink type payload\n * @property {string} type=action\n * @example\n * const slot = new FlybitsSlot();\n * slot.addEventListener('action', function(payload){\n * const actionLink = payload.detail;\n * })\n */\n _dispatchActionLinks(actionLinkStr, metaObj) {\n const $el = this;\n const actionLink = new ActionLink(actionLinkStr);\n \n if(!this.overrideActions){\n if(actionLink.protocol === ActionLink.protocol.DETAILS && !this.overrideOverlay){\n const contentID = actionLink.params.contentId || metaObj.contentID;\n this._resolveContent(contentID).then(function(content){\n actionLink.data.content = content;\n Flightkit.outlet.openOverlay(\n actionLink, \n $el.overlayOutlet, \n {\n showDismissUI: $el.overlayDismissUI, \n $loadingUI: $el.$overlayLoadingUI,\n $errorUI: $el.$overlayErrorUI,\n loggerMode: $el.logger.mode,\n renderURL: $el.renderURL\n }\n );\n }).catch(function(e){\n $el.logger.error('failed to load content',e);\n });\n return;\n }\n\n if(actionLink.protocol === ActionLink.protocol.CONCIERGE && !this.overrideOverlay){\n Flightkit.outlet.openOverlay(\n actionLink, \n $el.overlayOutlet, \n {\n showDismissUI: $el.overlayDismissUI, \n $loadingUI: $el.$overlayLoadingUI,\n $errorUI: $el.$overlayErrorUI,\n loggerMode: $el.logger.mode,\n renderURL: $el.renderURL\n }\n );\n return;\n }\n \n if(actionLink.protocol === ActionLink.protocol.HTTPS && !this.overrideURLs){\n if(!actionLink.rawStr){\n $el.logger.error('invalid url', actionLink.rawStr)\n return;\n }\n \n window.open(actionLink.rawStr, '_blank');\n return;\n }\n \n if(actionLink.protocol === ActionLink.protocol.BROWSER && !this.overrideURLs){\n if(!actionLink.params.url){\n $el.logger.error('invalid url', actionLink.params.url)\n return;\n }\n \n window.open(actionLink.params.url, '_blank');\n return;\n }\n\n if(actionLink.protocol === ActionLink.protocol.INAPPBROWSER && !this.overrideURLs){\n if(!actionLink.params.url){\n $el.logger.error('invalid url', actionLink.params.url)\n return;\n }\n\n window.location.href = actionLink.params.url;\n return;\n }\n }\n\n\n const payload = actionLink.toJSON();\n if(metaObj){\n payload.meta = metaObj;\n }\n\n const evt = new CustomEvent('action', {\n detail: payload,\n bubbles: true,\n composed: true\n });\n this.dispatchEvent(evt);\n }\n\n detectFlybits() {\n CtxAPI.autoInitCtxManager();\n var $el = this;\n\n if(window.Flybits){\n if(this.host){\n Flybits.cfg.HOST = this.host;\n }\n if(this.projectID){\n Flybits.Session._projectID = this.projectID;\n }\n\n if(Flybits.Session._projectID){\n this.initElementMeta();\n if(Flybits.Session.userToken){\n this.loadZoneData().catch(function(){})\n } else{\n if(!this._hasDeferredLoad){\n this._hasDeferredLoad = true;\n Flybits.Session.ready.then(function(){\n $el.loadZoneData().catch(function(){})\n })\n }\n }\n } else{\n if(!this._hasDeferredLoad){\n this._hasDeferredLoad = true;\n Flybits.Session.ready.then(function(){\n $el.loadZoneData().catch(function(){})\n })\n }\n }\n } else{\n this.logger.error('Flybits.js Core SDK not detected.');\n }\n }\n\n handleFrameEvent(payload) {\n try{\n var childContentWindow = this.$renderFrame.contentWindow;\n if(payload.source !== childContentWindow || payload.origin !== new URL(this.renderURL).origin){\n return;\n }\n\n if(payload.data && payload.data.flb){ \n var eventObj = payload?.data?.value ? JSON.parse(payload.data.value):{};\n this.logger.log('frameEvt['+this.refID+']['+payload.data.type+']', eventObj)\n if(payload.data.type === 'context'){\n CtxAPI.handleContextPayload(eventObj, this.logger);\n } else if(payload.data.type === 'action'){\n this._dispatchActionLinks(eventObj.actionlink, {\n contentID: eventObj?.contentInfo?.id\n });\n } else if(payload.data.type === 'analytics'){\n CtxAPI.handleAnalyticsPayload(eventObj, this.logger);\n } else if(payload.data.type === 'error'){\n } else if(payload.data.type === 'dismiss'){\n if(typeof this._dispatchDismiss === 'function'){\n this._dispatchDismiss();\n }\n } else if(payload.data.type === 'flb.heightupdate'){\n const heightNum = +payload.data.value;\n if(heightNum){\n this._setHeight(heightNum);\n }\n } else{\n // not supported messages \n this.logger.warn('Message not supported', payload.data);\n }\n } else{\n // non-concierge messages \n }\n } catch(e){\n this.logger.error('Cannot parse message', e);\n }\n }\n\n _handleFrameLoad(e) {\n this.frameLoadDef.resolve();\n }\n\n _handleLoadingSlotChange(e) {\n const childNodes = e.target.assignedNodes({\n flatten: true\n })\n this.logger.log('loading slot change', childNodes);\n if(childNodes.length){\n this.hasLoadingSlot = true;\n }\n }\n\n _handleErrorSlotChange(e) {\n const childNodes = e.target.assignedNodes({\n flatten: true\n })\n this.logger.log('error slot change', childNodes);\n if(childNodes.length){\n this.hasErrorSlot = true;\n }\n }\n\n _handleSlotEvent(e){\n e.preventDefault();\n e.stopPropagation();\n if(e?.type === 'reload'){\n this.loadZoneData();\n this.isErrorOpen = false;\n }\n }\n\n render() {\n return html`\n <iframe src=\"${this.renderURL}\" @load=${this._handleFrameLoad} frameborder=\"0\" class=\"flb-frame\" sandbox=\"allow-scripts allow-same-origin\"></iframe>\n ${this.hasLoadingSlot?'':html`\n <div class=${classMap({open: this.isLoadingOpen,'slot-default':true,'loading': true})}>\n <flybits-loading></flybits-loading>\n </div>\n `}\n ${this.hasErrorSlot?'':html`\n <div class=${classMap({open: this.isErrorOpen,'slot-default':true,'error': true})}>\n <flybits-error @reload=${this._handleSlotEvent}></flybits-error>\n </div>\n `}\n <slot class=${classMap({open: this.isLoadingOpen})} name=\"loading\" @slotchange=${this._handleLoadingSlotChange}></slot>\n <slot class=${classMap({open: this.isErrorOpen})} name=\"error\" @reload=${this._handleSlotEvent} @slotchange=${this._handleErrorSlotChange}></slot>\n <slot class='overlay-loading' name=\"overlay-loading\"></slot>\n <slot class='overlay-error' name=\"overlay-error\"></slot>\n `\n }\n}\ncustomElements.define('flybits-slot', FlybitsSlot);","/*global Flybits*/\nimport { html, css } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport Zone from '../models/zone';\nimport CtxAPI from '../apis/ctx';\nimport FlybitsSlot from './flybits-slot';\n\n/**\n * @class FlybitsOverlay\n * @memberof Flightkit\n * @extends Flightkit.FlybitsSlot\n */\nexport default class FlybitsOverlay extends FlybitsSlot {\n static properties = {\n dismissUI: {\n type: Boolean,\n attribute: 'dismiss-ui'\n }\n }\n\n static styles = css`\n :host {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000000;\n }\n .flb-frame {\n width: 100%;\n height: 100%;\n border: 0;\n z-index: 1;\n }\n .dismiss.btn{\n position: fixed;\n top: 25px;\n right: 25px;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n font-size: 25px;\n cursor: pointer;\n background-color: white;\n }\n .dismiss.btn:hover{\n background-color: whitesmoke;\n transition: background-color 0.1s linear; \n }\n .slot-default flybits-loading{\n background-color: rgba(0,0,0,0.05);\n }\n .slot-default,::slotted(:first-child){\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0.2s;\n z-index: 2;\n }\n .slot-default.open,.open::slotted(:first-child) {\n visibility: visible;\n opacity: 1;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0s;\n }\n `\n\n constructor(){\n super();\n this.renderMode = FlybitsSlot.modes.FULLHEIGHT;\n this.refID = 'overlay';\n this.dismissUI = false;\n }\n\n connectedCallback() {\n super.connectedCallback()\n this.setLoading(true);\n const $el = this;\n this.frameLoadPromise.then(function(){\n $el.setLoading(false);\n })\n }\n \n _dispatchDismiss() {\n this.remove();\n }\n\n /**\n * \n * @instance\n * @memberof Flightkit.FlybitsOverlay\n * @function injectContent\n * @param {external:FlybitsContent} content \n */\n injectContent(content) {\n this.injectData(Zone.generateOverlayPayload(content));\n }\n\n detectFlybits() {\n CtxAPI.autoInitCtxManager();\n var $el = this;\n\n if(window.Flybits){\n if(this.host){\n Flybits.cfg.HOST = this.host;\n }\n if(this.projectID){\n Flybits.Session._projectID = this.projectID;\n }\n } else{\n this.logger.error('Flybits.js Core SDK not detected.');\n }\n }\n\n render() {\n let $dismissUI = html``;\n if(this.dismissUI){\n $dismissUI = html`\n <div class=\"dismiss btn\" @click=${this._dispatchDismiss}>×</div>\n `;\n }\n return html`\n ${$dismissUI}\n <iframe src=\"${this.renderURL}\" @load=${this._handleFrameLoad} frameborder=\"0\" class=\"flb-frame\" sandbox=\"allow-scripts allow-same-origin\"></iframe>\n ${this.hasLoadingSlot?'':html`\n <div class=${classMap({open: this.isLoadingOpen,'slot-default':true,'loading': true})}>\n <flybits-loading></flybits-loading>\n </div>\n `}\n ${this.hasErrorSlot?'':html`\n <div class=${classMap({open: this.isErrorOpen,'slot-default':true,'error': true})}>\n <flybits-error @reload=${this._handleSlotEvent}></flybits-error>\n </div>\n `}\n <slot class=${classMap({open: this.isLoadingOpen})} name=\"loading\" @slotchange=${this._handleLoadingSlotChange}></slot>\n <slot class=${classMap({open: this.isErrorOpen})} name=\"error\" @reload=${this._handleSlotEvent} @slotchange=${this._handleErrorSlotChange}></slot>\n `\n }\n}\ncustomElements.define('flybits-overlay', FlybitsOverlay);","/*global Flybits, Flightkit, document*/\nimport { html, css, LitElement } from 'lit';\n\n/**\n * @class FlybitsLoading\n * @classdesc A default loading UI for FlybitsSlot components.\n * @memberof Flightkit\n * @extends external:LitElement\n * @example \n * <!-- declarative approach -->\n * <flybits-slot ref-id=\"homepage\">\n * <flybits-loading slot=\"loading\"></flybits-loading>\n * </flybits-slot>\n */\nexport default class FlybitsLoading extends LitElement {\n\n static properties = {\n };\n \n static styles = css`\n :host {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n align-content: center;\n background-color: rgba(255,255,255,0.3);\n }\n :host svg{\n opacity: 0.7;\n }\n `\n\n constructor() {\n super();\n }\n \n connectedCallback() {\n super.connectedCallback()\n }\n \n disconnectedCallback() {\n super.disconnectedCallback()\n }\n\n render() {\n return html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"margin: auto; background: transparent; display: block; shape-rendering: auto;\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <circle cx=\"84\" cy=\"50\" r=\"10\" fill=\"#292664\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.4807692307692307s\" calcMode=\"spline\" keyTimes=\"0;1\" values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"discrete\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"#292664;#b5ccf1;#94a9ce;#667395;#292664\" begin=\"0s\"></animate>\n </circle><circle cx=\"16\" cy=\"50\" r=\"10\" fill=\"#292664\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\n </circle><circle cx=\"50\" cy=\"50\" r=\"10\" fill=\"#667395\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.4807692307692307s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.4807692307692307s\"></animate>\n </circle><circle cx=\"84\" cy=\"50\" r=\"10\" fill=\"#94a9ce\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.9615384615384615s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.9615384615384615s\"></animate>\n </circle><circle cx=\"16\" cy=\"50\" r=\"10\" fill=\"#b5ccf1\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.4423076923076923s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.4423076923076923s\"></animate>\n </circle>\n </svg>\n `\n }\n}\ncustomElements.define('flybits-loading', FlybitsLoading);","/*global Flybits, Flightkit, document*/\nimport { html, css, LitElement } from 'lit';\n\n/**\n * @class FlybitsError\n * @classdesc A default error UI for FlybitsSlot components.\n * @memberof Flightkit\n * @extends external:LitElement\n * @example \n * <!-- declarative approach -->\n * <flybits-slot ref-id=\"homepage\">\n * <flybits-error slot=\"error\"></flybits-error>\n * </flybits-slot>\n */\nexport default class FlybitsError extends LitElement {\n\n static properties = {\n };\n \n static styles = css`\n :host {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n align-content: center;\n background-color: rgba(255,255,255,0.8);\n }\n .inner-wrap{\n text-align: center;\n }\n .msg{\n display: block;\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 10px;\n }\n .reload-trigger{\n display: inline-block;\n font-size: 14px;\n border-radius: 20px;\n min-width: 100px;\n background-color: #3258E9;\n color: white;\n text-align: center;\n line-height: 30px;\n cursor: pointer;\n user-select: none;\n }\n .reload-trigger:hover{\n background-color: #0c94f2;\n }\n `\n\n constructor() {\n super();\n }\n \n connectedCallback() {\n super.connectedCallback()\n }\n \n disconnectedCallback() {\n super.disconnectedCallback()\n }\n\n emitReload() {\n this.dispatchEvent(new CustomEvent('reload', {\n bubbles: true\n }))\n }\n\n render() {\n return html`\n <div class=\"inner-wrap\">\n <div class=\"msg\">Sorry something went wrong.</div>\n <div class=\"reload-trigger\" @click=\"${this.emitReload}\">Try again</div>\n </div>\n `\n }\n}\ncustomElements.define('flybits-error', FlybitsError);","import FlybitsOverlay from \"../components/flybits-overlay\";\nimport ActionLink from \"../models/actionLink\";\n\nconst OutletManager = {\n $overlay: null,\n /**\n * \n * @param {string} actionLink Action Link protocol string\n * @param {HTMLElement|string} $outlet Either an HTML element to inject the outlet into or a query selector string by which to query the HTML element.\n * @param {Object} parentContext Additional options to align with parent FlybitsSlot\n * @param {boolean} parentContext.showDismissUI Flag to indicate whether or not to show out of the box overlay dismiss UI button\n * @param {HTMLElement} parentContext.$loadingUI Block HTML element to show for overlay loading states\n * @param {HTMLElement} parentContext.$errorUI Block HTML element to show for error states\n * @param {string} parentContext.loggerMode String flag indicating log verbosity.\n * @param {string} parentContext.renderURL Application URL for the C5 Rendering Layer\n * @returns {undefined}\n */\n openOverlay: function(actionLink, $outlet, parentContext){\n /**\n * showDismissUI, $loadingUI, $errorUI, loggerMode, renderURL\n */\n parentContext = parentContext || {};\n\n if(!this.$overlay){\n this.$overlay = new FlybitsOverlay();\n }\n if(parentContext.renderURL){\n this.$overlay.renderURL = parentContext.renderURL;\n }\n\n this.$overlay.logger.mode = parentContext.loggerMode;\n\n if(actionLink.protocol === ActionLink.protocol.DETAILS && !actionLink.data.content){\n this.$overlay.logger.error('no content details to display')\n return;\n }\n\n if(actionLink.protocol === ActionLink.protocol.CONCIERGE && !actionLink?.params?.zoneReferenceId){\n this.$overlay.logger.error('no zone reference ID')\n return;\n }\n \n this.$overlay.dismissUI = !!parentContext.showDismissUI;\n \n const existingLoadingUI = this.$overlay.querySelector('[slot=\"loading\"]');\n if(existingLoadingUI){\n existingLoadingUI.remove();\n }\n if(parentContext.$loadingUI){\n parentContext.$loadingUI.setAttribute('slot','loading');\n this.$overlay.append(parentContext.$loadingUI);\n }\n\n const existingErrorUI = this.$overlay.querySelector('[slot=\"error\"]');\n if(existingErrorUI){\n existingErrorUI.remove();\n }\n if(parentContext.$errorUI){\n parentContext.$errorUI.setAttribute('slot','error');\n this.$overlay.append(parentContext.$errorUI);\n }\n\n var $outletEl = $outlet;\n if(typeof $outlet === 'string'){\n $outletEl = document.querySelector($outlet);\n }\n\n if(!$outletEl){\n this.$overlay.logger.error('invalid outlet', $outlet)\n return;\n }\n $outletEl.append(this.$overlay);\n\n if(actionLink.protocol === ActionLink.protocol.DETAILS){\n this.$overlay.injectContent(actionLink.data.content);\n } else if(actionLink.protocol === ActionLink.protocol.CONCIERGE){\n this.$overlay.handleAction(actionLink);\n } else {\n this.$overlay.logger.error('ActionLink type not yet supported in overlay', actionLink.rawStr);\n }\n }\n};\n\nexport default OutletManager;","import FlybitsSlot from \"../components/flybits-slot\";\nimport FlybitsOverlay from \"../components/flybits-overlay\";\nimport FlybitsLoading from \"../components/flybits-loading\";\nimport FlybitsError from \"../components/flybits-error\";\nimport ActionLink from \"../models/actionLink\";\nimport OutletManager from \"./outletManager\";\n\n/**\n * Base CustomElement with reactive properties and internal state.\n * @external LitElement\n * @see {@link https://lit.dev/docs/api/LitElement/|LitElement Definition}\n * @see {@link https://lit.dev/|Lit library}\n */\n\n/**\n * Native DOM element event with custom data payloads\n * @external CustomEvent\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent|CustomEvent Definition}\n */\n\n/**\n * Native DOM element\n * @external HTMLElement\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement|HTMLElement Definition}\n */\n\n/**\n * Encapsulated DOM tree within a native Custom Element.\n * @external ShadowDOM\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM|Using Shadow DOM}\n */\n\n/**\n * ES6 Promise object.\n * @external Promise\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise API}\n * @see {@link http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects|Promise spec}\n */\n\n/**\n * Flybits Content Instance\n * @external FlybitsContent\n * @see {@link https://js.flybits.app/docs/sdk/latest/Flybits.Content.html|Flybits Content Instance Definition}\n */\n\n/**\n * This is the root namespace for the Flighkit SDK. This is accessible from the `window` object.\n * @namespace\n */\nconst Flightkit = {\n FlybitsSlot: FlybitsSlot,\n outlet: OutletManager,\n FlybitsOverlay: FlybitsOverlay,\n ActionLink: ActionLink,\n FlybitsLoading: FlybitsLoading,\n FlybitsError: FlybitsError\n};\n\nif(typeof window === 'object' && typeof window.Flightkit !== 'object'){\n window.Flightkit = Flightkit;\n}\n\n/**\n * @module flightkit\n * @desc This is the main Flightkit module which exports named values so you may import them as follows:\n * ```\n * import { FlybitsSlot, FlybitsOverlay, FlybitsLoading, FlybitsError, ActionLink, OutletManager } from 'flightkit'\n * ```\n */\nexport {\n FlybitsSlot,\n FlybitsOverlay,\n FlybitsLoading,\n FlybitsError,\n ActionLink,\n OutletManager\n}"],"names":["t","globalThis","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","o","WeakMap","n$2","n","constructor","this","_$cssResult$","Error","cssText","styleSheet","length","get","replaceSync","set","toString","i","reduce","c","cssRules","r","is","defineProperty","getOwnPropertyDescriptor","getOwnPropertyNames","h","getOwnPropertySymbols","getPrototypeOf","Object","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","d","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","f","y","attribute","type","String","converter","reflect","hasChanged","metadata","litPropertyMetadata","b","HTMLElement","addInitializer","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","state","elementProperties","noAccessor","getPropertyDescriptor","call","requestUpdate","configurable","enumerable","getPropertyOptions","hasOwnProperty","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$EC","removeAttribute","P","_$ET","has","_$Ej","reject","scheduleUpdate","performUpdate","wrapped","shouldUpdate","willUpdate","hostUpdate","update","_$EU","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","slice","createComment","v","_","m","RegExp","g","$","x","_$litType$","strings","values","w","for","T","A","E","createTreeWalker","C","lastIndex","exec","test","startsWith","V","parts","el","currentNode","content","firstChild","replaceWith","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","k","H","I","R","tagName","append","data","indexOf","innerHTML","N","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","S","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","M","nextSibling","L","_$AI","_$Cv","_$AH","_$AA","_$AB","options","startNode","endNode","_$AR","iterator","insertBefore","createTextNode","_$AC","_$AP","remove","setConnected","element","fill","j","arguments","toggleAttribute","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","Z","litHtmlPolyfillSupport","litHtmlVersions","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","_$Ct","_$Ci","filter","join","st","nt","classList","cfg","Deferred","def","promise","resolve","then","bind","catch","BrowserUtil","uri","window","location","href","replace","results","ActionLink","static","DETAILS","INAPPBROWSER","BROWSER","HTTPS","PHONE","APP","CONCIERGE","UNIVERSAL","MAIL","CUSTOM","details","contentId","overlay","default","web","url","browser","https","phone","phoneNumber","app","concierge","container","zoneReferenceId","style","universalLink","ios","android","mail","sendTo","subject","body","cc","bcc","custom","linkStr","rawStr","protocol","value","params","fromLink","protocolStr","valueStr","substring","protocolObj","PROTOCOLDEFS","paramObj","key","val","toJSON","s4","floor","ObjUtil","guid","tuples","str","getByStr","obj","keyStr","aKeys","setByStr","removeObject","arr","findCallback","objs","splice","debounce","func","wait","immediate","timeout","context","args","callNow","clearTimeout","setTimeout","apply","extend","isMergeableObject","cloneIfNecessary","optionsArgument","clone","deepmerge","defaultArrayMerge","target","source","destination","array","arrayMerge","mergeObject","all","prev","next","flattenLocales","localeObj","localizations","en","assign","stripContent","result","retObj","id","uiTemplate","styleStr","contentInfo","labels","uiObj","detailsUI","defaultUI","layoutHTML","styleCSSURL","styleCSS","ZoneAPI","cachedContent","getCachedContentDetails","contentID","getContentDetails","api","Flybits","Content","res","getZoneContent","refID","contentMap","Zones","getByReferenceId","zoneConfig","zone","modules","module","Zone","generateOverlayPayload","containers","cacheKey","layout","generateDetailsPayload","CtxAPI","_deferredCtxInit","autoInitCtxManager","Session","ready","Manager","isReporting","reportDelay","Cfg","initialize","handleContextPayload","payload","logger","console","ctxRep","pluginId","cleansedValueObj","cleansedKeyStr","replaceAll","reportCtx","error","handleAnalyticsPayload","component","analytics","reportContentID","actions","COMPONENTENGAGED","compID","compId","Logger","VERBOSE","ERRORS","SILENT","opts","prefix","now","Date","getHours","getMinutes","getSeconds","getMilliseconds","performance","toFixed","log","modes","warn","FlybitsSlot","VERSION","pkg","FIXEDHEIGHT","FULLHEIGHT","DYNAMICHEIGHT","projectID","renderURL","pollingEnabled","pollingInterval","renderMode","overlayOutlet","overrideOverlay","overrideURLs","overrideActions","overlayDismissUI","isLoadingOpen","isErrorOpen","hasLoadingSlot","hasErrorSlot","logLevel","css","$renderFrame","querySelector","$overlayLoadingUI","slot","childElems","assignedElements","flatten","_$overlayLoadingOverride","$overlayErrorUI","_$overlayErrorOverride","initParams","_hasDeferredLoad","_loaderStack","frameLoadDef","frameLoadPromise","detectFlybits","_reboundHandleFrameEvent","handleFrameEvent","init","initElementMeta","_projectID","$el","getZoneMetadata","meta","_setHeight","height","_old","loadZoneData","setLoading","injectData","toConciergeContainer","$frameWindow","contentWindow","postMessage","handleAction","actionLink","_resolveContent","bool","pop","_dispatchActionLinks","actionLinkStr","metaObj","Flightkit","outlet","openOverlay","showDismissUI","$loadingUI","$errorUI","loggerMode","open","evt","CustomEvent","detail","bubbles","composed","dispatchEvent","HOST","userToken","childContentWindow","origin","URL","flb","eventObj","actionlink","_dispatchDismiss","heightNum","_handleFrameLoad","_handleLoadingSlotChange","assignedNodes","_handleErrorSlotChange","_handleSlotEvent","preventDefault","stopPropagation","html","classMap","loading","customElements","define","FlybitsOverlay","dismissUI","injectContent","$dismissUI","FlybitsLoading","FlybitsError","emitReload","OutletManager","$overlay","$outlet","parentContext","existingLoadingUI","existingErrorUI","$outletEl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
1
+ {"version":3,"file":"flightkit.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/class-map.js","../src/config/cfg.js","../src/models/deferred.js","../src/utils/browser.js","../src/models/actionLink.js","../src/utils/obj.js","../src/apis/zone.js","../src/models/zone.js","../src/apis/ctx.js","../src/utils/logger.js","../src/components/flybits-slot.js","../src/components/flybits-overlay.js","../src/components/flybits-loading.js","../src/components/flybits-error.js","../src/core/outletManager.js","../src/core/core.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?k:\"?\"===e[1]?H:\"@\"===e[1]?I:R}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),E.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){if(i===w)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=N(t,h._$AS(t,i.values),h,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);E.currentNode=e;let h=E.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new M(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new L(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=E.nextNode(),o++)}return E.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),c(t)?t===T||null==t||\"\"===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==w&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==T&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=V.createElement(C(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new S(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new V(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new M(this.S(l()),this.S(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=N(this,e[s+n],i,n),r===w&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===T?t=T:t!==T&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===T?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T)}}class I extends R{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=N(this,t,i,0)??T)===w)return;const s=this._$AH,e=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==T&&(s===T||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const z={P:e,A:h,C:o,M:1,L:P,R:S,D:u,V:N,I:M,H:R,N:H,U:I,B:k,F:L},Z=t.litHtmlPolyfillSupport;Z?.(V,M),(t.litHtmlVersions??=[]).push(\"3.1.2\");const j=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.4\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","\nexport default {\n RENDERHOST: 'https://static-files-concierge.staging.flybits.com/latest/zone.html',\n DEFAULTFLBHOST: 'https://api.demo.flybits.com',\n DEFAULTREFID: 'homepage',\n DEFAULTCTXREPORTINTERVAL: 2000\n}","var Deferred = function(){\n var def = this;\n /**\n * @instance\n * @member {external:Promise} promise Instance of an ES6 Promise to be fulfilled.\n */\n this.promise = new Promise(function(resolve,reject){\n /**\n * @instance\n * @member {function} resolve Callback to be invoked when the asychronous task that initiated the promise is successfully completed.\n */\n def.resolve = resolve;\n /**\n * @instance\n * @member {function} reject Callback to be invoked when the asychronous task that initiated the promise has failed to complete successfully.\n */\n def.reject = reject;\n });\n\n this.then = this.promise.then.bind(this.promise);\n this.catch = this.promise.catch.bind(this.promise);\n};\n\nexport default Deferred;","\nexport default {\n getURLParam:function(name, uri) {\n uri = uri || window.location.href;\n name = name.replace(/[\\[]/, \"\\\\\\[\").replace(/[\\]]/, \"\\\\\\]\");\n var regexS = \"[\\\\?&]\" + name + \"=([^&#]*)\";\n var regex = new RegExp(regexS);\n var results = regex.exec(uri);\n if (results === null)\n return \"\";\n else\n return results[1];\n },\n}","import BrowserUtil from '../utils/browser';\n\n/**\n * @class ActionLink\n * @classdesc An ActionLink is essentially a typical Uniform Resource Identifier (URI) for example, 'https://domain.com' or 'ftp://fileserver.com:3003' but with custom protocol schemes and parameters. Each Action Event carries an Action Link with details about what type of action has occurred (eg. web link, app deep link, overlay open, etc) and their associated parameters like email recipients if for example the Action Link were to initiate an email draft\n * @memberof Flightkit\n * @param {string} linkStr Raw ActionLink protocol string with scheme, value, and parameters (eg. details://?contentId=123). This string will be parsed and class instance will be hydrated.\n */\nclass ActionLink{\n\n /**\n * @member {Object} protocol Set of protocol scheme types\n * @memberof Flightkit.ActionLink\n * @static\n * @constant\n * @property {string} DETAILS (value=`details`) Opens a Content Instance details page as an overlay or can be injected into a FlybitsSlot for rendering. If a contentId is not provided, it is assumed to attempt opening the details page of the Content Instance from which the action originated from.\n * @property {string} INAPPBROWSER (value=`web`) Opens a web URL in an in app browser. This is dependent on application support.\n * @property {string} BROWSER (value=`browser`) Opens a web URL in the platform browser.\n * @property {string} HTTPS (value=`https`) Opens a web URL in the platform browser. Allows for standard URLs as the raw link string; useful for RTF fields containing hyperlinks.\n * @property {string} CONCIERGE (value=`concierge`) Opens a particular Zone as an overlay or can be injected into a FlybitsSlot for rendering.\n * @property {string} PHONE (value=`phone`) Opens platform phone application with pre-seeded phone number.\n * @property {string} APP (value=`app`) Useful for mobile platform application deep linking. Note URL must be registered in target application otherwise will default to be an simple web link opened in the platform browser.\n * @property {string} UNIVERSAL (value=`universalLink`) Meant for mobile platforms, it will open a platform specific URL and depending on the platform forward the action to specific applications with a failover as a webpage.\n * @property {string} MAIL (value=`mail`) Opens platform email application with pre-seeded body and details.\n */\n static protocol = {\n DETAILS: 'details',\n INAPPBROWSER: 'web',\n BROWSER: 'browser',\n HTTPS: 'https',\n PHONE: 'phone',\n APP: 'app',\n CONCIERGE: 'concierge',\n UNIVERSAL: 'universalLink',\n MAIL: 'mail',\n CUSTOM: 'custom'\n }\n\n /**\n * @typedef {Object} PROTOCOLDEFS Protocol scheme type definitions outlining what parameters corresponding ActionLink types contain.\n * @memberof Flightkit.ActionLink\n * @property {Object} details Type DETAILS\n * @property {string} details.contentId Flybits Content Instance ID\n * @property {boolean} [details.overlay=false] Flag to indicate Content details should be opened as an overlay.\n * @property {Object} web Type INAPPBROWSER\n * @property {string} web.url URL string to be opened in the browser.\n * @property {Object} browser Type BROWSER\n * @property {string} browser.url URL string to be opened in the browser.\n * @property {Object} https Type HTTPS; no additional properties.\n * @property {Object} phone Type PHONE\n * @property {string} phone.phoneNumber Phone number string that may contain dashes and plus symbols. \n * @property {Object} app Type APP\n * @property {string} app.name Predefined reference string for custom application logic.\n * @property {Object} concierge Type CONCIERGE\n * @property {string} concierge.zoneReferenceId Zone Reference ID to load based on the ActionLink.\n * @property {boolean} [concierge.overlay=false] Flag to indicate Zone should be opened as an overlay.\n * @property {Object} universalLink Type UNIVERSAL\n * @property {string} universalLink.ios iOS specific universal URL. Note URL must be registered in target application otherwise will default to be an simple web link opened in the platform browser.\n * @property {string} universalLink.android Android specific universal URL. Note URL must be registered in target application otherwise will default to be an simple web link opened in the platform browser.\n * @property {Object} mail Type MAIL\n * @property {string} mail.sendTo Recipient target email address.\n * @property {string} mail.subject Subject field of the email.\n * @property {string} mail.body Main email body.\n * @property {string} mail.cc Comma separated list of email addresses to be added to the Carbon Copy (CC) field.\n * @property {string} mail.bcc Comma separated list of email addresses to be added to the Bline Carbon Copy (BCC) field.\n */\n static PROTOCOLDEFS = {\n details: {\n contentId: {\n type: String,\n },\n overlay: {\n type: Boolean,\n default: false\n },\n },\n web: {\n url: {\n type: String\n },\n },\n browser: {\n url: {\n type: String\n },\n },\n https: {},\n phone: {\n phoneNumber: {\n type: String // might contain dashes and plus symbols\n },\n },\n app: {\n name: {\n type: String\n },\n },\n concierge: {\n container: {\n type: String\n },\n zoneReferenceId: {\n type: String\n },\n filter: {\n type: String\n },\n style: {\n type: String\n }, \n overlay: {\n type: Boolean,\n default: false\n }, \n },\n universalLink: {\n ios: {\n type: String\n },\n android: {\n type: String\n },\n },\n mail: {\n sendTo: {\n type: String\n },\n subject: {\n type: String\n },\n body: {\n type: String\n },\n cc: {\n type: String\n },\n bcc: {\n type: String\n },\n },\n custom: {}\n };\n\n constructor(linkStr){\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {string} rawStr Raw ActionLink protocol string with scheme, value, and parameters.\n */\n this.rawStr = '';\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {string} protocol ActionLink protocol scheme (eg. details, browser, concierge, etc).\n */\n this.protocol = '';\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {string} value ActionLink protocol value after scheme including parameters (eg flybits.com?x=3).\n */\n this.value = '';\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {Object} params Map of ActionLink protocol {@link Flightkit.ActionLink.PROTOCOLDEFS|type parameters} depending on the {@link Flightkit.ActionLink.protocol|type}.\n */\n this.params = {};\n /**\n * @instance\n * @memberof Flightkit.ActionLink\n * @member {Object} data ActionLink protocol {@link Flightkit.ActionLink.protocol|type} specific object that may contain entity instances (eg. hydrated Content Instances).\n */\n this.data = {};\n this.fromLink(linkStr);\n }\n\n fromLink(linkStr){\n this.rawStr = linkStr;\n var protocolStr = linkStr.split('://')[0] || '';\n protocolStr = protocolStr.toLowerCase();\n\n var valueStr = linkStr.indexOf('://') > -1 ? linkStr.substring(linkStr.indexOf('://') + 3) : linkStr;\n var protocolObj = JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS.custom));\n\n if(ActionLink.PROTOCOLDEFS[protocolStr]){\n protocolObj = JSON.parse(JSON.stringify(ActionLink.PROTOCOLDEFS[protocolStr]));\n } else{\n protocolStr = 'custom';\n valueStr = linkStr;\n }\n\n this.protocol = protocolStr;\n this.value = valueStr;\n\n if(protocolObj && Object.keys(protocolObj).length){\n var paramObj = {};\n Object.keys(protocolObj).forEach(function(key){\n const val = BrowserUtil.getURLParam(key, linkStr);\n if(val){\n if(protocolObj[key].type === Boolean){\n paramObj[key] = val?.toLowerCase() === 'true';\n } else if(protocolObj[key].type === Number){\n paramObj[key] = +val;\n } else{\n paramObj[key] = val;\n }\n } else if(protocolObj[key].hasOwnProperty('default')){\n paramObj[key] = protocolObj[key].default;\n }\n })\n this.params = paramObj;\n }\n }\n\n toJSON(){\n return {\n rawStr: this.rawStr,\n protocol: this.protocol,\n value: this.value,\n params: this.params,\n data: this.data\n };\n }\n\n static parse(linkStr){\n return new ActionLink(linkStr);\n }\n}\n\nexport default ActionLink;","\n\nvar s4 = function(){\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n};\n\nvar ObjUtil = {\n guid: function(tuples){\n var str = '';\n if (tuples && tuples > 0) {\n for (var i = 0; i < tuples; i++) {\n str += str !== '' ? '-' + s4() : s4();\n }\n return str;\n }\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n },\n getByStr: function (obj, keyStr) {\n // convert indexes to properties\n keyStr = keyStr.replace(/\\[(\\w+)\\]/g, '.$1');\n // strip a leading dot\n keyStr = keyStr.replace(/^\\./, '');\n var aKeys = keyStr.split('.');\n for (var i = 0, n = aKeys.length; i < n; ++i) {\n var key = aKeys[i];\n if (key in obj) {\n obj = obj[key];\n } else {\n return;\n }\n }\n return obj;\n },\n setByStr: function (obj, keyStr, val) {\n // convert indexes to properties\n keyStr = keyStr.replace(/\\[(\\w+)\\]/g, '.$1');\n // strip a leading dot\n keyStr = keyStr.replace(/^\\./, '');\n var aKeys = keyStr.split('.');\n for (var i = 0, n = aKeys.length; i < n; i++) {\n var key = aKeys[i];\n if (key in obj && i + 1 < n) {\n obj = obj[key];\n } else if (!(key in obj) && i + 1 < n) {\n obj[key] = {};\n obj = obj[key];\n } else {\n obj[key] = val;\n return val;\n }\n }\n },\n removeObject: function (arr, obj, findCallback) {\n var index = arr.indexOf(obj);\n\n if (findCallback) {\n var objs = arr.filter(findCallback);\n if (objs.length > 0) {\n index = arr.indexOf(objs[0]);\n }\n }\n\n if (index >= 0) {\n return arr.splice(index, 1);\n }\n return arr;\n },\n debounce: function (func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n },\n};\n\nObjUtil.extend = (function () {\n function isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return (\n nonNullObject &&\n Object.prototype.toString.call(val) !== '[object RegExp]' &&\n Object.prototype.toString.call(val) !== '[object Date]'\n );\n }\n\n function emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n }\n\n function cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return clone && isMergeableObject(value)\n ? deepmerge(emptyTarget(value), value, optionsArgument)\n : value;\n }\n\n function defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function (e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination;\n }\n\n function mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination;\n }\n\n function deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target)\n ? arrayMerge(target, source, optionsArgument)\n : cloneIfNecessary(source, optionsArgument);\n } else {\n return mergeObject(target, source, optionsArgument);\n }\n }\n\n deepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements');\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function (prev, next) {\n return deepmerge(prev, next, optionsArgument);\n });\n };\n\n return deepmerge;\n})();\n\nexport default ObjUtil;","import Deferred from \"../models/deferred\";\nimport ObjUtil from \"../utils/obj\";\n\nvar flattenLocales = function(obj){\n var keys = Object.keys(obj);\n keys.forEach(function(key){\n if(key === 'localizations'){\n var localeObj = obj.localizations && obj.localizations.en?obj.localizations.en:null;\n if(localeObj){\n Object.assign(obj, localeObj);\n }\n } else if(typeof obj[key] === 'object' && !Array.isArray(obj[key])){\n flattenLocales(obj[key]);\n } else if(Array.isArray(obj[key]) && typeof obj[key][0] === 'object'){\n obj[key].forEach(function(o){\n flattenLocales(o);\n });\n }\n });\n};\n\nvar stripContent = function(content, mode){\n var data = content.data.result && Array.isArray(content.data.result)?\n content.data.result[0].toJSON() : content.data;\n flattenLocales(data);\n var retObj = {\n id: content.id,\n data: data,\n uiTemplate: '',\n style: '',\n styleStr: '',\n contentInfo: {\n id: content.id,\n labels: content.labels\n }\n };\n\n var uiObj = mode && mode === 'details'?content.detailsUI:content.defaultUI || {};\n retObj.uiTemplate = uiObj.layoutHTML || '<!-- -->';\n retObj.style = uiObj.styleCSSURL;\n retObj.styleStr = uiObj.styleCSS;\n return retObj;\n};\n\nexport default {\n cachedContent: {},\n getCachedContentDetails: function(contentID){\n return this.cachedContent[contentID]?stripContent(this.cachedContent[contentID], 'details'):null;\n },\n getContentDetails: function(contentID){\n const def = new Deferred();\n var api = this;\n Flybits.api.Content.get(contentID).then(function(res){\n api.cachedContent[res.result.id] = res.result;\n def.resolve(stripContent(res.result, 'details'));\n }).catch(function(e){\n def.reject(e);\n })\n\n return def.promise;\n },\n getZoneContent: function(refID){\n const def = new Deferred();\n var contentMap = this.cachedContent;\n\n Flybits.api.Zones.getByReferenceId(refID).then(function(zoneConfig){\n zoneConfig.zone.modules.forEach(function(module){\n module.content.forEach(function(c){\n contentMap[c.id] = c;\n });\n });\n def.resolve(zoneConfig.zone);\n }).catch(function(e){\n def.reject(e);\n });\n\n return def.promise;\n },\n}","import ObjUtil from \"../utils/obj\";\n\nclass Zone{\n static generateOverlayPayload(content){\n const tmpZone = {\n id: ObjUtil.guid(2),\n refID: 'overlay',\n name: 'Overlay',\n containers: [{\n id: ObjUtil.guid(),\n cacheKey: ObjUtil.guid(1),\n layout: 'overlay',\n content: [content]\n }]\n };\n return tmpZone;\n }\n\n static generateDetailsPayload(content){\n const tmpZone = {\n id: ObjUtil.guid(2),\n refID: 'details',\n name: 'Content Details',\n containers: [{\n id: ObjUtil.guid(),\n cacheKey: ObjUtil.guid(1),\n layout: 'vertical',\n content: [content]\n }]\n };\n return tmpZone;\n }\n}\n\nexport default Zone;","import Cfg from '../config/cfg';\n\nexport default {\n _deferredCtxInit: false,\n autoInitCtxManager: function(){\n if(this._deferredCtxInit){\n return;\n }\n this._deferredCtxInit = true;\n Flybits.Session.ready.then(function(){\n if(typeof window.Flybits === 'object' && !Flybits.context.Manager.isReporting){\n Flybits.context.Manager.reportDelay = Cfg.DEFAULTCTXREPORTINTERVAL;\n Flybits.context.Manager.initialize();\n }\n });\n },\n handleContextPayload: function(payload, logger){\n logger = logger || console;\n if(Array.isArray(payload)){\n Flybits.context.Manager.ready.then(function(){\n payload.forEach(function(ctxRep){\n if(ctxRep.pluginId && ctxRep.values){\n var cleansedValueObj = {};\n Object.keys(ctxRep.values).forEach(function(key){\n var cleansedKeyStr = key.replaceAll('query.','');\n cleansedValueObj[cleansedKeyStr] = ctxRep.values[key];\n });\n Flybits.context.Manager.reportCtx(ctxRep.pluginId,cleansedValueObj);\n } else{\n logger.error('[ctxapi] malformed ctx payload object', payload); \n }\n })\n })\n } else{\n logger.error('[ctxapi] malformed ctx payload', payload);\n }\n },\n handleAnalyticsPayload: function(payload, logger){\n logger = logger || console;\n if(!payload?.contentInfo?.id){\n logger.error('[ctxapi] missing content id in analytics event');\n return;\n }\n\n if((payload.type === 'viewed' || payload.type === 'engaged') && !payload.component){\n Flybits.context.Manager.ready.then(function(){\n Flybits.analytics.Manager.reportContentID(payload.contentInfo.id,payload.type);\n });\n } else if((payload.type === 'engaged' || payload.type === 'content_component_event') && payload.component){\n Flybits.context.Manager.ready.then(function(){\n Flybits.analytics.Manager.reportContentID(payload.contentInfo.id, Flybits.analytics.Manager.actions.COMPONENTENGAGED,{\n name: payload.component.name,\n compID: payload.component.compId,\n type: payload.component.id,\n });\n });\n } else{\n logger.error('[ctxapi] unsupported analytics event', payload);\n }\n }\n}","/**\n * @class Logger\n * @classdesc An internal logging utility.\n * @memberof Flightkit\n * @param {Object} opts Initialization options\n * @param {string} opts.mode Verbosity mode to control how granular logging is outputted to the console.\n */\nclass Logger {\n /**\n * @member {Object} modes Set of available logging verbosity modes.\n * @memberof Flightkit.Logger\n * @static\n * @constant\n * @property {string} VERBOSE (value=`verbose`) defines the most granular level of logging to be outputted into the console for debugging purposes.\n * @property {string} ERRORS (value=`errors`) defines the mode that will only output errors to the console.\n * @property {string} SILENT (value=`silent`) defines the mode that will not output any log to the console.\n */\n static modes = {\n VERBOSE: 'verbose',\n ERRORS: 'errors',\n SILENT: 'silent'\n };\n constructor(opts){\n opts = opts || {};\n /**\n * @instance\n * @memberof Flightkit.Logger\n * @member {string} mode Current logging verbosity mode.\n */\n this.mode = opts.mode || 'errors';\n }\n get prefix(){\n const now = new Date();\n return `[fk-${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}:${now.getMilliseconds()}.${(window?.performance.now().toFixed(2)+'').split('.')[1]}]`;\n }\n log(...args){\n if(this.mode === Logger.modes.SILENT || this.mode !== Logger.modes.VERBOSE){\n return;\n }\n args.unshift(this.prefix);\n console.log.apply(null, args);\n }\n error(...args){\n if(this.mode === Logger.modes.SILENT){\n return;\n }\n args.unshift(this.prefix);\n console.error.apply(null, args);\n }\n warn(...args){\n if(this.mode === Logger.modes.SILENT || this.mode !== Logger.modes.VERBOSE){\n return;\n }\n args.unshift(this.prefix);\n console.warn.apply(null, args);\n }\n}\n\nexport default Logger;","/*global Flybits, Flightkit, document*/\nimport { html, css, LitElement } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport cfg from '../config/cfg';\nimport pkg from '../../package.json';\nimport Deferred from '../models/deferred';\nimport ActionLink from '../models/actionLink';\nimport ZoneAPI from '../apis/zone';\nimport Zone from '../models/zone';\nimport CtxAPI from '../apis/ctx';\nimport Logger from '../utils/logger';\n\n/**\n * @class FlybitsSlot\n * @classdesc A FlybitsSlot is an HTML element used to embed full featured Flybits curated Content and UI within your application. It can take the form of a widget within an existing page of your application or it can take up a page in its entirety. It is used to render a Flybits Zone which is a composition of Modules (layouts) that can contain relevant personalized Flybits Content.\n * @memberof Flightkit\n * @extends external:LitElement\n * @example \n * <!-- declarative approach -->\n * <flybits-slot ref-id=\"homepage\"></flybits-slot>\n * @example\n * // imperative approach\n * const slot = new FlybitsSlot();\n * slot.init({\n * refID: 'homepage'\n * })\n * @fires Flightkit.FlybitsSlot#action\n */\nexport default class FlybitsSlot extends LitElement {\n /**\n * @member {string} VERSION Flightkit library version string.\n * @memberof Flightkit.FlybitsSlot\n * @static\n * @constant\n */\n static get VERSION(){\n return pkg.version;\n }\n\n /**\n * @member {Object} modes Mode type constants.\n * @memberof Flightkit.FlybitsSlot\n * @static\n * @constant\n * @property {string} FIXEDHEIGHT Mode type string for fixed height FlybitsSlot instances where it is expected the implementing parent application will define a fixed height for the element within its own UI.\n * @property {string} FULLHEIGHT Mode type string for full height FlybitsSlot instances where the element will attempt to fill the height of its parent.\n * @property {string} DYNAMICHEIGHT Mode type string for dynamic height FlybitsSlot instances where height will automatically adjust based on Zone configuration and inner content height. \n */\n static get modes(){\n return {\n FIXEDHEIGHT: 'fixedheight',\n FULLHEIGHT: 'fullheight',\n DYNAMICHEIGHT: 'dynamicheight'\n }\n }\n\n static properties = {\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} host (HTML attribute: `host`) Flybits environment specific API host URL from which all API calls will be made against. \n */\n host: {\n type: String\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} projectID (HTML attribute: `project-id`) Flybits project ID used to load tenant specific data. \n */\n projectID: {\n type: String,\n attribute: 'project-id'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} renderURL (HTML attribute: `render-url`) Render layer application URL. \n */\n renderURL: {\n type: String,\n attribute: 'render-url'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} refID (HTML attribute: `ref-id`) Flybits Zone Reference ID which can be found in the Experience Studio on the Concierge Management page. Every FlybitsSlot can render up to one Zone which may contain one or more Modules.\n */\n refID: {\n type: String,\n attribute: 'ref-id'\n },\n pollingEnabled: {\n type: Boolean,\n attribute: 'polling-enabled'\n },\n pollingInterval: {\n type: Number,\n attribute: 'polling-interval'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} renderMode (HTML attribute: `render-mode`) Mode setting to control automated sizing functionality. Refer to available render modes {@link Flightkit.FlybitsSlot.modes}.\n */\n renderMode: {\n type: String,\n attribute: 'render-mode'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string | HTMLElement} overlayOutlet (HTML attribute: `overlay-outlet`) FlybitsSlot elements can open {@link Flightkit.FlybitsOverlay|FlybitsOverlay} instances depending on ActionLinks that are intercepted from its internal children or externally from application logic. By default these overlays are appended to the `document.body`. This attribute allows for overriding and specifying a parent element that {@link Flightkit.FlybitsOverlay|FlybitsOverlays} are appended to if `document.body` is not preferred.\n * \n * Parent elements can be defined by either a CSS [selector string](https://developer.mozilla.org/en-US/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors) or an [HTMLElement instance](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement).\n * @example\n * <!-- declarative approach -->\n * <div class=\"home\">\n * <div class=\"container\"></div>\n * </div>\n * <flybits-slot ref-id=\"homepage\" overlay-outlet=\".home .container\"></flybits-slot>\n * @example \n * // imperative approach\n * const parentElem = document.createElement('div')\n * parentElem.classList.add('container');\n *\n * const slot = new FlybitsSlot();\n * slot.init({\n * refID: 'homepage',\n * overlayOutlet: parentElem\n * })\n */\n overlayOutlet: {\n type: String | HTMLElement,\n attribute: 'overlay-outlet'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} overrideOverlay (HTML attribute: `override-overlay`) By default FlybitsSlot elements will handle {@link Flightkit.ActionLink.protocol|DETAILS} and {@link Flightkit.ActionLink.protocol|CONCIERGE} Action Event types out of the box by opening them in {@link Flightkit.FlybitsOverlay|FlybitsOverlays}. However if you would like to handle these manually in your application logic, set this flag to `true`.\n */\n overrideOverlay: {\n type: Boolean,\n attribute: 'override-overlay'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} overrideURLs (HTML Attribute: `override-urls`) By default FlybitsSlot elements will handle {@link Flightkit.ActionLink.protocol|HTTPS}, {@link Flightkit.ActionLink.protocol|BROWSER}, and {@link Flightkit.ActionLink.protocol|INAPPBROWSER} Action Event types out of the box by either open a new tab/window to load the URL, or redirect the current tab/window in the case of {@link Flightkit.ActionLink.protocol|INAPPBROWSER}. However if you would like to handle these manually in your application logic, set this flag to `true`.\n */\n overrideURLs: {\n type: Boolean,\n attribute: 'override-urls'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} overrideActions (HTML Attribute: `override-actions`) By default FlybitsSlot elements will handle certain Action Event types automatically:\n * - {@link Flightkit.ActionLink.protocol|DETAILS}\n * - {@link Flightkit.ActionLink.protocol|CONCIERGE}\n * - {@link Flightkit.ActionLink.protocol|HTTPS}\n * - {@link Flightkit.ActionLink.protocol|BROWSER}\n * - {@link Flightkit.ActionLink.protocol|INAPPBROWSER}\n * \n * If you would like to handle all these manually in your application logic, set this flag to `true`.\n * > **note:** {@link Flightkit.FlybitsSlot#overrideActions|overrideActions}, {@link Flightkit.FlybitsSlot#overrideURLs|overrideURLs}, and {@link Flightkit.FlybitsSlot#overrideOverlay|overrideOverlay} are considered in a **logical OR'd** expression. Thus if {@link Flightkit.FlybitsSlot#overrideURLs|overrideURLs} was `false` but {@link Flightkit.FlybitsSlot#overrideActions|overrideActions} is `true`, FlybitsSlot will **not** automatically handle URL based Action Event links. \n * \n * > The inverse also applies, where if {@link Flightkit.FlybitsSlot#overrideURLs|overrideURLs} is `true` but {@link Flightkit.FlybitsSlot#overrideActions|overrideActions} is `false`, FlybitsSlot will again **not** automatically handle URL based Action Event links.\n */\n overrideActions: {\n type: Boolean,\n attribute: 'override-actions'\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {boolean} [overlayDismissUI=false] (HTML attribute: `overlay-dismiss-ui`) By default FlybitsSlot elements will handle {@link Flightkit.ActionLink.protocol|DETAILS} and {@link Flightkit.ActionLink.protocol|CONCIERGE} Action Event types out of the box by opening them in {@link Flightkit.FlybitsOverlay|FlybitsOverlays}. The expectation is that each overlay Content will have its own overlay dismissal UI element. However if you would like a default overlay close button, set this flag to `true`.\n */\n overlayDismissUI: {\n type: Boolean,\n attribute: 'overlay-dismiss-ui'\n },\n isLoadingOpen: {\n type: Boolean,\n attribute: 'show-loading'\n },\n isErrorOpen: {\n type: Boolean,\n attribute: 'show-error'\n },\n hasLoadingSlot: {\n type: Boolean\n },\n hasErrorSlot: {\n type: Boolean\n },\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {string} [logLevel=errors] Logging mode setting. By default FlybitsSlot will only output errors to the console. Changing this attribute to `verbose` will increase verbosity and output logs with much more detail for debugging purposes. All available values can be found {@link Flightkit.Logger.modes|here}.\n */\n logLevel: {\n type: String,\n attribute: 'log-level'\n }\n };\n \n static styles = css`\n :host {\n position: relative;\n display: block;\n }\n .flb-frame {\n width: 100%;\n height: 100%;\n border: 0;\n z-index: 1;\n }\n .slot-default,::slotted(:first-child){\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0.2s;\n z-index: 2;\n }\n .slot-default.open,.open::slotted(:first-child) {\n visibility: visible;\n opacity: 1;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0s;\n }\n .overlay-loading{\n display: none;\n }\n `\n\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {external:HTMLElement} $renderFrame Iframe that is used to render Flybits content, located within a FlybitsSlot element's {@link external:ShadowDOM|Shadow DOM}.\n */\n get $renderFrame() {\n return this.renderRoot?.querySelector('.flb-frame') ?? null;\n }\n\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {external:HTMLElement|null} $overlayLoadingUI Clone of user defined override of default loading UI for a FlybitsOverlay. This must be set via the `overlay-loading` slot.\n */\n get $overlayLoadingUI() {\n const slot = this.shadowRoot.querySelector('slot[name=\"overlay-loading\"]');\n const childElems = slot?.assignedElements({flatten: true});\n if(childElems?.length){\n this._$overlayLoadingOverride = childElems[0];\n }\n return this._$overlayLoadingOverride;\n }\n\n /**\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @member {external:HTMLElement|null} $overlayErrorUI Clone of user defined override of default error UI for a FlybitsOverlay. This must be set via the `overlay-error` slot.\n */\n get $overlayErrorUI() {\n const slot = this.shadowRoot.querySelector('slot[name=\"overlay-error\"]');\n const childElems = slot?.assignedElements({flatten: true});\n if(childElems?.length){\n this._$overlayErrorOverride = childElems[0];\n }\n return this._$overlayErrorOverride;\n }\n\n get initParams() {\n return {\n host: this.host,\n refID: this.refID,\n projectID: this.projectID\n }\n }\n\n constructor() {\n super();\n this.zone = null;\n this.pollingEnabled = false;\n this.pollingInterval = 2500;\n this.renderMode = FlybitsSlot.modes.DYNAMICHEIGHT;\n this.host = '';\n this.renderURL = cfg.RENDERHOST;\n this.refID = '';\n this.projectID = '';\n this._hasDeferredLoad = false;\n this.overlayDismissUI = false;\n this.overlayOutlet = document.body;\n this.overrideOverlay = false;\n this.overrideURLs = false;\n this.overrideActions = false;\n this._loaderStack = [];\n this.isLoadingOpen = false;\n this.isErrorOpen = false;\n this.hasLoadingSlot = false;\n this.hasErrorSlot = false;\n this._$overlayLoadingOverride = null;\n this._$overlayErrorOverride = null;\n this.logger = new Logger({\n mode: this.logLevel || 'errors'\n });\n }\n \n connectedCallback() {\n super.connectedCallback()\n this.frameLoadDef = new Deferred();\n this.frameLoadPromise = this.frameLoadDef.promise;\n this.detectFlybits();\n this._reboundHandleFrameEvent = this.handleFrameEvent.bind(this);\n window.addEventListener('message', this._reboundHandleFrameEvent);\n }\n \n disconnectedCallback() {\n super.disconnectedCallback()\n window.removeEventListener('message', this._reboundHandleFrameEvent);\n }\n\n /**\n * Initialization function for imperative approaches to FlybitsSlot usage. This should be invoked immediately after FlybitsSlot instantiation.\n * @memberof Flightkit.FlybitsSlot\n * @instance\n * @function init\n * @param {Object} opts Initialization object containing FlybitsSlot class properties\n * @example\n * const slot = new FlybitsSlot();\n * slot.init({\n * refID: 'homepage'\n * })\n */\n init(opts) {\n opts = opts ?? {}\n this.pollingEnabled = opts.pollingEnabled ?? this.pollingEnabled;\n this.pollingInterval = opts.pollingInterval || this.pollingInterval;\n this.host = opts.host || this.host;\n this.renderURL = opts.renderURL || this.renderURL;\n this.refID = opts.refID || this.refID;\n this.projectID = opts.projectID;\n this.overlayOutlet = opts.overlayOutlet || this.overlayOutlet;\n this.overrideOverlay = !!opts.overrideOverlay;\n this.overrideURLs = !!opts.overrideURLs;\n this.overrideActions = !!opts.overrideActions;\n this.logger.mode = this.logLevel = opts.logLevel || Logger.modes.ERRORS;\n }\n\n initElementMeta() {\n if(this.renderMode !== FlybitsSlot.modes.DYNAMICHEIGHT){\n return;\n }\n if(!this.refID){\n this.logger.warn('missing Zone reference ID');\n return;\n }\n if(!Flybits.Session._projectID){\n this.logger.warn('missing Flybits project ID');\n return;\n }\n var $el = this;\n this.logger.log('fetching zone metadata', Flybits.Session._projectID);\n Flybits.api.Zones.getZoneMetadata(Flybits.Session._projectID, this.refID).then(function(meta){\n $el._setHeight(meta.height);\n $el.logger.log('set height', meta.height);\n }).catch(function(e){\n $el.logger.error(e);\n });\n }\n\n attributeChangedCallback(name, _old, value) {\n super.attributeChangedCallback(name, _old, value);\n if(name === 'ref-id'){\n if((!_old && value && !this._hasDeferredLoad) ||\n (_old && value && _old !== value)){\n this.detectFlybits();\n }\n } else if(name === 'log-level'){\n this.logger.mode = value;\n }\n }\n\n /**\n * Retrieves Zone data based on specified {@link Flightkit.FlybitsSlot.refID|Zone Reference ID} and injects it into the {@link Flightkit.FlybitsSlot.$renderFrame|internal render frame}.\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @function loadZoneData\n * @returns {external:Promise} a promise that will resolve or reject after Zone data is retrieved and injected into the {@link Flightkit.FlybitsSlot.$renderFrame|internal render frame}\n */\n loadZoneData() {\n const def = new Deferred();\n const $el = this;\n if(!this.refID || this.refID === 'overlay'){\n $el._hasDeferredLoad = false;\n $el.logger.warn('no refID detected');\n return Promise.reject();\n }\n\n $el.setLoading(true);\n this.logger.log('fetching zone content', this.refID);\n ZoneAPI.getZoneContent(this.refID).then(function(zone){\n $el.zone = zone;\n if(zone.height){\n $el._setHeight(zone.height);\n }\n $el.injectData(zone.toConciergeContainer());\n def.resolve();\n }).catch(function(e){\n $el.logger.error(e);\n $el.isErrorOpen = true;\n def.reject(e);\n }).then(function(){\n $el._hasDeferredLoad = false;\n $el.setLoading(false)\n });\n\n return def.promise;\n }\n\n injectData(payload){\n var $el = this;\n if(this.frameLoadPromise){\n this.frameLoadPromise.then(function(){\n var $frameWindow = $el.$renderFrame?.contentWindow;\n if($frameWindow){\n $el.logger.log('injecting payload', payload);\n $frameWindow.postMessage(payload, $el.renderURL);\n } else{\n $el.logger.error('no frame window detected');\n }\n })\n } else if(this.$renderFrame?.contentWindow){\n this.$renderFrame.contentWindow.postMessage(payload, $el.renderURL);\n }\n }\n\n /**\n * Handles {@link Flightkit.ActionLink|ActionLink} instances that could have originated from other FlybitsSlot instances.\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @function handleAction\n * @param {Flightkit.ActionLink} actionLink Instance of ActionLink containing information to perform actions and/or render Content details and full Zones.\n * @returns {external:Promise} A promise resolving after action handling.\n */\n handleAction(actionLink){\n const def = new Deferred();\n const $el = this;\n if(actionLink.protocol === ActionLink.protocol.DETAILS){\n if(!actionLink.params.contentId && actionLink.data.content && actionLink.meta.contentID){\n $el.logger.error('missing content id', e);\n return Promise.reject();\n }\n\n if(!actionLink.data.content){\n const contentID = actionLink.params.contentId || actionLink.meta.contentID;\n this._resolveContent(contentID).then(function(content){\n $el.injectData(Zone.generateDetailsPayload(content));\n def.resolve();\n }).catch(function(e){\n $el.logger.error('cannot resolve content', e);\n def.reject();\n })\n } else{\n this.injectData(Zone.generateDetailsPayload(actionLink.data.content));\n def.resolve();\n }\n } else if(actionLink.protocol === ActionLink.protocol.CONCIERGE){\n if(!actionLink.params.zoneReferenceId){\n $el.logger.error('missing zone reference id', e);\n return Promise.reject();\n }\n \n this.refID = actionLink.params.zoneReferenceId;\n return this.loadZoneData();\n }\n\n return def.promise;\n }\n\n /**\n * Changes the visibility of the loading state UI.\n * @instance\n * @memberof Flightkit.FlybitsSlot\n * @function setLoading\n * @param {boolean} bool State of loading overlay\n * @returns {Flightkit.FlybitsSlot} Returns the FlybitsSlot element this function was invoked upon.\n */\n setLoading(bool){\n if(bool){\n this.isLoadingOpen = true;\n this._loaderStack.push(true);\n } else if(!bool && this._loaderStack.length > 1){\n this._loaderStack.pop();\n } else if(!bool){\n this._loaderStack.pop();\n this.isLoadingOpen = false;\n }\n return this;\n }\n\n _setHeight(height){\n if(this.renderMode === FlybitsSlot.modes.DYNAMICHEIGHT){\n this.logger.log('setting height', height);\n this.style.height = height+'px';\n }\n }\n\n _resolveContent(contentID) {\n const def = new Deferred();\n const cachedContent = contentID?ZoneAPI.getCachedContentDetails(contentID):null;\n if(cachedContent){\n return Promise.resolve(cachedContent);\n }\n\n const $el = this;\n $el.setLoading(true);\n ZoneAPI.getContentDetails(contentID).then(function(results){\n def.resolve(results);\n }).catch(function(e){\n def.reject(e);\n }).then(function(){\n $el.setLoading(false);\n });\n return def.promise;\n }\n\n /**\n * Action Events which contain an {@link Flightkit.ActionLink|ActionLink} payload that support standard DOM API methods for event listening as utilizes the native DOM element CustomEvent class.\n * @event Flightkit.FlybitsSlot#action\n * @type {external:CustomEvent}\n * @property {Flightkit.ActionLink} detail ActionLink type payload\n * @property {string} type=action\n * @example\n * const slot = new FlybitsSlot();\n * slot.addEventListener('action', function(payload){\n * const actionLink = payload.detail;\n * })\n */\n _dispatchActionLinks(actionLinkStr, metaObj) {\n const $el = this;\n const actionLink = new ActionLink(actionLinkStr);\n \n if(!this.overrideActions){\n if(actionLink.protocol === ActionLink.protocol.DETAILS && !this.overrideOverlay){\n const contentID = actionLink.params.contentId || metaObj.contentID;\n this._resolveContent(contentID).then(function(content){\n actionLink.data.content = content;\n Flightkit.outlet.openOverlay(\n actionLink, \n $el.overlayOutlet, \n {\n showDismissUI: $el.overlayDismissUI, \n $loadingUI: $el.$overlayLoadingUI,\n $errorUI: $el.$overlayErrorUI,\n loggerMode: $el.logger.mode,\n renderURL: $el.renderURL\n }\n );\n }).catch(function(e){\n $el.logger.error('failed to load content',e);\n });\n return;\n }\n\n if(actionLink.protocol === ActionLink.protocol.CONCIERGE && !this.overrideOverlay){\n Flightkit.outlet.openOverlay(\n actionLink, \n $el.overlayOutlet, \n {\n showDismissUI: $el.overlayDismissUI, \n $loadingUI: $el.$overlayLoadingUI,\n $errorUI: $el.$overlayErrorUI,\n loggerMode: $el.logger.mode,\n renderURL: $el.renderURL\n }\n );\n return;\n }\n \n if(actionLink.protocol === ActionLink.protocol.HTTPS && !this.overrideURLs){\n if(!actionLink.rawStr){\n $el.logger.error('invalid url', actionLink.rawStr)\n return;\n }\n \n window.open(actionLink.rawStr, '_blank');\n return;\n }\n \n if(actionLink.protocol === ActionLink.protocol.BROWSER && !this.overrideURLs){\n if(!actionLink.params.url){\n $el.logger.error('invalid url', actionLink.params.url)\n return;\n }\n \n window.open(actionLink.params.url, '_blank');\n return;\n }\n\n if(actionLink.protocol === ActionLink.protocol.INAPPBROWSER && !this.overrideURLs){\n if(!actionLink.params.url){\n $el.logger.error('invalid url', actionLink.params.url)\n return;\n }\n\n window.location.href = actionLink.params.url;\n return;\n }\n }\n\n\n const payload = actionLink.toJSON();\n if(metaObj){\n payload.meta = metaObj;\n }\n\n const evt = new CustomEvent('action', {\n detail: payload,\n bubbles: true,\n composed: true\n });\n this.dispatchEvent(evt);\n }\n\n detectFlybits() {\n CtxAPI.autoInitCtxManager();\n var $el = this;\n\n if(window.Flybits){\n if(this.host){\n Flybits.cfg.HOST = this.host;\n }\n if(this.projectID){\n Flybits.Session._projectID = this.projectID;\n }\n\n if(Flybits.Session._projectID){\n this.initElementMeta();\n if(Flybits.Session.userToken){\n this.loadZoneData().catch(function(){})\n } else{\n if(!this._hasDeferredLoad){\n this._hasDeferredLoad = true;\n Flybits.Session.ready.then(function(){\n $el.loadZoneData().catch(function(){})\n })\n }\n }\n } else{\n if(!this._hasDeferredLoad){\n this._hasDeferredLoad = true;\n Flybits.Session.ready.then(function(){\n $el.loadZoneData().catch(function(){})\n })\n }\n }\n } else{\n this.logger.error('Flybits.js Core SDK not detected.');\n }\n }\n\n handleFrameEvent(payload) {\n try{\n var childContentWindow = this.$renderFrame.contentWindow;\n if(payload.source !== childContentWindow || payload.origin !== new URL(this.renderURL).origin){\n return;\n }\n\n if(payload.data && payload.data.flb){ \n var eventObj = payload?.data?.value ? JSON.parse(payload.data.value):{};\n this.logger.log('frameEvt['+this.refID+']['+payload.data.type+']', eventObj)\n if(payload.data.type === 'context'){\n CtxAPI.handleContextPayload(eventObj, this.logger);\n } else if(payload.data.type === 'action'){\n this._dispatchActionLinks(eventObj.actionlink, {\n contentID: eventObj?.contentInfo?.id\n });\n } else if(payload.data.type === 'analytics'){\n CtxAPI.handleAnalyticsPayload(eventObj, this.logger);\n } else if(payload.data.type === 'error'){\n } else if(payload.data.type === 'dismiss'){\n if(typeof this._dispatchDismiss === 'function'){\n this._dispatchDismiss();\n }\n } else if(payload.data.type === 'flb.heightupdate'){\n const heightNum = +payload.data.value;\n if(heightNum){\n this._setHeight(heightNum);\n }\n } else{\n // not supported messages \n this.logger.warn('Message not supported', payload.data);\n }\n } else{\n // non-concierge messages \n }\n } catch(e){\n this.logger.error('Cannot parse message', e);\n }\n }\n\n _handleFrameLoad(e) {\n this.frameLoadDef.resolve();\n }\n\n _handleLoadingSlotChange(e) {\n const childNodes = e.target.assignedNodes({\n flatten: true\n })\n this.logger.log('loading slot change', childNodes);\n if(childNodes.length){\n this.hasLoadingSlot = true;\n }\n }\n\n _handleErrorSlotChange(e) {\n const childNodes = e.target.assignedNodes({\n flatten: true\n })\n this.logger.log('error slot change', childNodes);\n if(childNodes.length){\n this.hasErrorSlot = true;\n }\n }\n\n _handleSlotEvent(e){\n e.preventDefault();\n e.stopPropagation();\n if(e?.type === 'reload'){\n this.loadZoneData();\n this.isErrorOpen = false;\n }\n }\n\n render() {\n return html`\n <iframe src=\"${this.renderURL}\" @load=${this._handleFrameLoad} frameborder=\"0\" class=\"flb-frame\" sandbox=\"allow-scripts allow-same-origin\"></iframe>\n ${this.hasLoadingSlot?'':html`\n <div class=${classMap({open: this.isLoadingOpen,'slot-default':true,'loading': true})}>\n <flybits-loading></flybits-loading>\n </div>\n `}\n ${this.hasErrorSlot?'':html`\n <div class=${classMap({open: this.isErrorOpen,'slot-default':true,'error': true})}>\n <flybits-error @reload=${this._handleSlotEvent}></flybits-error>\n </div>\n `}\n <slot class=${classMap({open: this.isLoadingOpen})} name=\"loading\" @slotchange=${this._handleLoadingSlotChange}></slot>\n <slot class=${classMap({open: this.isErrorOpen})} name=\"error\" @reload=${this._handleSlotEvent} @slotchange=${this._handleErrorSlotChange}></slot>\n <slot class='overlay-loading' name=\"overlay-loading\"></slot>\n <slot class='overlay-error' name=\"overlay-error\"></slot>\n `\n }\n}\ncustomElements.define('flybits-slot', FlybitsSlot);","/*global Flybits*/\nimport { html, css } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport Zone from '../models/zone';\nimport CtxAPI from '../apis/ctx';\nimport FlybitsSlot from './flybits-slot';\nimport ObjUtil from '../utils/obj';\n\n/**\n * @class FlybitsOverlay\n * @memberof Flightkit\n * @extends Flightkit.FlybitsSlot\n */\nexport default class FlybitsOverlay extends FlybitsSlot {\n static properties = {\n dismissUI: {\n type: Boolean,\n attribute: 'dismiss-ui'\n }\n }\n\n static styles = css`\n :host {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1000000;\n }\n .flb-frame {\n width: 100%;\n height: 100%;\n border: 0;\n z-index: 1;\n }\n .dismiss.btn{\n position: fixed;\n top: 25px;\n right: 25px;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n font-size: 25px;\n cursor: pointer;\n background-color: white;\n }\n .dismiss.btn:hover{\n background-color: whitesmoke;\n transition: background-color 0.1s linear; \n }\n .slot-default flybits-loading{\n background-color: rgba(0,0,0,0.05);\n }\n .slot-default,::slotted(:first-child){\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0.2s;\n z-index: 2;\n }\n .slot-default.open,.open::slotted(:first-child) {\n visibility: visible;\n opacity: 1;\n transition: opacity 0.2s linear 0.2s, visibility 0s linear 0s;\n }\n `\n\n constructor(){\n super();\n this.renderMode = FlybitsSlot.modes.FULLHEIGHT;\n this.refID = 'overlay';\n this.uid = ObjUtil.guid(2);\n this.dismissUI = false;\n }\n\n connectedCallback() {\n super.connectedCallback()\n this.setLoading(true);\n const $el = this;\n this.frameLoadPromise.then(function(){\n $el.setLoading(false);\n })\n\n if(window.Flybits?.evt){\n Flybits.evt.on(Flybits.evt.type.SESSIONEND+'.overlay-'+this.uid, function(){\n $el._dispatchDismiss();\n });\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if(window.Flybits?.evt){\n Flybits.evt.off(Flybits.evt.type.SESSIONEND+'.overlay-'+this.uid);\n }\n }\n \n _dispatchDismiss() {\n this.remove();\n }\n\n /**\n * \n * @instance\n * @memberof Flightkit.FlybitsOverlay\n * @function injectContent\n * @param {external:FlybitsContent} content \n */\n injectContent(content) {\n this.injectData(Zone.generateOverlayPayload(content));\n }\n\n detectFlybits() {\n CtxAPI.autoInitCtxManager();\n var $el = this;\n\n if(window.Flybits){\n if(this.host){\n Flybits.cfg.HOST = this.host;\n }\n if(this.projectID){\n Flybits.Session._projectID = this.projectID;\n }\n } else{\n this.logger.error('Flybits.js Core SDK not detected.');\n }\n }\n\n render() {\n let $dismissUI = html``;\n if(this.dismissUI){\n $dismissUI = html`\n <div class=\"dismiss btn\" @click=${this._dispatchDismiss}>×</div>\n `;\n }\n return html`\n ${$dismissUI}\n <iframe src=\"${this.renderURL}\" @load=${this._handleFrameLoad} frameborder=\"0\" class=\"flb-frame\" sandbox=\"allow-scripts allow-same-origin\"></iframe>\n ${this.hasLoadingSlot?'':html`\n <div class=${classMap({open: this.isLoadingOpen,'slot-default':true,'loading': true})}>\n <flybits-loading></flybits-loading>\n </div>\n `}\n ${this.hasErrorSlot?'':html`\n <div class=${classMap({open: this.isErrorOpen,'slot-default':true,'error': true})}>\n <flybits-error @reload=${this._handleSlotEvent}></flybits-error>\n </div>\n `}\n <slot class=${classMap({open: this.isLoadingOpen})} name=\"loading\" @slotchange=${this._handleLoadingSlotChange}></slot>\n <slot class=${classMap({open: this.isErrorOpen})} name=\"error\" @reload=${this._handleSlotEvent} @slotchange=${this._handleErrorSlotChange}></slot>\n `\n }\n}\ncustomElements.define('flybits-overlay', FlybitsOverlay);","/*global Flybits, Flightkit, document*/\nimport { html, css, LitElement } from 'lit';\n\n/**\n * @class FlybitsLoading\n * @classdesc A default loading UI for FlybitsSlot components.\n * @memberof Flightkit\n * @extends external:LitElement\n * @example \n * <!-- declarative approach -->\n * <flybits-slot ref-id=\"homepage\">\n * <flybits-loading slot=\"loading\"></flybits-loading>\n * </flybits-slot>\n */\nexport default class FlybitsLoading extends LitElement {\n\n static properties = {\n };\n \n static styles = css`\n :host {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n align-content: center;\n background-color: rgba(255,255,255,0.3);\n }\n :host svg{\n opacity: 0.7;\n }\n `\n\n constructor() {\n super();\n }\n \n connectedCallback() {\n super.connectedCallback()\n }\n \n disconnectedCallback() {\n super.disconnectedCallback()\n }\n\n render() {\n return html`\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"margin: auto; background: transparent; display: block; shape-rendering: auto;\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <circle cx=\"84\" cy=\"50\" r=\"10\" fill=\"#292664\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"0.4807692307692307s\" calcMode=\"spline\" keyTimes=\"0;1\" values=\"10;0\" keySplines=\"0 0.5 0.5 1\" begin=\"0s\"></animate>\n <animate attributeName=\"fill\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"discrete\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"#292664;#b5ccf1;#94a9ce;#667395;#292664\" begin=\"0s\"></animate>\n </circle><circle cx=\"16\" cy=\"50\" r=\"10\" fill=\"#292664\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"0s\"></animate>\n </circle><circle cx=\"50\" cy=\"50\" r=\"10\" fill=\"#667395\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.4807692307692307s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.4807692307692307s\"></animate>\n </circle><circle cx=\"84\" cy=\"50\" r=\"10\" fill=\"#94a9ce\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.9615384615384615s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-0.9615384615384615s\"></animate>\n </circle><circle cx=\"16\" cy=\"50\" r=\"10\" fill=\"#b5ccf1\">\n <animate attributeName=\"r\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"0;0;10;10;10\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.4423076923076923s\"></animate>\n <animate attributeName=\"cx\" repeatCount=\"indefinite\" dur=\"1.923076923076923s\" calcMode=\"spline\" keyTimes=\"0;0.25;0.5;0.75;1\" values=\"16;16;16;50;84\" keySplines=\"0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1\" begin=\"-1.4423076923076923s\"></animate>\n </circle>\n </svg>\n `\n }\n}\ncustomElements.define('flybits-loading', FlybitsLoading);","/*global Flybits, Flightkit, document*/\nimport { html, css, LitElement } from 'lit';\n\n/**\n * @class FlybitsError\n * @classdesc A default error UI for FlybitsSlot components.\n * @memberof Flightkit\n * @extends external:LitElement\n * @example \n * <!-- declarative approach -->\n * <flybits-slot ref-id=\"homepage\">\n * <flybits-error slot=\"error\"></flybits-error>\n * </flybits-slot>\n */\nexport default class FlybitsError extends LitElement {\n\n static properties = {\n };\n \n static styles = css`\n :host {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n align-content: center;\n background-color: rgba(255,255,255,0.8);\n }\n .inner-wrap{\n text-align: center;\n }\n .msg{\n display: block;\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 10px;\n }\n .reload-trigger{\n display: inline-block;\n font-size: 14px;\n border-radius: 20px;\n min-width: 100px;\n background-color: #3258E9;\n color: white;\n text-align: center;\n line-height: 30px;\n cursor: pointer;\n user-select: none;\n }\n .reload-trigger:hover{\n background-color: #0c94f2;\n }\n `\n\n constructor() {\n super();\n }\n \n connectedCallback() {\n super.connectedCallback()\n }\n \n disconnectedCallback() {\n super.disconnectedCallback()\n }\n\n emitReload() {\n this.dispatchEvent(new CustomEvent('reload', {\n bubbles: true\n }))\n }\n\n render() {\n return html`\n <div class=\"inner-wrap\">\n <div class=\"msg\">Sorry, something went wrong.</div>\n <div class=\"reload-trigger\" @click=\"${this.emitReload}\">Try again</div>\n </div>\n `\n }\n}\ncustomElements.define('flybits-error', FlybitsError);","import FlybitsOverlay from \"../components/flybits-overlay\";\nimport ActionLink from \"../models/actionLink\";\n\nconst OutletManager = {\n $overlay: null,\n /**\n * \n * @param {string} actionLink Action Link protocol string\n * @param {HTMLElement|string} $outlet Either an HTML element to inject the outlet into or a query selector string by which to query the HTML element.\n * @param {Object} parentContext Additional options to align with parent FlybitsSlot\n * @param {boolean} parentContext.showDismissUI Flag to indicate whether or not to show out of the box overlay dismiss UI button\n * @param {HTMLElement} parentContext.$loadingUI Block HTML element to show for overlay loading states\n * @param {HTMLElement} parentContext.$errorUI Block HTML element to show for error states\n * @param {string} parentContext.loggerMode String flag indicating log verbosity.\n * @param {string} parentContext.renderURL Application URL for the C5 Rendering Layer\n * @returns {undefined}\n */\n openOverlay: function(actionLink, $outlet, parentContext){\n /**\n * showDismissUI, $loadingUI, $errorUI, loggerMode, renderURL\n */\n parentContext = parentContext || {};\n\n if(!this.$overlay){\n this.$overlay = new FlybitsOverlay();\n }\n if(parentContext.renderURL){\n this.$overlay.renderURL = parentContext.renderURL;\n }\n\n this.$overlay.logger.mode = parentContext.loggerMode;\n\n if(actionLink.protocol === ActionLink.protocol.DETAILS && !actionLink.data.content){\n this.$overlay.logger.error('no content details to display')\n return;\n }\n\n if(actionLink.protocol === ActionLink.protocol.CONCIERGE && !actionLink?.params?.zoneReferenceId){\n this.$overlay.logger.error('no zone reference ID')\n return;\n }\n \n this.$overlay.dismissUI = !!parentContext.showDismissUI;\n \n const existingLoadingUI = this.$overlay.querySelector('[slot=\"loading\"]');\n if(existingLoadingUI){\n existingLoadingUI.remove();\n }\n if(parentContext.$loadingUI){\n parentContext.$loadingUI.setAttribute('slot','loading');\n this.$overlay.append(parentContext.$loadingUI);\n }\n\n const existingErrorUI = this.$overlay.querySelector('[slot=\"error\"]');\n if(existingErrorUI){\n existingErrorUI.remove();\n }\n if(parentContext.$errorUI){\n parentContext.$errorUI.setAttribute('slot','error');\n this.$overlay.append(parentContext.$errorUI);\n }\n\n var $outletEl = $outlet;\n if(typeof $outlet === 'string'){\n $outletEl = document.querySelector($outlet);\n }\n\n if(!$outletEl){\n this.$overlay.logger.error('invalid outlet', $outlet)\n return;\n }\n $outletEl.append(this.$overlay);\n\n if(actionLink.protocol === ActionLink.protocol.DETAILS){\n this.$overlay.injectContent(actionLink.data.content);\n } else if(actionLink.protocol === ActionLink.protocol.CONCIERGE){\n this.$overlay.handleAction(actionLink);\n } else {\n this.$overlay.logger.error('ActionLink type not yet supported in overlay', actionLink.rawStr);\n }\n }\n};\n\nexport default OutletManager;","import FlybitsSlot from \"../components/flybits-slot\";\nimport FlybitsOverlay from \"../components/flybits-overlay\";\nimport FlybitsLoading from \"../components/flybits-loading\";\nimport FlybitsError from \"../components/flybits-error\";\nimport ActionLink from \"../models/actionLink\";\nimport OutletManager from \"./outletManager\";\n\n/**\n * Base CustomElement with reactive properties and internal state.\n * @external LitElement\n * @see {@link https://lit.dev/docs/api/LitElement/|LitElement Definition}\n * @see {@link https://lit.dev/|Lit library}\n */\n\n/**\n * Native DOM element event with custom data payloads\n * @external CustomEvent\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent|CustomEvent Definition}\n */\n\n/**\n * Native DOM element\n * @external HTMLElement\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement|HTMLElement Definition}\n */\n\n/**\n * Encapsulated DOM tree within a native Custom Element.\n * @external ShadowDOM\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM|Using Shadow DOM}\n */\n\n/**\n * ES6 Promise object.\n * @external Promise\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise|Promise API}\n * @see {@link http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects|Promise spec}\n */\n\n/**\n * Flybits Content Instance\n * @external FlybitsContent\n * @see {@link https://js.flybits.app/docs/sdk/latest/Flybits.Content.html|Flybits Content Instance Definition}\n */\n\n/**\n * This is the root namespace for the Flighkit SDK. This is accessible from the `window` object.\n * @namespace\n */\nconst Flightkit = {\n FlybitsSlot: FlybitsSlot,\n outlet: OutletManager,\n FlybitsOverlay: FlybitsOverlay,\n ActionLink: ActionLink,\n FlybitsLoading: FlybitsLoading,\n FlybitsError: FlybitsError\n};\n\nif(typeof window === 'object' && typeof window.Flightkit !== 'object'){\n window.Flightkit = Flightkit;\n}\n\n/**\n * @module flightkit\n * @desc This is the main Flightkit module which exports named values so you may import them as follows:\n * ```\n * import { FlybitsSlot, FlybitsOverlay, FlybitsLoading, FlybitsError, ActionLink, OutletManager } from 'flightkit'\n * ```\n */\nexport {\n FlybitsSlot,\n FlybitsOverlay,\n FlybitsLoading,\n FlybitsError,\n ActionLink,\n OutletManager\n}"],"names":["t","globalThis","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","o","WeakMap","n$2","n","constructor","this","_$cssResult$","Error","cssText","styleSheet","length","get","replaceSync","set","toString","i","reduce","c","cssRules","r","is","defineProperty","getOwnPropertyDescriptor","getOwnPropertyNames","h","getOwnPropertySymbols","getPrototypeOf","Object","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","d","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","f","y","attribute","type","String","converter","reflect","hasChanged","metadata","litPropertyMetadata","b","HTMLElement","addInitializer","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","state","elementProperties","noAccessor","getPropertyDescriptor","call","requestUpdate","configurable","enumerable","getPropertyOptions","hasOwnProperty","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","super","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$EC","removeAttribute","P","_$ET","has","_$Ej","reject","scheduleUpdate","performUpdate","wrapped","shouldUpdate","willUpdate","hostUpdate","update","_$EU","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","slice","createComment","v","_","m","RegExp","g","$","x","_$litType$","strings","values","w","for","T","A","E","createTreeWalker","C","lastIndex","exec","test","startsWith","V","parts","el","currentNode","content","firstChild","replaceWith","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","k","H","I","R","tagName","append","data","indexOf","innerHTML","N","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","S","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","M","nextSibling","L","_$AI","_$Cv","_$AH","_$AA","_$AB","options","startNode","endNode","_$AR","iterator","insertBefore","createTextNode","_$AC","_$AP","remove","setConnected","element","fill","j","arguments","toggleAttribute","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","Z","litHtmlPolyfillSupport","litHtmlVersions","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","_$Ct","_$Ci","filter","join","st","nt","classList","cfg","Deferred","def","promise","resolve","then","bind","catch","BrowserUtil","uri","window","location","href","replace","results","ActionLink","static","DETAILS","INAPPBROWSER","BROWSER","HTTPS","PHONE","APP","CONCIERGE","UNIVERSAL","MAIL","CUSTOM","details","contentId","overlay","default","web","url","browser","https","phone","phoneNumber","app","concierge","container","zoneReferenceId","style","universalLink","ios","android","mail","sendTo","subject","body","cc","bcc","custom","linkStr","rawStr","protocol","value","params","fromLink","protocolStr","valueStr","substring","protocolObj","PROTOCOLDEFS","paramObj","key","val","toJSON","s4","floor","ObjUtil","guid","tuples","str","getByStr","obj","keyStr","aKeys","setByStr","removeObject","arr","findCallback","objs","splice","debounce","func","wait","immediate","timeout","context","args","callNow","clearTimeout","setTimeout","apply","extend","isMergeableObject","cloneIfNecessary","optionsArgument","clone","deepmerge","defaultArrayMerge","target","source","destination","array","arrayMerge","mergeObject","all","prev","next","flattenLocales","localeObj","localizations","en","assign","stripContent","result","retObj","id","uiTemplate","styleStr","contentInfo","labels","uiObj","detailsUI","layoutHTML","styleCSSURL","styleCSS","ZoneAPI","cachedContent","getCachedContentDetails","contentID","getContentDetails","api","Flybits","Content","res","getZoneContent","refID","contentMap","Zones","getByReferenceId","zoneConfig","zone","modules","module","Zone","generateOverlayPayload","containers","cacheKey","layout","generateDetailsPayload","CtxAPI","_deferredCtxInit","autoInitCtxManager","Session","ready","Manager","isReporting","reportDelay","Cfg","initialize","handleContextPayload","payload","logger","console","ctxRep","pluginId","cleansedValueObj","cleansedKeyStr","replaceAll","reportCtx","error","handleAnalyticsPayload","component","analytics","reportContentID","actions","COMPONENTENGAGED","compID","compId","Logger","VERBOSE","ERRORS","SILENT","opts","prefix","now","Date","getHours","getMinutes","getSeconds","getMilliseconds","performance","toFixed","log","modes","warn","FlybitsSlot","VERSION","pkg","FIXEDHEIGHT","FULLHEIGHT","DYNAMICHEIGHT","projectID","renderURL","pollingEnabled","pollingInterval","renderMode","overlayOutlet","overrideOverlay","overrideURLs","overrideActions","overlayDismissUI","isLoadingOpen","isErrorOpen","hasLoadingSlot","hasErrorSlot","logLevel","css","$renderFrame","querySelector","$overlayLoadingUI","slot","childElems","assignedElements","flatten","_$overlayLoadingOverride","$overlayErrorUI","_$overlayErrorOverride","initParams","_hasDeferredLoad","_loaderStack","frameLoadDef","frameLoadPromise","detectFlybits","_reboundHandleFrameEvent","handleFrameEvent","init","initElementMeta","_projectID","$el","getZoneMetadata","meta","_setHeight","height","_old","loadZoneData","setLoading","injectData","toConciergeContainer","$frameWindow","contentWindow","postMessage","handleAction","actionLink","_resolveContent","bool","pop","_dispatchActionLinks","actionLinkStr","metaObj","Flightkit","outlet","openOverlay","showDismissUI","$loadingUI","$errorUI","loggerMode","open","evt","CustomEvent","detail","bubbles","composed","dispatchEvent","HOST","userToken","childContentWindow","origin","URL","flb","eventObj","actionlink","_dispatchDismiss","heightNum","_handleFrameLoad","_handleLoadingSlotChange","assignedNodes","_handleErrorSlotChange","_handleSlotEvent","preventDefault","stopPropagation","html","classMap","loading","customElements","define","FlybitsOverlay","dismissUI","uid","on","SESSIONEND","off","injectContent","$dismissUI","FlybitsLoading","FlybitsError","emitReload","OutletManager","$overlay","$outlet","parentContext","existingLoadingUI","existingErrorUI","$outletEl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flightkit",
3
- "version": "2.0.0-beta.7",
3
+ "version": "2.0.0-beta.8",
4
4
  "description": "",
5
5
  "main": "dist/flightkit.js",
6
6
  "scripts": {
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "license": "Apache-2.0",
20
20
  "dependencies": {
21
- "lit": "^3.1.2"
21
+ "lit": "^3.1.4"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@rollup/plugin-json": "^6.1.0",
@@ -30,7 +30,7 @@
30
30
  "git-rev-sync": "^3.0.2",
31
31
  "gulp": "^4.0.2",
32
32
  "gulp-shell": "^0.8.0",
33
- "jsdoc": "^4.0.2",
34
- "rollup": "^4.13.0"
33
+ "jsdoc": "^4.0.3",
34
+ "rollup": "^4.18.0"
35
35
  }
36
36
  }