@salla.sa/twilight-components 2.14.599 → 2.14.601
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-Dk1cJoJp.js → filepond-D8C4FvMF.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-Bg4PCTUm.js → filepond-plugin-file-poster-Bha1u8_P.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DmqmRxXK.js → filepond-plugin-file-validate-size-BrGHDbNv.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BKd2QnuC.js → filepond-plugin-file-validate-type-D1ZhZw29.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-BIPbEbnk.js → filepond-plugin-image-edit-CpMtbo-c.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-eQvkwjqa.js → filepond-plugin-image-exif-orientation-C106fw_6.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-Ba8K6ft0.js → filepond-plugin-image-preview-B2u9bre9.js} +1 -1
- package/dist/cjs/{index-Bm1Ew-5K.js → index-CIcdvW25.js} +7 -7
- package/dist/cjs/{intlTelInput-MWwwr9Td.js → intlTelInput-C_vfjTaa.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +2 -2
- 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 +50 -19
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +22 -13
- package/dist/cjs/salla-badge.cjs.entry.js +2 -2
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.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-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 +1 -1
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +60 -29
- 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-gift-card-redeem_2.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_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 +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.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_2.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-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 +5 -5
- package/dist/cjs/salla-order-shipments.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 +49 -7
- 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.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-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +12 -2
- package/dist/cjs/salla-skeleton.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 +24 -8
- package/dist/cjs/salla-tiered-offer.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/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
- package/dist/cjs/ssr-helpers-BjD2_F8m.js +48 -0
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-BpuzEJnJ.js → vanilla-picker-9cRfp20y.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/salla-accordion/salla-accordion-body.js +1 -1
- package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
- package/dist/collection/components/salla-accordion/salla-accordion.js +1 -1
- package/dist/collection/components/salla-alert/salla-alert.js +1 -1
- package/dist/collection/components/salla-apps-icons/salla-apps-icons.css +3 -0
- package/dist/collection/components/salla-apps-icons/salla-apps-icons.js +108 -32
- package/dist/collection/components/salla-apps-icons/salla-apps-icons.types.js +1 -0
- package/dist/collection/components/salla-badge/salla-badge.js +1 -1
- package/dist/collection/components/salla-booking-field/salla-booking-field.js +21 -6
- package/dist/collection/components/salla-contacts/salla-contacts.js +114 -37
- package/dist/collection/components/salla-contacts/salla-contacts.types.js +1 -0
- package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
- package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.js +4 -4
- package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +76 -7
- package/dist/collection/components/salla-search/salla-search.js +11 -1
- package/dist/collection/components/salla-tabs/salla-tab-content.js +9 -2
- package/dist/collection/components/salla-tabs/salla-tabs.js +36 -8
- package/dist/collection/utils/ssr-helpers.js +105 -0
- package/dist/components/index.js +7 -7
- package/dist/components/salla-accordion-body2.js +1 -1
- package/dist/components/salla-accordion-head2.js +2 -2
- package/dist/components/salla-accordion2.js +1 -1
- package/dist/components/salla-alert.js +1 -1
- package/dist/components/salla-apps-icons.js +53 -20
- package/dist/components/salla-badge2.js +1 -1
- package/dist/components/salla-booking-field2.js +12 -3
- package/dist/components/salla-contacts.js +62 -30
- package/dist/components/salla-order-options-modal2.js +4 -4
- package/dist/components/salla-order-totals-card.js +50 -6
- package/dist/components/salla-search.js +11 -1
- package/dist/components/salla-tab-content2.js +8 -1
- package/dist/components/salla-tabs2.js +17 -7
- package/dist/components/ssr-helpers.js +46 -0
- package/dist/docs.json +255 -34
- package/dist/esm/{filepond-3PnWp9w_.js → filepond-CdHKzx8o.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-DmoyhYlz.js → filepond-plugin-file-poster-Dv1xmT8j.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CFkn2RRt.js → filepond-plugin-file-validate-size-yC6pu05S.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-pyAPn10a.js → filepond-plugin-file-validate-type-6BfFanp-.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-B5Rfgqvi.js → filepond-plugin-image-edit-DXVicFoW.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-DK15iBED.js → filepond-plugin-image-exif-orientation-lh9c78ZN.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-BIW0XW_M.js → filepond-plugin-image-preview--nSwXCrA.js} +1 -1
- package/dist/esm/{index-CwwxD-7C.js → index-8Kr0yg20.js} +7 -7
- package/dist/esm/{intlTelInput-DYJOvh3V.js → intlTelInput-l4GKBLuF.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +4 -4
- package/dist/esm/salla-accordion_6.entry.js +2 -2
- package/dist/esm/salla-add-product-button_5.entry.js +1 -1
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +2 -2
- 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 +50 -19
- package/dist/esm/salla-attachment-view_9.entry.js +22 -13
- package/dist/esm/salla-badge.entry.js +2 -2
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.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-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 +1 -1
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +60 -29
- 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-gift-card-redeem_2.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_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 +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.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_2.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-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 +5 -5
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +49 -7
- 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.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-products-slider.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/salla-search-product-card.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +12 -2
- package/dist/esm/salla-skeleton.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 +24 -8
- package/dist/esm/salla-tiered-offer.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/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/salla-wishlist-summary.entry.js +1 -1
- package/dist/esm/ssr-helpers-BJN-DTdN.js +46 -0
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-BzVn0xEV.js → vanilla-picker-Cz2XdDMP.js} +1 -1
- package/dist/twilight/{p-3243ab6e.entry.js → p-00654af3.entry.js} +1 -1
- package/dist/twilight/{p-c84e619a.entry.js → p-048ee93a.entry.js} +1 -1
- package/dist/twilight/{p-0889368b.entry.js → p-052fb212.entry.js} +1 -1
- package/dist/twilight/{p-b7dfb1f1.entry.js → p-06b45154.entry.js} +1 -1
- package/dist/twilight/{p-7f653481.entry.js → p-0e98fddd.entry.js} +1 -1
- package/dist/twilight/{p-62c985bc.entry.js → p-0fdbd8cc.entry.js} +1 -1
- package/dist/twilight/{p-0b0c9ecb.entry.js → p-11695661.entry.js} +1 -1
- package/dist/twilight/{p-6fa1498b.entry.js → p-126d5595.entry.js} +1 -1
- package/dist/twilight/{p-62373e96.entry.js → p-16479b90.entry.js} +1 -1
- package/dist/twilight/{p-f5693509.entry.js → p-16dcf15c.entry.js} +1 -1
- package/dist/twilight/{p-f310c72e.entry.js → p-1db334c5.entry.js} +1 -1
- package/dist/twilight/{p-b7c815f7.entry.js → p-1e0df65d.entry.js} +1 -1
- package/dist/twilight/p-2173c0f0.entry.js +4 -0
- package/dist/twilight/p-23073b8a.entry.js +4 -0
- package/dist/twilight/{p-c892e962.entry.js → p-254c863e.entry.js} +1 -1
- package/dist/twilight/{p-651db82c.entry.js → p-25f15ab6.entry.js} +1 -1
- package/dist/twilight/{p-96154a67.entry.js → p-270e4b2d.entry.js} +1 -1
- package/dist/twilight/{p-afd47a18.entry.js → p-28c75dcf.entry.js} +1 -1
- package/dist/twilight/{p-e248f0d0.entry.js → p-2a160737.entry.js} +1 -1
- package/dist/twilight/{p-cce07c4c.entry.js → p-2a28633d.entry.js} +1 -1
- package/dist/twilight/{p-e4ed760b.entry.js → p-2bf57ca7.entry.js} +1 -1
- package/dist/twilight/p-3118f527.entry.js +4 -0
- package/dist/twilight/{p-07817ae8.entry.js → p-3130e363.entry.js} +1 -1
- package/dist/twilight/{p-ee2a5db7.entry.js → p-3179c72b.entry.js} +1 -1
- package/dist/twilight/{p-6d47b269.entry.js → p-3392ced8.entry.js} +1 -1
- package/dist/twilight/{p-0ba03206.entry.js → p-34b6c381.entry.js} +1 -1
- package/dist/twilight/{p-DFj0n9Nh.js → p-3RAlOumf.js} +1 -1
- package/dist/twilight/{p-83e1c586.entry.js → p-3ad77173.entry.js} +1 -1
- package/dist/twilight/{p-f4d52f9b.entry.js → p-3c89325e.entry.js} +1 -1
- package/dist/twilight/p-3cd513b2.entry.js +4 -0
- package/dist/twilight/{p-18e75544.entry.js → p-476e3d1b.entry.js} +1 -1
- package/dist/twilight/{p-f5026adf.entry.js → p-490493cc.entry.js} +1 -1
- package/dist/twilight/{p-bcbb4a03.entry.js → p-4b559931.entry.js} +1 -1
- package/dist/twilight/{p-0253bf71.entry.js → p-4cfca9e1.entry.js} +1 -1
- package/dist/twilight/{p-d01c4ba8.entry.js → p-5076dfe4.entry.js} +1 -1
- package/dist/twilight/{p-1fd1c0a3.entry.js → p-5500cb85.entry.js} +1 -1
- package/dist/twilight/{p-e1fb95cb.entry.js → p-5b0259d8.entry.js} +1 -1
- package/dist/twilight/{p-f51e9549.entry.js → p-5bfe0a12.entry.js} +1 -1
- package/dist/twilight/{p-6e7433f2.entry.js → p-5de3e4c3.entry.js} +1 -1
- package/dist/twilight/{p-ac8a7743.entry.js → p-5f176cff.entry.js} +1 -1
- package/dist/twilight/{p-8e91da09.entry.js → p-60a16078.entry.js} +1 -1
- package/dist/twilight/{p-76ca3445.entry.js → p-62081545.entry.js} +1 -1
- package/dist/twilight/{p-f1d5ebf4.entry.js → p-64ce7d04.entry.js} +1 -1
- package/dist/twilight/{p-c4f92bae.entry.js → p-654d7158.entry.js} +1 -1
- package/dist/twilight/{p-f580d024.entry.js → p-66739790.entry.js} +1 -1
- package/dist/twilight/{p-659e00b7.entry.js → p-68bab651.entry.js} +1 -1
- package/dist/twilight/{p-d8cf239a.entry.js → p-6b9e0168.entry.js} +1 -1
- package/dist/twilight/{p-114e4228.entry.js → p-6d629a37.entry.js} +1 -1
- package/dist/twilight/{p-c98d1097.entry.js → p-6f64aca2.entry.js} +1 -1
- package/dist/twilight/{p-c282869e.entry.js → p-70e1cddf.entry.js} +1 -1
- package/dist/twilight/{p-bc5b70e9.entry.js → p-722a1d49.entry.js} +1 -1
- package/dist/twilight/p-72f1eb9d.entry.js +4 -0
- package/dist/twilight/{p-2213f6eb.entry.js → p-73be3e2b.entry.js} +1 -1
- package/dist/twilight/{p-6b2f6957.entry.js → p-78fce485.entry.js} +1 -1
- package/dist/twilight/{p-62dc337d.entry.js → p-7a7efc1e.entry.js} +1 -1
- package/dist/twilight/{p-1b25ea2a.entry.js → p-80986ebf.entry.js} +1 -1
- package/dist/twilight/{p-2b5242cb.entry.js → p-8456fc2b.entry.js} +1 -1
- package/dist/twilight/{p-4ebee06a.entry.js → p-845d6d9f.entry.js} +1 -1
- package/dist/twilight/p-8Kr0yg20.js +5 -0
- package/dist/twilight/{p-fe7751a8.entry.js → p-8bb54ab1.entry.js} +1 -1
- package/dist/twilight/{p-10418cc0.entry.js → p-8bd722e2.entry.js} +1 -1
- package/dist/twilight/{p-8aa29666.entry.js → p-942a9370.entry.js} +1 -1
- package/dist/twilight/p-96028c8b.entry.js +4 -0
- package/dist/twilight/{p-46c8b068.entry.js → p-96b9ba64.entry.js} +1 -1
- package/dist/twilight/{p-db1e0bc6.entry.js → p-98de4c11.entry.js} +1 -1
- package/dist/twilight/{p-c7a491ef.entry.js → p-9a30c09e.entry.js} +1 -1
- package/dist/twilight/{p-20f98a45.entry.js → p-9bc1676b.entry.js} +1 -1
- package/dist/twilight/{p-CYeysHdt.js → p-B-WH3lv4.js} +1 -1
- package/dist/twilight/p-BJN-DTdN.js +4 -0
- package/dist/twilight/{p-DzBc32wK.js → p-BNVpOSmh.js} +1 -1
- package/dist/twilight/{p-DHXSZjVo.js → p-B_znruWg.js} +1 -1
- package/dist/twilight/{p-CntnRJCa.js → p-BwJOl2G2.js} +1 -1
- package/dist/twilight/{p-Bb9AkvT4.js → p-CSgEn8iE.js} +1 -1
- package/dist/twilight/{p-FcjN5vEx.js → p-C_-Bd9R8.js} +1 -1
- package/dist/twilight/{p-CaabLwI1.js → p-DCZHPueO.js} +1 -1
- package/dist/twilight/{p-B8yyit_i.js → p-DdILhElb.js} +1 -1
- package/dist/twilight/{p-aaac2388.entry.js → p-a3630cbf.entry.js} +1 -1
- package/dist/twilight/{p-509b04c7.entry.js → p-a98f0462.entry.js} +1 -1
- package/dist/twilight/{p-b2ff66ed.entry.js → p-ac719286.entry.js} +1 -1
- package/dist/twilight/{p-55399fed.entry.js → p-b68679eb.entry.js} +1 -1
- package/dist/twilight/{p-f38d6c1b.entry.js → p-b7ed8e39.entry.js} +1 -1
- package/dist/twilight/{p-79ce9e95.entry.js → p-b85d3a54.entry.js} +1 -1
- package/dist/twilight/{p-6d61d93c.entry.js → p-b8e56642.entry.js} +1 -1
- package/dist/twilight/{p-14b1b664.entry.js → p-c0d00e89.entry.js} +1 -1
- package/dist/twilight/p-c1039294.entry.js +4 -0
- package/dist/twilight/{p-0bff8609.entry.js → p-c6c496ec.entry.js} +1 -1
- package/dist/twilight/{p-89bba634.entry.js → p-ca838de0.entry.js} +1 -1
- package/dist/twilight/{p-067ad44c.entry.js → p-cf742415.entry.js} +1 -1
- package/dist/twilight/{p-dc090987.entry.js → p-d062becf.entry.js} +1 -1
- package/dist/twilight/p-d7cb0405.entry.js +4 -0
- package/dist/twilight/{p-925ba8ce.entry.js → p-d9360a47.entry.js} +1 -1
- package/dist/twilight/{p-7148dbad.entry.js → p-db5d3d60.entry.js} +1 -1
- package/dist/twilight/{p-93d284c4.entry.js → p-dc226d90.entry.js} +1 -1
- package/dist/twilight/{p-1c191c15.entry.js → p-df6a4f43.entry.js} +1 -1
- package/dist/twilight/{p-8d99e9d1.entry.js → p-e12337ab.entry.js} +1 -1
- package/dist/twilight/{p-2db00d46.entry.js → p-e54b95a6.entry.js} +1 -1
- package/dist/twilight/{p-261aff22.entry.js → p-e5f0a5f3.entry.js} +1 -1
- package/dist/twilight/{p-4ca3b245.entry.js → p-e62dd507.entry.js} +1 -1
- package/dist/twilight/{p-25fb1508.entry.js → p-e7ac6421.entry.js} +1 -1
- package/dist/twilight/{p-dda47e56.entry.js → p-e93bcc6e.entry.js} +1 -1
- package/dist/twilight/{p-d6886b07.entry.js → p-eb91b45a.entry.js} +1 -1
- package/dist/twilight/{p-a6594c68.entry.js → p-f1eca4da.entry.js} +1 -1
- package/dist/twilight/{p-56c77026.entry.js → p-f6b40c3f.entry.js} +1 -1
- package/dist/twilight/{p-065f2937.entry.js → p-f6dc6e8a.entry.js} +1 -1
- package/dist/twilight/{p-49bba37d.entry.js → p-fd4786e4.entry.js} +1 -1
- package/dist/twilight/{p-84912a5a.entry.js → p-ff64dad1.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-apps-icons/salla-apps-icons.d.ts +26 -13
- package/dist/types/components/salla-apps-icons/salla-apps-icons.types.d.ts +4 -0
- package/dist/types/components/salla-booking-field/salla-booking-field.d.ts +5 -1
- package/dist/types/components/salla-contacts/salla-contacts.d.ts +26 -14
- package/dist/types/components/salla-contacts/salla-contacts.types.d.ts +7 -0
- package/dist/types/components/salla-order-totals-card/interfaces.d.ts +27 -0
- package/dist/types/components/salla-order-totals-card/salla-order-totals-card.d.ts +12 -4
- package/dist/types/components/salla-search/salla-search.d.ts +3 -1
- package/dist/types/components/salla-tabs/salla-tab-content.d.ts +3 -2
- package/dist/types/components/salla-tabs/salla-tabs.d.ts +8 -3
- package/dist/types/components.d.ts +90 -22
- package/dist/types/utils/ssr-helpers.d.ts +73 -0
- package/package.json +5 -5
- package/dist/twilight/p-1f561241.entry.js +0 -4
- package/dist/twilight/p-27df0290.entry.js +0 -4
- package/dist/twilight/p-2f04343f.entry.js +0 -4
- package/dist/twilight/p-3de0b3ae.entry.js +0 -4
- package/dist/twilight/p-89fddf1e.entry.js +0 -4
- package/dist/twilight/p-CwwxD-7C.js +0 -5
- package/dist/twilight/p-a743a10a.entry.js +0 -4
- package/dist/twilight/p-f345a77d.entry.js +0 -4
- package/dist/twilight/p-f8b428cb.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{d as t}from"./p-CwwxD-7C.js";function i(t,i){return i.forEach((function(i){i&&"string"!=typeof i&&!Array.isArray(i)&&Object.keys(i).forEach((function(s){if("default"!==s&&!(s in t)){var e=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(t,s,e.get?e:{enumerable:!0,get:function(){return i[s]}})}}))})),Object.freeze(t)}var s,e,n={exports:{}},o=(s||(s=1,e=()=>(()=>{var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,n={};((i,s)=>{for(var e in s)t(i,e,{get:s[e],enumerable:!0})})(n,{Iti:()=>nt,default:()=>lt});var o=[];for(const t of[["af","93",0,null,"0"],["ax","358",1,["18","4"],"0"],["al","355",0,null,"0"],["dz","213",0,null,"0"],["as","1",5,["684"],"1"],["ad","376"],["ao","244"],["ai","1",6,["264"],"1"],["ag","1",7,["268"],"1"],["ar","54",0,null,"0"],["am","374",0,null,"0"],["aw","297"],["ac","247"],["au","61",0,["4"],"0"],["at","43",0,null,"0"],["az","994",0,null,"0"],["bs","1",8,["242"],"1"],["bh","973"],["bd","880",0,null,"0"],["bb","1",9,["246"],"1"],["by","375",0,null,"8"],["be","32",0,null,"0"],["bz","501"],["bj","229"],["bm","1",10,["441"],"1"],["bt","975"],["bo","591",0,null,"0"],["ba","387",0,null,"0"],["bw","267"],["br","55",0,null,"0"],["io","246"],["vg","1",11,["284"],"1"],["bn","673"],["bg","359",0,null,"0"],["bf","226"],["bi","257"],["kh","855",0,null,"0"],["cm","237"],["ca","1",1,["204","226","236","249","250","257","263","289","306","343","354","365","367","368","382","403","416","418","428","431","437","438","450","468","474","506","514","519","548","579","581","584","587","604","613","639","647","672","683","705","709","742","753","778","780","782","807","819","825","867","873","879","902","905","942"],"1"],["cv","238"],["bq","599",1,["3","4","7"]],["ky","1",12,["345"],"1"],["cf","236"],["td","235"],["cl","56"],["cn","86",0,null,"0"],["cx","61",2,["4","89164"],"0"],["cc","61",1,["4","89162"],"0"],["co","57",0,null,"0"],["km","269"],["cg","242"],["cd","243",0,null,"0"],["ck","682"],["cr","506"],["ci","225"],["hr","385",0,null,"0"],["cu","53",0,null,"0"],["cw","599",0],["cy","357"],["cz","420"],["dk","45"],["dj","253"],["dm","1",13,["767"],"1"],["do","1",2,["809","829","849"],"1"],["ec","593",0,null,"0"],["eg","20",0,null,"0"],["sv","503"],["gq","240"],["er","291",0,null,"0"],["ee","372"],["sz","268"],["et","251",0,null,"0"],["fk","500"],["fo","298"],["fj","679"],["fi","358",0,["4"],"0"],["fr","33",0,null,"0"],["gf","594",0,null,"0"],["pf","689"],["ga","241"],["gm","220"],["ge","995",0,null,"0"],["de","49",0,null,"0"],["gh","233",0,null,"0"],["gi","350"],["gr","30"],["gl","299"],["gd","1",14,["473"],"1"],["gp","590",0,null,"0"],["gu","1",15,["671"],"1"],["gt","502"],["gg","44",1,["1481","7781","7839","7911"],"0"],["gn","224"],["gw","245"],["gy","592"],["ht","509"],["hn","504"],["hk","852"],["hu","36",0,null,"06"],["is","354"],["in","91",0,null,"0"],["id","62",0,null,"0"],["ir","98",0,null,"0"],["iq","964",0,null,"0"],["ie","353",0,null,"0"],["im","44",2,["1624","74576","7524","7624","7924"],"0"],["il","972",0,null,"0"],["it","39",0,["3"]],["jm","1",4,["658","876"],"1"],["jp","81",0,null,"0"],["je","44",3,["1534","7509","7700","7797","7829","7937"],"0"],["jo","962",0,null,"0"],["kz","7",1,["33","7"],"8"],["ke","254",0,null,"0"],["ki","686",0,null,"0"],["xk","383",0,null,"0"],["kw","965"],["kg","996",0,null,"0"],["la","856",0,null,"0"],["lv","371"],["lb","961",0,null,"0"],["ls","266"],["lr","231",0,null,"0"],["ly","218",0,null,"0"],["li","423",0,null,"0"],["lt","370",0,null,"0"],["lu","352"],["mo","853"],["mg","261",0,null,"0"],["mw","265",0,null,"0"],["my","60",0,null,"0"],["mv","960"],["ml","223"],["mt","356"],["mh","692",0,null,"1"],["mq","596",0,null,"0"],["mr","222"],["mu","230"],["yt","262",1,["269","639"],"0"],["mx","52"],["fm","691"],["md","373",0,null,"0"],["mc","377",0,null,"0"],["mn","976",0,null,"0"],["me","382",0,null,"0"],["ms","1",16,["664"],"1"],["ma","212",0,["6","7"],"0"],["mz","258"],["mm","95",0,null,"0"],["na","264",0,null,"0"],["nr","674"],["np","977",0,null,"0"],["nl","31",0,null,"0"],["nc","687"],["nz","64",0,null,"0"],["ni","505"],["ne","227"],["ng","234",0,null,"0"],["nu","683"],["nf","672"],["kp","850",0,null,"0"],["mk","389",0,null,"0"],["mp","1",17,["670"],"1"],["no","47",0,["4","9"]],["om","968"],["pk","92",0,null,"0"],["pw","680"],["ps","970",0,null,"0"],["pa","507"],["pg","675"],["py","595",0,null,"0"],["pe","51",0,null,"0"],["ph","63",0,null,"0"],["pl","48"],["pt","351"],["pr","1",3,["787","939"],"1"],["qa","974"],["re","262",0,null,"0"],["ro","40",0,null,"0"],["ru","7",0,["33"],"8"],["rw","250",0,null,"0"],["ws","685"],["sm","378"],["st","239"],["sa","966",0,null,"0"],["sn","221"],["rs","381",0,null,"0"],["sc","248"],["sl","232",0,null,"0"],["sg","65"],["sx","1",21,["721"],"1"],["sk","421",0,null,"0"],["si","386",0,null,"0"],["sb","677"],["so","252",0,null,"0"],["za","27",0,null,"0"],["kr","82",0,null,"0"],["ss","211",0,null,"0"],["es","34"],["lk","94",0,null,"0"],["bl","590",1,null,"0"],["sh","290"],["kn","1",18,["869"],"1"],["lc","1",19,["758"],"1"],["mf","590",2,null,"0"],["pm","508",0,null,"0"],["vc","1",20,["784"],"1"],["sd","249",0,null,"0"],["sr","597"],["sj","47",1,["4","79","9"]],["se","46",0,null,"0"],["ch","41",0,null,"0"],["sy","963",0,null,"0"],["tw","886",0,null,"0"],["tj","992"],["tz","255",0,null,"0"],["th","66",0,null,"0"],["tl","670"],["tg","228"],["tk","690"],["to","676"],["tt","1",22,["868"],"1"],["tn","216"],["tr","90",0,null,"0"],["tm","993",0,null,"8"],["tc","1",23,["649"],"1"],["tv","688"],["vi","1",24,["340"],"1"],["ug","256",0,null,"0"],["ua","380",0,null,"0"],["ae","971",0,null,"0"],["gb","44",0,null,"0"],["us","1",0,null,"1"],["uy","598",0,null,"0"],["uz","998"],["vu","678"],["va","39",1,["06698","3"]],["ve","58",0,null,"0"],["vn","84",0,null,"0"],["wf","681"],["eh","212",1,["5288","5289","6","7"],"0"],["ye","967",0,null,"0"],["zm","260",0,null,"0"],["zw","263",0,null,"0"]])o.push({name:"",iso2:t[0],dialCode:t[1],priority:t[2]||0,areaCodes:t[3]||null,nodeById:{},nationalPrefix:t[4]||null,normalisedName:"",initials:"",dialCodePlus:""});var l,r=new Set(o.map((t=>t.iso2))),h=t=>r.has(t),a=o,u="iti__hide",c="iti__v-hide",d="iti__arrow--up",p="iti__globe",f="iti__flag",m="iti__loading",y="iti__country",w="iti__highlight",b="ArrowUp",g="ArrowDown",C="Enter",_="Escape",v={ALPHA_UNICODE:/\p{L}/u,NON_PLUS_NUMERIC:/[^+0-9]/,NON_PLUS_NUMERIC_GLOBAL:/[^+0-9]/g,HIDDEN_SEARCH_CHAR:/^[a-zA-ZÀ-ÿа-яА-Я ]$/},I={AGGRESSIVE:"aggressive",POLITE:"polite",OFF:"off"},k="auto",$=new Set(["FIXED_LINE","MOBILE","FIXED_LINE_OR_MOBILE","TOLL_FREE","PREMIUM_RATE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL","UNKNOWN"]),N="aria-expanded",L="aria-label",x="aria-selected",D="aria-activedescendant",A="aria-haspopup",P="aria-controls",S="aria-hidden",O="aria-autocomplete",T="aria-modal",E={selectedCountryAriaLabel:"Change country, selected ${countryName} (${dialCode})",noCountrySelected:"Select country",countryListAriaLabel:"List of countries",searchPlaceholder:"Search",clearSearchAriaLabel:"Clear search",searchEmptyState:"No results found",searchSummaryAria:t=>0===t?"No results found":1===t?"1 result found":`${t} results found`},M=t=>"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia(t).matches,F=()=>M("(max-width: 500px)"),j={allowDropdown:!0,allowedNumberTypes:["MOBILE","FIXED_LINE"],allowNumberExtensions:!1,allowPhonewords:!1,autoPlaceholder:I.POLITE,containerClass:"",countryNameLocale:"en",countryOrder:null,countrySearch:!0,customPlaceholder:null,dropdownAlwaysOpen:!1,dropdownContainer:null,excludeCountries:[],fixDropdownWidth:!0,formatAsYouType:!0,formatOnDisplay:!0,geoIpLookup:null,hiddenInput:null,i18n:{},initialCountry:"",loadUtils:null,nationalMode:!0,onlyCountries:[],placeholderNumberType:"MOBILE",searchInputClass:"",separateDialCode:!1,showFlags:!0,strictMode:!1,useFullscreenPopup:(()=>{if("undefined"!=typeof navigator&&"undefined"!=typeof window){const t=M("(max-height: 600px)"),i=M("(pointer: coarse)");return F()||i&&t}return!1})()},U=t=>JSON.stringify(t),B=t=>Boolean(t)&&"object"==typeof t&&!Array.isArray(t),z=new Set(Object.values(I)),R=t=>{console.warn(`[intl-tel-input] ${t}`)},H=(t,i,s)=>{R(`Option '${t}' must be ${i}; got ${U(s)}. Ignoring.`)},V=(t,i)=>Object.prototype.hasOwnProperty.call(t,i),W=(t,i)=>{const s="an array of ISO2 country code strings";if(!Array.isArray(i))return H(t,s,i),!1;const e=[];for(const n of i){if("string"!=typeof n)return H(t,s,i),!1;const o=n.toLowerCase();h(o)?e.push(n):R(`Invalid country code in '${t}': '${n}'. Skipping.`)}return e},q=t=>t.replace(/\D/g,""),K=(t="")=>t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase(),G=t=>Object.keys(t).filter((i=>Boolean(t[i]))).join(" "),X=(t,i,s)=>{const e=document.createElement(t);return i&&Object.entries(i).forEach((([t,i])=>e.setAttribute(t,i))),s&&s.appendChild(e),e},Y=class t{constructor(t,i,s){this.#t=null,this.#i=null,this.#s=null,this.#e=null,this.highlightedItem=null,t.dataset.intlTelInputId=s.toString(),this.telInput=t,this.#n=i,this.#o=s,this.hadInitialPlaceholder=Boolean(t.getAttribute("placeholder")),this.#l=!!this.telInput.closest("[dir=rtl]"),this.#n.separateDialCode&&(this.#r=this.telInput.style.paddingLeft)}#n;#o;#l;#r;#h;#t;#i;#a;#u;#c;#d;#p;#f;#s;#e;static validateInput(t){const i=t?.tagName;if(!Boolean(t)||"object"!=typeof t||"INPUT"!==i||"function"!=typeof t.setAttribute){const i=Object.prototype.toString.call(t);throw new TypeError(`The first argument must be an HTMLInputElement, not ${i}`)}}generateMarkup(t){this.#h=t,this.telInput.classList.add("iti__tel-input"),this.telInput.hasAttribute("autocomplete")||this.telInput.setAttribute("autocomplete","tel"),this.telInput.hasAttribute("inputmode")||this.telInput.setAttribute("inputmode","tel");const i=this.#m();this.#y(i),i.appendChild(this.telInput),this.#w(),this.#b(i)}#m(){const{allowDropdown:t,showFlags:i,containerClass:s,useFullscreenPopup:e}=this.#n,n=G({iti:!0,"iti--allow-dropdown":t,"iti--show-flags":i,"iti--inline-dropdown":!e,[s]:Boolean(s)}),o=X("div",{class:n});return this.#l&&o.setAttribute("dir","ltr"),this.telInput.before(o),o}#y(t){const{allowDropdown:i,separateDialCode:s,showFlags:e}=this.#n;if(i||e||s){this.countryContainer=X("div",{class:`iti__country-container ${c}`},t),i?(this.selectedCountry=X("button",{type:"button",class:"iti__selected-country",[N]:"false",[L]:this.#n.i18n.noCountrySelected,[A]:"dialog",[P]:`iti-${this.#o}__dropdown-content`},this.countryContainer),this.telInput.disabled&&this.selectedCountry.setAttribute("disabled","true")):this.selectedCountry=X("div",{class:"iti__selected-country"},this.countryContainer);const e=X("div",{class:"iti__selected-country-primary"},this.selectedCountry);this.selectedCountryInner=X("div",{class:f},e),i&&(this.#u=X("div",{class:"iti__arrow",[S]:"true"},e)),s&&(this.#a=X("div",{class:"iti__selected-dial-code"},this.selectedCountry)),i&&this.#g()}}#C(){const{fixDropdownWidth:t}=this.#n;if(t&&!this.#c.style.width){const t=this.telInput.offsetWidth;t>0&&(this.#c.style.width=`${t}px`)}}#g(){const{fixDropdownWidth:t,useFullscreenPopup:i,countrySearch:s,i18n:e,dropdownContainer:n,containerClass:o}=this.#n;if(this.#c=X("div",{id:`iti-${this.#o}__dropdown-content`,class:`iti__dropdown-content ${u} ${t?"":"iti--flexible-dropdown-width"}`,role:"dialog",[T]:"true"}),this.#l&&this.#c.setAttribute("dir","rtl"),s&&this.#_(),this.countryList=X("ul",{class:"iti__country-list",id:`iti-${this.#o}__country-listbox`,role:"listbox",[L]:e.countryListAriaLabel},this.#c),this.#v(),s&&this.#I(),i||(this.#C(),this.#i=this.#k(),s&&(this.#c.style.height=`${this.#i}px`)),n){const t=G({iti:!0,"iti--container":!0,"iti--fullscreen-popup":i,"iti--inline-dropdown":!i,[o]:Boolean(o)});this.#s=X("div",{class:t}),this.#s.appendChild(this.#c)}else this.countryContainer.appendChild(this.#c)}#_(){const{i18n:t,searchInputClass:i}=this.#n,s=X("div",{class:"iti__search-input-wrapper"},this.#c);this.#d=X("span",{class:"iti__search-icon",[S]:"true"},s),this.#d.innerHTML=`\n <svg class="iti__search-icon-svg" width="14" height="14" viewBox="0 0 24 24" focusable="false" ${S}="true">\n <circle cx="11" cy="11" r="7" />\n <line x1="21" y1="21" x2="16.65" y2="16.65" />\n </svg>`,this.searchInput=X("input",{id:`iti-${this.#o}__search-input`,type:"search",class:`iti__search-input ${i}`,placeholder:t.searchPlaceholder,role:"combobox",[N]:"true",[L]:t.searchPlaceholder,[P]:`iti-${this.#o}__country-listbox`,[O]:"list",autocomplete:"off"},s),this.searchClearButton=X("button",{type:"button",class:`iti__search-clear ${u}`,[L]:t.clearSearchAriaLabel,tabindex:"-1"},s),this.searchClearButton.innerHTML=(()=>{const t=`iti-${this.#o}-clear-mask`;return`\n <svg class="iti__search-clear-svg" width="12" height="12" viewBox="0 0 16 16" ${S}="true" focusable="false">\n <mask id="${t}" maskUnits="userSpaceOnUse">\n <rect width="16" height="16" fill="white" />\n <path d="M5.2 5.2 L10.8 10.8 M10.8 5.2 L5.2 10.8" stroke="black" stroke-linecap="round" class="iti__search-clear-x" />\n </mask>\n <circle cx="8" cy="8" r="8" class="iti__search-clear-bg" mask="url(#${t})" />\n </svg>`})(),this.#f=X("span",{class:"iti__a11y-text"},this.#c),this.#p=X("div",{class:`iti__no-results ${u}`,[S]:"true"},this.#c),this.#p.textContent=t.searchEmptyState}#w(){this.countryContainer&&(this.#$(),this.countryContainer.classList.remove(c))}#b(t){const{hiddenInput:i}=this.#n;if(i){const s=i(this.telInput.getAttribute("name")||"");if(s.phone){const i=this.telInput.form?.querySelector(`input[name="${s.phone}"]`);i?this.hiddenInput=i:(this.hiddenInput=X("input",{type:"hidden",name:s.phone}),t.appendChild(this.hiddenInput))}if(s.country){const i=this.telInput.form?.querySelector(`input[name="${s.country}"]`);i?this.hiddenInputCountry=i:(this.hiddenInputCountry=X("input",{type:"hidden",name:s.country}),t.appendChild(this.hiddenInputCountry))}}}#v(){const t=document.createDocumentFragment();for(let i=0;i<this.#h.length;i++){const s=this.#h[i],e=G({[y]:!0}),n=X("li",{id:`iti-${this.#o}__item-${s.iso2}`,class:e,tabindex:"-1",role:"option",[x]:"false"});n.dataset.dialCode=s.dialCode,n.dataset.countryCode=s.iso2,s.nodeById[this.#o]=n,this.#n.showFlags&&X("div",{class:`${f} iti__${s.iso2}`},n);const o=X("span",{class:"iti__country-name"},n);o.textContent=`${s.name} `;const l=X("span",{class:"iti__dial-code"},o);this.#l&&l.setAttribute("dir","ltr"),l.textContent=`(+${s.dialCode})`,t.appendChild(n)}this.countryList.appendChild(t)}#$(){if(this.selectedCountry){const t=this.#n.separateDialCode?78:42,i=this.selectedCountry.offsetWidth||this.#N()||t;this.telInput.style.paddingLeft=`${i+6}px`}}static#L(){let t;try{t=window.top.document.body}catch(i){t=document.body}return t}#N(){if(this.telInput.parentNode){const i=t.#L(),s=this.telInput.parentNode.cloneNode(!1);s.style.visibility="hidden",i.appendChild(s);const e=this.countryContainer.cloneNode();s.appendChild(e);const n=this.selectedCountry.cloneNode(!0);e.appendChild(n);const o=n.offsetWidth;return i.removeChild(s),o}return 0}#k(){const i=t.#L();this.#c.classList.remove(u);const s=X("div",{class:"iti iti--inline-dropdown"});s.appendChild(this.#c),s.style.visibility="hidden",i.appendChild(s);const e=this.#c.offsetHeight;return i.removeChild(s),s.style.visibility="",this.#c.classList.add(u),e>0?e:200}#I(){const{i18n:t}=this.#n;this.#f.textContent=t.searchSummaryAria(this.countryList.childElementCount)}filterCountriesByQuery(t){let i;i=""===t?this.#h:((t,i)=>{const s=K(i),e=[],n=[],o=[],l=[],r=[],h=[];for(const i of t)i.iso2===s?e.push(i):i.normalisedName.startsWith(s)?n.push(i):i.normalisedName.includes(s)?o.push(i):s===i.dialCode||s===i.dialCodePlus?l.push(i):i.dialCodePlus.includes(s)?r.push(i):i.initials.includes(s)&&h.push(i);const a=(t,i)=>t.priority-i.priority;return[...e,...n,...o,...l.sort(a),...r.sort(a),...h]})(this.#h,t),this.#x(i)}#D(){const t=this.searchInput.value.trim();this.filterCountriesByQuery(t),this.searchInput.value?this.searchClearButton.classList.remove(u):this.searchClearButton.classList.add(u)}handleSearchChange(){this.#t&&clearTimeout(this.#t),this.#t=setTimeout((()=>{this.#D(),this.#t=null}),100)}handleSearchClear(){this.searchInput.value="",this.searchInput.focus(),this.#D()}scrollCountryListToItem(t){const i=this.countryList,s=i.getBoundingClientRect(),e=t.getBoundingClientRect(),n=e.top-s.top+i.scrollTop;e.top<s.top?i.scrollTop=n:e.bottom>s.bottom&&(i.scrollTop=n-s.height+e.height)}highlightListItem(t,i){const s=this.highlightedItem;if(s&&s.classList.remove(w),this.highlightedItem=t,this.highlightedItem){if(this.highlightedItem.classList.add(w),this.#n.countrySearch){const t=this.highlightedItem.getAttribute("id")||"";this.searchInput.setAttribute(D,t)}i&&this.highlightedItem.focus()}}handleUpDownKey(t){let i=t===b?this.highlightedItem?.previousElementSibling:this.highlightedItem?.nextElementSibling;!i&&this.countryList.childElementCount>1&&(i=t===b?this.countryList.lastElementChild:this.countryList.firstElementChild),i&&(this.scrollCountryListToItem(i),this.highlightListItem(i,!1))}#A(t){if(this.#e&&this.#e.dataset.countryCode!==t&&(this.#e.setAttribute(x,"false"),this.#e.querySelector(".iti__country-check")?.remove(),this.#e=null),t&&!this.#e){const i=this.countryList.querySelector(`[data-country-code="${t}"]`);i&&(i.setAttribute(x,"true"),X("span",{class:"iti__country-check",[S]:"true"},i).innerHTML=`\n <svg class="iti__country-check-svg" width="14" height="14" viewBox="0 0 16 16" fill="currentColor" focusable="false" ${S}="true">\n <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>\n </svg>`,this.#e=i)}}#x(t){this.countryList.replaceChildren();let i=!0;for(const s of t){const t=s.nodeById[this.#o];t&&(this.countryList.appendChild(t),i&&(this.highlightListItem(t,!1),i=!1))}i?(this.highlightListItem(null,!1),this.#p&&this.#p.classList.remove(u)):this.#p&&this.#p.classList.add(u),this.countryList.scrollTop=0,this.#I()}destroy(){this.telInput.iti=void 0,delete this.telInput.dataset.intlTelInputId,this.#n.separateDialCode&&(this.telInput.style.paddingLeft=this.#r);const t=this.telInput.parentNode;t.before(this.telInput),t.remove(),this.telInput=null,this.countryContainer=null,this.selectedCountry=null,this.selectedCountryInner=null,this.searchInput=null,this.searchClearButton=null,this.countryList=null,this.hiddenInput=null,this.hiddenInputCountry=null,this.highlightedItem=null,this.#a=null,this.#u=null,this.#c=null,this.#d=null,this.#p=null,this.#f=null,this.#s=null,this.#e=null;for(const t of this.#h)delete t.nodeById[this.#o];this.#h=null}openDropdown(){const{countrySearch:t,dropdownAlwaysOpen:i,dropdownContainer:s}=this.#n;if(this.#C(),s)this.#P();else{const t=this.#S(),i=this.telInput.offsetHeight+3;t?this.#c.style.top=`${i}px`:this.#c.style.bottom=`${i}px`}if(this.#c.classList.remove(u),this.selectedCountry.setAttribute(N,"true"),t){const t=this.countryList.firstElementChild;t&&(this.highlightListItem(t,!1),this.countryList.scrollTop=0),i||this.searchInput.focus()}this.#u.classList.add(d)}closeDropdown(){const{countrySearch:t,dropdownContainer:i}=this.#n;this.#c.classList.add(u),this.selectedCountry.setAttribute(N,"false"),t&&(this.searchInput.removeAttribute(D),this.highlightedItem&&(this.highlightedItem.classList.remove(w),this.highlightedItem=null)),this.#u.classList.remove(d),i?(this.#s.remove(),this.#s.style.top="",this.#s.style.bottom="",this.#s.style.paddingLeft="",this.#s.style.paddingRight=""):(this.#c.style.top="",this.#c.style.bottom="")}#S(){if(this.#n.dropdownAlwaysOpen)return!0;const t=this.telInput.getBoundingClientRect(),i=window.innerHeight-t.bottom;return i>=this.#i||i>=t.top}#P(){const{dropdownContainer:t,useFullscreenPopup:i}=this.#n;if(i){if(window.innerWidth>=500){const t=this.telInput.getBoundingClientRect();this.#s.style.paddingLeft=`${t.left}px`,this.#s.style.paddingRight=window.innerWidth-t.right+"px"}}else{const t=this.telInput.getBoundingClientRect();this.#s.style.left=`${t.left}px`,this.#S()?this.#s.style.top=`${t.bottom+3}px`:(this.#s.style.top="unset",this.#s.style.bottom=window.innerHeight-t.top+3+"px")}t.appendChild(this.#s)}isDropdownClosed(){return this.#c.classList.contains(u)}setCountry(t){const{allowDropdown:i,showFlags:s,separateDialCode:e,i18n:n}=this.#n,{name:o,dialCode:l,iso2:r=""}=t;if(i&&this.#A(r),this.selectedCountry){const t=r&&s?`${f} iti__${r}`:`${f} ${p}`;let i,e,h;r?(e=o,i=n.selectedCountryAriaLabel.replace("${countryName}",o).replace("${dialCode}",`+${l}`),h=s?"":'\n <svg width="256" height="256" viewBox="0 0 512 512" class="iti__globe-svg">\n <path d="M508 213a240 240 0 0 0-449-87l-2 5-2 5c-8 14-13 30-17 46a65 65 0 0 1 56 4c16-10 35-19 56-27l9-3c-6 23-10 48-10 74h-16l4 6c3 4 5 8 6 13h6c0 22 3 44 8 65l2 10-25-10-4 5 12 18 9 3 6 2 8 3 9 26 1 2 16-7h1l-5-13-1-2c24 6 49 9 75 10v26l11 10 7 7v-30l1-13c22 0 44-3 65-8l10-2-21 48-1 1a317 317 0 0 1-14 23l-21 5h-2c6 16 7 33 1 50a240 240 0 0 0 211-265m-401-56-11 6c19-44 54-79 98-98-11 20-21 44-29 69-21 6-40 15-58 23m154 182v4c-29-1-57-6-81-13-7-25-12-52-13-81h94zm0-109h-94c1-29 6-56 13-81 24-7 52-12 81-13zm0-112c-22 1-44 4-65 8l-10 2 12-30 9-17 1-2a332 332 0 0 1 13-23c13-4 26-6 40-7zm187 69 6 4c4 12 6 25 6 38v1h-68c-1-26-4-51-10-74l48 20 1 1 14 8zm-14-44 10 20c-20-11-43-21-68-29-8-25-18-49-29-69 37 16 67 44 87 78M279 49h1c13 1 27 3 39 7l14 23 1 2a343 343 0 0 1 12 26l2 5 6 16c-23-6-48-9-74-10h-1zm0 87h1c29 1 56 6 81 13 7 24 12 51 12 80v1h-94zm2 207h-2v-94h95c-1 29-6 56-13 81-24 7-51 12-80 13m86 60-20 10c11-20 21-43 29-68 25-8 48-18 68-29-16 37-43 67-77 87m87-115-7 5-16 9-2 1a337 337 0 0 1-47 21c6-24 9-49 10-75h68c0 13-2 27-6 39"/>\n <path d="m261 428-2-2-22-21a40 40 0 0 0-32-11h-1a37 37 0 0 0-18 8l-1 1-4 2-2 2-5 4c-9-3-36-31-47-44s-32-45-34-55l3-2a151 151 0 0 0 11-9v-1a39 39 0 0 0 5-48l-3-3-11-19-3-4-5-7h-1l-3-3-4-3-5-2a35 35 0 0 0-16-3h-5c-4 1-14 5-24 11l-4 2-4 3-4 2c-9 8-17 17-18 27a380 380 0 0 0 212 259h3c12 0 25-10 36-21l10-12 6-11a39 39 0 0 0-8-40"/>\n </svg>'):(e=n.noCountrySelected,i=n.noCountrySelected,h='\n <svg width="256" height="256" viewBox="0 0 512 512" class="iti__globe-svg">\n <path d="M508 213a240 240 0 0 0-449-87l-2 5-2 5c-8 14-13 30-17 46a65 65 0 0 1 56 4c16-10 35-19 56-27l9-3c-6 23-10 48-10 74h-16l4 6c3 4 5 8 6 13h6c0 22 3 44 8 65l2 10-25-10-4 5 12 18 9 3 6 2 8 3 9 26 1 2 16-7h1l-5-13-1-2c24 6 49 9 75 10v26l11 10 7 7v-30l1-13c22 0 44-3 65-8l10-2-21 48-1 1a317 317 0 0 1-14 23l-21 5h-2c6 16 7 33 1 50a240 240 0 0 0 211-265m-401-56-11 6c19-44 54-79 98-98-11 20-21 44-29 69-21 6-40 15-58 23m154 182v4c-29-1-57-6-81-13-7-25-12-52-13-81h94zm0-109h-94c1-29 6-56 13-81 24-7 52-12 81-13zm0-112c-22 1-44 4-65 8l-10 2 12-30 9-17 1-2a332 332 0 0 1 13-23c13-4 26-6 40-7zm187 69 6 4c4 12 6 25 6 38v1h-68c-1-26-4-51-10-74l48 20 1 1 14 8zm-14-44 10 20c-20-11-43-21-68-29-8-25-18-49-29-69 37 16 67 44 87 78M279 49h1c13 1 27 3 39 7l14 23 1 2a343 343 0 0 1 12 26l2 5 6 16c-23-6-48-9-74-10h-1zm0 87h1c29 1 56 6 81 13 7 24 12 51 12 80v1h-94zm2 207h-2v-94h95c-1 29-6 56-13 81-24 7-51 12-80 13m86 60-20 10c11-20 21-43 29-68 25-8 48-18 68-29-16 37-43 67-77 87m87-115-7 5-16 9-2 1a337 337 0 0 1-47 21c6-24 9-49 10-75h68c0 13-2 27-6 39"/>\n <path d="m261 428-2-2-22-21a40 40 0 0 0-32-11h-1a37 37 0 0 0-18 8l-1 1-4 2-2 2-5 4c-9-3-36-31-47-44s-32-45-34-55l3-2a151 151 0 0 0 11-9v-1a39 39 0 0 0 5-48l-3-3-11-19-3-4-5-7h-1l-3-3-4-3-5-2a35 35 0 0 0-16-3h-5c-4 1-14 5-24 11l-4 2-4 3-4 2c-9 8-17 17-18 27a380 380 0 0 0 212 259h3c12 0 25-10 36-21l10-12 6-11a39 39 0 0 0-8-40"/>\n </svg>'),this.selectedCountryInner.className=t,this.selectedCountry.setAttribute("title",e),this.selectedCountry.setAttribute(L,i),this.selectedCountryInner.innerHTML=h}e&&(this.#a.textContent=l?`+${l}`:"",this.#$())}},J=new Set(["800","808","870","881","882","883","888","979"]),Q=t=>{const i=q(t).slice(0,3);return t.startsWith("+")&&J.has(i)},Z=(t,i,s,e)=>{let n=t;if(s&&i){const t=`+${e.dialCode}`;n=n.substring(" "===n[t.length]||"-"===n[t.length]?t.length+1:t.length)}return n},tt=new Set(["800","822","833","844","855","866","877","880","881","882","883","884","885","886","887","888","889"]),it=t=>{const i=q(t);if(i.startsWith("1")&&i.length>=4){const t=i.substring(1,4);return tt.has(t)}return!1},st=class{#O;constructor(t){t&&this.#T(t)}#T(t){/[\u0660-\u0669]/.test(t)?this.#O="arabic-indic":/[\u06F0-\u06F9]/.test(t)?this.#O="persian":this.#O="ascii"}denormalise(t){if(!this.#O||"ascii"===this.#O)return t;const i="arabic-indic"===this.#O?1632:1776;return t.replace(/[0-9]/g,(t=>String.fromCharCode(i+Number(t))))}normalise(t){if(!t)return"";if(this.#T(t),"ascii"===this.#O)return t;const i="arabic-indic"===this.#O?1632:1776,s="arabic-indic"===this.#O?/[\u0660-\u0669]/g:/[\u06F0-\u06F9]/g;return t.replace(s,(t=>String.fromCharCode(t.charCodeAt(0)-i+48)))}isAscii(){return!this.#O||"ascii"===this.#O}},et=0,nt=class t{#E;#n;#M;#h;#F;#j;#U;#B;#z;#R;#H;#V;#W;#q;#K;#G;#X;#Y;constructor(t,i={}){this.id=et++,Y.validateInput(t);const s=(t=>{if(void 0===t)return{};if(!B(t)){const i=`The second argument must be an options object; got ${U(t)}. Using defaults.`;return R(i),{}}const i={};for(const[e,n]of Object.entries(t))if(V(j,e))switch(e){case"allowDropdown":case"allowNumberExtensions":case"allowPhonewords":case"countrySearch":case"dropdownAlwaysOpen":case"fixDropdownWidth":case"formatAsYouType":case"formatOnDisplay":case"nationalMode":case"showFlags":case"separateDialCode":case"strictMode":case"useFullscreenPopup":if("boolean"!=typeof n){H(e,"a boolean",n);break}i[e]=n;break;case"autoPlaceholder":if("string"!=typeof n||!z.has(n)){const t=Array.from(z).join(", ");H("autoPlaceholder",`one of ${t}`,n);break}i[e]=n;break;case"containerClass":case"searchInputClass":case"countryNameLocale":if("string"!=typeof n){H(e,"a string",n);break}i[e]=n;break;case"countryOrder":if(null===n)i[e]=n;else{const t=W(e,n);!1!==t&&(i[e]=t)}break;case"customPlaceholder":case"geoIpLookup":case"hiddenInput":case"loadUtils":if(null!==n&&"function"!=typeof n){H(e,"a function or null",n);break}i[e]=n;break;case"dropdownContainer":if(null!==n&&(!(s=n)||"object"!=typeof s||1!==s.nodeType||"string"!=typeof s.tagName||"function"!=typeof s.appendChild)){H("dropdownContainer","an HTMLElement or null",n);break}i[e]=n;break;case"excludeCountries":case"onlyCountries":{const t=W(e,n);!1!==t&&(i[e]=t);break}case"i18n":if(n&&!B(n)){H("i18n","an object",n);break}i[e]=n;break;case"initialCountry":{if("string"!=typeof n){H("initialCountry","a string",n);break}const t=n.toLowerCase();if(t&&t!==k&&!h(t)){H("initialCountry","a valid ISO2 country code or 'auto'",n);break}i[e]=n;break}case"placeholderNumberType":if("string"!=typeof n||!$.has(n)){const t=Array.from($).join(", ");H("placeholderNumberType",`one of ${t}`,n);break}i[e]=n;break;case"allowedNumberTypes":if(null!==n){if(!Array.isArray(n)){H("allowedNumberTypes","an array of number types or null",n);break}let t=!0;for(const i of n)if("string"!=typeof i||!$.has(i)){const s=Array.from($).join(", ");H("allowedNumberTypes",`an array of valid number types (${s})`,i),t=!1;break}t&&(i[e]=n)}else i[e]=null}else R(`Unknown option '${e}'. Ignoring.`);var s;return i})(i);var e;this.#n={...j,...s},(e=this.#n).initialCountry&&(e.initialCountry=e.initialCountry.toLowerCase()),e.onlyCountries?.length&&(e.onlyCountries=e.onlyCountries.map((t=>t.toLowerCase()))),e.excludeCountries?.length&&(e.excludeCountries=e.excludeCountries.map((t=>t.toLowerCase()))),e.countryOrder&&(e.countryOrder=e.countryOrder.map((t=>t.toLowerCase()))),(t=>{t.dropdownAlwaysOpen&&(t.useFullscreenPopup=!1,t.allowDropdown=!0),t.useFullscreenPopup?t.fixDropdownWidth=!1:F()&&(t.fixDropdownWidth=!0),1===t.onlyCountries.length&&(t.initialCountry=t.onlyCountries[0]),t.separateDialCode&&(t.nationalMode=!1),!t.allowDropdown||t.showFlags||t.separateDialCode||(t.nationalMode=!1),t.useFullscreenPopup&&!t.dropdownContainer&&(t.dropdownContainer=document.body),t.i18n={...E,...t.i18n}})(this.#n),this.#E=new Y(t,this.#n,this.id),this.#M="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),this.#q=new st(t.value),this.promise=this.#J(this.#n),this.#h=(t=>{const{onlyCountries:i,excludeCountries:s}=t;return i?.length?a.filter((t=>i.includes(t.iso2))):s?.length?a.filter((t=>!s.includes(t.iso2))):a})(this.#n);const{dialCodes:n,dialCodeMaxLen:o,dialCodeToIso2Map:l}=(t=>{const i=new Set;let s=0;const e={},n=(t,i)=>{if(!t||!i)return;i.length>s&&(s=i.length),e.hasOwnProperty(i)||(e[i]=[]);const n=e[i];n.includes(t)||n.push(t)},o=[...t].sort(((t,i)=>t.priority-i.priority));for(const t of o){i.has(t.dialCode)||i.add(t.dialCode);for(let i=1;i<t.dialCode.length;i++){const s=t.dialCode.substring(0,i);n(t.iso2,s)}if(n(t.iso2,t.dialCode),t.areaCodes){const i=e[t.dialCode][0];for(const s of t.areaCodes){for(let e=1;e<s.length;e++){const o=s.substring(0,e),l=t.dialCode+o;n(i,l),n(t.iso2,l)}n(t.iso2,t.dialCode+s)}}}return{dialCodes:i,dialCodeMaxLen:s,dialCodeToIso2Map:e}})(this.#h);this.#U=n,this.#F=o,this.#j=l,this.#B=new Map(this.#h.map((t=>[t.iso2,t]))),this.#Q()}#Z(){const t=this.#E.telInput.value.trim();return this.#q.normalise(t)}#tt(t){this.#E.telInput.value=this.#q.denormalise(t)}#J(t){const{initialCountry:i,geoIpLookup:s,loadUtils:e}=t,n=i===k&&Boolean(s),o=Boolean(e)&&!ot.utils;let l,r;return n?l=new Promise(((t,i)=>{this.#K=t,this.#G=i})):(l=Promise.resolve(void 0),this.#K=()=>{},this.#G=()=>{}),o?r=new Promise(((t,i)=>{this.#X=t,this.#Y=i})):(r=Promise.resolve(void 0),this.#X=()=>{},this.#Y=()=>{}),Promise.all([l,r]).then((()=>{}))}#Q(){this.#z=null,this.#V=new AbortController,this.#it(),this.#E.generateMarkup(this.#h),this.#st(),this.#et(),this.#nt(),this.#n.dropdownAlwaysOpen&&this.#ot()}#it(){((t,i)=>{const{countryNameLocale:s,i18n:e}=i;let n;try{n="undefined"!=typeof Intl&&"function"==typeof Intl.DisplayNames?new Intl.DisplayNames(s,{type:"region"}):null}catch(t){console.error(t),n=null}for(const i of t)i.name=e[i.iso2]||n?.of(i.iso2.toUpperCase())||""})(this.#h,this.#n),((t,i)=>{const{countryOrder:s}=i;t.sort(((t,i)=>{if(s){const e=s.indexOf(t.iso2),n=s.indexOf(i.iso2),o=e>-1,l=n>-1;if(o||l)return o&&l?e-n:o?-1:1}return t.name.localeCompare(i.name)}))})(this.#h,this.#n),(t=>{for(const i of t)i.normalisedName=K(i.name),i.initials=i.normalisedName.split(/[^a-z]/).map((t=>t[0])).join(""),i.dialCodePlus=`+${i.dialCode}`})(this.#h)}#st(t=!1){const i=this.#E.telInput.getAttribute("value"),s=this.#q.normalise(i),e=this.#Z(),n=!s||!s.startsWith("+")||e&&e.startsWith("+")?e:s,o=this.#lt(n),l=it(n),{initialCountry:r,geoIpLookup:a}=this.#n,u=r===k&&a&&!t,c=h(r);o?l?c?this.#rt(r):u||this.#rt("us"):this.#ht(n):c?this.#rt(r):u||this.#rt(""),n&&this.#at(n)}#et(){this.#ut(),this.#n.allowDropdown&&this.#ct(),(this.#E.hiddenInput||this.#E.hiddenInputCountry)&&this.#E.telInput.form&&this.#dt()}#dt(){this.#E.telInput.form?.addEventListener("submit",(()=>{this.#E.hiddenInput&&(this.#E.hiddenInput.value=this.getNumber()),this.#E.hiddenInputCountry&&(this.#E.hiddenInputCountry.value=this.#z?.iso2||"")}),{signal:this.#V.signal})}#ct(){const t=this.#V.signal,i=this.#E.telInput.closest("label");i&&i.addEventListener("click",(t=>{this.#E.isDropdownClosed()?this.#E.telInput.focus():t.preventDefault()}),{signal:t}),this.#E.selectedCountry.addEventListener("click",(()=>{!this.#E.isDropdownClosed()||this.#E.telInput.disabled||this.#E.telInput.readOnly||this.#ot()}),{signal:t}),this.#E.countryContainer.addEventListener("keydown",(t=>{const i=[b,g," ",C];this.#E.isDropdownClosed()&&i.includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.#ot()),"Tab"===t.key&&this.#pt()}),{signal:t})}#nt(){const{loadUtils:t,initialCountry:i,geoIpLookup:s}=this.#n;if(t&&!ot.utils){const i=()=>{ot.attachUtils(t)?.catch((()=>{}))};ot.documentReady()?i():window.addEventListener("load",i,{signal:this.#V.signal})}else this.#X();i===k&&s&&(this.#z?.iso2?this.#K():this.#ft())}#ft(){ot.autoCountry?this.#mt():(this.#E.selectedCountryInner.classList.add(m),ot.startedLoadingAutoCountry||(ot.startedLoadingAutoCountry=!0,"function"!=typeof this.#n.geoIpLookup)||this.#n.geoIpLookup(((i="")=>{this.#E.selectedCountryInner.classList.remove(m);const s=i.toLowerCase();h(s)?(ot.autoCountry=s,setTimeout((()=>t.forEachInstance("handleAutoCountry")))):t.forEachInstance("handleAutoCountryFailure")}),(()=>{this.#E.selectedCountryInner.classList.remove(m),t.forEachInstance("handleAutoCountryFailure")})))}#yt(){this.#ot(),this.#E.searchInput.value="+",this.#E.filterCountriesByQuery("")}#ut(){this.#wt(),this.#bt(),this.#gt()}#wt(){const{strictMode:t,formatAsYouType:i,separateDialCode:s,allowDropdown:e,countrySearch:n}=this.#n;let o=!1;v.ALPHA_UNICODE.test(this.#Z())&&(o=!0),this.#E.telInput.addEventListener("input",(l=>{const r=this.#Z();if(this.#M&&"+"===l?.data&&s&&e&&n){const t=this.#E.telInput.selectionStart||0,i=r.substring(0,t-1),s=r.substring(t);return this.#tt(i+s),void this.#yt()}this.#ht(r)&&this.#Ct(),l?.data&&v.NON_PLUS_NUMERIC.test(l.data)||"insertFromPaste"===l?.inputType&&r&&!t?o=!0:v.NON_PLUS_NUMERIC.test(r)||(o=!1);const h=l?.detail&&l.detail.isSetNumber,a=this.#q.isAscii();if(i&&!o&&!h&&a){const t=this.#E.telInput.selectionStart||0,i=r.substring(0,t).replace(v.NON_PLUS_NUMERIC_GLOBAL,"").length,e="deleteContentForward"===l?.inputType,n=((t,i,s,e,n)=>{const o=s?s.formatNumberAsYouType(t,e.iso2):t,{dialCode:l}=e;return n&&"+"!==i.charAt(0)&&o.includes(`+${l}`)?(o.split(`+${l}`)[1]||"").trim():o})(this.#_t(),r,ot.utils,this.#z??{},s),o=((t,i,s,e)=>{if(0===s&&!e)return 0;let n=0;for(let s=0;s<i.length;s++){if(/[+0-9]/.test(i[s])&&n++,n===t&&!e)return s+1;if(e&&n===t+1)return s}return i.length})(i,n,t,e);this.#tt(n),this.#E.telInput.setSelectionRange(o,o)}if(s&&r.startsWith("+")&&this.#z?.dialCode){const t=Z(r,!0,s,this.#z??{});this.#tt(t)}}),{signal:this.#V.signal})}#bt(){const{strictMode:t,separateDialCode:i,allowDropdown:s,countrySearch:e}=this.#n;(t||i)&&this.#E.telInput.addEventListener("keydown",(n=>{if(n.key&&1===n.key.length&&!n.altKey&&!n.ctrlKey&&!n.metaKey){if(i&&s&&e&&"+"===n.key)return n.preventDefault(),void this.#yt();if(t){const t=this.#Z(),s=!t.startsWith("+")&&0===this.#E.telInput.selectionStart&&"+"===n.key,e=this.#q.normalise(n.key),o=/^[0-9]$/.test(e),l=i?o:s||o,r=this.#E.telInput,h=r.selectionEnd,a=t.slice(0,r.selectionStart),u=t.slice(h),c=this.#_t(a+n.key+u);let d=!1;ot.utils&&this.#R&&(d=ot.utils.getCoreNumber(c,this.#z?.iso2).length>this.#R);const p=this.#vt(c);l&&(!d||null!==p||s)||n.preventDefault()}}}),{signal:this.#V.signal})}#gt(){this.#n.strictMode&&this.#E.telInput.addEventListener("paste",(t=>{t.preventDefault();const i=this.#E.telInput,s=i.selectionStart,e=i.selectionEnd,n=this.#Z(),o=n.slice(0,s),l=n.slice(e),r=this.#z?.iso2,h=t.clipboardData.getData("text"),a=this.#q.normalise(h),u=0===s&&e>0,c=!n.startsWith("+")||u,d=a.replace(v.NON_PLUS_NUMERIC_GLOBAL,""),p=d.startsWith("+"),f=d.replace(/\+/g,""),m=p&&c?`+${f}`:f;let y=o+m+l;if(y.length>5){let t=ot.utils.getCoreNumber(y,r);for(;0===t.length&&y.length>0;)y=y.slice(0,-1),t=ot.utils.getCoreNumber(y,r);if(!t)return;if(this.#R&&t.length>this.#R){if(i.selectionEnd!==n.length)return;{const i=t.length-this.#R;y=y.slice(0,y.length-i)}}}this.#tt(y);const w=s+m.length;i.setSelectionRange(w,w),i.dispatchEvent(new InputEvent("input",{bubbles:!0}))}),{signal:this.#V.signal})}#It(t){const i=Number(this.#E.telInput.getAttribute("maxlength"));return i&&t.length>i?t.substring(0,i):t}#kt(t,i={}){const s=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:i});this.#E.telInput.dispatchEvent(s)}#ot(){const{dropdownContainer:t,useFullscreenPopup:i}=this.#n;this.#W=new AbortController,this.#E.openDropdown(),!i&&t&&window.addEventListener("scroll",(()=>this.#pt()),{signal:this.#W.signal}),this.#$t(),this.#kt("open:countrydropdown")}#$t(){const t=this.#W.signal;this.#Nt(t),this.#Lt(t),this.#n.dropdownAlwaysOpen||this.#xt(t),this.#Dt(t),this.#n.countrySearch&&this.#At(t)}#Nt(t){this.#E.countryList.addEventListener("mouseover",(t=>{const i=t.target?.closest(`.${y}`);i&&this.#E.highlightListItem(i,!1)}),{signal:t})}#Lt(t){this.#E.countryList.addEventListener("click",(t=>{const i=t.target?.closest(`.${y}`);i&&this.#Pt(i)}),{signal:t})}#xt(t){const i=t=>{t.target.closest(`#iti-${this.id}__dropdown-content`)||this.#pt()};setTimeout((()=>{document.documentElement.addEventListener("click",i,{signal:t})}),0)}#Dt(t){let i="",s=null;document.addEventListener("keydown",(t=>{[b,g,C,_].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),t.key===b||t.key===g?this.#E.handleUpDownKey(t.key):t.key!==C||t.isComposing?t.key===_&&(this.#pt(),this.#E.selectedCountry.focus()):this.#St()),!this.#n.countrySearch&&v.HIDDEN_SEARCH_CHAR.test(t.key)&&(t.stopPropagation(),s&&clearTimeout(s),i+=t.key.toLowerCase(),this.#Ot(i),s=setTimeout((()=>{i=""}),1e3))}),{signal:t})}#At(t){this.#E.searchInput.addEventListener("input",(()=>this.#E.handleSearchChange()),{signal:t}),this.#E.searchClearButton.addEventListener("click",(()=>this.#E.handleSearchClear()),{signal:t})}#Ot(t){const i=((t,i)=>{const s=K(i);for(const i of t)if(i.normalisedName.startsWith(s))return i;return null})(this.#h,t);if(i){const t=i.nodeById[this.id];this.#E.highlightListItem(t,!1),this.#E.scrollCountryListToItem(t)}}#St(){this.#E.highlightedItem&&this.#Pt(this.#E.highlightedItem)}#at(t){const{formatOnDisplay:i,nationalMode:s,separateDialCode:e}=this.#n;let n=t;if(i&&ot.utils&&this.#z){const i=Q(t),o=s&&!i||!n.startsWith("+")&&!e,{NATIONAL:l,INTERNATIONAL:r}=ot.utils.numberFormat,h=o?l:r;n=ot.utils.formatNumber(n,this.#z?.iso2,h)}n=this.#Tt(n),this.#tt(n)}#ht(t){const i=this.#vt(t);return null!==i&&this.#rt(i)}#Et(t){const i=this.#z?.dialCode,s=this.#z?.nationalPrefix;return t.startsWith("+")||!i?t:`+${i}${s&&t.startsWith(s)&&!this.#n.separateDialCode?t.substring(1):t}`}#vt(t){const i=t.indexOf("+");let s=i?t.substring(i):t;const e=this.#z?.iso2,n=this.#z?.dialCode;s=this.#Et(s);const o=this.#lt(s,!0),l=q(s);if(o){const t=q(o),i=this.#j[t];if(1===i.length)return i[0]===e?null:i[0];if(!e&&this.#H&&i.includes(this.#H))return this.#H;if("1"===n&&it(l))return null;const s=this.#z?.areaCodes,r=this.#z?.priority;if(s){const t=s.map((t=>`${n}${t}`));for(const i of t)if(l.startsWith(i))return null}const h=s&&!(0===r)&&l.length>t.length;if((!e||!i.includes(e)||h)&&e!==i[0])return i[0]}else{if(s.startsWith("+")&&l.length){const t=this.#z?.dialCode||"";return t&&t.startsWith(l)?null:""}if((!s||"+"===s)&&!e&&this.#H)return this.#H}return null}#rt(t){const i=this.#z?.iso2||"";return this.#z=t?this.#B.get(t):null,this.#z?.iso2&&(this.#H=this.#z.iso2),this.#E.setCountry(this.#z??{}),this.#Mt(),this.#Ft(),i!==t}#Ft(){const{strictMode:t,placeholderNumberType:i,allowedNumberTypes:s}=this.#n,e=this.#z?.iso2;if(t&&ot.utils)if(e){let t=ot.utils.getExampleNumber(e,!1,ot.utils.numberType[i],!0),n=t;for(;ot.utils.isPossibleNumber(t,e,s);)n=t,t+="0";const o=ot.utils.getCoreNumber(n,e);this.#R=o.length,"by"===e&&(this.#R=o.length+1)}else this.#R=null}#Mt(){const{autoPlaceholder:t,placeholderNumberType:i,nationalMode:s,customPlaceholder:e}=this.#n,n=t===I.AGGRESSIVE||!this.#E.hadInitialPlaceholder&&t===I.POLITE;if(ot.utils&&n){const t=ot.utils.numberType[i];let n=this.#z?.iso2?ot.utils.getExampleNumber(this.#z.iso2,s,t):"";n=this.#Tt(n),"function"==typeof e&&(n=e(n,this.#z??{})),this.#E.telInput.setAttribute("placeholder",n)}}#Pt(t){const i=this.#rt(t.dataset.countryCode);if(this.#pt(),this.#jt(t.dataset.dialCode),this.#n.formatOnDisplay){const t=this.#Z();this.#at(t)}this.#E.telInput.focus(),i&&this.#Ct()}#pt(t){this.#E.isDropdownClosed()||this.#n.dropdownAlwaysOpen&&!t||(this.#E.closeDropdown(),this.#W.abort(),this.#W=null,this.#kt("close:countrydropdown"))}#jt(t){const i=this.#Z(),s=`+${t}`;let e;if(i.startsWith("+")){const t=this.#lt(i);e=t?i.replace(t,s):s,this.#tt(e)}}#lt(t,i){let s="";if(t.startsWith("+")){let e="",n=!1;for(let o=0;o<t.length;o++){const l=t.charAt(o);if(/[0-9]/.test(l)){if(e+=l,!Boolean(this.#j[e]))break;if(this.#U.has(e)){if(s=t.substring(0,o+1),n=!0,!i)break}else i&&n&&(s=t.substring(0,o+1));if(e.length===this.#F)break}}}return s}#_t(t){const i=t?this.#q.normalise(t):this.#Z(),s=this.#z?.dialCode;let e;const n=q(i);return e=this.#n.separateDialCode&&!i.startsWith("+")&&s&&n?`+${s}`:"",e+i}#Tt(t){const i=Boolean(this.#lt(t)),s=Z(t,i,this.#n.separateDialCode,this.#z??{});return this.#It(s)}#Ut(){const t=this.#z;if(!t)return{};const{iso2:i,dialCode:s,name:e}=t;return{iso2:i,dialCode:s,name:e}}#Ct(){const t=this.#Ut();this.#kt("countrychange",t)}#mt(){this.#E.telInput?this.#n.initialCountry===k&&ot.autoCountry&&(this.#H=ot.autoCountry,this.#z?.iso2||this.#E.selectedCountryInner.classList.contains(p)||this.setCountry(this.#H),this.#K()):this.#K?.()}#Bt(){this.#E.telInput?(this.#st(!0),this.#G()):this.#G?.()}#zt(){if(this.#E.telInput){if(ot.utils){const t=this.#Z();t&&this.#at(t),this.#z?.iso2&&(this.#Mt(),this.#Ft())}this.#X()}else this.#X?.()}#Rt(t){this.#E,this.#Y(t)}destroy(){this.#E.telInput&&(this.#n.allowDropdown&&this.#pt(!0),this.#V.abort(),this.#V=null,this.#E.destroy(),delete ot.instances[this.id])}isActive(){return!!this.#E?.telInput}getExtension(){return ot.utils&&this.#E.telInput?ot.utils.getExtension(this.#_t(),this.#z?.iso2):""}getNumber(t){if(ot.utils&&this.#E.telInput){const i=this.#z?.iso2,s=this.#_t(),e=ot.utils.formatNumber(s,i,t);return this.#q.denormalise(e)}return""}getNumberType(){return ot.utils&&this.#E.telInput?ot.utils.getNumberType(this.#_t(),this.#z?.iso2):-99}getSelectedCountryData(){return this.#Ut()}getValidationError(){if(ot.utils&&this.#E.telInput){const t=this.#z?.iso2;return ot.utils.getValidationError(this.#_t(),t)}return-99}isValidNumber(){const t=this.#z?.dialCode,i=this.#z?.iso2;if(ot.utils&&this.#E.telInput){const s=this.#_t(),e=ot.utils.getCoreNumber(s,i);if(e){if("44"===t&&"7"===e[0]&&10!==e.length)return!1;if(!v.ALPHA_UNICODE.test(s)&&t){const i=s.startsWith("+")?s.slice(1+t.length):s,n=q(i).length;if(e.length>n)return!1}}}return this.#Ht(!1)}isValidNumberPrecise(){return this.#Ht(!0)}#Vt(t){return ot.utils?ot.utils.isPossibleNumber(t,this.#z?.iso2,this.#n.allowedNumberTypes):null}#Ht(t){if(!ot.utils||!this.#E.telInput)return null;const{allowNumberExtensions:i,allowPhonewords:s}=this.#n,e=this.#_t();if(!this.#z?.iso2&&!Q(e))return!1;if(!(i=>t?this.#Wt(i):this.#Vt(i))(e))return!1;if(e.search(v.ALPHA_UNICODE)>-1){const t=this.#z?.iso2;return Boolean(ot.utils.getExtension(e,t))?i:s}return!0}#Wt(t){return ot.utils?ot.utils.isValidNumber(t,this.#z?.iso2,this.#n.allowedNumberTypes):null}setCountry(t){if(!this.#E.telInput)return;const i=t?.toLowerCase();if(!h(i))throw new Error(`Invalid country code: '${i}'`);const s=this.#z?.iso2;if(t&&i!==s||!t&&s){if(this.#rt(i),this.#jt(this.#z?.dialCode||""),this.#n.formatOnDisplay){const t=this.#Z();this.#at(t)}this.#Ct()}}setNumber(t){if(!this.#E.telInput)return;const i=this.#q.normalise(t),s=this.#ht(i);this.#at(i),s&&this.#Ct(),this.#kt("input",{isSetNumber:!0})}setPlaceholderNumberType(t){this.#E.telInput&&(this.#n.placeholderNumberType=t,this.#Mt())}setDisabled(t){this.#E.telInput&&(this.#E.telInput.disabled=t,this.#E.selectedCountry&&(t?this.#E.selectedCountry.setAttribute("disabled","true"):this.#E.selectedCountry.removeAttribute("disabled")))}static forEachInstance(i,...s){const e=Object.values(ot.instances),n=s[0];e.forEach((s=>{if(s instanceof t)switch(i){case"handleUtils":s.#zt();break;case"handleUtilsFailure":s.#Rt(n);break;case"handleAutoCountry":s.#mt();break;case"handleAutoCountryFailure":s.#Bt()}}))}},ot=Object.assign(((t,i)=>{const s=new nt(t,i);return ot.instances[s.id]=s,t.iti=s,s}),{defaults:j,documentReady:()=>"complete"===document.readyState,getCountryData:()=>a,getInstance:t=>{const i=t.dataset.intlTelInputId;return i?ot.instances[i]:null},instances:{},attachUtils:t=>{if(!ot.utils&&!ot.startedLoadingUtilsScript){let i;if("function"!=typeof t)return Promise.reject(new TypeError("The argument passed to attachUtils must be a function that returns a promise for the utilities module, not "+typeof t));try{i=Promise.resolve(t())}catch(t){return Promise.reject(t)}return ot.startedLoadingUtilsScript=!0,i.then((t=>{const i=t?.default;if(!i||"object"!=typeof i)throw new TypeError("The loader function passed to attachUtils did not resolve to a module object with utils as its default export.");return ot.utils=i,nt.forEachInstance("handleUtils"),!0})).catch((t=>{throw nt.forEachInstance("handleUtilsFailure",t),t}))}return null},startedLoadingUtilsScript:!1,startedLoadingAutoCountry:!1,version:"26.9.2"}),lt=ot;return l=n,((n,o,l,r)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let l of s(o))e.call(n,l)||undefined===l||t(n,l,{get:()=>o[l],enumerable:!(r=i(o,l))||r.enumerable});return n})(t({},"__esModule",{value:!0}),l)})().default,n.exports?n.exports=e():window.intlTelInput=e()),n.exports),l=i({__proto__:null,default:t(o)},[o]);export{l as i}
|
|
4
|
+
import{d as t}from"./p-8Kr0yg20.js";function i(t,i){return i.forEach((function(i){i&&"string"!=typeof i&&!Array.isArray(i)&&Object.keys(i).forEach((function(s){if("default"!==s&&!(s in t)){var e=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(t,s,e.get?e:{enumerable:!0,get:function(){return i[s]}})}}))})),Object.freeze(t)}var s,e,n={exports:{}},o=(s||(s=1,e=()=>(()=>{var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,n={};((i,s)=>{for(var e in s)t(i,e,{get:s[e],enumerable:!0})})(n,{Iti:()=>nt,default:()=>lt});var o=[];for(const t of[["af","93",0,null,"0"],["ax","358",1,["18","4"],"0"],["al","355",0,null,"0"],["dz","213",0,null,"0"],["as","1",5,["684"],"1"],["ad","376"],["ao","244"],["ai","1",6,["264"],"1"],["ag","1",7,["268"],"1"],["ar","54",0,null,"0"],["am","374",0,null,"0"],["aw","297"],["ac","247"],["au","61",0,["4"],"0"],["at","43",0,null,"0"],["az","994",0,null,"0"],["bs","1",8,["242"],"1"],["bh","973"],["bd","880",0,null,"0"],["bb","1",9,["246"],"1"],["by","375",0,null,"8"],["be","32",0,null,"0"],["bz","501"],["bj","229"],["bm","1",10,["441"],"1"],["bt","975"],["bo","591",0,null,"0"],["ba","387",0,null,"0"],["bw","267"],["br","55",0,null,"0"],["io","246"],["vg","1",11,["284"],"1"],["bn","673"],["bg","359",0,null,"0"],["bf","226"],["bi","257"],["kh","855",0,null,"0"],["cm","237"],["ca","1",1,["204","226","236","249","250","257","263","289","306","343","354","365","367","368","382","403","416","418","428","431","437","438","450","468","474","506","514","519","548","579","581","584","587","604","613","639","647","672","683","705","709","742","753","778","780","782","807","819","825","867","873","879","902","905","942"],"1"],["cv","238"],["bq","599",1,["3","4","7"]],["ky","1",12,["345"],"1"],["cf","236"],["td","235"],["cl","56"],["cn","86",0,null,"0"],["cx","61",2,["4","89164"],"0"],["cc","61",1,["4","89162"],"0"],["co","57",0,null,"0"],["km","269"],["cg","242"],["cd","243",0,null,"0"],["ck","682"],["cr","506"],["ci","225"],["hr","385",0,null,"0"],["cu","53",0,null,"0"],["cw","599",0],["cy","357"],["cz","420"],["dk","45"],["dj","253"],["dm","1",13,["767"],"1"],["do","1",2,["809","829","849"],"1"],["ec","593",0,null,"0"],["eg","20",0,null,"0"],["sv","503"],["gq","240"],["er","291",0,null,"0"],["ee","372"],["sz","268"],["et","251",0,null,"0"],["fk","500"],["fo","298"],["fj","679"],["fi","358",0,["4"],"0"],["fr","33",0,null,"0"],["gf","594",0,null,"0"],["pf","689"],["ga","241"],["gm","220"],["ge","995",0,null,"0"],["de","49",0,null,"0"],["gh","233",0,null,"0"],["gi","350"],["gr","30"],["gl","299"],["gd","1",14,["473"],"1"],["gp","590",0,null,"0"],["gu","1",15,["671"],"1"],["gt","502"],["gg","44",1,["1481","7781","7839","7911"],"0"],["gn","224"],["gw","245"],["gy","592"],["ht","509"],["hn","504"],["hk","852"],["hu","36",0,null,"06"],["is","354"],["in","91",0,null,"0"],["id","62",0,null,"0"],["ir","98",0,null,"0"],["iq","964",0,null,"0"],["ie","353",0,null,"0"],["im","44",2,["1624","74576","7524","7624","7924"],"0"],["il","972",0,null,"0"],["it","39",0,["3"]],["jm","1",4,["658","876"],"1"],["jp","81",0,null,"0"],["je","44",3,["1534","7509","7700","7797","7829","7937"],"0"],["jo","962",0,null,"0"],["kz","7",1,["33","7"],"8"],["ke","254",0,null,"0"],["ki","686",0,null,"0"],["xk","383",0,null,"0"],["kw","965"],["kg","996",0,null,"0"],["la","856",0,null,"0"],["lv","371"],["lb","961",0,null,"0"],["ls","266"],["lr","231",0,null,"0"],["ly","218",0,null,"0"],["li","423",0,null,"0"],["lt","370",0,null,"0"],["lu","352"],["mo","853"],["mg","261",0,null,"0"],["mw","265",0,null,"0"],["my","60",0,null,"0"],["mv","960"],["ml","223"],["mt","356"],["mh","692",0,null,"1"],["mq","596",0,null,"0"],["mr","222"],["mu","230"],["yt","262",1,["269","639"],"0"],["mx","52"],["fm","691"],["md","373",0,null,"0"],["mc","377",0,null,"0"],["mn","976",0,null,"0"],["me","382",0,null,"0"],["ms","1",16,["664"],"1"],["ma","212",0,["6","7"],"0"],["mz","258"],["mm","95",0,null,"0"],["na","264",0,null,"0"],["nr","674"],["np","977",0,null,"0"],["nl","31",0,null,"0"],["nc","687"],["nz","64",0,null,"0"],["ni","505"],["ne","227"],["ng","234",0,null,"0"],["nu","683"],["nf","672"],["kp","850",0,null,"0"],["mk","389",0,null,"0"],["mp","1",17,["670"],"1"],["no","47",0,["4","9"]],["om","968"],["pk","92",0,null,"0"],["pw","680"],["ps","970",0,null,"0"],["pa","507"],["pg","675"],["py","595",0,null,"0"],["pe","51",0,null,"0"],["ph","63",0,null,"0"],["pl","48"],["pt","351"],["pr","1",3,["787","939"],"1"],["qa","974"],["re","262",0,null,"0"],["ro","40",0,null,"0"],["ru","7",0,["33"],"8"],["rw","250",0,null,"0"],["ws","685"],["sm","378"],["st","239"],["sa","966",0,null,"0"],["sn","221"],["rs","381",0,null,"0"],["sc","248"],["sl","232",0,null,"0"],["sg","65"],["sx","1",21,["721"],"1"],["sk","421",0,null,"0"],["si","386",0,null,"0"],["sb","677"],["so","252",0,null,"0"],["za","27",0,null,"0"],["kr","82",0,null,"0"],["ss","211",0,null,"0"],["es","34"],["lk","94",0,null,"0"],["bl","590",1,null,"0"],["sh","290"],["kn","1",18,["869"],"1"],["lc","1",19,["758"],"1"],["mf","590",2,null,"0"],["pm","508",0,null,"0"],["vc","1",20,["784"],"1"],["sd","249",0,null,"0"],["sr","597"],["sj","47",1,["4","79","9"]],["se","46",0,null,"0"],["ch","41",0,null,"0"],["sy","963",0,null,"0"],["tw","886",0,null,"0"],["tj","992"],["tz","255",0,null,"0"],["th","66",0,null,"0"],["tl","670"],["tg","228"],["tk","690"],["to","676"],["tt","1",22,["868"],"1"],["tn","216"],["tr","90",0,null,"0"],["tm","993",0,null,"8"],["tc","1",23,["649"],"1"],["tv","688"],["vi","1",24,["340"],"1"],["ug","256",0,null,"0"],["ua","380",0,null,"0"],["ae","971",0,null,"0"],["gb","44",0,null,"0"],["us","1",0,null,"1"],["uy","598",0,null,"0"],["uz","998"],["vu","678"],["va","39",1,["06698","3"]],["ve","58",0,null,"0"],["vn","84",0,null,"0"],["wf","681"],["eh","212",1,["5288","5289","6","7"],"0"],["ye","967",0,null,"0"],["zm","260",0,null,"0"],["zw","263",0,null,"0"]])o.push({name:"",iso2:t[0],dialCode:t[1],priority:t[2]||0,areaCodes:t[3]||null,nodeById:{},nationalPrefix:t[4]||null,normalisedName:"",initials:"",dialCodePlus:""});var l,r=new Set(o.map((t=>t.iso2))),h=t=>r.has(t),a=o,u="iti__hide",c="iti__v-hide",d="iti__arrow--up",p="iti__globe",f="iti__flag",m="iti__loading",y="iti__country",b="iti__highlight",w="ArrowUp",g="ArrowDown",C="Enter",_="Escape",v={ALPHA_UNICODE:/\p{L}/u,NON_PLUS_NUMERIC:/[^+0-9]/,NON_PLUS_NUMERIC_GLOBAL:/[^+0-9]/g,HIDDEN_SEARCH_CHAR:/^[a-zA-ZÀ-ÿа-яА-Я ]$/},I={AGGRESSIVE:"aggressive",POLITE:"polite",OFF:"off"},k="auto",$=new Set(["FIXED_LINE","MOBILE","FIXED_LINE_OR_MOBILE","TOLL_FREE","PREMIUM_RATE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL","UNKNOWN"]),N="aria-expanded",L="aria-label",x="aria-selected",D="aria-activedescendant",A="aria-haspopup",P="aria-controls",S="aria-hidden",O="aria-autocomplete",T="aria-modal",E={selectedCountryAriaLabel:"Change country, selected ${countryName} (${dialCode})",noCountrySelected:"Select country",countryListAriaLabel:"List of countries",searchPlaceholder:"Search",clearSearchAriaLabel:"Clear search",searchEmptyState:"No results found",searchSummaryAria:t=>0===t?"No results found":1===t?"1 result found":`${t} results found`},M=t=>"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia(t).matches,F=()=>M("(max-width: 500px)"),j={allowDropdown:!0,allowedNumberTypes:["MOBILE","FIXED_LINE"],allowNumberExtensions:!1,allowPhonewords:!1,autoPlaceholder:I.POLITE,containerClass:"",countryNameLocale:"en",countryOrder:null,countrySearch:!0,customPlaceholder:null,dropdownAlwaysOpen:!1,dropdownContainer:null,excludeCountries:[],fixDropdownWidth:!0,formatAsYouType:!0,formatOnDisplay:!0,geoIpLookup:null,hiddenInput:null,i18n:{},initialCountry:"",loadUtils:null,nationalMode:!0,onlyCountries:[],placeholderNumberType:"MOBILE",searchInputClass:"",separateDialCode:!1,showFlags:!0,strictMode:!1,useFullscreenPopup:(()=>{if("undefined"!=typeof navigator&&"undefined"!=typeof window){const t=M("(max-height: 600px)"),i=M("(pointer: coarse)");return F()||i&&t}return!1})()},U=t=>JSON.stringify(t),B=t=>Boolean(t)&&"object"==typeof t&&!Array.isArray(t),z=new Set(Object.values(I)),R=t=>{console.warn(`[intl-tel-input] ${t}`)},H=(t,i,s)=>{R(`Option '${t}' must be ${i}; got ${U(s)}. Ignoring.`)},V=(t,i)=>Object.prototype.hasOwnProperty.call(t,i),W=(t,i)=>{const s="an array of ISO2 country code strings";if(!Array.isArray(i))return H(t,s,i),!1;const e=[];for(const n of i){if("string"!=typeof n)return H(t,s,i),!1;const o=n.toLowerCase();h(o)?e.push(n):R(`Invalid country code in '${t}': '${n}'. Skipping.`)}return e},K=t=>t.replace(/\D/g,""),q=(t="")=>t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase(),G=t=>Object.keys(t).filter((i=>Boolean(t[i]))).join(" "),X=(t,i,s)=>{const e=document.createElement(t);return i&&Object.entries(i).forEach((([t,i])=>e.setAttribute(t,i))),s&&s.appendChild(e),e},Y=class t{constructor(t,i,s){this.#t=null,this.#i=null,this.#s=null,this.#e=null,this.highlightedItem=null,t.dataset.intlTelInputId=s.toString(),this.telInput=t,this.#n=i,this.#o=s,this.hadInitialPlaceholder=Boolean(t.getAttribute("placeholder")),this.#l=!!this.telInput.closest("[dir=rtl]"),this.#n.separateDialCode&&(this.#r=this.telInput.style.paddingLeft)}#n;#o;#l;#r;#h;#t;#i;#a;#u;#c;#d;#p;#f;#s;#e;static validateInput(t){const i=t?.tagName;if(!Boolean(t)||"object"!=typeof t||"INPUT"!==i||"function"!=typeof t.setAttribute){const i=Object.prototype.toString.call(t);throw new TypeError(`The first argument must be an HTMLInputElement, not ${i}`)}}generateMarkup(t){this.#h=t,this.telInput.classList.add("iti__tel-input"),this.telInput.hasAttribute("autocomplete")||this.telInput.setAttribute("autocomplete","tel"),this.telInput.hasAttribute("inputmode")||this.telInput.setAttribute("inputmode","tel");const i=this.#m();this.#y(i),i.appendChild(this.telInput),this.#b(),this.#w(i)}#m(){const{allowDropdown:t,showFlags:i,containerClass:s,useFullscreenPopup:e}=this.#n,n=G({iti:!0,"iti--allow-dropdown":t,"iti--show-flags":i,"iti--inline-dropdown":!e,[s]:Boolean(s)}),o=X("div",{class:n});return this.#l&&o.setAttribute("dir","ltr"),this.telInput.before(o),o}#y(t){const{allowDropdown:i,separateDialCode:s,showFlags:e}=this.#n;if(i||e||s){this.countryContainer=X("div",{class:`iti__country-container ${c}`},t),i?(this.selectedCountry=X("button",{type:"button",class:"iti__selected-country",[N]:"false",[L]:this.#n.i18n.noCountrySelected,[A]:"dialog",[P]:`iti-${this.#o}__dropdown-content`},this.countryContainer),this.telInput.disabled&&this.selectedCountry.setAttribute("disabled","true")):this.selectedCountry=X("div",{class:"iti__selected-country"},this.countryContainer);const e=X("div",{class:"iti__selected-country-primary"},this.selectedCountry);this.selectedCountryInner=X("div",{class:f},e),i&&(this.#u=X("div",{class:"iti__arrow",[S]:"true"},e)),s&&(this.#a=X("div",{class:"iti__selected-dial-code"},this.selectedCountry)),i&&this.#g()}}#C(){const{fixDropdownWidth:t}=this.#n;if(t&&!this.#c.style.width){const t=this.telInput.offsetWidth;t>0&&(this.#c.style.width=`${t}px`)}}#g(){const{fixDropdownWidth:t,useFullscreenPopup:i,countrySearch:s,i18n:e,dropdownContainer:n,containerClass:o}=this.#n;if(this.#c=X("div",{id:`iti-${this.#o}__dropdown-content`,class:`iti__dropdown-content ${u} ${t?"":"iti--flexible-dropdown-width"}`,role:"dialog",[T]:"true"}),this.#l&&this.#c.setAttribute("dir","rtl"),s&&this.#_(),this.countryList=X("ul",{class:"iti__country-list",id:`iti-${this.#o}__country-listbox`,role:"listbox",[L]:e.countryListAriaLabel},this.#c),this.#v(),s&&this.#I(),i||(this.#C(),this.#i=this.#k(),s&&(this.#c.style.height=`${this.#i}px`)),n){const t=G({iti:!0,"iti--container":!0,"iti--fullscreen-popup":i,"iti--inline-dropdown":!i,[o]:Boolean(o)});this.#s=X("div",{class:t}),this.#s.appendChild(this.#c)}else this.countryContainer.appendChild(this.#c)}#_(){const{i18n:t,searchInputClass:i}=this.#n,s=X("div",{class:"iti__search-input-wrapper"},this.#c);this.#d=X("span",{class:"iti__search-icon",[S]:"true"},s),this.#d.innerHTML=`\n <svg class="iti__search-icon-svg" width="14" height="14" viewBox="0 0 24 24" focusable="false" ${S}="true">\n <circle cx="11" cy="11" r="7" />\n <line x1="21" y1="21" x2="16.65" y2="16.65" />\n </svg>`,this.searchInput=X("input",{id:`iti-${this.#o}__search-input`,type:"search",class:`iti__search-input ${i}`,placeholder:t.searchPlaceholder,role:"combobox",[N]:"true",[L]:t.searchPlaceholder,[P]:`iti-${this.#o}__country-listbox`,[O]:"list",autocomplete:"off"},s),this.searchClearButton=X("button",{type:"button",class:`iti__search-clear ${u}`,[L]:t.clearSearchAriaLabel,tabindex:"-1"},s),this.searchClearButton.innerHTML=(()=>{const t=`iti-${this.#o}-clear-mask`;return`\n <svg class="iti__search-clear-svg" width="12" height="12" viewBox="0 0 16 16" ${S}="true" focusable="false">\n <mask id="${t}" maskUnits="userSpaceOnUse">\n <rect width="16" height="16" fill="white" />\n <path d="M5.2 5.2 L10.8 10.8 M10.8 5.2 L5.2 10.8" stroke="black" stroke-linecap="round" class="iti__search-clear-x" />\n </mask>\n <circle cx="8" cy="8" r="8" class="iti__search-clear-bg" mask="url(#${t})" />\n </svg>`})(),this.#f=X("span",{class:"iti__a11y-text"},this.#c),this.#p=X("div",{class:`iti__no-results ${u}`,[S]:"true"},this.#c),this.#p.textContent=t.searchEmptyState}#b(){this.countryContainer&&(this.#$(),this.countryContainer.classList.remove(c))}#w(t){const{hiddenInput:i}=this.#n;if(i){const s=i(this.telInput.getAttribute("name")||"");if(s.phone){const i=this.telInput.form?.querySelector(`input[name="${s.phone}"]`);i?this.hiddenInput=i:(this.hiddenInput=X("input",{type:"hidden",name:s.phone}),t.appendChild(this.hiddenInput))}if(s.country){const i=this.telInput.form?.querySelector(`input[name="${s.country}"]`);i?this.hiddenInputCountry=i:(this.hiddenInputCountry=X("input",{type:"hidden",name:s.country}),t.appendChild(this.hiddenInputCountry))}}}#v(){const t=document.createDocumentFragment();for(let i=0;i<this.#h.length;i++){const s=this.#h[i],e=G({[y]:!0}),n=X("li",{id:`iti-${this.#o}__item-${s.iso2}`,class:e,tabindex:"-1",role:"option",[x]:"false"});n.dataset.dialCode=s.dialCode,n.dataset.countryCode=s.iso2,s.nodeById[this.#o]=n,this.#n.showFlags&&X("div",{class:`${f} iti__${s.iso2}`},n);const o=X("span",{class:"iti__country-name"},n);o.textContent=`${s.name} `;const l=X("span",{class:"iti__dial-code"},o);this.#l&&l.setAttribute("dir","ltr"),l.textContent=`(+${s.dialCode})`,t.appendChild(n)}this.countryList.appendChild(t)}#$(){if(this.selectedCountry){const t=this.#n.separateDialCode?78:42,i=this.selectedCountry.offsetWidth||this.#N()||t;this.telInput.style.paddingLeft=`${i+6}px`}}static#L(){let t;try{t=window.top.document.body}catch(i){t=document.body}return t}#N(){if(this.telInput.parentNode){const i=t.#L(),s=this.telInput.parentNode.cloneNode(!1);s.style.visibility="hidden",i.appendChild(s);const e=this.countryContainer.cloneNode();s.appendChild(e);const n=this.selectedCountry.cloneNode(!0);e.appendChild(n);const o=n.offsetWidth;return i.removeChild(s),o}return 0}#k(){const i=t.#L();this.#c.classList.remove(u);const s=X("div",{class:"iti iti--inline-dropdown"});s.appendChild(this.#c),s.style.visibility="hidden",i.appendChild(s);const e=this.#c.offsetHeight;return i.removeChild(s),s.style.visibility="",this.#c.classList.add(u),e>0?e:200}#I(){const{i18n:t}=this.#n;this.#f.textContent=t.searchSummaryAria(this.countryList.childElementCount)}filterCountriesByQuery(t){let i;i=""===t?this.#h:((t,i)=>{const s=q(i),e=[],n=[],o=[],l=[],r=[],h=[];for(const i of t)i.iso2===s?e.push(i):i.normalisedName.startsWith(s)?n.push(i):i.normalisedName.includes(s)?o.push(i):s===i.dialCode||s===i.dialCodePlus?l.push(i):i.dialCodePlus.includes(s)?r.push(i):i.initials.includes(s)&&h.push(i);const a=(t,i)=>t.priority-i.priority;return[...e,...n,...o,...l.sort(a),...r.sort(a),...h]})(this.#h,t),this.#x(i)}#D(){const t=this.searchInput.value.trim();this.filterCountriesByQuery(t),this.searchInput.value?this.searchClearButton.classList.remove(u):this.searchClearButton.classList.add(u)}handleSearchChange(){this.#t&&clearTimeout(this.#t),this.#t=setTimeout((()=>{this.#D(),this.#t=null}),100)}handleSearchClear(){this.searchInput.value="",this.searchInput.focus(),this.#D()}scrollCountryListToItem(t){const i=this.countryList,s=i.getBoundingClientRect(),e=t.getBoundingClientRect(),n=e.top-s.top+i.scrollTop;e.top<s.top?i.scrollTop=n:e.bottom>s.bottom&&(i.scrollTop=n-s.height+e.height)}highlightListItem(t,i){const s=this.highlightedItem;if(s&&s.classList.remove(b),this.highlightedItem=t,this.highlightedItem){if(this.highlightedItem.classList.add(b),this.#n.countrySearch){const t=this.highlightedItem.getAttribute("id")||"";this.searchInput.setAttribute(D,t)}i&&this.highlightedItem.focus()}}handleUpDownKey(t){let i=t===w?this.highlightedItem?.previousElementSibling:this.highlightedItem?.nextElementSibling;!i&&this.countryList.childElementCount>1&&(i=t===w?this.countryList.lastElementChild:this.countryList.firstElementChild),i&&(this.scrollCountryListToItem(i),this.highlightListItem(i,!1))}#A(t){if(this.#e&&this.#e.dataset.countryCode!==t&&(this.#e.setAttribute(x,"false"),this.#e.querySelector(".iti__country-check")?.remove(),this.#e=null),t&&!this.#e){const i=this.countryList.querySelector(`[data-country-code="${t}"]`);i&&(i.setAttribute(x,"true"),X("span",{class:"iti__country-check",[S]:"true"},i).innerHTML=`\n <svg class="iti__country-check-svg" width="14" height="14" viewBox="0 0 16 16" fill="currentColor" focusable="false" ${S}="true">\n <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>\n </svg>`,this.#e=i)}}#x(t){this.countryList.replaceChildren();let i=!0;for(const s of t){const t=s.nodeById[this.#o];t&&(this.countryList.appendChild(t),i&&(this.highlightListItem(t,!1),i=!1))}i?(this.highlightListItem(null,!1),this.#p&&this.#p.classList.remove(u)):this.#p&&this.#p.classList.add(u),this.countryList.scrollTop=0,this.#I()}destroy(){this.telInput.iti=void 0,delete this.telInput.dataset.intlTelInputId,this.#n.separateDialCode&&(this.telInput.style.paddingLeft=this.#r);const t=this.telInput.parentNode;t.before(this.telInput),t.remove(),this.telInput=null,this.countryContainer=null,this.selectedCountry=null,this.selectedCountryInner=null,this.searchInput=null,this.searchClearButton=null,this.countryList=null,this.hiddenInput=null,this.hiddenInputCountry=null,this.highlightedItem=null,this.#a=null,this.#u=null,this.#c=null,this.#d=null,this.#p=null,this.#f=null,this.#s=null,this.#e=null;for(const t of this.#h)delete t.nodeById[this.#o];this.#h=null}openDropdown(){const{countrySearch:t,dropdownAlwaysOpen:i,dropdownContainer:s}=this.#n;if(this.#C(),s)this.#P();else{const t=this.#S(),i=this.telInput.offsetHeight+3;t?this.#c.style.top=`${i}px`:this.#c.style.bottom=`${i}px`}if(this.#c.classList.remove(u),this.selectedCountry.setAttribute(N,"true"),t){const t=this.countryList.firstElementChild;t&&(this.highlightListItem(t,!1),this.countryList.scrollTop=0),i||this.searchInput.focus()}this.#u.classList.add(d)}closeDropdown(){const{countrySearch:t,dropdownContainer:i}=this.#n;this.#c.classList.add(u),this.selectedCountry.setAttribute(N,"false"),t&&(this.searchInput.removeAttribute(D),this.highlightedItem&&(this.highlightedItem.classList.remove(b),this.highlightedItem=null)),this.#u.classList.remove(d),i?(this.#s.remove(),this.#s.style.top="",this.#s.style.bottom="",this.#s.style.paddingLeft="",this.#s.style.paddingRight=""):(this.#c.style.top="",this.#c.style.bottom="")}#S(){if(this.#n.dropdownAlwaysOpen)return!0;const t=this.telInput.getBoundingClientRect(),i=window.innerHeight-t.bottom;return i>=this.#i||i>=t.top}#P(){const{dropdownContainer:t,useFullscreenPopup:i}=this.#n;if(i){if(window.innerWidth>=500){const t=this.telInput.getBoundingClientRect();this.#s.style.paddingLeft=`${t.left}px`,this.#s.style.paddingRight=window.innerWidth-t.right+"px"}}else{const t=this.telInput.getBoundingClientRect();this.#s.style.left=`${t.left}px`,this.#S()?this.#s.style.top=`${t.bottom+3}px`:(this.#s.style.top="unset",this.#s.style.bottom=window.innerHeight-t.top+3+"px")}t.appendChild(this.#s)}isDropdownClosed(){return this.#c.classList.contains(u)}setCountry(t){const{allowDropdown:i,showFlags:s,separateDialCode:e,i18n:n}=this.#n,{name:o,dialCode:l,iso2:r=""}=t;if(i&&this.#A(r),this.selectedCountry){const t=r&&s?`${f} iti__${r}`:`${f} ${p}`;let i,e,h;r?(e=o,i=n.selectedCountryAriaLabel.replace("${countryName}",o).replace("${dialCode}",`+${l}`),h=s?"":'\n <svg width="256" height="256" viewBox="0 0 512 512" class="iti__globe-svg">\n <path d="M508 213a240 240 0 0 0-449-87l-2 5-2 5c-8 14-13 30-17 46a65 65 0 0 1 56 4c16-10 35-19 56-27l9-3c-6 23-10 48-10 74h-16l4 6c3 4 5 8 6 13h6c0 22 3 44 8 65l2 10-25-10-4 5 12 18 9 3 6 2 8 3 9 26 1 2 16-7h1l-5-13-1-2c24 6 49 9 75 10v26l11 10 7 7v-30l1-13c22 0 44-3 65-8l10-2-21 48-1 1a317 317 0 0 1-14 23l-21 5h-2c6 16 7 33 1 50a240 240 0 0 0 211-265m-401-56-11 6c19-44 54-79 98-98-11 20-21 44-29 69-21 6-40 15-58 23m154 182v4c-29-1-57-6-81-13-7-25-12-52-13-81h94zm0-109h-94c1-29 6-56 13-81 24-7 52-12 81-13zm0-112c-22 1-44 4-65 8l-10 2 12-30 9-17 1-2a332 332 0 0 1 13-23c13-4 26-6 40-7zm187 69 6 4c4 12 6 25 6 38v1h-68c-1-26-4-51-10-74l48 20 1 1 14 8zm-14-44 10 20c-20-11-43-21-68-29-8-25-18-49-29-69 37 16 67 44 87 78M279 49h1c13 1 27 3 39 7l14 23 1 2a343 343 0 0 1 12 26l2 5 6 16c-23-6-48-9-74-10h-1zm0 87h1c29 1 56 6 81 13 7 24 12 51 12 80v1h-94zm2 207h-2v-94h95c-1 29-6 56-13 81-24 7-51 12-80 13m86 60-20 10c11-20 21-43 29-68 25-8 48-18 68-29-16 37-43 67-77 87m87-115-7 5-16 9-2 1a337 337 0 0 1-47 21c6-24 9-49 10-75h68c0 13-2 27-6 39"/>\n <path d="m261 428-2-2-22-21a40 40 0 0 0-32-11h-1a37 37 0 0 0-18 8l-1 1-4 2-2 2-5 4c-9-3-36-31-47-44s-32-45-34-55l3-2a151 151 0 0 0 11-9v-1a39 39 0 0 0 5-48l-3-3-11-19-3-4-5-7h-1l-3-3-4-3-5-2a35 35 0 0 0-16-3h-5c-4 1-14 5-24 11l-4 2-4 3-4 2c-9 8-17 17-18 27a380 380 0 0 0 212 259h3c12 0 25-10 36-21l10-12 6-11a39 39 0 0 0-8-40"/>\n </svg>'):(e=n.noCountrySelected,i=n.noCountrySelected,h='\n <svg width="256" height="256" viewBox="0 0 512 512" class="iti__globe-svg">\n <path d="M508 213a240 240 0 0 0-449-87l-2 5-2 5c-8 14-13 30-17 46a65 65 0 0 1 56 4c16-10 35-19 56-27l9-3c-6 23-10 48-10 74h-16l4 6c3 4 5 8 6 13h6c0 22 3 44 8 65l2 10-25-10-4 5 12 18 9 3 6 2 8 3 9 26 1 2 16-7h1l-5-13-1-2c24 6 49 9 75 10v26l11 10 7 7v-30l1-13c22 0 44-3 65-8l10-2-21 48-1 1a317 317 0 0 1-14 23l-21 5h-2c6 16 7 33 1 50a240 240 0 0 0 211-265m-401-56-11 6c19-44 54-79 98-98-11 20-21 44-29 69-21 6-40 15-58 23m154 182v4c-29-1-57-6-81-13-7-25-12-52-13-81h94zm0-109h-94c1-29 6-56 13-81 24-7 52-12 81-13zm0-112c-22 1-44 4-65 8l-10 2 12-30 9-17 1-2a332 332 0 0 1 13-23c13-4 26-6 40-7zm187 69 6 4c4 12 6 25 6 38v1h-68c-1-26-4-51-10-74l48 20 1 1 14 8zm-14-44 10 20c-20-11-43-21-68-29-8-25-18-49-29-69 37 16 67 44 87 78M279 49h1c13 1 27 3 39 7l14 23 1 2a343 343 0 0 1 12 26l2 5 6 16c-23-6-48-9-74-10h-1zm0 87h1c29 1 56 6 81 13 7 24 12 51 12 80v1h-94zm2 207h-2v-94h95c-1 29-6 56-13 81-24 7-51 12-80 13m86 60-20 10c11-20 21-43 29-68 25-8 48-18 68-29-16 37-43 67-77 87m87-115-7 5-16 9-2 1a337 337 0 0 1-47 21c6-24 9-49 10-75h68c0 13-2 27-6 39"/>\n <path d="m261 428-2-2-22-21a40 40 0 0 0-32-11h-1a37 37 0 0 0-18 8l-1 1-4 2-2 2-5 4c-9-3-36-31-47-44s-32-45-34-55l3-2a151 151 0 0 0 11-9v-1a39 39 0 0 0 5-48l-3-3-11-19-3-4-5-7h-1l-3-3-4-3-5-2a35 35 0 0 0-16-3h-5c-4 1-14 5-24 11l-4 2-4 3-4 2c-9 8-17 17-18 27a380 380 0 0 0 212 259h3c12 0 25-10 36-21l10-12 6-11a39 39 0 0 0-8-40"/>\n </svg>'),this.selectedCountryInner.className=t,this.selectedCountry.setAttribute("title",e),this.selectedCountry.setAttribute(L,i),this.selectedCountryInner.innerHTML=h}e&&(this.#a.textContent=l?`+${l}`:"",this.#$())}},J=new Set(["800","808","870","881","882","883","888","979"]),Q=t=>{const i=K(t).slice(0,3);return t.startsWith("+")&&J.has(i)},Z=(t,i,s,e)=>{let n=t;if(s&&i){const t=`+${e.dialCode}`;n=n.substring(" "===n[t.length]||"-"===n[t.length]?t.length+1:t.length)}return n},tt=new Set(["800","822","833","844","855","866","877","880","881","882","883","884","885","886","887","888","889"]),it=t=>{const i=K(t);if(i.startsWith("1")&&i.length>=4){const t=i.substring(1,4);return tt.has(t)}return!1},st=class{#O;constructor(t){t&&this.#T(t)}#T(t){/[\u0660-\u0669]/.test(t)?this.#O="arabic-indic":/[\u06F0-\u06F9]/.test(t)?this.#O="persian":this.#O="ascii"}denormalise(t){if(!this.#O||"ascii"===this.#O)return t;const i="arabic-indic"===this.#O?1632:1776;return t.replace(/[0-9]/g,(t=>String.fromCharCode(i+Number(t))))}normalise(t){if(!t)return"";if(this.#T(t),"ascii"===this.#O)return t;const i="arabic-indic"===this.#O?1632:1776,s="arabic-indic"===this.#O?/[\u0660-\u0669]/g:/[\u06F0-\u06F9]/g;return t.replace(s,(t=>String.fromCharCode(t.charCodeAt(0)-i+48)))}isAscii(){return!this.#O||"ascii"===this.#O}},et=0,nt=class t{#E;#n;#M;#h;#F;#j;#U;#B;#z;#R;#H;#V;#W;#K;#q;#G;#X;#Y;constructor(t,i={}){this.id=et++,Y.validateInput(t);const s=(t=>{if(void 0===t)return{};if(!B(t)){const i=`The second argument must be an options object; got ${U(t)}. Using defaults.`;return R(i),{}}const i={};for(const[e,n]of Object.entries(t))if(V(j,e))switch(e){case"allowDropdown":case"allowNumberExtensions":case"allowPhonewords":case"countrySearch":case"dropdownAlwaysOpen":case"fixDropdownWidth":case"formatAsYouType":case"formatOnDisplay":case"nationalMode":case"showFlags":case"separateDialCode":case"strictMode":case"useFullscreenPopup":if("boolean"!=typeof n){H(e,"a boolean",n);break}i[e]=n;break;case"autoPlaceholder":if("string"!=typeof n||!z.has(n)){const t=Array.from(z).join(", ");H("autoPlaceholder",`one of ${t}`,n);break}i[e]=n;break;case"containerClass":case"searchInputClass":case"countryNameLocale":if("string"!=typeof n){H(e,"a string",n);break}i[e]=n;break;case"countryOrder":if(null===n)i[e]=n;else{const t=W(e,n);!1!==t&&(i[e]=t)}break;case"customPlaceholder":case"geoIpLookup":case"hiddenInput":case"loadUtils":if(null!==n&&"function"!=typeof n){H(e,"a function or null",n);break}i[e]=n;break;case"dropdownContainer":if(null!==n&&(!(s=n)||"object"!=typeof s||1!==s.nodeType||"string"!=typeof s.tagName||"function"!=typeof s.appendChild)){H("dropdownContainer","an HTMLElement or null",n);break}i[e]=n;break;case"excludeCountries":case"onlyCountries":{const t=W(e,n);!1!==t&&(i[e]=t);break}case"i18n":if(n&&!B(n)){H("i18n","an object",n);break}i[e]=n;break;case"initialCountry":{if("string"!=typeof n){H("initialCountry","a string",n);break}const t=n.toLowerCase();if(t&&t!==k&&!h(t)){H("initialCountry","a valid ISO2 country code or 'auto'",n);break}i[e]=n;break}case"placeholderNumberType":if("string"!=typeof n||!$.has(n)){const t=Array.from($).join(", ");H("placeholderNumberType",`one of ${t}`,n);break}i[e]=n;break;case"allowedNumberTypes":if(null!==n){if(!Array.isArray(n)){H("allowedNumberTypes","an array of number types or null",n);break}let t=!0;for(const i of n)if("string"!=typeof i||!$.has(i)){const s=Array.from($).join(", ");H("allowedNumberTypes",`an array of valid number types (${s})`,i),t=!1;break}t&&(i[e]=n)}else i[e]=null}else R(`Unknown option '${e}'. Ignoring.`);var s;return i})(i);var e;this.#n={...j,...s},(e=this.#n).initialCountry&&(e.initialCountry=e.initialCountry.toLowerCase()),e.onlyCountries?.length&&(e.onlyCountries=e.onlyCountries.map((t=>t.toLowerCase()))),e.excludeCountries?.length&&(e.excludeCountries=e.excludeCountries.map((t=>t.toLowerCase()))),e.countryOrder&&(e.countryOrder=e.countryOrder.map((t=>t.toLowerCase()))),(t=>{t.dropdownAlwaysOpen&&(t.useFullscreenPopup=!1,t.allowDropdown=!0),t.useFullscreenPopup?t.fixDropdownWidth=!1:F()&&(t.fixDropdownWidth=!0),1===t.onlyCountries.length&&(t.initialCountry=t.onlyCountries[0]),t.separateDialCode&&(t.nationalMode=!1),!t.allowDropdown||t.showFlags||t.separateDialCode||(t.nationalMode=!1),t.useFullscreenPopup&&!t.dropdownContainer&&(t.dropdownContainer=document.body),t.i18n={...E,...t.i18n}})(this.#n),this.#E=new Y(t,this.#n,this.id),this.#M="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),this.#K=new st(t.value),this.promise=this.#J(this.#n),this.#h=(t=>{const{onlyCountries:i,excludeCountries:s}=t;return i?.length?a.filter((t=>i.includes(t.iso2))):s?.length?a.filter((t=>!s.includes(t.iso2))):a})(this.#n);const{dialCodes:n,dialCodeMaxLen:o,dialCodeToIso2Map:l}=(t=>{const i=new Set;let s=0;const e={},n=(t,i)=>{if(!t||!i)return;i.length>s&&(s=i.length),e.hasOwnProperty(i)||(e[i]=[]);const n=e[i];n.includes(t)||n.push(t)},o=[...t].sort(((t,i)=>t.priority-i.priority));for(const t of o){i.has(t.dialCode)||i.add(t.dialCode);for(let i=1;i<t.dialCode.length;i++){const s=t.dialCode.substring(0,i);n(t.iso2,s)}if(n(t.iso2,t.dialCode),t.areaCodes){const i=e[t.dialCode][0];for(const s of t.areaCodes){for(let e=1;e<s.length;e++){const o=s.substring(0,e),l=t.dialCode+o;n(i,l),n(t.iso2,l)}n(t.iso2,t.dialCode+s)}}}return{dialCodes:i,dialCodeMaxLen:s,dialCodeToIso2Map:e}})(this.#h);this.#U=n,this.#F=o,this.#j=l,this.#B=new Map(this.#h.map((t=>[t.iso2,t]))),this.#Q()}#Z(){const t=this.#E.telInput.value.trim();return this.#K.normalise(t)}#tt(t){this.#E.telInput.value=this.#K.denormalise(t)}#J(t){const{initialCountry:i,geoIpLookup:s,loadUtils:e}=t,n=i===k&&Boolean(s),o=Boolean(e)&&!ot.utils;let l,r;return n?l=new Promise(((t,i)=>{this.#q=t,this.#G=i})):(l=Promise.resolve(void 0),this.#q=()=>{},this.#G=()=>{}),o?r=new Promise(((t,i)=>{this.#X=t,this.#Y=i})):(r=Promise.resolve(void 0),this.#X=()=>{},this.#Y=()=>{}),Promise.all([l,r]).then((()=>{}))}#Q(){this.#z=null,this.#V=new AbortController,this.#it(),this.#E.generateMarkup(this.#h),this.#st(),this.#et(),this.#nt(),this.#n.dropdownAlwaysOpen&&this.#ot()}#it(){((t,i)=>{const{countryNameLocale:s,i18n:e}=i;let n;try{n="undefined"!=typeof Intl&&"function"==typeof Intl.DisplayNames?new Intl.DisplayNames(s,{type:"region"}):null}catch(t){console.error(t),n=null}for(const i of t)i.name=e[i.iso2]||n?.of(i.iso2.toUpperCase())||""})(this.#h,this.#n),((t,i)=>{const{countryOrder:s}=i;t.sort(((t,i)=>{if(s){const e=s.indexOf(t.iso2),n=s.indexOf(i.iso2),o=e>-1,l=n>-1;if(o||l)return o&&l?e-n:o?-1:1}return t.name.localeCompare(i.name)}))})(this.#h,this.#n),(t=>{for(const i of t)i.normalisedName=q(i.name),i.initials=i.normalisedName.split(/[^a-z]/).map((t=>t[0])).join(""),i.dialCodePlus=`+${i.dialCode}`})(this.#h)}#st(t=!1){const i=this.#E.telInput.getAttribute("value"),s=this.#K.normalise(i),e=this.#Z(),n=!s||!s.startsWith("+")||e&&e.startsWith("+")?e:s,o=this.#lt(n),l=it(n),{initialCountry:r,geoIpLookup:a}=this.#n,u=r===k&&a&&!t,c=h(r);o?l?c?this.#rt(r):u||this.#rt("us"):this.#ht(n):c?this.#rt(r):u||this.#rt(""),n&&this.#at(n)}#et(){this.#ut(),this.#n.allowDropdown&&this.#ct(),(this.#E.hiddenInput||this.#E.hiddenInputCountry)&&this.#E.telInput.form&&this.#dt()}#dt(){this.#E.telInput.form?.addEventListener("submit",(()=>{this.#E.hiddenInput&&(this.#E.hiddenInput.value=this.getNumber()),this.#E.hiddenInputCountry&&(this.#E.hiddenInputCountry.value=this.#z?.iso2||"")}),{signal:this.#V.signal})}#ct(){const t=this.#V.signal,i=this.#E.telInput.closest("label");i&&i.addEventListener("click",(t=>{this.#E.isDropdownClosed()?this.#E.telInput.focus():t.preventDefault()}),{signal:t}),this.#E.selectedCountry.addEventListener("click",(()=>{!this.#E.isDropdownClosed()||this.#E.telInput.disabled||this.#E.telInput.readOnly||this.#ot()}),{signal:t}),this.#E.countryContainer.addEventListener("keydown",(t=>{const i=[w,g," ",C];this.#E.isDropdownClosed()&&i.includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.#ot()),"Tab"===t.key&&this.#pt()}),{signal:t})}#nt(){const{loadUtils:t,initialCountry:i,geoIpLookup:s}=this.#n;if(t&&!ot.utils){const i=()=>{ot.attachUtils(t)?.catch((()=>{}))};ot.documentReady()?i():window.addEventListener("load",i,{signal:this.#V.signal})}else this.#X();i===k&&s&&(this.#z?.iso2?this.#q():this.#ft())}#ft(){ot.autoCountry?this.#mt():(this.#E.selectedCountryInner.classList.add(m),ot.startedLoadingAutoCountry||(ot.startedLoadingAutoCountry=!0,"function"!=typeof this.#n.geoIpLookup)||this.#n.geoIpLookup(((i="")=>{this.#E.selectedCountryInner.classList.remove(m);const s=i.toLowerCase();h(s)?(ot.autoCountry=s,setTimeout((()=>t.forEachInstance("handleAutoCountry")))):t.forEachInstance("handleAutoCountryFailure")}),(()=>{this.#E.selectedCountryInner.classList.remove(m),t.forEachInstance("handleAutoCountryFailure")})))}#yt(){this.#ot(),this.#E.searchInput.value="+",this.#E.filterCountriesByQuery("")}#ut(){this.#bt(),this.#wt(),this.#gt()}#bt(){const{strictMode:t,formatAsYouType:i,separateDialCode:s,allowDropdown:e,countrySearch:n}=this.#n;let o=!1;v.ALPHA_UNICODE.test(this.#Z())&&(o=!0),this.#E.telInput.addEventListener("input",(l=>{const r=this.#Z();if(this.#M&&"+"===l?.data&&s&&e&&n){const t=this.#E.telInput.selectionStart||0,i=r.substring(0,t-1),s=r.substring(t);return this.#tt(i+s),void this.#yt()}this.#ht(r)&&this.#Ct(),l?.data&&v.NON_PLUS_NUMERIC.test(l.data)||"insertFromPaste"===l?.inputType&&r&&!t?o=!0:v.NON_PLUS_NUMERIC.test(r)||(o=!1);const h=l?.detail&&l.detail.isSetNumber,a=this.#K.isAscii();if(i&&!o&&!h&&a){const t=this.#E.telInput.selectionStart||0,i=r.substring(0,t).replace(v.NON_PLUS_NUMERIC_GLOBAL,"").length,e="deleteContentForward"===l?.inputType,n=((t,i,s,e,n)=>{const o=s?s.formatNumberAsYouType(t,e.iso2):t,{dialCode:l}=e;return n&&"+"!==i.charAt(0)&&o.includes(`+${l}`)?(o.split(`+${l}`)[1]||"").trim():o})(this.#_t(),r,ot.utils,this.#z??{},s),o=((t,i,s,e)=>{if(0===s&&!e)return 0;let n=0;for(let s=0;s<i.length;s++){if(/[+0-9]/.test(i[s])&&n++,n===t&&!e)return s+1;if(e&&n===t+1)return s}return i.length})(i,n,t,e);this.#tt(n),this.#E.telInput.setSelectionRange(o,o)}if(s&&r.startsWith("+")&&this.#z?.dialCode){const t=Z(r,!0,s,this.#z??{});this.#tt(t)}}),{signal:this.#V.signal})}#wt(){const{strictMode:t,separateDialCode:i,allowDropdown:s,countrySearch:e}=this.#n;(t||i)&&this.#E.telInput.addEventListener("keydown",(n=>{if(n.key&&1===n.key.length&&!n.altKey&&!n.ctrlKey&&!n.metaKey){if(i&&s&&e&&"+"===n.key)return n.preventDefault(),void this.#yt();if(t){const t=this.#Z(),s=!t.startsWith("+")&&0===this.#E.telInput.selectionStart&&"+"===n.key,e=this.#K.normalise(n.key),o=/^[0-9]$/.test(e),l=i?o:s||o,r=this.#E.telInput,h=r.selectionEnd,a=t.slice(0,r.selectionStart),u=t.slice(h),c=this.#_t(a+n.key+u);let d=!1;ot.utils&&this.#R&&(d=ot.utils.getCoreNumber(c,this.#z?.iso2).length>this.#R);const p=this.#vt(c);l&&(!d||null!==p||s)||n.preventDefault()}}}),{signal:this.#V.signal})}#gt(){this.#n.strictMode&&this.#E.telInput.addEventListener("paste",(t=>{t.preventDefault();const i=this.#E.telInput,s=i.selectionStart,e=i.selectionEnd,n=this.#Z(),o=n.slice(0,s),l=n.slice(e),r=this.#z?.iso2,h=t.clipboardData.getData("text"),a=this.#K.normalise(h),u=0===s&&e>0,c=!n.startsWith("+")||u,d=a.replace(v.NON_PLUS_NUMERIC_GLOBAL,""),p=d.startsWith("+"),f=d.replace(/\+/g,""),m=p&&c?`+${f}`:f;let y=o+m+l;if(y.length>5){let t=ot.utils.getCoreNumber(y,r);for(;0===t.length&&y.length>0;)y=y.slice(0,-1),t=ot.utils.getCoreNumber(y,r);if(!t)return;if(this.#R&&t.length>this.#R){if(i.selectionEnd!==n.length)return;{const i=t.length-this.#R;y=y.slice(0,y.length-i)}}}this.#tt(y);const b=s+m.length;i.setSelectionRange(b,b),i.dispatchEvent(new InputEvent("input",{bubbles:!0}))}),{signal:this.#V.signal})}#It(t){const i=Number(this.#E.telInput.getAttribute("maxlength"));return i&&t.length>i?t.substring(0,i):t}#kt(t,i={}){const s=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:i});this.#E.telInput.dispatchEvent(s)}#ot(){const{dropdownContainer:t,useFullscreenPopup:i}=this.#n;this.#W=new AbortController,this.#E.openDropdown(),!i&&t&&window.addEventListener("scroll",(()=>this.#pt()),{signal:this.#W.signal}),this.#$t(),this.#kt("open:countrydropdown")}#$t(){const t=this.#W.signal;this.#Nt(t),this.#Lt(t),this.#n.dropdownAlwaysOpen||this.#xt(t),this.#Dt(t),this.#n.countrySearch&&this.#At(t)}#Nt(t){this.#E.countryList.addEventListener("mouseover",(t=>{const i=t.target?.closest(`.${y}`);i&&this.#E.highlightListItem(i,!1)}),{signal:t})}#Lt(t){this.#E.countryList.addEventListener("click",(t=>{const i=t.target?.closest(`.${y}`);i&&this.#Pt(i)}),{signal:t})}#xt(t){const i=t=>{t.target.closest(`#iti-${this.id}__dropdown-content`)||this.#pt()};setTimeout((()=>{document.documentElement.addEventListener("click",i,{signal:t})}),0)}#Dt(t){let i="",s=null;document.addEventListener("keydown",(t=>{[w,g,C,_].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),t.key===w||t.key===g?this.#E.handleUpDownKey(t.key):t.key!==C||t.isComposing?t.key===_&&(this.#pt(),this.#E.selectedCountry.focus()):this.#St()),!this.#n.countrySearch&&v.HIDDEN_SEARCH_CHAR.test(t.key)&&(t.stopPropagation(),s&&clearTimeout(s),i+=t.key.toLowerCase(),this.#Ot(i),s=setTimeout((()=>{i=""}),1e3))}),{signal:t})}#At(t){this.#E.searchInput.addEventListener("input",(()=>this.#E.handleSearchChange()),{signal:t}),this.#E.searchClearButton.addEventListener("click",(()=>this.#E.handleSearchClear()),{signal:t})}#Ot(t){const i=((t,i)=>{const s=q(i);for(const i of t)if(i.normalisedName.startsWith(s))return i;return null})(this.#h,t);if(i){const t=i.nodeById[this.id];this.#E.highlightListItem(t,!1),this.#E.scrollCountryListToItem(t)}}#St(){this.#E.highlightedItem&&this.#Pt(this.#E.highlightedItem)}#at(t){const{formatOnDisplay:i,nationalMode:s,separateDialCode:e}=this.#n;let n=t;if(i&&ot.utils&&this.#z){const i=Q(t),o=s&&!i||!n.startsWith("+")&&!e,{NATIONAL:l,INTERNATIONAL:r}=ot.utils.numberFormat,h=o?l:r;n=ot.utils.formatNumber(n,this.#z?.iso2,h)}n=this.#Tt(n),this.#tt(n)}#ht(t){const i=this.#vt(t);return null!==i&&this.#rt(i)}#Et(t){const i=this.#z?.dialCode,s=this.#z?.nationalPrefix;return t.startsWith("+")||!i?t:`+${i}${s&&t.startsWith(s)&&!this.#n.separateDialCode?t.substring(1):t}`}#vt(t){const i=t.indexOf("+");let s=i?t.substring(i):t;const e=this.#z?.iso2,n=this.#z?.dialCode;s=this.#Et(s);const o=this.#lt(s,!0),l=K(s);if(o){const t=K(o),i=this.#j[t];if(1===i.length)return i[0]===e?null:i[0];if(!e&&this.#H&&i.includes(this.#H))return this.#H;if("1"===n&&it(l))return null;const s=this.#z?.areaCodes,r=this.#z?.priority;if(s){const t=s.map((t=>`${n}${t}`));for(const i of t)if(l.startsWith(i))return null}const h=s&&!(0===r)&&l.length>t.length;if((!e||!i.includes(e)||h)&&e!==i[0])return i[0]}else{if(s.startsWith("+")&&l.length){const t=this.#z?.dialCode||"";return t&&t.startsWith(l)?null:""}if((!s||"+"===s)&&!e&&this.#H)return this.#H}return null}#rt(t){const i=this.#z?.iso2||"";return this.#z=t?this.#B.get(t):null,this.#z?.iso2&&(this.#H=this.#z.iso2),this.#E.setCountry(this.#z??{}),this.#Mt(),this.#Ft(),i!==t}#Ft(){const{strictMode:t,placeholderNumberType:i,allowedNumberTypes:s}=this.#n,e=this.#z?.iso2;if(t&&ot.utils)if(e){let t=ot.utils.getExampleNumber(e,!1,ot.utils.numberType[i],!0),n=t;for(;ot.utils.isPossibleNumber(t,e,s);)n=t,t+="0";const o=ot.utils.getCoreNumber(n,e);this.#R=o.length,"by"===e&&(this.#R=o.length+1)}else this.#R=null}#Mt(){const{autoPlaceholder:t,placeholderNumberType:i,nationalMode:s,customPlaceholder:e}=this.#n,n=t===I.AGGRESSIVE||!this.#E.hadInitialPlaceholder&&t===I.POLITE;if(ot.utils&&n){const t=ot.utils.numberType[i];let n=this.#z?.iso2?ot.utils.getExampleNumber(this.#z.iso2,s,t):"";n=this.#Tt(n),"function"==typeof e&&(n=e(n,this.#z??{})),this.#E.telInput.setAttribute("placeholder",n)}}#Pt(t){const i=this.#rt(t.dataset.countryCode);if(this.#pt(),this.#jt(t.dataset.dialCode),this.#n.formatOnDisplay){const t=this.#Z();this.#at(t)}this.#E.telInput.focus(),i&&this.#Ct()}#pt(t){this.#E.isDropdownClosed()||this.#n.dropdownAlwaysOpen&&!t||(this.#E.closeDropdown(),this.#W.abort(),this.#W=null,this.#kt("close:countrydropdown"))}#jt(t){const i=this.#Z(),s=`+${t}`;let e;if(i.startsWith("+")){const t=this.#lt(i);e=t?i.replace(t,s):s,this.#tt(e)}}#lt(t,i){let s="";if(t.startsWith("+")){let e="",n=!1;for(let o=0;o<t.length;o++){const l=t.charAt(o);if(/[0-9]/.test(l)){if(e+=l,!Boolean(this.#j[e]))break;if(this.#U.has(e)){if(s=t.substring(0,o+1),n=!0,!i)break}else i&&n&&(s=t.substring(0,o+1));if(e.length===this.#F)break}}}return s}#_t(t){const i=t?this.#K.normalise(t):this.#Z(),s=this.#z?.dialCode;let e;const n=K(i);return e=this.#n.separateDialCode&&!i.startsWith("+")&&s&&n?`+${s}`:"",e+i}#Tt(t){const i=Boolean(this.#lt(t)),s=Z(t,i,this.#n.separateDialCode,this.#z??{});return this.#It(s)}#Ut(){const t=this.#z;if(!t)return{};const{iso2:i,dialCode:s,name:e}=t;return{iso2:i,dialCode:s,name:e}}#Ct(){const t=this.#Ut();this.#kt("countrychange",t)}#mt(){this.#E.telInput?this.#n.initialCountry===k&&ot.autoCountry&&(this.#H=ot.autoCountry,this.#z?.iso2||this.#E.selectedCountryInner.classList.contains(p)||this.setCountry(this.#H),this.#q()):this.#q?.()}#Bt(){this.#E.telInput?(this.#st(!0),this.#G()):this.#G?.()}#zt(){if(this.#E.telInput){if(ot.utils){const t=this.#Z();t&&this.#at(t),this.#z?.iso2&&(this.#Mt(),this.#Ft())}this.#X()}else this.#X?.()}#Rt(t){this.#E,this.#Y(t)}destroy(){this.#E.telInput&&(this.#n.allowDropdown&&this.#pt(!0),this.#V.abort(),this.#V=null,this.#E.destroy(),delete ot.instances[this.id])}isActive(){return!!this.#E?.telInput}getExtension(){return ot.utils&&this.#E.telInput?ot.utils.getExtension(this.#_t(),this.#z?.iso2):""}getNumber(t){if(ot.utils&&this.#E.telInput){const i=this.#z?.iso2,s=this.#_t(),e=ot.utils.formatNumber(s,i,t);return this.#K.denormalise(e)}return""}getNumberType(){return ot.utils&&this.#E.telInput?ot.utils.getNumberType(this.#_t(),this.#z?.iso2):-99}getSelectedCountryData(){return this.#Ut()}getValidationError(){if(ot.utils&&this.#E.telInput){const t=this.#z?.iso2;return ot.utils.getValidationError(this.#_t(),t)}return-99}isValidNumber(){const t=this.#z?.dialCode,i=this.#z?.iso2;if(ot.utils&&this.#E.telInput){const s=this.#_t(),e=ot.utils.getCoreNumber(s,i);if(e){if("44"===t&&"7"===e[0]&&10!==e.length)return!1;if(!v.ALPHA_UNICODE.test(s)&&t){const i=s.startsWith("+")?s.slice(1+t.length):s,n=K(i).length;if(e.length>n)return!1}}}return this.#Ht(!1)}isValidNumberPrecise(){return this.#Ht(!0)}#Vt(t){return ot.utils?ot.utils.isPossibleNumber(t,this.#z?.iso2,this.#n.allowedNumberTypes):null}#Ht(t){if(!ot.utils||!this.#E.telInput)return null;const{allowNumberExtensions:i,allowPhonewords:s}=this.#n,e=this.#_t();if(!this.#z?.iso2&&!Q(e))return!1;if(!(i=>t?this.#Wt(i):this.#Vt(i))(e))return!1;if(e.search(v.ALPHA_UNICODE)>-1){const t=this.#z?.iso2;return Boolean(ot.utils.getExtension(e,t))?i:s}return!0}#Wt(t){return ot.utils?ot.utils.isValidNumber(t,this.#z?.iso2,this.#n.allowedNumberTypes):null}setCountry(t){if(!this.#E.telInput)return;const i=t?.toLowerCase();if(!h(i))throw new Error(`Invalid country code: '${i}'`);const s=this.#z?.iso2;if(t&&i!==s||!t&&s){if(this.#rt(i),this.#jt(this.#z?.dialCode||""),this.#n.formatOnDisplay){const t=this.#Z();this.#at(t)}this.#Ct()}}setNumber(t){if(!this.#E.telInput)return;const i=this.#K.normalise(t),s=this.#ht(i);this.#at(i),s&&this.#Ct(),this.#kt("input",{isSetNumber:!0})}setPlaceholderNumberType(t){this.#E.telInput&&(this.#n.placeholderNumberType=t,this.#Mt())}setDisabled(t){this.#E.telInput&&(this.#E.telInput.disabled=t,this.#E.selectedCountry&&(t?this.#E.selectedCountry.setAttribute("disabled","true"):this.#E.selectedCountry.removeAttribute("disabled")))}static forEachInstance(i,...s){const e=Object.values(ot.instances),n=s[0];e.forEach((s=>{if(s instanceof t)switch(i){case"handleUtils":s.#zt();break;case"handleUtilsFailure":s.#Rt(n);break;case"handleAutoCountry":s.#mt();break;case"handleAutoCountryFailure":s.#Bt()}}))}},ot=Object.assign(((t,i)=>{const s=new nt(t,i);return ot.instances[s.id]=s,t.iti=s,s}),{defaults:j,documentReady:()=>"complete"===document.readyState,getCountryData:()=>a,getInstance:t=>{const i=t.dataset.intlTelInputId;return i?ot.instances[i]:null},instances:{},attachUtils:t=>{if(!ot.utils&&!ot.startedLoadingUtilsScript){let i;if("function"!=typeof t)return Promise.reject(new TypeError("The argument passed to attachUtils must be a function that returns a promise for the utilities module, not "+typeof t));try{i=Promise.resolve(t())}catch(t){return Promise.reject(t)}return ot.startedLoadingUtilsScript=!0,i.then((t=>{const i=t?.default;if(!i||"object"!=typeof i)throw new TypeError("The loader function passed to attachUtils did not resolve to a module object with utils as its default export.");return ot.utils=i,nt.forEachInstance("handleUtils"),!0})).catch((t=>{throw nt.forEachInstance("handleUtilsFailure",t),t}))}return null},startedLoadingUtilsScript:!1,startedLoadingAutoCountry:!1,version:"26.9.2"}),lt=ot;return l=n,((n,o,l,r)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let l of s(o))e.call(n,l)||undefined===l||t(n,l,{get:()=>o[l],enumerable:!(r=i(o,l))||r.enumerable});return n})(t({},"__esModule",{value:!0}),l)})().default,n.exports?n.exports=e():window.intlTelInput=e()),n.exports),l=i({__proto__:null,default:t(o)},[o]);export{l as i}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as o,H as r,a}from"./p-CwwxD-7C.js";const s=class{constructor(o){t(this,o),this.availableCoupons=[],this.cartTotal=0,this.cartTotalReady=!1,this.currentCoupon="",this.couponInputValue="",this.couponError="",this.isApplying=!1,this.appliedCoupons=[],this.mergedCoupons=[],this.appliedCouponCards=[],this.orderLocked=!1,this.multiCoupon=!1,this.isHandlingInternalError=!1,this.cartUpdatedHandler=t=>{this.syncCartTotal(t),(this.multiCoupon?Array.isArray(t?.coupons):t&&("coupon"in t||"cashback_code"in t))?this.syncAppliedFromCart(t):this.multiCoupon&&t&&"cashback_code"in t&&this.mergeCashbackCodeChip(t.cashback_code),this.couponError=""},this.couponAddedHandler=()=>{this.isApplying||this.isHandlingInternalError||this.refreshFromServer()},this.couponAdditionFailedHandler=t=>{this.isApplying||this.isHandlingInternalError||this.showCouponError(t?.message||salla.lang.get("pages.cart.coupon_application_error"))},this.couponDeletedHandler=()=>{this.isApplying||this.isHandlingInternalError||this.refreshFromServer()},this.onKeyUp=t=>{"Enter"===t.key&&this.couponButtonRef?.click(),this.couponError=""},this.onInput=t=>{this.couponInputValue=t.target.value},this.mergedCashbackCode=""}async componentWillLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),this.multiCoupon=!!salla.config.get("store.settings.cart.multi_coupon"),this.loadCouponsData(),this.seedFromStorage(),this.loadCartTotal(),this.setupCartEventListeners()}setupCartEventListeners(){salla.event.on("cart::updated",this.cartUpdatedHandler),salla.event.on("cart::coupon.added",this.couponAddedHandler),salla.event.on("cart::coupon.addition.failed",this.couponAdditionFailedHandler),salla.event.on("cart::coupon.deleted",this.couponDeletedHandler)}disconnectedCallback(){salla.event.off("cart::updated",this.cartUpdatedHandler),salla.event.off("cart::coupon.added",this.couponAddedHandler),salla.event.off("cart::coupon.addition.failed",this.couponAdditionFailedHandler),salla.event.off("cart::coupon.deleted",this.couponDeletedHandler)}async selectCoupon(t){const o=this.availableCoupons.find((o=>o.code===t));if(o){if(!this.isEligible(o))throw new Error("Coupon not eligible: minimum cart amount not met");try{await this.applyCoupon(t),this.host.dispatchEvent(new CustomEvent("salla::cart-coupons.coupon.selected",{detail:o,bubbles:!0}))}catch(t){throw t}}return o}async loadCouponsData(){try{const t=await salla.api.request("coupons"),o=t?.data,r=Array.isArray(o)?o:Array.isArray(o?.data)?o.data:[];this.availableCoupons=r}catch(t){console.warn("Failed to load coupons:",t),this.availableCoupons=[]}this.buildMergedCoupons()}async loadCartTotal(){await this.refreshFromServer()}seedFromStorage(){if(this.multiCoupon)return;const t=salla.storage.get("cart");t&&"object"==typeof t&&"coupon"in t&&this.applyCart(t),this.seedTotalsFromSummaryStorage()}seedTotalsFromSummaryStorage(){const t=salla.storage.get("cart.summary");t&&"object"==typeof t&&null!=t.sub_total&&(this.cartTotal=Number(t.sub_total),this.cartTotalReady=!0)}syncCartTotal(t){const o=t?.summary?.sub_total??t?.sub_total??t?.total;null!=o&&(this.cartTotal=Number(o),this.cartTotalReady=!0)}async refreshFromServer(){try{const t=await salla.cart.details(),o=t?.data?.cart??t?.data??t;if(o&&"object"==typeof o&&(Array.isArray(o.coupons)||"coupon"in o||"cashback_code"in o))return void this.applyCart(o)}catch(t){}const t=salla.storage.get("cart");t&&this.applyCart(t),this.seedTotalsFromSummaryStorage()}applyCart(t){this.syncCartTotal(t),this.syncAppliedFromCart(t)}mergeCashbackCodeChip(t){const o=(t||"").trim(),r=(this.mergedCashbackCode||"").trim();if(o.toLowerCase()===r.toLowerCase())return;const a=r?this.appliedCoupons.filter((t=>(t||"").toLowerCase()!==r.toLowerCase())):[...this.appliedCoupons],s=a.some((t=>(t||"").toLowerCase()===o.toLowerCase()));this.appliedCoupons=o&&!s?[...a,o]:a,this.mergedCashbackCode=o,r&&this.currentCoupon.toLowerCase()===r.toLowerCase()?this.currentCoupon=o:o&&(this.currentCoupon=this.currentCoupon||o),this.buildMergedCoupons()}syncAppliedFromCart(t){if(this.currentCoupon=t?.coupon||t?.cashback_code||"",this.mergedCashbackCode=(t?.cashback_code||"").trim(),this.multiCoupon){const o=Array.isArray(t?.coupons)?t.coupons:[t?.coupon];this.appliedCoupons=[...o,t?.cashback_code].filter(Boolean);const r=t?.applied_coupons;return this.appliedCouponCards=Array.isArray(r)?r.filter(Boolean):r&&"object"==typeof r?Object.values(r).filter(Boolean):[],void this.buildMergedCoupons()}this.couponInputValue=this.currentCoupon,this.appliedCoupons=this.currentCoupon?[this.currentCoupon]:[],this.buildMergedCoupons()}buildMergedCoupons(){if(!this.multiCoupon)return void(this.mergedCoupons=[]);const t=this.appliedCoupons.filter(Boolean),o=new Set(t),r=new Map(this.availableCoupons.map((t=>[t.code,t]))),a=new Map(r);this.appliedCouponCards.forEach((t=>{t?.code&&!a.has(t.code)&&a.set(t.code,t)}));const s=this.orderLocked?this.mergeIntoLockedOrder(t,r,(t=>o.has(t)||r.has(t))):[...t,...this.availableCoupons.map((t=>t.code)).filter((t=>!o.has(t)))];this.mergedCoupons=s.map((t=>({code:t,coupon:a.get(t)??null,applied:o.has(t)})))}mergeIntoLockedOrder(t,o,r){const a=this.mergedCoupons.map((t=>t.code)).filter(r),s=new Set(a),i=t.filter((t=>!s.has(t)));i.forEach((t=>s.add(t)));const e=[...o.keys()].filter((t=>!s.has(t)));return[...i,...a,...e]}lockOrder(){this.orderLocked=!0}async handleApplyClick(){if(this.isApplying)return;const t=this.couponInputValue.trim();if(t){this.lockOrder(),this.isApplying=!0,this.isHandlingInternalError=!0;try{await salla.cart.addCoupon(t),await this.refreshFromServer(),this.couponInputValue=""}catch(t){this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error"))}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}else this.showCouponError(salla.lang.get("pages.cart.enter_coupon_code"))}async handleCouponButtonClick(){if(this.isApplying)return;const t=!!this.currentCoupon;if(t||this.couponInputValue.trim()){this.isApplying=!0,this.isHandlingInternalError=!0;try{t?await salla.cart.deleteCoupon():await salla.cart.addCoupon(this.couponInputValue.trim()),await this.refreshFromServer()}catch(t){this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error"))}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}else this.showCouponError(salla.lang.get("pages.cart.enter_coupon_code"))}async removeCoupon(t){if(!this.isApplying){this.lockOrder(),this.isApplying=!0,this.isHandlingInternalError=!0;try{this.multiCoupon?await salla.cart.deleteCoupon(t):await salla.cart.deleteCoupon(),await this.refreshFromServer()}catch(t){this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error"))}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}}showCouponError(t){this.couponError=t}handleCouponClick(t){this.applyCoupon(t.code,!1).catch((()=>{}))}async applyCoupon(t,o=!0){if(this.isApplying){if(o)throw new Error("Coupon application already in progress")}else{this.lockOrder(),this.couponInputValue=t,this.couponError="",this.isApplying=!0,this.isHandlingInternalError=!0;try{await salla.cart.addCoupon(t.trim()),await this.refreshFromServer(),this.multiCoupon&&(this.couponInputValue="")}catch(t){if(this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error")),o)throw t}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}}formatMainAmount(t){if("percentage"===t.type)return`${salla.helpers.number("object"==typeof t.amount?t.amount.amount:t.amount)}%`;{const r="object"==typeof t.amount?t.amount:{amount:t.amount,currency:t.minimum_amount?.currency||salla.config.get("store.currency.code","SAR")};return o("span",{innerHTML:salla.money(r.amount,r.currency)})}}isEligible(t){return!this.cartTotalReady||!t.minimum_amount||this.cartTotal>=parseFloat(t.minimum_amount.amount)}renderCouponCard(t){const{coupon:r,applied:a,code:s}=t;if(!r)return this.renderMinimalCard(s);const i=this.isEligible(r);return o("div",{class:"s-cart-coupons-slide-one-fourth swiper-slide"},o("div",{class:`s-cart-coupons-card ${a?"s-cart-coupons-card--applied":""} ${a||i&&!this.isApplying?"":"s-cart-coupons-disabled"}`,onClick:()=>!a&&i&&!this.isApplying&&this.handleCouponClick(r)},o("div",{class:"s-cart-coupons-top-section"},o("div",{class:"s-cart-coupons-discount-values"},o("div",{class:"s-cart-coupons-main-amount"},this.formatMainAmount(r)),r.free_shipping?o("div",{class:"s-cart-coupons-secondary-info"},"+ ",salla.lang.get("pages.cart.free_shipping")):r.maximum_amount&&o("div",{class:"s-cart-coupons-secondary-info"},salla.lang.get("pages.cart.up_to")," ",o("span",{innerHTML:salla.money(r.maximum_amount.amount,r.maximum_amount.currency)}))),o("div",{class:"s-cart-coupons-code"},r.code)),o("div",{class:"s-cart-coupons-divider"}),o("div",{class:"s-cart-coupons-bottom-section"},o("div",{class:"s-cart-coupons-terms"},null!=r.remaining_days&&o("div",{class:"s-cart-coupons-expiry "+(r.remaining_days<=3?"s-cart-coupons-expiry-warning":"")},0===r.remaining_days?salla.lang.get("pages.cart.expires_today"):`${salla.lang.get("pages.cart.expires_after")} ${r.remaining_days} ${salla.lang.get("pages.cart.day")}`),r.minimum_amount&&parseFloat(r.minimum_amount.amount)>0&&o("div",{class:"s-cart-coupons-minimum"},salla.lang.get("pages.cart.minimum")," ",o("span",{innerHTML:salla.money(r.minimum_amount.amount,r.minimum_amount.currency)}))),o("div",{class:"s-cart-coupons-action"},a?this.renderAppliedAction(s):i?salla.lang.get("pages.cart.save_coupon"):salla.lang.get("pages.cart.coupon_not_compatible")))))}renderAppliedAction(t){return[o("span",{class:"s-cart-coupons-card-applied-label"},salla.lang.get("pages.cart.coupon_applied")),o("button",{type:"button",class:"s-cart-coupons-card-remove","aria-label":`${salla.lang.get("pages.cart.delete_coupon")} ${t}`,disabled:this.isApplying,onClick:o=>{o.stopPropagation(),this.removeCoupon(t)}},salla.lang.get("pages.cart.cancel"))]}renderMinimalCard(t){return o("div",{class:"s-cart-coupons-slide-one-fourth swiper-slide"},o("div",{class:"s-cart-coupons-card s-cart-coupons-card--applied s-cart-coupons-card--minimal"},o("div",{class:"s-cart-coupons-top-section"},o("div",{class:"s-cart-coupons-code s-cart-coupons-code--only"},t)),o("div",{class:"s-cart-coupons-divider"}),o("div",{class:"s-cart-coupons-bottom-section"},o("div",{class:"s-cart-coupons-action"},this.renderAppliedAction(t)))))}couponRow(){return this.multiCoupon?this.mergedCoupons:(this.availableCoupons||[]).map((t=>({code:t.code,coupon:t,applied:!1})))}render(){const t=this.couponRow();return o(r,{key:"79d820f5931ca33571e6897f4e5a09413e02cf96"},o("div",{key:"7c55aa93e8f4bc44c76606e1af4cb593cab0e7b2",class:"s-cart-coupons-wrapper"},o("div",{key:"7deee9dc280b91008c9f29eab2c7dbb42fb4d586",class:"s-cart-coupons-input-section"},o("label",{key:"f4362e77c3031c8bdacdbd0bd126f7df3c973583",htmlFor:"coupon-input",class:"s-cart-coupons-coupon-label"},salla.lang.get("pages.cart.have_coupon")),o("div",{key:"631dce1aeb71c6bfc80d00869c0974ffedb3f932",class:"s-cart-coupons-coupon-input-container"},this.multiCoupon?[o("input",{type:"text",id:"coupon-input",name:"coupon",class:"form-input "+(this.couponError?"s-coupon-input-error":""),placeholder:salla.lang.get("pages.cart.coupon_placeholder"),value:this.couponInputValue,disabled:this.isApplying,onInput:this.onInput,onKeyUp:this.onKeyUp,"aria-label":salla.lang.get("pages.cart.apply_coupon"),key:"coupon-input"}),o("salla-button",{ref:t=>this.couponButtonRef=t,class:"s-cart-coupons-coupon-button s-cart-coupons-coupon-button-apply",color:"primary",loading:this.isApplying,"loader-position":"center",onClick:()=>this.handleApplyClick(),key:"apply-button"},o("span",null,salla.lang.get("pages.cart.save_coupon")))]:[o("input",{type:"text",id:"coupon-input",name:"coupon",class:"form-input "+(this.couponError?"s-coupon-input-error":""),placeholder:salla.lang.get("pages.cart.coupon_placeholder"),value:this.couponInputValue,disabled:!!this.currentCoupon||this.isApplying,onInput:this.onInput,onKeyUp:this.onKeyUp,"aria-label":salla.lang.get("pages.cart.apply_coupon"),key:"coupon-input"}),o("salla-button",{ref:t=>this.couponButtonRef=t,class:"s-cart-coupons-coupon-button "+(this.currentCoupon?"s-cart-coupons-coupon-button-remove":"s-cart-coupons-coupon-button-apply"),color:this.currentCoupon?"danger":"primary",loading:this.isApplying,"loader-position":"center",onClick:()=>this.handleCouponButtonClick(),key:"apply-button"},this.currentCoupon?o("i",{class:"sicon-cancel"}):o("span",null,salla.lang.get("pages.cart.save_coupon")))]),this.couponError&&o("span",{key:"9713718d67c8c4ff4daeffc47572ac3cabea6905",class:"s-cart-coupons-coupon-error"},this.couponError)),t.length>0&&o("salla-slider",{type:"carousel",showControls:!1,class:"s-cart-coupons-slider",key:t.map((t=>t.code)).join("|")},o("div",{key:"4b96603ef79b45b312a87755850b3c81cc51deea",slot:"items"},t.map((t=>this.renderCouponCard(t)))))))}get host(){return a(this)}};s.style='/*!twlt*/@charset "UTF-8";.s-cart-coupons-card--applied{cursor:default}.s-cart-coupons-card--applied:hover{transform:none}.s-cart-coupons-card--applied .s-cart-coupons-top-section,.s-cart-coupons-card--applied .s-cart-coupons-bottom-section,.s-cart-coupons-card--applied .s-cart-coupons-divider{border-color:#d1d5db;border-color:color-mix(in srgb, var(--color-primary, #004d5a) 40%, transparent)}.s-cart-coupons-card--applied .s-cart-coupons-bottom-section{background:rgba(0, 0, 0, 0.04);background:color-mix(in srgb, var(--color-primary, #004d5a) 8%, transparent)}.s-cart-coupons-card--applied::before,.s-cart-coupons-card--applied::after{border-color:#d1d5db;border-color:color-mix(in srgb, var(--color-primary, #004d5a) 40%, transparent)}.s-cart-coupons-card--applied .s-cart-coupons-action{display:inline-flex;align-items:center;gap:10px}.s-cart-coupons-card--applied .s-cart-coupons-action{font-size:10px;font-weight:600;color:#4b5563}.s-cart-coupons-card-applied-label{color:#4b5563;color:var(--color-primary-dark, var(--color-primary, #4b5563))}.s-cart-coupons-card--applied .s-cart-coupons-action{min-width:0;max-width:100%}.s-cart-coupons-card-applied-label,.s-cart-coupons-card-remove{overflow:hidden;text-overflow:ellipsis}.s-cart-coupons-card--applied .s-cart-coupons-action,.s-cart-coupons-card--applied .s-cart-coupons-card-remove{pointer-events:auto}.s-cart-coupons-card-remove{flex:none;font-size:inherit;font-weight:inherit;color:#6b7280;background:transparent;border:0;padding:0;cursor:pointer;transition:color 0.15s ease}.s-cart-coupons-card-remove:hover{color:var(--color-danger, #ef4444)}.s-cart-coupons-card-remove:disabled{opacity:0.5;cursor:not-allowed}.s-cart-coupons-card--minimal .s-cart-coupons-bottom-section{justify-content:flex-end}.visible{visibility:visible}.fixed{position:fixed}.shrink{flex-shrink:1}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.form-input{height:2.5rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.form-input:focus{border-color:var(--color-primary);--tw-ring-color:transparent}.form-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.form-input:focus:is(.dark *){border-color:var(--color-primary)}@media (min-width: 640px){.form-input{font-size:0.875rem;line-height:1.25rem}}.s-cart-coupons-wrapper{display:block;width:100%;padding-top:1.25rem;padding-bottom:1.25rem}.s-cart-coupons-input-section{margin-bottom:0.625rem}.s-cart-coupons-coupon-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-coupon-input-container{position:relative;display:flex;align-items:stretch}.s-cart-coupons-coupon-input-container .form-input{height:auto;flex:1 1 0%}.s-cart-coupons-coupon-input-container .form-input:where([dir="ltr"],[dir="ltr"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important;border-right-width:0px}.s-cart-coupons-coupon-input-container .form-input:where([dir="rtl"],[dir="rtl"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important;border-left-width:0px}.s-cart-coupons-coupon-input-container .form-input:focus{position:relative;z-index:10}.s-cart-coupons-coupon-button:where([dir="ltr"],[dir="ltr"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px;border-bottom-left-radius:0px}.s-cart-coupons-coupon-button:where([dir="rtl"],[dir="rtl"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px;border-bottom-right-radius:0px}.s-cart-coupons-coupon-button-remove:where([dir="ltr"],[dir="ltr"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.s-cart-coupons-coupon-button-remove:where([dir="rtl"],[dir="rtl"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.s-cart-coupons-coupon-button-apply:where([dir="ltr"],[dir="ltr"] *){border-top-right-radius:0.5rem !important;border-bottom-right-radius:0.5rem !important;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.s-cart-coupons-coupon-button-apply:where([dir="rtl"],[dir="rtl"] *){border-top-left-radius:0.5rem !important;border-bottom-left-radius:0.5rem !important;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.s-cart-coupons-coupon-error{margin-top:0.5rem;display:block;font-size:10px;line-height:1rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-cart-coupons-slider{width:100%;overflow:hidden;padding-left:0.375rem;padding-right:0.375rem}.s-cart-coupons-card{position:relative;cursor:pointer;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-cart-coupons-card:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-cart-coupons-disabled{cursor:not-allowed;opacity:0.5}.s-cart-coupons-disabled:hover{transform:none;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-cart-coupons-top-section{display:flex;height:60px;flex-direction:row;align-items:center;justify-content:space-between;border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;border-width:1px;border-bottom-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-top:1rem;padding-bottom:1rem;padding-left:0.75rem;padding-right:0.75rem}.s-cart-coupons-discount-values{display:flex;flex-direction:column;align-items:flex-start}.s-cart-coupons-discount-values .s-cart-coupons-main-amount{display:flex;align-items:center;gap:0.25rem;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:900;line-height:1;--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.s-cart-coupons-discount-values .s-cart-coupons-secondary-info{margin:0px;font-size:10px;line-height:1rem}.s-cart-coupons-code{font-size:10px;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-coupons-divider{position:relative;z-index:10;margin:0px;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-cart-coupons-bottom-section{display:flex;min-height:44px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding-top:0.25rem;padding-bottom:0.25rem;padding-left:0.75rem;padding-right:0.75rem}.s-cart-coupons-terms{display:flex;flex-direction:column;align-items:flex-start}.s-cart-coupons-terms .s-cart-coupons-expiry{margin:0px;font-size:10px;line-height:16px;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-terms .s-cart-coupons-minimum{margin:0px;font-size:10px;line-height:16px;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-terms .s-cart-coupons-expiry.s-cart-coupons-expiry-warning{font-weight:500;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-cart-coupons-action{cursor:pointer;white-space:nowrap;border-width:0px;background-color:transparent;padding:0px;font-size:9px;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-cart-coupons-action:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.s-cart-coupons-slide-one-fourth{width:calc(75% - 10px);min-width:200px !important;padding-left:5px !important;padding-right:5px !important;padding-top:2px !important}@media (min-width: 1024px){.s-cart-coupons-slide-one-fourth{width:calc(40% - 10px) !important}}.s-cart-coupons-card:before{pointer-events:none;position:absolute;right:-10px;top:60px;z-index:20;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-content:\'\';content:var(--tw-content)}.s-cart-coupons-card:is(.dark *):before{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-card:after{pointer-events:none;position:absolute;left:-10px;top:60px;z-index:20;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-content:\'\';content:var(--tw-content)}.s-cart-coupons-card:is(.dark *):after{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-coupon-input-container .form-input.s-coupon-input-error{--tw-shadow:0 0 0 3px rgba(239,68,68,0.1) !important;--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}';export{s as salla_cart_coupons}
|
|
4
|
+
import{r as t,h as o,H as r,a}from"./p-8Kr0yg20.js";const s=class{constructor(o){t(this,o),this.availableCoupons=[],this.cartTotal=0,this.cartTotalReady=!1,this.currentCoupon="",this.couponInputValue="",this.couponError="",this.isApplying=!1,this.appliedCoupons=[],this.mergedCoupons=[],this.appliedCouponCards=[],this.orderLocked=!1,this.multiCoupon=!1,this.isHandlingInternalError=!1,this.cartUpdatedHandler=t=>{this.syncCartTotal(t),(this.multiCoupon?Array.isArray(t?.coupons):t&&("coupon"in t||"cashback_code"in t))?this.syncAppliedFromCart(t):this.multiCoupon&&t&&"cashback_code"in t&&this.mergeCashbackCodeChip(t.cashback_code),this.couponError=""},this.couponAddedHandler=()=>{this.isApplying||this.isHandlingInternalError||this.refreshFromServer()},this.couponAdditionFailedHandler=t=>{this.isApplying||this.isHandlingInternalError||this.showCouponError(t?.message||salla.lang.get("pages.cart.coupon_application_error"))},this.couponDeletedHandler=()=>{this.isApplying||this.isHandlingInternalError||this.refreshFromServer()},this.onKeyUp=t=>{"Enter"===t.key&&this.couponButtonRef?.click(),this.couponError=""},this.onInput=t=>{this.couponInputValue=t.target.value},this.mergedCashbackCode=""}async componentWillLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),this.multiCoupon=!!salla.config.get("store.settings.cart.multi_coupon"),this.loadCouponsData(),this.seedFromStorage(),this.loadCartTotal(),this.setupCartEventListeners()}setupCartEventListeners(){salla.event.on("cart::updated",this.cartUpdatedHandler),salla.event.on("cart::coupon.added",this.couponAddedHandler),salla.event.on("cart::coupon.addition.failed",this.couponAdditionFailedHandler),salla.event.on("cart::coupon.deleted",this.couponDeletedHandler)}disconnectedCallback(){salla.event.off("cart::updated",this.cartUpdatedHandler),salla.event.off("cart::coupon.added",this.couponAddedHandler),salla.event.off("cart::coupon.addition.failed",this.couponAdditionFailedHandler),salla.event.off("cart::coupon.deleted",this.couponDeletedHandler)}async selectCoupon(t){const o=this.availableCoupons.find((o=>o.code===t));if(o){if(!this.isEligible(o))throw new Error("Coupon not eligible: minimum cart amount not met");try{await this.applyCoupon(t),this.host.dispatchEvent(new CustomEvent("salla::cart-coupons.coupon.selected",{detail:o,bubbles:!0}))}catch(t){throw t}}return o}async loadCouponsData(){try{const t=await salla.api.request("coupons"),o=t?.data,r=Array.isArray(o)?o:Array.isArray(o?.data)?o.data:[];this.availableCoupons=r}catch(t){console.warn("Failed to load coupons:",t),this.availableCoupons=[]}this.buildMergedCoupons()}async loadCartTotal(){await this.refreshFromServer()}seedFromStorage(){if(this.multiCoupon)return;const t=salla.storage.get("cart");t&&"object"==typeof t&&"coupon"in t&&this.applyCart(t),this.seedTotalsFromSummaryStorage()}seedTotalsFromSummaryStorage(){const t=salla.storage.get("cart.summary");t&&"object"==typeof t&&null!=t.sub_total&&(this.cartTotal=Number(t.sub_total),this.cartTotalReady=!0)}syncCartTotal(t){const o=t?.summary?.sub_total??t?.sub_total??t?.total;null!=o&&(this.cartTotal=Number(o),this.cartTotalReady=!0)}async refreshFromServer(){try{const t=await salla.cart.details(),o=t?.data?.cart??t?.data??t;if(o&&"object"==typeof o&&(Array.isArray(o.coupons)||"coupon"in o||"cashback_code"in o))return void this.applyCart(o)}catch(t){}const t=salla.storage.get("cart");t&&this.applyCart(t),this.seedTotalsFromSummaryStorage()}applyCart(t){this.syncCartTotal(t),this.syncAppliedFromCart(t)}mergeCashbackCodeChip(t){const o=(t||"").trim(),r=(this.mergedCashbackCode||"").trim();if(o.toLowerCase()===r.toLowerCase())return;const a=r?this.appliedCoupons.filter((t=>(t||"").toLowerCase()!==r.toLowerCase())):[...this.appliedCoupons],s=a.some((t=>(t||"").toLowerCase()===o.toLowerCase()));this.appliedCoupons=o&&!s?[...a,o]:a,this.mergedCashbackCode=o,r&&this.currentCoupon.toLowerCase()===r.toLowerCase()?this.currentCoupon=o:o&&(this.currentCoupon=this.currentCoupon||o),this.buildMergedCoupons()}syncAppliedFromCart(t){if(this.currentCoupon=t?.coupon||t?.cashback_code||"",this.mergedCashbackCode=(t?.cashback_code||"").trim(),this.multiCoupon){const o=Array.isArray(t?.coupons)?t.coupons:[t?.coupon];this.appliedCoupons=[...o,t?.cashback_code].filter(Boolean);const r=t?.applied_coupons;return this.appliedCouponCards=Array.isArray(r)?r.filter(Boolean):r&&"object"==typeof r?Object.values(r).filter(Boolean):[],void this.buildMergedCoupons()}this.couponInputValue=this.currentCoupon,this.appliedCoupons=this.currentCoupon?[this.currentCoupon]:[],this.buildMergedCoupons()}buildMergedCoupons(){if(!this.multiCoupon)return void(this.mergedCoupons=[]);const t=this.appliedCoupons.filter(Boolean),o=new Set(t),r=new Map(this.availableCoupons.map((t=>[t.code,t]))),a=new Map(r);this.appliedCouponCards.forEach((t=>{t?.code&&!a.has(t.code)&&a.set(t.code,t)}));const s=this.orderLocked?this.mergeIntoLockedOrder(t,r,(t=>o.has(t)||r.has(t))):[...t,...this.availableCoupons.map((t=>t.code)).filter((t=>!o.has(t)))];this.mergedCoupons=s.map((t=>({code:t,coupon:a.get(t)??null,applied:o.has(t)})))}mergeIntoLockedOrder(t,o,r){const a=this.mergedCoupons.map((t=>t.code)).filter(r),s=new Set(a),i=t.filter((t=>!s.has(t)));i.forEach((t=>s.add(t)));const e=[...o.keys()].filter((t=>!s.has(t)));return[...i,...a,...e]}lockOrder(){this.orderLocked=!0}async handleApplyClick(){if(this.isApplying)return;const t=this.couponInputValue.trim();if(t){this.lockOrder(),this.isApplying=!0,this.isHandlingInternalError=!0;try{await salla.cart.addCoupon(t),await this.refreshFromServer(),this.couponInputValue=""}catch(t){this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error"))}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}else this.showCouponError(salla.lang.get("pages.cart.enter_coupon_code"))}async handleCouponButtonClick(){if(this.isApplying)return;const t=!!this.currentCoupon;if(t||this.couponInputValue.trim()){this.isApplying=!0,this.isHandlingInternalError=!0;try{t?await salla.cart.deleteCoupon():await salla.cart.addCoupon(this.couponInputValue.trim()),await this.refreshFromServer()}catch(t){this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error"))}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}else this.showCouponError(salla.lang.get("pages.cart.enter_coupon_code"))}async removeCoupon(t){if(!this.isApplying){this.lockOrder(),this.isApplying=!0,this.isHandlingInternalError=!0;try{this.multiCoupon?await salla.cart.deleteCoupon(t):await salla.cart.deleteCoupon(),await this.refreshFromServer()}catch(t){this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error"))}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}}showCouponError(t){this.couponError=t}handleCouponClick(t){this.applyCoupon(t.code,!1).catch((()=>{}))}async applyCoupon(t,o=!0){if(this.isApplying){if(o)throw new Error("Coupon application already in progress")}else{this.lockOrder(),this.couponInputValue=t,this.couponError="",this.isApplying=!0,this.isHandlingInternalError=!0;try{await salla.cart.addCoupon(t.trim()),await this.refreshFromServer(),this.multiCoupon&&(this.couponInputValue="")}catch(t){if(this.showCouponError(t.response?.data?.error?.message||salla.lang.get("pages.cart.coupon_application_error")),o)throw t}finally{this.isApplying=!1,setTimeout((()=>{this.isHandlingInternalError=!1}),100)}}}formatMainAmount(t){if("percentage"===t.type)return`${salla.helpers.number("object"==typeof t.amount?t.amount.amount:t.amount)}%`;{const r="object"==typeof t.amount?t.amount:{amount:t.amount,currency:t.minimum_amount?.currency||salla.config.get("store.currency.code","SAR")};return o("span",{innerHTML:salla.money(r.amount,r.currency)})}}isEligible(t){return!this.cartTotalReady||!t.minimum_amount||this.cartTotal>=parseFloat(t.minimum_amount.amount)}renderCouponCard(t){const{coupon:r,applied:a,code:s}=t;if(!r)return this.renderMinimalCard(s);const i=this.isEligible(r);return o("div",{class:"s-cart-coupons-slide-one-fourth swiper-slide"},o("div",{class:`s-cart-coupons-card ${a?"s-cart-coupons-card--applied":""} ${a||i&&!this.isApplying?"":"s-cart-coupons-disabled"}`,onClick:()=>!a&&i&&!this.isApplying&&this.handleCouponClick(r)},o("div",{class:"s-cart-coupons-top-section"},o("div",{class:"s-cart-coupons-discount-values"},o("div",{class:"s-cart-coupons-main-amount"},this.formatMainAmount(r)),r.free_shipping?o("div",{class:"s-cart-coupons-secondary-info"},"+ ",salla.lang.get("pages.cart.free_shipping")):r.maximum_amount&&o("div",{class:"s-cart-coupons-secondary-info"},salla.lang.get("pages.cart.up_to")," ",o("span",{innerHTML:salla.money(r.maximum_amount.amount,r.maximum_amount.currency)}))),o("div",{class:"s-cart-coupons-code"},r.code)),o("div",{class:"s-cart-coupons-divider"}),o("div",{class:"s-cart-coupons-bottom-section"},o("div",{class:"s-cart-coupons-terms"},null!=r.remaining_days&&o("div",{class:"s-cart-coupons-expiry "+(r.remaining_days<=3?"s-cart-coupons-expiry-warning":"")},0===r.remaining_days?salla.lang.get("pages.cart.expires_today"):`${salla.lang.get("pages.cart.expires_after")} ${r.remaining_days} ${salla.lang.get("pages.cart.day")}`),r.minimum_amount&&parseFloat(r.minimum_amount.amount)>0&&o("div",{class:"s-cart-coupons-minimum"},salla.lang.get("pages.cart.minimum")," ",o("span",{innerHTML:salla.money(r.minimum_amount.amount,r.minimum_amount.currency)}))),o("div",{class:"s-cart-coupons-action"},a?this.renderAppliedAction(s):i?salla.lang.get("pages.cart.save_coupon"):salla.lang.get("pages.cart.coupon_not_compatible")))))}renderAppliedAction(t){return[o("span",{class:"s-cart-coupons-card-applied-label"},salla.lang.get("pages.cart.coupon_applied")),o("button",{type:"button",class:"s-cart-coupons-card-remove","aria-label":`${salla.lang.get("pages.cart.delete_coupon")} ${t}`,disabled:this.isApplying,onClick:o=>{o.stopPropagation(),this.removeCoupon(t)}},salla.lang.get("pages.cart.cancel"))]}renderMinimalCard(t){return o("div",{class:"s-cart-coupons-slide-one-fourth swiper-slide"},o("div",{class:"s-cart-coupons-card s-cart-coupons-card--applied s-cart-coupons-card--minimal"},o("div",{class:"s-cart-coupons-top-section"},o("div",{class:"s-cart-coupons-code s-cart-coupons-code--only"},t)),o("div",{class:"s-cart-coupons-divider"}),o("div",{class:"s-cart-coupons-bottom-section"},o("div",{class:"s-cart-coupons-action"},this.renderAppliedAction(t)))))}couponRow(){return this.multiCoupon?this.mergedCoupons:(this.availableCoupons||[]).map((t=>({code:t.code,coupon:t,applied:!1})))}render(){const t=this.couponRow();return o(r,{key:"79d820f5931ca33571e6897f4e5a09413e02cf96"},o("div",{key:"7c55aa93e8f4bc44c76606e1af4cb593cab0e7b2",class:"s-cart-coupons-wrapper"},o("div",{key:"7deee9dc280b91008c9f29eab2c7dbb42fb4d586",class:"s-cart-coupons-input-section"},o("label",{key:"f4362e77c3031c8bdacdbd0bd126f7df3c973583",htmlFor:"coupon-input",class:"s-cart-coupons-coupon-label"},salla.lang.get("pages.cart.have_coupon")),o("div",{key:"631dce1aeb71c6bfc80d00869c0974ffedb3f932",class:"s-cart-coupons-coupon-input-container"},this.multiCoupon?[o("input",{type:"text",id:"coupon-input",name:"coupon",class:"form-input "+(this.couponError?"s-coupon-input-error":""),placeholder:salla.lang.get("pages.cart.coupon_placeholder"),value:this.couponInputValue,disabled:this.isApplying,onInput:this.onInput,onKeyUp:this.onKeyUp,"aria-label":salla.lang.get("pages.cart.apply_coupon"),key:"coupon-input"}),o("salla-button",{ref:t=>this.couponButtonRef=t,class:"s-cart-coupons-coupon-button s-cart-coupons-coupon-button-apply",color:"primary",loading:this.isApplying,"loader-position":"center",onClick:()=>this.handleApplyClick(),key:"apply-button"},o("span",null,salla.lang.get("pages.cart.save_coupon")))]:[o("input",{type:"text",id:"coupon-input",name:"coupon",class:"form-input "+(this.couponError?"s-coupon-input-error":""),placeholder:salla.lang.get("pages.cart.coupon_placeholder"),value:this.couponInputValue,disabled:!!this.currentCoupon||this.isApplying,onInput:this.onInput,onKeyUp:this.onKeyUp,"aria-label":salla.lang.get("pages.cart.apply_coupon"),key:"coupon-input"}),o("salla-button",{ref:t=>this.couponButtonRef=t,class:"s-cart-coupons-coupon-button "+(this.currentCoupon?"s-cart-coupons-coupon-button-remove":"s-cart-coupons-coupon-button-apply"),color:this.currentCoupon?"danger":"primary",loading:this.isApplying,"loader-position":"center",onClick:()=>this.handleCouponButtonClick(),key:"apply-button"},this.currentCoupon?o("i",{class:"sicon-cancel"}):o("span",null,salla.lang.get("pages.cart.save_coupon")))]),this.couponError&&o("span",{key:"9713718d67c8c4ff4daeffc47572ac3cabea6905",class:"s-cart-coupons-coupon-error"},this.couponError)),t.length>0&&o("salla-slider",{type:"carousel",showControls:!1,class:"s-cart-coupons-slider",key:t.map((t=>t.code)).join("|")},o("div",{key:"4b96603ef79b45b312a87755850b3c81cc51deea",slot:"items"},t.map((t=>this.renderCouponCard(t)))))))}get host(){return a(this)}};s.style='/*!twlt*/@charset "UTF-8";.s-cart-coupons-card--applied{cursor:default}.s-cart-coupons-card--applied:hover{transform:none}.s-cart-coupons-card--applied .s-cart-coupons-top-section,.s-cart-coupons-card--applied .s-cart-coupons-bottom-section,.s-cart-coupons-card--applied .s-cart-coupons-divider{border-color:#d1d5db;border-color:color-mix(in srgb, var(--color-primary, #004d5a) 40%, transparent)}.s-cart-coupons-card--applied .s-cart-coupons-bottom-section{background:rgba(0, 0, 0, 0.04);background:color-mix(in srgb, var(--color-primary, #004d5a) 8%, transparent)}.s-cart-coupons-card--applied::before,.s-cart-coupons-card--applied::after{border-color:#d1d5db;border-color:color-mix(in srgb, var(--color-primary, #004d5a) 40%, transparent)}.s-cart-coupons-card--applied .s-cart-coupons-action{display:inline-flex;align-items:center;gap:10px}.s-cart-coupons-card--applied .s-cart-coupons-action{font-size:10px;font-weight:600;color:#4b5563}.s-cart-coupons-card-applied-label{color:#4b5563;color:var(--color-primary-dark, var(--color-primary, #4b5563))}.s-cart-coupons-card--applied .s-cart-coupons-action{min-width:0;max-width:100%}.s-cart-coupons-card-applied-label,.s-cart-coupons-card-remove{overflow:hidden;text-overflow:ellipsis}.s-cart-coupons-card--applied .s-cart-coupons-action,.s-cart-coupons-card--applied .s-cart-coupons-card-remove{pointer-events:auto}.s-cart-coupons-card-remove{flex:none;font-size:inherit;font-weight:inherit;color:#6b7280;background:transparent;border:0;padding:0;cursor:pointer;transition:color 0.15s ease}.s-cart-coupons-card-remove:hover{color:var(--color-danger, #ef4444)}.s-cart-coupons-card-remove:disabled{opacity:0.5;cursor:not-allowed}.s-cart-coupons-card--minimal .s-cart-coupons-bottom-section{justify-content:flex-end}.visible{visibility:visible}.fixed{position:fixed}.shrink{flex-shrink:1}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.form-input{height:2.5rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.form-input:focus{border-color:var(--color-primary);--tw-ring-color:transparent}.form-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.form-input:focus:is(.dark *){border-color:var(--color-primary)}@media (min-width: 640px){.form-input{font-size:0.875rem;line-height:1.25rem}}.s-cart-coupons-wrapper{display:block;width:100%;padding-top:1.25rem;padding-bottom:1.25rem}.s-cart-coupons-input-section{margin-bottom:0.625rem}.s-cart-coupons-coupon-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-coupon-input-container{position:relative;display:flex;align-items:stretch}.s-cart-coupons-coupon-input-container .form-input{height:auto;flex:1 1 0%}.s-cart-coupons-coupon-input-container .form-input:where([dir="ltr"],[dir="ltr"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important;border-right-width:0px}.s-cart-coupons-coupon-input-container .form-input:where([dir="rtl"],[dir="rtl"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important;border-left-width:0px}.s-cart-coupons-coupon-input-container .form-input:focus{position:relative;z-index:10}.s-cart-coupons-coupon-button:where([dir="ltr"],[dir="ltr"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px;border-bottom-left-radius:0px}.s-cart-coupons-coupon-button:where([dir="rtl"],[dir="rtl"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px;border-bottom-right-radius:0px}.s-cart-coupons-coupon-button-remove:where([dir="ltr"],[dir="ltr"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.s-cart-coupons-coupon-button-remove:where([dir="rtl"],[dir="rtl"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.s-cart-coupons-coupon-button-apply:where([dir="ltr"],[dir="ltr"] *){border-top-right-radius:0.5rem !important;border-bottom-right-radius:0.5rem !important;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.s-cart-coupons-coupon-button-apply:where([dir="rtl"],[dir="rtl"] *){border-top-left-radius:0.5rem !important;border-bottom-left-radius:0.5rem !important;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.s-cart-coupons-coupon-error{margin-top:0.5rem;display:block;font-size:10px;line-height:1rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-cart-coupons-slider{width:100%;overflow:hidden;padding-left:0.375rem;padding-right:0.375rem}.s-cart-coupons-card{position:relative;cursor:pointer;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-cart-coupons-card:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-cart-coupons-disabled{cursor:not-allowed;opacity:0.5}.s-cart-coupons-disabled:hover{transform:none;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-cart-coupons-top-section{display:flex;height:60px;flex-direction:row;align-items:center;justify-content:space-between;border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;border-width:1px;border-bottom-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-top:1rem;padding-bottom:1rem;padding-left:0.75rem;padding-right:0.75rem}.s-cart-coupons-discount-values{display:flex;flex-direction:column;align-items:flex-start}.s-cart-coupons-discount-values .s-cart-coupons-main-amount{display:flex;align-items:center;gap:0.25rem;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:900;line-height:1;--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.s-cart-coupons-discount-values .s-cart-coupons-secondary-info{margin:0px;font-size:10px;line-height:1rem}.s-cart-coupons-code{font-size:10px;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-coupons-divider{position:relative;z-index:10;margin:0px;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-cart-coupons-bottom-section{display:flex;min-height:44px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding-top:0.25rem;padding-bottom:0.25rem;padding-left:0.75rem;padding-right:0.75rem}.s-cart-coupons-terms{display:flex;flex-direction:column;align-items:flex-start}.s-cart-coupons-terms .s-cart-coupons-expiry{margin:0px;font-size:10px;line-height:16px;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-terms .s-cart-coupons-minimum{margin:0px;font-size:10px;line-height:16px;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-terms .s-cart-coupons-expiry.s-cart-coupons-expiry-warning{font-weight:500;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-cart-coupons-action{cursor:pointer;white-space:nowrap;border-width:0px;background-color:transparent;padding:0px;font-size:9px;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-cart-coupons-action:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.s-cart-coupons-slide-one-fourth{width:calc(75% - 10px);min-width:200px !important;padding-left:5px !important;padding-right:5px !important;padding-top:2px !important}@media (min-width: 1024px){.s-cart-coupons-slide-one-fourth{width:calc(40% - 10px) !important}}.s-cart-coupons-card:before{pointer-events:none;position:absolute;right:-10px;top:60px;z-index:20;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-content:\'\';content:var(--tw-content)}.s-cart-coupons-card:is(.dark *):before{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-card:after{pointer-events:none;position:absolute;left:-10px;top:60px;z-index:20;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-content:\'\';content:var(--tw-content)}.s-cart-coupons-card:is(.dark *):after{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-coupon-input-container .form-input.s-coupon-input-error{--tw-shadow:0 0 0 3px rgba(239,68,68,0.1) !important;--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}';export{s as salla_cart_coupons}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,c as s,h as i,H as e,a as n}from"./p-CwwxD-7C.js";import{A as o,a as l}from"./p-Vqpj4CWE.js";const d=class{constructor(i){t(this,i),this.optionsSaved=s(this,"optionsSaved"),this.productSelected=s(this,"productSelected"),this.product=null,this.sectionId=null,this.sectionIndex=0,this.productIndex=0,this.selectedOptions={},this.optionsResetTokens={},this.isLoading=!1,this.hasUnsavedChanges=!1,this.validationErrors=[],this.isProductAlreadySelected=!1}generateCacheKey(t,s,i){return`${t||"unknown"}-${s||0}-${i||"unknown"}`}handleProductChange(t){setTimeout((()=>{this.modal&&t&&this.modal.setTitle(t.name||"")}),100),this.validationErrors=[],this.hasUnsavedChanges=!1}async open(){this.modal?(this.isLoading=!0,this.product?.name&&this.modal.setTitle(this.product.name),this.modal.open(),setTimeout((async()=>{this.product?.id&&await this.initializeSelectedOptions(),this.product?.name&&this.modal.setTitle(this.product.name),this.modal.stopLoading(),this.isLoading=!1}),300)):requestAnimationFrame((()=>this.open()))}async close(){this.modal&&this.modal.close()}async refreshOptionsState(){this.selectedOptions={...this.selectedOptions}}componentDidLoad(){this.modalOpenListener=t=>{this.product=t.product,this.sectionId=t.sectionId||null,this.sectionIndex=t.sectionIndex||0,this.productIndex=t.productIndex||0,this.isProductAlreadySelected=!!t.isProductAlreadySelected,this.open()},salla.event.on("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener=t=>{t&&t.productId&&this.clearProductOptions(t.productId,t.sectionId,t.productIndex)},salla.event.on("multiple-bundle-product-modal::clear-options",this.clearOptionsListener),this.optionChangeListener=t=>{const s=t.detail||t,{option:i,detail:e}=s,n=i||s.option_id&&this.product?.options?.find((t=>t.id===s.option_id||String(t.id)===String(s.option_id))),o=e||(s.id?s:null);this.product?.id&&n&&this.handleOptionChange(Number(this.product.id),n,o)},salla.event.on("product-options::change",this.optionChangeListener),this.checkboxChangeListener=t=>{const s=t.target;if(s&&"checkbox"===s.type&&s.name&&s.name.includes("bundle[")&&s.name.includes("][id]")){const t=s.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);if(t&&!s.checked){if("true"===s.getAttribute("data-selection-locked"))return void(s.checked=!0);const[,i,e]=t,n=s.value,o=this.host.closest("form");this.cleanupProductDeselection({sectionId:i,productIndex:parseInt(e,10),productId:n,form:o,uncheckedInput:s})}}},document.addEventListener("change",this.checkboxChangeListener)}disconnectedCallback(){this.checkboxChangeListener&&document.removeEventListener("change",this.checkboxChangeListener),this.optionChangeListener&&salla.event.off("product-options::change",this.optionChangeListener),this.modalOpenListener&&salla.event.off("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener&&salla.event.off("multiple-bundle-product-modal::clear-options",this.clearOptionsListener)}cleanupProductDeselection(t){const{sectionId:s,productIndex:i,productId:e,form:n,uncheckedInput:o}=t;if(this.clearProductOptions(e,s,i),n){const t=`bundle[${s}][${i}]`;Array.from(n.querySelectorAll(`input[name^="${t}"]`)).forEach((s=>{if(s===o)return;const i="hidden"===s.type,n=s.getAttribute("data-product-id")===String(e)&&s.name?.startsWith(t);(i||n)&&s.remove()})),requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});n.dispatchEvent(t)}))}}generateFormInputName(t,s,i){return`bundle[${t}][${s}][options][${i}]`}async initializeSelectedOptions(){if(!this.product?.id)return;const t=this.product.id,s=this.generateCacheKey(this.sectionId,this.productIndex,t),i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(i)try{const t=await i.getSelectedOptions();t&&t.length>0&&(this.selectedOptions={...this.selectedOptions,[s]:t})}catch(t){console.warn("Could not initialize selected options:",t)}}clearProductOptions(t,s,i){const e={...this.selectedOptions};if(null==s||null==i||Number.isNaN(i)){const s=`-${String(t)}`,i=[];Object.keys(e).forEach((t=>{t.endsWith(s)&&(delete e[t],i.push(t))})),i.forEach((t=>this.bumpOptionsResetToken(t)))}else{const n=this.generateCacheKey(s,i,t);delete e[n],this.bumpOptionsResetToken(n)}this.selectedOptions=e,this.validationErrors=[],this.hasUnsavedChanges=!1}bumpOptionsResetToken(t){t&&(this.optionsResetTokens={...this.optionsResetTokens,[t]:(this.optionsResetTokens[t]||0)+1})}async handleOptionChange(t,s,i){const e=this.generateCacheKey(this.sectionId,this.productIndex,t),n=document.querySelector(`salla-product-options[product-id="${t}"]`);let o=[];if(n)try{o=await n.getSelectedOptions()||[]}catch(t){console.warn("Could not get current selections from component:",t)}if(o.length>0)this.selectedOptions={...this.selectedOptions,[e]:o};else if(this.selectedOptions[e]&&this.selectedOptions[e].length>0){const t=[...this.selectedOptions[e]||[]],n=t.findIndex((t=>t.option_id===s.id));n>-1?i&&null!=i.id?t[n]={...i,option_id:s.id}:t.splice(n,1):i&&null!=i.id&&t.push({...i,option_id:s.id}),this.selectedOptions={...this.selectedOptions,[e]:t}}else i&&null!=i.id&&(this.selectedOptions={...this.selectedOptions,[e]:[{...i,option_id:s.id}]});this.hasUnsavedChanges=!0,this.validationErrors=[]}async validateOptions(){if(!this.product?.options)return!0;const t=[],s=this.product.id,i=this.generateCacheKey(this.sectionId,this.productIndex,s),e=document.querySelector(`salla-product-options[product-id="${s}"]`);let n=[];if(e)try{n=await e.getSelectedOptions()||[];const t=this.selectedOptions[i]||[];(t.length>n.length||0===n.length&&t.length>0)&&(n=t)}catch(t){n=this.selectedOptions[i]||[]}else n=this.selectedOptions[i]||[];return 0===n.length&&t.push(salla.lang.get("pages.products.no_options_selected")),this.product.options.forEach((s=>{s.required&&(n.some((t=>t.option_id==s.id))||t.push(salla.lang.get("pages.products.required_option_missing",{option:s.name})))})),this.validationErrors=t,0===t.length}async onSave(t){t.preventDefault();const s=this.product?.id;if(!s)return;const i=this.generateCacheKey(this.sectionId,this.productIndex,s);if(await new Promise((t=>setTimeout(t,100))),await this.validateOptions()){if(!this.isProductAlreadySelected&&null!=this.sectionId){const t=this.host.closest("salla-multiple-bundle-product-details");if(!await(t?.canSelectBundleProduct(this.sectionId,s)))return void salla.notify.error(salla.lang.getWithDefault("pages.products.bundle_selection_limit_reached","لا يمكنك اختيار المزيد من المنتجات في هذا القسم"))}this.isLoading=!0;try{const t=document.querySelector(`salla-product-options[product-id="${s}"]`);let e=await(t?.getSelectedOptions());if((!e||0===e.length)&&this.selectedOptions[i]?.length>0&&(e=this.selectedOptions[i]),!e||0===e.length)return void(this.isLoading=!1);this.selectedOptions={...this.selectedOptions,[i]:e};const n=this.host.closest("form");if(!n)return void(this.isLoading=!1);const o=`bundle[${this.sectionId}][${this.productIndex}]`;Array.from(n.querySelectorAll(`input[name^="${o}"][type="hidden"]`)).forEach((t=>t.remove())),Array.from(n.querySelectorAll(`[data-product-id="${s}"][name^="${o}"]`)).forEach((t=>t.remove()));const l=`bundle[${this.sectionId}][${this.productIndex}][id]`,d=document.getElementById(l);if(d)d.checked=!0;else{const t=document.createElement("input");t.type="hidden",t.name=`bundle[${this.sectionId}][${this.productIndex}][id]`,t.value=String(s),t.dataset.productId=String(s),n.appendChild(t)}e.forEach((t=>{const i=t.option_id,e=document.createElement("input");e.type="hidden",e.name=this.generateFormInputName(this.sectionId,this.productIndex??0,i),e.value=String(t.id),e.dataset.productId=String(s),n.appendChild(e)}));const a=new window.Event("change",{bubbles:!0});n.dispatchEvent(a),this.optionsSaved.emit({productId:Number(s),selectedOptions:e,sectionId:this.sectionId,productIndex:this.productIndex}),this.sectionId&&this.productSelected.emit({productId:Number(s),sectionId:this.sectionId,product:this.product,fromModal:!0}),salla.notify.success(salla.lang.get("pages.products.options_saved")),this.hasUnsavedChanges=!1,this.validationErrors=[],this.modal.close()}catch(t){salla.notify.error(salla.lang.get("pages.products.options_save_error"))}finally{this.isLoading=!1}}else salla.notify.error(this.validationErrors.join(", "))}getOptionsWithSelectedState(){if(!this.product?.options)return[];const t=this.generateCacheKey(this.sectionId,this.productIndex,this.product.id),s=this.selectedOptions[t]||[];return this.product.options.map((t=>({...t,details:t.details.map((t=>{const i=s.some((s=>s.id===t.id));return{...t,is_selected:i}}))})))}render(){const t=this.product?.id,s=this.getOptionsWithSelectedState(),n=this.generateCacheKey(this.sectionId,this.productIndex,t),o=this.optionsResetTokens[n]||0,l=this.isLoading||s.some((t=>t.details.some((t=>t.is_selected&&!0===t.is_out))));return i(e,{key:"80217a97bc81ba7eb770cfa88347530b5cc0850d"},i("salla-modal",{key:"f23a97440cdb8418a0f8cf129328fb8c0a0a4fc5",isLoading:this.isLoading,ref:t=>this.modal=t,width:"md",centered:!1,id:`s-multiple-bundle-product-options-modal-options-${t}`,class:"s-multiple-bundle-product-options-modal-wrapper"},i("div",{key:"06dfaf9708dd142dd0e44b6846cc0ca49be39bb6",slot:"loading"},i("salla-skeleton",{key:"a5d348f9a5158ee85d418f30f302a929f0a4dbdd",height:"100%",width:"100%"})),this.product?.images&&this.product?.images.length>0&&i("salla-slider",{key:"d3b1a1bb86708a807ee0c3a0168440f9d38b1eb8",id:`details-slider-${this.product?.id}`,type:"thumbs",loop:!1,"auto-height":!0,"listen-to-thumbnails-option":!0,showThumbsControls:!1,controlsOuter:!1,showControls:!1,class:"s-multiple-bundle-product-options-modal-slider",verticalThumbs:!0,thumbsConfig:{centeredSlides:!0,centeredSlidesBounds:!0,slidesPerView:Math.min(5,Math.max(1,this.product?.images.length)),watchOverflow:!0,watchSlidesProgress:!0,direction:"vertical",spaceBetween:10}},i("div",{key:"b7d04522efcb3f0a85ac78a9bf6f654973f6c777",slot:"items"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,class:"swiper-slide"},i("img",{src:t.url,alt:t.alt||`${this.product?.name} - Image ${s+1}`,loading:"lazy",onError:t=>{t.target.style.display="none"}}))))),this.product?.images&&this.product?.images.length>1&&i("div",{key:"3751a38d528780bb5f6ede2eb74365eefd5d42c7",slot:"thumbs"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,"data-caption":`${this.product?.name} - Image ${s+1}`},i("img",{src:t.url,loading:"eager",class:"s-multiple-bundle-product-options-modal-slider-thumb",title:`${this.product?.name} - ${s+1}`,alt:t.alt||`${this.product?.name} - ${s+1}`,onError:t=>{t.target.style.display="none"}})))))),i("salla-product-options",{options:JSON.stringify(s),key:`${n}-reset-${o}`,"product-id":t,"unique-key":`${n}-reset-${o}`}),i("div",{key:"68d6671c68f3753edd92f3c8ea8c91774038da59",slot:"footer"},i("div",{key:"f980914dbdbbea3aa02f6c816e2372f7bb09009e",class:"s-multiple-bundle-product-options-modal-footer"},i("salla-button",{key:"5d67dc612aa88fbc6eb11bcd5be0fc6d77a15aba",onClick:t=>this.onSave(t),loading:this.isLoading,disabled:l},this.isLoading?salla.lang.get("common.elements.saving"):salla.lang.get("common.elements.save"))))))}get host(){return n(this)}static get watchers(){return{product:["handleProductChange"]}}};d.style=":host{display:block}";const a=class{constructor(i){t(this,i),this.productSelected=s(this,"productSelected"),this.productOptionsSelected=s(this,"productOptionsSelected"),this.selectedProducts={},this.isSelectionLocked=!1,this.selectionLimit=0,this.savedOptionsByInstance={},this.handleProductClick=(t,s)=>{const i=this.selectedProducts[this.section.id]?.has(t.id)||!1,e=this.getCheckbox(this.section.id,s);if(i&&this.isSelectionLocked)return void(e&&(e.checked=!0));if(!i&&this.isMaxSelectionReached()&&1!==this.selectionLimit)return;if(1===this.selectionLimit&&!i)return void this.productSelected.emit({product:t,sectionId:this.section.id});if(!e)return;const n=!e.checked;n||(this.dispatchClearOptionsEvent(t,s),this.clearSavedOptionsState(this.section.id,s)),e.checked=n,requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});e.dispatchEvent(t)})),this.productSelected.emit({product:t,sectionId:this.section.id})},this.handleOptionsClick=t=>{!this.selectedProducts[this.section.id]?.has(t.id)&&this.isMaxSelectionReached()&&1!==this.selectionLimit||this.productOptionsSelected.emit({product:t,sectionId:this.section.id})}}getSelectedCount(){return this.selectedProducts[this.section?.id]?.size??0}isMaxSelectionReached(){return this.selectionLimit>1&&this.getSelectedCount()>=this.selectionLimit}isProductSelectionDisabled(t,s){return 0===t.quantity||!s&&this.isMaxSelectionReached()}getProductInstanceKey(t,s){return`${t}::${s}`}dispatchClearOptionsEvent(t,s){salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t.id,sectionId:this.section.id,sectionIndex:this.sectionIndex,productIndex:s})}handleOptionsSaved(t){const s=t.detail;if(!s)return;const{sectionId:i,productIndex:e,selectedOptions:n}=s;if(null==i||i!==this.section?.id)return;if(null==e||Number.isNaN(e))return;const o=this.getProductInstanceKey(i,e);if(n?.length)this.savedOptionsByInstance={...this.savedOptionsByInstance,[o]:!0};else if(this.savedOptionsByInstance[o]){const t={...this.savedOptionsByInstance};delete t[o],this.savedOptionsByInstance=t}}clearSavedOptionsState(t,s){const i=this.getProductInstanceKey(t,s);if(!this.savedOptionsByInstance[i])return;const e={...this.savedOptionsByInstance};delete e[i],this.savedOptionsByInstance=e}generateEventName(t,s){return`bundle[${t}][${s}][id]`}getCheckbox(t,s){const i=this.generateEventName(t,s);return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${i}"]`)}preventLockedDeselect(t,s){if(!this.isSelectionLocked||!s)return;t.preventDefault(),t.stopPropagation();const i=t.target;"checkbox"===i?.type&&(i.checked=!0)}render(){return i(e,{key:"84a2765b8e57fa7d4d757c7e0c8a634199e7f121"},i("salla-slider",{key:"67d1748a2c19adca4db056bd3b5e5de6813aa367",type:"carousel",controlsOuter:!1,showControls:!1,id:`accordion-multiple-bundle-product-${this.section.id}`,pagination:!0,class:"s-multiple-bundle-product-wrapper-slider",sliderConfig:{spaceBetween:0}},i("div",{key:"04547e4a998d15377a2d5573bd0c4d8d33a93af7",slot:"items"},this?.section?.products?.map(((t,s)=>{const e=this.selectedProducts[this.section.id]?.has(t.id)||!1,n=e&&this.isSelectionLocked,d=this.isProductSelectionDisabled(t,e),a=this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id,s)]?salla.lang.getWithDefault("pages.products.edit_selected_options","تعديل الخيارات"):salla.lang.get("pages.products.choose_from_options");let c=salla.config.get("theme.is_rtl",!0)?o:l;return i("div",{class:"s-multiple-bundle-product-slide-one-third"+(d?" s-multiple-bundle-product-slide-one-third-disabled":""),key:t.id},i("div",{class:"s-multiple-bundle-product-card"},i("div",{class:"s-multiple-bundle-product-image-wrapper",onClick:()=>this.handleProductClick(t,s)},i("input",{id:this.generateEventName(this.section.id,s),type:"checkbox",class:"s-multiple-bundle-product-checkbox",checked:e,"data-selection-locked":n?"true":void 0,name:this.generateEventName(this.section.id,s),value:t.id,onClick:t=>this.preventLockedDeselect(t,e),onChange:t=>this.preventLockedDeselect(t,e)}),i("img",{src:t.image.url||salla.url.cdn("images/s-empty.png"),loading:"lazy",alt:t.image.alt||t.name,class:"s-multiple-bundle-product-image"})),i("div",{class:"s-multiple-bundle-product-content-wrapper"},i("div",{class:"s-multiple-bundle-product-content"},i("div",{class:"s-multiple-bundle-product-details"},i("div",{class:"s-multiple-bundle-product-title-wrapper"},i("h2",{class:"s-multiple-bundle-product-title"},i("a",{href:t?.url||"#",target:"_blank",rel:"noopener noreferrer"},t.name))),i("div",{class:"s-multiple-bundle-product-price-wrapper"},i("span",{class:"s-multiple-bundle-product-price"},i("span",{innerHTML:salla.money(t.price)})),t.sale_price>0&&i("span",{class:"s-multiple-bundle-product-price-discount"},i("span",{innerHTML:salla.money(t.regular_price)})))),t.quantity_in_group>0&&0!==t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.pieces"),i("span",null,t.quantity_in_group)),0===t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.quantity_in_group_finished"))),t.options?.length>0&&i("button",{class:"s-multiple-bundle-product-button",onClick:()=>this.handleOptionsClick(t),type:"button"},a,i("span",{class:"s-multiple-bundle-product-button-icon",innerHTML:c})))))})))))}get host(){return n(this)}};a.style="";export{d as salla_multiple_bundle_product_options_modal,a as salla_multiple_bundle_product_slider}
|
|
4
|
+
import{r as t,c as s,h as i,H as e,a as n}from"./p-8Kr0yg20.js";import{A as o,a as l}from"./p-Vqpj4CWE.js";const d=class{constructor(i){t(this,i),this.optionsSaved=s(this,"optionsSaved"),this.productSelected=s(this,"productSelected"),this.product=null,this.sectionId=null,this.sectionIndex=0,this.productIndex=0,this.selectedOptions={},this.optionsResetTokens={},this.isLoading=!1,this.hasUnsavedChanges=!1,this.validationErrors=[],this.isProductAlreadySelected=!1}generateCacheKey(t,s,i){return`${t||"unknown"}-${s||0}-${i||"unknown"}`}handleProductChange(t){setTimeout((()=>{this.modal&&t&&this.modal.setTitle(t.name||"")}),100),this.validationErrors=[],this.hasUnsavedChanges=!1}async open(){this.modal?(this.isLoading=!0,this.product?.name&&this.modal.setTitle(this.product.name),this.modal.open(),setTimeout((async()=>{this.product?.id&&await this.initializeSelectedOptions(),this.product?.name&&this.modal.setTitle(this.product.name),this.modal.stopLoading(),this.isLoading=!1}),300)):requestAnimationFrame((()=>this.open()))}async close(){this.modal&&this.modal.close()}async refreshOptionsState(){this.selectedOptions={...this.selectedOptions}}componentDidLoad(){this.modalOpenListener=t=>{this.product=t.product,this.sectionId=t.sectionId||null,this.sectionIndex=t.sectionIndex||0,this.productIndex=t.productIndex||0,this.isProductAlreadySelected=!!t.isProductAlreadySelected,this.open()},salla.event.on("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener=t=>{t&&t.productId&&this.clearProductOptions(t.productId,t.sectionId,t.productIndex)},salla.event.on("multiple-bundle-product-modal::clear-options",this.clearOptionsListener),this.optionChangeListener=t=>{const s=t.detail||t,{option:i,detail:e}=s,n=i||s.option_id&&this.product?.options?.find((t=>t.id===s.option_id||String(t.id)===String(s.option_id))),o=e||(s.id?s:null);this.product?.id&&n&&this.handleOptionChange(Number(this.product.id),n,o)},salla.event.on("product-options::change",this.optionChangeListener),this.checkboxChangeListener=t=>{const s=t.target;if(s&&"checkbox"===s.type&&s.name&&s.name.includes("bundle[")&&s.name.includes("][id]")){const t=s.name.match(/^bundle\[([^\]]+)\]\[([^\]]+)\]\[id\]$/);if(t&&!s.checked){if("true"===s.getAttribute("data-selection-locked"))return void(s.checked=!0);const[,i,e]=t,n=s.value,o=this.host.closest("form");this.cleanupProductDeselection({sectionId:i,productIndex:parseInt(e,10),productId:n,form:o,uncheckedInput:s})}}},document.addEventListener("change",this.checkboxChangeListener)}disconnectedCallback(){this.checkboxChangeListener&&document.removeEventListener("change",this.checkboxChangeListener),this.optionChangeListener&&salla.event.off("product-options::change",this.optionChangeListener),this.modalOpenListener&&salla.event.off("multiple-bundle-product-modal::open",this.modalOpenListener),this.clearOptionsListener&&salla.event.off("multiple-bundle-product-modal::clear-options",this.clearOptionsListener)}cleanupProductDeselection(t){const{sectionId:s,productIndex:i,productId:e,form:n,uncheckedInput:o}=t;if(this.clearProductOptions(e,s,i),n){const t=`bundle[${s}][${i}]`;Array.from(n.querySelectorAll(`input[name^="${t}"]`)).forEach((s=>{if(s===o)return;const i="hidden"===s.type,n=s.getAttribute("data-product-id")===String(e)&&s.name?.startsWith(t);(i||n)&&s.remove()})),requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});n.dispatchEvent(t)}))}}generateFormInputName(t,s,i){return`bundle[${t}][${s}][options][${i}]`}async initializeSelectedOptions(){if(!this.product?.id)return;const t=this.product.id,s=this.generateCacheKey(this.sectionId,this.productIndex,t),i=document.querySelector(`salla-product-options[product-id="${t}"]`);if(i)try{const t=await i.getSelectedOptions();t&&t.length>0&&(this.selectedOptions={...this.selectedOptions,[s]:t})}catch(t){console.warn("Could not initialize selected options:",t)}}clearProductOptions(t,s,i){const e={...this.selectedOptions};if(null==s||null==i||Number.isNaN(i)){const s=`-${String(t)}`,i=[];Object.keys(e).forEach((t=>{t.endsWith(s)&&(delete e[t],i.push(t))})),i.forEach((t=>this.bumpOptionsResetToken(t)))}else{const n=this.generateCacheKey(s,i,t);delete e[n],this.bumpOptionsResetToken(n)}this.selectedOptions=e,this.validationErrors=[],this.hasUnsavedChanges=!1}bumpOptionsResetToken(t){t&&(this.optionsResetTokens={...this.optionsResetTokens,[t]:(this.optionsResetTokens[t]||0)+1})}async handleOptionChange(t,s,i){const e=this.generateCacheKey(this.sectionId,this.productIndex,t),n=document.querySelector(`salla-product-options[product-id="${t}"]`);let o=[];if(n)try{o=await n.getSelectedOptions()||[]}catch(t){console.warn("Could not get current selections from component:",t)}if(o.length>0)this.selectedOptions={...this.selectedOptions,[e]:o};else if(this.selectedOptions[e]&&this.selectedOptions[e].length>0){const t=[...this.selectedOptions[e]||[]],n=t.findIndex((t=>t.option_id===s.id));n>-1?i&&null!=i.id?t[n]={...i,option_id:s.id}:t.splice(n,1):i&&null!=i.id&&t.push({...i,option_id:s.id}),this.selectedOptions={...this.selectedOptions,[e]:t}}else i&&null!=i.id&&(this.selectedOptions={...this.selectedOptions,[e]:[{...i,option_id:s.id}]});this.hasUnsavedChanges=!0,this.validationErrors=[]}async validateOptions(){if(!this.product?.options)return!0;const t=[],s=this.product.id,i=this.generateCacheKey(this.sectionId,this.productIndex,s),e=document.querySelector(`salla-product-options[product-id="${s}"]`);let n=[];if(e)try{n=await e.getSelectedOptions()||[];const t=this.selectedOptions[i]||[];(t.length>n.length||0===n.length&&t.length>0)&&(n=t)}catch(t){n=this.selectedOptions[i]||[]}else n=this.selectedOptions[i]||[];return 0===n.length&&t.push(salla.lang.get("pages.products.no_options_selected")),this.product.options.forEach((s=>{s.required&&(n.some((t=>t.option_id==s.id))||t.push(salla.lang.get("pages.products.required_option_missing",{option:s.name})))})),this.validationErrors=t,0===t.length}async onSave(t){t.preventDefault();const s=this.product?.id;if(!s)return;const i=this.generateCacheKey(this.sectionId,this.productIndex,s);if(await new Promise((t=>setTimeout(t,100))),await this.validateOptions()){if(!this.isProductAlreadySelected&&null!=this.sectionId){const t=this.host.closest("salla-multiple-bundle-product-details");if(!await(t?.canSelectBundleProduct(this.sectionId,s)))return void salla.notify.error(salla.lang.getWithDefault("pages.products.bundle_selection_limit_reached","لا يمكنك اختيار المزيد من المنتجات في هذا القسم"))}this.isLoading=!0;try{const t=document.querySelector(`salla-product-options[product-id="${s}"]`);let e=await(t?.getSelectedOptions());if((!e||0===e.length)&&this.selectedOptions[i]?.length>0&&(e=this.selectedOptions[i]),!e||0===e.length)return void(this.isLoading=!1);this.selectedOptions={...this.selectedOptions,[i]:e};const n=this.host.closest("form");if(!n)return void(this.isLoading=!1);const o=`bundle[${this.sectionId}][${this.productIndex}]`;Array.from(n.querySelectorAll(`input[name^="${o}"][type="hidden"]`)).forEach((t=>t.remove())),Array.from(n.querySelectorAll(`[data-product-id="${s}"][name^="${o}"]`)).forEach((t=>t.remove()));const l=`bundle[${this.sectionId}][${this.productIndex}][id]`,d=document.getElementById(l);if(d)d.checked=!0;else{const t=document.createElement("input");t.type="hidden",t.name=`bundle[${this.sectionId}][${this.productIndex}][id]`,t.value=String(s),t.dataset.productId=String(s),n.appendChild(t)}e.forEach((t=>{const i=t.option_id,e=document.createElement("input");e.type="hidden",e.name=this.generateFormInputName(this.sectionId,this.productIndex??0,i),e.value=String(t.id),e.dataset.productId=String(s),n.appendChild(e)}));const a=new window.Event("change",{bubbles:!0});n.dispatchEvent(a),this.optionsSaved.emit({productId:Number(s),selectedOptions:e,sectionId:this.sectionId,productIndex:this.productIndex}),this.sectionId&&this.productSelected.emit({productId:Number(s),sectionId:this.sectionId,product:this.product,fromModal:!0}),salla.notify.success(salla.lang.get("pages.products.options_saved")),this.hasUnsavedChanges=!1,this.validationErrors=[],this.modal.close()}catch(t){salla.notify.error(salla.lang.get("pages.products.options_save_error"))}finally{this.isLoading=!1}}else salla.notify.error(this.validationErrors.join(", "))}getOptionsWithSelectedState(){if(!this.product?.options)return[];const t=this.generateCacheKey(this.sectionId,this.productIndex,this.product.id),s=this.selectedOptions[t]||[];return this.product.options.map((t=>({...t,details:t.details.map((t=>{const i=s.some((s=>s.id===t.id));return{...t,is_selected:i}}))})))}render(){const t=this.product?.id,s=this.getOptionsWithSelectedState(),n=this.generateCacheKey(this.sectionId,this.productIndex,t),o=this.optionsResetTokens[n]||0,l=this.isLoading||s.some((t=>t.details.some((t=>t.is_selected&&!0===t.is_out))));return i(e,{key:"80217a97bc81ba7eb770cfa88347530b5cc0850d"},i("salla-modal",{key:"f23a97440cdb8418a0f8cf129328fb8c0a0a4fc5",isLoading:this.isLoading,ref:t=>this.modal=t,width:"md",centered:!1,id:`s-multiple-bundle-product-options-modal-options-${t}`,class:"s-multiple-bundle-product-options-modal-wrapper"},i("div",{key:"06dfaf9708dd142dd0e44b6846cc0ca49be39bb6",slot:"loading"},i("salla-skeleton",{key:"a5d348f9a5158ee85d418f30f302a929f0a4dbdd",height:"100%",width:"100%"})),this.product?.images&&this.product?.images.length>0&&i("salla-slider",{key:"d3b1a1bb86708a807ee0c3a0168440f9d38b1eb8",id:`details-slider-${this.product?.id}`,type:"thumbs",loop:!1,"auto-height":!0,"listen-to-thumbnails-option":!0,showThumbsControls:!1,controlsOuter:!1,showControls:!1,class:"s-multiple-bundle-product-options-modal-slider",verticalThumbs:!0,thumbsConfig:{centeredSlides:!0,centeredSlidesBounds:!0,slidesPerView:Math.min(5,Math.max(1,this.product?.images.length)),watchOverflow:!0,watchSlidesProgress:!0,direction:"vertical",spaceBetween:10}},i("div",{key:"b7d04522efcb3f0a85ac78a9bf6f654973f6c777",slot:"items"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,class:"swiper-slide"},i("img",{src:t.url,alt:t.alt||`${this.product?.name} - Image ${s+1}`,loading:"lazy",onError:t=>{t.target.style.display="none"}}))))),this.product?.images&&this.product?.images.length>1&&i("div",{key:"3751a38d528780bb5f6ede2eb74365eefd5d42c7",slot:"thumbs"},this.product?.images&&this.product?.images.map(((t,s)=>i("div",{key:s,"data-caption":`${this.product?.name} - Image ${s+1}`},i("img",{src:t.url,loading:"eager",class:"s-multiple-bundle-product-options-modal-slider-thumb",title:`${this.product?.name} - ${s+1}`,alt:t.alt||`${this.product?.name} - ${s+1}`,onError:t=>{t.target.style.display="none"}})))))),i("salla-product-options",{options:JSON.stringify(s),key:`${n}-reset-${o}`,"product-id":t,"unique-key":`${n}-reset-${o}`}),i("div",{key:"68d6671c68f3753edd92f3c8ea8c91774038da59",slot:"footer"},i("div",{key:"f980914dbdbbea3aa02f6c816e2372f7bb09009e",class:"s-multiple-bundle-product-options-modal-footer"},i("salla-button",{key:"5d67dc612aa88fbc6eb11bcd5be0fc6d77a15aba",onClick:t=>this.onSave(t),loading:this.isLoading,disabled:l},this.isLoading?salla.lang.get("common.elements.saving"):salla.lang.get("common.elements.save"))))))}get host(){return n(this)}static get watchers(){return{product:["handleProductChange"]}}};d.style=":host{display:block}";const a=class{constructor(i){t(this,i),this.productSelected=s(this,"productSelected"),this.productOptionsSelected=s(this,"productOptionsSelected"),this.selectedProducts={},this.isSelectionLocked=!1,this.selectionLimit=0,this.savedOptionsByInstance={},this.handleProductClick=(t,s)=>{const i=this.selectedProducts[this.section.id]?.has(t.id)||!1,e=this.getCheckbox(this.section.id,s);if(i&&this.isSelectionLocked)return void(e&&(e.checked=!0));if(!i&&this.isMaxSelectionReached()&&1!==this.selectionLimit)return;if(1===this.selectionLimit&&!i)return void this.productSelected.emit({product:t,sectionId:this.section.id});if(!e)return;const n=!e.checked;n||(this.dispatchClearOptionsEvent(t,s),this.clearSavedOptionsState(this.section.id,s)),e.checked=n,requestAnimationFrame((()=>{const t=new window.Event("change",{bubbles:!0});e.dispatchEvent(t)})),this.productSelected.emit({product:t,sectionId:this.section.id})},this.handleOptionsClick=t=>{!this.selectedProducts[this.section.id]?.has(t.id)&&this.isMaxSelectionReached()&&1!==this.selectionLimit||this.productOptionsSelected.emit({product:t,sectionId:this.section.id})}}getSelectedCount(){return this.selectedProducts[this.section?.id]?.size??0}isMaxSelectionReached(){return this.selectionLimit>1&&this.getSelectedCount()>=this.selectionLimit}isProductSelectionDisabled(t,s){return 0===t.quantity||!s&&this.isMaxSelectionReached()}getProductInstanceKey(t,s){return`${t}::${s}`}dispatchClearOptionsEvent(t,s){salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t.id,sectionId:this.section.id,sectionIndex:this.sectionIndex,productIndex:s})}handleOptionsSaved(t){const s=t.detail;if(!s)return;const{sectionId:i,productIndex:e,selectedOptions:n}=s;if(null==i||i!==this.section?.id)return;if(null==e||Number.isNaN(e))return;const o=this.getProductInstanceKey(i,e);if(n?.length)this.savedOptionsByInstance={...this.savedOptionsByInstance,[o]:!0};else if(this.savedOptionsByInstance[o]){const t={...this.savedOptionsByInstance};delete t[o],this.savedOptionsByInstance=t}}clearSavedOptionsState(t,s){const i=this.getProductInstanceKey(t,s);if(!this.savedOptionsByInstance[i])return;const e={...this.savedOptionsByInstance};delete e[i],this.savedOptionsByInstance=e}generateEventName(t,s){return`bundle[${t}][${s}][id]`}getCheckbox(t,s){const i=this.generateEventName(t,s);return this.host.querySelector(`input.s-multiple-bundle-product-checkbox[name="${i}"]`)}preventLockedDeselect(t,s){if(!this.isSelectionLocked||!s)return;t.preventDefault(),t.stopPropagation();const i=t.target;"checkbox"===i?.type&&(i.checked=!0)}render(){return i(e,{key:"84a2765b8e57fa7d4d757c7e0c8a634199e7f121"},i("salla-slider",{key:"67d1748a2c19adca4db056bd3b5e5de6813aa367",type:"carousel",controlsOuter:!1,showControls:!1,id:`accordion-multiple-bundle-product-${this.section.id}`,pagination:!0,class:"s-multiple-bundle-product-wrapper-slider",sliderConfig:{spaceBetween:0}},i("div",{key:"04547e4a998d15377a2d5573bd0c4d8d33a93af7",slot:"items"},this?.section?.products?.map(((t,s)=>{const e=this.selectedProducts[this.section.id]?.has(t.id)||!1,n=e&&this.isSelectionLocked,d=this.isProductSelectionDisabled(t,e),a=this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id,s)]?salla.lang.getWithDefault("pages.products.edit_selected_options","تعديل الخيارات"):salla.lang.get("pages.products.choose_from_options");let c=salla.config.get("theme.is_rtl",!0)?o:l;return i("div",{class:"s-multiple-bundle-product-slide-one-third"+(d?" s-multiple-bundle-product-slide-one-third-disabled":""),key:t.id},i("div",{class:"s-multiple-bundle-product-card"},i("div",{class:"s-multiple-bundle-product-image-wrapper",onClick:()=>this.handleProductClick(t,s)},i("input",{id:this.generateEventName(this.section.id,s),type:"checkbox",class:"s-multiple-bundle-product-checkbox",checked:e,"data-selection-locked":n?"true":void 0,name:this.generateEventName(this.section.id,s),value:t.id,onClick:t=>this.preventLockedDeselect(t,e),onChange:t=>this.preventLockedDeselect(t,e)}),i("img",{src:t.image.url||salla.url.cdn("images/s-empty.png"),loading:"lazy",alt:t.image.alt||t.name,class:"s-multiple-bundle-product-image"})),i("div",{class:"s-multiple-bundle-product-content-wrapper"},i("div",{class:"s-multiple-bundle-product-content"},i("div",{class:"s-multiple-bundle-product-details"},i("div",{class:"s-multiple-bundle-product-title-wrapper"},i("h2",{class:"s-multiple-bundle-product-title"},i("a",{href:t?.url||"#",target:"_blank",rel:"noopener noreferrer"},t.name))),i("div",{class:"s-multiple-bundle-product-price-wrapper"},i("span",{class:"s-multiple-bundle-product-price"},i("span",{innerHTML:salla.money(t.price)})),t.sale_price>0&&i("span",{class:"s-multiple-bundle-product-price-discount"},i("span",{innerHTML:salla.money(t.regular_price)})))),t.quantity_in_group>0&&0!==t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.pieces"),i("span",null,t.quantity_in_group)),0===t.quantity&&i("span",{class:"s-multiple-bundle-product-badge"},salla.lang.get("pages.products.quantity_in_group_finished"))),t.options?.length>0&&i("button",{class:"s-multiple-bundle-product-button",onClick:()=>this.handleOptionsClick(t),type:"button"},a,i("span",{class:"s-multiple-bundle-product-button-icon",innerHTML:c})))))})))))}get host(){return n(this)}};a.style="";export{d as salla_multiple_bundle_product_options_modal,a as salla_multiple_bundle_product_slider}
|