!function(n,t,e){"use strict";var i=function(){function n(){var n=this;this.promise=new Promise((function(t,e){n.resolve=t,n.reject=e})),this.then=this.promise.then.bind(this.promise),this.catch=this.promise.catch.bind(this.promise)}return n.settlePromises=n.prototype.settlePromises=function(n){var t=n.map((function(n){return n.then((function(n){return{result:n,status:"resolved"}}),(function(n){return{result:n,status:"rejected"}}))}));return Promise.all(t)},n}(),a=function(){function n(){this.state=!0,this.errors=[],this.stacktrace="",this.setStackTrace()}return n.prototype={addError:function(n,t,e){this.state=!1;var i={header:n,message:t};return e&&(i.context=e.context,i.code=e.code,i.serverCode=e.serverCode),this.errors.push(i),this},firstError:function(){return this.errors.length>0?this.errors[0]:null},merge:function(n){return Array.prototype.push.apply(this.errors,n.errors),this.state=this.errors.length<1,this},setStackTrace:function(){var n=new Error;return n.name="FlybitsError",this.stacktrace=n.stack,this.stacktrace&&(this.stacktrace=this.stacktrace.split("\n").filter((function(n){return n.indexOf("Validation")<0})).join("\n")),this},toJSON:function(){return{state:this.state,errors:this.errors,stacktrace:this.stacktrace}}},n.prototype.type=n.type={},n.prototype.type.MALFORMED=n.type.MALFORMED=1e3,n.prototype.type.INVALIDARG=n.type.INVALIDARG=1001,n.prototype.type.MISSINGARG=n.type.MISSINGARG=1002,n.prototype.type.NOTFOUND=n.type.NOTFOUND=1003,n.prototype.type.CONNECTIONERROR=n.type.CONNECTIONERROR=1004,n.prototype.type.UNAUTHENTICATED=n.type.UNAUTHENTICATED=1005,n.prototype.type.RETRIEVALERROR=n.type.RETRIEVALERROR=1006,n.prototype.type.NOTSUPPORTED=n.type.NOTSUPPORTED=1007,n.prototype.type.UNEXPECTED=n.type.UNEXPECTED=1008,n}(),o=function(){var n=function(n){this.id,n&&n.id&&(this.id=n.id)};return n.prototype.constructor=n,n.prototype.reqKeys={id:"id"},n}(),d=function(){function n(){this.nodes=[]}return n.prototype.getNode=function(n){return this.nodes.filter((function(t){return Flybits.util.Obj.functionName(t.constructor)===n}))[0]},n.prototype.append=function(n){return this.nodes.push(n),this},n.prototype.serialize=function(){for(var n="",t=0;t0})).length},syncLabelLimits:function(){var n={};this.labelLimits.forEach((function(t){n[t.label]=+t.limit})),this.labelLimits=this.labels.map((function(t){return{label:t,limit:n[t]?n[t]:0}}))},syncAdvancedStr:function(){var n=this.advancedStr;if(!n){if(n="data=true&limit="+(this._hasContentLimits?this.paging.limit:20),this.hasLabelLimits()){var t={labels:this.labels,limits:this.labelLimits.map((function(n){return+n.limit}))};n+="&cp="+encodeURIComponent(JSON.stringify(t))}else n+="&labelsFormula=("+this.labels.join(";")+")";this.advancedStr=n}},updateQueryMode:function(){var n=this._queryMode;"labellimits"===n.key?this.syncLabelLimits():"advanced"===n.key&&this.syncAdvancedStr()},fromJSON:function(t){t=t||{},this.id=t.id,this.name=t.name||"Module "+Y.util.Obj.guid().slice(0,4),this.height=t.height||0;var e=new URLSearchParams(t.query);this.paging={},this.advancedStr="",this.labels=[],this.labelLimits=[],this._queryMode=n.QUERYMODES[0];var i=e.get("limit");i&&(this.paging.limit=+i),this.paging.limit&&(this._hasContentLimits=!0);var a=e.get("labelsFormula"),o=e.get("cp");if(n.hasAdvancedStr(e))this.advancedStr=e.toString(),this._queryMode=n.QUERYMODES[2];else if(a)this.labels=a?a.replace("(","").replace(")","").split(";"):[];else if(o){var d=JSON.parse(o);this.labels=d.labels,this.labelLimits=this.labels.map((function(n,t){return{label:n,limit:d.limits[t]}})),this._queryMode=n.QUERYMODES[1]}return this.layoutName=t.layout,this.layoutHTML=t.layoutHTML,this.styleCSSURL=t.styleCSSURL,this.styleCSS=t.styleCSS,this},toJSON:function(){this._hasContentLimits||delete this.paging.limit;var t={name:this.name,height:this.height,layout:this.layoutName,layoutHTML:this.layoutHTML,styleCSSURL:this.styleCSSURL,styleCSS:this.styleCSS};this.id&&(t.id=this.id);var e=new URLSearchParams;if(e.append("data",!0),this.paging.limit&&e.append("limit",this.paging.limit),this.labels.length&&(this._queryMode===n.QUERYMODES[0]||this._queryMode===n.QUERYMODES[1]&&!this.hasLabelLimits()))e.append("labelsFormula","("+this.labels.join(";")+")"),t.query=e.toString();else if(this.labels.length&&this.hasLabelLimits()&&this._queryMode===n.QUERYMODES[1]){var i={labels:this.labels,limits:this.labelLimits.map((function(n){return+n.limit}))};e.append("cp",JSON.stringify(i)),t.query=e.toString()}else this.advancedStr&&this._queryMode===n.QUERYMODES[2]&&(t.query=new URLSearchParams(this.advancedStr).toString());return t}},n.hasAdvancedStr=function(n){return n.size>3||!n.has("data")||!n.has("labelsFormula")&&!n.has("cp")},n.QUERYMODES=n.prototype.QUERYMODES=[{label:"Basic",key:"basic"},{label:"Label Limits",key:"labellimits"},{label:"Advanced",key:"advanced"}],n}(),s=function(){var n=Flybits.util.Api;function t(n){o.call(this,n),this.fromJSON(n)}return t.prototype=Object.create(o.prototype),t.prototype.constructor=t,t.prototype.types=t.types={DEFAULT:"default",SURVEY:"SurveyQuestions"},t.prototype._pathName=t._pathName="content/instances",t.prototype.reqKeys=t.reqKeys={name:"name",description:"description",createdDate:"createdAt",lastModifiedDate:"modifiedAt",id:"id"},t.prototype._fromLocaleJSON=function(n){return{name:n.name,description:n.description}},t.prototype._toLocaleJSON=function(n){return{name:n.name,description:n.description}},t.prototype.parseContents=function(t){var e=n.parsePaging(t),i=this;return{result:t.data.map((function(n){var t=(new d).append(i);try{return new Flybits.ContentData(n,t)}catch(t){throw console.error(t),(new a).addError("Parse Failed","Failed to parse Content data model.",{code:a.type.MALFORMED,context:n})}})),nextPageFn:n.createNextPageCall(Flybits.api.ContentData.getAll,{contentID:i.id},e)}},t.prototype.getData=function(){var n=this;if(this.data&&this.data.result&&this.data.result.length>0)return Promise.resolve(this.data.result[0].payload);var t=new Flybits.Deferred;return Flybits.api.ContentData.getAll({contentID:this.id}).then((function(e){e&&e.result&&e.result.length>0?(n.data=e,t.resolve(e.result[0].payload)):t.resolve()})).catch((function(n){t.reject(n)})),t.promise},t.prototype.fromJSON=function(n){n=n||{};var i=this;i.id=n.id,i.tenantID=n.tenantId,i.templateID=n.templateId,i.type=n.templateType||t.types.DEFAULT,i.iconURL=n.iconUrl,i.createdDate=n.createdAt?new Date(1e3*n.createdAt):null,i.lastModifiedDate=n.modifiedAt?new Date(1e3*n.modifiedAt):null,i.locales={},(n.localizations?Object.keys(n.localizations):[]).forEach((function(t){i.locales[t]=i._fromLocaleJSON(n.localizations[t])})),i.name=i.locales.en?i.locales.en.name:"",i.description=i.locales.en?i.locales.en.description:"",i.linkedFields=n.linkedFields,i.labels=n.labels||[],i.data=n.content?this.parseContents(n.content):e,i.renderType=n.renderType,i.defaultUI=n.defaultUIConfig?n.defaultUIConfig:{layout:"",layoutHTML:"",styleCSS:"",styleCSSURL:""},i.detailsUI=n.detailsUIConfig?n.detailsUIConfig:{layout:"",layoutHTML:"",styleCSS:"",styleCSSURL:""}},t.prototype.toJSON=function(){var n=this,t={iconUrl:n.iconURL,localizations:{en:{name:n.name,description:n.description}},labels:n.labels,defaultUIConfig:this.defaultUI,detailsUIConfig:this.detailsUI};return this.defaultUI&&(this.defaultUI.layout||this.defaultUI.layoutHTML)?t.renderType="html":t.renderType="",n.createdDate&&(t.createdAt=Math.round(n.createdDate.getTime()/1e3)),n.lastModifiedDate&&(t.modifiedAt=Math.round(n.lastModifiedDate.getTime()/1e3)),n.id&&(t.id=n.id),!n.id&&n.data&&(t.data=n.data),n.tenantID&&(t.tenantId=n.tenantID),n.templateID&&(t.templateId=n.templateID),n.type&&(t.templateType=n.type),n.metadata?t.metadata=n.metadata:t.metadata={},t},t.getInstance=function(n){var e=n.content&&n.content.data&&n.content.data.length&&n.content.data[0].questions;return n.templateType===t.types.SURVEY&&n.surveyMetadata||e?new Flybits.Survey(n):new t(n)},t}(),c=function(){function n(n){this.fromJSON(n)}return n.prototype={fromJSON:function(n){return n=n||{},this.id=n.id||Y.util.Obj.guid().toUpperCase(),this.tenantID=n.tenantID,this.zones=n.zones?n.zones.map((function(n){return new r(n)})):[],this.scriptURLs=n.scriptURLs||[],this.version=n.version||{major:0,minor:1,patch:0},this.versionStr=this.version.major+"."+this.version.minor+"."+this.version.patch,this},toJSON:function(){var n={tenantID:this.tenantID,zones:this.zones.map((function(n){return n.toJSON()})),scriptURLs:this.scriptURLs,version:this.version};return this.id&&(n.id=this.id),n}},n}(),p=Vue.extend({template:"#view-loading"});Vue.component("loading-view",p);var m=Vue.extend({template:"#loader-bar"});Vue.component("loader-bar",m);var b=Vue.extend({template:"#header-bar",props:{title:{default:"Concierge Manager"}},data:function(){return{logoURL:"images/logoIcon.png",isAdmin:Y.store.state.user.isAdmin,version:Y.vm.version}},computed:{userInitials:function(){var n="";return Y.store.state.user.user&&Y.store.state.user.user.firstName&&(n+=Y.store.state.user.user.firstName.charAt(0)),Y.store.state.user.user&&Y.store.state.user.user.lastName&&(n+=Y.store.state.user.user.lastName.charAt(0)),n.toUpperCase()},userFullName:function(){return Y.store.state.user.user?Y.store.state.user.user.firstName+" "+Y.store.state.user.user.lastName:""},isFlybitsUser:function(){return Y?.store?.state?.user?.user?.email?.indexOf("@flybits.com")>-1}},methods:{logout:function(){Y.store.dispatch("user/logout"),Y.router.replace({name:"login"})},gotoSettings:function(){Y.router.push({name:"settings"})}},mounted:function(){}});Vue.component("header-bar",b);var u=Vue.extend({template:"#editable-displayfield",props:["value","placeholder"],data:function(){return{proxyVal:""}},watch:{value:function(n,t){this.proxyVal!==n&&(this.proxyVal=n)},proxyVal:function(n,t){this.value!==n&&(this.$emit("input",n),this.resize())}},methods:{focusEdit:function(){this.$refs.textedit.focus()},resize:function(){this.$refs.textedit.style.width=this.proxyVal.length+5+"ch"}},mounted:function(){this.value&&(this.proxyVal=this.value,this.resize())}});Vue.component("editable-displayfield",u);var g=Vue.extend({template:"#text-toggle",props:{options:{type:Array,default:function(){return[{label:"Off",key:"off"},{label:"On",key:"on"}]}},value:{type:Object}},methods:{isSelected:function(n){return n.key===this.value.key},select:function(n){this.$emit("input",n),this.$emit("change",n)}}});Vue.component("text-toggle",g);var f=Vue.extend({template:"#toggle-view",props:["value","label","inverted"],methods:{toggle:function(){this.$emit("input",!this.value)}}});Vue.component("toggle-view",f);var h=Vue.extend({template:"#label-picker",props:{value:{type:Array},available:{type:Array,default:function(){return[]}},onlyAvailable:{type:Boolean,default:!1}},data:function(){return{tmpNewLabel:"",inputMode:!1,removeLastMode:!1}},watch:{tmpNewLabel:function(n,t){this.removeLastMode=!1}},methods:{addLabel:function(n){var t=this,e=this.tmpNewLabel||n;e&&(this.value.push(e),this.$emit("input",this.value),this.$emit("change",this.value),this.tmpNewLabel="",Vue.nextTick((function(){t.removeLastMode=!0})))},removeLabel:function(n){Y.util.Obj.removeObject(this.value,n),this.$emit("input",this.value),this.$emit("change",this.value)},removeLastLabel:function(){!this.tmpNewLabel&&this.removeLastMode?(this.value.pop(),this.$emit("input",this.value),this.$emit("change",this.value)):this.tmpNewLabel||this.removeLastMode||(this.removeLastMode=!0)},toggleInputMode:function(){var n=this;this.onlyAvailable||(this.inputMode=!this.inputMode,this.inputMode?Vue.nextTick((function(){n.$refs.labelinput.focus()})):this.tmpNewLabel="")}}});Vue.component("label-picker",h);var v,y,x=(v=function(n){var t=n.data.result&&Array.isArray(n.data.result)?n.data.result[0].toJSON():n.data;Y.util.Content.flattenLocales(t);var e={id:n.id,data:t,uiTemplate:"",style:"",styleStr:""},i=n.defaultUI||n.detailsUI||{};return e.uiTemplate=i.layoutHTML||'\n
\n
\n
No preview available
\n
\n
\n',e.style=i.styleCSSURL,e.styleStr=i.layoutHTML?i.styleCSS:"\n .content-preview-card {\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 100%;\n height: 128px;\n margin: 16px 0;\n border-radius: 10px;\n background-color: #fff;\n box-shadow: 0px 5px 11px rgba(0, 0, 0, 0.1);\n }\n\n .content-preview-card__content {\n padding: 10px 10px 14px 10px;\n }\n\n .content-preview-card--no-preview .content-preview-card__description {\n padding: 20px 0;\n font-size: 24px;\n font-weight: 700;\n text-align: center;\n color: #82899b;\n }\n\n .content-preview-card__description {\n margin-top: 10px;\n font-size: 10px;\n font-weight: 400;\n line-height: 13px;\n color: #848688;\n overflow-wrap: break-word;\n }\n",e},y=function(n,t){var e=new i,a=function(){n.contentWindow.postMessage(t,"*"),e.resolve()};n.addEventListener("load",a),n.setAttribute("src",Y.store.state.config.res.ZONEAPP),e.promise.then((function(){n.removeEventListener("load",a)}))},Vue.extend({template:"#phone-preview",props:["zone","module","changeHash","content"],data:function(){return{timer:null,time:null,isLoading:!1}},computed:{timeStr:function(){var n="";return this.time&&(n=Y.util.Obj.zero2Pad(this.time.getHours())+":"+Y.util.Obj.zero2Pad(this.time.getMinutes())),n},zonePayload:function(){if(this.zone){var n=this;return{name:this.zone.name,containers:this.zone.modules.map((function(t){return{name:t.name,layoutStr:t.layoutHTML,layout:t.layoutName,style:t.styleCSSURL,styleStr:t.styleCSS,query:t.toJSON().query,content:n.getResolvedContents(t).map((function(n){return v(n)}))}}))}}},modulePayload:function(){if(this.module)return{name:"tmp"+Y.util.Obj.guid(1),containers:[{name:this.module.name,layoutStr:this.module.layoutHTML,layout:this.module.layoutName,style:this.module.styleCSSURL,styleStr:this.module.styleCSS,query:this.module.toJSON().query,content:this.getResolvedContents(this.module).map((function(n){return v(n)}))}]}}},watch:{changeHash:function(n,t){console.log("> newVal",n),this.debouncedLoad()},zonePayload:function(n,t){this.debouncedLoad()},modulePayload:function(n,t){this.debouncedLoad()}},methods:{getResolvedContents:function(n){return this.content||Y.store.getters["content/getContentByLabels"](n.labels)||[]},startClock:function(){var n=this;this.endClock(),console.log("> start clock"),n.time=new Date,this.timer=setInterval((function(){n.time=new Date}),6e4)},endClock:function(){clearInterval(this.timer),this.timer=null},loadZone:function(){var n=this,t=this.$refs.zoneframe;this.isLoading=!0,setTimeout((function(){n.zone?y(t,n.zonePayload):n.module&&y(t,n.modulePayload)}),200),setTimeout((function(){n.isLoading=!1}),300)}},mounted:function(){this.startClock();var n=this;this.debouncedLoad=Y.util.Obj.debounce((function(){n.loadZone()}),200),this.changeHash&&(n=this,Vue.nextTick((function(){n.loadZone()})))}}));Vue.component("phone-preview",x);var k=Vue.extend({template:"#card-placeholder",data:function(){return{block:0}},methods:{getRandomInt:function(n,t){return Math.floor(Math.random()*(t-n+1))+n}},mounted:function(){this.block=this.getRandomInt(0,3)}});Vue.component("card-placeholder",k);var w,I,z=(w={label:"Basic",key:"basic"},I={label:"Advanced",key:"advanced"},Vue.extend({template:"#layout-editor",props:["module"],data:function(){return{editModeObj:w,modes:[w,I],isHTMLEditorOpen:!0,isCSSEditorOpen:!0}},computed:{htmlSize:function(){return this.isHTMLEditorOpen?this.isHTMLEditorOpen&&this.isCSSEditorOpen?"half":this.isHTMLEditorOpen&&!this.isCSSEditorOpen?"full":void 0:"closed"},cssSize:function(){return this.isCSSEditorOpen?this.isCSSEditorOpen&&this.isHTMLEditorOpen?"half":this.isCSSEditorOpen&&!this.isHTMLEditorOpen?"full":void 0:"closed"},editMode:function(){return this.editModeObj.key},layouts:function(){return Y.store.state.component.moduleTemplates}},methods:{expandEditor:function(n){"html"===n?this.isHTMLEditorOpen=!this.isHTMLEditorOpen:"css"===n&&(this.isCSSEditorOpen=!this.isCSSEditorOpen)},emitChange:function(){this.$emit("change")},emitDone:function(){this.$emit("done")},selectLayout:function(n){this.module.layoutHTML=n.html,this.module.styleCSS=n.css,this.emitChange(),this.emitDone()}}}));Vue.component("layout-editor",z);var S,C=(S={indent_size:"2",indent_char:" ",max_preserve_newlines:"-1",preserve_newlines:!1,keep_array_indentation:!1,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!1,wrap_line_length:"0",indent_inner_html:!0,comma_first:!1,e4x:!1,indent_empty_lines:!1},Vue.extend({template:"#code-editor",props:["value","language"],data:function(){return{editor:null,tmpChange:""}},watch:{value:function(n,t){n!==this.tmpChange&&this.editor.updateCode(this.beautify(n))}},methods:{beautify:function(n){return"js"===this.language?js_beautify(n,S):"html"===this.language?html_beautify(n,S):"css"===this.language?css_beautify(n,S):n},sanitize:function(n){return n.split("\n").join("")}},mounted:function(){var n=this;this.editor=new CodeFlask(this.$refs.code,{language:this.language,lineNumbers:!0}),this.value&&this.editor.updateCode(this.beautify(this.value)),this.editor.onUpdate((function(t){n.tmpChange=n.sanitize(t),n.$emit("input",n.tmpChange)}))}}));Vue.component("code-editor",C);var T=Vue.extend({template:"#confirm-button",props:["label"],data:function(){return{isConfirm:!1}},methods:{confirm:function(){this.isConfirm=!0},cancel:function(){this.isConfirm=!1},action:function(){this.$emit("action"),this.isConfirm=!1}}});Vue.component("confirm-button",T);var A=function(){function n(n){(n=n||{}).beforeRouteEnter&&(this.extBeforeRouteEnter=n.beforeRouteEnter,delete n.beforeRouteEnter),Flybits.util.Obj.extend(this,n,{mutate:!0})}return n.prototype={beforeRouteEnter:function(n,t,e){var i=n.matched[0]?n.matched[0].components.default:null;setTimeout((function(){Y.ready.then((function(){i&&i.extBeforeRouteEnter?i.extBeforeRouteEnter(n,t,e):e()}))}),1)}},n}(),O=function(){function n(n){A.call(this,n)}return n.prototype=Object.create(A.prototype),n.prototype.constructor=n,n.prototype.beforeRouteEnter=function(n,t,e){var i=n.matched[0]?n.matched[0].components.default:null;setTimeout((function(){Y.ready.then((function(){Flybits.Session.resolveSession().then((function(){Y.store.dispatch("user/resolveUser",!0),i&&i.extBeforeRouteEnter?i.extBeforeRouteEnter(n,t,e):e()})).catch((function(n){Flybits.Session.clearSession(),Y.authClient.request()}))}))}),1)},n}(),D=new O({template:"#concierge-manager",beforeRouteEnter:function(n,t,e){e((function(n){i.settlePromises([Y.store.dispatch("content/hydrate"),Y.store.dispatch("zone/hydrate")]).then((function(){n.zones=Y.store.state.zone.zones,n.selectZone(n.zones[0])})).catch((function(n){console.error(n),Y.toast("Failed to load data","error")})).then((function(){n.isLoading=!1}))}))},data:function(){return{isLoading:!0,selectedModule:null,selectedZone:null,zones:[],changeHash:"",queryEditModes:l.QUERYMODES}},methods:{toggleHash:function(){this.changeHash=Y.util.Obj.guid()},selectZone:function(n){this.selectZone!==n&&(this.selectedZone=n,n&&(this.changeHash=Y.util.Obj.hash(JSON.stringify(n.toJSON()))))},editModuleLayout:function(n){this.selectedModule=n,n?(this.selectZone(),this.changeHash=Y.util.Obj.hash(JSON.stringify(n.toJSON()))):this.selectZone(this.zones[0])},addZone:function(){this.zones.push(new r)},removeZone:function(n){Y.util.Obj.removeObject(this.zones,n)},addModule:function(n){n.modules.push(new l)},removeModule:function(n,t){Y.util.Obj.removeObject(n.modules,t)},adjustModuleQuery:function(n){n.updateQueryMode()},moveTo:function(n,t,e,i){!n||!t||e===i||e<0||i<0||e>n.modules.length||i>n.modules.length||(n.modules.splice(e,1),n.modules.splice(i,0,t))},save:function(){var n=this;Y.evt.emit(Y.actions.LOADING,!0),Y.store.dispatch("zone/saveAll").then((function(){n.zones=Y.store.state.zone.zones,n.selectZone(n.zones[0]),n.editModuleLayout()})).catch((function(n){Y.toast("failed to save configuration","error"),console.error(n)})).then((function(){Y.evt.emit(Y.actions.LOADING,!1)}))}},mounted:function(){var n=this.$el.querySelectorAll(".module-item");n=[].slice.call(n)}});Vue.component("concierge-manager",D);var E=new O({template:"#experience-templates",beforeRouteEnter:function(n,t,e){e((function(n){n.loadFrame()}))},beforeRouteLeave:function(t,e,i){n.removeEventListener("message",this.loadHandlerFn),i()},data:function(){return{loadHandlerFn:null}},computed:{injectPayload:function(){return{env:Y.store.getters["config/envStr"],host:Y.store.state.config.HOST,token:Flybits.Session.userToken}}},methods:{loadFrame:function(){var t=this,e=this.$refs.frame;this.loadHandlerFn=function(n){"flb.journeytemplatemanager.ready"===n?.data?.type&&(console.log("> flb.journeytemplatemanager.ready"),t.inject())},n.addEventListener("message",this.loadHandlerFn),e.setAttribute("src",Y.store.state.config.JOURNEYMANAGER)},inject:function(){this.$refs.frame.contentWindow.postMessage(this.injectPayload,Y.store.state.config.JOURNEYMANAGER)}}});Vue.component("experience-templates",E);var N={template:"#settings-page"};Vue.component("settings-page",N);var L=new A({template:"#splash-page",beforeRouteEnter:function(n,t,e){e((function(n){Y.store.dispatch("user/resolveUser",!0).then((function(){Y.router.replace({name:"conciergeManager"})})).catch((function(n){console.error(n),Flybits.Session.clearSession(),Y.authClient.request()}))}))}});Vue.component("splash-page",L);var M=new A({template:"#auth-callback",beforeRouteEnter:function(n,t,e){e((function(n){Y.evt.emit(Y.actions.LOADING,!0),Y.authClient.requestSPAuthz().then((function(n){n&&n.accessToken?(Flybits.Session.setUserToken(n.accessToken),Y.store.dispatch("user/resolveUser"),Y.router.replace({name:"conciergeManager"})):(console.error("> uh oh: no valid accessToken"),Y.toast("Authorization denied","error"),Y.store.dispatch("user/logout"),Y.router.replace({name:"login"}))})).catch((function(n){console.error("> blah",n),Y.toast("Authorization denied","error"),Y.store.dispatch("user/logout"),Y.router.replace({name:"login"})})).then((function(){Y.evt.emit(Y.actions.LOADING,!1)}))}))}});Vue.component("auth-callback",M);var U=new A({template:"#login-page",methods:{goto:function(){Y.evt.emit(Y.actions.LOADING,!0),Y.router.replace({name:"conciergeManager"})}}});Vue.component("login-page",U);var R=new O({template:"#content-manager",beforeRouteEnter:function(n,t,e){e((function(n){n.loadFrame()}))},beforeRouteLeave:function(t,e,i){n.removeEventListener("message",this.loadHandlerFn),i()},data:function(){return{loadHandlerFn:null}},computed:{injectPayload:function(){return{env:Y.store.getters["config/envStr"],host:Y.store.state.config.HOST,token:Flybits.Session.userToken}}},methods:{loadFrame:function(){var t=this,e=this.$refs.frame;this.loadHandlerFn=function(n){"flb.contentmanager.ready"===n?.data?.type&&(console.log("> flb.contentmanager.ready"),t.inject())},n.addEventListener("message",this.loadHandlerFn),e.setAttribute("src",Y.store.state.config.CONTENTMANAGER)},inject:function(){this.$refs.frame.contentWindow.postMessage(this.injectPayload,Y.store.state.config.CONTENTMANAGER)}}});Vue.component("content-manager",R);var F,j,_,P,H,V={namespaced:!0,state:{initPromise:(F=new i).promise,initialized:!1,HOST:"https://api.demo.flybits.com",res:{},debug:!1},getters:{envStr:function(n,t){return n.HOST.split(".")[1]}},mutations:{setDefaults:function(n,t){n.HOST=t.HOST,n.APPHOST=t.APPHOST,n.PROJECTID=t.PROJECTID,n.PIXELHOST=t.PIXELHOST,n.CLIENTID=t.CLIENTID,n.CONTENTMANAGER="https://experiences.flybits.app/#/manage/content",n.JOURNEYMANAGER="https://experiences.flybits.app/#/journey/templates/manage",n.res=t.res,n.store=t.store,n.debug=t.debug,n.namespace=t.namespace},setInitialized:function(n){F.resolve(),n.initialized=!0}},actions:{parse:function(n){var t=new i;return fetch(Y.ext.CONFIG).then((function(n){if(200!==n.status)throw(new a).addError("Configuration file not found","Reverting to default configuration. No configuration found at:"+app.ext.CONFIG,{code:Flybits.Validation.type.MISSINGARG});return n.json()})).then((function(e){n.commit("setDefaults",e.defaults),n.commit("setInitialized"),t.resolve(e.defaults)})).catch((function(n){n instanceof a?t.reject(n):t.reject((new a).addError("Failed to read configuration file.","Reverting to default configuration. Configuration format incorrect at:"+app.ext.CONFIG,{code:a.type.MALFORMED}))})),t.promise}}},q=function(){var n=new i;const t="user";return{namespaced:!0,state:{initPromise:n.promise,initialized:!1,isAdmin:!1,user:null},mutations:{setInitialized:function(t){n.resolve(),t.initialized=!0},setUser:function(n,e){n.user=e,Y.cache.setItem(t,e.toJSON())},clearUser:function(n){n.isAdmin=!1,Y.cache.removeItem(t)}},actions:{logout:function(n){n.commit("clearUser"),Flybits.Session.disconnect()},resolveUser:function(n,e){var i=new Flybits.Deferred,a=Y.cache.getItem(t),o=e?Promise.resolve():Flybits.api.User.getSignedInUser();return Flybits.Deferred.settlePromises([a,o]).then((function(t){if("resolved"===t[0].status&&"resolved"===t[1].status)if(e&&t[0].result){let e=new Flybits.User(t[0].result);n.commit("setUser",e),i.resolve(e)}else if(!e&&t[1].result){let e=t[1].result;n.commit("setUser",e),i.resolve(e)}else i.reject((new Flybits.Validation).addError("No valid session","",{type:Flybits.Validation.type.NOTFOUND}));else i.reject((new Flybits.Validation).addError("No valid session","",{type:Flybits.Validation.type.NOTFOUND}))})).catch((function(n){i.reject((new Flybits.Validation).addError("No valid session","",{type:Flybits.Validation.type.NOTFOUND}))})),i.promise}}}}(),J=function(){var n=new i,t=function(){var n=new Flybits.Deferred,t=Flybits.cfg.HOST+Y.store.state.config.res.ZONES;return Flybits.util.Api.flbFetch(t).then((function(t){n.resolve(new c(t.body))})).catch((function(t){n.reject(t)})),n.promise},e=function(n){var t=new Flybits.Deferred,e=Flybits.cfg.HOST+Y.store.state.config.res.ZONES+"/"+n.id;return Flybits.util.Api.flbFetch(e,{method:"PUT",body:JSON.stringify(n.toJSON())}).then((function(n){t.resolve(new c(n.body))})).catch((function(n){t.reject(n)})),t.promise};return{namespaced:!0,state:{initPromise:n.promise,initialized:!1,zones:[],zoneConfigs:null},getters:{modules:function(n,t){var e=[];return n.zones.forEach((function(n){Array.prototype.push.apply(e,n.modules)})),e}},mutations:{setInitialized:function(t){n.resolve(),t.initialized=!0},setConfig:function(n,t){n.zoneConfigs=t,n.zones=t?t.zones:[]}},actions:{hydrate:function(n){var e=new i;return t().then((function(t){n.commit("setConfig",t),n.state.initialized||n.commit("setInitialized"),e.resolve()})).catch((function(t){404===t.firstError().serverCode?(n.state.zoneConfigs=new c,n.state.zones=n.state.zoneConfigs.zones,n.state.initialized||n.commit("setInitialized"),e.resolve()):e.reject(t)})),e.promise},saveAll:function(n){var t=new Flybits.Deferred;return e(n.state.zoneConfigs).then((function(e){n.commit("setConfig",e),t.resolve()})).catch((function(n){t.reject(n)})),t.promise}}}}(),B=function(){var n=new i;const t={"special-events":{carousel:["carousel"],lander:["lander"],details:["details"]},"special-offers":{carousel:["carousel"],lander:["lander"],details:["details"]},education:{carousel:["carousel"],lander:["lander"],details:["details"]},"personalized-info":{carousel:["carousel"],lander:["lander"],details:["details"]},"td-for-me":{carousel:["carousel"],lander:["lander"],details:["details"]},"alert-card":{alert:["icon","description","textlink"]},"dynamic-page":{details:["banner","header","options"]},"input-page":{details:["banner","primaryMsg","secondaryMsg","actionLink","secondaryLinks"]}};var e=function(n){var t=new i,e=Flybits.cfg.HOST+Flybits.cfg.res.CONTENTS+"/"+n,a={data:!0,limit:2e3,managementMode:!0,returnRichText:!0,disableContextEmbed:!0};return""!==(a=Flybits.util.Api.toURLParams(a))&&(e+="?"+a),Flybits.util.Api.flbFetch(e,{method:"GET"}).then((function(n){t.resolve(new s(n.body))})).catch((function(n){t.reject(n)})),t.promise},a=function(n){n=n||{};var t=new i,e=Flybits.cfg.HOST+Flybits.cfg.res.CONTENTS,a={data:!0,limit:2e3,managementMode:!0,returnRichText:!0,disableContextEmbed:!0};return n.labels&&n.labels.length&&(a.labelsFormula="("+n.labels.join(";")+")"),n.ids&&Array.isArray(n.ids)&&(a.contentIds=n.ids.join(",")),""!==(a=Flybits.util.Api.toURLParams(a))&&(e+="?"+a),Flybits.util.Api.flbFetch(e,{method:"GET"}).then((function(n){t.resolve(n.body.data)})).catch((function(n){t.reject(n)})),t.promise},o=function(){return Flybits.api.ContentTemplate.getAll({paging:{limit:200}})};return{namespaced:!0,state:{initPromise:n.promise,initialized:!1,content:[],templates:[]},getters:{getTemplateByID:function(n){return function(t){return n.templates.filter((function(n){return n.id===t}))[0]}},getContentByLabels:function(n){return function(t){return n.content.filter((function(n){return Y.util.Obj.intersection(n.labels,t).length>0}))}},getTemplateAttrMapping:function(n,e){return function(n){return e.getTemplateByID(n)?t[e.getTemplateByID(n).type]:null}}},mutations:{setInitialized:function(t){n.resolve(),t.initialized=!0},addContent:function(n,t){n.content.filter((function(n){return n.id===t.id}))[0]||n.content.push(t)},setContent:function(n,t){n.content=t.map((function(n){return new s(n)}))},addTemplate:function(n,t){n.templates.filter((function(n){return n.id===t.id}))[0]||n.templates.push(t)},setTemplates:function(n,t){n.templates=t},removeContent:function(n,t){Y.util.Obj.removeObject(n.content,t)}},actions:{getByID:function(n,t){var i=e(t);return i.then((function(t){n.commit("addContent",t)})),i},getByIDs:function(n,t){if(!t||!t.ids.length)return Promise.resolve([]);var e=a(t);return e.then((function(t){n.commit("addContent",t)})),e},getTemplateByID:function(n,t){var e=Flybits.api.ContentTemplate.get(t);return e.then((function(t){n.commit("addTemplate",t)})),e},hydrate:function(n){var t=new i,e=[o(),a()];return i.settlePromises(e).then((function(e){"rejected"===e[0].status?(Y.toast("Failed to load Content Templates"),console.error(e[0].result)):n.commit("setTemplates",e[0].result.result),"rejected"===e[1].status?(Y.toast("Failed to load Content"),console.error(e[1].result),t.reject()):(n.commit("setContent",e[1].result),t.resolve()),n.state.initialized||n.commit("setInitialized")})),t.promise},delete:function(n,t){n.commit("removeContent",t);var e=new i;return Flybits.api.Content.delete(t).then((function(){e.resolve()})).catch((function(i){n.commit("addContent",t),e.reject(i)})),e.promise}}}}(),$={namespaced:!0,state:{uiTemplates:[{key:"special-events",defaultUI:{html:'\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
{{data.lander.title}}
\n
\n \n
\n
\n \n
\n
\n ',css:'\n .card-info.card-base {\n margin: 0;\n position: relative;\n width: 100%;\n margin: 0;\n border-radius: 8px;\n overflow: hidden;\n background-color: white;\n border: none;\n box-shadow: 0px 1px 4px 0px rgba(28, 28, 28, 0.03),\n 0px 1px 8px 0px rgba(28, 28, 28, 0.06);\n color: #1c1c1c;\n cursor: pointer;\n }\n\n .card-info::after {\n content: "";\n visibility: hidden;\n display: block;\n height: 0;\n clear: both;\n }\n \n .card-info .img-blk {\n position: relative;\n height: 130px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n border-bottom: 1px solid #CCCCCC;\n }\n \n .card-info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 40px;\n height: 40px;\n position: absolute;\n transform: translateY(-50%);\n top: 130px;\n right: 16px;\n z-index: 1;\n }\n \n .card-info .main-body {\n padding: 16px;\n padding-right: 41px;\n position: relative;\n }\n\n .android .card-info .main-body{\n padding-right: 16px;\n }\n \n .card-info:active .main-body {\n background-color: whitesmoke;\n }\n \n .card-info.special-event .main-body .date-blk {\n display: none;\n }\n \n .card-info.special-event .main-body .date-blk {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n text-align: center;\n color: #295A61;\n }\n \n .card-info.special-event .main-body .date-blk .month {\n font-size: 12px;\n }\n \n .card-info.special-event .main-body .date-blk .date {\n font-size: 19px;\n }\n \n .card-info.special-event .main-body .meta-blk {\n max-height: 57px;\n height: 57px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n line-height: 19px;\n font-size: 16px;\n letter-spacing: -0.43px;\n }\n \n .card-info.special-event .main-body .title {\n font-weight: bold;\n display: inline;\n }\n .card-info.special-event .main-body .title.lander{\n display: none;\n }\n \n .card-info.special-event .main-body .description {\n position: relative;\n max-height: 38px;\n height: 38px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n .card-info.special-event .main-body .description.lander{\n display: none;\n }\n\n .card-info.special-event .main-body p {\n margin: 0;\n }\n \n .card-info.special-event .main-body .details-link {\n position: absolute;\n right: 16px;\n bottom: 50%;\n transform: translateY(50%);\n font-size: 27px;\n cursor: pointer;\n color: #767676;\n }\n\n .android .card-info.special-event .main-body .details-link {\n display: none;\n }\n \n .flb-layout.info-group .card-info{\n box-shadow: none;\n border-radius: 0;\n }\n\n .flb-layout.info-group .card-info.special-event .main-body .date-blk {\n display: block;\n }\n \n .flb-layout.info-group .card-info.special-event .main-body .meta-blk {\n padding-left: 39px;\n max-height: 76px;\n height: auto;\n -webkit-line-clamp: 4;\n }\n \n .flb-layout.info-group .card-info.special-event .main-body .title.carousel{\n display: none;\n }\n .flb-layout.info-group .card-info.special-event .main-body .title.lander{\n display: inline;\n }\n \n .flb-layout.info-group .card-info.special-event .main-body .description.carousel {\n display: none;\n }\n .flb-layout.info-group .card-info.special-event .main-body .description.lander{\n max-height: 57px;\n height: auto;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n '},detailsUI:{html:'\n
\n
\n
\n
\n
\n
\n
{{data.details.title}}
\n
\n
\n
\n
\n \n - \n \n
\n
\n
\n
\n
\n \n - \n \n
\n
\n
\n
\n
{{data.details.location}}
\n
\n
\n
\n \n
\n
\n
\n
{{button.label}}
\n
\n
\n
\n ',css:"\n .details-page.info{\n position: relative;\n background-color: #F3F3F3;\n }\n .details-page.info .img-blk {\n position: relative;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n height: 180px;\n border-bottom: 1px solid #cccccc;\n }\n \n .details-page.info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 50px;\n height: 50px;\n position: absolute;\n transform: translateY(-50%);\n top: 180px;\n right: 20px;\n }\n \n .details-page.info .main-content {\n padding: 45px 16px 0px 16px;\n color: #1c1c1c;\n background-color: white;\n }\n \n .details-page.info .main-content .title {\n font-size: 21px;\n line-height: 25px;\n font-weight: 500;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap {\n font-size: 16px;\n color: #555555;\n margin-top: 20px;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item {\n margin-bottom: 10px;\n display: grid;\n grid-template-columns: 30px auto;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item span,\n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n vertical-align: middle\n }\n \n .details-page.info .main-content .meta-wrap .meta-item:last-of-type {\n margin-bottom: 0;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n position: relative;\n width: 20px;\n height: 20px;\n margin-right: 10px;\n display: inline-block;\n background-size: cover;\n background-position: center;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-value {\n display: inline-block;\n line-height: 20px;\n font-size: 16px;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .body-text {\n padding-top: 20px;\n font-size: 16px;\n line-height: 22px;\n color: black;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .body-wrap {\n border-top: 1px solid #cccccc;\n margin-top: 20px;\n overflow: hidden;\n }\n \n .con-wrap {\n position: relative;\n background-color: white;\n padding: 20px 16px;\n }\n\n .con-wrap .button {\n text-align: center;\n border: 1px solid #008a00;\n color: #008a00;\n font-size: 17px;\n letter-spacing: -0.43px;\n padding: 12px 0;\n margin-bottom: 16px;\n cursor: pointer;\n }\n\n .android .con-wrap .button{\n margin: 8px;\n }\n \n .con-wrap .button:first-of-type {\n background-color: #008a00;\n color: white;\n font-weight: bold;\n }\n .con-wrap .button:last-of-type {\n margin-bottom: 0;\n }\n \n .con-wrap .button:active {\n background-color: #1A5336;\n color: white;\n border: 1px solid #1A5336;\n }\n\n @media (min-width: 710px) {\n .details-page.info{\n padding: 32px 64px;\n }\n .con-wrap {\n padding: 12.5px 64px;\n }\n .con-wrap .button{\n max-width: 330px;\n }\n }\n @media (min-width: 810px) {\n .details-page.info .img-blk {\n height: 300px;\n }\n .details-page.info .category-icon {\n right: 70px;\n top: 300px;\n }\n .details-page.info .main-content {\n padding: 45px 70px 120px 70px;\n }\n }\n "}},{key:"special-offers",defaultUI:{html:'\n
\n
\n
\n
\n
\n \n
{{data.lander.title}}
\n
\n \n
\n
\n \n
\n
\n ',css:'\n .card-info.card-base {\n margin: 0;\n position: relative;\n width: 100%;\n margin: 0;\n border-radius: 8px;\n overflow: hidden;\n background-color: white;\n border: none;\n box-shadow: 0px 1px 4px 0px rgba(28, 28, 28, 0.03),\n 0px 1px 8px 0px rgba(28, 28, 28, 0.06);\n color: #1c1c1c;\n cursor: pointer;\n }\n\n .card-info::after {\n content: "";\n visibility: hidden;\n display: block;\n height: 0;\n clear: both;\n }\n\n .card-info .img-blk {\n position: relative;\n height: 130px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n border-bottom: 1px solid #CCCCCC;\n }\n\n .card-info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 40px;\n height: 40px;\n position: absolute;\n transform: translateY(-50%);\n top: 130px;\n right: 16px;\n z-index: 1;\n }\n\n .card-info .main-body {\n padding: 16px;\n padding-right: 41px;\n position: relative;\n }\n \n .android .card-info .main-body{\n padding-right: 16px;\n }\n\n .card-info:active .main-body{\n background-color: whitesmoke;\n }\n\n .card-info .main-body .meta-blk {\n max-height: 57px;\n height: 57px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n line-height: 19px;\n font-size: 16px;\n letter-spacing: -0.43px;\n }\n\n .card-info .main-body .title {\n font-weight: bold;\n display: inline;\n }\n\n .card-info .main-body .title.lander{\n display: none;\n }\n\n .card-info .main-body .description {\n position: relative;\n max-height: 38px;\n height: 38px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .card-info .main-body .description.lander{\n display: none;\n }\n\n .card-info .main-body p {\n margin: 0;\n }\n\n .card-info .main-body .details-link {\n position: absolute;\n right: 16px;\n bottom: 50%;\n transform: translateY(50%);\n font-size: 27px;\n color: #767676;\n }\n\n .android .card-info .main-body .details-link {\n display: none;\n }\n\n .flb-layout.info-group .card-info {\n box-shadow: none;\n border-radius: 0;\n }\n\n .flb-layout.info-group .card-info .main-body .meta-blk {\n max-height: 80px;\n height: auto;\n -webkit-line-clamp: 4;\n }\n\n .flb-layout.info-group .card-info .main-body .title.carousel{\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .title.lander{\n display: inline;\n }\n \n .flb-layout.info-group .card-info .main-body .description.carousel {\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .description.lander{\n max-height: 57px;\n height: auto;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n '},detailsUI:{html:'\n
\n
\n
\n
\n
\n
\n
{{data.details.title}}
\n
\n
\n
\n
{{data.details.startDate}}
\n
\n
\n
\n
{{data.details.endDate}}
\n
\n
\n
{{data.details.location}}\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
{{button.label}}
\n
\n
\n
\n ',css:"\n .details-page.info {\n position: relative;\n background-color: #F3F3F3;\n }\n .details-page.info .img-blk {\n position: relative;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n height: 180px;\n border-bottom: 1px solid #cccccc;\n }\n \n .details-page.info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 50px;\n height: 50px;\n position: absolute;\n transform: translateY(-50%);\n top: 180px;\n right: 20px;\n }\n \n .details-page.info .main-content {\n padding: 45px 16px 0px 16px;\n color: #1c1c1c;\n background-color: white;\n }\n \n .details-page.info .main-content .title {\n font-size: 21px;\n line-height: 25px;\n font-weight: 500;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap {\n font-size: 16px;\n color: #555555;\n margin-top: 20px;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item {\n margin-bottom: 10px;\n display: grid;\n grid-template-columns: 30px auto;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item span,\n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n vertical-align: middle\n }\n \n .details-page.info .main-content .meta-wrap .meta-item:last-of-type {\n margin-bottom: 0;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n position: relative;\n width: 20px;\n height: 20px;\n display: inline-block;\n background-size: cover;\n background-position: center;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-value {\n display: inline-block;\n line-height: 20px;\n font-size: 16px;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .body-text {\n padding-top: 20px;\n font-size: 16px;\n line-height: 22px;\n color: black;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .body-text ul {\n padding-inline-start: 30px;\n }\n \n .details-page.info .main-content .body-wrap {\n border-top: 1px solid #cccccc;\n margin-top: 20px;\n overflow: hidden;\n }\n \n .details-page.info .main-content .short.opt-out {\n border: 1px solid #008A00;\n font-size: 17px;\n line-height: 22px;\n letter-spacing: -0.43px;\n margin-top: 20px;\n padding: 20px;\n color: black;\n }\n \n .details-page.info .main-content .legal-wrap {\n font-size: 13px;\n line-height: 15px;\n color: #555555;\n }\n \n .details-page.info .main-content .long.opt-out {\n border: 1px solid #008A00;\n font-size: 17px;\n line-height: 22px;\n margin-top: 20px;\n padding: 20px;\n color: black;\n }\n \n .con-wrap {\n position: relative;\n background-color: white;\n padding: 20px 16px;\n }\n\n .con-wrap .button {\n text-align: center;\n border: 1px solid #008a00;\n color: #008a00;\n font-size: 17px;\n letter-spacing: -0.43px;\n padding: 12px 0;\n margin-bottom: 16px;\n cursor: pointer;\n }\n\n .con-wrap .button:first-of-type {\n background-color: #008a00;\n color: white;\n font-weight: bold;\n }\n .con-wrap .button:last-of-type {\n margin-bottom: 0;\n }\n \n .con-wrap .button:active {\n background-color: #1A5336;\n color: white;\n border: 1px solid #1A5336;\n }\n\n @media (min-width: 710px) {\n .details-page.info{\n padding: 32px 64px;\n }\n .con-wrap {\n padding: 20px 64px;\n }\n .con-wrap .button{\n max-width: 330px;\n }\n }\n @media (min-width: 810px) {\n .details-page.info .img-blk {\n height: 300px;\n }\n .details-page.info .category-icon {\n right: 70px;\n top: 300px;\n }\n .details-page.info .main-content {\n padding: 45px 70px 120px 70px;\n }\n }\n "}},{key:"education",defaultUI:{html:'\n
\n
\n
\n
\n
\n \n
{{data.lander.title}}
\n
\n \n
\n
\n \n
\n
\n ',css:'\n .card-info.card-base {\n margin: 0;\n position: relative;\n width: 100%;\n margin: 0;\n border-radius: 8px;\n overflow: hidden;\n background-color: white;\n border: none;\n box-shadow: 0px 1px 4px 0px rgba(28, 28, 28, 0.03),\n 0px 1px 8px 0px rgba(28, 28, 28, 0.06);\n color: #1c1c1c;\n cursor: pointer;\n }\n\n .card-info::after {\n content: "";\n visibility: hidden;\n display: block;\n height: 0;\n clear: both;\n }\n\n .card-info .img-blk {\n position: relative;\n height: 130px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n border-bottom: 1px solid #CCCCCC;\n }\n\n .card-info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 40px;\n height: 40px;\n position: absolute;\n transform: translateY(-50%);\n top: 130px;\n right: 16px;\n z-index: 1;\n }\n\n .card-info .main-body {\n padding: 16px;\n padding-right: 41px;\n position: relative;\n }\n\n .android .card-info .main-body{\n padding-right: 16px;\n }\n\n .card-info:active .main-body{\n background-color: whitesmoke;\n }\n\n .card-info .main-body .meta-blk {\n max-height: 57px;\n height: 57px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n line-height: 19px;\n font-size: 16px;\n letter-spacing: -0.43px;\n }\n\n .card-info .main-body .title {\n font-weight: bold;\n display: inline;\n }\n\n .card-info .main-body .title.lander{\n display: none;\n }\n\n .card-info .main-body .description {\n position: relative;\n max-height: 38px;\n height: 38px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .card-info .main-body .description.lander{\n display: none;\n }\n\n .card-info .main-body p {\n margin: 0;\n }\n\n .card-info .main-body .details-link {\n position: absolute;\n right: 16px;\n bottom: 50%;\n transform: translateY(50%);\n font-size: 27px;\n color: #767676;\n }\n\n .android .card-info .main-body .details-link {\n display: none;\n }\n\n .flb-layout.info-group .card-info {\n box-shadow: none;\n border-radius: 0;\n }\n\n .flb-layout.info-group .card-info .main-body .meta-blk {\n max-height: 80px;\n height: auto;\n -webkit-line-clamp: 4;\n }\n\n .flb-layout.info-group .card-info .main-body .title.carousel{\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .title.lander{\n display: inline;\n }\n \n .flb-layout.info-group .card-info .main-body .description.carousel {\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .description.lander{\n max-height: 57px;\n height: auto;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n '},detailsUI:{html:'\n
\n
\n
\n
\n
\n
\n
{{data.details.title}}
\n
\n
\n
\n
{{data.details.startDate}}
\n
\n
\n
\n
{{data.details.location}}
\n
\n
\n
\n \n
\n
\n
\n
{{button.label}}
\n
\n
\n
\n ',css:"\n .details-page.info {\n position: relative;\n background-color: #F3F3F3;\n }\n .details-page.info .img-blk {\n position: relative;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n height: 180px;\n border-bottom: 1px solid #cccccc;\n }\n \n .details-page.info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 50px;\n height: 50px;\n position: absolute;\n transform: translateY(-50%);\n top: 180px;\n right: 20px;\n }\n \n .details-page.info .main-content {\n padding: 45px 16px 0px 16px;\n color: #1c1c1c;\n background-color: white;\n }\n \n .details-page.info .main-content .title {\n font-size: 21px;\n line-height: 25px;\n font-weight: 500;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap {\n font-size: 16px;\n color: #555555;\n margin-top: 20px;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item {\n margin-bottom: 10px;\n display: grid;\n grid-template-columns: 30px auto;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item span,\n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n vertical-align: middle\n }\n \n .details-page.info .main-content .meta-wrap .meta-item:last-of-type {\n margin-bottom: 0;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n position: relative;\n width: 20px;\n height: 20px;\n display: inline-block;\n background-size: cover;\n background-position: center;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-value {\n display: inline-block;\n line-height: 20px;\n font-size: 16px;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .body-text {\n padding-top: 20px;\n font-size: 16px;\n line-height: 22px;\n color: black;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .body-text ul {\n padding-inline-start: 30px;\n }\n \n .details-page.info .main-content .body-wrap {\n border-top: 1px solid #cccccc;\n margin-top: 20px;\n overflow: hidden;\n }\n \n .con-wrap {\n position: relative;\n background-color: white;\n padding: 20px 16px;\n }\n\n .con-wrap .button {\n text-align: center;\n border: 1px solid #008a00;\n color: #008a00;\n font-size: 17px;\n letter-spacing: -0.43px;\n padding: 12px 0;\n margin-bottom: 16px;\n cursor: pointer;\n }\n\n .con-wrap .button:first-of-type {\n background-color: #008a00;\n color: white;\n font-weight: bold;\n }\n .con-wrap .button:last-of-type {\n margin-bottom: 0;\n }\n \n .con-wrap .button:active {\n background-color: #1A5336;\n color: white;\n border: 1px solid #1A5336;\n }\n \n @media (min-width: 710px) {\n .details-page.info{\n padding: 32px 64px;\n }\n .con-wrap {\n padding: 12.5px 64px;\n }\n .con-wrap .button{\n max-width: 330px;\n }\n }\n @media (min-width: 810px) {\n .details-page.info .img-blk {\n height: 300px;\n }\n .details-page.info .category-icon {\n right: 70px;\n top: 300px;\n }\n .details-page.info .main-content {\n padding: 45px 70px 120px 70px;\n }\n }\n "}},{key:"personalized-info",defaultUI:{html:'\n
\n
\n
\n
\n
\n \n
{{data.lander.title}}
\n
\n \n
\n
\n \n
\n
\n ',css:'\n .card-info.card-base {\n margin: 0;\n position: relative;\n width: 100%;\n margin: 0;\n border-radius: 8px;\n overflow: hidden;\n background-color: white;\n border: none;\n box-shadow: 0px 1px 4px 0px rgba(28, 28, 28, 0.03),\n 0px 1px 8px 0px rgba(28, 28, 28, 0.06);\n color: #1c1c1c;\n cursor: pointer;\n }\n\n .card-info::after {\n content: "";\n visibility: hidden;\n display: block;\n height: 0;\n clear: both;\n }\n\n .card-info .img-blk {\n position: relative;\n height: 130px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n border-bottom: 1px solid #CCCCCC;\n }\n\n .card-info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 40px;\n height: 40px;\n position: absolute;\n transform: translateY(-50%);\n top: 130px;\n right: 16px;\n z-index: 1;\n }\n\n .card-info .main-body {\n padding: 16px;\n padding-right: 41px;\n position: relative;\n }\n\n .android .card-info .main-body{\n padding-right: 16px;\n }\n\n .card-info:active .main-body{\n background-color: whitesmoke;\n }\n\n .card-info .main-body .meta-blk {\n max-height: 57px;\n height: 57px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n line-height: 19px;\n font-size: 16px;\n letter-spacing: -0.43px;\n }\n\n .card-info .main-body .title {\n font-weight: bold;\n display: inline;\n }\n\n .card-info .main-body .title.lander{\n display: none;\n }\n\n .card-info .main-body .description {\n position: relative;\n max-height: 38px;\n height: 38px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .card-info .main-body .description.lander{\n display: none;\n }\n\n .card-info .main-body p {\n margin: 0;\n }\n\n .card-info .main-body .details-link {\n position: absolute;\n right: 16px;\n bottom: 50%;\n transform: translateY(50%);\n font-size: 27px;\n color: #767676;\n }\n\n .android .card-info .main-body .details-link {\n display: none;\n }\n\n .flb-layout.info-group .card-info {\n box-shadow: none;\n border-radius: 0;\n }\n\n .flb-layout.info-group .card-info .main-body .meta-blk {\n max-height: 80px;\n height: auto;\n -webkit-line-clamp: 4;\n }\n\n .flb-layout.info-group .card-info .main-body .title.carousel{\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .title.lander{\n display: inline;\n }\n \n .flb-layout.info-group .card-info .main-body .description.carousel {\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .description.lander{\n max-height: 57px;\n height: auto;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n '},detailsUI:{html:'\n
\n
\n
\n
\n
\n
\n
{{data.details.title}}
\n
\n
\n
\n
{{data.details.startDate}}
\n
\n
\n
{{data.details.location}}
\n
\n
\n
\n \n
\n
\n
\n
{{button.label}}
\n
\n
\n
\n ',css:"\n .details-page.info {\n position: relative;\n background-color: #F3F3F3;\n }\n .details-page.info .img-blk {\n position: relative;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n height: 180px;\n border-bottom: 1px solid #cccccc;\n }\n \n .details-page.info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 50px;\n height: 50px;\n position: absolute;\n transform: translateY(-50%);\n top: 180px;\n right: 20px;\n }\n \n .details-page.info .main-content {\n padding: 45px 16px 0px 16px;\n color: #1c1c1c;\n background-color: white;\n }\n \n .details-page.info .main-content .title {\n font-size: 21px;\n line-height: 25px;\n font-weight: 500;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap {\n font-size: 16px;\n color: #555555;\n margin-top: 20px;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item {\n margin-bottom: 10px;\n display: grid;\n grid-template-columns: 30px auto;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item span,\n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n vertical-align: middle\n }\n \n .details-page.info .main-content .meta-wrap .meta-item:last-of-type {\n margin-bottom: 0;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n position: relative;\n width: 20px;\n height: 20px;\n display: inline-block;\n background-size: cover;\n background-position: center;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-value {\n display: inline-block;\n line-height: 20px;\n font-size: 16px;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .body-text {\n padding-top: 20px;\n font-size: 16px;\n line-height: 22px;\n color: black;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .body-text ul {\n padding-inline-start: 30px;\n }\n \n .details-page.info .main-content .body-wrap {\n border-top: 1px solid #cccccc;\n margin-top: 20px;\n overflow: hidden;\n }\n \n .con-wrap {\n position: relative;\n background-color: white;\n padding: 20px 16px;\n }\n \n .con-wrap .button {\n text-align: center;\n border: 1px solid #008a00;\n color: #008a00;\n font-size: 17px;\n letter-spacing: -0.43px;\n padding: 12px 0;\n margin-bottom: 16px;\n cursor: pointer;\n }\n\n .con-wrap .button:first-of-type {\n background-color: #008a00;\n color: white;\n font-weight: bold;\n }\n .con-wrap .button:last-of-type {\n margin-bottom: 0;\n }\n \n .con-wrap .button:active {\n background-color: #1A5336;\n color: white;\n border: 1px solid #1A5336;\n }\n\n @media (min-width: 710px) {\n .details-page.info{\n padding: 32px 64px;\n }\n .con-wrap {\n padding: 20px 64px;\n }\n .con-wrap .button{\n max-width: 330px;\n }\n }\n @media (min-width: 810px) {\n .details-page.info .img-blk {\n height: 300px;\n }\n .details-page.info .category-icon {\n right: 70px;\n top: 300px;\n }\n .details-page.info .main-content {\n padding: 45px 70px 120px 70px;\n }\n }\n "}},{key:"td-for-me",defaultUI:{html:'\n
\n
\n
\n
\n
\n \n
{{data.lander.title}}
\n
\n \n
\n
\n \n
\n
\n ',css:'\n .card-info.card-base {\n margin: 0;\n position: relative;\n width: 100%;\n margin: 0;\n border-radius: 8px;\n overflow: hidden;\n background-color: white;\n border: none;\n box-shadow: 0px 1px 4px 0px rgba(28, 28, 28, 0.03),\n 0px 1px 8px 0px rgba(28, 28, 28, 0.06);\n color: #1c1c1c;\n cursor: pointer;\n }\n\n .card-info::after {\n content: "";\n visibility: hidden;\n display: block;\n height: 0;\n clear: both;\n }\n\n .card-info .img-blk {\n position: relative;\n height: 130px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n border-bottom: 1px solid #CCCCCC;\n }\n\n .card-info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 40px;\n height: 40px;\n position: absolute;\n transform: translateY(-50%);\n top: 130px;\n right: 16px;\n z-index: 1;\n }\n\n .card-info .main-body {\n padding: 16px;\n padding-right: 41px;\n position: relative;\n }\n\n .android .card-info .main-body{\n padding-right: 16px;\n }\n\n .card-info:active .main-body{\n background-color: whitesmoke;\n }\n\n .card-info .main-body .meta-blk {\n max-height: 57px;\n height: 57px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n line-height: 19px;\n font-size: 16px;\n letter-spacing: -0.43px;\n }\n\n .card-info .main-body .title {\n font-weight: bold;\n display: inline;\n }\n\n .card-info .main-body .title.lander{\n display: none;\n }\n\n .card-info .main-body .description {\n position: relative;\n max-height: 38px;\n height: 38px;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n .card-info .main-body .description.lander{\n display: none;\n }\n\n .card-info .main-body p {\n margin: 0;\n }\n\n .card-info .main-body .details-link {\n position: absolute;\n right: 16px;\n bottom: 50%;\n transform: translateY(50%);\n font-size: 27px;\n color: #767676;\n }\n\n .android .card-info .main-body .details-link {\n display: none;\n }\n\n .flb-layout.info-group .card-info {\n box-shadow: none;\n border-radius: 0;\n }\n\n .flb-layout.info-group .card-info .main-body .meta-blk {\n max-height: 80px;\n height: auto;\n -webkit-line-clamp: 4;\n }\n\n .flb-layout.info-group .card-info .main-body .title.carousel{\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .title.lander{\n display: inline;\n }\n \n .flb-layout.info-group .card-info .main-body .description.carousel {\n display: none;\n }\n .flb-layout.info-group .card-info .main-body .description.lander{\n max-height: 57px;\n height: auto;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n '},detailsUI:{html:'\n
\n
\n
\n
\n
\n
\n
{{data.details.title}}
\n
\n
\n
\n
{{data.details.startDate}}
\n
\n
\n
{{data.details.location}}
\n
\n
\n
\n \n
\n
\n
\n
{{button.label}}
\n
\n
\n
\n ',css:"\n .details-page.info {\n position: relative;\n background-color: #F3F3F3;\n } \n .details-page.info .img-blk {\n position: relative;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n height: 180px;\n border-bottom: 1px solid #cccccc;\n }\n \n .details-page.info .category-icon {\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n width: 50px;\n height: 50px;\n position: absolute;\n transform: translateY(-50%);\n top: 180px;\n right: 20px;\n }\n \n .details-page.info .main-content {\n padding: 45px 16px 0px 16px;\n color: #1c1c1c;\n background-color: white;\n }\n \n .details-page.info .main-content .title {\n font-size: 21px;\n line-height: 25px;\n font-weight: 500;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap {\n font-size: 16px;\n color: #555555;\n margin-top: 20px;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item {\n margin-bottom: 10px;\n display: grid;\n grid-template-columns: 30px auto;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item span,\n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n vertical-align: middle\n }\n \n .details-page.info .main-content .meta-wrap .meta-item:last-of-type {\n margin-bottom: 0;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-icon {\n position: relative;\n width: 20px;\n height: 20px;\n display: inline-block;\n background-size: cover;\n background-position: center;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .meta-wrap .meta-item .meta-value {\n display: inline-block;\n line-height: 20px;\n font-size: 16px;\n vertical-align: middle;\n }\n \n .details-page.info .main-content .body-text {\n padding-top: 20px;\n font-size: 16px;\n line-height: 22px;\n color: black;\n letter-spacing: -0.43px;\n }\n \n .details-page.info .main-content .body-text ul {\n padding-inline-start: 30px;\n }\n \n .details-page.info .main-content .body-wrap {\n border-top: 1px solid #cccccc;\n margin-top: 20px;\n overflow: hidden;\n }\n \n .con-wrap {\n position: relative;\n background-color: white;\n padding: 20px 16px;\n }\n\n .con-wrap .button {\n text-align: center;\n border: 1px solid #008a00;\n color: #008a00;\n font-size: 17px;\n letter-spacing: -0.43px;\n padding: 12px 0;\n margin-bottom: 16px;\n cursor: pointer;\n }\n \n .con-wrap .button:first-of-type {\n background-color: #008a00;\n color: white;\n font-weight: bold;\n }\n .con-wrap .button:last-of-type {\n margin-bottom: 0;\n }\n \n .con-wrap .button:active {\n background-color: #1A5336;\n color: white;\n border: 1px solid #1A5336;\n }\n\n @media (min-width: 710px) {\n .details-page.info{\n padding: 32px 64px;\n }\n .con-wrap {\n padding: 20px 64px;\n }\n .con-wrap .button{\n max-width: 330px;\n }\n }\n @media (min-width: 810px) {\n .details-page.info .img-blk {\n height: 300px;\n }\n .details-page.info .category-icon {\n right: 70px;\n top: 300px;\n }\n .details-page.info .main-content {\n padding: 45px 70px 120px 70px;\n }\n }\n "}},{key:"text-link",defaultUI:{html:'\n \n ',css:'\n .card-textlink{\n position: relative;\n min-height: 200px;\n width: 100%;\n margin: 0 10px;\n border-radius: 5px;\n overflow: hidden;\n background-color: transparent;\n color: #3f3f3f;\n }\n .card-textlink:hover .img-blk{\n box-shadow: 0 2px 5px rgba(0,0,0,0.24);\n }\n .card-textlink .img-blk{\n border-radius: 15px;\n }\n .card-textlink::after{\n content: "";\n visibility: hidden;\n display: block;\n height: 0;\n clear: both;\n }\n .card-textlink .img-blk{\n position: relative;\n height: 130px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n }\n .card-textlink .main-body {\n padding: 10px 0;\n }\n .card-textlink .main-body .header {\n font-size: 12px;\n padding: 5px 0;\n }\n .card-textlink .main-body .title {\n font-weight: bold;\n color: black;\n font-size: 14px;\n padding: 5px 0 10px 0;\n }\n .card-textlink .main-body .action {\n cursor: pointer;\n color: #0c94f2;\n font-weight: bold;\n font-size: 12px;\n margin-top: 10px;\n }\n .card-textlink .main-body .description{\n font-size: 12px;\n }\n '},detailsUI:{html:"",css:""}},{key:"button-link",defaultUI:{html:'\n