@salla.sa/twilight-components 2.14.291 → 2.14.292

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 (148) hide show
  1. package/dist/cjs/{filepond-l0In8JzI.js → filepond-B9sLUCBe.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster--TMslLdw.js → filepond-plugin-file-poster-DkzerIBW.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-asc4GviL.js → filepond-plugin-file-validate-size-DF8uFSha.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-MAcIW_lX.js → filepond-plugin-file-validate-type-Dva6K_7l.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-8yC2fM_b.js → filepond-plugin-image-edit-C-0ziNsz.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-D2TaYNJz.js → filepond-plugin-image-exif-orientation-DxXsE_ZP.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-ZhHJTUGt.js → filepond-plugin-image-preview-2v59y8Fv.js} +1 -1
  8. package/dist/cjs/{index-BCqSMje8.js → index-B7O1YF_p.js} +1 -1
  9. package/dist/cjs/{index-CD__TuQ1.js → index-CCofAgHa.js} +2 -2
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/salla-accordion_62.cjs.entry.js +168 -83
  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-filters-widget.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  44. package/dist/cjs/twilight.cjs.js +2 -2
  45. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +20 -5
  46. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +84 -67
  47. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +75 -5
  48. package/dist/components/index.js +2 -2
  49. package/dist/components/keyboard_arrow_right.js +3 -3
  50. package/dist/components/salla-breadcrumb.js +2 -2
  51. package/dist/components/salla-multiple-bundle-product-details2.js +20 -5
  52. package/dist/components/salla-multiple-bundle-product-options-modal2.js +82 -65
  53. package/dist/components/salla-multiple-bundle-product-slider2.js +62 -6
  54. package/dist/components/salla-slider2.js +3 -3
  55. package/dist/esm/{filepond-D-hh7StM.js → filepond-BYDXj1kv.js} +1 -1
  56. package/dist/esm/{filepond-plugin-file-poster-B9peApDJ.js → filepond-plugin-file-poster-CuFchfVe.js} +1 -1
  57. package/dist/esm/{filepond-plugin-file-validate-size-Clsj6zmt.js → filepond-plugin-file-validate-size-DdbaDfww.js} +1 -1
  58. package/dist/esm/{filepond-plugin-file-validate-type-NUNR5wrE.js → filepond-plugin-file-validate-type-BpacmUuQ.js} +1 -1
  59. package/dist/esm/{filepond-plugin-image-edit-D9mIu1qc.js → filepond-plugin-image-edit--2pWYR5x.js} +1 -1
  60. package/dist/esm/{filepond-plugin-image-exif-orientation-DjJUiKBi.js → filepond-plugin-image-exif-orientation-BHXDSKOW.js} +1 -1
  61. package/dist/esm/{filepond-plugin-image-preview-Dqa9Qh69.js → filepond-plugin-image-preview-DOiMBtjb.js} +1 -1
  62. package/dist/esm/{index-r_fPtAzd.js → index-6_auLzVW.js} +1 -1
  63. package/dist/esm/{index-BdPAI7KX.js → index-De5BFkJn.js} +2 -2
  64. package/dist/esm/loader.js +3 -3
  65. package/dist/esm/salla-accordion_62.entry.js +168 -83
  66. package/dist/esm/salla-advertisement.entry.js +1 -1
  67. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  68. package/dist/esm/salla-apps-icons.entry.js +1 -1
  69. package/dist/esm/salla-cart-item-offers.entry.js +1 -1
  70. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  71. package/dist/esm/salla-contacts.entry.js +1 -1
  72. package/dist/esm/salla-filters-widget.entry.js +1 -1
  73. package/dist/esm/salla-filters.entry.js +1 -1
  74. package/dist/esm/salla-installment.entry.js +1 -1
  75. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  76. package/dist/esm/salla-loyalty-program.entry.js +1 -1
  77. package/dist/esm/salla-metadata.entry.js +1 -1
  78. package/dist/esm/salla-notification-item.entry.js +1 -1
  79. package/dist/esm/salla-notifications.entry.js +1 -1
  80. package/dist/esm/salla-offer.entry.js +1 -1
  81. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  82. package/dist/esm/salla-order-details-options.entry.js +1 -1
  83. package/dist/esm/salla-order-details.entry.js +1 -1
  84. package/dist/esm/salla-order-summary.entry.js +1 -1
  85. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  86. package/dist/esm/salla-orders.entry.js +1 -1
  87. package/dist/esm/salla-payments.entry.js +1 -1
  88. package/dist/esm/salla-price-range.entry.js +1 -1
  89. package/dist/esm/salla-review-card.entry.js +1 -1
  90. package/dist/esm/salla-reviews-page.entry.js +1 -1
  91. package/dist/esm/salla-reviews.entry.js +1 -1
  92. package/dist/esm/salla-social.entry.js +1 -1
  93. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  94. package/dist/esm/salla-tooltip.entry.js +1 -1
  95. package/dist/esm/salla-trust-badges.entry.js +1 -1
  96. package/dist/esm/salla-verify.entry.js +1 -1
  97. package/dist/esm/salla-wallet.entry.js +1 -1
  98. package/dist/esm/twilight.js +3 -3
  99. package/dist/twilight/{p-efdf02d5.entry.js → p-1b88233c.entry.js} +1 -1
  100. package/dist/twilight/{p-3420836d.entry.js → p-1c8efb3a.entry.js} +1 -1
  101. package/dist/twilight/{p-84f7d6ff.entry.js → p-1f56038b.entry.js} +1 -1
  102. package/dist/twilight/{p-9706a388.entry.js → p-24b6e7b0.entry.js} +1 -1
  103. package/dist/twilight/{p-23541825.entry.js → p-26a1a393.entry.js} +1 -1
  104. package/dist/twilight/{p-025d49de.entry.js → p-2933d113.entry.js} +1 -1
  105. package/dist/twilight/{p-2d7377e6.entry.js → p-2c29cdf5.entry.js} +1 -1
  106. package/dist/twilight/{p-2684045e.entry.js → p-2e8f7b03.entry.js} +1 -1
  107. package/dist/twilight/{p-85d33ec2.entry.js → p-301f50d5.entry.js} +1 -1
  108. package/dist/twilight/{p-ef28a883.entry.js → p-3482aff4.entry.js} +1 -1
  109. package/dist/twilight/{p-b354fb32.entry.js → p-35c15064.entry.js} +1 -1
  110. package/dist/twilight/{p-5b2567af.entry.js → p-37b7805d.entry.js} +1 -1
  111. package/dist/twilight/{p-2ebf898f.entry.js → p-38375e84.entry.js} +1 -1
  112. package/dist/twilight/{p-2d563fd2.entry.js → p-4985e087.entry.js} +1 -1
  113. package/dist/twilight/{p-5bff3464.entry.js → p-4e3906ea.entry.js} +1 -1
  114. package/dist/twilight/p-5c3edfd3.entry.js +4 -0
  115. package/dist/twilight/{p-b609c0a3.entry.js → p-628cedb8.entry.js} +1 -1
  116. package/dist/twilight/{p-0a7758ed.entry.js → p-64d2b5bf.entry.js} +1 -1
  117. package/dist/twilight/{p-0230315b.entry.js → p-719684b5.entry.js} +1 -1
  118. package/dist/twilight/{p-362bbc51.entry.js → p-7200623e.entry.js} +1 -1
  119. package/dist/twilight/{p-8110e635.entry.js → p-776eaeaa.entry.js} +1 -1
  120. package/dist/twilight/{p-2a4d5b5a.entry.js → p-7b689856.entry.js} +1 -1
  121. package/dist/twilight/{p-c96ebac7.entry.js → p-804c10d1.entry.js} +1 -1
  122. package/dist/twilight/{p-9b001f92.entry.js → p-854d383d.entry.js} +1 -1
  123. package/dist/twilight/{p-b2378248.entry.js → p-88b55062.entry.js} +1 -1
  124. package/dist/twilight/{p-aa85a960.entry.js → p-8c29955b.entry.js} +1 -1
  125. package/dist/twilight/{p-54a6b727.entry.js → p-8f9c2b1a.entry.js} +1 -1
  126. package/dist/twilight/{p-4b2e8325.entry.js → p-97410a23.entry.js} +1 -1
  127. package/dist/twilight/{p-2e338f09.entry.js → p-9b68655d.entry.js} +1 -1
  128. package/dist/twilight/p-Bk0ag9wm.js +9 -0
  129. package/dist/twilight/{p-CJ4oSd-N.js → p-Bmnj4Lo0.js} +1 -1
  130. package/dist/twilight/{p-DVxWyl5d.js → p-CKvjL5Ck.js} +1 -1
  131. package/dist/twilight/{p-oMzSzsXO.js → p-CXmaZL5g.js} +1 -1
  132. package/dist/twilight/{p-DuzBFC4S.js → p-D0KVO4LV.js} +1 -1
  133. package/dist/twilight/{p-BUxBV1_U.js → p-DCz2wWih.js} +1 -1
  134. package/dist/twilight/{p-BdPAI7KX.js → p-De5BFkJn.js} +1 -1
  135. package/dist/twilight/{p-BOK_dArT.js → p-_xsLTh9m.js} +1 -1
  136. package/dist/twilight/{p-62f6d935.entry.js → p-bd8e92c2.entry.js} +1 -1
  137. package/dist/twilight/{p-0c5e2e36.entry.js → p-c0f9a43d.entry.js} +1 -1
  138. package/dist/twilight/p-da7856b7.entry.js +11 -0
  139. package/dist/twilight/{p-9e190a6a.entry.js → p-e185d4a4.entry.js} +1 -1
  140. package/dist/twilight/{p-TjgJW4j-.js → p-vN9q8rrM.js} +1 -1
  141. package/dist/twilight/twilight.esm.js +1 -1
  142. package/dist/types/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.d.ts +9 -0
  143. package/dist/types/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.d.ts +11 -1
  144. package/dist/types/components.d.ts +12 -2
  145. package/package.json +5 -5
  146. package/dist/twilight/p-70567b55.entry.js +0 -11
  147. package/dist/twilight/p-7ce146ac.entry.js +0 -4
  148. package/dist/twilight/p-Dkl8u_H6.js +0 -9
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement, c as createEvent, d as getDefaultExportFromCjs, F as Fragment, j as axios } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement, c as createEvent, d as getDefaultExportFromCjs, F as Fragment, j as axios } from './index-De5BFkJn.js';
5
5
  import { a as anime } from './anime.es-CgtvEd63.js';
6
6
  import { A as ArrowDownIcon, S as SpecialDiscountIcon } from './special-discount-yRO-ZESF.js';
7
7
  import { I as IconVerified } from './check-uTyAzPSy.js';
@@ -3523,13 +3523,13 @@ const SallaFileUpload = class {
3523
3523
  return;
3524
3524
  try {
3525
3525
  const [FilePondModule, FilePondPluginFileValidateSize, FilePondPluginImageExifOrientation, FilePondPluginImagePreview, FilePondPluginImageEdit, FilePondPluginFileValidateType, FilePondPluginFilePoster] = await Promise.all([
3526
- import('./filepond-D-hh7StM.js').then(function (n) { return n.f; }),
3527
- import('./filepond-plugin-file-validate-size-Clsj6zmt.js').then(function (n) { return n.f; }),
3528
- import('./filepond-plugin-image-exif-orientation-DjJUiKBi.js').then(function (n) { return n.f; }),
3529
- import('./filepond-plugin-image-preview-Dqa9Qh69.js').then(function (n) { return n.f; }),
3530
- import('./filepond-plugin-image-edit-D9mIu1qc.js').then(function (n) { return n.f; }),
3531
- import('./filepond-plugin-file-validate-type-NUNR5wrE.js').then(function (n) { return n.f; }),
3532
- import('./filepond-plugin-file-poster-B9peApDJ.js').then(function (n) { return n.f; })
3526
+ import('./filepond-BYDXj1kv.js').then(function (n) { return n.f; }),
3527
+ import('./filepond-plugin-file-validate-size-DdbaDfww.js').then(function (n) { return n.f; }),
3528
+ import('./filepond-plugin-image-exif-orientation-BHXDSKOW.js').then(function (n) { return n.f; }),
3529
+ import('./filepond-plugin-image-preview-DOiMBtjb.js').then(function (n) { return n.f; }),
3530
+ import('./filepond-plugin-image-edit--2pWYR5x.js').then(function (n) { return n.f; }),
3531
+ import('./filepond-plugin-file-validate-type-BpacmUuQ.js').then(function (n) { return n.f; }),
3532
+ import('./filepond-plugin-file-poster-CuFchfVe.js').then(function (n) { return n.f; })
3533
3533
  ]);
3534
3534
  this.FilePond = FilePondModule;
3535
3535
  // Register plugins
@@ -6414,7 +6414,7 @@ const SallaMultipleBundleProductDetails = class {
6414
6414
  this.selectedProducts[sectionId].delete(productId);
6415
6415
  // Clear form data and modal options for this product in this specific section
6416
6416
  this.clearProductFormData(productId, sectionId);
6417
- this.clearProductModalOptions(productId);
6417
+ this.clearProductModalOptions(productId, sectionId);
6418
6418
  }
6419
6419
  else {
6420
6420
  // Product is being selected
@@ -6493,10 +6493,25 @@ const SallaMultipleBundleProductDetails = class {
6493
6493
  }
6494
6494
  }
6495
6495
  // Clear modal options state for a specific product
6496
- clearProductModalOptions(productId) {
6496
+ clearProductModalOptions(productId, sectionId) {
6497
+ let sectionIndex = null;
6498
+ let productIndex = null;
6499
+ if (sectionId != null) {
6500
+ sectionIndex = this.sections.findIndex(section => section.id == sectionId);
6501
+ if (sectionIndex > -1) {
6502
+ const section = this.sections[sectionIndex];
6503
+ if (section) {
6504
+ const foundIndex = section.products?.findIndex(product => product.id == productId);
6505
+ productIndex = typeof foundIndex === 'number' && foundIndex > -1 ? foundIndex : null;
6506
+ }
6507
+ }
6508
+ }
6497
6509
  // Emit event to notify modal to reset its state for this product
6498
6510
  salla.event.dispatch('multiple-bundle-product-modal::clear-options', {
6499
6511
  productId,
6512
+ sectionId,
6513
+ sectionIndex,
6514
+ productIndex,
6500
6515
  });
6501
6516
  }
6502
6517
  renderAccordionHeader(section, selectedCount) {
@@ -6533,10 +6548,10 @@ const SallaMultipleBundleProductDetails = class {
6533
6548
  }
6534
6549
  }
6535
6550
  render() {
6536
- return (h(Host, { key: '01b95de8e1add5136b0fbaa0ceff430acff73f63', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '7736f0ab829921931872dc817815344fff90efe6', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, index) => {
6551
+ return (h(Host, { key: '118e5c2badcec4329da881ba87ce6c6771175c14', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '6c2033af8d144c39cfa4f6b67ffd91d38fcd7bdf', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, index) => {
6537
6552
  const selectedCount = this.selectedProducts[section.id]?.size || 0;
6538
- return (h("salla-accordion", { key: section.id, collapsed: index === 1 ? true : false }, h("salla-accordion-head", null, this.renderAccordionHeader(section, selectedCount)), h("salla-accordion-body", null, h("salla-multiple-bundle-product-slider", { section: section, sectionIndex: index, selectedProducts: this.selectedProducts, onProductSelected: this.handleBundleSliderProductSelected, onProductOptionsSelected: this.handleBundleSliderProductOptionsSelected }))));
6539
- })), h("salla-multiple-bundle-product-options-modal", { key: '1cf3eb8fdce83b3ebbdfa13f422490b20e370e8e' })));
6553
+ return (h("salla-accordion", { key: section.id, collapsed: index === 0 ? false : true }, h("salla-accordion-head", null, this.renderAccordionHeader(section, selectedCount)), h("salla-accordion-body", null, h("salla-multiple-bundle-product-slider", { section: section, sectionIndex: index, selectedProducts: this.selectedProducts, onProductSelected: this.handleBundleSliderProductSelected, onProductOptionsSelected: this.handleBundleSliderProductOptionsSelected }))));
6554
+ })), h("salla-multiple-bundle-product-options-modal", { key: 'a5d0c1fb53d38015eebbcb3a203aefb6b9b540af' })));
6540
6555
  }
6541
6556
  get host() { return getElement(this); }
6542
6557
  };
@@ -6554,6 +6569,7 @@ const SallaMultipleBundleProductOptionsModal = class {
6554
6569
  this.sectionIndex = 0;
6555
6570
  this.productIndex = 0;
6556
6571
  this.selectedOptions = {};
6572
+ this.optionsResetTokens = {};
6557
6573
  this.isLoading = false;
6558
6574
  this.hasUnsavedChanges = false;
6559
6575
  this.validationErrors = [];
@@ -6610,17 +6626,21 @@ const SallaMultipleBundleProductOptionsModal = class {
6610
6626
  this.selectedOptions = { ...this.selectedOptions };
6611
6627
  }
6612
6628
  componentDidLoad() {
6613
- salla.event.on('multiple-bundle-product-modal::open', (data) => {
6629
+ this.modalOpenListener = (data) => {
6614
6630
  this.product = data.product;
6615
6631
  this.sectionId = data.sectionId || null;
6616
6632
  this.sectionIndex = data.sectionIndex || 0;
6617
6633
  this.productIndex = data.productIndex || 0;
6618
6634
  this.open();
6619
- });
6635
+ };
6636
+ salla.event.on('multiple-bundle-product-modal::open', this.modalOpenListener);
6620
6637
  // Listen for clear-options event when a product is deselected
6621
- salla.event.on('multiple-bundle-product-modal::clear-options', (data) => {
6622
- this.clearProductOptions(data.productId);
6623
- });
6638
+ this.clearOptionsListener = (data) => {
6639
+ if (!data || !data.productId)
6640
+ return;
6641
+ this.clearProductOptions(data.productId, data.sectionId, data.productIndex);
6642
+ };
6643
+ salla.event.on('multiple-bundle-product-modal::clear-options', this.clearOptionsListener);
6624
6644
  // Create and store the option change listener for proper cleanup
6625
6645
  this.optionChangeListener = (e) => {
6626
6646
  const { productId, option, detail } = e.detail;
@@ -6645,60 +6665,16 @@ const SallaMultipleBundleProductOptionsModal = class {
6645
6665
  // Extract section info from the checkbox name: bundle[sectionId][productIndex][id]
6646
6666
  const nameMatch = target.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);
6647
6667
  if (nameMatch && !target.checked) {
6648
- // Product was deselected, clear its cached options
6649
6668
  const [, sectionId, productIndex] = nameMatch;
6650
6669
  const productId = target.value;
6651
- // Prevent the immediate event to ensure cleanup happens first
6652
- e.preventDefault();
6653
- e.stopPropagation();
6654
- // Ensure the checkbox is actually unchecked
6655
- target.checked = false;
6656
- // Generate the same cache key used by the modal
6657
- const cacheKey = this.generateCacheKey(sectionId, parseInt(productIndex), productId);
6658
- // Clear the cached options for this product
6659
- const updatedSelectedOptions = { ...this.selectedOptions };
6660
- delete updatedSelectedOptions[cacheKey];
6661
- this.selectedOptions = updatedSelectedOptions;
6662
- // Force re-render of the modal if it's currently open for this product
6663
- if (this.product && this.product.id == productId) {
6664
- this.selectedOptions = { ...this.selectedOptions };
6665
- }
6666
6670
  const form = this.host.closest('form');
6667
- if (form) {
6668
- const productInputPattern = `bundle[${sectionId}][${productIndex}]`;
6669
- // Get all form inputs and filter manually
6670
- const allInputs = Array.from(form.querySelectorAll('input'));
6671
- const matchingInputs = allInputs.filter(input => input.name && input.name.startsWith(productInputPattern));
6672
- // Process matching inputs for removal
6673
- matchingInputs.forEach(el => {
6674
- // Don't remove the visible checkbox that was just unchecked
6675
- if (el !== target && (el.type === 'hidden' || el.hasAttribute('data-product-id'))) {
6676
- el.remove();
6677
- }
6678
- });
6679
- // Method 2: Find inputs by data-product-id BUT only within the same section/productIndex
6680
- const dataProductInputs = allInputs.filter(input => {
6681
- // Must have data-product-id matching the productId
6682
- if (input.getAttribute('data-product-id') !== String(productId)) {
6683
- return false;
6684
- }
6685
- // Must also be within the same section/productIndex pattern
6686
- return input.name && input.name.startsWith(productInputPattern);
6687
- });
6688
- // Process inputs with matching section/productIndex and productId for removal
6689
- dataProductInputs.forEach(el => {
6690
- if (el !== target) {
6691
- el.remove();
6692
- }
6693
- });
6694
- // Method 3: Removed broader search to prevent removing inputs from other products
6695
- // The cleanup is now more precise and only removes inputs for the specific product
6696
- // Trigger form change event after cleanup is complete
6697
- setTimeout(() => {
6698
- const changeEvent = new window.Event('change', { bubbles: true });
6699
- form.dispatchEvent(changeEvent);
6700
- }, 50); // Small delay to ensure cleanup is complete
6701
- }
6671
+ this.cleanupProductDeselection({
6672
+ sectionId,
6673
+ productIndex: parseInt(productIndex, 10),
6674
+ productId,
6675
+ form,
6676
+ uncheckedInput: target,
6677
+ });
6702
6678
  }
6703
6679
  }
6704
6680
  };
@@ -6710,6 +6686,37 @@ const SallaMultipleBundleProductOptionsModal = class {
6710
6686
  if (this.checkboxChangeListener) {
6711
6687
  document.removeEventListener('change', this.checkboxChangeListener);
6712
6688
  }
6689
+ if (this.optionChangeListener) {
6690
+ salla.event.off('product-options::change', this.optionChangeListener);
6691
+ }
6692
+ if (this.modalOpenListener) {
6693
+ salla.event.off('multiple-bundle-product-modal::open', this.modalOpenListener);
6694
+ }
6695
+ if (this.clearOptionsListener) {
6696
+ salla.event.off('multiple-bundle-product-modal::clear-options', this.clearOptionsListener);
6697
+ }
6698
+ }
6699
+ cleanupProductDeselection(params) {
6700
+ const { sectionId, productIndex, productId, form, uncheckedInput } = params;
6701
+ this.clearProductOptions(productId, sectionId, productIndex);
6702
+ if (form) {
6703
+ const productInputPattern = `bundle[${sectionId}][${productIndex}]`;
6704
+ Array.from(form.querySelectorAll(`input[name^="${productInputPattern}"]`)).forEach(input => {
6705
+ if (input === uncheckedInput) {
6706
+ return;
6707
+ }
6708
+ const shouldRemoveHidden = input.type === 'hidden';
6709
+ const shouldRemoveByDataset = input.getAttribute('data-product-id') === String(productId) &&
6710
+ input.name?.startsWith(productInputPattern);
6711
+ if (shouldRemoveHidden || shouldRemoveByDataset) {
6712
+ input.remove();
6713
+ }
6714
+ });
6715
+ requestAnimationFrame(() => {
6716
+ const changeEvent = new window.Event('change', { bubbles: true });
6717
+ form.dispatchEvent(changeEvent);
6718
+ });
6719
+ }
6713
6720
  }
6714
6721
  generateFormInputName(sectionId, productIndex, optionParentId) {
6715
6722
  return `bundle[${sectionId}][${productIndex}][options][${optionParentId}]`;
@@ -6736,17 +6743,37 @@ const SallaMultipleBundleProductOptionsModal = class {
6736
6743
  }
6737
6744
  }
6738
6745
  // Clear options state for a specific product
6739
- clearProductOptions(productId) {
6740
- // Generate cache key for this specific product in current section context
6741
- const cacheKey = this.generateCacheKey(this.sectionId, this.productIndex, productId);
6742
- // Remove the product from selectedOptions using the cache key
6746
+ clearProductOptions(productId, sectionId, productIndex) {
6743
6747
  const updatedSelectedOptions = { ...this.selectedOptions };
6744
- delete updatedSelectedOptions[cacheKey];
6748
+ if (sectionId != null && productIndex != null && !Number.isNaN(productIndex)) {
6749
+ const cacheKey = this.generateCacheKey(sectionId, productIndex, productId);
6750
+ delete updatedSelectedOptions[cacheKey];
6751
+ this.bumpOptionsResetToken(cacheKey);
6752
+ }
6753
+ else {
6754
+ const productSuffix = `-${String(productId)}`;
6755
+ const affectedKeys = [];
6756
+ Object.keys(updatedSelectedOptions).forEach(key => {
6757
+ if (key.endsWith(productSuffix)) {
6758
+ delete updatedSelectedOptions[key];
6759
+ affectedKeys.push(key);
6760
+ }
6761
+ });
6762
+ affectedKeys.forEach(key => this.bumpOptionsResetToken(key));
6763
+ }
6745
6764
  this.selectedOptions = updatedSelectedOptions;
6746
6765
  // Reset validation errors and unsaved changes
6747
6766
  this.validationErrors = [];
6748
6767
  this.hasUnsavedChanges = false;
6749
6768
  }
6769
+ bumpOptionsResetToken(cacheKey) {
6770
+ if (!cacheKey)
6771
+ return;
6772
+ this.optionsResetTokens = {
6773
+ ...this.optionsResetTokens,
6774
+ [cacheKey]: (this.optionsResetTokens[cacheKey] || 0) + 1,
6775
+ };
6776
+ }
6750
6777
  async handleOptionChange(productId, option, detail) {
6751
6778
  const cacheKey = this.generateCacheKey(this.sectionId, this.productIndex, productId);
6752
6779
  // Get the current state from the component to ensure we have the latest selections
@@ -6941,6 +6968,8 @@ const SallaMultipleBundleProductOptionsModal = class {
6941
6968
  this.optionsSaved.emit({
6942
6969
  productId: Number(productId),
6943
6970
  selectedOptions,
6971
+ sectionId: this.sectionId,
6972
+ productIndex: this.productIndex,
6944
6973
  });
6945
6974
  // Emit product selected event to check the card
6946
6975
  if (this.sectionId) {
@@ -6987,7 +7016,9 @@ const SallaMultipleBundleProductOptionsModal = class {
6987
7016
  render() {
6988
7017
  const productId = this.product?.id;
6989
7018
  const optionsWithSelectedState = this.getOptionsWithSelectedState();
6990
- return (h(Host, { key: 'f48867c1730d142b1e55ddb4442c7e7d789a35bb' }, h("salla-modal", { key: '62196cd41c3979ca5e71327d9aad450a819a45ec', isLoading: this.isLoading, ref: el => (this.modal = el), width: "md", centered: false, id: `s-multiple-bundle-product-options-modal-options-${productId}`, class: "s-multiple-bundle-product-options-modal-wrapper" }, h("div", { key: 'feee0e09d5f1dbb19f02b8c109f43e7dc5d1dad8', slot: "loading" }, h("salla-skeleton", { key: '149debcb4852d4096613721a202f4079439abf0a', height: "100%", width: "100%" })), this.product?.images && this.product?.images.length > 0 && (h("salla-slider", { key: '591045fe1d3c9e30bb53a927d3e4d62b54623503', id: `details-slider-${this.product?.id}`, type: "thumbs", loop: false, "auto-height": true, "listen-to-thumbnails-option": true, showThumbsControls: false, controlsOuter: false, showControls: false, class: "s-multiple-bundle-product-options-modal-slider", verticalThumbs: true, thumbsConfig: {
7019
+ const cacheKey = this.generateCacheKey(this.sectionId, this.productIndex, productId);
7020
+ const resetToken = this.optionsResetTokens[cacheKey] || 0;
7021
+ return (h(Host, { key: 'ce4cec97975d0aef32b50a13237a2d64701d8e9f' }, h("salla-modal", { key: 'cda08db7768f0b987a9569ca1170b059a58a417e', isLoading: this.isLoading, ref: el => (this.modal = el), width: "md", centered: false, id: `s-multiple-bundle-product-options-modal-options-${productId}`, class: "s-multiple-bundle-product-options-modal-wrapper" }, h("div", { key: 'd093204f6d85e7a874e0a69a826869e179aeafa4', slot: "loading" }, h("salla-skeleton", { key: '140608027bb0237b62eeb24d1eb5e47c5279c7e3', height: "100%", width: "100%" })), this.product?.images && this.product?.images.length > 0 && (h("salla-slider", { key: '807f2428e8219d9ab6e46163a5d03ad0b2e1b9a3', id: `details-slider-${this.product?.id}`, type: "thumbs", loop: false, "auto-height": true, "listen-to-thumbnails-option": true, showThumbsControls: false, controlsOuter: false, showControls: false, class: "s-multiple-bundle-product-options-modal-slider", verticalThumbs: true, thumbsConfig: {
6991
7022
  centeredSlides: true,
6992
7023
  centeredSlidesBounds: true,
6993
7024
  slidesPerView: Math.min(5, Math.max(1, this.product?.images.length)),
@@ -6996,13 +7027,13 @@ const SallaMultipleBundleProductOptionsModal = class {
6996
7027
  watchSlidesProgress: true,
6997
7028
  direction: 'vertical',
6998
7029
  spaceBetween: 10,
6999
- } }, h("div", { key: '1c4163f6d60a89b12d681e3df2db87a523ab092b', slot: "items" }, this.product?.images &&
7030
+ } }, h("div", { key: 'f287bea52aa1e3c68debd0b68d011025ea3f9157', slot: "items" }, this.product?.images &&
7000
7031
  this.product?.images.map((image, index) => (h("div", { key: index, class: "swiper-slide" }, h("img", { src: image.url, alt: image.alt || `${this.product?.name} - Image ${index + 1}`, loading: "lazy", onError: e => {
7001
7032
  e.target.style.display = 'none';
7002
- } }))))), this.product?.images && this.product?.images.length > 1 && (h("div", { key: '911fe5aad35ab3e733871bb185e7a89bb74b6da3', slot: "thumbs" }, this.product?.images &&
7033
+ } }))))), this.product?.images && this.product?.images.length > 1 && (h("div", { key: '5d8064ef63c91a660a3b3267afb29e498ac76f4c', slot: "thumbs" }, this.product?.images &&
7003
7034
  this.product?.images.map((image, index) => (h("div", { key: index, "data-caption": `${this.product?.name} - Image ${index + 1}` }, h("img", { src: image.url, loading: "eager", class: "s-multiple-bundle-product-options-modal-slider-thumb", title: `${this.product?.name} - ${index + 1}`, alt: image.alt || `${this.product?.name} - ${index + 1}`, onError: e => {
7004
7035
  e.target.style.display = 'none';
7005
- } })))))))), h("salla-product-options", { options: JSON.stringify(optionsWithSelectedState), key: `${this.sectionId}-${this.sectionIndex}-${productId}-persistent`, "product-id": productId }), h("div", { key: 'd107ebd058a3f349a5f2f05f4e2b685942d485d6', slot: "footer" }, h("div", { key: '01c7d37a91bb95eb830fcc3290a7cfde9ef7324b', class: "s-multiple-bundle-product-options-modal-footer" }, h("salla-button", { key: '402b9d19c176ebaec8bd7396b9bafe74b81fa456', onClick: e => this.onSave(e), loading: this.isLoading, disabled: this.isLoading }, this.isLoading
7036
+ } })))))))), h("salla-product-options", { options: JSON.stringify(optionsWithSelectedState), key: `${cacheKey}-reset-${resetToken}`, "product-id": productId, "unique-key": `${cacheKey}-reset-${resetToken}` }), h("div", { key: '2f6c7f133ccabd75bbb9e8649c056619ce754296', slot: "footer" }, h("div", { key: '1c04908511a480af63fc4e358393514c74967508', class: "s-multiple-bundle-product-options-modal-footer" }, h("salla-button", { key: '49fbad4b1e71004dc8fd6df5d0f1a61b1ef25b8d', onClick: e => this.onSave(e), loading: this.isLoading, disabled: this.isLoading }, this.isLoading
7006
7037
  ? salla.lang.get('common.elements.saving')
7007
7038
  : salla.lang.get('common.elements.save')))))));
7008
7039
  }
@@ -7021,6 +7052,7 @@ const SallaMultipleBundleProductSlider = class {
7021
7052
  this.productSelected = createEvent(this, "productSelected");
7022
7053
  this.productOptionsSelected = createEvent(this, "productOptionsSelected");
7023
7054
  this.selectedProducts = {};
7055
+ this.savedOptionsByInstance = {};
7024
7056
  this.handleProductClick = (product, productIndex) => {
7025
7057
  // Find the checkbox input for this product
7026
7058
  const checkboxId = this.generateEventName(this.section.id, productIndex);
@@ -7033,6 +7065,10 @@ const SallaMultipleBundleProductSlider = class {
7033
7065
  // Dispatch a change event to trigger form validation/submission
7034
7066
  const changeEvent = new window.Event('change', { bubbles: true });
7035
7067
  checkbox.dispatchEvent(changeEvent);
7068
+ if (!checkbox.checked) {
7069
+ this.clearSavedOptionsState(this.section.id, productIndex);
7070
+ this.dispatchClearOptionsEvent(product, productIndex);
7071
+ }
7036
7072
  }
7037
7073
  this.productSelected.emit({
7038
7074
  product,
@@ -7046,17 +7082,66 @@ const SallaMultipleBundleProductSlider = class {
7046
7082
  });
7047
7083
  };
7048
7084
  }
7085
+ getProductInstanceKey(sectionId, productIndex) {
7086
+ return `${sectionId}::${productIndex}`;
7087
+ }
7088
+ dispatchClearOptionsEvent(product, productIndex) {
7089
+ salla.event.dispatch('multiple-bundle-product-modal::clear-options', {
7090
+ productId: product.id,
7091
+ sectionId: this.section.id,
7092
+ sectionIndex: this.sectionIndex,
7093
+ productIndex,
7094
+ });
7095
+ }
7096
+ handleOptionsSaved(event) {
7097
+ const detail = event.detail;
7098
+ if (!detail)
7099
+ return;
7100
+ const { sectionId, productIndex, selectedOptions } = detail;
7101
+ if (sectionId == null || sectionId !== this.section?.id)
7102
+ return;
7103
+ if (productIndex == null || Number.isNaN(productIndex))
7104
+ return;
7105
+ const key = this.getProductInstanceKey(sectionId, productIndex);
7106
+ const hasOptions = !!selectedOptions?.length;
7107
+ if (hasOptions) {
7108
+ this.savedOptionsByInstance = {
7109
+ ...this.savedOptionsByInstance,
7110
+ [key]: true,
7111
+ };
7112
+ }
7113
+ else if (this.savedOptionsByInstance[key]) {
7114
+ const updatedState = { ...this.savedOptionsByInstance };
7115
+ delete updatedState[key];
7116
+ this.savedOptionsByInstance = updatedState;
7117
+ }
7118
+ }
7119
+ clearSavedOptionsState(sectionId, productIndex) {
7120
+ const key = this.getProductInstanceKey(sectionId, productIndex);
7121
+ if (!this.savedOptionsByInstance[key])
7122
+ return;
7123
+ const updatedState = { ...this.savedOptionsByInstance };
7124
+ delete updatedState[key];
7125
+ this.savedOptionsByInstance = updatedState;
7126
+ }
7049
7127
  generateEventName(sectionId, productIndex) {
7050
7128
  return `bundle[${sectionId}][${productIndex}][id]`;
7051
7129
  }
7052
7130
  render() {
7053
- return (h(Host, { key: 'ec6fb04196690c5299da565d852ec77bbee6b1e3' }, h("salla-slider", { key: 'a7e79c2f27a53135e55e2708b5aa60d05f9ad21b', type: "carousel", controlsOuter: false, showControls: false, id: "accordion-multiple-bundle-product", pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: {
7131
+ return (h(Host, { key: '234e93258c3d7ca5d7dc08efb68743d042646706' }, h("salla-slider", { key: '451184823378e4ad0c9034d3af1b87373bcb7d20', type: "carousel", controlsOuter: false, showControls: false, id: "accordion-multiple-bundle-product", pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: {
7054
7132
  spaceBetween: 0,
7055
- } }, h("div", { key: 'c07aa5a0ee4fe106764b47dfa6d9f6509fb659cf', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
7133
+ } }, h("div", { key: '28c1acfd37a77059d4c177b787dca9deea47d123', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
7056
7134
  const isChecked = this.selectedProducts[this.section.id]?.has(product.id) || false;
7057
- return (h("div", { class: `swiper-slide s-multiple-bundle-product-slide-one-third ${product.quantity == 0
7135
+ const hasSavedOptions = this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id, productIndex)];
7136
+ const optionsButtonLabel = hasSavedOptions
7137
+ ? salla.lang.getWithDefault('pages.products.edit_selected_options', 'تعديل الخيارات')
7138
+ : salla.lang.get('pages.products.choose_from_options');
7139
+ let optionsArrowIcon = salla.config.get('theme.is_rtl', true)
7140
+ ? ArrowLeftIcon
7141
+ : ArrowRightIcon;
7142
+ return (h("div", { class: `s-multiple-bundle-product-slide-one-third ${product.quantity == 0
7058
7143
  ? 's-multiple-bundle-product-slide-one-third-disabled'
7059
- : ''}`, key: product.id }, h("div", { class: "s-multiple-bundle-product-card" }, h("div", { class: "s-multiple-bundle-product-image-wrapper", onClick: () => this.handleProductClick(product, productIndex) }, h("input", { id: this.generateEventName(this.section.id, productIndex), type: "checkbox", class: "s-multiple-bundle-product-checkbox", checked: isChecked, name: this.generateEventName(this.section.id, productIndex), value: product.id }), h("img", { src: product.image.url || salla.url.cdn('images/s-empty.png'), loading: "lazy", alt: product.image.alt || product.name, class: "s-multiple-bundle-product-image" })), h("div", { class: "s-multiple-bundle-product-content-wrapper" }, h("div", { class: "s-multiple-bundle-product-content" }, h("div", { class: "s-multiple-bundle-product-details" }, h("div", { class: "s-multiple-bundle-product-title-wrapper" }, h("h2", { class: "s-multiple-bundle-product-title" }, product.name)), h("div", { class: "s-multiple-bundle-product-price-wrapper" }, h("span", { class: "s-multiple-bundle-product-price" }, h("span", { innerHTML: salla.money(product.price) })), product.sale_price > 0 && (h("span", { class: "s-multiple-bundle-product-price-discount" }, h("span", { innerHTML: salla.money(product.sale_price) }))))), product.quantity_in_group > 0 && product.quantity !== 0 && (h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.pieces'), h("span", null, product.quantity_in_group))), product.quantity === 0 && (h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.quantity_in_group_finished')))), product.options?.length > 0 && (h("button", { class: "s-multiple-bundle-product-button", onClick: () => this.handleOptionsClick(product), type: "button" }, salla.lang.get('pages.products.choose_from_options'), h("i", { class: "sicon-keyboard_arrow_left s-multiple-bundle-product-button-icon" })))))));
7144
+ : ''}`, key: product.id }, h("div", { class: "s-multiple-bundle-product-card" }, h("div", { class: "s-multiple-bundle-product-image-wrapper", onClick: () => this.handleProductClick(product, productIndex) }, h("input", { id: this.generateEventName(this.section.id, productIndex), type: "checkbox", class: "s-multiple-bundle-product-checkbox", checked: isChecked, name: this.generateEventName(this.section.id, productIndex), value: product.id }), h("img", { src: product.image.url || salla.url.cdn('images/s-empty.png'), loading: "lazy", alt: product.image.alt || product.name, class: "s-multiple-bundle-product-image" })), h("div", { class: "s-multiple-bundle-product-content-wrapper" }, h("div", { class: "s-multiple-bundle-product-content" }, h("div", { class: "s-multiple-bundle-product-details" }, h("div", { class: "s-multiple-bundle-product-title-wrapper" }, h("h2", { class: "s-multiple-bundle-product-title" }, product.name)), h("div", { class: "s-multiple-bundle-product-price-wrapper" }, h("span", { class: "s-multiple-bundle-product-price" }, h("span", { innerHTML: salla.money(product.price) })), product.sale_price > 0 && (h("span", { class: "s-multiple-bundle-product-price-discount" }, h("span", { innerHTML: salla.money(product.sale_price) }))))), product.quantity_in_group > 0 && product.quantity !== 0 && (h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.pieces'), h("span", null, product.quantity_in_group))), product.quantity === 0 && (h("span", { class: "s-multiple-bundle-product-badge" }, salla.lang.get('pages.products.quantity_in_group_finished')))), product.options?.length > 0 && (h("button", { class: "s-multiple-bundle-product-button", onClick: () => this.handleOptionsClick(product), type: "button" }, optionsButtonLabel, h("span", { class: "s-multiple-bundle-product-button-icon", innerHTML: optionsArrowIcon })))))));
7060
7145
  })))));
7061
7146
  }
7062
7147
  get host() { return getElement(this); }
@@ -12419,7 +12504,7 @@ const SallaTelInput = class {
12419
12504
  if (this.TelInput)
12420
12505
  return;
12421
12506
  try {
12422
- const telInputModule = await import('./index-r_fPtAzd.js').then(function (n) { return n.i; });
12507
+ const telInputModule = await import('./index-6_auLzVW.js').then(function (n) { return n.i; });
12423
12508
  this.TelInput = telInputModule.default;
12424
12509
  }
12425
12510
  catch (error) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, a as getElement } from './index-De5BFkJn.js';
5
5
  import { a as anime } from './anime.es-CgtvEd63.js';
6
6
 
7
7
  const sallaAdvertisementCss = ":host{display:block}";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaAppInstallAlertCss = ":host{display:block}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaAppsIconsCss = ":host{display:block}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h } from './index-De5BFkJn.js';
5
5
  import { S as SpecialDiscountIcon, A as ArrowDownIcon } from './special-discount-yRO-ZESF.js';
6
6
  import { G as GiftIcon } from './gift-C0JNGIpa.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host } from './index-De5BFkJn.js';
5
5
 
6
6
  var DiscountType;
7
7
  (function (DiscountType) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
  import { w as whatsapp } from './whatsapp2-DWksgowB.js';
6
6
  import { M as MailIcon } from './mail-DmgxDvXL.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
  import { H as Helper } from './Helper-B51hb0bi.js';
6
6
  import { F as FilterOptionTypes } from './interfaces-DL4h2bc3.js';
7
7
  import './anime.es-CgtvEd63.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
  import { F as FilterOptionTypes } from './interfaces-DL4h2bc3.js';
6
6
  import { H as Helper } from './Helper-B51hb0bi.js';
7
7
  import './anime.es-CgtvEd63.js';
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
 
6
6
  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}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaLoyaltyPrizeItemCss = "salla-loyalty-prize-item:hover{box-shadow:0 5px 15px 1px rgba(0, 0, 0, 0.04) !important}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host } from './index-De5BFkJn.js';
5
5
  import { G as GiftIcon } from './gift-C0JNGIpa.js';
6
6
 
7
7
  const sallaLoyaltyProgramCss = "";
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaMetadataCss = "";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaNotificationsCss = "";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, a as getElement } from './index-De5BFkJn.js';
5
5
  import { H as Helper } from './Helper-B51hb0bi.js';
6
6
  import './anime.es-CgtvEd63.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, a as getElement } from './index-De5BFkJn.js';
5
5
 
6
6
  var PageType;
7
7
  (function (PageType) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaOrderDetailsMultipleBundleProductCss = "";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host } from './index-De5BFkJn.js';
5
5
 
6
6
  var copyIcon = `<!-- Generated by IcoMoon.io -->
7
7
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, F as Fragment, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, F as Fragment, H as Host } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaOrderDetailsCss = "";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h } from './index-De5BFkJn.js';
5
5
  import { I as IconVerified } from './check-uTyAzPSy.js';
6
6
 
7
7
  var iconFileArchive = `<!-- Generated by IcoMoon.io -->
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, H as Host } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, H as Host } from './index-De5BFkJn.js';
5
5
 
6
6
  const sallaOrderTotalsCardCss = ":host{display:block}";
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, h, a as getElement } from './index-BdPAI7KX.js';
4
+ import { r as registerInstance, h, a as getElement } from './index-De5BFkJn.js';
5
5
  import { H as Helper } from './Helper-B51hb0bi.js';
6
6
  import './anime.es-CgtvEd63.js';
7
7