@salla.sa/twilight-components 2.14.465 → 2.14.466
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-BrNLS71c.js → filepond-ChLzVjJY.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-CKP-UOvU.js → filepond-plugin-file-poster-CsFmGjnc.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DXnLP29z.js → filepond-plugin-file-validate-size-CHsUG4Ey.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-q5ZdVHox.js → filepond-plugin-file-validate-type-BcOZG5x6.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-wYucwd7B.js → filepond-plugin-image-edit-Cq0bUS7X.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-CA5V5LSV.js → filepond-plugin-image-exif-orientation-D6e7ezt-.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-Dvv6Hw8P.js → filepond-plugin-image-preview-B0fvWDqM.js} +1 -1
- package/dist/cjs/{functions-CxGpgcZk.js → functions-DQkYfvtq.js} +1 -1
- package/dist/cjs/{index-Bc5T85kj.js → index-DTSWXcbN.js} +2 -2
- package/dist/cjs/{index-CDZEnDts.js → index-MaPhQdOr.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 +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +84 -29
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-booking-field_7.cjs.entry.js +10 -10
- package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_8.cjs.entry.js +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-reward.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-reward-action_4.cjs.entry.js +3 -3
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/{tracked-promise-C2ypBmxR.js → tracked-promise-ePwPYqjc.js} +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-DOOS_OX0.js → vanilla-picker-l24zONcP.js} +1 -1
- package/dist/collection/components/salla-product-options/salla-product-options.css +3 -0
- package/dist/collection/components/salla-product-options/salla-product-options.js +84 -28
- package/dist/components/index.js +2 -2
- package/dist/components/salla-product-options2.js +84 -28
- package/dist/esm/{filepond-eMWNpRZq.js → filepond-C8Bwo-02.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-Bi6lREH6.js → filepond-plugin-file-poster-Bx3Pf2Jt.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CQrCGVn8.js → filepond-plugin-file-validate-size-B855u7Nl.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-DGSskTr3.js → filepond-plugin-file-validate-type-Bi5ftj6I.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-m-JLeGo0.js → filepond-plugin-image-edit-BDsvflVi.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BQhryzZC.js → filepond-plugin-image-exif-orientation-CIBvl9lW.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-DkW1qai1.js → filepond-plugin-image-preview-iKOdvH4g.js} +1 -1
- package/dist/esm/{functions-BHj_CB-w.js → functions-Bc7BItqP.js} +1 -1
- package/dist/esm/{index-Dm4jZ2GW.js → index-B4SEH_Fg.js} +2 -2
- package/dist/esm/{index-BYjgGv9h.js → index-TDIoPT-F.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 +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +84 -29
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-booking-field_7.entry.js +10 -10
- package/dist/esm/salla-bullet-delivery_2.entry.js +1 -1
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-form_8.entry.js +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +1 -1
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner.entry.js +2 -2
- package/dist/esm/salla-loyalty-hero_2.entry.js +2 -2
- package/dist/esm/salla-loyalty-panel.entry.js +3 -3
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty-program.entry.js +3 -3
- package/dist/esm/salla-loyalty-reward.entry.js +2 -2
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card_2.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-progress-bar.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-reward-action_4.entry.js +3 -3
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/{tracked-promise-2awQWlVN.js → tracked-promise-DJMfgq3q.js} +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-N0uOXk0P.js → vanilla-picker-BZ3Kpnm6.js} +1 -1
- package/dist/twilight/{p-d3f8747b.entry.js → p-02dac67d.entry.js} +1 -1
- package/dist/twilight/{p-04af749c.entry.js → p-077c5ae5.entry.js} +1 -1
- package/dist/twilight/{p-eca31f8f.entry.js → p-089507be.entry.js} +1 -1
- package/dist/twilight/{p-8fac30de.entry.js → p-08fa3250.entry.js} +1 -1
- package/dist/twilight/{p-f822d4ec.entry.js → p-0abda719.entry.js} +1 -1
- package/dist/twilight/{p-9f14cd64.entry.js → p-0beaf6f8.entry.js} +1 -1
- package/dist/twilight/{p-c6c26ec4.entry.js → p-0c721c37.entry.js} +1 -1
- package/dist/twilight/{p-e7f6f752.entry.js → p-1027f1df.entry.js} +1 -1
- package/dist/twilight/{p-408ded04.entry.js → p-173638ad.entry.js} +1 -1
- package/dist/twilight/{p-31362638.entry.js → p-19748525.entry.js} +1 -1
- package/dist/twilight/{p-37f84eb0.entry.js → p-19afb593.entry.js} +1 -1
- package/dist/twilight/{p-BBMTh3T4.js → p-1GhsZ-y0.js} +1 -1
- package/dist/twilight/{p-99166eca.entry.js → p-1beccaa5.entry.js} +1 -1
- package/dist/twilight/{p-41e06153.entry.js → p-204b9c34.entry.js} +1 -1
- package/dist/twilight/{p-75acfd0f.entry.js → p-20b24e22.entry.js} +1 -1
- package/dist/twilight/{p-685dd8ce.entry.js → p-20bed966.entry.js} +1 -1
- package/dist/twilight/{p-6481fc67.entry.js → p-26ff2da1.entry.js} +1 -1
- package/dist/twilight/{p-1ab21ac8.entry.js → p-2a1c12f9.entry.js} +1 -1
- package/dist/twilight/{p-07aee358.entry.js → p-36528e88.entry.js} +1 -1
- package/dist/twilight/{p-d148dbae.entry.js → p-39e531f4.entry.js} +1 -1
- package/dist/twilight/{p-bc0f486c.entry.js → p-3b416cdd.entry.js} +1 -1
- package/dist/twilight/{p-d4283f0e.entry.js → p-3e9fb046.entry.js} +1 -1
- package/dist/twilight/{p-82277da1.entry.js → p-42523f08.entry.js} +1 -1
- package/dist/twilight/{p-81543c2b.entry.js → p-46efd843.entry.js} +1 -1
- package/dist/twilight/{p-7cff1387.entry.js → p-47df8f81.entry.js} +1 -1
- package/dist/twilight/{p-83b91af4.entry.js → p-50b92803.entry.js} +1 -1
- package/dist/twilight/{p-7aaaa656.entry.js → p-53c1a65f.entry.js} +1 -1
- package/dist/twilight/{p-5584b738.entry.js → p-5647ab30.entry.js} +1 -1
- package/dist/twilight/{p-44d5d60c.entry.js → p-5817d5db.entry.js} +1 -1
- package/dist/twilight/{p-73b05f9b.entry.js → p-5a8e7bb9.entry.js} +1 -1
- package/dist/twilight/{p-ae2270fe.entry.js → p-6020ddec.entry.js} +1 -1
- package/dist/twilight/{p-f13ae882.entry.js → p-61bbcb2e.entry.js} +6 -6
- package/dist/twilight/{p-f29d8b81.entry.js → p-63b6ff19.entry.js} +1 -1
- package/dist/twilight/{p-4c186ce5.entry.js → p-645254eb.entry.js} +1 -1
- package/dist/twilight/{p-d8aba2d9.entry.js → p-649cca57.entry.js} +1 -1
- package/dist/twilight/{p-35d7a731.entry.js → p-65cc4abf.entry.js} +1 -1
- package/dist/twilight/{p-edb316d8.entry.js → p-6667d7e9.entry.js} +1 -1
- package/dist/twilight/{p-f6cc3b7c.entry.js → p-6bf44c4f.entry.js} +1 -1
- package/dist/twilight/{p-4a96c245.entry.js → p-6fb05a50.entry.js} +1 -1
- package/dist/twilight/{p-170ea8cf.entry.js → p-70658c1a.entry.js} +1 -1
- package/dist/twilight/{p-334bcd6b.entry.js → p-72627a5b.entry.js} +1 -1
- package/dist/twilight/{p-a651f3f2.entry.js → p-7310af57.entry.js} +1 -1
- package/dist/twilight/{p-b4410110.entry.js → p-78cc1984.entry.js} +1 -1
- package/dist/twilight/{p-36a0799f.entry.js → p-7a144cce.entry.js} +1 -1
- package/dist/twilight/{p-48dfaffb.entry.js → p-7a238d37.entry.js} +1 -1
- package/dist/twilight/{p-b1f0eb86.entry.js → p-7c46d055.entry.js} +1 -1
- package/dist/twilight/{p-ebbd55cd.entry.js → p-7dc4a6ce.entry.js} +1 -1
- package/dist/twilight/{p-50b56c94.entry.js → p-7e0bfa67.entry.js} +1 -1
- package/dist/twilight/{p-24477c44.entry.js → p-7e0f8832.entry.js} +1 -1
- package/dist/twilight/{p-1960c16a.entry.js → p-7f8b4a78.entry.js} +1 -1
- package/dist/twilight/{p-670493cf.entry.js → p-83beb2f7.entry.js} +1 -1
- package/dist/twilight/{p-43f4c1f7.entry.js → p-83f3fe92.entry.js} +1 -1
- package/dist/twilight/{p-fe8a6ccc.entry.js → p-88a26183.entry.js} +1 -1
- package/dist/twilight/{p-d383fa5a.entry.js → p-88c110ae.entry.js} +1 -1
- package/dist/twilight/{p-b2cacbc9.entry.js → p-921b23fc.entry.js} +1 -1
- package/dist/twilight/{p-b039105f.entry.js → p-92ecbfb3.entry.js} +1 -1
- package/dist/twilight/{p-c00e5ed3.entry.js → p-96489529.entry.js} +1 -1
- package/dist/twilight/{p-49952ace.entry.js → p-999abe04.entry.js} +1 -1
- package/dist/twilight/{p-5a8f8413.entry.js → p-99a57ad1.entry.js} +1 -1
- package/dist/twilight/{p-c59114f8.entry.js → p-9f817867.entry.js} +1 -1
- package/dist/twilight/{p-Dm4jZ2GW.js → p-B4SEH_Fg.js} +1 -1
- package/dist/twilight/{p-DWofkao7.js → p-B8tpOftS.js} +1 -1
- package/dist/twilight/{p-KfQGLstx.js → p-BNurXH-d.js} +1 -1
- package/dist/twilight/{p-Dnv6rSS_.js → p-BPrbqbi4.js} +1 -1
- package/dist/twilight/{p-ymCHb5nc.js → p-BhwNzoAX.js} +1 -1
- package/dist/twilight/p-BnjD0Cne.js +9 -0
- package/dist/twilight/{p-Bcjyllug.js → p-Bol9M57m.js} +2 -2
- package/dist/twilight/{p-BGd_b0-4.js → p-Cip0ZIcP.js} +1 -1
- package/dist/twilight/{p-CuzNLTx_.js → p-CzKuXgcx.js} +1 -1
- package/dist/twilight/{p-WxSHiWgC.js → p-DCiLQw-U.js} +1 -1
- package/dist/twilight/{p-B7AuKVH4.js → p-DqcHIrMk.js} +1 -1
- package/dist/twilight/{p-f29d3452.entry.js → p-a0433089.entry.js} +1 -1
- package/dist/twilight/{p-520120f4.entry.js → p-a366dff0.entry.js} +1 -1
- package/dist/twilight/{p-3bbbfbc6.entry.js → p-a8a43d8f.entry.js} +1 -1
- package/dist/twilight/{p-350de8b8.entry.js → p-a94c8805.entry.js} +1 -1
- package/dist/twilight/{p-7872f18d.entry.js → p-aaf77847.entry.js} +1 -1
- package/dist/twilight/{p-9f06fd7e.entry.js → p-ac2979bf.entry.js} +1 -1
- package/dist/twilight/{p-01ef903b.entry.js → p-ac91aa4f.entry.js} +1 -1
- package/dist/twilight/{p-80621bda.entry.js → p-ace778dd.entry.js} +1 -1
- package/dist/twilight/{p-056c00c3.entry.js → p-afb4ffe9.entry.js} +1 -1
- package/dist/twilight/{p-c00d7096.entry.js → p-b1c9125f.entry.js} +1 -1
- package/dist/twilight/{p-bc9b98c9.entry.js → p-b22966df.entry.js} +1 -1
- package/dist/twilight/p-b3456579.entry.js +4 -0
- package/dist/twilight/{p-44794cee.entry.js → p-b99ecd2c.entry.js} +1 -1
- package/dist/twilight/{p-116f6d58.entry.js → p-c360bc76.entry.js} +1 -1
- package/dist/twilight/{p-eb7f4b04.entry.js → p-c4a2f0c4.entry.js} +1 -1
- package/dist/twilight/{p-643d911b.entry.js → p-c5b5162c.entry.js} +1 -1
- package/dist/twilight/{p-e3962531.entry.js → p-c605f897.entry.js} +1 -1
- package/dist/twilight/{p-eb22c907.entry.js → p-d19c0be3.entry.js} +1 -1
- package/dist/twilight/{p-60302d96.entry.js → p-d1be0cf0.entry.js} +1 -1
- package/dist/twilight/{p-51c296d8.entry.js → p-d33fe4fe.entry.js} +1 -1
- package/dist/twilight/{p-87b26f9e.entry.js → p-d98c3e96.entry.js} +1 -1
- package/dist/twilight/{p-aeab0004.entry.js → p-e0bafef7.entry.js} +1 -1
- package/dist/twilight/{p-fc21519c.entry.js → p-e0e8b5ee.entry.js} +1 -1
- package/dist/twilight/{p-8f503ac1.entry.js → p-eb7e08dd.entry.js} +1 -1
- package/dist/twilight/{p-e5ab0a22.entry.js → p-eebe55bd.entry.js} +1 -1
- package/dist/twilight/{p-64beee6f.entry.js → p-f4326883.entry.js} +1 -1
- package/dist/twilight/{p-e0bc724b.entry.js → p-f4a5521e.entry.js} +1 -1
- package/dist/twilight/{p-f0b8c8b7.entry.js → p-fc2c74e3.entry.js} +1 -1
- package/dist/twilight/{p-429b32b8.entry.js → p-fe6a634f.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-product-options/salla-product-options.d.ts +11 -0
- package/package.json +5 -5
- package/dist/twilight/p-0dfc74ac.entry.js +0 -4
- package/dist/twilight/p-tOIpQonN.js +0 -9
|
@@ -51,7 +51,7 @@ var FileIcon = `<!-- Generated by IcoMoon.io -->
|
|
|
51
51
|
</svg>
|
|
52
52
|
`;
|
|
53
53
|
|
|
54
|
-
const sallaProductOptionsCss = "";
|
|
54
|
+
const sallaProductOptionsCss = ".s-product-options-option-stock-out{opacity:0.5}";
|
|
55
55
|
|
|
56
56
|
const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductOptions extends HTMLElement {
|
|
57
57
|
constructor() {
|
|
@@ -77,6 +77,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
77
77
|
this.availableDigitalCardValues = [];
|
|
78
78
|
this.userInitiatedValidation = false;
|
|
79
79
|
this.isCartMode = false;
|
|
80
|
+
this.availabilityMap = {};
|
|
80
81
|
this.outSkus = [];
|
|
81
82
|
/**
|
|
82
83
|
* Avoid selection of previous default or selected card value option
|
|
@@ -167,12 +168,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
167
168
|
*/
|
|
168
169
|
async setOptionsData(optionsData) {
|
|
169
170
|
this.optionsData = optionsData;
|
|
170
|
-
|
|
171
|
-
this.optionsData[0]?.details?.forEach(
|
|
171
|
+
this.outSkus = [];
|
|
172
|
+
this.optionsData[0]?.details?.forEach(detail => {
|
|
172
173
|
Object.entries(detail.skus_availability || {})
|
|
173
|
-
.filter(
|
|
174
|
-
.
|
|
174
|
+
.filter(([, available]) => !available)
|
|
175
|
+
.forEach(([sku]) => this.outSkus.push(Number(sku)));
|
|
175
176
|
});
|
|
177
|
+
this.fillSelectedOptions();
|
|
178
|
+
this.computeAvailability();
|
|
176
179
|
}
|
|
177
180
|
/**
|
|
178
181
|
* Get the current options state, including selected values/details.
|
|
@@ -358,8 +361,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
358
361
|
*/
|
|
359
362
|
setSelectedSkus() {
|
|
360
363
|
this.selectedSkus = this.selectedOptions.map(detail => Object.keys(detail.skus_availability || {}))
|
|
361
|
-
.reduce((p, c) => p.filter(e => c.includes(e)), [])
|
|
364
|
+
.reduce((p, c) => p.filter(e => c.includes(e)), [])
|
|
362
365
|
.map(sku => Number(sku));
|
|
366
|
+
this.computeAvailability();
|
|
363
367
|
}
|
|
364
368
|
handleRequiredMultipleOptions(option) {
|
|
365
369
|
if (option.type !== DisplayType.MULTIPLE_OPTIONS || !option.required) {
|
|
@@ -688,6 +692,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
688
692
|
this.disableCardValue = false;
|
|
689
693
|
this.canDisabled = true;
|
|
690
694
|
this.fillSelectedOptions();
|
|
695
|
+
this.computeAvailability();
|
|
691
696
|
}
|
|
692
697
|
/**
|
|
693
698
|
* Enable user-initiated validation mode so invalid fields will scroll into view
|
|
@@ -798,22 +803,59 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
798
803
|
//and because we are using this inside select option, we need to replace the html currency symbol with the store currency symbol
|
|
799
804
|
return detailName.replace('<i class=sicon-sar></i>', salla.config.currency()?.symbol || 'ر.س');
|
|
800
805
|
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
806
|
+
/**
|
|
807
|
+
* Builds a per-detail availability map by intersecting SKUs across all currently
|
|
808
|
+
* selected option groups. Supports any number of option groups generically.
|
|
809
|
+
*
|
|
810
|
+
* Status values:
|
|
811
|
+
* 'available' – at least one in-stock SKU exists for this detail + current selections
|
|
812
|
+
* 'out_of_stock'– all matching SKUs are out of stock
|
|
813
|
+
* 'impossible' – no SKU exists for this detail + current selections (invalid combination)
|
|
814
|
+
*/
|
|
815
|
+
computeAvailability() {
|
|
816
|
+
const map = {};
|
|
817
|
+
if (!this.optionsData?.length) {
|
|
818
|
+
this.availabilityMap = map;
|
|
819
|
+
return;
|
|
809
820
|
}
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
const
|
|
814
|
-
|
|
821
|
+
const variantGroups = this.optionsData.filter(opt => opt.details?.some(d => d.skus_availability && Object.keys(d.skus_availability).length > 0));
|
|
822
|
+
const isSingleGroup = variantGroups.length <= 1;
|
|
823
|
+
for (const optionGroup of variantGroups) {
|
|
824
|
+
const otherSelected = this.selectedOptions.filter(s => s.option_id !== optionGroup.id);
|
|
825
|
+
for (const detail of optionGroup.details) {
|
|
826
|
+
if (detail.is_out) {
|
|
827
|
+
map[detail.id] = 'out_of_stock';
|
|
828
|
+
continue;
|
|
829
|
+
}
|
|
830
|
+
const skusAvail = detail.skus_availability;
|
|
831
|
+
if (!skusAvail || !Object.keys(skusAvail).length) {
|
|
832
|
+
map[detail.id] = 'available';
|
|
833
|
+
continue;
|
|
834
|
+
}
|
|
835
|
+
const detailSkus = Object.keys(skusAvail).map(Number);
|
|
836
|
+
// No cross-group context yet — evaluate this detail's own SKUs directly
|
|
837
|
+
if (isSingleGroup || otherSelected.length === 0) {
|
|
838
|
+
map[detail.id] = detailSkus.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
|
|
839
|
+
continue;
|
|
840
|
+
}
|
|
841
|
+
// Intersect this detail's SKUs with the SKUs of each other selected detail
|
|
842
|
+
let candidates = detailSkus;
|
|
843
|
+
for (const other of otherSelected) {
|
|
844
|
+
const otherSkus = Object.keys(other.skus_availability || {}).map(Number);
|
|
845
|
+
candidates = candidates.filter(sku => otherSkus.includes(sku));
|
|
846
|
+
}
|
|
847
|
+
if (!candidates.length) {
|
|
848
|
+
map[detail.id] = 'impossible';
|
|
849
|
+
continue;
|
|
850
|
+
}
|
|
851
|
+
map[detail.id] = candidates.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
|
|
852
|
+
}
|
|
815
853
|
}
|
|
816
|
-
|
|
854
|
+
this.availabilityMap = map;
|
|
855
|
+
}
|
|
856
|
+
isOptionDetailOut(detail) {
|
|
857
|
+
const status = this.availabilityMap[detail.id];
|
|
858
|
+
return status !== undefined ? status !== 'available' : (detail.is_out ?? false);
|
|
817
859
|
}
|
|
818
860
|
/**
|
|
819
861
|
* Renders a single input element (radio or checkbox) for an option detail.
|
|
@@ -826,10 +868,15 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
826
868
|
*/
|
|
827
869
|
renderInput(type, detail, option, isRequired, name, buttonStyle) {
|
|
828
870
|
const id = this.generateUniqueKey(`${type}-${option.id}-${detail.id}`);
|
|
829
|
-
const
|
|
871
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
830
872
|
return (h("label", { class: {
|
|
831
|
-
"s-product-options-disabled":
|
|
832
|
-
|
|
873
|
+
"s-product-options-disabled": this.canDisabled && isOutOfStock,
|
|
874
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
875
|
+
} }, h("input", { id: id, type: type, name: name, value: detail.id, disabled: this.canDisabled && isOutOfStock, required: isRequired, checked: detail.is_selected, onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("div", { class: {
|
|
876
|
+
"s-product-options-grid-mode-span": buttonStyle,
|
|
877
|
+
"s-product-options-disabled": this.canDisabled && isOutOfStock,
|
|
878
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
879
|
+
} }, this.getOptionDetailName(detail))));
|
|
833
880
|
}
|
|
834
881
|
/**
|
|
835
882
|
* Renders a collection of input elements for all details of an option.
|
|
@@ -902,15 +949,22 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
902
949
|
}
|
|
903
950
|
//@ts-ignore
|
|
904
951
|
colorOption(option) {
|
|
905
|
-
return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) =>
|
|
952
|
+
return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) => {
|
|
953
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
954
|
+
return (h("div", { class: {
|
|
955
|
+
"s-product-options-colors-item": true,
|
|
956
|
+
"s-product-options-option-stock-out": isOutOfStock,
|
|
957
|
+
}, key: detail.id }, h("input", { type: "radio", value: detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), disabled: this.canDisabled && isOutOfStock, id: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option), "data-img-id": detail.option_value }), h("label", { htmlFor: this.generateUniqueKey(`color-${this.productId}-${option.id}-${detail.id}`), "data-img-id": detail.option_value }, h("span", { style: { backgroundColor: detail.color } }), h("div", { innerHTML: this.getOptionDetailName(detail, true, option.type) }))));
|
|
958
|
+
})));
|
|
906
959
|
}
|
|
907
960
|
//@ts-ignore
|
|
908
961
|
thumbnailOption(option) {
|
|
909
962
|
return h("div", { class: "s-product-options-thumbnails-wrapper" }, option.details.map((detail) => {
|
|
910
|
-
|
|
963
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
964
|
+
return h("div", { key: detail.id, class: { "s-product-options-option-stock-out": isOutOfStock } }, h("input", { type: "radio", value: detail.id, "data-itemid": detail.id, required: !option.visibility_condition && option.required, checked: detail.is_selected, name: this.generateInputName(option.id), "data-img-id": detail.option_value, disabled: this.canDisabled && isOutOfStock, id: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), onInvalid: (e) => this.invalidHandler(e, option), onChange: (e) => this.changedHandler(e, option) }), h("label", { htmlFor: this.generateUniqueKey(`option_${this.productId}-${option.id}_${detail.id}`), "data-img-id": detail.option_value, class: "go-to-slide" }, h("img", { "data-src": detail.image, src: detail.image, title: detail.name, alt: detail.name }), h("span", { innerHTML: IconVerified, class: "s-product-options-thumbnails-icon" }), isOutOfStock ?
|
|
911
965
|
[
|
|
912
|
-
h("small", { key: detail.id
|
|
913
|
-
this.canDisabled ? h("div", { key: detail.id
|
|
966
|
+
h("small", { key: `badge-${detail.id}`, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
|
|
967
|
+
this.canDisabled ? h("div", { key: `overlay-${detail.id}`, class: "s-product-options-thumbnails-badge-overlay" }) : '',
|
|
914
968
|
]
|
|
915
969
|
: ''), h("p", null, this.getOptionDetailName(detail, false), " "));
|
|
916
970
|
}));
|
|
@@ -925,7 +979,8 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
925
979
|
}
|
|
926
980
|
countryOption(option) {
|
|
927
981
|
return h("div", { class: "s-product-options-digital-card-wrapper" }, option.details.map((detail) => {
|
|
928
|
-
|
|
982
|
+
const isOutOfStock = this.isOptionDetailOut(detail);
|
|
983
|
+
return h("label", { htmlFor: this.generateUniqueKey(detail.id.toString()), key: detail.id, class: { "s-product-options-digital-card-option": true, "s-product-options-digital-card-option-stock-out": isOutOfStock, "s-product-options-option-stock-out": isOutOfStock } }, h("input", { id: this.generateUniqueKey(detail.id.toString()), type: "radio", class: "s-form-control s-product-options-digital-card-input", value: detail.id, name: this.generateInputName(option.id), disabled: this.canDisabled && isOutOfStock, required: !option.visibility_condition && option.required, onInvalid: (e) => this.invalidHandler(e, option), onChange: e => this.changedHandler(e, option), onClick: () => { this.disableCardValue = false; }, ...(salla.url.is_page("cart") ? { defaultChecked: this.getSelectedDigitalCardOptions(option)?.id === detail.id } : {}) }), h("img", { loading: "lazy", alt: detail.code, height: 24, width: 24, class: "s-product-options-country-flag", src: `https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(detail.code).toLocaleLowerCase()}.svg`, onError: e => {
|
|
929
984
|
e.currentTarget.onerror = null;
|
|
930
985
|
e.currentTarget.src =
|
|
931
986
|
salla.url.cdn('images/globe.svg');
|
|
@@ -955,6 +1010,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
|
|
|
955
1010
|
"availableDigitalCardValues": [32],
|
|
956
1011
|
"userInitiatedValidation": [32],
|
|
957
1012
|
"isCartMode": [32],
|
|
1013
|
+
"availabilityMap": [32],
|
|
958
1014
|
"setOptionsData": [64],
|
|
959
1015
|
"getOptionsData": [64],
|
|
960
1016
|
"getSelectedOptionsData": [64],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { h } from './index-
|
|
4
|
+
import { h } from './index-B4SEH_Fg.js';
|
|
5
5
|
|
|
6
6
|
function nearestLowerMultiple(number, multipleOf = window.matchMedia('(min-width: 768px)').matches ? 3 : 2) {
|
|
7
7
|
return number < multipleOf ? number : number - (number % multipleOf);
|