@salla.sa/twilight-components 2.14.266 → 2.14.268

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.
Files changed (139) hide show
  1. package/dist/cjs/{app-globals-C5vtVml8.js → app-globals-DCdSMY4P.js} +1 -1
  2. package/dist/cjs/{filepond-DTzyjnPy.js → filepond-DSrOeCIF.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-poster-CVRC2eDi.js → filepond-plugin-file-poster-kTPFjj4a.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-size-CXdCFSC3.js → filepond-plugin-file-validate-size-CWcxao8l.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-file-validate-type-D-xbNwv3.js → filepond-plugin-file-validate-type-CP295r_S.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-edit-CPXvQ4nG.js → filepond-plugin-image-edit-B8p_l6WM.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-exif-orientation-QqEvrJpO.js → filepond-plugin-image-exif-orientation-BH0nNaQs.js} +1 -1
  8. package/dist/cjs/{filepond-plugin-image-preview-Bt0CNmWW.js → filepond-plugin-image-preview-A5H8-Nsz.js} +1 -1
  9. package/dist/cjs/{index-Dy6Zvkas.js → index-BjUgPABq.js} +2 -2
  10. package/dist/cjs/{index-C04zYN9J.js → index-Dwv0QRlo.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/salla-accordion_4.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-add-product-button_51.cjs.entry.js +20 -14
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-booking-field_2.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-product-options.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  45. package/dist/cjs/twilight.cjs.js +2 -2
  46. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +11 -5
  47. package/dist/components/index.js +2 -2
  48. package/dist/components/salla-add-product-button2.js +11 -5
  49. package/dist/esm/{app-globals-CWcFexSd.js → app-globals-DKMXkUnR.js} +1 -1
  50. package/dist/esm/{filepond-BAelESQC.js → filepond-PEXRwe-a.js} +1 -1
  51. package/dist/esm/{filepond-plugin-file-poster-S8fqH5JB.js → filepond-plugin-file-poster-kyH2loNg.js} +1 -1
  52. package/dist/esm/{filepond-plugin-file-validate-size-Cel0uAD5.js → filepond-plugin-file-validate-size-erHt3cr_.js} +1 -1
  53. package/dist/esm/{filepond-plugin-file-validate-type-B59YZ1a1.js → filepond-plugin-file-validate-type-gyWa6zhf.js} +1 -1
  54. package/dist/esm/{filepond-plugin-image-edit-CSOfTNoU.js → filepond-plugin-image-edit-ChS32vNL.js} +1 -1
  55. package/dist/esm/{filepond-plugin-image-exif-orientation-C4Lc-1NY.js → filepond-plugin-image-exif-orientation-qhVLNALS.js} +1 -1
  56. package/dist/esm/{filepond-plugin-image-preview-BvP4fpm4.js → filepond-plugin-image-preview-BwgD68LJ.js} +1 -1
  57. package/dist/esm/{index-FRNRxLNe.js → index-Bc4ObK1O.js} +1 -1
  58. package/dist/esm/{index-BRr5Vvq-.js → index-Dkrl7rvC.js} +2 -2
  59. package/dist/esm/loader.js +3 -3
  60. package/dist/esm/salla-accordion_4.entry.js +1 -1
  61. package/dist/esm/salla-add-product-button_51.entry.js +20 -14
  62. package/dist/esm/salla-advertisement.entry.js +1 -1
  63. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  64. package/dist/esm/salla-apps-icons.entry.js +1 -1
  65. package/dist/esm/salla-booking-field_2.entry.js +1 -1
  66. package/dist/esm/salla-cart-item-offers.entry.js +1 -1
  67. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  68. package/dist/esm/salla-contacts.entry.js +1 -1
  69. package/dist/esm/salla-filters-widget.entry.js +1 -1
  70. package/dist/esm/salla-filters.entry.js +1 -1
  71. package/dist/esm/salla-installment.entry.js +1 -1
  72. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  73. package/dist/esm/salla-loyalty-program.entry.js +1 -1
  74. package/dist/esm/salla-metadata.entry.js +1 -1
  75. package/dist/esm/salla-notification-item.entry.js +1 -1
  76. package/dist/esm/salla-notifications.entry.js +1 -1
  77. package/dist/esm/salla-offer.entry.js +1 -1
  78. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  79. package/dist/esm/salla-order-details.entry.js +1 -1
  80. package/dist/esm/salla-order-summary.entry.js +1 -1
  81. package/dist/esm/salla-orders.entry.js +1 -1
  82. package/dist/esm/salla-payments.entry.js +1 -1
  83. package/dist/esm/salla-price-range.entry.js +1 -1
  84. package/dist/esm/salla-product-options.entry.js +1 -1
  85. package/dist/esm/salla-review-card.entry.js +1 -1
  86. package/dist/esm/salla-reviews-page.entry.js +1 -1
  87. package/dist/esm/salla-reviews.entry.js +1 -1
  88. package/dist/esm/salla-social.entry.js +1 -1
  89. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  90. package/dist/esm/salla-tooltip.entry.js +1 -1
  91. package/dist/esm/salla-verify.entry.js +1 -1
  92. package/dist/esm/salla-wallet.entry.js +1 -1
  93. package/dist/esm/twilight.js +3 -3
  94. package/dist/twilight/{p-a148b398.entry.js → p-02c9b8cd.entry.js} +1 -1
  95. package/dist/twilight/{p-99269968.entry.js → p-0f7c48c5.entry.js} +1 -1
  96. package/dist/twilight/{p-D3Fv8CtL.js → p-0wo7xVMQ.js} +1 -1
  97. package/dist/twilight/{p-16d7c6b6.entry.js → p-100dc2af.entry.js} +1 -1
  98. package/dist/twilight/{p-4305d8a0.entry.js → p-231c080a.entry.js} +1 -1
  99. package/dist/twilight/{p-5cab779e.entry.js → p-2aa837e5.entry.js} +1 -1
  100. package/dist/twilight/{p-9f19011c.entry.js → p-3096365c.entry.js} +1 -1
  101. package/dist/twilight/{p-591e0115.entry.js → p-3fca5120.entry.js} +1 -1
  102. package/dist/twilight/{p-c4a9283c.entry.js → p-43eeca9d.entry.js} +1 -1
  103. package/dist/twilight/{p-6e2896b8.entry.js → p-4cf87671.entry.js} +1 -1
  104. package/dist/twilight/{p-6abafeb4.entry.js → p-5b7c9c27.entry.js} +1 -1
  105. package/dist/twilight/{p-6c430024.entry.js → p-61386416.entry.js} +1 -1
  106. package/dist/twilight/{p-fed5bee3.entry.js → p-63ea69b0.entry.js} +1 -1
  107. package/dist/twilight/{p-67b5cc1d.entry.js → p-6b5e5a40.entry.js} +1 -1
  108. package/dist/twilight/{p-b5e00c11.entry.js → p-765187bb.entry.js} +1 -1
  109. package/dist/twilight/{p-f36196e2.entry.js → p-76faa3dc.entry.js} +1 -1
  110. package/dist/twilight/{p-1ee92df4.entry.js → p-77558f05.entry.js} +1 -1
  111. package/dist/twilight/{p-90ab2b2a.entry.js → p-8a388d90.entry.js} +1 -1
  112. package/dist/twilight/{p-a84b485e.entry.js → p-8f1c1e48.entry.js} +1 -1
  113. package/dist/twilight/{p-e4bd3156.entry.js → p-94d5abb2.entry.js} +1 -1
  114. package/dist/twilight/{p-BV9V61cH.js → p-BOZpx8y8.js} +1 -1
  115. package/dist/twilight/{p-DhwwHVdZ.js → p-BdZFi-dF.js} +1 -1
  116. package/dist/twilight/{p-CvgNEuig.js → p-Bfh2Ewd2.js} +1 -1
  117. package/dist/twilight/{p-Cgzzr4ol.js → p-C6w77Z-I.js} +1 -1
  118. package/dist/twilight/{p-WTbGdEDm.js → p-CMGWNTqw.js} +1 -1
  119. package/dist/twilight/{p-BqM-SE07.js → p-CMIEpBEo.js} +1 -1
  120. package/dist/twilight/{p-BRr5Vvq-.js → p-Dkrl7rvC.js} +2 -2
  121. package/dist/twilight/{p-BrItYAEb.js → p-DqXHRruO.js} +1 -1
  122. package/dist/twilight/{p-BcAmDIFa.js → p-Drf1TOhi.js} +1 -1
  123. package/dist/twilight/{p-3870376f.entry.js → p-a57e243b.entry.js} +2 -2
  124. package/dist/twilight/{p-e97d0448.entry.js → p-b2667b1a.entry.js} +1 -1
  125. package/dist/twilight/{p-5b6d4a45.entry.js → p-c146c961.entry.js} +1 -1
  126. package/dist/twilight/{p-b1803468.entry.js → p-c89dfa69.entry.js} +1 -1
  127. package/dist/twilight/{p-54166794.entry.js → p-c94c1971.entry.js} +1 -1
  128. package/dist/twilight/{p-bcf06146.entry.js → p-d2e43463.entry.js} +1 -1
  129. package/dist/twilight/{p-4f4d26b8.entry.js → p-d614ac6e.entry.js} +1 -1
  130. package/dist/twilight/{p-8146c3b3.entry.js → p-e0541abb.entry.js} +1 -1
  131. package/dist/twilight/{p-74814684.entry.js → p-e44dfa5a.entry.js} +1 -1
  132. package/dist/twilight/{p-22ed3b33.entry.js → p-edac5aa4.entry.js} +1 -1
  133. package/dist/twilight/{p-c9e143eb.entry.js → p-ee72cd10.entry.js} +1 -1
  134. package/dist/twilight/{p-b719fe8d.entry.js → p-f4054651.entry.js} +1 -1
  135. package/dist/twilight/{p-d9e7a393.entry.js → p-f6262928.entry.js} +1 -1
  136. package/dist/twilight/{p-8876e773.entry.js → p-ff2c2e92.entry.js} +1 -1
  137. package/dist/twilight/twilight.esm.js +1 -1
  138. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +1 -1
  139. package/package.json +5 -5
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$2 = require('./index-Dy6Zvkas.js');
6
+ var index$2 = require('./index-BjUgPABq.js');
7
7
 
8
8
  function _mergeNamespaces(n, m) {
9
9
  m.forEach(function (e) {
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
7
- var appGlobals = require('./app-globals-C5vtVml8.js');
6
+ var index = require('./index-BjUgPABq.js');
7
+ var appGlobals = require('./app-globals-DCdSMY4P.js');
8
8
 
9
9
  const defineCustomElements = async (win, options) => {
10
10
  if (typeof window === 'undefined') return undefined;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var minus = require('./minus-CCryh1qf.js');
8
8
 
9
9
  const sallaAccordionCss = "";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var anime_es = require('./anime.es-BqW8JHZi.js');
8
8
  var specialDiscount = require('./special-discount-OVG_9Kf9.js');
9
9
  var check = require('./check-CLRvuniI.js');
@@ -109,8 +109,11 @@ const SallaAddProductButton = class {
109
109
  const optionsEl = document.querySelector(`salla-product-options[product-id="${this.productId}"]`);
110
110
  if (optionsEl && typeof optionsEl.validateAndScroll === 'function') {
111
111
  return optionsEl.validateAndScroll()
112
- .then((isValid) => {
113
- if (!isValid) {
112
+ .then(async (isValid) => {
113
+ // Call validate hook
114
+ const ctx = { isValid, component: this };
115
+ await salla.hooks.call('salla-add-product-button', 'validate', ctx);
116
+ if (!ctx.isValid) {
114
117
  this.btn?.enable();
115
118
  return;
116
119
  }
@@ -123,7 +126,7 @@ const SallaAddProductButton = class {
123
126
  // Fallback if options component not found
124
127
  return this._proceedAddToCart();
125
128
  }
126
- _proceedAddToCart() {
129
+ async _proceedAddToCart() {
127
130
  /**
128
131
  * by default the quick add is just an alias for add item function
129
132
  * but its work only when the id is the only value is passed via the object
@@ -135,8 +138,9 @@ const SallaAddProductButton = class {
135
138
  quantity: this.quantity,
136
139
  endpoint: 'quickAdd'
137
140
  }).reduce((a, [k, v]) => (v ? (a[k] = v, a) : a), {});
141
+ // Use the potentially modified data
138
142
  return salla.cart.addItem(data)
139
- .then(response => {
143
+ .then(async (response) => {
140
144
  this.selectedOptions = [];
141
145
  this.btn?.enable();
142
146
  this.success.emit(response);
@@ -216,7 +220,9 @@ const SallaAddProductButton = class {
216
220
  'w-full': !document.getElementById('fast-checkout-js') || ['financial_support', 'donating'].includes(this.productType) // This is a temporary fix until all themes fully support the fast checkout -- To be removed later
217
221
  } }, index.h("salla-button", { color: this.productStatus === 'sale' ? 'primary' : 'light', type: "button", fill: this.productStatus === 'sale' ? 'solid' : 'outline', ref: el => this.btn = el, onClick: event => this.addProductToCart(event), disabled: this.productStatus !== 'sale', ...this.getBtnAttributes(), "loader-position": "center" }, index.h("slot", null)), this.showQuickBuy && !!document.getElementById('fast-checkout-js') && !['financial_support', 'donating'].includes(this.productType) ? this.miniCheckoutWidget() : ''), this.showQuickBuy && this.isApplePayActive ? index.h("salla-quick-buy", { ...this.getQuickBuyBtnAttributes() }) : '');
218
222
  }
219
- componentDidLoad() {
223
+ async componentDidLoad() {
224
+ // Register this component for hooks system, already on it logic to run componentDidLoad trigger
225
+ await Salla.hooks.registerComponent('salla-add-product-button', this);
220
226
  if (!this.notifyOptionsAvailability) {
221
227
  return;
222
228
  }
@@ -3089,13 +3095,13 @@ const SallaFileUpload = class {
3089
3095
  return;
3090
3096
  try {
3091
3097
  const [FilePondModule, FilePondPluginFileValidateSize, FilePondPluginImageExifOrientation, FilePondPluginImagePreview, FilePondPluginImageEdit, FilePondPluginFileValidateType, FilePondPluginFilePoster] = await Promise.all([
3092
- Promise.resolve().then(function () { return require('./filepond-DTzyjnPy.js'); }).then(function (n) { return n.filepond; }),
3093
- Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-size-CXdCFSC3.js'); }).then(function (n) { return n.filepondPluginFileValidateSize; }),
3094
- Promise.resolve().then(function () { return require('./filepond-plugin-image-exif-orientation-QqEvrJpO.js'); }).then(function (n) { return n.filepondPluginImageExifOrientation; }),
3095
- Promise.resolve().then(function () { return require('./filepond-plugin-image-preview-Bt0CNmWW.js'); }).then(function (n) { return n.filepondPluginImagePreview; }),
3096
- Promise.resolve().then(function () { return require('./filepond-plugin-image-edit-CPXvQ4nG.js'); }).then(function (n) { return n.filepondPluginImageEdit; }),
3097
- Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-type-D-xbNwv3.js'); }).then(function (n) { return n.filepondPluginFileValidateType; }),
3098
- Promise.resolve().then(function () { return require('./filepond-plugin-file-poster-CVRC2eDi.js'); }).then(function (n) { return n.filepondPluginFilePoster; })
3098
+ Promise.resolve().then(function () { return require('./filepond-DSrOeCIF.js'); }).then(function (n) { return n.filepond; }),
3099
+ Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-size-CWcxao8l.js'); }).then(function (n) { return n.filepondPluginFileValidateSize; }),
3100
+ Promise.resolve().then(function () { return require('./filepond-plugin-image-exif-orientation-BH0nNaQs.js'); }).then(function (n) { return n.filepondPluginImageExifOrientation; }),
3101
+ Promise.resolve().then(function () { return require('./filepond-plugin-image-preview-A5H8-Nsz.js'); }).then(function (n) { return n.filepondPluginImagePreview; }),
3102
+ Promise.resolve().then(function () { return require('./filepond-plugin-image-edit-B8p_l6WM.js'); }).then(function (n) { return n.filepondPluginImageEdit; }),
3103
+ Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-type-CP295r_S.js'); }).then(function (n) { return n.filepondPluginFileValidateType; }),
3104
+ Promise.resolve().then(function () { return require('./filepond-plugin-file-poster-kTPFjj4a.js'); }).then(function (n) { return n.filepondPluginFilePoster; })
3099
3105
  ]);
3100
3106
  this.FilePond = FilePondModule;
3101
3107
  // Register plugins
@@ -10401,7 +10407,7 @@ const SallaTelInput = class {
10401
10407
  if (this.TelInput)
10402
10408
  return;
10403
10409
  try {
10404
- const telInputModule = await Promise.resolve().then(function () { return require('./index-C04zYN9J.js'); }).then(function (n) { return n.index; });
10410
+ const telInputModule = await Promise.resolve().then(function () { return require('./index-Dwv0QRlo.js'); }).then(function (n) { return n.index; });
10405
10411
  this.TelInput = telInputModule.default;
10406
10412
  }
10407
10413
  catch (error) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var anime_es = require('./anime.es-BqW8JHZi.js');
8
8
 
9
9
  const sallaAdvertisementCss = ":host{display:block}";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaAppInstallAlertCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaAppsIconsCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  var BookingTime = `<!-- Generated by IcoMoon.io -->
9
9
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var specialDiscount = require('./special-discount-OVG_9Kf9.js');
8
8
  var gift = require('./gift-BPDUPIY_.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  var DiscountType;
9
9
  (function (DiscountType) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var whatsapp2 = require('./whatsapp2-D7Sbg8Ey.js');
8
8
  var mail = require('./mail-CO8cFZH7.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var Helper = require('./Helper-C9UmWIYn.js');
8
8
  var interfaces = require('./interfaces-DZDQwN6-.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var interfaces = require('./interfaces-DZDQwN6-.js');
8
8
  var Helper = require('./Helper-C9UmWIYn.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaInstallmentCss = "salla-installment:empty{display:none}#tabbyPromoWrapper{background:white;border-radius:0.375rem;transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);margin-bottom:20px;border:unset !important;font-weight:500}.salla-y #tabbyPromoWrapper{border:1px solid var(--color-grey-dark);border-radius:12px}#tabbyPromoWrapper:hover{box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}#tabbyPromoWrapper #tabbyPromo *{font-family:var(--font-main)}#tabbyPromoWrapper #tabbyPromo>div>div{max-width:none;box-shadow:none;border:none}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet{max-width:100%;min-height:100px;padding:18px 20px;border:none !important}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__text,#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__link{font-size:var(--font-sm);color:var(--color-text) !important}#tabbyPromoWrapper #tabbyPromo .tabby-promo-snippet__link{font-weight:bold}.tabby-promo-wrapper #tabby-promo{font-family:var(--font-main) !important}.tabby-promo-wrapper #tabby-promo .tabby-promo__feature-title{font-size:var(--font-md)}.tabby-promo-wrapper #tabby-promo .tabby-promo__feature-desc{font-size:var(--font-sm);line-height:20px}.tamara-product-widget{margin-bottom:20px}.tamara-product-widget,.spotii-wrapper{min-height:100px;position:relative;color:var(--main-text-color);font-size:var(--font-sm);line-height:1.25;padding:20px 20px 20px 115px !important;background:white;border-radius:0.375rem;transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1);border:unset !important;font-family:inherit !important;font-weight:500}.salla-y .tamara-product-widget,.salla-y .spotii-wrapper{border-radius:12px;border:1px solid var(--color-grey-dark)}.tamara-product-widget:hover,.spotii-wrapper:hover{box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}.tamara-product-widget .spotii-logo,.spotii-wrapper .spotii-logo{float:left;margin:0 0 0 -75px}.ltr .tamara-product-widget,.ltr .spotii-wrapper{text-align:left;padding:18px 100px 18px 20px !important}.ltr .tamara-product-widget .spotii-logo,.ltr .spotii-wrapper .spotii-logo{float:right;margin:0 -75px 0 0}.ltr .tamara-product-widget .spotii-product-widget,.ltr .spotii-wrapper .spotii-product-widget{text-align:left !important}.spotii-wrapper{margin-bottom:20px}.spotii-wrapper .spotii-promo{font-size:var(--font-md)}.spotii-wrapper .spotii-product-widget{font-size:var(--font-sm) !important;margin-top:10px}.tamara-product-widget .tamara-logo{position:absolute;left:20px !important;top:35px !important;margin:0 !important;height:24px !important}.ltr .tamara-product-widget .tamara-logo{right:20px !important;left:auto !important}.tamara-product-widget span{font-family:var(--font-main);font-size:var(--font-sm);color:var(--color-text)}.tamara-product-widget span:last-child{display:block;position:relative;margin-top:8px}.tamara-popup__wrap{overflow:auto !important}.s-installment-mispay-wrapper,.s-installment-madfu-wrapper,.s-installment-emkan-wrapper,.s-installment-rajehi-wrapper{font-size:14px;text-align:right;padding:20px;gap:42px;line-height:22px;color:rgb(0, 0, 0);min-width:100%;box-sizing:border-box;position:relative;background-color:white;border-radius:10px;margin:15px 0;display:flex;transition:box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1)}.s-installment-mispay-wrapper:hover,.s-installment-madfu-wrapper:hover,.s-installment-emkan-wrapper:hover,.s-installment-rajehi-wrapper:hover{box-shadow:0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 5px 10px 30px rgba(43, 45, 52, 0.0509803922)}.s-installment-mispay-content,.s-installment-madfu-content,.s-installment-emkan-content,.s-installment-rajehi-content{display:flex;flex-direction:row-reverse;width:100%;justify-content:space-between;align-items:center;gap:1rem}.s-installment-mispay-content-text,.s-installment-madfu-content-text,.s-installment-emkan-content-text,.s-installment-rajehi-content-text{color:var(--main-text-color);font-size:14px;font-weight:500;margin:0 16px 0 0;width:80%;left:14px;text-align:left}.s-installment-mispay-content img,.s-installment-madfu-content img,.s-installment-emkan-content img,.s-installment-rajehi-content img{height:28px;width:70px;display:inline-block;max-height:100%;vertical-align:middle;fill:none;stroke:unset;width:auto}.rtl .s-installment-mispay-content-text,.rtl .s-installment-madfu-content-text,.rtl .s-installment-emkan-content-text,.rtl .s-installment-rajehi-content-text{right:14px;text-align:right;margin:0 0 0 16px}.rtl .s-installment-mispay-content img,.rtl .s-installment-madfu-content img,.rtl .s-installment-emkan-content img,.rtl .s-installment-rajehi-content img{left:14px !important}.ltr .s-installment-mispay-content img,.ltr .s-installment-madfu-content img,.ltr .s-installment-emkan-content img,.ltr .s-installment-rajehi-content img{right:14px !important}.s-installment-rajehi-content img{width:70px !important;height:40px !important}.s-installment-emkan-content img{height:35px !important}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaLoyaltyPrizeItemCss = "salla-loyalty-prize-item:hover{box-shadow:0 5px 15px 1px rgba(0, 0, 0, 0.04) !important}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var gift = require('./gift-BPDUPIY_.js');
8
8
 
9
9
  const sallaLoyaltyProgramCss = "";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaMetadataCss = "";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaNotificationsCss = "";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var Helper = require('./Helper-C9UmWIYn.js');
8
8
  require('./anime.es-BqW8JHZi.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  var PageType;
9
9
  (function (PageType) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaOrderDetailsMultipleBundleProductCss = "";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaOrderDetailsCss = "";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var check = require('./check-CLRvuniI.js');
8
8
 
9
9
  var iconFileArchive = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var Helper = require('./Helper-C9UmWIYn.js');
8
8
  require('./anime.es-BqW8JHZi.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaPaymentsCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var arrowLeft = require('./arrow-left-xSEmRpp6.js');
8
8
 
9
9
  var arrowRight = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var check = require('./check-CLRvuniI.js');
8
8
  var camera = require('./camera-DytepEoK.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var check = require('./check-CLRvuniI.js');
8
8
 
9
9
  var IconStar2 = ` <svg width="18" height="17" view-box="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var shoppingBag = require('./shopping-bag-C1gvTVHr.js');
8
8
  var Helper = require('./Helper-C9UmWIYn.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var arrowLeft = require('./arrow-left-xSEmRpp6.js');
8
8
  var Helper = require('./Helper-C9UmWIYn.js');
9
9
  require('./anime.es-BqW8JHZi.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var twitter = require('./twitter-pOrUNjXi.js');
8
8
 
9
9
  var instagram = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  var DiscountType;
9
9
  (function (DiscountType) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaTooltipCss = ".s-tooltip-container{position:relative;display:inline-block}.s-tooltip-item{position:absolute;transform:translateX(-39%);background-color:#baf3e6;color:#004d5a;bottom:100%;left:50%;text-align:center;border-radius:5px;z-index:1;white-space:nowrap;opacity:0;transition:opacity 0.3s;pointer-events:none;margin:0 0 16px 8px;padding:12px;max-width:150px;width:190px;white-space:normal;opacity:1}.s-tooltip-item::after{content:\"\";position:absolute;bottom:-10px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#baf3e6 transparent transparent transparent}.s-tooltip-item:dir(ltr){transform:translateX(-72%)}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
  var mail = require('./mail-CO8cFZH7.js');
8
8
 
9
9
  var AndroidPhoneIcon = `<!-- Generated by IcoMoon.io -->
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
6
+ var index = require('./index-BjUgPABq.js');
7
7
 
8
8
  const sallaWalletCss = ".s-wallet-table{min-width:100%}.s-wallet-table-balance-container{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:1rem}.s-wallet-table-balance-icon{border-radius:50%;width:52px;height:52px;font-size:25px;padding:16px 13px;background:var(--color-primary-reverse);color:var(--color-primary)}.s-wallet-table-empty-state{display:flex;flex-direction:column;align-items:center}.s-wallet-table-empty-state i{font-size:80px;margin:4rem 0 2rem;color:var(--infinte-color)}.s-wallet-table-transaction-status{padding:6px 19px !important;border-radius:20px;width:max-content;display:flex;align-items:center}.s-wallet-table-transaction-status-default{background:#fff6eb;color:#a46f29}.s-wallet-table-transaction-status-cashback{background:#effbf6;color:#00af6c}.s-wallet-table-transaction-status-refund{background:#ecf3fe;color:#5196f3}.s-wallet-table-transaction-status-purchase{background:#feecec;color:#f55157}.s-wallet-table-transaction-status-icons-success{color:#00af6c}";
9
9
 
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-Dy6Zvkas.js');
7
- var appGlobals = require('./app-globals-C5vtVml8.js');
6
+ var index = require('./index-BjUgPABq.js');
7
+ var appGlobals = require('./app-globals-DCdSMY4P.js');
8
8
 
9
9
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
10
10
  /*
@@ -60,8 +60,11 @@ export class SallaAddProductButton {
60
60
  const optionsEl = document.querySelector(`salla-product-options[product-id="${this.productId}"]`);
61
61
  if (optionsEl && typeof optionsEl.validateAndScroll === 'function') {
62
62
  return optionsEl.validateAndScroll()
63
- .then((isValid) => {
64
- if (!isValid) {
63
+ .then(async (isValid) => {
64
+ // Call validate hook
65
+ const ctx = { isValid, component: this };
66
+ await salla.hooks.call('salla-add-product-button', 'validate', ctx);
67
+ if (!ctx.isValid) {
65
68
  this.btn?.enable();
66
69
  return;
67
70
  }
@@ -74,7 +77,7 @@ export class SallaAddProductButton {
74
77
  // Fallback if options component not found
75
78
  return this._proceedAddToCart();
76
79
  }
77
- _proceedAddToCart() {
80
+ async _proceedAddToCart() {
78
81
  /**
79
82
  * by default the quick add is just an alias for add item function
80
83
  * but its work only when the id is the only value is passed via the object
@@ -86,8 +89,9 @@ export class SallaAddProductButton {
86
89
  quantity: this.quantity,
87
90
  endpoint: 'quickAdd'
88
91
  }).reduce((a, [k, v]) => (v ? (a[k] = v, a) : a), {});
92
+ // Use the potentially modified data
89
93
  return salla.cart.addItem(data)
90
- .then(response => {
94
+ .then(async (response) => {
91
95
  this.selectedOptions = [];
92
96
  this.btn?.enable();
93
97
  this.success.emit(response);
@@ -167,7 +171,9 @@ export class SallaAddProductButton {
167
171
  'w-full': !document.getElementById('fast-checkout-js') || ['financial_support', 'donating'].includes(this.productType) // This is a temporary fix until all themes fully support the fast checkout -- To be removed later
168
172
  } }, h("salla-button", { color: this.productStatus === 'sale' ? 'primary' : 'light', type: "button", fill: this.productStatus === 'sale' ? 'solid' : 'outline', ref: el => this.btn = el, onClick: event => this.addProductToCart(event), disabled: this.productStatus !== 'sale', ...this.getBtnAttributes(), "loader-position": "center" }, h("slot", null)), this.showQuickBuy && !!document.getElementById('fast-checkout-js') && !['financial_support', 'donating'].includes(this.productType) ? this.miniCheckoutWidget() : ''), this.showQuickBuy && this.isApplePayActive ? h("salla-quick-buy", { ...this.getQuickBuyBtnAttributes() }) : '');
169
173
  }
170
- componentDidLoad() {
174
+ async componentDidLoad() {
175
+ // Register this component for hooks system, already on it logic to run componentDidLoad trigger
176
+ await Salla.hooks.registerComponent('salla-add-product-button', this);
171
177
  if (!this.notifyOptionsAvailability) {
172
178
  return;
173
179
  }