@salla.sa/twilight-components 2.14.402 → 2.14.403
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/calendar-D-PUoCDH.js +13 -0
- package/dist/cjs/{cancel-De6vslRA.js → cancel-B5SbMYEk.js} +2 -2
- package/dist/cjs/cart2-B98PSAFN.js +13 -0
- package/dist/cjs/{check-x3w3-gpj.js → check-BnVBPQNp.js} +2 -2
- package/dist/cjs/{filepond-PWJcd3M3.js → filepond-CHgj_x6Q.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-Bt4qeA2f.js → filepond-plugin-file-poster-BM8akyHG.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-C-9PDDsS.js → filepond-plugin-file-validate-size-COf4Mbms.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-tA2SP9JO.js → filepond-plugin-file-validate-type-Mc6-vU_9.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-jcfxLe8v.js → filepond-plugin-image-edit-Cegsph-w.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-DVDjcytZ.js → filepond-plugin-image-exif-orientation-Ca7MqBpy.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-CenIamTW.js → filepond-plugin-image-preview-C58SPQ5e.js} +1 -1
- package/dist/cjs/functions-DyPV5TVV.js +74 -0
- package/dist/{esm/gift-BChI23pG.js → cjs/gift-DbNivqYO.js} +4 -2
- package/dist/cjs/gift-sharing-BE0uszUm.js +13 -0
- package/dist/cjs/{index-ZlRhYmjA.js → index-DagepTOF.js} +1 -1
- package/dist/cjs/{index-Cuq57q32.js → index-DdhkQnYm.js} +61 -26
- package/dist/cjs/iphone-x-qC21wCLj.js +13 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mail-CO8cFZH7.js → mail-Bgvt2hc9.js} +2 -2
- package/dist/cjs/percentage-Fs83gq6Q.js +21 -0
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +5 -5
- package/dist/cjs/salla-add-product-button_4.cjs.entry.js +5 -5
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +3 -3
- 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 +95 -0
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +20 -26
- package/dist/cjs/salla-bullet-delivery.cjs.entry.js +2 -2
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +2 -2
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +11 -11
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
- 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 +65 -0
- 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 +7 -13
- 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 +69 -0
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +239 -0
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +103 -0
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +108 -64
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +54 -0
- package/dist/cjs/salla-loyalty.cjs.entry.js +3 -3
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +3 -3
- package/dist/cjs/salla-map.cjs.entry.js +4 -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-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 +5 -16
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
- package/dist/cjs/salla-order-edit-item.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 +4 -4
- 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.cjs.entry.js → salla-product-card_2.cjs.entry.js} +120 -6
- 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-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +6 -12
- package/dist/cjs/salla-rating-modal.cjs.entry.js +3 -3
- package/dist/cjs/salla-reward-action_4.cjs.entry.js +243 -0
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/shipping-CPYcgyCL.js +13 -0
- package/dist/cjs/tag-D-PcUR33.js +12 -0
- package/dist/cjs/tracked-promise-6pAeDi6L.js +31 -0
- package/dist/cjs/translations-DMwpLvqi.js +294 -0
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/user-add-BCGrddZS.js +13 -0
- package/dist/cjs/{vanilla-picker-C8OtoDdM.js → vanilla-picker-BMBx7QVh.js} +1 -1
- package/dist/collection/assets/images/prize-image.svg +1 -0
- package/dist/collection/collection-manifest.json +11 -0
- package/dist/collection/components/salla-badge/salla-badge.css +0 -0
- package/dist/collection/components/salla-badge/salla-badge.js +117 -0
- 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-bullet-delivery/salla-bullet-delivery.js +1 -1
- 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-comments/salla-comment-item.js +3 -3
- 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-edit-order-button/salla-edit-order-button.css +3 -0
- package/dist/collection/components/salla-edit-order-button/salla-edit-order-button.js +99 -0
- 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-program/functions.js +53 -0
- package/dist/collection/components/salla-loyalty-program/interfaces.js +8 -1
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-banner.js +69 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +87 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-panel.js +171 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +219 -0
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-program.js +104 -65
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +166 -0
- package/dist/collection/components/salla-loyalty-program/salla-reward-action.js +93 -0
- package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +92 -0
- package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +206 -0
- package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +109 -0
- package/dist/collection/components/salla-loyalty-program/translations.js +290 -0
- 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-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-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 +1 -1
- 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-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/components/calendar.js +11 -0
- package/dist/components/cart2.js +11 -0
- package/dist/components/functions.js +68 -0
- package/dist/components/gift-sharing.js +11 -0
- package/dist/components/index.js +2 -2
- package/dist/components/iphone-x.js +11 -0
- package/dist/components/percentage.js +18 -0
- package/dist/components/salla-badge.d.ts +11 -0
- package/dist/components/salla-badge.js +9 -0
- package/dist/components/salla-badge2.js +112 -0
- package/dist/components/salla-booking-field2.js +3 -9
- package/dist/components/salla-bottom-alert.js +2 -2
- package/dist/components/salla-bullet-delivery.js +1 -1
- 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-comment-item2.js +3 -3
- 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 +1 -1
- package/dist/components/salla-edit-order-button.d.ts +11 -0
- package/dist/components/salla-edit-order-button.js +99 -0
- 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 +4 -10
- 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-banner.d.ts +11 -0
- package/dist/components/salla-loyalty-banner.js +103 -0
- package/dist/components/salla-loyalty-hero.d.ts +11 -0
- package/dist/components/salla-loyalty-hero.js +9 -0
- package/dist/components/salla-loyalty-hero2.js +43 -0
- package/dist/components/salla-loyalty-panel.d.ts +11 -0
- package/dist/components/salla-loyalty-panel.js +250 -0
- package/dist/components/salla-loyalty-point.d.ts +11 -0
- package/dist/components/salla-loyalty-point.js +9 -0
- package/dist/components/salla-loyalty-point2.js +259 -0
- package/dist/components/salla-loyalty-prize-item.js +1 -1
- package/dist/components/salla-loyalty-program.js +233 -70
- package/dist/components/salla-loyalty-reward.d.ts +11 -0
- package/dist/components/salla-loyalty-reward.js +80 -0
- package/dist/components/salla-maintenance-alert.js +1 -1
- package/dist/components/salla-map2.js +3 -3
- 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 +3 -14
- package/dist/components/salla-order-details.js +1 -1
- 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-card2.js +5 -5
- package/dist/components/salla-product-size-guide.js +2 -2
- package/dist/components/salla-quantity-input2.js +1 -1
- package/dist/components/salla-quick-buy2.js +1 -1
- package/dist/components/salla-quick-order.js +1 -7
- 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-action.d.ts +11 -0
- package/dist/components/salla-reward-action.js +9 -0
- package/dist/components/salla-reward-action2.js +56 -0
- package/dist/components/salla-reward-card.d.ts +11 -0
- package/dist/components/salla-reward-card.js +9 -0
- package/dist/components/salla-reward-card2.js +44 -0
- package/dist/components/salla-reward-details.d.ts +11 -0
- package/dist/components/salla-reward-details.js +9 -0
- package/dist/components/salla-reward-details2.js +266 -0
- package/dist/components/salla-reward-exchange.d.ts +11 -0
- package/dist/components/salla-reward-exchange.js +9 -0
- package/dist/components/salla-reward-exchange2.js +81 -0
- package/dist/components/salla-scopes.js +1 -1
- package/dist/components/salla-search.js +5 -5
- package/dist/components/salla-skeleton2.js +1 -1
- package/dist/components/salla-social-share.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 +1 -1
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/shipping.js +11 -0
- package/dist/components/tag.js +10 -0
- package/dist/components/tracked-promise.js +29 -0
- package/dist/components/translations.js +292 -0
- package/dist/esm/calendar-BkmanTR_.js +11 -0
- package/dist/esm/{cancel-BsLF_HK7.js → cancel-8Tsmrwno.js} +2 -2
- package/dist/esm/cart2-D1s2kXqL.js +11 -0
- package/dist/esm/{check-BsXh13x8.js → check-BZp0rKEO.js} +2 -2
- package/dist/esm/{filepond-kua7JWt0.js → filepond-DSnpVe64.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-D9ZjwPcg.js → filepond-plugin-file-poster-CIjT2DkD.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-BVMhUXTI.js → filepond-plugin-file-validate-size-DfnQ9yTM.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-CkwmRCJd.js → filepond-plugin-file-validate-type-BFqVzf03.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-YEt9I2Ff.js → filepond-plugin-image-edit-CFSURdY1.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-B5Q7AlDn.js → filepond-plugin-image-exif-orientation-Df4vxbTN.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-B3J-p8BK.js → filepond-plugin-image-preview-BP5v9jJo.js} +1 -1
- package/dist/esm/functions-B0QFNVX_.js +68 -0
- package/dist/{cjs/gift-CJ-3Yw_x.js → esm/gift-CXRKXFgT.js} +2 -4
- package/dist/esm/gift-sharing-0-eTJXSD.js +11 -0
- package/dist/esm/{index-BYCfehfD.js → index-Noi8jmqR.js} +61 -27
- package/dist/esm/{index-Qfjn4tFb.js → index-dal1uM4i.js} +1 -1
- package/dist/esm/iphone-x-CciN5Q_x.js +11 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{mail-DmgxDvXL.js → mail-DLNIOD9t.js} +2 -2
- package/dist/esm/percentage-Bs6JxDkg.js +18 -0
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +5 -5
- package/dist/esm/salla-add-product-button_4.entry.js +5 -5
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +3 -3
- 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 +93 -0
- package/dist/esm/salla-booking-field_7.entry.js +20 -26
- package/dist/esm/salla-bullet-delivery.entry.js +2 -2
- package/dist/esm/salla-cart-coupons.entry.js +2 -2
- package/dist/esm/salla-cart-item-offers_2.entry.js +4 -4
- package/dist/esm/salla-comment-form_8.entry.js +11 -11
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +3 -3
- 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 +63 -0
- 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 +7 -13
- 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 +67 -0
- package/dist/esm/salla-loyalty-hero_2.entry.js +236 -0
- package/dist/esm/salla-loyalty-panel.entry.js +101 -0
- package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
- package/dist/esm/salla-loyalty-program.entry.js +108 -64
- package/dist/esm/salla-loyalty-reward.entry.js +52 -0
- package/dist/esm/salla-loyalty.entry.js +3 -3
- package/dist/esm/salla-maintenance-alert.entry.js +3 -3
- package/dist/esm/salla-map.entry.js +4 -4
- 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-notification-item.entry.js +2 -2
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +5 -16
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +2 -2
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +4 -4
- 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.entry.js → salla-product-card_2.entry.js} +120 -7
- 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-progress-bar.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +6 -12
- package/dist/esm/salla-rating-modal.entry.js +3 -3
- package/dist/esm/salla-reward-action_4.entry.js +238 -0
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/shipping-CZRcMGA9.js +11 -0
- package/dist/esm/tag-cgSL_BIo.js +10 -0
- package/dist/esm/tracked-promise-CjeRn_A-.js +29 -0
- package/dist/esm/translations-B-Rj6b9M.js +292 -0
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/user-add-QpH8MU22.js +11 -0
- package/dist/esm/{vanilla-picker-B4glVCCp.js → vanilla-picker-DRn4hnB9.js} +1 -1
- package/dist/twilight/p-0-eTJXSD.js +4 -0
- package/dist/twilight/{p-5fe6bb62.entry.js → p-024459e9.entry.js} +1 -1
- package/dist/twilight/{p-2edec63c.entry.js → p-04d8a7e5.entry.js} +1 -1
- package/dist/twilight/p-0a91929a.entry.js +4 -0
- package/dist/twilight/{p-24b86104.entry.js → p-0ad91621.entry.js} +1 -1
- package/dist/twilight/{p-1819894b.entry.js → p-0dce57b2.entry.js} +1 -1
- package/dist/twilight/{p-28fba512.entry.js → p-145858ca.entry.js} +1 -1
- package/dist/twilight/p-1613629f.entry.js +4 -0
- package/dist/twilight/{p-ec873193.entry.js → p-1762cd5c.entry.js} +1 -1
- package/dist/twilight/p-246bb9c3.entry.js +4 -0
- package/dist/twilight/{p-97aad44a.entry.js → p-2502deb6.entry.js} +1 -1
- package/dist/twilight/{p-3df24aaf.entry.js → p-256bd7e3.entry.js} +1 -1
- package/dist/twilight/{p-65928570.entry.js → p-2f27a79c.entry.js} +1 -1
- package/dist/twilight/{p-64fe6c2f.entry.js → p-301bdc8d.entry.js} +1 -1
- package/dist/twilight/{p-5871fc28.entry.js → p-3317da8e.entry.js} +1 -1
- package/dist/twilight/{p-15d44ede.entry.js → p-36e2d55f.entry.js} +1 -1
- package/dist/twilight/{p-2a19f553.entry.js → p-394e59f9.entry.js} +1 -1
- package/dist/twilight/{p-e5ccdc1d.entry.js → p-39595f4a.entry.js} +1 -1
- package/dist/twilight/{p-09fcfe8f.entry.js → p-3f6e4760.entry.js} +1 -1
- package/dist/twilight/{p-156660b7.entry.js → p-40936925.entry.js} +1 -1
- package/dist/twilight/{p-887c9a29.entry.js → p-40ac70b9.entry.js} +1 -1
- package/dist/twilight/{p-5ca700cd.entry.js → p-425ca86a.entry.js} +1 -1
- package/dist/twilight/p-426919ba.entry.js +4 -0
- package/dist/twilight/p-46e0817d.entry.js +4 -0
- package/dist/twilight/{p-4797dab5.entry.js → p-4886611c.entry.js} +1 -1
- package/dist/twilight/p-4bacc97f.entry.js +4 -0
- package/dist/twilight/{p-90045f50.entry.js → p-503a7446.entry.js} +1 -1
- package/dist/twilight/{p-ba128435.entry.js → p-55585695.entry.js} +1 -1
- package/dist/twilight/{p-60aa25f0.entry.js → p-56b2316e.entry.js} +1 -1
- package/dist/twilight/p-57fc6135.entry.js +4 -0
- package/dist/twilight/p-589db188.entry.js +4 -0
- package/dist/twilight/{p-62b949f1.entry.js → p-594a2cfc.entry.js} +1 -1
- package/dist/twilight/p-5b134612.entry.js +4 -0
- package/dist/twilight/{p-cd9f175a.entry.js → p-5d101927.entry.js} +1 -1
- package/dist/twilight/{p-b80c87f3.entry.js → p-5f05afcf.entry.js} +1 -1
- package/dist/twilight/{p-ee14a23d.entry.js → p-6b402aa3.entry.js} +1 -1
- package/dist/twilight/{p-3ed67200.entry.js → p-6ec4bce3.entry.js} +1 -1
- package/dist/twilight/{p-2f060d69.entry.js → p-779aaac4.entry.js} +1 -1
- package/dist/twilight/p-78a7f098.entry.js +4 -0
- package/dist/twilight/{p-140f5001.entry.js → p-78cc7185.entry.js} +1 -1
- package/dist/twilight/{p-f8183098.entry.js → p-79db938f.entry.js} +1 -1
- package/dist/twilight/{p-955aab42.entry.js → p-7cff302c.entry.js} +1 -1
- package/dist/twilight/{p-f8527980.entry.js → p-7f1e3e62.entry.js} +1 -1
- package/dist/twilight/{p-8d9b1865.entry.js → p-82785312.entry.js} +1 -1
- package/dist/twilight/{p-af6a34af.entry.js → p-83d63cf3.entry.js} +1 -1
- package/dist/twilight/{p-e23cc9c1.entry.js → p-8740d9b0.entry.js} +1 -1
- package/dist/twilight/{p-BsLF_HK7.js → p-8Tsmrwno.js} +1 -1
- package/dist/twilight/{p-72487957.entry.js → p-8bef56d7.entry.js} +1 -1
- package/dist/twilight/{p-d93e90fb.entry.js → p-8c95bcba.entry.js} +1 -1
- package/dist/twilight/{p-0cfd333a.entry.js → p-91005fdc.entry.js} +1 -1
- package/dist/twilight/{p-67f20b74.entry.js → p-96e09525.entry.js} +1 -1
- package/dist/twilight/{p-6cf0e5f0.entry.js → p-9a1dbe0b.entry.js} +1 -1
- package/dist/twilight/p-9ab9e4fe.entry.js +4 -0
- package/dist/twilight/{p-f4c6434f.entry.js → p-9ff6dbba.entry.js} +1 -1
- package/dist/twilight/p-B-Rj6b9M.js +4 -0
- package/dist/twilight/{p-D2bKqo2L.js → p-BCRhp4ZP.js} +1 -1
- package/dist/twilight/{p-DPak7cFa.js → p-BOikoFVU.js} +1 -1
- package/dist/twilight/{p-Wts3eSQu.js → p-BVmlhqyN.js} +1 -1
- package/dist/twilight/p-BX5898Au.js +4 -0
- package/dist/twilight/{p-BsXh13x8.js → p-BZp0rKEO.js} +1 -1
- package/dist/twilight/{p-DtXQ785R.js → p-Bdj8c3JN.js} +1 -1
- package/dist/twilight/p-BkmanTR_.js +4 -0
- package/dist/twilight/{p-a8mIwFp8.js → p-BlpVxOSF.js} +1 -1
- package/dist/twilight/p-Bs6JxDkg.js +4 -0
- package/dist/twilight/{p-BChI23pG.js → p-CXRKXFgT.js} +1 -1
- package/dist/twilight/p-CZRcMGA9.js +4 -0
- package/dist/twilight/p-CciN5Q_x.js +4 -0
- package/dist/twilight/p-D1s2kXqL.js +4 -0
- package/dist/twilight/{p-C45ROGL4.js → p-DIVFpxqq.js} +1 -1
- package/dist/twilight/{p-DmgxDvXL.js → p-DLNIOD9t.js} +1 -1
- package/dist/twilight/{p-Dx9FGzIq.js → p-D_bFmrB0.js} +1 -1
- package/dist/twilight/{p-CVG84YNJ.js → p-DbwYqKTo.js} +1 -1
- package/dist/twilight/p-DnvK1zqm.js +4 -0
- package/dist/twilight/{p-BYCfehfD.js → p-Noi8jmqR.js} +2 -2
- package/dist/twilight/p-QpH8MU22.js +4 -0
- package/dist/twilight/p-a139776f.entry.js +4 -0
- package/dist/twilight/p-a23e6051.entry.js +4 -0
- package/dist/twilight/p-a34a0037.entry.js +4 -0
- package/dist/twilight/{p-4e941f6a.entry.js → p-b9bc75ad.entry.js} +1 -1
- package/dist/twilight/{p-32a21d3e.entry.js → p-bb02c0fd.entry.js} +1 -1
- package/dist/twilight/{p-d112b260.entry.js → p-c3418320.entry.js} +1 -1
- package/dist/twilight/{p-011ff091.entry.js → p-c5214df3.entry.js} +1 -1
- package/dist/twilight/{p-5381a86d.entry.js → p-cc8b8f84.entry.js} +1 -1
- package/dist/twilight/p-cgSL_BIo.js +4 -0
- package/dist/twilight/p-d4a62692.entry.js +4 -0
- package/dist/twilight/{p-d130f149.entry.js → p-d6d0a9b8.entry.js} +1 -1
- package/dist/twilight/{p-ebb782d3.entry.js → p-d8389555.entry.js} +1 -1
- package/dist/twilight/{p-63778992.entry.js → p-d8d5d1f4.entry.js} +1 -1
- package/dist/twilight/{p-7c78c1a5.entry.js → p-da642a9a.entry.js} +1 -1
- package/dist/twilight/{p-f68e2787.entry.js → p-dce9ced4.entry.js} +1 -1
- package/dist/twilight/{p-f136e41b.entry.js → p-df8e08af.entry.js} +1 -1
- package/dist/twilight/{p-30695c34.entry.js → p-e0619a5d.entry.js} +1 -1
- package/dist/twilight/p-e25aaae6.entry.js +4 -0
- package/dist/twilight/{p-99aa0a59.entry.js → p-e270154b.entry.js} +1 -1
- package/dist/twilight/{p-f4060b10.entry.js → p-e3da6c85.entry.js} +1 -1
- package/dist/twilight/{p-ea0c19be.entry.js → p-e5a47190.entry.js} +1 -1
- package/dist/twilight/{p-6f0a262a.entry.js → p-ec5b3bd6.entry.js} +1 -1
- package/dist/twilight/p-f294b1e5.entry.js +4 -0
- package/dist/twilight/p-f2ed8e2a.entry.js +4 -0
- package/dist/twilight/{p-c5ab5c1b.entry.js → p-f4c1f034.entry.js} +1 -1
- package/dist/twilight/{p-0b265c17.entry.js → p-fbfe1cf4.entry.js} +1 -1
- package/dist/twilight/{p-ac973857.entry.js → p-fe4d55ce.entry.js} +1 -1
- package/dist/twilight/{p-c5a12dde.entry.js → p-feacde76.entry.js} +1 -1
- package/dist/twilight/{p-d9b8aa69.entry.js → p-ff3ae289.entry.js} +1 -1
- package/dist/twilight/{p-164ae46f.entry.js → p-ff47b12d.entry.js} +1 -1
- package/dist/twilight/{p-9XUl8eNt.js → p-iornn-Hi.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-badge/salla-badge.d.ts +15 -0
- package/dist/types/components/salla-edit-order-button/salla-edit-order-button.d.ts +25 -0
- package/dist/types/components/salla-loyalty-program/functions.d.ts +67 -0
- package/dist/types/components/salla-loyalty-program/interfaces.d.ts +125 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-banner.d.ts +20 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-hero.d.ts +15 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-panel.d.ts +45 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-point.d.ts +11 -0
- package/dist/types/components/salla-loyalty-program/salla-loyalty-program.d.ts +25 -8
- package/dist/types/components/salla-loyalty-program/salla-loyalty-reward.d.ts +13 -0
- package/dist/types/components/salla-loyalty-program/salla-reward-action.d.ts +9 -0
- package/dist/types/components/salla-loyalty-program/salla-reward-card.d.ts +17 -0
- package/dist/types/components/salla-loyalty-program/salla-reward-details.d.ts +22 -0
- package/dist/types/components/salla-loyalty-program/salla-reward-exchange.d.ts +11 -0
- package/dist/types/components/salla-loyalty-program/translations.d.ts +1 -0
- package/dist/types/components.d.ts +341 -0
- package/package.json +6 -5
- package/dist/cjs/salla-products-slider.cjs.entry.js +0 -121
- package/dist/esm/salla-products-slider.entry.js +0 -119
- package/dist/twilight/p-078c884b.entry.js +0 -4
- package/dist/twilight/p-336f0f06.entry.js +0 -4
- package/dist/twilight/p-39ad489e.entry.js +0 -4
- package/dist/twilight/p-470433cb.entry.js +0 -4
- package/dist/twilight/p-52192d08.entry.js +0 -4
- package/dist/twilight/p-54c7e570.entry.js +0 -4
- package/dist/twilight/p-a0171740.entry.js +0 -4
- package/dist/twilight/p-c65832b1.entry.js +0 -4
- package/dist/twilight/p-d3a119aa.entry.js +0 -4
- package/dist/twilight/p-d4f3797c.entry.js +0 -4
- package/dist/twilight/p-fa3ceb7c.entry.js +0 -4
- package/dist/twilight/p-fa44f874.entry.js +0 -4
|
@@ -7,7 +7,7 @@ export class SallaLoyaltyPrizeItem {
|
|
|
7
7
|
this.prizeItemSelected.emit(this.item);
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: 'd3b79cbf7e67281d4c42c83084b2d1f0f59fd77d' }, h("div", { key: '11d71896f19eef94434fa8d9d074c98ce3e6de5b', onClick: this.onPrizeItemClick.bind(this) }, h("img", { key: 'c8d254e77a7af0559c5336aca9d7d57593814d0a', class: "s-loyalty-prize-item-image", src: this.item.image, alt: this.item.name }), h("div", { key: '5946e1d5ce94ef8bfcbab95ab2f2e8733145b7f2', class: "s-loyalty-prize-item-title" }, this.item.name), h("div", { key: 'c565935591c84ce475767b8a863323023fabae31', class: "s-loyalty-prize-item-subtitle" }, this.item.description), h("div", { key: '225c7c594cb1942a56a6966ab8289a4dfb7f0d71', class: "s-loyalty-prize-item-points" }, this.item.cost_points, " ", salla.lang.get('pages.loyalty_program.point')))));
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "salla-loyalty-prize-item"; }
|
|
13
13
|
static get originalStyleUrls() {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
import { h } from "@stencil/core";
|
|
5
|
+
export function nearestLowerMultiple(number, multipleOf = window.matchMedia('(min-width: 768px)').matches ? 3 : 2) {
|
|
6
|
+
return number < multipleOf ? number : number - (number % multipleOf);
|
|
7
|
+
}
|
|
8
|
+
export function closeModals(cb = null) {
|
|
9
|
+
for (const element of document.querySelectorAll('salla-modal')) {
|
|
10
|
+
element.close();
|
|
11
|
+
}
|
|
12
|
+
cb && requestAnimationFrame(cb);
|
|
13
|
+
}
|
|
14
|
+
export function normalizeLoyaltyData(data) {
|
|
15
|
+
const groups = (data.prizes || []).map((group) => {
|
|
16
|
+
return {
|
|
17
|
+
...group,
|
|
18
|
+
items: (group.items || []).map((item) => ({ ...item, group_title: group.title, group_type: group.type })),
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
const all = {
|
|
22
|
+
type: 'all',
|
|
23
|
+
title: salla.lang.get('pages.loyalty_program.all'),
|
|
24
|
+
items: groups.reduce((acc, group) => acc.concat(group.items), []),
|
|
25
|
+
};
|
|
26
|
+
groups.unshift(all);
|
|
27
|
+
return {
|
|
28
|
+
...data,
|
|
29
|
+
prizes: groups,
|
|
30
|
+
prizes_count: all.items.length,
|
|
31
|
+
points: data.points ?? [],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function brand_path(brand) {
|
|
35
|
+
return [brand.name.replace(/\s/g, '-'), `brand-${brand.id}`].join('/');
|
|
36
|
+
}
|
|
37
|
+
export function isUnitOrder(point) {
|
|
38
|
+
for (const condition of (point.conditions ?? [])) {
|
|
39
|
+
if (condition.key?.endsWith('_FOR_UNIT')) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
export function formattedPointsJsx(value) {
|
|
46
|
+
if (typeof value === 'number') {
|
|
47
|
+
return h("span", null, value, " ", salla.lang.get('pages.loyalty_program.point'));
|
|
48
|
+
}
|
|
49
|
+
if (isUnitOrder(value)) {
|
|
50
|
+
return h("span", null, "1 ", salla.config.currency().symbol, " = ", value.points, " ", salla.lang.get('pages.loyalty_program.point'));
|
|
51
|
+
}
|
|
52
|
+
return h("span", null, value.points, " ", salla.lang.get('pages.loyalty_program.point'));
|
|
53
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
import { h } from "@stencil/core";
|
|
15
|
+
import { setTranslations } from "./translations";
|
|
16
|
+
import SIGift from "../../assets/svg/gift.svg";
|
|
17
|
+
import { TrackedPromise } from "../../Helpers/tracked-promise";
|
|
18
|
+
export class SallaLoyaltyBanner {
|
|
19
|
+
/**
|
|
20
|
+
* Get product ID from data attribute or fallback to page.id
|
|
21
|
+
*/
|
|
22
|
+
get productId() {
|
|
23
|
+
return this.host.dataset.productId || salla.config.get('page.id');
|
|
24
|
+
}
|
|
25
|
+
componentWillLoad() {
|
|
26
|
+
return salla.onReady()
|
|
27
|
+
.then(() => salla.lang.onLoaded())
|
|
28
|
+
.then(() => setTranslations())
|
|
29
|
+
.then(() => this.prize())
|
|
30
|
+
.catch(error => salla.logger.error(error));
|
|
31
|
+
}
|
|
32
|
+
handleClick() {
|
|
33
|
+
if (salla.config.isGuest()) {
|
|
34
|
+
salla.event.dispatch('login::open');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.exchangeModal.open();
|
|
38
|
+
}
|
|
39
|
+
render() {
|
|
40
|
+
if (this.prize.status !== 'success' || !this.productId) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return (h("div", { class: "s-loyalty-program-banner-container" }, h("div", null, h("p", { class: "s-loyalty-program-banner-container-banner-title" }, salla.lang.get('pages.loyalty_program.want_to_redeem_free_product')), h("p", { class: "s-loyalty-program-banner-container-banner-subtitle" }, salla.lang.get('pages.loyalty_program.exchange_points_for_free_product', { points: this.prize.data.cost_points }))), h("button", { onClick: () => this.handleClick() }, h("span", { innerHTML: SIGift }), h("span", null, salla.lang.get('pages.loyalty_program.exchange_points'))), h("salla-modal", { ref: modal => this.exchangeModal = modal, width: "sm" }, !this.prize.data ? '' : h("salla-reward-exchange", { productId: Number(this.productId), prize: this.prize.data }))));
|
|
44
|
+
}
|
|
45
|
+
static get is() { return "salla-loyalty-banner"; }
|
|
46
|
+
static get originalStyleUrls() {
|
|
47
|
+
return {
|
|
48
|
+
"$": ["salla-loyalty-program.scss"]
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static get styleUrls() {
|
|
52
|
+
return {
|
|
53
|
+
"$": ["salla-loyalty-program.css"]
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
static get elementRef() { return "host"; }
|
|
57
|
+
}
|
|
58
|
+
__decorate([
|
|
59
|
+
TrackedPromise(async function () {
|
|
60
|
+
if (!(salla.config.get('store.features') || []).includes('loyalty-system')) {
|
|
61
|
+
return Promise.reject('Loyalty system is not enabled for merchant');
|
|
62
|
+
}
|
|
63
|
+
const { loyalty_prize } = await salla.product.api.getDetails(this.productId);
|
|
64
|
+
if (!loyalty_prize) {
|
|
65
|
+
return Promise.reject('no loyalty prize for this product');
|
|
66
|
+
}
|
|
67
|
+
return loyalty_prize;
|
|
68
|
+
})
|
|
69
|
+
], SallaLoyaltyBanner.prototype, "prize", void 0);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
import { Host, h } from "@stencil/core";
|
|
5
|
+
export class SallaLoyaltyHero {
|
|
6
|
+
render() {
|
|
7
|
+
return (h(Host, { key: '71421d1a559f9d0b8b9a2023e3015847dd4be7fb' }, h("section", { key: '914ae35d2e038a4f0f358eb3d61352cf263f4c7b', class: "s-loyalty-program-hero-container" }, h("div", { key: '93353d9f4dcc7d41e4c714f93ee84899b799633e', class: "s-loyalty-program-hero-background", style: {
|
|
8
|
+
backgroundImage: `url(${this.image})`,
|
|
9
|
+
} }, this.image ? h("div", { class: "s-loyalty-program-hero-overlay" }) : '', h("div", { key: '6f62cb4aadbb81f91549b60177f15e8791e6aa51', class: {
|
|
10
|
+
's-loyalty-program-hero-content': true,
|
|
11
|
+
's-loyalty-program-hero-white': !!this.image,
|
|
12
|
+
's-loyalty-program-hero-gray': !this.image,
|
|
13
|
+
} }, h("div", { key: '11794269898ee42023cac29e49c17463fe90781b' }, h("h1", { key: '95435290b38fce9dbc6a580d8452e7189074773b', class: "s-loyalty-program-hero-title" }, this.name || h("span", { key: '02fbbae525a5973d65bb98626dbe5712374495c4', style: { color: 'transparent', backgroundColor: '#666', borderRadius: '12px' } }, "name")), h("p", { key: 'e482ab6a067d54b9c274208a43b286e07a8e471c', class: "s-loyalty-program-hero-description" }, this.description || h("span", { key: '2fc2ea5a732e473b2c26d3b885a699b57f7df0c1', style: { color: 'transparent', backgroundColor: '#666', borderRadius: '12px' } }, "description"))), h("slot", { key: 'd548c168c97849abd583b510c7b1d6c4370daa1c', name: "action" }))), h("div", { key: '2423ee04e5e126eabcbfec20ad6c82a8d2593d2a', class: "s-loyalty-program-hero-footer" }, h("div", { key: '25ee4e74c9ea3c0ea420a09858c45b83b454bd40', class: "s-loyalty-program-hero-slot-container" }, h("slot", { key: '11a7147bc142914ccfa08b099826a4a2805100aa', name: "crosspoint" }))))));
|
|
14
|
+
}
|
|
15
|
+
static get is() { return "salla-loyalty-hero"; }
|
|
16
|
+
static get originalStyleUrls() {
|
|
17
|
+
return {
|
|
18
|
+
"$": ["salla-loyalty-program.scss"]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static get styleUrls() {
|
|
22
|
+
return {
|
|
23
|
+
"$": ["salla-loyalty-program.css"]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static get properties() {
|
|
27
|
+
return {
|
|
28
|
+
"image": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"attribute": "image",
|
|
31
|
+
"mutable": false,
|
|
32
|
+
"complexType": {
|
|
33
|
+
"original": "string",
|
|
34
|
+
"resolved": "string",
|
|
35
|
+
"references": {}
|
|
36
|
+
},
|
|
37
|
+
"required": false,
|
|
38
|
+
"optional": false,
|
|
39
|
+
"docs": {
|
|
40
|
+
"tags": [],
|
|
41
|
+
"text": "Optional image to display in the background"
|
|
42
|
+
},
|
|
43
|
+
"getter": false,
|
|
44
|
+
"setter": false,
|
|
45
|
+
"reflect": false
|
|
46
|
+
},
|
|
47
|
+
"name": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"attribute": "name",
|
|
50
|
+
"mutable": false,
|
|
51
|
+
"complexType": {
|
|
52
|
+
"original": "string",
|
|
53
|
+
"resolved": "string",
|
|
54
|
+
"references": {}
|
|
55
|
+
},
|
|
56
|
+
"required": false,
|
|
57
|
+
"optional": false,
|
|
58
|
+
"docs": {
|
|
59
|
+
"tags": [],
|
|
60
|
+
"text": "Name of the program"
|
|
61
|
+
},
|
|
62
|
+
"getter": false,
|
|
63
|
+
"setter": false,
|
|
64
|
+
"reflect": false
|
|
65
|
+
},
|
|
66
|
+
"description": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"attribute": "description",
|
|
69
|
+
"mutable": false,
|
|
70
|
+
"complexType": {
|
|
71
|
+
"original": "string",
|
|
72
|
+
"resolved": "string",
|
|
73
|
+
"references": {}
|
|
74
|
+
},
|
|
75
|
+
"required": false,
|
|
76
|
+
"optional": false,
|
|
77
|
+
"docs": {
|
|
78
|
+
"tags": [],
|
|
79
|
+
"text": "Description of the program"
|
|
80
|
+
},
|
|
81
|
+
"getter": false,
|
|
82
|
+
"setter": false,
|
|
83
|
+
"reflect": false
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
import { h } from "@stencil/core";
|
|
15
|
+
import { setTranslations } from "./translations";
|
|
16
|
+
import { closeModals, normalizeLoyaltyData } from "./functions";
|
|
17
|
+
import Star2 from "../../assets/svg/star2.svg";
|
|
18
|
+
import CancelIcon from "../../assets/svg/cancel.svg";
|
|
19
|
+
import SILayoutGrid from "../../assets/svg/layout-grid.svg";
|
|
20
|
+
import SIShipping from "../../assets/svg/shipping.svg";
|
|
21
|
+
import SIPercentage from "../../assets/svg/percentage.svg";
|
|
22
|
+
import SICart2 from "../../assets/svg/cart2.svg";
|
|
23
|
+
import PrizeImage from "../../assets/images/prize-image.svg";
|
|
24
|
+
import { TrackedPromise } from "../../Helpers/tracked-promise";
|
|
25
|
+
const sicons = {
|
|
26
|
+
all: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SILayoutGrid }),
|
|
27
|
+
free_shipping: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SIShipping }),
|
|
28
|
+
coupon_discount: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SIPercentage }),
|
|
29
|
+
free_product: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SICart2 }),
|
|
30
|
+
};
|
|
31
|
+
export class SallaLoyaltyPanel {
|
|
32
|
+
constructor() {
|
|
33
|
+
/**
|
|
34
|
+
* prize to show in details or exchange modals
|
|
35
|
+
*/
|
|
36
|
+
this.currentPrize = null;
|
|
37
|
+
this.handleExchangeSucceeded = () => window.location.reload();
|
|
38
|
+
this.handleResetSucceeded = () => window.location.reload();
|
|
39
|
+
}
|
|
40
|
+
componentWillLoad() {
|
|
41
|
+
return salla.onReady()
|
|
42
|
+
.then(() => salla.lang.onLoaded())
|
|
43
|
+
.then(() => setTranslations())
|
|
44
|
+
.then(() => {
|
|
45
|
+
salla.event.on('loyalty::exchange.succeeded', this.handleExchangeSucceeded);
|
|
46
|
+
salla.event.on('loyalty::exchange-reset.succeeded', this.handleResetSucceeded);
|
|
47
|
+
// Fetch points if user is logged in
|
|
48
|
+
if (!salla.config.isGuest()) {
|
|
49
|
+
this.points();
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
.catch((error) => salla.logger.error(error));
|
|
53
|
+
}
|
|
54
|
+
disconnectedCallback() {
|
|
55
|
+
salla.event.off('loyalty::exchange.succeeded', this.handleExchangeSucceeded);
|
|
56
|
+
salla.event.off('loyalty::exchange-reset.succeeded', this.handleResetSucceeded);
|
|
57
|
+
}
|
|
58
|
+
render() {
|
|
59
|
+
const prizesGroups = this.program.data.prizes;
|
|
60
|
+
const prizesCount = this.program.data.prizes_count;
|
|
61
|
+
const isLoadingPoints = this.points.status === 'pending' && this.points.data === null && !this.customerPoints;
|
|
62
|
+
const customerPoints = isLoadingPoints ? '---' : (this.points.data ?? this.customerPoints ?? 0);
|
|
63
|
+
if (this.prizeTitle && this.prizePoints) {
|
|
64
|
+
return (h("div", { class: "s-loyalty-program-panel-exchange-wrapper" }, h("salla-list-tile", { class: "s-loyalty-program-after-exchange" }, h("div", { slot: "title", class: "s-loyalty-program-after-exchange-title" }, this.prizeTitle, " \u00A0 - \u00A0 ", this.prizePoints, " ", salla.lang.get('pages.loyalty_program.point')), h("div", { slot: "action", class: "s-loyalty-program-after-exchange-action" }, h("salla-button", { class: "s-loyalty-program-after-exchange-reset", shape: "icon", fill: 'outline', color: "danger", size: "small", onClick: () => salla.loyalty.reset() }, h("span", { innerHTML: CancelIcon }))))));
|
|
65
|
+
}
|
|
66
|
+
return (h("div", { class: "" }, h("div", { class: "s-loyalty-program-panel-exchange-wrapper" }, h("salla-list-tile", { class: 's-loyalty-program-panel-widget' }, h("div", { slot: "icon", class: "s-loyalty-program-panel-widget-icon", innerHTML: Star2 }), h("div", { slot: "subtitle" }, salla.lang.get('pages.loyalty_program.cart_total_point_summary', { "balance": customerPoints }), h("salla-button", { shape: "link", color: "primary", onClick: () => {
|
|
67
|
+
if (['error', 'idle'].includes(this.program.status)) {
|
|
68
|
+
this.program();
|
|
69
|
+
}
|
|
70
|
+
this.rewardsModal.open();
|
|
71
|
+
} }, customerPoints !== '---' && customerPoints ? salla.lang.get('pages.loyalty_program.cart_point_exchange_now') : salla.lang.get('blocks.header.login'))))), h("salla-modal", { id: "loyalty-rewards-modal", isLoading: this.program.status === 'pending', ref: modal => this.rewardsModal = modal, class: "s-loyalty-program-rewards-cart s-loyalty-program-modal", width: "lg", noPadding: true }, h("div", { slot: "loading" }, h("salla-loading", null)), this.program.status === 'success' ? h("div", { class: "s-loyalty-program-rewards-container-cart" }, h("div", { class: "s-loyalty-program-rewards-cart-header" }, h("div", { innerHTML: PrizeImage }), h("div", { class: "s-loyalty-program-panel-content" }, h("h1", null, this.program.data.prize_promotion_title), h("p", null, this.program.data.prize_promotion_description))), h("div", { class: {
|
|
72
|
+
's-loyalty-program-slider-arrows': true,
|
|
73
|
+
's-loyalty-program-tabs-hider': prizesGroups.length < 2 || prizesCount < 2,
|
|
74
|
+
} }, h("salla-tabs", null, prizesGroups.map((group) => (h("salla-tab-header", { slot: "header", name: group.type }, sicons[group.type], h("span", null, group.title)))), prizesGroups.map((group) => (h("salla-tab-content", { slot: "content", name: group.type }, h("salla-slider", { id: group.type, type: "default", "slider-config": '{"loop":false,"slidesPerView":"auto","freeMode":true,"spaceBetween":12,"breakpoints":{"768":{"slidesPerView":3,"spaceBetween":24,"freeMode":false,"speed":300}}}' }, h("div", { slot: "items" }, group.items.map((prize) => h("salla-reward-card", { prize: prize, onAreaClick: () => {
|
|
75
|
+
this.currentPrize = prize;
|
|
76
|
+
closeModals(() => this.detailsModal.open());
|
|
77
|
+
}, onActionClick: () => {
|
|
78
|
+
this.currentPrize = prize;
|
|
79
|
+
closeModals(() => this.detailsModal.open());
|
|
80
|
+
} })))))))))) : ''), h("salla-modal", { ref: modal => this.detailsModal = modal, class: "s-loyalty-program-modal", width: "md", noPadding: true }, !this.currentPrize ? '' : h("salla-reward-details", { onActionClick: () => closeModals(() => this.exchangeModal.open()), prize: this.currentPrize })), h("salla-modal", { ref: modal => this.exchangeModal = modal, class: "s-loyalty-program-modal", width: "sm" }, !this.currentPrize ? '' : h("salla-reward-exchange", { prize: this.currentPrize }))));
|
|
81
|
+
}
|
|
82
|
+
static get is() { return "salla-loyalty-panel"; }
|
|
83
|
+
static get originalStyleUrls() {
|
|
84
|
+
return {
|
|
85
|
+
"$": ["salla-loyalty-program.scss"]
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
static get styleUrls() {
|
|
89
|
+
return {
|
|
90
|
+
"$": ["salla-loyalty-program.css"]
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
static get properties() {
|
|
94
|
+
return {
|
|
95
|
+
"prizePoints": {
|
|
96
|
+
"type": "any",
|
|
97
|
+
"attribute": "prize-points",
|
|
98
|
+
"mutable": true,
|
|
99
|
+
"complexType": {
|
|
100
|
+
"original": "string | number",
|
|
101
|
+
"resolved": "number | string",
|
|
102
|
+
"references": {}
|
|
103
|
+
},
|
|
104
|
+
"required": false,
|
|
105
|
+
"optional": false,
|
|
106
|
+
"docs": {
|
|
107
|
+
"tags": [],
|
|
108
|
+
"text": "The exchanged prize point"
|
|
109
|
+
},
|
|
110
|
+
"getter": false,
|
|
111
|
+
"setter": false,
|
|
112
|
+
"reflect": true
|
|
113
|
+
},
|
|
114
|
+
"customerPoints": {
|
|
115
|
+
"type": "number",
|
|
116
|
+
"attribute": "customer-points",
|
|
117
|
+
"mutable": true,
|
|
118
|
+
"complexType": {
|
|
119
|
+
"original": "number",
|
|
120
|
+
"resolved": "number",
|
|
121
|
+
"references": {}
|
|
122
|
+
},
|
|
123
|
+
"required": false,
|
|
124
|
+
"optional": false,
|
|
125
|
+
"docs": {
|
|
126
|
+
"tags": [],
|
|
127
|
+
"text": "Available customer points with which they can exchange."
|
|
128
|
+
},
|
|
129
|
+
"getter": false,
|
|
130
|
+
"setter": false,
|
|
131
|
+
"reflect": true
|
|
132
|
+
},
|
|
133
|
+
"prizeTitle": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"attribute": "prize-title",
|
|
136
|
+
"mutable": true,
|
|
137
|
+
"complexType": {
|
|
138
|
+
"original": "string",
|
|
139
|
+
"resolved": "string",
|
|
140
|
+
"references": {}
|
|
141
|
+
},
|
|
142
|
+
"required": false,
|
|
143
|
+
"optional": false,
|
|
144
|
+
"docs": {
|
|
145
|
+
"tags": [],
|
|
146
|
+
"text": "The prize title"
|
|
147
|
+
},
|
|
148
|
+
"getter": false,
|
|
149
|
+
"setter": false,
|
|
150
|
+
"reflect": true
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
static get states() {
|
|
155
|
+
return {
|
|
156
|
+
"currentPrize": {}
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
__decorate([
|
|
161
|
+
TrackedPromise(async () => {
|
|
162
|
+
const { data } = await salla.loyalty.getProgram();
|
|
163
|
+
return normalizeLoyaltyData(data);
|
|
164
|
+
}, { initialData: { prizes: [], prizes_count: 0 } })
|
|
165
|
+
], SallaLoyaltyPanel.prototype, "program", void 0);
|
|
166
|
+
__decorate([
|
|
167
|
+
TrackedPromise(async () => {
|
|
168
|
+
const { data } = await salla.loyalty.getPoints();
|
|
169
|
+
return data.points;
|
|
170
|
+
}, { initialData: null })
|
|
171
|
+
], SallaLoyaltyPanel.prototype, "points", void 0);
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
import { h } from "@stencil/core";
|
|
5
|
+
import { closeModals, formattedPointsJsx } from "./functions";
|
|
6
|
+
import SIGift from "../../assets/svg/gift.svg";
|
|
7
|
+
import SICart2 from "../../assets/svg/cart2.svg";
|
|
8
|
+
import SIStore from "../../assets/svg/store.svg";
|
|
9
|
+
import SIUserAdd from "../../assets/svg/user-add.svg";
|
|
10
|
+
import SIChatConversationAlt from "../../assets/svg/chat-conversation-alt.svg";
|
|
11
|
+
import SILink1 from "../../assets/svg/link1.svg";
|
|
12
|
+
import SIUser from "../../assets/svg/user.svg";
|
|
13
|
+
import SIMail from "../../assets/svg/mail.svg";
|
|
14
|
+
import SICalendar from "../../assets/svg/calendar.svg";
|
|
15
|
+
import SIiPhoneX from "../../assets/svg/iphone-x.svg";
|
|
16
|
+
import SILocation from "../../assets/svg/location.svg";
|
|
17
|
+
import SIMapLocation from "../../assets/svg/map-location.svg";
|
|
18
|
+
import SIShipping from "../../assets/svg/shipping.svg";
|
|
19
|
+
/**
|
|
20
|
+
* Dashboard sicons:
|
|
21
|
+
* share - sicon-share-alt
|
|
22
|
+
* order from store - sicon-shopping-basket
|
|
23
|
+
* rate order - sicon-chat-conversation-alt
|
|
24
|
+
* order from app - sicon-iphone-x
|
|
25
|
+
* first order - sicon-add-to-cart
|
|
26
|
+
* pos - sicon-store
|
|
27
|
+
* fill profile - sicon-user-add
|
|
28
|
+
*/
|
|
29
|
+
const sicons = {
|
|
30
|
+
'FIRST_ORDER_STORE_FOR_UNIT': h("span", { innerHTML: SICart2 }),
|
|
31
|
+
'FIRST_ORDER_STORE_FIX_AMOUNT': h("span", { innerHTML: SICart2 }),
|
|
32
|
+
'ORDER_FROM_APP_FOR_UNIT': h("span", { innerHTML: SICart2 }),
|
|
33
|
+
'ORDER_FROM_APP_FIX_AMOUNT': h("span", { innerHTML: SICart2 }),
|
|
34
|
+
'CONDITION_RATING_SHIPPING_STORE': h("span", { innerHTML: SIStore }),
|
|
35
|
+
'CONDITION_RATING_PRODUCT': h("span", { innerHTML: SIChatConversationAlt }),
|
|
36
|
+
'CONDITION_RATING_SHIPPING_COMPANY': h("span", { innerHTML: SIShipping }),
|
|
37
|
+
'CONDITION_COMPLETE_PERSONAL_INFORMATION_BIRTHDAY': h("span", { innerHTML: SICalendar }),
|
|
38
|
+
'CONDITION_COMPLETE_PERSONAL_INFORMATION_EMAIL': h("span", { innerHTML: SIMail }),
|
|
39
|
+
'CONDITION_COMPLETE_PERSONAL_INFORMATION_MOBILE': h("span", { innerHTML: SIiPhoneX }),
|
|
40
|
+
'CONDITION_COMPLETE_PERSONAL_INFORMATION_GENDER': h("span", { innerHTML: SIUser }),
|
|
41
|
+
'CONDITION_BUY_FROM_STORE_FOR_UNIT': h("span", { innerHTML: SICart2 }),
|
|
42
|
+
'CONDITION_BUY_FROM_STORE_FIX_AMOUNT': h("span", { innerHTML: SICart2 }),
|
|
43
|
+
'order_from_pos_1': h("span", { innerHTML: SIiPhoneX }),
|
|
44
|
+
'order_from_pos_2': h("span", { innerHTML: SILocation }),
|
|
45
|
+
'buy_from_pos_1': h("span", { innerHTML: SIMapLocation }),
|
|
46
|
+
'buy_from_pos_2': h("span", { innerHTML: SIiPhoneX }),
|
|
47
|
+
'CONDITION_BUY_FROM_POS_FOR_UNIT': h("span", { innerHTML: SIiPhoneX }),
|
|
48
|
+
'CONDITION_BUY_FROM_POS_FIX_AMOUNT': h("span", { innerHTML: SIiPhoneX }),
|
|
49
|
+
'affiliate_link_1': h("span", { innerHTML: SILink1 }),
|
|
50
|
+
'affiliate_link_2': h("span", { innerHTML: SIUserAdd }),
|
|
51
|
+
'affiliate_link_3': h("span", { innerHTML: SICart2 }),
|
|
52
|
+
'CONDITION_AFFILIATE_LINK': h("span", { innerHTML: SILink1 }),
|
|
53
|
+
};
|
|
54
|
+
export class SallaLoyaltyPoint {
|
|
55
|
+
async handleShareAction(e, point, successText) {
|
|
56
|
+
const isDesktop = window.matchMedia('(min-width: 1024px)').matches;
|
|
57
|
+
// only on mobile/tablet devices
|
|
58
|
+
if ('share' in navigator && !isDesktop) {
|
|
59
|
+
try {
|
|
60
|
+
await navigator.share({
|
|
61
|
+
title: document.title,
|
|
62
|
+
url: point.url,
|
|
63
|
+
});
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
catch (error) { }
|
|
67
|
+
}
|
|
68
|
+
const el = e.target;
|
|
69
|
+
const oldTextContent = el.textContent;
|
|
70
|
+
const temporaryTextContent = successText;
|
|
71
|
+
// fallback to clipboard
|
|
72
|
+
if ('clipboard' in navigator) {
|
|
73
|
+
try {
|
|
74
|
+
await navigator.clipboard.writeText(point.url);
|
|
75
|
+
el.textContent = temporaryTextContent;
|
|
76
|
+
setTimeout(() => {
|
|
77
|
+
el.textContent = oldTextContent;
|
|
78
|
+
}, 5000);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
catch (error) { }
|
|
82
|
+
}
|
|
83
|
+
// fallback to textarea
|
|
84
|
+
const textarea = document.createElement('textarea');
|
|
85
|
+
textarea.value = point.url;
|
|
86
|
+
textarea.style.opacity = '0';
|
|
87
|
+
this.host.appendChild(textarea);
|
|
88
|
+
textarea.focus();
|
|
89
|
+
textarea.select();
|
|
90
|
+
try {
|
|
91
|
+
const success = document.execCommand('copy');
|
|
92
|
+
if (!success) {
|
|
93
|
+
throw new Error('Failed to copy URL to clipboard');
|
|
94
|
+
}
|
|
95
|
+
el.textContent = temporaryTextContent;
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
el.textContent = oldTextContent;
|
|
98
|
+
}, 5000);
|
|
99
|
+
}
|
|
100
|
+
catch (error) { }
|
|
101
|
+
this.host.removeChild(textarea);
|
|
102
|
+
}
|
|
103
|
+
handleAction(e, point) {
|
|
104
|
+
e.stopPropagation();
|
|
105
|
+
if (point.is_completed) {
|
|
106
|
+
e.preventDefault();
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
switch (point.type) {
|
|
110
|
+
case 'profile':
|
|
111
|
+
case 'rating': {
|
|
112
|
+
if (!salla.config.isUser()) {
|
|
113
|
+
e.preventDefault();
|
|
114
|
+
closeModals(() => salla.event.dispatch('login::open'));
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
case 'share': {
|
|
120
|
+
if (!salla.config.isUser()) {
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
closeModals(() => salla.event.dispatch('login::open'));
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
e.preventDefault();
|
|
126
|
+
this.handleShareAction(e, point, salla.lang.get('pages.loyalty_program.copied'));
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
default: {
|
|
130
|
+
// all other types are handled the default way (e.g. navigate to a URL)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
getSubHeading(point) {
|
|
135
|
+
switch (point.type) {
|
|
136
|
+
case 'share':
|
|
137
|
+
return (h("div", { class: "s-loyalty-program-point-subheading" }, h("h2", null, salla.lang.get('pages.loyalty_program.how_to_start')), h("p", null, salla.lang.get('pages.loyalty_program.three_simple_steps'))));
|
|
138
|
+
case 'pos':
|
|
139
|
+
return (h("div", { class: "s-loyalty-program-point-subheading" }, h("h2", null, salla.lang.get('pages.loyalty_program.how_to_start')), h("p", null, salla.lang.get('pages.loyalty_program.two_simple_steps'))));
|
|
140
|
+
default:
|
|
141
|
+
return '';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
getTrailingContent(point) {
|
|
145
|
+
switch (point.type) {
|
|
146
|
+
case 'first_order':
|
|
147
|
+
case 'profile':
|
|
148
|
+
return h("p", { class: "s-loyalty-program-points-completed-note" }, salla.lang.get('pages.loyalty_program.one_time_points'));
|
|
149
|
+
default:
|
|
150
|
+
return point.is_completed ? h("p", { class: "s-loyalty-program-points-completed-note" }, salla.lang.get('pages.loyalty_program.one_time_points')) : '';
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
render() {
|
|
154
|
+
return (h("div", { key: 'e48e7e3f5e8327b840c3d85685e0b71bffefd855' }, h("div", { key: 'bf0defb51f62aeb2830261d5daed101c55f84d7b', onClick: () => closeModals(() => this.modal.open()), class: "s-loyalty-program-point-wrapper" }, h("div", { key: '0e6121e7f7daeec3a96bdaaa2427978f4215fb16', class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-sm s-loyalty-program-circle-variant-fill" }, h("span", { key: '8422ec6e483f05d514170df5916436a9126d4237', class: this.point.icon })), h("div", { key: '928d8ed9a8442dd20b218a7713ad6e493d88bc7d', class: "s-loyalty-program-points-badge-mobile" }, h("salla-badge", { key: '35fc26961a50c707d29a726405a2f2c48c5a296f', size: "xs", bg: "transparent" }, h("span", { key: 'd2b06eceeec70a9561d3612f337035dbc404bf2d', innerHTML: SIGift }), formattedPointsJsx(this.point))), h("div", { key: '9ca25c5c22d499bee7bd03c83b221deecaa385c7', class: "s-loyalty-program-points-badge-desktop" }, h("salla-badge", { key: 'bbf54dcce2af313a735de53f3297911b0a28433f', size: "sm", bg: "transparent" }, h("span", { key: '6832cb1bf6bf23e1c3e221e0e853b87bdf059b76', innerHTML: SIGift }), formattedPointsJsx(this.point))), h("p", { key: '0dab348c2d73b95d2a7054130dd8c4414b588a42', class: "s-loyalty-program-point-description" }, this.point.name), this.point.is_completed ?
|
|
155
|
+
h("a", { class: {
|
|
156
|
+
's-loyalty-program-points-action': true,
|
|
157
|
+
's-loyalty-program-points-action-completed': this.point.is_completed,
|
|
158
|
+
's-loyalty-program-points-action-incomplete': !this.point.is_completed,
|
|
159
|
+
} }, salla.lang.get('pages.loyalty_program.completed'))
|
|
160
|
+
: h("a", { href: this.point.url, onClick: e => this.handleAction(e, this.point), class: {
|
|
161
|
+
's-loyalty-program-points-action': true,
|
|
162
|
+
's-loyalty-program-points-action-completed': this.point.is_completed,
|
|
163
|
+
's-loyalty-program-points-action-incomplete': !this.point.is_completed,
|
|
164
|
+
} }, this.point.description)), h("salla-modal", { key: '209bd22b0a09f173dd74a79b0ab2dcf0c41b98d1', ref: modal => this.modal = modal, class: "s-loyalty-program-point-modal s-loyalty-program-modal", width: window.matchMedia('(min-width: 768px)').matches ? 'md' : 'sm', noPadding: true }, h("div", { key: 'adf4dc82940f41c943f095519e43e029602554e0', class: "s-loyalty-program-points-modal-header" }, h("h1", { key: '88d0babfddde45978760c71825ad01e81b9d7b70', class: "s-loyalty-program-points-modal-info" }, this.point.name)), h("div", { key: '387201fe515701d3e39595569cd5dd858dbe41e2', class: "s-loyalty-program-modal-scrollable-content" }, h("div", { key: '8460fd33cedcd3c78d299fd1f4f9dfb2d817663e', class: "s-loyalty-program-points-modal-main" }, h("div", { key: 'dc5840eb12f44f395fac4b2fa41616897ce3b804', class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xl s-loyalty-program-circle-variant-fill" }, h("span", { key: 'dab41d922110962182ff4a1ec53a7f01fde7400c', class: this.point.icon })), h("salla-badge", { key: 'e7947363e9dacb42eb03b97532ed1b6b3a606d73', size: "sm", bg: "light" }, h("span", { key: 'f567bdf3fb75d7bc28d9eb78a6b11dcc74f7e608', innerHTML: SIGift }), h("span", { key: 'd8fc1f40a225001a90ad6213f924520f3a3fbebc', class: "s-loyalty-program-points-badge-points" }, formattedPointsJsx(this.point)))), this.getSubHeading(this.point), h("div", { key: '12e2bf5a9aab51c3bf1c0ec10395751beaf846a3', class: "s-loyalty-program-points-modal-details" }, h("div", { key: '17dc3ff458f8cfea3028a47e54df522310cc0b1d', class: "s-loyalty-program-points-chains-wrapper" }, h("ul", { key: '4b1b0700e1d260a57fe7093421cb8faa8e68d024', class: "s-loyalty-program-points-chain-list" }, !!this.point.steps && Object.keys(this.point.steps).length > 0
|
|
165
|
+
? Object.values(this.point.steps).map((step, idx) => {
|
|
166
|
+
const stepsArray = Object.values(this.point.steps);
|
|
167
|
+
const isLastItem = idx === stepsArray.length - 1;
|
|
168
|
+
return (h("li", { class: "s-loyalty-program-points-chain-item" }, h("div", { class: "s-loyalty-program-points-chain-icon" }, h("div", { class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary" }, sicons[step.key]), !isLastItem && h("div", { class: "s-loyalty-program-points-chain-line" })), h("div", { class: "s-loyalty-program-points-chain-content" }, h("salla-badge", { size: "xs", color: "primary-900", bg: "primary-100" }, h("span", null, salla.lang.get(`pages.loyalty_program.step_${idx + 1}`))), h("p", { class: "s-loyalty-program-points-chain-description" }, step.title || step.name))));
|
|
169
|
+
})
|
|
170
|
+
: this.point.conditions?.map((condition, idx) => {
|
|
171
|
+
const isLastItem = idx === this.point.conditions.length - 1;
|
|
172
|
+
return (h("li", { class: "s-loyalty-program-points-chain-item" }, h("div", { class: "s-loyalty-program-points-chain-icon" }, h("div", { class: "s-loyalty-program-circle-base s-loyalty-program-circle-size-xs s-loyalty-program-circle-variant-outline-primary" }, sicons[condition.key]), !isLastItem && h("div", { class: "s-loyalty-program-points-chain-line" })), h("div", { class: "s-loyalty-program-points-chain-content" }, h("salla-badge", { size: "xs", color: "primary-900", bg: "primary-100" }, h("span", { innerHTML: SIGift }), formattedPointsJsx(condition.points ?? 0)), h("p", { class: "s-loyalty-program-points-chain-description" }, condition.name))));
|
|
173
|
+
}))), this.getTrailingContent(this.point)), !this.point.branches?.length ? '' : h("div", { class: "s-loyalty-program-points-modal-list" }, h("div", { class: "s-loyalty-program-point-details-branches" }, h("h2", null, salla.lang.get('pages.loyalty_program.branches')), h("p", null, salla.lang.get('pages.loyalty_program.shop_from_branches'))), h("div", { class: "s-loyalty-program-points-modal-list-wrapper" }, h("ul", null, this.point.branches.map((branch) => (h("li", { class: "s-loyalty-program-points-modal-list-item" }, h("p", null, branch.name), h("salla-badge", { size: "sm", bg: "transparent" }, h("span", { innerHTML: SIGift }), h("a", { href: branch.location ? `https://www.google.com/maps?q=${branch.location.lat},${branch.location.lon}` : '#', target: "_blank", rel: "noopener noreferrer" }, branch.address_description))))))))), h("div", { key: '8984c9e7f20a766c70c25a85b752a2f61fd9c490', class: "s-loyalty-program-points-modal-action" }, h("a", { key: '6ee995bf10cd3f9efac2baac8413e7405981389f', href: this.point.url, onClick: (e) => (e.stopPropagation(), this.handleAction(e, this.point)), class: {
|
|
174
|
+
's-loyalty-program-points-action': true,
|
|
175
|
+
's-loyalty-program-points-action-completed': this.point.is_completed,
|
|
176
|
+
's-loyalty-program-points-action-incomplete': !this.point.is_completed,
|
|
177
|
+
} }, this.point.is_completed ? salla.lang.get('pages.loyalty_program.completed') : this.point.description)))));
|
|
178
|
+
}
|
|
179
|
+
static get is() { return "salla-loyalty-point"; }
|
|
180
|
+
static get originalStyleUrls() {
|
|
181
|
+
return {
|
|
182
|
+
"$": ["salla-loyalty-program.scss"]
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
static get styleUrls() {
|
|
186
|
+
return {
|
|
187
|
+
"$": ["salla-loyalty-program.css"]
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
static get properties() {
|
|
191
|
+
return {
|
|
192
|
+
"point": {
|
|
193
|
+
"type": "unknown",
|
|
194
|
+
"attribute": "point",
|
|
195
|
+
"mutable": false,
|
|
196
|
+
"complexType": {
|
|
197
|
+
"original": "Point",
|
|
198
|
+
"resolved": "Point",
|
|
199
|
+
"references": {
|
|
200
|
+
"Point": {
|
|
201
|
+
"location": "import",
|
|
202
|
+
"path": "./interfaces",
|
|
203
|
+
"id": "src/components/salla-loyalty-program/interfaces.ts::Point"
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"required": false,
|
|
208
|
+
"optional": false,
|
|
209
|
+
"docs": {
|
|
210
|
+
"tags": [],
|
|
211
|
+
"text": ""
|
|
212
|
+
},
|
|
213
|
+
"getter": false,
|
|
214
|
+
"setter": false
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
static get elementRef() { return "host"; }
|
|
219
|
+
}
|