{"version":3,"sources":["webpack://NiagaUi/webpack/universalModuleDefinition","webpack://NiagaUi/webpack/bootstrap","webpack://NiagaUi/./src/lib/atoms/niaga-video/js/niaga-video.ts","webpack://NiagaUi/./src/lib/molecules/niaga-marketo-form-global/js/niaga-marketo-form-global.ts","webpack://NiagaUi/./src/public_api.ui.ts","webpack://NiagaUi/./src/lib/base/security/js/security.ts","webpack://NiagaUi/./src/lib/atoms/niaga-image/js/niaga-image.ts","webpack://NiagaUi/D:/a/1/s/frontend/packages/shared/utils/events/js/events.ts","webpack://NiagaUi/./src/lib/molecules/niaga-accordion/js/niaga-accordion.ts","webpack://NiagaUi/./src/lib/molecules/niaga-article-overview/js/niaga-article-overview.ts","webpack://NiagaUi/./src/lib/molecules/niaga-check-your-tag/js/niaga-check-your-tag.ts","webpack://NiagaUi/./src/lib/molecules/niaga-dropdown/js/niaga-dropdown.ts","webpack://NiagaUi/./src/lib/molecules/niaga-cta-blocks/js/niaga-cta-blocks.ts","webpack://NiagaUi/./src/lib/molecules/niaga-form-container/js/niaga-form-container.ts","webpack://NiagaUi/./src/lib/molecules/niaga-header/js/niaga-header.ts","webpack://NiagaUi/./src/lib/molecules/niaga-home-scroller/js/niaga-home-scroller.ts","webpack://NiagaUi/./src/lib/molecules/niaga-inpage-navigation/js/niaga-inpage-navigation.ts","webpack://NiagaUi/D:/a/1/s/frontend/packages/shared/utils/hashscrolling/js/hashscrolling.ts","webpack://NiagaUi/D:/a/1/s/frontend/packages/shared/utils/scroll-to/js/scroll-to.ts","webpack://NiagaUi/./src/lib/molecules/niaga-large-teaser/js/niaga-large-teaser.ts","webpack://NiagaUi/./src/lib/molecules/niaga-marketo-form/js/niaga-marketo-form.ts","webpack://NiagaUi/./src/lib/molecules/niaga-page-intro/js/niaga-page-intro.ts","webpack://NiagaUi/./src/lib/molecules/niaga-product-lister/js/niaga-product-lister.ts","webpack://NiagaUi/./src/lib/molecules/niaga-scrolling-teaser/js/niaga-scrolling-teaser.ts","webpack://NiagaUi/D:/a/1/s/frontend/packages/shared/utils/tracking/js/tracking.ts","webpack://NiagaUi/D:/a/1/s/frontend/packages/shared/utils/breakpoints-niaga/js/breakpoints-niaga.ts"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","oldJsonpFunction","slice","terrific_singleton_1","terrific_module_1","Track","classes","NiagaVideoComponent","_super","__extends","start","resolve","this","$ctx","$","_ctx","$videoContainer","find","videoData","addMiScript","startVideo","ctx","addVideoMiScript","_this","containerId","attr","$script","onScriptLoaded","embedscript","document","body","append","tId","id","VideoPlayer","initVideoPlayer","setTimeout","config","success","onPlayerInit","parameters","configType","playerId","videoId","apiUrl","flashPath","Collection","addPlayerById","api","progressMarker","reachedMarker","videoName","getVideoName","registerEventListener","onPlay","onPause","onEnded","onTimeUpdate","metaApi","getApi","metaTitle","getVideoTitle","label","text","track","e","currentTime","Math","round","time","floor","getDuration","percentPosition","marker","action","trackdata","event","eventCategory","eventAction","eventLabel","eventValue","gtmTrack","stop","removePlayerById","__decorate","createModule","TerrificSpec","tracking_1","MarketoFormGlobal","initializeMarketoOnScriptLoad","$this","timerRef","MktoForms2","clearTimeout","whenReady","form","$component","getFormElem","parents","translate","sortSelectOptions","prefillForm","whenRendered","updateFieldAttributes","formEl","attrTag","_forEach","Array","forEach","querySelectorAll","ancestor","setAttribute","input","currentTag","getAttribute","join","trim","jsonStr","fieldName","fieldTranslations","propertyName","propertyValue","translateTargetEl","currentTranslations","JSON","parse","querySelector","lastChild","nodeValue","mktoFieldDescriptor","undefined","validationMessage","innerHTML","txt","parentElement","innerText","onSubmit","submittable","$form","language","each","$options","$defaultOption","filter","$othersOption","optIndex","optEle","optValue","val","toString","toLocaleLowerCase","$optionEles","toArray","sort","a","b","aText","bText","localeCompare","ignorePunctuation","empty","prepend","isKnownMarketoLead","first","prop","formatPhoneNumber","phone","vals","Phone","formattedPhone","replace","prefilledJsonStr","prefillFields","formFieldEles","fieldValue","$fieldEle","formFieldId","obj","GenerateObject","formFieldValue","$formEl","rando","Date","getTime","parseInt","random","$chk","chkId","newChkId","jQuery","T","CustomEvent","params","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","dispatchEvent","addEventListener","bootstrap","events_1","NiagaImage","_triggerChangeEvent","triggerPublicEvent","PublicEvents","uxChange","type","terrificModule","target","eventData","eventName","terrificModuleName","dataset","tName","onPublicEvent","element","callback","eventHandler","removeEventListener","default","Accordion","on","onTriggerClick","ev","$content","currentTarget","next","children","hasClass","removeClass","slideUp","addClass","slideDown","promise_1","niaga_video_1","ArticleOverview","$paginationContainer","$loadMoreContainer","$pageNumber","getData","$videoItem","$videoWrapper","onVideoTeaserClick","_this_1","url","searchRoot","totalPages","ajax","dataType","dataSource","pageNumber","response","renderResultData","index","item","show","hide","complete","error","xhr","status","console","log","statusText","results","closest","siblings","not","trigger","breakpoints_niaga_1","CheckYourTag","initVars","initHeight","onBreakpointChange","itemWidth","$scroller","width","initScroller","setScrollerWidth","autoplay","sliderPageIndex","getSearchResult","$sliderList","$sliderItem","$dot","sliderlength","dotIndex","$searchInput","$searchBtn","$searchResults","noResultMsg","query","pageSize","clearSearchResult","productName","productCode","searchRootId","total","renderNoResultMessage","htmlContent","generateNoResultHtmlData","generateHtmlData","link","href","title","showResults","hideResults","viewport","css","height","removeAttr","setActiveDot","initDotClick","clone","last","elem","goToPageX","eq","itemPerWidth","me","animate","left","interval","setInterval","clearInterval","Dropdown","$toggleBtn","$dropdownMenu","$dropdownItem","$statusSelected","loseFocusHide","initDropdown","switchSelected","toggleDropdown","hideDropdownMenu","toggleClass","stopPropagation","CTABlocks","prevItemAddSpace","handleHoverStyles","$prevItem","prev","paddingBottom","FormContainer","initUserVali","$inputCheckBox","$input","onFormSubmit","$vali","validate","dataValRequired","nextAll","is","preventDefault","Header","onTriggerOver","onTriggerOut","onMenuClick","showHideScrollArow","showPopup","$nav","innerHeight","scrollTop","$popupBtn","$popup","$popupClose","remove","scroll","locomotive_scroll_1","HomeScroller","scrollerContainer","scrollerItem","introWrapper","scrollerBlocks","duplicateIndex","parent","isIntroAnimation","sessionStorage","getItem","timeOut","isIntroAnimationStop","localStorage","animation-delay","opacity","animation","setItem","el","smooth","direction","repeat","scrollListener","blocksWidth","scrollWidth","innerWidth","setInfiniteScrolling","getTranslate","cloneBlocks","update","clonedBoxContainer","transform","getComputedStyle","mat","match","parseFloat","split","hashscrolling_1","InpageNavigation","mainSelector","attributeNameTarget","attributeNameId","attributeNameTitle","targetSelector","buttonSelector","active","scrollDirection","lastScrollTop","threshold","thresholdOffset","anchorBarButtons","targetNavElements","initInpage","listItemPlaceholder","getListItemPlaceholder","setListItems","createArrayData","button","addScrollClickTrigger","html","setTargetData","createTargetNavElements","inpageNavElements","offsetTop","anchorAttributeName","targetAnchorIds","targetAnchorTitles","$el","listItems","createListItem","$links","targetAttribute","navElements","attributeList","targetAttributeValue","anchorAttributeNameId","anchorTitle","$listItem","scroll_to_1","initialized","scrollToIdElement","hash","getElementById","substring","scrollToElement","init","location","history","pushState","newurl","protocol","host","pathname","search","path","historyPush","$elm","preventFixedHeader","additionalOffsetTop","triggerScrollReached","topOnly","offset","scrollProperties","top","scrollLeft","LargeTeaser","niaga_marketo_form_global_1","MarketoForm","$blockedMessage","envId","formId","formFullId","formHref","redirectHref","isExpired","marketoService","timerRef_1","loadMktoForm","loadForm","onSuccess","values","followUpUrl","setKnownMarketoLead","formVersion","PageIntro","$floatHeroImage","ProductLister","$paginationFullContainer","$productContainer","$paginationBtn","$prevBtn","$nextBtn","$paginationNumberBtn","$DropDownContainer","$DropDownItem","number","prdType","productType","renderPagination","setPaginationButton","generateResultHtml","linkTarget","image","description","imgSrc","tag","des","generatePaginationHtml","currentPageNum","ScrollingTeaser","initStickyImage","$teaserItem","$teaserImg","stickemDots","startPosition","endPosition","currentPosition","deviationHeight","containerStart","curImgHeight","scrollFinish","debug","dotAnchor","dotTitle","Cookies","setSitecoreAnalyticsCookiePref","set","expires","state","checkMarketoEmailLink","querySet","indexOf","dataLayer","services","UC_UI","getServicesBaseInfo","sc","consent","mkto","cookieValue","throttle","cachedBreakpoint","lastViewport","newViewport","getCurrentBreakpoint","leading","trailing","$meassureHelper","Error","appendTo","getPropertyValue","meassureBreakpoint","isSmall","isMedium","handler","off","isLarge","isExtraLarge","isSmallOrMedium"],"mappings":"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","file":"js/covestro.niaga-pattern-library.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NiagaUi\"] = factory();\n\telse\n\t\troot[\"NiagaUi\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonpNiagaUi\"] = window[\"webpackJsonpNiagaUi\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([145,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport * as Track from '@project/shared/utils/tracking/js/tracking';\r\n\r\nconst classes = {\r\n\tvideoEl: 'js-a-video__element',\r\n\tvideoCaption: 'js-a-video__caption',\r\n};\r\ninterface IvideoData {\r\n\tplayerId: string;\r\n\tvideoId: string;\r\n\tembedscript: string;\r\n\tflashPath: string;\r\n\tapiUrl: string;\r\n\tconfigType: string;\r\n\ttId: number;\r\n}\r\n\r\n@createModule('NiagaVideoComponent')\r\n/**\r\n * Video component implementation.\r\n *\r\n * @author Lars-Olof Kreim \r\n */\r\nexport class NiagaVideoComponent extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\tapi: any;\r\n\t$videoContainer: JQuery;\r\n\tvideoData: IvideoData;\r\n\tvideoName: string;\r\n\tcontainerId: string;\r\n\tprogressMarker: number[];\r\n\treachedMarker: number;\r\n\t/**\r\n\t * start method, called on terrific bootstap\r\n\t *\r\n\t * @param {Object} resolve function to call at the end of component start\r\n\t * @returns {void}\r\n\t */\r\n\tstart(resolve: () => void) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.$videoContainer = this.$ctx.find(`.${classes.videoEl}`);\r\n\t\tthis.videoData = this.$ctx.data() as IvideoData;\r\n\t\tthis.addMiScript();\r\n\t\tresolve();\r\n\t}\r\n\r\n\t/**\r\n\t * method is called to Niaga ArticleOverViewComponent\r\n\t *\r\n\t * @returns {void}\r\n\t */\r\n\tstartVideo(ctx:JQuery,resolve: () => void)\r\n\t{\r\n\t\tthis.$ctx = $(ctx);\r\n\t\tthis.$videoContainer = this.$ctx.find(`.${classes.videoEl}`);\r\n\t\tthis.videoData = this.$ctx.data() as IvideoData;\r\n\t\tthis.addVideoMiScript();\r\n\t}\r\n\r\n\taddVideoMiScript() {\r\n\t\tthis.$videoContainer = this.$ctx.find(`.${classes.videoEl}`);\r\n\t\tthis.containerId = this.$videoContainer.attr(\"id\");\r\n\t\tconst $script = $(``);\r\n\t\t$script.attr('onload', () => {\r\n\t\t\tthis.onScriptLoaded(this.containerId);\r\n\t\t});\r\n\t\t$script.attr('src', this.videoData.embedscript);\r\n\t\t$(document.body).append($script);\r\n\t}\r\n\t/**\r\n\t * method is called to initialize MiScript\r\n\t *\r\n\t * @returns {void}\r\n\t */\r\n\taddMiScript() {\r\n\t\tthis.containerId = `a-video__mi-player-${this.videoData.tId}`;\r\n\t\tthis.$videoContainer.attr('id', this.containerId);\r\n\t\tconst $script = $(``);\r\n\t\t$script.attr('onload', () => {\r\n\t\t\tthis.onScriptLoaded(this.containerId);\r\n\t\t});\r\n\t\t$script.attr('src', this.videoData.embedscript);\r\n\t\t$(document.body).append($script);\r\n\t}\r\n\r\n\t/**\r\n\t * method is called when script was loaded\r\n\t *\r\n\t * @param {string} id id of videoplayer container\r\n\t * @returns {void}\r\n\t */\r\n\tonScriptLoaded(id: string) {\r\n\t\t// Hack to be sure the videoplayer script was loaded\r\n\t\tif ((window as any).VideoPlayer) {\r\n\t\t\tthis.initVideoPlayer(id);\r\n\t\t} else {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.onScriptLoaded(id);\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * method initializes movingimage video player\r\n\t *\r\n\t * @param {string} id id of videoplayer container\r\n\t * @returns {void}\r\n\t */\r\n\tinitVideoPlayer(id: string) {\r\n\t\tconst config: {\r\n\t\t\tsuccess: () => void;\r\n\t\t\tparameters: { configType: string; playerId: string; videoId: string; apiUrl: string; flashPath: string };\r\n\t\t} = {\r\n\t\t\tsuccess: this.onPlayerInit.bind(this),\r\n\t\t\tparameters: {\r\n\t\t\t\tconfigType: this.videoData.configType,\r\n\t\t\t\tplayerId: this.videoData.playerId,\r\n\t\t\t\tvideoId: this.videoData.videoId,\r\n\t\t\t\tapiUrl: this.videoData.apiUrl,\r\n\t\t\t\tflashPath: this.videoData.flashPath,\r\n\t\t\t},\r\n\t\t};\r\n\t\t(window as any).VideoPlayer.Collection.addPlayerById(this.containerId, config);\r\n\t}\r\n\r\n\t/**\r\n\t * method is called when player was initialized\r\n\t *\r\n\t * @param {object} api player api\r\n\t * @returns {void}\r\n\t */\r\n\tonPlayerInit(api: object) {\r\n\t\tthis.progressMarker = [25, 50, 75];\r\n\t\tthis.reachedMarker = 0;\r\n\t\tthis.api = api;\r\n\t\tthis.videoName = this.getVideoName();\r\n\t\tthis.api.registerEventListener('play', this.onPlay.bind(this));\r\n\t\tthis.api.registerEventListener('pause', this.onPause.bind(this));\r\n\t\tthis.api.registerEventListener('ended', this.onEnded.bind(this));\r\n\t\tthis.api.registerEventListener('timeupdate', this.onTimeUpdate.bind(this));\r\n\t}\r\n\r\n\t/**\r\n\t * method trys to readout videoname and retuns best match\r\n\t *\r\n\t * @returns {void}\r\n\t */\r\n\tgetVideoName() {\r\n\t\tconst metaApi: any = this.api.getApi('metaData');\r\n\r\n\t\tif (metaApi) {\r\n\t\t\tconst metaTitle: string = metaApi.getVideoTitle();\r\n\t\t\tif (metaTitle) {\r\n\t\t\t\treturn metaTitle;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst label: string = this.$ctx.find(`.${classes.videoCaption}`).text() || '';\r\n\t\tif (label.length) {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t\treturn 'noName';\r\n\t}\r\n\r\n\t/**\r\n\t * method is called when player starts to play\r\n\t *\r\n\t * @returns {void}\r\n\t */\r\n\tonPlay() {\r\n\t\tthis.track('Played');\r\n\t}\r\n\r\n\t/**\r\n\t * method is called when player pauses\r\n\t *\r\n\t * @param {object} e event\r\n\t * @returns {void}\r\n\t */\r\n\tonPause(e: { time: number }) {\r\n\t\tconst currentTime = Math.round(e.time);\r\n\t\tif (currentTime < Math.floor(this.api.getDuration())) {\r\n\t\t\tthis.track('Paused', `${currentTime}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * method is called when player ends\r\n\t *\r\n\t * @returns {void}\r\n\t */\r\n\tonEnded() {\r\n\t\tthis.track('100%');\r\n\t}\r\n\r\n\t/**\r\n\t * method is called when player time gets updated\r\n\t *\r\n\t * @param {object} e event\r\n\t * @returns {void}\r\n\t */\r\n\tonTimeUpdate(e: { time: number }) {\r\n\t\tconst percentPosition: number = Math.floor((100 * Math.round(e.time)) / this.api.getDuration());\r\n\t\tfor (let i: number = 0; i < this.progressMarker.length; i++) {\r\n\t\t\tconst marker = this.progressMarker[i];\r\n\t\t\tif (percentPosition >= marker && marker > this.reachedMarker) {\r\n\t\t\t\tthis.reachedMarker = marker;\r\n\t\t\t\tthis.track(`${marker}%`);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * method tracks event\r\n\t *\r\n\t * @param {string} action tracking action name\r\n\t * @param {string} value tracking value\r\n\t * @returns {void}\r\n\t */\r\n\ttrack(action: string, value?: string) {\r\n\t\tconst trackdata: {\r\n\t\t\tevent: string;\r\n\t\t\teventCategory: string;\r\n\t\t\teventAction: string;\r\n\t\t\teventLabel: string;\r\n\t\t\teventValue?: string;\r\n\t\t} = {\r\n\t\t\tevent: 'video',\r\n\t\t\teventCategory: 'Video',\r\n\t\t\teventAction: action,\r\n\t\t\teventLabel: `${this.videoData.videoId}|${this.videoName}`,\r\n\t\t};\r\n\t\tif (value) {\r\n\t\t\ttrackdata.eventValue = value;\r\n\t\t}\r\n\t\tTrack.gtmTrack(trackdata);\r\n\t}\r\n\r\n\t/**\r\n\t * stop method, called on terrific stop\r\n\t *\r\n\t * @returns {void}\r\n\t */\r\n\tstop() {\r\n\t\ttry {\r\n\t\t\t(window as any).VideoPlayer.Collection.removePlayerById(this.containerId);\r\n\t\t} catch (e) {\r\n\t\t\t// Intentionaly Empty\r\n\t\t}\r\n\t}\r\n}\r\n","import { isKnownMarketoLead } from '@project/shared/utils/tracking/js/tracking';\r\nimport { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\n// interface IProductAutosuggest {\r\n// \tFieldName: string;\r\n// \tEndpoint: string;\r\n// \tBrandLabel: string;\r\n// \tProductLabel: string;\r\n// \tNoResultLabel: string;\r\n// \tMaxItem: number;\r\n// \tPermissionQuery: string;\r\n// \tLanguage: string;\r\n// }\r\n\r\n@createModule('NiagaMarketoFormGlobal')\r\nexport class MarketoFormGlobal extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: () => void) {\r\n\t\tthis.initializeMarketoOnScriptLoad();\r\n\t\tresolve();\r\n\t}\r\n\r\n\tinitializeMarketoOnScriptLoad(): void {\r\n\t\tlet $this = this;\r\n\t\tlet timerRef = setTimeout(() => {\r\n\t\t\tlet MktoForms2 = (window as any)[\"MktoForms2\"];\r\n\t\t\tif (typeof (MktoForms2) != \"undefined\") {\r\n\t\t\t\tclearTimeout(timerRef);\r\n\r\n\t\t\t\tMktoForms2.whenReady(function (form: any) {\r\n\r\n\t\t\t\t\tlet $component = $(form.getFormElem()[0]).parents(\"div[data-t-name]\");\r\n\r\n\t\t\t\t\t//$this.initMessageBox($component);\r\n\r\n\t\t\t\t\t// translate form\r\n\t\t\t\t\t$this.translate(form, $component);\r\n\r\n\t\t\t\t\t// sort select options\r\n\t\t\t\t\t$this.sortSelectOptions(form);\r\n\r\n\t\t\t\t\t// prefill form based on cookie\r\n\t\t\t\t\t$this.prefillForm(form, $component);\r\n\t\t\t\t});\r\n\r\n\r\n\t\t\t\tMktoForms2.whenRendered(function (form: any) {\r\n\r\n\t\t\t\t\t// to avoid duplicated id in page, update field id to a random id\r\n\t\t\t\t\t// currently we just update the checkbox id\r\n\t\t\t\t\t$this.updateFieldAttributes(form);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, 250);\r\n\t}\r\n\r\n\t// translate field label by field name\r\n\ttranslate(form: any, $component: JQuery) {\r\n\t\tlet MktoForms2 = (window as any)[\"MktoForms2\"];\r\n\t\tvar formEl = form.getFormElem()[0];\r\n\t\tvar ANCESTORS_STOR = '.mktoFormRow, .mktoFormCol',\r\n\t\t\tINPUTS_STOR = 'INPUT, SELECT, TEXTAREA, BUTTON',\r\n\t\t\tattrTag = 'data-wrapper-for',\r\n\t\t\t_forEach = Array.prototype.forEach;\r\n\r\n\t\t// utility fn: tag outer wrapper DIVs with their inner inputs' names to make them seekable\r\n\t\t(function tagMktoWrappers(formEl) {\r\n\t\t\t_forEach.call(formEl.querySelectorAll(ANCESTORS_STOR), function (ancestor: any) {\r\n\t\t\t\tancestor.setAttribute(attrTag, '');\r\n\t\t\t\t_forEach.call(ancestor.querySelectorAll(INPUTS_STOR), function (input: any) {\r\n\t\t\t\t\tvar currentTag = ancestor.getAttribute(attrTag);\r\n\t\t\t\t\tancestor.setAttribute(attrTag, [currentTag ? currentTag : '', input.name].join(' ').trim());\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t})(formEl);\r\n\r\n\t\tlet translateMapEl = $component.find(`[data-map-id=\"translateMap\"]`);// get translations embedded in form rich text area\r\n\r\n\t\tlet jsonStr = translateMapEl.text();\r\n\r\n\t\tif (jsonStr.length > 0) {\r\n\t\t\tlet translateMap = JSON.parse(jsonStr);\r\n\t\t\tlet currentTranslations = translateMap;\r\n\r\n\t\t\t// loop over translatables\r\n\t\t\tvar fieldName, fieldTranslations, propertyName, propertyValue: any, translateTargetEl: any;\r\n\t\t\tfor (fieldName in currentTranslations) {\r\n\t\t\t\tfieldTranslations = currentTranslations[fieldName];\r\n\t\t\t\tfor (propertyName in fieldTranslations) {\r\n\t\t\t\t\tpropertyValue = fieldTranslations[propertyName];\r\n\t\t\t\t\tswitch (propertyName) {\r\n\t\t\t\t\t\tcase \"label\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('[data-wrapper-for=\"' + fieldName + '\"] LABEL');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\ttranslateTargetEl.lastChild.nodeValue = propertyValue\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"validation\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = MktoForms2.$(formEl.querySelector('[data-wrapper-for=\"' + fieldName + '\"] .mktoFieldDescriptor'));\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\tlet mktoFieldDescriptor = translateTargetEl.data('mktoFieldDescriptor');\r\n\t\t\t\t\t\t\t\tif (mktoFieldDescriptor != undefined) {\r\n\t\t\t\t\t\t\t\t\tmktoFieldDescriptor.validationMessage = propertyValue;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"placeholder\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('[data-wrapper-for=\"' + fieldName + '\"] INPUT');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\ttranslateTargetEl.setAttribute('placeholder', propertyValue);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"submit\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('BUTTON[type=\"submit\"]');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\ttranslateTargetEl.innerHTML = propertyValue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"html\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('[data-wrapper-for=\"' + fieldName + '\"]');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\ttranslateTargetEl.innerHTML = propertyValue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"options\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelectorAll('[data-wrapper-for=\"' + fieldName + '\"] OPTION');\r\n\t\t\t\t\t\t\tfor (var i = 0; i < translateTargetEl.length; i++) {\r\n\t\t\t\t\t\t\t\tconst val = translateTargetEl[i].value\r\n\t\t\t\t\t\t\t\tconst txt = propertyValue[val];\r\n\t\t\t\t\t\t\t\tif (typeof (txt) !== \"undefined\") {\r\n\t\t\t\t\t\t\t\t\ttranslateTargetEl[i].text = txt;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"checkbox\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('[data-wrapper-for=\"' + fieldName + '\"] .mktoCheckboxList');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\tconst labelEle = translateTargetEl.parentElement.querySelector(\"label\");\r\n\t\t\t\t\t\t\t\tlabelEle.innerHTML = propertyValue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"fieldset\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('[data-wrapper-for=\"' + fieldName + '\"] fieldset legend');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\ttranslateTargetEl.innerText = propertyValue;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase \"submitprogress\":\r\n\t\t\t\t\t\t\ttranslateTargetEl = formEl.querySelector('BUTTON[type=\"submit\"]');\r\n\t\t\t\t\t\t\tif (translateTargetEl != null) {\r\n\t\t\t\t\t\t\t\ttranslateTargetEl.setAttribute(\"data-submit-progress-text\", propertyValue);\r\n\t\t\t\t\t\t\t\tform.onSubmit(function (form: any) {\r\n\t\t\t\t\t\t\t\t\tif (form.submittable()) {\r\n\t\t\t\t\t\t\t\t\t\ttranslateTargetEl.innerHTML = translateTargetEl.getAttribute(\"data-submit-progress-text\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsortSelectOptions(form: any) {\r\n\t\tlet formEl = form.getFormElem()[0];\r\n\t\tlet $form = $(formEl);\r\n\t\tconst language = $(\"html\").attr(\"lang\");\r\n\r\n\t\tconst $selectEles = $form.find(\"select\");\r\n\t\t$selectEles.each((i: any, e: any) => {\r\n\r\n\t\t\tlet $options = $(e).find(\"option\");\r\n\r\n\t\t\tconst $defaultOption = $options.filter(\"option[value='']\");\r\n\r\n\t\t\t// get the \"Other\" option in dropdown list\r\n\t\t\tconst $othersOption = $options.filter((optIndex: number, optEle: any) => {\r\n\t\t\t\tlet optValue = $(optEle).val().toString().toLocaleLowerCase();\r\n\t\t\t\tlet result = (optValue == \"others\" || optValue == \"other\");\r\n\t\t\t\treturn result;\r\n\t\t\t});\r\n\r\n\t\t\tconst $optionEles = $options.toArray().sort(function (a, b) {\r\n\t\t\t\tvar aText = $(a).text() as string;\r\n\t\t\t\tvar bText = $(b).text() as string;\r\n\t\t\t\tvar result = aText.localeCompare(bText, language, { ignorePunctuation: true });\r\n\t\t\t\treturn result;\r\n\t\t\t});\r\n\r\n\t\t\t$(e).empty();\r\n\r\n\t\t\t$(e).append($optionEles);\r\n\r\n\t\t\t// make the \"Select...\" option at the top\r\n\t\t\tif ($defaultOption && $defaultOption.length > 0) {\r\n\t\t\t\t$(e).prepend($defaultOption);\r\n\t\t\t}\r\n\r\n\t\t\t// make the \"Others\" option at the bottom\r\n\t\t\tif ($othersOption && $othersOption.length > 0) {\r\n\t\t\t\t$(e).append($othersOption);\r\n\t\t\t}\r\n\r\n\t\t\tvar id=$(e).attr('id');\r\n\t\t\tif(id!==\"formVersion\" || (id==\"formVersion\" && isKnownMarketoLead()==false))\r\n\t\t\t{\r\n\t\t\t// make sure the first option is selected\r\n\t\t\t\t$(e).find(\"option\").first().prop(\"selected\", true);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tformatPhoneNumber(form: any) {\r\n\t\tvar vals = form.vals();\r\n\t\tvar phone = vals.Phone;\r\n\t\tif (typeof (phone) !== \"undefined\") {\r\n\t\t\tvar formattedPhone = phone.replace(/[^0-9]/g, '').replace(/^0*/g, '');\r\n\t\t\tform.vals({ \"Phone\": formattedPhone });\r\n\t\t}\r\n\t}\r\n\r\n\tprefillForm(form: any, $component: JQuery) {\r\n\t\tlet _this = this;\r\n\r\n\t\tlet prefilledFieldsEle = $component.find(\"div[data-map-id='prefillFields']\");\r\n\t\tlet prefilledJsonStr = prefilledFieldsEle.text();\r\n\r\n\t\tif (prefilledJsonStr.length > 0) {\r\n\r\n\t\t\tlet prefillFields = JSON.parse(prefilledJsonStr);\r\n\t\t\tlet formFieldEles = $component.find(\"div.mktoFormRow\");\r\n\r\n\t\t\tfor (var fieldName in prefillFields) {\r\n\t\t\t\tlet fieldValue: any = prefillFields[fieldName];\r\n\r\n\t\t\t\tformFieldEles.each(function (i: any, e: any) {\r\n\t\t\t\t\tlet $fieldEle = $(e);\r\n\t\t\t\t\tlet formFieldId: string = $fieldEle.data(\"wrapper-for\");\r\n\r\n\t\t\t\t\tif (fieldName.toLocaleLowerCase() == formFieldId.toLocaleLowerCase()) {\r\n\r\n\t\t\t\t\t\tif (fieldValue != null) {\r\n\r\n\t\t\t\t\t\t\tlet type = $fieldEle.find(\"input\").attr(\"type\");\r\n\t\t\t\t\t\t\tif (type == \"checkbox\") {\r\n\t\t\t\t\t\t\t\tif (fieldValue == \"true\") {\r\n\t\t\t\t\t\t\t\t\tfieldValue = \"yes\";\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlet obj = _this.GenerateObject(formFieldId, fieldValue);\r\n\t\t\t\t\t\t\tform.vals(obj);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tGenerateObject(formFieldId: string, formFieldValue: string): any {\r\n\t\tlet jsonStr = `{\"${formFieldId}\":\"${formFieldValue}\"}`;\r\n\t\tlet obj = JSON.parse(jsonStr);\r\n\t\treturn obj;\r\n\t}\r\n\r\n\tupdateFieldAttributes(form: any) {\r\n\r\n\t\tvar $formEl = $(form.getFormElem()[0]);\r\n\t\tvar rando = new Date().getTime() + parseInt((Math.random() * 1000).toString());\r\n\r\n\t\tvar $checkboxes = $formEl.find(\"input[type='checkbox'].mktoField\");\r\n\r\n\t\t$checkboxes.each((i: any, e: any) => {\r\n\t\t\tvar $chk = $(e);\r\n\t\t\tvar chkId = $chk.attr(\"id\");\r\n\t\t\tvar newChkId = `${chkId}_${rando}`;\r\n\r\n\t\t\t// update checkbox id\r\n\t\t\t$chk.attr(\"id\", newChkId);\r\n\r\n\t\t\t// update label-for attribute\r\n\t\t\t$chk.parents(\".mktoFieldWrap\").find(`label[for=${chkId}]`).attr(\"for\", newChkId);\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tstop() { }\r\n}\r\n","// exposing jQuery to window in order to be usable by external scripts\r\n(window as any)['$'] = jQuery;\r\n(window as any)['jQuery'] = jQuery;\r\n\r\nimport 'core-js';\r\nimport * as T from 'terrific-singleton';\r\n\r\n// **************************\r\n// BASE / HELPERS\r\n// **************************\r\n\r\n// Component Document\r\nimport './lib/base/document/css/document.scss';\r\n\r\n// Component FontFaces\r\nimport './lib/base/font-faces/css/font-faces.scss';\r\n\r\n// Component Fontawesome\r\nimport './lib/base/fontawesome/css/fontawesome.scss';\r\n\r\n// Component Resets\r\nimport './lib/base/resets/css/resets.scss';\r\n\r\n// Component Security\r\nimport './lib/base/security/js/security';\r\n\r\n// **************************\r\n// Grid\r\n// **************************\r\n\r\n// Component Grid\r\nimport './lib/grid/niaga-grid/css/niaga-grid.scss';\r\n\r\n// **************************\r\n// ATOMS\r\n// **************************\r\n\r\n// Component Button\r\nimport './lib/atoms/niaga-button/css/niaga-button.scss';\r\n\r\n// Component Heading\r\nimport './lib/atoms/niaga-heading/css/niaga-heading.scss';\r\n\r\n// Component Image\r\nimport './lib/atoms/niaga-image/css/niaga-image.scss';\r\nimport './lib/atoms/niaga-image/js/niaga-image';\r\n\r\n// Component Link\r\nimport './lib/atoms/niaga-link/css/niaga-link.scss';\r\n\r\n// Component Richtext\r\nimport './lib/atoms/niaga-richtext/css/niaga-richtext.scss';\r\n\r\n// Component Video\r\nimport './lib/atoms/niaga-video/css/niaga-video.scss';\r\nimport './lib/atoms/niaga-video/js/niaga-video';\r\n\r\n// **************************\r\n// MOLECULES\r\n// **************************\r\n\r\n// Component Accordion\r\nimport './lib/molecules/niaga-accordion/css/niaga-accordion.scss';\r\nimport './lib/molecules/niaga-accordion/js/niaga-accordion';\r\n\r\n// Component Application Teaser\r\nimport './lib/molecules/niaga-application-teaser/css/niaga-application-teaser.scss';\r\n\r\n// Component Article Overview\r\nimport './lib/molecules/niaga-article-overview/css/niaga-article-overview.scss';\r\nimport './lib/molecules/niaga-article-overview/js/niaga-article-overview';\r\n\r\n// Component Category Teaser\r\nimport './lib/molecules/niaga-category-teaser/css/niaga-category-teaser.scss';\r\n\r\n// Component Block\r\nimport './lib/molecules/niaga-block/css/niaga-block.scss';\r\nimport './lib/molecules/niaga-block/css/modifier/niaga-block--themes.scss';\r\n\r\n// Component Check Your Tag\r\nimport './lib/molecules/niaga-check-your-tag/css/niaga-check-your-tag.scss';\r\nimport './lib/molecules/niaga-check-your-tag/js/niaga-check-your-tag';\r\n\r\n// Component Dropdown\r\nimport './lib/molecules/niaga-dropdown/css/niaga-dropdown.scss';\r\nimport './lib/molecules/niaga-dropdown/js/niaga-dropdown';\r\n\r\n// Component Cta Blocks\r\nimport './lib/molecules/niaga-cta-blocks/css/niaga-cta-blocks.scss';\r\nimport './lib/molecules/niaga-cta-blocks/css/modifier/niaga-cta-blocks--themes.scss';\r\nimport './lib/molecules/niaga-cta-blocks/js/niaga-cta-blocks';\r\n\r\n// Component Footer\r\nimport './lib/molecules/niaga-footer/css/niaga-footer.scss';\r\n\r\n// Component Form Container\r\nimport './lib/molecules/niaga-form-container/css/niaga-form-container.scss';\r\nimport './lib/molecules/niaga-form-container/js/niaga-form-container';\r\n\r\n// Component Header\r\nimport './lib/molecules/niaga-header/css/niaga-header.scss';\r\nimport './lib/molecules/niaga-header/js/niaga-header';\r\n\r\n// Component Home Scroller\r\nimport './lib/molecules/niaga-home-scroller/css/niaga-home-scroller.scss';\r\nimport './lib/molecules/niaga-home-scroller/js/niaga-home-scroller';\r\n\r\n// Component Inpage Navigation\r\nimport './lib/molecules/niaga-inpage-navigation/css/niaga-inpage-navigation.scss';\r\nimport './lib/molecules/niaga-inpage-navigation/js/niaga-inpage-navigation.model';\r\nimport './lib/molecules/niaga-inpage-navigation/js/niaga-inpage-navigation';\r\n\r\n// Component Large Teaser\r\nimport './lib/molecules/niaga-large-teaser/css/niaga-large-teaser.scss';\r\nimport './lib/molecules/niaga-large-teaser/css/modifier/niaga-large-teaser--themes.scss';\r\nimport './lib/molecules/niaga-large-teaser/js/niaga-large-teaser';\r\n\r\n// Component Logos\r\nimport './lib/molecules/niaga-logos/css/niaga-logos.scss';\r\n\r\n// Component MarketoForm\r\nimport './lib/molecules/niaga-marketo-form/css/niaga-marketo-form.scss';\r\nimport './lib/molecules/niaga-marketo-form/js/niaga-marketo-form';\r\n\r\n// Component MarketoFormGlobal\r\nimport './lib/molecules/niaga-marketo-form-global/js/niaga-marketo-form-global';\r\n\r\n// Component Page Intro\r\nimport './lib/molecules/niaga-page-intro/css/niaga-page-intro.scss';\r\nimport './lib/molecules/niaga-page-intro/js/niaga-page-intro';\r\n\r\n// Component Page Section\r\nimport './lib/molecules/niaga-page-section/css/niaga-page-section.scss';\r\n\r\n// Component Product Lister\r\nimport './lib/molecules/niaga-product-lister/css/niaga-product-lister.scss';\r\nimport './lib/molecules/niaga-product-lister/js/niaga-product-lister';\r\n\r\n// Component Quote\r\nimport './lib/molecules/niaga-quote/css/niaga-quote.scss';\r\n\r\n// Component Scrolling Teaser\r\nimport './lib/molecules/niaga-scrolling-teaser/css/niaga-scrolling-teaser.scss';\r\nimport './lib/molecules/niaga-scrolling-teaser/js/niaga-scrolling-teaser';\r\n\r\n// Component Small Teaser\r\nimport './lib/molecules/niaga-small-teaser/css/niaga-small-teaser.scss';\r\nimport './lib/molecules/niaga-small-teaser/css/modifier/niaga-small-teaser--themes.scss';\r\n\r\n// Component Team Overview\r\nimport './lib/molecules/niaga-team-overview/css/niaga-team-overview.scss';\r\n\r\n// Component Text Image\r\nimport './lib/molecules/niaga-text-image/css/niaga-text-image.scss';\r\n\r\n// **************************\r\n// ORGANISMS\r\n// **************************\r\n\r\n\r\n// **************************\r\n// INIT\r\n// **************************\r\n(window as any)['Terrific'] = T;\r\n\r\n// polyfill for custom events (IE)\r\n(function() {\r\n\tif (typeof (window as any)['CustomEvent'] === 'function') {\r\n\t\treturn false;\r\n\t}\r\n\tfunction CustomEvent(event: string, params: any) {\r\n\t\tparams = params || { bubbles: false, cancelable: false, detail: undefined };\r\n\t\tvar evt = document.createEvent('CustomEvent');\r\n\t\tevt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n\t\treturn evt;\r\n\t}\r\n\tCustomEvent.prototype = (window as any)['Event'].prototype;\r\n\t(window as any)['CustomEvent'] = CustomEvent;\r\n})();\r\n\r\nconst event = new CustomEvent('terrificAvailable');\r\ndocument.dispatchEvent(event);\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\tT.bootstrap();\r\n});\r\n","// https://github.com/reeko/prevent-window-opener-attacks\r\nimport 'prevent-window-opener-attacks';\r\n","// https://github.com/aFarkas/lazysizes\r\nimport 'lazysizes/plugins/respimg/ls.respimg';\r\n\r\n// lazySizes.init();\r\nimport { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport { triggerPublicEvent, PublicEvents } from '@project/shared/utils/events/js/events';\r\n\r\n@createModule('NiagaImage')\r\n/**\r\n * image module implementation.\r\n *\r\n */\r\nexport class NiagaImage extends TerrificSpec {\r\n\tstart(resolve: Function) {\r\n\t\tresolve();\r\n\t}\r\n\tstop() {}\r\n\t_triggerChangeEvent() {\r\n\t\ttriggerPublicEvent(PublicEvents.uxChange, this, this._ctx);\r\n\t}\r\n}\r\n","export enum PublicEvents {\r\n\t// Generic UI events\r\n\t'uxChange',\r\n\t'uxClick',\r\n\t'uxInput',\r\n\t'uxSubmit',\r\n\t'uxShow',\r\n\t'uxHide',\r\n\t'uxResize',\r\n\t'uxSyncLabel',\r\n\r\n\t// Specific component events\r\n\t'overlayOpened',\r\n\t'overlayClosed',\r\n}\r\n\r\n// polyfill for custom events (IE)\r\n(function() {\r\n\tif (typeof (window as any)['CustomEvent'] === 'function') {\r\n\t\treturn false;\r\n\t}\r\n\tfunction CustomEvent(event: string, params: any) {\r\n\t\tparams = params || { bubbles: false, cancelable: false, detail: undefined };\r\n\t\tvar evt = document.createEvent('CustomEvent');\r\n\t\tevt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n\t\treturn evt;\r\n\t}\r\n\tCustomEvent.prototype = (window as any)['Event'].prototype;\r\n\t(window as any)['CustomEvent'] = CustomEvent;\r\n})();\r\n\r\n/**\r\n * Triggers a public event for external single page applications\r\n * @param {PublicEvents} type Event type\r\n * @param {TerrificSpec} terrificModule Terrific module\r\n * @param {Element} target Target element\r\n * @param {Object} eventData Event Data Object\r\n * @return {boolean} true if event was not rejected\r\n */\r\nexport function triggerPublicEvent(\r\n\ttype: PublicEvents,\r\n\tterrificModule: any,\r\n\ttarget: Element,\r\n\teventData: Object = {}\r\n): boolean {\r\n\tconst eventName = PublicEvents[type];\r\n\tconst terrificModuleName = terrificModule ? (terrificModule._ctx.dataset.tName as string) : '';\r\n\tconst data: object = {\r\n\t\tmodule: terrificModule,\r\n\t\tname: terrificModuleName,\r\n\t\teventData: eventData,\r\n\t};\r\n\tconst event = new CustomEvent(`${eventName}`, { detail: data });\r\n\ttarget.dispatchEvent(event);\r\n\r\n\treturn true;\r\n}\r\n\r\n/**\r\n * Bind to a public event and returns an unbind helper\r\n *\r\n * @param {PublicEvents} type Event type\r\n * @param {Element|JQuery} element Target element\r\n * @param {Object} callback\r\n * @return {Object} Off-Function to Event\r\n */\r\nexport function onPublicEvent(\r\n\ttype: PublicEvents,\r\n\telement: Element,\r\n\tcallback: (event: Event, data: object) => void\r\n): () => void {\r\n\tconst eventName = PublicEvents[type];\r\n\tconst eventHandler: any = (event: Event) => callback(event as any, (event as any)['detail'] as object);\r\n\telement.addEventListener(`${eventName}`, eventHandler);\r\n\treturn () => element.removeEventListener(`${eventName}`, eventHandler);\r\n}\r\n\r\nexport default {\r\n\tPublicEvents,\r\n\tonPublicEvent,\r\n\ttriggerPublicEvent,\r\n};\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\nconst classes = {\r\n\taccordionButton: 'js-m-accordion__heading'\r\n};\r\n\r\n@createModule('Accordion')\r\n/**\r\n * Accordion module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class Accordion extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tconst $accordionButton = this.$ctx.find(`.${classes.accordionButton}`);\r\n\t\t$accordionButton.on('click', this.onTriggerClick.bind(this));\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\tonTriggerClick(ev: Event) {\r\n\t\tvar $content = $(ev.currentTarget).next().children();\r\n\r\n if ($content.hasClass('expand')) {\r\n $content.removeClass('expand');\r\n $(ev.currentTarget).removeClass('expand');\r\n $content.slideUp(200);\r\n } else {\r\n $content.addClass('expand');\r\n $(ev.currentTarget).addClass('expand');\r\n $content.slideDown(200);\r\n }\r\n\t}\r\n}\r\n","import { resolve } from 'core-js/fn/promise';\r\nimport { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport { NiagaVideoComponent } from '../../../atoms/niaga-video/js/niaga-video';\r\n\r\nconst classes = {\r\n\tpaginationContainer: \"m-article-overview__list\",\r\n\tloadMoreContainer:\"m-article-overview__btn-wrapper\",\r\n\tpaginationBtn: \"js-article-overview__pagination-button\",\r\n\tvideoWrapper: \"js-m-article-overview__item-video\",\r\n\tvideoItem: \"js-m-article-overview__item\",\r\n\tvideoPlayItem: 'm-article-overview__item--video-play',\r\n};\r\n\r\n@createModule('ArticleOverview')\r\n/**\r\n * ArticleOverview module implementation.\r\n */\r\nexport class ArticleOverview extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\t$paginationContainer: JQuery;\r\n\t$loadMoreContainer:JQuery\r\n\t$pageNumber:number;\r\n\t$videoItem: JQuery;\r\n\t$videoWrapper: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.$paginationContainer = this.$ctx.find(`.${classes.paginationContainer}`);\r\n\t\tthis.$loadMoreContainer= this.$ctx.find(`.${classes.loadMoreContainer}`);\r\n\t\tthis.$pageNumber=0;\r\n\t\tvar _this = this;\r\n\t\tthis.$ctx.find(`.${classes.paginationBtn}`).on(\"click\", function (ev: any) {\r\n\t\t\t_this.getData();\r\n\t\t});\r\n\t\t_this.getData();\r\n\t\tresolve();\r\n\r\n\t\tthis.$videoItem= this.$ctx.find(`.${classes.videoItem}`);\r\n\t\tthis.$videoWrapper= this.$ctx.find(`.${classes.videoWrapper}`);\r\n\t\tthis.onVideoTeaserClick();\r\n\t}\r\n\r\n\tgetData() {\r\n\r\n\t\tconst url = this.$ctx.data(\"api-endpoint\");\r\n\t\tconst searchRoot = this.$ctx.data(\"search-root\");\r\n\t\tconst totalPages=this.$ctx.data(\"total-pages\");\r\n\t\tthis.$pageNumber=this.$pageNumber+1;\r\n\t\t$.ajax({\r\n\t\t\ttype: 'POST',\r\n\t\t\turl: url,\r\n\t\t\tdataType: 'html',\r\n\t\t\tdata:\r\n\t\t\t{\r\n\t\t\t\tdataSource: searchRoot,\r\n\t\t\t\tpageNumber: this.$pageNumber,\r\n\t\t\t},\r\n\t\t\tsuccess: (response: any) => {\r\n\t\t\t\tif (response) {\r\n\t\t\t\t\tthis.renderResultData(response);\r\n\t\t\t\t\tvar pageNumber=this.$pageNumber;\r\n\t\t\t\t\tvar videoComponent=$('[data-t-name=\"NiagaVideoComponent\"]');\r\n\t\t\t\t\tvideoComponent.each(function(index,item){\r\n\t\t\t\t\t\tif($(item).attr('data-t-id')==\"\" || $(item).attr('data-t-id')==undefined ||$(item).attr('data-t-id')==null)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t var value=1000+pageNumber+index;\r\n\t\t\t\t\t\t\t$(item).attr('data-t-id',value);\r\n\t\t\t\t\t\t $(item).find('.js-a-video__element').attr('id',`a-video__mi-player-${value}`)\r\n\t\t\t\t\t\t var niagaVideoComponent=new NiagaVideoComponent();\r\n\t\t\t\t\t\t niagaVideoComponent.startVideo($(item),resolve);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\tthis.onVideoTeaserClick();\r\n\t\t\t\t\tif(totalPages>1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.$loadMoreContainer.show();\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.$loadMoreContainer.hide();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(this.$pageNumber==totalPages)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.$loadMoreContainer.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcomplete: () => {\r\n\t\t\t},\r\n\t\t\terror: (xhr: any, status: string, error: string) => {\r\n\t\t\t\tconsole.log(`get niaga article overview data errror, url: ${url}, ${xhr.status}, ${xhr.statusText}, ${error}`);\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\trenderResultData(results: any) {\r\n\t\tthis.$paginationContainer.append(results);\r\n\t}\r\n\r\n\tonVideoTeaserClick() {\r\n\t\t$(`.${classes.videoWrapper}`).on('click', (ev: any) => {\r\n\t\t\t$(ev.currentTarget).parents(`.${classes.videoItem}`).addClass(classes.videoPlayItem);\r\n\t\t\t$(ev.currentTarget).closest('li').siblings().removeClass(classes.videoPlayItem);\r\n\r\n\t\t\tif($('video').length > 1) {\r\n\t\t\t\t$('html').find(`.${classes.videoWrapper}`).not($(ev.currentTarget)).find('video').trigger('pause');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstop() { }\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport getCurrentBreakpoint, { onBreakpointChange } from '@project/shared/utils/breakpoints-niaga/js/breakpoints-niaga';\r\n\r\nconst classes = {\r\n\tscroller: 'js-m-check-your-tag__scroller',\r\n\tsliderList: 'js-m-check-your-tag__slider-list',\r\n\tsliderItem: 'js-m-check-your-tag__slider-item',\r\n\tactiveItem: 'state-m-check-your-tag--item-is-active',\r\n\tdot: 'js-m-check-your-tag__dot',\r\n\tactiveDot: 'state-m-check-your-tag--dot-is-active',\r\n\tfalseItem: 'false-item',\r\n\tsearchInput: 'js-m-check-your-tag__search-text',\r\n\tsearchBtn: 'js-m-check-your-tag__search-btn',\r\n\tsearchResults: 'js-m-check-your-tag__product-list',\r\n};\r\n\r\n@createModule('CheckYourTag')\r\n/**\r\n * CheckYourTag module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class CheckYourTag extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\t$scroller: JQuery;\r\n\t$sliderList: JQuery;\r\n\t$sliderItem: JQuery;\r\n\t$dot: JQuery;\r\n\tsliderPageIndex: number;\r\n\tsliderlength: number;\r\n\tdotIndex: number;\r\n\titemWidth: number;\r\n\tstartX: number;\r\n\tendX: number;\r\n\r\n\t//Search\r\n\t$searchInput: JQuery;\r\n\t$searchBtn: JQuery;\r\n\t$searchResults: JQuery;\r\n\r\n\tnoResultMsg: string;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.initVars();\r\n\t\tthis.initHeight();\r\n\t\tonBreakpointChange(() => this.initHeight());\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.itemWidth = this.$scroller.width();\r\n\t\t\tthis.initScroller();\r\n\t\t\tthis.setScrollerWidth();\r\n\t\t}, 50);\r\n\t\tthis.autoplay(this.sliderPageIndex);\r\n\r\n\t\t$(window).on('resize', () => {\r\n\t\t\tthis.itemWidth = this.$scroller.width();\r\n\t\t\tthis.setScrollerWidth();\r\n\t\t});\r\n\r\n\t\tthis.getSearchResult();\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tinitVars() {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\r\n\t\tthis.$scroller = $(`.${classes.scroller}`, this.$ctx);\r\n\t\tthis.$sliderList = $(`.${classes.sliderList}`, this.$ctx);\r\n\t\tthis.$sliderItem = $(`.${classes.sliderItem}`, this.$ctx);\r\n\t\tthis.$dot = $(`.${classes.dot}`, this.$ctx);\r\n\t\tthis.sliderPageIndex = 0;\r\n\t\tthis.sliderlength = this.$sliderItem.length;\r\n\t\tthis.dotIndex = 0;\r\n\t\tthis.itemWidth = 0;\r\n\t\t//Search\r\n\t\tthis.$searchInput = $(`.${classes.searchInput}`, this.$ctx);\r\n\t\tthis.$searchBtn = $(`.${classes.searchBtn}`, this.$ctx);\r\n\t\tthis.$searchResults = $(`.${classes.searchResults}`, this.$ctx);\r\n\r\n\t\tthis.noResultMsg = this.$ctx.data(\"no-result-msg\");\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\tgetData() {\r\n\t\tlet url = this.$ctx.data(\"api-endpoint\");\r\n\t\tlet query = this.$searchInput.val();\r\n\t\tlet searchRoot = this.$ctx.data(\"search-root\");\r\n\t\tlet pageSize = this.$ctx.data(\"page-size\");\r\n\t\tlet pageNumber = 1;\r\n\t\tthis.clearSearchResult();\r\n\r\n\t\t$.ajax({\r\n\t\t\ttype: 'POST',\r\n\t\t\turl: url,\r\n\t\t\tdataType: 'json',\r\n\t\t\tdata:\r\n\t\t\t{\r\n\t\t\t\tproductName: query,\r\n\t\t\t\tproductCode: query,\r\n\t\t\t\tsearchRootId: searchRoot,\r\n\t\t\t\tpageSize: pageSize,\r\n\t\t\t\tpageNumber: pageNumber\r\n\t\t\t},\r\n\t\t\tsuccess: (response: any) => {\r\n\t\t\t\tif (response) {\r\n\r\n\t\t\t\t\tif (response.total > 0) {\r\n\t\t\t\t\t\tthis.renderResultData(response.results);\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.renderNoResultMessage();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.renderNoResultMessage();\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\t\t\tcomplete: () => {\r\n\t\t\t\tthis.$searchResults.show();\r\n\t\t\t},\r\n\t\t\terror: (xhr: any, status: string, error: string) => {\r\n\t\t\t\tconsole.log(`get niaga data errror, url: ${url}, ${xhr.status}, ${xhr.statusText}, ${error}`);\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\trenderNoResultMessage() {\r\n\t\tlet htmlContent = this.generateNoResultHtmlData();\r\n\t\tthis.$searchResults.append(htmlContent);\r\n\r\n\t}\r\n\r\n\trenderResultData(results: any) {\r\n\t\tresults.forEach((r: any) => {\r\n\r\n\t\t\tlet htmlContent = this.generateHtmlData(r.link, r.type, r.name);\r\n\t\t\tthis.$searchResults.append(htmlContent);\r\n\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tgenerateHtmlData(href: string, type: string, title: string) {\r\n\t\tvar htmlContent =\r\n\t\t\t`
  • \r\n \r\n ${type}\r\n ${title}\r\n \r\n
  • `;\r\n\t\treturn htmlContent;\r\n\t}\r\n\r\n\tgenerateNoResultHtmlData() {\r\n\t\tvar htmlContent = ` \r\n
  • \r\n ${this.noResultMsg}\r\n
  • `;\r\n\t\treturn htmlContent;\r\n\t}\r\n\r\n\tclearSearchResult() {\r\n\t\tthis.$searchResults.empty();\r\n\t}\r\n\r\n\t//Search\r\n\tshowResults() {\r\n\t\tthis.$searchResults.show()\r\n\t}\r\n\r\n\thideResults() {\r\n\t\tthis.$searchResults.hide()\r\n\t}\r\n\r\n\tgetSearchResult() {\r\n\t\tthis.$searchBtn.on('click', () => {\r\n\t\t\tlet txt = this.$searchInput.val() as string;\r\n\t\t\tif (txt.length >= 2) {\r\n\t\t\t\tthis.getData();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tconst _this = this;\r\n\t\tthis.$searchInput.on(\"input propertychange\", function (ev: any) {\r\n\t\t\tconst $target = $(ev.currentTarget);\r\n\t\t\tlet txt = $target.val() as string;\r\n\t\t\tif (txt.length >= 2) {\r\n\t\t\t\t_this.getData();\r\n\t\t\t} else {\r\n\t\t\t\t_this.hideResults();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tinitHeight() {\r\n\t\tconst viewport = getCurrentBreakpoint() as string;\r\n\t\tif (viewport === 'large' || viewport === 'extra-large') {\r\n\t\t\tthis.$ctx.css('min-height', this.$scroller.height() - 124)\r\n\t\t} else {\r\n\t\t\tthis.$ctx.removeAttr('style');\r\n\t\t}\r\n\t}\r\n\r\n\t//Carousel\r\n\tinitScroller() {\r\n\t\tthis.setActiveDot(0);\r\n\t\tthis.initDotClick();\r\n\t\tthis.$sliderList.append(this.$sliderItem.first().clone().addClass(classes.falseItem));\r\n\t\tthis.$sliderList.prepend(this.$sliderItem.last().clone().addClass(classes.falseItem));\r\n\t}\r\n\r\n\tinitDotClick() {\r\n\t\tthis.$dot.each((index: number, elem: HTMLElement) => {\r\n\t\t\t$(elem).on('click', (e: Event) => {\r\n\t\t\t\tthis.goToPageX(index);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tsetScrollerWidth() {\r\n\t\tthis.$sliderItem.width(this.itemWidth);\r\n\t\t$(\".false-item\").width(this.itemWidth);\r\n\t\tthis.$sliderList.css(\"left\", -(this.sliderPageIndex + 1) * this.itemWidth);\r\n\t}\r\n\r\n\tsetActiveDot(pageNumber: number) {\r\n\t\tthis.$dot.removeClass(classes.activeDot).eq(pageNumber).addClass(classes.activeDot);\r\n\r\n\t\tthis.sliderPageIndex = pageNumber;\r\n\t}\r\n\r\n\tgoToPageX(pageNumber: number) {\r\n\t\tconst itemPerWidth = this.itemWidth * -1;\r\n\t\tconst me = this;\r\n\t\tthis.$sliderList.animate({\r\n\t\t\t\"left\": (pageNumber + 1) * itemPerWidth\r\n\t\t}, 500, () => {\r\n\t\t\tif (pageNumber < 0) {\r\n\t\t\t\tpageNumber = this.sliderlength - 1;\r\n\t\t\t\tthis.$sliderList.css(\"left\", this.sliderlength * itemPerWidth);\r\n\t\t\t} else if (pageNumber == this.sliderlength) {\r\n\t\t\t\tpageNumber = 0;\r\n\t\t\t\tthis.$sliderList.css('left', itemPerWidth);\r\n\t\t\t}\r\n\t\t\tme.setActiveDot(pageNumber);\r\n\t\t\tme.sliderPageIndex = pageNumber;\r\n\t\t});\r\n\t}\r\n\r\n\tautoplay(pageNumber: number) {\r\n\t\tvar me = this;\r\n\t\tvar interval = setInterval(function () {\r\n\t\t\tpageNumber++;\r\n\t\t\tif (pageNumber > me.sliderlength) {\r\n\t\t\t\tpageNumber = 0;\r\n\t\t\t}\r\n\t\t\tme.setActiveDot(pageNumber)\r\n\t\t\tme.goToPageX(pageNumber);\r\n\t\t}, 2000);\r\n\r\n\t\tthis.$dot.on('click', () => {\r\n\t\t\tclearInterval(interval);\r\n\t\t});\r\n\t}\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\nconst classes = {\r\n\ttoggleBtn: \"js-m-dropdown__toggle\",\r\n\tdropdownMenu: \"js-m-dropdown__menu\",\r\n\tdropdownItem: \"js-m-dropdown__item\",\r\n\tstatusSelected: \"status-m-dropdown__item--selected\",\r\n\tstatusDropdownOpen: \"status-m-dropdown__menu--expanding\",\r\n};\r\n\r\n@createModule('Dropdown')\r\n/**\r\n * Dropdown module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class Dropdown extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\t$toggleBtn: JQuery;\r\n\t$dropdownMenu: JQuery;\r\n\t$dropdownItem: JQuery;\r\n\t$statusSelected: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.$toggleBtn = this.$ctx.find(`.${classes.toggleBtn}`);\r\n\t\tthis.$dropdownMenu = this.$ctx.find(`.${classes.dropdownMenu}`);\r\n\t\tthis.$dropdownItem = this.$ctx.find(`.${classes.dropdownItem}`);\r\n\t\tthis.$statusSelected = this.$ctx.find(`.${classes.statusSelected}`);\r\n\r\n\t\tthis.loseFocusHide();\r\n\t\tthis.initDropdown();\r\n\t\tthis.$dropdownItem.on('click', this.switchSelected.bind(this));\r\n\t\tthis.$toggleBtn.on('click', this.toggleDropdown.bind(this));\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\tinitDropdown() {\r\n\t\tif (this.$statusSelected.length > 0) {\r\n\t\t\tthis.$toggleBtn.text(this.$statusSelected.first().text());\r\n\t\t} else {\r\n\t\t\tthis.$toggleBtn.text(this.$dropdownItem.first().text());\r\n\t\t}\r\n\t}\r\n\r\n\tswitchSelected(ev: any) {\r\n\t\tif (!$(ev.currentTarget).hasClass(classes.statusSelected)) {\r\n\t\t\t$(ev.currentTarget).addClass(classes.statusSelected);\r\n\t\t\t$(ev.currentTarget).siblings().removeClass(classes.statusSelected);\r\n\t\t\tthis.$toggleBtn.text($(ev.currentTarget).text());\r\n\t\t}\r\n\t\tthis.hideDropdownMenu();\r\n\t}\r\n\r\n\ttoggleDropdown() {\r\n\t\tthis.$dropdownMenu.toggleClass(classes.statusDropdownOpen);\r\n\t}\r\n\r\n\tloseFocusHide() {\r\n\t\tthis.$ctx.on('click', (ev: any) => {\r\n\t\t\tev.stopPropagation();\r\n\t\t});\r\n\t\t$('body').on('click', () => {\r\n\t\t\tthis.hideDropdownMenu();\r\n\t\t});\r\n\t}\r\n\r\n\thideDropdownMenu() {\r\n\t\tthis.$dropdownMenu.removeClass(classes.statusDropdownOpen);\r\n\t}\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\nconst classes = {\r\n\tmoreTag: 'js-m-cta-blocks__more',\r\n};\r\n\r\n@createModule('CTABlocks')\r\n/**\r\n * CTABlocks module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class CTABlocks extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tconst $moreTag = this.$ctx.find(`.${classes.moreTag}`);\r\n\t\tif($moreTag.length > 0) {\r\n\t\t\tthis.prevItemAddSpace();\r\n\t\t}\r\n \r\n\t\tthis.handleHoverStyles();\r\n\r\n\t\tthis.$ctx.closest('.g-grid__item').css('overflow-x', 'hidden');\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\thandleHoverStyles() {\r\n\t\tconst $blockItem = this.$ctx.find('.m-block');\r\n\t\t$blockItem.on('mouseover', (ev: Event) => {\r\n\t\t\tconst index = $(ev.currentTarget).index()+1;\r\n\t\t\tthis.$ctx.removeClass().addClass('m-cta-blocks m-cta-blocks--hover-' + index);;\r\n\t\t}).on('mouseout', () => {\r\n\t\t\tthis.$ctx.removeClass().addClass('m-cta-blocks');\r\n\t\t});\r\n\t}\r\n\r\n\tprevItemAddSpace() {\r\n\t\tconst $prevItem = this.$ctx.closest('[class*=\"g-grid__item\"]').prev().find('.g-grid__container').children().last();\r\n\t\tconst paddingBottom = parseInt($prevItem.css('padding-bottom'));\r\n\t\t$prevItem.css('padding-bottom', paddingBottom + 62)\r\n\t}\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\nconst classes = {\r\n\r\n\tsubmitForm: 'js-form__button-event--submit',\r\n\tinput:'js-form__input',\r\n\tinputCheckBox:'a-input-checkbox__input',\r\n\tstateFormOrderHiddenAfterSubmit: 'state-m-teaser-contact-form--hidden-after-submit',\r\n};\r\n@createModule('FormContainer')\r\n/**\r\n * @author Ellen Xia\r\n */\r\nexport class FormContainer extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\t$inputCheckBox:JQuery;\r\n\t$input: JQuery;\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.initUserVali();\r\n\t\tthis.$inputCheckBox = this.$ctx.find(`.${classes.inputCheckBox}`);\r\n\t\tthis.$input = this.$ctx.find(`.${classes.input}`);\r\n\t\tthis.$ctx.on('click', `.${classes.submitForm}`, this.onFormSubmit.bind(this));\r\n\t\tresolve();\r\n\t}\r\n\r\n\tinitUserVali() {\r\n\t\tconst $vali = this.$ctx.find('.js-vali');\r\n\t\tif ($vali.length) {\r\n\t\t\t$vali.val(`${this.$ctx.find('form:eq(0)').data('sc-fxb')}-jsvali`);\r\n\t\t}\r\n\t}\r\n\r\n\tonFormSubmit(ev: Event) {\r\n\t\tvar validate=true;\r\n\t\t\tthis.$input.each(function(index,item){\r\n\t\t\t\tvar dataValRequired=$(item).attr(\"data-val\");\r\n\t\t\t\tif( typeof dataValRequired!== \"undefined\" && dataValRequired !== \"\" && dataValRequired !== null){\r\n\t\t\t\t\tif($(item).val()==\"\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$(item).addClass(\"input-validation-error\");\r\n\t\t\t\t\t\t$(item).nextAll('.field-validation-valid').addClass('field-validation-error');\r\n\t\t\t\t\t\t$(item).nextAll('.field-validation-valid').text($(item).attr(\"data-val-required\"));\r\n\t\t\t\t\t\tvalidate=false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}});\r\n\r\n\t\t\tthis.$inputCheckBox.each(function(index,item){\r\n\t\t\t\t\tvar dataValRequired=$(item).attr(\"data-val\");\r\n\t\t\t\t\tif( typeof dataValRequired!== \"undefined\" && dataValRequired !== \"\" && dataValRequired !== null){\r\n\t\t\t\t\t\tif(!$(item).is(':checked'))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t$(item).addClass(\"input-validation-error\");\r\n\t\t\t\t\t\t\tvalidate=false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}});\r\n\r\n\t\t\tif(!validate)\r\n\t\t\t{\r\n\t\t\t\tev.preventDefault();\r\n\t\t\t}\r\n\t\t\tthis.$ctx.addClass(classes.stateFormOrderHiddenAfterSubmit);\r\n\t}\r\n\tstop() { }\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\nconst classes = {\r\n\tmainItem: 'js-m-header__nav-item',\r\n\tnav: 'js-m-header__nav',\r\n\tmenuBtn: 'js-m-header__menu-btn',\r\n\tpopupBtn: 'js-m-header__nav-popup',\r\n\tpopup: 'js-m-header__popup',\r\n\tpopupClose: 'js-m-header__popup-close',\r\n};\r\n\r\n@createModule('Header')\r\n/**\r\n * Header module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class Header extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tconst $mainItem = this.$ctx.find(`.${classes.mainItem}`);\r\n\t\t$mainItem.on('mouseover touchstart', this.onTriggerOver.bind(this)).on('mouseout touchend', this.onTriggerOut.bind(this));\r\n\t\t\r\n\t\tconst $menuBtn = this.$ctx.find(`.${classes.menuBtn}`);\r\n\t\t$menuBtn.on('click', this.onMenuClick.bind(this));\r\n\r\n\t\tthis.showHideScrollArow();\r\n\t\t\r\n\t\tthis.showPopup()\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\tonTriggerOver() {\r\n\t\tthis.$ctx.addClass('m-header--nav-item-hover');\r\n\t}\r\n\tonTriggerOut() {\r\n\t\tthis.$ctx.removeClass('m-header--nav-item-hover');\r\n\t}\r\n\r\n\tonMenuClick(ev: Event) {\r\n\t\tconst $nav = this.$ctx.find(`.${classes.nav}`);\r\n\t\tif (!$nav.hasClass('open')) {\r\n\t\t\t$nav.addClass('open');\r\n\t\t\t$(ev.currentTarget).addClass('open');\r\n\t\t\t$('body').addClass('body--overflow-hidden');\r\n\t\t} else {\r\n\t\t\t$nav.removeClass('open');\r\n\t\t\t$(ev.currentTarget).removeClass('open');\r\n\t\t\t$('body').removeClass('body--overflow-hidden');\r\n\t\t}\r\n\t}\r\n\r\n\tshowHideScrollArow() {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif ($(document).height() > $(window).height()) {\r\n\t\t\t\t$('body').addClass('has-scroll');\r\n\t\t\t}\r\n\t\t}, 50);\r\n\t\r\n\t\t$(window).on(\"scroll\", function () {\r\n\t\t\tif (($(window).innerHeight() + $(window).scrollTop()) >= $(\"body\").height()) {\r\n\t\t\t\t$('body').removeClass('has-scroll');\r\n\t\t\t} else {\r\n\t\t\t\t$('body').addClass('has-scroll');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tshowPopup() {\r\n\t\tconst $popupBtn = this.$ctx.find(`.${classes.popupBtn}`);\r\n\t\tconst $popup = this.$ctx.find(`.${classes.popup}`);\r\n\t\tconst $popupClose = this.$ctx.find(`.${classes.popupClose}`);\r\n\t\t$popupBtn.on('click', () => {\r\n\t\t\tthis.$ctx.prepend('
    ');\r\n\t\t\t$popup.addClass('show');\r\n\t\t});\r\n\t\t$popupClose.on('click', () => {\r\n\t\t\t$popup.removeClass('show');\r\n\t\t\t$('.m-header__popup-overlay').remove();\r\n\t\t});\r\n\t}\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport getCurrentBreakpoint from '@project/shared/utils/breakpoints/js/breakpoints';\r\nimport LocomotiveScroll from 'locomotive-scroll';\r\n\r\nconst classes = {\r\n\tscrollerContainer: 'js-m-home-scroller-container',\r\n\tscrollerItem: 'js-m-home-scroller__item',\r\n\tstateItemHover: 'state-m-home-scroller__item-hover',\r\n\tintroWrapper: 'js-intro-animation',\r\n};\r\nlet scroll: LocomotiveScroll;\r\n\r\n@createModule('HomeScroller')\r\n/**\r\n * HomeScroller module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class HomeScroller extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\tscrollerContainer: JQuery;\r\n\tscrollerItem: JQuery;\r\n\tintroWrapper: JQuery;\r\n\tscrollerBlocks: JQuery;\r\n\ttranslate: number;\r\n\tduplicateIndex: number;\r\n\tscrollWidth: number;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.scrollerContainer = this.$ctx.find(`.${classes.scrollerContainer}`);\r\n\t\tthis.scrollerItem = this.$ctx.find(`.${classes.scrollerItem}`);\r\n\t\tthis.introWrapper = this.$ctx.find(`.${classes.introWrapper}`);\r\n\t\tthis.scrollerBlocks = this.scrollerContainer.find('ul');\r\n\t\tthis.duplicateIndex = 1;\r\n\r\n\t\tthis.initScroller();\r\n\r\n\t\tthis.handleHoverStyles();\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\thandleHoverStyles() {\r\n\t\tthis.scrollerContainer.on('mouseover', '.m-block', (ev: Event) => {\r\n\t\t\tconst index = $(ev.currentTarget).parent().index();\r\n\t\t\t$(ev.currentTarget).parent().removeClass(classes.stateItemHover);\r\n\t\t\t$(ev.currentTarget).parent().addClass(classes.stateItemHover);\r\n\t\t\t$(ev.currentTarget).closest('ul').removeClass();\r\n\t\t\t$(ev.currentTarget).closest('ul').addClass('m-home-scroller--hover-' + index);\r\n\t\t}).on('mouseout', '.m-block', (ev: Event) => {\r\n\t\t\t$(ev.currentTarget).parent().removeClass(classes.stateItemHover);\r\n\t\t\t$(ev.currentTarget).closest('ul').removeClass();\r\n\t\t});\r\n\t}\r\n\r\n\tinitScroller() {\r\n\t\tconst isIntroAnimation = sessionStorage.getItem('intro-animation');\r\n\t\tconst timeOut = (isIntroAnimation === 'true') ? 1500 : 4000;\r\n\t\tconst isIntroAnimationStop = localStorage.getItem('intro-animation');\r\n const tymOut = (isIntroAnimationStop === 'true') ? 1500 : 4000;\r\n\t\t\r\n\t\t$('body').addClass('homepage');\r\n\r\n\t\t$(window).on(\"load\", () => {\r\n\t\t\tif (isIntroAnimation == 'true') {\r\n\t\t\t\tthis.introWrapper.removeClass('active');\r\n\t\t\t\tthis.scrollerContainer.css({ 'animation-delay': '0s' });\r\n\t\t\t\t$('.m-header-left, .m-header-right').css({ 'opacity': '1', 'animation': 'none' });\r\n\t\t\t} else {\r\n\t\t\t\tthis.introWrapper.addClass('active');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.introWrapper.remove();\r\n\t\t\tsessionStorage.setItem('intro-animation', 'true');\r\n\t\t}, 5000);\r\n\t\t$(window).on(\"load\", () => {\r\n\r\n\t\t\tif (isIntroAnimationStop == 'false') {\r\n\t\t\t\r\n\t\t\tthis.introWrapper.removeClass('active');\r\n\t\t\t\r\n\t\t\t this.scrollerContainer.css({ 'animation-delay': '0s' });\r\n\t\t\t\r\n\t\t\t $('.m-header-left, .m-header-right').css({ 'opacity': '1', 'animation': 'none' });\r\n\t\t\t\r\n\t\t\t } else {\r\n\t\t\t\r\n\t\t\t this.introWrapper.addClass('active');\r\n\t\t\t\r\n\t\t\t}\r\n\t\t\t\r\n\t\t});\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\r\n\t\t\tthis.introWrapper.remove();\r\n\t\t\t\r\n\t\t\tlocalStorage.setItem('intro-animation', 'false');\r\n\t\t\t\r\n\t\t}, 5000);\r\n\t\tsetTimeout(() => {\r\n\t\t\tscroll = new LocomotiveScroll({\r\n\t\t\t\tel: document.querySelector('[data-scroll-container]'),\r\n\t\t\t\tsmooth: true,\r\n\t\t\t\tdirection: 'horizontal',\r\n\t\t\t\trepeat: true\r\n\t\t\t});\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.scrollListener();\r\n\t\t\t}, 300);\r\n\t\t}, timeOut);\r\n\t}\r\n\r\n\tscrollListener() {\r\n\t\tconst blocksWidth = this.scrollerContainer.width();\r\n\t\tthis.scrollWidth = blocksWidth - window.innerWidth;\r\n\t\t\r\n\t\tdocument.addEventListener('mousewheel', () => {\r\n\t\t\tthis.scrollWidth = blocksWidth * this.duplicateIndex - window.innerWidth;\r\n\t\t\tthis.setInfiniteScrolling();\r\n\t\t});\r\n\t\tdocument.addEventListener('DOMMouseScroll', () => {\r\n\t\t\tthis.scrollWidth = blocksWidth * this.duplicateIndex - window.innerWidth;\r\n\t\t\tthis.setInfiniteScrolling();\r\n\t\t});\r\n\t}\r\n\r\n\tsetInfiniteScrolling() {\r\n\t\tconst ev = document.querySelector('[data-scroll-container]');\r\n\t\tconst currentDeviation = this.getTranslate(ev) * -1;\r\n\r\n\t\tif (currentDeviation + 100 > this.scrollWidth && this.duplicateIndex < 4) {\r\n\t\t\tthis.cloneBlocks();\r\n\t\t\tscroll.update();\r\n\r\n\t\t\tthis.duplicateIndex += 1;\r\n\t\t}\r\n\t\treturn this.duplicateIndex;\r\n\t}\r\n\r\n\tcloneBlocks() {\r\n\t\tconst clonedBoxContainer = this.scrollerBlocks.clone();\r\n\t\tthis.scrollerContainer.append(clonedBoxContainer);\r\n\t}\r\n\r\n\tgetTranslate(el) {\r\n\t\tvar translate;\r\n\t\tvar style = getComputedStyle(el);\r\n\t\tvar transform = style.transform;\r\n\t\tvar mat = transform.match(/^matrix3d\\((.+)\\)$/);\r\n\r\n\t\tif (mat) {\r\n\t\t\ttranslate = mat ? parseFloat(mat[1].split(', ')[12]) : 0;\r\n\t\t} else {\r\n\t\t\tmat = transform.match(/^matrix\\((.+)\\)$/);\r\n\t\t\ttranslate = mat ? parseFloat(mat[1].split(', ')[4]) : 0;\r\n\t\t}\r\n\r\n\t\treturn translate;\r\n\t}\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport { InPageNavigationConfig } from './niaga-inpage-navigation.model';\r\nimport { addScrollClickTrigger } from '@project/shared/utils/hashscrolling/js/hashscrolling';\r\n\r\n@createModule('InpageNavigation')\r\n/**\r\n * Inpage Navigation module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class InpageNavigation extends TerrificSpec {\r\n\t/**\r\n\t * @var {InPageNavigationConfig} config - returns the model data\r\n\t */\r\n\tconfig: InPageNavigationConfig;\r\n\t$ctx: JQuery;\r\n\tlistItemPlaceholder: string;\r\n\t$links: JQuery;\r\n\r\n\tstart(resolve: () => void) {\r\n\t\tthis.config = {\r\n\t\t\tmainSelector: '.js-m-inpage-navigation',\r\n\t\t\tattributeNameTarget: 'data-anchor-id-target',\r\n\t\t\tattributeNameId: 'data-anchor-id',\r\n\t\t\tattributeNameTitle: 'data-anchor-title',\r\n\t\t\ttargetSelector: '.js-m-inpage-navigation__list-items',\r\n\t\t\tbuttonSelector: '.js-m-inpage-navigation__item-anchor',\r\n\t\t\tactive: 'state-m-inpage-navigation__item-anchor--is-active',\r\n\t\t\tscrollDirection: 0,\r\n\t\t\tlastScrollTop: 0,\r\n\t\t\tthreshold: 0,\r\n\t\t\tthresholdOffset: 80,\r\n\t\t\tanchorBarButtons: [] as any,\r\n\t\t\ttargetNavElements: $() as JQuery,\r\n\t\t};\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\t\r\n\t\tthis.initInpage();\r\n\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tinitInpage() {\r\n\t\tthis.listItemPlaceholder = this.getListItemPlaceholder();\r\n\r\n\t\tthis.setListItems(\r\n\t\t\tthis.config.attributeNameTarget,\r\n\t\t\tthis.createArrayData(this.config.attributeNameId, true),\r\n\t\t\tthis.createArrayData(this.config.attributeNameTitle, false)\r\n\t\t);\r\n\t\tthis.config.anchorBarButtons = (\r\n\t\t\tthis._ctx.querySelectorAll(this.config.targetSelector + ' ' + this.config.buttonSelector)\r\n\t\t);\r\n\t\tconst button = this.$ctx.find(this.config.buttonSelector);\r\n\t\taddScrollClickTrigger(button);\r\n\t}\r\n\r\n\tgetListItemPlaceholder(): string {\r\n\t\treturn this.$ctx.find(this.config.targetSelector).html();\r\n\t}\r\n\r\n\tsetTargetData(createTargetNavElements: boolean, inpageNavElements: JQuery) {\r\n\t\tif (createTargetNavElements) {\r\n\t\t\tthis.config.targetNavElements = inpageNavElements;\r\n\t\t\tthis.config.threshold = this.config.targetNavElements[0].offsetTop - this.config.thresholdOffset;\r\n\t\t}\r\n\t}\r\n\r\n\tsetListItems(anchorAttributeName: string, targetAnchorIds: any[], targetAnchorTitles: any[]) {\r\n\t\tconst $el = this.$ctx.find(this.config.targetSelector);\r\n\t\tlet listItems = '';\r\n\r\n\t\ttargetAnchorIds.forEach((el, index) => {\r\n\t\t\tlistItems += this.createListItem(anchorAttributeName, targetAnchorIds[index], targetAnchorTitles[index]);\r\n\t\t});\r\n\r\n\t\t$el.html(listItems);\r\n\t\tthis.$links = this.$ctx.find('[' + this.config.attributeNameTarget + ']');\r\n\t}\r\n\r\n\tcreateArrayData(targetAttribute: string, navElements: boolean): string[] {\r\n\t\tconst inpageNavElements: JQuery = $('[' + targetAttribute + ']');\r\n\t\tconst attributeList = [] as string[];\r\n\r\n\t\tinpageNavElements.each((index: number, el: HTMLElement) => {\r\n\t\t\tconst targetAttributeValue: string = $(el).attr(targetAttribute);\r\n\t\t\tattributeList.push(targetAttributeValue);\r\n\t\t});\r\n\r\n\t\tthis.setTargetData(navElements, inpageNavElements);\r\n\t\treturn attributeList;\r\n\t}\r\n\r\n\tcreateListItem(anchorAttributeName: string, anchorAttributeNameId: string, anchorTitle: string): string {\r\n\t\tconst $listItem = $(this.listItemPlaceholder);\r\n\r\n\t\t$listItem.find(this.config.buttonSelector).attr(anchorAttributeName, anchorAttributeNameId);\r\n\t\t$listItem.find(this.config.buttonSelector).attr('href', '#' + anchorAttributeNameId);\r\n\t\t$listItem.find(this.config.buttonSelector).text(anchorTitle);\r\n\r\n\t\treturn $listItem.prop('outerHTML');\r\n\t}\r\n\r\n\tstop() { }\r\n}\r\n","import { scrollToElement } from '@project/shared/utils/scroll-to/js/scroll-to';\r\n\r\n/**\r\n * This script handles generic hashscrolling\r\n */\r\n\r\nlet initialized: boolean = false;\r\n/**\r\n * Initializes Hashscrolling\r\n *\r\n */\r\nexport function init(): void {\r\n\tif (!initialized) {\r\n\t\tinitialized = true;\r\n\t\tif (window.location.hash.length > 1) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tscrollToIdElement(window.location.hash);\r\n\t\t\t}, 1000);\r\n\t\t}\r\n\t\t$(window).on('hashchange.hashscrolling', () => {\r\n\t\t\tscrollToIdElement(window.location.hash);\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport function addScrollClickTrigger($el: JQuery) {\r\n\t$el.on('click.hashscrolling', (ev: JQuery.Event) => {\r\n\t\tev.preventDefault();\r\n\t\tconst hash = (ev.currentTarget as any).hash;\r\n\t\thistoryPush(hash);\r\n\t\tscrollToIdElement(hash);\r\n\t});\r\n}\r\n\r\nfunction scrollToIdElement(hash: string) {\r\n\tconst $el = $(document.getElementById(hash.substring(1)));\r\n\tif ($el.length === 1) {\r\n\t\tif ($('.js-m-navigation-in-page__wrapper').length > 0) {\r\n\t\t\tscrollToElement($el, true, $('.js-m-navigation-in-page__wrapper').height() + 20 || 120, true);\r\n\t\t} else {\r\n\t\t\tscrollToElement($el, true, $('.js-o-header-wrapper').height() || 120, true);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction historyPush(hash: string): any {\r\n\tif (history.pushState) {\r\n\t\tconst newurl =\r\n\t\t\twindow.location.protocol +\r\n\t\t\t'//' +\r\n\t\t\twindow.location.host +\r\n\t\t\twindow.location.pathname +\r\n\t\t\twindow.location.search +\r\n\t\t\thash;\r\n\t\twindow.history.pushState({ path: newurl }, '', newurl);\r\n\t}\r\n}\r\n","/**\r\n * Scroll to given element with animation.\r\n * Optional: Prevent sticky header from appearing.\r\n */\r\nexport function scrollToElement(\r\n\t$elm: any,\r\n\tpreventFixedHeader: boolean,\r\n\tadditionalOffsetTop: number = 0,\r\n\ttriggerScrollReached: boolean = false,\r\n\ttopOnly: boolean = false\r\n) {\r\n\tconst offset = $elm.offset();\r\n\r\n\tif (preventFixedHeader) {\r\n\t\t$(window).trigger('enablePreventStickyHeaderAppearing');\r\n\t}\r\n\tconst scrollProperties: { scrollTop: number; scrollLeft?: number } = {\r\n\t\tscrollTop: offset.top - additionalOffsetTop,\r\n\t};\r\n\tif (!topOnly) {\r\n\t\tscrollProperties.scrollLeft = offset.left;\r\n\t}\r\n\t$('html, body').animate(scrollProperties, 500, () => {\r\n\t\tsetTimeout(() => {\r\n\t\t\t$(window).trigger('disablePreventStickyHeaderAppearing');\r\n\t\t\tif (triggerScrollReached) {\r\n\t\t\t\t$elm.trigger('scrollReached');\r\n\t\t\t}\r\n\t\t}, 100);\r\n\t});\r\n}\r\n\r\nexport default { scrollToElement };\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\n@createModule('LargeTeaser')\r\n/**\r\n * @author Ellen Xia\r\n */\r\nexport class LargeTeaser extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.$ctx.closest('.g-grid__item').css('overflow-x', 'hidden');\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport * as Track from '@project/shared/utils/tracking/js/tracking';\r\nimport { MarketoFormGlobal } from '../../niaga-marketo-form-global/js/niaga-marketo-form-global';\r\n\r\nconst classes = {\r\n\tstateSuccess: 'state-m-marketo-form--success'\r\n};\r\n\r\n@createModule('MarketoForm')\r\nexport class MarketoForm extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\t$blockedMessage: JQuery;\r\n\r\n\tformId: string;\r\n\tformHref: string;\r\n\tformFullId: string;\r\n\tenvId: string;\r\n\tisExpired: boolean;\r\n\tredirectHref: string;\r\n\r\n\tmarketoService: MarketoFormGlobal;\r\n\r\n\tstart(resolve: () => void) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.$blockedMessage = this.$ctx.find(\"p[data-id='blockedMsg']\");\r\n\r\n\t\tthis.envId = this.$ctx.data(\"environment-id\");\r\n\t\tthis.formId = this.$ctx.data(\"form-id\");\r\n\t\tthis.formFullId = `mktoForm_${this.$ctx.data(\"form-id\")}`;\r\n\t\tthis.formHref = this.$ctx.data(\"form-href\");\r\n\t\tthis.redirectHref = this.$ctx.data(\"redirect-href\");\r\n\t\tthis.isExpired = this.$ctx.data(\"expired\");\r\n\r\n\t\tthis.marketoService = new MarketoFormGlobal();\r\n\r\n\t\tif (!this.isExpired) {\r\n\t\t\tthis.$blockedMessage.show();\r\n\r\n\t\t\tlet timerRef = setInterval(() => {\r\n\t\t\t\tlet MktoForms2 = (window as any)[\"MktoForms2\"];\r\n\t\t\t\tif (typeof (MktoForms2) != \"undefined\") {\r\n\t\t\t\t\tclearInterval(timerRef);\r\n\t\t\t\t\tthis.loadMktoForm();\r\n\t\t\t\t}\r\n\t\t\t}, 300);\r\n\t\t}\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tloadMktoForm() {\r\n\t\tlet $this = this;\r\n\r\n\t\tlet MktoForms2 = (window as any)[\"MktoForms2\"];\r\n\r\n\t\tif (typeof (MktoForms2) != \"undefined\") {\r\n\r\n\t\t\tMktoForms2.loadForm($this.formHref, $this.envId, $this.formId, function (form: any) {\r\n\r\n\t\t\t\tform.onSuccess(function (values: any, followUpUrl: string) {\r\n\t\t\t\t\tif($this.redirectHref.length > 0) {\r\n\r\n\t\t\t\t\t\tTrack.setKnownMarketoLead(true); \r\n\r\n\t\t\t\t\t\twindow.location.href = $this.redirectHref;\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$this.$ctx.addClass(classes.stateSuccess);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tform.onSubmit(function () {\r\n\t\t\t\t\t$this.marketoService.formatPhoneNumber(form);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif(Track.isKnownMarketoLead())\r\n\t\t\t\t{\r\n\t\t\t\t\tform.vals({ \"formVersion\":\"Known\"});\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\t// Hide blocked test when form is initialized.\r\n\t\t\t\t$this.$blockedMessage.hide();\r\n\r\n\t\t\t});\r\n\r\n\t\t} else {\r\n\t\t\t//marketo is broken, user has disabled tracking or scripts are blocked\r\n\t\t\t$this.$blockedMessage.show();\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tstop() { }\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport getCurrentBreakpoint, { onBreakpointChange } from '@project/shared/utils/breakpoints-niaga/js/breakpoints-niaga';\r\n\r\nconst classes = {\r\n\tfloatHeroImage: 'js-m-page-intro__floating-hero'\r\n};\r\n\r\n@createModule('PageIntro')\r\n/**\r\n * PageIntro module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class PageIntro extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tconst $floatHeroImage = this.$ctx.find(`.${classes.floatHeroImage}`);\r\n\t\tif($floatHeroImage.length > 0) {\r\n\t\t\tthis.initHeight();\r\n\t\t\tonBreakpointChange(() => this.initHeight());\r\n\t\t}\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\tinitHeight() {\r\n\t\tconst $floatHeroImage = this.$ctx.find(`.${classes.floatHeroImage}`);\r\n\t\tconst viewport = getCurrentBreakpoint() as string;\r\n\t\tif (viewport === 'large' || viewport === 'extra-large') {\r\n\t\t\tthis.$ctx.css('min-height', $floatHeroImage.height() - 124)\r\n\t\t} else {\r\n\t\t\tthis.$ctx.removeAttr('style');\r\n\t\t}\r\n\t}\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\n\r\nconst classes = {\r\n\tpaginationContainer: \"m-product-lister__pagination-list\",\r\n\tpaginationFullContainer:\"m-product-lister__pagination\",\r\n\tproductContainer: \"js-product-lister__items\",\r\n\tpaginationBtn: \"js-product-lister__pagination-button\",\r\n\tpaginationNavBtn: \"js-product-lister__pagination-nav-button\",\r\n\tpaginationNumberBtn: \"m-product-lister__pagination-item\",\r\n\tprevBtn: \"m-product-lister__pagination--prev\",\r\n\tnextBtn: \"m-product-lister__pagination--next\",\r\n\tdropDownContainer: \"js-m-dropdown__menu\",\r\n\tdropDownItem: \"js-m-dropdown__item\",\r\n\r\n\tstatusSelected: \"status-m-dropdown__item--selected\",\r\n\tstatusDisabled: \"disabled\",\r\n\tstatusActive: \"active\"\r\n\r\n};\r\n\r\n@createModule('ProductLister')\r\n/**\r\n * ProductLister module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class ProductLister extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\t$paginationContainer: JQuery;\r\n\t$paginationFullContainer:JQuery;\r\n\t$productContainer: JQuery;\r\n\t$paginationBtn: JQuery;\r\n\t$prevBtn: JQuery;\r\n\t$nextBtn: JQuery;\r\n\t$paginationNumberBtn: JQuery;\r\n\r\n\t$DropDownContainer:JQuery;\r\n\t$DropDownItem:JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\t\tthis.$paginationContainer = this.$ctx.find(`.${classes.paginationContainer}`);\r\n\t\tthis.$paginationFullContainer=this.$ctx.find(`.${classes.paginationFullContainer}`);\r\n\t\tthis.$productContainer = this.$ctx.find(`.${classes.productContainer}`);\r\n\t\tthis.$paginationBtn = this.$ctx.find(`.${classes.paginationBtn}`);\r\n\t\tthis.$prevBtn = this.$ctx.find(`.${classes.prevBtn}`);\r\n\t\tthis.$nextBtn = this.$ctx.find(`.${classes.nextBtn}`);\r\n\t\tthis.$paginationNumberBtn = this.$ctx.find(`.${classes.paginationNumberBtn}`);\r\n\r\n\t\tthis.$DropDownContainer = this.$ctx.find(`.${classes.dropDownContainer}`);\r\n\t\tthis.$DropDownItem = this.$ctx.find(`.${classes.dropDownItem}`);\r\n\r\n\t\tvar _this = this;\r\n\t\tthis.$paginationFullContainer.hide();\r\n\t\tthis.getData(1, \"\");\r\n\r\n\t\tthis.$ctx.find(`.${classes.paginationNavBtn}`).on(\"click\", function (ev: any) {\r\n\t\t\tvar $target: any = $(ev.currentTarget);\r\n\t\t\tvar number = $target.data(\"page-number\");\r\n\t\t\tvar type = _this.$DropDownContainer.find(`.${classes.dropDownItem}.${classes.statusSelected}`).data(\"value\");\r\n\t\t\t_this.getData(number, type);\r\n\t\t});\r\n\r\n\t\tthis.$DropDownItem.on(\"click\", function (ev: any){\r\n\t\t\tvar $target: any = $(ev.currentTarget);\r\n\t\t\tvar number = 1;\r\n\t\t\tvar type = $target.data(\"value\");\r\n\t\t\t_this.getData(number, type);\r\n\t\t});\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\r\n\tgetData(pageNumber: number, prdType: string) {\r\n\r\n\t\tconst url = this.$ctx.data(\"api-endpoint\");\r\n\t\tconst searchRoot = this.$ctx.data(\"search-root\");\r\n\t\tconst pageSize = this.$ctx.data(\"page-size\");\r\n\r\n\t\t$.ajax({\r\n\t\t\ttype: 'POST',\r\n\t\t\turl: url,\r\n\t\t\tdataType: 'json',\r\n\t\t\tdata:\r\n\t\t\t{\r\n\t\t\t\tsearchRootId: searchRoot,\r\n\t\t\t\tproductType: prdType,\r\n\t\t\t\tpageSize: pageSize,\r\n\t\t\t\tpageNumber: pageNumber\r\n\t\t\t},\r\n\t\t\tsuccess: (response: any) => {\r\n\t\t\t\tif (response) {\r\n\r\n\t\t\t\t\tif (response.total > 0) {\r\n\t\t\t\t\t\tthis.renderResultData(response.results);\r\n\t\t\t\t\t\tthis.renderPagination(response);\r\n\t\t\t\t\t\tthis.setPaginationButton(response.pageNumber, response.totalPages);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(response.totalPages>1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.$paginationFullContainer.show();\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.$paginationFullContainer.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcomplete: () => {\r\n\t\t\t},\r\n\t\t\terror: (xhr: any, status: string, error: string) => {\r\n\t\t\t\tconsole.log(`get niaga product data errror, url: ${url}, ${xhr.status}, ${xhr.statusText}, ${error}`);\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\trenderResultData(results: any) {\r\n\t\tthis.$productContainer.empty();\r\n\r\n\t\tresults.forEach((r: any) => {\r\n\r\n\t\t\tlet htmlContent = this.generateResultHtml(r.link, r.linkTarget, r.image, r.type, r.title, r.description);\r\n\t\t\tthis.$productContainer.append(htmlContent);\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tgenerateResultHtml(link: string, linkTarget: string, imgSrc: string, tag: string, title: string, des: string) {\r\n\t\tif (!link) {\r\n\t\t\tlink = \"javascript:;\";\r\n\t\t\tlinkTarget = \"\";\r\n\t\t}\r\n\r\n\t\tvar html = `
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t

    ${tag}

    \r\n\t\t\t\t\t\t\t

    ${title}

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t${des}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    `;\r\n\t\treturn html;\r\n\t}\r\n\r\n\trenderPagination(response: any) {\r\n\t\tvar _this = this;\r\n\r\n\t\tthis.$paginationContainer.empty();\r\n\r\n\t\tfor (var i: number = 1; i <= response.totalPages; i++) {\r\n\t\t\tlet htmlContent = this.generatePaginationHtml(i, response.pageNumber);\r\n\t\t\tthis.$paginationContainer.append(htmlContent);\r\n\t\t}\r\n\r\n\t\tthis.$ctx.find(`.${classes.paginationNumberBtn}`).on(\"click\", function (ev: any) {\r\n\t\t\tconst $target: any = $(ev.currentTarget);\r\n\t\t\tvar number = $target.data(\"page-number\");\r\n\t\t\tvar type = _this.$DropDownContainer.find(`.${classes.dropDownItem}.${classes.statusSelected}`).data(\"value\");\r\n\t\t\t_this.getData(number, type);\r\n\t\t});\r\n\t}\r\n\r\n\tgeneratePaginationHtml(number: number, currentPageNum: number): string {\r\n\r\n\t\tvar isActive = number == currentPageNum ? `${classes.statusActive}` : \"\";\r\n\r\n\t\tvar content =\r\n\t\t\t`
  • \r\n\t\t\t\t${number}\r\n\t\t\t
  • `;\r\n\r\n\t\treturn content;\r\n\t}\r\n\r\n\tsetPaginationButton(pageNumber: number, totalPages: number) {\r\n\r\n\t\t// set \"Previous\" button\r\n\t\tif (pageNumber == 1) {\r\n\t\t\tthis.$prevBtn.addClass(classes.statusDisabled);\r\n\t\t\tthis.$prevBtn.data(\"page-number\", \"0\");\r\n\t\t\tthis.$prevBtn.hide();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.$prevBtn.removeClass(classes.statusDisabled);\r\n\t\t\tthis.$prevBtn.data(\"page-number\", pageNumber - 1);\r\n\t\t\tthis.$prevBtn.show();\r\n\t\t}\r\n\r\n\t\t// set \"Next\" button\r\n\t\tif (pageNumber >= totalPages) {\r\n\t\t\tthis.$nextBtn.addClass(classes.statusDisabled);\r\n\t\t\tthis.$nextBtn.data(\"page-number\", \"0\");\r\n\t\t\tthis.$nextBtn.hide();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.$nextBtn.removeClass(classes.statusDisabled);\r\n\t\t\tthis.$nextBtn.data(\"page-number\", pageNumber + 1);\r\n\t\t\tthis.$nextBtn.show();\r\n\t\t}\r\n\r\n\t\t// set \"1, 2, 3...\" buttons\r\n\t\tthis.$paginationNumberBtn.removeClass(classes.statusActive);\r\n\t\tthis.$paginationNumberBtn.filter(`[data-page-number=\"${pageNumber}\"]`).addClass(classes.statusActive);\r\n\r\n\t}\r\n\r\n\tstop() { }\r\n}\r\n","import { createModule } from 'terrific-singleton';\r\nimport { TerrificSpec } from 'terrific-singleton/terrific-module';\r\nimport getCurrentBreakpoint, { onBreakpointChange } from '@project/shared/utils/breakpoints-niaga/js/breakpoints-niaga';\r\n\r\nconst classes = {\r\n\tteaserItem: 'js-m-scrolling-teaser__item',\r\n\tteaserImg: 'js-m-scrolling-teaser__img',\r\n\tteaserContent: 'js-m-scrolling-teaser__content',\r\n};\r\n\r\n@createModule('ScrollingTeaser')\r\n/**\r\n * ScrollingTeaser module implementation.\r\n *\r\n * @author Ellen Xia\r\n */\r\nexport class ScrollingTeaser extends TerrificSpec {\r\n\t$ctx: JQuery;\r\n\r\n\tstart(resolve: Function) {\r\n\t\tthis.$ctx = $(this._ctx);\r\n\r\n\t\tthis.initStickyImage();\r\n\t\tonBreakpointChange(() => this.initStickyImage());\r\n\r\n\t\tresolve();\r\n\t}\r\n\r\n\tstop() { }\r\n\r\n\tinitStickyImage() {\r\n\t\tconst $teaserItem = this.$ctx.find(`.${classes.teaserItem}`);\r\n\t\tconst $teaserImg = this.$ctx.find(`.${classes.teaserImg}`);\r\n\t\tconst viewport = getCurrentBreakpoint() as string;\r\n\t\tif (viewport === 'large' || viewport === 'extra-large') {\r\n\t\t\tthis.stickemDots();\r\n\r\n\t\t\t$(window).on('scroll', () => {\r\n\t\t\t\tconst startPosition = this.$ctx.offset().top - 124;\r\n\t\t\t\tconst endPosition = startPosition + this.$ctx.height();\r\n\t\t\t\tconst currentPosition = $(window).scrollTop();\r\n\t\t\t\tconst deviationHeight = $teaserItem.last().find(`.${classes.teaserImg}`).height();\r\n\t\t\t\tif (viewport === 'large' || viewport === 'extra-large') {\r\n $('.m-scrolling-teaser').css(\"margin-top\", \"80px\");\r\n }\r\n\t\t\t\tif (currentPosition >= startPosition) {\r\n\t\t\t\t\t$('.stickem-dots').addClass('active');\r\n\t\t\t\t\tif (currentPosition > endPosition - deviationHeight) {\r\n\t\t\t\t\t\t$('.stickem-dots').removeClass('active');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('.stickem-dots').removeClass('active');\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$teaserItem.each((i, ev) => {\r\n\t\t\t\t\tconst containerStart = $(ev).offset().top - 124;\r\n\t\t\t\t\tconst curImgHeight = $(ev).find(`.${classes.teaserImg}`).height();\r\n\t\t\t\t\tconst scrollFinish = containerStart + $(ev).height() - curImgHeight;\r\n\t\t\t\t\tconsole.debug(containerStart, scrollFinish);\r\n\t\t\t\t\tif (currentPosition < containerStart || currentPosition > scrollFinish) {\r\n\t\t\t\t\t\t$(ev).removeClass('stickit');\r\n\t\t\t\t\t\tif(currentPosition > scrollFinish) {\r\n\t\t\t\t\t\t\t$(ev).addClass('stickit-end');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if(currentPosition > containerStart && currentPosition < scrollFinish) {\r\n\t\t\t\t\t\t$(ev).removeClass('stickit-end').addClass('stickit');\r\n\t\t\t\t\t\t$('.stickem-dots').find('li a').removeClass('active');\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t$('.stickem-dots ul li').eq(i).find('a').addClass('active');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tsetTimeout(() => {\r\n $teaserImg.each((i, ev) => {\r\n\t\t\t\t\t$(ev).width($(ev).parent().width());\r\n\t\t\t\t\t$(ev).height($(ev).height());\r\n $(ev).parents(`.${classes.teaserItem}`).find(`.${classes.teaserContent}`).height();\r\n });\r\n\r\n $(document).on(\"click\", \".stickem-dots ul li a\", (event: any) => {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tvar index = $(event.currentTarget).parent().index();\r\n\t\t\t\t\t$('.m-inpage-navigation__list-item').eq(index).find('a').trigger('click');\r\n\t\t\t\t});\r\n\r\n }, 500);\r\n\t\t\t\r\n\t\t} else {\r\n\t\t\t$('body').find('.stickem-dots').remove();\r\n\t\t\t$teaserImg.each((i, ev) => {\r\n $(ev).removeAttr('style');\r\n $(ev).parents(`.${classes.teaserItem}`).find(`.${classes.teaserContent}`).removeAttr('style');\r\n });\r\n\t\t}\r\n\t}\r\n\r\n\tstickemDots() {\r\n\t\tconst $teaserItem = this.$ctx.find(`.${classes.teaserItem}`);\r\n\t\tif ($('.stickem-dots').length === 0 && $teaserItem.length > 1) {\r\n\t\t\t$('body').append('
      ');\r\n\t\t}\r\n\t\t$teaserItem.each((i, ev) => {\r\n\t\t\tconst dotAnchor = $(ev).data('anchor-id');\r\n\t\t\tconst dotTitle = $(ev).data('anchor-title');\r\n\t\t\tif ($('.stickem-dots').find('li').eq($(ev).index()).length === 0) {\r\n\t\t\t\t$('.stickem-dots').find('ul').append('
    • ' + dotTitle + '
    • ');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","/**\r\n * This script handles generic tracking\r\n */\r\n\r\nimport * as Cookies from 'js-cookie';\r\n\r\n/**\r\n * Function adds tracking to dataLayer\r\n *\r\n * @param {object} data tracking data\r\n * @returns {void}\r\n */\r\nexport function gtmTrack(data: object) {\r\n\tif ((window as any).dataLayer) {\r\n\t\t(window as any).dataLayer.push(data);\r\n\t}\r\n}\r\n\r\n/**\r\n * Persist Sitecore Analytics consent to technical cookie.\r\n * @param active true if consent is given; otherwise, false.\r\n */\r\nfunction setSitecoreAnalyticsCookiePref(active: boolean) {\r\n\tCookies.set('track_sc_allowed', active ? 'true' : 'false', { expires: 3650 });\r\n}\r\n\r\n/**\r\n * Check consent status on load.\r\n * - Check for Sitecore Analytics consent.\r\n * - Check for Marketo consent.\r\n */\r\n(window as any).addEventListener('UC_UI_INITIALIZED', function (e: CustomEvent) {\r\n\tconst services = (window as any).UC_UI.getServicesBaseInfo() as any[];\r\n\r\n\t// Sitecore\r\n\tvar sc = services.find(s => s.name === \"Sitecore\");\r\n\tsetSitecoreAnalyticsCookiePref(sc && sc.consent && sc.consent.status);\r\n\r\n\t// Marketo\r\n\tvar mkto = services.find(s => s.name === \"Marketo\")\r\n\tif (mkto && mkto.consent && mkto.consent.status) {\r\n\t\tcheckMarketoEmailLink();\r\n\t} else {\r\n\t\tsetKnownMarketoLead(false);\r\n\t}\r\n});\r\n\r\n/**\r\n * Handle Usercentrics consent changes. Check for Sitecore Analytics consent.\r\n */\r\n(window as any).addEventListener(\"ucEvent\", function (e: CustomEvent) {\r\n\tif (e.detail && e.detail.event == \"consent_status\") {\r\n\t\tconst sitecorePurposeName = \"Sitecore\";\r\n\t\tif (e.detail[sitecorePurposeName] === true) {\r\n\t\t\tsetSitecoreAnalyticsCookiePref(true);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsetSitecoreAnalyticsCookiePref(false);\r\n\t\t}\r\n\r\n\t\tconst marketoPurposeName = \"Marketo\";\r\n\t\tif (e.detail[marketoPurposeName] === true) {\r\n\t\t\tcheckMarketoEmailLink();\r\n\t\t} else {\r\n\t\t\tsetKnownMarketoLead(false);\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport function isKnownMarketoLead(): boolean {\r\n\tlet cookieValue = Cookies.get(\"mkto_submitted\");\r\n\tif (cookieValue != undefined) {\r\n\t\tif (cookieValue.length > 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nexport function setKnownMarketoLead(state: boolean): void {\r\n\tif (state) {\r\n\t\tCookies.set(\"mkto_submitted\", \"1\", { expires: 365 });\r\n\t} else {\r\n\t\tCookies.remove(\"mkto_submitted\");\r\n\t}\r\n}\r\n\r\nfunction checkMarketoEmailLink(): void {\r\n\tconst queryStr = window.location.search.substring(1);\r\n\tconst querySet = queryStr.split(\"&\");\r\n\tfor (let i = 0; i < querySet.length; i++) {\r\n\t\tif (querySet[i].indexOf(\"mkt_tok\") === 0) {\r\n\t\t\tsetKnownMarketoLead(true);\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n}\r\n","/**\r\n * This script returns the current active breakpoint\r\n */\r\nimport * as $ from 'jquery';\r\n// @ts-ignore\r\nimport * as throttle from 'lodash/throttle';\r\nimport '../css/breakpoint-helper-niaga.scss';\r\n\r\nexport type Breakpoint = 'small' | 'medium' | 'large' | 'extra-large';\r\n\r\nconst classes = {\r\n\thelper: 'h-breakpoint__helper',\r\n};\r\n\r\nlet cachedBreakpoint: Breakpoint;\r\n$(window).on('resize orientationchange', () => {\r\n\tcachedBreakpoint = undefined;\r\n});\r\n\r\nlet lastViewport: Breakpoint;\r\n$(window).on(\r\n\t'resize orientationchange',\r\n\tthrottle(\r\n\t\t() => {\r\n\t\t\tconst newViewport = getCurrentBreakpoint();\r\n\t\t\tif (lastViewport !== newViewport) {\r\n\t\t\t\tlastViewport = newViewport;\r\n\t\t\t\t$(window).trigger('uxViewPortChange', [newViewport]);\r\n\t\t\t}\r\n\t\t},\r\n\t\t25,\r\n\t\t{ leading: true, trailing: true }\r\n\t)\r\n);\r\n\r\nconst $meassureHelper = $(`
      `);\r\n\r\nfunction meassureBreakpoint() {\r\n\tif (!document.body) {\r\n\t\tthrow new Error('Document is not ready');\r\n\t}\r\n\t$meassureHelper.appendTo(document.body);\r\n\r\n\treturn window\r\n\t\t.getComputedStyle($meassureHelper[0], ':before')\r\n\t\t.getPropertyValue('content')\r\n\t\t.replace(/['\"]/, '')\r\n\t\t.replace(/['\"]/, '') as Breakpoint;\r\n}\r\n\r\n/**\r\n * Register a handler to listen on breakpoint change\r\n * Passes the current viewport\r\n *\r\n * @param handler\r\n * @returns {()=>JQuery}\r\n */\r\nexport function onBreakpointChange(handler: (viewport?: Breakpoint) => void): () => any {\r\n\tconst callback = (event: any, viewport: any) => handler(viewport);\r\n\t$(window).on('uxViewPortChange', callback);\r\n\treturn () => $(window).off('uxViewPortChange', callback);\r\n}\r\n\r\n/**\r\n * Returns the current breakpoint using computed style to guarantee matching\r\n * the css breakpoints\r\n */\r\nexport default function getCurrentBreakpoint(): Breakpoint {\r\n\tif (!cachedBreakpoint) {\r\n\t\tcachedBreakpoint = meassureBreakpoint();\r\n\t}\r\n\treturn cachedBreakpoint;\r\n}\r\n\r\nexport function isSmall(viewport: string): boolean {\r\n\treturn viewport === 'small';\r\n}\r\n\r\nexport function isMedium(viewport: string): boolean {\r\n\treturn viewport === 'medium';\r\n}\r\n\r\nexport function isLarge(viewport: string): boolean {\r\n\treturn viewport === 'large';\r\n}\r\n\r\nexport function isExtraLarge(viewport: string): boolean {\r\n\treturn viewport === 'extra-large';\r\n}\r\n\r\nexport function isSmallOrMedium(viewport: string): boolean {\r\n\treturn isSmall(viewport) || isMedium(viewport);\r\n}\r\n"],"sourceRoot":""}