@salla.sa/twilight-components 2.14.306 → 2.14.307

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 (145) hide show
  1. package/dist/cjs/{filepond-T68FpD2x.js → filepond-Btud-9cx.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-D2qWU0E8.js → filepond-plugin-file-poster--Gwmscgl.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-BBlP06s2.js → filepond-plugin-file-validate-size-BOJQxGjN.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-DsoFa7eA.js → filepond-plugin-file-validate-type-C77Hrmz7.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-Db2ao8Iq.js → filepond-plugin-image-edit-DI9lM8fO.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-BR30PCYO.js → filepond-plugin-image-exif-orientation-DLoZc-P9.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-CRbzO01p.js → filepond-plugin-image-preview-DHeIf3Qv.js} +1 -1
  8. package/dist/cjs/{index-_C7Hhk-4.js → index-BW35Qz0q.js} +1 -1
  9. package/dist/cjs/{index-B-Pk8e4E.js → index-C_8SUOhh.js} +2 -2
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/salla-accordion_62.cjs.entry.js +95 -67
  12. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-order-totals-card.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-review-card.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-trust-badges.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-file-upload/salla-file-upload.js +23 -14
  47. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +72 -61
  48. package/dist/components/index.js +2 -2
  49. package/dist/components/salla-file-upload2.js +22 -13
  50. package/dist/components/salla-rating-modal.js +64 -61
  51. package/dist/esm/{filepond-CEA-Ut0D.js → filepond-BDCqb9n1.js} +1 -1
  52. package/dist/esm/{filepond-plugin-file-poster-CrHfyiKb.js → filepond-plugin-file-poster-Csff9zr1.js} +1 -1
  53. package/dist/esm/{filepond-plugin-file-validate-size-BAjMQFxV.js → filepond-plugin-file-validate-size-uT0vdpSK.js} +1 -1
  54. package/dist/esm/{filepond-plugin-file-validate-type-3WttM4LY.js → filepond-plugin-file-validate-type-C71qG90l.js} +1 -1
  55. package/dist/esm/{filepond-plugin-image-edit-gXv8D0gp.js → filepond-plugin-image-edit-AV3f4iVU.js} +1 -1
  56. package/dist/esm/{filepond-plugin-image-exif-orientation-Cqa1508w.js → filepond-plugin-image-exif-orientation-BrahCgFe.js} +1 -1
  57. package/dist/esm/{filepond-plugin-image-preview-k7khQXHq.js → filepond-plugin-image-preview-B73Halt8.js} +1 -1
  58. package/dist/esm/{index-DzTVR6sF.js → index-CkTB8LrG.js} +2 -2
  59. package/dist/esm/{index-hJWVffcN.js → index-DAIvUtTl.js} +1 -1
  60. package/dist/esm/loader.js +3 -3
  61. package/dist/esm/salla-accordion_62.entry.js +95 -67
  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-cart-item-offers.entry.js +1 -1
  66. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  67. package/dist/esm/salla-contacts.entry.js +1 -1
  68. package/dist/esm/salla-custom-fields.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-options.entry.js +1 -1
  80. package/dist/esm/salla-order-details.entry.js +1 -1
  81. package/dist/esm/salla-order-summary.entry.js +1 -1
  82. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  83. package/dist/esm/salla-orders.entry.js +1 -1
  84. package/dist/esm/salla-payments.entry.js +1 -1
  85. package/dist/esm/salla-price-range.entry.js +1 -1
  86. package/dist/esm/salla-review-card.entry.js +1 -1
  87. package/dist/esm/salla-reviews-page.entry.js +1 -1
  88. package/dist/esm/salla-reviews.entry.js +1 -1
  89. package/dist/esm/salla-social.entry.js +1 -1
  90. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  91. package/dist/esm/salla-tooltip.entry.js +1 -1
  92. package/dist/esm/salla-trust-badges.entry.js +1 -1
  93. package/dist/esm/salla-verify.entry.js +1 -1
  94. package/dist/esm/salla-wallet.entry.js +1 -1
  95. package/dist/esm/twilight.js +3 -3
  96. package/dist/twilight/{p-eff7b7fd.entry.js → p-07e3af79.entry.js} +1 -1
  97. package/dist/twilight/{p-dc88b0d4.entry.js → p-152cca87.entry.js} +1 -1
  98. package/dist/twilight/{p-e2a7ad27.entry.js → p-1ac688b1.entry.js} +1 -1
  99. package/dist/twilight/{p-a6793957.entry.js → p-2bc66d76.entry.js} +1 -1
  100. package/dist/twilight/{p-8f7c61ae.entry.js → p-2e1acb31.entry.js} +1 -1
  101. package/dist/twilight/{p-e85c2ce3.entry.js → p-2f0c4c48.entry.js} +1 -1
  102. package/dist/twilight/{p-146fef48.entry.js → p-369e287b.entry.js} +1 -1
  103. package/dist/twilight/{p-27797654.entry.js → p-391bfab0.entry.js} +1 -1
  104. package/dist/twilight/{p-9f7048f9.entry.js → p-39fbc8df.entry.js} +1 -1
  105. package/dist/twilight/{p-2c10446c.entry.js → p-3d65ce04.entry.js} +1 -1
  106. package/dist/twilight/{p-7f980b83.entry.js → p-49d27a30.entry.js} +1 -1
  107. package/dist/twilight/{p-ead30e6f.entry.js → p-4b743277.entry.js} +1 -1
  108. package/dist/twilight/{p-4be84919.entry.js → p-50066053.entry.js} +1 -1
  109. package/dist/twilight/{p-e5fa1278.entry.js → p-5e393287.entry.js} +1 -1
  110. package/dist/twilight/{p-a962dc4e.entry.js → p-683db036.entry.js} +1 -1
  111. package/dist/twilight/{p-cafa3981.entry.js → p-69d77416.entry.js} +1 -1
  112. package/dist/twilight/{p-a1c13dc3.entry.js → p-6da8bb12.entry.js} +1 -1
  113. package/dist/twilight/{p-eaf534c7.entry.js → p-774db722.entry.js} +1 -1
  114. package/dist/twilight/{p-21474b0b.entry.js → p-7826e12d.entry.js} +1 -1
  115. package/dist/twilight/{p-f7a3fa8e.entry.js → p-7fec8b2b.entry.js} +1 -1
  116. package/dist/twilight/{p-CIpEMPXT.js → p-85r8le_w.js} +1 -1
  117. package/dist/twilight/{p-27735fc2.entry.js → p-89ed3133.entry.js} +1 -1
  118. package/dist/twilight/{p-CBEtXGh0.js → p-AkZZv6o3.js} +1 -1
  119. package/dist/twilight/{p-B65_j3d4.js → p-CDzETZL4.js} +1 -1
  120. package/dist/twilight/{p-BiU9nldp.js → p-CR3Odb2N.js} +1 -1
  121. package/dist/twilight/{p-DzTVR6sF.js → p-CkTB8LrG.js} +1 -1
  122. package/dist/twilight/{p-C8nDt0jG.js → p-CoViVjAD.js} +1 -1
  123. package/dist/twilight/{p-Czub2Z40.js → p-D9xbcyYI.js} +1 -1
  124. package/dist/twilight/{p-BakkriQz.js → p-Wr2wkBmL.js} +2 -2
  125. package/dist/twilight/{p-be48e8c4.entry.js → p-a4b4dfb6.entry.js} +1 -1
  126. package/dist/twilight/{p-0ae9e425.entry.js → p-a5611c44.entry.js} +1 -1
  127. package/dist/twilight/{p-dcf5a422.entry.js → p-b1eb710a.entry.js} +1 -1
  128. package/dist/twilight/{p-f2525950.entry.js → p-c4312308.entry.js} +1 -1
  129. package/dist/twilight/p-c7aec160.entry.js +11 -0
  130. package/dist/twilight/{p-c3bbc744.entry.js → p-d1e5e51e.entry.js} +1 -1
  131. package/dist/twilight/{p-8c264b4c.entry.js → p-d3fc316c.entry.js} +1 -1
  132. package/dist/twilight/{p-e7544665.entry.js → p-d70e73be.entry.js} +1 -1
  133. package/dist/twilight/{p-da06dd7e.entry.js → p-dbe530e9.entry.js} +1 -1
  134. package/dist/twilight/p-e0386eb6.entry.js +4 -0
  135. package/dist/twilight/{p-2a63d302.entry.js → p-e086a18a.entry.js} +1 -1
  136. package/dist/twilight/{p-cda9559e.entry.js → p-e41ed882.entry.js} +1 -1
  137. package/dist/twilight/{p-dd107ead.entry.js → p-ea727ca3.entry.js} +1 -1
  138. package/dist/twilight/{p-D6rcrZ5Y.js → p-xlB0zmD0.js} +1 -1
  139. package/dist/twilight/twilight.esm.js +1 -1
  140. package/dist/types/components/salla-file-upload/salla-file-upload.d.ts +5 -5
  141. package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +21 -19
  142. package/dist/types/components.d.ts +2 -2
  143. package/package.json +5 -5
  144. package/dist/twilight/p-0924f4fa.entry.js +0 -4
  145. package/dist/twilight/p-7ab35a9b.entry.js +0 -11
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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');
@@ -3544,13 +3544,13 @@ const SallaFileUpload = class {
3544
3544
  return;
3545
3545
  try {
3546
3546
  const [FilePondModule, FilePondPluginFileValidateSize, FilePondPluginImageExifOrientation, FilePondPluginImagePreview, FilePondPluginImageEdit, FilePondPluginFileValidateType, FilePondPluginFilePoster] = await Promise.all([
3547
- Promise.resolve().then(function () { return require('./filepond-T68FpD2x.js'); }).then(function (n) { return n.filepond; }),
3548
- Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-size-BBlP06s2.js'); }).then(function (n) { return n.filepondPluginFileValidateSize; }),
3549
- Promise.resolve().then(function () { return require('./filepond-plugin-image-exif-orientation-BR30PCYO.js'); }).then(function (n) { return n.filepondPluginImageExifOrientation; }),
3550
- Promise.resolve().then(function () { return require('./filepond-plugin-image-preview-CRbzO01p.js'); }).then(function (n) { return n.filepondPluginImagePreview; }),
3551
- Promise.resolve().then(function () { return require('./filepond-plugin-image-edit-Db2ao8Iq.js'); }).then(function (n) { return n.filepondPluginImageEdit; }),
3552
- Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-type-DsoFa7eA.js'); }).then(function (n) { return n.filepondPluginFileValidateType; }),
3553
- Promise.resolve().then(function () { return require('./filepond-plugin-file-poster-D2qWU0E8.js'); }).then(function (n) { return n.filepondPluginFilePoster; })
3547
+ Promise.resolve().then(function () { return require('./filepond-Btud-9cx.js'); }).then(function (n) { return n.filepond; }),
3548
+ Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-size-BOJQxGjN.js'); }).then(function (n) { return n.filepondPluginFileValidateSize; }),
3549
+ Promise.resolve().then(function () { return require('./filepond-plugin-image-exif-orientation-DLoZc-P9.js'); }).then(function (n) { return n.filepondPluginImageExifOrientation; }),
3550
+ Promise.resolve().then(function () { return require('./filepond-plugin-image-preview-DHeIf3Qv.js'); }).then(function (n) { return n.filepondPluginImagePreview; }),
3551
+ Promise.resolve().then(function () { return require('./filepond-plugin-image-edit-DI9lM8fO.js'); }).then(function (n) { return n.filepondPluginImageEdit; }),
3552
+ Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-type-C77Hrmz7.js'); }).then(function (n) { return n.filepondPluginFileValidateType; }),
3553
+ Promise.resolve().then(function () { return require('./filepond-plugin-file-poster--Gwmscgl.js'); }).then(function (n) { return n.filepondPluginFilePoster; })
3554
3554
  ]);
3555
3555
  this.FilePond = FilePondModule;
3556
3556
  // Register plugins
@@ -3844,11 +3844,11 @@ const SallaFileUpload = class {
3844
3844
  }
3845
3845
  }
3846
3846
  render() {
3847
- return (index.h(index.Host, { key: '68939496fd8cfcc89a7a5d21e7e4daedab0db536', class: {
3847
+ return (index.h(index.Host, { key: '45383bff9bc408ef0328e888751827e6fc70038d', class: {
3848
3848
  "s-file-upload": true,
3849
3849
  "s-file-upload-profile-image": this.profileImage,
3850
3850
  "s-file-upload-multiple": this.allowMultiple,
3851
- } }, index.h("input", { key: 'adef3f296d759850322faf038602143a0239201d', type: "file", name: this.name, value: this.value, ref: ele => this.fileUploader = ele, required: this.required, class: "s-file-upload-wrapper s-file-upload-input", accept: this.accept }), this.allowMultiple && this.showMaxCountHint ? index.h("div", { class: "s-file-upload-hint s-hidden" }, this.max_count_hint(this.maxFilesCount)) : '', index.h("input", { key: 'dc74f8a155eeedd294548f782ed158f1a889b373', class: "s-hidden", name: 'hidden-' + this.name, required: this.required, value: this.value, ref: input => this.hiddenInput = input })));
3851
+ } }, index.h("input", { key: '323e469923868db4e322d67c1dd8a7efc245fe5f', type: "file", name: this.name, value: this.value, ref: ele => this.fileUploader = ele, required: this.required, class: "s-file-upload-wrapper s-file-upload-input", accept: this.accept }), this.allowMultiple && this.showMaxCountHint ? index.h("div", { class: "s-file-upload-hint s-hidden" }, this.max_count_hint(this.maxFilesCount)) : '', index.h("input", { key: '42458ac28b13ba4e6c6dc80a30054e0e567a9366', class: "s-hidden", name: 'hidden-' + this.name, required: this.required, value: this.value, ref: input => this.hiddenInput = input })));
3852
3852
  }
3853
3853
  componentDidLoad() {
3854
3854
  let files = this.getFiles();
@@ -3889,10 +3889,18 @@ const SallaFileUpload = class {
3889
3889
  },
3890
3890
  onprocessfile: (error, file) => {
3891
3891
  if (this.allowMultiple && !error) {
3892
- const lastUploadedFile = this.uploadedFiles[this.uploadedFiles.length - 1];
3893
- if (lastUploadedFile) {
3894
- file.setMetadata('id', lastUploadedFile.id, true);
3895
- file.setMetadata('url', lastUploadedFile.url, true);
3892
+ // Find the uploaded file data using the serverId returned from onload
3893
+ const serverId = file.serverId;
3894
+ const uploadedFile = this.uploadedFiles.find(f => f.id === serverId);
3895
+ if (uploadedFile) {
3896
+ // Set metadata on the file
3897
+ file.setMetadata('id', uploadedFile.id, true);
3898
+ file.setMetadata('url', uploadedFile.url, true);
3899
+ this.value = {
3900
+ id: uploadedFile.id,
3901
+ url: uploadedFile.url
3902
+ };
3903
+ this.uploadedHandler();
3896
3904
  }
3897
3905
  }
3898
3906
  },
@@ -3933,20 +3941,21 @@ const SallaFileUpload = class {
3933
3941
  let responseData = JSON.parse(response).data;
3934
3942
  if ((this.instantUpload || this.allowMultiple) && Array.isArray(responseData) && responseData.length > 0) {
3935
3943
  const fileId = `${this.host.id}-${Math.floor(100 + Math.random() * 900)}`;
3944
+ const fileUrl = responseData[0];
3945
+ // Store the upload result to be picked up by onprocessfile
3936
3946
  this.uploadedFiles.push({
3937
3947
  id: fileId,
3938
- url: responseData[0]
3948
+ url: fileUrl
3939
3949
  });
3940
- this.value = {
3941
- id: fileId,
3942
- url: responseData[0]
3943
- };
3950
+ // Return the serverId that FilePond will use to identify this file
3951
+ // We'll use the fileId as the serverId
3952
+ return fileId;
3944
3953
  }
3945
3954
  else {
3946
3955
  this.value = responseData.filePath || responseData.url;
3956
+ this.uploadedHandler();
3957
+ return this.value;
3947
3958
  }
3948
- this.uploadedHandler();
3949
- return this.value;
3950
3959
  },
3951
3960
  headers: salla.api.getHeaders(),
3952
3961
  onerror: response => {
@@ -10695,6 +10704,15 @@ const SallaRatingModal = class {
10695
10704
  index.registerInstance(this, hostRef);
10696
10705
  this.hasError = false;
10697
10706
  this.showContactWidget = true;
10707
+ this.images = [];
10708
+ this.productImages = {};
10709
+ this.editItemImages = [];
10710
+ this.contact_body = (store, id, customer) => salla.lang.get('pages.rating.contact_subject', { store, id, customer });
10711
+ this.editMode = false;
10712
+ this.defaultMode = false;
10713
+ this.deleteMode = false;
10714
+ this.shouldOpenDeleteModal = false;
10715
+ this.editItem = null;
10698
10716
  this.dragAndDropFilesLabel = salla.lang.get('common.uploader.drag_and_drop_files');
10699
10717
  this.contactSubjectLabel = salla.lang.get('pages.rating.contact_subject');
10700
10718
  this.editReviewLabel = salla.lang.get('pages.rating.edit_review');
@@ -10708,24 +10726,16 @@ const SallaRatingModal = class {
10708
10726
  this.confirmDeleteBtn = salla.lang.get('common.elements.confirm_delete');
10709
10727
  this.updatedSuccessfullyLabel = salla.lang.get("pages.rating.review_updated_successfully");
10710
10728
  this.deletedSuccessfullyLabel = salla.lang.get("pages.rating.review_deleted_successfully");
10729
+ this.contactUsLabel = salla.lang.get('blocks.footer.social');
10711
10730
  this.allowAttachImages = salla.config.get('store.settings.rating.allow_attach_images');
10712
10731
  this.allowContactSupport = salla.config.get('store.settings.rating.allow_contact_support');
10713
- this.contactUsLabel = salla.lang.get('blocks.footer.social');
10714
- this.images = [];
10715
- this.productImages = {};
10716
- this.editItemImages = [];
10717
- this.contact_body = (store, id, customer) => salla.lang.get('pages.rating.contact_subject', { store, id, customer });
10718
- this.editMode = false;
10719
- this.defaultMode = false;
10720
- this.deleteMode = false;
10721
- this.shouldOpenDeleteModal = false;
10722
- this.editItem = null;
10723
10732
  this.contentRefs = [];
10724
10733
  this.hiddenInputs = [];
10725
10734
  this.isOpen = [];
10726
10735
  this.stepsCount = 0;
10727
10736
  this.currentIndex = 0;
10728
10737
  this.submitted = [];
10738
+ this.MAX_UPLOAD_LIMIT = 3;
10729
10739
  this.onOpen = (index) => {
10730
10740
  return new Promise((resolve) => {
10731
10741
  anime_es.anime({
@@ -10756,7 +10766,7 @@ const SallaRatingModal = class {
10756
10766
  await (this.isOpen[index] ? this.onOpen(index) : this.onClose(index));
10757
10767
  await new Promise((resolve) => setTimeout(resolve, 101));
10758
10768
  if (this.body && this.currentTab) {
10759
- setTimeout(() => this.body.setAttribute('style', 'height:' + (this.currentTab.offsetHeight + (this.editMode ? 60 : 0)) + 'px'));
10769
+ setTimeout(() => this.body.setAttribute('style', `height:${this.currentTab.offsetHeight + (this.editMode ? 60 : 0)}px`));
10760
10770
  }
10761
10771
  };
10762
10772
  salla.onReady(() => {
@@ -10789,8 +10799,10 @@ const SallaRatingModal = class {
10789
10799
  await setNestedAsync('en.trans', 'pages.rating.review_updated_successfully', 'The review has been successfully updated.');
10790
10800
  await setNestedAsync('ar.trans', 'pages.rating.review_deleted_successfully', 'تم حذف التقييم بنجاح');
10791
10801
  await setNestedAsync('en.trans', 'pages.rating.review_deleted_successfully', 'The review has been successfully deleted.');
10792
- await setNestedAsync('ar.trans', 'common.uploader.max_three_images', '.أضف 3 صور كحد أقصى');
10793
- await setNestedAsync('en.trans', 'common.uploader.max_three_images', 'Add up to 3 images maximum.');
10802
+ await setNestedAsync('ar.trans', 'pages.rating.images_count', 'الصور ( :current من أصل :total )');
10803
+ await setNestedAsync('en.trans', 'pages.rating.images_count', 'Images ( :current of :total )');
10804
+ await setNestedAsync('ar.trans', 'common.uploader.max_three_images', `.أضف ${this.MAX_UPLOAD_LIMIT} صور كحد أقصى`);
10805
+ await setNestedAsync('en.trans', 'common.uploader.max_three_images', `Add up to ${this.MAX_UPLOAD_LIMIT} images maximum.`);
10794
10806
  await setNestedAsync('ar.trans', 'common.elements.confirm_delete', 'تأكيد الحذف');
10795
10807
  await setNestedAsync('en.trans', 'common.elements.confirm_delete', 'Confirm deletion');
10796
10808
  this.dragAndDropFilesLabel = salla.lang.get('common.uploader.drag_and_drop_files');
@@ -10819,7 +10831,17 @@ const SallaRatingModal = class {
10819
10831
  return new Promise((resolve) => {
10820
10832
  setTimeout(() => {
10821
10833
  this.modal.open().then(() => this.order || salla.api.withoutNotifier(() => salla.rating.api.order(this.orderId ? this.orderId : salla.config.get('page.id'))).then(res => this.order = res.data))
10822
- .then(() => this.modal.setTitle(salla.lang.get('pages.rating.rate_order') + ' <span class="unicode">(#' + this.order.id + ')</span>'))
10834
+ .then(() => this.modal.setTitle(`${salla.lang.get('pages.rating.rate_order')} <span class="unicode">(#${this.order.id})</span>`))
10835
+ .then(() => {
10836
+ // Initialize productImages for all products
10837
+ const initialImages = {};
10838
+ if (this.order?.products) {
10839
+ for (const item of this.order.products) {
10840
+ initialImages[item.product.id] = [];
10841
+ }
10842
+ }
10843
+ this.productImages = initialImages;
10844
+ })
10823
10845
  .then(() => this.modal.stopLoading())
10824
10846
  .then(() => this.stepsCount = [this.order.testimonials_enabled, this.order.products_enabled, this.order.shipping_enabled].filter(enabled => enabled).length)
10825
10847
  .then(() => setTimeout(() => this.handleWizard(), 100))
@@ -10858,9 +10880,9 @@ const SallaRatingModal = class {
10858
10880
  }
10859
10881
  }
10860
10882
  async editReview() {
10861
- let data = {};
10883
+ const data = {};
10862
10884
  this.editModal.querySelectorAll('[name]').forEach((input) => {
10863
- let inputData = salla.helpers.inputData(input.name, input.value, data);
10885
+ const inputData = salla.helpers.inputData(input.name, input.value, data);
10864
10886
  data[inputData.name] = inputData.value;
10865
10887
  });
10866
10888
  data.images && (data.images = data.images.split(','));
@@ -10910,16 +10932,16 @@ const SallaRatingModal = class {
10910
10932
  this.currentTab = current || this.steps[this.currentIndex];
10911
10933
  Helper.Helper.toggleClassIf('.s-rating-modal-step-dot', 's-rating-modal-bg-gray', 's-rating-modal-bg-primary', dot => dot != this.dots[this.currentIndex])
10912
10934
  .toggleClassIf('.s-rating-modal-step', 's-rating-modal-active', 's-rating-modal-hidden', tab => tab == this.currentTab);
10913
- if (this.currentIndex != 0) {
10935
+ if (this.currentIndex !== 0) {
10914
10936
  // the animation
10915
10937
  Helper.Helper.toggleElementClassIf(this.currentTab, 's-rating-modal-unactive', 's-rating-modal-hidden', () => true);
10916
10938
  setTimeout(() => Helper.Helper.toggleElementClassIf(this.currentTab, 's-rating-modal-active', 's-rating-modal-unactive', () => true), 300);
10917
10939
  }
10918
10940
  // Btn text
10919
- let nextType = this.steps[this.currentIndex + 1]?.dataset.type;
10920
- this.nextBtn?.setText(nextType ? salla.lang.get('pages.rating.rate') + ' ' + salla.lang.get('pages.rating.' + nextType)
10941
+ const nextType = this.steps[this.currentIndex + 1]?.dataset.type;
10942
+ this.nextBtn?.setText(nextType ? `${salla.lang.get('pages.rating.rate')} ${salla.lang.get(`pages.rating.${nextType}`)}`
10921
10943
  : salla.lang.get('pages.rating.send_ratings'));
10922
- setTimeout(() => this.body?.setAttribute('style', 'height:' + this.currentTab?.offsetHeight + 'px'));
10944
+ setTimeout(() => this.body?.setAttribute('style', `height:${this.currentTab?.offsetHeight}px`));
10923
10945
  }
10924
10946
  previousTab() {
10925
10947
  this.currentIndex > 0 && this.currentIndex--;
@@ -10962,15 +10984,13 @@ const SallaRatingModal = class {
10962
10984
  validationMessage.innerHTML = salla.lang.get(`pages.rating.rate_${type}_stars`).replace(' (:item)', '');
10963
10985
  throw new Error(validationMessage.innerHTML);
10964
10986
  }
10965
- else {
10966
- validationMessage.innerHTML = '';
10967
- }
10987
+ validationMessage.innerHTML = '';
10968
10988
  }
10969
10989
  sendFeedback() {
10970
- let data = {};
10990
+ const data = {};
10971
10991
  this.currentTab.querySelectorAll('[name]').forEach((input) => {
10972
10992
  //decode names like `<input name="jamal[inner]" value="hi">` to be {name:jamal, value: {inner:"hi"}}
10973
- let inputData = salla.helpers.inputData(input.name, input.value, data);
10993
+ const inputData = salla.helpers.inputData(input.name, input.value, data);
10974
10994
  data[inputData.name] = inputData.value;
10975
10995
  });
10976
10996
  if (this.allowAttachImages && data.products) {
@@ -10983,15 +11003,15 @@ const SallaRatingModal = class {
10983
11003
  if (Object.keys(data).length == 0) {
10984
11004
  return;
10985
11005
  }
10986
- data['order_id'] = this.orderId;
10987
- data['type'] = this.currentTab.dataset.type;
11006
+ data.order_id = this.orderId;
11007
+ data.type = this.currentTab.dataset.type;
10988
11008
  this.submitted.push(this.currentIndex);
10989
11009
  return salla.rating.api[this.currentTab.dataset.type](data);
10990
11010
  }
10991
11011
  showThankYou() {
10992
11012
  let seconds = 10;
10993
11013
  let timeToClose = setInterval(() => {
10994
- this.thanksTime.innerHTML = '00:0' + (seconds--);
11014
+ this.thanksTime.innerHTML = `00:0${seconds--}`;
10995
11015
  if (seconds > 0) {
10996
11016
  return;
10997
11017
  }
@@ -11026,7 +11046,7 @@ const SallaRatingModal = class {
11026
11046
  if (isOpen.detail) {
11027
11047
  return;
11028
11048
  }
11029
- this.modal && this.modal.close();
11049
+ this.modal?.close();
11030
11050
  this.editItem = null;
11031
11051
  this.editItemImages = [];
11032
11052
  this.hiddenInputs[1] && (this.hiddenInputs[1].value = '');
@@ -11040,11 +11060,16 @@ const SallaRatingModal = class {
11040
11060
  getDeleteModal() {
11041
11061
  return (index.h("salla-modal", { ref: modal => this.deleteModal = modal, width: "xs", onModalVisibilityChanged: (isOpen) => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-delete-wrapper", ref: el => this.body = el }, index.h("h3", null, this.confirmDeletionLabel), index.h("p", null, this.areYouSureLabel), index.h("div", { class: "s-rating-modal-delete-actions" }, index.h("salla-button", { loaderPosition: 'center', onClick: () => this.deleteReview() }, this.confirmDeleteBtn), index.h("salla-button", { color: 'danger', fill: 'outline', onClick: () => this.deleteModal.close() }, this.cancelLabel)))));
11042
11062
  }
11063
+ renderUploadedImagesCount(productId) {
11064
+ // In edit mode, use editItemImages; in default mode, use productImages
11065
+ const imageCount = this.editMode ? this.editItemImages.length : (this.productImages[productId] || []).length;
11066
+ return (index.h("span", { class: "s-rating-modal-upload-count" }, salla.lang.choice("pages.rating.images_count", imageCount, { current: imageCount, total: this.MAX_UPLOAD_LIMIT })));
11067
+ }
11043
11068
  getEditModal() {
11044
11069
  return (index.h("salla-modal", { ref: modal => this.editModal = modal, width: "md", onModalVisibilityChanged: (isOpen) => this.resetData(isOpen) }, index.h("div", { class: "s-rating-modal-edit-wrapper", ref: el => this.body = el }, this.editType === "store" && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "store", ref: currentTab => this.currentTab = currentTab }, index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), index.h("h2", { class: "s-rating-modal-title" }, salla.lang.get('pages.rating.rate_the_store')), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", value: this.editItem.content, class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType === "shipping" && this.editItem ? (index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step", "data-type": "shipping", ref: currentTab => this.currentTab = currentTab }, this.editItem.shipping.logo
11045
11070
  ? index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: this.editItem.shipping.logo, class: "s-rating-modal-shipping-logo", alt: this.editItem.shipping.name }))
11046
- : index.h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast }), index.h("div", { class: "s-rating-modal-title" }, " ", salla.lang.get('pages.rating.rate_shipping') + ' ' + this.editItem.shipping.name), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", class: "s-rating-modal-comment", value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType == "product" && this.editItem ? index.h("section", { class: "s-rating-modal-step", "data-type": "products", ref: currentTab => this.currentTab = currentTab }, index.h("div", { class: "s-rating-modal-product" }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: this.editItem.product.image.url, alt: this.editItem.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", this.editItem.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", editable: true, value: this.editItem.stars }))), this.allowAttachImages && index.h("salla-button", { class: `s-comments-item-like-btn mt-0`, loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(1) }, index.h("span", null, this.editItemImages.length ? this.editImagesLabel : this.addImagesLabel), index.h("span", { innerHTML: ImageIcon }))), index.h("textarea", { value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_product_rate'), name: "content", class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[1] = el) }, index.h("salla-file-upload", { name: "images", allowMultiple: true, maxFilesCount: 3, imagePreviewHeight: 117, filePosterHeight: 117, "instant-upload": true, type: "feedback", files: JSON.stringify(this.editItemImages), payloadName: "files[]", id: `file-${this.editItem.product.id}`, title: this.editItem.product.name, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
11047
- this.editItemImages.push(e.detail);
11071
+ : index.h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast }), index.h("div", { class: "s-rating-modal-title" }, " ", `${salla.lang.get('pages.rating.rate_shipping')} ${this.editItem.shipping.name}`), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large", editable: true, value: this.editItem.stars })), index.h("textarea", { name: "content", class: "s-rating-modal-comment", value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))) : null, this.editType == "product" && this.editItem ? index.h("section", { class: "s-rating-modal-step", "data-type": "products", ref: currentTab => this.currentTab = currentTab }, index.h("div", { class: "s-rating-modal-product" }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: this.editItem.product.image.url, alt: this.editItem.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", this.editItem.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", editable: true, value: this.editItem.stars }))), this.allowAttachImages && index.h("salla-button", { class: "s-comments-item-like-btn mt-0", loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(1) }, index.h("span", null, this.editItemImages.length ? this.editImagesLabel : this.addImagesLabel), index.h("span", { innerHTML: ImageIcon }))), index.h("textarea", { value: this.editItem.content, placeholder: salla.lang.get('pages.rating.write_product_rate'), name: "content", class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[1] = el) }, index.h("salla-file-upload", { name: "images", allowMultiple: true, maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, filePosterHeight: 117, "instant-upload": true, type: "feedback", files: JSON.stringify(this.editItemImages), payloadName: "files[]", id: `file-${this.editItem.product.id}`, title: this.editItem.product.name, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
11072
+ this.editItemImages = [...this.editItemImages, e.detail];
11048
11073
  this.hiddenInputs[1].value = this.editItemImages.map(img => img.url).join();
11049
11074
  }, onRemoved: (e) => {
11050
11075
  const removedId = e.detail;
@@ -11052,7 +11077,7 @@ const SallaRatingModal = class {
11052
11077
  return;
11053
11078
  this.editItemImages = this.editItemImages.filter(img => img.id !== removedId);
11054
11079
  this.hiddenInputs[1].value = this.editItemImages.map(img => img.url).join();
11055
- }, labelIdle: this.getFilepondPlaceholder() }), index.h("input", { type: "hidden", name: "images", value: this.editItem.images.join(','), ref: (el) => (this.hiddenInputs[1] = el) })))))
11080
+ }, labelIdle: this.getFilepondPlaceholder() }), index.h("input", { type: "hidden", name: "images", value: this.editItem.images.join(','), ref: (el) => (this.hiddenInputs[1] = el) }), this.renderUploadedImagesCount(this.editItem.product.id)))))
11056
11081
  : null, index.h("div", { class: "s-rating-modal-footer s-rating-modal-footer-end" }, index.h("salla-button", { "loader-position": 'center', onClick: () => this.editReview() }, this.editReviewLabel)))));
11057
11082
  }
11058
11083
  render() {
@@ -11063,28 +11088,31 @@ const SallaRatingModal = class {
11063
11088
  return index.h(index.Host, { class: "s-rating-modal" }, this.getEditModal());
11064
11089
  }
11065
11090
  if (this.defaultMode) {
11066
- return (index.h(index.Host, { class: "s-rating-modal" }, index.h("salla-modal", { class: "s-rating-modal-wrap", onModalVisibilityChanged: (isOpen) => this.resetData(isOpen), isLoading: true, width: "md", ref: modal => this.modal = modal }, index.h("div", { slot: 'loading' }, index.h("div", { class: "s-rating-modal-skeleton" }, index.h("salla-skeleton", { type: 'circle', height: '80px', width: '80px' }), index.h("salla-skeleton", { height: '15px', width: '60%' }), index.h("salla-skeleton", { height: '10px', width: '30%' }), index.h("div", { class: "s-rating-modal-skeleton-stars" }, [...Array(5)].map(() => index.h("div", { innerHTML: WishListIcon }))), index.h("salla-skeleton", { height: '100px', width: '100%' }), index.h("div", { class: "s-rating-modal-skeleton-footer" }, index.h("salla-skeleton", { height: '40px', width: '30%' })))), !this.hasError && this.order
11091
+ return (index.h(index.Host, { class: "s-rating-modal" }, index.h("salla-modal", { class: "s-rating-modal-wrap", onModalVisibilityChanged: (isOpen) => this.resetData(isOpen), isLoading: true, width: "md", ref: modal => this.modal = modal }, index.h("div", { slot: 'loading' }, index.h("div", { class: "s-rating-modal-skeleton" }, index.h("salla-skeleton", { type: 'circle', height: '80px', width: '80px' }), index.h("salla-skeleton", { height: '15px', width: '60%' }), index.h("salla-skeleton", { height: '10px', width: '30%' }), index.h("div", { class: "s-rating-modal-skeleton-stars" }, [...Array(5)].map((v) => index.h("div", { key: v, innerHTML: WishListIcon }))), index.h("salla-skeleton", { height: '100px', width: '100%' }), index.h("div", { class: "s-rating-modal-skeleton-footer" }, index.h("salla-skeleton", { height: '40px', width: '30%' })))), !this.hasError && this.order
11067
11092
  ? [index.h("div", { class: "s-rating-modal-wrapper", ref: el => this.body = el }, this.order?.testimonials_enabled ?
11068
11093
  index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "store" }, index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png'), alt: "store name", class: "s-rating-modal-store-logo" })), index.h("h2", { class: "s-rating-modal-title" }, salla.lang.get('pages.rating.rate_the_store')), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large" })), index.h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_store_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))
11069
11094
  : '', this.order.products_enabled
11070
- ? index.h("section", { class: "s-rating-modal-step s-rating-modal-hidden", "data-type": "products" }, this.order.products.map((item, index$1) => index.h("div", { class: "s-rating-modal-product", key: index$1 }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: item.product.thumbnail, alt: item.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", item.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", name: `products[${index$1}][rating]` }))), this.allowAttachImages && index.h("salla-button", { class: `s-comments-item-like-btn mt-0`, loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(index$1) }, index.h("span", null, this.addImagesLabel), index.h("span", { innerHTML: ImageIcon }))), index.h("input", { type: "hidden", name: `products[${index$1}][product_id]`, value: item.product.id }), index.h("textarea", { placeholder: salla.lang.get('pages.rating.write_product_rate'), name: `products[${index$1}][comment]`, class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[index$1] = el) }, index.h("salla-file-upload", { name: "image", maxFilesCount: 3, imagePreviewHeight: 117, "instant-upload": true, type: "feedback", payloadName: "files[]", id: `file-${item.product.id}`, title: item.product.name, allowMultiple: true, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
11071
- if (!this.productImages[item.product.id]) {
11072
- this.productImages[item.product.id] = [];
11073
- }
11074
- this.productImages[item.product.id].push(e.detail);
11075
- this.hiddenInputs[index$1].value = this.productImages[item.product.id].map(img => img.url);
11095
+ ? index.h("section", { class: "s-rating-modal-step s-rating-modal-hidden", "data-type": "products" }, this.order.products.map((item, index$1) => index.h("div", { class: "s-rating-modal-product", key: index$1 }, index.h("div", { class: "rating-outer-form", "data-stars-error": salla.lang.get('pages.rating.rate_product_stars') }, index.h("div", { class: "s-rating-modal-product-img-wrap" }, index.h("img", { src: item.product.thumbnail, alt: item.product.name, class: "s-rating-modal-product-img" })), index.h("div", { class: "s-rating-modal-product-details" }, index.h("div", { class: "s-rating-modal-product-details-main" }, index.h("div", null, index.h("h3", { class: "s-rating-modal-product-title" }, " ", item.product.name), index.h("div", { class: "s-rating-modal-stars-product" }, index.h("salla-rating-stars", { withLabel: true, size: "small", name: `products[${index$1}][rating]` }))), this.allowAttachImages && index.h("salla-button", { class: "s-comments-item-like-btn mt-0", loaderPosition: 'center', fill: 'outline', size: 'small', onClick: () => this.toggleUploader(index$1) }, index.h("span", null, this.addImagesLabel), index.h("span", { innerHTML: ImageIcon }))), index.h("input", { type: "hidden", name: `products[${index$1}][product_id]`, value: item.product.id }), index.h("textarea", { placeholder: salla.lang.get('pages.rating.write_product_rate'), name: `products[${index$1}][comment]`, class: "s-rating-modal-comment" }), index.h("small", { class: "s-rating-modal-validation-msg" }))), this.allowAttachImages && (index.h("div", { class: "s-rating-modal-uploader is-closed", ref: (el) => (this.contentRefs[index$1] = el) }, index.h("salla-file-upload", { name: "image", maxFilesCount: this.MAX_UPLOAD_LIMIT, imagePreviewHeight: 117, "instant-upload": true, type: "feedback", payloadName: "files[]", id: `file-${item.product.id}`, title: item.product.name, allowMultiple: true, instantUpload: true, accept: "image/png, image/jpeg, image/jpg", url: salla.url.api('upload'), onUploaded: (e) => {
11096
+ this.productImages = {
11097
+ ...this.productImages,
11098
+ [item.product.id]: [...(this.productImages[item.product.id] || []), e.detail]
11099
+ };
11100
+ this.hiddenInputs[index$1].value = this.productImages[item.product.id].map(img => img.url).join(',');
11076
11101
  }, onRemoved: (e) => {
11077
11102
  const removedId = e.detail;
11078
- if (!removedId)
11103
+ if (!removedId || !this.productImages[item.product.id])
11079
11104
  return;
11080
- this.productImages[item.product.id] = this.productImages[item.product.id].filter(img => img.id !== removedId);
11081
- this.hiddenInputs[index$1].value = this.productImages[item.product.id].map(img => img.url);
11082
- }, labelIdle: this.getFilepondPlaceholder() }), index.h("input", { type: "hidden", name: `products[${index$1}][images]`, value: JSON.stringify(this.productImages[item.product.id]), ref: (el) => (this.hiddenInputs[index$1] = el) }))))))
11105
+ this.productImages = {
11106
+ ...this.productImages,
11107
+ [item.product.id]: this.productImages[item.product.id].filter(img => img.id !== removedId)
11108
+ };
11109
+ this.hiddenInputs[index$1].value = this.productImages[item.product.id].map(img => img.url).join(',');
11110
+ }, labelIdle: this.getFilepondPlaceholder() }), index.h("input", { type: "hidden", name: `products[${index$1}][images]`, value: (this.productImages[item.product.id] || []).map(img => img.url).join(','), ref: (el) => (this.hiddenInputs[index$1] = el) }), this.renderUploadedImagesCount(item.product.id))))))
11083
11111
  : '', this.order.shipping_enabled && this.order.shipping?.company
11084
11112
  ? index.h("div", { class: "rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden", "data-type": "shipping" }, index.h("input", { type: "hidden", name: "shipping_company_id", value: this.order.shipping.company.id }), this.order.shipping.company.logo
11085
11113
  ? index.h("div", { class: "s-rating-modal-rounded-icon" }, index.h("img", { src: this.order.shipping.company.logo, class: "s-rating-modal-shipping-logo", alt: this.order.shipping.company.name }))
11086
- : index.h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast }), index.h("div", { class: "s-rating-modal-title" }, " ", salla.lang.get('pages.rating.rate_shipping') + ' ' + this.order.shipping.company.name), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large" })), index.h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))
11087
- : '', index.h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => this.thanksTab = el }, index.h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), index.h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), index.h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), index.h("time", { class: "s-rating-modal-thanks-time", ref: el => this.thanksTime = el }))), this.allowContactSupport && this.showContactWidget && (salla.config.get('store.contacts.whatsapp') || salla.config.get('store.contacts.email')) ? index.h("div", { class: "s-rating-modal-contact" }, index.h("p", null, this.contactUsLabel), index.h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && index.h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: whatsapp2.whatsapp }), salla.config.get('store.contacts.email') && index.h("span", { onClick: () => this.handleSendEmail(), innerHTML: mail.MailIcon }))) : '', index.h("div", { class: "s-rating-modal-footer" }, index.h("button", { ref: el => this.backBtn = el, onClick: () => this.previousTab(), class: "s-rating-modal-btn s-rating-modal-unvisiable" }, salla.lang.get('common.elements.back')), this.stepsCount > 1 ? index.h("ul", { class: "s-rating-modal-dots" }, [0, 1, 2].slice(0, this.stepsCount).map(() => index.h("li", { class: 's-rating-modal-bg-gray s-rating-modal-step-dot' }))) : '', index.h("salla-button", { "loader-position": 'center', ref: el => this.nextBtn = el, onClick: () => this.submit() }, salla.lang.get('common.elements.next')))]
11114
+ : index.h("span", { class: "s-rating-modal-icon", innerHTML: ShippingFast }), index.h("div", { class: "s-rating-modal-title" }, " ", `${salla.lang.get('pages.rating.rate_shipping')} ${this.order.shipping.company.name}`), index.h("div", { class: "s-rating-modal-stars-company" }, index.h("salla-rating-stars", { withLabel: true, size: "large" })), index.h("textarea", { name: "comment", class: "s-rating-modal-comment", placeholder: salla.lang.get('pages.rating.write_shipping_rate') }), index.h("small", { class: "s-rating-modal-validation-msg" }))
11115
+ : '', index.h("div", { class: "s-rating-modal-thanks s-rating-modal-hidden", ref: el => this.thanksTab = el }, index.h("span", { class: "s-rating-modal-icon", innerHTML: CheckCircle2 }), index.h("h3", { class: "s-rating-modal-thanks-title" }, salla.lang.get('pages.rating.thanks')), index.h("div", { class: "s-rating-modal-thanks-msg", innerHTML: this.order.thanks_message }), index.h("time", { class: "s-rating-modal-thanks-time", ref: el => this.thanksTime = el }))), this.allowContactSupport && this.showContactWidget && (salla.config.get('store.contacts.whatsapp') || salla.config.get('store.contacts.email')) ? index.h("div", { class: "s-rating-modal-contact" }, index.h("p", null, this.contactUsLabel), index.h("div", { class: "s-rating-modal-contact-icons" }, salla.config.get('store.contacts.whatsapp') && index.h("span", { onClick: () => this.handleSendWhatsApp(), innerHTML: whatsapp2.whatsapp }), salla.config.get('store.contacts.email') && index.h("span", { onClick: () => this.handleSendEmail(), innerHTML: mail.MailIcon }))) : '', index.h("div", { class: "s-rating-modal-footer" }, index.h("button", { ref: el => this.backBtn = el, onClick: () => this.previousTab(), class: "s-rating-modal-btn s-rating-modal-unvisiable" }, salla.lang.get('common.elements.back')), this.stepsCount > 1 ? index.h("ul", { class: "s-rating-modal-dots" }, [0, 1, 2].slice(0, this.stepsCount).map((v) => index.h("li", { key: v, class: 's-rating-modal-bg-gray s-rating-modal-step-dot' }))) : '', index.h("salla-button", { "loader-position": 'center', ref: el => this.nextBtn = el, onClick: () => this.submit() }, salla.lang.get('common.elements.next')))]
11088
11116
  : index.h("salla-placeholder", { alignment: "center" }))));
11089
11117
  }
11090
11118
  }
@@ -12529,7 +12557,7 @@ const SallaTelInput = class {
12529
12557
  if (this.TelInput)
12530
12558
  return;
12531
12559
  try {
12532
- const telInputModule = await Promise.resolve().then(function () { return require('./index-_C7Hhk-4.js'); }).then(function (n) { return n.index; });
12560
+ const telInputModule = await Promise.resolve().then(function () { return require('./index-BW35Qz0q.js'); }).then(function (n) { return n.index; });
12533
12561
  this.TelInput = telInputModule.default;
12534
12562
  }
12535
12563
  catch (error) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.js');
7
7
  var interfaces = require('./interfaces-CX9-6aLf.js');
8
8
 
9
9
  const sallaCustomFieldsCss = ":host{display:block}";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.js');
7
7
  var Helper = require('./Helper-B5NunIdR.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.js');
7
7
  var interfaces = require('./interfaces-DZDQwN6-.js');
8
8
  var Helper = require('./Helper-B5NunIdR.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.js');
7
7
  var Helper = require('./Helper-B5NunIdR.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.js');
7
7
 
8
8
  var copyIcon = `<!-- 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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.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-B-Pk8e4E.js');
6
+ var index = require('./index-C_8SUOhh.js');
7
7
 
8
8
  const sallaOrderTotalsCardCss = ":host{display:block}";
9
9