active-filters
2 years ago
add-to-cart-form
2 years ago
all-products
2 years ago
attribute-filter
2 years ago
base-components-mini-cart-contents-block
2 years ago
base-components-product-price~mini-cart-contents-block
2 years ago
breadcrumbs
2 years ago
cart-blocks
2 years ago
catalog-sorting
2 years ago
checkout
2 years ago
checkout-blocks
2 years ago
classic-shortcode
2 years ago
collection-active-filters
2 years ago
collection-attribute-filter
2 years ago
collection-filters
2 years ago
collection-price-filter
2 years ago
collection-rating-filter
2 years ago
collection-stock-filter
2 years ago
customer-account
2 years ago
featured-category
2 years ago
featured-product
2 years ago
filter-wrapper
2 years ago
handpicked-products
2 years ago
inner-blocks
2 years ago
mini-cart
2 years ago
mini-cart-contents-block
2 years ago
order-confirmation-additional-information
2 years ago
order-confirmation-billing-address
2 years ago
order-confirmation-billing-wrapper
2 years ago
order-confirmation-downloads
2 years ago
order-confirmation-downloads-wrapper
2 years ago
order-confirmation-shipping-address
2 years ago
order-confirmation-shipping-wrapper
2 years ago
order-confirmation-status
2 years ago
order-confirmation-summary
2 years ago
order-confirmation-totals
2 years ago
order-confirmation-totals-wrapper
2 years ago
page-content-wrapper
2 years ago
price-filter
2 years ago
product-average-rating
2 years ago
product-best-sellers
2 years ago
product-button
2 years ago
product-categories
2 years ago
product-category
2 years ago
product-collection
2 years ago
product-collection-no-results
2 years ago
product-details
2 years ago
product-gallery
2 years ago
product-gallery-large-image
2 years ago
product-gallery-large-image-next-previous
2 years ago
product-gallery-pager
2 years ago
product-gallery-thumbnails
2 years ago
product-image-gallery
2 years ago
product-meta
2 years ago
product-new
2 years ago
product-rating
2 years ago
product-rating-counter
2 years ago
product-rating-stars
2 years ago
product-results-count
2 years ago
product-reviews
2 years ago
product-tag
2 years ago
product-template
2 years ago
product-top-rated
2 years ago
products-by-attribute
2 years ago
rating-filter
2 years ago
related-products
2 years ago
single-product
2 years ago
stock-filter
2 years ago
store-notices
2 years ago
active-filters-frontend.asset.php
2 years ago
active-filters-frontend.js
2 years ago
active-filters-frontend.js.map
2 years ago
active-filters-rtl.css
2 years ago
active-filters-style.asset.php
2 years ago
active-filters-style.js.map
2 years ago
active-filters-wrapper-frontend.js
2 years ago
active-filters-wrapper-frontend.js.map
2 years ago
active-filters-wrapper-rtl.css
2 years ago
active-filters-wrapper-style.js.map
2 years ago
active-filters-wrapper.css
2 years ago
active-filters-wrapper.css.map
2 years ago
active-filters.asset.php
2 years ago
active-filters.css
2 years ago
active-filters.css.map
2 years ago
active-filters.js
2 years ago
active-filters.js.map
2 years ago
add-to-cart-form-rtl.css
2 years ago
add-to-cart-form-style.asset.php
2 years ago
add-to-cart-form-style.js.map
2 years ago
add-to-cart-form.css
2 years ago
add-to-cart-form.css.map
2 years ago
all-products-frontend.asset.php
2 years ago
all-products-frontend.js
2 years ago
all-products-frontend.js.map
2 years ago
all-products-rtl.css
2 years ago
all-products-style.asset.php
2 years ago
all-products-style.js.map
2 years ago
all-products.asset.php
2 years ago
all-products.css
2 years ago
all-products.css.map
2 years ago
all-products.js
2 years ago
all-products.js.map
2 years ago
all-reviews-rtl.css
2 years ago
all-reviews-style.asset.php
2 years ago
all-reviews-style.js.map
2 years ago
all-reviews.asset.php
2 years ago
all-reviews.css
2 years ago
all-reviews.css.map
2 years ago
all-reviews.js
2 years ago
all-reviews.js.map
2 years ago
assets_js_base_context_hooks_collections_use-collection_ts-assets_js_base_context_hooks_use-q-fdf7ba-style.js.map
2 years ago
assets_js_base_context_hooks_use-store-add-to-cart_ts-assets_js_base_context_hooks_use-store--e30f56-style.js.map
2 years ago
attribute-filter-frontend.asset.php
2 years ago
attribute-filter-frontend.js
2 years ago
attribute-filter-frontend.js.map
2 years ago
attribute-filter-rtl.css
2 years ago
attribute-filter-style.asset.php
2 years ago
attribute-filter-style.js.map
2 years ago
attribute-filter-wrapper-frontend.js
2 years ago
attribute-filter-wrapper-frontend.js.map
2 years ago
attribute-filter-wrapper-rtl.css
2 years ago
attribute-filter-wrapper-style.js.map
2 years ago
attribute-filter-wrapper.css
2 years ago
attribute-filter-wrapper.css.map
2 years ago
attribute-filter.asset.php
2 years ago
attribute-filter.css
2 years ago
attribute-filter.css.map
2 years ago
attribute-filter.js
2 years ago
attribute-filter.js.map
2 years ago
base-components-attribute-filter-wrapper-index.tsx-style.js.map
2 years ago
base-components-price-filter-wrapper-index.tsx-style.js.map
2 years ago
base-components-price-filter-wrapper-style.scss-rtl.css
2 years ago
base-components-price-filter-wrapper-style.scss.css
2 years ago
base-components-price-filter-wrapper-style.scss.css.map
2 years ago
base-components-rating-filter-wrapper-index.tsx-style.js.map
2 years ago
base-components-rating-filter-wrapper-style.scss-rtl.css
2 years ago
base-components-rating-filter-wrapper-style.scss.css
2 years ago
base-components-rating-filter-wrapper-style.scss.css.map
2 years ago
base-components-stock-filter-wrapper-index.tsx-style.js.map
2 years ago
base-components-stock-filter-wrapper~attribute-filter-wrapper~rating-filter-wrapper-style.scss-rtl.css
2 years ago
base-components-stock-filter-wrapper~attribute-filter-wrapper~rating-filter-wrapper-style.scss.css
2 years ago
base-components-stock-filter-wrapper~attribute-filter-wrapper~rating-filter-wrapper-style.scss.css.map
2 years ago
base-context-product-add-to-cart-index.js-style.js.map
2 years ago
blocks-checkout.asset.php
2 years ago
blocks-checkout.js
2 years ago
blocks-checkout.js.map
2 years ago
blocks-components.asset.php
2 years ago
blocks-components.js
2 years ago
blocks-components.js.map
2 years ago
breadcrumbs-rtl.css
2 years ago
breadcrumbs-style.asset.php
2 years ago
breadcrumbs-style.js.map
2 years ago
breadcrumbs.asset.php
2 years ago
breadcrumbs.css
2 years ago
breadcrumbs.css.map
2 years ago
breadcrumbs.js
2 years ago
breadcrumbs.js.map
2 years ago
cart-frontend.asset.php
2 years ago
cart-frontend.js
2 years ago
cart-frontend.js.map
2 years ago
cart-rtl.css
2 years ago
cart-style.asset.php
2 years ago
cart-style.js.map
2 years ago
cart.asset.php
2 years ago
cart.css
2 years ago
cart.css.map
2 years ago
cart.js
2 years ago
cart.js.map
2 years ago
catalog-sorting-rtl.css
2 years ago
catalog-sorting-style.asset.php
2 years ago
catalog-sorting-style.js.map
2 years ago
catalog-sorting.asset.php
2 years ago
catalog-sorting.css
2 years ago
catalog-sorting.css.map
2 years ago
catalog-sorting.js
2 years ago
catalog-sorting.js.map
2 years ago
checkout-frontend.asset.php
2 years ago
checkout-frontend.js
2 years ago
checkout-frontend.js.map
2 years ago
checkout-rtl.css
2 years ago
checkout-style.asset.php
2 years ago
checkout-style.js.map
2 years ago
checkout.asset.php
2 years ago
checkout.css
2 years ago
checkout.css.map
2 years ago
checkout.js
2 years ago
checkout.js.map
2 years ago
classic-shortcode-rtl.css
2 years ago
classic-shortcode-style.asset.php
2 years ago
classic-shortcode-style.js.map
2 years ago
classic-shortcode.asset.php
2 years ago
classic-shortcode.css
2 years ago
classic-shortcode.css.map
2 years ago
classic-shortcode.js
2 years ago
classic-shortcode.js.map
2 years ago
collection-active-filters-frontend.asset.php
2 years ago
collection-active-filters-frontend.js
2 years ago
collection-active-filters-frontend.js.map
2 years ago
collection-active-filters-rtl.css
2 years ago
collection-active-filters-style.asset.php
2 years ago
collection-active-filters-style.js.map
2 years ago
collection-active-filters.asset.php
2 years ago
collection-active-filters.css
2 years ago
collection-active-filters.css.map
2 years ago
collection-active-filters.js
2 years ago
collection-active-filters.js.map
2 years ago
collection-attribute-filter-frontend.asset.php
2 years ago
collection-attribute-filter-frontend.js
2 years ago
collection-attribute-filter-frontend.js.map
2 years ago
collection-attribute-filter-rtl.css
2 years ago
collection-attribute-filter-style.asset.php
2 years ago
collection-attribute-filter-style.js.map
2 years ago
collection-attribute-filter.asset.php
2 years ago
collection-attribute-filter.css
2 years ago
collection-attribute-filter.css.map
2 years ago
collection-attribute-filter.js
2 years ago
collection-attribute-filter.js.map
2 years ago
collection-filters-style.asset.php
2 years ago
collection-filters-style.js.map
2 years ago
collection-filters.asset.php
2 years ago
collection-filters.js
2 years ago
collection-filters.js.map
2 years ago
collection-price-filter-frontend.asset.php
2 years ago
collection-price-filter-frontend.js
2 years ago
collection-price-filter-frontend.js.map
2 years ago
collection-price-filter-rtl.css
2 years ago
collection-price-filter-style.asset.php
2 years ago
collection-price-filter-style.js.map
2 years ago
collection-price-filter.asset.php
2 years ago
collection-price-filter.css
2 years ago
collection-price-filter.css.map
2 years ago
collection-price-filter.js
2 years ago
collection-price-filter.js.map
2 years ago
collection-rating-filter-frontend.asset.php
2 years ago
collection-rating-filter-frontend.js
2 years ago
collection-rating-filter-frontend.js.map
2 years ago
collection-rating-filter-rtl.css
2 years ago
collection-rating-filter-style.asset.php
2 years ago
collection-rating-filter-style.js.map
2 years ago
collection-rating-filter.asset.php
2 years ago
collection-rating-filter.css
2 years ago
collection-rating-filter.css.map
2 years ago
collection-rating-filter.js
2 years ago
collection-rating-filter.js.map
2 years ago
collection-stock-filter-frontend.asset.php
2 years ago
collection-stock-filter-frontend.js
2 years ago
collection-stock-filter-frontend.js.map
2 years ago
collection-stock-filter-rtl.css
2 years ago
collection-stock-filter-style.asset.php
2 years ago
collection-stock-filter-style.js.map
2 years ago
collection-stock-filter.asset.php
2 years ago
collection-stock-filter.css
2 years ago
collection-stock-filter.css.map
2 years ago
collection-stock-filter.js
2 years ago
collection-stock-filter.js.map
2 years ago
customer-account-rtl.css
2 years ago
customer-account-style.asset.php
2 years ago
customer-account-style.js.map
2 years ago
customer-account.asset.php
2 years ago
customer-account.css
2 years ago
customer-account.css.map
2 years ago
customer-account.js
2 years ago
customer-account.js.map
2 years ago
featured-category-rtl.css
2 years ago
featured-category-style.asset.php
2 years ago
featured-category-style.js.map
2 years ago
featured-category.asset.php
2 years ago
featured-category.css
2 years ago
featured-category.css.map
2 years ago
featured-category.js
2 years ago
featured-category.js.map
2 years ago
featured-product-rtl.css
2 years ago
featured-product-style.asset.php
2 years ago
featured-product-style.js.map
2 years ago
featured-product.asset.php
2 years ago
featured-product.css
2 years ago
featured-product.css.map
2 years ago
featured-product.js
2 years ago
featured-product.js.map
2 years ago
filter-wrapper-frontend.asset.php
2 years ago
filter-wrapper-frontend.js
2 years ago
filter-wrapper-frontend.js.map
2 years ago
filter-wrapper-rtl.css
2 years ago
filter-wrapper-style.asset.php
2 years ago
filter-wrapper-style.js.map
2 years ago
filter-wrapper.asset.php
2 years ago
filter-wrapper.css
2 years ago
filter-wrapper.css.map
2 years ago
filter-wrapper.js
2 years ago
filter-wrapper.js.map
2 years ago
handpicked-products-style.asset.php
2 years ago
handpicked-products-style.js.map
2 years ago
handpicked-products.asset.php
2 years ago
handpicked-products.js
2 years ago
handpicked-products.js.map
2 years ago
legacy-template-rtl.css
2 years ago
legacy-template-style.asset.php
2 years ago
legacy-template-style.js.map
2 years ago
legacy-template.asset.php
2 years ago
legacy-template.css
2 years ago
legacy-template.css.map
2 years ago
legacy-template.js
2 years ago
legacy-template.js.map
2 years ago
mini-cart-component-frontend.asset.php
2 years ago
mini-cart-component-frontend.js
2 years ago
mini-cart-component-frontend.js.map
2 years ago
mini-cart-contents-rtl.css
2 years ago
mini-cart-contents-style.asset.php
2 years ago
mini-cart-contents-style.js.map
2 years ago
mini-cart-contents.asset.php
2 years ago
mini-cart-contents.css
2 years ago
mini-cart-contents.css.map
2 years ago
mini-cart-contents.js
2 years ago
mini-cart-contents.js.map
2 years ago
mini-cart-frontend.asset.php
2 years ago
mini-cart-frontend.js
2 years ago
mini-cart-frontend.js.map
2 years ago
mini-cart-rtl.css
2 years ago
mini-cart-style.asset.php
2 years ago
mini-cart-style.js.map
2 years ago
mini-cart.asset.php
2 years ago
mini-cart.css
2 years ago
mini-cart.css.map
2 years ago
mini-cart.js
2 years ago
mini-cart.js.map
2 years ago
order-confirmation-additional-information-rtl.css
2 years ago
order-confirmation-additional-information-style.asset.php
2 years ago
order-confirmation-additional-information-style.js.map
2 years ago
order-confirmation-additional-information.asset.php
2 years ago
order-confirmation-additional-information.css
2 years ago
order-confirmation-additional-information.css.map
2 years ago
order-confirmation-additional-information.js
2 years ago
order-confirmation-additional-information.js.map
2 years ago
order-confirmation-billing-address-rtl.css
2 years ago
order-confirmation-billing-address-style.asset.php
2 years ago
order-confirmation-billing-address-style.js.map
2 years ago
order-confirmation-billing-address.asset.php
2 years ago
order-confirmation-billing-address.css
2 years ago
order-confirmation-billing-address.css.map
2 years ago
order-confirmation-billing-address.js
2 years ago
order-confirmation-billing-address.js.map
2 years ago
order-confirmation-billing-wrapper-style.asset.php
2 years ago
order-confirmation-billing-wrapper-style.js.map
2 years ago
order-confirmation-billing-wrapper.asset.php
2 years ago
order-confirmation-billing-wrapper.js
2 years ago
order-confirmation-billing-wrapper.js.map
2 years ago
order-confirmation-downloads-rtl.css
2 years ago
order-confirmation-downloads-style.asset.php
2 years ago
order-confirmation-downloads-style.js.map
2 years ago
order-confirmation-downloads-wrapper-style.asset.php
2 years ago
order-confirmation-downloads-wrapper-style.js.map
2 years ago
order-confirmation-downloads-wrapper.asset.php
2 years ago
order-confirmation-downloads-wrapper.js
2 years ago
order-confirmation-downloads-wrapper.js.map
2 years ago
order-confirmation-downloads.asset.php
2 years ago
order-confirmation-downloads.css
2 years ago
order-confirmation-downloads.css.map
2 years ago
order-confirmation-downloads.js
2 years ago
order-confirmation-downloads.js.map
2 years ago
order-confirmation-shipping-address-rtl.css
2 years ago
order-confirmation-shipping-address-style.asset.php
2 years ago
order-confirmation-shipping-address-style.js.map
2 years ago
order-confirmation-shipping-address.asset.php
2 years ago
order-confirmation-shipping-address.css
2 years ago
order-confirmation-shipping-address.css.map
2 years ago
order-confirmation-shipping-address.js
2 years ago
order-confirmation-shipping-address.js.map
2 years ago
order-confirmation-shipping-wrapper-style.asset.php
2 years ago
order-confirmation-shipping-wrapper-style.js.map
2 years ago
order-confirmation-shipping-wrapper.asset.php
2 years ago
order-confirmation-shipping-wrapper.js
2 years ago
order-confirmation-shipping-wrapper.js.map
2 years ago
order-confirmation-status-rtl.css
2 years ago
order-confirmation-status-style.asset.php
2 years ago
order-confirmation-status-style.js.map
2 years ago
order-confirmation-status.asset.php
2 years ago
order-confirmation-status.css
2 years ago
order-confirmation-status.css.map
2 years ago
order-confirmation-status.js
2 years ago
order-confirmation-status.js.map
2 years ago
order-confirmation-summary-rtl.css
2 years ago
order-confirmation-summary-style.asset.php
2 years ago
order-confirmation-summary-style.js.map
2 years ago
order-confirmation-summary.asset.php
2 years ago
order-confirmation-summary.css
2 years ago
order-confirmation-summary.css.map
2 years ago
order-confirmation-summary.js
2 years ago
order-confirmation-summary.js.map
2 years ago
order-confirmation-totals-rtl.css
2 years ago
order-confirmation-totals-style.asset.php
2 years ago
order-confirmation-totals-style.js.map
2 years ago
order-confirmation-totals-wrapper-style.asset.php
2 years ago
order-confirmation-totals-wrapper-style.js.map
2 years ago
order-confirmation-totals-wrapper.asset.php
2 years ago
order-confirmation-totals-wrapper.js
2 years ago
order-confirmation-totals-wrapper.js.map
2 years ago
order-confirmation-totals.asset.php
2 years ago
order-confirmation-totals.css
2 years ago
order-confirmation-totals.css.map
2 years ago
order-confirmation-totals.js
2 years ago
order-confirmation-totals.js.map
2 years ago
packages-style-rtl.css
2 years ago
packages-style-style.asset.php
2 years ago
packages-style-style.js.map
2 years ago
packages-style.css
2 years ago
packages-style.css.map
2 years ago
page-content-wrapper-style.asset.php
2 years ago
page-content-wrapper-style.js.map
2 years ago
page-content-wrapper.asset.php
2 years ago
page-content-wrapper.js
2 years ago
page-content-wrapper.js.map
2 years ago
price-filter-frontend.asset.php
2 years ago
price-filter-frontend.js
2 years ago
price-filter-frontend.js.map
2 years ago
price-filter-rtl.css
2 years ago
price-filter-style.asset.php
2 years ago
price-filter-style.js.map
2 years ago
price-filter-wrapper-frontend.js
2 years ago
price-filter-wrapper-frontend.js.map
2 years ago
price-filter-wrapper-rtl.css
2 years ago
price-filter-wrapper-style.js.map
2 years ago
price-filter-wrapper.css
2 years ago
price-filter-wrapper.css.map
2 years ago
price-filter.asset.php
2 years ago
price-filter.css
2 years ago
price-filter.css.map
2 years ago
price-filter.js
2 years ago
price-filter.js.map
2 years ago
price-format.asset.php
2 years ago
price-format.js
2 years ago
price-format.js.map
2 years ago
product-add-to-cart-frontend.js
2 years ago
product-add-to-cart-frontend.js.map
2 years ago
product-add-to-cart-rtl.css
2 years ago
product-add-to-cart-style.js.map
2 years ago
product-add-to-cart.css
2 years ago
product-add-to-cart.css.map
2 years ago
product-add-to-cart.js
2 years ago
product-add-to-cart.js.map
2 years ago
product-average-rating-frontend.js
2 years ago
product-average-rating-frontend.js.map
2 years ago
product-average-rating-style.js.map
2 years ago
product-average-rating.js
2 years ago
product-average-rating.js.map
2 years ago
product-best-sellers-style.asset.php
2 years ago
product-best-sellers-style.js.map
2 years ago
product-best-sellers.asset.php
2 years ago
product-best-sellers.js
2 years ago
product-best-sellers.js.map
2 years ago
product-button-frontend.js
2 years ago
product-button-frontend.js.map
2 years ago
product-button-interactivity-frontend.asset.php
2 years ago
product-button-interactivity-frontend.js
2 years ago
product-button-interactivity-frontend.js.map
2 years ago
product-button-rtl.css
2 years ago
product-button-style.js.map
2 years ago
product-button.css
2 years ago
product-button.css.map
2 years ago
product-button.js
2 years ago
product-button.js.map
2 years ago
product-categories-rtl.css
2 years ago
product-categories-style.asset.php
2 years ago
product-categories-style.js.map
2 years ago
product-categories.asset.php
2 years ago
product-categories.css
2 years ago
product-categories.css.map
2 years ago
product-categories.js
2 years ago
product-categories.js.map
2 years ago
product-category-style.asset.php
2 years ago
product-category-style.js.map
2 years ago
product-category.asset.php
2 years ago
product-category.js
2 years ago
product-category.js.map
2 years ago
product-collection-no-results-style.asset.php
2 years ago
product-collection-no-results-style.js.map
2 years ago
product-collection-no-results.asset.php
2 years ago
product-collection-no-results.js
2 years ago
product-collection-no-results.js.map
2 years ago
product-collection-style.asset.php
2 years ago
product-collection-style.js.map
2 years ago
product-collection.asset.php
2 years ago
product-collection.js
2 years ago
product-collection.js.map
2 years ago
product-details-rtl.css
2 years ago
product-details-style.asset.php
2 years ago
product-details-style.js.map
2 years ago
product-details.css
2 years ago
product-details.css.map
2 years ago
product-gallery-frontend.asset.php
2 years ago
product-gallery-frontend.js
2 years ago
product-gallery-frontend.js.map
2 years ago
product-gallery-large-image-frontend.asset.php
2 years ago
product-gallery-large-image-frontend.js
2 years ago
product-gallery-large-image-frontend.js.map
2 years ago
product-gallery-large-image-next-previous-style.asset.php
2 years ago
product-gallery-large-image-next-previous-style.js.map
2 years ago
product-gallery-large-image-next-previous.asset.php
2 years ago
product-gallery-large-image-next-previous.js
2 years ago
product-gallery-large-image-next-previous.js.map
2 years ago
product-gallery-large-image-style.asset.php
2 years ago
product-gallery-large-image-style.js.map
2 years ago
product-gallery-large-image.asset.php
2 years ago
product-gallery-large-image.js
2 years ago
product-gallery-large-image.js.map
2 years ago
product-gallery-pager-style.asset.php
2 years ago
product-gallery-pager-style.js.map
2 years ago
product-gallery-pager.asset.php
2 years ago
product-gallery-pager.js
2 years ago
product-gallery-pager.js.map
2 years ago
product-gallery-rtl.css
2 years ago
product-gallery-style.asset.php
2 years ago
product-gallery-style.js.map
2 years ago
product-gallery-thumbnails-style.asset.php
2 years ago
product-gallery-thumbnails-style.js.map
2 years ago
product-gallery-thumbnails.asset.php
2 years ago
product-gallery-thumbnails.js
2 years ago
product-gallery-thumbnails.js.map
2 years ago
product-gallery.asset.php
2 years ago
product-gallery.css
2 years ago
product-gallery.css.map
2 years ago
product-gallery.js
2 years ago
product-gallery.js.map
2 years ago
product-image-frontend.js
2 years ago
product-image-frontend.js.map
2 years ago
product-image-gallery-rtl.css
2 years ago
product-image-gallery-style.asset.php
2 years ago
product-image-gallery-style.js.map
2 years ago
product-image-gallery.css
2 years ago
product-image-gallery.css.map
2 years ago
product-image-rtl.css
2 years ago
product-image-style.js.map
2 years ago
product-image.css
2 years ago
product-image.css.map
2 years ago
product-image.js
2 years ago
product-image.js.map
2 years ago
product-new-style.asset.php
2 years ago
product-new-style.js.map
2 years ago
product-new.asset.php
2 years ago
product-new.js
2 years ago
product-new.js.map
2 years ago
product-on-sale-style.asset.php
2 years ago
product-on-sale-style.js.map
2 years ago
product-on-sale.asset.php
2 years ago
product-on-sale.js
2 years ago
product-on-sale.js.map
2 years ago
product-price-frontend.js
2 years ago
product-price-frontend.js.map
2 years ago
product-price-rtl.css
2 years ago
product-price-style.js.map
2 years ago
product-price.css
2 years ago
product-price.css.map
2 years ago
product-price.js
2 years ago
product-price.js.map
2 years ago
product-query-rtl.css
2 years ago
product-query-style.asset.php
2 years ago
product-query-style.js.map
2 years ago
product-query.asset.php
2 years ago
product-query.css
2 years ago
product-query.css.map
2 years ago
product-query.js
2 years ago
product-query.js.map
2 years ago
product-rating-counter-frontend.js
2 years ago
product-rating-counter-frontend.js.map
2 years ago
product-rating-counter-style.js.map
2 years ago
product-rating-counter.js
2 years ago
product-rating-counter.js.map
2 years ago
product-rating-frontend.js
2 years ago
product-rating-frontend.js.map
2 years ago
product-rating-rtl.css
2 years ago
product-rating-stars-frontend.js
2 years ago
product-rating-stars-frontend.js.map
2 years ago
product-rating-stars-rtl.css
2 years ago
product-rating-stars-style.js.map
2 years ago
product-rating-stars.css
2 years ago
product-rating-stars.css.map
2 years ago
product-rating-stars.js
2 years ago
product-rating-stars.js.map
2 years ago
product-rating-style.js.map
2 years ago
product-rating.css
2 years ago
product-rating.css.map
2 years ago
product-rating.js
2 years ago
product-rating.js.map
2 years ago
product-results-count-rtl.css
2 years ago
product-results-count-style.asset.php
2 years ago
product-results-count-style.js.map
2 years ago
product-results-count.asset.php
2 years ago
product-results-count.css
2 years ago
product-results-count.css.map
2 years ago
product-results-count.js
2 years ago
product-results-count.js.map
2 years ago
product-reviews-rtl.css
2 years ago
product-reviews-style.asset.php
2 years ago
product-reviews-style.js.map
2 years ago
product-reviews.css
2 years ago
product-reviews.css.map
2 years ago
product-sale-badge-frontend.js
2 years ago
product-sale-badge-frontend.js.map
2 years ago
product-sale-badge-rtl.css
2 years ago
product-sale-badge-style.js.map
2 years ago
product-sale-badge.css
2 years ago
product-sale-badge.css.map
2 years ago
product-sale-badge.js
2 years ago
product-sale-badge.js.map
2 years ago
product-search-rtl.css
2 years ago
product-search-style.asset.php
2 years ago
product-search-style.js.map
2 years ago
product-search.asset.php
2 years ago
product-search.css
2 years ago
product-search.css.map
2 years ago
product-search.js
2 years ago
product-search.js.map
2 years ago
product-sku-frontend.js
2 years ago
product-sku-frontend.js.map
2 years ago
product-sku-rtl.css
2 years ago
product-sku-style.js.map
2 years ago
product-sku.css
2 years ago
product-sku.css.map
2 years ago
product-sku.js
2 years ago
product-sku.js.map
2 years ago
product-stock-indicator-frontend.js
2 years ago
product-stock-indicator-frontend.js.map
2 years ago
product-stock-indicator-rtl.css
2 years ago
product-stock-indicator-style.js.map
2 years ago
product-stock-indicator.css
2 years ago
product-stock-indicator.css.map
2 years ago
product-stock-indicator.js
2 years ago
product-stock-indicator.js.map
2 years ago
product-summary-frontend.js
2 years ago
product-summary-frontend.js.map
2 years ago
product-summary-rtl.css
2 years ago
product-summary-style.js.map
2 years ago
product-summary.css
2 years ago
product-summary.css.map
2 years ago
product-summary.js
2 years ago
product-summary.js.map
2 years ago
product-tag-style.asset.php
2 years ago
product-tag-style.js.map
2 years ago
product-tag.asset.php
2 years ago
product-tag.js
2 years ago
product-tag.js.map
2 years ago
product-template-rtl.css
2 years ago
product-template-style.asset.php
2 years ago
product-template-style.js.map
2 years ago
product-template.asset.php
2 years ago
product-template.css
2 years ago
product-template.css.map
2 years ago
product-template.js
2 years ago
product-template.js.map
2 years ago
product-title-frontend.js
2 years ago
product-title-frontend.js.map
2 years ago
product-title-rtl.css
2 years ago
product-title-style.js.map
2 years ago
product-title.css
2 years ago
product-title.css.map
2 years ago
product-title.js
2 years ago
product-title.js.map
2 years ago
product-top-rated-style.asset.php
2 years ago
product-top-rated-style.js.map
2 years ago
product-top-rated.asset.php
2 years ago
product-top-rated.js
2 years ago
product-top-rated.js.map
2 years ago
products-by-attribute-style.asset.php
2 years ago
products-by-attribute-style.js.map
2 years ago
products-by-attribute.asset.php
2 years ago
products-by-attribute.js
2 years ago
products-by-attribute.js.map
2 years ago
rating-filter-frontend.asset.php
2 years ago
rating-filter-frontend.js
2 years ago
rating-filter-frontend.js.map
2 years ago
rating-filter-rtl.css
2 years ago
rating-filter-style.asset.php
2 years ago
rating-filter-style.js.map
2 years ago
rating-filter-wrapper-frontend.js
2 years ago
rating-filter-wrapper-frontend.js.map
2 years ago
rating-filter-wrapper-rtl.css
2 years ago
rating-filter-wrapper-style.js.map
2 years ago
rating-filter-wrapper.css
2 years ago
rating-filter-wrapper.css.map
2 years ago
rating-filter.asset.php
2 years ago
rating-filter.css
2 years ago
rating-filter.css.map
2 years ago
rating-filter.js
2 years ago
rating-filter.js.map
2 years ago
reviews-by-category-rtl.css
2 years ago
reviews-by-category-style.asset.php
2 years ago
reviews-by-category-style.js.map
2 years ago
reviews-by-category.asset.php
2 years ago
reviews-by-category.css
2 years ago
reviews-by-category.css.map
2 years ago
reviews-by-category.js
2 years ago
reviews-by-category.js.map
2 years ago
reviews-by-product-rtl.css
2 years ago
reviews-by-product-style.asset.php
2 years ago
reviews-by-product-style.js.map
2 years ago
reviews-by-product.asset.php
2 years ago
reviews-by-product.css
2 years ago
reviews-by-product.css.map
2 years ago
reviews-by-product.js
2 years ago
reviews-by-product.js.map
2 years ago
reviews-frontend.asset.php
2 years ago
reviews-frontend.js
2 years ago
reviews-frontend.js.map
2 years ago
single-product-rtl.css
2 years ago
single-product-style.asset.php
2 years ago
single-product-style.js.map
2 years ago
single-product.asset.php
2 years ago
single-product.css
2 years ago
single-product.css.map
2 years ago
single-product.js
2 years ago
single-product.js.map
2 years ago
stock-filter-frontend.asset.php
2 years ago
stock-filter-frontend.js
2 years ago
stock-filter-frontend.js.map
2 years ago
stock-filter-rtl.css
2 years ago
stock-filter-style.asset.php
2 years ago
stock-filter-style.js.map
2 years ago
stock-filter-wrapper-frontend.js
2 years ago
stock-filter-wrapper-frontend.js.map
2 years ago
stock-filter-wrapper-rtl.css
2 years ago
stock-filter-wrapper-style.js.map
2 years ago
stock-filter-wrapper.css
2 years ago
stock-filter-wrapper.css.map
2 years ago
stock-filter.asset.php
2 years ago
stock-filter.css
2 years ago
stock-filter.css.map
2 years ago
stock-filter.js
2 years ago
stock-filter.js.map
2 years ago
store-notices-rtl.css
2 years ago
store-notices-style.asset.php
2 years ago
store-notices-style.js.map
2 years ago
store-notices.asset.php
2 years ago
store-notices.css
2 years ago
store-notices.css.map
2 years ago
store-notices.js
2 years ago
store-notices.js.map
2 years ago
vendors-node_modules_pnpm_dinero_js_1_9_1_node_modules_dinero_js_build_esm_dinero_js-style.js.map
2 years ago
vendors-node_modules_pnpm_param-case_3_0_4_node_modules_param-case_dist_es2015_index_js-style.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-019903-style.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-37238e-frontend.js
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-37238e-frontend.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-68c184-style.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-70a73f-frontend.js
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-70a73f-frontend.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-849324-frontend.js
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-849324-frontend.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-bab841-style.js.map
2 years ago
vendors-node_modules_pnpm_wordpress_components_14_2_0__types_react_17_0_71_react-dom_17_0_2_r-c6918e-style.js.map
2 years ago
wc-blocks-classic-template-revert-button-style-rtl.css
2 years ago
wc-blocks-classic-template-revert-button-style-style.asset.php
2 years ago
wc-blocks-classic-template-revert-button-style-style.js.map
2 years ago
wc-blocks-classic-template-revert-button-style.css
2 years ago
wc-blocks-classic-template-revert-button-style.css.map
2 years ago
wc-blocks-classic-template-revert-button.asset.php
2 years ago
wc-blocks-classic-template-revert-button.js
2 years ago
wc-blocks-classic-template-revert-button.js.map
2 years ago
wc-blocks-data.asset.php
2 years ago
wc-blocks-data.js
2 years ago
wc-blocks-data.js.map
2 years ago
wc-blocks-editor-style-rtl.css
2 years ago
wc-blocks-editor-style.css
2 years ago
wc-blocks-editor-style.css.map
2 years ago
wc-blocks-google-analytics.asset.php
2 years ago
wc-blocks-google-analytics.js
2 years ago
wc-blocks-google-analytics.js.map
2 years ago
wc-blocks-middleware.asset.php
2 years ago
wc-blocks-middleware.js
2 years ago
wc-blocks-middleware.js.map
2 years ago
wc-blocks-registry.asset.php
2 years ago
wc-blocks-registry.js
2 years ago
wc-blocks-registry.js.map
2 years ago
wc-blocks-rtl.css
2 years ago
wc-blocks-shared-context.asset.php
2 years ago
wc-blocks-shared-context.js
2 years ago
wc-blocks-shared-context.js.map
2 years ago
wc-blocks-shared-hocs.asset.php
2 years ago
wc-blocks-shared-hocs.js
2 years ago
wc-blocks-shared-hocs.js.map
2 years ago
wc-blocks-style.asset.php
2 years ago
wc-blocks-style.js.map
2 years ago
wc-blocks-vendors.asset.php
2 years ago
wc-blocks-vendors.js
2 years ago
wc-blocks-vendors.js.map
2 years ago
wc-blocks.asset.php
2 years ago
wc-blocks.css
2 years ago
wc-blocks.css.map
2 years ago
wc-blocks.js
2 years ago
wc-blocks.js.map
2 years ago
wc-interactivity-checkbox-list-rtl.css
2 years ago
wc-interactivity-checkbox-list-style.asset.php
2 years ago
wc-interactivity-checkbox-list-style.js.map
2 years ago
wc-interactivity-checkbox-list.asset.php
2 years ago
wc-interactivity-checkbox-list.css
2 years ago
wc-interactivity-checkbox-list.css.map
2 years ago
wc-interactivity-checkbox-list.js
2 years ago
wc-interactivity-checkbox-list.js.map
2 years ago
wc-interactivity-dropdown-rtl.css
2 years ago
wc-interactivity-dropdown-style.asset.php
2 years ago
wc-interactivity-dropdown-style.js.map
2 years ago
wc-interactivity-dropdown.asset.php
2 years ago
wc-interactivity-dropdown.css
2 years ago
wc-interactivity-dropdown.css.map
2 years ago
wc-interactivity-dropdown.js
2 years ago
wc-interactivity-dropdown.js.map
2 years ago
wc-interactivity.asset.php
2 years ago
wc-interactivity.js
2 years ago
wc-interactivity.js.map
2 years ago
wc-payment-method-bacs.asset.php
2 years ago
wc-payment-method-bacs.js
2 years ago
wc-payment-method-bacs.js.map
2 years ago
wc-payment-method-cheque.asset.php
2 years ago
wc-payment-method-cheque.js
2 years ago
wc-payment-method-cheque.js.map
2 years ago
wc-payment-method-cod.asset.php
2 years ago
wc-payment-method-cod.js
2 years ago
wc-payment-method-cod.js.map
2 years ago
wc-payment-method-paypal.asset.php
2 years ago
wc-payment-method-paypal.js
2 years ago
wc-payment-method-paypal.js.map
2 years ago
wc-settings.asset.php
2 years ago
wc-settings.js
2 years ago
wc-settings.js.map
2 years ago
wc-shipping-method-pickup-location.asset.php
2 years ago
wc-shipping-method-pickup-location.js
2 years ago
wc-shipping-method-pickup-location.js.map
2 years ago
product-image-frontend.js
1313 lines
| 1 | (self["webpackChunkwebpackWcBlocksJsonp"] = self["webpackChunkwebpackWcBlocksJsonp"] || []).push([["product-image"],{ |
| 2 | |
| 3 | /***/ "./assets/js/atomic/blocks/product-elements/image/attributes.ts": |
| 4 | /*!**********************************************************************!*\ |
| 5 | !*** ./assets/js/atomic/blocks/product-elements/image/attributes.ts ***! |
| 6 | \**********************************************************************/ |
| 7 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 8 | |
| 9 | "use strict"; |
| 10 | __webpack_require__.r(__webpack_exports__); |
| 11 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 12 | /* harmony export */ blockAttributes: () => (/* binding */ blockAttributes), |
| 13 | /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) |
| 14 | /* harmony export */ }); |
| 15 | /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./assets/js/atomic/blocks/product-elements/image/types.ts"); |
| 16 | /** |
| 17 | * External dependencies |
| 18 | */ |
| 19 | |
| 20 | /** |
| 21 | * Internal dependencies |
| 22 | */ |
| 23 | |
| 24 | const blockAttributes = { |
| 25 | showProductLink: { |
| 26 | type: 'boolean', |
| 27 | default: true |
| 28 | }, |
| 29 | showSaleBadge: { |
| 30 | type: 'boolean', |
| 31 | default: true |
| 32 | }, |
| 33 | saleBadgeAlign: { |
| 34 | type: 'string', |
| 35 | default: 'right' |
| 36 | }, |
| 37 | imageSizing: { |
| 38 | type: 'string', |
| 39 | default: _types__WEBPACK_IMPORTED_MODULE_0__.ImageSizing.SINGLE |
| 40 | }, |
| 41 | productId: { |
| 42 | type: 'number', |
| 43 | default: 0 |
| 44 | }, |
| 45 | isDescendentOfQueryLoop: { |
| 46 | type: 'boolean', |
| 47 | default: false |
| 48 | }, |
| 49 | isDescendentOfSingleProductBlock: { |
| 50 | type: 'boolean', |
| 51 | default: false |
| 52 | }, |
| 53 | width: { |
| 54 | type: 'string' |
| 55 | }, |
| 56 | height: { |
| 57 | type: 'string' |
| 58 | }, |
| 59 | scale: { |
| 60 | type: 'string', |
| 61 | default: 'cover' |
| 62 | }, |
| 63 | aspectRatio: { |
| 64 | type: 'string' |
| 65 | } |
| 66 | }; |
| 67 | /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (blockAttributes); |
| 68 | |
| 69 | /***/ }), |
| 70 | |
| 71 | /***/ "./assets/js/atomic/blocks/product-elements/image/block.tsx": |
| 72 | /*!******************************************************************!*\ |
| 73 | !*** ./assets/js/atomic/blocks/product-elements/image/block.tsx ***! |
| 74 | \******************************************************************/ |
| 75 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 76 | |
| 77 | "use strict"; |
| 78 | __webpack_require__.r(__webpack_exports__); |
| 79 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 80 | /* harmony export */ Block: () => (/* binding */ Block), |
| 81 | /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) |
| 82 | /* harmony export */ }); |
| 83 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); |
| 84 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); |
| 85 | /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element"); |
| 86 | /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__); |
| 87 | /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); |
| 88 | /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); |
| 89 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js"); |
| 90 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__); |
| 91 | /* harmony import */ var _woocommerce_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @woocommerce/settings */ "@woocommerce/settings"); |
| 92 | /* harmony import */ var _woocommerce_settings__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_settings__WEBPACK_IMPORTED_MODULE_4__); |
| 93 | /* harmony import */ var _woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @woocommerce/shared-context */ "@woocommerce/shared-context"); |
| 94 | /* harmony import */ var _woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_5__); |
| 95 | /* harmony import */ var _woocommerce_base_hooks__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @woocommerce/base-hooks */ "./assets/js/base/hooks/use-style-props.ts"); |
| 96 | /* harmony import */ var _woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @woocommerce/shared-hocs */ "@woocommerce/shared-hocs"); |
| 97 | /* harmony import */ var _woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_6__); |
| 98 | /* harmony import */ var _woocommerce_base_context_hooks__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @woocommerce/base-context/hooks */ "./assets/js/base/context/hooks/use-store-events.ts"); |
| 99 | /* harmony import */ var _sale_badge_block__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../sale-badge/block */ "./assets/js/atomic/blocks/product-elements/sale-badge/block.tsx"); |
| 100 | /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./style.scss */ "./assets/js/atomic/blocks/product-elements/image/style.scss"); |
| 101 | /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_8__); |
| 102 | /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./types */ "./assets/js/atomic/blocks/product-elements/image/types.ts"); |
| 103 | |
| 104 | /** |
| 105 | * External dependencies |
| 106 | */ |
| 107 | |
| 108 | |
| 109 | |
| 110 | |
| 111 | |
| 112 | |
| 113 | |
| 114 | |
| 115 | /** |
| 116 | * Internal dependencies |
| 117 | */ |
| 118 | |
| 119 | |
| 120 | |
| 121 | const ImagePlaceholder = props => { |
| 122 | return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { |
| 123 | ...props, |
| 124 | src: _woocommerce_settings__WEBPACK_IMPORTED_MODULE_4__.PLACEHOLDER_IMG_SRC, |
| 125 | alt: "", |
| 126 | width: undefined, |
| 127 | height: undefined |
| 128 | }); |
| 129 | }; |
| 130 | const Image = ({ |
| 131 | image, |
| 132 | loaded, |
| 133 | showFullSize, |
| 134 | fallbackAlt, |
| 135 | width, |
| 136 | scale, |
| 137 | height, |
| 138 | aspectRatio |
| 139 | }) => { |
| 140 | const { |
| 141 | thumbnail, |
| 142 | src, |
| 143 | srcset, |
| 144 | sizes, |
| 145 | alt |
| 146 | } = image || {}; |
| 147 | const imageProps = { |
| 148 | alt: alt || fallbackAlt, |
| 149 | hidden: !loaded, |
| 150 | src: thumbnail, |
| 151 | ...(showFullSize && { |
| 152 | src, |
| 153 | srcSet: srcset, |
| 154 | sizes |
| 155 | }) |
| 156 | }; |
| 157 | const imageStyles = { |
| 158 | height, |
| 159 | width, |
| 160 | objectFit: scale, |
| 161 | aspectRatio |
| 162 | }; |
| 163 | return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, imageProps.src && /* eslint-disable-next-line jsx-a11y/alt-text */ |
| 164 | (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { |
| 165 | style: imageStyles, |
| 166 | "data-testid": "product-image", |
| 167 | ...imageProps |
| 168 | }), !image && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(ImagePlaceholder, { |
| 169 | style: imageStyles |
| 170 | })); |
| 171 | }; |
| 172 | const Block = props => { |
| 173 | const { |
| 174 | className, |
| 175 | imageSizing = _types__WEBPACK_IMPORTED_MODULE_9__.ImageSizing.SINGLE, |
| 176 | showProductLink = true, |
| 177 | showSaleBadge, |
| 178 | saleBadgeAlign = 'right', |
| 179 | height, |
| 180 | width, |
| 181 | scale, |
| 182 | aspectRatio, |
| 183 | ...restProps |
| 184 | } = props; |
| 185 | const styleProps = (0,_woocommerce_base_hooks__WEBPACK_IMPORTED_MODULE_10__.useStyleProps)(props); |
| 186 | const { |
| 187 | parentClassName |
| 188 | } = (0,_woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_5__.useInnerBlockLayoutContext)(); |
| 189 | const { |
| 190 | product, |
| 191 | isLoading |
| 192 | } = (0,_woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_5__.useProductDataContext)(); |
| 193 | const { |
| 194 | dispatchStoreEvent |
| 195 | } = (0,_woocommerce_base_context_hooks__WEBPACK_IMPORTED_MODULE_11__.useStoreEvents)(); |
| 196 | if (!product.id) { |
| 197 | return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { |
| 198 | className: classnames__WEBPACK_IMPORTED_MODULE_3___default()(className, 'wc-block-components-product-image', { |
| 199 | [`${parentClassName}__product-image`]: parentClassName |
| 200 | }, styleProps.className), |
| 201 | style: styleProps.style |
| 202 | }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(ImagePlaceholder, null)); |
| 203 | } |
| 204 | const hasProductImages = !!product.images.length; |
| 205 | const image = hasProductImages ? product.images[0] : null; |
| 206 | const ParentComponent = showProductLink ? 'a' : _wordpress_element__WEBPACK_IMPORTED_MODULE_1__.Fragment; |
| 207 | const anchorLabel = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.sprintf)( /* translators: %s is referring to the product name */ |
| 208 | (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Link to %s', 'woocommerce'), product.name); |
| 209 | const anchorProps = { |
| 210 | href: product.permalink, |
| 211 | ...(!hasProductImages && { |
| 212 | 'aria-label': anchorLabel |
| 213 | }), |
| 214 | onClick: () => { |
| 215 | dispatchStoreEvent('product-view-link', { |
| 216 | product |
| 217 | }); |
| 218 | } |
| 219 | }; |
| 220 | |
| 221 | // Remove parent block custom styles from sale badge. |
| 222 | delete restProps.style; |
| 223 | return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { |
| 224 | className: classnames__WEBPACK_IMPORTED_MODULE_3___default()(className, 'wc-block-components-product-image', { |
| 225 | [`${parentClassName}__product-image`]: parentClassName |
| 226 | }, styleProps.className), |
| 227 | style: styleProps.style |
| 228 | }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(ParentComponent, { |
| 229 | ...(showProductLink && anchorProps) |
| 230 | }, !!showSaleBadge && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_sale_badge_block__WEBPACK_IMPORTED_MODULE_7__["default"], { |
| 231 | align: saleBadgeAlign, |
| 232 | ...restProps |
| 233 | }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Image, { |
| 234 | fallbackAlt: product.name, |
| 235 | image: image, |
| 236 | loaded: !isLoading, |
| 237 | showFullSize: imageSizing !== _types__WEBPACK_IMPORTED_MODULE_9__.ImageSizing.THUMBNAIL, |
| 238 | width: width, |
| 239 | height: height, |
| 240 | scale: scale, |
| 241 | aspectRatio: aspectRatio |
| 242 | }))); |
| 243 | }; |
| 244 | Block.__docgenInfo = { |
| 245 | "description": "", |
| 246 | "methods": [], |
| 247 | "displayName": "Block" |
| 248 | }; |
| 249 | /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_6__.withProductDataContext)(Block)); |
| 250 | if (typeof STORYBOOK_REACT_CLASSES !== "undefined") { |
| 251 | STORYBOOK_REACT_CLASSES["assets/js/atomic/blocks/product-elements/image/block.tsx"] = { |
| 252 | name: "Block", |
| 253 | docgenInfo: Block.__docgenInfo, |
| 254 | path: "assets/js/atomic/blocks/product-elements/image/block.tsx" |
| 255 | }; |
| 256 | } |
| 257 | |
| 258 | /***/ }), |
| 259 | |
| 260 | /***/ "./assets/js/atomic/blocks/product-elements/image/frontend.ts": |
| 261 | /*!********************************************************************!*\ |
| 262 | !*** ./assets/js/atomic/blocks/product-elements/image/frontend.ts ***! |
| 263 | \********************************************************************/ |
| 264 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 265 | |
| 266 | "use strict"; |
| 267 | __webpack_require__.r(__webpack_exports__); |
| 268 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 269 | /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) |
| 270 | /* harmony export */ }); |
| 271 | /* harmony import */ var _woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @woocommerce/shared-hocs */ "@woocommerce/shared-hocs"); |
| 272 | /* harmony import */ var _woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_0__); |
| 273 | /* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./block */ "./assets/js/atomic/blocks/product-elements/image/block.tsx"); |
| 274 | /* harmony import */ var _attributes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attributes */ "./assets/js/atomic/blocks/product-elements/image/attributes.ts"); |
| 275 | /** |
| 276 | * External dependencies |
| 277 | */ |
| 278 | |
| 279 | |
| 280 | /** |
| 281 | * Internal dependencies |
| 282 | */ |
| 283 | |
| 284 | |
| 285 | /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_0__.withFilteredAttributes)(_attributes__WEBPACK_IMPORTED_MODULE_2__["default"])(_block__WEBPACK_IMPORTED_MODULE_1__["default"])); |
| 286 | |
| 287 | /***/ }), |
| 288 | |
| 289 | /***/ "./assets/js/atomic/blocks/product-elements/image/types.ts": |
| 290 | /*!*****************************************************************!*\ |
| 291 | !*** ./assets/js/atomic/blocks/product-elements/image/types.ts ***! |
| 292 | \*****************************************************************/ |
| 293 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 294 | |
| 295 | "use strict"; |
| 296 | __webpack_require__.r(__webpack_exports__); |
| 297 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 298 | /* harmony export */ ImageSizing: () => (/* binding */ ImageSizing) |
| 299 | /* harmony export */ }); |
| 300 | let ImageSizing = /*#__PURE__*/function (ImageSizing) { |
| 301 | ImageSizing["SINGLE"] = "single"; |
| 302 | ImageSizing["THUMBNAIL"] = "thumbnail"; |
| 303 | return ImageSizing; |
| 304 | }({}); |
| 305 | |
| 306 | /***/ }), |
| 307 | |
| 308 | /***/ "./assets/js/atomic/blocks/product-elements/sale-badge/block.tsx": |
| 309 | /*!***********************************************************************!*\ |
| 310 | !*** ./assets/js/atomic/blocks/product-elements/sale-badge/block.tsx ***! |
| 311 | \***********************************************************************/ |
| 312 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 313 | |
| 314 | "use strict"; |
| 315 | __webpack_require__.r(__webpack_exports__); |
| 316 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 317 | /* harmony export */ Block: () => (/* binding */ Block), |
| 318 | /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) |
| 319 | /* harmony export */ }); |
| 320 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); |
| 321 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); |
| 322 | /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); |
| 323 | /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); |
| 324 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js"); |
| 325 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__); |
| 326 | /* harmony import */ var _woocommerce_blocks_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @woocommerce/blocks-components */ "@woocommerce/blocks-components"); |
| 327 | /* harmony import */ var _woocommerce_blocks_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_blocks_components__WEBPACK_IMPORTED_MODULE_3__); |
| 328 | /* harmony import */ var _woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @woocommerce/shared-context */ "@woocommerce/shared-context"); |
| 329 | /* harmony import */ var _woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_4__); |
| 330 | /* harmony import */ var _woocommerce_base_hooks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @woocommerce/base-hooks */ "./assets/js/base/hooks/use-style-props.ts"); |
| 331 | /* harmony import */ var _woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @woocommerce/shared-hocs */ "@woocommerce/shared-hocs"); |
| 332 | /* harmony import */ var _woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_5__); |
| 333 | /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style.scss */ "./assets/js/atomic/blocks/product-elements/sale-badge/style.scss"); |
| 334 | /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_6__); |
| 335 | |
| 336 | /** |
| 337 | * External dependencies |
| 338 | */ |
| 339 | |
| 340 | |
| 341 | |
| 342 | |
| 343 | |
| 344 | |
| 345 | /** |
| 346 | * Internal dependencies |
| 347 | */ |
| 348 | |
| 349 | const Block = props => { |
| 350 | const { |
| 351 | className, |
| 352 | align |
| 353 | } = props; |
| 354 | const styleProps = (0,_woocommerce_base_hooks__WEBPACK_IMPORTED_MODULE_7__.useStyleProps)(props); |
| 355 | const { |
| 356 | parentClassName |
| 357 | } = (0,_woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_4__.useInnerBlockLayoutContext)(); |
| 358 | const { |
| 359 | product |
| 360 | } = (0,_woocommerce_shared_context__WEBPACK_IMPORTED_MODULE_4__.useProductDataContext)(); |
| 361 | if ((!product.id || !product.on_sale) && !props.isDescendentOfSingleProductTemplate) { |
| 362 | return null; |
| 363 | } |
| 364 | const alignClass = typeof align === 'string' ? `wc-block-components-product-sale-badge--align-${align}` : ''; |
| 365 | return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { |
| 366 | className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('wc-block-components-product-sale-badge', className, alignClass, { |
| 367 | [`${parentClassName}__product-onsale`]: parentClassName |
| 368 | }, styleProps.className), |
| 369 | style: styleProps.style |
| 370 | }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_woocommerce_blocks_components__WEBPACK_IMPORTED_MODULE_3__.Label, { |
| 371 | label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Sale', 'woocommerce'), |
| 372 | screenReaderLabel: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Product on sale', 'woocommerce') |
| 373 | })); |
| 374 | }; |
| 375 | Block.__docgenInfo = { |
| 376 | "description": "", |
| 377 | "methods": [], |
| 378 | "displayName": "Block" |
| 379 | }; |
| 380 | /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_woocommerce_shared_hocs__WEBPACK_IMPORTED_MODULE_5__.withProductDataContext)(Block)); |
| 381 | if (typeof STORYBOOK_REACT_CLASSES !== "undefined") { |
| 382 | STORYBOOK_REACT_CLASSES["assets/js/atomic/blocks/product-elements/sale-badge/block.tsx"] = { |
| 383 | name: "Block", |
| 384 | docgenInfo: Block.__docgenInfo, |
| 385 | path: "assets/js/atomic/blocks/product-elements/sale-badge/block.tsx" |
| 386 | }; |
| 387 | } |
| 388 | |
| 389 | /***/ }), |
| 390 | |
| 391 | /***/ "./assets/js/base/hooks/use-style-props.ts": |
| 392 | /*!*************************************************!*\ |
| 393 | !*** ./assets/js/base/hooks/use-style-props.ts ***! |
| 394 | \*************************************************/ |
| 395 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 396 | |
| 397 | "use strict"; |
| 398 | __webpack_require__.r(__webpack_exports__); |
| 399 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 400 | /* harmony export */ useStyleProps: () => (/* binding */ useStyleProps) |
| 401 | /* harmony export */ }); |
| 402 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js"); |
| 403 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__); |
| 404 | /* harmony import */ var _woocommerce_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @woocommerce/types */ "./assets/js/types/type-guards/object.ts"); |
| 405 | /* harmony import */ var _woocommerce_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @woocommerce/types */ "./assets/js/types/type-guards/string.ts"); |
| 406 | /* harmony import */ var _use_typography_props__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-typography-props */ "./assets/js/base/hooks/use-typography-props.ts"); |
| 407 | /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./assets/js/base/utils/get-inline-styles.ts"); |
| 408 | /** |
| 409 | * External dependencies |
| 410 | */ |
| 411 | |
| 412 | |
| 413 | /** |
| 414 | * Internal dependencies |
| 415 | */ |
| 416 | |
| 417 | |
| 418 | /** |
| 419 | * Parses incoming props. |
| 420 | * |
| 421 | * This may include style properties at the top level, or may include a nested `style` object. This ensures the expected |
| 422 | * values are present and converts any string based values to objects as required. |
| 423 | */ |
| 424 | const parseStyleAttributes = rawProps => { |
| 425 | const props = (0,_woocommerce_types__WEBPACK_IMPORTED_MODULE_1__.isObject)(rawProps) ? rawProps : { |
| 426 | style: {} |
| 427 | }; |
| 428 | let style = props.style; |
| 429 | if ((0,_woocommerce_types__WEBPACK_IMPORTED_MODULE_2__.isString)(style)) { |
| 430 | style = JSON.parse(style) || {}; |
| 431 | } |
| 432 | if (!(0,_woocommerce_types__WEBPACK_IMPORTED_MODULE_1__.isObject)(style)) { |
| 433 | style = {}; |
| 434 | } |
| 435 | return { |
| 436 | ...props, |
| 437 | style |
| 438 | }; |
| 439 | }; |
| 440 | |
| 441 | /** |
| 442 | * Returns the CSS class names and inline styles for a block when provided with its props/attributes. |
| 443 | * |
| 444 | * This hook (and its utilities) borrow functionality from the Gutenberg Block Editor package--something we don't want |
| 445 | * to import on the frontend. |
| 446 | */ |
| 447 | const useStyleProps = props => { |
| 448 | const styleAttributes = parseStyleAttributes(props); |
| 449 | const colorProps = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getColorClassesAndStyles)(styleAttributes); |
| 450 | const borderProps = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getBorderClassesAndStyles)(styleAttributes); |
| 451 | const spacingProps = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSpacingClassesAndStyles)(styleAttributes); |
| 452 | const typographyProps = (0,_use_typography_props__WEBPACK_IMPORTED_MODULE_4__.useTypographyProps)(styleAttributes); |
| 453 | return { |
| 454 | className: classnames__WEBPACK_IMPORTED_MODULE_0___default()(typographyProps.className, colorProps.className, borderProps.className, spacingProps.className), |
| 455 | style: { |
| 456 | ...typographyProps.style, |
| 457 | ...colorProps.style, |
| 458 | ...borderProps.style, |
| 459 | ...spacingProps.style |
| 460 | } |
| 461 | }; |
| 462 | }; |
| 463 | |
| 464 | /***/ }), |
| 465 | |
| 466 | /***/ "./assets/js/base/hooks/use-typography-props.ts": |
| 467 | /*!******************************************************!*\ |
| 468 | !*** ./assets/js/base/hooks/use-typography-props.ts ***! |
| 469 | \******************************************************/ |
| 470 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 471 | |
| 472 | "use strict"; |
| 473 | __webpack_require__.r(__webpack_exports__); |
| 474 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 475 | /* harmony export */ useTypographyProps: () => (/* binding */ useTypographyProps) |
| 476 | /* harmony export */ }); |
| 477 | /* harmony import */ var _woocommerce_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @woocommerce/types */ "./assets/js/types/type-guards/object.ts"); |
| 478 | /* harmony import */ var _woocommerce_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @woocommerce/types */ "./assets/js/types/type-guards/string.ts"); |
| 479 | /** |
| 480 | * External dependencies |
| 481 | */ |
| 482 | |
| 483 | |
| 484 | /** |
| 485 | * Internal dependencies |
| 486 | */ |
| 487 | |
| 488 | const useTypographyProps = props => { |
| 489 | const typography = (0,_woocommerce_types__WEBPACK_IMPORTED_MODULE_0__.isObject)(props.style.typography) ? props.style.typography : {}; |
| 490 | const classNameFallback = (0,_woocommerce_types__WEBPACK_IMPORTED_MODULE_1__.isString)(typography.fontFamily) ? typography.fontFamily : ''; |
| 491 | const className = props.fontFamily ? `has-${props.fontFamily}-font-family` : classNameFallback; |
| 492 | return { |
| 493 | className, |
| 494 | style: { |
| 495 | fontSize: props.fontSize ? `var(--wp--preset--font-size--${props.fontSize})` : typography.fontSize, |
| 496 | fontStyle: typography.fontStyle, |
| 497 | fontWeight: typography.fontWeight, |
| 498 | letterSpacing: typography.letterSpacing, |
| 499 | lineHeight: typography.lineHeight, |
| 500 | textDecoration: typography.textDecoration, |
| 501 | textTransform: typography.textTransform |
| 502 | } |
| 503 | }; |
| 504 | }; |
| 505 | |
| 506 | /***/ }), |
| 507 | |
| 508 | /***/ "./assets/js/base/utils/get-inline-styles.ts": |
| 509 | /*!***************************************************!*\ |
| 510 | !*** ./assets/js/base/utils/get-inline-styles.ts ***! |
| 511 | \***************************************************/ |
| 512 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 513 | |
| 514 | "use strict"; |
| 515 | __webpack_require__.r(__webpack_exports__); |
| 516 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 517 | /* harmony export */ getBorderClassesAndStyles: () => (/* binding */ getBorderClassesAndStyles), |
| 518 | /* harmony export */ getColorClassesAndStyles: () => (/* binding */ getColorClassesAndStyles), |
| 519 | /* harmony export */ getSpacingClassesAndStyles: () => (/* binding */ getSpacingClassesAndStyles) |
| 520 | /* harmony export */ }); |
| 521 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js"); |
| 522 | /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__); |
| 523 | /* harmony import */ var change_case__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! change-case */ "../../node_modules/.pnpm/param-case@3.0.4/node_modules/param-case/dist.es2015/index.js"); |
| 524 | /* harmony import */ var _wordpress_style_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/style-engine */ "@wordpress/style-engine"); |
| 525 | /* harmony import */ var _wordpress_style_engine__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_style_engine__WEBPACK_IMPORTED_MODULE_1__); |
| 526 | /* harmony import */ var _woocommerce_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @woocommerce/types */ "./assets/js/types/type-guards/object.ts"); |
| 527 | /** |
| 528 | * External dependencies |
| 529 | */ |
| 530 | |
| 531 | |
| 532 | |
| 533 | |
| 534 | /** |
| 535 | * Returns the inline styles to add depending on the style object |
| 536 | * |
| 537 | * @param {Object} styles Styles configuration. |
| 538 | * @return {Object} Flattened CSS variables declaration. |
| 539 | */ |
| 540 | function getInlineStyles(styles = {}) { |
| 541 | const output = {}; |
| 542 | (0,_wordpress_style_engine__WEBPACK_IMPORTED_MODULE_1__.getCSSRules)(styles, { |
| 543 | selector: '' |
| 544 | }).forEach(rule => { |
| 545 | output[rule.key] = rule.value; |
| 546 | }); |
| 547 | return output; |
| 548 | } |
| 549 | |
| 550 | /** |
| 551 | * Get the classname for a given color. |
| 552 | */ |
| 553 | function getColorClassName(colorContextName, colorSlug) { |
| 554 | if (!colorContextName || !colorSlug) { |
| 555 | return ''; |
| 556 | } |
| 557 | return `has-${(0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(colorSlug)}-${colorContextName}`; |
| 558 | } |
| 559 | |
| 560 | /** |
| 561 | * Generates a CSS class name consisting of all the applicable border color |
| 562 | * classes given the current block attributes. |
| 563 | */ |
| 564 | function getBorderClassName(attributes) { |
| 565 | var _style$border; |
| 566 | const { |
| 567 | borderColor, |
| 568 | style |
| 569 | } = attributes; |
| 570 | const borderColorClass = borderColor ? getColorClassName('border-color', borderColor) : ''; |
| 571 | return classnames__WEBPACK_IMPORTED_MODULE_0___default()({ |
| 572 | 'has-border-color': !!borderColor || !!(style !== null && style !== void 0 && (_style$border = style.border) !== null && _style$border !== void 0 && _style$border.color), |
| 573 | [borderColorClass]: !!borderColorClass |
| 574 | }); |
| 575 | } |
| 576 | function getGradientClassName(gradientSlug) { |
| 577 | if (!gradientSlug) { |
| 578 | return undefined; |
| 579 | } |
| 580 | return `has-${gradientSlug}-gradient-background`; |
| 581 | } |
| 582 | |
| 583 | /** |
| 584 | * Provides the CSS class names and inline styles for a block's color support |
| 585 | * attributes. |
| 586 | */ |
| 587 | function getColorClassesAndStyles(props) { |
| 588 | var _style$color, _style$color2, _style$color3, _style$color4, _style$elements, _style$elements2, _style$elements2$link; |
| 589 | const { |
| 590 | backgroundColor, |
| 591 | textColor, |
| 592 | gradient, |
| 593 | style |
| 594 | } = props; |
| 595 | |
| 596 | // Collect color CSS classes. |
| 597 | const backgroundClass = getColorClassName('background-color', backgroundColor); |
| 598 | const textClass = getColorClassName('color', textColor); |
| 599 | const gradientClass = getGradientClassName(gradient); |
| 600 | const hasGradient = gradientClass || (style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.gradient); |
| 601 | |
| 602 | // Determine color CSS class name list. |
| 603 | const className = classnames__WEBPACK_IMPORTED_MODULE_0___default()(textClass, gradientClass, { |
| 604 | // Don't apply the background class if there's a gradient. |
| 605 | [backgroundClass]: !hasGradient && !!backgroundClass, |
| 606 | 'has-text-color': textColor || (style === null || style === void 0 ? void 0 : (_style$color2 = style.color) === null || _style$color2 === void 0 ? void 0 : _style$color2.text), |
| 607 | 'has-background': backgroundColor || (style === null || style === void 0 ? void 0 : (_style$color3 = style.color) === null || _style$color3 === void 0 ? void 0 : _style$color3.background) || gradient || (style === null || style === void 0 ? void 0 : (_style$color4 = style.color) === null || _style$color4 === void 0 ? void 0 : _style$color4.gradient), |
| 608 | 'has-link-color': (0,_woocommerce_types__WEBPACK_IMPORTED_MODULE_3__.isObject)(style === null || style === void 0 ? void 0 : (_style$elements = style.elements) === null || _style$elements === void 0 ? void 0 : _style$elements.link) ? style === null || style === void 0 ? void 0 : (_style$elements2 = style.elements) === null || _style$elements2 === void 0 ? void 0 : (_style$elements2$link = _style$elements2.link) === null || _style$elements2$link === void 0 ? void 0 : _style$elements2$link.color : undefined |
| 609 | }); |
| 610 | |
| 611 | // Collect inline styles for colors. |
| 612 | const colorStyles = (style === null || style === void 0 ? void 0 : style.color) || {}; |
| 613 | return { |
| 614 | className, |
| 615 | style: getInlineStyles({ |
| 616 | color: colorStyles |
| 617 | }) |
| 618 | }; |
| 619 | } |
| 620 | |
| 621 | /** |
| 622 | * Provides the CSS class names and inline styles for a block's border support |
| 623 | * attributes. |
| 624 | */ |
| 625 | function getBorderClassesAndStyles(props) { |
| 626 | var _props$style; |
| 627 | const border = ((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.border) || {}; |
| 628 | const className = getBorderClassName(props); |
| 629 | return { |
| 630 | className, |
| 631 | style: getInlineStyles({ |
| 632 | border |
| 633 | }) |
| 634 | }; |
| 635 | } |
| 636 | |
| 637 | /** |
| 638 | * Provides the CSS class names and inline styles for a block's spacing support |
| 639 | * attributes. |
| 640 | */ |
| 641 | function getSpacingClassesAndStyles(props) { |
| 642 | var _props$style2; |
| 643 | const spacingStyles = ((_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.spacing) || {}; |
| 644 | const styleProp = getInlineStyles({ |
| 645 | spacing: spacingStyles |
| 646 | }); |
| 647 | return { |
| 648 | className: undefined, |
| 649 | style: styleProp |
| 650 | }; |
| 651 | } |
| 652 | |
| 653 | /***/ }), |
| 654 | |
| 655 | /***/ "./assets/js/types/type-guards/null.ts": |
| 656 | /*!*********************************************!*\ |
| 657 | !*** ./assets/js/types/type-guards/null.ts ***! |
| 658 | \*********************************************/ |
| 659 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 660 | |
| 661 | "use strict"; |
| 662 | __webpack_require__.r(__webpack_exports__); |
| 663 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 664 | /* harmony export */ isNull: () => (/* binding */ isNull) |
| 665 | /* harmony export */ }); |
| 666 | const isNull = term => { |
| 667 | return term === null; |
| 668 | }; |
| 669 | |
| 670 | /***/ }), |
| 671 | |
| 672 | /***/ "./assets/js/types/type-guards/object.ts": |
| 673 | /*!***********************************************!*\ |
| 674 | !*** ./assets/js/types/type-guards/object.ts ***! |
| 675 | \***********************************************/ |
| 676 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 677 | |
| 678 | "use strict"; |
| 679 | __webpack_require__.r(__webpack_exports__); |
| 680 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 681 | /* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject), |
| 682 | /* harmony export */ isObject: () => (/* binding */ isObject), |
| 683 | /* harmony export */ objectHasProp: () => (/* binding */ objectHasProp) |
| 684 | /* harmony export */ }); |
| 685 | /* harmony import */ var _null__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./null */ "./assets/js/types/type-guards/null.ts"); |
| 686 | /** |
| 687 | * Internal dependencies |
| 688 | */ |
| 689 | |
| 690 | |
| 691 | const isObject = term => { |
| 692 | return !(0,_null__WEBPACK_IMPORTED_MODULE_0__.isNull)(term) && term instanceof Object && term.constructor === Object; |
| 693 | }; |
| 694 | function objectHasProp(target, property) { |
| 695 | // The `in` operator throws a `TypeError` for non-object values. |
| 696 | return isObject(target) && property in target; |
| 697 | } |
| 698 | const isEmptyObject = object => { |
| 699 | return Object.keys(object).length === 0; |
| 700 | }; |
| 701 | |
| 702 | /***/ }), |
| 703 | |
| 704 | /***/ "./assets/js/types/type-guards/string.ts": |
| 705 | /*!***********************************************!*\ |
| 706 | !*** ./assets/js/types/type-guards/string.ts ***! |
| 707 | \***********************************************/ |
| 708 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 709 | |
| 710 | "use strict"; |
| 711 | __webpack_require__.r(__webpack_exports__); |
| 712 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 713 | /* harmony export */ isString: () => (/* binding */ isString) |
| 714 | /* harmony export */ }); |
| 715 | const isString = term => { |
| 716 | return typeof term === 'string'; |
| 717 | }; |
| 718 | |
| 719 | /***/ }), |
| 720 | |
| 721 | /***/ "../../node_modules/.pnpm/dot-case@3.0.4/node_modules/dot-case/dist.es2015/index.js": |
| 722 | /*!******************************************************************************************!*\ |
| 723 | !*** ../../node_modules/.pnpm/dot-case@3.0.4/node_modules/dot-case/dist.es2015/index.js ***! |
| 724 | \******************************************************************************************/ |
| 725 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 726 | |
| 727 | "use strict"; |
| 728 | __webpack_require__.r(__webpack_exports__); |
| 729 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 730 | /* harmony export */ dotCase: () => (/* binding */ dotCase) |
| 731 | /* harmony export */ }); |
| 732 | /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs"); |
| 733 | /* harmony import */ var no_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! no-case */ "../../node_modules/.pnpm/no-case@3.0.4/node_modules/no-case/dist.es2015/index.js"); |
| 734 | |
| 735 | |
| 736 | function dotCase(input, options) { |
| 737 | if (options === void 0) { options = {}; } |
| 738 | return (0,no_case__WEBPACK_IMPORTED_MODULE_0__.noCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ delimiter: "." }, options)); |
| 739 | } |
| 740 | //# sourceMappingURL=index.js.map |
| 741 | |
| 742 | /***/ }), |
| 743 | |
| 744 | /***/ "./assets/js/atomic/blocks/product-elements/image/style.scss": |
| 745 | /*!*******************************************************************!*\ |
| 746 | !*** ./assets/js/atomic/blocks/product-elements/image/style.scss ***! |
| 747 | \*******************************************************************/ |
| 748 | /***/ (() => { |
| 749 | |
| 750 | |
| 751 | |
| 752 | /***/ }), |
| 753 | |
| 754 | /***/ "./assets/js/atomic/blocks/product-elements/sale-badge/style.scss": |
| 755 | /*!************************************************************************!*\ |
| 756 | !*** ./assets/js/atomic/blocks/product-elements/sale-badge/style.scss ***! |
| 757 | \************************************************************************/ |
| 758 | /***/ (() => { |
| 759 | |
| 760 | |
| 761 | |
| 762 | /***/ }), |
| 763 | |
| 764 | /***/ "../../node_modules/.pnpm/lower-case@2.0.2/node_modules/lower-case/dist.es2015/index.js": |
| 765 | /*!**********************************************************************************************!*\ |
| 766 | !*** ../../node_modules/.pnpm/lower-case@2.0.2/node_modules/lower-case/dist.es2015/index.js ***! |
| 767 | \**********************************************************************************************/ |
| 768 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 769 | |
| 770 | "use strict"; |
| 771 | __webpack_require__.r(__webpack_exports__); |
| 772 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 773 | /* harmony export */ localeLowerCase: () => (/* binding */ localeLowerCase), |
| 774 | /* harmony export */ lowerCase: () => (/* binding */ lowerCase) |
| 775 | /* harmony export */ }); |
| 776 | /** |
| 777 | * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt |
| 778 | */ |
| 779 | var SUPPORTED_LOCALE = { |
| 780 | tr: { |
| 781 | regexp: /\u0130|\u0049|\u0049\u0307/g, |
| 782 | map: { |
| 783 | İ: "\u0069", |
| 784 | I: "\u0131", |
| 785 | İ: "\u0069", |
| 786 | }, |
| 787 | }, |
| 788 | az: { |
| 789 | regexp: /\u0130/g, |
| 790 | map: { |
| 791 | İ: "\u0069", |
| 792 | I: "\u0131", |
| 793 | İ: "\u0069", |
| 794 | }, |
| 795 | }, |
| 796 | lt: { |
| 797 | regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, |
| 798 | map: { |
| 799 | I: "\u0069\u0307", |
| 800 | J: "\u006A\u0307", |
| 801 | Į: "\u012F\u0307", |
| 802 | Ì: "\u0069\u0307\u0300", |
| 803 | Í: "\u0069\u0307\u0301", |
| 804 | Ĩ: "\u0069\u0307\u0303", |
| 805 | }, |
| 806 | }, |
| 807 | }; |
| 808 | /** |
| 809 | * Localized lower case. |
| 810 | */ |
| 811 | function localeLowerCase(str, locale) { |
| 812 | var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; |
| 813 | if (lang) |
| 814 | return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); |
| 815 | return lowerCase(str); |
| 816 | } |
| 817 | /** |
| 818 | * Lower case as a function. |
| 819 | */ |
| 820 | function lowerCase(str) { |
| 821 | return str.toLowerCase(); |
| 822 | } |
| 823 | //# sourceMappingURL=index.js.map |
| 824 | |
| 825 | /***/ }), |
| 826 | |
| 827 | /***/ "../../node_modules/.pnpm/no-case@3.0.4/node_modules/no-case/dist.es2015/index.js": |
| 828 | /*!****************************************************************************************!*\ |
| 829 | !*** ../../node_modules/.pnpm/no-case@3.0.4/node_modules/no-case/dist.es2015/index.js ***! |
| 830 | \****************************************************************************************/ |
| 831 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 832 | |
| 833 | "use strict"; |
| 834 | __webpack_require__.r(__webpack_exports__); |
| 835 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 836 | /* harmony export */ noCase: () => (/* binding */ noCase) |
| 837 | /* harmony export */ }); |
| 838 | /* harmony import */ var lower_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lower-case */ "../../node_modules/.pnpm/lower-case@2.0.2/node_modules/lower-case/dist.es2015/index.js"); |
| 839 | |
| 840 | // Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). |
| 841 | var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; |
| 842 | // Remove all non-word characters. |
| 843 | var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; |
| 844 | /** |
| 845 | * Normalize the string into something other libraries can manipulate easier. |
| 846 | */ |
| 847 | function noCase(input, options) { |
| 848 | if (options === void 0) { options = {}; } |
| 849 | var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lower_case__WEBPACK_IMPORTED_MODULE_0__.lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; |
| 850 | var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); |
| 851 | var start = 0; |
| 852 | var end = result.length; |
| 853 | // Trim the delimiter from around the output string. |
| 854 | while (result.charAt(start) === "\0") |
| 855 | start++; |
| 856 | while (result.charAt(end - 1) === "\0") |
| 857 | end--; |
| 858 | // Transform each token independently. |
| 859 | return result.slice(start, end).split("\0").map(transform).join(delimiter); |
| 860 | } |
| 861 | /** |
| 862 | * Replace `re` in the input string with the replacement value. |
| 863 | */ |
| 864 | function replace(input, re, value) { |
| 865 | if (re instanceof RegExp) |
| 866 | return input.replace(re, value); |
| 867 | return re.reduce(function (input, re) { return input.replace(re, value); }, input); |
| 868 | } |
| 869 | //# sourceMappingURL=index.js.map |
| 870 | |
| 871 | /***/ }), |
| 872 | |
| 873 | /***/ "../../node_modules/.pnpm/param-case@3.0.4/node_modules/param-case/dist.es2015/index.js": |
| 874 | /*!**********************************************************************************************!*\ |
| 875 | !*** ../../node_modules/.pnpm/param-case@3.0.4/node_modules/param-case/dist.es2015/index.js ***! |
| 876 | \**********************************************************************************************/ |
| 877 | /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { |
| 878 | |
| 879 | "use strict"; |
| 880 | __webpack_require__.r(__webpack_exports__); |
| 881 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 882 | /* harmony export */ paramCase: () => (/* binding */ paramCase) |
| 883 | /* harmony export */ }); |
| 884 | /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs"); |
| 885 | /* harmony import */ var dot_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dot-case */ "../../node_modules/.pnpm/dot-case@3.0.4/node_modules/dot-case/dist.es2015/index.js"); |
| 886 | |
| 887 | |
| 888 | function paramCase(input, options) { |
| 889 | if (options === void 0) { options = {}; } |
| 890 | return (0,dot_case__WEBPACK_IMPORTED_MODULE_0__.dotCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ delimiter: "-" }, options)); |
| 891 | } |
| 892 | //# sourceMappingURL=index.js.map |
| 893 | |
| 894 | /***/ }), |
| 895 | |
| 896 | /***/ "../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs": |
| 897 | /*!*****************************************************************************!*\ |
| 898 | !*** ../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs ***! |
| 899 | \*****************************************************************************/ |
| 900 | /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { |
| 901 | |
| 902 | "use strict"; |
| 903 | __webpack_require__.r(__webpack_exports__); |
| 904 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 905 | /* harmony export */ __addDisposableResource: () => (/* binding */ __addDisposableResource), |
| 906 | /* harmony export */ __assign: () => (/* binding */ __assign), |
| 907 | /* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator), |
| 908 | /* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator), |
| 909 | /* harmony export */ __asyncValues: () => (/* binding */ __asyncValues), |
| 910 | /* harmony export */ __await: () => (/* binding */ __await), |
| 911 | /* harmony export */ __awaiter: () => (/* binding */ __awaiter), |
| 912 | /* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet), |
| 913 | /* harmony export */ __classPrivateFieldIn: () => (/* binding */ __classPrivateFieldIn), |
| 914 | /* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet), |
| 915 | /* harmony export */ __createBinding: () => (/* binding */ __createBinding), |
| 916 | /* harmony export */ __decorate: () => (/* binding */ __decorate), |
| 917 | /* harmony export */ __disposeResources: () => (/* binding */ __disposeResources), |
| 918 | /* harmony export */ __esDecorate: () => (/* binding */ __esDecorate), |
| 919 | /* harmony export */ __exportStar: () => (/* binding */ __exportStar), |
| 920 | /* harmony export */ __extends: () => (/* binding */ __extends), |
| 921 | /* harmony export */ __generator: () => (/* binding */ __generator), |
| 922 | /* harmony export */ __importDefault: () => (/* binding */ __importDefault), |
| 923 | /* harmony export */ __importStar: () => (/* binding */ __importStar), |
| 924 | /* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject), |
| 925 | /* harmony export */ __metadata: () => (/* binding */ __metadata), |
| 926 | /* harmony export */ __param: () => (/* binding */ __param), |
| 927 | /* harmony export */ __propKey: () => (/* binding */ __propKey), |
| 928 | /* harmony export */ __read: () => (/* binding */ __read), |
| 929 | /* harmony export */ __rest: () => (/* binding */ __rest), |
| 930 | /* harmony export */ __runInitializers: () => (/* binding */ __runInitializers), |
| 931 | /* harmony export */ __setFunctionName: () => (/* binding */ __setFunctionName), |
| 932 | /* harmony export */ __spread: () => (/* binding */ __spread), |
| 933 | /* harmony export */ __spreadArray: () => (/* binding */ __spreadArray), |
| 934 | /* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays), |
| 935 | /* harmony export */ __values: () => (/* binding */ __values), |
| 936 | /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) |
| 937 | /* harmony export */ }); |
| 938 | /****************************************************************************** |
| 939 | Copyright (c) Microsoft Corporation. |
| 940 | |
| 941 | Permission to use, copy, modify, and/or distribute this software for any |
| 942 | purpose with or without fee is hereby granted. |
| 943 | |
| 944 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH |
| 945 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
| 946 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, |
| 947 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM |
| 948 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR |
| 949 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| 950 | PERFORMANCE OF THIS SOFTWARE. |
| 951 | ***************************************************************************** */ |
| 952 | /* global Reflect, Promise, SuppressedError, Symbol */ |
| 953 | |
| 954 | var extendStatics = function(d, b) { |
| 955 | extendStatics = Object.setPrototypeOf || |
| 956 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || |
| 957 | function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; |
| 958 | return extendStatics(d, b); |
| 959 | }; |
| 960 | |
| 961 | function __extends(d, b) { |
| 962 | if (typeof b !== "function" && b !== null) |
| 963 | throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); |
| 964 | extendStatics(d, b); |
| 965 | function __() { this.constructor = d; } |
| 966 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); |
| 967 | } |
| 968 | |
| 969 | var __assign = function() { |
| 970 | __assign = Object.assign || function __assign(t) { |
| 971 | for (var s, i = 1, n = arguments.length; i < n; i++) { |
| 972 | s = arguments[i]; |
| 973 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; |
| 974 | } |
| 975 | return t; |
| 976 | } |
| 977 | return __assign.apply(this, arguments); |
| 978 | } |
| 979 | |
| 980 | function __rest(s, e) { |
| 981 | var t = {}; |
| 982 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) |
| 983 | t[p] = s[p]; |
| 984 | if (s != null && typeof Object.getOwnPropertySymbols === "function") |
| 985 | for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { |
| 986 | if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) |
| 987 | t[p[i]] = s[p[i]]; |
| 988 | } |
| 989 | return t; |
| 990 | } |
| 991 | |
| 992 | function __decorate(decorators, target, key, desc) { |
| 993 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; |
| 994 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); |
| 995 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; |
| 996 | return c > 3 && r && Object.defineProperty(target, key, r), r; |
| 997 | } |
| 998 | |
| 999 | function __param(paramIndex, decorator) { |
| 1000 | return function (target, key) { decorator(target, key, paramIndex); } |
| 1001 | } |
| 1002 | |
| 1003 | function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { |
| 1004 | function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } |
| 1005 | var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; |
| 1006 | var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; |
| 1007 | var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); |
| 1008 | var _, done = false; |
| 1009 | for (var i = decorators.length - 1; i >= 0; i--) { |
| 1010 | var context = {}; |
| 1011 | for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; |
| 1012 | for (var p in contextIn.access) context.access[p] = contextIn.access[p]; |
| 1013 | context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; |
| 1014 | var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); |
| 1015 | if (kind === "accessor") { |
| 1016 | if (result === void 0) continue; |
| 1017 | if (result === null || typeof result !== "object") throw new TypeError("Object expected"); |
| 1018 | if (_ = accept(result.get)) descriptor.get = _; |
| 1019 | if (_ = accept(result.set)) descriptor.set = _; |
| 1020 | if (_ = accept(result.init)) initializers.unshift(_); |
| 1021 | } |
| 1022 | else if (_ = accept(result)) { |
| 1023 | if (kind === "field") initializers.unshift(_); |
| 1024 | else descriptor[key] = _; |
| 1025 | } |
| 1026 | } |
| 1027 | if (target) Object.defineProperty(target, contextIn.name, descriptor); |
| 1028 | done = true; |
| 1029 | }; |
| 1030 | |
| 1031 | function __runInitializers(thisArg, initializers, value) { |
| 1032 | var useValue = arguments.length > 2; |
| 1033 | for (var i = 0; i < initializers.length; i++) { |
| 1034 | value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); |
| 1035 | } |
| 1036 | return useValue ? value : void 0; |
| 1037 | }; |
| 1038 | |
| 1039 | function __propKey(x) { |
| 1040 | return typeof x === "symbol" ? x : "".concat(x); |
| 1041 | }; |
| 1042 | |
| 1043 | function __setFunctionName(f, name, prefix) { |
| 1044 | if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; |
| 1045 | return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); |
| 1046 | }; |
| 1047 | |
| 1048 | function __metadata(metadataKey, metadataValue) { |
| 1049 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); |
| 1050 | } |
| 1051 | |
| 1052 | function __awaiter(thisArg, _arguments, P, generator) { |
| 1053 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
| 1054 | return new (P || (P = Promise))(function (resolve, reject) { |
| 1055 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } |
| 1056 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } |
| 1057 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } |
| 1058 | step((generator = generator.apply(thisArg, _arguments || [])).next()); |
| 1059 | }); |
| 1060 | } |
| 1061 | |
| 1062 | function __generator(thisArg, body) { |
| 1063 | var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; |
| 1064 | return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; |
| 1065 | function verb(n) { return function (v) { return step([n, v]); }; } |
| 1066 | function step(op) { |
| 1067 | if (f) throw new TypeError("Generator is already executing."); |
| 1068 | while (g && (g = 0, op[0] && (_ = 0)), _) try { |
| 1069 | if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; |
| 1070 | if (y = 0, t) op = [op[0] & 2, t.value]; |
| 1071 | switch (op[0]) { |
| 1072 | case 0: case 1: t = op; break; |
| 1073 | case 4: _.label++; return { value: op[1], done: false }; |
| 1074 | case 5: _.label++; y = op[1]; op = [0]; continue; |
| 1075 | case 7: op = _.ops.pop(); _.trys.pop(); continue; |
| 1076 | default: |
| 1077 | if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } |
| 1078 | if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } |
| 1079 | if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } |
| 1080 | if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } |
| 1081 | if (t[2]) _.ops.pop(); |
| 1082 | _.trys.pop(); continue; |
| 1083 | } |
| 1084 | op = body.call(thisArg, _); |
| 1085 | } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } |
| 1086 | if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; |
| 1087 | } |
| 1088 | } |
| 1089 | |
| 1090 | var __createBinding = Object.create ? (function(o, m, k, k2) { |
| 1091 | if (k2 === undefined) k2 = k; |
| 1092 | var desc = Object.getOwnPropertyDescriptor(m, k); |
| 1093 | if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { |
| 1094 | desc = { enumerable: true, get: function() { return m[k]; } }; |
| 1095 | } |
| 1096 | Object.defineProperty(o, k2, desc); |
| 1097 | }) : (function(o, m, k, k2) { |
| 1098 | if (k2 === undefined) k2 = k; |
| 1099 | o[k2] = m[k]; |
| 1100 | }); |
| 1101 | |
| 1102 | function __exportStar(m, o) { |
| 1103 | for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); |
| 1104 | } |
| 1105 | |
| 1106 | function __values(o) { |
| 1107 | var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; |
| 1108 | if (m) return m.call(o); |
| 1109 | if (o && typeof o.length === "number") return { |
| 1110 | next: function () { |
| 1111 | if (o && i >= o.length) o = void 0; |
| 1112 | return { value: o && o[i++], done: !o }; |
| 1113 | } |
| 1114 | }; |
| 1115 | throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); |
| 1116 | } |
| 1117 | |
| 1118 | function __read(o, n) { |
| 1119 | var m = typeof Symbol === "function" && o[Symbol.iterator]; |
| 1120 | if (!m) return o; |
| 1121 | var i = m.call(o), r, ar = [], e; |
| 1122 | try { |
| 1123 | while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); |
| 1124 | } |
| 1125 | catch (error) { e = { error: error }; } |
| 1126 | finally { |
| 1127 | try { |
| 1128 | if (r && !r.done && (m = i["return"])) m.call(i); |
| 1129 | } |
| 1130 | finally { if (e) throw e.error; } |
| 1131 | } |
| 1132 | return ar; |
| 1133 | } |
| 1134 | |
| 1135 | /** @deprecated */ |
| 1136 | function __spread() { |
| 1137 | for (var ar = [], i = 0; i < arguments.length; i++) |
| 1138 | ar = ar.concat(__read(arguments[i])); |
| 1139 | return ar; |
| 1140 | } |
| 1141 | |
| 1142 | /** @deprecated */ |
| 1143 | function __spreadArrays() { |
| 1144 | for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; |
| 1145 | for (var r = Array(s), k = 0, i = 0; i < il; i++) |
| 1146 | for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) |
| 1147 | r[k] = a[j]; |
| 1148 | return r; |
| 1149 | } |
| 1150 | |
| 1151 | function __spreadArray(to, from, pack) { |
| 1152 | if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { |
| 1153 | if (ar || !(i in from)) { |
| 1154 | if (!ar) ar = Array.prototype.slice.call(from, 0, i); |
| 1155 | ar[i] = from[i]; |
| 1156 | } |
| 1157 | } |
| 1158 | return to.concat(ar || Array.prototype.slice.call(from)); |
| 1159 | } |
| 1160 | |
| 1161 | function __await(v) { |
| 1162 | return this instanceof __await ? (this.v = v, this) : new __await(v); |
| 1163 | } |
| 1164 | |
| 1165 | function __asyncGenerator(thisArg, _arguments, generator) { |
| 1166 | if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); |
| 1167 | var g = generator.apply(thisArg, _arguments || []), i, q = []; |
| 1168 | return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; |
| 1169 | function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } |
| 1170 | function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } |
| 1171 | function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } |
| 1172 | function fulfill(value) { resume("next", value); } |
| 1173 | function reject(value) { resume("throw", value); } |
| 1174 | function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } |
| 1175 | } |
| 1176 | |
| 1177 | function __asyncDelegator(o) { |
| 1178 | var i, p; |
| 1179 | return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; |
| 1180 | function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } |
| 1181 | } |
| 1182 | |
| 1183 | function __asyncValues(o) { |
| 1184 | if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); |
| 1185 | var m = o[Symbol.asyncIterator], i; |
| 1186 | return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); |
| 1187 | function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } |
| 1188 | function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } |
| 1189 | } |
| 1190 | |
| 1191 | function __makeTemplateObject(cooked, raw) { |
| 1192 | if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } |
| 1193 | return cooked; |
| 1194 | }; |
| 1195 | |
| 1196 | var __setModuleDefault = Object.create ? (function(o, v) { |
| 1197 | Object.defineProperty(o, "default", { enumerable: true, value: v }); |
| 1198 | }) : function(o, v) { |
| 1199 | o["default"] = v; |
| 1200 | }; |
| 1201 | |
| 1202 | function __importStar(mod) { |
| 1203 | if (mod && mod.__esModule) return mod; |
| 1204 | var result = {}; |
| 1205 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); |
| 1206 | __setModuleDefault(result, mod); |
| 1207 | return result; |
| 1208 | } |
| 1209 | |
| 1210 | function __importDefault(mod) { |
| 1211 | return (mod && mod.__esModule) ? mod : { default: mod }; |
| 1212 | } |
| 1213 | |
| 1214 | function __classPrivateFieldGet(receiver, state, kind, f) { |
| 1215 | if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); |
| 1216 | if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); |
| 1217 | return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); |
| 1218 | } |
| 1219 | |
| 1220 | function __classPrivateFieldSet(receiver, state, value, kind, f) { |
| 1221 | if (kind === "m") throw new TypeError("Private method is not writable"); |
| 1222 | if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); |
| 1223 | if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); |
| 1224 | return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; |
| 1225 | } |
| 1226 | |
| 1227 | function __classPrivateFieldIn(state, receiver) { |
| 1228 | if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); |
| 1229 | return typeof state === "function" ? receiver === state : state.has(receiver); |
| 1230 | } |
| 1231 | |
| 1232 | function __addDisposableResource(env, value, async) { |
| 1233 | if (value !== null && value !== void 0) { |
| 1234 | if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); |
| 1235 | var dispose; |
| 1236 | if (async) { |
| 1237 | if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); |
| 1238 | dispose = value[Symbol.asyncDispose]; |
| 1239 | } |
| 1240 | if (dispose === void 0) { |
| 1241 | if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); |
| 1242 | dispose = value[Symbol.dispose]; |
| 1243 | } |
| 1244 | if (typeof dispose !== "function") throw new TypeError("Object not disposable."); |
| 1245 | env.stack.push({ value: value, dispose: dispose, async: async }); |
| 1246 | } |
| 1247 | else if (async) { |
| 1248 | env.stack.push({ async: true }); |
| 1249 | } |
| 1250 | return value; |
| 1251 | } |
| 1252 | |
| 1253 | var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { |
| 1254 | var e = new Error(message); |
| 1255 | return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; |
| 1256 | }; |
| 1257 | |
| 1258 | function __disposeResources(env) { |
| 1259 | function fail(e) { |
| 1260 | env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; |
| 1261 | env.hasError = true; |
| 1262 | } |
| 1263 | function next() { |
| 1264 | while (env.stack.length) { |
| 1265 | var rec = env.stack.pop(); |
| 1266 | try { |
| 1267 | var result = rec.dispose && rec.dispose.call(rec.value); |
| 1268 | if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); |
| 1269 | } |
| 1270 | catch (e) { |
| 1271 | fail(e); |
| 1272 | } |
| 1273 | } |
| 1274 | if (env.hasError) throw env.error; |
| 1275 | } |
| 1276 | return next(); |
| 1277 | } |
| 1278 | |
| 1279 | /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ |
| 1280 | __extends, |
| 1281 | __assign, |
| 1282 | __rest, |
| 1283 | __decorate, |
| 1284 | __param, |
| 1285 | __metadata, |
| 1286 | __awaiter, |
| 1287 | __generator, |
| 1288 | __createBinding, |
| 1289 | __exportStar, |
| 1290 | __values, |
| 1291 | __read, |
| 1292 | __spread, |
| 1293 | __spreadArrays, |
| 1294 | __spreadArray, |
| 1295 | __await, |
| 1296 | __asyncGenerator, |
| 1297 | __asyncDelegator, |
| 1298 | __asyncValues, |
| 1299 | __makeTemplateObject, |
| 1300 | __importStar, |
| 1301 | __importDefault, |
| 1302 | __classPrivateFieldGet, |
| 1303 | __classPrivateFieldSet, |
| 1304 | __classPrivateFieldIn, |
| 1305 | __addDisposableResource, |
| 1306 | __disposeResources, |
| 1307 | }); |
| 1308 | |
| 1309 | |
| 1310 | /***/ }) |
| 1311 | |
| 1312 | }]); |
| 1313 | //# sourceMappingURL=product-image-frontend.js.map?ver=3243eb2d5c4934bd2891 |