@salla.sa/twilight-components 2.14.422 → 2.14.424
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{filepond-Bj2Lr664.js → filepond-DS8lFN12.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-D6zjqOTW.js → filepond-plugin-file-poster-DOlur-Zr.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DW2JtTpK.js → filepond-plugin-file-validate-size-8cdzV2Th.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-Cm_dx5vR.js → filepond-plugin-file-validate-type-DlZs1kVq.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CyB1FduP.js → filepond-plugin-image-edit-SIPcIJFA.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-CxcuYrF1.js → filepond-plugin-image-exif-orientation-CISQ2nhQ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-CXF_Kqyu.js → filepond-plugin-image-preview-8n6MPTM9.js} +1 -1
- package/dist/cjs/{functions-QULFiarR.js → functions-BYHbilvv.js} +1 -1
- package/dist/cjs/{index-C-KeWKxB.js → index-D6qSyn6o.js} +1 -1
- package/dist/cjs/{index-CSI6rnkc.js → index-oFPXLGXi.js} +12 -8
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +4 -2
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
- package/dist/cjs/salla-bullet-delivery.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +3 -9
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +2 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +126 -0
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +3 -9
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-reward-action_4.cjs.entry.js +9 -7
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/swap-stroke-CYGxjKIS.js +13 -0
- package/dist/cjs/tag-money-Cuohw_4j.js +13 -0
- package/dist/cjs/{tracked-promise-DTPdQpTt.js → tracked-promise-UbTM_M6f.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-CmTZhXxo.js → vanilla-picker-CyHLTyvk.js} +1 -1
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/salla-bought-together/salla-bought-together.js +3 -1
- package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +6 -4
- package/dist/collection/components/salla-menu/salla-menu.js +1 -0
- package/dist/collection/components/salla-next-order-coupon/interfaces.js +1 -0
- package/dist/collection/components/salla-next-order-coupon/salla-next-order-coupon.css +3 -0
- package/dist/collection/components/salla-next-order-coupon/salla-next-order-coupon.js +142 -0
- package/dist/components/index.js +2 -2
- package/dist/components/salla-bought-together.js +3 -1
- package/dist/components/salla-cart-item-offers.js +1 -7
- package/dist/components/salla-menu.js +1 -0
- package/dist/components/salla-next-order-coupon.d.ts +11 -0
- package/dist/components/salla-next-order-coupon.js +165 -0
- package/dist/components/salla-order-summary.js +1 -7
- package/dist/components/salla-reward-details2.js +6 -4
- package/dist/components/swap-stroke.js +11 -0
- package/dist/components/tag-money.js +11 -0
- package/dist/esm/{filepond-CaO0jWZe.js → filepond-BKuHui9z.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-x8WSmS0o.js → filepond-plugin-file-poster-Dh39_0L1.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CxlH6WN0.js → filepond-plugin-file-validate-size-CcS_RyRW.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-qw3WFgZc.js → filepond-plugin-file-validate-type-DpLuBo4I.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-DuhPVO0a.js → filepond-plugin-image-edit-BV3ho0c6.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BffsImgy.js → filepond-plugin-image-exif-orientation-CCciy-YF.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-VZtiw7aM.js → filepond-plugin-image-preview-hfHsj8OM.js} +1 -1
- package/dist/esm/{functions-DQPUS1s5.js → functions-Czm5P_7C.js} +1 -1
- package/dist/esm/{index-DcQSprhU.js → index-BdWSh9vH.js} +12 -8
- package/dist/esm/{index-CDqmBYQb.js → index-C5q-9m7l.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +4 -2
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-booking-field_7.entry.js +10 -10
- package/dist/esm/salla-bullet-delivery.entry.js +1 -1
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +2 -8
- package/dist/esm/salla-comment-form_8.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +1 -1
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner.entry.js +2 -2
- package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
- package/dist/esm/salla-loyalty-panel.entry.js +3 -3
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +3 -3
- package/dist/esm/salla-loyalty-reward.entry.js +2 -2
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +2 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +124 -0
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +2 -8
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card_2.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-progress-bar.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-reward-action_4.entry.js +9 -7
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/swap-stroke-DqDX5na4.js +11 -0
- package/dist/esm/tag-money-CJUR4sUM.js +11 -0
- package/dist/esm/{tracked-promise-CjUGdQ4e.js → tracked-promise-CGupCr4U.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-71UAczkS.js → vanilla-picker-XBpFNS7X.js} +1 -1
- package/dist/twilight/p-01c8a84e.entry.js +4 -0
- package/dist/twilight/{p-f2476ba0.entry.js → p-0705e86d.entry.js} +1 -1
- package/dist/twilight/{p-00031f8b.entry.js → p-077ff83c.entry.js} +1 -1
- package/dist/twilight/p-0c299177.entry.js +4 -0
- package/dist/twilight/{p-81f18d48.entry.js → p-106c5b79.entry.js} +1 -1
- package/dist/twilight/{p-9cb39e42.entry.js → p-1186078e.entry.js} +1 -1
- package/dist/twilight/{p-f161933c.entry.js → p-15836ed9.entry.js} +1 -1
- package/dist/twilight/{p-3f01ef83.entry.js → p-15a8c7c6.entry.js} +1 -1
- package/dist/twilight/{p-80865031.entry.js → p-163ebaf7.entry.js} +1 -1
- package/dist/twilight/{p-e08d36d6.entry.js → p-168c942e.entry.js} +1 -1
- package/dist/twilight/{p-062ce0be.entry.js → p-1722e759.entry.js} +1 -1
- package/dist/twilight/{p-DgJJBXMW.js → p-1YpyVfkq.js} +1 -1
- package/dist/twilight/{p-97a43989.entry.js → p-1a796e26.entry.js} +1 -1
- package/dist/twilight/{p-c34b5d8a.entry.js → p-1af3a167.entry.js} +1 -1
- package/dist/twilight/{p-e87d2534.entry.js → p-1d508c88.entry.js} +1 -1
- package/dist/twilight/{p-3a3dd27f.entry.js → p-23583546.entry.js} +1 -1
- package/dist/twilight/p-2437e4ac.entry.js +4 -0
- package/dist/twilight/{p-63e1b828.entry.js → p-27c6128f.entry.js} +1 -1
- package/dist/twilight/{p-a147d986.entry.js → p-27f90256.entry.js} +1 -1
- package/dist/twilight/{p-b0b2aeda.entry.js → p-29cbf744.entry.js} +1 -1
- package/dist/twilight/{p-cfac18e6.entry.js → p-2cb6feea.entry.js} +1 -1
- package/dist/twilight/{p-ea4ded2f.entry.js → p-2f530556.entry.js} +1 -1
- package/dist/twilight/{p-6ccbe91b.entry.js → p-34c1e701.entry.js} +1 -1
- package/dist/twilight/{p-6587c7d9.entry.js → p-37397917.entry.js} +1 -1
- package/dist/twilight/{p-3115fa6f.entry.js → p-3fb699fb.entry.js} +1 -1
- package/dist/twilight/{p-b3a731c1.entry.js → p-41237614.entry.js} +1 -1
- package/dist/twilight/{p-300dae0b.entry.js → p-4ad0ea7c.entry.js} +1 -1
- package/dist/twilight/{p-061c3ad0.entry.js → p-4dc5f354.entry.js} +1 -1
- package/dist/twilight/{p-5637acc5.entry.js → p-4f1e3ebb.entry.js} +1 -1
- package/dist/twilight/{p-ecb69641.entry.js → p-50002b57.entry.js} +1 -1
- package/dist/twilight/{p-14805623.entry.js → p-538cf743.entry.js} +1 -1
- package/dist/twilight/{p-c2a2158a.entry.js → p-55b5e8be.entry.js} +1 -1
- package/dist/twilight/{p-503f9bbf.entry.js → p-5b37732b.entry.js} +1 -1
- package/dist/twilight/{p-4f6bff26.entry.js → p-5ba9c7db.entry.js} +1 -1
- package/dist/twilight/{p-a4c32f61.entry.js → p-5bbc5ce6.entry.js} +1 -1
- package/dist/twilight/{p-192e2bc3.entry.js → p-61abc2ef.entry.js} +1 -1
- package/dist/twilight/{p-d46ab245.entry.js → p-61eb0bc8.entry.js} +1 -1
- package/dist/twilight/{p-f6ed04b2.entry.js → p-635738d0.entry.js} +1 -1
- package/dist/twilight/{p-d65db41e.entry.js → p-649268c1.entry.js} +1 -1
- package/dist/twilight/{p-a2fcbc1a.entry.js → p-66c85e94.entry.js} +1 -1
- package/dist/twilight/{p-0217da98.entry.js → p-6a2b2122.entry.js} +1 -1
- package/dist/twilight/{p-deffef72.entry.js → p-6bb43f9d.entry.js} +1 -1
- package/dist/twilight/{p-957bffb4.entry.js → p-77744cd4.entry.js} +1 -1
- package/dist/twilight/{p-452d8cd0.entry.js → p-7f9c18d8.entry.js} +1 -1
- package/dist/twilight/{p-c9b8eaa4.entry.js → p-806d31ba.entry.js} +1 -1
- package/dist/twilight/{p-fa5cfbbb.entry.js → p-813b762c.entry.js} +1 -1
- package/dist/twilight/{p-f0f5e269.entry.js → p-85267471.entry.js} +1 -1
- package/dist/twilight/{p-32a76526.entry.js → p-86486b65.entry.js} +1 -1
- package/dist/twilight/{p-c13164b8.entry.js → p-88e2d340.entry.js} +1 -1
- package/dist/twilight/{p-587d6230.entry.js → p-8b807210.entry.js} +1 -1
- package/dist/twilight/{p-f77d4659.entry.js → p-920a3f93.entry.js} +1 -1
- package/dist/twilight/{p-e79d468d.entry.js → p-937b1d3f.entry.js} +1 -1
- package/dist/twilight/{p-77d1859e.entry.js → p-93a4254f.entry.js} +1 -1
- package/dist/twilight/{p-acb769ec.entry.js → p-9d16c043.entry.js} +1 -1
- package/dist/twilight/{p-c49b9285.entry.js → p-9ec5b3ec.entry.js} +1 -1
- package/dist/twilight/{p-BTAUEZcN.js → p-B-CUQTrk.js} +1 -1
- package/dist/twilight/{p-CT3zVv2d.js → p-B8u0sgnU.js} +1 -1
- package/dist/twilight/{p-Cs04GLEl.js → p-BUZ_EM6t.js} +1 -1
- package/dist/twilight/{p-DcQSprhU.js → p-BdWSh9vH.js} +1 -1
- package/dist/twilight/{p-l-JdSat8.js → p-Bvagw9Eb.js} +1 -1
- package/dist/twilight/p-CJUR4sUM.js +4 -0
- package/dist/twilight/{p-CN2sY_Li.js → p-CL1NQBQS.js} +1 -1
- package/dist/twilight/{p-BCVUxip0.js → p-CXWkL-Nl.js} +1 -1
- package/dist/twilight/{p-BHk2Uou3.js → p-Co4B1BYS.js} +1 -1
- package/dist/twilight/p-DqDX5na4.js +4 -0
- package/dist/twilight/{p-Ca8b1Y6p.js → p-MdN_P6GB.js} +1 -1
- package/dist/twilight/{p-e8a3af2d.entry.js → p-a08bae8c.entry.js} +1 -1
- package/dist/twilight/{p-868e3de6.entry.js → p-a0c2d2fc.entry.js} +1 -1
- package/dist/twilight/{p-e4f154ee.entry.js → p-a2bf9399.entry.js} +1 -1
- package/dist/twilight/{p-64f577be.entry.js → p-a2cf36dd.entry.js} +1 -1
- package/dist/twilight/{p-8101bf16.entry.js → p-a517605b.entry.js} +1 -1
- package/dist/twilight/p-a6980f8f.entry.js +4 -0
- package/dist/twilight/p-a7292650.entry.js +4 -0
- package/dist/twilight/{p-a44f888a.entry.js → p-b49a7e3e.entry.js} +1 -1
- package/dist/twilight/{p-28cd5556.entry.js → p-b5b4582b.entry.js} +1 -1
- package/dist/twilight/{p-e2e790c2.entry.js → p-b9e27f4a.entry.js} +1 -1
- package/dist/twilight/{p-b3d565bd.entry.js → p-ba7d2b19.entry.js} +1 -1
- package/dist/twilight/{p-1cf5f505.entry.js → p-bb684fb5.entry.js} +1 -1
- package/dist/twilight/{p-013cfbf0.entry.js → p-bed2665e.entry.js} +1 -1
- package/dist/twilight/{p-69b6a7e6.entry.js → p-c4b60782.entry.js} +1 -1
- package/dist/twilight/{p-5e5ccdab.entry.js → p-c9a2317f.entry.js} +1 -1
- package/dist/twilight/{p-9924b574.entry.js → p-cc41c0fa.entry.js} +1 -1
- package/dist/twilight/{p-a6282734.entry.js → p-cda257aa.entry.js} +1 -1
- package/dist/twilight/{p-7282ff57.entry.js → p-cfdf044a.entry.js} +1 -1
- package/dist/twilight/{p-8ad13a15.entry.js → p-d1b0d5a6.entry.js} +1 -1
- package/dist/twilight/{p-6d5b28c5.entry.js → p-d93dda4f.entry.js} +1 -1
- package/dist/twilight/{p-38ce7612.entry.js → p-df0ef038.entry.js} +1 -1
- package/dist/twilight/{p-4a8e7f09.entry.js → p-e09f41df.entry.js} +1 -1
- package/dist/twilight/{p-9170fe95.entry.js → p-e14c7c23.entry.js} +1 -1
- package/dist/twilight/{p-63d47b05.entry.js → p-e33b5cf9.entry.js} +1 -1
- package/dist/twilight/p-e580c9e9.entry.js +4 -0
- package/dist/twilight/{p-d188ddc3.entry.js → p-ed767ba1.entry.js} +1 -1
- package/dist/twilight/{p-8ec0ba5b.entry.js → p-effcd169.entry.js} +1 -1
- package/dist/twilight/{p-8eebefe9.entry.js → p-fba1c62d.entry.js} +1 -1
- package/dist/twilight/{p-6c98089b.entry.js → p-ff8f343e.entry.js} +1 -1
- package/dist/twilight/{p-CRRWZbuL.js → p-kpU-gI-I.js} +1 -1
- package/dist/twilight/{p-DeBNbBwy.js → p-qPitx-1F.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-next-order-coupon/interfaces.d.ts +11 -0
- package/dist/types/components/salla-next-order-coupon/salla-next-order-coupon.d.ts +24 -0
- package/dist/types/components.d.ts +13 -0
- package/package.json +5 -5
- package/dist/twilight/p-27cc8fc7.entry.js +0 -4
- package/dist/twilight/p-489cca66.entry.js +0 -4
- package/dist/twilight/p-497b058a.entry.js +0 -4
- package/dist/twilight/p-4c759f75.entry.js +0 -4
- package/dist/twilight/p-50b449bd.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as s,h as e,H as i,a as t}from"./p-DcQSprhU.js";function l(s,e){localStorage.getItem("salla-delivery-promise-debug")&&(void 0!==e?console.log(s,e):console.log(s))}function r(){const s=(Boolean(salla.config.get("store.settings.bullet_delivery.settings.remember_last_session"))?salla.storage.store:salla.storage.session).get("bullet_delivery_intent");return s&&"object"==typeof s?s:null}const a={deliveryTo:"توصيل إلى",pickupFromBranch:"الاستلام من فرع",noResults:"لا توجد نتائج",selectCity:"اختر المدينة",changeCityTitle:"تغيير المدينة",changeCitySubtitle:"",cityFieldLabel:"المدينة",modalSearchPlaceholder:"ابحث عن مدينة",confirmAddress:"تأكيد العنوان",errorDeliveryPromise:"لا يتوفر وعد تسليم لهذه المدينة",errorPickupPromise:"لا يتوفر وعد تسليم لهذا الفرع"};function o(s){const e=salla.config.get("user.language_code");return e&&"ar"!==e&&s.name_en?.trim()?s.name_en.trim():s.name}const n=class{constructor(e){s(this,e),this.isDeliveryPromiseEnabled=!1,this.isLoginCycleEnabled=!1,this.canRender=!1,this.labels=a,this.selectedLabel=null,this.deliveryMessage=null,this.hasError=!1,this.errorMessage="",this.isLoadingPromises=!1,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,this.cities=[],this.selectedCity=null,this.isLoadingCities=!1,this.modalSearchQuery="",this.cityPendingSelection=null,this.isCityPopoverOpen=!1,this.onBulletDeliveryConfirmed=()=>{this.applyBulletIntent()},this.handleModalSearchInput=s=>{this.modalSearchQuery=s.target.value,this.isCityPopoverOpen=!0},this.handleModalComboboxActivate=()=>{this.isCityPopoverOpen=!0},this.handleHeaderClick=s=>{s.stopPropagation(),this.isLoginCycleEnabled?this.openBulletDeliveryModal():this.openCityChangeModal()}}async componentDidLoad(){await salla.onReady(),await salla.lang.onLoaded(),this.labels={deliveryTo:salla.lang.getWithDefault("pages.products.promise_deliver_to",a.deliveryTo),pickupFromBranch:salla.lang.getWithDefault("pages.products.promise_pickup_from_branch",a.pickupFromBranch),noResults:salla.lang.getWithDefault("common.elements.no_options",a.noResults),selectCity:salla.lang.getWithDefault("common.elements.select_city",a.selectCity),changeCityTitle:salla.lang.getWithDefault("pages.products.promise_change_city_title",a.changeCityTitle),changeCitySubtitle:salla.lang.getWithDefault("pages.products.promise_change_city_subtitle","قد تتغيّر مدة التوصيل حسب المدينة."),cityFieldLabel:salla.lang.getWithDefault("pages.products.promise_city_field",a.cityFieldLabel),modalSearchPlaceholder:salla.lang.getWithDefault("pages.products.promise_search_city",a.modalSearchPlaceholder),confirmAddress:salla.lang.getWithDefault("pages.checkout.confirm_address",a.confirmAddress),errorDeliveryPromise:salla.lang.getWithDefault("pages.products.promise_delivery_not_available",a.errorDeliveryPromise),errorPickupPromise:salla.lang.getWithDefault("pages.products.promise_pickup_not_available",a.errorPickupPromise)},this.isDeliveryPromiseEnabled=salla.config.get("store.features",[]).includes("delivery-promises"),this.isLoginCycleEnabled=salla.config.get("store.features",[]).includes("bullet-delivery-v2"),this.productId=salla.config.get("page.id"),this.isDeliveryPromiseEnabled?this.isLoginCycleEnabled?(this.applyBulletIntent(),this.canRender=!0,window.addEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)):(this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,await this.loadCities()):this.canRender=!1}disconnectedCallback(){window.removeEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)}applyBulletIntent(){const s=function(){const s=r();if(!s)return null;if("address"===s.type){const e=s.address_details?.city,i=null!=e?.id?Number(e.id):null!=s.city_id?Number(s.city_id):null,t=e?.name?.trim()||"";return null!=i?{type:"address",option:{id:i,name:t}}:null}if("branch"===s.type){const e=null!=s.branch_id?Number(s.branch_id):null!=s.branch_details?.id?Number(s.branch_details.id):null,i=s.branch_details?.name?.trim()||"";return null!=e?{type:"branch",option:{id:e,name:i}}:null}return null}();if(!s)return this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,void(this.deliveryMessage=null);"address"===s.type?(this.selectedCityLoginCycle=s.option,this.selectedBranchLoginCycle=null,this.selectedLabel=`${this.labels.deliveryTo} ${s.option.name||this.labels.selectCity}`,this.loadDeliveryMessage(s.option.id,"city")):(this.selectedBranchLoginCycle=s.option,this.selectedCityLoginCycle=null,this.selectedLabel=`${this.labels.pickupFromBranch} ${s.option.name}`,this.loadDeliveryMessage(s.option.id,"branch"))}openBulletDeliveryModal(){salla.event.emit("salla::bullet-delivery.modal.open.requested",function(){const s=r(),e={};if("address"===s?.type&&null!=s.address_id&&(e.preselected_address_id=Number(s.address_id)),"branch"===s?.type){const i=s.branch_id??s.branch_details?.id;null!=i&&(e.preselected_branch_id=Number(i))}return e}())}async loadCities(){this.isLoadingCities=!0,this.hasError=!1;try{const{cities:s,preselected:e}=await async function(s){l("fetchCities start",{productId:s});const e=await salla.api.request(salla.url.api(`products/${s}/delivery-promises/cities`));if(!e.success||!Array.isArray(e.data)||0===e.data.length)return l("fetchCities: no data",{response:e}),{cities:[],preselected:void 0};const i=e.data.find((s=>s.is_selected));return l("fetchCities success",{count:e.data.length,preselected:i}),{cities:e.data,preselected:i}}(this.productId);if(0===s.length)return void(this.canRender=!1);this.cities=s,e&&(this.selectedCity=e,this.selectedLabel=`${this.labels.deliveryTo} ${o(e)}`,await this.loadDeliveryMessage(e.id,"city")),this.canRender=!0}catch(s){this.hasError=!0,this.errorMessage=s.message||"Failed to load cities",this.canRender=!1}finally{this.isLoadingCities=!1}}async loadDeliveryMessage(s,e){this.isLoadingPromises=!0,this.hasError=!1,this.deliveryMessage=null;try{this.deliveryMessage=await async function(s,e,i,t){l("fetchDeliveryMessage start",{productId:s,id:e,optionType:i});let r="";r="city"!==i||t?`?reference_id=${e}&reference_type=${i}`:`?reference_id=${e}`;const a=await salla.api.withoutNotifier((()=>salla.api.request(salla.url.api(`products/${s}/delivery-promises${r}`))));if(!a.success)throw l("fetchDeliveryMessage error",{response:a}),new Error(a.error?.message||"Failed to fetch delivery promise");const o=a.data?.message?.trim();return l("fetchDeliveryMessage success",{message:o}),o||null}(this.productId,s,e,this.isLoginCycleEnabled)}catch(s){this.hasError=!0,this.errorMessage="city"===e?this.labels.errorDeliveryPromise:this.labels.errorPickupPromise}finally{this.isLoadingPromises=!1}}async openCityChangeModal(){this.cityModalRef&&(this.cityPendingSelection=null,this.modalSearchQuery="",this.isCityPopoverOpen=!1,await this.cityModalRef.setTitle(this.labels.changeCityTitle),await this.cityModalRef.open())}handleModalSelectCity(s){this.cityPendingSelection=s,this.modalSearchQuery=o(s),this.isCityPopoverOpen=!1}async handleConfirmCityModal(){if(!this.cityPendingSelection)return void await(this.cityModalRef?.close());const s=this.cityPendingSelection;this.selectedCity=s,this.selectedLabel=`${this.labels.deliveryTo} ${o(s)}`,await this.loadDeliveryMessage(s.id,"city"),await(this.cityModalRef?.close())}renderLoadingSkeleton(){return e(i,{class:"s-delivery-promise-wrapper s-delivery-promise-skeleton"},e("div",{class:"s-delivery-promise-container"},e("div",{class:"s-delivery-promise-header s-delivery-promise-header-skeleton"},e("div",{class:"s-delivery-promise-location"},e("salla-skeleton",{height:"14px",width:"180px"})),e("salla-skeleton",{height:"18px",width:"18px"})),e("div",{class:"s-delivery-promise-loading"},e("salla-skeleton",{height:"20px",width:"80%"}))))}renderDeliveryMessage(){return this.isLoadingPromises?e("div",{class:"s-delivery-promise-loading"},e("salla-skeleton",{height:"20px",width:"80%"})):this.deliveryMessage?e("div",{class:"s-delivery-promise-message"},this.deliveryMessage):null}renderCityModalBody(){const s=function(s,e){const i=e.trim().toLowerCase();return i?s.filter((s=>s.name.toLowerCase().includes(i)||(s.name_en||"").toLowerCase().includes(i))):[...s]}(this.cities,this.modalSearchQuery);return e("div",{class:"s-delivery-promise-modal-body"},e("label",{class:"s-delivery-promise-modal-field-label",htmlFor:"s-delivery-promise-modal-search"},this.labels.cityFieldLabel,e("span",{class:"s-delivery-promise-required","aria-hidden":"true"}," *")),e("div",{class:"s-delivery-promise-modal-combobox"},e("div",{class:"s-delivery-promise-modal-search",onClick:this.handleModalComboboxActivate},e("i",{class:"sicon-search","aria-hidden":"true"}),e("input",{id:"s-delivery-promise-modal-search",type:"text",class:"form-input",placeholder:this.labels.modalSearchPlaceholder,value:this.modalSearchQuery,onInput:this.handleModalSearchInput,autocomplete:"off","aria-autocomplete":"list","aria-expanded":this.isCityPopoverOpen?"true":"false","aria-controls":"s-delivery-promise-modal-listbox"})),e("div",{id:"s-delivery-promise-modal-listbox",class:"s-delivery-promise-modal-popover",role:"listbox",hidden:!this.isCityPopoverOpen},e("div",{class:"s-delivery-promise-modal-list s-scrollbar"},0===s.length?e("div",{class:"s-delivery-promise-modal-empty"},this.labels.noResults):s.map((s=>e("button",{key:s.id,type:"button",role:"option",class:{"s-delivery-promise-modal-item":!0,"s-delivery-promise-modal-item--selected":this.cityPendingSelection?.id===s.id},"aria-selected":this.cityPendingSelection?.id===s.id?"true":"false",onClick:e=>{e.stopPropagation(),this.handleModalSelectCity(s)}},e("span",{class:"s-delivery-promise-modal-item-name"},s.name),this.cityPendingSelection?.id===s.id?e("i",{class:"sicon-check","aria-hidden":"true"}):null)))))))}renderCityChangeModal(){return this.isLoginCycleEnabled?null:e("salla-modal",{id:"s-delivery-promise-city-modal",ref:s=>{this.cityModalRef=s},class:"s-delivery-promise-city-modal",isClosable:!0,width:"md","modal-title":this.labels.changeCityTitle,subTitle:this.labels.changeCitySubtitle},this.renderCityModalBody(),e("salla-button",{slot:"footer",width:"wide",disabled:!this.cityPendingSelection,onClick:()=>this.handleConfirmCityModal()},!this.isLoadingPromises&&this.labels.confirmAddress))}render(){return this.isDeliveryPromiseEnabled?this.isLoadingCities?this.renderLoadingSkeleton():this.canRender?e(i,{class:"s-delivery-promise-wrapper"},e("div",{class:"s-delivery-promise-container"},e("div",{class:"s-delivery-promise-header",onClick:this.handleHeaderClick},e("div",{class:"s-delivery-promise-location"},e("span",{class:"s-delivery-promise-title"},this.selectedLabel)),e("i",{class:"sicon-keyboard_arrow_down s-delivery-promise-arrow"})),this.hasError&&e("div",{class:"s-delivery-promise-error"},this.errorMessage),!this.hasError&&this.renderDeliveryMessage()),this.renderCityChangeModal()):null:null}get host(){return t(this)}};export{n as salla_delivery_promise}
|
|
4
|
+
import{r as s,h as e,H as i,a as t}from"./p-BdWSh9vH.js";function l(s,e){localStorage.getItem("salla-delivery-promise-debug")&&(void 0!==e?console.log(s,e):console.log(s))}function r(){const s=(Boolean(salla.config.get("store.settings.bullet_delivery.settings.remember_last_session"))?salla.storage.store:salla.storage.session).get("bullet_delivery_intent");return s&&"object"==typeof s?s:null}const a={deliveryTo:"توصيل إلى",pickupFromBranch:"الاستلام من فرع",noResults:"لا توجد نتائج",selectCity:"اختر المدينة",changeCityTitle:"تغيير المدينة",changeCitySubtitle:"",cityFieldLabel:"المدينة",modalSearchPlaceholder:"ابحث عن مدينة",confirmAddress:"تأكيد العنوان",errorDeliveryPromise:"لا يتوفر وعد تسليم لهذه المدينة",errorPickupPromise:"لا يتوفر وعد تسليم لهذا الفرع"};function o(s){const e=salla.config.get("user.language_code");return e&&"ar"!==e&&s.name_en?.trim()?s.name_en.trim():s.name}const n=class{constructor(e){s(this,e),this.isDeliveryPromiseEnabled=!1,this.isLoginCycleEnabled=!1,this.canRender=!1,this.labels=a,this.selectedLabel=null,this.deliveryMessage=null,this.hasError=!1,this.errorMessage="",this.isLoadingPromises=!1,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,this.cities=[],this.selectedCity=null,this.isLoadingCities=!1,this.modalSearchQuery="",this.cityPendingSelection=null,this.isCityPopoverOpen=!1,this.onBulletDeliveryConfirmed=()=>{this.applyBulletIntent()},this.handleModalSearchInput=s=>{this.modalSearchQuery=s.target.value,this.isCityPopoverOpen=!0},this.handleModalComboboxActivate=()=>{this.isCityPopoverOpen=!0},this.handleHeaderClick=s=>{s.stopPropagation(),this.isLoginCycleEnabled?this.openBulletDeliveryModal():this.openCityChangeModal()}}async componentDidLoad(){await salla.onReady(),await salla.lang.onLoaded(),this.labels={deliveryTo:salla.lang.getWithDefault("pages.products.promise_deliver_to",a.deliveryTo),pickupFromBranch:salla.lang.getWithDefault("pages.products.promise_pickup_from_branch",a.pickupFromBranch),noResults:salla.lang.getWithDefault("common.elements.no_options",a.noResults),selectCity:salla.lang.getWithDefault("common.elements.select_city",a.selectCity),changeCityTitle:salla.lang.getWithDefault("pages.products.promise_change_city_title",a.changeCityTitle),changeCitySubtitle:salla.lang.getWithDefault("pages.products.promise_change_city_subtitle","قد تتغيّر مدة التوصيل حسب المدينة."),cityFieldLabel:salla.lang.getWithDefault("pages.products.promise_city_field",a.cityFieldLabel),modalSearchPlaceholder:salla.lang.getWithDefault("pages.products.promise_search_city",a.modalSearchPlaceholder),confirmAddress:salla.lang.getWithDefault("pages.checkout.confirm_address",a.confirmAddress),errorDeliveryPromise:salla.lang.getWithDefault("pages.products.promise_delivery_not_available",a.errorDeliveryPromise),errorPickupPromise:salla.lang.getWithDefault("pages.products.promise_pickup_not_available",a.errorPickupPromise)},this.isDeliveryPromiseEnabled=salla.config.get("store.features",[]).includes("delivery-promises"),this.isLoginCycleEnabled=salla.config.get("store.features",[]).includes("bullet-delivery-v2"),this.productId=salla.config.get("page.id"),this.isDeliveryPromiseEnabled?this.isLoginCycleEnabled?(this.applyBulletIntent(),this.canRender=!0,window.addEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)):(this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,await this.loadCities()):this.canRender=!1}disconnectedCallback(){window.removeEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)}applyBulletIntent(){const s=function(){const s=r();if(!s)return null;if("address"===s.type){const e=s.address_details?.city,i=null!=e?.id?Number(e.id):null!=s.city_id?Number(s.city_id):null,t=e?.name?.trim()||"";return null!=i?{type:"address",option:{id:i,name:t}}:null}if("branch"===s.type){const e=null!=s.branch_id?Number(s.branch_id):null!=s.branch_details?.id?Number(s.branch_details.id):null,i=s.branch_details?.name?.trim()||"";return null!=e?{type:"branch",option:{id:e,name:i}}:null}return null}();if(!s)return this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,void(this.deliveryMessage=null);"address"===s.type?(this.selectedCityLoginCycle=s.option,this.selectedBranchLoginCycle=null,this.selectedLabel=`${this.labels.deliveryTo} ${s.option.name||this.labels.selectCity}`,this.loadDeliveryMessage(s.option.id,"city")):(this.selectedBranchLoginCycle=s.option,this.selectedCityLoginCycle=null,this.selectedLabel=`${this.labels.pickupFromBranch} ${s.option.name}`,this.loadDeliveryMessage(s.option.id,"branch"))}openBulletDeliveryModal(){salla.event.emit("salla::bullet-delivery.modal.open.requested",function(){const s=r(),e={};if("address"===s?.type&&null!=s.address_id&&(e.preselected_address_id=Number(s.address_id)),"branch"===s?.type){const i=s.branch_id??s.branch_details?.id;null!=i&&(e.preselected_branch_id=Number(i))}return e}())}async loadCities(){this.isLoadingCities=!0,this.hasError=!1;try{const{cities:s,preselected:e}=await async function(s){l("fetchCities start",{productId:s});const e=await salla.api.request(salla.url.api(`products/${s}/delivery-promises/cities`));if(!e.success||!Array.isArray(e.data)||0===e.data.length)return l("fetchCities: no data",{response:e}),{cities:[],preselected:void 0};const i=e.data.find((s=>s.is_selected));return l("fetchCities success",{count:e.data.length,preselected:i}),{cities:e.data,preselected:i}}(this.productId);if(0===s.length)return void(this.canRender=!1);this.cities=s,e&&(this.selectedCity=e,this.selectedLabel=`${this.labels.deliveryTo} ${o(e)}`,await this.loadDeliveryMessage(e.id,"city")),this.canRender=!0}catch(s){this.hasError=!0,this.errorMessage=s.message||"Failed to load cities",this.canRender=!1}finally{this.isLoadingCities=!1}}async loadDeliveryMessage(s,e){this.isLoadingPromises=!0,this.hasError=!1,this.deliveryMessage=null;try{this.deliveryMessage=await async function(s,e,i,t){l("fetchDeliveryMessage start",{productId:s,id:e,optionType:i});let r="";r="city"!==i||t?`?reference_id=${e}&reference_type=${i}`:`?reference_id=${e}`;const a=await salla.api.withoutNotifier((()=>salla.api.request(salla.url.api(`products/${s}/delivery-promises${r}`))));if(!a.success)throw l("fetchDeliveryMessage error",{response:a}),new Error(a.error?.message||"Failed to fetch delivery promise");const o=a.data?.message?.trim();return l("fetchDeliveryMessage success",{message:o}),o||null}(this.productId,s,e,this.isLoginCycleEnabled)}catch(s){this.hasError=!0,this.errorMessage="city"===e?this.labels.errorDeliveryPromise:this.labels.errorPickupPromise}finally{this.isLoadingPromises=!1}}async openCityChangeModal(){this.cityModalRef&&(this.cityPendingSelection=null,this.modalSearchQuery="",this.isCityPopoverOpen=!1,await this.cityModalRef.setTitle(this.labels.changeCityTitle),await this.cityModalRef.open())}handleModalSelectCity(s){this.cityPendingSelection=s,this.modalSearchQuery=o(s),this.isCityPopoverOpen=!1}async handleConfirmCityModal(){if(!this.cityPendingSelection)return void await(this.cityModalRef?.close());const s=this.cityPendingSelection;this.selectedCity=s,this.selectedLabel=`${this.labels.deliveryTo} ${o(s)}`,await this.loadDeliveryMessage(s.id,"city"),await(this.cityModalRef?.close())}renderLoadingSkeleton(){return e(i,{class:"s-delivery-promise-wrapper s-delivery-promise-skeleton"},e("div",{class:"s-delivery-promise-container"},e("div",{class:"s-delivery-promise-header s-delivery-promise-header-skeleton"},e("div",{class:"s-delivery-promise-location"},e("salla-skeleton",{height:"14px",width:"180px"})),e("salla-skeleton",{height:"18px",width:"18px"})),e("div",{class:"s-delivery-promise-loading"},e("salla-skeleton",{height:"20px",width:"80%"}))))}renderDeliveryMessage(){return this.isLoadingPromises?e("div",{class:"s-delivery-promise-loading"},e("salla-skeleton",{height:"20px",width:"80%"})):this.deliveryMessage?e("div",{class:"s-delivery-promise-message"},this.deliveryMessage):null}renderCityModalBody(){const s=function(s,e){const i=e.trim().toLowerCase();return i?s.filter((s=>s.name.toLowerCase().includes(i)||(s.name_en||"").toLowerCase().includes(i))):[...s]}(this.cities,this.modalSearchQuery);return e("div",{class:"s-delivery-promise-modal-body"},e("label",{class:"s-delivery-promise-modal-field-label",htmlFor:"s-delivery-promise-modal-search"},this.labels.cityFieldLabel,e("span",{class:"s-delivery-promise-required","aria-hidden":"true"}," *")),e("div",{class:"s-delivery-promise-modal-combobox"},e("div",{class:"s-delivery-promise-modal-search",onClick:this.handleModalComboboxActivate},e("i",{class:"sicon-search","aria-hidden":"true"}),e("input",{id:"s-delivery-promise-modal-search",type:"text",class:"form-input",placeholder:this.labels.modalSearchPlaceholder,value:this.modalSearchQuery,onInput:this.handleModalSearchInput,autocomplete:"off","aria-autocomplete":"list","aria-expanded":this.isCityPopoverOpen?"true":"false","aria-controls":"s-delivery-promise-modal-listbox"})),e("div",{id:"s-delivery-promise-modal-listbox",class:"s-delivery-promise-modal-popover",role:"listbox",hidden:!this.isCityPopoverOpen},e("div",{class:"s-delivery-promise-modal-list s-scrollbar"},0===s.length?e("div",{class:"s-delivery-promise-modal-empty"},this.labels.noResults):s.map((s=>e("button",{key:s.id,type:"button",role:"option",class:{"s-delivery-promise-modal-item":!0,"s-delivery-promise-modal-item--selected":this.cityPendingSelection?.id===s.id},"aria-selected":this.cityPendingSelection?.id===s.id?"true":"false",onClick:e=>{e.stopPropagation(),this.handleModalSelectCity(s)}},e("span",{class:"s-delivery-promise-modal-item-name"},s.name),this.cityPendingSelection?.id===s.id?e("i",{class:"sicon-check","aria-hidden":"true"}):null)))))))}renderCityChangeModal(){return this.isLoginCycleEnabled?null:e("salla-modal",{id:"s-delivery-promise-city-modal",ref:s=>{this.cityModalRef=s},class:"s-delivery-promise-city-modal",isClosable:!0,width:"md","modal-title":this.labels.changeCityTitle,subTitle:this.labels.changeCitySubtitle},this.renderCityModalBody(),e("salla-button",{slot:"footer",width:"wide",disabled:!this.cityPendingSelection,onClick:()=>this.handleConfirmCityModal()},!this.isLoadingPromises&&this.labels.confirmAddress))}render(){return this.isDeliveryPromiseEnabled?this.isLoadingCities?this.renderLoadingSkeleton():this.canRender?e(i,{class:"s-delivery-promise-wrapper"},e("div",{class:"s-delivery-promise-container"},e("div",{class:"s-delivery-promise-header",onClick:this.handleHeaderClick},e("div",{class:"s-delivery-promise-location"},e("span",{class:"s-delivery-promise-title"},this.selectedLabel)),e("i",{class:"sicon-keyboard_arrow_down s-delivery-promise-arrow"})),this.hasError&&e("div",{class:"s-delivery-promise-error"},this.errorMessage),!this.hasError&&this.renderDeliveryMessage()),this.renderCityChangeModal()):null:null}get host(){return t(this)}};export{n as salla_delivery_promise}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as s,h as t,H as i}from"./p-DcQSprhU.js";import{g as e,a,c as d,u as r,r as o,m as l,b as n,f as h,d as c,e as u,h as m,i as p}from"./p-C8xwacGT.js";import"./p-CoQJOPRz.js";const f=class{constructor(t){s(this,t),this.loading=!0,this.saveLoading=!1,this.payload={items:{update:[],remove:[],add:[]}},this.expired=!1,this.editPreview=null,this.productSearchQuery="",this.productsListKey=0,this.productsListSource="latest",this.productsListSourceValue="",this.selectedProductToAdd=null,this.addProductQuantity=1,this.addProductLoading=!1,this.addProductConfirmLoading=!1,this.mobileProductsModalMounted=!1,this.isMobileViewport=!1,this.mobileProductsListLoading=!1,this.confirming=!1,this.handleMobileProductSelected=s=>{s.stopPropagation(),this.handleProductSelected(s)},this.productsPanelMobileQuery="(max-width: 768px)",this.handleProductsPanelViewportChange=s=>{this.isMobileViewport=s.matches},this.hasProductTypeFilter=s=>{const t=s.indexOf("?"),i=(t>=0?s.slice(t+1):s).split("#")[0];return Array.from(new URLSearchParams(i)).some((([s,t])=>"product"===t&&/^filters\[types\](?:\[(?:\d*)\])?$/.test(s)))},this.normalizeProductsListArrayParams=s=>s.replace(/(^|[?&])(includes|source_value|filters(?:\[|%5B)[^&=\]%]+?(?:\]|%5D))(\[|%5B)\d+(\]|%5D)(?==)/gi,((s,t,i,e,a)=>`${t}${i}${e}${a}`)),this.handleBeforeBuildListUrl=s=>{"salla-order-edit-product-card"===s.component?.productCardComponent&&"string"==typeof s.url&&(s.url=this.normalizeProductsListArrayParams(s.url),this.hasProductTypeFilter(s.url)||(s.url+=(s.url.includes("?")?"&":"?")+"filters[types][]=product"))},this.defaultProductsListSource="latest",this.debouncedProductSearch=salla.helpers.debounce((s=>this.applyProductSearch(s)),500)}async componentWillLoad(){this.setupProductsPanelViewportQuery(),await salla.onReady(),this.unregisterBeforeBuildListUrlHook=salla.hooks.registerHook("salla-products-list","beforeBuildListUrl",this.handleBeforeBuildListUrl),this.loadFromProp(),this.startExpiryCheck()}disconnectedCallback(){clearInterval(this.expiryInterval),this.unregisterBeforeBuildListUrlHook?.(),this.productsPanelViewportQuery?.removeEventListener("change",this.handleProductsPanelViewportChange),this.mobileProductsModal?.removeEventListener("orderEditProductSelected",this.handleMobileProductSelected)}setupProductsPanelViewportQuery(){"undefined"!=typeof window&&"function"==typeof window.matchMedia&&(this.productsPanelViewportQuery=window.matchMedia(this.productsPanelMobileQuery),this.isMobileViewport=this.productsPanelViewportQuery.matches,this.productsPanelViewportQuery.addEventListener("change",this.handleProductsPanelViewportChange))}startExpiryCheck(){const s=this.order?.customer_editing_session?.ends_at;if(!s)return;const t=()=>new Date(`${s.replace(" ","T")}+03:00`).getTime()<=Date.now();t()?this.expired=!0:this.expiryInterval=setInterval((()=>{t()&&(this.expired=!0,clearInterval(this.expiryInterval))}),1e3)}loadFromProp(){try{if(!this.orderData)return void(this.error=salla.lang.getWithDefault("pages.orders.order_not_found","الطلب غير موجود"));const s="string"==typeof this.orderData?JSON.parse(this.orderData):this.orderData;this.order={...s,items:s.items.map((s=>({...s,selectedOptions:e(s)})))}}catch(s){this.error=salla.lang.getWithDefault("pages.orders.order_not_found","الطلب غير موجود")}finally{this.loading=!1}}applyProductSearch(s){const t=s?.trim()||"",i=t?"search":this.defaultProductsListSource,e="search"===i?JSON.stringify(t):"";this.productsListSource===i&&this.productsListSourceValue===e||(this.productsListSource=i,this.productsListSourceValue=e,this.productsListKey+=1)}handleProductSearch(s){const t=s.target?.value||"";this.productSearchQuery=t,this.debouncedProductSearch(t)}getProductsListKey(s){return`${s}-${this.productsListSource}-${this.productsListSourceValue}-${this.productsListKey}`}handleMobileProductsScroll(s){const t=s.currentTarget;if(t.scrollHeight-t.scrollTop-t.clientHeight>200||this.mobileProductsListLoading)return;const i=t.querySelector("salla-products-list");i&&(this.mobileProductsListLoading=!0,i.loadMore().finally((()=>{this.mobileProductsListLoading=!1})))}waitForNextFrame(){return new Promise((s=>requestAnimationFrame((()=>s(void 0)))))}async openMobileProductsModal(){this.mobileProductsModalMounted||(this.mobileProductsModalMounted=!0,await this.waitForNextFrame()),await(this.mobileProductsModal?.open?.())}setMobileProductsModal(s){this.mobileProductsModal!==s&&(this.mobileProductsModal?.removeEventListener("orderEditProductSelected",this.handleMobileProductSelected),this.mobileProductsModal=s,this.mobileProductsModal?.addEventListener("orderEditProductSelected",this.handleMobileProductSelected))}resetAddProductDrawer(){this.selectedProductToAdd=null,this.addProductQuantity=1,this.addProductLoading=!1,this.addProductConfirmLoading=!1,this.addProductOptions=null}getAddProductMaxQuantity(s=this.selectedProductToAdd){return a(s)}clampAddProductQuantity(s,t=this.selectedProductToAdd){return d(s,this.getAddProductMaxQuantity(t))}getApiErrorMessage(s){return s?.response?.data?.error?.message||s?.response?.data?.message}notifyApiError(s){const t=this.getApiErrorMessage(s);t&&salla.notify.error(t)}async validateAddProductOptions(){return!this.selectedProductToAdd?.options?.length||!!this.addProductOptions&&(await(this.addProductOptions.validateAndScroll?.())??await(this.addProductOptions.reportValidity?.())??!1)}updateLocalOrderItem(s,t,i,e){this.order={...this.order,items:r(this.order.items,s,t,i,e)}}removeLocalOrderItem(s){this.order={...this.order,items:o(this.order.items,s)}}setPayloadItems(s){this.payload={...this.payload,items:l(this.payload.items,s)}}handleAddProductQuantityChange(s){const t=s.detail,i=t?.quantity??parseInt(s.target?.value,10);isNaN(i)||i<1||(this.addProductQuantity=this.clampAddProductQuantity(i))}async handleProductSelected(s){const t=s.detail?.product;if(t?.id&&!this.addProductLoading){this.addProductLoading=!0;try{this.selectedProductToAdd=n(t),this.addProductQuantity=1,await(this.mobileProductsModal?.close?.()),await this.waitForNextFrame(),await(this.addProductDrawer?.open?.())}catch(s){this.notifyApiError(s)}finally{this.addProductLoading=!1}}}async confirmAddProduct(){if(this.selectedProductToAdd?.id&&!this.addProductConfirmLoading){this.addProductConfirmLoading=!0;try{const s=this.getAddProductMaxQuantity(),t=this.clampAddProductQuantity(this.addProductQuantity);t!==this.addProductQuantity&&(this.addProductQuantity=t);const i=this.addProductOptions;if(!await this.validateAddProductOptions())return void salla.notify.error(salla.lang.getWithDefault("common.messages.required_fields","يرجى تعبئة الحقول المطلوبة"));const e=await(i?.getSelectedOptionsData?.())||{},a=await(i?.getOptionsData?.())||this.selectedProductToAdd.options||[],r=h(this.order?.items,this.selectedProductToAdd.id,e);if(r){const i=d(r.quantity+t,s);return this.updateLocalOrderItem(r.id,i,a,e),this.setPayloadItems(r.isNew?{add:c(this.payload.items.add,r.id,i,e)}:{update:u(this.payload.items.update,r.id,i,e)}),void await(this.addProductDrawer?.close?.())}const o=m(this.selectedProductToAdd,t,a,e),l={itemId:o.id,product_id:this.selectedProductToAdd.id,quantity:t,options:e};this.order={...this.order,items:[...this.order.items,o]},this.setPayloadItems({add:[...this.payload.items.add,l]}),await(this.addProductDrawer?.close?.())}catch(s){this.notifyApiError(s)}finally{this.addProductConfirmLoading=!1}}}handleItemUpdated(s){if(!this.order)return;const{itemId:t,quantity:i,options:e,optionDefinitions:r}=s.detail,o=this.order.items.find((s=>s.id===t));if(!o)return;const l=d(i,a(o.product));if(o.isNew)return this.setPayloadItems({add:c(this.payload.items.add,t,l,e)}),void this.updateLocalOrderItem(t,l,r,e);this.setPayloadItems({update:u(this.payload.items.update,t,l,e??{})}),this.updateLocalOrderItem(t,l,r,e)}handleItemRemoved(s){if(!this.order)return;if(this.order.items.length<=1)return void salla.notify.error(salla.lang.getWithDefault("pages.orders.order_cannot_be_empty","لا يمكن إزالة جميع المنتجات من الطلب"));const{itemId:t}=s.detail,i=this.order.items.find((s=>s.id===t));if(i){if(i.isNew)return this.setPayloadItems({add:this.payload.items.add.filter((s=>s.itemId!==t))}),void this.removeLocalOrderItem(t);this.setPayloadItems({update:this.payload.items.update.filter((s=>s.id!==t)),remove:[...this.payload.items.remove,t]}),this.removeLocalOrderItem(t)}}get hasChanges(){return this.payload.items.update.length>0||this.payload.items.remove.length>0||this.payload.items.add.length>0}async saveOrder(){if(this.hasChanges){this.saveLoading=!0;try{const s=await salla.order.api.editOrder(this.orderId,p(this.payload));this.editPreview=s?.data?.data||s?.data,await(this.saveModal?.open?.())}catch(s){this.notifyApiError(s)}finally{this.saveLoading=!1}}}navigateToOrder(){const s=new URL(window.location.href);s.pathname=s.pathname.replace(/\/edit\/?$/,""),s.search="",window.location.href=s.href}handleConfirm(){this.confirming=!0,this.editPreview?.payment?.required&&this.editPreview.payment.payment_url?window.location.href=this.editPreview.payment.payment_url:this.navigateToOrder()}async cancelEditSession(){try{await salla.order.api.cancelEditSession(this.orderId),this.navigateToOrder()}catch(s){this.notifyApiError(s)}}renderProductsPanel(){const s=salla.lang.getWithDefault("pages.orders.add_product_to_order","أضف منتج للطلب");return t("section",{class:"s-order-edit-products-panel"},t("div",{class:"s-order-edit-products-header"},t("h2",{class:"s-order-edit-products-title"},s)),this.renderProductsPickerContent("panel"))}renderProductsPickerContent(s){return t("div",{class:{"s-order-edit-products-picker":!0,"s-order-edit-products-modal-content":"modal"===s}},t("label",{class:"s-order-edit-products-search"},t("i",{class:"sicon-search"}),t("input",{type:"search",class:"s-order-edit-products-search-input",placeholder:salla.lang.getWithDefault("pages.products.search_for_product","ابحث عن منتج"),value:this.productSearchQuery,onInput:s=>this.handleProductSearch(s)})),t("div",{class:"s-order-edit-products-list",onScroll:"modal"===s?s=>this.handleMobileProductsScroll(s):void 0},t("salla-products-list",{key:this.getProductsListKey(s),includes:["options"],source:this.productsListSource,"source-value":this.productsListSourceValue,autoload:!0,"product-card-component":"salla-order-edit-product-card"})))}renderMobileProductsModal(){return t("salla-modal",{ref:s=>this.setMobileProductsModal(s),width:"md",class:"s-order-edit-mobile-products-modal","modal-title":salla.lang.getWithDefault("pages.orders.add_product_to_order","أضف منتج للطلب"),onModalVisibilityChanged:s=>{s.detail||(this.mobileProductsModalMounted=!1)}},this.mobileProductsModalMounted?this.renderProductsPickerContent("modal"):null)}renderAddProductDrawer(){const s=this.selectedProductToAdd,i=s?.name||salla.lang.getWithDefault("common.elements.product","منتج"),e=s?.price,a=this.getAddProductMaxQuantity(s),d=s?`order-edit-add-${s.id}`:"order-edit-add",r={value:this.clampAddProductQuantity(this.addProductQuantity,s)};return a&&(r.max=a),t("salla-modal",{ref:s=>this.addProductDrawer=s,width:"md","modal-title":salla.lang.getWithDefault("pages.orders.add_product_to_order","أضف منتج للطلب"),onModalVisibilityChanged:s=>{s.detail||this.resetAddProductDrawer()}},t("div",{class:"s-order-edit-add-modal"},this.addProductLoading?t("div",{class:"s-order-edit-add-modal-loading"},t("salla-loading",null)):s?t("div",{class:"s-order-edit-add-modal-content"},t("div",{class:"s-order-edit-add-modal-header"},t("div",{class:"s-order-edit-add-modal-media"},s.image?.url&&t("img",{src:s.image.url,alt:s.image.alt||i,class:"s-order-edit-add-modal-image"}),t("div",{class:"s-order-edit-add-modal-details"},t("h3",{class:"s-order-edit-add-modal-name"},i),null!=e&&t("span",{class:"s-order-edit-add-modal-price",innerHTML:salla.money(e)})))),t("div",{class:"s-order-edit-add-modal-quantity"},t("h3",{class:"s-order-edit-add-modal-section-title"},salla.lang.getWithDefault("common.elements.quantity","الكمية")),t("div",{class:"s-order-edit-add-modal-quantity-input"},t("salla-quantity-input",{...r,onChange:s=>this.handleAddProductQuantityChange(s)}))),s.options?.length>0&&t("form",{onSubmit:s=>s.preventDefault()},t("salla-product-options",{ref:s=>this.addProductOptions=s,"product-id":s.id,"unique-key":d,options:JSON.stringify(s.options),key:`${d}-options`})),t("div",{class:"s-order-edit-add-modal-actions"},t("salla-button",{onClick:()=>this.confirmAddProduct(),loading:this.addProductConfirmLoading},salla.lang.getWithDefault("common.elements.confirm","تأكيد")),t("salla-button",{color:"gray",fill:"outline",onClick:()=>this.addProductDrawer?.close?.()},salla.lang.getWithDefault("common.elements.cancel","الغاء")))):null))}renderSaveModal(){const s=this.editPreview,i=s?.totals?.remaining_amount?.amount>0,e=s?.totals?.refund_amount?.amount>0,a=s?.totals?.tax?.amount?.amount;return t("salla-modal",{ref:s=>this.saveModal=s,width:"md",onModalVisibilityChanged:async s=>{s.detail||(this.editPreview=null,this.confirming||await this.cancelEditSession(),this.confirming=!1)}},t("div",{class:"s-order-edit-modal"},t("h2",{class:"s-order-edit-modal-title"},salla.lang.getWithDefault("pages.orders.edit_summary_title","ملخص الطلب بعد التعديل")),s?.items?.length>0&&t("div",{class:"s-order-edit-modal-items"},s.items.map((s=>{const i=this.order?.items?.find((t=>t.id==s.id)),e=i?.product?.image?.url,a=s.options?.join("/ ");return t("div",{class:"s-order-edit-modal-item"},t("div",{class:"s-order-edit-modal-item-start"},e&&t("img",{src:e,alt:s.name,class:"s-order-edit-modal-item-image"}),t("div",null,t("p",{class:"s-order-edit-modal-item-name"},s.name),a&&t("span",{class:"s-order-edit-modal-item-options"},a))),t("div",{class:"s-order-edit-modal-item-end"},t("span",{class:"s-order-edit-modal-item-price",innerHTML:salla.money(s.price.amount)})))}))),s?.totals?.updated_products_total&&t("div",{class:"s-order-edit-modal-row"},t("span",{class:"s-order-edit-modal-row-label"},salla.lang.getWithDefault("pages.orders.modified_products_total","مجموع المنتجات المعدلة")),t("span",{class:"s-order-edit-modal-row-value",innerHTML:salla.money(s.totals.updated_products_total.amount)})),a>0&&t("div",{class:"s-order-edit-modal-row"},t("span",{class:"s-order-edit-modal-tax-label"},t("i",{class:"sicon-info-circle s-order-edit-modal-tax-icon"}),salla.lang.getWithDefault("pages.orders.vat","ضريبة القيمة المضافة")),t("span",{class:"s-order-edit-modal-row-value",innerHTML:salla.money(a)})),s?.totals?.total&&t("div",{class:"s-order-edit-modal-total"},t("span",{class:"s-order-edit-modal-total-label"},salla.lang.getWithDefault("pages.orders.order_total","اجمالي الطلب")),t("span",{class:"s-order-edit-modal-total-value",innerHTML:salla.money(s.totals.total.amount)})),e&&t("div",{class:"s-order-edit-modal-refund"},t("i",{class:"sicon-info-circle s-order-edit-modal-refund-icon"}),t("p",{class:"s-order-edit-modal-refund-text"},salla.lang.getWithDefault("pages.orders.refund_message","سيتم تحويل فارق المبلغ على نفس وسيلة الدفع"))),t("div",{class:"s-order-edit-modal-btn-wrapper"},t("salla-button",{onClick:()=>this.handleConfirm()},i?salla.lang.getWithDefault("pages.orders.pay_difference","دفع فارق المبلغ"):e?salla.lang.getWithDefault("pages.orders.confirm_and_receive_difference","تأكيد واستلام فارق المبلغ"):salla.lang.getWithDefault("pages.orders.confirm_changes","تأكيد التعديلات"),t("i",{class:"sicon-keyboard_arrow_left s-order-edit-modal-btn-icon"})))))}render(){if(this.loading)return t(i,null,t("salla-loading",null));if(this.expired)return t(i,null,t("div",{class:"s-order-edit-expired"},t("p",null,salla.lang.getWithDefault("pages.orders.edit_session_expired","انتهت مدة التعديل المتاحة")),t("salla-button",{onClick:()=>this.navigateToOrder()},salla.lang.getWithDefault("pages.orders.back_to_order","العودة إلى تفاصيل الطلب"))));if(this.error||!this.order)return t(i,null,t("div",{class:"s-order-edit-no-content-placeholder"},t("i",{class:"sicon-shopping-bag icon"}),t("p",null,this.error)));const s=this.order.items&&this.order.items.length>0,e=this.order.customer_editing_session?.ends_at;return t(i,null,e&&t("div",{class:"s-order-edit-timer-wrapper"},t("salla-count-down",{prefixText:salla.lang.getWithDefault("pages.orders.edit_within","يمكنك التعديل خلال"),date:e,horizontal:!0,withButton:!0,autoSegments:!0,labeled:!1,size:"sm",color:"primary"})),t("div",{class:"s-order-edit-layout"},this.isMobileViewport?null:this.renderProductsPanel(),t("section",{class:"s-order-edit-order-panel"},t("div",{class:"s-order-edit-items-wrapper"},t("h2",{class:"s-order-edit-items-title"},salla.lang.getWithDefault("pages.orders.order_products","منتجات الطلب")),s?this.order.items.map(((s,i)=>[t("salla-order-edit-item",{key:s.id,item:s,orderId:this.orderId}),i<this.order.items.length-1?t("div",{class:"s-order-edit-items-divider"}):null])):t("div",{class:"s-order-edit-no-content-placeholder"},t("i",{class:"sicon-shopping-bag icon"}),t("p",null,salla.lang.getWithDefault("common.elements.no_items","لا توجد عناصر")))),t("div",{class:"s-order-edit-actions"},t("salla-button",{class:"s-order-edit-mobile-products-trigger",color:"gray",size:"small",fill:"outline",onClick:()=>this.openMobileProductsModal()},t("i",{class:"sicon-add s-order-edit-mobile-products-trigger-icon"}),salla.lang.getWithDefault("pages.orders.add_product","إضافة منتج")),t("salla-button",{onClick:()=>this.saveOrder(),loading:this.saveLoading,size:"small",disabled:!this.hasChanges},salla.lang.getWithDefault("pages.orders.save_changes","حفظ التعديلات")),t("salla-button",{size:"small",color:"gray",fill:"outline",onClick:()=>this.cancelEditSession()},salla.lang.getWithDefault("common.elements.cancel","الغاء"))))),this.renderMobileProductsModal(),this.renderAddProductDrawer(),this.renderSaveModal())}};f.style=":host{display:block}";export{f as salla_order_edit}
|
|
4
|
+
import{r as s,h as t,H as i}from"./p-BdWSh9vH.js";import{g as e,a,c as d,u as r,r as o,m as l,b as n,f as h,d as c,e as u,h as m,i as p}from"./p-C8xwacGT.js";import"./p-CoQJOPRz.js";const f=class{constructor(t){s(this,t),this.loading=!0,this.saveLoading=!1,this.payload={items:{update:[],remove:[],add:[]}},this.expired=!1,this.editPreview=null,this.productSearchQuery="",this.productsListKey=0,this.productsListSource="latest",this.productsListSourceValue="",this.selectedProductToAdd=null,this.addProductQuantity=1,this.addProductLoading=!1,this.addProductConfirmLoading=!1,this.mobileProductsModalMounted=!1,this.isMobileViewport=!1,this.mobileProductsListLoading=!1,this.confirming=!1,this.handleMobileProductSelected=s=>{s.stopPropagation(),this.handleProductSelected(s)},this.productsPanelMobileQuery="(max-width: 768px)",this.handleProductsPanelViewportChange=s=>{this.isMobileViewport=s.matches},this.hasProductTypeFilter=s=>{const t=s.indexOf("?"),i=(t>=0?s.slice(t+1):s).split("#")[0];return Array.from(new URLSearchParams(i)).some((([s,t])=>"product"===t&&/^filters\[types\](?:\[(?:\d*)\])?$/.test(s)))},this.normalizeProductsListArrayParams=s=>s.replace(/(^|[?&])(includes|source_value|filters(?:\[|%5B)[^&=\]%]+?(?:\]|%5D))(\[|%5B)\d+(\]|%5D)(?==)/gi,((s,t,i,e,a)=>`${t}${i}${e}${a}`)),this.handleBeforeBuildListUrl=s=>{"salla-order-edit-product-card"===s.component?.productCardComponent&&"string"==typeof s.url&&(s.url=this.normalizeProductsListArrayParams(s.url),this.hasProductTypeFilter(s.url)||(s.url+=(s.url.includes("?")?"&":"?")+"filters[types][]=product"))},this.defaultProductsListSource="latest",this.debouncedProductSearch=salla.helpers.debounce((s=>this.applyProductSearch(s)),500)}async componentWillLoad(){this.setupProductsPanelViewportQuery(),await salla.onReady(),this.unregisterBeforeBuildListUrlHook=salla.hooks.registerHook("salla-products-list","beforeBuildListUrl",this.handleBeforeBuildListUrl),this.loadFromProp(),this.startExpiryCheck()}disconnectedCallback(){clearInterval(this.expiryInterval),this.unregisterBeforeBuildListUrlHook?.(),this.productsPanelViewportQuery?.removeEventListener("change",this.handleProductsPanelViewportChange),this.mobileProductsModal?.removeEventListener("orderEditProductSelected",this.handleMobileProductSelected)}setupProductsPanelViewportQuery(){"undefined"!=typeof window&&"function"==typeof window.matchMedia&&(this.productsPanelViewportQuery=window.matchMedia(this.productsPanelMobileQuery),this.isMobileViewport=this.productsPanelViewportQuery.matches,this.productsPanelViewportQuery.addEventListener("change",this.handleProductsPanelViewportChange))}startExpiryCheck(){const s=this.order?.customer_editing_session?.ends_at;if(!s)return;const t=()=>new Date(`${s.replace(" ","T")}+03:00`).getTime()<=Date.now();t()?this.expired=!0:this.expiryInterval=setInterval((()=>{t()&&(this.expired=!0,clearInterval(this.expiryInterval))}),1e3)}loadFromProp(){try{if(!this.orderData)return void(this.error=salla.lang.getWithDefault("pages.orders.order_not_found","الطلب غير موجود"));const s="string"==typeof this.orderData?JSON.parse(this.orderData):this.orderData;this.order={...s,items:s.items.map((s=>({...s,selectedOptions:e(s)})))}}catch(s){this.error=salla.lang.getWithDefault("pages.orders.order_not_found","الطلب غير موجود")}finally{this.loading=!1}}applyProductSearch(s){const t=s?.trim()||"",i=t?"search":this.defaultProductsListSource,e="search"===i?JSON.stringify(t):"";this.productsListSource===i&&this.productsListSourceValue===e||(this.productsListSource=i,this.productsListSourceValue=e,this.productsListKey+=1)}handleProductSearch(s){const t=s.target?.value||"";this.productSearchQuery=t,this.debouncedProductSearch(t)}getProductsListKey(s){return`${s}-${this.productsListSource}-${this.productsListSourceValue}-${this.productsListKey}`}handleMobileProductsScroll(s){const t=s.currentTarget;if(t.scrollHeight-t.scrollTop-t.clientHeight>200||this.mobileProductsListLoading)return;const i=t.querySelector("salla-products-list");i&&(this.mobileProductsListLoading=!0,i.loadMore().finally((()=>{this.mobileProductsListLoading=!1})))}waitForNextFrame(){return new Promise((s=>requestAnimationFrame((()=>s(void 0)))))}async openMobileProductsModal(){this.mobileProductsModalMounted||(this.mobileProductsModalMounted=!0,await this.waitForNextFrame()),await(this.mobileProductsModal?.open?.())}setMobileProductsModal(s){this.mobileProductsModal!==s&&(this.mobileProductsModal?.removeEventListener("orderEditProductSelected",this.handleMobileProductSelected),this.mobileProductsModal=s,this.mobileProductsModal?.addEventListener("orderEditProductSelected",this.handleMobileProductSelected))}resetAddProductDrawer(){this.selectedProductToAdd=null,this.addProductQuantity=1,this.addProductLoading=!1,this.addProductConfirmLoading=!1,this.addProductOptions=null}getAddProductMaxQuantity(s=this.selectedProductToAdd){return a(s)}clampAddProductQuantity(s,t=this.selectedProductToAdd){return d(s,this.getAddProductMaxQuantity(t))}getApiErrorMessage(s){return s?.response?.data?.error?.message||s?.response?.data?.message}notifyApiError(s){const t=this.getApiErrorMessage(s);t&&salla.notify.error(t)}async validateAddProductOptions(){return!this.selectedProductToAdd?.options?.length||!!this.addProductOptions&&(await(this.addProductOptions.validateAndScroll?.())??await(this.addProductOptions.reportValidity?.())??!1)}updateLocalOrderItem(s,t,i,e){this.order={...this.order,items:r(this.order.items,s,t,i,e)}}removeLocalOrderItem(s){this.order={...this.order,items:o(this.order.items,s)}}setPayloadItems(s){this.payload={...this.payload,items:l(this.payload.items,s)}}handleAddProductQuantityChange(s){const t=s.detail,i=t?.quantity??parseInt(s.target?.value,10);isNaN(i)||i<1||(this.addProductQuantity=this.clampAddProductQuantity(i))}async handleProductSelected(s){const t=s.detail?.product;if(t?.id&&!this.addProductLoading){this.addProductLoading=!0;try{this.selectedProductToAdd=n(t),this.addProductQuantity=1,await(this.mobileProductsModal?.close?.()),await this.waitForNextFrame(),await(this.addProductDrawer?.open?.())}catch(s){this.notifyApiError(s)}finally{this.addProductLoading=!1}}}async confirmAddProduct(){if(this.selectedProductToAdd?.id&&!this.addProductConfirmLoading){this.addProductConfirmLoading=!0;try{const s=this.getAddProductMaxQuantity(),t=this.clampAddProductQuantity(this.addProductQuantity);t!==this.addProductQuantity&&(this.addProductQuantity=t);const i=this.addProductOptions;if(!await this.validateAddProductOptions())return void salla.notify.error(salla.lang.getWithDefault("common.messages.required_fields","يرجى تعبئة الحقول المطلوبة"));const e=await(i?.getSelectedOptionsData?.())||{},a=await(i?.getOptionsData?.())||this.selectedProductToAdd.options||[],r=h(this.order?.items,this.selectedProductToAdd.id,e);if(r){const i=d(r.quantity+t,s);return this.updateLocalOrderItem(r.id,i,a,e),this.setPayloadItems(r.isNew?{add:c(this.payload.items.add,r.id,i,e)}:{update:u(this.payload.items.update,r.id,i,e)}),void await(this.addProductDrawer?.close?.())}const o=m(this.selectedProductToAdd,t,a,e),l={itemId:o.id,product_id:this.selectedProductToAdd.id,quantity:t,options:e};this.order={...this.order,items:[...this.order.items,o]},this.setPayloadItems({add:[...this.payload.items.add,l]}),await(this.addProductDrawer?.close?.())}catch(s){this.notifyApiError(s)}finally{this.addProductConfirmLoading=!1}}}handleItemUpdated(s){if(!this.order)return;const{itemId:t,quantity:i,options:e,optionDefinitions:r}=s.detail,o=this.order.items.find((s=>s.id===t));if(!o)return;const l=d(i,a(o.product));if(o.isNew)return this.setPayloadItems({add:c(this.payload.items.add,t,l,e)}),void this.updateLocalOrderItem(t,l,r,e);this.setPayloadItems({update:u(this.payload.items.update,t,l,e??{})}),this.updateLocalOrderItem(t,l,r,e)}handleItemRemoved(s){if(!this.order)return;if(this.order.items.length<=1)return void salla.notify.error(salla.lang.getWithDefault("pages.orders.order_cannot_be_empty","لا يمكن إزالة جميع المنتجات من الطلب"));const{itemId:t}=s.detail,i=this.order.items.find((s=>s.id===t));if(i){if(i.isNew)return this.setPayloadItems({add:this.payload.items.add.filter((s=>s.itemId!==t))}),void this.removeLocalOrderItem(t);this.setPayloadItems({update:this.payload.items.update.filter((s=>s.id!==t)),remove:[...this.payload.items.remove,t]}),this.removeLocalOrderItem(t)}}get hasChanges(){return this.payload.items.update.length>0||this.payload.items.remove.length>0||this.payload.items.add.length>0}async saveOrder(){if(this.hasChanges){this.saveLoading=!0;try{const s=await salla.order.api.editOrder(this.orderId,p(this.payload));this.editPreview=s?.data?.data||s?.data,await(this.saveModal?.open?.())}catch(s){this.notifyApiError(s)}finally{this.saveLoading=!1}}}navigateToOrder(){const s=new URL(window.location.href);s.pathname=s.pathname.replace(/\/edit\/?$/,""),s.search="",window.location.href=s.href}handleConfirm(){this.confirming=!0,this.editPreview?.payment?.required&&this.editPreview.payment.payment_url?window.location.href=this.editPreview.payment.payment_url:this.navigateToOrder()}async cancelEditSession(){try{await salla.order.api.cancelEditSession(this.orderId),this.navigateToOrder()}catch(s){this.notifyApiError(s)}}renderProductsPanel(){const s=salla.lang.getWithDefault("pages.orders.add_product_to_order","أضف منتج للطلب");return t("section",{class:"s-order-edit-products-panel"},t("div",{class:"s-order-edit-products-header"},t("h2",{class:"s-order-edit-products-title"},s)),this.renderProductsPickerContent("panel"))}renderProductsPickerContent(s){return t("div",{class:{"s-order-edit-products-picker":!0,"s-order-edit-products-modal-content":"modal"===s}},t("label",{class:"s-order-edit-products-search"},t("i",{class:"sicon-search"}),t("input",{type:"search",class:"s-order-edit-products-search-input",placeholder:salla.lang.getWithDefault("pages.products.search_for_product","ابحث عن منتج"),value:this.productSearchQuery,onInput:s=>this.handleProductSearch(s)})),t("div",{class:"s-order-edit-products-list",onScroll:"modal"===s?s=>this.handleMobileProductsScroll(s):void 0},t("salla-products-list",{key:this.getProductsListKey(s),includes:["options"],source:this.productsListSource,"source-value":this.productsListSourceValue,autoload:!0,"product-card-component":"salla-order-edit-product-card"})))}renderMobileProductsModal(){return t("salla-modal",{ref:s=>this.setMobileProductsModal(s),width:"md",class:"s-order-edit-mobile-products-modal","modal-title":salla.lang.getWithDefault("pages.orders.add_product_to_order","أضف منتج للطلب"),onModalVisibilityChanged:s=>{s.detail||(this.mobileProductsModalMounted=!1)}},this.mobileProductsModalMounted?this.renderProductsPickerContent("modal"):null)}renderAddProductDrawer(){const s=this.selectedProductToAdd,i=s?.name||salla.lang.getWithDefault("common.elements.product","منتج"),e=s?.price,a=this.getAddProductMaxQuantity(s),d=s?`order-edit-add-${s.id}`:"order-edit-add",r={value:this.clampAddProductQuantity(this.addProductQuantity,s)};return a&&(r.max=a),t("salla-modal",{ref:s=>this.addProductDrawer=s,width:"md","modal-title":salla.lang.getWithDefault("pages.orders.add_product_to_order","أضف منتج للطلب"),onModalVisibilityChanged:s=>{s.detail||this.resetAddProductDrawer()}},t("div",{class:"s-order-edit-add-modal"},this.addProductLoading?t("div",{class:"s-order-edit-add-modal-loading"},t("salla-loading",null)):s?t("div",{class:"s-order-edit-add-modal-content"},t("div",{class:"s-order-edit-add-modal-header"},t("div",{class:"s-order-edit-add-modal-media"},s.image?.url&&t("img",{src:s.image.url,alt:s.image.alt||i,class:"s-order-edit-add-modal-image"}),t("div",{class:"s-order-edit-add-modal-details"},t("h3",{class:"s-order-edit-add-modal-name"},i),null!=e&&t("span",{class:"s-order-edit-add-modal-price",innerHTML:salla.money(e)})))),t("div",{class:"s-order-edit-add-modal-quantity"},t("h3",{class:"s-order-edit-add-modal-section-title"},salla.lang.getWithDefault("common.elements.quantity","الكمية")),t("div",{class:"s-order-edit-add-modal-quantity-input"},t("salla-quantity-input",{...r,onChange:s=>this.handleAddProductQuantityChange(s)}))),s.options?.length>0&&t("form",{onSubmit:s=>s.preventDefault()},t("salla-product-options",{ref:s=>this.addProductOptions=s,"product-id":s.id,"unique-key":d,options:JSON.stringify(s.options),key:`${d}-options`})),t("div",{class:"s-order-edit-add-modal-actions"},t("salla-button",{onClick:()=>this.confirmAddProduct(),loading:this.addProductConfirmLoading},salla.lang.getWithDefault("common.elements.confirm","تأكيد")),t("salla-button",{color:"gray",fill:"outline",onClick:()=>this.addProductDrawer?.close?.()},salla.lang.getWithDefault("common.elements.cancel","الغاء")))):null))}renderSaveModal(){const s=this.editPreview,i=s?.totals?.remaining_amount?.amount>0,e=s?.totals?.refund_amount?.amount>0,a=s?.totals?.tax?.amount?.amount;return t("salla-modal",{ref:s=>this.saveModal=s,width:"md",onModalVisibilityChanged:async s=>{s.detail||(this.editPreview=null,this.confirming||await this.cancelEditSession(),this.confirming=!1)}},t("div",{class:"s-order-edit-modal"},t("h2",{class:"s-order-edit-modal-title"},salla.lang.getWithDefault("pages.orders.edit_summary_title","ملخص الطلب بعد التعديل")),s?.items?.length>0&&t("div",{class:"s-order-edit-modal-items"},s.items.map((s=>{const i=this.order?.items?.find((t=>t.id==s.id)),e=i?.product?.image?.url,a=s.options?.join("/ ");return t("div",{class:"s-order-edit-modal-item"},t("div",{class:"s-order-edit-modal-item-start"},e&&t("img",{src:e,alt:s.name,class:"s-order-edit-modal-item-image"}),t("div",null,t("p",{class:"s-order-edit-modal-item-name"},s.name),a&&t("span",{class:"s-order-edit-modal-item-options"},a))),t("div",{class:"s-order-edit-modal-item-end"},t("span",{class:"s-order-edit-modal-item-price",innerHTML:salla.money(s.price.amount)})))}))),s?.totals?.updated_products_total&&t("div",{class:"s-order-edit-modal-row"},t("span",{class:"s-order-edit-modal-row-label"},salla.lang.getWithDefault("pages.orders.modified_products_total","مجموع المنتجات المعدلة")),t("span",{class:"s-order-edit-modal-row-value",innerHTML:salla.money(s.totals.updated_products_total.amount)})),a>0&&t("div",{class:"s-order-edit-modal-row"},t("span",{class:"s-order-edit-modal-tax-label"},t("i",{class:"sicon-info-circle s-order-edit-modal-tax-icon"}),salla.lang.getWithDefault("pages.orders.vat","ضريبة القيمة المضافة")),t("span",{class:"s-order-edit-modal-row-value",innerHTML:salla.money(a)})),s?.totals?.total&&t("div",{class:"s-order-edit-modal-total"},t("span",{class:"s-order-edit-modal-total-label"},salla.lang.getWithDefault("pages.orders.order_total","اجمالي الطلب")),t("span",{class:"s-order-edit-modal-total-value",innerHTML:salla.money(s.totals.total.amount)})),e&&t("div",{class:"s-order-edit-modal-refund"},t("i",{class:"sicon-info-circle s-order-edit-modal-refund-icon"}),t("p",{class:"s-order-edit-modal-refund-text"},salla.lang.getWithDefault("pages.orders.refund_message","سيتم تحويل فارق المبلغ على نفس وسيلة الدفع"))),t("div",{class:"s-order-edit-modal-btn-wrapper"},t("salla-button",{onClick:()=>this.handleConfirm()},i?salla.lang.getWithDefault("pages.orders.pay_difference","دفع فارق المبلغ"):e?salla.lang.getWithDefault("pages.orders.confirm_and_receive_difference","تأكيد واستلام فارق المبلغ"):salla.lang.getWithDefault("pages.orders.confirm_changes","تأكيد التعديلات"),t("i",{class:"sicon-keyboard_arrow_left s-order-edit-modal-btn-icon"})))))}render(){if(this.loading)return t(i,null,t("salla-loading",null));if(this.expired)return t(i,null,t("div",{class:"s-order-edit-expired"},t("p",null,salla.lang.getWithDefault("pages.orders.edit_session_expired","انتهت مدة التعديل المتاحة")),t("salla-button",{onClick:()=>this.navigateToOrder()},salla.lang.getWithDefault("pages.orders.back_to_order","العودة إلى تفاصيل الطلب"))));if(this.error||!this.order)return t(i,null,t("div",{class:"s-order-edit-no-content-placeholder"},t("i",{class:"sicon-shopping-bag icon"}),t("p",null,this.error)));const s=this.order.items&&this.order.items.length>0,e=this.order.customer_editing_session?.ends_at;return t(i,null,e&&t("div",{class:"s-order-edit-timer-wrapper"},t("salla-count-down",{prefixText:salla.lang.getWithDefault("pages.orders.edit_within","يمكنك التعديل خلال"),date:e,horizontal:!0,withButton:!0,autoSegments:!0,labeled:!1,size:"sm",color:"primary"})),t("div",{class:"s-order-edit-layout"},this.isMobileViewport?null:this.renderProductsPanel(),t("section",{class:"s-order-edit-order-panel"},t("div",{class:"s-order-edit-items-wrapper"},t("h2",{class:"s-order-edit-items-title"},salla.lang.getWithDefault("pages.orders.order_products","منتجات الطلب")),s?this.order.items.map(((s,i)=>[t("salla-order-edit-item",{key:s.id,item:s,orderId:this.orderId}),i<this.order.items.length-1?t("div",{class:"s-order-edit-items-divider"}):null])):t("div",{class:"s-order-edit-no-content-placeholder"},t("i",{class:"sicon-shopping-bag icon"}),t("p",null,salla.lang.getWithDefault("common.elements.no_items","لا توجد عناصر")))),t("div",{class:"s-order-edit-actions"},t("salla-button",{class:"s-order-edit-mobile-products-trigger",color:"gray",size:"small",fill:"outline",onClick:()=>this.openMobileProductsModal()},t("i",{class:"sicon-add s-order-edit-mobile-products-trigger-icon"}),salla.lang.getWithDefault("pages.orders.add_product","إضافة منتج")),t("salla-button",{onClick:()=>this.saveOrder(),loading:this.saveLoading,size:"small",disabled:!this.hasChanges},salla.lang.getWithDefault("pages.orders.save_changes","حفظ التعديلات")),t("salla-button",{size:"small",color:"gray",fill:"outline",onClick:()=>this.cancelEditSession()},salla.lang.getWithDefault("common.elements.cancel","الغاء"))))),this.renderMobileProductsModal(),this.renderAddProductDrawer(),this.renderSaveModal())}};f.style=":host{display:block}";export{f as salla_order_edit}
|