@salla.sa/twilight-components 2.14.401 → 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-Cyf8KBGp.js → filepond-CHgj_x6Q.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster--yUgJ7UK.js → filepond-plugin-file-poster-BM8akyHG.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-uHtguPuy.js → filepond-plugin-file-validate-size-COf4Mbms.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-COz5Ivmq.js → filepond-plugin-file-validate-type-Mc6-vU_9.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CHInCcL8.js → filepond-plugin-image-edit-Cegsph-w.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-CIh1qmKb.js → filepond-plugin-image-exif-orientation-Ca7MqBpy.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-C2lHZO0J.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-CnTFTuui.js → index-DagepTOF.js} +1 -1
- package/dist/cjs/{index-CsHE7up1.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 +18 -4
- 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-DYNK0WJo.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 +17 -3
- 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 +17 -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-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-DR4SNVzz.js → filepond-DSnpVe64.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-D5SixGgC.js → filepond-plugin-file-poster-CIjT2DkD.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-DsOh2L9N.js → filepond-plugin-file-validate-size-DfnQ9yTM.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-B4O62KoP.js → filepond-plugin-file-validate-type-BFqVzf03.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-Clnx4Mv4.js → filepond-plugin-image-edit-CFSURdY1.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BN-eLjue.js → filepond-plugin-image-exif-orientation-Df4vxbTN.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-CYK3uEyM.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-BlBuuMQp.js → index-Noi8jmqR.js} +61 -27
- package/dist/esm/{index-D6k2MP-W.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 +18 -4
- 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-oVvgrx3f.js → vanilla-picker-DRn4hnB9.js} +1 -1
- package/dist/twilight/p-0-eTJXSD.js +4 -0
- package/dist/twilight/{p-28d735dc.entry.js → p-024459e9.entry.js} +1 -1
- package/dist/twilight/{p-bcbdff6d.entry.js → p-04d8a7e5.entry.js} +1 -1
- package/dist/twilight/p-0a91929a.entry.js +4 -0
- package/dist/twilight/{p-11c02cc2.entry.js → p-0ad91621.entry.js} +1 -1
- package/dist/twilight/{p-6e47537d.entry.js → p-0dce57b2.entry.js} +1 -1
- package/dist/twilight/{p-864d29b3.entry.js → p-145858ca.entry.js} +1 -1
- package/dist/twilight/p-1613629f.entry.js +4 -0
- package/dist/twilight/{p-9bd7d9f5.entry.js → p-1762cd5c.entry.js} +1 -1
- package/dist/twilight/p-246bb9c3.entry.js +4 -0
- package/dist/twilight/{p-1caa8d6e.entry.js → p-2502deb6.entry.js} +1 -1
- package/dist/twilight/{p-32ab498a.entry.js → p-256bd7e3.entry.js} +1 -1
- package/dist/twilight/{p-2768932b.entry.js → p-2f27a79c.entry.js} +1 -1
- package/dist/twilight/{p-45f1b946.entry.js → p-301bdc8d.entry.js} +1 -1
- package/dist/twilight/{p-345807de.entry.js → p-3317da8e.entry.js} +1 -1
- package/dist/twilight/p-36e2d55f.entry.js +4 -0
- package/dist/twilight/{p-3b3b6cd6.entry.js → p-394e59f9.entry.js} +1 -1
- package/dist/twilight/{p-f60646dc.entry.js → p-39595f4a.entry.js} +1 -1
- package/dist/twilight/{p-25123930.entry.js → p-3f6e4760.entry.js} +1 -1
- package/dist/twilight/{p-0901a25d.entry.js → p-40936925.entry.js} +1 -1
- package/dist/twilight/{p-26ce4274.entry.js → p-40ac70b9.entry.js} +1 -1
- package/dist/twilight/{p-9d9338c9.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-ef7c452b.entry.js → p-4886611c.entry.js} +1 -1
- package/dist/twilight/p-4bacc97f.entry.js +4 -0
- package/dist/twilight/{p-22790492.entry.js → p-503a7446.entry.js} +1 -1
- package/dist/twilight/{p-e17e30a7.entry.js → p-55585695.entry.js} +1 -1
- package/dist/twilight/{p-209a2ef7.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-9972c1f3.entry.js → p-594a2cfc.entry.js} +1 -1
- package/dist/twilight/p-5b134612.entry.js +4 -0
- package/dist/twilight/{p-dc846049.entry.js → p-5d101927.entry.js} +1 -1
- package/dist/twilight/{p-48b8b9b0.entry.js → p-5f05afcf.entry.js} +1 -1
- package/dist/twilight/{p-727a8316.entry.js → p-6b402aa3.entry.js} +1 -1
- package/dist/twilight/{p-acf4f50d.entry.js → p-6ec4bce3.entry.js} +1 -1
- package/dist/twilight/{p-c6358810.entry.js → p-779aaac4.entry.js} +1 -1
- package/dist/twilight/p-78a7f098.entry.js +4 -0
- package/dist/twilight/{p-56ad6447.entry.js → p-78cc7185.entry.js} +1 -1
- package/dist/twilight/{p-d8d3dfcd.entry.js → p-79db938f.entry.js} +1 -1
- package/dist/twilight/{p-a9e4b4a9.entry.js → p-7cff302c.entry.js} +1 -1
- package/dist/twilight/{p-372ce435.entry.js → p-7f1e3e62.entry.js} +1 -1
- package/dist/twilight/{p-9b68df5a.entry.js → p-82785312.entry.js} +1 -1
- package/dist/twilight/{p-c86dde05.entry.js → p-83d63cf3.entry.js} +1 -1
- package/dist/twilight/{p-14d50b4c.entry.js → p-8740d9b0.entry.js} +1 -1
- package/dist/twilight/{p-BsLF_HK7.js → p-8Tsmrwno.js} +1 -1
- package/dist/twilight/{p-1426be48.entry.js → p-8bef56d7.entry.js} +1 -1
- package/dist/twilight/{p-aba6b3a8.entry.js → p-8c95bcba.entry.js} +1 -1
- package/dist/twilight/{p-2835ba4b.entry.js → p-91005fdc.entry.js} +1 -1
- package/dist/twilight/{p-b606c9a2.entry.js → p-96e09525.entry.js} +1 -1
- package/dist/twilight/{p-f58c722c.entry.js → p-9a1dbe0b.entry.js} +1 -1
- package/dist/twilight/p-9ab9e4fe.entry.js +4 -0
- package/dist/twilight/{p-b3ac5838.entry.js → p-9ff6dbba.entry.js} +1 -1
- package/dist/twilight/p-B-Rj6b9M.js +4 -0
- package/dist/twilight/{p-BG4uFEWi.js → p-BCRhp4ZP.js} +1 -1
- package/dist/twilight/{p-C9FzKstV.js → p-BOikoFVU.js} +1 -1
- package/dist/twilight/{p-FrOTq2f2.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-D_gOsznU.js → p-Bdj8c3JN.js} +1 -1
- package/dist/twilight/p-BkmanTR_.js +4 -0
- package/dist/twilight/{p-Duj4y93z.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-CwzEvhrD.js → p-DIVFpxqq.js} +1 -1
- package/dist/twilight/{p-DmgxDvXL.js → p-DLNIOD9t.js} +1 -1
- package/dist/twilight/{p-DI03hbOx.js → p-D_bFmrB0.js} +1 -1
- package/dist/twilight/{p-EaMy8k6o.js → p-DbwYqKTo.js} +1 -1
- package/dist/twilight/p-DnvK1zqm.js +4 -0
- package/dist/twilight/{p-BlBuuMQp.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-f2488a50.entry.js → p-b9bc75ad.entry.js} +1 -1
- package/dist/twilight/{p-8d4c052f.entry.js → p-bb02c0fd.entry.js} +1 -1
- package/dist/twilight/{p-c0239486.entry.js → p-c3418320.entry.js} +1 -1
- package/dist/twilight/{p-c0822f39.entry.js → p-c5214df3.entry.js} +1 -1
- package/dist/twilight/{p-d2816142.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-7d6b0477.entry.js → p-d6d0a9b8.entry.js} +1 -1
- package/dist/twilight/{p-f4e96119.entry.js → p-d8389555.entry.js} +1 -1
- package/dist/twilight/{p-d4dcdcc5.entry.js → p-d8d5d1f4.entry.js} +1 -1
- package/dist/twilight/{p-8f67c4cb.entry.js → p-da642a9a.entry.js} +1 -1
- package/dist/twilight/{p-6b5c8369.entry.js → p-dce9ced4.entry.js} +1 -1
- package/dist/twilight/{p-a63e2bd1.entry.js → p-df8e08af.entry.js} +1 -1
- package/dist/twilight/{p-091fe74b.entry.js → p-e0619a5d.entry.js} +1 -1
- package/dist/twilight/p-e25aaae6.entry.js +4 -0
- package/dist/twilight/{p-8f73276d.entry.js → p-e270154b.entry.js} +1 -1
- package/dist/twilight/{p-6324f2ca.entry.js → p-e3da6c85.entry.js} +1 -1
- package/dist/twilight/{p-fe4a504b.entry.js → p-e5a47190.entry.js} +1 -1
- package/dist/twilight/{p-9e85bac1.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-7a15e1a1.entry.js → p-f4c1f034.entry.js} +1 -1
- package/dist/twilight/{p-8290d5fc.entry.js → p-fbfe1cf4.entry.js} +1 -1
- package/dist/twilight/{p-15aa6772.entry.js → p-fe4d55ce.entry.js} +1 -1
- package/dist/twilight/{p-dfdb0e7c.entry.js → p-feacde76.entry.js} +1 -1
- package/dist/twilight/{p-78d7eb5c.entry.js → p-ff3ae289.entry.js} +1 -1
- package/dist/twilight/{p-3d2bdf94.entry.js → p-ff47b12d.entry.js} +1 -1
- package/dist/twilight/{p-GweAdjGj.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-bullet-delivery/salla-bullet-delivery.d.ts +5 -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-084e2131.entry.js +0 -4
- package/dist/twilight/p-08582b06.entry.js +0 -4
- package/dist/twilight/p-35b7c465.entry.js +0 -4
- package/dist/twilight/p-505504bf.entry.js +0 -4
- package/dist/twilight/p-546f8eb7.entry.js +0 -4
- package/dist/twilight/p-5f3d4e2c.entry.js +0 -4
- package/dist/twilight/p-65129aa6.entry.js +0 -4
- package/dist/twilight/p-6f8ce4cc.entry.js +0 -4
- package/dist/twilight/p-79dd8455.entry.js +0 -4
- package/dist/twilight/p-958e5868.entry.js +0 -4
- package/dist/twilight/p-9c58f3c0.entry.js +0 -4
- package/dist/twilight/p-9cf29ddb.entry.js +0 -4
- package/dist/twilight/p-d38bd02b.entry.js +0 -4
|
@@ -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
|
+
}
|
|
@@ -1,78 +1,95 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
day: 'numeric',
|
|
14
|
-
hour: 'numeric',
|
|
15
|
-
});
|
|
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;
|
|
16
13
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
import { h } from "@stencil/core";
|
|
15
|
+
import { setTranslations } from "./translations";
|
|
16
|
+
import { closeModals, nearestLowerMultiple, normalizeLoyaltyData } from "./functions";
|
|
17
|
+
import SILayoutGrid from "../../assets/svg/layout-grid.svg";
|
|
18
|
+
import SIShipping from "../../assets/svg/shipping.svg";
|
|
19
|
+
import SIPercentage from "../../assets/svg/percentage.svg";
|
|
20
|
+
import SICart2 from "../../assets/svg/cart2.svg";
|
|
21
|
+
import SIUserAdd from "../../assets/svg/user-add.svg";
|
|
22
|
+
import SIGiftSharing from "../../assets/svg/gift-sharing.svg";
|
|
23
|
+
import SICartUpload from "../../assets/svg/cart-upload.svg";
|
|
24
|
+
import SIGift from "../../assets/svg/gift.svg";
|
|
25
|
+
import { TrackedPromise } from "../../Helpers/tracked-promise";
|
|
26
|
+
import anime from "animejs";
|
|
27
|
+
const sicons = {
|
|
28
|
+
all: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SILayoutGrid }),
|
|
29
|
+
free_shipping: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SIShipping }),
|
|
30
|
+
coupon_discount: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SIPercentage }),
|
|
31
|
+
free_product: h("span", { class: "s-loyalty-program-rewards-tab-icon", innerHTML: SICart2 }),
|
|
28
32
|
};
|
|
29
|
-
export class
|
|
33
|
+
export class SallaLoyaltyProgram {
|
|
30
34
|
constructor() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
this.
|
|
35
|
-
|
|
35
|
+
/**
|
|
36
|
+
* prize to show in details or exchange modals
|
|
37
|
+
*/
|
|
38
|
+
this.currentPrize = null;
|
|
39
|
+
/**
|
|
40
|
+
* collapsed state of points list
|
|
41
|
+
*/
|
|
42
|
+
this.collapsed = true;
|
|
43
|
+
this.animatedPoints = 0;
|
|
44
|
+
this.handleExchangeSucceeded = () => {
|
|
45
|
+
this.points();
|
|
46
|
+
this.program();
|
|
36
47
|
};
|
|
37
48
|
}
|
|
38
49
|
componentWillLoad() {
|
|
39
|
-
return salla.onReady()
|
|
40
|
-
|
|
41
|
-
|
|
50
|
+
return salla.onReady()
|
|
51
|
+
.then(() => salla.lang.onLoaded())
|
|
52
|
+
.then(() => setTranslations())
|
|
53
|
+
.then(() => {
|
|
54
|
+
this.program();
|
|
55
|
+
this.points();
|
|
56
|
+
salla.event.on('loyalty::exchange.succeeded', this.handleExchangeSucceeded);
|
|
57
|
+
})
|
|
58
|
+
.catch((error) => salla.logger.error(error));
|
|
42
59
|
}
|
|
43
|
-
|
|
44
|
-
this.
|
|
45
|
-
try {
|
|
46
|
-
let url = `/balance/points?page=1`;
|
|
47
|
-
let resp = await salla.api.request(url);
|
|
48
|
-
this.loyaltyPointsArray = resp.data;
|
|
49
|
-
this.nextPageUrlLoyalty = resp.cursor.next;
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error('Error loading loyalty points transactions', error);
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
this.isLoadingLoyalty = false;
|
|
56
|
-
}
|
|
60
|
+
disconnectedCallback() {
|
|
61
|
+
salla.event.off('loyalty::exchange.succeeded', this.handleExchangeSucceeded);
|
|
57
62
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this.nextPageUrlLoyalty = resp.cursor?.next || '';
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
console.error('Error loading more loyalty points', error);
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
this.isLoadingLoyalty = false;
|
|
72
|
-
}
|
|
63
|
+
getOutlineItem(number, title, description) {
|
|
64
|
+
const icons = {
|
|
65
|
+
1: h("span", { innerHTML: SIUserAdd }),
|
|
66
|
+
2: h("span", { innerHTML: SIGiftSharing }),
|
|
67
|
+
3: h("span", { innerHTML: SICartUpload }),
|
|
68
|
+
};
|
|
69
|
+
return (h("li", { class: "s-loyalty-program-item" }, h("div", { class: "s-loyalty-program-content" }, h("span", { class: "s-loyalty-program-icon-container" }, h("span", { class: "s-loyalty-program-text-gradient" }, number), h("span", { class: "s-loyalty-program-icon" }, icons[number])), h("div", { class: "s-loyalty-program-title" }, title), h("div", { class: "s-loyalty-program-description" }, description))));
|
|
73
70
|
}
|
|
74
71
|
render() {
|
|
75
|
-
|
|
72
|
+
if (this.program.status === 'error') {
|
|
73
|
+
return h("p", null, salla.lang.get('common.errors.error_occured'));
|
|
74
|
+
}
|
|
75
|
+
const displayedPoints = this.program.data.points.slice(0, this.collapsed ? nearestLowerMultiple(this.program.data.points.length) : this.program.data.points.length);
|
|
76
|
+
const prizesGroups = this.program.data.prizes;
|
|
77
|
+
const prizesCount = this.program.data.prizes_count;
|
|
78
|
+
return (h("div", { class: "s-loyalty-program-container" }, h("salla-loyalty-hero", { name: this.program.data.name, description: this.program.data.description, image: this.program.data.image }, salla.config.isUser()
|
|
79
|
+
? h("div", { slot: "crosspoint", class: "s-loyalty-program-profile-wrapper" }, h("div", { class: "s-loyalty-program-profile-container" }, h("div", { class: "s-loyalty-program-profile-points-section" }, h("h2", { class: "s-loyalty-program-profile-label" }, salla.lang.get('pages.loyalty_program.your_points')), h("p", { class: "s-loyalty-program-profile-points" }, h("span", { class: "s-loyalty-program-profile-points-value" }, !!this.animatedPoints ? this.animatedPoints : this.points.data), "\u00A0", salla.lang.get('pages.loyalty_program.point'))), h("div", { class: "s-loyalty-program-profile-icon" }, h("span", { innerHTML: SIGift }))))
|
|
80
|
+
: h("button", { slot: "action", onClick: () => salla.event.dispatch('login::open'), class: {
|
|
81
|
+
's-loyalty-program-login-action': true,
|
|
82
|
+
's-loyalty-program-login-action-dark': !this.program.data.image,
|
|
83
|
+
's-loyalty-program-login-action-light': !!this.program.data.image,
|
|
84
|
+
} }, salla.lang.get('blocks.header.login'))), h("div", { class: "s-loyalty-program-outline-section" }, h("section", { class: "s-loyalty-program-section" }, h("header", { class: "s-loyalty-program-header" }, h("h1", { class: "s-loyalty-program-main-title" }, salla.lang.get('pages.loyalty_program.how_to_start')), h("p", { class: "s-loyalty-program-subtitle" }, salla.lang.get('pages.loyalty_program.three_simple_steps'))), h("ol", { class: "s-loyalty-program-list" }, this.getOutlineItem(1, salla.lang.get('pages.loyalty_program.register'), salla.lang.get('pages.loyalty_program.create_account')), this.getOutlineItem(2, salla.lang.get('pages.loyalty_program.earn_points'), salla.lang.get('pages.loyalty_program.complete_tasks')), this.getOutlineItem(3, salla.lang.get('pages.loyalty_program.redeem_rewards'), salla.lang.get('pages.loyalty_program.enjoy_rewards'))))), h("div", { class: "s-loyalty-program-points-wrapper" }, h("section", { class: "s-loyalty-program-points-section" }, h("header", { class: "s-loyalty-program-points-header" }, h("h1", { class: "s-loyalty-program-points-title" }, this.program.data.promotion_title), h("p", { class: "s-loyalty-program-points-description" }, this.program.data.promotion_description)), h("div", { class: "s-loyalty-program-points-spacer" }), h("ul", { class: {
|
|
85
|
+
's-loyalty-program-points-list-one': this.program.data.points.length === 1,
|
|
86
|
+
's-loyalty-program-points-list-two': this.program.data.points.length === 2,
|
|
87
|
+
's-loyalty-program-points-list-multi': this.program.data.points.length > 2,
|
|
88
|
+
} }, displayedPoints.map(point => (h("li", null, h("salla-loyalty-point", { point: point }))))), h("div", { class: "s-loyalty-program-points-spacer" }), nearestLowerMultiple(this.program.data.points.length) !== this.program.data.points.length && h("button", { class: "s-loyalty-program-points-more-button", onClick: () => this.collapsed = !this.collapsed }, this.collapsed
|
|
89
|
+
? h("span", null, salla.lang.get('pages.loyalty_program.show_more'), "\u00A0\u00A0", h("span", { style: { fontSize: '1.2rem', fontWeight: '300' } }, "+"))
|
|
90
|
+
: h("span", null, salla.lang.get('pages.loyalty_program.show_less'), "\u00A0\u00A0", h("span", { style: { fontSize: '1.2rem', fontWeight: '300' } }, "-"))))), this.program.status !== 'success' ? '' : h("div", { class: "s-loyalty-program-rewards-container s-loyalty-program-slider-arrows-edges" }, h("section", { class: {
|
|
91
|
+
's-loyalty-program-tabs-hider': prizesGroups.length <= 2 || prizesCount <= 4,
|
|
92
|
+
} }, h("h1", { class: "s-loyalty-program-rewards-heading-mobile" }, salla.lang.get('pages.loyalty_program.rewards')), h("salla-tabs", null, h("div", { slot: "header", class: "s-loyalty-program-rewards-tab-items" }, prizesGroups.map((group) => (h("salla-tab-header", { slot: "header", name: group.type }, sicons[group.type], h("span", null, group.title))))), h("h1", { slot: "header", class: "s-loyalty-program-rewards-heading-desktop" }, salla.lang.get('pages.loyalty_program.rewards')), 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":4,"spaceBetween":24,"freeMode":false,"speed":300}}}' }, h("div", { slot: "items" }, group.items.map((prize) => h("salla-reward-card", { prize: prize, onAreaClick: () => { this.currentPrize = prize; closeModals(() => this.detailsModal.open()); }, onActionClick: () => { this.currentPrize = prize; closeModals(() => this.detailsModal.open()); } })))))))), 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 }))))));
|
|
76
93
|
}
|
|
77
94
|
static get is() { return "salla-loyalty-program"; }
|
|
78
95
|
static get originalStyleUrls() {
|
|
@@ -87,9 +104,31 @@ export class SallaWalletTable {
|
|
|
87
104
|
}
|
|
88
105
|
static get states() {
|
|
89
106
|
return {
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
107
|
+
"currentPrize": {},
|
|
108
|
+
"collapsed": {},
|
|
109
|
+
"animatedPoints": {}
|
|
93
110
|
};
|
|
94
111
|
}
|
|
95
112
|
}
|
|
113
|
+
__decorate([
|
|
114
|
+
TrackedPromise(async function () {
|
|
115
|
+
const { data } = await salla.loyalty.getProgram();
|
|
116
|
+
return normalizeLoyaltyData(data);
|
|
117
|
+
}, { initialData: { points: [], prizes: [], prizes_count: 0 } })
|
|
118
|
+
], SallaLoyaltyProgram.prototype, "program", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
TrackedPromise(async function () {
|
|
121
|
+
const { data } = await salla.loyalty.getPoints();
|
|
122
|
+
anime({
|
|
123
|
+
targets: { value: 0 },
|
|
124
|
+
value: data.points ?? 0,
|
|
125
|
+
round: 1,
|
|
126
|
+
easing: 'easeOutQuad',
|
|
127
|
+
duration: 2000,
|
|
128
|
+
update: (anim) => {
|
|
129
|
+
this.animatedPoints = anim.animations[0].currentValue;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
return data.points;
|
|
133
|
+
})
|
|
134
|
+
], SallaLoyaltyProgram.prototype, "points", void 0);
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
import { h } from "@stencil/core";
|
|
5
|
+
import { closeModals } from "./functions";
|
|
6
|
+
import SIGift from "../../assets/svg/gift.svg";
|
|
7
|
+
export class SallaLoyaltyReward {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.size = 'md';
|
|
10
|
+
this.isActionClickable = (prize) => {
|
|
11
|
+
switch (prize.key?.toLowerCase()) {
|
|
12
|
+
case 'free_product':
|
|
13
|
+
return prize.is_product_available;
|
|
14
|
+
default:
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
this.handleActionArea = () => {
|
|
19
|
+
this.rewardModalOpen.emit(this.prize);
|
|
20
|
+
};
|
|
21
|
+
this.handleAction = () => {
|
|
22
|
+
if (!this.isActionClickable(this.prize))
|
|
23
|
+
return;
|
|
24
|
+
if (!salla.config.isUser()) {
|
|
25
|
+
closeModals(() => salla.event.dispatch('login::open'));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.confirmModalOpen.emit(this.prize);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
return (h("div", { key: '38c63e250c45badf03516c87496619152b9a0af8', class: {
|
|
35
|
+
's-loyalty-program-reward-container': true,
|
|
36
|
+
's-loyalty-program-reward-xs': this.size === 'xs',
|
|
37
|
+
} }, h("div", { key: '93e11a5c458aa3112b00bea4bc845733d8bf4415', onClick: this.handleActionArea, role: "button" }, h("div", { key: '67f5cfe1a3551832548d95bda9c6bcc6cdd26119', class: "s-loyalty-program-reward-img" }, h("img", { key: '36f6dc13da2b7c844d2318d4e9bafeb96d960f11', src: this.prize.image, class: "s-loyalty-program-rewards-img", alt: "" })), h("div", { key: 'c953cfeebaabdad22fba498903936e170aadcebe', class: "s-loyalty-program-reward-content" }, h("div", { key: '68f33aba783ffaef38ea9e4a3f9063b2f68bb2b1', class: "s-loyalty-program-reward-points" }, h("salla-badge", { key: 'bdac8babbf1bbabeec37e92053c4c7eab178a06f', size: "xs" }, h("span", { key: '367f3f154a6079781cece4018337b09996229001', innerHTML: SIGift }), h("span", { key: 'fd8cdd6bafe8a8f5f45f7a4e6df2f074ab2b5961', class: "s-loyalty-program-rewards-points" }, this.prize.cost_points, " ", salla.lang.get('pages.loyalty_program.points')))), h("div", { key: '84f6dbc80ecaa12ab9dacf48ec289bb3f5bdfc84', class: "s-loyalty-program-reward-title" }, h("span", { key: '1505f38884417eee9f266ab3ddb2f57096f6d0da' }, this.group)), h("div", { key: '82ced1df7118958153868c15c193ac03783dc383', class: "s-loyalty-program-reward-name" }, h("div", { key: 'a853fc37628c02ffe064608f6e52725d664fc259', class: "s-loyalty-program-rewards-name", id: `prize-${this.prize.id}` }, this.prize.name)))), h("div", { key: '584d6db1edfafc846eb8908d2762483d5e590296', class: "p-4" }, h("button", { key: 'ac0962db5b5d3121b4c6197c4c378db76a963950', onClick: this.handleAction, disabled: !this.isActionClickable(this.prize), class: {
|
|
38
|
+
's-loyalty-program-rewards-action-base': true,
|
|
39
|
+
's-loyalty-program-rewards-action-on': this.isActionClickable(this.prize),
|
|
40
|
+
's-loyalty-program-rewards-action-off': !this.isActionClickable(this.prize),
|
|
41
|
+
} }, this.isActionClickable(this.prize) ? salla.lang.get('pages.loyalty_program.redeem_reward') : salla.lang.get('pages.loyalty_program.out_of_stock')))));
|
|
42
|
+
}
|
|
43
|
+
static get is() { return "salla-loyalty-reward"; }
|
|
44
|
+
static get originalStyleUrls() {
|
|
45
|
+
return {
|
|
46
|
+
"$": ["salla-loyalty-program.scss"]
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
static get styleUrls() {
|
|
50
|
+
return {
|
|
51
|
+
"$": ["salla-loyalty-program.css"]
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
static get properties() {
|
|
55
|
+
return {
|
|
56
|
+
"size": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"attribute": "size",
|
|
59
|
+
"mutable": false,
|
|
60
|
+
"complexType": {
|
|
61
|
+
"original": "'xs' | 'md'",
|
|
62
|
+
"resolved": "\"md\" | \"xs\"",
|
|
63
|
+
"references": {}
|
|
64
|
+
},
|
|
65
|
+
"required": false,
|
|
66
|
+
"optional": false,
|
|
67
|
+
"docs": {
|
|
68
|
+
"tags": [],
|
|
69
|
+
"text": ""
|
|
70
|
+
},
|
|
71
|
+
"getter": false,
|
|
72
|
+
"setter": false,
|
|
73
|
+
"reflect": false,
|
|
74
|
+
"defaultValue": "'md'"
|
|
75
|
+
},
|
|
76
|
+
"prize": {
|
|
77
|
+
"type": "unknown",
|
|
78
|
+
"attribute": "prize",
|
|
79
|
+
"mutable": false,
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "Prize",
|
|
82
|
+
"resolved": "Prize",
|
|
83
|
+
"references": {
|
|
84
|
+
"Prize": {
|
|
85
|
+
"location": "import",
|
|
86
|
+
"path": "./interfaces",
|
|
87
|
+
"id": "src/components/salla-loyalty-program/interfaces.ts::Prize"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"required": false,
|
|
92
|
+
"optional": false,
|
|
93
|
+
"docs": {
|
|
94
|
+
"tags": [],
|
|
95
|
+
"text": ""
|
|
96
|
+
},
|
|
97
|
+
"getter": false,
|
|
98
|
+
"setter": false
|
|
99
|
+
},
|
|
100
|
+
"group": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"attribute": "group",
|
|
103
|
+
"mutable": false,
|
|
104
|
+
"complexType": {
|
|
105
|
+
"original": "string",
|
|
106
|
+
"resolved": "string",
|
|
107
|
+
"references": {}
|
|
108
|
+
},
|
|
109
|
+
"required": false,
|
|
110
|
+
"optional": false,
|
|
111
|
+
"docs": {
|
|
112
|
+
"tags": [],
|
|
113
|
+
"text": ""
|
|
114
|
+
},
|
|
115
|
+
"getter": false,
|
|
116
|
+
"setter": false,
|
|
117
|
+
"reflect": false
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
static get events() {
|
|
122
|
+
return [{
|
|
123
|
+
"method": "rewardModalOpen",
|
|
124
|
+
"name": "rewardModalOpen",
|
|
125
|
+
"bubbles": true,
|
|
126
|
+
"cancelable": true,
|
|
127
|
+
"composed": true,
|
|
128
|
+
"docs": {
|
|
129
|
+
"tags": [],
|
|
130
|
+
"text": ""
|
|
131
|
+
},
|
|
132
|
+
"complexType": {
|
|
133
|
+
"original": "Prize",
|
|
134
|
+
"resolved": "Prize",
|
|
135
|
+
"references": {
|
|
136
|
+
"Prize": {
|
|
137
|
+
"location": "import",
|
|
138
|
+
"path": "./interfaces",
|
|
139
|
+
"id": "src/components/salla-loyalty-program/interfaces.ts::Prize"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
"method": "confirmModalOpen",
|
|
145
|
+
"name": "confirmModalOpen",
|
|
146
|
+
"bubbles": true,
|
|
147
|
+
"cancelable": true,
|
|
148
|
+
"composed": true,
|
|
149
|
+
"docs": {
|
|
150
|
+
"tags": [],
|
|
151
|
+
"text": ""
|
|
152
|
+
},
|
|
153
|
+
"complexType": {
|
|
154
|
+
"original": "Prize",
|
|
155
|
+
"resolved": "Prize",
|
|
156
|
+
"references": {
|
|
157
|
+
"Prize": {
|
|
158
|
+
"location": "import",
|
|
159
|
+
"path": "./interfaces",
|
|
160
|
+
"id": "src/components/salla-loyalty-program/interfaces.ts::Prize"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}];
|
|
165
|
+
}
|
|
166
|
+
}
|