storyly-web 2.13.0 → 2.13.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/layouts/Classic/Story/index.js","src/layouts/Classic/Group/index.js","src/layouts/Classic/index.js"],"names":["_platform","_interopRequireDefault","require","_os","_browsers","_layerTypes","_style","_util","_story","_events","_directions","_storage","_service","_proxy","_HlsPlayer","_ShareWidget","_AudioNotification","_CTA","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Story","_ref","_platform$os","story","group","storiesContainer","progressDoms","instanceId","_classCallCheck2","storyDom_","layersContainer_","document","createElement","story_","storyData_","layers_","group_","key_","storiesContainer_","progressDoms_","Proxy","storyProgressSecond_","progressPaused_","imageAsset_","videoAsset_","videoAssetLoadingStarted_","storyProgressRemain_","progressTime_","osFamily_","platform","os","family","toLocaleLowerCase","isBlankStory_","imageAssetLoaded_","instanceId_","timedLayers_","setClass","setAttribute","directions","LTR","attachCallbacksToElement_","render_","_createClass2","get","value","onVideoLoadedData_","bind","onVideoEnded_","onVideoWaiting_","onVideoPlaying_","handleSoundStory_","playAndPauseStory","handleCloseGroup_","renderShareWidget","onImageLoad_","handleAccessibilityOnOff_","handleLayersVisibility_","setCustomEvents_","addEventListener","_getStoryAssetFromLay","getStoryAssetFromLayers","media","layers","storyData","storyBg","componentTemplate","StoryTemplate","type","mediaHost","media_host","thumbnail","thumbnail_url","altText","alt_text","generateHtmlFromTemplate","appendChild","story_id","loadLayers_","querySelector","handleVideoEvents_","once","img","setStyle","_ProxyClass$getNodeBy","ProxyClass","getNodeByInstanceId","getDataFromGlobal","globalInstanceData","createAndDispatchEvent","wrapperDom","handleProgressBar_","position","sizing","_this$imageAsset_","clientHeight","clientWidth","setStoryClassByAsset_","height","width","_ref2","h","toFixed","_onVideoLoadedData_","_asyncToGenerator2","_regenerator","mark","_callee","VideoSeekBar","wrap","_callee$","_context","prev","next","videoAssetLoaded_","videoHeight","videoWidth","duration","isLiveVideo","video_type","resolve","sent","videoSeekbar_","storyDom","videoDom","playPauseStory","setProgressTime","stop","accessibility","storyActions","soundAction","videoHasAudio","soundOn_","classList","replace","soundOn","soundOff","removeEvents_","shareAction","playPauseAction_","removeClickEventListener","accessibilityAction_","removeEventListener","_onVideoShown_","_callee2","_this","sourceTag","_callee2$","_context2","dataset","src","HlsPlayer","tag","hls_","load","videoPausedPromise_","then","videoPlayedPromise_","play","onVideoShown_","_loadLayers_","_callee4","_this2","_callee4$","_context4","_ref3","_callee3","layer","tempLayer","params","BlankStory","Emoji","Poll","Rating","Quiz","Countdown","ImageCTA","Media","Text","ProductTag","PromoCode","Question","ProductCard","ProductCatalog","ImageQuiz","_callee3$","_context3","LayerTemplateTypes","IMAGE","bg_color","gradient_colors","instance","EMOJI","POLL","RATING","QUIZ","COUNTDOWN","IMAGE_CTA","BUTTON","SWIPE","CTA","image_path","video_path","image_url","TEXT","PRODUCT_TAG","PROMO_CODE","QUESTION","PRODUCT_CARD","PRODUCT_CATALOG","IMAGE_QUIZ","start_time","end_time","hideLayer","_x","_this3","storylyEmbed","init","autoPlay","progressInterval_","progressCount_","span","concat","setInterval","handleProgress_","_this4","progressTime","currentTime","startTime","endTime","showLayer","clearInterval","handleStoryActions_","isMobileView","removeAttribute","closeAction","closeButton","setClickEventListener","videoMuted","muted","isSharable","is_sharable","hasShareButton","shareButton","handleShareButton_","shareDom","_platform$name","browser","name","IOS","browsers","SAFARI","add","e","_this5","alert","AudioNotification","append","setTimeout","removeChild","addClass","removedClass","contains","readAccessibilityText","languageJSON","a11y_story_unmuted","a11y_mute_story","a11y_story_muted","a11y_unmute_story","handleAccessibilityAltText_","header","a11y_empty_alt_text","a11y_disable_accessibility","handleAccessibilityFocus_","_this6","storiesHasAltText","blur","focus","exposeAccessibilityElements_","querySelectorAll","button","poll","hideAccessibilityElements_","pressed","getAttribute","String","pause","Storage","setItemToGlobal","accessibilityEnabled","hasAttribute","a11y_dtap_enable_accessibility","sendStoryViewedEvent_","getStoryData","eventName","CustomerEventTypes","onStoryViewed","_renderShareWidget","_callee5","_callee5$","_context5","ShareWidget","dom","shareWidget_","_this7","tabChange","undefined","hideShareWidget","_this8","eventType","EventTypes","Paused","a11y_pause_story","Resumed","pauseByTouch","playAfterTouch","touchTimeout","playByEmbed","_this9","handleStoryTitleOnChange_","title","textContent","show","removeClass","hide","_this10","_this$shareWidget_","_ref4","_ref4$isBack","isBack","_ref4$holdActive","holdActive","startInterval_","progressStarted_","resetStyle","getWatchLength","remainProgress","Math","floor","getProgressPausedStatus","getStoryMedia","host","index","sendStoryClickedEvent","onNextStory","onPreviousStory","setKey","time","_default","exports","_Story","_BottomSheet","_playmode","_storyHeader","_storyProgress","_icons","MobileGroup","storyInstances_","activeStoryIndex_","lastSeenStoryIndex_","playable_","loadded_","groupWrapper_","stories_","stories","setInstanceId","handleConditionalStories","nextStory","prevStory","handleClickEmbedPlay_","render","id","group_id","renderEmbedAssets_","renderBottomSheet_","renderProductCart_","Promise","hasInstance","componentsData","getItemFromInstance","newStories","conditions","result","every","some","condition","componentData","r","p","isRedered","findIndex","s","createStoryAndProgress_","progressDom","storyProgressTemplate","progressWrapper","storyInstance","splice","storyIns","storyKey","before","after","renderStories_","_renderProductCart_","productLayers","_ProxyClass$getNodeBy2","isStorylyCartActive","StoryCart","getProductLayers","storyCart","parentDom","bottomSheet_","BottomSheet","detail","activate","body","footer","rerender","embedContainer_","playNode","embedPlayIcon","rePlayNode","embedRePlayIcon","stopEventBubbling","canPlay","handleEmbedReplay_","oldStory","loadState_","renderStoryHeader_","_this$storiesContaine","storyHeaderDom","storyHeaderTemplate","remove","prepend","renderProgressLines_","renderAccessibilityButton_","svg","accessibilityIcon","headerDom","storyLength","shareParams","playMode","PlayMode","STORY","deactivate","storyState_","_this$group_$stories","reject","currentStory","storiesLength","storyStateIndex","currentGroup","_state$currentGroup","state","hasState","v","storyId","storyIndex","Date","now","setItemToInstance","_state$currentGroup2","activeStoryId","newGroupState","newState","newStoryIndex","tempIndex","isAllStoriesSeen","storyIds","map","includes","handleProgressBarByParameters_","progressLength","sendGroupViewedEvent_","onStoryGroupViewed","_this$storyCart","refresh","nudge","loadByParameters","loadedByParameters_","isStoryRendered","unLoad","_ref3$holdActive","getActiveStory","_this$group_$stories$","activeStory","getPrevStory","_this$group_$stories2","sendGroupClickedEvent","onNextStoryGroup","onPreviousStoryGroup","_Group","ClassicLayout","groupsOverlay","groupsOverlay_","renderGroupActions_","renderGroupNavigations_","setGroupInstance","closeIcon","a11y_close","tabIndex","direction","_e$detail","isMobile","_this$globalInstanceD","videoSeekbarEnabled","groupContainer","navButtons","navigationButtonsTemplate","navigationButtons","nextButton","prevButton","RTL"],"mappings":";;;;;;;;AEAA,IAAAU,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAQA,IAAAuhB,MAAA,GAAAxhB,sBAAA,CAAAC,OAAA;ADTA,ADAA,AEWAA,IDXA0Y,ADAA5Y,GEWA,GDXA,GAAAC,ADAA,GAAAA,mBCAA,CAAAC,EDAA,CAAAA,ICAA,GDAA;ACCA,ADAA,AEWA,IDXA2Y,ADAA1Y,AEWAU,GFXA,GAAAZ,AEWA,GAAAA,GDXA,GAAAA,aDAA,CAAAC,EEWA,CAAAA,IFXA,CCAA,CAAAA,CCWA,MDXA;AACA,ADAA,AEUyC,IDVzC4Y,ADAA1Y,KEUyCH,IDVzC,ADAA,GCAAA,ADAAA,gBEUyCiB,GAAA,GDVzC,ADAA,CCAAhB,ADAAA,OCAA,ADAA,AEUyCgB,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;ADTzC,ADAA,AESyC,IDTzCZ,ADAAD,AEWMqhB,MDXN,GAAAxhB,EDAA,EEWmB,CFXnBA,ECAA,KDAA;ACCA,ADAA,EEWE,EDXFK,ADAAD,KCAA,CDAA,CEWEohB,CDXFxhB,CDAAA,MCAA,CDAA,KEWcyhB,aAAa,EAAEte,UAAU,EAAE;ADDzC,ADTA,ICSA1C,ADTAJ,AEUyC,IAAA+C,CFVzC,GCSA,ADTApD,GCSAD,IDTA,KEUyC,CAAAmB,OAAA,KDDzC,CAAAlB,ECCyCwhB,KDDzC,QCCyC;ADCzC,ADGA,ICHA3I,ADGAvY,AEHI,MFGJ,GAAAP,GCHA,GAAAA,gBDGA,CAAAC,KCHA,CAAAA,CDGA,MCHA;AACA,ADGA,ICHA8Y,ADGAvY,AEHI,IAAI,CAACmhB,EFGT,GAAA1hB,ICHA,GAAAD,ADGA,EEHuB,GAAG0hB,aAAa,IDAvC,CAAAzhB,OAAA;AACA,ADGA,ICHA+Y,ADGAvY,MCHA,GAAAR,EDGA,GAAAD,ECHA,oBDGA,CAAAC,OAAA;ACFA,ADGA,ICHAO,ADGAE,AEHI,ODAJ,CDGA,ECHAT,CDGAD,MCHA,gBDGA,CAAAC,OAAA;ACFA,ADGA,ICHAW,ADGAD,AEHI,IAAI,CAACqE,CDAT,EDGA,CCHAhF,EDGAC,KEHoB,EFGpB,CEHuBmD,UAAU,EDAjC,CAAAnD,OAAA;AAA4C,ADI5C,IAAAW,AEFI,IAAAqH,CDFwCjI,CDI5C,GAAAA,gBEFI,GDFwCiB,ACETiH,GDFS,ADI5C,CAAAjI,OAAA,GCJ4CgB,ACEC,CAACkH,EDFF,IAAAlH,GAAA,CAAAC,SCEqB,CDFrB,ACEsBkC,GDFtBnC,GAAA,ICEgC,CDFhCE,ACEiC,CAACiH,MDFlC,EAAAnH,GAAA,MCEmD,CAAC,CAAC;ADFrD,ADM5C,IAAAJ,EEJYwH,GDFgCjH,KDM5C,GCN4CC,ADM5CrB,MCN4C,CCEd,CDFcsB,ECEd2G,YDFc,ADM5C,CAAAhI,OCN4CsB,ADM5C,CEJ8B,CAAlB8G,EDFgC,GAAA7G,MAAA,CAAAD,IAAA,CAAAF,CCEd,KDFc,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,ADO5C,IAAAT,AEJI,KDHwCmB,ODO5C,GAAAjC,ICP4CkC,MAAA,YDO5C,CCP4CC,ADO5ClC,CCP4C,MAAAkC,ADO5C,CCP4C,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAtB,OAAA,EAAAe,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,ADQ5C,ICNM+W,ADMNlY,AEJI,IAAI,CAACsH,MDFQ,ODMjB,GAAArI,EEJ2B,GAAGqI,iBFI9B,CAAApI,AEJgD,OFIhD;AAEA,ECPE,EDOFe,AEJI,IFIJ,AEJQ,CAAC,EDHPiY,ADOFjZ,EEJa,CAACqI,SDHApF,KAAK,EAAET,ECGW,CDHR,ADOxB,AEJiC6N,CFIjCpQ,CCP0BmD,MDO1B,ICPoC,ACGS,CAACkN,CDHR,GCGY,EAAE;AFId,ICPA,ECIhC,EDJgCjN,CDOArD,CEH5B,CAAC4hB,aDJ2B,CAAAzgB,KCIR,CAAC,CDJO,ADOAF,AEHN,GFGM,KCPAgY,MDOAhY,GAAA,ECPA,EDOAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,ICNlC,ACIA,KFEkCG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,ICLlC,ACIA,IDJI,ACIA,CDJCsC,ADK6B5B,AED7B4f,MDJM,GAAG5e,KAAK,ADKef,MAAA,GEDN,GAAG,IAAI,CAAC2f,EFCF1f,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,AEDyB,CAACuD,IAAI,CFC9B,AED+B,EFC/BzD,CAAA,CEDmC,CAAC,QFCpCG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAtB,OAAA,EAAAe,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,IAEhCW,AEFF,IAAI,CFEG,AEFF8e,cAAc,CAACnb,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAACqb,uBAAuB,CAAC;EFGhG,AEFA,EDJE,ODMFhf,MAAAC,IAAA,EAA+E;ICL7E,ADK6E,ICLzE,ADKyEC,CCLxEe,IAAI,GAAGtB,GAAG,CDK8D;EEA/E,EFA+E,IAAjEQ,KAAK,GAAAF,IAAA,CAALE,KAAK;AECrB,IDJI,EDGmBR,GAAG,GAAAM,IAAA,CAAHN,GAAG;AEE1B,IDJI,EDEwBS,ECFpB,CAACiW,EDEwB,GAAApW,IAAA,CAALG,KCFJ,ADES,GCFN,EAAE;ACK7B,MFHmCC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;AEInD,IDJI,EDAiDC,YAAY,GAAAL,IAAA,CAAZK,YAAY;AEKjE,IDJI,EDD+DC,ECC3D,CAACY,ODDoE,GAAAlB,GCCvD,CDDuD,CAAVM,CCC1C,EAAE,ODDkD;EEA3E,EFA2E,EEA3EoC,EFA2EnC,WEA3E,CAAAlC,IFA2E,CAAAA,EEA3E,EAAAsgB,GFA2E,QAAA5e,EEA3E,GFA2E;ICGzE,ADFA,AEDFL,GAAA;IDIE,ADFA,AEFFkD,IDIM,ADFA,CCECyT,ADFA7V,AEFP,EAMA,OFJgB,EEIhBwe,CFJmB,IAAI,CCEC,GAAG,CAAC,OCEX7e,KAAK,EAAET,GAAG,EAAE;MAC3B,OAAO,IAAIyW,cAAW,CAAChW,KAAK,EAAET,GAAG,EAAE,IAAI,CAACwC,WAAW,CAAC;IDDpD,ADFA,AEIF;IDDE,ADFA,ICEI,ADFA,CCECoU,ADFA7V,gBAAgB,GCEG,ADFAC,GCEG,CAAC,IDFI,CAACC,aAAa,CAAC,KAAK,CAAC;IEKvD;AACF,IDFI,ADFA;AEKJ,IDFI,ADFA,ICEI,ADFA,CCEC4V,ADFA3V,MAAM,GCEG,ADFAV,GCEG,EDFE,ECEE;ACGzB;EAHE,EDEE,ADFA;ICGA,ADFA,AEDFR,GAAA,CDGM,ADFA,CCEC8W,ADFA3V,QCEQ,EDFE,CCEC,EDFE,CAAC,CAAC,CCEC;ICHvB+B,KAAA,EAIA,SAAAkc,oBAAA,EAAsB;IDCpB,ADFA,EECoB,IAAA9V,KAAA;IDEpB,ADFA,EECA,EDCI,ADFA,CCECyN,ADFA3V,CECCme,MFDM,GAAG,AECA,EFDE,CCEC,ACDAve,GDCG,IAAI,CCDC,CAACC,aAAa,CAAC,QAAQ,CAAC;MAClD,IAAA0B,kBAAY,EAAC4c,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC1Z,kBAAkB,CAACgL,YAAY,CAAC2O,UAAU,CAAC;IDEtF,ADFA,EECAD,SAAS,CAAC7W,SAAS,CAACuH,GAAG,CAAC,kCAAkC,CAAC;IDE3D,ADFA,EECAsP,EDCI,ADFA,CCECvI,ADFA3V,MAAM,AECF,CAACoe,CDCG,CDFChf,ECEE,GDFG,CCEC,ACDF,CDCGY,ECDA,IDCM,ACDF,CDCG4V,OAAO;MCAnCsI,SAAS,CAAC5c,YAAY,CAAC,WAAW,EAAE,IAAI,CAACkD,kBAAkB,CAAC6Z,SAAS,CAAC;IDEtE,ADFA,EECA,IAAI,CAACP,cAAc,CAACla,WAAW,CAACsa,SAAS,CAAC;IDE1C,ADFA,EECA,EDCI,ADFA,CCEC/c,ADFAlB,CECLsZ,GFDS,GAAG5a,GAAG,CCEC,GAAGY,UAAU,ACDZ,EAAC2e,SAAS,EAAE,YAAY,CAAC;IDG1C,ECFA,EDEI,CAACzc,CCFLoM,wBDE8B,CAAC,CAAC,CCFX,EAACqQ,SAAS,EAAE,YAAM;IDIvCnN,ADJA,IECE,IAAAtM,QDGK,CAACoR,aAAa,CAAC,IAAI,CAAC1U,ACHH,EAAC8G,KAAI,CAAC6V,GDGQ,CAAC,UCHK,EAAE,cAAc,CAAC;IDI7D,ADJA,EECA,CAAC,CDGG,ADJA,AECF,CDGGhI,ADJA5V,iBAAiB,GAAGb,ICII,CAAC,CAAC,UDJU;ECK3C,ICHE,IAAI,CAAC2e,uB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,aAAa,CAAC,cAAc,CAAC;IFXlE,ECCA,ACWA,EFZI,CAAC9C,CCCD,ACWA+F,CDXC0O,WDDa,CEYD,CDXC,CAACrN,ADDE,EEYAoW,GFZK,ECCA,CAACtI,EAAE,GAAG,IAAI,CAACnW,GCWG,EAAE,CDXC,CAACoW,QAAQ;MACpD,ECWEyI,EDXE,CAAC3e,cCWc,CAACmH,EDXE,GAAG1H,ICWI,CAACiP,GDXG,ACWA,CDXChP,ACWA,aDXa,CAAC,KAAK,CAAC,cCWc,CAAC;IFXrE,ECCA,ECWE,EDXFyB,ECWEkY,aDXM,EAAC,IAAI,CAACrZ,GCWK,EAAC4e,UAAU,EDXC,ACWC,EDXC,UCWW,CAAC,iBDXgB,CAAC;IDA9D,ECCA,EDDI,AEYF,CFZG5d,CCCD,CAACwU,CCWH6D,YDXgB,CAAC3V,CDDG,GAAG,KAAK,CEYX,CDXW,CAAC,ACWXkb,IDXe,CAAC5e,KCWN,EAAE,UDXqB,ACWX,CDXY,ACWX;MDV3C,ECWE,EDXFkE,ECWEmV,mBDXF,GAA+BlV,CCWZ,EAAC0a,UAAU,CDXW,CAACza,ACWV,YAAY,CAAC,MDXgB,CAC3D,IAAI,CAACnD,WACP,CAAC,CAACoD,iBAAiB,CAAC,CAAC;IDFrB,ICAQC,ACYN,IAAA+U,cDZwB,GAAAnV,MCYP,EAAC2a,UAAU,EAAE,CDZN,CAAlBva,QCYkC,CAAC,SDZjB;IDC1B,EEYA,EFZI,CAACrD,WAAW,GAAG5B,UAAU;MCG7B,ACUA,IAAAsO,2BAAqB,EAACiR,UAAU,EAAE;IFXlC,ECEA,ECSkC,EDT9B,CAACta,ICUH,IAAAC,UDVqB,GAAGD,eCUF,EACpBka,CDXwC,aCW1B,EACdL,SAAS,KAAK9c,mBAAU,CAACyd,GAAG,GAAG,aAAa,GAAG,aACjD,CAAC;IFdH,ECGA,ACWG,CACH,CFfI,AEeH,CFfI5d,CCGD,IAAI,CAACoD,MDHQ,GAAG,EAAE,OCGK,CAACgI,YAAY,CAACC,IAAI,EAAE;IDD/C,EEcA,EDZE,ADFFpL,EEcAwM,EDZM,CAACwI,UDFC,EAAC,IAAI,CAAC3W,CCEW,CAAC,CAAC,ICYN,EAACqf,OFdQ,EAAE,CEcA,EAAE,eFdgB,CA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","file":"Classic.5186f84f.js","sourceRoot":"..","sourcesContent":["import platform from 'platform';\nimport os from '../../../constants/os';\nimport browsers from '../../../constants/browsers';\nimport { LayerTemplateTypes } from '../../../constants/layerTypes';\nimport { removeClass, resetStyle, setClass, setStyle } from '../../../lib/style';\nimport {\n generateHtmlFromTemplate,\n createAndDispatchEvent,\n isMobileView,\n setAttribute,\n removeAttribute,\n setClickEventListener,\n removeClickEventListener,\n getStoryAssetFromLayers,\n isLiveVideo,\n videoHasAudio,\n getStoryMedia,\n} from '../../../lib/util';\n\nimport StoryTemplate from '../templates/story';\nimport { CustomerEventTypes, EventTypes } from '../../../constants/events';\nimport directions from '../../../constants/directions';\nimport Storage from '../../../lib/storage';\nimport { readAccessibilityText } from '../../../service';\nimport ProxyClass from '../../../lib/proxy';\n\nimport HlsPlayer from '../../../service/HlsPlayer';\nimport ShareWidget from '../../../components/ShareWidget';\nimport AudioNotification from '../../../components/AudioNotification';\n\nimport CTA from '../../../layers/CTA';\n\nclass Story {\n constructor({ story, key, group, storiesContainer, progressDoms, instanceId }) {\n /** @private @type {Element | null} */\n this.storyDom_ = null;\n\n /** @private @type {Element} */\n this.layersContainer_ = document.createElement('div');\n\n /** @private @type {Object} */\n this.story_ = story;\n\n /** @private @type {Object} */\n this.storyData_ = {};\n\n /** @private @type {Array} */\n this.layers_ = [];\n\n /** @private @type {Object} */\n this.group_ = group;\n\n /** @private @type {Number} */\n this.key_ = key;\n\n /** @private @type {Element} */\n this.storiesContainer_ = storiesContainer;\n\n /** @private @type {Array} */\n this.progressDoms_ = new Proxy(progressDoms, []);\n\n /** @private @type {Number} */\n this.storyProgressSecond_ = 7;\n\n /** @private @type {Boolean} */\n this.progressPaused_ = true;\n\n /** @private @type {HTMLImageElement | null} */\n this.imageAsset_ = null;\n\n /** @private @type {HTMLVideoElement | null} */\n this.videoAsset_ = null;\n\n /** @private @type {Boolean} */\n this.videoAssetLoadingStarted_ = false;\n\n /** @private @type {Number} */\n this.storyProgressRemain_ = this.storyProgressSecond_;\n\n /** @private @type {Number} */\n this.progressTime_ = 0;\n\n /** @private @type {String | undefined} */\n this.osFamily_ = platform.os?.family?.toLocaleLowerCase();\n\n /** @private {Boolean} */\n this.isBlankStory_ = false;\n\n /** @private {Boolean} */\n this.imageAssetLoaded_ = false;\n\n /** @private @type {Number} */\n this.instanceId_ = instanceId;\n\n /** @private @type {Array} */\n this.timedLayers_ = [];\n\n setClass(this.layersContainer_, 'layers-container');\n setAttribute(this.layersContainer_, 'dir', directions.LTR);\n\n this.attachCallbacksToElement_();\n this.render_();\n }\n\n get paused() {\n return this.progressPaused_;\n }\n\n /**\n * Attaches callbacks to the DOM element for them to be used by publishers.\n * @private\n */\n attachCallbacksToElement_() {\n this.onVideoLoadedData_ = this.onVideoLoadedData_.bind(this);\n this.onVideoEnded_ = this.onVideoEnded_.bind(this);\n this.onVideoWaiting_ = this.onVideoWaiting_.bind(this);\n this.onVideoPlaying_ = this.onVideoPlaying_.bind(this);\n this.handleSoundStory_ = this.handleSoundStory_.bind(this);\n this.playAndPauseStory = this.playAndPauseStory.bind(this);\n this.handleCloseGroup_ = this.handleCloseGroup_.bind(this);\n this.renderShareWidget = this.renderShareWidget.bind(this);\n this.onImageLoad_ = this.onImageLoad_.bind(this);\n this.handleAccessibilityOnOff_ = this.handleAccessibilityOnOff_.bind(this);\n this.handleLayersVisibility_ = this.handleLayersVisibility_.bind(this);\n }\n\n /**\n * @private\n */\n setCustomEvents_() {\n this.storyDom_.addEventListener('onPlayPause', this.playAndPauseStory);\n }\n\n /**\n * render story\n * @private\n */\n render_() {\n const { storyData, layers, storyBg } = getStoryAssetFromLayers(this.story_.media.layers);\n\n this.storyData_ = storyData;\n this.layers_ = layers;\n const componentTemplate = StoryTemplate({\n story: this.storyData_,\n type: this.storyData_.type,\n mediaHost: this.group_.media_host,\n thumbnail: this.story_.media.thumbnail_url,\n altText: this.story_.alt_text,\n storyBg,\n });\n\n this.storyDom_ = generateHtmlFromTemplate(componentTemplate);\n this.storyDom_.appendChild(this.layersContainer_);\n this.storyDom_.setAttribute('data-story-id', this.story_.story_id);\n\n this.storiesContainer_.appendChild(this.storyDom_);\n\n this.loadLayers_();\n\n if (this.storyData_.type === 'video') {\n this.videoAsset_ = this.storyDom_.querySelector('video');\n this.handleVideoEvents_();\n } else if (!this.isBlankStory_) {\n this.imageAsset_ = this.storyDom_.querySelector('img');\n this.imageAsset_.addEventListener('load', this.onImageLoad_, { once: true });\n } else if (this.isBlankStory_) {\n const img = this.storyDom_.querySelector('.story-image');\n setStyle(img, ['opacity', '0']);\n }\n\n const { globalInstanceData } = ProxyClass.getNodeByInstanceId(\n this.instanceId_\n ).getDataFromGlobal();\n /** @public @type {Object} */\n this.globalInstanceData = globalInstanceData;\n this.setCustomEvents_();\n\n createAndDispatchEvent(this.storyDom_, 'onI18nEvent', {\n wrapperDom: this.storyDom_,\n });\n }\n\n /**\n * on image loaded\n * @private\n */\n onImageLoad_() {\n if (this.imageAssetLoaded_) {\n return;\n }\n this.handleProgressBar_();\n\n this.imageAssetLoaded_ = true;\n if (!this.storyData_.position && !this.storyData_.sizing) {\n const { clientHeight, clientWidth } = this.imageAsset_;\n this.setStoryClassByAsset_({ height: clientHeight, width: clientWidth });\n }\n }\n\n /**\n * set story class by video/image for 9:16\n * @private\n */\n setStoryClassByAsset_({ width, height }) {\n const h = +((height * 56.25) / width).toFixed(2);\n if (h < 100) {\n setClass(this.storyDom_, 'story-9_16');\n }\n }\n\n /**\n * handle video events listener\n * @private\n */\n handleVideoEvents_() {\n this.videoAsset_.addEventListener('loadedmetadata', this.onVideoLoadedData_);\n this.videoAsset_.addEventListener('ended', this.onVideoEnded_);\n this.videoAsset_.addEventListener('waiting', this.onVideoWaiting_);\n this.videoAsset_.addEventListener('playing', this.onVideoPlaying_);\n }\n\n /**\n * on video loaded event\n * @private\n */\n async onVideoLoadedData_() {\n this.videoAssetLoaded_ = true;\n\n this.setStoryClassByAsset_({\n height: this.videoAsset_.videoHeight,\n width: this.videoAsset_.videoWidth,\n });\n this.storyProgressRemain_ = this.videoAsset_.duration;\n this.storyProgressSecond_ = this.videoAsset_.duration;\n\n if (this.videoAsset_.duration >= 120 && !isLiveVideo(this.storyData_.video_type)) {\n const VideoSeekBar = await (await import('../../../components/VideoSeekBar')).default;\n this.videoSeekbar_ = new VideoSeekBar({\n storyDom: this.storyDom_,\n videoDom: this.videoAsset_,\n layers: this.timedLayers_,\n playPauseStory: this.playAndPauseStory.bind(this),\n setProgressTime: this.setProgressTime.bind(this),\n instanceId: this.instanceId_,\n });\n\n this.videoAsset_.addEventListener('seeking', this.handleLayersVisibility_);\n }\n this.videoAsset_.addEventListener('timeupdate', this.handleLayersVisibility_);\n }\n\n /**\n * on video ended event\n * @private\n */\n onVideoEnded_() {\n if (this.globalInstanceData.accessibility) return;\n createAndDispatchEvent(this.storyDom_, 'onNextStory');\n }\n\n /**\n * on video waiting event\n * @private\n */\n onVideoWaiting_() {\n this.progressPaused_ = true;\n }\n\n /**\n * on video playing event\n * @private\n */\n onVideoPlaying_() {\n if (!this.videoAssetLoaded_) {\n return;\n }\n\n const storyActions = this.storiesContainer_.querySelector('.storyly__story-actions');\n const soundAction = storyActions.querySelector('button[data-type=\"sound\"]');\n\n if (!videoHasAudio(this.videoAsset_)) {\n this.soundOn_ = false;\n soundAction.classList.replace('sound-on', 'sound-off');\n }\n\n if (this.soundOn_) {\n this.soundOn();\n } else {\n this.soundOff();\n }\n this.progressPaused_ = false;\n this.handleProgressBar_();\n }\n\n /**\n * remove events\n * @private\n */\n removeEvents_() {\n const storyActions = this.storiesContainer_.querySelector('.storyly__story-actions');\n const soundAction = storyActions.querySelector('button[data-type=\"sound\"]');\n const shareAction = storyActions.querySelector('button[data-type=\"share\"]');\n\n if (this.playPauseAction_) {\n removeClickEventListener(this.playPauseAction_, this.playAndPauseStory);\n }\n if (this.accessibilityAction_) {\n this.accessibilityAction_.removeEventListener('pointerdown', this.handleAccessibilityOnOff_);\n }\n removeClickEventListener(soundAction, this.handleSoundStory_);\n shareAction.removeEventListener('pointerup', this.renderShareWidget);\n }\n\n /**\n * handles video load and play events when story active\n * @private\n */\n async onVideoShown_() {\n const sourceTag = this.videoAsset_.querySelector('source');\n const source = this.videoAsset_.querySelector('source').dataset.src;\n\n if (isLiveVideo(this.storyData_.video_type)) {\n this.hls_ = await HlsPlayer({\n source,\n tag: this.videoAsset_,\n thumbnail: this.storyData_.thumbnail_url,\n });\n } else {\n sourceTag.src = source;\n this.videoAsset_.load();\n }\n\n if (this.videoPausedPromise_) {\n this.videoPausedPromise_.then(() => {\n this.videoPlayedPromise_ = this.videoAsset_.play();\n });\n } else {\n this.videoPlayedPromise_ = this.videoAsset_.play();\n }\n }\n\n /**\n * load layers of story\n * @private\n */\n async loadLayers_() {\n this.layers_.forEach(async (layer) => {\n const tempLayer = layer;\n const params = {\n layer,\n group: this.group_,\n story: this.story_,\n storyDom: this.layersContainer_,\n instanceId: this.instanceId_,\n };\n\n if (layer.type === LayerTemplateTypes.IMAGE && (layer.bg_color || layer.gradient_colors)) {\n this.isBlankStory_ = true;\n const BlankStory = (await import('../../../layers/BlankStory')).default;\n // blank story\n tempLayer.instance = new BlankStory({ ...params });\n }\n\n // components\n if (layer.type === LayerTemplateTypes.EMOJI) {\n const Emoji = (await import('../../../layers/Emoji')).default;\n tempLayer.instance = new Emoji({ ...params });\n }\n if (layer.type === LayerTemplateTypes.POLL) {\n const Poll = (await import('../../../layers/Poll')).default;\n tempLayer.instance = new Poll({ ...params });\n }\n if (layer.type === LayerTemplateTypes.RATING) {\n const Rating = (await import('../../../layers/Rating')).default;\n tempLayer.instance = new Rating({ ...params });\n }\n if (layer.type === LayerTemplateTypes.QUIZ) {\n const Quiz = (await import('../../../layers/Quiz')).default;\n tempLayer.instance = new Quiz({ ...params });\n }\n if (layer.type === LayerTemplateTypes.COUNTDOWN) {\n const Countdown = (await import('../../../layers/Countdown')).default;\n tempLayer.instance = new Countdown({ ...params });\n }\n if (layer.type === LayerTemplateTypes.IMAGE_CTA) {\n const ImageCTA = (await import('../../../layers/ImageCTA')).default;\n tempLayer.instance = new ImageCTA({ ...params, type: LayerTemplateTypes.IMAGE_CTA });\n }\n\n if (layer.type === LayerTemplateTypes.BUTTON || layer.type === LayerTemplateTypes.SWIPE) {\n tempLayer.instance = new CTA({\n ...params,\n type:\n layer.type === LayerTemplateTypes.BUTTON\n ? LayerTemplateTypes.BUTTON\n : LayerTemplateTypes.SWIPE,\n });\n }\n // media layer\n if (\n layer.type === LayerTemplateTypes.IMAGE &&\n (layer.image_path || layer.video_path || layer.image_url)\n ) {\n const Media = (await import('../../../layers/Media')).default;\n tempLayer.instance = new Media({ ...params, mediaHost: this.group_.media_host });\n }\n if (layer.type === LayerTemplateTypes.TEXT) {\n const Text = (await import('../../../layers/Text')).default;\n tempLayer.instance = new Text({ ...params });\n }\n if (layer.type === LayerTemplateTypes.PRODUCT_TAG) {\n const ProductTag = (await import('../../../layers/ProductTag')).default;\n tempLayer.instance = new ProductTag({ ...params });\n }\n if (layer.type === LayerTemplateTypes.PROMO_CODE) {\n const PromoCode = (await import('../../../layers/PromoCode')).default;\n tempLayer.instance = new PromoCode({ ...params });\n }\n if (layer.type === LayerTemplateTypes.QUESTION) {\n const Question = (await import('../../../layers/Question')).default;\n tempLayer.instance = new Question({ ...params, storiesContainer: this.storiesContainer_ });\n }\n if (layer.type === LayerTemplateTypes.PRODUCT_CARD) {\n const ProductCard = (await import('../../../layers/ProductCard')).default;\n tempLayer.instance = new ProductCard({ ...params });\n }\n if (layer.type === LayerTemplateTypes.PRODUCT_CATALOG) {\n const ProductCatalog = (await import('../../../layers/ProductCatalog')).default;\n tempLayer.instance = new ProductCatalog({ ...params });\n }\n if (layer.type === LayerTemplateTypes.IMAGE_QUIZ) {\n const ImageQuiz = (await import('../../../layers/ImageQuiz')).default;\n tempLayer.instance = new ImageQuiz({ ...params });\n }\n\n if (tempLayer.start_time || tempLayer.end_time) {\n tempLayer.instance.hideLayer();\n this.timedLayers_.push(tempLayer);\n }\n });\n }\n\n /**\n * start story progress\n * @private\n * @returns {void}\n */\n handleProgressBar_() {\n if (\n this.globalInstanceData.storylyEmbed.init &&\n !this.globalInstanceData.storylyEmbed.autoPlay\n ) {\n return;\n }\n\n if (this.progressInterval_) {\n return;\n }\n\n this.progressCount_ = 0;\n\n /** @type {HTMLSpanElement} */\n const span = this.progressDoms_[this.key_].querySelector('span');\n\n // if story is a live story set progress to full width\n if (isLiveVideo(this.storyData_.video_type)) {\n this.progressCount_ = 100;\n setStyle(span, ['width', `${this.progressCount_}%`]);\n return;\n }\n\n this.progressInterval_ = setInterval(() => {\n if (this.progressPaused_) {\n return;\n }\n\n this.progressTime_ += 0.1;\n this.storyProgressRemain_ -= 0.1;\n if (!this.videoAsset_) {\n this.handleLayersVisibility_();\n this.handleProgress_();\n } else {\n this.play();\n }\n\n this.progressCount_ = (this.progressTime_ * 100) / this.storyProgressSecond_;\n if (this.progressCount_ <= 100) {\n setStyle(span, ['width', `${this.progressCount_}%`]);\n }\n }, 100);\n }\n\n /**\n * handle layer visibility by progress time\n * @returns\n */\n handleLayersVisibility_() {\n if (this.progressPaused_ && !this.videoAsset_) {\n return;\n }\n\n const progressTime =\n (this.videoAsset_ ? this.videoAsset_.currentTime : this.progressTime_) * 1000;\n this.timedLayers_.forEach((layer) => {\n const startTime = layer.start_time ? layer.start_time * 1000 - 300 : 0;\n // eslint-disable-next-line no-nested-ternary\n const endTime = layer.end_time\n ? layer.end_time * 1000\n : this.videoAsset_\n ? this.videoAsset_.duration * 1000\n : this.storyProgressSecond_ * 1000;\n\n if (progressTime >= startTime && progressTime <= endTime) {\n layer.instance.showLayer();\n } else {\n layer.instance.hideLayer();\n }\n });\n }\n\n /**\n * handle story progress and dispatch event\n * @private\n */\n handleProgress_() {\n if (this.storyProgressRemain_ <= 0 && !this.globalInstanceData.accessibility) {\n createAndDispatchEvent(this.storyDom_, 'onNextStory');\n clearInterval(this.progressInterval_);\n }\n }\n\n /**\n * handle story actions(play, sound)\n * @private\n */\n handleStoryActions_() {\n const storyActions = this.storiesContainer_.querySelector('.storyly__story-actions');\n const soundAction = storyActions.querySelector('button[data-type=\"sound\"]');\n const shareAction = storyActions.querySelector('button[data-type=\"share\"]');\n // handle play button\n this.playPauseAction_ = storyActions.querySelector('button[data-type=\"play-pause\"]');\n if (isMobileView()) {\n setAttribute(this.playPauseAction_, 'hidden', true);\n /** @type {HTMLButtonElement} @private */\n this.accessibilityAction_ = this.storiesContainer_.querySelector(\n '.accessibility-switch-button'\n );\n if (this.accessibilityAction_) {\n this.accessibilityAction_.addEventListener('pointerdown', this.handleAccessibilityOnOff_);\n }\n } else {\n removeAttribute(this.playPauseAction_, 'hidden');\n }\n\n const closeAction = storyActions.querySelector('button[data-type=\"close\"]');\n if (\n (this.globalInstanceData.storylyEmbed.init &&\n this.globalInstanceData.storylyEmbed.closeButton) ||\n isMobileView()\n ) {\n removeAttribute(closeAction, 'hidden');\n setClickEventListener(closeAction, this.handleCloseGroup_);\n }\n\n this.playPauseAction_.classList.replace('play', 'pause');\n setClickEventListener(this.playPauseAction_, this.playAndPauseStory);\n // handle sound button\n if (!this.videoAsset_) {\n setAttribute(soundAction, 'hidden', true);\n } else {\n removeAttribute(soundAction, 'hidden');\n setClickEventListener(soundAction, this.handleSoundStory_);\n }\n if (!this.globalInstanceData.videoMuted && this.videoAsset_) {\n this.videoAsset_.muted = false;\n this.soundOn_ = true;\n soundAction.classList.replace('sound-off', 'sound-on');\n } else if (this.videoAsset_) {\n this.videoAsset_.muted = true;\n this.soundOn_ = false;\n soundAction.classList.replace('sound-on', 'sound-off');\n }\n\n const isSharable = this.story_.is_sharable;\n const hasShareButton =\n this.globalInstanceData.storylyEmbed.init && this.globalInstanceData.storylyEmbed.shareButton;\n\n if (isSharable && !hasShareButton) {\n this.handleShareButton_(shareAction);\n } else if (isSharable && hasShareButton) {\n this.handleShareButton_(shareAction);\n }\n }\n\n /**\n * handle share button\n * @param {Element} shareDom\n * @private\n */\n handleShareButton_(shareDom) {\n const browser = platform.name?.toLocaleLowerCase();\n if (this.osFamily_ === os.IOS || browser === browsers.SAFARI) {\n shareDom.classList.add('share-ios');\n } else {\n shareDom.classList.add('share-android');\n }\n removeAttribute(shareDom, 'hidden');\n\n // Share must be triggered by \"user activation\"\n shareDom.addEventListener('pointerup', this.renderShareWidget);\n }\n\n /**\n * render share widget\n * handle clicked close icon\n * @private\n */\n handleCloseGroup_() {\n createAndDispatchEvent(this.storyDom_, 'onCloseGroup');\n }\n\n /**\n * handle sound of active story\n * @param {Event} e\n * @private\n */\n handleSoundStory_(e) {\n if (!videoHasAudio(this.videoAsset_)) {\n const alert = generateHtmlFromTemplate(AudioNotification);\n this.storyDom_.append(alert);\n setTimeout(() => {\n this.storyDom_.removeChild(alert);\n }, 1000);\n return;\n }\n const { target } = e;\n let addClass = 'sound-on';\n let removedClass = 'sound-off';\n if (target.classList.contains('sound-off')) {\n readAccessibilityText(\n this.storyDom_,\n this.globalInstanceData.languageJSON.a11y_story_unmuted\n );\n target.setAttribute('aria-label', this.globalInstanceData.languageJSON.a11y_mute_story);\n this.soundOn_ = true;\n this.soundOn();\n this.globalInstanceData.videoMuted = false;\n } else {\n readAccessibilityText(this.storyDom_, this.globalInstanceData.languageJSON.a11y_story_muted);\n target.setAttribute('aria-label', this.globalInstanceData.languageJSON.a11y_unmute_story);\n this.soundOn_ = false;\n this.soundOff();\n addClass = 'sound-off';\n removedClass = 'sound-on';\n this.globalInstanceData.videoMuted = true;\n }\n target.classList.replace(removedClass, addClass);\n }\n\n /**\n * @private\n */\n handleAccessibilityAltText_() {\n setAttribute(this.storyDom_, 'tabindex', '20');\n setAttribute(this.storyDom_, 'aria-hidden', 'false');\n if (this.osFamily_ === os.IOS) {\n const header = this.storiesContainer_.querySelector('.storyly__sg-info');\n setAttribute(header, 'aria-hidden', 'false');\n setAttribute(\n header,\n 'aria-label',\n this.story_.alt_text || this.globalInstanceData.languageJSON.a11y_empty_alt_text\n );\n removeAttribute(this.storyDom_, 'aria-label');\n }\n if (this.globalInstanceData.accessibility && this.accessibilityAction_) {\n setAttribute(\n this.accessibilityAction_,\n 'aria-label',\n this.globalInstanceData.languageJSON.a11y_disable_accessibility\n );\n }\n }\n\n /**\n * @private\n */\n handleAccessibilityFocus_() {\n if (\n !isMobileView() ||\n !this.globalInstanceData.storiesHasAltText ||\n (this.osFamily_ === os.IOS && this.globalInstanceData.accessibility)\n )\n return;\n\n if (!this.globalInstanceData.accessibility) {\n this.accessibilityAction_.blur();\n setTimeout(() => {\n this.accessibilityAction_.focus();\n }, 500);\n } else {\n setTimeout(() => {\n this.storyDom_.focus();\n }, 500);\n }\n }\n\n /**\n * expose elements for assistive technologies\n * @private\n */\n exposeAccessibilityElements_() {\n this.storyDom_.querySelectorAll('.cta-button').forEach((button) => {\n setAttribute(button, 'tabindex', '21');\n setAttribute(button, 'aria-hidden', 'false');\n });\n this.storyDom_.querySelectorAll('.swipe-up-button').forEach((button) => {\n setAttribute(button, 'tabindex', '21');\n setAttribute(button, 'aria-hidden', 'false');\n });\n this.storyDom_.querySelectorAll('.product-tag-tooltip').forEach((button) => {\n setAttribute(button, 'tabindex', '21');\n setAttribute(button, 'aria-hidden', 'false');\n });\n this.storyDom_.querySelectorAll('.poll-component').forEach((poll) => {\n poll.querySelectorAll('button').forEach((button) => setAttribute(button, 'tabindex', '22'));\n setAttribute(poll, 'tabindex', '22');\n setAttribute(poll, 'aria-hidden', 'false');\n });\n }\n\n /**\n * hiding elements for assistive technologies\n * @private\n */\n hideAccessibilityElements_() {\n this.storyDom_.querySelectorAll('.cta-button').forEach((button) => {\n removeAttribute(button, 'tabindex');\n setAttribute(button, 'aria-hidden', 'true');\n });\n this.storyDom_.querySelectorAll('.swipe-up-button').forEach((button) => {\n removeAttribute(button, 'tabindex');\n setAttribute(button, 'aria-hidden', 'true');\n });\n this.storyDom_.querySelectorAll('.product-tag-tooltip').forEach((button) => {\n removeAttribute(button, 'tabindex');\n setAttribute(button, 'aria-hidden', 'true');\n });\n this.storyDom_.querySelectorAll('.poll-component').forEach((poll) => {\n poll.querySelectorAll('button').forEach((button) => removeAttribute(button, 'tabindex'));\n removeAttribute(poll, 'tabindex');\n setAttribute(poll, 'aria-hidden', 'true');\n });\n }\n\n /**\n * @param {PointerEvent} e\n * @private\n */\n handleAccessibilityOnOff_(e) {\n const { target } = e;\n const pressed = target.getAttribute('data-pressed') === 'true';\n e.target.setAttribute('data-pressed', String(!pressed));\n if (!this.globalInstanceData.accessibility) {\n this.globalInstanceData.accessibility = true;\n readAccessibilityText(this.storyDom_, 'Accessibility is on');\n this.pause();\n target.setAttribute(\n 'aria-label',\n this.globalInstanceData.languageJSON.a11y_disable_accessibility\n );\n Storage.setItemToGlobal('accessibilitiy', true);\n createAndDispatchEvent(this.storyDom_, 'onAccessibilityTriggered', {\n accessibilityEnabled: true,\n });\n } else {\n if (!this.storyDom_.hasAttribute('paused')) {\n this.handleProgressBar_();\n } else {\n this.play();\n }\n\n readAccessibilityText(this.storyDom_, 'Accessibility is off');\n target.setAttribute(\n 'aria-label',\n this.globalInstanceData.languageJSON.a11y_dtap_enable_accessibility\n );\n Storage.setItemToGlobal('accessibilitiy', false);\n this.globalInstanceData.accessibility = false;\n createAndDispatchEvent(this.storyDom_, 'onAccessibilityTriggered', {\n accessibilityEnabled: false,\n });\n }\n }\n\n /**\n * send viewed event\n */\n sendStoryViewedEvent_() {\n const params = { ...this.getStoryData() };\n\n createAndDispatchEvent(this.storyDom_, 'onCustomerEvent', {\n eventName: CustomerEventTypes.onStoryViewed,\n params,\n });\n }\n\n /**\n * render share widget\n * @public\n */\n async renderShareWidget() {\n this.shareWidget_ = await ShareWidget({\n dom: this.storyDom_,\n group: this.group_,\n story: this.story_,\n playAndPauseStory: this.playAndPauseStory.bind(this),\n });\n }\n\n /**\n * handle video sound on\n * @public\n */\n soundOn() {\n this.videoAsset_.muted = false;\n }\n\n /**\n * handle video sound off\n * @public\n */\n soundOff() {\n this.videoAsset_.muted = true;\n }\n\n /**\n * pause image/video story\n * @param { Boolean } tabChange\n * @public\n */\n pause(tabChange = false) {\n if (tabChange) {\n this.hideShareWidget();\n }\n this.progressPaused_ = true;\n this.storyDom_.setAttribute('paused', '');\n if (this.videoAsset_) {\n if (this.videoPlayedPromise_) {\n this.videoPlayedPromise_.then(() => {\n this.videoPausedPromise_ = this.videoAsset_.pause();\n });\n } else {\n this.videoPausedPromise_ = this.videoAsset_.pause();\n }\n }\n }\n\n /**\n * play image/video story\n * @param { Boolean } tabChange\n * @public\n */\n play(tabChange = false) {\n if (tabChange && this.playPauseAction_.classList.contains('play')) {\n this.playPauseAction_.classList.replace('play', 'pause');\n }\n this.progressPaused_ = false;\n this.storyDom_.removeAttribute('paused');\n if (this.videoAsset_) {\n if (this.videoPausedPromise_) {\n this.videoPausedPromise_.then(() => {\n this.videoPlayedPromise_ = this.videoAsset_.play();\n });\n } else {\n this.videoPlayedPromise_ = this.videoAsset_.play();\n }\n }\n }\n\n /**\n * handle pause or play of active story\n * @public\n */\n playAndPauseStory() {\n if (this.globalInstanceData.accessibility) return;\n let addClass = 'play';\n let removedClass = 'pause';\n if (this.playPauseAction_.classList.contains('pause')) {\n readAccessibilityText(this.storyDom_, 'Story Paused');\n this.pause();\n createAndDispatchEvent(this.storyDom_, 'onPlayPauseEvent', { eventType: EventTypes.Paused });\n } else {\n readAccessibilityText(this.storyDom_, 'Story Resumed');\n this.playPauseAction_.setAttribute(\n 'aria-label',\n this.globalInstanceData.languageJSON.a11y_pause_story\n );\n this.play();\n createAndDispatchEvent(this.storyDom_, 'onPlayPauseEvent', { eventType: EventTypes.Resumed });\n addClass = 'pause';\n removedClass = 'play';\n }\n\n this.playPauseAction_.classList.replace(removedClass, addClass);\n }\n\n /**\n * pause image/video story by touch\n * @public\n */\n pauseByTouch() {\n this.pause();\n setStyle(this.storiesContainer_.querySelector('.storyly__story-header'), ['opacity', 0]);\n }\n\n /**\n * play image/video story by touch\n * @public\n */\n playAfterTouch() {\n setStyle(this.storiesContainer_.querySelector('.storyly__story-header'), ['opacity', 1]);\n this.play();\n clearInterval(this.touchTimeout);\n }\n\n playByEmbed() {\n if (this.videoAsset_) {\n if (this.videoPausedPromise_) {\n this.videoPausedPromise_.then(() => {\n this.videoPlayedPromise_ = this.videoAsset_.play();\n });\n } else {\n this.videoPlayedPromise_ = this.videoAsset_.play();\n }\n } else {\n this.handleProgressBar_();\n }\n }\n\n /**\n * modifies story title with every story change\n * @private\n */\n handleStoryTitleOnChange_() {\n const { title } = this.story_;\n\n if (title) {\n const header = this.storiesContainer_.querySelector(`.storyly__sg-info h4`);\n header.textContent = title;\n }\n }\n\n /**\n * handle show story\n * @public\n */\n show() {\n this.storyDom_.setAttribute('show', '');\n this.handleStoryActions_();\n this.handleStoryTitleOnChange_();\n this.exposeAccessibilityElements_();\n this.handleAccessibilityAltText_();\n this.progressPaused_ = false;\n this.storyProgressRemain_ = this.storyProgressSecond_;\n this.progressTime_ = 0;\n removeClass(this.progressDoms_[this.key_], 'seen');\n\n if (this.videoAsset_) {\n this.onVideoShown_();\n } else if (this.isBlankStory_ || this.imageAssetLoaded_) {\n this.handleProgressBar_();\n }\n\n if (\n this.globalInstanceData.storylyEmbed.init &&\n !this.globalInstanceData.storylyEmbed.autoPlay\n ) {\n setStyle(this.progressDoms_[this.key_].querySelector('span'), ['width', '100%']);\n }\n\n if (this.globalInstanceData.accessibility && this.playPauseAction_) {\n setStyle(this.playPauseAction_, ['display', 'none']);\n }\n setClass(this.progressDoms_[this.key_], 'active');\n setClass(this.storyDom_, 'active');\n\n this.sendStoryViewedEvent_();\n this.handleAccessibilityFocus_();\n }\n\n /**\n * handle hide story\n * @param {Boolean} isBack\n * @param {Boolean} holdActive\n * @public\n */\n hide({ isBack = false, holdActive = false } = {}) {\n this.storyDom_.removeAttribute('show');\n if (this.storyDom_.hasAttribute('paused')) {\n this.storyDom_.removeAttribute('paused');\n }\n\n if (this.videoSeekbar_) {\n this.videoSeekbar_.hide();\n }\n\n setAttribute(this.storyDom_, 'aria-hidden', 'true');\n setAttribute(this.storyDom_, 'tabindex', '-1');\n this.hideAccessibilityElements_();\n clearInterval(this.progressInterval_);\n clearInterval(this.startInterval_);\n this.progressInterval_ = null;\n this.startInterval_ = null;\n this.progressStarted_ = false;\n if (this.videoAsset_) {\n this.videoAsset_.currentTime = 0;\n if (this.videoPlayedPromise_) {\n this.videoPlayedPromise_.then(() => {\n this.videoPausedPromise_ = this.videoAsset_.pause();\n });\n } else {\n this.videoPausedPromise_ = this.videoAsset_.pause();\n }\n this.videoAsset_.querySelector('source').src = '';\n this.videoAsset_.load();\n }\n this.removeEvents_();\n this.progressPaused_ = true;\n removeClass(this.progressDoms_[this.key_], 'active');\n\n if (!holdActive) {\n removeClass(this.storyDom_, 'active');\n }\n\n resetStyle(this.progressDoms_[this.key_].querySelector('span'), ['transition', 'width']);\n\n if (!isBack) {\n setClass(this.progressDoms_[this.key_], 'seen');\n } else {\n removeClass(this.progressDoms_[this.key_], 'seen');\n }\n\n this.shareWidget_?.hide();\n this.timedLayers_.forEach((layer) => layer.instance.hideLayer());\n }\n\n /**\n * get story watch length\n * @public\n * @returns {number}\n */\n getWatchLength() {\n const remainProgress =\n this.storyProgressRemain_ < 0 ? 0 : Math.floor(this.storyProgressRemain_);\n\n return (this.storyProgressSecond_ - remainProgress) * 1000;\n }\n\n /**\n * get story watch length\n * @public\n * @returns {Boolean}\n */\n getProgressPausedStatus() {\n return this.progressPaused_;\n }\n\n /**\n * get story data\n * @returns {Object}\n */\n getStoryData() {\n const media = getStoryMedia({ host: this.group_.media_host, story: this.storyData_ });\n return {\n story_id: this.story_.story_id,\n media,\n group: this.group_,\n index: this.key_,\n };\n }\n\n /**\n * send story clicked event\n * @param {String} type\n */\n sendStoryClickedEvent(type) {\n const params = {\n ...this.getStoryData(),\n };\n\n createAndDispatchEvent(this.storyDom_, 'onCustomerEvent', {\n eventName:\n type === 'next' ? CustomerEventTypes.onNextStory : CustomerEventTypes.onPreviousStory,\n params,\n });\n }\n\n /**\n * set story key\n * @param {Number} key\n */\n setKey(key) {\n this.key_ = key;\n }\n\n /**\n * set progress time for timed interactives\n * @param {Number} time\n */\n setProgressTime(time) {\n this.progressTime_ = +time.toFixed(1);\n }\n\n /**\n * hide share widget\n */\n hideShareWidget() {\n if (this.shareWidget_) {\n this.shareWidget_.hide();\n }\n }\n}\n\nexport default Story;\n","import Story from '../Story';\nimport BottomSheet from '../../../components/BottomSheet';\nimport PlayMode from '../../../constants/playmode';\nimport { removeClass, setClass } from '../../../lib/style';\nimport {\n createAndDispatchEvent,\n generateHtmlFromTemplate,\n isMobileView,\n setAttribute,\n stopEventBubbling,\n setClickEventListener,\n removeAttribute,\n getProductLayers,\n} from '../../../lib/util';\nimport Storage from '../../../lib/storage';\n\nimport storyHeaderTemplate from '../templates/storyHeader';\nimport storyProgressTemplate from '../templates/storyProgress';\nimport { accessibilityIcon, embedPlayIcon, embedRePlayIcon } from '../../../lib/icons';\nimport { CustomerEventTypes } from '../../../constants/events';\nimport ProxyClass from '../../../lib/proxy';\n\nclass MobileGroup {\n constructor(group, key, instanceId) {\n /** @private {Object} */\n this.group_ = group;\n\n /** @private {Number} */\n this.key_ = key;\n\n /** @private {Array} */\n this.storyInstances_ = [];\n\n /** @private {Array} */\n this.progressDoms_ = [];\n\n /** @private {Number} */\n this.activeStoryIndex_ = 0;\n\n /** @private {Number} */\n this.lastSeenStoryIndex_ = 0;\n\n /** @private {Boolean} */\n this.playable_ = true;\n\n /** @private {Boolean} */\n this.loadded_ = false;\n\n /** @private {Node} */\n this.groupWrapper_ = null;\n\n /** @private {Array} */\n this.stories_ = this.group_.stories;\n\n /** @private @type {Number} */\n this.instanceId_ = instanceId;\n\n this.attachCallbacksToElement_();\n\n Storage.setInstanceId(this.instanceId_);\n this.handleConditionalStories();\n }\n\n /**\n * Attaches callbacks to the DOM element for them to be used by publishers.\n * @private\n */\n attachCallbacksToElement_() {\n this.nextStory = this.nextStory.bind(this);\n this.prevStory = this.prevStory.bind(this);\n this.hide = this.hide.bind(this);\n this.handleClickEmbedPlay_ = this.handleClickEmbedPlay_.bind(this);\n }\n\n /**\n * render group to dom\n * @public\n */\n render() {\n this.groupWrapper_ = document.createElement('div');\n setClass(this.groupWrapper_, ['storyly__story-group', 'swiper-slide']);\n setAttribute(this.groupWrapper_, 'aria-hidden', 'true');\n setAttribute(this.groupWrapper_, 'role', 'presentation');\n if (this.playable_) {\n setAttribute(this.groupWrapper_, 'playable', this.playable_);\n }\n\n this.groupWrapper_.dataset.id = this.group_.group_id;\n this.storiesContainer_ = document.createElement('div');\n setClass(this.storiesContainer_, 'storyly__stories-container');\n this.groupWrapper_.appendChild(this.storiesContainer_);\n const { globalInstanceData } = ProxyClass.getNodeByInstanceId(\n this.instanceId_\n ).getDataFromGlobal();\n\n /** @public @type {Object} */\n this.globalInstanceData = globalInstanceData;\n\n if (this.globalInstanceData.storylyEmbed.init) {\n this.renderEmbedAssets_();\n }\n\n this.renderBottomSheet_();\n this.renderProductCart_();\n\n return Promise.resolve(this.groupWrapper_);\n }\n\n /**\n * handle conditional stories\n * @public\n */\n handleConditionalStories(hasInstance) {\n const componentsData = Storage.setInstanceId(this.instanceId_).getItemFromInstance(\n 'Storyly_componentsData'\n );\n\n const newStories = [];\n this.stories_.forEach((story) => {\n if (!story.conditions) {\n newStories.push(story);\n return;\n }\n\n const result = story.conditions.every((conditions) =>\n conditions.some((condition) => {\n const componentData = componentsData[condition.i];\n return typeof componentData !== 'undefined' ? componentData === +condition.r.p : false;\n })\n );\n\n if (result) {\n newStories.push(story);\n }\n });\n\n if (hasInstance) {\n newStories.forEach((story, key) => {\n const isRedered = this.group_.stories.findIndex((s) => s.story_id === story.story_id);\n if (isRedered === -1) {\n this.createStoryAndProgress_(story, key);\n }\n });\n }\n\n this.group_.stories = newStories;\n return Promise.resolve(newStories);\n }\n\n /**\n * if conditions are matches create story and its progress bar\n * @param {Object} story\n * @param {Number} key\n */\n createStoryAndProgress_(story, key) {\n const progressDom = generateHtmlFromTemplate(storyProgressTemplate());\n const progressWrapper = this.storiesContainer_.querySelector('.progress-wrapper');\n\n const storyInstance = new Story({\n story,\n key,\n group: this.group_,\n storiesContainer: this.storiesContainer_,\n progressDoms: this.progressDoms_,\n instanceId: this.instanceId_,\n });\n\n this.storyInstances_.splice(key, 0, storyInstance);\n this.storyInstances_.forEach((storyIns, storyKey) => storyIns.setKey(storyKey));\n\n if (this.activeStoryIndex_ >= key) {\n this.activeStoryIndex_ += 1;\n setClass(progressDom, 'seen');\n }\n\n if (progressWrapper.querySelectorAll('.progress')[key]) {\n if (key === 0) {\n progressWrapper.querySelectorAll('.progress')[key].before(progressDom);\n } else {\n progressWrapper.querySelectorAll('.progress')[key - 1].after(progressDom);\n }\n } else {\n progressWrapper.appendChild(progressDom);\n }\n\n this.progressDoms_.splice(key, 0, progressDom);\n this.renderStories_();\n }\n\n /**\n * render product cart button if product exist\n * @private\n * @returns\n */\n async renderProductCart_() {\n const productLayers = getProductLayers(this.group_);\n\n const { isStorylyCartActive } = ProxyClass.getNodeByInstanceId(\n this.instanceId_\n ).getDataFromGlobal();\n\n if (productLayers.length && isStorylyCartActive) {\n const StoryCart = await (await import('../../../components/StoryCart')).default;\n this.storyCart = new StoryCart({\n instanceId: this.instanceId_,\n parentDom: this.groupWrapper_,\n });\n }\n }\n\n /**\n * renders bottom sheet\n * @private\n */\n renderBottomSheet_() {\n this.bottomSheet_ = new BottomSheet({\n parentDom: this.groupWrapper_,\n instanceId: this.instanceId_,\n });\n\n this.groupWrapper_.addEventListener('onBottomSheetOpen', ({ detail }) => {\n this.bottomSheet_.activate(detail.body, detail.footer, detail.rerender);\n });\n }\n\n /**\n * render embed assets\n */\n renderEmbedAssets_() {\n this.playable_ = false;\n\n this.embedContainer_ = document.createElement('div');\n const playNode = generateHtmlFromTemplate(embedPlayIcon);\n const rePlayNode = generateHtmlFromTemplate(embedRePlayIcon);\n rePlayNode.classList.add('re-play-icon');\n playNode.classList.add('play-icon');\n setClass(this.embedContainer_, ['storyly__embed-play-container', 'play']);\n this.embedContainer_.appendChild(playNode);\n this.embedContainer_.appendChild(rePlayNode);\n setClickEventListener(this.embedContainer_, this.handleClickEmbedPlay_);\n stopEventBubbling(this.embedContainer_, 'click');\n stopEventBubbling(this.embedContainer_, 'pointerdown');\n stopEventBubbling(this.embedContainer_, 'pointerup');\n stopEventBubbling(this.embedContainer_, 'pointermove');\n this.groupWrapper_.appendChild(this.embedContainer_);\n }\n\n /**\n * handle click embed play and replay buttons\n */\n handleClickEmbedPlay_() {\n this.playable_ = true;\n this.globalInstanceData.storylyEmbed.canPlay = true;\n removeAttribute(this.groupWrapper_, 'playable');\n removeAttribute(this.groupWrapper_, 'replay');\n this.storyInstances_[this.activeStoryIndex_].playByEmbed();\n }\n\n /**\n * handle embed replay case\n */\n handleEmbedReplay_() {\n const oldStory = this.storyInstances_[this.activeStoryIndex_];\n this.playable_ = false;\n setAttribute(this.groupWrapper_, 'playable', this.playable_);\n setAttribute(this.groupWrapper_, 'replay', this.playable_);\n oldStory.hide({ isBack: true });\n this.activeStoryIndex_ = 0;\n this.loadState_();\n this.progressDoms_.forEach((progressDom) => {\n removeClass(progressDom, 'seen');\n });\n this.globalInstanceData.storylyEmbed.canPlay = false;\n this.show();\n }\n\n /**\n * render stories header\n * @private\n */\n renderStoryHeader_() {\n const storyHeaderDom = generateHtmlFromTemplate(\n storyHeaderTemplate(this.group_, this.instanceId_, this.globalInstanceData)\n );\n this.storiesContainer_.querySelector('.storyly__story-header')?.remove();\n this.storiesContainer_.prepend(storyHeaderDom);\n stopEventBubbling(storyHeaderDom);\n if (isMobileView()) {\n stopEventBubbling(\n storyHeaderDom,\n this.globalInstanceData.storylyEmbed.init ? 'pointerdown' : 'touchstart'\n );\n stopEventBubbling(\n storyHeaderDom,\n this.globalInstanceData.storylyEmbed.init ? 'pointerup' : 'touchend'\n );\n stopEventBubbling(storyHeaderDom, 'touchmove');\n }\n this.renderProgressLines_(storyHeaderDom);\n }\n\n /**\n * render accessibility button if stories have alt text\n * @private\n */\n renderAccessibilityButton_() {\n if (this.globalInstanceData.storiesHasAltText && isMobileView()) {\n const { accessibility } = this.globalInstanceData;\n\n const button = document.createElement('button');\n button.classList.add('accessibility-switch-button');\n button.setAttribute('data-pressed', accessibility);\n button.setAttribute(\n 'data-i18n-key',\n accessibility ? 'a11y_disable_accessibility' : 'a11y_dtap_enable_accessibility'\n );\n\n const svg = generateHtmlFromTemplate(accessibilityIcon);\n button.appendChild(svg);\n\n stopEventBubbling(button, 'touchstart');\n stopEventBubbling(button, 'touchend');\n\n this.storiesContainer_.prepend(button);\n }\n }\n\n /**\n * render progress lines for stories\n * @param {Element} headerDom\n * @private\n */\n renderProgressLines_(headerDom) {\n const progressWrapper = document.createElement('div');\n setClass(progressWrapper, 'progress-wrapper');\n const storyLength = this.group_.stories.length;\n for (let i = 0; i < storyLength; i += 1) {\n const progressDom = generateHtmlFromTemplate(storyProgressTemplate());\n if (i < this.activeStoryIndex_) {\n setClass(progressDom, 'seen');\n }\n progressWrapper.appendChild(progressDom);\n this.progressDoms_.push(progressDom);\n }\n headerDom.prepend(progressWrapper);\n }\n\n /**\n * navigate prev story\n * @returns {void}\n * @public\n */\n prevStory() {\n if (!this.playable_) {\n return;\n }\n if (\n this.globalInstanceData.shareParams.playMode === PlayMode.STORY &&\n this.globalInstanceData.shareParams.group.group_id === this.group_.group_id\n ) {\n createAndDispatchEvent(this.groupWrapper_, 'onCloseGroup');\n return;\n }\n\n const oldStory = this.storyInstances_[this.activeStoryIndex_];\n if (this.activeStoryIndex_ === 0) {\n createAndDispatchEvent(this.groupWrapper_, 'onPrevGroup');\n if (this.key_ !== 0) {\n oldStory.hide({ holdActive: true, isBack: true });\n }\n return;\n }\n oldStory.hide({ isBack: true });\n this.bottomSheet_.deactivate();\n this.storyState_().remove();\n this.activeStoryIndex_ -= 1;\n this.lastSeenStoryIndex_ = this.activeStoryIndex_;\n\n this.renderStories_().then(() => {\n const prevStory = this.storyInstances_[this.activeStoryIndex_];\n prevStory.show();\n createAndDispatchEvent(this.groupWrapper_, 'onStoryImpression');\n });\n }\n\n /**\n * navigate next story\n * @returns {void}\n * @public\n */\n nextStory() {\n if (!this.playable_) {\n return;\n }\n\n if (\n this.globalInstanceData.shareParams.playMode === PlayMode.STORY &&\n this.globalInstanceData.shareParams.group.group_id === this.group_.group_id\n ) {\n createAndDispatchEvent(this.groupWrapper_, 'onCloseGroup');\n return;\n }\n\n const oldStory = this.storyInstances_[this.activeStoryIndex_];\n if (this.group_.stories.length - 1 === this.activeStoryIndex_) {\n if (this.globalInstanceData.storylyEmbed.init) {\n this.handleEmbedReplay_();\n return;\n }\n this.storyState_().add();\n createAndDispatchEvent(this.groupWrapper_, 'onNextGroup');\n oldStory.hide({ isBack: true });\n return;\n }\n this.bottomSheet_.deactivate();\n oldStory.hide();\n\n this.activeStoryIndex_ += 1;\n this.lastSeenStoryIndex_ = this.activeStoryIndex_;\n\n this.storyState_().add();\n this.renderStories_().then(() => {\n const nextStory = this.storyInstances_[this.activeStoryIndex_];\n nextStory.show();\n createAndDispatchEvent(this.groupWrapper_, 'onStoryImpression');\n createAndDispatchEvent(this.groupWrapper_, 'onStoryComplete');\n });\n }\n\n /**\n * render stories of active group\n * @returns {Promise}\n * @private\n */\n renderStories_() {\n if ((this.group_.stories ?? []).length === 0) {\n return Promise.reject();\n }\n\n const prevStory = this.activeStoryIndex_ - 1;\n const nextStory = this.activeStoryIndex_ + 1;\n const currentStory = this.activeStoryIndex_;\n const storiesLength = this.group_.stories.length - 1;\n\n const stories = [];\n if (prevStory >= 0 && !this.storyInstances_[prevStory]) {\n stories.push({\n story: this.group_.stories[prevStory],\n key: prevStory,\n });\n }\n\n if (currentStory >= 0 && !this.storyInstances_[currentStory]) {\n stories.push({\n story: this.group_.stories[currentStory],\n key: currentStory,\n });\n }\n\n if (nextStory <= storiesLength && !this.storyInstances_[nextStory]) {\n stories.push({\n story: this.group_.stories[nextStory],\n key: nextStory,\n });\n }\n\n stories.forEach(({ story, key }) => {\n this.storyInstances_[key] = new Story({\n story,\n key,\n group: this.group_,\n storiesContainer: this.storiesContainer_,\n progressDoms: this.progressDoms_,\n instanceId: this.instanceId_,\n });\n });\n setClass(this.storyInstances_[this.activeStoryIndex_].storyDom_, 'active');\n return Promise.resolve();\n }\n\n /**\n * load state of stories\n * @private\n */\n loadState_() {\n const storyStateIndex = this.storyState_().get();\n this.activeStoryIndex_ = storyStateIndex;\n }\n\n /**\n * handle story states\n * @returns {object}\n * @private\n */\n storyState_() {\n const currentGroup = this.group_.group_id;\n return {\n add: () => {\n const state = Storage.getItemFromInstance('Storyly_story-state');\n const story = this.group_.stories[this.activeStoryIndex_];\n const hasState = state[currentGroup]?.some((v) => v.storyId === story.story_id);\n if (hasState) {\n return;\n }\n if (state[currentGroup]) {\n state[currentGroup].push({\n storyIndex: this.activeStoryIndex_,\n storyId: story.story_id,\n time: Date.now(),\n });\n } else {\n state[currentGroup] = [\n {\n storyIndex: this.activeStoryIndex_,\n storyId: story.story_id,\n time: Date.now(),\n },\n ];\n }\n Storage.setItemToInstance('Storyly_story-state', state);\n },\n remove: (storyId) => {\n const state = Storage.getItemFromInstance('Storyly_story-state');\n const story = this.group_.stories[this.activeStoryIndex_];\n let activeStoryId = story.story_id;\n if (storyId) {\n activeStoryId = storyId;\n }\n const newGroupState = state[currentGroup]?.filter((v) => v.storyId !== activeStoryId);\n state[currentGroup] = newGroupState ?? {};\n Storage.setItemToInstance('Storyly_story-state', state);\n },\n get: () => {\n const state = Storage.getItemFromInstance('Storyly_story-state') || {};\n const newState = { ...state };\n let newStoryIndex = 0;\n if (newState[currentGroup]) {\n let tempIndex;\n let isAllStoriesSeen = true;\n const storyIds = newState[currentGroup].map((s) => s.storyId);\n this.group_.stories.forEach((story, key) => {\n if (typeof tempIndex === 'number') {\n isAllStoriesSeen = false;\n return;\n }\n if (!storyIds.includes(story.story_id)) {\n tempIndex = key;\n isAllStoriesSeen = false;\n }\n });\n if (isAllStoriesSeen) {\n // story index\n return 0;\n }\n newStoryIndex = tempIndex;\n if (newStoryIndex >= 0) {\n return newStoryIndex;\n }\n storyIds.forEach((storyId) => {\n const storyIndex = this.group_.stories.findIndex((s) => s.story_id === storyId);\n if (storyIndex >= 0) {\n newStoryIndex = storyIndex;\n } else {\n this.storyState_().remove(storyId);\n }\n });\n return newStoryIndex;\n }\n return newStoryIndex;\n },\n };\n }\n\n /**\n * handle progress bar seen states by parameters\n * @param {Number} storyIndex\n * @private\n */\n handleProgressBarByParameters_(storyIndex) {\n const progressLength = this.progressDoms_.length;\n for (let i = 0; i < progressLength; i += 1) {\n if (i < storyIndex) setClass(this.progressDoms_[i], 'seen');\n else removeClass(this.progressDoms_[i], 'seen');\n }\n }\n\n /**\n * send group viewed event\n */\n sendGroupViewedEvent_() {\n const params = {\n ...this.group_,\n };\n createAndDispatchEvent(this.groupWrapper_, 'onCustomerEvent', {\n eventName: CustomerEventTypes.onStoryGroupViewed,\n params,\n });\n }\n\n /**\n * show active group\n * @public\n */\n show() {\n this.sendGroupViewedEvent_();\n this.storyInstances_[this.activeStoryIndex_].show();\n this.storyState_().add();\n this.storyCart?.refresh();\n }\n\n /**\n * load active group\n * @param {Number} storyIndex\n * @public\n */\n load() {\n if (this.loadded_) {\n return;\n }\n\n if (!this.group_.nudge) {\n this.loadState_();\n }\n this.storyInstances_ = [];\n this.progressDoms_ = [];\n this.renderStoryHeader_();\n this.renderStories_();\n this.renderAccessibilityButton_();\n this.loadded_ = true;\n }\n\n /**\n * load active group\n * @param {Number} storyIndex\n * @public\n */\n loadByParameters(storyIndex) {\n // this.storiesContainer_.innerHTML = '';\n this.load();\n removeClass(this.storyInstances_[this.activeStoryIndex_].storyDom_, 'active');\n this.activeStoryIndex_ = storyIndex;\n this.loadedByParameters_ = true;\n const { story_id } = this.group_.stories[storyIndex];\n const isStoryRendered = this.storiesContainer_.querySelector(`[data-story-id=\"${story_id}\"]`);\n\n if (!isStoryRendered) {\n this.storyInstances_[storyIndex] = new Story({\n story: this.group_.stories[storyIndex],\n key: storyIndex,\n group: this.group_,\n storiesContainer: this.storiesContainer_,\n progressDoms: this.progressDoms_,\n instanceId: this.instanceId_,\n });\n }\n this.handleProgressBarByParameters_(storyIndex);\n }\n\n /**\n * check all stories seen state and unload active group\n * @param {Boolean} holdActive\n * @public\n */\n unLoad({ holdActive = false } = {}) {\n const isAllStoriesSeen = this.group_.stories.length - 1 === this.activeStoryIndex_;\n this.storyInstances_[this.activeStoryIndex_].hide({\n holdActive: isAllStoriesSeen || this.loadedByParameters_ ? false : holdActive,\n });\n this.bottomSheet_.deactivate();\n if (this.loadedByParameters_) {\n this.loadState_();\n this.loadedByParameters_ = false;\n this.handleProgressBarByParameters_(this.activeStoryIndex_);\n }\n if (isAllStoriesSeen) {\n this.activeStoryIndex_ = 0;\n if (!this.storyInstances_[0]) {\n this.storyInstances_[0] = new Story({\n story: this.group_.stories[0],\n key: 0,\n group: this.group_,\n storiesContainer: this.storiesContainer_,\n progressDoms: this.progressDoms_,\n instanceId: this.instanceId_,\n });\n }\n this.progressDoms_.forEach((progressDom) => {\n removeClass(progressDom, 'seen');\n });\n }\n }\n\n /**\n * hide active group\n * @param {Boolean} holdActive\n * @public\n */\n hide({ holdActive = false } = {}) {\n this.unLoad({ holdActive });\n this.globalInstanceData.shareParams = {};\n }\n\n /**\n * get active story of group\n * @returns {object}\n * @public\n */\n getActiveStory() {\n const activeStory = this.storyInstances_[this.activeStoryIndex_];\n return {\n ...(this.group_.stories[this.activeStoryIndex_] ?? {}),\n storyIndex: this.activeStoryIndex_,\n instance: activeStory,\n };\n }\n\n /**\n * get prev story of group\n * @returns {object}\n * @public\n */\n getPrevStory() {\n const prevStory = this.storyInstances_[this.activeStoryIndex_ - 1];\n return {\n ...(this.group_.stories[this.activeStoryIndex_ - 1] ?? {}),\n instance: prevStory,\n };\n }\n\n /**\n * set group key\n * @param {Number} key\n */\n setKey(key) {\n this.key_ = key;\n }\n\n /**\n * check all stories seen\n * @public\n * @returns Boolean\n */\n isAllStoriesSeen() {\n return this.group_.stories.length - 1 === this.lastSeenStoryIndex_;\n }\n\n /**\n * handle customer sg events\n * @param {String} type\n */\n sendGroupClickedEvent(type) {\n const params = {\n ...this.group_,\n };\n\n createAndDispatchEvent(this.groupWrapper_, 'onCustomerEvent', {\n eventName:\n type === 'next'\n ? CustomerEventTypes.onNextStoryGroup\n : CustomerEventTypes.onPreviousStoryGroup,\n params,\n });\n }\n}\n\nexport default MobileGroup;\n","import directions from '../../constants/directions';\nimport {\n createAndDispatchEvent,\n generateHtmlFromTemplate,\n isMobileView,\n setAttribute,\n setClickEventListener,\n stopEventBubbling,\n} from '../../lib/util';\nimport MobileGroup from './Group';\n\nimport '../../layers/base';\nimport ProxyClass from '../../lib/proxy';\n\nclass ClassicLayout {\n constructor(groupsOverlay, instanceId) {\n /** @private @type {HTMLElement} */\n this.groupsOverlay_ = groupsOverlay;\n\n /** @private @type {Number} */\n this.instanceId_ = instanceId;\n\n const { globalInstanceData } = ProxyClass.getNodeByInstanceId(instanceId).getDataFromGlobal();\n /** @public @type {Object} */\n this.globalInstanceData = globalInstanceData;\n\n if (!this.globalInstanceData.storylyEmbed.init) {\n this.renderGroupActions_();\n }\n this.renderGroupNavigations_ = this.renderGroupNavigations_.bind(this);\n this.groupsOverlay_.addEventListener('onAccessibilityTriggered', this.renderGroupNavigations_);\n }\n\n /**\n * set group instance\n * @param {Object} group\n * @param {Number} key\n * @returns\n */\n setGroupInstance(group, key) {\n return new MobileGroup(group, key, this.instanceId_);\n }\n\n /**\n * render group action elements\n * @private\n */\n renderGroupActions_() {\n const closeIcon = document.createElement('button');\n setAttribute(closeIcon, 'aria-label', this.globalInstanceData.languageJSON.a11y_close);\n closeIcon.classList.add('storyly__mobile-view-close-story');\n closeIcon.tabIndex = '50';\n closeIcon.setAttribute('direction', this.globalInstanceData.direction);\n this.groupsOverlay_.appendChild(closeIcon);\n stopEventBubbling(closeIcon, 'touchstart');\n setClickEventListener(closeIcon, () => {\n createAndDispatchEvent(this.groupsOverlay_, 'onCloseGroup');\n });\n this.renderGroupNavigations_();\n }\n\n /**\n * Render group navigation arrows\n * @param {CustomEvent | undefined} e\n * @private\n */\n renderGroupNavigations_(e) {\n const isMobile = isMobileView();\n const { accessibility, direction } = this.globalInstanceData;\n\n const { videoSeekbarEnabled, accessibilityEnabled } = e?.detail ?? {};\n\n const groupContainer = this.groupsOverlay_.querySelector('.storyly__group-container');\n if (e && !accessibilityEnabled && !videoSeekbarEnabled) {\n const navButtons = groupContainer.querySelector('.navigation-buttons');\n groupContainer.removeChild(navButtons);\n return;\n }\n\n const navigationButtonsTemplate = `\n <div class=\"navigation-buttons show\" style=\"${\n (isMobile && !accessibility && !videoSeekbarEnabled) ||\n (!isMobile && (accessibility || videoSeekbarEnabled))\n ? 'display: none'\n : ''\n }\">\n <div class=\"navigate-button prev-button\">\n <button data-i18n-key=\"a11y_prev_story_current_group\" tabindex=\"5\"></button>\n </div>\n <div class=\"navigate-button next-button\">\n <button data-i18n-key=\"a11y_next_story_current_group\" tabindex=\"25\"></button>\n </div>\n </div>\n `;\n\n const navigationButtons = generateHtmlFromTemplate(navigationButtonsTemplate);\n const nextButton = navigationButtons.querySelector('.next-button');\n const prevButton = navigationButtons.querySelector('.prev-button');\n if (accessibility || videoSeekbarEnabled) {\n navigationButtons.classList.add('accessibility-navigation-buttons');\n stopEventBubbling(nextButton, 'touchstart');\n stopEventBubbling(nextButton, 'touchend');\n stopEventBubbling(prevButton, 'touchstart');\n stopEventBubbling(prevButton, 'touchend');\n }\n setClickEventListener(nextButton, () =>\n createAndDispatchEvent(\n groupContainer,\n direction === directions.RTL ? 'onPrevStory' : 'onNextStory'\n )\n );\n setClickEventListener(prevButton, () =>\n createAndDispatchEvent(\n groupContainer,\n direction === directions.RTL ? 'onNextStory' : 'onPrevStory'\n )\n );\n groupContainer.appendChild(navigationButtons);\n }\n}\n\nexport default ClassicLayout;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storyly-web",
3
- "version": "2.13.0",
3
+ "version": "2.13.1",
4
4
  "description": "Web stories by Storyly",
5
5
  "main": "index.js",
6
6
  "scripts": {