{"version":3,"sources":["estore/cart/views/free-shipping-progress-bar.ts"],"names":["html","render","unsafeHTML","createRef","ref","determineTranslation","format","Locale","FreeShippingProgressBar","HTMLElement","constructor","super","this","translations","En","leftToGoal","goalReached","No","template","_freeShippingInfo","progress","_labels","freeShippingRemainderStr","_progressBar","setData","data","_render","window","globalSettings","freeShippingMessageSettings","showNotification","value","percent","customElements","define"],"mappings":"OAASA,KAAMC,MAAwB,KAAV,kBACpBC,UAAmD,KAAjC,yCAClBC,UAAWC,GAAoC,KAAzB,iCACtBC,oBAAwD,KAA5B,mCAE9B,yCACEC,MAAwC,KAA1B,kCACdC,MAAoD,KAAtC,6CAGVC,gCAAgCC,YAEzCC,cACIC,MAAK,EAYDC,KAAAC,aAAyD,EAC5DN,OAAOO,IAAK,CACTC,WAAY,+CACZC,YAAa,e,GAEhBT,OAAOU,IAAK,CACTF,WAAY,2CACZC,YAAa,W,GAMbJ,KAAAM,SAAW,IAAMlB;2BACkC,IAApCY,KAAKO,kBAAkBC,SAAiB,UAAY;cAC7B,IAApCR,KAAKO,kBAAkBC,SAAiBpB;;oCAElBY,KAAKS,QAAQL;cACjChB;oCACoBE,WAAWI,OAAOM,KAAKS,QAAQN,WAAYH,KAAKO,kBAAkBG,wBAAwB,CAAC;;;wBAGvGlB,IAAIQ,KAAKW,YAAY;MAKjCX,KAAAW,aAAepB,UAAS,EAtC5BS,KAAKS,QAAUhB,qBAAqBO,KAAKC,YAAY,CACzD,CAGOW,QAAQC,GACXb,KAAKO,kBAAoBM,EACzBb,KAAKc,QAAO,CAChB,CAoCQA,UACDC,OAAOC,gBAAkBD,OAAOC,eAAeC,6BAA+BjB,KAAKO,mBAAqBP,KAAKO,kBAAkBW,kBAC9H7B,OAAOW,KAAKM,SAAQ,EAAIN,IAAI,EACxBA,KAAKW,aAAaQ,QAClBnB,KAAKW,aAAaQ,MAAMC,QAA4C,IAAlCpB,KAAKO,kBAAkBC,WAG7DnB,OAAOD,OAAQY,IAAI,CAE3B,C,CAKJqB,eAAeC,OAAO,6BAA8B1B,uBAAuB,SA7D9DA,uBA6D+D","file":"free-shipping-progress-bar.js","sourcesContent":["import { html, render } from \"lit-html\";\r\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html\";\r\nimport { createRef, ref } from \"lit-html/directives/ref\";\r\nimport { determineTranslation } from \"../../../utils/language.js\";\r\nimport { ProgressBar } from \"../../../common/progress-bar.js\";\r\nimport \"../../../common/progress-bar.js\";\r\nimport { format } from '../../../utils/string.js';\r\nimport { Locale } from \"../../../common/interfaces/locate.js\";\r\nimport { IFreeShippingInfoContract } from \"../interfaces/free-shipping-info-contract.js\";\r\n\r\nexport class FreeShippingProgressBar extends HTMLElement {\r\n\r\n constructor() {\r\n super();\r\n this._labels = determineTranslation(this.translations);\r\n }\r\n\r\n /* #region Public */\r\n public setData(data: IFreeShippingInfoContract){\r\n this._freeShippingInfo = data;\r\n this._render();\r\n }\r\n /* #endregion */\r\n\r\n /* #region Translations */\r\n private translations: { [key:string]: {[key:string]: string} } = {\r\n [Locale.En]: {\r\n leftToGoal: \"{0} left till free delivery\",\r\n goalReached: \"Free delivery\",\r\n },\r\n [Locale.No]: {\r\n leftToGoal: \"{0} igjen til fri frakt\",\r\n goalReached: \"Fri frakt\",\r\n }\r\n };\r\n /* #endregion */\r\n\r\n /* #region Markup */\r\n private template = () => html`\r\n
\r\n ${this._freeShippingInfo.progress === 1 ? html`\r\n \r\n
${this._labels.goalReached}
\r\n ` : html`\r\n
${unsafeHTML(format(this._labels.leftToGoal, this._freeShippingInfo.freeShippingRemainderStr))}
\r\n `}\r\n
\r\n \r\n `;\r\n /* #endregion */\r\n\r\n /* #region Private */\r\n private _progressBar = createRef();\r\n private _labels: { [key: string]:any };\r\n private _freeShippingInfo: IFreeShippingInfoContract;\r\n /* #endregion */\r\n\r\n private _render() {\r\n if(window.globalSettings && window.globalSettings.freeShippingMessageSettings && this._freeShippingInfo && this._freeShippingInfo.showNotification){\r\n render(this.template(), this);\r\n if (this._progressBar.value){\r\n this._progressBar.value.percent = this._freeShippingInfo.progress * 100;\r\n }\r\n } else {\r\n render(html``, this);\r\n }\r\n }\r\n\r\n //public connectedCallback() {}\r\n}\r\n\r\ncustomElements.define(\"free-shipping-progress-bar\", FreeShippingProgressBar);"]}