@salla.sa/twilight-components 2.14.389 → 2.14.391

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 (302) hide show
  1. package/dist/cjs/{filepond-D-Sm5mfd.js → filepond-DFNeUlJZ.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-D_Q9tOzh.js → filepond-plugin-file-poster-CdscjCyV.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-jE8i9yLT.js → filepond-plugin-file-validate-size-CeIHus23.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-ClNK2GsY.js → filepond-plugin-file-validate-type-B-xReGXI.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-BtI2loP1.js → filepond-plugin-image-edit-BEZKgnin.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-DFksd-cT.js → filepond-plugin-image-exif-orientation-BsIhjiXV.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-B6iy7dvj.js → filepond-plugin-image-preview-CgGyHHMF.js} +1 -1
  8. package/dist/cjs/{index-CZzG9P8m.js → index-RCgJUM7B.js} +34 -10
  9. package/dist/cjs/{index-PbcABX0l.js → index-U__MmWip.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +63 -0
  12. package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
  13. package/dist/cjs/salla-add-product-button_4.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
  19. package/dist/cjs/salla-bullet-delivery.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-count-down.cjs.entry.js +196 -0
  27. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-delivery-promise.cjs.entry.js +230 -0
  29. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +45 -0
  32. package/dist/cjs/salla-gifting.cjs.entry.js +91 -16
  33. package/dist/cjs/salla-hook.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
  43. package/dist/cjs/{salla-accordion-body_3.cjs.entry.js → salla-map.cjs.entry.js} +1 -57
  44. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  45. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  46. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
  48. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
  49. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  50. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  51. package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  53. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  54. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-order-edit-item.cjs.entry.js +95 -0
  57. package/dist/cjs/salla-order-edit.cjs.entry.js +181 -0
  58. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  59. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  61. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
  63. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  64. package/dist/cjs/{salla-count-down_2.cjs.entry.js → salla-product-card.cjs.entry.js} +1 -160
  65. package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
  68. package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  70. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  71. package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
  72. package/dist/cjs/salla-search.cjs.entry.js +1 -1
  73. package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
  74. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  75. package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
  76. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  77. package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
  78. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  79. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  80. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
  84. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  85. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  86. package/dist/cjs/twilight.cjs.js +2 -2
  87. package/dist/cjs/{vanilla-picker-BP4lqf-K.js → vanilla-picker-yWlr4I9a.js} +1 -1
  88. package/dist/collection/collection-manifest.json +4 -0
  89. package/dist/collection/components/salla-count-down/salla-count-down.css +4 -0
  90. package/dist/collection/components/salla-count-down/salla-count-down.js +122 -13
  91. package/dist/collection/components/salla-delivery-promise/interfaces.js +1 -0
  92. package/dist/collection/components/salla-delivery-promise/salla-delivery-promise.js +247 -0
  93. package/dist/collection/components/salla-fulfillment-methods/salla-fulfillment-methods.js +51 -0
  94. package/dist/collection/components/salla-gifting/salla-gifting.js +96 -15
  95. package/dist/collection/components/salla-order-edit/interfaces.js +1 -0
  96. package/dist/collection/components/salla-order-edit/salla-order-edit-item.css +0 -0
  97. package/dist/collection/components/salla-order-edit/salla-order-edit-item.js +185 -0
  98. package/dist/collection/components/salla-order-edit/salla-order-edit.css +0 -0
  99. package/dist/collection/components/salla-order-edit/salla-order-edit.js +256 -0
  100. package/dist/components/index.js +2 -2
  101. package/dist/components/salla-count-down2.js +49 -13
  102. package/dist/components/salla-delivery-promise.d.ts +11 -0
  103. package/dist/components/salla-delivery-promise.js +266 -0
  104. package/dist/components/salla-fulfillment-methods.d.ts +11 -0
  105. package/dist/components/salla-fulfillment-methods.js +64 -0
  106. package/dist/components/salla-gifting.js +96 -15
  107. package/dist/components/salla-order-edit-item.d.ts +11 -0
  108. package/dist/components/salla-order-edit-item.js +9 -0
  109. package/dist/components/salla-order-edit-item2.js +184 -0
  110. package/dist/components/salla-order-edit.d.ts +11 -0
  111. package/dist/components/salla-order-edit.js +291 -0
  112. package/dist/components/salla-quantity-input.js +1 -125
  113. package/dist/components/salla-quantity-input2.js +130 -0
  114. package/dist/esm/{filepond-PPWykQxI.js → filepond-dioc1UNj.js} +1 -1
  115. package/dist/esm/{filepond-plugin-file-poster-BRSyNznG.js → filepond-plugin-file-poster-BpOMmY57.js} +1 -1
  116. package/dist/esm/{filepond-plugin-file-validate-size-BKa_IBRc.js → filepond-plugin-file-validate-size-D3zrIASS.js} +1 -1
  117. package/dist/esm/{filepond-plugin-file-validate-type-B2Gqcysx.js → filepond-plugin-file-validate-type-C_O5sg3V.js} +1 -1
  118. package/dist/esm/{filepond-plugin-image-edit-C0UvZ9iA.js → filepond-plugin-image-edit-vV9cFwQt.js} +1 -1
  119. package/dist/esm/{filepond-plugin-image-exif-orientation-Dmzu9ZJy.js → filepond-plugin-image-exif-orientation-DQHJunT0.js} +1 -1
  120. package/dist/esm/{filepond-plugin-image-preview-CaZ36U6e.js → filepond-plugin-image-preview-CK8pdQ2g.js} +1 -1
  121. package/dist/esm/{index-C3w2qMi0.js → index-B6FFbRiW.js} +1 -1
  122. package/dist/esm/{index-CyfZeaV2.js → index-BBHnyTVS.js} +34 -10
  123. package/dist/esm/loader.js +3 -3
  124. package/dist/esm/salla-accordion-body_2.entry.js +60 -0
  125. package/dist/esm/salla-accordion_6.entry.js +1 -1
  126. package/dist/esm/salla-add-product-button_4.entry.js +1 -1
  127. package/dist/esm/salla-advertisement.entry.js +1 -1
  128. package/dist/esm/salla-alert_2.entry.js +1 -1
  129. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  130. package/dist/esm/salla-apps-icons.entry.js +1 -1
  131. package/dist/esm/salla-booking-field_7.entry.js +10 -10
  132. package/dist/esm/salla-bullet-delivery.entry.js +1 -1
  133. package/dist/esm/salla-cart-coupons.entry.js +1 -1
  134. package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
  135. package/dist/esm/salla-comment-form_8.entry.js +1 -1
  136. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  137. package/dist/esm/salla-contacts.entry.js +1 -1
  138. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  139. package/dist/esm/salla-count-down.entry.js +194 -0
  140. package/dist/esm/salla-custom-fields.entry.js +1 -1
  141. package/dist/esm/salla-delivery-promise.entry.js +228 -0
  142. package/dist/esm/salla-filters-widget.entry.js +1 -1
  143. package/dist/esm/salla-filters.entry.js +1 -1
  144. package/dist/esm/salla-fulfillment-methods.entry.js +43 -0
  145. package/dist/esm/salla-gifting.entry.js +91 -16
  146. package/dist/esm/salla-hook.entry.js +1 -1
  147. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  148. package/dist/esm/salla-installment.entry.js +1 -1
  149. package/dist/esm/salla-list-tile.entry.js +1 -1
  150. package/dist/esm/salla-localization-modal.entry.js +1 -1
  151. package/dist/esm/salla-login-modal.entry.js +1 -1
  152. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  153. package/dist/esm/salla-loyalty-program.entry.js +1 -1
  154. package/dist/esm/salla-loyalty.entry.js +1 -1
  155. package/dist/esm/salla-maintenance-alert.entry.js +1 -1
  156. package/dist/esm/{salla-accordion-body_3.entry.js → salla-map.entry.js} +2 -56
  157. package/dist/esm/salla-menu.entry.js +1 -1
  158. package/dist/esm/salla-metadata.entry.js +1 -1
  159. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
  160. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
  161. package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
  162. package/dist/esm/salla-notification-item.entry.js +1 -1
  163. package/dist/esm/salla-notifications.entry.js +1 -1
  164. package/dist/esm/salla-offer-modal.entry.js +1 -1
  165. package/dist/esm/salla-offer.entry.js +1 -1
  166. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  167. package/dist/esm/salla-order-details-options.entry.js +1 -1
  168. package/dist/esm/salla-order-details.entry.js +1 -1
  169. package/dist/esm/salla-order-edit-item.entry.js +93 -0
  170. package/dist/esm/salla-order-edit.entry.js +179 -0
  171. package/dist/esm/salla-order-summary.entry.js +1 -1
  172. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  173. package/dist/esm/salla-orders.entry.js +1 -1
  174. package/dist/esm/salla-payments.entry.js +1 -1
  175. package/dist/esm/salla-placeholder.entry.js +1 -1
  176. package/dist/esm/salla-price-range.entry.js +1 -1
  177. package/dist/esm/{salla-count-down_2.entry.js → salla-product-card.entry.js} +2 -160
  178. package/dist/esm/salla-product-size-guide.entry.js +1 -1
  179. package/dist/esm/salla-products-list.entry.js +1 -1
  180. package/dist/esm/salla-products-slider.entry.js +1 -1
  181. package/dist/esm/salla-progress-bar.entry.js +1 -1
  182. package/dist/esm/salla-quick-order.entry.js +1 -1
  183. package/dist/esm/salla-rating-modal.entry.js +1 -1
  184. package/dist/esm/salla-scopes.entry.js +1 -1
  185. package/dist/esm/salla-search.entry.js +1 -1
  186. package/dist/esm/salla-skeleton.entry.js +1 -1
  187. package/dist/esm/salla-slider.entry.js +1 -1
  188. package/dist/esm/salla-social-share.entry.js +1 -1
  189. package/dist/esm/salla-social.entry.js +1 -1
  190. package/dist/esm/salla-tab-content_3.entry.js +1 -1
  191. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  192. package/dist/esm/salla-tooltip.entry.js +1 -1
  193. package/dist/esm/salla-trust-badges.entry.js +1 -1
  194. package/dist/esm/salla-user-menu.entry.js +1 -1
  195. package/dist/esm/salla-user-profile.entry.js +1 -1
  196. package/dist/esm/salla-user-settings.entry.js +1 -1
  197. package/dist/esm/salla-verify.entry.js +1 -1
  198. package/dist/esm/salla-wallet.entry.js +1 -1
  199. package/dist/esm/twilight.js +3 -3
  200. package/dist/esm/{vanilla-picker-BnLjo9lg.js → vanilla-picker-DSMkPxn-.js} +1 -1
  201. package/dist/twilight/p-01cb129f.entry.js +4 -0
  202. package/dist/twilight/{p-CKAWVE2E.js → p-03jJUGJM.js} +1 -1
  203. package/dist/twilight/{p-414f399b.entry.js → p-042206f2.entry.js} +1 -1
  204. package/dist/twilight/{p-8c1f6ff5.entry.js → p-0557c403.entry.js} +1 -1
  205. package/dist/twilight/{p-f9b6a945.entry.js → p-06d3f60c.entry.js} +1 -1
  206. package/dist/twilight/{p-8538541b.entry.js → p-099267e9.entry.js} +1 -1
  207. package/dist/twilight/{p-d224ad78.entry.js → p-0a779ecb.entry.js} +1 -1
  208. package/dist/twilight/p-0c45b777.entry.js +4 -0
  209. package/dist/twilight/{p-c782ba90.entry.js → p-143f385c.entry.js} +1 -1
  210. package/dist/twilight/p-1646270f.entry.js +4 -0
  211. package/dist/twilight/{p-7eebae69.entry.js → p-1a7e8dc4.entry.js} +1 -1
  212. package/dist/twilight/p-1b50e37e.entry.js +4 -0
  213. package/dist/twilight/{p-f8b53b4a.entry.js → p-1bacbd68.entry.js} +1 -1
  214. package/dist/twilight/{p-5db4f7be.entry.js → p-214c17ba.entry.js} +1 -1
  215. package/dist/twilight/{p-5a3fbfcc.entry.js → p-23c450bb.entry.js} +1 -1
  216. package/dist/twilight/{p-3490e1f2.entry.js → p-2534ee8d.entry.js} +1 -1
  217. package/dist/twilight/{p-2d3c3fc0.entry.js → p-2690964e.entry.js} +1 -1
  218. package/dist/twilight/{p-749f87cc.entry.js → p-2f4352f5.entry.js} +1 -1
  219. package/dist/twilight/{p-fdb99998.entry.js → p-2fd9954e.entry.js} +1 -1
  220. package/dist/twilight/{p-de4fc6d3.entry.js → p-3094c1a1.entry.js} +1 -1
  221. package/dist/twilight/{p-313e016b.entry.js → p-31cff9d6.entry.js} +1 -1
  222. package/dist/twilight/{p-49178d13.entry.js → p-3570139b.entry.js} +1 -1
  223. package/dist/twilight/p-3a20fbc0.entry.js +4 -0
  224. package/dist/twilight/{p-fca12e58.entry.js → p-43a3d74b.entry.js} +1 -1
  225. package/dist/twilight/{p-b6924b12.entry.js → p-43fd9024.entry.js} +1 -1
  226. package/dist/twilight/{p-7367264c.entry.js → p-45c1eaa8.entry.js} +1 -1
  227. package/dist/twilight/p-49260c6c.entry.js +4 -0
  228. package/dist/twilight/{p-f713d4c1.entry.js → p-495a9262.entry.js} +1 -1
  229. package/dist/twilight/{p-9b03dc5f.entry.js → p-4b78b5b6.entry.js} +1 -1
  230. package/dist/twilight/{p-92aa6f9c.entry.js → p-4f664ee5.entry.js} +1 -1
  231. package/dist/twilight/{p-981aa6b2.entry.js → p-5039c032.entry.js} +1 -1
  232. package/dist/twilight/{p-282b2717.entry.js → p-51eeff00.entry.js} +1 -1
  233. package/dist/twilight/{p-a3479656.entry.js → p-5abc72fb.entry.js} +1 -1
  234. package/dist/twilight/{p-52249b73.entry.js → p-5de17423.entry.js} +1 -1
  235. package/dist/twilight/{p-71e9036c.entry.js → p-5e08505f.entry.js} +1 -1
  236. package/dist/twilight/{p-7b3e9e94.entry.js → p-64316672.entry.js} +1 -1
  237. package/dist/twilight/{p-68e1946b.entry.js → p-698cda6b.entry.js} +1 -1
  238. package/dist/twilight/p-6d9ff62d.entry.js +4 -0
  239. package/dist/twilight/p-72128782.entry.js +4 -0
  240. package/dist/twilight/{p-9af46409.entry.js → p-736661d1.entry.js} +1 -1
  241. package/dist/twilight/{p-6f230886.entry.js → p-73fc8bc2.entry.js} +1 -1
  242. package/dist/twilight/{p-e51abff8.entry.js → p-78230ff2.entry.js} +1 -1
  243. package/dist/twilight/{p-9dace77f.entry.js → p-7b1e18b9.entry.js} +1 -1
  244. package/dist/twilight/p-8735bed6.entry.js +4 -0
  245. package/dist/twilight/{p-d0d9eaa7.entry.js → p-911df985.entry.js} +1 -1
  246. package/dist/twilight/{p-b85269f0.entry.js → p-917e279a.entry.js} +1 -1
  247. package/dist/twilight/{p-0dcadf17.entry.js → p-9623211d.entry.js} +1 -1
  248. package/dist/twilight/{p-56f20bf9.entry.js → p-98365139.entry.js} +1 -1
  249. package/dist/twilight/{p-e4984da6.entry.js → p-9a2fa95c.entry.js} +1 -1
  250. package/dist/twilight/{p-3424772f.entry.js → p-9f09f917.entry.js} +1 -1
  251. package/dist/twilight/{p-CyfZeaV2.js → p-BBHnyTVS.js} +2 -2
  252. package/dist/twilight/{p-DV84B4Zf.js → p-BLNd0Q7w.js} +1 -1
  253. package/dist/twilight/p-BdSnnWWn.js +9 -0
  254. package/dist/twilight/{p-DgRZXtp7.js → p-BywTh96y.js} +1 -1
  255. package/dist/twilight/{p-B5sTdzgA.js → p-CWQJdJyB.js} +1 -1
  256. package/dist/twilight/{p-DaXFe_AG.js → p-CttEbJoQ.js} +1 -1
  257. package/dist/twilight/{p-oPo_An7U.js → p-HRFCteJK.js} +1 -1
  258. package/dist/twilight/{p-nDM6sAQW.js → p-IulbkBPB.js} +1 -1
  259. package/dist/twilight/{p-71199938.entry.js → p-a50a28ea.entry.js} +1 -1
  260. package/dist/twilight/{p-1fa74395.entry.js → p-abfc0327.entry.js} +1 -1
  261. package/dist/twilight/{p-9ae66ab7.entry.js → p-b9a7a8b1.entry.js} +1 -1
  262. package/dist/twilight/{p-646ac137.entry.js → p-bc9aa300.entry.js} +1 -1
  263. package/dist/twilight/{p-28691a37.entry.js → p-c800360f.entry.js} +1 -1
  264. package/dist/twilight/{p-83bb3e08.entry.js → p-cc8c8ee0.entry.js} +1 -1
  265. package/dist/twilight/{p-a5215f9c.entry.js → p-ccf81e66.entry.js} +1 -1
  266. package/dist/twilight/{p-46715ed4.entry.js → p-ce4e06b8.entry.js} +1 -1
  267. package/dist/twilight/{p-85e08789.entry.js → p-d375a0d6.entry.js} +1 -1
  268. package/dist/twilight/{p-ccc3689d.entry.js → p-d5bea7d7.entry.js} +1 -1
  269. package/dist/twilight/{p-dccaabbe.entry.js → p-daf6d030.entry.js} +1 -1
  270. package/dist/twilight/{p-6c5ab45f.entry.js → p-db1699d8.entry.js} +1 -1
  271. package/dist/twilight/{p-75744403.entry.js → p-db8ea013.entry.js} +1 -1
  272. package/dist/twilight/{p-f2a021d2.entry.js → p-dd95dd45.entry.js} +1 -1
  273. package/dist/twilight/{p-6b642ef5.entry.js → p-df66218c.entry.js} +1 -1
  274. package/dist/twilight/{p-0e064e79.entry.js → p-e2a6cc78.entry.js} +1 -1
  275. package/dist/twilight/{p-b6d4d88f.entry.js → p-e5faf311.entry.js} +1 -1
  276. package/dist/twilight/{p-8c918f58.entry.js → p-e8ee7b09.entry.js} +1 -1
  277. package/dist/twilight/{p-016b3b19.entry.js → p-ec2a876a.entry.js} +1 -1
  278. package/dist/twilight/{p-549d8385.entry.js → p-f08590d7.entry.js} +1 -1
  279. package/dist/twilight/{p-c48e2a05.entry.js → p-f17b1333.entry.js} +1 -1
  280. package/dist/twilight/{p-4a0248ab.entry.js → p-f8b8c0da.entry.js} +1 -1
  281. package/dist/twilight/{p-833e8364.entry.js → p-f8beca67.entry.js} +1 -1
  282. package/dist/twilight/{p-77a89284.entry.js → p-fc6852a0.entry.js} +1 -1
  283. package/dist/twilight/{p-69ae622f.entry.js → p-fd540f5b.entry.js} +1 -1
  284. package/dist/twilight/{p-1a9b64ea.entry.js → p-fe417603.entry.js} +1 -1
  285. package/dist/twilight/{p-CJnMMMxb.js → p-okSe2zH1.js} +1 -1
  286. package/dist/twilight/twilight.esm.js +1 -1
  287. package/dist/types/components/salla-count-down/salla-count-down.d.ts +24 -0
  288. package/dist/types/components/salla-delivery-promise/interfaces.d.ts +27 -0
  289. package/dist/types/components/salla-delivery-promise/salla-delivery-promise.d.ts +48 -0
  290. package/dist/types/components/salla-fulfillment-methods/salla-fulfillment-methods.d.ts +18 -0
  291. package/dist/types/components/salla-gifting/gift-schema.d.ts +4 -0
  292. package/dist/types/components/salla-gifting/intefaces.d.ts +1 -0
  293. package/dist/types/components/salla-gifting/salla-gifting.d.ts +10 -1
  294. package/dist/types/components/salla-order-edit/interfaces.d.ts +114 -0
  295. package/dist/types/components/salla-order-edit/salla-order-edit-item.d.ts +35 -0
  296. package/dist/types/components/salla-order-edit/salla-order-edit.d.ts +42 -0
  297. package/dist/types/components.d.ts +236 -0
  298. package/package.json +5 -5
  299. package/dist/twilight/p-1048b469.entry.js +0 -4
  300. package/dist/twilight/p-C11T4TVo.js +0 -9
  301. package/dist/twilight/p-d33f3c58.entry.js +0 -4
  302. package/dist/twilight/p-fbcc194e.entry.js +0 -4
@@ -0,0 +1,194 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { r as registerInstance, h, H as Host } from './index-BBHnyTVS.js';
5
+
6
+ const sallaCountDownCss = ".s-count-down-horizontal{background-color:rgba(0, 0, 0, 0.06);background-color:color-mix(in srgb, var(--color-primary) 10%, transparent)}";
7
+
8
+ const SallaCountDown = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ /**
12
+ * The size of the count down
13
+ * */
14
+ this.size = 'md';
15
+ /**
16
+ * The color of the count down
17
+ * */
18
+ this.color = 'dark';
19
+ /**
20
+ * The digits lang to show in the count down
21
+ * */
22
+ this.digits = 'auto';
23
+ /**
24
+ * If true, hides days segment when days = 0, and hides hours segment when both days and hours = 0.
25
+ * Matches salla-timer behaviour. Off by default for backward compatibility.
26
+ * */
27
+ this.autoSegments = false;
28
+ this.daysLabel = salla.lang.getWithDefault('pages.checkout.day', 'يوم');
29
+ this.hoursLabel = salla.lang.getWithDefault('pages.checkout.hour', 'ساعة');
30
+ this.minutesLabel = salla.lang.getWithDefault('pages.checkout.minute', 'دقيقة');
31
+ this.secondsLabel = salla.lang.getWithDefault('pages.checkout.second', 'ثانية');
32
+ this.endLabel = salla.lang.getWithDefault('pages.checkout.offer_ended', 'انتهت مدة العرض');
33
+ this.invalidDate = salla.lang.getWithDefault('blocks.buy_as_gift.incorrect_date', 'الرجاء إدخال الموعد بشكل صحيح');
34
+ this.offerEnded = false;
35
+ this.showDays = true;
36
+ this.showHours = true;
37
+ this.days = this.number(0);
38
+ this.hours = this.number(0);
39
+ this.minutes = this.number(0);
40
+ this.seconds = this.number(0);
41
+ salla.lang.onLoaded(() => {
42
+ this.daysLabel = salla.lang.getWithDefault('pages.checkout.day', 'يوم');
43
+ this.hoursLabel = salla.lang.getWithDefault('pages.checkout.hour', 'ساعة');
44
+ this.minutesLabel = salla.lang.getWithDefault('pages.checkout.minute', 'دقيقة');
45
+ this.invalidDate = salla.lang.getWithDefault('blocks.buy_as_gift.incorrect_date', 'الرجاء إدخال الموعد بشكل صحيح');
46
+ this.secondsLabel = salla.lang.getWithDefault('pages.checkout.second', 'ثانية');
47
+ this.endLabel = salla.lang.getWithDefault('pages.checkout.offer_ended', 'انتهت مدة العرض');
48
+ });
49
+ if (this.date && this.isValidDate(this.date)) {
50
+ this.startCountDown();
51
+ }
52
+ }
53
+ /**
54
+ * End the count down
55
+ * */
56
+ async endCountDown() {
57
+ clearInterval(this.countInterval);
58
+ this.offerEnded = true;
59
+ this.days = this.number(0);
60
+ this.hours = this.number(0);
61
+ this.minutes = this.number(0);
62
+ this.seconds = this.number(0);
63
+ }
64
+ componentWillLoad() {
65
+ if (typeof this.preOrder === 'string') {
66
+ try {
67
+ this.normalizedPreOrder = JSON.parse(this.preOrder);
68
+ }
69
+ catch {
70
+ this.normalizedPreOrder = undefined;
71
+ }
72
+ }
73
+ else {
74
+ this.normalizedPreOrder = this.preOrder;
75
+ }
76
+ if (this.normalizedPreOrder?.end_date) {
77
+ this.date = this.normalizedPreOrder.end_date;
78
+ if (this.date && this.isValidDate(this.date)) {
79
+ this.startCountDown();
80
+ }
81
+ }
82
+ }
83
+ isValidDate(date) {
84
+ let dateHasDashes = date.includes('-'), dateParts = date.split(' '), testedDate;
85
+ if (dateHasDashes) {
86
+ testedDate = dateParts[0].replace(/-/g, '/');
87
+ }
88
+ else {
89
+ testedDate = dateParts[0];
90
+ }
91
+ return !isNaN(Date.parse(testedDate));
92
+ }
93
+ number(digit) {
94
+ return salla.helpers.number(digit, this.digits === 'en');
95
+ }
96
+ startCountDown() {
97
+ const isIsoFormat = this.date.includes('-');
98
+ const isDateOnly = this.endOfDay || this.date.split(' ').length === 1;
99
+ let countDownTime;
100
+ if (isIsoFormat) {
101
+ // Backend KSA date — parse as UTC+3 explicitly
102
+ const dateStr = isDateOnly
103
+ ? `${this.date.split(' ')[0]}T23:59:59+03:00`
104
+ : `${this.date.replace(' ', 'T')}+03:00`;
105
+ countDownTime = new Date(dateStr).getTime();
106
+ }
107
+ else {
108
+ // "MMM DD, YYYY HH:mm:ss" format — preserve existing behaviour
109
+ const countDownDate = new Date(this.date);
110
+ if (isDateOnly) {
111
+ countDownDate.setHours(23, 59, 59, 999);
112
+ }
113
+ countDownTime = countDownDate.getTime();
114
+ }
115
+ const tick = () => {
116
+ const distance = countDownTime - Date.now();
117
+ const dRaw = Math.floor(distance / (1000 * 60 * 60 * 24));
118
+ const hRaw = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
119
+ this.days = this.number(dRaw);
120
+ this.hours = this.number(hRaw);
121
+ this.minutes = this.number(Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)));
122
+ this.seconds = this.number(Math.floor((distance % (1000 * 60)) / 1000));
123
+ if (this.autoSegments) {
124
+ this.showDays = dRaw > 0;
125
+ this.showHours = dRaw > 0 || hRaw > 0;
126
+ }
127
+ if (distance < 0) {
128
+ this.endCountDown();
129
+ }
130
+ };
131
+ this.countInterval = setInterval(tick, 1000);
132
+ tick();
133
+ }
134
+ renderCountDown() {
135
+ const listStyle = this.listPadding ? { paddingLeft: this.listPadding, paddingRight: this.listPadding } : undefined;
136
+ const resolvedBoxColor = this.boxTheme ? `var(--color-${this.boxTheme})` : this.boxColor;
137
+ const boxStyle = this.boxed && resolvedBoxColor ? { backgroundColor: resolvedBoxColor } : undefined;
138
+ return (h("ul", { class: `s-count-down-list ${this.boxed ? 's-count-down-boxed' : ''} ${this.offerEnded ? 's-count-down-ended' : ''} s-count-down-${this.size} s-count-down-${this.color}`, style: listStyle }, h("li", { class: "s-count-down-item", style: boxStyle }, h("div", { class: "s-count-down-item-value" }, this.seconds), this.labeled && h("div", { class: "s-count-down-item-label" }, this.secondsLabel)), h("li", { class: "s-count-down-item", style: boxStyle }, h("div", { class: "s-count-down-item-value" }, this.minutes), this.labeled && h("div", { class: "s-count-down-item-label" }, this.minutesLabel)), (!this.autoSegments || this.showHours) && (h("li", { class: "s-count-down-item", style: boxStyle }, h("div", { class: "s-count-down-item-value" }, this.hours), this.labeled && h("div", { class: "s-count-down-item-label" }, this.hoursLabel))), (!this.autoSegments || this.showDays) && (h("li", { class: "s-count-down-item", style: boxStyle }, h("div", { class: "s-count-down-item-value" }, this.days), this.labeled && h("div", { class: "s-count-down-item-label" }, this.daysLabel)))));
139
+ }
140
+ renderInvalidDate() {
141
+ return h("div", { class: "s-count-down-text-center" }, this.invalidDate);
142
+ }
143
+ renderOfferEnded() {
144
+ return h("div", { class: "s-count-down-end-text" }, !!this.endText ? this.endText : this.endLabel);
145
+ }
146
+ renderPreOrderToBeAvailableOn() {
147
+ if (!this.normalizedPreOrder?.availability_date ||
148
+ !this.isValidDate(this.normalizedPreOrder?.availability_date))
149
+ return null;
150
+ return (h("div", { class: "s-count-down-info-message" }, h("i", { class: "sicon-info" }), h("span", null, salla.lang.getWithDefault('pages.products.expected_to_be', 'متوقَّع توفُّره بتاريخ:')), h("span", null, new Date(this.normalizedPreOrder?.availability_date).toLocaleDateString(salla.lang.locale, {
151
+ weekday: 'long',
152
+ year: 'numeric',
153
+ month: 'long',
154
+ day: 'numeric',
155
+ }))));
156
+ }
157
+ renderPreOrderCountDown() {
158
+ if (!this.normalizedPreOrder?.activate_countdown)
159
+ return null;
160
+ return (h("div", { class: "s-count-down-pre-order-container" }, h("p", { class: "text-sm " }, salla.lang.getWithDefault('pages.products.pre_order_ends_in', 'ينتهي الطلب المسبق خلال:')), this.renderCountDown()));
161
+ }
162
+ renderPreOrder() {
163
+ return (h("div", null, typeof this.normalizedPreOrder === 'object' &&
164
+ this.normalizedPreOrder?.availability_date &&
165
+ this.renderPreOrderToBeAvailableOn(), this.renderPreOrderCountDown()));
166
+ }
167
+ renderPrefixText() {
168
+ if (!this.prefixText)
169
+ return null;
170
+ return h("span", { class: "s-count-down-prefix-text" }, this.prefixText);
171
+ }
172
+ renderButton() {
173
+ if (!this.withButton || !this.buttonText)
174
+ return null;
175
+ return h("salla-button", { color: "primary", size: "medium", href: this.buttonHref }, this.buttonIcon ? h("i", { class: this.buttonIcon }) : null, h("span", null, this.buttonText));
176
+ }
177
+ renderContent() {
178
+ if (!this.date)
179
+ return null;
180
+ if (!this.isValidDate(this.date)) {
181
+ return this.renderInvalidDate();
182
+ }
183
+ if (this.preOrder) {
184
+ return this.renderPreOrder();
185
+ }
186
+ return this.renderCountDown();
187
+ }
188
+ render() {
189
+ return (h(Host, { key: '72c0f5f822ea852674814ced58f323e8b99075c0', class: `s-count-down-wrapper ${this.preOrder && this.isValidDate(this.date) ? 's-count-down-pre-order' : ''} ${this.horizontal ? 's-count-down-horizontal' : ''} ${this.withButton ? 's-count-down-with-button' : ''} ${this.offerEnded ? 's-count-down-ended' : ''}` }, this.renderPrefixText(), this.renderContent(), this.offerEnded && this.renderOfferEnded(), this.renderButton()));
190
+ }
191
+ };
192
+ SallaCountDown.style = sallaCountDownCss;
193
+
194
+ export { SallaCountDown as salla_count_down };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { r as registerInstance, c as createEvent, h } from './index-CyfZeaV2.js';
4
+ import { r as registerInstance, c as createEvent, h } from './index-BBHnyTVS.js';
5
5
  import { C as CameraIcon } from './camera-C6jIkM-X.js';
6
6
  import { F as FormFieldTypes } from './interfaces-OF8QcbMM.js';
7
7
 
@@ -0,0 +1,228 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { r as registerInstance, h, H as Host, a as getElement } from './index-BBHnyTVS.js';
5
+
6
+ const SallaDeliveryPromise = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.cities = [];
10
+ this.filteredCities = [];
11
+ this.selectedCity = null;
12
+ this.deliveryMessage = null;
13
+ this.isLoadingCities = false;
14
+ this.isLoadingPromises = false;
15
+ this.isDropdownOpen = false;
16
+ this.searchQuery = '';
17
+ this.hasError = false;
18
+ this.errorMessage = '';
19
+ /** i18n labels for city selector only; message comes from BE */
20
+ this.labels = {
21
+ deliveryTo: 'توصيل إلى',
22
+ pickupFromBranch: 'الاستلام من فرع',
23
+ searchPlaceholder: 'بحث...',
24
+ noResults: 'لا توجد نتائج',
25
+ selectCity: 'اختر المدينة',
26
+ };
27
+ this.canRender = false;
28
+ this.requiresShipping = false;
29
+ /** Used only for API calls, not rendered — no need for @State */
30
+ this.productId = undefined;
31
+ this.onClickOutside = (e) => {
32
+ if (this.host.contains(e.target)) {
33
+ return; // click inside component (e.g. search input, city list) — don't close
34
+ }
35
+ this.isDropdownOpen = false;
36
+ window.removeEventListener('click', this.onClickOutside);
37
+ };
38
+ }
39
+ setLabels() {
40
+ this.labels = {
41
+ deliveryTo: salla.lang.getWithDefault('pages.products.promise_deliver_to', 'توصيل إلى'),
42
+ pickupFromBranch: salla.lang.getWithDefault('pages.products.promise_pickup_from_branch', 'الاستلام من فرع'),
43
+ searchPlaceholder: salla.lang.getWithDefault('blocks.header.search_placeholder', 'بحث...'),
44
+ noResults: salla.lang.getWithDefault('common.elements.no_options', 'لا توجد نتائج'),
45
+ selectCity: salla.lang.getWithDefault('common.elements.select_city', 'اختر المدينة'),
46
+ };
47
+ }
48
+ logger(message, data) {
49
+ if (localStorage.getItem('salla-delivery-promise-debug')) {
50
+ if (data) {
51
+ console.log(message, data);
52
+ }
53
+ else {
54
+ console.log(message);
55
+ }
56
+ }
57
+ }
58
+ async componentDidLoad() {
59
+ await salla.onReady();
60
+ await salla.lang.onLoaded();
61
+ this.setLabels();
62
+ this.requiresShipping = salla.url.is_page('product.single') &&
63
+ salla.config.get('store.features', []).includes('delivery-promises');
64
+ if (this.requiresShipping) {
65
+ this.logger('requiresShipping', this.requiresShipping);
66
+ this.productId = salla.config.get('page.id');
67
+ this.logger('productId', this.productId);
68
+ }
69
+ else {
70
+ this.canRender = false;
71
+ this.logger('not requiresShipping', {
72
+ is_product_single: salla.url.is_page('product.single'),
73
+ includesDeliveryPromises: salla.config.get('store.features', []).includes('delivery-promises')
74
+ });
75
+ return;
76
+ }
77
+ await this.fetchCities();
78
+ }
79
+ async fetchCities() {
80
+ this.logger('start startfetchCities');
81
+ this.isLoadingCities = true;
82
+ this.hasError = false;
83
+ try {
84
+ const response = await salla.api.request(salla.url.api(`products/${this.productId}/delivery-promises/cities`));
85
+ if (response.success && Array.isArray(response.data) && response.data.length > 0) {
86
+ this.logger('fetchCities success', { cities: response.data });
87
+ // Sort cities: explicit cities first (id !== -1), then "Rest of cities" (id === -1)
88
+ this.cities = this.sortCities(response.data);
89
+ this.filteredCities = [...this.cities];
90
+ // First, check if API returns a selected city (is_selected: true)
91
+ let cityToSelect = this.cities.find(c => c.is_selected);
92
+ if (!cityToSelect) {
93
+ this.logger('no selectedCity from API response');
94
+ }
95
+ else {
96
+ this.logger('selectedCity', cityToSelect);
97
+ this.selectedCity = cityToSelect;
98
+ await this.fetchDeliveryMessage(cityToSelect.id);
99
+ }
100
+ this.canRender = true;
101
+ }
102
+ else {
103
+ this.logger('no data returned from fetchCities', { response: response });
104
+ this.canRender = false;
105
+ }
106
+ }
107
+ catch (error) {
108
+ this.logger('fetchCities error', { error: error.message });
109
+ this.hasError = true;
110
+ this.errorMessage = error.message || 'Failed to load cities';
111
+ this.canRender = false;
112
+ }
113
+ finally {
114
+ this.isLoadingCities = false;
115
+ }
116
+ }
117
+ async fetchDeliveryMessage(cityId) {
118
+ this.logger('start fetchDeliveryMessage', { cityId });
119
+ this.isLoadingPromises = true;
120
+ this.hasError = false;
121
+ this.deliveryMessage = null;
122
+ try {
123
+ const response = await salla.api.withoutNotifier(() => salla.api.request(salla.url.api(`products/${this.productId}/delivery-promises?city_id=${cityId}`)));
124
+ if (response.success && response.data?.message) {
125
+ const message = response.data.message.trim();
126
+ this.logger('fetchDeliveryMessage success', { message });
127
+ this.deliveryMessage = message || null;
128
+ }
129
+ else {
130
+ this.logger('deliveryMessage not valid', { response });
131
+ }
132
+ }
133
+ catch (error) {
134
+ this.logger('fetchDeliveryMessage error', { error: error.message });
135
+ this.hasError = true;
136
+ this.errorMessage = error.message || 'Failed to load delivery message';
137
+ }
138
+ finally {
139
+ this.isLoadingPromises = false;
140
+ }
141
+ }
142
+ toggleDropdown(e) {
143
+ e?.stopPropagation();
144
+ this.isDropdownOpen = !this.isDropdownOpen;
145
+ if (this.isDropdownOpen) {
146
+ window.addEventListener('click', this.onClickOutside);
147
+ if (this.searchInputRef) {
148
+ setTimeout(() => this.searchInputRef.focus(), 100);
149
+ }
150
+ }
151
+ else {
152
+ window.removeEventListener('click', this.onClickOutside);
153
+ }
154
+ }
155
+ disconnectedCallback() {
156
+ window.removeEventListener('click', this.onClickOutside);
157
+ }
158
+ /**
159
+ * Sort cities: explicit cities first (id !== -1), then "Rest of cities" (id === -1) at the end
160
+ */
161
+ sortCities(cities) {
162
+ return [...cities].sort((a, b) => {
163
+ // "Rest of cities" (id === -1) should always be at the end
164
+ if (a.id === -1)
165
+ return 1;
166
+ if (b.id === -1)
167
+ return -1;
168
+ return 0;
169
+ });
170
+ }
171
+ handleSearch(event) {
172
+ const query = event.target.value.toLowerCase();
173
+ this.searchQuery = query;
174
+ if (query.length > 0) {
175
+ this.filteredCities = this.cities.filter(city => city.name.toLowerCase()?.includes(query) ||
176
+ (city.name_en || '').toLowerCase()?.includes(query));
177
+ }
178
+ else {
179
+ this.filteredCities = [...this.cities];
180
+ }
181
+ }
182
+ async selectCity(city) {
183
+ this.logger('selectCity', { city: city });
184
+ this.selectedCity = city;
185
+ this.isDropdownOpen = false;
186
+ window.removeEventListener('click', this.onClickOutside);
187
+ this.searchQuery = '';
188
+ this.filteredCities = [...this.cities];
189
+ await this.fetchDeliveryMessage(city.id);
190
+ }
191
+ renderDropdown() {
192
+ return (h("div", { class: "s-delivery-promise-dropdown" }, h("div", { class: "s-delivery-promise-dropdown-search" }, h("i", { class: "sicon-search" }), h("input", { type: "text", placeholder: this.labels.searchPlaceholder, value: this.searchQuery, onInput: (e) => this.handleSearch(e), ref: el => this.searchInputRef = el })), h("div", { class: "s-delivery-promise-dropdown-list" }, this.filteredCities.length === 0 ? (h("div", { class: "s-delivery-promise-dropdown-empty" }, this.labels.noResults)) : (this.filteredCities.map(city => (h("div", { key: city.id, class: `s-delivery-promise-dropdown-item ${this.selectedCity?.id === city.id ? 'selected' : ''}`, onClick: () => this.selectCity(city) }, h("span", { class: "s-delivery-promise-city-name" }, city.name), this.selectedCity?.id === city.id && (h("i", { class: "sicon-check" })))))))));
193
+ }
194
+ /**
195
+ * Skeleton shown during initial city fetch to avoid blank period and layout shift.
196
+ * Matches the structure/size of the real content (header + message area).
197
+ */
198
+ renderInitialLoadingSkeleton() {
199
+ return (h(Host, { class: "s-delivery-promise-wrapper s-delivery-promise-skeleton" }, h("div", { class: "s-delivery-promise-container" }, h("div", { class: "s-delivery-promise-header s-delivery-promise-header-skeleton" }, h("div", { class: "s-delivery-promise-location" }, h("salla-skeleton", { height: "14px", width: "180px" })), h("salla-skeleton", { height: "18px", width: "18px" })), h("div", { class: "s-delivery-promise-loading" }, h("salla-skeleton", { height: "20px", width: "80%" })))));
200
+ }
201
+ renderDeliveryMessage() {
202
+ if (this.isLoadingPromises) {
203
+ return (h("div", { class: "s-delivery-promise-loading" }, h("salla-skeleton", { height: "20px", width: "80%" })));
204
+ }
205
+ if (!this.deliveryMessage) {
206
+ return null;
207
+ }
208
+ return (h("div", { class: "s-delivery-promise-message" }, this.deliveryMessage));
209
+ }
210
+ render() {
211
+ // Not on product page or delivery-promises disabled — hide entirely
212
+ if (!this.requiresShipping) {
213
+ return null;
214
+ }
215
+ // Initial city fetch: show skeleton to avoid blank period and layout shift
216
+ if (this.isLoadingCities) {
217
+ return this.renderInitialLoadingSkeleton();
218
+ }
219
+ // Fetch done but no cities / error — hide
220
+ if (!this.canRender || this.cities.length === 0) {
221
+ return null;
222
+ }
223
+ return (h(Host, { class: "s-delivery-promise-wrapper" }, h("div", { class: "s-delivery-promise-container" }, h("div", { class: "s-delivery-promise-header", onClick: (e) => this.toggleDropdown(e) }, h("div", { class: "s-delivery-promise-location" }, h("span", { class: "s-delivery-promise-title" }, this.labels.deliveryTo, " ", this.selectedCity?.name || this.labels.selectCity)), h("i", { class: `sicon-keyboard_arrow_down s-delivery-promise-arrow ${this.isDropdownOpen ? 'open' : ''}` })), this.hasError && (h("div", { class: "s-delivery-promise-error" }, this.errorMessage)), this.isDropdownOpen && this.renderDropdown(), !this.hasError && this.renderDeliveryMessage())));
224
+ }
225
+ get host() { return getElement(this); }
226
+ };
227
+
228
+ export { SallaDeliveryPromise as salla_delivery_promise };
@@ -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-CyfZeaV2.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BBHnyTVS.js';
5
5
  import { H as Helper } from './Helper-DFMXF2_h.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-CyfZeaV2.js';
4
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BBHnyTVS.js';
5
5
  import { F as FilterOptionTypes } from './interfaces-DL4h2bc3.js';
6
6
  import { H as Helper } from './Helper-DFMXF2_h.js';
7
7
  import './anime.es-CgtvEd63.js';
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * Crafted with ❤ by Salla
3
+ */
4
+ import { r as registerInstance, h, H as Host } from './index-BBHnyTVS.js';
5
+
6
+ const SallaFulfillmentMethods = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.methods = [];
10
+ this.shouldRender = false;
11
+ }
12
+ async componentDidLoad() {
13
+ await Salla.onReady();
14
+ await Salla.lang.onLoaded();
15
+ if (!Salla.config.get('store.support_pickup'))
16
+ return;
17
+ this.shouldRender = true;
18
+ this.setLabels();
19
+ }
20
+ setLabels() {
21
+ this.methods = [
22
+ {
23
+ id: 'delivery',
24
+ title: Salla.lang.getWithDefault('pages.products.promise_delivery_title', 'متاح للتوصيل'),
25
+ subtitle: Salla.lang.getWithDefault('pages.products.promise_delivery_subtitle', 'طلبك يوصلك لباب البيت بسهولة.'),
26
+ iconClass: 'sicon-location',
27
+ },
28
+ {
29
+ id: 'pickup',
30
+ title: Salla.lang.getWithDefault('pages.products.promise_pickup_title', 'متاح للاستلام'),
31
+ subtitle: Salla.lang.getWithDefault('pages.products.promise_pickup_subtitle', 'استلام فوري من أقرب فرع.'),
32
+ iconClass: 'sicon-store',
33
+ },
34
+ ];
35
+ }
36
+ render() {
37
+ if (!this.shouldRender)
38
+ return null;
39
+ return (h(Host, { class: "s-fulfillment-methods" }, h("div", { class: "s-fulfillment-methods-list" }, this.methods.map((method) => (h("div", { key: method.id, class: "s-fulfillment-methods-card" }, h("div", { class: "s-fulfillment-methods-content" }, h("div", { class: "s-fulfillment-methods-icon-wrap" }, h("i", { class: `${method.iconClass} s-fulfillment-methods-icon` })), h("div", { class: "s-fulfillment-methods-text" }, h("span", { class: "s-fulfillment-methods-title" }, method.title), h("span", { class: "s-fulfillment-methods-subtitle" }, method.subtitle)))))))));
40
+ }
41
+ };
42
+
43
+ export { SallaFulfillmentMethods as salla_fulfillment_methods };