@salla.sa/twilight-components 2.14.470 → 2.14.471
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-jdX95qxM.js → filepond-nQfoJi-g.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-DC9ozntr.js → filepond-plugin-file-poster-hJ9M3t0L.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DxUUyj2Z.js → filepond-plugin-file-validate-size-CgpDoJxO.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-DB4YCfw-.js → filepond-plugin-file-validate-type-B2KbrSbZ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-QlnXOcNf.js → filepond-plugin-image-edit-BkNqlXrL.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-D6HJ47N2.js → filepond-plugin-image-exif-orientation-P3Zfw8MQ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-DCaj9jNI.js → filepond-plugin-image-preview-CNXFmZth.js} +1 -1
- package/dist/cjs/{functions-C_kzehHT.js → functions-B8CHu2z4.js} +1 -1
- package/dist/cjs/{index-SIy6bIWx.js → index-CPhoxBkB.js} +1 -1
- package/dist/cjs/{index-CmPl0fIy.js → index-GUQS0-Q-.js} +2 -2
- 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 +22 -6
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +90 -29
- 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_2.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 +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- 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-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- 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 +3 -3
- 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 +1 -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 +1 -1
- 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-branch.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 +1 -1
- 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-embed.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 +4 -4
- 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/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/{tracked-promise-D-gQXgPZ.js → tracked-promise-B7zS9VE-.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-CZ_8m6i_.js → vanilla-picker-1QrQ9HZi.js} +1 -1
- package/dist/collection/components/salla-breadcrumb/salla-breadcrumb.js +21 -5
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
- package/dist/collection/components/salla-product-options/availability-utils.js +54 -0
- package/dist/collection/components/salla-product-options/salla-product-options.js +40 -29
- package/dist/components/index.js +2 -2
- package/dist/components/salla-breadcrumb.js +21 -5
- package/dist/components/salla-loyalty-reward.js +1 -1
- package/dist/components/salla-product-options2.js +90 -28
- package/dist/components/salla-reward-card2.js +1 -1
- package/dist/esm/{filepond-DLJR7kqO.js → filepond-Doklzvb6.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-BPPxfj_a.js → filepond-plugin-file-poster-BSBF1f0z.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CCqZAz2o.js → filepond-plugin-file-validate-size-CbaXmA8m.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-YEjyqpU3.js → filepond-plugin-file-validate-type-FjPelZ0O.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-tiyoM7iJ.js → filepond-plugin-image-edit-BmG7tc8Q.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CESSG4q3.js → filepond-plugin-image-exif-orientation-DhRt-kLt.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-CTrGLHaX.js → filepond-plugin-image-preview-DZ2XM7gt.js} +1 -1
- package/dist/esm/{functions-iGPmc3ui.js → functions-_-9PUSBv.js} +1 -1
- package/dist/esm/{index-pj-XyI3U.js → index-CJ2jUKh4.js} +1 -1
- package/dist/esm/{index-Dckjjczv.js → index-Cly9a4nm.js} +2 -2
- 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 +22 -6
- package/dist/esm/salla-add-product-button_5.entry.js +90 -29
- 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_2.entry.js +1 -1
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- 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-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- 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 +3 -3
- 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 +1 -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 +1 -1
- 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-branch.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 +1 -1
- 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-embed.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 +4 -4
- 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/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/{tracked-promise-CfOFv_ZQ.js → tracked-promise-CdJOz1H_.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-BwAhzkb2.js → vanilla-picker-B7uhKtBD.js} +1 -1
- package/dist/twilight/{p-6f86922a.entry.js → p-005ac762.entry.js} +1 -1
- package/dist/twilight/{p-9668a8aa.entry.js → p-00f3a2ec.entry.js} +1 -1
- package/dist/twilight/{p-1eadcac5.entry.js → p-03d28343.entry.js} +1 -1
- package/dist/twilight/{p-017500f8.entry.js → p-05266229.entry.js} +1 -1
- package/dist/twilight/{p-3100186f.entry.js → p-05fdfdc9.entry.js} +1 -1
- package/dist/twilight/{p-0052df8e.entry.js → p-06a0b408.entry.js} +1 -1
- package/dist/twilight/{p-eaf8f509.entry.js → p-08d2e056.entry.js} +1 -1
- package/dist/twilight/{p-6ce0ab6e.entry.js → p-0b6d87a5.entry.js} +1 -1
- package/dist/twilight/{p-58bcae28.entry.js → p-0e9ae0e0.entry.js} +1 -1
- package/dist/twilight/p-130b525c.entry.js +4 -0
- package/dist/twilight/{p-9ac3d874.entry.js → p-14ca32a2.entry.js} +1 -1
- package/dist/twilight/{p-21e43f89.entry.js → p-16c9b4bd.entry.js} +1 -1
- package/dist/twilight/{p-30fe7a02.entry.js → p-1938ad27.entry.js} +1 -1
- package/dist/twilight/{p-6f63f391.entry.js → p-195589ec.entry.js} +1 -1
- package/dist/twilight/{p-51b4ab80.entry.js → p-20afc879.entry.js} +1 -1
- package/dist/twilight/{p-a756b0a4.entry.js → p-25f7fbc1.entry.js} +1 -1
- package/dist/twilight/{p-31fca96b.entry.js → p-288572d0.entry.js} +1 -1
- package/dist/twilight/{p-463cf5ea.entry.js → p-2d235234.entry.js} +1 -1
- package/dist/twilight/{p-9dca7f59.entry.js → p-39426e43.entry.js} +1 -1
- package/dist/twilight/{p-052922a0.entry.js → p-39ff606c.entry.js} +1 -1
- package/dist/twilight/{p-5d19859e.entry.js → p-40e2fc5f.entry.js} +1 -1
- package/dist/twilight/{p-0fa958a8.entry.js → p-44abf289.entry.js} +1 -1
- package/dist/twilight/p-46b4c12f.entry.js +4 -0
- package/dist/twilight/{p-ddbffad3.entry.js → p-47080690.entry.js} +1 -1
- package/dist/twilight/{p-89dae763.entry.js → p-48e85ee2.entry.js} +1 -1
- package/dist/twilight/{p-3995c76e.entry.js → p-4ba3ebb1.entry.js} +1 -1
- package/dist/twilight/{p-e573c23d.entry.js → p-4d368d57.entry.js} +1 -1
- package/dist/twilight/{p-badfd153.entry.js → p-55b21f9b.entry.js} +1 -1
- package/dist/twilight/{p-294a3248.entry.js → p-5971669a.entry.js} +1 -1
- package/dist/twilight/{p-5f989a35.entry.js → p-5b8adb19.entry.js} +1 -1
- package/dist/twilight/{p-df72e6a9.entry.js → p-5c0d795c.entry.js} +1 -1
- package/dist/twilight/{p-6543c5eb.entry.js → p-5ca57591.entry.js} +1 -1
- package/dist/twilight/{p-1da95f6f.entry.js → p-5fe6ac53.entry.js} +1 -1
- package/dist/twilight/{p-69e7eb15.entry.js → p-63be9782.entry.js} +1 -1
- package/dist/twilight/{p-45a786cd.entry.js → p-654af42c.entry.js} +1 -1
- package/dist/twilight/{p-9a6ea758.entry.js → p-6838ec3a.entry.js} +1 -1
- package/dist/twilight/{p-c4c3e16f.entry.js → p-68fa9305.entry.js} +1 -1
- package/dist/twilight/{p-768b4a83.entry.js → p-6ba653dc.entry.js} +1 -1
- package/dist/twilight/{p-f4f47286.entry.js → p-6efce4b0.entry.js} +1 -1
- package/dist/twilight/{p-1fa5c385.entry.js → p-72bc753c.entry.js} +1 -1
- package/dist/twilight/{p-38b5829a.entry.js → p-7343e9d9.entry.js} +1 -1
- package/dist/twilight/{p-a8a9b151.entry.js → p-7874b654.entry.js} +1 -1
- package/dist/twilight/{p-46b75509.entry.js → p-79c2cc3c.entry.js} +1 -1
- package/dist/twilight/{p-0bf6b9ad.entry.js → p-7e4e3e76.entry.js} +1 -1
- package/dist/twilight/{p-c907509d.entry.js → p-7ee71548.entry.js} +1 -1
- package/dist/twilight/p-7efa0246.entry.js +4 -0
- package/dist/twilight/{p-d059046e.entry.js → p-820ee5fe.entry.js} +1 -1
- package/dist/twilight/{p-9f8a065c.entry.js → p-821fd8c1.entry.js} +1 -1
- package/dist/twilight/{p-721ae2c4.entry.js → p-84207e00.entry.js} +1 -1
- package/dist/twilight/{p-dcc34752.entry.js → p-86469c65.entry.js} +1 -1
- package/dist/twilight/{p-77db23d2.entry.js → p-8aca6bc0.entry.js} +1 -1
- package/dist/twilight/{p-ef26e3be.entry.js → p-8c404dbf.entry.js} +1 -1
- package/dist/twilight/{p-9196d137.entry.js → p-8d26f80c.entry.js} +1 -1
- package/dist/twilight/p-8e121e7c.entry.js +4 -0
- package/dist/twilight/{p-ba55e58f.entry.js → p-92961807.entry.js} +1 -1
- package/dist/twilight/{p-b1d439e7.entry.js → p-96825a64.entry.js} +1 -1
- package/dist/twilight/{p-05ffde56.entry.js → p-98f0f411.entry.js} +1 -1
- package/dist/twilight/p-99b127fa.entry.js +4 -0
- package/dist/twilight/{p-97b74b76.entry.js → p-9b7ad2bd.entry.js} +1 -1
- package/dist/twilight/{p-869773d3.entry.js → p-9ddfdc65.entry.js} +1 -1
- package/dist/twilight/{p-DWcI2hUr.js → p-BUcuXVwN.js} +1 -1
- package/dist/twilight/{p-BxhAwisc.js → p-BpiX36Sb.js} +1 -1
- package/dist/twilight/{p-DNU1AEuR.js → p-C-NwbNqh.js} +1 -1
- package/dist/twilight/p-CWrfZ9Qs.js +9 -0
- package/dist/twilight/p-CXgdON62.js +4 -0
- package/dist/twilight/{p-BPasfwVf.js → p-CkxoydBy.js} +1 -1
- package/dist/twilight/{p-Dckjjczv.js → p-Cly9a4nm.js} +1 -1
- package/dist/twilight/{p-DVCS8qoq.js → p-D3bGV5Yn.js} +1 -1
- package/dist/twilight/{p--Jfvyk1f.js → p-DGWMOt94.js} +1 -1
- package/dist/twilight/{p-CHsBLTlN.js → p-DhE0-1Aj.js} +1 -1
- package/dist/twilight/{p-7288ff02.entry.js → p-a47dccd1.entry.js} +1 -1
- package/dist/twilight/{p-4d2f0573.entry.js → p-a74197ee.entry.js} +1 -1
- package/dist/twilight/p-a900af64.entry.js +4 -0
- package/dist/twilight/{p-6e2c05e8.entry.js → p-aae74199.entry.js} +1 -1
- package/dist/twilight/{p-37299c40.entry.js → p-af970c82.entry.js} +1 -1
- package/dist/twilight/{p-681a053f.entry.js → p-b07f1925.entry.js} +1 -1
- package/dist/twilight/{p-fe2a4d07.entry.js → p-b0f0d7bc.entry.js} +1 -1
- package/dist/twilight/{p-66d2b9e3.entry.js → p-b555a4aa.entry.js} +1 -1
- package/dist/twilight/{p-a2ff9abd.entry.js → p-b8b3c0fc.entry.js} +1 -1
- package/dist/twilight/{p-61bcbf9a.entry.js → p-b96e442c.entry.js} +1 -1
- package/dist/twilight/{p-BgFqaLNN.js → p-b9tXSwoW.js} +1 -1
- package/dist/twilight/{p-D2W2ygY1.js → p-bo_zr0My.js} +1 -1
- package/dist/twilight/{p-83222f33.entry.js → p-c184157a.entry.js} +1 -1
- package/dist/twilight/{p-f145dc81.entry.js → p-c5613717.entry.js} +1 -1
- package/dist/twilight/p-c5f3b4e2.entry.js +4 -0
- package/dist/twilight/{p-e2e38f7d.entry.js → p-c992256d.entry.js} +1 -1
- package/dist/twilight/{p-be077285.entry.js → p-c9b37b12.entry.js} +1 -1
- package/dist/twilight/{p-092318cc.entry.js → p-cdb0e80a.entry.js} +1 -1
- package/dist/twilight/{p-85d1767d.entry.js → p-d07ee0d6.entry.js} +1 -1
- package/dist/twilight/{p-193f4672.entry.js → p-d7f528c7.entry.js} +1 -1
- package/dist/twilight/{p-3d65f310.entry.js → p-dab62284.entry.js} +1 -1
- package/dist/twilight/{p-7a75c505.entry.js → p-db2d9d1c.entry.js} +1 -1
- package/dist/twilight/{p-fca82074.entry.js → p-e12da840.entry.js} +1 -1
- package/dist/twilight/{p-ba5d1170.entry.js → p-eb767e28.entry.js} +1 -1
- package/dist/twilight/{p-780abf03.entry.js → p-ef345c2c.entry.js} +1 -1
- package/dist/twilight/{p-bc1725dd.entry.js → p-f2d0b9d1.entry.js} +1 -1
- package/dist/twilight/{p-ad60969e.entry.js → p-f5969e58.entry.js} +1 -1
- package/dist/twilight/{p-de70e0f6.entry.js → p-f6435c3c.entry.js} +1 -1
- package/dist/twilight/{p-6ee5c24d.entry.js → p-f9c1c247.entry.js} +1 -1
- package/dist/twilight/{p-623b0c48.entry.js → p-fa0ebde1.entry.js} +1 -1
- package/dist/twilight/p-fbf4cb19.entry.js +4 -0
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-breadcrumb/salla-breadcrumb.d.ts +1 -0
- package/dist/types/components/salla-product-options/availability-utils.d.ts +19 -0
- package/dist/types/components/salla-product-options/salla-product-options.d.ts +2 -0
- package/package.json +5 -5
- package/dist/twilight/p-0a8fdddc.entry.js +0 -4
- package/dist/twilight/p-2b2af618.entry.js +0 -4
- package/dist/twilight/p-476463ea.entry.js +0 -4
- package/dist/twilight/p-56f4d005.entry.js +0 -4
- package/dist/twilight/p-63f20aa0.entry.js +0 -4
- package/dist/twilight/p-84dc489a.entry.js +0 -4
- package/dist/twilight/p-BFEfBkEW.js +0 -9
- package/dist/twilight/p-DzHsJ03K.js +0 -4
- package/dist/twilight/p-dc9b7a8e.entry.js +0 -4
- package/dist/twilight/p-fc7a1f2f.entry.js +0 -4
|
@@ -22,12 +22,14 @@ const SallaBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class SallaBreadcrumb
|
|
|
22
22
|
}
|
|
23
23
|
})
|
|
24
24
|
.then(() => {
|
|
25
|
+
const page = salla.config.get("page");
|
|
26
|
+
if (page?.slug === 'wishlist') {
|
|
27
|
+
this.breadcrumbs = [];
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
25
30
|
if (!salla.config.get('theme.settings.is_breadcrumbs_enabled', true)) {
|
|
26
31
|
throw new Error('salla-breadcrumb:: merchant disabled the feature');
|
|
27
32
|
}
|
|
28
|
-
})
|
|
29
|
-
.then(() => {
|
|
30
|
-
const page = salla.config.get("page");
|
|
31
33
|
if (!page || !page.slug) {
|
|
32
34
|
salla.logger.error('salla-breadcrumbs:: page object not existed on salla.config.get("page")!');
|
|
33
35
|
this.breadcrumbs = [];
|
|
@@ -147,8 +149,8 @@ const SallaBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class SallaBreadcrumb
|
|
|
147
149
|
storeBreadcrumbSnapshot() {
|
|
148
150
|
try {
|
|
149
151
|
const page = salla.config.get("page");
|
|
150
|
-
// Skip storing breadcrumbs for
|
|
151
|
-
if (page?.slug === 'product.single') {
|
|
152
|
+
// Skip storing breadcrumbs for pages that should not affect navigation history
|
|
153
|
+
if (page?.slug === 'product.single' || page?.slug === 'wishlist') {
|
|
152
154
|
return;
|
|
153
155
|
}
|
|
154
156
|
const items = [...this.breadcrumbs];
|
|
@@ -169,6 +171,10 @@ const SallaBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class SallaBreadcrumb
|
|
|
169
171
|
salla.log('salla-breadcrumb:: There is no breadcrumbs!');
|
|
170
172
|
return null;
|
|
171
173
|
}
|
|
174
|
+
const isShareWishList = salla.config.get('page.slug') === 'wishlist';
|
|
175
|
+
if (isShareWishList) {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
172
178
|
const isProductSingle = salla.config.get('page.slug') === "product.single";
|
|
173
179
|
return [
|
|
174
180
|
h("ol", { class: {
|
|
@@ -243,6 +249,16 @@ const SallaBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class SallaBreadcrumb
|
|
|
243
249
|
let lastEl = this.host.querySelectorAll('.s-breadcrumb-item')[this.breadcrumbs.length - 1]?.querySelector('a');
|
|
244
250
|
lastEl && lastEl.replaceWith(lastEl.firstChild);
|
|
245
251
|
}
|
|
252
|
+
componentDidLoad() {
|
|
253
|
+
// Remove the page main title if the page is a share wishlist page
|
|
254
|
+
// when the component is loaded, page-main-title exists in the DOM as it's a theme markup.
|
|
255
|
+
// So whenever breadcrumb is rendered, the main title is most likely rendered too.
|
|
256
|
+
// Therefore, we remove it if the page is a share wishlist page.
|
|
257
|
+
const isShareWishList = salla.config.get('page.slug') === 'wishlist';
|
|
258
|
+
if (isShareWishList) {
|
|
259
|
+
document.getElementById('page-main-title')?.remove();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
246
262
|
get host() { return this; }
|
|
247
263
|
static get style() { return sallaBreadcrumbCss; }
|
|
248
264
|
}, [0, "salla-breadcrumb", {
|
|
@@ -42,7 +42,7 @@ const SallaLoyaltyReward$1 = /*@__PURE__*/ proxyCustomElement(class SallaLoyalty
|
|
|
42
42
|
return (h("div", { key: 'c99714fbefea9c43a199201d6e9d331ed4b50e7f', class: {
|
|
43
43
|
's-loyalty-program-reward-container': true,
|
|
44
44
|
's-loyalty-program-reward-xs': this.size === 'xs',
|
|
45
|
-
} }, h("div", { key: 'b3139a4325629e3e23b09096b96fbb9079ebb4f5', onClick: this.handleActionArea, role: "button" }, h("div", { key: '8d2951399db70f2672619149583d3821429611fa', class: "s-loyalty-program-reward-img" }, h("img", { key: 'd03e024172b99a72fdeb311e24f91d9ca11b69a1', src: this.prize.image, class: "s-loyalty-program-rewards-img", alt: "" })), h("div", { key: '23901c0a96c9af1ae459d5bbcad0f4429933225b', class: "s-loyalty-program-reward-content" }, h("div", { key: '795743061efd1270a1a24eceb66f67e2bbb9eb1e', class: "s-loyalty-program-reward-points" }, h("salla-badge", { key: '83545f69e513a563dfaef7bb107ae119656406a0', size: "xs" }, h("span", { key: '28751b88c77af1acfb746f58f55f4b84f2364141', innerHTML: loyaltyProgramIcon }), h("span", { key: '
|
|
45
|
+
} }, h("div", { key: 'b3139a4325629e3e23b09096b96fbb9079ebb4f5', onClick: this.handleActionArea, role: "button" }, h("div", { key: '8d2951399db70f2672619149583d3821429611fa', class: "s-loyalty-program-reward-img" }, h("img", { key: 'd03e024172b99a72fdeb311e24f91d9ca11b69a1', src: this.prize.image, class: "s-loyalty-program-rewards-img", alt: "" })), h("div", { key: '23901c0a96c9af1ae459d5bbcad0f4429933225b', class: "s-loyalty-program-reward-content" }, h("div", { key: '795743061efd1270a1a24eceb66f67e2bbb9eb1e', class: "s-loyalty-program-reward-points" }, h("salla-badge", { key: '83545f69e513a563dfaef7bb107ae119656406a0', size: "xs" }, h("span", { key: '28751b88c77af1acfb746f58f55f4b84f2364141', innerHTML: loyaltyProgramIcon }), h("span", { key: '8f54d363299656788211e19299f666596694be77', class: "s-loyalty-program-rewards-points", innerHTML: salla.lang.choice('pages.loyalty_program.points', this.prize.cost_points) }))), h("div", { key: '89abc08dc391219c6c2a2fad15cb1e02b0b26472', class: "s-loyalty-program-reward-title" }, h("span", { key: '8908db983e49adacf9ba6d7adb9ad941ffc57d09' }, this.group)), h("div", { key: '2715999ae9c1e473762fb463cf8e52c42f746c77', class: "s-loyalty-program-reward-name" }, h("div", { key: 'e0a81d6e9aeebcb6671203f51429d614fc80c78b', class: "s-loyalty-program-rewards-name", id: `prize-${this.prize.id}` }, this.prize.name)))), h("div", { key: 'f87feb0a81be86687bd4bf746807c45860f47224', class: "p-4" }, h("button", { key: '43e294b3b2f6caaccf3eea24c77d47513e129172', onClick: this.handleAction, disabled: !this.isActionClickable(this.prize), class: {
|
|
46
46
|
's-loyalty-program-rewards-action-base': true,
|
|
47
47
|
's-loyalty-program-rewards-action-on': this.isActionClickable(this.prize),
|
|
48
48
|
's-loyalty-program-rewards-action-off': !this.isActionClickable(this.prize),
|
|
@@ -44,6 +44,58 @@ var Currency;
|
|
|
44
44
|
Currency["Sar"] = "SAR";
|
|
45
45
|
})(Currency || (Currency = {}));
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Builds a per-detail availability map from SKU-level data.
|
|
49
|
+
*
|
|
50
|
+
* Exported as a pure function so it can be unit-tested independently of the
|
|
51
|
+
* Stencil component (the @State availabilityMap backing-store is not accessible
|
|
52
|
+
* via page.rootInstance in the Stencil mock-doc test environment).
|
|
53
|
+
*
|
|
54
|
+
* Status values:
|
|
55
|
+
* 'available' – at least one in-stock SKU for this detail + current selections
|
|
56
|
+
* 'out_of_stock' – all matching SKUs are out of stock
|
|
57
|
+
* 'impossible' – no SKU intersection exists for this combination
|
|
58
|
+
*
|
|
59
|
+
* skus_availability is always the authoritative source when present; is_out is
|
|
60
|
+
* consulted only as a last resort when a detail has no SKU data at all.
|
|
61
|
+
*/
|
|
62
|
+
function computeAvailabilityMap(optionsData, selectedOptions) {
|
|
63
|
+
const map = {};
|
|
64
|
+
if (!optionsData?.length)
|
|
65
|
+
return map;
|
|
66
|
+
const variantGroups = optionsData.filter(opt => opt.details?.some(d => d.skus_availability && Object.keys(d.skus_availability).length > 0));
|
|
67
|
+
const isSingleGroup = variantGroups.length <= 1;
|
|
68
|
+
for (const optionGroup of variantGroups) {
|
|
69
|
+
const otherSelected = selectedOptions.filter(s => s.option_id !== optionGroup.id);
|
|
70
|
+
for (const detail of optionGroup.details) {
|
|
71
|
+
const skusAvail = detail.skus_availability;
|
|
72
|
+
// No skus_availability data — fall back to is_out as last resort only.
|
|
73
|
+
if (!skusAvail || !Object.keys(skusAvail).length) {
|
|
74
|
+
map[detail.id] = detail.is_out ? 'out_of_stock' : 'available';
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const detailSkus = Object.keys(skusAvail).map(Number);
|
|
78
|
+
// No cross-group context yet — evaluate this detail's own SKUs directly.
|
|
79
|
+
if (isSingleGroup || otherSelected.length === 0) {
|
|
80
|
+
map[detail.id] = detailSkus.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
// Intersect this detail's SKUs with those of each other selected detail.
|
|
84
|
+
let candidates = detailSkus;
|
|
85
|
+
for (const other of otherSelected) {
|
|
86
|
+
const otherSkus = new Set(Object.keys(other.skus_availability || {}).map(Number));
|
|
87
|
+
candidates = candidates.filter(sku => otherSkus.has(sku));
|
|
88
|
+
}
|
|
89
|
+
if (!candidates.length) {
|
|
90
|
+
map[detail.id] = 'impossible';
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
map[detail.id] = candidates.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return map;
|
|
97
|
+
}
|
|
98
|
+
|
|
47
99
|
var FileIcon = `<!-- Generated by IcoMoon.io -->
|
|
48
100
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
|
49
101
|
<title>file-upload</title>
|
|
@@ -77,6 +129,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
77
129
|
this.availableDigitalCardValues = [];
|
|
78
130
|
this.userInitiatedValidation = false;
|
|
79
131
|
this.isCartMode = false;
|
|
132
|
+
this.availabilityMap = {};
|
|
80
133
|
this.outSkus = [];
|
|
81
134
|
/**
|
|
82
135
|
* Avoid selection of previous default or selected card value option
|
|
@@ -167,12 +220,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
167
220
|
*/
|
|
168
221
|
async setOptionsData(optionsData) {
|
|
169
222
|
this.optionsData = optionsData;
|
|
170
|
-
|
|
171
|
-
this.optionsData[0]?.details?.forEach(
|
|
223
|
+
this.outSkus = [];
|
|
224
|
+
this.optionsData[0]?.details?.forEach(detail => {
|
|
172
225
|
Object.entries(detail.skus_availability || {})
|
|
173
|
-
.filter(
|
|
174
|
-
.
|
|
226
|
+
.filter(([, available]) => !available)
|
|
227
|
+
.forEach(([sku]) => this.outSkus.push(Number(sku)));
|
|
175
228
|
});
|
|
229
|
+
this.fillSelectedOptions();
|
|
230
|
+
this.computeAvailability();
|
|
176
231
|
}
|
|
177
232
|
/**
|
|
178
233
|
* Get the current options state, including selected values/details.
|
|
@@ -358,8 +413,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
358
413
|
*/
|
|
359
414
|
setSelectedSkus() {
|
|
360
415
|
this.selectedSkus = this.selectedOptions.map(detail => Object.keys(detail.skus_availability || {}))
|
|
361
|
-
.reduce((p, c) => p.filter(e => c.includes(e)), [])
|
|
416
|
+
.reduce((p, c) => p.filter(e => c.includes(e)), [])
|
|
362
417
|
.map(sku => Number(sku));
|
|
418
|
+
this.computeAvailability();
|
|
363
419
|
}
|
|
364
420
|
handleRequiredMultipleOptions(option) {
|
|
365
421
|
if (option.type !== DisplayType.MULTIPLE_OPTIONS || !option.required) {
|
|
@@ -688,6 +744,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
688
744
|
this.disableCardValue = false;
|
|
689
745
|
this.canDisabled = true;
|
|
690
746
|
this.fillSelectedOptions();
|
|
747
|
+
this.computeAvailability();
|
|
691
748
|
}
|
|
692
749
|
/**
|
|
693
750
|
* Enable user-initiated validation mode so invalid fields will scroll into view
|
|
@@ -798,22 +855,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
798
855
|
//and because we are using this inside select option, we need to replace the html currency symbol with the store currency symbol
|
|
799
856
|
return detailName.replace('<i class=sicon-sar></i>', salla.config.currency()?.symbol || 'ر.س');
|
|
800
857
|
}
|
|
858
|
+
computeAvailability() {
|
|
859
|
+
this.availabilityMap = computeAvailabilityMap(this.optionsData || [], this.selectedOptions || []);
|
|
860
|
+
}
|
|
801
861
|
isOptionDetailOut(detail) {
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
//if the current options is the only selected option, so we are sure that it's not out, because there is no other options selected yet
|
|
807
|
-
if (isDetailSelected && this.selectedOptions.length === 1) {
|
|
808
|
-
return false;
|
|
809
|
-
}
|
|
810
|
-
//if current details has sku in the possible outSkus it's out for sure
|
|
811
|
-
if (isDetailSelected) {
|
|
812
|
-
//here we will get the possible outSkus for current selected options
|
|
813
|
-
const outSelectableSkus = this.selectedSkus.filter(sku => this.outSkus.includes(sku));
|
|
814
|
-
return Object.keys(detail.skus_availability).some(sku => outSelectableSkus.includes(Number(sku)));
|
|
815
|
-
}
|
|
816
|
-
return this.selectedOptions.some(option => option.is_out && option.option_id !== detail.option_id);
|
|
862
|
+
const status = this.availabilityMap[detail.id];
|
|
863
|
+
// !!detail.is_out guards against TypeScript optimising away `?? false`
|
|
864
|
+
// for the non-nullable `is_out: boolean` field when the value is actually undefined at runtime.
|
|
865
|
+
return status !== undefined ? status !== 'available' : !!detail.is_out;
|
|
817
866
|
}
|
|
818
867
|
/**
|
|
819
868
|
* Renders a single input element (radio or checkbox) for an option detail.
|
|
@@ -826,10 +875,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
826
875
|
*/
|
|
827
876
|
renderInput(type, detail, option, isRequired, name, buttonStyle) {
|
|
828
877
|
const id = this.generateUniqueKey(`${type}-${option.id}-${detail.id}`);
|
|
829
|
-
const
|
|
878
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
830
879
|
return (h("label", { class: {
|
|
831
|
-
"s-product-options-disabled":
|
|
832
|
-
|
|
880
|
+
"s-product-options-disabled": this.canDisabled && isOutOfStock,
|
|
881
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
882
|
+
} }, h("input", { id: id, type: type, name: name, value: detail.id, disabled: this.canDisabled && isOutOfStock, required: isRequired, checked: detail.is_selected, onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("div", { class: {
|
|
883
|
+
"s-product-options-grid-mode-span": buttonStyle,
|
|
884
|
+
"s-product-options-disabled": this.canDisabled && isOutOfStock,
|
|
885
|
+
} }, this.getOptionDetailName(detail))));
|
|
833
886
|
}
|
|
834
887
|
/**
|
|
835
888
|
* Renders a collection of input elements for all details of an option.
|
|
@@ -902,15 +955,22 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
902
955
|
}
|
|
903
956
|
//@ts-ignore
|
|
904
957
|
colorOption(option) {
|
|
905
|
-
return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) =>
|
|
958
|
+
return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) => {
|
|
959
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
960
|
+
return (h("div", { class: {
|
|
961
|
+
"s-product-options-colors-item": true,
|
|
962
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
963
|
+
}, key: detail.id }, h("input", { type: "radio", value: detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), disabled: this.canDisabled && isOutOfStock, id: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option), "data-img-id": detail.option_value }), h("label", { htmlFor: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), "data-img-id": detail.option_value }, h("span", { style: { backgroundColor: detail.color } }), h("div", { innerHTML: this.getOptionDetailName(detail, true, option.type) }))));
|
|
964
|
+
})));
|
|
906
965
|
}
|
|
907
966
|
//@ts-ignore
|
|
908
967
|
thumbnailOption(option) {
|
|
909
968
|
return h("div", { class: "s-product-options-thumbnails-wrapper" }, option.details.map((detail) => {
|
|
910
|
-
|
|
969
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
970
|
+
return h("div", { key: detail.id, class: { "s-product-options-option-stock-out": isOutOfStock } }, h("input", { type: "radio", value: detail.id, "data-itemid": detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), "data-img-id": detail.option_value, disabled: this.canDisabled && isOutOfStock, id: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("label", { htmlFor: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), "data-img-id": detail.option_value, class: "go-to-slide" }, h("img", { "data-src": detail.image, src: detail.image, title: detail.name, alt: detail.name }), h("span", { innerHTML: IconVerified, class: "s-product-options-thumbnails-icon" }), isOutOfStock ?
|
|
911
971
|
[
|
|
912
|
-
h("small", { key: detail.id
|
|
913
|
-
this.canDisabled ? h("div", { key: detail.id
|
|
972
|
+
h("small", { key: `badge-${detail.id}`, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
|
|
973
|
+
this.canDisabled ? h("div", { key: `overlay-${detail.id}`, class: "s-product-options-thumbnails-badge-overlay" }) : '',
|
|
914
974
|
]
|
|
915
975
|
: ''), h("p", null, this.getOptionDetailName(detail, false), " "));
|
|
916
976
|
}));
|
|
@@ -925,7 +985,8 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
925
985
|
}
|
|
926
986
|
countryOption(option) {
|
|
927
987
|
return h("div", { class: "s-product-options-digital-card-wrapper" }, option.details.map((detail) => {
|
|
928
|
-
|
|
988
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
989
|
+
return h("label", { htmlFor: this.generateUniqueKey(detail.id.toString()), key: detail.id, class: { "s-product-options-digital-card-option": true, "s-product-options-digital-card-option-stock-out": isOutOfStock, "s-product-options-option-stock-out": isOutOfStock } }, h("input", { id: this.generateUniqueKey(detail.id.toString()), type: "radio", class: "s-form-control s-product-options-digital-card-input", value: detail.id, name: this.generateInputName(option.id), disabled: this.canDisabled && isOutOfStock, required: !option.visibility_condition && option.required, onInvalid: (e) => this.invalidHandler(e, option), onChange: e => this.changedHandler(e, option), onClick: () => { this.disableCardValue = false; }, ...(salla.url.is_page("cart") ? { defaultChecked: this.getSelectedDigitalCardOptions(option)?.id === detail.id } : {}) }), h("img", { loading: "lazy", alt: detail.code, height: 24, width: 24, class: "s-product-options-country-flag", src: `https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(detail.code).toLocaleLowerCase()}.svg`, onError: e => {
|
|
929
990
|
e.currentTarget.onerror = null;
|
|
930
991
|
e.currentTarget.src =
|
|
931
992
|
salla.url.cdn('images/globe.svg');
|
|
@@ -955,6 +1016,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
955
1016
|
"availableDigitalCardValues": [32],
|
|
956
1017
|
"userInitiatedValidation": [32],
|
|
957
1018
|
"isCartMode": [32],
|
|
1019
|
+
"availabilityMap": [32],
|
|
958
1020
|
"setOptionsData": [64],
|
|
959
1021
|
"getOptionsData": [64],
|
|
960
1022
|
"getSelectedOptionsData": [64],
|
|
@@ -15,7 +15,7 @@ const SallaRewardCard = /*@__PURE__*/ proxyCustomElement(class SallaRewardCard e
|
|
|
15
15
|
this.actionClick = createEvent(this, "actionClick", 7);
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
-
return (h(Host, { key: 'ff2c85a1de1ce4275f2552cecdf822001e3ad337', class: "s-loyalty-program-reward-host" }, h("div", { key: 'd9a5d86af489008dd0d6025bde5dcb1e9dd29bda', class: "s-loyalty-program-reward-container" }, h("div", { key: 'aba7aa8ee4b3c0200a122fcdb38b4ea39c7f10ec', onClick: (e) => this.areaClick.emit(e), role: "button" }, h("div", { key: '71234c7e6176f7c557892ef6ffa039b0f33da1ad', class: "s-loyalty-program-reward-img" }, h("img", { key: 'c74287127a9784d6a5500f4cf106089ef610c140', alt: "", src: this.prize.image || salla.url.cdn('images/s-empty.png'), class: "s-loyalty-program-rewards-img" })), h("div", { key: 'ee30491d21384a2a2fc60efbe4b0012b72509d4b', class: "s-loyalty-program-reward-content" }, h("div", { key: '94b465db9a56ca3afdfabf63cd155a4ef124dcce', class: "s-loyalty-program-reward-points" }, h("salla-badge", { key: '7e92d9c135ff7acd7acce77c0abd4ef0b81f9c5f', size: "xs" }, h("span", { key: '83ed6d98e353843837fcf3944f424ca722583c41', innerHTML: loyaltyProgramIcon }), h("span", { key: '
|
|
18
|
+
return (h(Host, { key: 'ff2c85a1de1ce4275f2552cecdf822001e3ad337', class: "s-loyalty-program-reward-host" }, h("div", { key: 'd9a5d86af489008dd0d6025bde5dcb1e9dd29bda', class: "s-loyalty-program-reward-container" }, h("div", { key: 'aba7aa8ee4b3c0200a122fcdb38b4ea39c7f10ec', onClick: (e) => this.areaClick.emit(e), role: "button" }, h("div", { key: '71234c7e6176f7c557892ef6ffa039b0f33da1ad', class: "s-loyalty-program-reward-img" }, h("img", { key: 'c74287127a9784d6a5500f4cf106089ef610c140', alt: "", src: this.prize.image || salla.url.cdn('images/s-empty.png'), class: "s-loyalty-program-rewards-img" })), h("div", { key: 'ee30491d21384a2a2fc60efbe4b0012b72509d4b', class: "s-loyalty-program-reward-content" }, h("div", { key: '94b465db9a56ca3afdfabf63cd155a4ef124dcce', class: "s-loyalty-program-reward-points" }, h("salla-badge", { key: '7e92d9c135ff7acd7acce77c0abd4ef0b81f9c5f', size: "xs" }, h("span", { key: '83ed6d98e353843837fcf3944f424ca722583c41', innerHTML: loyaltyProgramIcon }), h("span", { key: 'dad919bbf6fda62a604bfb652fe5a1807d7c5231', class: "s-loyalty-program-rewards-points", innerHTML: salla.lang.choice('pages.loyalty_program.points', this.prize.cost_points) }))), h("div", { key: '2f9a4692a125da6fe9724b09998db4bb1efa8a63', class: "s-loyalty-program-reward-title" }, h("span", { key: 'bf24743da8340460839986efe5eac46649e3b751' }, this.prize.group_title)), h("div", { key: '85e6343102982e2e2bf35ad105aec7834f3d91b6', class: "s-loyalty-program-reward-name" }, h("div", { key: 'cc73021208eee7702d1e074fa13f7aef43ce6d32', class: "s-loyalty-program-rewards-name", id: `prize-${this.prize.id}` }, this.prize.name, this.prize.description ? `: ${this.prize.description}` : '')))), h("div", { key: '51860a235d912a4dc6d166add4b982c71805fc8d', class: "p-4" }, h("slot", { key: 'c12b37a27617986e8701190b6feb1c371887a822', name: "action" }, h("button", { key: '80ddf2e70e7cbdacae56a8310aff260e9eb99579', onClick: (e) => this.actionClick.emit(e.detail), class: "s-loyalty-program-rewards-action-base s-loyalty-program-rewards-action-on" }, salla.lang.get('pages.loyalty_program.show_reward')))))));
|
|
19
19
|
}
|
|
20
20
|
static get style() { return sallaLoyaltyProgramCss; }
|
|
21
21
|
}, [4, "salla-reward-card", {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { h } from './index-
|
|
4
|
+
import { h } from './index-Cly9a4nm.js';
|
|
5
5
|
|
|
6
6
|
function nearestLowerMultiple(number, multipleOf = window.matchMedia('(min-width: 768px)').matches ? 3 : 2) {
|
|
7
7
|
return number < multipleOf ? number : number - (number % multipleOf);
|