{"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,WAAc,kBACpBC,eAAkB,yCAClBC,UAAWC,QAAW,iCACtBC,yBAA4B,mCAE9B,yCACEC,WAAc,kCACdC,WAAc,6CAGVC,gCAAgCC,YAEzCC,cACIC,QAYIC,KAAAC,aAAyD,EAC5DN,OAAOO,IAAK,CACTC,WAAY,+CACZC,YAAa,kBAEhBT,OAAOU,IAAK,CACTF,WAAY,2CACZC,YAAa,cAMbJ,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;;;wBAG9ElB,IAAIQ,KAAKW;MAKrBX,KAAAW,aAAepB,YAtCnBS,KAAKS,QAAUhB,qBAAqBO,KAAKC,cAItCW,QAAQC,GACXb,KAAKO,kBAAoBM,EACzBb,KAAKc,UAqCDA,UACDC,OAAOC,gBAAkBD,OAAOC,eAAeC,6BAA+BjB,KAAKO,mBAAqBP,KAAKO,kBAAkBW,kBAC9H7B,OAAOW,KAAKM,WAAYN,MACpBA,KAAKW,aAAaQ,QAClBnB,KAAKW,aAAaQ,MAAMC,QAA4C,IAAlCpB,KAAKO,kBAAkBC,WAG7DnB,OAAOD,OAAQY,OAO3BqB,eAAeC,OAAO,6BAA8B1B,gCA7DvCA","file":"free-shipping-progress-bar.js","sourcesContent":["import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html\";\nimport { createRef, ref } from \"lit-html/directives/ref\";\nimport { determineTranslation } from \"../../../utils/language.js\";\nimport { ProgressBar } from \"../../../common/progress-bar.js\";\nimport \"../../../common/progress-bar.js\";\nimport { format } from '../../../utils/string.js';\nimport { Locale } from \"../../../common/interfaces/locate.js\";\nimport { IFreeShippingInfoContract } from \"../interfaces/free-shipping-info-contract.js\";\n\nexport class FreeShippingProgressBar extends HTMLElement {\n\n constructor() {\n super();\n this._labels = determineTranslation(this.translations);\n }\n\n /* #region Public */\n public setData(data: IFreeShippingInfoContract){\n this._freeShippingInfo = data;\n this._render();\n }\n /* #endregion */\n\n /* #region Translations */\n private translations: { [key:string]: {[key:string]: string} } = {\n [Locale.En]: {\n leftToGoal: \"{0} left till free delivery\",\n goalReached: \"Free delivery\",\n },\n [Locale.No]: {\n leftToGoal: \"{0} igjen til fri frakt\",\n goalReached: \"Fri frakt\",\n }\n };\n /* #endregion */\n\n /* #region Markup */\n private template = () => html`\n
\n ${this._freeShippingInfo.progress === 1 ? html`\n \n
${this._labels.goalReached}
\n ` : html`\n
${unsafeHTML(format(this._labels.leftToGoal, this._freeShippingInfo.freeShippingRemainderStr))}
\n `}\n
\n \n `;\n /* #endregion */\n\n /* #region Private */\n private _progressBar = createRef();\n private _labels: { [key: string]:any };\n private _freeShippingInfo: IFreeShippingInfoContract;\n /* #endregion */\n\n private _render() {\n if(window.globalSettings && window.globalSettings.freeShippingMessageSettings && this._freeShippingInfo && this._freeShippingInfo.showNotification){\n render(this.template(), this);\n if (this._progressBar.value){\n this._progressBar.value.percent = this._freeShippingInfo.progress * 100;\n }\n } else {\n render(html``, this);\n }\n }\n\n //public connectedCallback() {}\n}\n\ncustomElements.define(\"free-shipping-progress-bar\", FreeShippingProgressBar);"]}