PluginProbe ʕ •ᴥ•ʔ
WooCommerce / 8.5.0-beta.1
WooCommerce v8.5.0-beta.1
10.9.1 10.9.0 10.9.0-rc.1 10.9.0-beta.2 10.9.0-beta.1 10.8.1 10.8.0 10.8.0-rc.1 10.8.0-beta.2 10.8.0-beta.1 7.8.0-beta.1 7.8.0-beta.2 7.8.0-rc.1 7.8.0-rc.2 7.8.1 7.8.2 7.8.3 7.8.4 7.9.0 7.9.0-beta.1 7.9.0-beta.2 7.9.0-rc.2 7.9.0-rc.3 7.9.1 7.9.2 8.0.0 8.0.0-beta.1 8.0.0-beta.2 8.0.0-rc.1 8.0.0-rc.2 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.1.0 8.1.0-beta.1 8.1.0-rc.1 8.1.0-rc.2 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 8.2.0-beta.1 8.2.0-rc.1 8.2.0-rc.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.3.0 8.3.0-beta.1 8.3.0-rc.1 8.3.0-rc.2 8.3.1 8.3.2 8.3.3 8.3.4 8.4.0 8.4.0-beta.1 8.4.0-rc.1 8.4.1 8.4.2 8.4.3 8.5.0 8.5.0-beta.1 8.5.0-rc.1 8.5.1 8.5.2 8.5.3 8.5.4 8.5.5 8.6.0 8.6.0-beta.1 8.6.0-rc.1 8.6.1 8.6.2 8.6.3 8.6.4 8.7.0 8.7.0-beta.1 8.7.0-beta.2 8.7.0-rc.1 8.7.1 8.7.2 8.7.3 8.8.0 8.8.0-beta.1 8.8.0-rc.1 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.8.6 8.8.7 8.9.0 8.9.0-beta.1 8.9.0-rc.1 8.9.1 8.9.2 8.9.3 8.9.4 8.9.5 9.0.0 9.0.0-beta.1 9.0.0-beta.2 9.0.0-rc.1 9.0.1 9.0.2 9.0.3 9.0.4 9.1.0 9.1.0-beta.1 9.1.0-rc.1 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 9.2.0 9.2.0-beta.1 9.2.0-rc.1 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.3.0 9.3.0-beta.1 9.3.0-rc.1 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.3.6 9.4.0 9.4.0-beta.1 9.4.0-beta.2 9.4.0-rc.1 9.4.0-rc.2 9.4.0-rc.3 9.4.0-rc.4 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.5.0 9.5.0-beta.1 9.5.0-beta.2 9.5.0-rc.1 9.5.1 9.5.2 9.5.3 9.5.4 9.6.0 9.6.0-beta.1 9.6.0-beta.2 9.6.0-rc.1 9.6.1 9.6.2 9.6.3 9.6.4 9.7.0 9.7.0-beta.1 9.7.0-rc.1 9.7.1 9.7.2 9.7.3 9.8.0 9.8.0-beta.1 9.8.0-rc.1 9.8.1 9.8.2 9.8.3 9.8.4 9.8.5 9.8.6 9.8.7 9.9.0 9.9.0-beta.1 9.9.0-rc.1 9.9.1 9.9.2 9.9.3 9.9.4 9.9.5 9.9.6 9.9.7 3.7.3 7.1.2 3.8.0 7.2.0 3.8.0-beta.1 7.2.0-beta.1 3.8.0-rc.1 7.2.0-beta.2 3.8.0-rc.2 7.2.0-rc.1 3.8.1 7.2.0-rc.2 3.8.2 7.2.1 3.8.3 7.2.2 3.9.0 7.2.3 3.9.0-beta.1 7.2.4 3.9.0-beta.2 7.3.0 3.9.0-rc.1 7.3.0-beta.1 3.9.0-rc.2 7.3.0-beta.2 3.9.0-rc.3 7.3.0-rc.1 3.9.0-rc.4 7.3.0-rc.2 3.9.1 7.3.1 3.9.2 7.4.0 3.9.3 7.4.0-beta.1 3.9.4 7.4.0-beta.2 3.9.5 7.4.0-rc.1 4.0.0 7.4.0-rc.2 4.0.0-beta.1 7.4.1 4.0.0-rc.1 7.4.2 4.0.0-rc.2 7.5.0 4.0.1 7.5.0-beta.1 4.0.2 7.5.0-beta.2 4.0.3 7.5.0-rc.1 4.0.4 7.5.1 4.1.0 7.5.2 4.1.0-beta.1 7.6.0 4.1.0-beta.2 7.6.0-beta.1 4.1.0-rc.1 7.6.0-beta.2 4.1.0-rc.2 7.6.0-rc.1 4.1.1 7.6.0-rc.2 4.1.2 7.6.0-rc.3 4.1.3 7.6.1 4.1.4 7.6.2 4.2.0 7.7.0 4.2.0-RC.1 7.7.0-beta.1 4.2.0-RC.2 7.7.0-beta.2 4.2.0-beta.1 7.7.0-rc.1 4.2.1 7.7.1 4.2.2 7.7.2 4.2.3 7.7.3 4.2.4 7.8.0 4.2.5 4.3.0 4.3.0-beta.1 4.3.0-rc.1 4.3.0-rc.2 4.3.0-rc.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.4.0 4.4.0-beta.1 4.4.0-rc.1 4.4.1 4.4.2 4.4.3 4.4.4 4.5.0 4.5.0-beta.1 4.5.0-rc.1 4.5.0-rc.3 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.0-beta.1 4.6.0-rc.1 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.7.0 4.7.0-beta.1 4.7.0-beta.2 4.7.0-rc.1 4.7.1 4.7.1-beta.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.0-beta.1 4.8.0-rc.1 4.8.0-rc.2 4.8.1 4.8.2 4.8.3 4.9.0 4.9.0-beta.1 4.9.0-rc.1 4.9.0-rc.2 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 5.0.0 5.0.0-beta.1 5.0.0-beta.2 5.0.0-rc.1 5.0.0-rc.2 5.0.0-rc.3 5.0.1 5.0.2 5.0.3 5.1.0 5.1.0-beta.1 5.1.0-rc.1 trunk 5.1.1 10.0.0 5.1.2 10.0.0-rc.1 5.1.3 10.0.0-rc.2 5.2.0 10.0.1 5.2.0-beta.1 10.0.2 5.2.0-rc.1 10.0.3 5.2.0-rc.2 10.0.4 5.2.1 10.0.5 5.2.2 10.0.6 5.2.3 10.1.0 5.2.4 10.1.0-rc.1 5.2.5 10.1.0-rc.2 5.3.0 10.1.0-rc.3 5.3.0-beta.1 10.1.0-rc.4 5.3.0-rc.1 10.1.1 5.3.0-rc.2 10.1.2 5.3.1 10.1.3 5.3.2 10.1.4 5.3.3 10.2.0 5.4.0 10.2.0-beta.1 5.4.0-beta.1 10.2.0-beta.2 5.4.0-rc.1 10.2.0-rc.1 5.4.1 10.2.1 5.4.2 10.2.2 5.4.3 10.2.3 5.4.4 10.2.4 5.4.5 10.3.0 5.5.0 10.3.0-beta.1 5.5.0-beta.1 10.3.0-beta.2 5.5.0-rc.1 10.3.0-rc.1 5.5.0-rc.2 10.3.0-rc.2 5.5.1 10.3.1 5.5.2 10.3.2 5.5.3 10.3.3 5.5.4 10.3.4 5.5.5 10.3.5 5.6.0 10.3.6 5.6.0-beta.1 10.3.7 5.6.0-rc.1 10.3.8 5.6.0-rc.2 10.4.0 5.6.1 10.4.0-beta.1 5.6.2 10.4.0-beta.2 5.6.3 10.4.0-rc.1 5.7.0 10.4.1 5.7.0-beta.1 10.4.2 5.7.0-rc.1 10.4.3 5.7.1 10.4.4 5.7.2 10.5.0 5.7.3 10.5.0-beta.1 5.8.0 10.5.0-beta.2 5.8.0-beta.1 10.5.0-rc.1 5.8.0-beta.2 10.5.0-rc.2 5.8.0-rc.1 10.5.0-rc.3 5.8.1 10.5.1 5.8.2 10.5.2 5.9.0 10.5.3 5.9.0-beta.1 10.6.0 5.9.0-rc.1 10.6.0-beta.1 5.9.0-rc.2 10.6.0-beta.2 5.9.1 10.6.0-rc.1 5.9.2 10.6.1 6.0.0 10.6.2 6.0.0-beta.1 10.7.0 6.0.0-rc.1 10.7.0-beta.1 6.0.1 10.7.0-beta.2 6.0.2 10.7.0-rc.1 6.1.0 3.0.0 6.1.0-beta.1 3.0.1 6.1.0-rc.1 3.0.2 6.1.0-rc.2 3.0.3 6.1.1 3.0.4 6.1.2 3.0.5 6.1.3 3.0.6 6.2.0 3.0.7 6.2.0-beta.1 3.0.8 6.2.0-rc.1 3.0.9 6.2.0-rc.2 3.1.0 6.2.1 3.1.1 6.2.2 3.1.2 6.2.3 3.2.0 6.3.0 3.2.1 6.3.0-beta.1 3.2.2 6.3.0-rc.1 3.2.3 6.3.0-rc.2 3.2.4 6.3.1 3.2.5 6.3.2 3.2.6 6.4.0 3.3.0 6.4.0-beta.1 3.3.1 6.4.0-rc.1 3.3.2 6.4.1 3.3.2-rc.1 6.4.2 3.3.3 6.5.0 3.3.4 6.5.0-beta.1 3.3.5 6.5.0-rc.1 3.3.6 6.5.0-rc.2 3.4.0 6.5.1 3.4.0-beta.1 6.5.2 3.4.0-rc.2 6.6.0 3.4.1 6.6.0-beta.1 3.4.2 6.6.0-rc.1 3.4.3 6.6.0-rc.2 3.4.4 6.6.1 3.4.5 6.6.2 3.4.6 6.7.0 3.4.7 6.7.0-beta.1 3.4.8 6.7.0-beta.2 3.5.0 6.7.0-rc.1 3.5.0-beta.1 6.7.1 3.5.0-rc.1 6.8.0 3.5.0-rc.2 6.8.0-beta.1 3.5.1 6.8.0-beta.2 3.5.10 6.8.0-rc.1 3.5.2 6.8.1 3.5.3 6.8.2 3.5.4 6.8.3 3.5.5 6.9.0 3.5.6 6.9.0-beta.1 3.5.7 6.9.0-beta.2 3.5.8 6.9.0-rc.1 3.5.9 6.9.1 3.6.0 6.9.2 3.6.0-beta.1 6.9.3 3.6.0-rc.1 6.9.4 3.6.0-rc.2 6.9.5 3.6.0-rc.3 7.0.0 3.6.1 7.0.0-beta.1 3.6.2 7.0.0-beta.2 3.6.3 7.0.0-beta.3 3.6.4 7.0.0-rc.1 3.6.5 7.0.0-rc.2 3.6.6 7.0.1 3.6.7 7.0.2 3.7.0 7.1.0 3.7.0-beta.1 7.1.0-beta.1 3.7.0-rc.1 7.1.0-beta.2 3.7.0-rc.2 7.1.0-rc.1 3.7.1 7.1.0-rc.2 3.7.2 7.1.1
woocommerce / assets / client / blocks / product-gallery.js
woocommerce / assets / client / blocks Last commit date
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-gallery.js
2850 lines
1 /******/ (() => { // webpackBootstrap
2 /******/ var __webpack_modules__ = ({
3
4 /***/ "./assets/js/blocks/product-gallery/block-settings/index.tsx":
5 /*!*******************************************************************!*\
6 !*** ./assets/js/blocks/product-gallery/block-settings/index.tsx ***!
7 \*******************************************************************/
8 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
10 "use strict";
11 __webpack_require__.r(__webpack_exports__);
12 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 /* harmony export */ ProductGalleryBlockSettings: () => (/* binding */ ProductGalleryBlockSettings)
14 /* harmony export */ });
15 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
16 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
17 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
18 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
19 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
20 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
21 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
22 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
23 /* harmony import */ var _inner_blocks_product_gallery_thumbnails_block_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../inner-blocks/product-gallery-thumbnails/block-settings */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block-settings/index.tsx");
24 /* harmony import */ var _inner_blocks_product_gallery_pager_settings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../inner-blocks/product-gallery-pager/settings */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/settings.tsx");
25 /* harmony import */ var _inner_blocks_product_gallery_large_image_next_previous_settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../inner-blocks/product-gallery-large-image-next-previous/settings */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/settings.tsx");
26
27 /**
28 * External dependencies
29 */
30
31
32
33
34 /**
35 * Internal dependencies
36 */
37
38
39
40
41 const ProductGalleryBlockSettings = ({
42 attributes,
43 setAttributes,
44 context
45 }) => {
46 const {
47 cropImages,
48 hoverZoom,
49 fullScreenOnClick
50 } = attributes;
51 const {
52 productGalleryClientId,
53 pagerDisplayMode,
54 nextPreviousButtonsPosition,
55 thumbnailsNumberOfThumbnails,
56 thumbnailsPosition
57 } = context;
58 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
59 title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Gallery Navigation', 'woocommerce')
60 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_inner_blocks_product_gallery_pager_settings__WEBPACK_IMPORTED_MODULE_5__.ProductGalleryPagerBlockSettings, {
61 context: {
62 productGalleryClientId,
63 pagerDisplayMode
64 }
65 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_inner_blocks_product_gallery_large_image_next_previous_settings__WEBPACK_IMPORTED_MODULE_6__.ProductGalleryNextPreviousBlockSettings, {
66 context: {
67 productGalleryClientId,
68 nextPreviousButtonsPosition
69 }
70 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_inner_blocks_product_gallery_thumbnails_block_settings__WEBPACK_IMPORTED_MODULE_4__.ProductGalleryThumbnailsBlockSettings, {
71 context: {
72 productGalleryClientId,
73 thumbnailsNumberOfThumbnails,
74 thumbnailsPosition
75 }
76 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
77 title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Media Settings', 'woocommerce')
78 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ToggleControl, {
79 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Crop images to fit', 'woocommerce'),
80 help: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Images will be cropped to fit within a square space.', 'woocommerce'),
81 checked: cropImages,
82 onChange: () => setAttributes({
83 cropImages: !cropImages
84 }),
85 className: "wc-block-product-gallery__crop-images"
86 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ToggleControl, {
87 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Zoom while hovering', 'woocommerce'),
88 help: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('While hovering the large image will zoom in by 30%.', 'woocommerce'),
89 checked: hoverZoom,
90 onChange: () => setAttributes({
91 hoverZoom: !hoverZoom
92 })
93 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ToggleControl, {
94 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Full-screen when clicked', 'woocommerce'),
95 help: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Clicking on the large image will open a full-screen gallery experience.', 'woocommerce'),
96 checked: fullScreenOnClick,
97 onChange: () => setAttributes({
98 fullScreenOnClick: !fullScreenOnClick
99 })
100 })));
101 };
102 ProductGalleryBlockSettings.__docgenInfo = {
103 "description": "",
104 "methods": [],
105 "displayName": "ProductGalleryBlockSettings"
106 };
107 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
108 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/block-settings/index.tsx"] = {
109 name: "ProductGalleryBlockSettings",
110 docgenInfo: ProductGalleryBlockSettings.__docgenInfo,
111 path: "assets/js/blocks/product-gallery/block-settings/index.tsx"
112 };
113 }
114
115 /***/ }),
116
117 /***/ "./assets/js/blocks/product-gallery/edit.tsx":
118 /*!***************************************************!*\
119 !*** ./assets/js/blocks/product-gallery/edit.tsx ***!
120 \***************************************************/
121 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
122
123 "use strict";
124 __webpack_require__.r(__webpack_exports__);
125 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
126 /* harmony export */ Edit: () => (/* binding */ Edit),
127 /* harmony export */ Save: () => (/* binding */ Save)
128 /* harmony export */ });
129 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
130 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
131 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
132 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
133 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
134 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
135 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
136 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__);
137 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./assets/js/blocks/product-gallery/utils.tsx");
138 /* harmony import */ var _block_settings_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./block-settings/index */ "./assets/js/blocks/product-gallery/block-settings/index.tsx");
139
140 /**
141 * External dependencies
142 */
143
144
145
146
147 /**
148 * Internal dependencies
149 */
150
151
152 const TEMPLATE = [['core/group', {
153 layout: {
154 type: 'flex',
155 flexWrap: 'nowrap',
156 verticalAlignment: 'top'
157 },
158 metadata: {
159 name: 'Gallery Area'
160 }
161 }, [['woocommerce/product-gallery-thumbnails', (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getInnerBlocksLockAttributes)('lock')], ['core/group', {
162 layout: {
163 type: 'flex',
164 orientation: 'vertical',
165 justifyContent: 'center',
166 verticalAlignment: 'top'
167 },
168 style: {
169 layout: {
170 selfStretch: 'fixed',
171 flexSize: '100%'
172 }
173 },
174 metadata: {
175 name: 'Large Image and Navigation'
176 },
177 ...(0,_utils__WEBPACK_IMPORTED_MODULE_4__.getInnerBlocksLockAttributes)('lock')
178 }, [['woocommerce/product-gallery-large-image', (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getInnerBlocksLockAttributes)('lock'), [['woocommerce/product-sale-badge', {
179 align: 'right',
180 style: {
181 spacing: {
182 margin: {
183 top: '4px',
184 right: '4px',
185 bottom: '4px',
186 left: '4px'
187 }
188 }
189 },
190 lock: {
191 move: true
192 }
193 }], ['woocommerce/product-gallery-large-image-next-previous', {
194 layout: {
195 type: 'flex',
196 verticalAlignment: 'bottom'
197 },
198 lock: {
199 move: true,
200 remove: true
201 }
202 }]]], ['woocommerce/product-gallery-pager', {
203 lock: {
204 move: true,
205 remove: true
206 }
207 }]]]]]];
208 const getMode = (currentTemplateId, templateType) => {
209 if (templateType === 'wp_template_part' && currentTemplateId.includes('product-gallery')) {
210 return 'full';
211 }
212 return 'standard';
213 };
214 const Edit = ({
215 clientId,
216 attributes,
217 setAttributes
218 }) => {
219 const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
220 className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.getClassNameByNextPreviousButtonsPosition)(attributes.nextPreviousButtonsPosition)
221 });
222 const {
223 currentTemplateId,
224 templateType
225 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useSelect)(select => ({
226 currentTemplateId: select('core/edit-site').getEditedPostId(),
227 templateType: select('core/edit-site').getEditedPostType()
228 }), []);
229 (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {
230 const mode = getMode(currentTemplateId, templateType);
231 setAttributes({
232 ...attributes,
233 mode,
234 productGalleryClientId: clientId
235 });
236 // Move the Thumbnails block to the correct above or below the Large Image based on the thumbnailsPosition attribute.
237 (0,_utils__WEBPACK_IMPORTED_MODULE_4__.moveInnerBlocksToPosition)(attributes, clientId);
238 }, [setAttributes, attributes, clientId, currentTemplateId, templateType]);
239 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
240 ...blockProps
241 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_block_settings_index__WEBPACK_IMPORTED_MODULE_5__.ProductGalleryBlockSettings, {
242 attributes: attributes,
243 setAttributes: setAttributes,
244 context: {
245 productGalleryClientId: clientId,
246 pagerDisplayMode: attributes.pagerDisplayMode,
247 thumbnailsPosition: attributes.thumbnailsPosition,
248 thumbnailsNumberOfThumbnails: attributes.thumbnailsNumberOfThumbnails,
249 nextPreviousButtonsPosition: attributes.nextPreviousButtonsPosition
250 }
251 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks, {
252 allowedBlocks: ['woocommerce/product-gallery-large-image', 'woocommerce/product-gallery-thumbnails'],
253 templateLock: false,
254 template: TEMPLATE
255 }));
256 };
257 const Save = () => {
258 const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save();
259 const innerBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps.save(blockProps);
260 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
261 ...innerBlocksProps
262 });
263 };
264 Edit.__docgenInfo = {
265 "description": "",
266 "methods": [],
267 "displayName": "Edit"
268 };
269 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
270 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/edit.tsx"] = {
271 name: "Edit",
272 docgenInfo: Edit.__docgenInfo,
273 path: "assets/js/blocks/product-gallery/edit.tsx"
274 };
275 }
276 Save.__docgenInfo = {
277 "description": "",
278 "methods": [],
279 "displayName": "Save"
280 };
281 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
282 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/edit.tsx"] = {
283 name: "Save",
284 docgenInfo: Save.__docgenInfo,
285 path: "assets/js/blocks/product-gallery/edit.tsx"
286 };
287 }
288
289 /***/ }),
290
291 /***/ "./assets/js/blocks/product-gallery/icon.tsx":
292 /*!***************************************************!*\
293 !*** ./assets/js/blocks/product-gallery/icon.tsx ***!
294 \***************************************************/
295 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
296
297 "use strict";
298 __webpack_require__.r(__webpack_exports__);
299 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
300 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
301 /* harmony export */ });
302 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
303 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
304
305 const Icon = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
306 width: "24",
307 height: "24",
308 viewBox: "0 0 24 24",
309 fill: "none",
310 xmlns: "http://www.w3.org/2000/svg"
311 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
312 d: "M19 3H5C4.4 3 4 3.4 4 4V11C4 11.5 4.4 12 5 12H19C19.5 12 20 11.6 20 11V4C20 3.4 19.6 3 19 3ZM5.5 10.5V10.1L7.3 8.8L8.6 9.6C8.9 9.8 9.3 9.8 9.5 9.5L11 8.1L13.4 10.5H5.5ZM18.5 10.5H15.6L11.6 6.5C11.3 6.2 10.8 6.2 10.5 6.5L8.9 8L7.7 7.2C7.4 7 7.1 7 6.8 7.2L5.5 8.2V4.5H18.5V10.5Z",
313 fill: "currentColor"
314 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
315 x: "4.75",
316 y: "15.5",
317 width: "5",
318 height: "4.5",
319 rx: "1",
320 stroke: "currentColor",
321 strokeWidth: "1.5",
322 fill: "none"
323 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
324 x: "12.25",
325 y: "15.5",
326 width: "5",
327 height: "4.5",
328 rx: "1",
329 stroke: "currentColor",
330 strokeWidth: "1.5",
331 fill: "none"
332 }));
333 Icon.__docgenInfo = {
334 "description": "",
335 "methods": [],
336 "displayName": "Icon"
337 };
338 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
339 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
340 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/icon.tsx"] = {
341 name: "Icon",
342 docgenInfo: Icon.__docgenInfo,
343 path: "assets/js/blocks/product-gallery/icon.tsx"
344 };
345 }
346
347 /***/ }),
348
349 /***/ "./assets/js/blocks/product-gallery/index.tsx":
350 /*!****************************************************!*\
351 !*** ./assets/js/blocks/product-gallery/index.tsx ***!
352 \****************************************************/
353 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
354
355 "use strict";
356 __webpack_require__.r(__webpack_exports__);
357 /* harmony import */ var _woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @woocommerce/block-settings */ "./assets/js/settings/blocks/index.ts");
358 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
359 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__);
360 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./block.json */ "./assets/js/blocks/product-gallery/block.json");
361 /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ "./assets/js/blocks/product-gallery/settings.ts");
362 /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ "./assets/js/blocks/product-gallery/style.scss");
363 /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_2__);
364 /* harmony import */ var _inner_blocks_product_gallery_large_image_next_previous__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./inner-blocks/product-gallery-large-image-next-previous */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/index.tsx");
365 /* harmony import */ var _inner_blocks_product_gallery_pager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./inner-blocks/product-gallery-pager */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/index.tsx");
366 /* harmony import */ var _inner_blocks_product_gallery_thumbnails__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./inner-blocks/product-gallery-thumbnails */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/index.tsx");
367 /**
368 * External dependencies
369 */
370
371
372
373 /**
374 * Internal dependencies
375 */
376
377
378
379
380
381
382 if ((0,_woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_0__.isExperimentalBuild)()) {
383 // @ts-expect-error: `metadata` currently does not have a type definition in WordPress core.
384 (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_6__, _settings__WEBPACK_IMPORTED_MODULE_7__.ProductGalleryBlockSettings);
385 }
386
387 /***/ }),
388
389 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/edit.tsx":
390 /*!**********************************************************************************************************!*\
391 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/edit.tsx ***!
392 \**********************************************************************************************************/
393 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
394
395 "use strict";
396 __webpack_require__.r(__webpack_exports__);
397 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
398 /* harmony export */ Edit: () => (/* binding */ Edit)
399 /* harmony export */ });
400 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
401 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
402 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
403 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
404 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
405 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
406 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
407 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__);
408 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js");
409 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);
410 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./editor.scss */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/editor.scss");
411 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_editor_scss__WEBPACK_IMPORTED_MODULE_5__);
412 /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/settings.tsx");
413 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/utils.ts");
414
415 /**
416 * External dependencies
417 */
418
419
420
421
422
423 /**
424 * Internal dependencies
425 */
426
427
428
429
430 const getAlignmentStyle = alignment => {
431 switch (alignment) {
432 case 'top':
433 return 'flex-start';
434 case 'center':
435 return 'center';
436 case 'bottom':
437 return 'flex-end';
438 default:
439 return 'flex-end';
440 }
441 };
442 const Edit = ({
443 attributes,
444 context
445 }) => {
446 var _attributes$layout;
447 const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
448 style: {
449 width: '100%',
450 alignItems: getAlignmentStyle((_attributes$layout = attributes.layout) === null || _attributes$layout === void 0 ? void 0 : _attributes$layout.verticalAlignment)
451 },
452 className: classnames__WEBPACK_IMPORTED_MODULE_4___default()('wc-block-editor-product-gallery-large-image-next-previous', 'wc-block-product-gallery-large-image-next-previous')
453 });
454 const previousNextImage = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.useMemo)(() => {
455 return (0,_utils__WEBPACK_IMPORTED_MODULE_6__.getNextPreviousImagesWithClassName)(context.nextPreviousButtonsPosition);
456 }, [context.nextPreviousButtonsPosition]);
457 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
458 ...blockProps
459 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_settings__WEBPACK_IMPORTED_MODULE_7__.ProductGalleryNextPreviousBlockSettings, {
460 context: context
461 }))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
462 className: classnames__WEBPACK_IMPORTED_MODULE_4___default()('wc-block-product-gallery-large-image-next-previous-container', `wc-block-product-gallery-large-image-next-previous--${previousNextImage === null || previousNextImage === void 0 ? void 0 : previousNextImage.classname}`)
463 }, (previousNextImage === null || previousNextImage === void 0 ? void 0 : previousNextImage.PrevButtonImage) && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(previousNextImage.PrevButtonImage, null), (previousNextImage === null || previousNextImage === void 0 ? void 0 : previousNextImage.NextButtonImage) && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(previousNextImage.NextButtonImage, null)));
464 };
465 Edit.__docgenInfo = {
466 "description": "",
467 "methods": [],
468 "displayName": "Edit",
469 "props": {
470 "attributes": {
471 "required": true,
472 "tsType": {
473 "name": "BlockAttributes"
474 },
475 "description": ""
476 },
477 "context": {
478 "required": true,
479 "tsType": {
480 "name": "ProductGalleryContext"
481 },
482 "description": ""
483 }
484 }
485 };
486 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
487 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/edit.tsx"] = {
488 name: "Edit",
489 docgenInfo: Edit.__docgenInfo,
490 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/edit.tsx"
491 };
492 }
493
494 /***/ }),
495
496 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx":
497 /*!***********************************************************************************************************!*\
498 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx ***!
499 \***********************************************************************************************************/
500 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
501
502 "use strict";
503 __webpack_require__.r(__webpack_exports__);
504 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
505 /* harmony export */ Icon: () => (/* binding */ Icon),
506 /* harmony export */ InsideTheImage: () => (/* binding */ InsideTheImage),
507 /* harmony export */ NextButtonInsideImage: () => (/* binding */ NextButtonInsideImage),
508 /* harmony export */ NextButtonOutsideImage: () => (/* binding */ NextButtonOutsideImage),
509 /* harmony export */ OutsideTheImage: () => (/* binding */ OutsideTheImage),
510 /* harmony export */ PrevButtonInsideImage: () => (/* binding */ PrevButtonInsideImage),
511 /* harmony export */ PrevButtonOutsideImage: () => (/* binding */ PrevButtonOutsideImage)
512 /* harmony export */ });
513 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
514 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
515 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
516 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
517
518 /**
519 * External dependencies
520 */
521
522 const Icon = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
523 width: "18",
524 height: "18",
525 viewBox: "0 0 18 18",
526 fill: "none",
527 xmlns: "http://www.w3.org/2000/svg"
528 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
529 fillRule: "evenodd",
530 clipRule: "evenodd",
531 d: "M6.22448 1.5L1.5 6.81504V11.7072L5.12953 9.06066C5.38061 8.87758 5.71858 8.86829 5.97934 9.0373L8.90601 10.9342L12.4772 7.46225C12.7683 7.17925 13.2317 7.17925 13.5228 7.46225L16.5 10.3568V2C16.5 1.72386 16.2761 1.5 16 1.5H6.22448ZM1.5 13.5636V16C1.5 16.2761 1.72386 16.5 2 16.5H16C16.2761 16.5 16.5 16.2761 16.5 16V12.4032L16.4772 12.4266L13 9.04603L9.52279 12.4266C9.27191 12.6706 8.88569 12.7086 8.59206 12.5183L5.59643 10.5766L1.5 13.5636ZM0 2C0 0.89543 0.895431 0 2 0H16C17.1046 0 18 0.895431 18 2V16C18 17.1046 17.1046 18 16 18H2C0.89543 18 0 17.1046 0 16V2Z",
532 fill: "#1E1E1E"
533 }));
534 const NextButtonInsideImage = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
535 xmlns: "http://www.w3.org/2000/svg",
536 width: "49",
537 height: "48",
538 viewBox: "0 0 49 48",
539 fill: "none",
540 className: `wc-block-product-gallery-large-image-next-previous-right--inside-image`
541 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
542 filter: "url(#filter0_b_397_11354)"
543 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
544 x: "0.5",
545 width: "48",
546 height: "48",
547 rx: "5",
548 fill: "black",
549 fillOpacity: "0.5"
550 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
551 d: "M21.7001 12L19.3 14L28.5 24L19.3 34L21.7001 36L32.5 24L21.7001 12Z",
552 fill: "white"
553 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("defs", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("filter", {
554 id: "filter0_b_397_11354",
555 x: "-9.5",
556 y: "-10",
557 width: "68",
558 height: "68",
559 filterUnits: "userSpaceOnUse",
560 colorInterpolationFilters: "sRGB"
561 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feFlood", {
562 floodOpacity: "0",
563 result: "BackgroundImageFix"
564 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feGaussianBlur", {
565 in: "BackgroundImageFix",
566 stdDeviation: "5"
567 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feComposite", {
568 in2: "SourceAlpha",
569 operator: "in",
570 result: "effect1_backgroundBlur_397_11354"
571 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feBlend", {
572 mode: "normal",
573 in: "SourceGraphic",
574 in2: "effect1_backgroundBlur_397_11354",
575 result: "shape"
576 }))));
577 const PrevButtonInsideImage = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
578 xmlns: "http://www.w3.org/2000/svg",
579 width: "49",
580 height: "48",
581 viewBox: "0 0 49 48",
582 fill: "none",
583 className: `wc-block-product-gallery-large-image-next-previous-left--inside-image`
584 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
585 filter: "url(#filter0_b_397_11356)"
586 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
587 x: "0.5",
588 width: "48",
589 height: "48",
590 rx: "5",
591 fill: "black",
592 fillOpacity: "0.5"
593 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
594 d: "M28.1 12L30.5 14L21.3 24L30.5 34L28.1 36L17.3 24L28.1 12Z",
595 fill: "white"
596 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("defs", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("filter", {
597 id: "filter0_b_397_11356",
598 x: "-9.5",
599 y: "-10",
600 width: "68",
601 height: "68",
602 filterUnits: "userSpaceOnUse",
603 colorInterpolationFilters: "sRGB"
604 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feFlood", {
605 floodOpacity: "0",
606 result: "BackgroundImageFix"
607 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feGaussianBlur", {
608 in: "BackgroundImageFix",
609 stdDeviation: "5"
610 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feComposite", {
611 in2: "SourceAlpha",
612 operator: "in",
613 result: "effect1_backgroundBlur_397_11356"
614 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("feBlend", {
615 mode: "normal",
616 in: "SourceGraphic",
617 in2: "effect1_backgroundBlur_397_11356",
618 result: "shape"
619 }))));
620 const NextButtonOutsideImage = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
621 width: "10",
622 height: "16",
623 viewBox: "0 0 10 16",
624 fill: "none",
625 xmlns: "http://www.w3.org/2000/svg",
626 className: `wc-block-product-gallery-large-image-next-previous-right--outside-image`
627 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
628 d: "M1 1.28516L8 8.28516L1 15.2852",
629 stroke: "black",
630 strokeWidth: "1.5"
631 }));
632 const PrevButtonOutsideImage = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
633 width: "10",
634 height: "16",
635 viewBox: "0 0 10 16",
636 fill: "none",
637 xmlns: "http://www.w3.org/2000/svg",
638 className: `wc-block-product-gallery-large-image-next-previous-left--outside-image`
639 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
640 d: "M9 1.28516L2 8.28516L9 15.2852",
641 stroke: "black",
642 strokeWidth: "1.5"
643 }));
644 const InsideTheImage = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
645 xmlns: "http://www.w3.org/2000/svg",
646 width: "30",
647 height: "18",
648 viewBox: "0 0 30 18",
649 fill: "none"
650 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
651 d: "M4.525 8.8L6.825 6.5L5.825 5.5L3.525 7.8C2.825 8.5 2.825 9.6 3.525 10.3L5.825 12.6L6.925 11.5L4.625 9.2C4.425 9.1 4.425 8.9 4.525 8.8Z",
652 fill: "currentColor"
653 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
654 d: "M25.4 8.8L23.1 6.5L24.1 5.5L26.4 7.8C27.1 8.5 27.1 9.6 26.4 10.3L24.1 12.6L23 11.5L25.3 9.2C25.5 9.1 25.5 8.9 25.4 8.8Z",
655 fill: "currentColor"
656 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
657 x: "0.75",
658 y: "0.75",
659 width: "28.5",
660 height: "16.5",
661 rx: "1.25",
662 stroke: "currentColor",
663 strokeWidth: "1.5"
664 }));
665 const OutsideTheImage = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
666 xmlns: "http://www.w3.org/2000/svg",
667 width: "38",
668 height: "18",
669 viewBox: "0 0 38 18",
670 fill: "none"
671 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
672 d: "M1.525 8.3L5.825 4L4.825 3L0.525 7.3C-0.175 8 -0.175 9.1 0.525 9.8L4.825 14.1L5.925 13L1.625 8.7C1.425 8.6 1.425 8.4 1.525 8.3Z",
673 fill: "currentColor"
674 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
675 d: "M37.325 7.3L33.025 3L31.925 4.1L36.2251 8.4C36.3251 8.5 36.3251 8.7 36.2251 8.8L31.925 13.1L33.025 14.2L37.325 9.9C38.025 9.1 38.025 8 37.325 7.3Z",
676 fill: "currentColor"
677 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
678 d: "M25.925 0H11.925C10.825 0 9.92505 0.9 9.92505 2V16C9.92505 17.1 10.825 18 11.925 18H25.925C27.025 18 27.925 17.1 27.925 16V2C27.925 0.9 27.025 0 25.925 0ZM11.925 1.5H25.925C26.225 1.5 26.425 1.7 26.425 2V10.4L23.425 7.5C23.125 7.2 22.625 7.2 22.425 7.5L18.825 11L15.925 9C15.625 8.8 15.325 8.8 15.125 9L11.525 11.6V2C11.425 1.7 11.625 1.5 11.925 1.5ZM25.925 16.5H11.925C11.625 16.5 11.425 16.3 11.425 16V13.6L15.525 10.6L18.525 12.5C18.825 12.7 19.225 12.7 19.425 12.4L22.925 9L26.425 12.4V16C26.425 16.3 26.225 16.5 25.925 16.5Z",
679 fill: "currentColor"
680 }));
681 Icon.__docgenInfo = {
682 "description": "",
683 "methods": [],
684 "displayName": "Icon"
685 };
686 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
687 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
688 name: "Icon",
689 docgenInfo: Icon.__docgenInfo,
690 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
691 };
692 }
693 NextButtonInsideImage.__docgenInfo = {
694 "description": "",
695 "methods": [],
696 "displayName": "NextButtonInsideImage"
697 };
698 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
699 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
700 name: "NextButtonInsideImage",
701 docgenInfo: NextButtonInsideImage.__docgenInfo,
702 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
703 };
704 }
705 PrevButtonInsideImage.__docgenInfo = {
706 "description": "",
707 "methods": [],
708 "displayName": "PrevButtonInsideImage"
709 };
710 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
711 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
712 name: "PrevButtonInsideImage",
713 docgenInfo: PrevButtonInsideImage.__docgenInfo,
714 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
715 };
716 }
717 NextButtonOutsideImage.__docgenInfo = {
718 "description": "",
719 "methods": [],
720 "displayName": "NextButtonOutsideImage"
721 };
722 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
723 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
724 name: "NextButtonOutsideImage",
725 docgenInfo: NextButtonOutsideImage.__docgenInfo,
726 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
727 };
728 }
729 PrevButtonOutsideImage.__docgenInfo = {
730 "description": "",
731 "methods": [],
732 "displayName": "PrevButtonOutsideImage"
733 };
734 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
735 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
736 name: "PrevButtonOutsideImage",
737 docgenInfo: PrevButtonOutsideImage.__docgenInfo,
738 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
739 };
740 }
741 InsideTheImage.__docgenInfo = {
742 "description": "",
743 "methods": [],
744 "displayName": "InsideTheImage"
745 };
746 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
747 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
748 name: "InsideTheImage",
749 docgenInfo: InsideTheImage.__docgenInfo,
750 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
751 };
752 }
753 OutsideTheImage.__docgenInfo = {
754 "description": "",
755 "methods": [],
756 "displayName": "OutsideTheImage"
757 };
758 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
759 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"] = {
760 name: "OutsideTheImage",
761 docgenInfo: OutsideTheImage.__docgenInfo,
762 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx"
763 };
764 }
765
766 /***/ }),
767
768 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/index.tsx":
769 /*!***********************************************************************************************************!*\
770 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/index.tsx ***!
771 \***********************************************************************************************************/
772 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
773
774 "use strict";
775 __webpack_require__.r(__webpack_exports__);
776 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
777 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
778 /* harmony import */ var _woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @woocommerce/block-settings */ "./assets/js/settings/blocks/index.ts");
779 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./edit */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/edit.tsx");
780 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./block.json */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/block.json");
781 /* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./save */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/save.tsx");
782 /* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./icons */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx");
783 /**
784 * External dependencies
785 */
786
787
788
789 /**
790 * Internal dependencies
791 */
792
793
794
795
796 if ((0,_woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_1__.isExperimentalBuild)()) {
797 // @ts-expect-error: `metadata` currently does not have a type definition in WordPress core
798 (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_2__, {
799 icon: _icons__WEBPACK_IMPORTED_MODULE_3__.Icon,
800 edit: _edit__WEBPACK_IMPORTED_MODULE_4__.Edit,
801 save: _save__WEBPACK_IMPORTED_MODULE_5__.Save
802 });
803 }
804
805 /***/ }),
806
807 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/save.tsx":
808 /*!**********************************************************************************************************!*\
809 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/save.tsx ***!
810 \**********************************************************************************************************/
811 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
812
813 "use strict";
814 __webpack_require__.r(__webpack_exports__);
815 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
816 /* harmony export */ Save: () => (/* binding */ Save)
817 /* harmony export */ });
818 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
819 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
820 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
821 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
822
823 /**
824 * External dependencies
825 */
826
827 const Save = () => {
828 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
829 ..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save()
830 });
831 };
832 Save.__docgenInfo = {
833 "description": "",
834 "methods": [],
835 "displayName": "Save"
836 };
837 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
838 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/save.tsx"] = {
839 name: "Save",
840 docgenInfo: Save.__docgenInfo,
841 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/save.tsx"
842 };
843 }
844
845 /***/ }),
846
847 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/settings.tsx":
848 /*!**************************************************************************************************************!*\
849 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/settings.tsx ***!
850 \**************************************************************************************************************/
851 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
852
853 "use strict";
854 __webpack_require__.r(__webpack_exports__);
855 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
856 /* harmony export */ ProductGalleryNextPreviousBlockSettings: () => (/* binding */ ProductGalleryNextPreviousBlockSettings)
857 /* harmony export */ });
858 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
859 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
860 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
861 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
862 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
863 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__);
864 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
865 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__);
866 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
867 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);
868 /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./types */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/types.ts");
869 /* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./icons */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx");
870
871 /**
872 * External dependencies
873 */
874
875
876
877
878
879 /**
880 * Internal dependencies
881 */
882
883
884 const NextPreviousButtonIcons = {
885 [_types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.insideTheImage]: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_icons__WEBPACK_IMPORTED_MODULE_6__.InsideTheImage, null),
886 [_types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.outsideTheImage]: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_icons__WEBPACK_IMPORTED_MODULE_6__.OutsideTheImage, null)
887 };
888 const getHelpText = buttonPosition => {
889 switch (buttonPosition) {
890 case _types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.insideTheImage:
891 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Next and previous buttons will appear inside the large image.', 'woocommerce');
892 case _types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.outsideTheImage:
893 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Next and previous buttons will appear on outside the large image.', 'woocommerce');
894 case 'off':
895 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('No next or previous button will be displayed.', 'woocommerce');
896 default:
897 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('No next or previous button will be displayed.', 'woocommerce');
898 }
899 };
900 const ProductGalleryNextPreviousBlockSettings = ({
901 context
902 }) => {
903 const {
904 productGalleryClientId,
905 nextPreviousButtonsPosition
906 } = context;
907 // @ts-expect-error @wordpress/block-editor/store types not provided
908 const {
909 updateBlockAttributes
910 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.store);
911 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControl, {
912 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Next/Prev Buttons', 'woocommerce'),
913 className: "wc-block-editor-product-gallery-large-image-next-previous-settings",
914 style: {
915 width: '100%'
916 },
917 onChange: value => updateBlockAttributes(productGalleryClientId, {
918 nextPreviousButtonsPosition: value
919 }),
920 help: getHelpText(nextPreviousButtonsPosition),
921 value: nextPreviousButtonsPosition
922 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
923 value: _types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.off,
924 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Off', 'woocommerce')
925 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
926 value: _types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.insideTheImage,
927 label: NextPreviousButtonIcons.insideTheImage
928 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
929 value: _types__WEBPACK_IMPORTED_MODULE_5__.NextPreviousButtonSettingValues.outsideTheImage,
930 label: NextPreviousButtonIcons.outsideTheImage
931 }));
932 };
933 ProductGalleryNextPreviousBlockSettings.__docgenInfo = {
934 "description": "",
935 "methods": [],
936 "displayName": "ProductGalleryNextPreviousBlockSettings",
937 "props": {
938 "context": {
939 "required": true,
940 "tsType": {
941 "name": "ProductGalleryLargeImageNextPreviousContext"
942 },
943 "description": ""
944 }
945 }
946 };
947 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
948 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/settings.tsx"] = {
949 name: "ProductGalleryNextPreviousBlockSettings",
950 docgenInfo: ProductGalleryNextPreviousBlockSettings.__docgenInfo,
951 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/settings.tsx"
952 };
953 }
954
955 /***/ }),
956
957 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/types.ts":
958 /*!**********************************************************************************************************!*\
959 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/types.ts ***!
960 \**********************************************************************************************************/
961 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
962
963 "use strict";
964 __webpack_require__.r(__webpack_exports__);
965 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
966 /* harmony export */ NextPreviousButtonSettingValues: () => (/* binding */ NextPreviousButtonSettingValues)
967 /* harmony export */ });
968 let NextPreviousButtonSettingValues = /*#__PURE__*/function (NextPreviousButtonSettingValues) {
969 NextPreviousButtonSettingValues["off"] = "off";
970 NextPreviousButtonSettingValues["insideTheImage"] = "insideTheImage";
971 NextPreviousButtonSettingValues["outsideTheImage"] = "outsideTheImage";
972 return NextPreviousButtonSettingValues;
973 }({});
974
975 /***/ }),
976
977 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/utils.ts":
978 /*!**********************************************************************************************************!*\
979 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/utils.ts ***!
980 \**********************************************************************************************************/
981 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
982
983 "use strict";
984 __webpack_require__.r(__webpack_exports__);
985 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
986 /* harmony export */ getNextPreviousImagesWithClassName: () => (/* binding */ getNextPreviousImagesWithClassName)
987 /* harmony export */ });
988 /* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./icons */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/icons.tsx");
989 /**
990 * Internal dependencies
991 */
992
993 const getNextPreviousImagesWithClassName = nextPreviousButtonsPosition => {
994 switch (nextPreviousButtonsPosition) {
995 case 'insideTheImage':
996 return {
997 PrevButtonImage: _icons__WEBPACK_IMPORTED_MODULE_0__.PrevButtonInsideImage,
998 NextButtonImage: _icons__WEBPACK_IMPORTED_MODULE_0__.NextButtonInsideImage,
999 classname: 'inside-image'
1000 };
1001 case 'outsideTheImage':
1002 return {
1003 PrevButtonImage: _icons__WEBPACK_IMPORTED_MODULE_0__.PrevButtonOutsideImage,
1004 NextButtonImage: _icons__WEBPACK_IMPORTED_MODULE_0__.NextButtonOutsideImage,
1005 classname: 'outside-image'
1006 };
1007 case 'off':
1008 return null;
1009 default:
1010 return null;
1011 }
1012 };
1013
1014 /***/ }),
1015
1016 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/constants.ts":
1017 /*!******************************************************************************************!*\
1018 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/constants.ts ***!
1019 \******************************************************************************************/
1020 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1021
1022 "use strict";
1023 __webpack_require__.r(__webpack_exports__);
1024 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1025 /* harmony export */ PagerDisplayModes: () => (/* binding */ PagerDisplayModes)
1026 /* harmony export */ });
1027 let PagerDisplayModes = /*#__PURE__*/function (PagerDisplayModes) {
1028 PagerDisplayModes["DIGITS"] = "digits";
1029 PagerDisplayModes["DOTS"] = "dots";
1030 PagerDisplayModes["OFF"] = "off";
1031 return PagerDisplayModes;
1032 }({});
1033
1034 /***/ }),
1035
1036 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/edit.tsx":
1037 /*!**************************************************************************************!*\
1038 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/edit.tsx ***!
1039 \**************************************************************************************/
1040 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1041
1042 "use strict";
1043 __webpack_require__.r(__webpack_exports__);
1044 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1045 /* harmony export */ Edit: () => (/* binding */ Edit)
1046 /* harmony export */ });
1047 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1048 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1049 /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/icons */ "../../node_modules/.pnpm/@wordpress+icons@9.36.0/node_modules/@wordpress/icons/build-module/icon/index.js");
1050 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
1051 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
1052 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
1053 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
1054 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js");
1055 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
1056 /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/settings.tsx");
1057 /* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./icons */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx");
1058 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/constants.ts");
1059
1060 /**
1061 * External dependencies
1062 */
1063
1064
1065
1066
1067
1068 /**
1069 * Internal dependencies
1070 */
1071
1072
1073
1074 const DigitsPager = () => {
1075 const pagerDigitsItems = Array.from({
1076 length: 4
1077 }, (_, index) => {
1078 const isActive = index === 0;
1079 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", {
1080 className: `wc-block-editor-product-gallery-pager__item ${isActive ? 'is-active' : ''}`,
1081 key: index
1082 }, index + 1);
1083 });
1084 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", {
1085 className: "wc-block-editor-product-gallery-pager__pager"
1086 }, pagerDigitsItems);
1087 };
1088 const DotsPager = props => {
1089 const {
1090 iconClass
1091 } = props;
1092 const pagerDotsItems = Array.from({
1093 length: 3
1094 }, (_, index) => {
1095 const icon = index === 0 ? _icons__WEBPACK_IMPORTED_MODULE_4__.PagerSelectedDotIcon : _icons__WEBPACK_IMPORTED_MODULE_4__.PagerDotIcon;
1096 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("li", {
1097 key: index
1098 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_5__["default"], {
1099 className: iconClass,
1100 icon: icon,
1101 size: 12
1102 }));
1103 });
1104 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("ul", {
1105 className: "wc-block-editor-product-gallery-pager__pager"
1106 }, pagerDotsItems);
1107 };
1108 const Pager = props => {
1109 const {
1110 pagerDisplayMode
1111 } = props;
1112 switch (pagerDisplayMode) {
1113 case _constants__WEBPACK_IMPORTED_MODULE_6__.PagerDisplayModes.DOTS:
1114 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(DotsPager, null);
1115 case _constants__WEBPACK_IMPORTED_MODULE_6__.PagerDisplayModes.DIGITS:
1116 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(DigitsPager, null);
1117 case _constants__WEBPACK_IMPORTED_MODULE_6__.PagerDisplayModes.OFF:
1118 return null;
1119 default:
1120 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(DotsPager, null);
1121 }
1122 };
1123 const Edit = props => {
1124 const {
1125 context
1126 } = props;
1127 const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
1128 className: classnames__WEBPACK_IMPORTED_MODULE_3___default()('wc-block-editor-product-gallery-pager', 'wc-block-product-gallery-pager')
1129 });
1130 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
1131 ...blockProps
1132 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_settings__WEBPACK_IMPORTED_MODULE_7__.ProductGalleryPagerBlockSettings, {
1133 context: context
1134 }))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Pager, {
1135 pagerDisplayMode: context.pagerDisplayMode
1136 }));
1137 };
1138 Edit.__docgenInfo = {
1139 "description": "",
1140 "methods": [],
1141 "displayName": "Edit",
1142 "props": {
1143 "attributes": {
1144 "required": true,
1145 "tsType": {
1146 "name": "BlockAttributes"
1147 },
1148 "description": ""
1149 },
1150 "setAttributes": {
1151 "required": true,
1152 "tsType": {
1153 "name": "signature",
1154 "type": "function",
1155 "raw": "( newAttributes: BlockAttributes ) => void",
1156 "signature": {
1157 "arguments": [{
1158 "name": "newAttributes",
1159 "type": {
1160 "name": "BlockAttributes"
1161 }
1162 }],
1163 "return": {
1164 "name": "void"
1165 }
1166 }
1167 },
1168 "description": ""
1169 },
1170 "context": {
1171 "required": true,
1172 "tsType": {
1173 "name": "ProductGalleryPagerContext"
1174 },
1175 "description": ""
1176 }
1177 }
1178 };
1179 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1180 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/edit.tsx"] = {
1181 name: "Edit",
1182 docgenInfo: Edit.__docgenInfo,
1183 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/edit.tsx"
1184 };
1185 }
1186
1187 /***/ }),
1188
1189 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx":
1190 /*!***************************************************************************************!*\
1191 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx ***!
1192 \***************************************************************************************/
1193 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1194
1195 "use strict";
1196 __webpack_require__.r(__webpack_exports__);
1197 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1198 /* harmony export */ PagerDotIcon: () => (/* binding */ PagerDotIcon),
1199 /* harmony export */ PagerSelectedDotIcon: () => (/* binding */ PagerSelectedDotIcon),
1200 /* harmony export */ PagerSettingsDigitsIcon: () => (/* binding */ PagerSettingsDigitsIcon),
1201 /* harmony export */ PagerSettingsDotIcon: () => (/* binding */ PagerSettingsDotIcon),
1202 /* harmony export */ ProductGalleryPagerBlockIcon: () => (/* binding */ ProductGalleryPagerBlockIcon)
1203 /* harmony export */ });
1204 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1205 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1206 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
1207 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
1208
1209 /**
1210 * External dependencies
1211 */
1212
1213 const ProductGalleryPagerBlockIcon = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
1214 width: "24",
1215 height: "24",
1216 viewBox: "0 0 24 24",
1217 fill: "none",
1218 xmlns: "http://www.w3.org/2000/svg"
1219 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
1220 fillRule: "evenodd",
1221 clipRule: "evenodd",
1222 d: "M5.00018 11L7.00018 11L7.00018 13H5.00018V11ZM11.0002 11L13.0002 11V13H11.0002V11ZM17.0002 11L19.0002 11V13H17.0002V11Z",
1223 fill: "currentColor"
1224 }));
1225 const PagerDotIcon = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
1226 xmlns: "http://www.w3.org/2000/svg",
1227 viewBox: "0 0 12 12"
1228 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("circle", {
1229 cx: "6",
1230 cy: "6",
1231 r: "6",
1232 fill: "black",
1233 fillOpacity: "0.2"
1234 }));
1235 const PagerSelectedDotIcon = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
1236 xmlns: "http://www.w3.org/2000/svg",
1237 viewBox: "0 0 12 12"
1238 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("circle", {
1239 cx: "6",
1240 cy: "6",
1241 r: "6",
1242 fill: "black"
1243 }));
1244 const PagerSettingsDotIcon = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
1245 width: "80",
1246 height: "36",
1247 viewBox: "0 0 80 36",
1248 fill: "none",
1249 xmlns: "http://www.w3.org/2000/svg"
1250 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("circle", {
1251 cx: "32.6665",
1252 cy: "18",
1253 r: "3",
1254 fill: "currentColor"
1255 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("circle", {
1256 cx: "40.6665",
1257 cy: "18",
1258 r: "2.25",
1259 stroke: "currentColor",
1260 strokeWidth: "1.5"
1261 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("circle", {
1262 cx: "48.6665",
1263 cy: "18",
1264 r: "2.25",
1265 stroke: "currentColor",
1266 strokeWidth: "1.5"
1267 }));
1268 const PagerSettingsDigitsIcon = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
1269 width: "80",
1270 height: "36",
1271 viewBox: "0 0 80 36",
1272 fill: "none",
1273 xmlns: "http://www.w3.org/2000/svg"
1274 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
1275 d: "M30.1417 22H31.9288V14.9541H30.1417L28.3497 16.1748V17.7178L30.0489 16.5703H30.1417V22ZM36.9771 22H41.7231V21.0674H38.4663V20.9697L39.9604 19.4805C41.2397 18.2109 41.6108 17.5957 41.6108 16.7949V16.7803C41.6108 15.6182 40.644 14.7832 39.3306 14.7832C37.9146 14.7832 36.9185 15.6914 36.9136 16.9805L36.9233 16.9902H37.9487L37.9536 16.9756C37.9536 16.2041 38.481 15.6865 39.272 15.6865C40.0435 15.6865 40.5171 16.1943 40.5171 16.8828V16.8975C40.5171 17.4688 40.2485 17.8301 39.3159 18.8018L36.9771 21.2578V22ZM48.7392 22.1318C50.2333 22.1318 51.2929 21.2627 51.2929 20.0518V20.042C51.2929 19.0557 50.5995 18.4307 49.5644 18.3379V18.3135C50.4237 18.1328 51.0487 17.5469 51.0487 16.6729V16.6631C51.0487 15.5742 50.1308 14.8223 48.7294 14.8223C47.3524 14.8223 46.4149 15.6084 46.3075 16.7949L46.3026 16.8486H47.328L47.3329 16.7998C47.4013 16.1357 47.9481 15.7207 48.7294 15.7207C49.5253 15.7207 49.9843 16.1211 49.9843 16.8047V16.8145C49.9843 17.4688 49.4374 17.9424 48.6317 17.9424H47.8065V18.792H48.6659C49.6034 18.792 50.1796 19.2363 50.1796 20.0322V20.042C50.1796 20.7354 49.5985 21.2188 48.7392 21.2188C47.8651 21.2188 47.2743 20.7695 47.206 20.1299L47.2011 20.0811H46.1562L46.161 20.1396C46.2538 21.3066 47.2353 22.1318 48.7392 22.1318Z",
1276 fill: "currentColor"
1277 }));
1278 ProductGalleryPagerBlockIcon.__docgenInfo = {
1279 "description": "",
1280 "methods": [],
1281 "displayName": "ProductGalleryPagerBlockIcon"
1282 };
1283 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1284 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx"] = {
1285 name: "ProductGalleryPagerBlockIcon",
1286 docgenInfo: ProductGalleryPagerBlockIcon.__docgenInfo,
1287 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx"
1288 };
1289 }
1290 PagerSettingsDotIcon.__docgenInfo = {
1291 "description": "",
1292 "methods": [],
1293 "displayName": "PagerSettingsDotIcon"
1294 };
1295 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1296 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx"] = {
1297 name: "PagerSettingsDotIcon",
1298 docgenInfo: PagerSettingsDotIcon.__docgenInfo,
1299 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx"
1300 };
1301 }
1302 PagerSettingsDigitsIcon.__docgenInfo = {
1303 "description": "",
1304 "methods": [],
1305 "displayName": "PagerSettingsDigitsIcon"
1306 };
1307 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1308 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx"] = {
1309 name: "PagerSettingsDigitsIcon",
1310 docgenInfo: PagerSettingsDigitsIcon.__docgenInfo,
1311 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx"
1312 };
1313 }
1314
1315 /***/ }),
1316
1317 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/index.tsx":
1318 /*!***************************************************************************************!*\
1319 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/index.tsx ***!
1320 \***************************************************************************************/
1321 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1322
1323 "use strict";
1324 __webpack_require__.r(__webpack_exports__);
1325 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
1326 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
1327 /* harmony import */ var _woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @woocommerce/block-settings */ "./assets/js/settings/blocks/index.ts");
1328 /* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./icons */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx");
1329 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./edit */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/edit.tsx");
1330 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./block.json */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/block.json");
1331 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor.scss */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/editor.scss");
1332 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_editor_scss__WEBPACK_IMPORTED_MODULE_2__);
1333 /**
1334 * External dependencies
1335 */
1336
1337
1338
1339 /**
1340 * Internal dependencies
1341 */
1342
1343
1344
1345
1346 if ((0,_woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_1__.isExperimentalBuild)()) {
1347 // @ts-expect-error: `metadata` currently does not have a type definition in WordPress core
1348 (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_3__, {
1349 icon: _icons__WEBPACK_IMPORTED_MODULE_4__.ProductGalleryPagerBlockIcon,
1350 edit: _edit__WEBPACK_IMPORTED_MODULE_5__.Edit,
1351 save() {
1352 return null;
1353 }
1354 });
1355 }
1356
1357 /***/ }),
1358
1359 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/settings.tsx":
1360 /*!******************************************************************************************!*\
1361 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/settings.tsx ***!
1362 \******************************************************************************************/
1363 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1364
1365 "use strict";
1366 __webpack_require__.r(__webpack_exports__);
1367 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1368 /* harmony export */ ProductGalleryPagerBlockSettings: () => (/* binding */ ProductGalleryPagerBlockSettings)
1369 /* harmony export */ });
1370 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1371 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1372 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
1373 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
1374 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
1375 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_2__);
1376 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1377 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1378 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
1379 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);
1380 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/constants.ts");
1381 /* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./icons */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/icons.tsx");
1382
1383 /**
1384 * External dependencies
1385 */
1386
1387
1388
1389
1390
1391 /**
1392 * Internal dependencies
1393 */
1394
1395
1396 const getHelpText = pagerDisplayMode => {
1397 switch (pagerDisplayMode) {
1398 case _constants__WEBPACK_IMPORTED_MODULE_5__.PagerDisplayModes.DIGITS:
1399 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('A list of numbers will show to indicate the number of items.', 'woocommerce');
1400 case _constants__WEBPACK_IMPORTED_MODULE_5__.PagerDisplayModes.DOTS:
1401 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('A series of dots will show to indicate the number of items.', 'woocommerce');
1402 case 'off':
1403 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('No pager will be displayed.', 'woocommerce');
1404 default:
1405 return (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('No pager will be displayed.', 'woocommerce');
1406 }
1407 };
1408 const ProductGalleryPagerBlockSettings = ({
1409 context
1410 }) => {
1411 const {
1412 productGalleryClientId,
1413 pagerDisplayMode
1414 } = context;
1415 // @ts-expect-error @wordpress/block-editor/store types not provided
1416 const {
1417 updateBlockAttributes
1418 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_2__.useDispatch)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.store);
1419 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControl, {
1420 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Pager', 'woocommerce'),
1421 style: {
1422 width: '100%'
1423 },
1424 onChange: value => {
1425 updateBlockAttributes(productGalleryClientId, {
1426 pagerDisplayMode: value
1427 });
1428 },
1429 help: getHelpText(pagerDisplayMode),
1430 value: pagerDisplayMode
1431 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1432 value: _constants__WEBPACK_IMPORTED_MODULE_5__.PagerDisplayModes.OFF,
1433 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Off', 'woocommerce')
1434 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1435 value: _constants__WEBPACK_IMPORTED_MODULE_5__.PagerDisplayModes.DOTS,
1436 label: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_icons__WEBPACK_IMPORTED_MODULE_6__.PagerSettingsDotIcon, null)
1437 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1438 value: _constants__WEBPACK_IMPORTED_MODULE_5__.PagerDisplayModes.DIGITS,
1439 label: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_icons__WEBPACK_IMPORTED_MODULE_6__.PagerSettingsDigitsIcon, null)
1440 }));
1441 };
1442 ProductGalleryPagerBlockSettings.__docgenInfo = {
1443 "description": "",
1444 "methods": [],
1445 "displayName": "ProductGalleryPagerBlockSettings",
1446 "props": {
1447 "context": {
1448 "required": true,
1449 "tsType": {
1450 "name": "ProductGalleryPagerContext"
1451 },
1452 "description": ""
1453 }
1454 }
1455 };
1456 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1457 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/settings.tsx"] = {
1458 name: "ProductGalleryPagerBlockSettings",
1459 docgenInfo: ProductGalleryPagerBlockSettings.__docgenInfo,
1460 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/settings.tsx"
1461 };
1462 }
1463
1464 /***/ }),
1465
1466 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block-settings/index.tsx":
1467 /*!***********************************************************************************************************!*\
1468 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block-settings/index.tsx ***!
1469 \***********************************************************************************************************/
1470 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1471
1472 "use strict";
1473 __webpack_require__.r(__webpack_exports__);
1474 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1475 /* harmony export */ ProductGalleryThumbnailsBlockSettings: () => (/* binding */ ProductGalleryThumbnailsBlockSettings)
1476 /* harmony export */ });
1477 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1478 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1479 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
1480 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
1481 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1482 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
1483 /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/icons */ "../../node_modules/.pnpm/@wordpress+icons@9.36.0/node_modules/@wordpress/icons/build-module/icon/index.js");
1484 /* harmony import */ var _woocommerce_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @woocommerce/icons */ "./assets/js/icons/library/thumbnails-position-left.tsx");
1485 /* harmony import */ var _woocommerce_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @woocommerce/icons */ "./assets/js/icons/library/thumbnails-position-bottom.tsx");
1486 /* harmony import */ var _woocommerce_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @woocommerce/icons */ "./assets/js/icons/library/thumbnails-position-right.tsx");
1487 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
1488 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__);
1489 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
1490 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);
1491 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/constants.tsx");
1492
1493 /**
1494 * External dependencies
1495 */
1496
1497
1498
1499
1500
1501
1502
1503 /**
1504 * Internal dependencies
1505 */
1506
1507 const positionHelp = {
1508 [_constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.OFF]: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('No thumbnails will be displayed.', 'woocommerce'),
1509 [_constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.LEFT]: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('A strip of small images will appear to the left of the main gallery image.', 'woocommerce'),
1510 [_constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.BOTTOM]: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('A strip of small images will appear below the main gallery image.', 'woocommerce'),
1511 [_constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.RIGHT]: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('A strip of small images will appear to the right of the main gallery image.', 'woocommerce')
1512 };
1513 const ProductGalleryThumbnailsBlockSettings = ({
1514 context
1515 }) => {
1516 const maxNumberOfThumbnails = 8;
1517 const minNumberOfThumbnails = 3;
1518 const {
1519 productGalleryClientId
1520 } = context;
1521 // @ts-expect-error @wordpress/block-editor/store types not provided
1522 const {
1523 updateBlockAttributes
1524 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.store);
1525 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControl, {
1526 className: "wc-block-editor-product-gallery-thumbnails__position-toggle",
1527 isBlock: true,
1528 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Thumbnails', 'woocommerce'),
1529 value: context.thumbnailsPosition,
1530 help: positionHelp[context.thumbnailsPosition],
1531 onChange: value => updateBlockAttributes(productGalleryClientId, {
1532 thumbnailsPosition: value
1533 })
1534 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1535 value: _constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.OFF,
1536 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Off', 'woocommerce')
1537 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1538 value: _constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.LEFT,
1539 label: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
1540 size: 32,
1541 icon: _woocommerce_icons__WEBPACK_IMPORTED_MODULE_7__["default"]
1542 })
1543 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1544 value: _constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.BOTTOM,
1545 label: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
1546 size: 32,
1547 icon: _woocommerce_icons__WEBPACK_IMPORTED_MODULE_8__["default"]
1548 })
1549 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
1550 value: _constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.RIGHT,
1551 label: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
1552 size: 32,
1553 icon: _woocommerce_icons__WEBPACK_IMPORTED_MODULE_9__["default"]
1554 })
1555 })), context.thumbnailsPosition !== _constants__WEBPACK_IMPORTED_MODULE_5__.ThumbnailsPosition.OFF && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.RangeControl, {
1556 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Number of Thumbnails', 'woocommerce'),
1557 value: context.thumbnailsNumberOfThumbnails,
1558 onChange: value => updateBlockAttributes(productGalleryClientId, {
1559 thumbnailsNumberOfThumbnails: value
1560 }),
1561 help: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Choose how many thumbnails (3-8) will display. If more images exist, a “View all” button will display.', 'woocommerce'),
1562 max: maxNumberOfThumbnails,
1563 min: minNumberOfThumbnails
1564 }));
1565 };
1566 ProductGalleryThumbnailsBlockSettings.__docgenInfo = {
1567 "description": "",
1568 "methods": [],
1569 "displayName": "ProductGalleryThumbnailsBlockSettings"
1570 };
1571 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1572 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block-settings/index.tsx"] = {
1573 name: "ProductGalleryThumbnailsBlockSettings",
1574 docgenInfo: ProductGalleryThumbnailsBlockSettings.__docgenInfo,
1575 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block-settings/index.tsx"
1576 };
1577 }
1578
1579 /***/ }),
1580
1581 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/constants.tsx":
1582 /*!************************************************************************************************!*\
1583 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/constants.tsx ***!
1584 \************************************************************************************************/
1585 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1586
1587 "use strict";
1588 __webpack_require__.r(__webpack_exports__);
1589 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1590 /* harmony export */ ThumbnailsPosition: () => (/* binding */ ThumbnailsPosition)
1591 /* harmony export */ });
1592 let ThumbnailsPosition = /*#__PURE__*/function (ThumbnailsPosition) {
1593 ThumbnailsPosition["OFF"] = "off";
1594 ThumbnailsPosition["LEFT"] = "left";
1595 ThumbnailsPosition["BOTTOM"] = "bottom";
1596 ThumbnailsPosition["RIGHT"] = "right";
1597 return ThumbnailsPosition;
1598 }({});
1599
1600 /***/ }),
1601
1602 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/edit.tsx":
1603 /*!*******************************************************************************************!*\
1604 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/edit.tsx ***!
1605 \*******************************************************************************************/
1606 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1607
1608 "use strict";
1609 __webpack_require__.r(__webpack_exports__);
1610 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1611 /* harmony export */ Edit: () => (/* binding */ Edit)
1612 /* harmony export */ });
1613 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1614 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1615 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
1616 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
1617 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
1618 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
1619 /* harmony import */ var _woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @woocommerce/block-settings */ "./assets/js/settings/blocks/index.ts");
1620 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js");
1621 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);
1622 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./editor.scss */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/editor.scss");
1623 /* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_editor_scss__WEBPACK_IMPORTED_MODULE_5__);
1624 /* harmony import */ var _block_settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./block-settings */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block-settings/index.tsx");
1625 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/constants.tsx");
1626
1627 /**
1628 * External dependencies
1629 */
1630
1631
1632
1633
1634
1635 /**
1636 * Internal dependencies
1637 */
1638
1639
1640
1641 const Edit = ({
1642 attributes,
1643 setAttributes,
1644 context
1645 }) => {
1646 const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
1647 className: classnames__WEBPACK_IMPORTED_MODULE_4___default()('wc-block-product-gallery-thumbnails', `wc-block-product-gallery-thumbnails--number-of-thumbnails-${context.thumbnailsNumberOfThumbnails}`, `wc-block-product-gallery-thumbnails--position-${context.thumbnailsPosition}`)
1648 });
1649 const Placeholder = () => {
1650 return context.thumbnailsPosition !== _constants__WEBPACK_IMPORTED_MODULE_7__.ThumbnailsPosition.OFF ? (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
1651 className: "wc-block-editor-product-gallery-thumbnails"
1652 }, [...Array(context.thumbnailsNumberOfThumbnails).keys()].map(index => {
1653 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
1654 className: "wc-block-product-gallery-thumbnails__thumbnail",
1655 key: index
1656 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
1657 src: `${_woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_3__.WC_BLOCKS_IMAGE_URL}block-placeholders/product-image-gallery.svg`,
1658 alt: "Placeholder"
1659 }));
1660 })) : null;
1661 };
1662 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
1663 ...blockProps
1664 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_block_settings__WEBPACK_IMPORTED_MODULE_6__.ProductGalleryThumbnailsBlockSettings, {
1665 attributes: attributes,
1666 setAttributes: setAttributes,
1667 context: context
1668 }))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Disabled, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Placeholder, null))));
1669 };
1670 Edit.__docgenInfo = {
1671 "description": "",
1672 "methods": [],
1673 "displayName": "Edit",
1674 "props": {
1675 "context": {
1676 "required": true,
1677 "tsType": {
1678 "name": "ProductGalleryContext"
1679 },
1680 "description": ""
1681 }
1682 },
1683 "composes": ["BlockEditProps"]
1684 };
1685 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1686 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/edit.tsx"] = {
1687 name: "Edit",
1688 docgenInfo: Edit.__docgenInfo,
1689 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/edit.tsx"
1690 };
1691 }
1692
1693 /***/ }),
1694
1695 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/icon.tsx":
1696 /*!*******************************************************************************************!*\
1697 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/icon.tsx ***!
1698 \*******************************************************************************************/
1699 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1700
1701 "use strict";
1702 __webpack_require__.r(__webpack_exports__);
1703 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1704 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1705 /* harmony export */ });
1706 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1707 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1708
1709 const Icon = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
1710 width: "19",
1711 height: "19",
1712 viewBox: "0 0 19 19",
1713 fill: "none",
1714 xmlns: "http://www.w3.org/2000/svg"
1715 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
1716 fillRule: "evenodd",
1717 clipRule: "evenodd",
1718 d: "M13.375 1.5H1.625C1.55596 1.5 1.5 1.55596 1.5 1.625V9.87895L4.35871 8.33965C4.5696 8.22609 4.82204 8.22009 5.03808 8.3235L7.42329 9.46513L10.3126 7.39076C10.574 7.20308 10.926 7.20308 11.1874 7.39076L13.5 9.05108V1.625C13.5 1.55596 13.444 1.5 13.375 1.5ZM13.5 10.8976L10.75 8.92328L7.93741 10.9426C7.71497 11.1023 7.42319 11.1281 7.1762 11.0098L4.73428 9.84105L1.5 11.5826V13.375C1.5 13.444 1.55596 13.5 1.625 13.5H13.375C13.444 13.5 13.5 13.444 13.5 13.375V10.8976ZM1.625 0C0.727537 0 0 0.727538 0 1.625V13.375C0 14.2725 0.727538 15 1.625 15H13.375C14.2725 15 15 14.2725 15 13.375V1.625C15 0.727537 14.2725 0 13.375 0H1.625ZM17.25 5V16C17.25 16.6909 16.6909 17.25 16.0011 17.25H3V18.75H16.0011C17.5204 18.75 18.75 17.5183 18.75 16V5H17.25Z",
1719 fill: "#1E1E1E"
1720 }));
1721 Icon.__docgenInfo = {
1722 "description": "",
1723 "methods": [],
1724 "displayName": "Icon"
1725 };
1726 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
1727 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1728 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/icon.tsx"] = {
1729 name: "Icon",
1730 docgenInfo: Icon.__docgenInfo,
1731 path: "assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/icon.tsx"
1732 };
1733 }
1734
1735 /***/ }),
1736
1737 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/index.tsx":
1738 /*!********************************************************************************************!*\
1739 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/index.tsx ***!
1740 \********************************************************************************************/
1741 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1742
1743 "use strict";
1744 __webpack_require__.r(__webpack_exports__);
1745 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
1746 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
1747 /* harmony import */ var _woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @woocommerce/block-settings */ "./assets/js/settings/blocks/index.ts");
1748 /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./icon */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/icon.tsx");
1749 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./edit */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/edit.tsx");
1750 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./block.json */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block.json");
1751 /**
1752 * External dependencies
1753 */
1754
1755
1756
1757 /**
1758 * Internal dependencies
1759 */
1760
1761
1762
1763 if ((0,_woocommerce_block_settings__WEBPACK_IMPORTED_MODULE_1__.isExperimentalBuild)()) {
1764 // @ts-expect-error: `metadata` currently does not have a type definition in WordPress core
1765 (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_2__, {
1766 icon: _icon__WEBPACK_IMPORTED_MODULE_3__["default"],
1767 edit: _edit__WEBPACK_IMPORTED_MODULE_4__.Edit,
1768 save() {
1769 return null;
1770 }
1771 });
1772 }
1773
1774 /***/ }),
1775
1776 /***/ "./assets/js/blocks/product-gallery/save.tsx":
1777 /*!***************************************************!*\
1778 !*** ./assets/js/blocks/product-gallery/save.tsx ***!
1779 \***************************************************/
1780 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1781
1782 "use strict";
1783 __webpack_require__.r(__webpack_exports__);
1784 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1785 /* harmony export */ Save: () => (/* binding */ Save)
1786 /* harmony export */ });
1787 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1788 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1789 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
1790 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
1791 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! classnames */ "../../node_modules/.pnpm/classnames@2.3.1/node_modules/classnames/index.js");
1792 /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
1793 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./assets/js/blocks/product-gallery/utils.tsx");
1794
1795 /**
1796 * External dependencies
1797 */
1798
1799
1800
1801 /**
1802 * Internal dependencies
1803 */
1804
1805 const Save = ({
1806 attributes
1807 }) => {
1808 const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({
1809 className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('wc-block-product-gallery', (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getClassNameByNextPreviousButtonsPosition)(attributes.nextPreviousButtonsPosition))
1810 });
1811 const innerBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps.save(blockProps);
1812 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
1813 ...innerBlocksProps
1814 });
1815 };
1816 Save.__docgenInfo = {
1817 "description": "",
1818 "methods": [],
1819 "displayName": "Save",
1820 "props": {
1821 "attributes": {
1822 "required": true,
1823 "tsType": {
1824 "name": "ProductGalleryAttributes"
1825 },
1826 "description": ""
1827 }
1828 }
1829 };
1830 if (typeof STORYBOOK_REACT_CLASSES !== "undefined") {
1831 STORYBOOK_REACT_CLASSES["assets/js/blocks/product-gallery/save.tsx"] = {
1832 name: "Save",
1833 docgenInfo: Save.__docgenInfo,
1834 path: "assets/js/blocks/product-gallery/save.tsx"
1835 };
1836 }
1837
1838 /***/ }),
1839
1840 /***/ "./assets/js/blocks/product-gallery/settings.ts":
1841 /*!******************************************************!*\
1842 !*** ./assets/js/blocks/product-gallery/settings.ts ***!
1843 \******************************************************/
1844 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1845
1846 "use strict";
1847 __webpack_require__.r(__webpack_exports__);
1848 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1849 /* harmony export */ ProductGalleryBlockSettings: () => (/* binding */ ProductGalleryBlockSettings)
1850 /* harmony export */ });
1851 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./edit */ "./assets/js/blocks/product-gallery/edit.tsx");
1852 /* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./save */ "./assets/js/blocks/product-gallery/save.tsx");
1853 /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./icon */ "./assets/js/blocks/product-gallery/icon.tsx");
1854 /**
1855 * Internal dependencies
1856 */
1857
1858
1859
1860 const ProductGalleryBlockSettings = {
1861 icon: _icon__WEBPACK_IMPORTED_MODULE_2__["default"],
1862 edit: _edit__WEBPACK_IMPORTED_MODULE_0__.Edit,
1863 save: _save__WEBPACK_IMPORTED_MODULE_1__.Save
1864 };
1865
1866 /***/ }),
1867
1868 /***/ "./assets/js/blocks/product-gallery/utils.tsx":
1869 /*!****************************************************!*\
1870 !*** ./assets/js/blocks/product-gallery/utils.tsx ***!
1871 \****************************************************/
1872 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1873
1874 "use strict";
1875 __webpack_require__.r(__webpack_exports__);
1876 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1877 /* harmony export */ getClassNameByNextPreviousButtonsPosition: () => (/* binding */ getClassNameByNextPreviousButtonsPosition),
1878 /* harmony export */ getGroupLayoutAttributes: () => (/* binding */ getGroupLayoutAttributes),
1879 /* harmony export */ getInnerBlocksLockAttributes: () => (/* binding */ getInnerBlocksLockAttributes),
1880 /* harmony export */ moveInnerBlocksToPosition: () => (/* binding */ moveInnerBlocksToPosition),
1881 /* harmony export */ updateBlockAttributes: () => (/* binding */ updateBlockAttributes)
1882 /* harmony export */ });
1883 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
1884 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__);
1885 /* harmony import */ var _woocommerce_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @woocommerce/utils */ "./assets/js/utils/find-block.ts");
1886 /* harmony import */ var _inner_blocks_product_gallery_large_image_next_previous_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./inner-blocks/product-gallery-large-image-next-previous/utils */ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/utils.ts");
1887 /**
1888 * External dependencies
1889 */
1890
1891
1892
1893
1894 /**
1895 * Internal dependencies
1896 */
1897
1898
1899 /**
1900 * Generates layout attributes based on the position of thumbnails.
1901 *
1902 * @param {string} thumbnailsPosition - The position of thumbnails ('bottom' or other values).
1903 * @return {{type: string, orientation?: string, flexWrap?: string}} - An object representing layout attributes.
1904 */
1905 const getGroupLayoutAttributes = thumbnailsPosition => {
1906 switch (thumbnailsPosition) {
1907 case 'bottom':
1908 // Stack
1909 return {
1910 type: 'flex',
1911 orientation: 'vertical'
1912 };
1913 case 'off':
1914 // Stack
1915 return {
1916 type: 'flex',
1917 orientation: 'vertical'
1918 };
1919 default:
1920 // Row
1921 return {
1922 type: 'flex',
1923 flexWrap: 'nowrap'
1924 };
1925 }
1926 };
1927
1928 /**
1929 * Returns inner block lock attributes based on provided action.
1930 *
1931 * @param {string} action - The action to take on the inner blocks ('lock' or 'unlock').
1932 * @return {{lock: {move?: boolean, remove?: boolean}}} - An object representing lock attributes for inner blocks.
1933 */
1934 const getInnerBlocksLockAttributes = action => {
1935 switch (action) {
1936 case 'lock':
1937 return {
1938 lock: {
1939 move: true,
1940 remove: true
1941 }
1942 };
1943 case 'unlock':
1944 return {
1945 lock: {}
1946 };
1947 default:
1948 return {
1949 lock: {}
1950 };
1951 }
1952 };
1953
1954 /**
1955 * Updates block attributes based on provided attributes.
1956 *
1957 * @param {BlockAttributes} attributesToUpdate - The new attributes to set on the block.
1958 * @param {BlockAttributes | undefined} block - The block object to update.
1959 */
1960 const updateBlockAttributes = (attributesToUpdate, block) => {
1961 if (block !== undefined) {
1962 const updatedBlock = {
1963 ...block,
1964 attributes: {
1965 ...block.attributes,
1966 ...attributesToUpdate
1967 }
1968 };
1969 (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_0__.dispatch)('core/block-editor').updateBlock(block.clientId, updatedBlock);
1970 }
1971 };
1972 const controlBlocksLockAttribute = ({
1973 blocks,
1974 lockBlocks
1975 }) => {
1976 for (const block of blocks) {
1977 if (lockBlocks) {
1978 updateBlockAttributes(getInnerBlocksLockAttributes('lock'), block);
1979 } else {
1980 updateBlockAttributes(getInnerBlocksLockAttributes('unlock'), block);
1981 }
1982 }
1983 };
1984
1985 /**
1986 * Sets the layout of group block based on the thumbnails' position.
1987 *
1988 * @param {ThumbnailsPosition} thumbnailsPosition - The position of thumbnails.
1989 * @param {string} clientId - The client ID of the block to update.
1990 */
1991 const setGroupBlockLayoutByThumbnailsPosition = (thumbnailsPosition, clientId) => {
1992 const block = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_0__.select)('core/block-editor').getBlock(clientId);
1993 block === null || block === void 0 ? void 0 : block.innerBlocks.forEach(innerBlock => {
1994 if (innerBlock.name === 'core/group') {
1995 updateBlockAttributes({
1996 layout: getGroupLayoutAttributes(thumbnailsPosition)
1997 }, innerBlock);
1998 }
1999 });
2000 };
2001
2002 /**
2003 * Moves inner blocks to a position based on provided attributes.
2004 *
2005 * @param {BlockAttributes} attributes - The attributes of the parent block.
2006 * @param {string} clientId - The clientId of the parent block.
2007 */
2008 const moveInnerBlocksToPosition = (attributes, clientId) => {
2009 const {
2010 getBlock,
2011 getBlockRootClientId,
2012 getBlockIndex
2013 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_0__.select)('core/block-editor');
2014 const {
2015 moveBlockToPosition
2016 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_0__.dispatch)('core/block-editor');
2017 const productGalleryBlock = getBlock(clientId);
2018 if (productGalleryBlock) {
2019 const previousLayout = productGalleryBlock.innerBlocks.length ? productGalleryBlock.innerBlocks[0].attributes.layout : null;
2020 const thumbnailsBlock = (0,_woocommerce_utils__WEBPACK_IMPORTED_MODULE_1__.findBlock)({
2021 blocks: [productGalleryBlock],
2022 findCondition(block) {
2023 return block.name === 'woocommerce/product-gallery-thumbnails';
2024 }
2025 });
2026 const largeImageParentBlock = (0,_woocommerce_utils__WEBPACK_IMPORTED_MODULE_1__.findBlock)({
2027 blocks: [productGalleryBlock],
2028 findCondition(block) {
2029 var _block$innerBlocks;
2030 return Boolean((_block$innerBlocks = block.innerBlocks) === null || _block$innerBlocks === void 0 ? void 0 : _block$innerBlocks.find(innerBlock => innerBlock.name === 'woocommerce/product-gallery-large-image'));
2031 }
2032 });
2033 const largeImageParentBlockIndex = getBlockIndex((largeImageParentBlock === null || largeImageParentBlock === void 0 ? void 0 : largeImageParentBlock.clientId) || '');
2034 const thumbnailsBlockIndex = getBlockIndex((thumbnailsBlock === null || thumbnailsBlock === void 0 ? void 0 : thumbnailsBlock.clientId) || '');
2035 if (largeImageParentBlock && thumbnailsBlock && largeImageParentBlockIndex !== -1 && thumbnailsBlockIndex !== -1) {
2036 controlBlocksLockAttribute({
2037 blocks: [thumbnailsBlock, largeImageParentBlock],
2038 lockBlocks: false
2039 });
2040 const {
2041 thumbnailsPosition
2042 } = attributes;
2043 setGroupBlockLayoutByThumbnailsPosition(thumbnailsPosition, clientId);
2044 setGroupBlockLayoutByThumbnailsPosition(thumbnailsPosition, productGalleryBlock.innerBlocks[0].clientId);
2045 if (previousLayout) {
2046 const orientation = getGroupLayoutAttributes(thumbnailsPosition).orientation;
2047 updateBlockAttributes({
2048 layout: {
2049 ...previousLayout,
2050 orientation
2051 }
2052 }, productGalleryBlock.innerBlocks[0]);
2053 }
2054 if ((thumbnailsPosition === 'bottom' || thumbnailsPosition === 'right') && thumbnailsBlockIndex < largeImageParentBlockIndex || thumbnailsPosition === 'left' && thumbnailsBlockIndex > largeImageParentBlockIndex) {
2055 moveBlockToPosition(thumbnailsBlock.clientId, getBlockRootClientId(thumbnailsBlock.clientId) || undefined, getBlockRootClientId(largeImageParentBlock.clientId) || undefined, largeImageParentBlockIndex);
2056 }
2057 controlBlocksLockAttribute({
2058 blocks: [thumbnailsBlock, largeImageParentBlock],
2059 lockBlocks: true
2060 });
2061 }
2062 }
2063 };
2064 const getClassNameByNextPreviousButtonsPosition = nextPreviousButtonsPosition => {
2065 var _getNextPreviousImage;
2066 return `wc-block-product-gallery--has-next-previous-buttons-${(_getNextPreviousImage = (0,_inner_blocks_product_gallery_large_image_next_previous_utils__WEBPACK_IMPORTED_MODULE_2__.getNextPreviousImagesWithClassName)(nextPreviousButtonsPosition)) === null || _getNextPreviousImage === void 0 ? void 0 : _getNextPreviousImage.classname}`;
2067 };
2068
2069 /***/ }),
2070
2071 /***/ "./assets/js/icons/library/thumbnails-position-bottom.tsx":
2072 /*!****************************************************************!*\
2073 !*** ./assets/js/icons/library/thumbnails-position-bottom.tsx ***!
2074 \****************************************************************/
2075 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2076
2077 "use strict";
2078 __webpack_require__.r(__webpack_exports__);
2079 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2080 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2081 /* harmony export */ });
2082 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2083 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2084 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
2085 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
2086
2087 /**
2088 * External dependencies
2089 */
2090
2091 const thumbnailsPositionBottom = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
2092 xmlns: "http://www.w3.org/2000/svg",
2093 viewBox: "0 0 24 24",
2094 fill: "none"
2095 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
2096 d: "M19 3H5C3.9 3 3 3.9 3 5V12C3 13.1 3.9 14 5 14H19C20.1 14 21 13.1 21 12V5C21 3.9 20.1 3 19 3ZM5 4.5H19C19.3 4.5 19.5 4.7 19.5 5V8.4L16.5 5.5C16.2 5.2 15.7 5.2 15.5 5.5L11.9 9L9 7C8.7 6.8 8.4 6.8 8.2 7L4.6 9.6V5C4.5 4.7 4.7 4.5 5 4.5ZM19 12.5H5C4.7 12.5 4.5 12.3 4.5 12V11.6L8.6 8.6L11.6 10.5C11.9 10.7 12.3 10.7 12.5 10.4L16 7L19.5 10.4V12C19.5 12.3 19.3 12.5 19 12.5Z",
2097 fill: "currentColor"
2098 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2099 x: "6.25",
2100 y: "15.75",
2101 width: "4.5",
2102 height: "4.5",
2103 rx: "1.25",
2104 stroke: "currentColor",
2105 strokeWidth: "1.5"
2106 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2107 x: "13.25",
2108 y: "15.75",
2109 width: "4.5",
2110 height: "4.5",
2111 rx: "1.25",
2112 stroke: "currentColor",
2113 strokeWidth: "1.5"
2114 }));
2115 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thumbnailsPositionBottom);
2116
2117 /***/ }),
2118
2119 /***/ "./assets/js/icons/library/thumbnails-position-left.tsx":
2120 /*!**************************************************************!*\
2121 !*** ./assets/js/icons/library/thumbnails-position-left.tsx ***!
2122 \**************************************************************/
2123 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2124
2125 "use strict";
2126 __webpack_require__.r(__webpack_exports__);
2127 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2128 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2129 /* harmony export */ });
2130 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2131 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2132 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
2133 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
2134
2135 /**
2136 * External dependencies
2137 */
2138
2139 const thumbnailsPositionLeft = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
2140 xmlns: "http://www.w3.org/2000/svg",
2141 viewBox: "0 0 25 24",
2142 fill: "none"
2143 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
2144 clipPath: "url(#clip0_420_11645)"
2145 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
2146 d: "M22.5 3H10.5C9.4 3 8.5 3.9 8.5 5V19C8.5 20.1 9.4 21 10.5 21H22.5C23.6 21 24.5 20.1 24.5 19V5C24.5 3.9 23.6 3 22.5 3ZM10.5 4.5H22.5C22.8 4.5 23 4.7 23 5V13.4L21 10.5C20.7 10.2 20.2 10.2 20 10.5L16.4 14L13.5 12C13.2 11.8 12.9 11.8 12.7 12L10.1 14.6V5C10 4.7 10.2 4.5 10.5 4.5ZM22.5 19.5H10.5C10.2 19.5 10 19.3 10 19V16.6L13.1 13.6L16.1 15.5C16.4 15.7 16.8 15.7 17 15.4L20.5 12L23 15.4V19C23 19.3 22.8 19.5 22.5 19.5Z",
2147 fill: "currentColor"
2148 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2149 x: "1.25",
2150 y: "3.75",
2151 width: "4.5",
2152 height: "4.5",
2153 rx: "1.25",
2154 stroke: "currentColor",
2155 strokeWidth: "1.5"
2156 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2157 x: "1.25",
2158 y: "10.75",
2159 width: "4.5",
2160 height: "4.5",
2161 rx: "1.25",
2162 stroke: "currentColor",
2163 strokeWidth: "1.5"
2164 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("defs", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("clipPath", {
2165 id: "clip0_420_11645"
2166 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2167 width: "24",
2168 height: "24",
2169 fill: "white",
2170 transform: "translate(0.5)"
2171 }))));
2172 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thumbnailsPositionLeft);
2173
2174 /***/ }),
2175
2176 /***/ "./assets/js/icons/library/thumbnails-position-right.tsx":
2177 /*!***************************************************************!*\
2178 !*** ./assets/js/icons/library/thumbnails-position-right.tsx ***!
2179 \***************************************************************/
2180 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2181
2182 "use strict";
2183 __webpack_require__.r(__webpack_exports__);
2184 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2185 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2186 /* harmony export */ });
2187 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2188 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2189 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
2190 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
2191
2192 /**
2193 * External dependencies
2194 */
2195
2196 const thumbnailsPositionRight = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
2197 xmlns: "http://www.w3.org/2000/svg",
2198 viewBox: "0 0 25 24",
2199 fill: "none"
2200 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
2201 clipPath: "url(#clip0_420_11656)"
2202 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
2203 d: "M14.5 3H2.5C1.4 3 0.5 3.9 0.5 5V19C0.5 20.1 1.4 21 2.5 21H14.5C15.6 21 16.5 20.1 16.5 19V5C16.5 3.9 15.6 3 14.5 3ZM2.5 4.5H14.5C14.8 4.5 15 4.7 15 5V13.4L13 10.5C12.7 10.2 12.2 10.2 12 10.5L8.4 14L5.5 12C5.2 11.8 4.9 11.8 4.7 12L2.1 14.6V5C2 4.7 2.2 4.5 2.5 4.5ZM14.5 19.5H2.5C2.2 19.5 2 19.3 2 19V16.6L5.1 13.6L8.1 15.5C8.4 15.7 8.8 15.7 9 15.4L12.5 12L15 15.4V19C15 19.3 14.8 19.5 14.5 19.5Z",
2204 fill: "currentColor"
2205 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2206 x: "19.25",
2207 y: "3.75",
2208 width: "4.5",
2209 height: "4.5",
2210 rx: "1.25",
2211 stroke: "currentColor",
2212 strokeWidth: "1.5"
2213 }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2214 x: "19.25",
2215 y: "10.75",
2216 width: "4.5",
2217 height: "4.5",
2218 rx: "1.25",
2219 stroke: "currentColor",
2220 strokeWidth: "1.5"
2221 })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("defs", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("clipPath", {
2222 id: "clip0_420_11656"
2223 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("rect", {
2224 width: "24",
2225 height: "24",
2226 fill: "currentColor",
2227 transform: "translate(0.5)"
2228 }))));
2229 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thumbnailsPositionRight);
2230
2231 /***/ }),
2232
2233 /***/ "./assets/js/settings/blocks/constants.ts":
2234 /*!************************************************!*\
2235 !*** ./assets/js/settings/blocks/constants.ts ***!
2236 \************************************************/
2237 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2238
2239 "use strict";
2240 __webpack_require__.r(__webpack_exports__);
2241 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2242 /* harmony export */ ADDITIONAL_FIELDS_KEYS: () => (/* binding */ ADDITIONAL_FIELDS_KEYS),
2243 /* harmony export */ ADDRESS_FIELDS_KEYS: () => (/* binding */ ADDRESS_FIELDS_KEYS),
2244 /* harmony export */ ALLOWED_COUNTRIES: () => (/* binding */ ALLOWED_COUNTRIES),
2245 /* harmony export */ ALLOWED_STATES: () => (/* binding */ ALLOWED_STATES),
2246 /* harmony export */ CART_PAGE_ID: () => (/* binding */ CART_PAGE_ID),
2247 /* harmony export */ CART_URL: () => (/* binding */ CART_URL),
2248 /* harmony export */ CHECKOUT_PAGE_ID: () => (/* binding */ CHECKOUT_PAGE_ID),
2249 /* harmony export */ CHECKOUT_URL: () => (/* binding */ CHECKOUT_URL),
2250 /* harmony export */ CONTACT_FIELDS_KEYS: () => (/* binding */ CONTACT_FIELDS_KEYS),
2251 /* harmony export */ COUNTRY_LOCALE: () => (/* binding */ COUNTRY_LOCALE),
2252 /* harmony export */ LOCAL_PICKUP_ENABLED: () => (/* binding */ LOCAL_PICKUP_ENABLED),
2253 /* harmony export */ LOGIN_URL: () => (/* binding */ LOGIN_URL),
2254 /* harmony export */ PRIVACY_PAGE_NAME: () => (/* binding */ PRIVACY_PAGE_NAME),
2255 /* harmony export */ PRIVACY_URL: () => (/* binding */ PRIVACY_URL),
2256 /* harmony export */ SHIPPING_COUNTRIES: () => (/* binding */ SHIPPING_COUNTRIES),
2257 /* harmony export */ SHIPPING_STATES: () => (/* binding */ SHIPPING_STATES),
2258 /* harmony export */ SHOP_URL: () => (/* binding */ SHOP_URL),
2259 /* harmony export */ TERMS_PAGE_NAME: () => (/* binding */ TERMS_PAGE_NAME),
2260 /* harmony export */ TERMS_URL: () => (/* binding */ TERMS_URL),
2261 /* harmony export */ WC_BLOCKS_BUILD_URL: () => (/* binding */ WC_BLOCKS_BUILD_URL),
2262 /* harmony export */ WC_BLOCKS_IMAGE_URL: () => (/* binding */ WC_BLOCKS_IMAGE_URL),
2263 /* harmony export */ WC_BLOCKS_PHASE: () => (/* binding */ WC_BLOCKS_PHASE),
2264 /* harmony export */ blocksConfig: () => (/* binding */ blocksConfig)
2265 /* harmony export */ });
2266 /* harmony import */ var _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @woocommerce/settings */ "@woocommerce/settings");
2267 /* harmony import */ var _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__);
2268 var _STORE_PAGES$shop, _STORE_PAGES$checkout, _STORE_PAGES$checkout2, _STORE_PAGES$privacy, _STORE_PAGES$privacy2, _STORE_PAGES$terms, _STORE_PAGES$terms2, _STORE_PAGES$cart, _STORE_PAGES$cart2, _STORE_PAGES$myaccoun;
2269 /**
2270 * External dependencies
2271 */
2272
2273 const blocksConfig = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('wcBlocksConfig', {
2274 buildPhase: 1,
2275 pluginUrl: '',
2276 productCount: 0,
2277 defaultAvatar: '',
2278 restApiRoutes: {},
2279 wordCountType: 'words'
2280 });
2281 const WC_BLOCKS_IMAGE_URL = blocksConfig.pluginUrl + 'assets/images/';
2282 const WC_BLOCKS_BUILD_URL = blocksConfig.pluginUrl + 'assets/client/blocks/';
2283 const WC_BLOCKS_PHASE = blocksConfig.buildPhase;
2284 const SHOP_URL = (_STORE_PAGES$shop = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.shop) === null || _STORE_PAGES$shop === void 0 ? void 0 : _STORE_PAGES$shop.permalink;
2285 const CHECKOUT_PAGE_ID = (_STORE_PAGES$checkout = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.checkout) === null || _STORE_PAGES$checkout === void 0 ? void 0 : _STORE_PAGES$checkout.id;
2286 const CHECKOUT_URL = (_STORE_PAGES$checkout2 = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.checkout) === null || _STORE_PAGES$checkout2 === void 0 ? void 0 : _STORE_PAGES$checkout2.permalink;
2287 const PRIVACY_URL = (_STORE_PAGES$privacy = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.privacy) === null || _STORE_PAGES$privacy === void 0 ? void 0 : _STORE_PAGES$privacy.permalink;
2288 const PRIVACY_PAGE_NAME = (_STORE_PAGES$privacy2 = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.privacy) === null || _STORE_PAGES$privacy2 === void 0 ? void 0 : _STORE_PAGES$privacy2.title;
2289 const TERMS_URL = (_STORE_PAGES$terms = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.terms) === null || _STORE_PAGES$terms === void 0 ? void 0 : _STORE_PAGES$terms.permalink;
2290 const TERMS_PAGE_NAME = (_STORE_PAGES$terms2 = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.terms) === null || _STORE_PAGES$terms2 === void 0 ? void 0 : _STORE_PAGES$terms2.title;
2291 const CART_PAGE_ID = (_STORE_PAGES$cart = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.cart) === null || _STORE_PAGES$cart === void 0 ? void 0 : _STORE_PAGES$cart.id;
2292 const CART_URL = (_STORE_PAGES$cart2 = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.cart) === null || _STORE_PAGES$cart2 === void 0 ? void 0 : _STORE_PAGES$cart2.permalink;
2293 const LOGIN_URL = (_STORE_PAGES$myaccoun = _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.myaccount) !== null && _STORE_PAGES$myaccoun !== void 0 && _STORE_PAGES$myaccoun.permalink ? _woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.STORE_PAGES.myaccount.permalink : (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('wpLoginUrl', '/wp-login.php');
2294 const LOCAL_PICKUP_ENABLED = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('localPickupEnabled', false);
2295 // Contains country names.
2296 const countries = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('countries', {});
2297
2298 // Contains country settings.
2299 const countryData = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('countryData', {});
2300 const ALLOWED_COUNTRIES = Object.fromEntries(Object.keys(countryData).filter(countryCode => {
2301 return countryData[countryCode].allowBilling === true;
2302 }).map(countryCode => {
2303 return [countryCode, countries[countryCode] || ''];
2304 }));
2305 const ALLOWED_STATES = Object.fromEntries(Object.keys(countryData).filter(countryCode => {
2306 return countryData[countryCode].allowBilling === true;
2307 }).map(countryCode => {
2308 return [countryCode, countryData[countryCode].states || []];
2309 }));
2310 const SHIPPING_COUNTRIES = Object.fromEntries(Object.keys(countryData).filter(countryCode => {
2311 return countryData[countryCode].allowShipping === true;
2312 }).map(countryCode => {
2313 return [countryCode, countries[countryCode] || ''];
2314 }));
2315 const SHIPPING_STATES = Object.fromEntries(Object.keys(countryData).filter(countryCode => {
2316 return countryData[countryCode].allowShipping === true;
2317 }).map(countryCode => {
2318 return [countryCode, countryData[countryCode].states || []];
2319 }));
2320 const COUNTRY_LOCALE = Object.fromEntries(Object.keys(countryData).map(countryCode => {
2321 return [countryCode, countryData[countryCode].locale || []];
2322 }));
2323 const defaultFieldsLocations = {
2324 address: ['first_name', 'last_name', 'company', 'address_1', 'address_2', 'city', 'postcode', 'country', 'state', 'phone'],
2325 contact: ['email'],
2326 additional: []
2327 };
2328 const ADDRESS_FIELDS_KEYS = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('addressFieldsLocations', defaultFieldsLocations).address;
2329 const CONTACT_FIELDS_KEYS = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('addressFieldsLocations', defaultFieldsLocations).contact;
2330 const ADDITIONAL_FIELDS_KEYS = (0,_woocommerce_settings__WEBPACK_IMPORTED_MODULE_0__.getSetting)('addressFieldsLocations', defaultFieldsLocations).additional;
2331
2332 /***/ }),
2333
2334 /***/ "./assets/js/settings/blocks/feature-flags.ts":
2335 /*!****************************************************!*\
2336 !*** ./assets/js/settings/blocks/feature-flags.ts ***!
2337 \****************************************************/
2338 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2339
2340 "use strict";
2341 __webpack_require__.r(__webpack_exports__);
2342 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2343 /* harmony export */ isExperimentalBuild: () => (/* binding */ isExperimentalBuild),
2344 /* harmony export */ isFeaturePluginBuild: () => (/* binding */ isFeaturePluginBuild),
2345 /* harmony export */ registerExperimentalBlockType: () => (/* binding */ registerExperimentalBlockType),
2346 /* harmony export */ registerFeaturePluginBlockType: () => (/* binding */ registerFeaturePluginBlockType)
2347 /* harmony export */ });
2348 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
2349 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
2350 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./assets/js/settings/blocks/constants.ts");
2351 /**
2352 * External dependencies
2353 */
2354
2355 /**
2356 * Internal dependencies
2357 */
2358
2359
2360 /**
2361 * Registers a new experimental block provided a unique name and an object defining its
2362 * behavior. Once registered, the block is made available as an option to any
2363 * editor interface where blocks are implemented.
2364 */
2365 const registerExperimentalBlockType = (blockNameOrMetadata, settings) => {
2366 if (_constants__WEBPACK_IMPORTED_MODULE_1__.WC_BLOCKS_PHASE > 2) {
2367 return (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(blockNameOrMetadata, settings);
2368 }
2369 };
2370
2371 /**
2372 * Registers a new feature plugin block provided a unique name and an object
2373 * defining its behavior. Once registered, the block is made available as an
2374 * option to any editor interface where blocks are implemented.
2375 */
2376 const registerFeaturePluginBlockType = (blockNameOrMetadata, settings) => {
2377 if (_constants__WEBPACK_IMPORTED_MODULE_1__.WC_BLOCKS_PHASE > 1) {
2378 return (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(blockNameOrMetadata, settings);
2379 }
2380 };
2381
2382 /**
2383 * Checks if we're executing the code in an experimental build mode.
2384 *
2385 * @return {boolean} True if this is an experimental build, false otherwise.
2386 */
2387 const isExperimentalBuild = () => _constants__WEBPACK_IMPORTED_MODULE_1__.WC_BLOCKS_PHASE > 2;
2388
2389 /**
2390 * Checks if we're executing the code in an feature plugin or experimental build mode.
2391 *
2392 * @return {boolean} True if this is an experimental or feature plugin build, false otherwise.
2393 */
2394 const isFeaturePluginBuild = () => _constants__WEBPACK_IMPORTED_MODULE_1__.WC_BLOCKS_PHASE > 1;
2395
2396 /***/ }),
2397
2398 /***/ "./assets/js/settings/blocks/index.ts":
2399 /*!********************************************!*\
2400 !*** ./assets/js/settings/blocks/index.ts ***!
2401 \********************************************/
2402 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2403
2404 "use strict";
2405 __webpack_require__.r(__webpack_exports__);
2406 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2407 /* harmony export */ ADDITIONAL_FIELDS_KEYS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.ADDITIONAL_FIELDS_KEYS),
2408 /* harmony export */ ADDRESS_FIELDS_KEYS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.ADDRESS_FIELDS_KEYS),
2409 /* harmony export */ ALLOWED_COUNTRIES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.ALLOWED_COUNTRIES),
2410 /* harmony export */ ALLOWED_STATES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.ALLOWED_STATES),
2411 /* harmony export */ CART_PAGE_ID: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.CART_PAGE_ID),
2412 /* harmony export */ CART_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.CART_URL),
2413 /* harmony export */ CHECKOUT_PAGE_ID: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.CHECKOUT_PAGE_ID),
2414 /* harmony export */ CHECKOUT_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.CHECKOUT_URL),
2415 /* harmony export */ CONTACT_FIELDS_KEYS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.CONTACT_FIELDS_KEYS),
2416 /* harmony export */ COUNTRY_LOCALE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.COUNTRY_LOCALE),
2417 /* harmony export */ LOCAL_PICKUP_ENABLED: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.LOCAL_PICKUP_ENABLED),
2418 /* harmony export */ LOGIN_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.LOGIN_URL),
2419 /* harmony export */ PRIVACY_PAGE_NAME: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PRIVACY_PAGE_NAME),
2420 /* harmony export */ PRIVACY_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PRIVACY_URL),
2421 /* harmony export */ SHIPPING_COUNTRIES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SHIPPING_COUNTRIES),
2422 /* harmony export */ SHIPPING_STATES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SHIPPING_STATES),
2423 /* harmony export */ SHOP_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SHOP_URL),
2424 /* harmony export */ TERMS_PAGE_NAME: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.TERMS_PAGE_NAME),
2425 /* harmony export */ TERMS_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.TERMS_URL),
2426 /* harmony export */ WC_BLOCKS_BUILD_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.WC_BLOCKS_BUILD_URL),
2427 /* harmony export */ WC_BLOCKS_IMAGE_URL: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.WC_BLOCKS_IMAGE_URL),
2428 /* harmony export */ WC_BLOCKS_PHASE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.WC_BLOCKS_PHASE),
2429 /* harmony export */ blocksConfig: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.blocksConfig),
2430 /* harmony export */ isExperimentalBuild: () => (/* reexport safe */ _feature_flags__WEBPACK_IMPORTED_MODULE_1__.isExperimentalBuild),
2431 /* harmony export */ isFeaturePluginBuild: () => (/* reexport safe */ _feature_flags__WEBPACK_IMPORTED_MODULE_1__.isFeaturePluginBuild),
2432 /* harmony export */ registerExperimentalBlockType: () => (/* reexport safe */ _feature_flags__WEBPACK_IMPORTED_MODULE_1__.registerExperimentalBlockType),
2433 /* harmony export */ registerFeaturePluginBlockType: () => (/* reexport safe */ _feature_flags__WEBPACK_IMPORTED_MODULE_1__.registerFeaturePluginBlockType)
2434 /* harmony export */ });
2435 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./assets/js/settings/blocks/constants.ts");
2436 /* harmony import */ var _feature_flags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./feature-flags */ "./assets/js/settings/blocks/feature-flags.ts");
2437 /**
2438 * Internal dependencies
2439 */
2440
2441
2442
2443 /***/ }),
2444
2445 /***/ "./assets/js/utils/find-block.ts":
2446 /*!***************************************!*\
2447 !*** ./assets/js/utils/find-block.ts ***!
2448 \***************************************/
2449 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2450
2451 "use strict";
2452 __webpack_require__.r(__webpack_exports__);
2453 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2454 /* harmony export */ findBlock: () => (/* binding */ findBlock)
2455 /* harmony export */ });
2456 /**
2457 * External dependencies
2458 */
2459
2460 /**
2461 * Recursively searches through an array of `BlockInstance` objects and their nested `innerBlocks` arrays to find a block that matches a given condition.
2462 *
2463 * @param { { blocks: BlockInstance[], findCondition: Function } } parameters Parameters containing an array of `BlockInstance` objects to search through and a function that takes a `BlockInstance` object as its argument and returns a boolean indicating whether the block matches the desired condition.
2464 * @return If a matching block is found, the function returns the `BlockInstance` object. If no matching block is found, the function returns `undefined`.
2465 */
2466 const findBlock = ({
2467 blocks,
2468 findCondition
2469 }) => {
2470 for (const block of blocks) {
2471 if (findCondition(block)) {
2472 return block;
2473 }
2474 if (block.innerBlocks) {
2475 const foundChildBlock = findBlock({
2476 blocks: block.innerBlocks,
2477 findCondition
2478 });
2479 if (foundChildBlock) {
2480 return foundChildBlock;
2481 }
2482 }
2483 }
2484 return undefined;
2485 };
2486
2487 /***/ }),
2488
2489 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/editor.scss":
2490 /*!*************************************************************************************************************!*\
2491 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/editor.scss ***!
2492 \*************************************************************************************************************/
2493 /***/ (() => {
2494
2495
2496
2497 /***/ }),
2498
2499 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/editor.scss":
2500 /*!*****************************************************************************************!*\
2501 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/editor.scss ***!
2502 \*****************************************************************************************/
2503 /***/ (() => {
2504
2505
2506
2507 /***/ }),
2508
2509 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/editor.scss":
2510 /*!**********************************************************************************************!*\
2511 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/editor.scss ***!
2512 \**********************************************************************************************/
2513 /***/ (() => {
2514
2515
2516
2517 /***/ }),
2518
2519 /***/ "./assets/js/blocks/product-gallery/style.scss":
2520 /*!*****************************************************!*\
2521 !*** ./assets/js/blocks/product-gallery/style.scss ***!
2522 \*****************************************************/
2523 /***/ (() => {
2524
2525
2526
2527 /***/ }),
2528
2529 /***/ "react":
2530 /*!************************!*\
2531 !*** external "React" ***!
2532 \************************/
2533 /***/ ((module) => {
2534
2535 "use strict";
2536 module.exports = window["React"];
2537
2538 /***/ }),
2539
2540 /***/ "@woocommerce/settings":
2541 /*!************************************!*\
2542 !*** external ["wc","wcSettings"] ***!
2543 \************************************/
2544 /***/ ((module) => {
2545
2546 "use strict";
2547 module.exports = window["wc"]["wcSettings"];
2548
2549 /***/ }),
2550
2551 /***/ "@wordpress/block-editor":
2552 /*!*************************************!*\
2553 !*** external ["wp","blockEditor"] ***!
2554 \*************************************/
2555 /***/ ((module) => {
2556
2557 "use strict";
2558 module.exports = window["wp"]["blockEditor"];
2559
2560 /***/ }),
2561
2562 /***/ "@wordpress/blocks":
2563 /*!********************************!*\
2564 !*** external ["wp","blocks"] ***!
2565 \********************************/
2566 /***/ ((module) => {
2567
2568 "use strict";
2569 module.exports = window["wp"]["blocks"];
2570
2571 /***/ }),
2572
2573 /***/ "@wordpress/components":
2574 /*!************************************!*\
2575 !*** external ["wp","components"] ***!
2576 \************************************/
2577 /***/ ((module) => {
2578
2579 "use strict";
2580 module.exports = window["wp"]["components"];
2581
2582 /***/ }),
2583
2584 /***/ "@wordpress/data":
2585 /*!******************************!*\
2586 !*** external ["wp","data"] ***!
2587 \******************************/
2588 /***/ ((module) => {
2589
2590 "use strict";
2591 module.exports = window["wp"]["data"];
2592
2593 /***/ }),
2594
2595 /***/ "@wordpress/element":
2596 /*!*********************************!*\
2597 !*** external ["wp","element"] ***!
2598 \*********************************/
2599 /***/ ((module) => {
2600
2601 "use strict";
2602 module.exports = window["wp"]["element"];
2603
2604 /***/ }),
2605
2606 /***/ "@wordpress/i18n":
2607 /*!******************************!*\
2608 !*** external ["wp","i18n"] ***!
2609 \******************************/
2610 /***/ ((module) => {
2611
2612 "use strict";
2613 module.exports = window["wp"]["i18n"];
2614
2615 /***/ }),
2616
2617 /***/ "@wordpress/primitives":
2618 /*!************************************!*\
2619 !*** external ["wp","primitives"] ***!
2620 \************************************/
2621 /***/ ((module) => {
2622
2623 "use strict";
2624 module.exports = window["wp"]["primitives"];
2625
2626 /***/ }),
2627
2628 /***/ "./assets/js/blocks/product-gallery/block.json":
2629 /*!*****************************************************!*\
2630 !*** ./assets/js/blocks/product-gallery/block.json ***!
2631 \*****************************************************/
2632 /***/ ((module) => {
2633
2634 "use strict";
2635 module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"woocommerce/product-gallery","version":"1.0.0","title":"Product Gallery","description":"Showcase your products relevant images and media.","category":"woocommerce","keywords":["WooCommerce"],"supports":{"align":true,"multiple":false,"interactivity":true},"textdomain":"woocommerce","usesContext":["postId"],"providesContext":{"thumbnailsPosition":"thumbnailsPosition","thumbnailsNumberOfThumbnails":"thumbnailsNumberOfThumbnails","productGalleryClientId":"productGalleryClientId","nextPreviousButtonsPosition":"nextPreviousButtonsPosition","pagerDisplayMode":"pagerDisplayMode","hoverZoom":"hoverZoom","fullScreenOnClick":"fullScreenOnClick","mode":"mode","cropImages":"cropImages"},"attributes":{"thumbnailsPosition":{"type":"string","default":"left"},"thumbnailsNumberOfThumbnails":{"type":"number","default":3},"pagerDisplayMode":{"type":"string","default":"dots"},"productGalleryClientId":{"type":"string","default":""},"cropImages":{"type":"boolean","default":false},"hoverZoom":{"type":"boolean","default":true},"fullScreenOnClick":{"type":"boolean","default":true},"nextPreviousButtonsPosition":{"type":"string","default":"insideTheImage"},"mode":{"type":"string","default":"standard"}},"viewScript":"wc-product-gallery-frontend","example":{}}');
2636
2637 /***/ }),
2638
2639 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/block.json":
2640 /*!************************************************************************************************************!*\
2641 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-large-image-next-previous/block.json ***!
2642 \************************************************************************************************************/
2643 /***/ ((module) => {
2644
2645 "use strict";
2646 module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"woocommerce/product-gallery-large-image-next-previous","version":"1.0.0","title":"Next/Previous Buttons","description":"Display next and previous buttons.","category":"woocommerce","keywords":["WooCommerce"],"usesContext":["nextPreviousButtonsPosition","productGalleryClientId","postId"],"textdomain":"woocommerce","supports":{"layout":{"default":{"type":"flex","verticalAlignment":"bottom"},"allowVerticalAlignment":true,"allowJustification":false,"allowOrientation":false,"allowInheriting":false}},"ancestor":["woocommerce/product-gallery-large-image"]}');
2647
2648 /***/ }),
2649
2650 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/block.json":
2651 /*!****************************************************************************************!*\
2652 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-pager/block.json ***!
2653 \****************************************************************************************/
2654 /***/ ((module) => {
2655
2656 "use strict";
2657 module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"woocommerce/product-gallery-pager","version":"1.0.0","title":"Pager","description":"Display the gallery pager.","category":"woocommerce","keywords":["WooCommerce"],"textdomain":"woocommerce","ancestor":["woocommerce/product-gallery"],"usesContext":["pagerDisplayMode","productGalleryClientId","thumbnailsNumberOfThumbnails","postId"]}');
2658
2659 /***/ }),
2660
2661 /***/ "./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block.json":
2662 /*!*********************************************************************************************!*\
2663 !*** ./assets/js/blocks/product-gallery/inner-blocks/product-gallery-thumbnails/block.json ***!
2664 \*********************************************************************************************/
2665 /***/ ((module) => {
2666
2667 "use strict";
2668 module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"woocommerce/product-gallery-thumbnails","version":"1.0.0","title":"Thumbnails","description":"Display the Thumbnails of a product.","category":"woocommerce","keywords":["WooCommerce"],"usesContext":["postId","thumbnailsPosition","thumbnailsNumberOfThumbnails","productGalleryClientId","mode","cropImages"],"textdomain":"woocommerce","ancestor":["woocommerce/product-gallery"],"supports":{"spacing":{"margin":true,"__experimentalDefaultControls":{"margin":true}}}}');
2669
2670 /***/ })
2671
2672 /******/ });
2673 /************************************************************************/
2674 /******/ // The module cache
2675 /******/ var __webpack_module_cache__ = {};
2676 /******/
2677 /******/ // The require function
2678 /******/ function __webpack_require__(moduleId) {
2679 /******/ // Check if module is in cache
2680 /******/ var cachedModule = __webpack_module_cache__[moduleId];
2681 /******/ if (cachedModule !== undefined) {
2682 /******/ return cachedModule.exports;
2683 /******/ }
2684 /******/ // Create a new module (and put it into the cache)
2685 /******/ var module = __webpack_module_cache__[moduleId] = {
2686 /******/ // no module.id needed
2687 /******/ // no module.loaded needed
2688 /******/ exports: {}
2689 /******/ };
2690 /******/
2691 /******/ // Execute the module function
2692 /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
2693 /******/
2694 /******/ // Return the exports of the module
2695 /******/ return module.exports;
2696 /******/ }
2697 /******/
2698 /******/ // expose the modules object (__webpack_modules__)
2699 /******/ __webpack_require__.m = __webpack_modules__;
2700 /******/
2701 /************************************************************************/
2702 /******/ /* webpack/runtime/chunk loaded */
2703 /******/ (() => {
2704 /******/ var deferred = [];
2705 /******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
2706 /******/ if(chunkIds) {
2707 /******/ priority = priority || 0;
2708 /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
2709 /******/ deferred[i] = [chunkIds, fn, priority];
2710 /******/ return;
2711 /******/ }
2712 /******/ var notFulfilled = Infinity;
2713 /******/ for (var i = 0; i < deferred.length; i++) {
2714 /******/ var [chunkIds, fn, priority] = deferred[i];
2715 /******/ var fulfilled = true;
2716 /******/ for (var j = 0; j < chunkIds.length; j++) {
2717 /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
2718 /******/ chunkIds.splice(j--, 1);
2719 /******/ } else {
2720 /******/ fulfilled = false;
2721 /******/ if(priority < notFulfilled) notFulfilled = priority;
2722 /******/ }
2723 /******/ }
2724 /******/ if(fulfilled) {
2725 /******/ deferred.splice(i--, 1)
2726 /******/ var r = fn();
2727 /******/ if (r !== undefined) result = r;
2728 /******/ }
2729 /******/ }
2730 /******/ return result;
2731 /******/ };
2732 /******/ })();
2733 /******/
2734 /******/ /* webpack/runtime/compat get default export */
2735 /******/ (() => {
2736 /******/ // getDefaultExport function for compatibility with non-harmony modules
2737 /******/ __webpack_require__.n = (module) => {
2738 /******/ var getter = module && module.__esModule ?
2739 /******/ () => (module['default']) :
2740 /******/ () => (module);
2741 /******/ __webpack_require__.d(getter, { a: getter });
2742 /******/ return getter;
2743 /******/ };
2744 /******/ })();
2745 /******/
2746 /******/ /* webpack/runtime/define property getters */
2747 /******/ (() => {
2748 /******/ // define getter functions for harmony exports
2749 /******/ __webpack_require__.d = (exports, definition) => {
2750 /******/ for(var key in definition) {
2751 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2752 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2753 /******/ }
2754 /******/ }
2755 /******/ };
2756 /******/ })();
2757 /******/
2758 /******/ /* webpack/runtime/global */
2759 /******/ (() => {
2760 /******/ __webpack_require__.g = (function() {
2761 /******/ if (typeof globalThis === 'object') return globalThis;
2762 /******/ try {
2763 /******/ return this || new Function('return this')();
2764 /******/ } catch (e) {
2765 /******/ if (typeof window === 'object') return window;
2766 /******/ }
2767 /******/ })();
2768 /******/ })();
2769 /******/
2770 /******/ /* webpack/runtime/hasOwnProperty shorthand */
2771 /******/ (() => {
2772 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
2773 /******/ })();
2774 /******/
2775 /******/ /* webpack/runtime/make namespace object */
2776 /******/ (() => {
2777 /******/ // define __esModule on exports
2778 /******/ __webpack_require__.r = (exports) => {
2779 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2780 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2781 /******/ }
2782 /******/ Object.defineProperty(exports, '__esModule', { value: true });
2783 /******/ };
2784 /******/ })();
2785 /******/
2786 /******/ /* webpack/runtime/jsonp chunk loading */
2787 /******/ (() => {
2788 /******/ // no baseURI
2789 /******/
2790 /******/ // object to store loaded and loading chunks
2791 /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
2792 /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
2793 /******/ var installedChunks = {
2794 /******/ "product-gallery": 0
2795 /******/ };
2796 /******/
2797 /******/ // no chunk on demand loading
2798 /******/
2799 /******/ // no prefetching
2800 /******/
2801 /******/ // no preloaded
2802 /******/
2803 /******/ // no HMR
2804 /******/
2805 /******/ // no HMR manifest
2806 /******/
2807 /******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
2808 /******/
2809 /******/ // install a JSONP callback for chunk loading
2810 /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
2811 /******/ var [chunkIds, moreModules, runtime] = data;
2812 /******/ // add "moreModules" to the modules object,
2813 /******/ // then flag all "chunkIds" as loaded and fire callback
2814 /******/ var moduleId, chunkId, i = 0;
2815 /******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
2816 /******/ for(moduleId in moreModules) {
2817 /******/ if(__webpack_require__.o(moreModules, moduleId)) {
2818 /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
2819 /******/ }
2820 /******/ }
2821 /******/ if(runtime) var result = runtime(__webpack_require__);
2822 /******/ }
2823 /******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
2824 /******/ for(;i < chunkIds.length; i++) {
2825 /******/ chunkId = chunkIds[i];
2826 /******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
2827 /******/ installedChunks[chunkId][0]();
2828 /******/ }
2829 /******/ installedChunks[chunkId] = 0;
2830 /******/ }
2831 /******/ return __webpack_require__.O(result);
2832 /******/ }
2833 /******/
2834 /******/ var chunkLoadingGlobal = self["webpackChunkwebpackWcBlocksJsonp"] = self["webpackChunkwebpackWcBlocksJsonp"] || [];
2835 /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
2836 /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
2837 /******/ })();
2838 /******/
2839 /************************************************************************/
2840 /******/
2841 /******/ // startup
2842 /******/ // Load entry module and return exports
2843 /******/ // This entry module depends on other loaded chunks and execution need to be delayed
2844 /******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["wc-blocks-vendors"], () => (__webpack_require__("./assets/js/blocks/product-gallery/index.tsx")))
2845 /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
2846 /******/ ((this.wc = this.wc || {}).blocks = this.wc.blocks || {})["product-gallery"] = __webpack_exports__;
2847 /******/
2848 /******/ })()
2849 ;
2850 //# sourceMappingURL=product-gallery.js.map