@salla.sa/twilight-components 2.14.470 → 2.14.472
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-Cy1e6Ro5.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-DC9ozntr.js → filepond-plugin-file-poster-CLtWPKuV.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DxUUyj2Z.js → filepond-plugin-file-validate-size-VaxUnQB7.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-DB4YCfw-.js → filepond-plugin-file-validate-type-qjNEM_4Q.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-QlnXOcNf.js → filepond-plugin-image-edit-DZdFIpzD.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-D6HJ47N2.js → filepond-plugin-image-exif-orientation-CMDdMoTf.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-DCaj9jNI.js → filepond-plugin-image-preview-CckneKBe.js} +1 -1
- package/dist/cjs/{functions-C_kzehHT.js → functions-DDLs9J1M.js} +1 -1
- package/dist/cjs/{index-CmPl0fIy.js → index-BLZPuy15.js} +10 -14
- package/dist/cjs/{index-SIy6bIWx.js → index-MGCYfYcr.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-accordion_6.cjs.entry.js +24 -8
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +422 -49
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +4 -4
- 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 +2 -2
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +18 -18
- package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +5 -5
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +2 -2
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +5 -5
- 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 +2 -2
- 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 +3 -3
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +3 -3
- package/dist/cjs/salla-hook.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/salla-localization-modal.cjs.entry.js +2 -2
- 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 +9 -9
- 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 +2 -2
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +4 -4
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +2 -2
- package/dist/cjs/{salla-map.cjs.entry.js → salla-map_2.cjs.entry.js} +70 -4
- 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 +4 -4
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +2 -2
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +2 -2
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/{salla-product-card_2.cjs.entry.js → salla-order-options-modal_3.cjs.entry.js} +209 -6
- package/dist/cjs/salla-order-summary.cjs.entry.js +2 -2
- 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 +3 -3
- package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
- package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
- package/dist/cjs/salla-products-list.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 +10 -10
- package/dist/cjs/salla-scopes.cjs.entry.js +2 -2
- package/dist/cjs/salla-search.cjs.entry.js +6 -6
- package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
- package/dist/cjs/salla-social.cjs.entry.js +2 -2
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/cjs/{tracked-promise-D-gQXgPZ.js → tracked-promise-B-bFT1y-.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-CZ_8m6i_.js → vanilla-picker-CP29RTHf.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/salla-accordion/salla-accordion-body.js +1 -1
- package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
- package/dist/collection/components/salla-accordion/salla-accordion.js +1 -1
- package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +10 -0
- package/dist/collection/components/salla-alert/salla-alert.js +1 -1
- package/dist/collection/components/salla-badge/salla-badge.js +1 -1
- package/dist/collection/components/salla-booking-field/salla-booking-field.js +1 -1
- package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +2 -2
- package/dist/collection/components/salla-breadcrumb/salla-breadcrumb.js +21 -5
- package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +1 -1
- package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
- package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
- package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
- package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
- package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
- package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
- package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
- package/dist/collection/components/salla-filters/salla-filters.js +1 -1
- package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
- package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
- package/dist/collection/components/salla-hook/salla-hook.js +1 -1
- package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
- package/dist/collection/components/salla-loading/salla-loading.js +1 -1
- package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
- package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
- package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +4 -4
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +2 -2
- package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +3 -3
- package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
- package/dist/collection/components/salla-map/salla-map.js +3 -3
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
- package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
- package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
- package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
- package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
- package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
- package/dist/collection/components/salla-order-options-modal/apple-pay-order-options.js +84 -0
- package/dist/collection/components/salla-order-options-modal/order-options-gate.js +136 -0
- package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.css +35 -0
- package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.js +282 -0
- package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
- package/dist/collection/components/salla-payments/salla-payments.js +2 -2
- package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
- package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
- package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
- package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
- package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.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 +105 -31
- package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
- package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +70 -16
- package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
- package/dist/collection/components/salla-reviews/salla-reviews.js +1 -1
- package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
- package/dist/collection/components/salla-scopes/salla-scopes.js +1 -1
- package/dist/collection/components/salla-search/salla-search.js +5 -5
- package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
- package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
- package/dist/collection/components/salla-social/salla-social.js +1 -1
- package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
- package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/index2.js +2540 -1699
- package/dist/components/index3.js +1699 -2540
- package/dist/components/location.js +2 -2
- package/dist/components/salla-accordion-body2.js +1 -1
- package/dist/components/salla-accordion-head2.js +2 -2
- package/dist/components/salla-accordion2.js +1 -1
- package/dist/components/salla-add-product-button2.js +205 -8
- package/dist/components/salla-alert.js +1 -1
- package/dist/components/salla-badge2.js +1 -1
- package/dist/components/salla-booking-field2.js +1 -1
- package/dist/components/salla-bottom-alert.js +2 -2
- package/dist/components/salla-breadcrumb.js +21 -5
- package/dist/components/salla-bullet-delivery.js +3 -3
- package/dist/components/salla-cart-coupons.js +1 -1
- package/dist/components/salla-cart-summary.js +1 -1
- package/dist/components/salla-color-picker2.js +1 -1
- package/dist/components/salla-comment-form2.js +1 -1
- package/dist/components/salla-conditional-fields2.js +1 -1
- package/dist/components/salla-count-down2.js +1 -1
- package/dist/components/salla-datetime-picker2.js +2 -2
- package/dist/components/salla-file-upload2.js +2 -2
- package/dist/components/salla-filters-widget2.js +2 -2
- package/dist/components/salla-filters.js +1 -1
- package/dist/components/salla-gifting.js +2 -2
- package/dist/components/salla-hook.js +1 -1
- package/dist/components/salla-list-tile2.js +1 -1
- package/dist/components/salla-loading2.js +1 -1
- package/dist/components/salla-localization-modal.js +1 -1
- package/dist/components/salla-loyalty-hero2.js +3 -3
- package/dist/components/salla-loyalty-panel.js +66 -18
- package/dist/components/salla-loyalty-point2.js +6 -6
- package/dist/components/salla-loyalty-points-history.js +1 -1
- package/dist/components/salla-loyalty-prize-item.js +1 -1
- package/dist/components/salla-loyalty-program.js +68 -20
- package/dist/components/salla-loyalty-reward.js +2 -2
- package/dist/components/salla-maintenance-alert.js +1 -1
- package/dist/components/salla-map2.js +4 -4
- package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
- package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
- package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
- package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
- package/dist/components/salla-multiple-bundle-product.js +1 -1
- package/dist/components/salla-notification-item2.js +1 -1
- package/dist/components/salla-offer-modal.js +65 -17
- package/dist/components/salla-order-details.js +1 -1
- package/dist/components/salla-order-edit-product-card.js +1 -1
- package/dist/components/salla-order-options-modal.d.ts +11 -0
- package/dist/components/salla-order-options-modal.js +9 -0
- package/dist/components/salla-order-options-modal2.js +303 -0
- package/dist/components/salla-order-summary.js +1 -1
- package/dist/components/salla-payments.js +2 -2
- package/dist/components/salla-placeholder2.js +1 -1
- package/dist/components/salla-price-range2.js +2 -2
- package/dist/components/salla-product-availability2.js +1 -1
- package/dist/components/salla-product-card-embed.js +1 -1
- package/dist/components/salla-product-card2.js +65 -17
- package/dist/components/salla-product-options2.js +120 -30
- package/dist/components/salla-product-size-guide.js +2 -2
- package/dist/components/salla-products-slider2.js +62 -14
- package/dist/components/salla-quantity-input2.js +1 -1
- package/dist/components/salla-quick-buy2.js +233 -18
- package/dist/components/salla-review-card2.js +1 -1
- package/dist/components/salla-reviews-page.js +1 -1
- package/dist/components/salla-reviews.js +1 -1
- package/dist/components/salla-reward-card2.js +1 -1
- package/dist/components/salla-reward-details2.js +67 -19
- package/dist/components/salla-reward-exchange2.js +3 -3
- package/dist/components/salla-scopes.js +1 -1
- package/dist/components/salla-search.js +5 -5
- package/dist/components/salla-searchable-dropdown2.js +4 -4
- package/dist/components/salla-skeleton2.js +1 -1
- package/dist/components/salla-social-share2.js +1 -1
- package/dist/components/salla-social.js +1 -1
- package/dist/components/salla-tab-content2.js +1 -1
- package/dist/components/salla-tab-header2.js +1 -1
- package/dist/components/salla-tabs2.js +1 -1
- package/dist/components/salla-tel-input2.js +2 -2
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/salla-wishlist-actions.js +1 -1
- package/dist/esm/{filepond-DLJR7kqO.js → filepond-BOdFx-k4.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-BPPxfj_a.js → filepond-plugin-file-poster-B0plGjbP.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CCqZAz2o.js → filepond-plugin-file-validate-size-BFnLP4vL.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-YEjyqpU3.js → filepond-plugin-file-validate-type-CKf0Z8YX.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-tiyoM7iJ.js → filepond-plugin-image-edit-lPLGnaWD.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CESSG4q3.js → filepond-plugin-image-exif-orientation-ad7mrSt5.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-CTrGLHaX.js → filepond-plugin-image-preview-D5dtrQjv.js} +1 -1
- package/dist/esm/{functions-iGPmc3ui.js → functions-nnPBSJY6.js} +1 -1
- package/dist/esm/{index-pj-XyI3U.js → index-BtIvUNme.js} +1 -1
- package/dist/esm/{index-Dckjjczv.js → index-CjnbnAFU.js} +10 -14
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +4 -4
- package/dist/esm/salla-accordion_6.entry.js +24 -8
- package/dist/esm/salla-add-product-button_5.entry.js +422 -49
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +4 -4
- 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 +2 -2
- package/dist/esm/salla-booking-field_7.entry.js +18 -18
- package/dist/esm/salla-bullet-delivery_2.entry.js +5 -5
- package/dist/esm/salla-cart-coupons.entry.js +2 -2
- package/dist/esm/salla-cart-item-offers_2.entry.js +2 -2
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-form_8.entry.js +5 -5
- 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 +2 -2
- 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 +3 -3
- package/dist/esm/salla-filters.entry.js +2 -2
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +3 -3
- package/dist/esm/salla-hook.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/salla-localization-modal.entry.js +2 -2
- 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 +9 -9
- 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 +2 -2
- package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
- package/dist/esm/salla-loyalty-program.entry.js +3 -3
- package/dist/esm/salla-loyalty-reward.entry.js +4 -4
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +2 -2
- package/dist/esm/{salla-map.entry.js → salla-map_2.entry.js} +70 -5
- 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 +4 -4
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
- package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +2 -2
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/{salla-product-card_2.entry.js → salla-order-options-modal_3.entry.js} +209 -7
- package/dist/esm/salla-order-summary.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/salla-placeholder.entry.js +2 -2
- package/dist/esm/salla-price-range.entry.js +3 -3
- package/dist/esm/salla-product-card-embed.entry.js +2 -2
- package/dist/esm/salla-product-size-guide.entry.js +3 -3
- package/dist/esm/salla-products-list.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 +10 -10
- package/dist/esm/salla-scopes.entry.js +2 -2
- package/dist/esm/salla-search.entry.js +6 -6
- package/dist/esm/salla-skeleton.entry.js +2 -2
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +2 -2
- package/dist/esm/salla-social.entry.js +2 -2
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/esm/{tracked-promise-CfOFv_ZQ.js → tracked-promise-DxK5ancc.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-BwAhzkb2.js → vanilla-picker-BNKvceoq.js} +1 -1
- package/dist/twilight/{p-193f4672.entry.js → p-01995780.entry.js} +1 -1
- package/dist/twilight/{p-46b75509.entry.js → p-02822e9f.entry.js} +1 -1
- package/dist/twilight/p-080444bb.entry.js +4 -0
- package/dist/twilight/{p-e573c23d.entry.js → p-0d01c327.entry.js} +1 -1
- package/dist/twilight/{p-9ac3d874.entry.js → p-0dcb8111.entry.js} +1 -1
- package/dist/twilight/p-129c20ed.entry.js +4 -0
- package/dist/twilight/{p-e2e38f7d.entry.js → p-15541ca3.entry.js} +1 -1
- package/dist/twilight/p-155d4693.entry.js +4 -0
- package/dist/twilight/{p-85d1767d.entry.js → p-1982cd13.entry.js} +1 -1
- package/dist/twilight/{p-b1d439e7.entry.js → p-1b8c59cf.entry.js} +1 -1
- package/dist/twilight/{p-3100186f.entry.js → p-1dc58168.entry.js} +1 -1
- package/dist/twilight/{p-768b4a83.entry.js → p-1f3480ba.entry.js} +1 -1
- package/dist/twilight/p-241b94a6.entry.js +4 -0
- package/dist/twilight/{p-69e7eb15.entry.js → p-2b75426a.entry.js} +1 -1
- package/dist/twilight/{p-6e2c05e8.entry.js → p-2dc46abc.entry.js} +1 -1
- package/dist/twilight/p-2eaf114e.entry.js +4 -0
- package/dist/twilight/{p-780abf03.entry.js → p-304f3de9.entry.js} +1 -1
- package/dist/twilight/p-35f30553.entry.js +4 -0
- package/dist/twilight/{p-d059046e.entry.js → p-3adacc75.entry.js} +1 -1
- package/dist/twilight/p-3e9f8d3c.entry.js +4 -0
- package/dist/twilight/{p-6543c5eb.entry.js → p-407a0c14.entry.js} +1 -1
- package/dist/twilight/{p-61bcbf9a.entry.js → p-43affbdd.entry.js} +1 -1
- package/dist/twilight/{p-a8a9b151.entry.js → p-456cfec5.entry.js} +1 -1
- package/dist/twilight/{p-3995c76e.entry.js → p-46c8b2d4.entry.js} +1 -1
- package/dist/twilight/{p-badfd153.entry.js → p-474b22b8.entry.js} +1 -1
- package/dist/twilight/{p-9f8a065c.entry.js → p-49c42118.entry.js} +1 -1
- package/dist/twilight/p-5089b72f.entry.js +4 -0
- package/dist/twilight/{p-c907509d.entry.js → p-5229c8aa.entry.js} +1 -1
- package/dist/twilight/{p-5f989a35.entry.js → p-550a91fe.entry.js} +1 -1
- package/dist/twilight/{p-463cf5ea.entry.js → p-594694e9.entry.js} +1 -1
- package/dist/twilight/{p-6ee5c24d.entry.js → p-5a18c6cc.entry.js} +1 -1
- package/dist/twilight/{p-38b5829a.entry.js → p-5aa08192.entry.js} +1 -1
- package/dist/twilight/p-5bda616b.entry.js +4 -0
- package/dist/twilight/p-5d9b57c8.entry.js +4 -0
- package/dist/twilight/{p-c4c3e16f.entry.js → p-6030f1fd.entry.js} +1 -1
- package/dist/twilight/{p-a756b0a4.entry.js → p-62010e29.entry.js} +1 -1
- package/dist/twilight/{p-df72e6a9.entry.js → p-63f1acc7.entry.js} +1 -1
- package/dist/twilight/p-6790943b.entry.js +4 -0
- package/dist/twilight/{p-fe2a4d07.entry.js → p-67d41cbb.entry.js} +1 -1
- package/dist/twilight/{p-9668a8aa.entry.js → p-6c39606a.entry.js} +1 -1
- package/dist/twilight/{p-fca82074.entry.js → p-6d6184c0.entry.js} +1 -1
- package/dist/twilight/{p-f145dc81.entry.js → p-6eab2444.entry.js} +1 -1
- package/dist/twilight/{p-dcc34752.entry.js → p-72a1b702.entry.js} +1 -1
- package/dist/twilight/{p-30fe7a02.entry.js → p-7442c41a.entry.js} +1 -1
- package/dist/twilight/{p-51b4ab80.entry.js → p-7f4d4e3c.entry.js} +1 -1
- package/dist/twilight/{p-be077285.entry.js → p-7fdeec2b.entry.js} +1 -1
- package/dist/twilight/{p-f4f47286.entry.js → p-83cb6915.entry.js} +1 -1
- package/dist/twilight/{p-017500f8.entry.js → p-88bed460.entry.js} +1 -1
- package/dist/twilight/{p-623b0c48.entry.js → p-8d1c4f93.entry.js} +1 -1
- package/dist/twilight/{p-4d2f0573.entry.js → p-8d427c53.entry.js} +1 -1
- package/dist/twilight/p-929e5aed.entry.js +4 -0
- package/dist/twilight/p-956d6683.entry.js +4 -0
- package/dist/twilight/{p-BPasfwVf.js → p-BKKN_hn3.js} +1 -1
- package/dist/twilight/{p-DVCS8qoq.js → p-BT5S72c8.js} +1 -1
- package/dist/twilight/{p-D2W2ygY1.js → p-ByL3FHQ6.js} +1 -1
- package/dist/twilight/p-CBwG3dWv.js +9 -0
- package/dist/twilight/{p-Dckjjczv.js → p-CjnbnAFU.js} +1 -1
- package/dist/twilight/{p-DNU1AEuR.js → p-ClNJhnhN.js} +1 -1
- package/dist/twilight/{p-DzHsJ03K.js → p-Cq2cbPYZ.js} +1 -1
- package/dist/twilight/p-Czf4a8gg.js +9 -0
- package/dist/twilight/{p--Jfvyk1f.js → p-D6Z2cDb0.js} +1 -1
- package/dist/twilight/{p-BgFqaLNN.js → p-DBxZFsVz.js} +1 -1
- package/dist/twilight/{p-BxhAwisc.js → p-DXVmi29t.js} +1 -1
- package/dist/twilight/{p-CHsBLTlN.js → p-DY6O-SiT.js} +1 -1
- package/dist/twilight/{p-1fa5c385.entry.js → p-a1e520d5.entry.js} +1 -1
- package/dist/twilight/{p-0052df8e.entry.js → p-a26fe1e5.entry.js} +1 -1
- package/dist/twilight/{p-0fa958a8.entry.js → p-a30cfade.entry.js} +1 -1
- package/dist/twilight/{p-eaf8f509.entry.js → p-a9090afd.entry.js} +1 -1
- package/dist/twilight/{p-89dae763.entry.js → p-ae2c963f.entry.js} +1 -1
- package/dist/twilight/{p-0a8fdddc.entry.js → p-b18a446a.entry.js} +1 -1
- package/dist/twilight/{p-9196d137.entry.js → p-b1c97472.entry.js} +1 -1
- package/dist/twilight/{p-bc1725dd.entry.js → p-bc6c4c1c.entry.js} +1 -1
- package/dist/twilight/{p-31fca96b.entry.js → p-be10a9c3.entry.js} +1 -1
- package/dist/twilight/p-c26cf3fa.entry.js +4 -0
- package/dist/twilight/{p-092318cc.entry.js → p-c4655810.entry.js} +1 -1
- package/dist/twilight/{p-ba55e58f.entry.js → p-c5211eca.entry.js} +1 -1
- package/dist/twilight/{p-6ce0ab6e.entry.js → p-cbd793c8.entry.js} +1 -1
- package/dist/twilight/{p-052922a0.entry.js → p-cfb9665f.entry.js} +2 -2
- package/dist/twilight/p-d46fb24a.entry.js +4 -0
- package/dist/twilight/{p-a2ff9abd.entry.js → p-d6cb423a.entry.js} +1 -1
- package/dist/twilight/{p-721ae2c4.entry.js → p-d7a2e982.entry.js} +1 -1
- package/dist/twilight/{p-77db23d2.entry.js → p-d9868f07.entry.js} +1 -1
- package/dist/twilight/{p-ba5d1170.entry.js → p-dbe3a5bb.entry.js} +1 -1
- package/dist/twilight/{p-66d2b9e3.entry.js → p-e041fe56.entry.js} +1 -1
- package/dist/twilight/{p-37299c40.entry.js → p-e058b62c.entry.js} +1 -1
- package/dist/twilight/{p-6f63f391.entry.js → p-e07c9a85.entry.js} +1 -1
- package/dist/twilight/{p-ddbffad3.entry.js → p-e1275bf7.entry.js} +1 -1
- package/dist/twilight/{p-7a75c505.entry.js → p-e5d5a6b3.entry.js} +1 -1
- package/dist/twilight/p-e5e6ea75.entry.js +4 -0
- package/dist/twilight/{p-9a6ea758.entry.js → p-e7a255a3.entry.js} +1 -1
- package/dist/twilight/{p-de70e0f6.entry.js → p-ebebcd55.entry.js} +1 -1
- package/dist/twilight/{p-6f86922a.entry.js → p-f0d7247d.entry.js} +1 -1
- package/dist/twilight/{p-3d65f310.entry.js → p-f222bf9f.entry.js} +1 -1
- package/dist/twilight/{p-1da95f6f.entry.js → p-f2594407.entry.js} +1 -1
- package/dist/twilight/{p-21e43f89.entry.js → p-f4235325.entry.js} +1 -1
- package/dist/twilight/p-fafdeea7.entry.js +4 -0
- package/dist/twilight/{p-ef26e3be.entry.js → p-fb7de7c4.entry.js} +1 -1
- package/dist/twilight/{p-1eadcac5.entry.js → p-fc1e3854.entry.js} +1 -1
- package/dist/twilight/{p-7288ff02.entry.js → p-fc72b631.entry.js} +1 -1
- package/dist/twilight/{p-681a053f.entry.js → p-fce2579c.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -0
- package/dist/types/components/salla-breadcrumb/salla-breadcrumb.d.ts +1 -0
- package/dist/types/components/salla-order-options-modal/apple-pay-order-options.d.ts +26 -0
- package/dist/types/components/salla-order-options-modal/order-options-gate.d.ts +23 -0
- package/dist/types/components/salla-order-options-modal/salla-order-options-modal.d.ts +66 -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 +14 -0
- package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +14 -0
- package/dist/types/components.d.ts +62 -0
- package/package.json +5 -5
- package/dist/cjs/salla-progress-bar.cjs.entry.js +0 -73
- package/dist/esm/salla-progress-bar.entry.js +0 -71
- package/dist/twilight/p-05ffde56.entry.js +0 -4
- package/dist/twilight/p-0bf6b9ad.entry.js +0 -4
- package/dist/twilight/p-294a3248.entry.js +0 -4
- package/dist/twilight/p-2b2af618.entry.js +0 -4
- package/dist/twilight/p-45a786cd.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-58bcae28.entry.js +0 -4
- package/dist/twilight/p-5d19859e.entry.js +0 -4
- package/dist/twilight/p-63f20aa0.entry.js +0 -4
- package/dist/twilight/p-83222f33.entry.js +0 -4
- package/dist/twilight/p-84dc489a.entry.js +0 -4
- package/dist/twilight/p-869773d3.entry.js +0 -4
- package/dist/twilight/p-97b74b76.entry.js +0 -4
- package/dist/twilight/p-9dca7f59.entry.js +0 -4
- package/dist/twilight/p-BFEfBkEW.js +0 -9
- package/dist/twilight/p-DWcI2hUr.js +0 -9
- package/dist/twilight/p-ad60969e.entry.js +0 -4
- package/dist/twilight/p-dc9b7a8e.entry.js +0 -4
- package/dist/twilight/p-fc7a1f2f.entry.js +0 -4
|
@@ -159,9 +159,9 @@ const SallaPriceRange = /*@__PURE__*/ proxyCustomElement(class SallaPriceRange e
|
|
|
159
159
|
this.maxPrice = value === undefined ? '' : value;
|
|
160
160
|
}
|
|
161
161
|
render() {
|
|
162
|
-
return (h(Host, { key: '
|
|
162
|
+
return (h(Host, { key: 'ecc44cf63ea7788f00aa33a19c06579c887c59dd' }, this.filterValues.map((filterValue, index) => {
|
|
163
163
|
return h("label", { class: "s-filters-label", htmlFor: `${this.option.key}-${index}`, key: index }, h("input", { id: `${this.option.key}-${index}`, name: "price", type: "radio", checked: this.isChecked(filterValue), class: "s-filters-radio", onChange: e => this.handleMinMaxPrice(e, filterValue) }), h("span", { innerHTML: this.getPriceLabel(filterValue) }));
|
|
164
|
-
}), h("div", { key: '
|
|
164
|
+
}), h("div", { key: 'c4b6d75b11a2625f429caf6bba9e0dd625f6f646', class: "flex justify-center items-center" }, h("div", { key: '4e85f9c05415daf235ab965ebe185c7171f08e06', class: "relative max-w-xl w-full" }, h("div", { key: '44b7747bfa4ec0e46da70dcf25f5325562bb0be9', class: "s-price-range-inputs" }, h("div", { key: '08a9afa0ea579f31eba87561283162b1d47f123f', class: "s-price-range-relative" }, h("div", { key: '54540065c16484f01e356fb2094f3163357ffd95', class: "s-price-range-currency" }, " ", salla.config.currency().symbol), h("input", { key: '851b957d076c25808edba4e763ae31286047782f', type: "number", maxlength: "5", ref: el => this.minInput = el, onBlur: (e) => this.handleMinPrice(e), value: this.minPrice, placeholder: this.fromLabel, class: "s-price-range-number-input" })), h("div", { key: 'f8a910aca554ae21657a19115d7f9607efb0566d', class: "s-price-range-gray-text" }, " -"), h("div", { key: '7d1561634459c15862bc0455b4bd9248d44a8446', class: "s-price-range-relative" }, h("div", { key: '7ca1fb8056b8af71f6f57524ed9d5fdfdc641ef2', class: "s-price-range-currency" }, " ", salla.config.currency().symbol), h("input", { key: 'e6411b0e1b0e36b45a6879c1b257f394ec94007f', type: "number", maxlength: "5", ref: el => this.maxInput = el, onBlur: (e) => this.handleMaxPrice(e), value: this.maxPrice, placeholder: this.toLabel, class: "s-price-range-number-input", "aria-describedby": "price-currency" })), h("salla-button", { key: '63bc422c8d82c820bd984d5af68f8081add164c3', color: 'gray', shape: 'icon', size: 'small', fill: 'outline', onClick: (event) => this.changedEventHandler(event) }, h("span", { key: 'b81d3813cb2ff9523f232cf0a615c58576b14177', innerHTML: this.isRTL ? IconArrowLeft : arrowRight })))))));
|
|
165
165
|
}
|
|
166
166
|
componentDidLoad() {
|
|
167
167
|
this.isReady = true;
|
|
@@ -146,7 +146,7 @@ const SallaProductAvailability = /*@__PURE__*/ proxyCustomElement(class SallaPro
|
|
|
146
146
|
field.nextElementSibling['innerText'] = '* ' + errorMsg;
|
|
147
147
|
}
|
|
148
148
|
render() {
|
|
149
|
-
return (h(Host, { key: '
|
|
149
|
+
return (h(Host, { key: '0779c3aef2637bfcd30ecf110d0cd31d819a82a5', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
|
|
150
150
|
? h("div", { class: "s-product-availability-subscribed" }, h("span", { innerHTML: BellRing, class: "s-product-availability-subs-icon" }), salla.lang.get('pages.products.notify_availability_success'))
|
|
151
151
|
:
|
|
152
152
|
h("salla-button", { width: "wide", onClick: () => this.isUser ? this.submit() : this.openModel() }, salla.lang.get('pages.products.notify_availability')), this.isUser || this.isSubscribedToProduct ? '' : this.renderModal()));
|
|
@@ -84,7 +84,7 @@ const SallaProductCardEmbed$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
|
|
|
84
84
|
's-product-card-embed-card-align-right': this.align === 'right',
|
|
85
85
|
's-product-card-embed-card-align-center': this.align === 'center',
|
|
86
86
|
};
|
|
87
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: '61c3e673a103e5d13217bac208611bf4978d20a4' }, this.hasError && h("span", { key: '8f013953f9eed502307823825e573281f481fd19', class: "s-product-card-embed-fallback" }), h("div", { key: '150d4080de0dbf21a2abaa00eca4c8ffae604546', class: cardClasses, ref: (el) => {
|
|
88
88
|
this.cardContainer = el;
|
|
89
89
|
} })));
|
|
90
90
|
}
|
|
@@ -3,12 +3,20 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { R as Rate } from './star2.js';
|
|
6
|
-
import { d as defineCustomElement$
|
|
7
|
-
import { d as defineCustomElement$
|
|
8
|
-
import { d as defineCustomElement$
|
|
9
|
-
import { d as defineCustomElement$
|
|
10
|
-
import { d as defineCustomElement$
|
|
11
|
-
import { d as defineCustomElement$
|
|
6
|
+
import { d as defineCustomElement$h } from './salla-add-product-button2.js';
|
|
7
|
+
import { d as defineCustomElement$g } from './salla-booking-field2.js';
|
|
8
|
+
import { d as defineCustomElement$f } from './salla-button2.js';
|
|
9
|
+
import { d as defineCustomElement$e } from './salla-color-picker2.js';
|
|
10
|
+
import { d as defineCustomElement$d } from './salla-conditional-fields2.js';
|
|
11
|
+
import { d as defineCustomElement$c } from './salla-count-down2.js';
|
|
12
|
+
import { d as defineCustomElement$b } from './salla-datetime-picker2.js';
|
|
13
|
+
import { d as defineCustomElement$a } from './salla-file-upload2.js';
|
|
14
|
+
import { d as defineCustomElement$9 } from './salla-loading2.js';
|
|
15
|
+
import { d as defineCustomElement$8 } from './salla-map2.js';
|
|
16
|
+
import { d as defineCustomElement$7 } from './salla-modal2.js';
|
|
17
|
+
import { d as defineCustomElement$6 } from './salla-order-options-modal2.js';
|
|
18
|
+
import { d as defineCustomElement$5 } from './salla-product-availability2.js';
|
|
19
|
+
import { d as defineCustomElement$4 } from './salla-product-options2.js';
|
|
12
20
|
import { d as defineCustomElement$3 } from './salla-progress-bar2.js';
|
|
13
21
|
import { d as defineCustomElement$2 } from './salla-quick-buy2.js';
|
|
14
22
|
import { d as defineCustomElement$1 } from './salla-tel-input2.js';
|
|
@@ -122,14 +130,14 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
|
|
|
122
130
|
's-product-card-out-of-stock': this.productData?.is_out_of_stock,
|
|
123
131
|
};
|
|
124
132
|
const hrefProp = this.productData?.url ? { href: this.productData.url, title: `Learn more about ${this.productData?.name}` } : {};
|
|
125
|
-
return (h(Host, { key: '
|
|
133
|
+
return (h(Host, { key: '0f4b4f64ee342da10905dee73db8a2b4bebdfc9e', id: `product-${this.productData?.id}`, class: classes }, h("div", { key: 'ed5cfb208c6241ca6ccd2c8f2205f76d1f81ca2a', class: !this.fullImage ? 's-product-card-image' : 's-product-card-image-full' }, h("a", { key: '865376db3deadd97c23480e9226a50abe9371284', ...hrefProp }, h("img", { key: 'ad314a97956853e26b3a3c4ecb9f1d427bf748fb', class: `s-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)
|
|
126
134
|
? 'contain'
|
|
127
135
|
: this.fitImageHeight
|
|
128
136
|
? this.fitImageHeight
|
|
129
|
-
: 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { key: '
|
|
130
|
-
h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart })) : ''), h("div", { key: '
|
|
137
|
+
: 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { key: 'eef3edab8f4cc75c385928dcdbd9d29c318b68cc', ...hrefProp, class: "s-product-card-overlay" }), !this.horizontal && !this.fullImage ?
|
|
138
|
+
h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart })) : ''), h("div", { key: '208f74738cd81bb68ec63f4fdadedbd9b19e6dad', class: "s-product-card-content" }, this.isSpecial && this.productData?.quantity ?
|
|
131
139
|
h("div", { class: "s-product-card-content-pie", ref: pie => this.pie = pie }, h("span", null, h("b", null, salla.helpers.number(this.productData?.quantity)), this.remained), h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -1 36 34", class: "s-product-card-content-pie-svg" }, h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-base" }), h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-bar" })))
|
|
132
|
-
: '', h("div", { key: '
|
|
140
|
+
: '', h("div", { key: '6b00056661ebe29db89377f858bfefda80ed365f', class: { 's-product-card-content-main': true, 's-product-card-content-extra-padding': this.isSpecial } }, h("h3", { key: 'a1a7a2d363a009c3254df7728e80f958be76a012', class: "s-product-card-content-title" }, h("a", { key: 'c3c8a4b862cf6a0b78bafb6f30bd5a04d437257d', ...hrefProp }, this.productData?.name)), this.productData?.subtitle && !this.minimal ?
|
|
133
141
|
h("p", { class: "s-product-card-content-subtitle" }, this.productData?.subtitle)
|
|
134
142
|
: ''), this.productData?.donation && !this.minimal && !this.fullImage ?
|
|
135
143
|
[h("salla-progress-bar", { donation: this.productData?.donation }), h("div", { class: "s-product-card-donation-input" }, this.productData?.donation?.can_donate ?
|
|
@@ -138,7 +146,7 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
|
|
|
138
146
|
this.addBtn.donatingAmount = e.target.value;
|
|
139
147
|
}, id: "donation-amount", name: "donating_amount", class: "s-form-control", placeholder: this.donationAmount })]
|
|
140
148
|
: '')]
|
|
141
|
-
: '', h("div", { key: '
|
|
149
|
+
: '', h("div", { key: '2ab7701aac64f90667627f0a0b3bfc031e30d835', class: { 's-product-card-content-sub': true, 's-product-card-content-extra-padding': this.isSpecial } }, this.getProductPrice(), this.productData?.rating?.stars && !this.minimal ?
|
|
142
150
|
h("div", { class: "s-product-card-rating" }, h("span", { innerHTML: Rate }), h("span", null, this.productData.rating.stars))
|
|
143
151
|
: ''), this.isSpecial && this.productData.discount_ends
|
|
144
152
|
? h("salla-count-down", { date: this.formatDate(this.productData.discount_ends), "end-of-day": true, boxed: true, labeled: true })
|
|
@@ -185,7 +193,7 @@ function defineCustomElement() {
|
|
|
185
193
|
if (typeof customElements === "undefined") {
|
|
186
194
|
return;
|
|
187
195
|
}
|
|
188
|
-
const components = ["salla-product-card", "salla-add-product-button", "salla-button", "salla-count-down", "salla-loading", "salla-modal", "salla-product-availability", "salla-progress-bar", "salla-quick-buy", "salla-tel-input"];
|
|
196
|
+
const components = ["salla-product-card", "salla-add-product-button", "salla-booking-field", "salla-button", "salla-color-picker", "salla-conditional-fields", "salla-count-down", "salla-datetime-picker", "salla-file-upload", "salla-loading", "salla-map", "salla-modal", "salla-order-options-modal", "salla-product-availability", "salla-product-options", "salla-progress-bar", "salla-quick-buy", "salla-tel-input"];
|
|
189
197
|
components.forEach(tagName => { switch (tagName) {
|
|
190
198
|
case "salla-product-card":
|
|
191
199
|
if (!customElements.get(tagName)) {
|
|
@@ -194,30 +202,70 @@ function defineCustomElement() {
|
|
|
194
202
|
break;
|
|
195
203
|
case "salla-add-product-button":
|
|
196
204
|
if (!customElements.get(tagName)) {
|
|
197
|
-
defineCustomElement$
|
|
205
|
+
defineCustomElement$h();
|
|
206
|
+
}
|
|
207
|
+
break;
|
|
208
|
+
case "salla-booking-field":
|
|
209
|
+
if (!customElements.get(tagName)) {
|
|
210
|
+
defineCustomElement$g();
|
|
198
211
|
}
|
|
199
212
|
break;
|
|
200
213
|
case "salla-button":
|
|
201
214
|
if (!customElements.get(tagName)) {
|
|
202
|
-
defineCustomElement$
|
|
215
|
+
defineCustomElement$f();
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
case "salla-color-picker":
|
|
219
|
+
if (!customElements.get(tagName)) {
|
|
220
|
+
defineCustomElement$e();
|
|
221
|
+
}
|
|
222
|
+
break;
|
|
223
|
+
case "salla-conditional-fields":
|
|
224
|
+
if (!customElements.get(tagName)) {
|
|
225
|
+
defineCustomElement$d();
|
|
203
226
|
}
|
|
204
227
|
break;
|
|
205
228
|
case "salla-count-down":
|
|
206
229
|
if (!customElements.get(tagName)) {
|
|
207
|
-
defineCustomElement$
|
|
230
|
+
defineCustomElement$c();
|
|
231
|
+
}
|
|
232
|
+
break;
|
|
233
|
+
case "salla-datetime-picker":
|
|
234
|
+
if (!customElements.get(tagName)) {
|
|
235
|
+
defineCustomElement$b();
|
|
236
|
+
}
|
|
237
|
+
break;
|
|
238
|
+
case "salla-file-upload":
|
|
239
|
+
if (!customElements.get(tagName)) {
|
|
240
|
+
defineCustomElement$a();
|
|
208
241
|
}
|
|
209
242
|
break;
|
|
210
243
|
case "salla-loading":
|
|
211
244
|
if (!customElements.get(tagName)) {
|
|
212
|
-
defineCustomElement$
|
|
245
|
+
defineCustomElement$9();
|
|
246
|
+
}
|
|
247
|
+
break;
|
|
248
|
+
case "salla-map":
|
|
249
|
+
if (!customElements.get(tagName)) {
|
|
250
|
+
defineCustomElement$8();
|
|
213
251
|
}
|
|
214
252
|
break;
|
|
215
253
|
case "salla-modal":
|
|
216
254
|
if (!customElements.get(tagName)) {
|
|
217
|
-
defineCustomElement$
|
|
255
|
+
defineCustomElement$7();
|
|
256
|
+
}
|
|
257
|
+
break;
|
|
258
|
+
case "salla-order-options-modal":
|
|
259
|
+
if (!customElements.get(tagName)) {
|
|
260
|
+
defineCustomElement$6();
|
|
218
261
|
}
|
|
219
262
|
break;
|
|
220
263
|
case "salla-product-availability":
|
|
264
|
+
if (!customElements.get(tagName)) {
|
|
265
|
+
defineCustomElement$5();
|
|
266
|
+
}
|
|
267
|
+
break;
|
|
268
|
+
case "salla-product-options":
|
|
221
269
|
if (!customElements.get(tagName)) {
|
|
222
270
|
defineCustomElement$4();
|
|
223
271
|
}
|
|
@@ -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
|
|
@@ -87,6 +140,11 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
87
140
|
* The id of the product to which the options are going to be fetched for.
|
|
88
141
|
*/
|
|
89
142
|
this.productId = salla.config.get('page.id');
|
|
143
|
+
/**
|
|
144
|
+
* Strip the wrapper's padding (keeps the background, rounded corners, margin).
|
|
145
|
+
* Used by callers that need the options to sit flush inside their own surface.
|
|
146
|
+
*/
|
|
147
|
+
this.noPadding = false;
|
|
90
148
|
this.handleDonationOptions = (event, detail, type, _option) => {
|
|
91
149
|
// Donating-amount input only: onInput updates price and dispatches native change for form price watcher.
|
|
92
150
|
if (detail === 'custom' && type === 'input') {
|
|
@@ -167,12 +225,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
167
225
|
*/
|
|
168
226
|
async setOptionsData(optionsData) {
|
|
169
227
|
this.optionsData = optionsData;
|
|
170
|
-
|
|
171
|
-
this.optionsData[0]?.details?.forEach(
|
|
228
|
+
this.outSkus = [];
|
|
229
|
+
this.optionsData[0]?.details?.forEach(detail => {
|
|
172
230
|
Object.entries(detail.skus_availability || {})
|
|
173
|
-
.filter(
|
|
174
|
-
.
|
|
231
|
+
.filter(([, available]) => !available)
|
|
232
|
+
.forEach(([sku]) => this.outSkus.push(Number(sku)));
|
|
175
233
|
});
|
|
234
|
+
this.fillSelectedOptions();
|
|
235
|
+
this.computeAvailability();
|
|
176
236
|
}
|
|
177
237
|
/**
|
|
178
238
|
* Get the current options state, including selected values/details.
|
|
@@ -358,8 +418,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
358
418
|
*/
|
|
359
419
|
setSelectedSkus() {
|
|
360
420
|
this.selectedSkus = this.selectedOptions.map(detail => Object.keys(detail.skus_availability || {}))
|
|
361
|
-
.reduce((p, c) => p.filter(e => c.includes(e)), [])
|
|
421
|
+
.reduce((p, c) => p.filter(e => c.includes(e)), [])
|
|
362
422
|
.map(sku => Number(sku));
|
|
423
|
+
this.computeAvailability();
|
|
363
424
|
}
|
|
364
425
|
handleRequiredMultipleOptions(option) {
|
|
365
426
|
if (option.type !== DisplayType.MULTIPLE_OPTIONS || !option.required) {
|
|
@@ -563,7 +624,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
563
624
|
if (this.optionsData?.length === 0) {
|
|
564
625
|
return;
|
|
565
626
|
}
|
|
566
|
-
return (h(Host, { class:
|
|
627
|
+
return (h(Host, { class: { 's-product-options-wrapper': true, 's-product-options-no-padding': this.noPadding } }, h("salla-conditional-fields", null, this.optionsData.map((option) => h("div", { key: option.id, class: `s-product-options-option-container${option.visibility_condition || this.hideDigitalCardsOptions(option) ? ' hidden' : ''}`, "data-option-id": option.id, ...this.getOptionShownWhen(option) }, option.name === 'splitter' ?
|
|
567
628
|
this.splitterOption()
|
|
568
629
|
: h("div", { class: { "s-product-options-option": true, "s-product-options-option-booking": option.type === DisplayType.BOOKING && salla.url.is_page("cart") }, "data-option-type": option.type, "data-option-required": `${option.required}` }, h("label", { htmlFor: this.generateInputId(option.id), class: `s-product-options-option-label ${this.hideLabel(option) ? 's-product-options-option-label-hidden' : ''}` }, h("b", null, option.name, option.required && h("span", null, " * "), " "), h("small", null, option.placeholder)), h("div", { class: `s-product-options-option-content ${this.hideLabel(option) || (option.type === DisplayType.BOOKING && salla.url.is_page("cart")) ? 's-product-options-option-content-full-width' : ''}` }, this.getDisplayForType(option))))))));
|
|
569
630
|
}
|
|
@@ -618,7 +679,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
618
679
|
}
|
|
619
680
|
fillSelectedOptions() {
|
|
620
681
|
this.selectedOptions = this.optionsData.reduce((acc, opt) => {
|
|
621
|
-
|
|
682
|
+
// `details` is optional on the Option interface — input-type options
|
|
683
|
+
// (text/number/date/file) carry no choice list, so guard before filtering.
|
|
684
|
+
const selectedDetails = (opt.details ?? []).filter(detail => detail.is_selected);
|
|
622
685
|
const mappedDetails = selectedDetails.map(detail => ({
|
|
623
686
|
...detail,
|
|
624
687
|
option_id: opt.id
|
|
@@ -626,6 +689,25 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
626
689
|
return acc.concat(mappedDetails);
|
|
627
690
|
}, []);
|
|
628
691
|
}
|
|
692
|
+
/**
|
|
693
|
+
* Seed `selectedOptions` from API defaults (`is_selected: true`).
|
|
694
|
+
* componentWillLoad does this only on the cart page; non-cart callers
|
|
695
|
+
* (e.g. order-options modal) call this after mount to avoid the first
|
|
696
|
+
* multi-select toggle wiping the pre-selected defaults.
|
|
697
|
+
* */
|
|
698
|
+
async seedSelectedOptions() {
|
|
699
|
+
this.fillSelectedOptions();
|
|
700
|
+
// A required multi-select renders every checkbox `required`; handleRequiredMultipleOptions
|
|
701
|
+
// clears that once one is checked, but it only fires on user `change`. After seeding a
|
|
702
|
+
// pre-selected default we run it for the initial DOM so a defaulted-but-untouched required
|
|
703
|
+
// multi-select doesn't fail validation and block checkout. Defer to rAF so the seeded
|
|
704
|
+
// `checked` state is painted before we count it (matches the change-handler pattern above).
|
|
705
|
+
requestAnimationFrame(() => {
|
|
706
|
+
this.optionsData
|
|
707
|
+
?.filter(o => o.type === DisplayType.MULTIPLE_OPTIONS && o.required)
|
|
708
|
+
.forEach(o => this.handleRequiredMultipleOptions(o));
|
|
709
|
+
});
|
|
710
|
+
}
|
|
629
711
|
async componentDidLoad() {
|
|
630
712
|
if (!this.optionsData?.length) {
|
|
631
713
|
return;
|
|
@@ -688,6 +770,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
688
770
|
this.disableCardValue = false;
|
|
689
771
|
this.canDisabled = true;
|
|
690
772
|
this.fillSelectedOptions();
|
|
773
|
+
this.computeAvailability();
|
|
691
774
|
}
|
|
692
775
|
/**
|
|
693
776
|
* Enable user-initiated validation mode so invalid fields will scroll into view
|
|
@@ -798,22 +881,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
798
881
|
//and because we are using this inside select option, we need to replace the html currency symbol with the store currency symbol
|
|
799
882
|
return detailName.replace('<i class=sicon-sar></i>', salla.config.currency()?.symbol || 'ر.س');
|
|
800
883
|
}
|
|
884
|
+
computeAvailability() {
|
|
885
|
+
this.availabilityMap = computeAvailabilityMap(this.optionsData || [], this.selectedOptions || []);
|
|
886
|
+
}
|
|
801
887
|
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);
|
|
888
|
+
const status = this.availabilityMap[detail.id];
|
|
889
|
+
// !!detail.is_out guards against TypeScript optimising away `?? false`
|
|
890
|
+
// for the non-nullable `is_out: boolean` field when the value is actually undefined at runtime.
|
|
891
|
+
return status !== undefined ? status !== 'available' : !!detail.is_out;
|
|
817
892
|
}
|
|
818
893
|
/**
|
|
819
894
|
* Renders a single input element (radio or checkbox) for an option detail.
|
|
@@ -826,10 +901,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
826
901
|
*/
|
|
827
902
|
renderInput(type, detail, option, isRequired, name, buttonStyle) {
|
|
828
903
|
const id = this.generateUniqueKey(`${type}-${option.id}-${detail.id}`);
|
|
829
|
-
const
|
|
904
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
830
905
|
return (h("label", { class: {
|
|
831
|
-
"s-product-options-disabled":
|
|
832
|
-
|
|
906
|
+
"s-product-options-disabled": this.canDisabled && isOutOfStock,
|
|
907
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
908
|
+
} }, 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: {
|
|
909
|
+
"s-product-options-grid-mode-span": buttonStyle,
|
|
910
|
+
"s-product-options-disabled": this.canDisabled && isOutOfStock,
|
|
911
|
+
} }, this.getOptionDetailName(detail))));
|
|
833
912
|
}
|
|
834
913
|
/**
|
|
835
914
|
* Renders a collection of input elements for all details of an option.
|
|
@@ -902,15 +981,22 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
902
981
|
}
|
|
903
982
|
//@ts-ignore
|
|
904
983
|
colorOption(option) {
|
|
905
|
-
return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) =>
|
|
984
|
+
return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) => {
|
|
985
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
986
|
+
return (h("div", { class: {
|
|
987
|
+
"s-product-options-colors-item": true,
|
|
988
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
989
|
+
}, 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) }))));
|
|
990
|
+
})));
|
|
906
991
|
}
|
|
907
992
|
//@ts-ignore
|
|
908
993
|
thumbnailOption(option) {
|
|
909
994
|
return h("div", { class: "s-product-options-thumbnails-wrapper" }, option.details.map((detail) => {
|
|
910
|
-
|
|
995
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
996
|
+
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
997
|
[
|
|
912
|
-
h("small", { key: detail.id
|
|
913
|
-
this.canDisabled ? h("div", { key: detail.id
|
|
998
|
+
h("small", { key: `badge-${detail.id}`, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
|
|
999
|
+
this.canDisabled ? h("div", { key: `overlay-${detail.id}`, class: "s-product-options-thumbnails-badge-overlay" }) : '',
|
|
914
1000
|
]
|
|
915
1001
|
: ''), h("p", null, this.getOptionDetailName(detail, false), " "));
|
|
916
1002
|
}));
|
|
@@ -925,7 +1011,8 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
925
1011
|
}
|
|
926
1012
|
countryOption(option) {
|
|
927
1013
|
return h("div", { class: "s-product-options-digital-card-wrapper" }, option.details.map((detail) => {
|
|
928
|
-
|
|
1014
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
1015
|
+
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
1016
|
e.currentTarget.onerror = null;
|
|
930
1017
|
e.currentTarget.src =
|
|
931
1018
|
salla.url.cdn('images/globe.svg');
|
|
@@ -941,6 +1028,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
941
1028
|
"uniqueKey": [1, "unique-key"],
|
|
942
1029
|
"bundleContext": [1, "bundle-context"],
|
|
943
1030
|
"config": [1],
|
|
1031
|
+
"noPadding": [4, "no-padding"],
|
|
944
1032
|
"optionsData": [32],
|
|
945
1033
|
"outOfStockText": [32],
|
|
946
1034
|
"donationAmount": [32],
|
|
@@ -955,6 +1043,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
955
1043
|
"availableDigitalCardValues": [32],
|
|
956
1044
|
"userInitiatedValidation": [32],
|
|
957
1045
|
"isCartMode": [32],
|
|
1046
|
+
"availabilityMap": [32],
|
|
958
1047
|
"setOptionsData": [64],
|
|
959
1048
|
"getOptionsData": [64],
|
|
960
1049
|
"getSelectedOptionsData": [64],
|
|
@@ -962,6 +1051,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
962
1051
|
"hasOutOfStockOption": [64],
|
|
963
1052
|
"getSelectedOptions": [64],
|
|
964
1053
|
"getOption": [64],
|
|
1054
|
+
"seedSelectedOptions": [64],
|
|
965
1055
|
"enterCartMode": [64],
|
|
966
1056
|
"enableUserInitiatedValidation": [64],
|
|
967
1057
|
"validateAndScroll": [64]
|
|
@@ -59,11 +59,11 @@ const SallaProductSizeGuide$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
|
|
|
59
59
|
return h("salla-placeholder", { alignment: "center", iconSize: "xl" }, h("div", { slot: "title" }, this.placeholder_title), h("div", { slot: "description" }, this.placeholder_description));
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (h("salla-modal", { key: '
|
|
62
|
+
return (h("salla-modal", { key: '750cca54e5286fc1b77942cc4a9784970b8569ec', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: '0aecc3b447a0ef8f92183c1c785c2a8bbf139c17', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '1720d30460d99d578365cae9d6a0e92790f834a2', slot: "loading" }, h("div", { key: '0bf85ba5de7db72b7e4f4d94e592dc951c1d3801', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: '3635e6c238400762f5c70266bb8359cf3c1c0527', height: '15px', width: '25%' }), h("div", { key: '0adfa776efbf9e7d988d08a3dce69900d6d3d737', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: '53799c8bd0f495ec723d0cf4be0ab0e978351c23', height: '40px' }), h("salla-skeleton", { key: 'a825da569d6453a5e3b6cac9cf5848f941af22ae', height: '40px' }), h("salla-skeleton", { key: 'd2091d09ca662aef1f2d6b3cddb4bf86ccc77c0f', height: '40px' }), h("salla-skeleton", { key: '5974a5b7227d03979ea5a65f2f1481f59ca6e0fe', height: '40px' })), h("div", { key: '6e12dc1b703488433f5e8047efe16d70ebaec8c3', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '9d54f957ba7e4c78fff9ed693179d5f7faa55a25', height: '15px', width: '25%' }), h("salla-skeleton", { key: '946eedae2371d7df9d1b9cf8cf1b0f7800554eed', height: '10px', width: '75%' }), h("salla-skeleton", { key: '35d38d23f73bb4bbd4dc5372b70cd34f09cec2ea', height: '10px', width: '50%' }), h("salla-skeleton", { key: '8f13518e172127af747f50773f7a7f0d64d2c0ba', height: '10px', width: '75%' }), h("salla-skeleton", { key: '759708410b562babb733f401cdf8ee310761b110', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'ad8d12dcefe5fbbd8dfa4060a028a3387186ffa1', height: '10px', width: '25%' }), h("salla-skeleton", { key: '63c5864943ec23a3a42761c90ca019acd7118f8c', height: '10px', width: '60%' }), h("salla-skeleton", { key: '490d6078c8d382740eb92c825a08e2aad203c4af', height: '10px', width: '45%' }), h("salla-skeleton", { key: '10b0d73e6a34990a2d23554faec6bce24dcc234e', height: '10px', width: '30%' })))), h("slot", { key: '3d0a3e42eba7cc521e8df1fbb2e7323962bff5a8', name: "header" }), !this.hasError && !!this.guides ?
|
|
63
63
|
[
|
|
64
64
|
h("salla-tabs", null, this.guides.map((guide) => h("salla-tab-header", { slot: "header", name: guide.name }, h("span", null, guide.name))), this.guides.map((guide) => h("salla-tab-content", { slot: "content", name: guide.name }, h("div", { innerHTML: guide.description }))))
|
|
65
65
|
]
|
|
66
|
-
: this.showPlaceholder(), h("slot", { key: '
|
|
66
|
+
: this.showPlaceholder(), h("slot", { key: 'd1fc7cdbbd52a1c3c2b08f45a647e7ea1586cc9d', name: "footer" })));
|
|
67
67
|
}
|
|
68
68
|
get host() { return this; }
|
|
69
69
|
static get style() { return sallaProductSizeGuideCss; }
|
|
@@ -3,13 +3,21 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { H as Helper } from './Helper.js';
|
|
6
|
-
import { d as defineCustomElement$
|
|
7
|
-
import { d as defineCustomElement$
|
|
8
|
-
import { d as defineCustomElement$
|
|
9
|
-
import { d as defineCustomElement$
|
|
10
|
-
import { d as defineCustomElement$
|
|
11
|
-
import { d as defineCustomElement$
|
|
12
|
-
import { d as defineCustomElement$
|
|
6
|
+
import { d as defineCustomElement$j } from './salla-add-product-button2.js';
|
|
7
|
+
import { d as defineCustomElement$i } from './salla-booking-field2.js';
|
|
8
|
+
import { d as defineCustomElement$h } from './salla-button2.js';
|
|
9
|
+
import { d as defineCustomElement$g } from './salla-color-picker2.js';
|
|
10
|
+
import { d as defineCustomElement$f } from './salla-conditional-fields2.js';
|
|
11
|
+
import { d as defineCustomElement$e } from './salla-count-down2.js';
|
|
12
|
+
import { d as defineCustomElement$d } from './salla-datetime-picker2.js';
|
|
13
|
+
import { d as defineCustomElement$c } from './salla-file-upload2.js';
|
|
14
|
+
import { d as defineCustomElement$b } from './salla-loading2.js';
|
|
15
|
+
import { d as defineCustomElement$a } from './salla-map2.js';
|
|
16
|
+
import { d as defineCustomElement$9 } from './salla-modal2.js';
|
|
17
|
+
import { d as defineCustomElement$8 } from './salla-order-options-modal2.js';
|
|
18
|
+
import { d as defineCustomElement$7 } from './salla-product-availability2.js';
|
|
19
|
+
import { d as defineCustomElement$6 } from './salla-product-card2.js';
|
|
20
|
+
import { d as defineCustomElement$5 } from './salla-product-options2.js';
|
|
13
21
|
import { d as defineCustomElement$4 } from './salla-progress-bar2.js';
|
|
14
22
|
import { d as defineCustomElement$3 } from './salla-quick-buy2.js';
|
|
15
23
|
import { d as defineCustomElement$2 } from './salla-slider2.js';
|
|
@@ -149,7 +157,7 @@ function defineCustomElement() {
|
|
|
149
157
|
if (typeof customElements === "undefined") {
|
|
150
158
|
return;
|
|
151
159
|
}
|
|
152
|
-
const components = ["salla-products-slider", "salla-add-product-button", "salla-button", "salla-count-down", "salla-loading", "salla-modal", "salla-product-availability", "salla-product-card", "salla-progress-bar", "salla-quick-buy", "salla-slider", "salla-tel-input"];
|
|
160
|
+
const components = ["salla-products-slider", "salla-add-product-button", "salla-booking-field", "salla-button", "salla-color-picker", "salla-conditional-fields", "salla-count-down", "salla-datetime-picker", "salla-file-upload", "salla-loading", "salla-map", "salla-modal", "salla-order-options-modal", "salla-product-availability", "salla-product-card", "salla-product-options", "salla-progress-bar", "salla-quick-buy", "salla-slider", "salla-tel-input"];
|
|
153
161
|
components.forEach(tagName => { switch (tagName) {
|
|
154
162
|
case "salla-products-slider":
|
|
155
163
|
if (!customElements.get(tagName)) {
|
|
@@ -158,35 +166,75 @@ function defineCustomElement() {
|
|
|
158
166
|
break;
|
|
159
167
|
case "salla-add-product-button":
|
|
160
168
|
if (!customElements.get(tagName)) {
|
|
161
|
-
defineCustomElement$
|
|
169
|
+
defineCustomElement$j();
|
|
170
|
+
}
|
|
171
|
+
break;
|
|
172
|
+
case "salla-booking-field":
|
|
173
|
+
if (!customElements.get(tagName)) {
|
|
174
|
+
defineCustomElement$i();
|
|
162
175
|
}
|
|
163
176
|
break;
|
|
164
177
|
case "salla-button":
|
|
165
178
|
if (!customElements.get(tagName)) {
|
|
166
|
-
defineCustomElement$
|
|
179
|
+
defineCustomElement$h();
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
case "salla-color-picker":
|
|
183
|
+
if (!customElements.get(tagName)) {
|
|
184
|
+
defineCustomElement$g();
|
|
185
|
+
}
|
|
186
|
+
break;
|
|
187
|
+
case "salla-conditional-fields":
|
|
188
|
+
if (!customElements.get(tagName)) {
|
|
189
|
+
defineCustomElement$f();
|
|
167
190
|
}
|
|
168
191
|
break;
|
|
169
192
|
case "salla-count-down":
|
|
170
193
|
if (!customElements.get(tagName)) {
|
|
171
|
-
defineCustomElement$
|
|
194
|
+
defineCustomElement$e();
|
|
195
|
+
}
|
|
196
|
+
break;
|
|
197
|
+
case "salla-datetime-picker":
|
|
198
|
+
if (!customElements.get(tagName)) {
|
|
199
|
+
defineCustomElement$d();
|
|
200
|
+
}
|
|
201
|
+
break;
|
|
202
|
+
case "salla-file-upload":
|
|
203
|
+
if (!customElements.get(tagName)) {
|
|
204
|
+
defineCustomElement$c();
|
|
172
205
|
}
|
|
173
206
|
break;
|
|
174
207
|
case "salla-loading":
|
|
175
208
|
if (!customElements.get(tagName)) {
|
|
176
|
-
defineCustomElement$
|
|
209
|
+
defineCustomElement$b();
|
|
210
|
+
}
|
|
211
|
+
break;
|
|
212
|
+
case "salla-map":
|
|
213
|
+
if (!customElements.get(tagName)) {
|
|
214
|
+
defineCustomElement$a();
|
|
177
215
|
}
|
|
178
216
|
break;
|
|
179
217
|
case "salla-modal":
|
|
180
218
|
if (!customElements.get(tagName)) {
|
|
181
|
-
defineCustomElement$
|
|
219
|
+
defineCustomElement$9();
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
case "salla-order-options-modal":
|
|
223
|
+
if (!customElements.get(tagName)) {
|
|
224
|
+
defineCustomElement$8();
|
|
182
225
|
}
|
|
183
226
|
break;
|
|
184
227
|
case "salla-product-availability":
|
|
185
228
|
if (!customElements.get(tagName)) {
|
|
186
|
-
defineCustomElement$
|
|
229
|
+
defineCustomElement$7();
|
|
187
230
|
}
|
|
188
231
|
break;
|
|
189
232
|
case "salla-product-card":
|
|
233
|
+
if (!customElements.get(tagName)) {
|
|
234
|
+
defineCustomElement$6();
|
|
235
|
+
}
|
|
236
|
+
break;
|
|
237
|
+
case "salla-product-options":
|
|
190
238
|
if (!customElements.get(tagName)) {
|
|
191
239
|
defineCustomElement$5();
|
|
192
240
|
}
|