@salla.sa/twilight-components 2.13.21 → 2.13.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/salla-add-product-button_47.cjs.entry.js +6 -0
- package/dist/cjs/salla-add-product-button_47.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +2 -2
- package/dist/cjs/salla-installment.cjs.entry.js.map +1 -1
- package/dist/collection/components/salla-gifting/salla-gifting.js +5 -0
- package/dist/collection/components/salla-gifting/salla-gifting.js.map +1 -1
- package/dist/collection/components/salla-installment/salla-installment.js +2 -2
- package/dist/collection/components/salla-installment/salla-installment.js.map +1 -1
- package/dist/components/salla-gifting.js +5 -0
- package/dist/components/salla-gifting.js.map +1 -1
- package/dist/components/salla-installment.js +2 -2
- package/dist/components/salla-installment.js.map +1 -1
- package/dist/components/salla-quick-buy2.js +1 -0
- package/dist/components/salla-quick-buy2.js.map +1 -1
- package/dist/esm/salla-add-product-button_47.entry.js +6 -0
- package/dist/esm/salla-add-product-button_47.entry.js.map +1 -1
- package/dist/esm/salla-installment.entry.js +2 -2
- package/dist/esm/salla-installment.entry.js.map +1 -1
- package/dist/esm-es5/salla-add-product-button_47.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_47.entry.js.map +1 -1
- package/dist/esm-es5/salla-installment.entry.js +1 -1
- package/dist/esm-es5/salla-installment.entry.js.map +1 -1
- package/dist/twilight/{p-cf1b9755.entry.js → p-403d1936.entry.js} +2 -2
- package/dist/twilight/p-403d1936.entry.js.map +1 -0
- package/dist/twilight/{p-7ce64b51.entry.js → p-5775cbdb.entry.js} +2 -2
- package/dist/twilight/p-5775cbdb.entry.js.map +1 -0
- package/dist/twilight/{p-5d8d9481.system.entry.js → p-98df3e02.system.entry.js} +2 -2
- package/dist/twilight/p-98df3e02.system.entry.js.map +1 -0
- package/dist/twilight/{p-94a6d86e.system.entry.js → p-a5a313ea.system.entry.js} +2 -2
- package/dist/twilight/p-a5a313ea.system.entry.js.map +1 -0
- package/dist/twilight/p-e550d2df.system.js +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-gifting/salla-gifting.d.ts +1 -0
- package/package.json +5 -5
- package/dist/twilight/p-5d8d9481.system.entry.js.map +0 -1
- package/dist/twilight/p-7ce64b51.entry.js.map +0 -1
- package/dist/twilight/p-94a6d86e.system.entry.js.map +0 -1
- package/dist/twilight/p-cf1b9755.entry.js.map +0 -1
|
@@ -23,7 +23,7 @@ const SallaInstallment = class {
|
|
|
23
23
|
this.mispayActive = undefined;
|
|
24
24
|
this.installment_sheria_text = (replacement) => salla.lang.get("pages.products.installments", replacement);
|
|
25
25
|
salla.lang.onLoaded(() => {
|
|
26
|
-
this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 });
|
|
26
|
+
this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 });
|
|
27
27
|
const installment = salla.config.get('store.settings.installments');
|
|
28
28
|
if (installment) {
|
|
29
29
|
this.tamaraIsActive = installment.includes('tamara_installment');
|
|
@@ -49,7 +49,7 @@ const SallaInstallment = class {
|
|
|
49
49
|
: '', this.spotiiIsActive ?
|
|
50
50
|
index.h("div", { class: "spotii-wrapper" }, index.h("div", { class: "spotii-promo" }))
|
|
51
51
|
: '', this.mispayActive ?
|
|
52
|
-
index.h("div", { class: "s-installment-mispay-wrapper" }, index.h("div", { class: "s-installment-mispay-content" }, index.h("img", { src: salla.url.cdn('images/payment/png/mispay.png'), alt: "mispay" }), index.h("span", { class: "s-installment-mispay-content-text" }, this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 }))))
|
|
52
|
+
index.h("div", { class: "s-installment-mispay-wrapper" }, index.h("div", { class: "s-installment-mispay-content" }, index.h("img", { src: salla.url.cdn('images/payment/png/mispay.png'), alt: "mispay" }), index.h("span", { class: "s-installment-mispay-content-text" }, this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 }))))
|
|
53
53
|
: ''));
|
|
54
54
|
}
|
|
55
55
|
renderInstallments(isUpdating = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"salla-installment.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/salla-installment/salla-installment.scss?tag=salla-installment","src/components/salla-installment/salla-installment.tsx"],"sourcesContent":["/*\n The whole installment methods is a third-party widgets,\n So there aren't a custom classes (as other components) to style them.\n*/\n\nsalla-installment:empty {\n display: none;\n}\n\n/*\n* Installment::Tabby\n*/\n#tabbyPromoWrapper {\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n margin-bottom: 20px;\n\n .salla-y & {\n border: 1px solid var(--color-grey-dark);\n border-radius: 12px\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n #tabbyPromo {\n * {\n font-family: var(--font-main);\n }\n\n >div>div {\n max-width: none;\n //padding: 15px;\n box-shadow: none;\n border: none;\n }\n\n .tabby-promo-snippet {\n max-width: 100%;\n min-height: 100px;\n padding: 18px 20px;\n // border-color: var(--color-grey-dark);\n border: none !important;\n\n\n &__text,\n &__link {\n font-size: var(--font-sm);\n color: var(--color-text) !important;\n }\n\n &__link {\n font-weight: bold;\n }\n }\n }\n}\n\n.tabby-promo-wrapper {\n #tabby-promo {\n font-family: var(--font-main) !important;\n\n .tabby-promo {\n &__feature-title {\n font-size: var(--font-md);\n }\n\n &__feature-desc {\n font-size: var(--font-sm);\n line-height: 20px;\n }\n }\n }\n}\n\n/*\n* Installment::Tamara & Spotii\n*/\n.tamara-product-widget {\n margin-bottom: 20px;\n}\n\n.tamara-product-widget,\n.spotii-wrapper {\n min-height: 100px;\n position: relative;\n color: var(--color-text);\n font-size: var(--font-sm);\n line-height: 1.25;\n padding: 18px 20px 18px 100px !important;\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n\n .salla-y & {\n border-radius: 12px;\n border: 1px solid var(--color-grey-dark);\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n .spotii-logo {\n float: left;\n margin: 0 0 0 -75px;\n }\n}\n\n.ltr .tamara-product-widget,\n.ltr .spotii-wrapper {\n text-align: left;\n padding: 18px 100px 18px 20px !important;\n\n .spotii-logo {\n float: right;\n margin: 0 -75px 0 0;\n }\n\n .spotii-product-widget {\n text-align: left !important;\n }\n}\n\n.spotii-wrapper {\n margin-bottom: 20px;\n\n .spotii-promo {\n font-size: var(--font-md);\n }\n\n .spotii-product-widget {\n font-size: var(--font-sm) !important;\n margin-top: 10px;\n }\n}\n\n.tamara-product-widget {\n .tamara-logo {\n position: absolute;\n left: 20px;\n top: 18px;\n margin: 0 !important;\n\n .ltr & {\n right: 20px;\n left: auto;\n }\n }\n\n span {\n font-family: var(--font-main);\n font-size: var(--font-sm);\n color: var(--color-text);\n\n &:last-child {\n display: block;\n position: relative;\n margin-top: 8px;\n }\n }\n}\n\n.tamara-popup {\n &__wrap {\n overflow: auto !important;\n }\n}\n\n.s-installment-mispay-wrapper {\n font-family: \"Noto Sans Arabic\", sans-serif;\n font-size: 14px;\n text-align: right;\n padding: 24px 20px 24px 0px;\n gap: 42px;\n direction: rtl;\n line-height: 22px;\n color: rgb(0, 0, 0);\n min-width: 100%;\n box-sizing: border-box;\n position: relative;\n background-color: white;\n border-radius: 10px;\n border: 1px solid var(--07--Light-Theme-Gray-color-gray-300, #EEE);\n margin: 15px 0;\n display: flex;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.s-installment-mispay-wrapper:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n}\n\n.s-installment-mispay-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 15px !important;\n}\n\n.s-installment-mispay-content-text {\n color: #292929;\n margin: 0 16px 0 0;\n width: 80%;\n position: absolute;\n left: 14px;\n text-align: left;\n}\n\n\n.s-installment-mispay-content img {\n height: 28px;\n width: 70px;\n display: inline-block;\n max-height: 100%;\n vertical-align: middle;\n fill: none;\n stroke: unset;\n width: auto;\n position: absolute;\n}\n\n.rtl .s-installment-mispay-content-text {\n right: 14px;\n text-align: right;\n margin: 0 0 0 16px;\n}\n\n.rtl .s-installment-mispay-content img {\n left: 14px !important;\n}\n\n.ltr .s-installment-mispay-content img {\n right: 14px !important;\n}\n","import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\n\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n constructor() {\n salla.lang.onLoaded(() => {\n this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 })\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.includes('tamara_installment');\n this.tabbyIsActive = installment.includes('tabby_installment');\n this.spotiiIsActive = installment.includes('spotii_pay');\n this.mispayActive = installment.includes('mispay_installment');\n }\n this.renderInstallments();\n });\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n\n @State() tamaraIsActive: boolean;\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() mispayActive: boolean;\n\n @State() installment_sheria_text: (replacement: object) => string = (replacement) => salla.lang.get(\"pages.products.installments\", replacement)\n\n render() {\n return (\n <Host>\n {this.tamaraIsActive ?\n <div class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\">\n </div>\n : ''}\n\n {this.tabbyIsActive ?\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n : ''}\n\n {this.spotiiIsActive ?\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n : ''}\n {this.mispayActive ?\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\">{this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 })}</span>\n </div>\n </div>\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n // Tamara\n if (this.tamaraIsActive) {\n if (isUpdating) {\n var oldTamaraScript = document.querySelector('script[src=\"https://cdn.tamara.co/widget/product-widget.min.js\"]');\n if (oldTamaraScript) {\n oldTamaraScript.remove();\n }\n }\n\n var tamaraScript = document.createElement('script');\n tamaraScript.setAttribute('src', 'https://cdn.tamara.co/widget/product-widget.min.js');\n document.head.appendChild(tamaraScript);\n tamaraScript.onload = () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n };\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector('script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]');\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n }\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector('script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]');\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2));\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: \"${textOne} ${number} ${textTwo} \" + amount + \"${logo} ${info}\",\n //todo:: translate these\n textOne: isRTL ? \"جزء الدفع على\" : \"Split it into\",\n textTwo: isRTL ? \"أقساط متساوية بدون تكاليف اضافية بقيمة\" : \"payments of\",\n textThree: \"مع\",\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n }\n\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]') : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500)\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"salla-installment.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/salla-installment/salla-installment.scss?tag=salla-installment","src/components/salla-installment/salla-installment.tsx"],"sourcesContent":["/*\n The whole installment methods is a third-party widgets,\n So there aren't a custom classes (as other components) to style them.\n*/\n\nsalla-installment:empty {\n display: none;\n}\n\n/*\n* Installment::Tabby\n*/\n#tabbyPromoWrapper {\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n margin-bottom: 20px;\n\n .salla-y & {\n border: 1px solid var(--color-grey-dark);\n border-radius: 12px\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n #tabbyPromo {\n * {\n font-family: var(--font-main);\n }\n\n >div>div {\n max-width: none;\n //padding: 15px;\n box-shadow: none;\n border: none;\n }\n\n .tabby-promo-snippet {\n max-width: 100%;\n min-height: 100px;\n padding: 18px 20px;\n // border-color: var(--color-grey-dark);\n border: none !important;\n\n\n &__text,\n &__link {\n font-size: var(--font-sm);\n color: var(--color-text) !important;\n }\n\n &__link {\n font-weight: bold;\n }\n }\n }\n}\n\n.tabby-promo-wrapper {\n #tabby-promo {\n font-family: var(--font-main) !important;\n\n .tabby-promo {\n &__feature-title {\n font-size: var(--font-md);\n }\n\n &__feature-desc {\n font-size: var(--font-sm);\n line-height: 20px;\n }\n }\n }\n}\n\n/*\n* Installment::Tamara & Spotii\n*/\n.tamara-product-widget {\n margin-bottom: 20px;\n}\n\n.tamara-product-widget,\n.spotii-wrapper {\n min-height: 100px;\n position: relative;\n color: var(--color-text);\n font-size: var(--font-sm);\n line-height: 1.25;\n padding: 18px 20px 18px 100px !important;\n background: white;\n border-radius: 0.375rem;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n\n .salla-y & {\n border-radius: 12px;\n border: 1px solid var(--color-grey-dark);\n }\n\n &:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n }\n\n .spotii-logo {\n float: left;\n margin: 0 0 0 -75px;\n }\n}\n\n.ltr .tamara-product-widget,\n.ltr .spotii-wrapper {\n text-align: left;\n padding: 18px 100px 18px 20px !important;\n\n .spotii-logo {\n float: right;\n margin: 0 -75px 0 0;\n }\n\n .spotii-product-widget {\n text-align: left !important;\n }\n}\n\n.spotii-wrapper {\n margin-bottom: 20px;\n\n .spotii-promo {\n font-size: var(--font-md);\n }\n\n .spotii-product-widget {\n font-size: var(--font-sm) !important;\n margin-top: 10px;\n }\n}\n\n.tamara-product-widget {\n .tamara-logo {\n position: absolute;\n left: 20px;\n top: 18px;\n margin: 0 !important;\n\n .ltr & {\n right: 20px;\n left: auto;\n }\n }\n\n span {\n font-family: var(--font-main);\n font-size: var(--font-sm);\n color: var(--color-text);\n\n &:last-child {\n display: block;\n position: relative;\n margin-top: 8px;\n }\n }\n}\n\n.tamara-popup {\n &__wrap {\n overflow: auto !important;\n }\n}\n\n.s-installment-mispay-wrapper {\n font-family: \"Noto Sans Arabic\", sans-serif;\n font-size: 14px;\n text-align: right;\n padding: 24px 20px 24px 0px;\n gap: 42px;\n direction: rtl;\n line-height: 22px;\n color: rgb(0, 0, 0);\n min-width: 100%;\n box-sizing: border-box;\n position: relative;\n background-color: white;\n border-radius: 10px;\n border: 1px solid var(--07--Light-Theme-Gray-color-gray-300, #EEE);\n margin: 15px 0;\n display: flex;\n transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.s-installment-mispay-wrapper:hover {\n box-shadow: 0 0 #0000, 0 0 #0000, 5px 10px 30px #2B2D340D;\n}\n\n.s-installment-mispay-content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 15px !important;\n}\n\n.s-installment-mispay-content-text {\n color: #292929;\n margin: 0 16px 0 0;\n width: 80%;\n position: absolute;\n left: 14px;\n text-align: left;\n}\n\n\n.s-installment-mispay-content img {\n height: 28px;\n width: 70px;\n display: inline-block;\n max-height: 100%;\n vertical-align: middle;\n fill: none;\n stroke: unset;\n width: auto;\n position: absolute;\n}\n\n.rtl .s-installment-mispay-content-text {\n right: 14px;\n text-align: right;\n margin: 0 0 0 16px;\n}\n\n.rtl .s-installment-mispay-content img {\n left: 14px !important;\n}\n\n.ltr .s-installment-mispay-content img {\n right: 14px !important;\n}\n","import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\n\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n constructor() {\n salla.lang.onLoaded(() => {\n this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 })\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.includes('tamara_installment');\n this.tabbyIsActive = installment.includes('tabby_installment');\n this.spotiiIsActive = installment.includes('spotii_pay');\n this.mispayActive = installment.includes('mispay_installment');\n }\n this.renderInstallments();\n });\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n\n @State() tamaraIsActive: boolean;\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() mispayActive: boolean;\n\n @State() installment_sheria_text: (replacement: object) => string = (replacement) => salla.lang.get(\"pages.products.installments\", replacement)\n\n render() {\n return (\n <Host>\n {this.tamaraIsActive ?\n <div class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\">\n </div>\n : ''}\n\n {this.tabbyIsActive ?\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n : ''}\n\n {this.spotiiIsActive ?\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n : ''}\n {this.mispayActive ?\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\">{this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 })}</span>\n </div>\n </div>\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n // Tamara\n if (this.tamaraIsActive) {\n if (isUpdating) {\n var oldTamaraScript = document.querySelector('script[src=\"https://cdn.tamara.co/widget/product-widget.min.js\"]');\n if (oldTamaraScript) {\n oldTamaraScript.remove();\n }\n }\n\n var tamaraScript = document.createElement('script');\n tamaraScript.setAttribute('src', 'https://cdn.tamara.co/widget/product-widget.min.js');\n document.head.appendChild(tamaraScript);\n tamaraScript.onload = () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n };\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector('script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]');\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n }\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector('script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]');\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2));\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: \"${textOne} ${number} ${textTwo} \" + amount + \"${logo} ${info}\",\n //todo:: translate these\n textOne: isRTL ? \"جزء الدفع على\" : \"Split it into\",\n textTwo: isRTL ? \"أقساط متساوية بدون تكاليف اضافية بقيمة\" : \"payments of\",\n textThree: \"مع\",\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n }\n\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]') : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500)\n }\n}\n"],"version":3}
|
|
@@ -12,6 +12,7 @@ import GiftSharing from "../../assets/svg/gift-sharing.svg";
|
|
|
12
12
|
*/
|
|
13
13
|
export class SallaGifting {
|
|
14
14
|
constructor() {
|
|
15
|
+
this.defaultEvent = "gifting:open";
|
|
15
16
|
this.sectionTitle = undefined;
|
|
16
17
|
this.sectionSubtitle = undefined;
|
|
17
18
|
this.sectionBtnText = undefined;
|
|
@@ -82,6 +83,9 @@ export class SallaGifting {
|
|
|
82
83
|
this.donationRequired = salla.lang.get('pages.products.donation_amount_required');
|
|
83
84
|
this.currentLang = salla.lang.locale;
|
|
84
85
|
});
|
|
86
|
+
salla.event.on(this.defaultEvent, () => {
|
|
87
|
+
this.open();
|
|
88
|
+
});
|
|
85
89
|
}
|
|
86
90
|
componentDidLoad() {
|
|
87
91
|
salla.event.product.onPriceUpdated(() => {
|
|
@@ -95,6 +99,7 @@ export class SallaGifting {
|
|
|
95
99
|
*/
|
|
96
100
|
async open() {
|
|
97
101
|
if (salla.config.isGuest()) {
|
|
102
|
+
salla.api.auth.setAfterLoginEvent(this.defaultEvent);
|
|
98
103
|
salla.event.dispatch('login::open');
|
|
99
104
|
return;
|
|
100
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salla-gifting.js","sourceRoot":"","sources":["../../../src/components/salla-gifting/salla-gifting.tsx"],"names":[],"mappings":"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","sourcesContent":["import anime from 'animejs';\nimport {GiftResponse, GiftImage, GiftText} from './gift-schema'\nimport {Component, h, Prop, State, Method} from '@stencil/core';\nimport Images from '../../assets/svg/images.svg';\nimport LeftArrow from '../../assets/svg/arrow-left.svg';\nimport Cancel from '../../assets/svg/cancel.svg';\nimport GiftSharing from '../../assets/svg/gift-sharing.svg';\nimport {GiftToCardDTO, Phone} from './intefaces';\n\n/**\n * @slot widget-btn-content - Used to customize widget button content.\n */\n@Component({\n tag: 'salla-gifting',\n styleUrl: 'salla-gifting.scss',\n})\nexport class SallaGifting {\n constructor() {\n salla.lang.onLoaded(() => {\n this.selectImageOrUpload = salla.lang.get('blocks.buy_as_gift.select_image_or_upload');\n this.selectImageForYourGift = salla.lang.get('blocks.buy_as_gift.select_image_for_your_gift');\n this.sectionTitle = salla.lang.get('blocks.buy_as_gift.gift_the_one_you_love');\n this.sectionSubtitle = salla.lang.get('blocks.buy_as_gift.gift_the_one_you_love_message')\n this.sectionBtnText = salla.lang.get('blocks.buy_as_gift.send_as_a_gift');\n this.giftDetails = salla.lang.get('blocks.buy_as_gift.gift_details');\n this.selectGiftMessage = salla.lang.get('blocks.buy_as_gift.select_gift_message');\n this.giftCustomText = salla.lang.get('blocks.buy_as_gift.gift_custom_text');\n this.textId = salla.lang.get('blocks.buy_as_gift.text_id');\n this.incorrectGiftText = salla.lang.get('blocks.buy_as_gift.incorrect_gift_text');\n this.nextStep = salla.lang.get('blocks.buy_as_gift.next_step');\n this.senderNameLabel = salla.lang.get('blocks.buy_as_gift.sender_name');\n this.receiverNameFieldLabel = salla.lang.get('blocks.buy_as_gift.receiver_name');\n this.receiverMobileFieldLabel = salla.lang.get('blocks.buy_as_gift.receiver_mobile');\n this.receiverEmailFieldLabel = salla.lang.get('blocks.buy_as_gift.receiver_email');\n this.emailPlaceholder = salla.lang.get('common.elements.email_placeholder');\n this.sendLater = salla.lang.get('blocks.buy_as_gift.send_later');\n this.selectSendDateAndTime = salla.lang.get('blocks.buy_as_gift.select_send_date_and_time');\n this.canNotEditOrderAfterSelectDate = salla.lang.get('blocks.buy_as_gift.can_not_edit_order_after_select_date');\n this.sendGift = salla.lang.get('blocks.buy_as_gift.send_gift');\n this.donationRequired = salla.lang.get('pages.products.donation_amount_required');\n this.currentLang = salla.lang.locale\n });\n }\n\n private modal: HTMLSallaModalElement;\n private uploader?: HTMLDivElement;\n private stepsWrapper?: HTMLDivElement;\n private textSelect?: HTMLDivElement;\n private customTextArea?: HTMLDivElement;\n private textArea?: HTMLTextAreaElement;\n private calendarFormGroup?: HTMLDivElement;\n private step1Elems?: HTMLDivElement;\n private step2Elems?: HTMLDivElement;\n\n @State() sectionTitle: string;\n @State() sectionSubtitle: string;\n @State() sectionBtnText: string;\n @State() giftDetails: string;\n @State() selectImageForYourGift: string = salla.lang.get('blocks.buy_as_gift.select_image_or_upload');\n @State() selectImageOrUpload: string;\n @State() selectGiftMessage: string;\n @State() giftCustomText: string;\n @State() textId: string;\n @State() incorrectGiftText: string;\n @State() nextStep: string;\n @State() senderNameLabel: string;\n @State() receiverNameFieldLabel: string;\n @State() receiverMobileFieldLabel: string;\n @State() receiverEmailFieldLabel: string;\n @State() emailPlaceholder: string;\n @State() sendLater: string;\n @State() selectSendDateAndTime: string;\n @State() canNotEditOrderAfterSelectDate: string;\n @State() sendGift: string;\n @State() donationRequired: string;\n @State() currentStep: number = 1;\n @State() showCalendar: boolean = false;\n @State() showGiftText: boolean = false;\n @State() currentLang: string = '';\n @State() parentClass: string = \"is-current-step-1\";\n @State() errors: object = {};\n\n @State() gift: GiftResponse = undefined;\n @State() selectedGiftTextOption: string = undefined;\n\n @State() showTextArea: boolean = false;\n\n /// Gift Form Data\n @State() selectedImage: string = undefined;\n @State() uploadedImage: string = undefined;\n @State() selectedText: string = undefined;\n @State() senderName: string;\n @State() errorMessage: string;\n @State() hasError: boolean = false;\n @State() quantity: number;\n @State() deliveryDate: string;\n @State() timeZone?: string = null;\n // Receiver Data\n @State() receiverName: string;\n @State() receiverMobile: string;\n @State() receiverCountryCode: string;\n @State() receiverEmail: string;\n\n\n /**\n * The product id for which the gifting system is required.\n */\n @Prop() productId: number;\n\n /**\n * Widget title\n */\n @Prop() widgetTitle: string; \n \n /**\n * Widget subtitle\n */\n @Prop() widgetSubtitle: string;\n\n componentDidLoad() {\n salla.event.product.onPriceUpdated(() => {\n const quantityInput = document.querySelector('.s-quantity-input-input') as HTMLElement\n // @ts-ignore\n this.quantity = quantityInput?.value\n });\n }\n\n /**\n * Show / Open the gifting modal window\n */\n @Method()\n async open() {\n if (salla.config.isGuest()) {\n salla.event.dispatch('login::open');\n return;\n }\n await this.modal.open()\n return await salla.api.withoutNotifier(() => salla.product.getGiftDetails(this.productId))\n .then((response) => {\n this.gift = response.data;\n this.senderName = this.gift.sender_name;\n })\n .catch(e => {\n this.hasError = true;\n this.errorMessage = e.response?.data?.error?.message || e.response?.data;\n })\n .finally(() => this.modal.stopLoading());\n }\n\n /**\n *\n * Hide / close the gifting modal window\n */\n @Method()\n async close() {\n return this.modal.close();\n }\n\n\n /**\n * Update the modal height based on the changes on the inner elements height for a specific step OR just a pass a new fixed height\n */\n private async setWrapperHeight(asStep = 1, delay = 250, additionSpace = 0, newHeight = 0) {\n let currentStep: HTMLElement = document.querySelector(`.gift-step-${asStep}`) as HTMLElement;\n setTimeout(() => {\n let currentStepHeight: number = currentStep.offsetHeight;\n if (newHeight) {\n this.stepsWrapper.style.height = `${newHeight}px`;\n } else {\n this.stepsWrapper.style.height = currentStepHeight + additionSpace + 'px';\n }\n }, delay)\n }\n\n private toggleCalendar() {\n this.showCalendar = !this.showCalendar;\n this.setWrapperHeight(2, 150, 0);\n }\n\n private toggleGiftText(event) {\n this.textSelect?.classList.remove('s-form-has-error');\n let dataID = event.target.children[event.target.selectedIndex].getAttribute('data-id')\n let customID = dataID == \"custom\";\n this.showGiftText = customID;\n\n if (dataID) {\n this.selectedGiftTextOption = dataID\n customID ? this.selectedText = undefined : this.selectedText = event.target.value\n this.setWrapperHeight(1, 150, 5);\n } else {\n // empty textarea value\n this.textArea.value = '';\n this.selectedText = undefined\n this.selectedGiftTextOption = undefined\n this.setWrapperHeight(1, 150, -15);\n }\n\n }\n\n /**\n *\n * Go to the step 2\n */\n @Method()\n async goToStep2() {\n if (!this.selectedGiftTextOption) {\n this.textSelect.classList.add('s-form-has-error');\n this.customTextArea.classList.remove('s-form-has-error');\n return;\n } else if (this.selectedGiftTextOption == 'custom' && !this.selectedText) {\n this.textSelect.classList.remove('s-form-has-error');\n this.customTextArea.classList.add('s-form-has-error');\n return;\n } else {\n this.textSelect.classList.remove('s-form-has-error');\n this.customTextArea.classList.remove('s-form-has-error');\n }\n this.setWrapperHeight(2, 600, 0);\n\n let stepNextAnime = new (anime as any).timeline();\n stepNextAnime.add({\n targets: this.step1Elems.querySelectorAll('.anime-item'),\n opacity: [1, 0],\n translateX: [0, 50],\n delay: anime.stagger(70),\n // easing: 'easeOutExpo',\n duration: 1200,\n })\n .add({\n targets: '.gift-step-2',\n translateX: ['-110%', 0],\n opacity: [0, 1],\n }, '-=1800')\n .add({\n targets: this.step2Elems.querySelectorAll('.anime-item'),\n opacity: [0, 1],\n translateX: [-50, 0],\n delay: anime.stagger(70),\n duration: 1200,\n complete: () => {\n this.step2Elems.querySelectorAll('.anime-item').forEach(item => {\n item.classList.remove('opacity-0')\n item.removeAttribute('style');\n })\n }\n }, '-=1200')\n this.currentStep = 2;\n this.parentClass = `is-current-step-${this.currentStep}`\n }\n\n /**\n *\n * Go to the step 1\n */\n goToStep1(e) {\n e.preventDefault();\n let stepBackAnime = new (anime as any).timeline({\n autoplay: false,\n });\n\n stepBackAnime.add({\n targets: this.step2Elems.querySelectorAll('.anime-item'),\n opacity: [1, 0],\n translateX: [0, -50],\n delay: anime.stagger(70),\n // easing: 'easeOutExpo',\n duration: 1200,\n })\n .add({\n targets: '.gift-step-1',\n translateX: ['110%', 0],\n opacity: [0, 1],\n }, '-=1800')\n .add({\n targets: this.step1Elems.querySelectorAll('.anime-item'),\n opacity: [0, 1],\n translateX: [50, 0],\n delay: anime.stagger(70),\n duration: 1200,\n complete: () => {\n this.step1Elems.querySelectorAll('.anime-item').forEach(item => {\n item.classList.remove('opacity-0')\n item.removeAttribute('style');\n })\n }\n }, '-=1200')\n\n stepBackAnime.play();\n this.setWrapperHeight(1, 600, 0);\n this.currentStep = 1;\n this.parentClass = `is-current-step-${this.currentStep}`\n }\n\n private getFilepondPlaceholder() {\n return `<div class=\"s-gifting-filepond-placeholder\"><span class=\"s-gifting-filepond-placeholder-icon\">${Images}</span><p class=\"s-gifting-filepond-placeholder-text\">${this.selectImageOrUpload ? this.selectImageOrUpload : ''}</p></div>`\n }\n\n setPreview(image: GiftImage) {\n this.uploader?.classList.add('has-bg')\n var bg = document.querySelector('.filepond-bg') ? document.querySelector('.filepond-bg') as HTMLElement : document.createElement('div') as HTMLElement;\n bg.classList.add('filepond-bg')\n bg.classList.remove('s-hidden')\n bg.style.backgroundImage = \"url('\" + image.url + \"')\"\n this.uploader?.querySelector('.filepond--root')?.appendChild(bg);\n this.uploadedImage = image.url;\n if (!!this.gift && this.gift.gift_images.length) {\n this.setWrapperHeight(1, 150, 0);\n }\n }\n\n removePreview() {\n this.uploader.classList.remove('has-bg');\n let bg = document.querySelector('.filepond-bg') as HTMLElement;\n bg.removeAttribute('style');\n bg.classList.add('s-hidden');\n this.handleRemoveImage()\n }\n\n private handleTextAreaChange(event) {\n this.selectedText = event.target.value;\n this.customTextArea.classList.remove('s-form-has-error');\n }\n\n private handleSenderName(event) {\n this.senderName = event.target.value;\n }\n\n private handleReceiverName(event) {\n this.receiverName = event.target.value;\n }\n\n private handleUploadImage(img) {\n this.uploadedImage = img;\n if (!!this.gift && this.gift.gift_images.length) {\n this.setWrapperHeight(1, 150, 0);\n }\n }\n\n private handleRemoveImage() {\n this.uploadedImage = '';\n if (!!this.gift && this.gift.gift_images.length) {\n this.setWrapperHeight(1, 150, 0);\n }\n }\n\n // private handleReceiverEmail(event) {\n // this.receiverEmail = event.target.value;\n // }\n\n private handlePhoneInputChange(event) {\n let phone: Phone = event.detail;\n this.receiverMobile = phone.number;\n this.receiverCountryCode = phone.country_code;\n }\n\n private handleDateTimePicker(event) {\n this.deliveryDate = event.detail;\n }\n\n private getCalendarClasses() {\n return {\n \"s-form-group\": true,\n \"anime-item\": true,\n \"s-gifting-calendar\": true,\n \"shown\": this.showCalendar,\n \"hide\": !this.showCalendar,\n \"s-form-has-error\": !!this.errors && this.errors['deliver_at']\n }\n }\n\n private async submitForm() {\n // @ts-ignore\n const donatingAmount = document.querySelector('#donating-amount')?.value\n this.calendarFormGroup.classList.remove('s-form-has-error');\n if (!!this.errors) {\n this.errors = {}\n this.setWrapperHeight(2, 150, 0);\n }\n if (this.showCalendar && !this.deliveryDate) {\n this.calendarFormGroup.classList.add('s-form-has-error');\n return;\n }\n let payload: GiftToCardDTO = {\n text: this.selectedText,\n sender_name: this.senderName,\n quantity: this.quantity,\n deliver_at: this.showCalendar ? this.deliveryDate : null,\n image_url: this.uploadedImage ?? this.selectedImage,\n donation_amount: donatingAmount ? donatingAmount : null,\n receiver: {\n name: this.receiverName,\n country_code: this.receiverCountryCode,\n mobile: this.receiverMobile\n }\n }\n return await salla.product.addGiftToCart(this.productId, payload, true)\n .then(() => this.modal.close())\n .catch((e) => {\n if (e.response.status == 422) {\n this.errors = e.response.data.error.fields\n } else {\n console.log(e);\n }\n this.setWrapperHeight(2, 150, 0);\n })\n }\n\n render() {\n return [\n <div>\n <salla-list-tile class=\"s-gifting-widget\">\n <div slot=\"title\">\n <h3>{!!this.widgetTitle ? this.widgetTitle : this.sectionTitle}</h3>\n </div>\n <div slot=\"subtitle\">\n <div>{!!this.widgetSubtitle ? this.widgetSubtitle : this.sectionSubtitle}</div>\n </div>\n <div slot=\"action\">\n <salla-button class=\"s-gifting-widget-action\" color=\"gray\" onClick={() => this.open()}>\n <slot name=\"widget-btn-content\">\n <div class=\"s-gifting-widget-action-content\">\n <span innerHTML={GiftSharing}></span> \n <span>{this.sectionBtnText}</span>\n </div>\n </slot>\n </salla-button>\n </div>\n </salla-list-tile>\n\n <salla-modal id='salla-gifting-modal' isLoading={true} class=\"s-gifting-modal\" width=\"sm\"\n ref={modal => this.modal = modal as HTMLSallaModalElement}>\n <div slot=\"loading\">\n <div class=\"s-gifting-skeleton\">\n <div class=\"s-gifting-modal-header\">\n <salla-skeleton type='circle' height='5rem' width='5rem'></salla-skeleton>\n <h2 class=\"s-gifting-modal-title\">\n <div class=\"s-gifting-modal-badge-wrapper\">\n <salla-skeleton height='15px' width='150px'></salla-skeleton>\n </div>\n </h2>\n </div>\n <div class=\"s-gifting-skeleton-content\">\n <salla-skeleton height='10px' width='150px'></salla-skeleton>\n <salla-skeleton height='230px'></salla-skeleton>\n <salla-skeleton height='10px' width='150px'></salla-skeleton>\n <salla-skeleton height='30px'></salla-skeleton>\n <salla-skeleton height='40px'></salla-skeleton>\n </div>\n </div>\n </div>\n <slot name=\"header\"/>\n {!!this.hasError ?\n <salla-placeholder alignment=\"center\">\n <span slot=\"title\">{this.errorMessage || salla.lang.get('common.errors.empty_results')}</span>\n <span slot=\"description\"> </span>\n </salla-placeholder>\n :\n [\n <div class=\"s-gifting-modal-header\">\n <span class=\"s-gifting-modal-icon\">\n <span innerHTML={GiftSharing}></span>\n </span>\n <h2 class=\"s-gifting-modal-title\">\n <div class=\"s-gifting-modal-badge-wrapper\">\n <div class=\"s-gifting-modal-badge\">\n <span><span>{this.currentStep}</span>/2</span>\n </div>\n <span>{this.giftDetails}</span>\n </div>\n </h2>\n </div>,\n <div class={\"s-gifting-steps-wrapper \" + this.parentClass} ref={el => this.stepsWrapper = el}>\n <div class=\"s-gifting-step-one gift-step-1\" ref={el => this.step1Elems = el}>\n <div class=\"s-gifting-modal-uploader-title anime-item\">\n {this.selectImageForYourGift}\n </div>\n <div class=\"s-gifting-modal-uploader anime-item\" ref={el => this.uploader = el as HTMLDivElement}>\n <span class=\"s-gifting-remove-preview\" onClick={() => this.removePreview()} innerHTML={Cancel}/>\n {this.selectImageOrUpload && <salla-file-upload\n instant-upload={true}\n name=\"image_url\"\n url={salla.url.api(salla.product.api.getUrl('giftImage'))}\n onUploaded={event => this.handleUploadImage(event.detail)}\n labelIdle={this.getFilepondPlaceholder()}\n onRemoved={() => this.handleRemoveImage()}/>}\n\n </div>\n <div class=\"anime-item\">\n {!this.uploadedImage && !!this.gift && !!this.gift.gift_images && this.gift.gift_images.length > 0 ?\n <salla-slider\n id=\"gifting-slider\"\n loop={false}\n //todo:: it looks bad attribute\n controls-outer={true}\n class=\"s-gifting-slider\"\n type=\"carousel\">\n <div slot=\"items\">\n {\n this.gift && this.gift.gift_images ?\n this.gift?.gift_images.map((item: GiftImage) =>\n <img class=\"s-gifting-image s-gifting-clickable\" src={item.url}\n onClick={() => this.setPreview(item)} alt={`${item.id}`}/>\n ) : ''\n }\n </div>\n </salla-slider>\n : \"\"}\n </div>\n <div class=\"anime-item\">\n\n <div class=\"s-form-group s-gifting-selectText\" ref={el => this.textSelect = el as HTMLDivElement}>\n <select id=\"gift-text-selection\" name=\"gift-text-selection\"\n class=\"s-form-control s-gifting-select\" onChange={e => this.toggleGiftText(e)}>\n <option data-id={null} selected>{this.selectGiftMessage}</option>\n {\n this.gift && this.gift.gift_texts ?\n this.gift?.gift_texts.map((txt: GiftText) =>\n <option data-id={txt.id} value={txt.text} key={txt.id}>{txt.text}</option>\n ) : ''\n }\n <option data-id=\"custom\">{this.giftCustomText}</option>\n </select>\n </div>\n\n <div\n class={this.showGiftText ? \"s-form-group s-gifting-textarea shown\" : \"s-form-group s-gifting-textarea hide\"}\n ref={(el) => this.customTextArea = el}>\n <label htmlFor=\"gift-custom-text\" class=\"s-form-label\">{this.giftCustomText}</label>\n <div class=\"mt-1\">\n <textarea onInput={(event) => this.handleTextAreaChange(event)} rows={4}\n ref={(el) => this.textArea = el} name=\"gift-custom-text\" id=\"gift-custom-text\"\n class=\"s-form-control\"/>\n </div>\n </div>\n </div>\n\n <div class=\"anime-item\">\n\n <salla-button color=\"primary\" width=\"wide\" onClick={() => this.goToStep2()}>\n <span>{this.nextStep}</span>\n </salla-button>\n </div>\n\n </div>\n <div class=\"s-gifting-step-two gift-step-2\" ref={el => this.step2Elems = el}>\n <div\n class={this.errors && this.errors['sender_name'] ? \"s-form-group s-form-has-error anime-item opacity-0\" : \"s-form-group anime-item opacity-0\"}>\n <label htmlFor=\"sender_name\" class=\"s-form-label\">{this.senderNameLabel}</label>\n <input type=\"text\"\n class=\"s-form-control\"\n name=\"sender_name\"\n id=\"sender_name\"\n value={this.senderName}\n onInput={(event) => this.handleSenderName(event)}\n placeholder=\"\"\n />\n {this.errors && this.errors['sender_name'] ?\n <span class=\"text-danger text-xs\">{this.errors['sender_name']}</span> : ''}\n </div>\n <div\n class={this.errors && this.errors['receiver.name'] ? \"s-form-group s-form-has-error anime-item opacity-0\" : \"s-form-group anime-item opacity-0\"}>\n <label htmlFor=\"receiver_name\" class=\"s-form-label\">{this.receiverNameFieldLabel}</label>\n <input type=\"text\"\n class=\"s-form-control\"\n name=\"receiver_name\"\n id=\"receiver_name\"\n value=\"\"\n onInput={(event) => this.handleReceiverName(event)}\n placeholder=\"\"\n />\n {this.errors && this.errors['receiver.name'] ?\n <span class=\"text-danger text-xs\">{this.errors['receiver.name']}</span> : ''}\n </div>\n <div\n class={this.errors && this.errors['receiver.mobile'] ? \"s-form-group s-form-has-error anime-item opacity-0\" : \"s-form-group anime-item opacity-0\"}>\n <label class=\"s-form-label\">{this.receiverMobileFieldLabel}</label>\n <salla-tel-input class=\"s-gifting-tel-input\" phone={this.receiverMobile}\n countryCode={this.receiverCountryCode}\n onPhoneEntered={(e) => this.handlePhoneInputChange(e)}/>\n {this.errors && this.errors['receiver.mobile'] ?\n <span class=\"text-danger text-xs\">{this.errors['receiver.mobile']}</span> : ''}\n </div>\n <div class=\"anime-item opacity-0\">\n <label class=\"s-gifting-schedule s-gifting-clickable\" htmlFor=\"schedule\">\n <input type=\"checkbox\" name='schedule' id='schedule' onChange={() => this.toggleCalendar()}\n class=\"s-checkbox\"/>\n <span class=\"s-form-label\"> {this.sendLater} </span>\n </label>\n\n </div>\n <div class={this.getCalendarClasses()} ref={(el) => this.calendarFormGroup = el}>\n <label class=\"s-form-label\">{this.selectSendDateAndTime}</label>\n <salla-datetime-picker value={this.deliveryDate} placeholder={this.selectSendDateAndTime}\n enable-time date-format=\"Y-m-d h:i K\"\n onPicked={(event) => this.handleDateTimePicker(event)}\n >\n </salla-datetime-picker>\n <span class=\"s-gifting-calendar-hint\">{this.canNotEditOrderAfterSelectDate}</span>\n </div>\n <div class=\"s-gifting-step-two-footer anime-item opacity-0\">\n <a href=\"#!\" innerHTML={LeftArrow} onClick={(e) => this.goToStep1(e)}/>\n\n <salla-button onClick={() => this.submitForm()} color=\"primary\" width='wide'>\n <span>{this.sendGift}</span>\n </salla-button>\n </div>\n </div>\n </div>]\n }\n <slot name=\"footer\"/>\n </salla-modal>\n </div>\n\n ]\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"salla-gifting.js","sourceRoot":"","sources":["../../../src/components/salla-gifting/salla-gifting.tsx"],"names":[],"mappings":"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","sourcesContent":["import anime from 'animejs';\nimport {GiftResponse, GiftImage, GiftText} from './gift-schema'\nimport {Component, h, Prop, State, Method} from '@stencil/core';\nimport Images from '../../assets/svg/images.svg';\nimport LeftArrow from '../../assets/svg/arrow-left.svg';\nimport Cancel from '../../assets/svg/cancel.svg';\nimport GiftSharing from '../../assets/svg/gift-sharing.svg';\nimport {GiftToCardDTO, Phone} from './intefaces';\n\n/**\n * @slot widget-btn-content - Used to customize widget button content.\n */\n@Component({\n tag: 'salla-gifting',\n styleUrl: 'salla-gifting.scss',\n})\nexport class SallaGifting {\n constructor() {\n salla.lang.onLoaded(() => {\n this.selectImageOrUpload = salla.lang.get('blocks.buy_as_gift.select_image_or_upload');\n this.selectImageForYourGift = salla.lang.get('blocks.buy_as_gift.select_image_for_your_gift');\n this.sectionTitle = salla.lang.get('blocks.buy_as_gift.gift_the_one_you_love');\n this.sectionSubtitle = salla.lang.get('blocks.buy_as_gift.gift_the_one_you_love_message')\n this.sectionBtnText = salla.lang.get('blocks.buy_as_gift.send_as_a_gift');\n this.giftDetails = salla.lang.get('blocks.buy_as_gift.gift_details');\n this.selectGiftMessage = salla.lang.get('blocks.buy_as_gift.select_gift_message');\n this.giftCustomText = salla.lang.get('blocks.buy_as_gift.gift_custom_text');\n this.textId = salla.lang.get('blocks.buy_as_gift.text_id');\n this.incorrectGiftText = salla.lang.get('blocks.buy_as_gift.incorrect_gift_text');\n this.nextStep = salla.lang.get('blocks.buy_as_gift.next_step');\n this.senderNameLabel = salla.lang.get('blocks.buy_as_gift.sender_name');\n this.receiverNameFieldLabel = salla.lang.get('blocks.buy_as_gift.receiver_name');\n this.receiverMobileFieldLabel = salla.lang.get('blocks.buy_as_gift.receiver_mobile');\n this.receiverEmailFieldLabel = salla.lang.get('blocks.buy_as_gift.receiver_email');\n this.emailPlaceholder = salla.lang.get('common.elements.email_placeholder');\n this.sendLater = salla.lang.get('blocks.buy_as_gift.send_later');\n this.selectSendDateAndTime = salla.lang.get('blocks.buy_as_gift.select_send_date_and_time');\n this.canNotEditOrderAfterSelectDate = salla.lang.get('blocks.buy_as_gift.can_not_edit_order_after_select_date');\n this.sendGift = salla.lang.get('blocks.buy_as_gift.send_gift');\n this.donationRequired = salla.lang.get('pages.products.donation_amount_required');\n this.currentLang = salla.lang.locale\n });\n\n salla.event.on(this.defaultEvent, () => {\n this.open()\n })\n }\n\n private modal: HTMLSallaModalElement;\n private uploader?: HTMLDivElement;\n private stepsWrapper?: HTMLDivElement;\n private textSelect?: HTMLDivElement;\n private customTextArea?: HTMLDivElement;\n private textArea?: HTMLTextAreaElement;\n private calendarFormGroup?: HTMLDivElement;\n private step1Elems?: HTMLDivElement;\n private step2Elems?: HTMLDivElement;\n private defaultEvent= \"gifting:open\"\n\n @State() sectionTitle: string;\n @State() sectionSubtitle: string;\n @State() sectionBtnText: string;\n @State() giftDetails: string;\n @State() selectImageForYourGift: string = salla.lang.get('blocks.buy_as_gift.select_image_or_upload');\n @State() selectImageOrUpload: string;\n @State() selectGiftMessage: string;\n @State() giftCustomText: string;\n @State() textId: string;\n @State() incorrectGiftText: string;\n @State() nextStep: string;\n @State() senderNameLabel: string;\n @State() receiverNameFieldLabel: string;\n @State() receiverMobileFieldLabel: string;\n @State() receiverEmailFieldLabel: string;\n @State() emailPlaceholder: string;\n @State() sendLater: string;\n @State() selectSendDateAndTime: string;\n @State() canNotEditOrderAfterSelectDate: string;\n @State() sendGift: string;\n @State() donationRequired: string;\n @State() currentStep: number = 1;\n @State() showCalendar: boolean = false;\n @State() showGiftText: boolean = false;\n @State() currentLang: string = '';\n @State() parentClass: string = \"is-current-step-1\";\n @State() errors: object = {};\n\n @State() gift: GiftResponse = undefined;\n @State() selectedGiftTextOption: string = undefined;\n\n @State() showTextArea: boolean = false;\n\n /// Gift Form Data\n @State() selectedImage: string = undefined;\n @State() uploadedImage: string = undefined;\n @State() selectedText: string = undefined;\n @State() senderName: string;\n @State() errorMessage: string;\n @State() hasError: boolean = false;\n @State() quantity: number;\n @State() deliveryDate: string;\n @State() timeZone?: string = null;\n // Receiver Data\n @State() receiverName: string;\n @State() receiverMobile: string;\n @State() receiverCountryCode: string;\n @State() receiverEmail: string;\n\n\n /**\n * The product id for which the gifting system is required.\n */\n @Prop() productId: number;\n\n /**\n * Widget title\n */\n @Prop() widgetTitle: string; \n \n /**\n * Widget subtitle\n */\n @Prop() widgetSubtitle: string;\n\n componentDidLoad() {\n salla.event.product.onPriceUpdated(() => {\n const quantityInput = document.querySelector('.s-quantity-input-input') as HTMLElement\n // @ts-ignore\n this.quantity = quantityInput?.value\n });\n }\n\n /**\n * Show / Open the gifting modal window\n */\n @Method()\n async open() {\n if (salla.config.isGuest()) {\n salla.api.auth.setAfterLoginEvent(this.defaultEvent)\n salla.event.dispatch('login::open');\n return;\n }\n await this.modal.open()\n return await salla.api.withoutNotifier(() => salla.product.getGiftDetails(this.productId))\n .then((response) => {\n this.gift = response.data;\n this.senderName = this.gift.sender_name;\n })\n .catch(e => {\n this.hasError = true;\n this.errorMessage = e.response?.data?.error?.message || e.response?.data;\n })\n .finally(() => this.modal.stopLoading());\n }\n\n /**\n *\n * Hide / close the gifting modal window\n */\n @Method()\n async close() {\n return this.modal.close();\n }\n\n\n /**\n * Update the modal height based on the changes on the inner elements height for a specific step OR just a pass a new fixed height\n */\n private async setWrapperHeight(asStep = 1, delay = 250, additionSpace = 0, newHeight = 0) {\n let currentStep: HTMLElement = document.querySelector(`.gift-step-${asStep}`) as HTMLElement;\n setTimeout(() => {\n let currentStepHeight: number = currentStep.offsetHeight;\n if (newHeight) {\n this.stepsWrapper.style.height = `${newHeight}px`;\n } else {\n this.stepsWrapper.style.height = currentStepHeight + additionSpace + 'px';\n }\n }, delay)\n }\n\n private toggleCalendar() {\n this.showCalendar = !this.showCalendar;\n this.setWrapperHeight(2, 150, 0);\n }\n\n private toggleGiftText(event) {\n this.textSelect?.classList.remove('s-form-has-error');\n let dataID = event.target.children[event.target.selectedIndex].getAttribute('data-id')\n let customID = dataID == \"custom\";\n this.showGiftText = customID;\n\n if (dataID) {\n this.selectedGiftTextOption = dataID\n customID ? this.selectedText = undefined : this.selectedText = event.target.value\n this.setWrapperHeight(1, 150, 5);\n } else {\n // empty textarea value\n this.textArea.value = '';\n this.selectedText = undefined\n this.selectedGiftTextOption = undefined\n this.setWrapperHeight(1, 150, -15);\n }\n\n }\n\n /**\n *\n * Go to the step 2\n */\n @Method()\n async goToStep2() {\n if (!this.selectedGiftTextOption) {\n this.textSelect.classList.add('s-form-has-error');\n this.customTextArea.classList.remove('s-form-has-error');\n return;\n } else if (this.selectedGiftTextOption == 'custom' && !this.selectedText) {\n this.textSelect.classList.remove('s-form-has-error');\n this.customTextArea.classList.add('s-form-has-error');\n return;\n } else {\n this.textSelect.classList.remove('s-form-has-error');\n this.customTextArea.classList.remove('s-form-has-error');\n }\n this.setWrapperHeight(2, 600, 0);\n\n let stepNextAnime = new (anime as any).timeline();\n stepNextAnime.add({\n targets: this.step1Elems.querySelectorAll('.anime-item'),\n opacity: [1, 0],\n translateX: [0, 50],\n delay: anime.stagger(70),\n // easing: 'easeOutExpo',\n duration: 1200,\n })\n .add({\n targets: '.gift-step-2',\n translateX: ['-110%', 0],\n opacity: [0, 1],\n }, '-=1800')\n .add({\n targets: this.step2Elems.querySelectorAll('.anime-item'),\n opacity: [0, 1],\n translateX: [-50, 0],\n delay: anime.stagger(70),\n duration: 1200,\n complete: () => {\n this.step2Elems.querySelectorAll('.anime-item').forEach(item => {\n item.classList.remove('opacity-0')\n item.removeAttribute('style');\n })\n }\n }, '-=1200')\n this.currentStep = 2;\n this.parentClass = `is-current-step-${this.currentStep}`\n }\n\n /**\n *\n * Go to the step 1\n */\n goToStep1(e) {\n e.preventDefault();\n let stepBackAnime = new (anime as any).timeline({\n autoplay: false,\n });\n\n stepBackAnime.add({\n targets: this.step2Elems.querySelectorAll('.anime-item'),\n opacity: [1, 0],\n translateX: [0, -50],\n delay: anime.stagger(70),\n // easing: 'easeOutExpo',\n duration: 1200,\n })\n .add({\n targets: '.gift-step-1',\n translateX: ['110%', 0],\n opacity: [0, 1],\n }, '-=1800')\n .add({\n targets: this.step1Elems.querySelectorAll('.anime-item'),\n opacity: [0, 1],\n translateX: [50, 0],\n delay: anime.stagger(70),\n duration: 1200,\n complete: () => {\n this.step1Elems.querySelectorAll('.anime-item').forEach(item => {\n item.classList.remove('opacity-0')\n item.removeAttribute('style');\n })\n }\n }, '-=1200')\n\n stepBackAnime.play();\n this.setWrapperHeight(1, 600, 0);\n this.currentStep = 1;\n this.parentClass = `is-current-step-${this.currentStep}`\n }\n\n private getFilepondPlaceholder() {\n return `<div class=\"s-gifting-filepond-placeholder\"><span class=\"s-gifting-filepond-placeholder-icon\">${Images}</span><p class=\"s-gifting-filepond-placeholder-text\">${this.selectImageOrUpload ? this.selectImageOrUpload : ''}</p></div>`\n }\n\n setPreview(image: GiftImage) {\n this.uploader?.classList.add('has-bg')\n var bg = document.querySelector('.filepond-bg') ? document.querySelector('.filepond-bg') as HTMLElement : document.createElement('div') as HTMLElement;\n bg.classList.add('filepond-bg')\n bg.classList.remove('s-hidden')\n bg.style.backgroundImage = \"url('\" + image.url + \"')\"\n this.uploader?.querySelector('.filepond--root')?.appendChild(bg);\n this.uploadedImage = image.url;\n if (!!this.gift && this.gift.gift_images.length) {\n this.setWrapperHeight(1, 150, 0);\n }\n }\n\n removePreview() {\n this.uploader.classList.remove('has-bg');\n let bg = document.querySelector('.filepond-bg') as HTMLElement;\n bg.removeAttribute('style');\n bg.classList.add('s-hidden');\n this.handleRemoveImage()\n }\n\n private handleTextAreaChange(event) {\n this.selectedText = event.target.value;\n this.customTextArea.classList.remove('s-form-has-error');\n }\n\n private handleSenderName(event) {\n this.senderName = event.target.value;\n }\n\n private handleReceiverName(event) {\n this.receiverName = event.target.value;\n }\n\n private handleUploadImage(img) {\n this.uploadedImage = img;\n if (!!this.gift && this.gift.gift_images.length) {\n this.setWrapperHeight(1, 150, 0);\n }\n }\n\n private handleRemoveImage() {\n this.uploadedImage = '';\n if (!!this.gift && this.gift.gift_images.length) {\n this.setWrapperHeight(1, 150, 0);\n }\n }\n\n // private handleReceiverEmail(event) {\n // this.receiverEmail = event.target.value;\n // }\n\n private handlePhoneInputChange(event) {\n let phone: Phone = event.detail;\n this.receiverMobile = phone.number;\n this.receiverCountryCode = phone.country_code;\n }\n\n private handleDateTimePicker(event) {\n this.deliveryDate = event.detail;\n }\n\n private getCalendarClasses() {\n return {\n \"s-form-group\": true,\n \"anime-item\": true,\n \"s-gifting-calendar\": true,\n \"shown\": this.showCalendar,\n \"hide\": !this.showCalendar,\n \"s-form-has-error\": !!this.errors && this.errors['deliver_at']\n }\n }\n\n private async submitForm() {\n // @ts-ignore\n const donatingAmount = document.querySelector('#donating-amount')?.value\n this.calendarFormGroup.classList.remove('s-form-has-error');\n if (!!this.errors) {\n this.errors = {}\n this.setWrapperHeight(2, 150, 0);\n }\n if (this.showCalendar && !this.deliveryDate) {\n this.calendarFormGroup.classList.add('s-form-has-error');\n return;\n }\n let payload: GiftToCardDTO = {\n text: this.selectedText,\n sender_name: this.senderName,\n quantity: this.quantity,\n deliver_at: this.showCalendar ? this.deliveryDate : null,\n image_url: this.uploadedImage ?? this.selectedImage,\n donation_amount: donatingAmount ? donatingAmount : null,\n receiver: {\n name: this.receiverName,\n country_code: this.receiverCountryCode,\n mobile: this.receiverMobile\n }\n }\n return await salla.product.addGiftToCart(this.productId, payload, true)\n .then(() => this.modal.close())\n .catch((e) => {\n if (e.response.status == 422) {\n this.errors = e.response.data.error.fields\n } else {\n console.log(e);\n }\n this.setWrapperHeight(2, 150, 0);\n })\n }\n\n render() {\n return [\n <div>\n <salla-list-tile class=\"s-gifting-widget\">\n <div slot=\"title\">\n <h3>{!!this.widgetTitle ? this.widgetTitle : this.sectionTitle}</h3>\n </div>\n <div slot=\"subtitle\">\n <div>{!!this.widgetSubtitle ? this.widgetSubtitle : this.sectionSubtitle}</div>\n </div>\n <div slot=\"action\">\n <salla-button class=\"s-gifting-widget-action\" color=\"gray\" onClick={() => this.open()}>\n <slot name=\"widget-btn-content\">\n <div class=\"s-gifting-widget-action-content\">\n <span innerHTML={GiftSharing}></span> \n <span>{this.sectionBtnText}</span>\n </div>\n </slot>\n </salla-button>\n </div>\n </salla-list-tile>\n\n <salla-modal id='salla-gifting-modal' isLoading={true} class=\"s-gifting-modal\" width=\"sm\"\n ref={modal => this.modal = modal as HTMLSallaModalElement}>\n <div slot=\"loading\">\n <div class=\"s-gifting-skeleton\">\n <div class=\"s-gifting-modal-header\">\n <salla-skeleton type='circle' height='5rem' width='5rem'></salla-skeleton>\n <h2 class=\"s-gifting-modal-title\">\n <div class=\"s-gifting-modal-badge-wrapper\">\n <salla-skeleton height='15px' width='150px'></salla-skeleton>\n </div>\n </h2>\n </div>\n <div class=\"s-gifting-skeleton-content\">\n <salla-skeleton height='10px' width='150px'></salla-skeleton>\n <salla-skeleton height='230px'></salla-skeleton>\n <salla-skeleton height='10px' width='150px'></salla-skeleton>\n <salla-skeleton height='30px'></salla-skeleton>\n <salla-skeleton height='40px'></salla-skeleton>\n </div>\n </div>\n </div>\n <slot name=\"header\"/>\n {!!this.hasError ?\n <salla-placeholder alignment=\"center\">\n <span slot=\"title\">{this.errorMessage || salla.lang.get('common.errors.empty_results')}</span>\n <span slot=\"description\"> </span>\n </salla-placeholder>\n :\n [\n <div class=\"s-gifting-modal-header\">\n <span class=\"s-gifting-modal-icon\">\n <span innerHTML={GiftSharing}></span>\n </span>\n <h2 class=\"s-gifting-modal-title\">\n <div class=\"s-gifting-modal-badge-wrapper\">\n <div class=\"s-gifting-modal-badge\">\n <span><span>{this.currentStep}</span>/2</span>\n </div>\n <span>{this.giftDetails}</span>\n </div>\n </h2>\n </div>,\n <div class={\"s-gifting-steps-wrapper \" + this.parentClass} ref={el => this.stepsWrapper = el}>\n <div class=\"s-gifting-step-one gift-step-1\" ref={el => this.step1Elems = el}>\n <div class=\"s-gifting-modal-uploader-title anime-item\">\n {this.selectImageForYourGift}\n </div>\n <div class=\"s-gifting-modal-uploader anime-item\" ref={el => this.uploader = el as HTMLDivElement}>\n <span class=\"s-gifting-remove-preview\" onClick={() => this.removePreview()} innerHTML={Cancel}/>\n {this.selectImageOrUpload && <salla-file-upload\n instant-upload={true}\n name=\"image_url\"\n url={salla.url.api(salla.product.api.getUrl('giftImage'))}\n onUploaded={event => this.handleUploadImage(event.detail)}\n labelIdle={this.getFilepondPlaceholder()}\n onRemoved={() => this.handleRemoveImage()}/>}\n\n </div>\n <div class=\"anime-item\">\n {!this.uploadedImage && !!this.gift && !!this.gift.gift_images && this.gift.gift_images.length > 0 ?\n <salla-slider\n id=\"gifting-slider\"\n loop={false}\n //todo:: it looks bad attribute\n controls-outer={true}\n class=\"s-gifting-slider\"\n type=\"carousel\">\n <div slot=\"items\">\n {\n this.gift && this.gift.gift_images ?\n this.gift?.gift_images.map((item: GiftImage) =>\n <img class=\"s-gifting-image s-gifting-clickable\" src={item.url}\n onClick={() => this.setPreview(item)} alt={`${item.id}`}/>\n ) : ''\n }\n </div>\n </salla-slider>\n : \"\"}\n </div>\n <div class=\"anime-item\">\n\n <div class=\"s-form-group s-gifting-selectText\" ref={el => this.textSelect = el as HTMLDivElement}>\n <select id=\"gift-text-selection\" name=\"gift-text-selection\"\n class=\"s-form-control s-gifting-select\" onChange={e => this.toggleGiftText(e)}>\n <option data-id={null} selected>{this.selectGiftMessage}</option>\n {\n this.gift && this.gift.gift_texts ?\n this.gift?.gift_texts.map((txt: GiftText) =>\n <option data-id={txt.id} value={txt.text} key={txt.id}>{txt.text}</option>\n ) : ''\n }\n <option data-id=\"custom\">{this.giftCustomText}</option>\n </select>\n </div>\n\n <div\n class={this.showGiftText ? \"s-form-group s-gifting-textarea shown\" : \"s-form-group s-gifting-textarea hide\"}\n ref={(el) => this.customTextArea = el}>\n <label htmlFor=\"gift-custom-text\" class=\"s-form-label\">{this.giftCustomText}</label>\n <div class=\"mt-1\">\n <textarea onInput={(event) => this.handleTextAreaChange(event)} rows={4}\n ref={(el) => this.textArea = el} name=\"gift-custom-text\" id=\"gift-custom-text\"\n class=\"s-form-control\"/>\n </div>\n </div>\n </div>\n\n <div class=\"anime-item\">\n\n <salla-button color=\"primary\" width=\"wide\" onClick={() => this.goToStep2()}>\n <span>{this.nextStep}</span>\n </salla-button>\n </div>\n\n </div>\n <div class=\"s-gifting-step-two gift-step-2\" ref={el => this.step2Elems = el}>\n <div\n class={this.errors && this.errors['sender_name'] ? \"s-form-group s-form-has-error anime-item opacity-0\" : \"s-form-group anime-item opacity-0\"}>\n <label htmlFor=\"sender_name\" class=\"s-form-label\">{this.senderNameLabel}</label>\n <input type=\"text\"\n class=\"s-form-control\"\n name=\"sender_name\"\n id=\"sender_name\"\n value={this.senderName}\n onInput={(event) => this.handleSenderName(event)}\n placeholder=\"\"\n />\n {this.errors && this.errors['sender_name'] ?\n <span class=\"text-danger text-xs\">{this.errors['sender_name']}</span> : ''}\n </div>\n <div\n class={this.errors && this.errors['receiver.name'] ? \"s-form-group s-form-has-error anime-item opacity-0\" : \"s-form-group anime-item opacity-0\"}>\n <label htmlFor=\"receiver_name\" class=\"s-form-label\">{this.receiverNameFieldLabel}</label>\n <input type=\"text\"\n class=\"s-form-control\"\n name=\"receiver_name\"\n id=\"receiver_name\"\n value=\"\"\n onInput={(event) => this.handleReceiverName(event)}\n placeholder=\"\"\n />\n {this.errors && this.errors['receiver.name'] ?\n <span class=\"text-danger text-xs\">{this.errors['receiver.name']}</span> : ''}\n </div>\n <div\n class={this.errors && this.errors['receiver.mobile'] ? \"s-form-group s-form-has-error anime-item opacity-0\" : \"s-form-group anime-item opacity-0\"}>\n <label class=\"s-form-label\">{this.receiverMobileFieldLabel}</label>\n <salla-tel-input class=\"s-gifting-tel-input\" phone={this.receiverMobile}\n countryCode={this.receiverCountryCode}\n onPhoneEntered={(e) => this.handlePhoneInputChange(e)}/>\n {this.errors && this.errors['receiver.mobile'] ?\n <span class=\"text-danger text-xs\">{this.errors['receiver.mobile']}</span> : ''}\n </div>\n <div class=\"anime-item opacity-0\">\n <label class=\"s-gifting-schedule s-gifting-clickable\" htmlFor=\"schedule\">\n <input type=\"checkbox\" name='schedule' id='schedule' onChange={() => this.toggleCalendar()}\n class=\"s-checkbox\"/>\n <span class=\"s-form-label\"> {this.sendLater} </span>\n </label>\n\n </div>\n <div class={this.getCalendarClasses()} ref={(el) => this.calendarFormGroup = el}>\n <label class=\"s-form-label\">{this.selectSendDateAndTime}</label>\n <salla-datetime-picker value={this.deliveryDate} placeholder={this.selectSendDateAndTime}\n enable-time date-format=\"Y-m-d h:i K\"\n onPicked={(event) => this.handleDateTimePicker(event)}\n >\n </salla-datetime-picker>\n <span class=\"s-gifting-calendar-hint\">{this.canNotEditOrderAfterSelectDate}</span>\n </div>\n <div class=\"s-gifting-step-two-footer anime-item opacity-0\">\n <a href=\"#!\" innerHTML={LeftArrow} onClick={(e) => this.goToStep1(e)}/>\n\n <salla-button onClick={() => this.submitForm()} color=\"primary\" width='wide'>\n <span>{this.sendGift}</span>\n </salla-button>\n </div>\n </div>\n </div>]\n }\n <slot name=\"footer\"/>\n </salla-modal>\n </div>\n\n ]\n }\n\n}\n"]}
|
|
@@ -15,7 +15,7 @@ export class SallaInstallment {
|
|
|
15
15
|
this.mispayActive = undefined;
|
|
16
16
|
this.installment_sheria_text = (replacement) => salla.lang.get("pages.products.installments", replacement);
|
|
17
17
|
salla.lang.onLoaded(() => {
|
|
18
|
-
this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 });
|
|
18
|
+
this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 });
|
|
19
19
|
const installment = salla.config.get('store.settings.installments');
|
|
20
20
|
if (installment) {
|
|
21
21
|
this.tamaraIsActive = installment.includes('tamara_installment');
|
|
@@ -41,7 +41,7 @@ export class SallaInstallment {
|
|
|
41
41
|
: '', this.spotiiIsActive ?
|
|
42
42
|
h("div", { class: "spotii-wrapper" }, h("div", { class: "spotii-promo" }))
|
|
43
43
|
: '', this.mispayActive ?
|
|
44
|
-
h("div", { class: "s-installment-mispay-wrapper" }, h("div", { class: "s-installment-mispay-content" }, h("img", { src: salla.url.cdn('images/payment/png/mispay.png'), alt: "mispay" }), h("span", { class: "s-installment-mispay-content-text" }, this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 }))))
|
|
44
|
+
h("div", { class: "s-installment-mispay-wrapper" }, h("div", { class: "s-installment-mispay-content" }, h("img", { src: salla.url.cdn('images/payment/png/mispay.png'), alt: "mispay" }), h("span", { class: "s-installment-mispay-content-text" }, this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 }))))
|
|
45
45
|
: ''));
|
|
46
46
|
}
|
|
47
47
|
renderInstallments(isUpdating = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salla-installment.js","sourceRoot":"","sources":["../../../src/components/salla-installment/salla-installment.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\n\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n constructor() {\n salla.lang.onLoaded(() => {\n this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 })\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.includes('tamara_installment');\n this.tabbyIsActive = installment.includes('tabby_installment');\n this.spotiiIsActive = installment.includes('spotii_pay');\n this.mispayActive = installment.includes('mispay_installment');\n }\n this.renderInstallments();\n });\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n\n @State() tamaraIsActive: boolean;\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() mispayActive: boolean;\n\n @State() installment_sheria_text: (replacement: object) => string = (replacement) => salla.lang.get(\"pages.products.installments\", replacement)\n\n render() {\n return (\n <Host>\n {this.tamaraIsActive ?\n <div class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\">\n </div>\n : ''}\n\n {this.tabbyIsActive ?\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n : ''}\n\n {this.spotiiIsActive ?\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n : ''}\n {this.mispayActive ?\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\">{this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money(parseFloat(this.price) / 3), installments: 3 })}</span>\n </div>\n </div>\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n // Tamara\n if (this.tamaraIsActive) {\n if (isUpdating) {\n var oldTamaraScript = document.querySelector('script[src=\"https://cdn.tamara.co/widget/product-widget.min.js\"]');\n if (oldTamaraScript) {\n oldTamaraScript.remove();\n }\n }\n\n var tamaraScript = document.createElement('script');\n tamaraScript.setAttribute('src', 'https://cdn.tamara.co/widget/product-widget.min.js');\n document.head.appendChild(tamaraScript);\n tamaraScript.onload = () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n };\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector('script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]');\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n }\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector('script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]');\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2));\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: \"${textOne} ${number} ${textTwo} \" + amount + \"${logo} ${info}\",\n //todo:: translate these\n textOne: isRTL ? \"جزء الدفع على\" : \"Split it into\",\n textTwo: isRTL ? \"أقساط متساوية بدون تكاليف اضافية بقيمة\" : \"payments of\",\n textThree: \"مع\",\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n }\n\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]') : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"salla-installment.js","sourceRoot":"","sources":["../../../src/components/salla-installment/salla-installment.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'salla-installment',\n styleUrl: 'salla-installment.scss',\n})\n\nexport class SallaInstallment {\n private tabbyBorderRemoved: boolean = false;\n private tabbyRemoveBorderTries: number = 0;\n @Element() host: HTMLElement;\n constructor() {\n salla.lang.onLoaded(() => {\n this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 })\n const installment = salla.config.get('store.settings.installments');\n if (installment) {\n this.tamaraIsActive = installment.includes('tamara_installment');\n this.tabbyIsActive = installment.includes('tabby_installment');\n this.spotiiIsActive = installment.includes('spotii_pay');\n this.mispayActive = installment.includes('mispay_installment');\n }\n this.renderInstallments();\n });\n\n salla.event.on('product::price.updated', ({ data }) => {\n if (!data.price || data.price == this.price) {\n return;\n }\n this.price = data.price;\n this.renderInstallments(true);\n });\n }\n\n /**\n * Current product price\n */\n @Prop() price: string;\n /**\n * Language code\n */\n @Prop() language: string = salla.config.get('user.language_code');\n /**\n * Currency code\n */\n @Prop() currency: string = salla.config.get('user.currency_code');\n\n @State() tamaraIsActive: boolean;\n @State() tabbyIsActive: boolean;\n @State() spotiiIsActive: boolean;\n @State() mispayActive: boolean;\n\n @State() installment_sheria_text: (replacement: object) => string = (replacement) => salla.lang.get(\"pages.products.installments\", replacement)\n\n render() {\n return (\n <Host>\n {this.tamaraIsActive ?\n <div class=\"tamara-product-widget\"\n data-price={this.price}\n data-currency={this.currency}\n data-lang={this.language}\n data-payment-type=\"installment\">\n </div>\n : ''}\n\n {this.tabbyIsActive ?\n <div id=\"tabbyPromoWrapper\">\n <div id=\"tabbyPromo\"></div>\n </div>\n : ''}\n\n {this.spotiiIsActive ?\n <div class=\"spotii-wrapper\">\n {/*No need for the price, the price already in the page, and also tammara & tabby doesn't have price */}\n <div class=\"spotii-promo\"></div>\n </div>\n : ''}\n {this.mispayActive ?\n <div class=\"s-installment-mispay-wrapper\">\n <div class=\"s-installment-mispay-content\">\n <img src={salla.url.cdn('images/payment/png/mispay.png')} alt=\"mispay\" />\n <span class=\"s-installment-mispay-content-text\">{this.installment_sheria_text({ payment: salla.money(parseFloat(this.price)), amount: salla.money((parseFloat(this.price) / 3).toFixed(2)), installments: 3 })}</span>\n </div>\n </div>\n : ''}\n </Host>\n );\n }\n\n renderInstallments(isUpdating: boolean = false) {\n // Tamara\n if (this.tamaraIsActive) {\n if (isUpdating) {\n var oldTamaraScript = document.querySelector('script[src=\"https://cdn.tamara.co/widget/product-widget.min.js\"]');\n if (oldTamaraScript) {\n oldTamaraScript.remove();\n }\n }\n\n var tamaraScript = document.createElement('script');\n tamaraScript.setAttribute('src', 'https://cdn.tamara.co/widget/product-widget.min.js');\n document.head.appendChild(tamaraScript);\n tamaraScript.onload = () => {\n window.TamaraProductWidget.init({ lang: this.language });\n setTimeout(() => {\n window.TamaraProductWidget.render();\n }, 300);\n };\n }\n\n // tabby\n if (this.tabbyIsActive) {\n if (isUpdating) {\n\n // remove #tabbyPromoWrapper and re append it\n var oldTabbyWrapper = this.host.querySelector('#tabbyPromoWrapper');\n if (oldTabbyWrapper) {\n oldTabbyWrapper.remove();\n }\n\n var tabbyPromoWrapper = document.createElement('div');\n tabbyPromoWrapper.setAttribute('id', 'tabbyPromoWrapper');\n var tabbyPromo = document.createElement('div');\n tabbyPromo.setAttribute('id', 'tabbyPromo');\n tabbyPromoWrapper.appendChild(tabbyPromo);\n this.host.appendChild(tabbyPromoWrapper);\n\n var oldTabbyScript = document.querySelector('script[src=\"https://checkout.tabby.ai/tabby-promo.js\"]');\n if (oldTabbyScript) {\n oldTabbyScript.remove();\n }\n }\n\n var tabbyScript = document.createElement('script');\n tabbyScript.setAttribute('src', 'https://checkout.tabby.ai/tabby-promo.js');\n document.head.appendChild(tabbyScript);\n tabbyScript.onload = () => {\n const TabbyPromo = window.TabbyPromo;\n new TabbyPromo({\n selector: '#tabbyPromo',\n currency: this.currency,\n price: this.price,\n lang: this.language,\n });\n document.querySelectorAll('.tabby-promo-snippet__logo').forEach(function (element) {\n element.setAttribute('aria-label', 'Tabby Logo');\n });\n }\n // this is a workaround to remove the default border and add margin\n this.removeTabbyBorder();\n }\n\n // Spotii\n if (this.spotiiIsActive) {\n if (isUpdating) {\n\n var oldSpotiiWrapper = this.host.querySelector('.spotii-wrapper');\n if (oldSpotiiWrapper) {\n oldSpotiiWrapper.remove();\n }\n\n var spotiiPromoWrapper = document.createElement('div');\n spotiiPromoWrapper.classList.add('spotii-wrapper');\n var spotiiPromo = document.createElement('div');\n spotiiPromo.classList.add('spotii-promo');\n spotiiPromoWrapper.appendChild(spotiiPromo);\n this.host.appendChild(spotiiPromoWrapper);\n var oldSpotiiScript = document.querySelector('script[src=\"' + salla.url.cdn('js/price-widget-ar-salla.js') + '\"]');\n if (oldSpotiiScript) {\n oldSpotiiScript.remove();\n }\n }\n\n let amount = salla.money((Number(this.price) / 3).toFixed(2));\n let isRTL = salla.config.get('theme.is_rtl', true);\n window.spotiiConfig = {\n targetXPath: ['.spotii-wrapper'],\n renderToPath: ['.spotii-promo'],\n numberOfPayment: 3,\n currency: this.currency,\n templateLine: \"${textOne} ${number} ${textTwo} \" + amount + \"${logo} ${info}\",\n //todo:: translate these\n textOne: isRTL ? \"جزء الدفع على\" : \"Split it into\",\n textTwo: isRTL ? \"أقساط متساوية بدون تكاليف اضافية بقيمة\" : \"payments of\",\n textThree: \"مع\",\n price: this.price,\n // forcedShow: false,\n // merchantID: null,\n };\n\n var spotiiScript = document.createElement('script');\n spotiiScript.setAttribute('src', salla.url.cdn('js/price-widget-ar-salla.js'));\n document.head.appendChild(spotiiScript);\n // spotiiScript.onload = () => {\n // // setTimeout()\n // }\n }\n }\n\n\n /**\n * this is workaround to remove the default border and add margin\n * we will try to remove tabby border 5 times for 7.5 seconds\n */\n removeTabbyBorder() {\n if (this.tabbyBorderRemoved || this.tabbyRemoveBorderTries > 5) {\n return;\n }\n this.tabbyRemoveBorderTries++;\n setTimeout(() => {\n let promo: any = document.querySelector('#tabbyPromo>div>div');\n promo = promo ? promo.shadowRoot.querySelector('div[class^=\"styles__tabby-promo-snippet--\"]') : null;\n if (promo) {\n promo.style = 'border: none; margin: 15px 0!important;';\n this.tabbyBorderRemoved = true;\n } else {\n this.removeTabbyBorder();\n }\n }, this.tabbyRemoveBorderTries * 500)\n }\n}\n"]}
|
|
@@ -41,6 +41,7 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
41
41
|
constructor() {
|
|
42
42
|
super();
|
|
43
43
|
this.__registerHost();
|
|
44
|
+
this.defaultEvent = "gifting:open";
|
|
44
45
|
this.sectionTitle = undefined;
|
|
45
46
|
this.sectionSubtitle = undefined;
|
|
46
47
|
this.sectionBtnText = undefined;
|
|
@@ -111,6 +112,9 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
111
112
|
this.donationRequired = salla.lang.get('pages.products.donation_amount_required');
|
|
112
113
|
this.currentLang = salla.lang.locale;
|
|
113
114
|
});
|
|
115
|
+
salla.event.on(this.defaultEvent, () => {
|
|
116
|
+
this.open();
|
|
117
|
+
});
|
|
114
118
|
}
|
|
115
119
|
componentDidLoad() {
|
|
116
120
|
salla.event.product.onPriceUpdated(() => {
|
|
@@ -124,6 +128,7 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
124
128
|
*/
|
|
125
129
|
async open() {
|
|
126
130
|
if (salla.config.isGuest()) {
|
|
131
|
+
salla.api.auth.setAfterLoginEvent(this.defaultEvent);
|
|
127
132
|
salla.event.dispatch('login::open');
|
|
128
133
|
return;
|
|
129
134
|
}
|