@salla.sa/twilight-components 2.14.596 → 2.14.597
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{filepond-MMeFYRaC.js → filepond-Dw1N5qBB.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-Dd1aobB-.js → filepond-plugin-file-poster-C1ipzdpz.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-Be46s5wp.js → filepond-plugin-file-validate-size-DbTJ1H8k.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-Cf3OjTHE.js → filepond-plugin-file-validate-type-CDOD2WKz.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-BDX5qgng.js → filepond-plugin-image-edit-CP7JkpKx.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-ilZNc8J4.js → filepond-plugin-image-exif-orientation-Bm5i6zMO.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-C9c7tVEB.js → filepond-plugin-image-preview-INllb63L.js} +1 -1
- package/dist/cjs/{index-zv0p1Eys.js → index-DIEWuq3M.js} +2 -2
- package/dist/cjs/{intlTelInput-C8hiSJ_i.js → intlTelInput-bnpl10H7.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +10 -18
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +37 -15
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +26 -20
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +7 -2
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +50 -36
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +2 -2
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +12 -5
- package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_9.cjs.entry.js +44 -23
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +10 -3
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +17 -12
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +7 -4
- package/dist/cjs/salla-filters.cjs.entry.js +10 -5
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +12 -7
- package/dist/cjs/salla-hook.cjs.entry.js +2 -2
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +7 -2
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +14 -2
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty.cjs.entry.js +12 -5
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.cjs.entry.js +39 -15
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +7 -2
- package/dist/cjs/salla-offer-modal.cjs.entry.js +14 -7
- package/dist/cjs/salla-offer.cjs.entry.js +14 -9
- package/dist/cjs/salla-order-branch.cjs.entry.js +42 -4
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +7 -4
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +2 -2
- package/dist/cjs/salla-orders.cjs.entry.js +10 -6
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +10 -3
- package/dist/cjs/salla-price-range.cjs.entry.js +7 -4
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card.cjs.entry.js +14 -9
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +9 -4
- package/dist/cjs/salla-products-list.cjs.entry.js +5 -4
- package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +7 -2
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +9 -3
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-scopes.cjs.entry.js +9 -2
- package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +8 -8
- package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +8 -3
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +7 -2
- package/dist/cjs/salla-trust-badges.cjs.entry.js +8 -4
- package/dist/cjs/salla-user-menu.cjs.entry.js +7 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +7 -3
- package/dist/cjs/salla-user-settings.cjs.entry.js +8 -3
- package/dist/cjs/salla-verify.cjs.entry.js +13 -6
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
- package/dist/cjs/translate-Cvomt6Jh.js +58 -0
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-DRrOfZz0.js → vanilla-picker-BaSDLxjI.js} +1 -1
- package/dist/collection/Helpers/translate.js +36 -0
- package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +7 -2
- package/dist/collection/components/salla-alert/salla-alert.js +5 -5
- package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +6 -1
- package/dist/collection/components/salla-booking-field/salla-booking-field.js +10 -4
- package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +23 -17
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +2 -0
- package/dist/collection/components/salla-button/salla-button.js +19 -27
- package/dist/collection/components/salla-cart-item-offers/salla-cart-item-offers.js +10 -3
- package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +2 -2
- package/dist/collection/components/salla-comment-form/salla-comment-form.js +10 -5
- package/dist/collection/components/salla-comments/salla-comment-item.js +8 -2
- package/dist/collection/components/salla-comments/salla-comments.js +9 -3
- package/dist/collection/components/salla-contacts/salla-contacts.js +9 -2
- package/dist/collection/components/salla-count-down/salla-count-down.js +23 -18
- package/dist/collection/components/salla-custom-fields/salla-custom-fields.js +4 -0
- package/dist/collection/components/salla-file-upload/salla-file-upload.js +8 -4
- package/dist/collection/components/salla-filters/salla-filters.js +10 -5
- package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +6 -3
- package/dist/collection/components/salla-gifting/salla-gifting.js +11 -6
- package/dist/collection/components/salla-hook/salla-hook.js +5 -1
- package/dist/collection/components/salla-infinite-scroll/salla-infinite-scroll.js +6 -1
- package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +15 -2
- package/dist/collection/components/salla-loyalty/salla-loyalty.js +12 -5
- package/dist/collection/components/salla-map/salla-map.js +12 -7
- package/dist/collection/components/salla-notifications/salla-notifications.js +6 -1
- package/dist/collection/components/salla-offer/salla-offer.js +12 -7
- package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +13 -6
- package/dist/collection/components/salla-order-branch/salla-order-branch.css +35 -0
- package/dist/collection/components/salla-order-branch/salla-order-branch.js +40 -2
- package/dist/collection/components/salla-order-summary/salla-order-summary.js +6 -3
- package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +1 -1
- package/dist/collection/components/salla-orders/salla-orders.js +9 -5
- package/dist/collection/components/salla-placeholder/salla-placeholder.js +10 -3
- package/dist/collection/components/salla-price-range/salla-price-range.js +6 -3
- package/dist/collection/components/salla-product-availability/salla-product-availability.js +16 -7
- package/dist/collection/components/salla-product-card/salla-product-card.js +22 -17
- package/dist/collection/components/salla-product-options/salla-product-options.js +9 -6
- package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +8 -3
- package/dist/collection/components/salla-products-list/salla-products-list.js +4 -3
- package/dist/collection/components/salla-progress-bar/salla-progress-bar.js +20 -4
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +6 -1
- package/dist/collection/components/salla-quick-order/salla-quick-order.js +6 -1
- package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +8 -2
- package/dist/collection/components/salla-rating-stars/salla-rating-stars.js +16 -16
- package/dist/collection/components/salla-review-card/salla-review-card.js +5 -1
- package/dist/collection/components/salla-reviews/salla-reviews.js +6 -1
- package/dist/collection/components/salla-scopes/salla-scopes.js +9 -2
- package/dist/collection/components/salla-skeleton/salla-skeleton.js +10 -10
- package/dist/collection/components/salla-slider/salla-slider.js +6 -3
- package/dist/collection/components/salla-social/salla-social.js +7 -2
- package/dist/collection/components/salla-tabs/salla-tab-header.js +3 -3
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +24 -19
- package/dist/collection/components/salla-tiered-offer/salla-tiered-offer.js +6 -1
- package/dist/collection/components/salla-trust-badges/salla-trust-badges.js +7 -3
- package/dist/collection/components/salla-user-menu/salla-user-menu.js +6 -0
- package/dist/collection/components/salla-user-profile/salla-user-profile.js +6 -2
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +7 -2
- package/dist/collection/components/salla-verify/salla-verify.js +13 -6
- package/dist/components/index.js +2 -2
- package/dist/components/salla-add-product-button2.js +7 -2
- package/dist/components/salla-alert.js +2 -2
- package/dist/components/salla-apps-icons.js +6 -1
- package/dist/components/salla-booking-field2.js +10 -4
- package/dist/components/salla-bottom-alert.js +23 -17
- package/dist/components/salla-bullet-delivery.js +1 -1
- package/dist/components/salla-button2.js +9 -17
- package/dist/components/salla-cart-item-offers.js +10 -3
- package/dist/components/salla-cart-summary.js +1 -1
- package/dist/components/salla-comment-form2.js +10 -5
- package/dist/components/salla-comment-item2.js +8 -2
- package/dist/components/salla-comments.js +9 -3
- package/dist/components/salla-contacts.js +9 -2
- package/dist/components/salla-count-down2.js +16 -11
- package/dist/components/salla-file-upload2.js +8 -4
- package/dist/components/salla-filters-widget2.js +6 -3
- package/dist/components/salla-filters.js +9 -4
- package/dist/components/salla-gifting.js +11 -6
- package/dist/components/salla-hook.js +1 -1
- package/dist/components/salla-infinite-scroll.js +6 -1
- package/dist/components/salla-localization-modal.js +15 -2
- package/dist/components/salla-loyalty.js +12 -5
- package/dist/components/salla-map2.js +12 -7
- package/dist/components/salla-notifications.js +6 -1
- package/dist/components/salla-offer-modal.js +13 -6
- package/dist/components/salla-offer.js +12 -7
- package/dist/components/salla-order-branch.js +41 -3
- package/dist/components/salla-order-summary.js +6 -3
- package/dist/components/salla-order-totals-card.js +1 -1
- package/dist/components/salla-orders.js +9 -5
- package/dist/components/salla-placeholder2.js +10 -3
- package/dist/components/salla-price-range2.js +6 -3
- package/dist/components/salla-product-availability2.js +16 -7
- package/dist/components/salla-product-card2.js +13 -8
- package/dist/components/salla-product-options2.js +9 -6
- package/dist/components/salla-product-size-guide.js +8 -3
- package/dist/components/salla-products-list2.js +4 -3
- package/dist/components/salla-progress-bar2.js +20 -4
- package/dist/components/salla-quick-buy2.js +6 -1
- package/dist/components/salla-quick-order.js +6 -1
- package/dist/components/salla-rating-modal2.js +8 -2
- package/dist/components/salla-rating-stars2.js +10 -10
- package/dist/components/salla-review-card2.js +1 -1
- package/dist/components/salla-reviews.js +6 -1
- package/dist/components/salla-scopes.js +9 -2
- package/dist/components/salla-skeleton2.js +7 -7
- package/dist/components/salla-slider2.js +6 -3
- package/dist/components/salla-social.js +7 -2
- package/dist/components/salla-tab-header2.js +3 -3
- package/dist/components/salla-tel-input2.js +24 -19
- package/dist/components/salla-tiered-offer.js +6 -1
- package/dist/components/salla-trust-badges.js +7 -3
- package/dist/components/salla-user-menu.js +6 -0
- package/dist/components/salla-user-profile.js +6 -2
- package/dist/components/salla-user-settings.js +7 -2
- package/dist/components/salla-verify.js +13 -6
- package/dist/components/translate.js +37 -1
- package/dist/docs.json +44 -44
- package/dist/esm/{filepond-okemUEVJ.js → filepond-DfLkIBAw.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-He-1QDcm.js → filepond-plugin-file-poster-D3ie06bz.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-BoQ9OZHK.js → filepond-plugin-file-validate-size-C_S_eFQe.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-BVxE-7xU.js → filepond-plugin-file-validate-type-BE7nqQRE.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-DJnNmArQ.js → filepond-plugin-image-edit-C6jDcMnX.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CgkqV9g5.js → filepond-plugin-image-exif-orientation-nKXdF-ae.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-DxbixTNR.js → filepond-plugin-image-preview-Dzl44GI1.js} +1 -1
- package/dist/esm/{index-C1mBhG6Z.js → index-BmRQjBRH.js} +2 -2
- package/dist/esm/{intlTelInput-wxpsRy0u.js → intlTelInput-dGrU4Iu9.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +10 -18
- package/dist/esm/salla-add-product-button_5.entry.js +37 -15
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +26 -20
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-applied-filters.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +7 -2
- package/dist/esm/salla-attachment-view_9.entry.js +50 -36
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.entry.js +2 -2
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +12 -5
- package/dist/esm/salla-cart-summary-card.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.entry.js +1 -1
- package/dist/esm/salla-comment-form_9.entry.js +44 -23
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +10 -3
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +17 -12
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +7 -4
- package/dist/esm/salla-filters.entry.js +10 -5
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +12 -7
- package/dist/esm/salla-hook.entry.js +2 -2
- package/dist/esm/salla-infinite-scroll.entry.js +7 -2
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +14 -2
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty.entry.js +12 -5
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.entry.js +39 -15
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +7 -2
- package/dist/esm/salla-offer-modal.entry.js +14 -7
- package/dist/esm/salla-offer.entry.js +14 -9
- package/dist/esm/salla-order-branch.entry.js +42 -4
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-options-modal.entry.js +1 -1
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +7 -4
- package/dist/esm/salla-order-totals-card.entry.js +2 -2
- package/dist/esm/salla-orders.entry.js +10 -6
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +10 -3
- package/dist/esm/salla-price-range.entry.js +7 -4
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card.entry.js +14 -9
- package/dist/esm/salla-product-size-guide.entry.js +9 -4
- package/dist/esm/salla-products-list.entry.js +5 -4
- package/dist/esm/salla-products-slider.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +7 -2
- package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +9 -3
- package/dist/esm/salla-review-factors-tags.entry.js +1 -1
- package/dist/esm/salla-review-order-item.entry.js +1 -1
- package/dist/esm/salla-scopes.entry.js +9 -2
- package/dist/esm/salla-search-product-card.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +8 -8
- package/dist/esm/salla-social-share.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +8 -3
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +7 -2
- package/dist/esm/salla-trust-badges.entry.js +8 -4
- package/dist/esm/salla-user-menu.entry.js +7 -1
- package/dist/esm/salla-user-profile.entry.js +7 -3
- package/dist/esm/salla-user-settings.entry.js +8 -3
- package/dist/esm/salla-verify.entry.js +13 -6
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/salla-wishlist-summary.entry.js +1 -1
- package/dist/esm/translate-CxrJQ3Jf.js +54 -0
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-CQEJbE9K.js → vanilla-picker-DRghK0RD.js} +1 -1
- package/dist/twilight/p-00e1f5fd.entry.js +4 -0
- package/dist/twilight/{p-da9bd7f6.entry.js → p-12338d19.entry.js} +1 -1
- package/dist/twilight/p-1557d0ca.entry.js +4 -0
- package/dist/twilight/{p-160476f0.entry.js → p-15ab81d6.entry.js} +1 -1
- package/dist/twilight/p-182d7bab.entry.js +4 -0
- package/dist/twilight/p-1908ab44.entry.js +4 -0
- package/dist/twilight/p-19592be3.entry.js +4 -0
- package/dist/twilight/{p-c82f46a9.entry.js → p-1a8c7481.entry.js} +1 -1
- package/dist/twilight/p-1c8bf883.entry.js +4 -0
- package/dist/twilight/{p-d6d72996.entry.js → p-1c8dde1a.entry.js} +1 -1
- package/dist/twilight/p-1f2844db.entry.js +4 -0
- package/dist/twilight/{p-3a465851.entry.js → p-2cf7eb3b.entry.js} +1 -1
- package/dist/twilight/p-2de4c351.entry.js +4 -0
- package/dist/twilight/{p-fd787b30.entry.js → p-2de666d8.entry.js} +1 -1
- package/dist/twilight/p-33e769b3.entry.js +4 -0
- package/dist/twilight/{p-f8aa1b23.entry.js → p-3745be6d.entry.js} +1 -1
- package/dist/twilight/p-39a16468.entry.js +4 -0
- package/dist/twilight/{p-8eb75cf8.entry.js → p-3a996401.entry.js} +1 -1
- package/dist/twilight/{p-81596b48.entry.js → p-3bf933f6.entry.js} +1 -1
- package/dist/twilight/p-3d1842e4.entry.js +4 -0
- package/dist/twilight/p-3f373f1e.entry.js +4 -0
- package/dist/twilight/{p-b3abf071.entry.js → p-3f66f717.entry.js} +1 -1
- package/dist/twilight/p-3fdaf198.entry.js +4 -0
- package/dist/twilight/p-41248f5f.entry.js +4 -0
- package/dist/twilight/{p-ca7593c0.entry.js → p-4235b3c2.entry.js} +1 -1
- package/dist/twilight/{p-caee5b0d.entry.js → p-4aa07eca.entry.js} +1 -1
- package/dist/twilight/{p-1080831a.entry.js → p-4b111d7a.entry.js} +1 -1
- package/dist/twilight/{p-d75157e0.entry.js → p-51694dd2.entry.js} +1 -1
- package/dist/twilight/{p-8513fec2.entry.js → p-55b5158c.entry.js} +1 -1
- package/dist/twilight/{p-e4589779.entry.js → p-5617656f.entry.js} +1 -1
- package/dist/twilight/{p-ac20a6de.entry.js → p-58dcc966.entry.js} +1 -1
- package/dist/twilight/p-5f35b46a.entry.js +4 -0
- package/dist/twilight/{p-62653d93.entry.js → p-60e1fb1a.entry.js} +1 -1
- package/dist/twilight/{p-7ac91ace.entry.js → p-61956814.entry.js} +1 -1
- package/dist/twilight/p-6854e982.entry.js +4 -0
- package/dist/twilight/{p-fac4da2b.entry.js → p-68919916.entry.js} +1 -1
- package/dist/twilight/p-6b0d6b9b.entry.js +4 -0
- package/dist/twilight/p-71cbf7a4.entry.js +4 -0
- package/dist/twilight/{p-c28395c6.entry.js → p-730101ff.entry.js} +1 -1
- package/dist/twilight/p-737b93c2.entry.js +4 -0
- package/dist/twilight/p-74ccf675.entry.js +4 -0
- package/dist/twilight/{p-f47a1351.entry.js → p-7aa15258.entry.js} +1 -1
- package/dist/twilight/{p-d6508494.entry.js → p-7c7648d7.entry.js} +1 -1
- package/dist/twilight/p-7dfe99e6.entry.js +4 -0
- package/dist/twilight/{p-54bc613c.entry.js → p-7e724019.entry.js} +1 -1
- package/dist/twilight/p-8248cecd.entry.js +4 -0
- package/dist/twilight/p-844ebeb6.entry.js +4 -0
- package/dist/twilight/{p-8ec0fc03.entry.js → p-87cedb04.entry.js} +1 -1
- package/dist/twilight/p-8b21158b.entry.js +4 -0
- package/dist/twilight/{p-844176cb.entry.js → p-8c10cb85.entry.js} +1 -1
- package/dist/twilight/p-8e2488fe.entry.js +4 -0
- package/dist/twilight/{p-c89282b0.entry.js → p-9108e712.entry.js} +1 -1
- package/dist/twilight/p-91326a74.entry.js +4 -0
- package/dist/twilight/{p-60d06105.entry.js → p-96f9eb1f.entry.js} +1 -1
- package/dist/twilight/p-99463d58.entry.js +4 -0
- package/dist/twilight/p-9e196eb0.entry.js +4 -0
- package/dist/twilight/{p-CtcjG32v.js → p-B4fbRnFh.js} +1 -1
- package/dist/twilight/{p-BB23a2fo.js → p-BIToxPOg.js} +1 -1
- package/dist/twilight/{p-C1mBhG6Z.js → p-BmRQjBRH.js} +1 -1
- package/dist/twilight/{p-E2n9kJc8.js → p-C1XjCBHg.js} +1 -1
- package/dist/twilight/{p-DiU9tYvl.js → p-C48Rktr4.js} +1 -1
- package/dist/twilight/{p-Bm1ywp6t.js → p-CWismw4I.js} +1 -1
- package/dist/twilight/p-CxrJQ3Jf.js +4 -0
- package/dist/twilight/{p-CJPWrlxL.js → p-DYEGhE1O.js} +1 -1
- package/dist/twilight/{p-Gxv67UlH.js → p-DnZfyhH5.js} +1 -1
- package/dist/twilight/{p-pzi0Osm7.js → p-OCGvfvVA.js} +1 -1
- package/dist/twilight/{p-672a709e.entry.js → p-a80acba3.entry.js} +1 -1
- package/dist/twilight/{p-474997dd.entry.js → p-ab1d320f.entry.js} +1 -1
- package/dist/twilight/{p-dbc1e40c.entry.js → p-ac7d45b6.entry.js} +1 -1
- package/dist/twilight/{p-e43c49e9.entry.js → p-aeafb519.entry.js} +1 -1
- package/dist/twilight/p-b5499627.entry.js +4 -0
- package/dist/twilight/{p-e98835e3.entry.js → p-b5829615.entry.js} +1 -1
- package/dist/twilight/p-b6c5435e.entry.js +4 -0
- package/dist/twilight/{p-5e426c78.entry.js → p-baaa3e72.entry.js} +1 -1
- package/dist/twilight/{p-5e099f96.entry.js → p-bfdde3db.entry.js} +1 -1
- package/dist/twilight/p-c22ea75b.entry.js +4 -0
- package/dist/twilight/{p-1a5d0b25.entry.js → p-c3d33aee.entry.js} +1 -1
- package/dist/twilight/{p-f130c67f.entry.js → p-c5d4f71c.entry.js} +1 -1
- package/dist/twilight/{p-a11b77df.entry.js → p-cc46f297.entry.js} +1 -1
- package/dist/twilight/p-cca10a34.entry.js +4 -0
- package/dist/twilight/p-cdbb6758.entry.js +4 -0
- package/dist/twilight/{p-f643bf2f.entry.js → p-cf1cc0d1.entry.js} +1 -1
- package/dist/twilight/{p-67d3ee58.entry.js → p-d034a3ba.entry.js} +1 -1
- package/dist/twilight/{p-dcb5ceda.entry.js → p-d307d40a.entry.js} +1 -1
- package/dist/twilight/p-d37e6c2f.entry.js +4 -0
- package/dist/twilight/{p-21ba0eac.entry.js → p-d3be7885.entry.js} +1 -1
- package/dist/twilight/{p-9d434410.entry.js → p-d542e647.entry.js} +1 -1
- package/dist/twilight/{p-f3985cfd.entry.js → p-db9994c2.entry.js} +1 -1
- package/dist/twilight/p-dd4bcce0.entry.js +4 -0
- package/dist/twilight/{p-de55326d.entry.js → p-de3c5f91.entry.js} +1 -1
- package/dist/twilight/{p-342b31ba.entry.js → p-e2d1d888.entry.js} +1 -1
- package/dist/twilight/{p-6602a61a.entry.js → p-e6bc3cf4.entry.js} +1 -1
- package/dist/twilight/{p-12a2b743.entry.js → p-e8d94147.entry.js} +1 -1
- package/dist/twilight/{p-e00ed6c9.entry.js → p-e9319448.entry.js} +1 -1
- package/dist/twilight/{p-4bde9c4e.entry.js → p-ec1589cf.entry.js} +1 -1
- package/dist/twilight/{p-58058ae9.entry.js → p-ece1fecd.entry.js} +1 -1
- package/dist/twilight/{p-97bb12a6.entry.js → p-f0180034.entry.js} +1 -1
- package/dist/twilight/{p-4b0eaa16.entry.js → p-f348601d.entry.js} +1 -1
- package/dist/twilight/{p-c28c53c3.entry.js → p-f5afeed8.entry.js} +1 -1
- package/dist/twilight/p-f70fa2e9.entry.js +4 -0
- package/dist/twilight/{p-80699771.entry.js → p-f76349b3.entry.js} +1 -1
- package/dist/twilight/{p-5babb989.entry.js → p-fa600113.entry.js} +1 -1
- package/dist/twilight/p-fde4cf31.entry.js +4 -0
- package/dist/twilight/{p-cb770a9e.entry.js → p-fe3645b0.entry.js} +1 -1
- package/dist/twilight/{p-8bdb7f71.entry.js → p-feb068a2.entry.js} +1 -1
- package/dist/twilight/{p-C57CqqgQ.js → p-imI5he7m.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/Helpers/translate.d.ts +17 -0
- package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -1
- package/dist/types/components/salla-alert/salla-alert.d.ts +3 -3
- package/dist/types/components/salla-apps-icons/salla-apps-icons.d.ts +3 -0
- package/dist/types/components/salla-booking-field/salla-booking-field.d.ts +3 -0
- package/dist/types/components/salla-bottom-alert/salla-bottom-alert.d.ts +3 -1
- package/dist/types/components/salla-button/salla-button.d.ts +10 -18
- package/dist/types/components/salla-cart-item-offers/salla-cart-item-offers.d.ts +3 -0
- package/dist/types/components/salla-cart-summary/salla-cart-summary.d.ts +2 -2
- package/dist/types/components/salla-comment-form/salla-comment-form.d.ts +3 -0
- package/dist/types/components/salla-comments/salla-comment-item.d.ts +3 -1
- package/dist/types/components/salla-comments/salla-comments.d.ts +3 -0
- package/dist/types/components/salla-contacts/salla-contacts.d.ts +4 -0
- package/dist/types/components/salla-count-down/salla-count-down.d.ts +17 -14
- package/dist/types/components/salla-custom-fields/salla-custom-fields.d.ts +4 -0
- package/dist/types/components/salla-file-upload/salla-file-upload.d.ts +2 -0
- package/dist/types/components/salla-filters/salla-filters.d.ts +4 -1
- package/dist/types/components/salla-filters-widget/salla-filters-widget.d.ts +2 -0
- package/dist/types/components/salla-gifting/salla-gifting.d.ts +3 -0
- package/dist/types/components/salla-hook/salla-hook.d.ts +4 -0
- package/dist/types/components/salla-infinite-scroll/salla-infinite-scroll.d.ts +3 -0
- package/dist/types/components/salla-localization-modal/salla-localization-modal.d.ts +4 -0
- package/dist/types/components/salla-loyalty/salla-loyalty.d.ts +3 -0
- package/dist/types/components/salla-map/salla-map.d.ts +3 -0
- package/dist/types/components/salla-notifications/salla-notifications.d.ts +3 -1
- package/dist/types/components/salla-offer/salla-offer.d.ts +3 -0
- package/dist/types/components/salla-offer-modal/salla-offer-modal.d.ts +3 -0
- package/dist/types/components/salla-order-branch/interfaces.d.ts +1 -0
- package/dist/types/components/salla-order-branch/salla-order-branch.d.ts +10 -1
- package/dist/types/components/salla-order-summary/salla-order-summary.d.ts +2 -0
- package/dist/types/components/salla-order-totals-card/interfaces.d.ts +1 -0
- package/dist/types/components/salla-orders/salla-orders.d.ts +3 -1
- package/dist/types/components/salla-placeholder/salla-placeholder.d.ts +3 -1
- package/dist/types/components/salla-price-range/salla-price-range.d.ts +2 -0
- package/dist/types/components/salla-product-availability/salla-product-availability.d.ts +4 -0
- package/dist/types/components/salla-product-card/salla-product-card.d.ts +12 -9
- package/dist/types/components/salla-product-options/salla-product-options.d.ts +2 -0
- package/dist/types/components/salla-product-size-guide/salla-product-size-guide.d.ts +3 -0
- package/dist/types/components/salla-products-list/salla-products-list.d.ts +1 -0
- package/dist/types/components/salla-progress-bar/salla-progress-bar.d.ts +5 -0
- package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +3 -1
- package/dist/types/components/salla-quick-order/salla-quick-order.d.ts +3 -0
- package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +3 -0
- package/dist/types/components/salla-rating-stars/salla-rating-stars.d.ts +14 -14
- package/dist/types/components/salla-review-card/salla-review-card.d.ts +4 -0
- package/dist/types/components/salla-reviews/salla-reviews.d.ts +3 -0
- package/dist/types/components/salla-scopes/salla-scopes.d.ts +3 -0
- package/dist/types/components/salla-skeleton/salla-skeleton.d.ts +6 -6
- package/dist/types/components/salla-slider/salla-slider.d.ts +2 -0
- package/dist/types/components/salla-social/salla-social.d.ts +3 -0
- package/dist/types/components/salla-tabs/salla-tab-header.d.ts +2 -2
- package/dist/types/components/salla-tel-input/salla-tel-input.d.ts +3 -1
- package/dist/types/components/salla-tiered-offer/salla-tiered-offer.d.ts +3 -1
- package/dist/types/components/salla-trust-badges/salla-trust-badges.d.ts +3 -1
- package/dist/types/components/salla-user-menu/salla-user-menu.d.ts +3 -0
- package/dist/types/components/salla-user-profile/salla-user-profile.d.ts +3 -1
- package/dist/types/components/salla-user-settings/salla-user-settings.d.ts +3 -0
- package/dist/types/components/salla-verify/salla-verify.d.ts +3 -0
- package/dist/types/components.d.ts +128 -80
- package/package.json +5 -5
- package/dist/cjs/translate-BeU1QX_r.js +0 -20
- package/dist/esm/translate-CrSV-tno.js +0 -18
- package/dist/twilight/p-020eb2a1.entry.js +0 -4
- package/dist/twilight/p-06799084.entry.js +0 -4
- package/dist/twilight/p-0a3abfd4.entry.js +0 -4
- package/dist/twilight/p-0ef388be.entry.js +0 -4
- package/dist/twilight/p-1f99db23.entry.js +0 -4
- package/dist/twilight/p-232c39e9.entry.js +0 -4
- package/dist/twilight/p-305ed224.entry.js +0 -4
- package/dist/twilight/p-3a4cf66c.entry.js +0 -4
- package/dist/twilight/p-3c4702bb.entry.js +0 -4
- package/dist/twilight/p-3dcb5129.entry.js +0 -4
- package/dist/twilight/p-43d0c80e.entry.js +0 -4
- package/dist/twilight/p-50bbbd18.entry.js +0 -4
- package/dist/twilight/p-51c26ce7.entry.js +0 -4
- package/dist/twilight/p-54054ab9.entry.js +0 -4
- package/dist/twilight/p-5c1a36ab.entry.js +0 -4
- package/dist/twilight/p-5cf3929c.entry.js +0 -4
- package/dist/twilight/p-8028be6f.entry.js +0 -4
- package/dist/twilight/p-82939afe.entry.js +0 -4
- package/dist/twilight/p-85cff524.entry.js +0 -4
- package/dist/twilight/p-8dfdd6c9.entry.js +0 -4
- package/dist/twilight/p-92f6aa52.entry.js +0 -4
- package/dist/twilight/p-CrSV-tno.js +0 -4
- package/dist/twilight/p-a4aac112.entry.js +0 -4
- package/dist/twilight/p-a52bfa57.entry.js +0 -4
- package/dist/twilight/p-a9aadc0b.entry.js +0 -4
- package/dist/twilight/p-bc26490f.entry.js +0 -4
- package/dist/twilight/p-bef93c52.entry.js +0 -4
- package/dist/twilight/p-c30bfc0b.entry.js +0 -4
- package/dist/twilight/p-cbcca1ff.entry.js +0 -4
- package/dist/twilight/p-d81bcfb3.entry.js +0 -4
- package/dist/twilight/p-e67b2aa8.entry.js +0 -4
- package/dist/twilight/p-e9ce8dec.entry.js +0 -4
- package/dist/twilight/p-eb718f6b.entry.js +0 -4
- package/dist/twilight/p-ec361a66.entry.js +0 -4
- package/dist/twilight/p-f32de457.entry.js +0 -4
- package/dist/twilight/p-f626ef96.entry.js +0 -4
- package/dist/twilight/p-f6df7f8a.entry.js +0 -4
- package/dist/twilight/p-fd3bb3f2.entry.js +0 -4
|
@@ -14,3 +14,39 @@ export function translate(key, replacements, fallback) {
|
|
|
14
14
|
const value = salla.lang.get(key, replacements);
|
|
15
15
|
return !value || value === key ? fallback : value;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* The value stored for `key` in one locale bucket of `salla.lang.messages` (e.g. `'en.trans'`).
|
|
19
|
+
* Read the bucket directly: `salla.lang.get()` falls back to English, so it can't tell which locale is missing.
|
|
20
|
+
*/
|
|
21
|
+
function getLocaleTranslation(locale, key) {
|
|
22
|
+
return key.split('.').reduce((node, part) => node?.[part], salla.lang.messages?.[locale]);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Register bundled ar/en defaults only where a locale has no translation for the key yet.
|
|
26
|
+
*
|
|
27
|
+
* `salla.lang.addBulk()` overwrites, and a `salla.lang.subscribe()` callback runs again on every
|
|
28
|
+
* `salla.lang.setMessages()`, so adding unconditionally would replace the store's own text for these keys.
|
|
29
|
+
*/
|
|
30
|
+
export function addMissingTranslations(defaults) {
|
|
31
|
+
const missing = Object.entries(defaults).reduce((acc, [key, translations]) => {
|
|
32
|
+
Object.entries(translations).forEach(([locale, value]) => {
|
|
33
|
+
if (getLocaleTranslation(`${locale}.trans`, key) === undefined) {
|
|
34
|
+
(acc[key] = acc[key] || {})[locale] = value;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return acc;
|
|
38
|
+
}, {});
|
|
39
|
+
if (Object.keys(missing).length) {
|
|
40
|
+
salla.lang.addBulk(missing);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set a bundled default in one locale bucket of `salla.lang.messages` (e.g. `'en.trans'`), unless that key
|
|
45
|
+
* already has a value there. Same reason as {@link addMissingTranslations}: `setNested()` overwrites.
|
|
46
|
+
*/
|
|
47
|
+
export function setTranslationDefault(locale, key, value) {
|
|
48
|
+
const messages = salla.lang.messages?.[locale];
|
|
49
|
+
if (messages && getLocaleTranslation(locale, key) === undefined) {
|
|
50
|
+
salla.helpers.setNested(messages, key, value);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { Host, h } from "@stencil/core";
|
|
4
|
+
import { Host, h, forceUpdate } from "@stencil/core";
|
|
5
5
|
import Cart from "../../assets/svg/cart.svg";
|
|
6
6
|
// import SallaIcon from '../../assets/svg/salla.svg';
|
|
7
7
|
import WalletIcon from "../../assets/svg/full-wallet.svg";
|
|
@@ -48,8 +48,12 @@ export class SallaAddProductButton {
|
|
|
48
48
|
this.isDesktopViewport = e.matches;
|
|
49
49
|
this.btn?.setText((e.matches && !!this.passedLabel) ? this.passedLabel : this.getLabel());
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
}
|
|
52
|
+
connectedCallback() {
|
|
53
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
52
54
|
this.buyNowText = salla.lang.get('pages.products.buy_now');
|
|
55
|
+
// re-render so componentDidRender() re-applies the button label
|
|
56
|
+
forceUpdate(this);
|
|
53
57
|
});
|
|
54
58
|
}
|
|
55
59
|
/**
|
|
@@ -377,6 +381,7 @@ export class SallaAddProductButton {
|
|
|
377
381
|
salla.lang.onLoaded(() => this.btn?.setText(this.getLabel()));
|
|
378
382
|
}
|
|
379
383
|
disconnectedCallback() {
|
|
384
|
+
this.langUnsubscribe?.();
|
|
380
385
|
this.viewportMediaQuery?.removeEventListener('change', this.onViewportChange);
|
|
381
386
|
salla.product?.event?.offPriceUpdated?.(this.onBuyNowPriceUpdated);
|
|
382
387
|
}
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import informationIcon from "../../assets/svg/information-line.svg";
|
|
6
6
|
export class SallaAlert {
|
|
7
7
|
constructor() {
|
|
8
|
-
/**
|
|
8
|
+
/** The visual style/theme of the alert. Can be 'info', 'success', 'warning', or 'error'. Default is 'info'. */
|
|
9
9
|
this.variant = 'info';
|
|
10
10
|
}
|
|
11
11
|
renderIcon() {
|
|
@@ -24,7 +24,7 @@ export class SallaAlert {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
|
-
return (h(Host, { key: '
|
|
27
|
+
return (h(Host, { key: 'c1a1e9575ed9aab90960ad3a54ada18d8e3ee240', class: `s-alert-wrapper s-alert-${this.variant}` }, h("span", { key: '7fb08789ad8355cc4bd441a5869e95d2337685a5', class: "s-alert-icon" }, this.renderIcon()), h("span", { key: 'ed3c4fcb5450f21caedeeca28a9a177b151333ec', class: "s-alert-text" }, this.message, h("slot", { key: '6818451171f85fd6ad63f07c69871082d3fcba4e' }))));
|
|
28
28
|
}
|
|
29
29
|
static get is() { return "salla-alert"; }
|
|
30
30
|
static get originalStyleUrls() {
|
|
@@ -52,7 +52,7 @@ export class SallaAlert {
|
|
|
52
52
|
"optional": false,
|
|
53
53
|
"docs": {
|
|
54
54
|
"tags": [],
|
|
55
|
-
"text": "
|
|
55
|
+
"text": "The alert message text to display."
|
|
56
56
|
},
|
|
57
57
|
"getter": false,
|
|
58
58
|
"setter": false,
|
|
@@ -71,7 +71,7 @@ export class SallaAlert {
|
|
|
71
71
|
"optional": false,
|
|
72
72
|
"docs": {
|
|
73
73
|
"tags": [],
|
|
74
|
-
"text": "
|
|
74
|
+
"text": "The visual style/theme of the alert. Can be 'info', 'success', 'warning', or 'error'. Default is 'info'."
|
|
75
75
|
},
|
|
76
76
|
"getter": false,
|
|
77
77
|
"setter": false,
|
|
@@ -91,7 +91,7 @@ export class SallaAlert {
|
|
|
91
91
|
"optional": true,
|
|
92
92
|
"docs": {
|
|
93
93
|
"tags": [],
|
|
94
|
-
"text": "
|
|
94
|
+
"text": "The icon type to display. Defaults to the variant type. Set to 'none' to hide the icon."
|
|
95
95
|
},
|
|
96
96
|
"getter": false,
|
|
97
97
|
"setter": false,
|
|
@@ -12,10 +12,15 @@ export class SallaAppsIcons {
|
|
|
12
12
|
salla.onReady(() => {
|
|
13
13
|
this.apps = salla.config.get('store.apps');
|
|
14
14
|
});
|
|
15
|
-
|
|
15
|
+
}
|
|
16
|
+
connectedCallback() {
|
|
17
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
16
18
|
this.appsTitle = salla.lang.get('blocks.footer.download_apps');
|
|
17
19
|
});
|
|
18
20
|
}
|
|
21
|
+
disconnectedCallback() {
|
|
22
|
+
this.langUnsubscribe?.();
|
|
23
|
+
}
|
|
19
24
|
getAppsArray() {
|
|
20
25
|
return Object.entries(this.apps)
|
|
21
26
|
.map(([name, value]) => ({ name, value }));
|
|
@@ -5,6 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import BookingTime from "../../assets/svg/calendar-time.svg";
|
|
6
6
|
import Calendar from "../../assets/svg/calendar.svg";
|
|
7
7
|
import TimeIcon from "../../assets/svg/time.svg";
|
|
8
|
+
import { setTranslationDefault } from "../../Helpers/translate";
|
|
8
9
|
export class SallaBookingField {
|
|
9
10
|
constructor() {
|
|
10
11
|
this.bookNowLabel = salla.lang.get('pages.cart.book_an_appointment', 'حجز موعد');
|
|
@@ -14,15 +15,20 @@ export class SallaBookingField {
|
|
|
14
15
|
this.bookingUrl = '';
|
|
15
16
|
this.iframeReady = false;
|
|
16
17
|
this.reservations = [];
|
|
17
|
-
// Load translations
|
|
18
|
-
salla.lang.onLoaded(() => this.setTranslations());
|
|
19
18
|
// Register event listeners
|
|
20
19
|
Salla.event.on('booking::open', (data) => this.handleBookingOpen(data));
|
|
21
20
|
}
|
|
21
|
+
connectedCallback() {
|
|
22
|
+
// Load translations
|
|
23
|
+
this.langUnsubscribe = salla.lang.subscribe(() => this.setTranslations());
|
|
24
|
+
}
|
|
25
|
+
disconnectedCallback() {
|
|
26
|
+
this.langUnsubscribe?.();
|
|
27
|
+
}
|
|
22
28
|
async setTranslations() {
|
|
23
29
|
const setNestedAsync = (lang, key, value) => {
|
|
24
30
|
return new Promise((resolve) => {
|
|
25
|
-
|
|
31
|
+
setTranslationDefault(lang, key, value);
|
|
26
32
|
resolve(true);
|
|
27
33
|
});
|
|
28
34
|
};
|
|
@@ -148,7 +154,7 @@ export class SallaBookingField {
|
|
|
148
154
|
return (h("span", { class: "s-booking-field-reservations-time" }, h("i", { class: "s-booking-field-reservations-icon", innerHTML: TimeIcon }), h("span", null, reservation.from_timestamp, " - ", reservation.to_timestamp)));
|
|
149
155
|
}
|
|
150
156
|
render() {
|
|
151
|
-
return (h(Host, { key: '
|
|
157
|
+
return (h(Host, { key: '58a42c3f74c835039e3eeab63b3fdb8b1ab3f3d7' }, h("div", { key: '3e700a1f5de967167a1a5014ee6a39ae99ce53e7', class: "s-booking-field-main" }, this.option.required || this.reservations.length > 0 ? h("div", { class: "s-booking-field-price" }, h("span", { innerHTML: salla.money(this.option.price) })) : '', h("salla-button", { key: '7f86d43a5a5100869f249b690545269e218a1799', class: "s-booking-field-book-now", size: "small", loaderPosition: "center", fill: "outline", onClick: event => this.openBookingModal(event, false) }, h("span", { key: '9a8b446c2d59ffe0b2800d48de1911c2b94a9078', class: "s-booking-field-book-now-content" }, h("span", { key: '678a8be040e17bdd6234c05d79a29fb45286156d', innerHTML: BookingTime }), this.reservations.length ? this.editLabel : this.bookNowLabel))), this.reservations.length > 0 && (h("div", { key: 'c1271b41d4584887a2c4e07b90c4d3b7ef285447', class: "s-booking-field-reservations" }, this.reservations.map((reservation, index) => (h("div", { key: index, class: "s-booking-field-reservations-item" }, this.renderReservationDate(reservation), this.renderReservationTime(reservation)))))), h("input", { key: 'b4f42ddb7adee25ef281805491bd4e5effc73ab9', class: "s-hidden", name: this.option.name, required: this.option.required, value: JSON.stringify(this.reservations) === '[]' ? '' : JSON.stringify(this.reservations), ref: reservations => this.reservationsInput = reservations }), this.iframeReady && this.bookingModal()));
|
|
152
158
|
}
|
|
153
159
|
static get is() { return "salla-booking-field"; }
|
|
154
160
|
static get originalStyleUrls() {
|
|
@@ -7,6 +7,7 @@ import cartIcon from "../../assets/svg/cart.svg";
|
|
|
7
7
|
import imageIcon from "../../assets/svg/image.svg";
|
|
8
8
|
import moneyIcon from "../../assets/svg/money-card.svg";
|
|
9
9
|
import checkCircleIcon from "../../assets/svg/check-circle.svg";
|
|
10
|
+
import { setTranslationDefault } from "../../Helpers/translate";
|
|
10
11
|
export class SallaBottomAlert {
|
|
11
12
|
constructor() {
|
|
12
13
|
this.storeId = salla.config.get('store.id');
|
|
@@ -31,7 +32,9 @@ export class SallaBottomAlert {
|
|
|
31
32
|
* Alert Type
|
|
32
33
|
* */
|
|
33
34
|
this.type = 'popup';
|
|
34
|
-
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
35
38
|
this.defaultMessage = salla.lang.get('common.elements.experimental_and_available_store');
|
|
36
39
|
this.defaultActionLabel = salla.lang.get('common.elements.know_more');
|
|
37
40
|
this.storeFeatures = salla.lang.get('common.elements.store_features');
|
|
@@ -42,20 +45,20 @@ export class SallaBottomAlert {
|
|
|
42
45
|
const enTrans = salla.lang.messages?.['en.trans'];
|
|
43
46
|
if (!arTrans || !enTrans)
|
|
44
47
|
return;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
setTranslationDefault('ar.trans', 'common.elements.more_details', 'تفاصيل أكثر');
|
|
49
|
+
setTranslationDefault('en.trans', 'common.elements.more_details', 'More Details');
|
|
50
|
+
setTranslationDefault('ar.trans', 'common.elements.store_price', 'سعر المتجر');
|
|
51
|
+
setTranslationDefault('en.trans', 'common.elements.store_price', 'Store Price');
|
|
52
|
+
setTranslationDefault('ar.trans', 'common.elements.the_developer', 'المطور');
|
|
53
|
+
setTranslationDefault('en.trans', 'common.elements.the_developer', 'the developer');
|
|
54
|
+
setTranslationDefault('ar.trans', 'common.elements.store_price_details', 'السعر يشمل');
|
|
55
|
+
setTranslationDefault('en.trans', 'common.elements.store_price_details', 'Price Includes');
|
|
56
|
+
setTranslationDefault('ar.trans', 'common.elements.salla', 'سلة');
|
|
57
|
+
setTranslationDefault('en.trans', 'common.elements.salla', 'Salla');
|
|
58
|
+
setTranslationDefault('ar.trans', 'common.elements.store_is_available_for_purchase', 'هذا المتجر تطويري ومتاح للشراء من');
|
|
59
|
+
setTranslationDefault('en.trans', 'common.elements.store_is_available_for_purchase', 'This ready store is available for purchase from');
|
|
60
|
+
setTranslationDefault('ar.trans', 'common.elements.ready_stores', 'المتاجر الجاهزة');
|
|
61
|
+
setTranslationDefault('en.trans', 'common.elements.ready_stores', 'Ready Stores');
|
|
59
62
|
setTimeout(() => {
|
|
60
63
|
this.storePrice = salla.lang.get('common.elements.store_price');
|
|
61
64
|
this.theDeveloper = salla.lang.get('common.elements.the_developer');
|
|
@@ -68,6 +71,9 @@ export class SallaBottomAlert {
|
|
|
68
71
|
}, 100);
|
|
69
72
|
});
|
|
70
73
|
}
|
|
74
|
+
disconnectedCallback() {
|
|
75
|
+
this.langUnsubscribe?.();
|
|
76
|
+
}
|
|
71
77
|
componentDidLoad() {
|
|
72
78
|
// Fetch template data on mount if there's a template
|
|
73
79
|
if (this.template &&
|
|
@@ -128,9 +134,9 @@ export class SallaBottomAlert {
|
|
|
128
134
|
}
|
|
129
135
|
render() {
|
|
130
136
|
const hasTemplate = this.template && typeof this.template === 'object' && Object.keys(this.template).length > 0;
|
|
131
|
-
return (h(Host, { key: '
|
|
137
|
+
return (h(Host, { key: '4c3b1d7d0be604027b8b95fd78b9b464621e526a', class: `s-bottom-alert-wrapper ${hasTemplate ? 's-bottom-alert-wrapper-with-template' : ''}` }, hasTemplate && (h("div", { key: '6c90fd96f45ca304de08324a3ae40de3e868dc23', class: "s-bottom-alert-logo-section" }, h("img", { key: 'f84bae86ce5d82750d7ba6d2d29ce81140e1fe3f', src: "https://cdn.salla.network/images/logo/logo-light.svg", alt: "Salla", class: "s-bottom-alert-logo" }), h("span", { key: '8e78eb67f2b02934fe9fe9ed08aa3b0fb81c82d4', class: "s-bottom-alert-logo-text" }, this.readyStores))), h("div", { key: '1c64cbdced918c2568089c9e0c9cd6b3ec02229a', class: "s-bottom-alert-content" }, h("div", { key: 'bdbfa17a0c192ddfd5e315b097a1c6dae8b30047', class: "flex items-center gap-2" }, h("div", { key: 'e908c88635ac3a38a609aa21a4e6aa901fc5d7eb', class: "s-bottom-alert-icon" }, this.icon ? h("i", { class: this.icon }) : h("i", { innerHTML: infoIcon })), h("div", { key: 'a57c3f1d12302dae8bce086cc7a76c6251a1de37', class: "s-bottom-alert-message" }, this.message ? (this.message) : hasTemplate ? (h("span", { class: "flex flex-wrap items-center gap-1" }, this.defaultMessage, h("span", { class: {
|
|
132
138
|
's-bottom-alert-message-highlight': true,
|
|
133
|
-
}, "aria-label": "Developer" }, this.salla), h("span", { innerHTML: salla.money(this.template.price) }))) : (this.defaultMessage))), this.type !== 'banner' && (h("div", { key: '
|
|
139
|
+
}, "aria-label": "Developer" }, this.salla), h("span", { innerHTML: salla.money(this.template.price) }))) : (this.defaultMessage))), this.type !== 'banner' && (h("div", { key: 'f80ef6a48ed2b1d0c6e3aacf1988878bc8eee9a3', class: hasTemplate ? 's-bottom-alert-actions-group' : 's-bottom-alert-action' }, hasTemplate ? (this.loading ? (h("salla-loading", { size: "20" })) : (h("div", { class: "s-bottom-alert-actions-group-container" }, h("a", { class: "s-bottom-alert-action-link", onClick: () => this.handleAction() }, this.actionLabel || this.moreDetailsLabel), this.templateData?.link ? (h("button", { type: "button", class: "s-bottom-alert-action-purchase-button", onClick: () => window.open(this.templateData?.link, '_blank') }, this.buyTheTemplate)) : null))) : (h("salla-button", { href: this.actionUrl, size: "medium", onClick: () => this.handleAction(), width: "normal" }, this.actionLabel || this.defaultActionLabel)))), this.type === 'popup' && this.popup())));
|
|
134
140
|
}
|
|
135
141
|
static get is() { return "salla-bottom-alert"; }
|
|
136
142
|
static get originalStyleUrls() {
|
|
@@ -675,6 +675,7 @@
|
|
|
675
675
|
color: rgb(107 114 128 / var(--tw-text-opacity, 1));
|
|
676
676
|
}
|
|
677
677
|
.s-bullet-delivery-addresses-list{
|
|
678
|
+
position: relative;
|
|
678
679
|
display: flex;
|
|
679
680
|
max-height: 260px;
|
|
680
681
|
flex-direction: column;
|
|
@@ -923,6 +924,7 @@
|
|
|
923
924
|
overflow: hidden;
|
|
924
925
|
}
|
|
925
926
|
.s-bullet-delivery-branches-list{
|
|
927
|
+
position: relative;
|
|
926
928
|
max-height: min(260px, 32svh);
|
|
927
929
|
overflow-y: auto;
|
|
928
930
|
border-radius: 0.5rem;
|
|
@@ -5,27 +5,27 @@ import { h, Host } from "@stencil/core";
|
|
|
5
5
|
export class SallaButton {
|
|
6
6
|
constructor() {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* The shape/variant of the button. Can be 'link' (text-only style), 'icon' (circular icon button), or 'btn' (standard button). Default is 'btn'.
|
|
9
9
|
*/
|
|
10
10
|
this.shape = 'btn';
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* The color theme of the button. Available options: 'primary', 'success', 'warning', 'danger', 'light', 'gray', 'dark'. Default is 'primary'.
|
|
13
13
|
*/
|
|
14
14
|
this.color = 'primary';
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* The fill style of the button. 'solid' (filled background), 'outline' (bordered, transparent background), or 'none'. Default is 'solid'.
|
|
17
17
|
*/
|
|
18
18
|
this.fill = 'solid';
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* The size of the button. Can be 'small', 'medium', or 'large'. Default is 'medium'.
|
|
21
21
|
*/
|
|
22
22
|
this.size = 'medium';
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* The width of the button. 'wide' makes the button full-width, 'normal' uses auto width. Default is 'normal'.
|
|
25
25
|
*/
|
|
26
26
|
this.width = 'normal';
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Shows a loading spinner on the button. Default is false.
|
|
29
29
|
*/
|
|
30
30
|
this.loading = false;
|
|
31
31
|
/**
|
|
@@ -35,23 +35,15 @@ export class SallaButton {
|
|
|
35
35
|
*/
|
|
36
36
|
this.enableLoader = true;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* Disables the button, preventing user interaction. Default is false.
|
|
39
39
|
*/
|
|
40
40
|
this.disabled = false;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Position of the loading spinner. Can be 'start', 'end', 'center', or 'after' (after the button text). Default is 'after'.
|
|
43
43
|
*/
|
|
44
44
|
this.loaderPosition = 'after';
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
* By default, the type is set to "button," making it a general-purpose button.
|
|
48
|
-
* Setting `type` to "submit" makes the button behave as a submit button within a form, triggering form submission.
|
|
49
|
-
* Possible values for `type` include "button," "submit," "reset," and "menu.".
|
|
50
|
-
*
|
|
51
|
-
* Possible values and their usage are as follows:
|
|
52
|
-
* "button" (default, used for general button functionality),
|
|
53
|
-
* "reset" (resets form fields to their default values), and
|
|
54
|
-
* "menu" (represents a button that, when activated, displays a context menu).
|
|
46
|
+
* The HTML type attribute for the button. 'button' (default, general-purpose), 'submit' (submits forms), or 'reset' (resets form fields).
|
|
55
47
|
*/
|
|
56
48
|
this.type = "button";
|
|
57
49
|
}
|
|
@@ -186,7 +178,7 @@ export class SallaButton {
|
|
|
186
178
|
"optional": false,
|
|
187
179
|
"docs": {
|
|
188
180
|
"tags": [],
|
|
189
|
-
"text": "
|
|
181
|
+
"text": "The shape/variant of the button. Can be 'link' (text-only style), 'icon' (circular icon button), or 'btn' (standard button). Default is 'btn'."
|
|
190
182
|
},
|
|
191
183
|
"getter": false,
|
|
192
184
|
"setter": false,
|
|
@@ -206,7 +198,7 @@ export class SallaButton {
|
|
|
206
198
|
"optional": false,
|
|
207
199
|
"docs": {
|
|
208
200
|
"tags": [],
|
|
209
|
-
"text": "
|
|
201
|
+
"text": "The color theme of the button. Available options: 'primary', 'success', 'warning', 'danger', 'light', 'gray', 'dark'. Default is 'primary'."
|
|
210
202
|
},
|
|
211
203
|
"getter": false,
|
|
212
204
|
"setter": false,
|
|
@@ -226,7 +218,7 @@ export class SallaButton {
|
|
|
226
218
|
"optional": false,
|
|
227
219
|
"docs": {
|
|
228
220
|
"tags": [],
|
|
229
|
-
"text": "
|
|
221
|
+
"text": "The fill style of the button. 'solid' (filled background), 'outline' (bordered, transparent background), or 'none'. Default is 'solid'."
|
|
230
222
|
},
|
|
231
223
|
"getter": false,
|
|
232
224
|
"setter": false,
|
|
@@ -246,7 +238,7 @@ export class SallaButton {
|
|
|
246
238
|
"optional": false,
|
|
247
239
|
"docs": {
|
|
248
240
|
"tags": [],
|
|
249
|
-
"text": "
|
|
241
|
+
"text": "The size of the button. Can be 'small', 'medium', or 'large'. Default is 'medium'."
|
|
250
242
|
},
|
|
251
243
|
"getter": false,
|
|
252
244
|
"setter": false,
|
|
@@ -266,7 +258,7 @@ export class SallaButton {
|
|
|
266
258
|
"optional": false,
|
|
267
259
|
"docs": {
|
|
268
260
|
"tags": [],
|
|
269
|
-
"text": "
|
|
261
|
+
"text": "The width of the button. 'wide' makes the button full-width, 'normal' uses auto width. Default is 'normal'."
|
|
270
262
|
},
|
|
271
263
|
"getter": false,
|
|
272
264
|
"setter": false,
|
|
@@ -286,7 +278,7 @@ export class SallaButton {
|
|
|
286
278
|
"optional": false,
|
|
287
279
|
"docs": {
|
|
288
280
|
"tags": [],
|
|
289
|
-
"text": "
|
|
281
|
+
"text": "Shows a loading spinner on the button. Default is false."
|
|
290
282
|
},
|
|
291
283
|
"getter": false,
|
|
292
284
|
"setter": false,
|
|
@@ -326,7 +318,7 @@ export class SallaButton {
|
|
|
326
318
|
"optional": false,
|
|
327
319
|
"docs": {
|
|
328
320
|
"tags": [],
|
|
329
|
-
"text": "
|
|
321
|
+
"text": "Disables the button, preventing user interaction. Default is false."
|
|
330
322
|
},
|
|
331
323
|
"getter": false,
|
|
332
324
|
"setter": false,
|
|
@@ -346,7 +338,7 @@ export class SallaButton {
|
|
|
346
338
|
"optional": false,
|
|
347
339
|
"docs": {
|
|
348
340
|
"tags": [],
|
|
349
|
-
"text": "
|
|
341
|
+
"text": "Position of the loading spinner. Can be 'start', 'end', 'center', or 'after' (after the button text). Default is 'after'."
|
|
350
342
|
},
|
|
351
343
|
"getter": false,
|
|
352
344
|
"setter": false,
|
|
@@ -366,7 +358,7 @@ export class SallaButton {
|
|
|
366
358
|
"optional": false,
|
|
367
359
|
"docs": {
|
|
368
360
|
"tags": [],
|
|
369
|
-
"text": "
|
|
361
|
+
"text": "When provided, renders the button as an anchor (`<a>`) element with this URL."
|
|
370
362
|
},
|
|
371
363
|
"getter": false,
|
|
372
364
|
"setter": false,
|
|
@@ -385,7 +377,7 @@ export class SallaButton {
|
|
|
385
377
|
"optional": false,
|
|
386
378
|
"docs": {
|
|
387
379
|
"tags": [],
|
|
388
|
-
"text": "
|
|
380
|
+
"text": "The HTML type attribute for the button. 'button' (default, general-purpose), 'submit' (submits forms), or 'reset' (resets form fields)."
|
|
389
381
|
},
|
|
390
382
|
"getter": false,
|
|
391
383
|
"setter": false,
|
|
@@ -37,14 +37,21 @@ export class SallaCartItemOffers {
|
|
|
37
37
|
this.showAll = !this.showAll;
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
await salla.lang.onLoaded(() => {
|
|
40
|
+
connectedCallback() {
|
|
41
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
43
42
|
this.freeLabel = salla.lang.get('common.elements.freeExclam');
|
|
44
43
|
this.receivedOffer = salla.lang.get('pages.cart.received_offer');
|
|
45
44
|
this.discountAmountLabel = salla.lang.get('pages.cart.discount_amount');
|
|
46
45
|
this.showMoreOffers = salla.lang.get('pages.cart.show_more_offers');
|
|
47
46
|
});
|
|
47
|
+
}
|
|
48
|
+
disconnectedCallback() {
|
|
49
|
+
this.langUnsubscribe?.();
|
|
50
|
+
}
|
|
51
|
+
async componentWillLoad() {
|
|
52
|
+
await Salla.onReady();
|
|
53
|
+
// still hold the first render until translations are in; the labels come from the subscriber
|
|
54
|
+
await salla.lang.onLoaded();
|
|
48
55
|
this.internalQuantity = this.quantity;
|
|
49
56
|
this.internalOffers = this.parseOffers(this.offers);
|
|
50
57
|
this.internalProductPrice = this.productPrice;
|
|
@@ -118,7 +118,7 @@ export class SallaCartSummary {
|
|
|
118
118
|
return cartUrl;
|
|
119
119
|
}
|
|
120
120
|
render() {
|
|
121
|
-
return (h(Host, { key: '
|
|
121
|
+
return (h(Host, { key: '4ed9d259a12ec48915a500bbeddb87c0078e8a3a' }, h("a", { key: '0d15f13e6e225dfe25e5b714f2bab5e6804fa387', class: "s-cart-summary-wrapper", href: this.getCartLink(), onClick: this.handleCheckoutClick }, h("div", { key: '9bbb00e5582afd7b79c65ae10d7dc1f28f67b943', id: "s-cart-icon" }, h("slot", { key: 'fa36457a1adf6587b787c1d2a4eeb50580593929', name: "icon" }, h("i", { key: 'fcdc45a58e4ab257af5965b8cb2d04c722ca7bea', class: "s-cart-summary-icon", innerHTML: CartIcon }))), h("span", { key: 'da492932c9cf9aec194a1f009960c132e5c79c5c', class: "s-cart-summary-count" }, salla.helpers.number(this.cartSummaryCount)), h("p", { key: 'a5465b7f3a2366136cb1a294f5b345807b93d4de', class: "s-cart-summary-content" }, this.showCartLabel && h("span", { key: '17497746811a5d6c33ca2ebcb5ba2a17e1fc86c3', class: "s-cart-summary-label" }, this.cartLabel), h("b", { key: '828ab6dee93cd7dee0e8964b8503831ebefc08da', class: "s-cart-summary-total", innerHTML: salla.money(this.cartSummaryTotal) })))));
|
|
122
122
|
}
|
|
123
123
|
static get is() { return "salla-cart-summary"; }
|
|
124
124
|
static get originalStyleUrls() {
|
|
@@ -146,7 +146,7 @@ export class SallaCartSummary {
|
|
|
146
146
|
"optional": false,
|
|
147
147
|
"docs": {
|
|
148
148
|
"tags": [],
|
|
149
|
-
"text": "
|
|
149
|
+
"text": "Whether to show the cart label text alongside the cart icon. Default is false (icon only)."
|
|
150
150
|
},
|
|
151
151
|
"getter": false,
|
|
152
152
|
"setter": false,
|
|
@@ -6,16 +6,21 @@ export class SallaCommentForm {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.placeholder = salla.lang.get('blocks.comments.placeholder');
|
|
8
8
|
this.submitText = salla.lang.get('blocks.comments.submit');
|
|
9
|
-
salla.lang.onLoaded(() => {
|
|
10
|
-
this.placeholder = salla.lang.get('blocks.comments.placeholder');
|
|
11
|
-
this.submitText = salla.lang.get('blocks.comments.submit');
|
|
12
|
-
});
|
|
13
9
|
salla.onReady(() => {
|
|
14
10
|
this.canComment = salla.config.get('user.can_comment');
|
|
15
11
|
this.itemId = salla.config.get('page.id');
|
|
16
12
|
this.type = salla.url.is_page('page-single') ? 'page' : salla.url.is_page('blog.single') ? 'blog' : 'product';
|
|
17
13
|
});
|
|
18
14
|
}
|
|
15
|
+
connectedCallback() {
|
|
16
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
17
|
+
this.placeholder = salla.lang.get('blocks.comments.placeholder');
|
|
18
|
+
this.submitText = salla.lang.get('blocks.comments.submit');
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
disconnectedCallback() {
|
|
22
|
+
this.langUnsubscribe?.();
|
|
23
|
+
}
|
|
19
24
|
submit() {
|
|
20
25
|
if (!this.commentForm.reportValidity()) {
|
|
21
26
|
salla.log('CommentForm:: validation error!');
|
|
@@ -38,7 +43,7 @@ export class SallaCommentForm {
|
|
|
38
43
|
.finally(() => this.submitBtn.stop());
|
|
39
44
|
}
|
|
40
45
|
render() {
|
|
41
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: '12db8a037d96013df1c9f3e4547d3383b6332fcc' }, !!this.canComment ? h("form", { ref: frm => this.commentForm = frm }, h("div", { class: "s-comment-form-wrapper" }, this.showAvatar ?
|
|
42
47
|
h("img", { class: "s-comment-form-avatar", src: salla.config.get('user.avatar'), alt: "user avatar" }) : '', h("div", { class: "s-comment-form-content" }, h("textarea", { cols: 30, rows: 5, minlength: "4", maxlength: "500", ref: field => this.commentField = field, placeholder: this.placeholder, class: "s-comment-form-input", required: true }), h("br", null), h("div", { class: "s-comment-form-action" }, h("salla-button", { ref: btn => this.submitBtn = btn, "loader-position": 'center', onClick: () => this.submit() }, this.submitText))))) : ''));
|
|
43
48
|
}
|
|
44
49
|
static get is() { return "salla-comment-form"; }
|
|
@@ -5,6 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import CheckIcon from "../../assets/svg/check.svg";
|
|
6
6
|
import Reply from "../../assets/svg/reply.svg";
|
|
7
7
|
import ThumbsUp from "../../assets/svg/thumbs-up.svg";
|
|
8
|
+
import { setTranslationDefault } from "../../Helpers/translate";
|
|
8
9
|
export class SallaCommentItem {
|
|
9
10
|
constructor() {
|
|
10
11
|
// Translations
|
|
@@ -21,10 +22,12 @@ export class SallaCommentItem {
|
|
|
21
22
|
this.likesCount = 0;
|
|
22
23
|
this.likedComments = [];
|
|
23
24
|
this.showReviewFactors = false;
|
|
24
|
-
|
|
25
|
+
}
|
|
26
|
+
connectedCallback() {
|
|
27
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
25
28
|
const setNestedAsync = (lang, key, value) => {
|
|
26
29
|
return new Promise((resolve) => {
|
|
27
|
-
|
|
30
|
+
setTranslationDefault(lang, key, value);
|
|
28
31
|
resolve(true);
|
|
29
32
|
});
|
|
30
33
|
};
|
|
@@ -47,6 +50,9 @@ export class SallaCommentItem {
|
|
|
47
50
|
setTranslations();
|
|
48
51
|
});
|
|
49
52
|
}
|
|
53
|
+
disconnectedCallback() {
|
|
54
|
+
this.langUnsubscribe?.();
|
|
55
|
+
}
|
|
50
56
|
componentDidLoad() {
|
|
51
57
|
if (!this.comment)
|
|
52
58
|
return;
|
|
@@ -6,6 +6,7 @@ import { CommentType, buildCommentSortOptions, isFeatureEnabled } from "./interf
|
|
|
6
6
|
import anime from "animejs";
|
|
7
7
|
import Helper from "../../Helpers/Helper";
|
|
8
8
|
import ChatBubbles from "../../assets/svg/chat-bubbles.svg";
|
|
9
|
+
import { addMissingTranslations, setTranslationDefault } from "../../Helpers/translate";
|
|
9
10
|
export class SallaComments {
|
|
10
11
|
constructor() {
|
|
11
12
|
/**
|
|
@@ -37,8 +38,10 @@ export class SallaComments {
|
|
|
37
38
|
this.allowLikes = salla.config.get('store.settings.rating.allow_likes');
|
|
38
39
|
this.showRatingSummary = salla.config.get('store.settings.rating.show_rating_summary');
|
|
39
40
|
});
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
}
|
|
42
|
+
connectedCallback() {
|
|
43
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
44
|
+
addMissingTranslations({
|
|
42
45
|
"blocks.comments.overall_rating": { ar: "التقييم العام", en: "Overall rating" }
|
|
43
46
|
});
|
|
44
47
|
this.comment_title = salla.lang.get('blocks.comments.overall_rating');
|
|
@@ -46,7 +49,7 @@ export class SallaComments {
|
|
|
46
49
|
this.noComments = salla.lang.get('pages.rating.no_ratings');
|
|
47
50
|
const setNestedAsync = (lang, key, value) => {
|
|
48
51
|
return new Promise((resolve) => {
|
|
49
|
-
|
|
52
|
+
setTranslationDefault(lang, key, value);
|
|
50
53
|
resolve(true);
|
|
51
54
|
});
|
|
52
55
|
};
|
|
@@ -64,6 +67,9 @@ export class SallaComments {
|
|
|
64
67
|
setTranslations();
|
|
65
68
|
});
|
|
66
69
|
}
|
|
70
|
+
disconnectedCallback() {
|
|
71
|
+
this.langUnsubscribe?.();
|
|
72
|
+
}
|
|
67
73
|
resetInfiniteScroll() {
|
|
68
74
|
clearTimeout(this.initialDataTimer);
|
|
69
75
|
if (this.infiniteScroll) {
|
|
@@ -18,10 +18,17 @@ export class SallaContacts {
|
|
|
18
18
|
salla.onReady(() => {
|
|
19
19
|
this.contacts = salla.config.get('store.contacts');
|
|
20
20
|
});
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
}
|
|
22
|
+
connectedCallback() {
|
|
23
|
+
this.langUnsubscribe = salla.lang.subscribe(() => {
|
|
24
|
+
if (!this.contactsTitle || this.contactsTitle === this.langTitle) {
|
|
25
|
+
this.contactsTitle = this.langTitle = salla.lang.get('blocks.footer.social');
|
|
26
|
+
}
|
|
23
27
|
});
|
|
24
28
|
}
|
|
29
|
+
disconnectedCallback() {
|
|
30
|
+
this.langUnsubscribe?.();
|
|
31
|
+
}
|
|
25
32
|
getContactsArray() {
|
|
26
33
|
return Object.entries(this.contacts)
|
|
27
34
|
.filter(([_key, value]) => value !== '')
|