@salla.sa/twilight-components 2.12.58 → 2.12.60
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_41.cjs.entry.js +3 -3
- package/dist/cjs/salla-add-product-button_41.cjs.entry.js.map +1 -1
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +2 -2
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js.map +1 -1
- package/dist/components/salla-quick-buy2.js +3 -3
- package/dist/components/salla-quick-buy2.js.map +1 -1
- package/dist/esm/salla-add-product-button_41.entry.js +3 -3
- package/dist/esm/salla-add-product-button_41.entry.js.map +1 -1
- package/dist/esm-es5/salla-add-product-button_41.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_41.entry.js.map +1 -1
- package/dist/twilight/{p-a53430c0.system.entry.js → p-9e2778f3.system.entry.js} +2 -2
- package/dist/twilight/{p-a53430c0.system.entry.js.map → p-9e2778f3.system.entry.js.map} +1 -1
- package/dist/twilight/p-9f2e0944.system.js +1 -1
- package/dist/twilight/{p-d8efa205.entry.js → p-f30381e7.entry.js} +2 -2
- package/dist/twilight/{p-d8efa205.entry.js.map → p-f30381e7.entry.js.map} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/package.json +6 -6
|
@@ -69,11 +69,11 @@ export class SallaQuickBuy {
|
|
|
69
69
|
if (this.applePayOnly && !this.productId) { // the cart is not passes
|
|
70
70
|
if (!this.cartId) {
|
|
71
71
|
salla.logger.warn('🍏 Pay: trying to create applePay transaction without cartId/ProductId !');
|
|
72
|
-
return response;
|
|
72
|
+
return Promise.resolve(response);
|
|
73
73
|
}
|
|
74
74
|
window.SallaApplePay.id = this.cartId;
|
|
75
75
|
salla.log('🍏 Pay: create checkout success: with id #' + this.cartId);
|
|
76
|
-
return response;
|
|
76
|
+
return Promise.resolve(response);
|
|
77
77
|
}
|
|
78
78
|
return salla.api.request('checkout/quick-purchase/' + this.productId, typeof data == 'object' ? data : undefined, 'post', {}).then(response => {
|
|
79
79
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salla-quick-buy.js","sourceRoot":"","sources":["../../../src/components/salla-quick-buy/salla-quick-buy.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Element } from '@stencil/core';\nimport FullWallet from '../../assets/svg/full-wallet.svg';\nimport \"@salla.sa/applepay/src/index\";\n\n@Component({\n tag: 'salla-quick-buy',\n styleUrl: 'salla-quick-buy.scss',\n})\nexport class SallaQuickBuy {\n constructor() {\n salla.lang.onLoaded(() => {\n this.quickBuy = salla.lang.get('pages.products.buy_now');\n });\n\n if (salla.config.isGuest()) {\n let eventName = \"salla-quick-buy::user.logged-in\"\n salla.api.auth.setAfterLoginEvent(eventName)\n salla.event.on(eventName, () => this.settlePayment())\n }\n }\n\n @Element() host: HTMLElement;\n\n /**\n * Button type.\n *\n * @type {string}\n * @default buy\n **/\n @Prop({ mutable: true }) type: 'plain' | 'buy' | 'donate' | 'book' | 'pay' | 'order' = 'buy';\n\n /**\n * Product ID.\n *\n * @type {string}\n **/\n @Prop({ mutable: true }) productId: string;\n\n /**\n * Cart ID, when you need to applePay for existed cart\n *\n * @type {string}\n **/\n @Prop({ mutable: true }) cartId: string;\n\n /**\n * Product amount in base currency (SAR).\n *\n * @type {number}\n * @default 0\n **/\n @Prop({ reflect: true, mutable: true }) amount: number;\n\n /**\n * base currency\n *\n * @type {string}\n * @default SAR\n */\n @Prop({ mutable: true }) currency: string;\n\n /**\n * Product options, if is empty will get the data from the document.querySelector('salla-product-options[product-id=\"X\"]')\n *\n * @type {object}\n * @default {}\n */\n @Prop() options = {};\n\n /**\n * To be passed to purchaseNow request\n * @type {boolean}\n **/\n @Prop({mutable: true}) isRequireShipping: boolean;\n \n /**\n * Show Apple Pay only\n * @type {boolean}\n **/\n @Prop({mutable: true}) applePayOnly: boolean;\n\n @State() isApplePayActive: boolean;\n\n @State() quickBuy: string = salla.lang.get('pages.products.buy_now');\n\n private async quickBuyHandler() {\n if (salla.config.isGuest()) {\n // todo (low) :: find a way to re-fire the method after success\n return salla.auth.event.dispatch('login::open', { withoutReload: true });\n }\n await this.settlePayment()\n }\n\n private async settlePayment() {\n\n let optionsElement = document.querySelector(`salla-product-options[product-id=\"${this.productId}\"]`) as HTMLSallaProductOptionsElement;\n //make sure all the required options are selected\n if (optionsElement && !await optionsElement.reportValidity()) {\n return salla.error(salla.lang.get('common.messages.required_fields'));\n }\n\n //use this way to get quantity too\n let data = (this.host as any).getElementSallaData();\n\n // if the store doesn't have Apple Pay , just create a cart and then redirect to check out page\n if (!this.isApplePayActive) {\n // return salla.product.buyNow(this.productId, data);\n return salla.api.request('checkout/quick-purchase/' + this.productId, data, 'post')\n .then(resp => {\n if (resp.data.redirect) {\n window.location.href = resp.data.redirect;\n }\n return resp;\n });\n }\n data.is_applepay = true;\n\n if ('append' in data) {\n data.append('is_applepay', true);\n }\n\n // noinspection TypeScriptValidateJSTypes\n salla.event.dispatch('payments::apple-pay.start-transaction', {\n amount: this.amount, // 1000\n currency: this.currency || 'SAR', // SAR\n requiredShippingContactFields: this.isRequireShipping ? ['postalAddress'] : null,\n shippingMethods: this.isRequireShipping ? [] : null,\n supportedNetworks: salla.config.get('store.settings.buy_now.networks'),\n supportedCountries: salla.config.get('store.settings.buy_now.countries'),\n validateMerchant: {\n url: salla.url.get('checkout/applepay/validate'),\n onSuccess: (response) => {\n if (this.applePayOnly && !this.productId) { // the cart is not passes\n if (!this.cartId) {\n salla.logger.warn('🍏 Pay: trying to create applePay transaction without cartId/ProductId !');\n return response;\n }\n window.SallaApplePay.id = this.cartId;\n salla.log('🍏 Pay: create checkout success: with id #' + this.cartId);\n return response;\n\n }\n\n return salla.api.request('checkout/quick-purchase/' + this.productId, typeof data == 'object' ? data : undefined, 'post', {}).then(response => {\n\n // if is redirect url returned for any reason, lets redirect the user to check out\n if (response?.data?.redirect) {\n salla.log('🍏 Pay: create checkout success: redirect exits, go to checkout page');\n window.location.href = response.data.redirect.url;\n return response;\n }\n\n // the cart is not ready to complete apply pay session\n if (!response?.data?.id) {\n salla.logger.warn('🍏 Pay: create checkout success: No id, or redirect');\n return response;\n }\n\n window.SallaApplePay.id = response.data.id;\n\n salla.log('🍏 Pay: create checkout success: with id #' + window.SallaApplePay.id);\n });\n }\n },\n authorized: {\n // submit checkout route\n url: salla.url.get('checkout/{id}/payments/submit'),\n onFailed: (response) => {\n window.SallaApplePay.onCancel({}, response?.data?.error?.message || response?.data?.error?.code || salla.lang.get('pages.checkout.payment_failed'));\n },\n onSuccess: (response) => {\n window.location.href = response.redirect.url;\n salla.log('🍏 Pay: authorized Success:: redirect to thank you page, order placed');\n }\n },\n shippingMethodSelected: this.isRequireShipping ? {\n url: salla.url.get('checkout/{id}/shipping/details'),\n } : null,\n shippingContactSelected: this.isRequireShipping ? {\n url: salla.url.get('checkout/{id}/address/add'),\n } : null,\n oncouponcodechanged: {\n url: salla.url.get('checkout/{id}/coupons')\n },\n recalculateTotal: {\n url: salla.url.get('checkout/{id}/payments/recalculate')\n },\n onError: function (message) {\n salla.log(message);\n salla.notify.error(message);\n }\n });\n }\n\n componentWillLoad() {\n return new Promise((resolve, reject) => {\n salla.onReady(async () => {\n\n // if (!this.currency) {\n // this.currency = salla.config.get('user.currency_code');\n // }\n\n if (!this.productId && salla.config.get('page.id')) {\n this.productId = salla.config.get('page.id');\n }\n\n if (!this.applePayOnly && !this.productId) {\n salla.logger.warn('🍏 Pay: Failed load the quick buy, the product id is missing')\n return reject()\n }\n\n /**\n * We should check the product if it's required shipping\n * in order for apple pay sdk to show the required Shipping Contact Fields\n * components..\n */\n if ((!this.amount || !this.isRequireShipping) && this.productId) {\n await salla.product.getDetails(this.productId, []).then((response) => {\n this.amount = response.data.base_currency_price.amount;\n this.currency = response.data.base_currency_price.currency;\n this.isRequireShipping = response?.data?.is_require_shipping || false;\n }).catch((error) => {\n salla.logger.warn('🍏 Pay: Failed load the quick buy, get the product details failed: ', error)\n return reject()\n })\n }\n\n\n\n if (this.type == 'donate') {\n salla.event.on('product-options::donation-changed', (data) => {\n if (String(data.id) !== String(this.productId)) {\n return;\n }\n\n this.amount = data.price;\n });\n if (salla.url.is_page('product.single')) {\n salla.product.event?.onPriceUpdated(response => {\n this.currency = response.data.base_currency_price.currency;\n });\n }\n } else if (salla.url.is_page('product.single')) {\n salla.product.event?.onPriceUpdated(response => {\n this.amount = response.data.base_currency_price.amount;\n this.currency = response.data.base_currency_price.currency;\n });\n }\n this.isApplePayActive = window.ApplePaySession?.canMakePayments()\n && salla.config.get('store.settings.payments')?.includes('apple_pay')\n && salla.config.get('store.settings.is_salla_gateway', false);\n\n let applePaySdk = document.getElementById('apple-pay-sdk');\n if (applePaySdk || !this.isApplePayActive) {\n salla.logger.warn('🍏 Pay: Skipped load apple pay because ' + (applePaySdk ? 'already loaded' : 'is not available in the browser'))\n resolve(true);\n return;\n }\n\n const script = document.createElement('script');\n script.src = 'https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js';\n script.setAttribute('id', 'apple-pay-sdk');\n script.async = true;\n\n document.body.appendChild(script);\n\n resolve(true);\n })\n })\n }\n\n render() {\n return <Host>{this.quickBuyButton()}</Host>\n }\n\n private quickBuyButton() {\n return this.isApplePayActive\n ? <apple-pay-button locale={salla.config.get('user.language_code')}\n onClick={() => this.quickBuyHandler()}\n data-quick-purchase=\"applepay\"\n class=\"s-quick-buy-apple-pay\"\n data-is-applepay=\"1\"\n buttonstyle=\"black\"\n type={this.type} />\n :\n !this.applePayOnly ?<salla-button onClick={() => this.quickBuyHandler()}\n class=\"s-quick-buy-button\"\n color=\"primary\"\n fill=\"outline\"\n size=\"medium\"\n width=\"wide\"\n shape=\"btn\">\n <span innerHTML={FullWallet}/>\n {this.quickBuy}\n </salla-button>\n : '';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"salla-quick-buy.js","sourceRoot":"","sources":["../../../src/components/salla-quick-buy/salla-quick-buy.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Element } from '@stencil/core';\nimport FullWallet from '../../assets/svg/full-wallet.svg';\nimport \"@salla.sa/applepay/src/index\";\n\n@Component({\n tag: 'salla-quick-buy',\n styleUrl: 'salla-quick-buy.scss',\n})\nexport class SallaQuickBuy {\n constructor() {\n salla.lang.onLoaded(() => {\n this.quickBuy = salla.lang.get('pages.products.buy_now');\n });\n\n if (salla.config.isGuest()) {\n let eventName = \"salla-quick-buy::user.logged-in\"\n salla.api.auth.setAfterLoginEvent(eventName)\n salla.event.on(eventName, () => this.settlePayment())\n }\n }\n\n @Element() host: HTMLElement;\n\n /**\n * Button type.\n *\n * @type {string}\n * @default buy\n **/\n @Prop({ mutable: true }) type: 'plain' | 'buy' | 'donate' | 'book' | 'pay' | 'order' = 'buy';\n\n /**\n * Product ID.\n *\n * @type {string}\n **/\n @Prop({ mutable: true }) productId: string;\n\n /**\n * Cart ID, when you need to applePay for existed cart\n *\n * @type {string}\n **/\n @Prop({ mutable: true }) cartId: string;\n\n /**\n * Product amount in base currency (SAR).\n *\n * @type {number}\n * @default 0\n **/\n @Prop({ reflect: true, mutable: true }) amount: number;\n\n /**\n * base currency\n *\n * @type {string}\n * @default SAR\n */\n @Prop({ mutable: true }) currency: string;\n\n /**\n * Product options, if is empty will get the data from the document.querySelector('salla-product-options[product-id=\"X\"]')\n *\n * @type {object}\n * @default {}\n */\n @Prop() options = {};\n\n /**\n * To be passed to purchaseNow request\n * @type {boolean}\n **/\n @Prop({mutable: true}) isRequireShipping: boolean;\n \n /**\n * Show Apple Pay only\n * @type {boolean}\n **/\n @Prop({mutable: true}) applePayOnly: boolean;\n\n @State() isApplePayActive: boolean;\n\n @State() quickBuy: string = salla.lang.get('pages.products.buy_now');\n\n private async quickBuyHandler() {\n if (salla.config.isGuest()) {\n // todo (low) :: find a way to re-fire the method after success\n return salla.auth.event.dispatch('login::open', { withoutReload: true });\n }\n await this.settlePayment()\n }\n\n private async settlePayment() {\n\n let optionsElement = document.querySelector(`salla-product-options[product-id=\"${this.productId}\"]`) as HTMLSallaProductOptionsElement;\n //make sure all the required options are selected\n if (optionsElement && !await optionsElement.reportValidity()) {\n return salla.error(salla.lang.get('common.messages.required_fields'));\n }\n\n //use this way to get quantity too\n let data = (this.host as any).getElementSallaData();\n\n // if the store doesn't have Apple Pay , just create a cart and then redirect to check out page\n if (!this.isApplePayActive) {\n // return salla.product.buyNow(this.productId, data);\n return salla.api.request('checkout/quick-purchase/' + this.productId, data, 'post')\n .then(resp => {\n if (resp.data.redirect) {\n window.location.href = resp.data.redirect;\n }\n return resp;\n });\n }\n data.is_applepay = true;\n\n if ('append' in data) {\n data.append('is_applepay', true);\n }\n\n // noinspection TypeScriptValidateJSTypes\n salla.event.dispatch('payments::apple-pay.start-transaction', {\n amount: this.amount, // 1000\n currency: this.currency || 'SAR', // SAR\n requiredShippingContactFields: this.isRequireShipping ? ['postalAddress'] : null,\n shippingMethods: this.isRequireShipping ? [] : null,\n supportedNetworks: salla.config.get('store.settings.buy_now.networks'),\n supportedCountries: salla.config.get('store.settings.buy_now.countries'),\n validateMerchant: {\n url: salla.url.get('checkout/applepay/validate'),\n onSuccess: (response) => {\n if (this.applePayOnly && !this.productId) { // the cart is not passes\n if (!this.cartId) {\n salla.logger.warn('🍏 Pay: trying to create applePay transaction without cartId/ProductId !');\n return Promise.resolve(response);\n }\n window.SallaApplePay.id = this.cartId;\n salla.log('🍏 Pay: create checkout success: with id #' + this.cartId);\n return Promise.resolve(response);\n\n }\n\n return salla.api.request('checkout/quick-purchase/' + this.productId, typeof data == 'object' ? data : undefined, 'post', {}).then(response => {\n\n // if is redirect url returned for any reason, lets redirect the user to check out\n if (response?.data?.redirect) {\n salla.log('🍏 Pay: create checkout success: redirect exits, go to checkout page');\n window.location.href = response.data.redirect.url;\n return response;\n }\n\n // the cart is not ready to complete apply pay session\n if (!response?.data?.id) {\n salla.logger.warn('🍏 Pay: create checkout success: No id, or redirect');\n return response;\n }\n\n window.SallaApplePay.id = response.data.id;\n\n salla.log('🍏 Pay: create checkout success: with id #' + window.SallaApplePay.id);\n });\n }\n },\n authorized: {\n // submit checkout route\n url: salla.url.get('checkout/{id}/payments/submit'),\n onFailed: (response) => {\n window.SallaApplePay.onCancel({}, response?.data?.error?.message || response?.data?.error?.code || salla.lang.get('pages.checkout.payment_failed'));\n },\n onSuccess: (response) => {\n window.location.href = response.redirect.url;\n salla.log('🍏 Pay: authorized Success:: redirect to thank you page, order placed');\n }\n },\n shippingMethodSelected: this.isRequireShipping ? {\n url: salla.url.get('checkout/{id}/shipping/details'),\n } : null,\n shippingContactSelected: this.isRequireShipping ? {\n url: salla.url.get('checkout/{id}/address/add'),\n } : null,\n oncouponcodechanged: {\n url: salla.url.get('checkout/{id}/coupons')\n },\n recalculateTotal: {\n url: salla.url.get('checkout/{id}/payments/recalculate')\n },\n onError: function (message) {\n salla.log(message);\n salla.notify.error(message);\n }\n });\n }\n\n componentWillLoad() {\n return new Promise((resolve, reject) => {\n salla.onReady(async () => {\n\n // if (!this.currency) {\n // this.currency = salla.config.get('user.currency_code');\n // }\n\n if (!this.productId && salla.config.get('page.id')) {\n this.productId = salla.config.get('page.id');\n }\n\n if (!this.applePayOnly && !this.productId) {\n salla.logger.warn('🍏 Pay: Failed load the quick buy, the product id is missing')\n return reject()\n }\n\n /**\n * We should check the product if it's required shipping\n * in order for apple pay sdk to show the required Shipping Contact Fields\n * components..\n */\n if ((!this.amount || !this.isRequireShipping) && this.productId) {\n await salla.product.getDetails(this.productId, []).then((response) => {\n this.amount = response.data.base_currency_price.amount;\n this.currency = response.data.base_currency_price.currency;\n this.isRequireShipping = response?.data?.is_require_shipping || false;\n }).catch((error) => {\n salla.logger.warn('🍏 Pay: Failed load the quick buy, get the product details failed: ', error)\n return reject()\n })\n }\n\n\n\n if (this.type == 'donate') {\n salla.event.on('product-options::donation-changed', (data) => {\n if (String(data.id) !== String(this.productId)) {\n return;\n }\n\n this.amount = data.price;\n });\n if (salla.url.is_page('product.single')) {\n salla.product.event?.onPriceUpdated(response => {\n this.currency = response.data.base_currency_price.currency;\n });\n }\n } else if (salla.url.is_page('product.single')) {\n salla.product.event?.onPriceUpdated(response => {\n this.amount = response.data.base_currency_price.amount;\n this.currency = response.data.base_currency_price.currency;\n });\n }\n this.isApplePayActive = window.ApplePaySession?.canMakePayments()\n && salla.config.get('store.settings.payments')?.includes('apple_pay')\n && salla.config.get('store.settings.is_salla_gateway', false);\n\n let applePaySdk = document.getElementById('apple-pay-sdk');\n if (applePaySdk || !this.isApplePayActive) {\n salla.logger.warn('🍏 Pay: Skipped load apple pay because ' + (applePaySdk ? 'already loaded' : 'is not available in the browser'))\n resolve(true);\n return;\n }\n\n const script = document.createElement('script');\n script.src = 'https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js';\n script.setAttribute('id', 'apple-pay-sdk');\n script.async = true;\n\n document.body.appendChild(script);\n\n resolve(true);\n })\n })\n }\n\n render() {\n return <Host>{this.quickBuyButton()}</Host>\n }\n\n private quickBuyButton() {\n return this.isApplePayActive\n ? <apple-pay-button locale={salla.config.get('user.language_code')}\n onClick={() => this.quickBuyHandler()}\n data-quick-purchase=\"applepay\"\n class=\"s-quick-buy-apple-pay\"\n data-is-applepay=\"1\"\n buttonstyle=\"black\"\n type={this.type} />\n :\n !this.applePayOnly ?<salla-button onClick={() => this.quickBuyHandler()}\n class=\"s-quick-buy-button\"\n color=\"primary\"\n fill=\"outline\"\n size=\"medium\"\n width=\"wide\"\n shape=\"btn\">\n <span innerHTML={FullWallet}/>\n {this.quickBuy}\n </salla-button>\n : '';\n }\n}\n"]}
|
|
@@ -2144,7 +2144,7 @@ window.SallaApplePay = {
|
|
|
2144
2144
|
|
|
2145
2145
|
}, (error) => {
|
|
2146
2146
|
console.error(error);
|
|
2147
|
-
SallaApplePay.abortValidateMerchant(error
|
|
2147
|
+
SallaApplePay.abortValidateMerchant(error?.response);
|
|
2148
2148
|
});
|
|
2149
2149
|
},
|
|
2150
2150
|
|
|
@@ -2475,11 +2475,11 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
2475
2475
|
if (this.applePayOnly && !this.productId) { // the cart is not passes
|
|
2476
2476
|
if (!this.cartId) {
|
|
2477
2477
|
salla.logger.warn('🍏 Pay: trying to create applePay transaction without cartId/ProductId !');
|
|
2478
|
-
return response;
|
|
2478
|
+
return Promise.resolve(response);
|
|
2479
2479
|
}
|
|
2480
2480
|
window.SallaApplePay.id = this.cartId;
|
|
2481
2481
|
salla.log('🍏 Pay: create checkout success: with id #' + this.cartId);
|
|
2482
|
-
return response;
|
|
2482
|
+
return Promise.resolve(response);
|
|
2483
2483
|
}
|
|
2484
2484
|
return salla.api.request('checkout/quick-purchase/' + this.productId, typeof data == 'object' ? data : undefined, 'post', {}).then(response => {
|
|
2485
2485
|
var _a, _b;
|