(self.webpackChunksmile_ui=self.webpackChunksmile_ui||[]).push([["src_smile-ui_app_containers_Launcher_Launcher_tsx"],{308:(e,t,i)=>{"use strict";i(22822);var a=i(61747);e.exports=a("Array","every")},11163:(e,t,i)=>{"use strict";i.d(t,{x:()=>a});const a=i.g.window},13155:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>N});var a=i(50697),n=i.n(a),l=i(56255),s=i.n(l),r=i(61240),o=i.n(r),c=i(8628),u=i.n(c),h=i(5574),d=i.n(h),m=i(15299),p=i(71468),b=i(96522),y=i(92034),g=i(28511),v=i(31307),_=i(14166),f=i.n(_),w=i(64007),x=i.n(w),M=i(11163);class S extends m.Component{constructor(e){super(e),this.calculateLauncherSize=()=>{let e=300,t=this.context.displaySettings.featureFlags;return this.launcherContainer&&this.launcherContainer.current&&(!this.state.isMobile&&"image"===this.props.launcherData.layout||this.state.isMobile&&"text"!==this.props.launcherData.mobile_layout?(e=this.launcherContainer.current.ownerDocument.querySelector(".launcher-image").offsetWidth,e+=e>30?41:30):e=this.launcherContainer.current.ownerDocument.querySelector(".launcher-content-container").offsetWidth+41,e<60&&(e=this.state.isMobile&&t.usesImprovedMobileLauncher?44:60)),e},this.renderLauncherWidth=()=>{this.setState({width:this.calculateLauncherSize()})},this.renderLauncherVisibility=()=>{let{previewData:e,previewMode:t,launcherData:i,launcherInstance:a,toggleLauncherVisibility:n}=this.props;const l=(({previewMode:e,previewData:t,launcherData:i,isMobile:a})=>{if(!0===e)return"launcher"===t.previewType||"nudges"===t.previewType||null!==i.visibility_setting;if(!1===i.is_visible)return!1;if(a&&"desktop"===i.visibility_setting)return!1;let n=M.x.location.pathname;return(!i.hide_on_index_page||"/"!==n)&&!(i.hidden_url_paths.length>0&&!f()(l=i.hidden_url_paths).call(l,e=>-1===x()(n).call(n,e)));var l})({previewMode:t,previewData:e,launcherData:i,isMobile:this.state.isMobile});l!==a.isVisible&&n(l)},this.toggleLauncherState=()=>{let{closePanel:e,clearNudges:t,dismissNudge:i,launcherInstance:a,nudges:l,openPanel:r,panelInstance:o,previewMode:c,toggleLauncherState:u}=this.props;if(!c)if(!1===this.state.enableAnimations&&this.setState({enableAnimations:!0}),u(!a.isOpen),!0===o.isOpen)e();else{let e=l.currentNudge&&l.currentNudge.id&&n()(l.currentNudge).length>0&&!o.isOpen;const c={data:{trigger:"launcher"}};!0===e?(i(),s()(()=>{t(),!0==!a.isOpen&&r(c)},y.WB)):r(c)}},this.state={width:300,enableAnimations:!1,isMobile:d()(),stylesheet:null},this.launcherContainer=m.default.createRef(),this.loadStyles()}componentDidMount(){this.renderLauncherVisibility()}componentDidUpdate(){let{previewMode:e,launcherData:t}=this.props;if(!0===e&&(!0===t.isMobile?!1===this.state.isMobile&&this.setState({isMobile:!0}):!1===t.isMobile&&!0===this.state.isMobile&&this.setState({isMobile:!1})),!e&&this.state.isMobile)return;let i=this.state.width,a=this.calculateLauncherSize();Math.abs(a-i)>5&&this.setState({width:a})}async loadStyles(){const e=i.e("launcher-container-styles").then(i.t.bind(i,24801,17)),t=i.e("launcher-content-styles").then(i.bind(i,48083)),[{default:a}]=await o().all([t,e]);this.setState({stylesheet:a})}render(){var e;if(document.getElementById("smile-ui-lite-container")||!this.state.stylesheet)return null;let{launcherData:t,launcherInstance:i,previewMode:a,previewData:l}=this.props,{display:s,opacity:r,visibility:o,width:c,enableAnimations:h,isMobile:d}=this.state;if(!1===i.isVisible)return null;let{smile_ui_desktop_side_margin:p,smile_ui_desktop_bottom_margin:y,smile_ui_desktop_position:v,smile_ui_mobile_side_margin:_,smile_ui_mobile_bottom_margin:f,smile_ui_mobile_position:w,isMobile:x}=this.context.displaySettings,M=null==(e=this.context.displaySettings.featureFlags)?void 0:e.usesImprovedMobileLauncher,S=p,N=y,D=v;var L;(d&&(S=_,N=f,D=w),a)&&("launcher"===l.previewType?(S="3rem",N="3rem"):(S="5px",N="5px"),u()(L=n()(this.context.displaySettings)).call(L,"isMobile")&&document.querySelector(".placement-guides-preview")&&x&&(D=w,d=!0,S="5px",N="5px"));let E="smile-launcher-font-color-"+("#000000"===t.text_color?"dark":"light"),C=`smile-launcher-border-radius-${t.border_radius_style}`,I=`?color=${encodeURIComponent(t.text_color)}`,$={display:s,opacity:r,visibility:o,bottom:N,width:c};"left"===D?$.left=S:$.right=S;let k=document.getElementById("smile-ui-lite-container"),A=!d&&"text"===t.layout||d&&"text"===t.mobile_layout,O=!d&&"image"===t.layout||d&&"text"!==t.mobile_layout,V=!d&&"text_and_icon"===t.layout,W=d&&M,P=W?t.mobile_text:t.text;const B="Button to open loyalty program pop-up";return m.default.createElement("div",{style:$,className:`smile-launcher-frame-container ${C} ${i.isOpen?"smile-launcher-open":"smile-launcher-closed"} ${h?"smile-launcher-animate":k?"smile-no-animation":""} ${W?"smile-improved-mobile-launcher":""}\n `},m.default.createElement(b.Ay,{head:m.default.createElement("title",null,B),initialContent:(0,g.io)({styles:this.state.stylesheet,bodyClassName:"launcher-body"}),title:B,className:"smile-launcher-frame",contentDidMount:this.renderLauncherWidth},m.default.createElement("button",{className:"launcher-button",style:{"--launcher-color":t.color},onClick:this.toggleLauncherState,"aria-label":(i.isOpen?"Close":"Open")+" Smile.io Rewards Program"},m.default.createElement("div",{className:`launcher-container background-primary ${E} ${C} ${i.isOpen?"launcher-open":"launcher-closed"} ${a?"preview-mode":""}\n ${W?"smile-improved-mobile-launcher":""}\n `,ref:this.launcherContainer,tabIndex:"-1"},A&&m.default.createElement("div",{className:"launcher-content-container"},m.default.createElement("div",{className:"launcher-text"},P)),V&&m.default.createElement("div",{className:"launcher-content-container"},m.default.createElement("img",{src:t.icon_url+I,className:"launcher-icon",alt:"",role:"presentation"}),m.default.createElement("div",{className:"launcher-text"},P)),O&&m.default.createElement("div",{className:"launcher-content-container"},m.default.createElement("img",{src:t.icon_url+I,className:`launcher-image ${d&&"launcher-icon"}`,onLoad:()=>this.renderLauncherWidth,alt:"",role:"presentation"})),m.default.createElement("div",{className:"launcher-close-icon close-btn"})))))}}S.contextType=v.A;const N=(0,p.Ng)(e=>({launcherData:e.launcherData,launcherInstance:e.launcherInstance,nudges:e.nudges,panelInstance:e.panelInstance,previewData:e.previewData,previewMode:e.previewMode}),e=>({closePanel:()=>e((0,y.Zv)()),dismissNudge:()=>e((0,y.Y_)()),clearNudges:()=>e((0,y.c8)()),openPanel:t=>e((0,y.NE)(t)),toggleLauncherState:t=>e((0,y.gi)(t)),toggleLauncherVisibility:t=>e((0,y.hg)(t))}))(S)},14166:(e,t,i)=>{e.exports=i(47439)},22822:(e,t,i)=>{"use strict";var a=i(11091),n=i(70726).every;a({target:"Array",proto:!0,forced:!i(77623)("every")},{every:function(e){return n(this,e,arguments.length>1?arguments[1]:void 0)}})},47439:(e,t,i)=>{"use strict";var a=i(94826);e.exports=a},94826:(e,t,i)=>{"use strict";var a=i(88280),n=i(308),l=Array.prototype;e.exports=function(e){var t=e.every;return e===l||a(l,e)&&t===l.every?n:t}}}]);