{"version":3,"sources":["estore/cart/views/cart-sidebar-v1.ts"],"names":["html","render","nothing","OrderDiscountProgressBar","FreeShippingProgressBar","SiteCartController","Locale","determineTranslation","cartEventSubscriber","CartSidebarOrderLines","CartSidebarTotalSummary","CartSidebarV1","HTMLElement","constructor","super","this","translations","En","heading","shoppingCartIsEmpty","btnRemoveAll","btnCheckout","No","labels","mainTemplate","sidebarTemplate","close","_siteCartInfo","products","length","_clearCart","bind","CssClasses","FontSizeSmall","_orderLinesTable","emptyMessageTemplate","window","globalSettings","freeShippingMessageSettings","_freeShippingProgressBar","_orderDiscountProgressBar","_totalSummary","cartSettings","detailedCartPageUrl","_getDisabledState","_isOpened","_siteCartController","_toggledById","getAttribute","_toggledBy","document","querySelector","Error","addEventListener","toggle","setAttribute","body","classList","remove","style","setProperty","open","removeAttribute","scrollCompensation","innerWidth","documentElement","getBoundingClientRect","width","add","clearCart","_updateView","_onSiteCartChanged","topic","data","setData","freeShippingInfo","connectedCallback","isConnected","onSiteCartChanged","disconnectedCallback","removeEventListener","customElements","define"],"mappings":"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","file":"cart-sidebar-v1.js","sourcesContent":["import { html, render, nothing } from \"lit-html\";\r\nimport { IDetailedCartInfo, IDetailedCartInfoForUi } from \"../interfaces/detailed-cart-info.js\";\r\nimport { OrderDiscountProgressBar } from \"./order-discount-progress-bar.js\";\r\nimport { FreeShippingProgressBar } from \"./free-shipping-progress-bar.js\";\r\nimport { SiteCartController } from \"../site-cart-controller.js\";\r\nimport { Locale } from \"../../../common/interfaces/locate.js\";\r\nimport { determineTranslation } from \"../../../utils/language.js\";\r\nimport { cartEventSubscriber } from \"../../../common/pubsub/cart-event-pub-sub.js\";\r\nimport { CartSidebarOrderLines } from \"./cat-sidebar-v1-parts/cart-sidebar-order-lines.js\";\r\nimport { CartSidebarTotalSummary } from \"./cat-sidebar-v1-parts/cart-sidebar-total-summary.js\";\r\n//The Vipps checkout button was not defined by BA+Desinger to be used in sitecart sidebar! Don't add it here!\r\nexport class CartSidebarV1 extends HTMLElement {\r\n constructor() {\r\n super();\r\n\r\n this._toggledById = this.getAttribute('toggledBy');\r\n\r\n if (!this._toggledById) {\r\n return;\r\n }\r\n\r\n this._toggledBy = document.querySelector(this._toggledById);\r\n\r\n if (!this._toggledBy) {\r\n throw Error('Can not find element which controls CmsSiteCardSidebar');\r\n }\r\n\r\n this._toggledBy.addEventListener('click', this.toggle.bind(this));\r\n }\r\n\r\n /* #region Public */\r\n public close() : void {\r\n this.setAttribute('hidden', '');\r\n document.body.classList.remove('cart-sidebar-v1-is-shown');\r\n document.body.style.setProperty('--scrollbar-compensate', '0px');\r\n }\r\n\r\n public open() : void {\r\n this.removeAttribute(\"hidden\");\r\n const windowWidth = window.innerWidth;\r\n const documentWidth = document.documentElement.getBoundingClientRect().width;\r\n\r\n let scrollCompensation = windowWidth - documentWidth;\r\n\r\n if(scrollCompensation > 0) {\r\n document.body.style.setProperty('--scrollbar-compensate', `${scrollCompensation}px`);\r\n }\r\n\r\n document.body.classList.add('cart-sidebar-v1-is-shown');\r\n }\r\n\r\n public toggle() : void {\r\n if (this._isOpened) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n /* #endregion */\r\n\r\n /* #region Translations */\r\n private translations: ITranslationSet = {\r\n [Locale.En]:{\r\n heading: \"Shopping cart\",\r\n shoppingCartIsEmpty: \"Shopping cart is empty!\",\r\n btnRemoveAll: \"Remove all\",\r\n btnCheckout: \"Go to cart\",\r\n },\r\n [Locale.No]: {\r\n heading: \"Min handlekurv\",\r\n shoppingCartIsEmpty: \"Handlekurven er tom!\",\r\n btnRemoveAll: \"Tøm handlekurv\",\r\n btnCheckout: \"Gå til kassen\",\r\n }\r\n };\r\n private labels = determineTranslation(this.translations) as ISiteCartSidebarLabels;\r\n /* #endregion */\r\n\r\n /* #region Markup */\r\n private mainTemplate = () => html`\r\n
\r\n